* Emit event on setting a style with dynamic value
* Fix event when binding to a data value equals to the previous static value
* Fix dataResolver listening bug after loading a project
* Add style watchers to modelResolverWatcher class
* Remove watcher init from Component
* Add watcher init to styleableModel and refactor styleableModel
* Fix global styles listening to datasources
* cleanup
* fix initial styles not working bug
* Add skip resolve option to component.getStyle
* Add more global styles unit tests
* Improve serialization test
* Add component:input to ComponentsEvents
* Add additional `data:path` events
* Add CssRule mount event
* Switch to a new pathSource event.
The `data:path:SOURCE_ID` doesn't work as it triggers rebuilds of symbols in ComponentDataCollection
* Up comment
* Up data_sources docs
* Up data_sources jsdoc
* Up Module.events TS
* Export types data components
* More TS export
* Up TS
* Up docs API
* fixe ComponentDataVariable dataResolver type 'data-variable' issue
* Improve some types in data resolvers
* Add an options to add dynamic values as plain text 'asPlainText: boolean'
* Make collections loop over objects
* update getItemsCount method
* Trigger `component:styleUpdate` also on the component itself
* Up
* Add type getter to the Component
* Add isVisible property to Property class in StyleManager
* Fix unstylable
* Remove type getter
* refactor: update ComponentDrag to use command reference in event props
* fix: pass event to opts in onDrag method for better event handling
* refactor: remove lockedAxis handling from Dragger class for simplified drag logic
* Avoid throwing errors if no condition is passed to a DataCondition
* Refactor Condition class
* Remove expecting errors for conditions tests
* Extend and refactor BaseOperator
* Rename and refactor GenericOperator
* Rename and refactor logicalOperator to BooleanOperator
* Refactor StringOperator
* Refactor NumberOperator
* Refactor and fix DataResolverListener
* Update tests for condition Operators
* Rename Condition class to ConditionEvaluator
* Add missing types file
* Update and refactor DataCondition
* Update utils
* Refactor StyleableModel class
* Update ComponentDataCondition
* Refactor ComponentResolverWatcher
* Fix conditional styles
* Rename LogicalGroupStatement to LogicalGroupEvaluator
* Fix tests for DataCondition
* Add setter methods for component data variable
* Add setters and getter to ComponentDataCondition
* Add getters to ComponentDataVariable
* Rename test file
* Make dynamic components undroppable
* Fix collection types
* Update collections ( add setters and getter, first item editable, sync styles )
* Update data collection tests
* Format tests
* Fix some ComponentData collection bugs
* Refactor setStartIndex and setEndIndex
* Fix getComponentDef test
* Fix bug with end index = 0
* fix test for setDataSource
* fix test for HTML updates
* Format
* Add tests for the new option in getDataValue for conditions ( skipDynamicValueResolution )
* rename Operation to DataConditionOperation
* Run __onStyleChange after style changes as before
* Format
* Up BooleanOperator
* Avoid raising errors for wrong dynamic value types
* Refactor DataCondition
* Format
* Refactor how component data variable works internally
* Symbols fix
* Add docs
* Refactor componentDatacondition
* Add types for Datacondition output ( result ) types
* Refactor DataCondition
* Refactor ComponentDataCollection
* Refactor styleableModel
* Add missing files and utils
* Up tests for ComponentDataCondition
* Add new tests for component data condition
* Fix quality check
* Move ComponentDataVariable path and default value to dataResolver property
* Update component data condition structure
* Refactor data condition
* Fix ifTrue and ifFalse position in ComponentDataCondition
* Fix typescript
* Change setIfTrueContent to be setIfTrueComponents
* Fix memory leak for binding to this.postRender
* Cleanup ComponentDataConditionView
* Up tests
* Save ComponentDataVariable on dataResolverChange
* Remove DataCollection componentDef
* Add setCollectionId method
* Replace DataCollectionVariable with DataVariable
* cleanup
* Fix bug
* PR review
* Add new API endpoints
* Add getCollectionsStateMap to ComponentDataVariable
* Fix tests
* up DataSources
* Merge branch 'dev' of https://github.com/GrapesJS/grapesjs into dynamic-values-improvements
* Push branch with refactored datasources
* Fix conditions nested inside collections
* Refactor how collectionsStateMap works
* Add DataVariable static methods
* Fix dataconditions nested inside collections
* format
* Remove collectionsStateMap on component drag
* Fix remainingItems state
* Make the first component item as the main symbol
* make layrable as false
* Update how datacollection components sync styles
---------
Co-authored-by: Artur Arseniev <artur.catch@hotmail.it>
* Avoid throwing errors if no condition is passed to a DataCondition
* Refactor Condition class
* Remove expecting errors for conditions tests
* Extend and refactor BaseOperator
* Rename and refactor GenericOperator
* Rename and refactor logicalOperator to BooleanOperator
* Refactor StringOperator
* Refactor NumberOperator
* Refactor and fix DataResolverListener
* Update tests for condition Operators
* Rename Condition class to ConditionEvaluator
* Add missing types file
* Update and refactor DataCondition
* Update utils
* Refactor StyleableModel class
* Update ComponentDataCondition
* Refactor ComponentResolverWatcher
* Fix conditional styles
* Rename LogicalGroupStatement to LogicalGroupEvaluator
* Fix tests for DataCondition
* Add setter methods for component data variable
* Add setters and getter to ComponentDataCondition
* Add getters to ComponentDataVariable
* Rename test file
* Make dynamic components undroppable
* Fix collection types
* Update collections ( add setters and getter, first item editable, sync styles )
* Update data collection tests
* Format tests
* Fix some ComponentData collection bugs
* Refactor setStartIndex and setEndIndex
* Fix getComponentDef test
* Fix bug with end index = 0
* fix test for setDataSource
* fix test for HTML updates
* Format
* Add tests for the new option in getDataValue for conditions ( skipDynamicValueResolution )
* rename Operation to DataConditionOperation
* Run __onStyleChange after style changes as before
* Format
* Up BooleanOperator
* Avoid raising errors for wrong dynamic value types
* Refactor DataCondition
* Format
* Refactor how component data variable works internally
* Symbols fix
* Add docs
* Refactor componentDatacondition
* Add types for Datacondition output ( result ) types
* Refactor DataCondition
* Refactor ComponentDataCollection
* Refactor styleableModel
* Add missing files and utils
* Up tests for ComponentDataCondition
* Add new tests for component data condition
* Fix quality check
* Move ComponentDataVariable path and default value to dataResolver property
* Update component data condition structure
* Refactor data condition
* Fix ifTrue and ifFalse position in ComponentDataCondition
* Fix typescript
* Change setIfTrueContent to be setIfTrueComponents
* Fix memory leak for binding to this.postRender
* Cleanup ComponentDataConditionView
* Up tests
* Save ComponentDataVariable on dataResolverChange
* Remove DataCollection componentDef
* Add setCollectionId method
* Replace DataCollectionVariable with DataVariable
* cleanup
* Fix bug
* PR review
* Add new API endpoints
* Add getCollectionsStateMap to ComponentDataVariable
* Fix tests
---------
Co-authored-by: Artur Arseniev <artur.catch@hotmail.it>
* fix: create manual event if none is provided during drag operation
* feat: add snapping functionality for x-y axis in Dragger options
* feat: enhance axis locking behavior with snapping functionality in Dragger
* fix: improve drag event handling by ensuring target and event are correctly set for move command
* fix: refactor event destructuring in command options for clarity
* fix: update drag event handling to ensure optional chaining for dataTransfer and rename snapping option for clarity
* fix: cleanup
* fix: support multiple selection in drag event handling for move command
* fix: simplify move command by directly assigning command string