@breadstone/mosaik-elements-foundation 0.0.222 → 0.0.223
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Attributes/BgColorAttribute.d.ts.map +1 -1
- package/Attributes/BgColorAttribute.js +2 -0
- package/Attributes/BgColorAttribute.js.map +1 -1
- package/Controls/Behaviors/Disableable.js +4 -2
- package/Controls/Behaviors/Disableable.js.map +1 -1
- package/Controls/Components/Buttons/Button/ButtonElement.d.ts +31 -1
- package/Controls/Components/Buttons/Button/ButtonElement.d.ts.map +1 -1
- package/Controls/Components/Buttons/Button/ButtonElement.js +50 -3
- package/Controls/Components/Buttons/Button/ButtonElement.js.map +1 -1
- package/Controls/Components/Buttons/Button/ButtonGroupElement.d.ts +3 -21
- package/Controls/Components/Buttons/Button/ButtonGroupElement.d.ts.map +1 -1
- package/Controls/Components/Buttons/Button/ButtonGroupElement.js +16 -73
- package/Controls/Components/Buttons/Button/ButtonGroupElement.js.map +1 -1
- package/Controls/Components/Buttons/Button/ButtonGroupInheritanceContext.d.ts +30 -0
- package/Controls/Components/Buttons/Button/ButtonGroupInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Buttons/Button/ButtonGroupInheritanceContext.js +9 -0
- package/Controls/Components/Buttons/Button/ButtonGroupInheritanceContext.js.map +1 -0
- package/Controls/Components/Buttons/FloatingActionButton/FloatingActionButtonElement.d.ts +21 -0
- package/Controls/Components/Buttons/FloatingActionButton/FloatingActionButtonElement.d.ts.map +1 -1
- package/Controls/Components/Buttons/FloatingActionButton/FloatingActionButtonElement.js +42 -2
- package/Controls/Components/Buttons/FloatingActionButton/FloatingActionButtonElement.js.map +1 -1
- package/Controls/Components/Buttons/FloatingActionButton/FloatingActionButtonGroupElement.d.ts +2 -15
- package/Controls/Components/Buttons/FloatingActionButton/FloatingActionButtonGroupElement.d.ts.map +1 -1
- package/Controls/Components/Buttons/FloatingActionButton/FloatingActionButtonGroupElement.js +14 -63
- package/Controls/Components/Buttons/FloatingActionButton/FloatingActionButtonGroupElement.js.map +1 -1
- package/Controls/Components/Buttons/FloatingActionButton/FloatingActionButtonGroupInheritanceContext.d.ts +30 -0
- package/Controls/Components/Buttons/FloatingActionButton/FloatingActionButtonGroupInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Buttons/FloatingActionButton/FloatingActionButtonGroupInheritanceContext.js +9 -0
- package/Controls/Components/Buttons/FloatingActionButton/FloatingActionButtonGroupInheritanceContext.js.map +1 -0
- package/Controls/Components/Buttons/ToggleButton/ToggleButtonElement.d.ts +28 -0
- package/Controls/Components/Buttons/ToggleButton/ToggleButtonElement.d.ts.map +1 -1
- package/Controls/Components/Buttons/ToggleButton/ToggleButtonElement.js +53 -2
- package/Controls/Components/Buttons/ToggleButton/ToggleButtonElement.js.map +1 -1
- package/Controls/Components/Buttons/ToggleButton/ToggleButtonGroupElement.d.ts +3 -21
- package/Controls/Components/Buttons/ToggleButton/ToggleButtonGroupElement.d.ts.map +1 -1
- package/Controls/Components/Buttons/ToggleButton/ToggleButtonGroupElement.js +16 -73
- package/Controls/Components/Buttons/ToggleButton/ToggleButtonGroupElement.js.map +1 -1
- package/Controls/Components/Buttons/ToggleButton/ToggleButtonGroupInheritanceContext.d.ts +35 -0
- package/Controls/Components/Buttons/ToggleButton/ToggleButtonGroupInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Buttons/ToggleButton/ToggleButtonGroupInheritanceContext.js +9 -0
- package/Controls/Components/Buttons/ToggleButton/ToggleButtonGroupInheritanceContext.js.map +1 -0
- package/Controls/Components/Forms/FormFieldElementTemplate.d.ts.map +1 -1
- package/Controls/Components/Forms/FormFieldElementTemplate.js +2 -0
- package/Controls/Components/Forms/FormFieldElementTemplate.js.map +1 -1
- package/Controls/Components/Grouping/Banner/BannerElement.d.ts +15 -1
- package/Controls/Components/Grouping/Banner/BannerElement.d.ts.map +1 -1
- package/Controls/Components/Grouping/Banner/BannerElement.js +30 -3
- package/Controls/Components/Grouping/Banner/BannerElement.js.map +1 -1
- package/Controls/Components/Grouping/BannerGroup/BannerGroupElement.d.ts +4 -5
- package/Controls/Components/Grouping/BannerGroup/BannerGroupElement.d.ts.map +1 -1
- package/Controls/Components/Grouping/BannerGroup/BannerGroupElement.js +19 -32
- package/Controls/Components/Grouping/BannerGroup/BannerGroupElement.js.map +1 -1
- package/Controls/Components/Grouping/BannerGroup/BannerGroupInheritanceContext.d.ts +25 -0
- package/Controls/Components/Grouping/BannerGroup/BannerGroupInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Grouping/BannerGroup/BannerGroupInheritanceContext.js +9 -0
- package/Controls/Components/Grouping/BannerGroup/BannerGroupInheritanceContext.js.map +1 -0
- package/Controls/Components/Grouping/Expander/ExpanderElement.d.ts +31 -0
- package/Controls/Components/Grouping/Expander/ExpanderElement.d.ts.map +1 -1
- package/Controls/Components/Grouping/Expander/ExpanderElement.js +56 -3
- package/Controls/Components/Grouping/Expander/ExpanderElement.js.map +1 -1
- package/Controls/Components/Grouping/Expander/ExpanderElementTemplate.d.ts.map +1 -1
- package/Controls/Components/Grouping/Expander/ExpanderElementTemplate.js +10 -11
- package/Controls/Components/Grouping/Expander/ExpanderElementTemplate.js.map +1 -1
- package/Controls/Components/Grouping/Expander/ExpanderGroupElement.d.ts +18 -26
- package/Controls/Components/Grouping/Expander/ExpanderGroupElement.d.ts.map +1 -1
- package/Controls/Components/Grouping/Expander/ExpanderGroupElement.js +45 -85
- package/Controls/Components/Grouping/Expander/ExpanderGroupElement.js.map +1 -1
- package/Controls/Components/Grouping/Expander/ExpanderGroupInheritanceContext.d.ts +40 -0
- package/Controls/Components/Grouping/Expander/ExpanderGroupInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Grouping/Expander/ExpanderGroupInheritanceContext.js +9 -0
- package/Controls/Components/Grouping/Expander/ExpanderGroupInheritanceContext.js.map +1 -0
- package/Controls/Components/Grouping/Expander/IExpanderGroupElementProps.d.ts +2 -0
- package/Controls/Components/Grouping/Expander/IExpanderGroupElementProps.d.ts.map +1 -1
- package/Controls/Components/Grouping/Expander/Themes/ExpanderElement.Cosmopolitan.d.ts.map +1 -1
- package/Controls/Components/Grouping/Expander/Themes/ExpanderElement.Cosmopolitan.js +9 -1
- package/Controls/Components/Grouping/Expander/Themes/ExpanderElement.Cosmopolitan.js.map +1 -1
- package/Controls/Components/Grouping/Expander/Themes/ExpanderElement.Joy.d.ts.map +1 -1
- package/Controls/Components/Grouping/Expander/Themes/ExpanderElement.Joy.js +9 -1
- package/Controls/Components/Grouping/Expander/Themes/ExpanderElement.Joy.js.map +1 -1
- package/Controls/Components/Grouping/Expander/Themes/ExpanderElement.Memphis.d.ts.map +1 -1
- package/Controls/Components/Grouping/Expander/Themes/ExpanderElement.Memphis.js +9 -1
- package/Controls/Components/Grouping/Expander/Themes/ExpanderElement.Memphis.js.map +1 -1
- package/Controls/Components/Grouping/Expander/Themes/ExpanderGroupElement.Cosmopolitan.d.ts.map +1 -1
- package/Controls/Components/Grouping/Expander/Themes/ExpanderGroupElement.Cosmopolitan.js +13 -0
- package/Controls/Components/Grouping/Expander/Themes/ExpanderGroupElement.Cosmopolitan.js.map +1 -1
- package/Controls/Components/Grouping/Expander/Themes/ExpanderGroupElement.Joy.d.ts.map +1 -1
- package/Controls/Components/Grouping/Expander/Themes/ExpanderGroupElement.Joy.js +17 -0
- package/Controls/Components/Grouping/Expander/Themes/ExpanderGroupElement.Joy.js.map +1 -1
- package/Controls/Components/Grouping/Expander/Themes/ExpanderGroupElement.Memphis.d.ts.map +1 -1
- package/Controls/Components/Grouping/Expander/Themes/ExpanderGroupElement.Memphis.js +13 -0
- package/Controls/Components/Grouping/Expander/Themes/ExpanderGroupElement.Memphis.js.map +1 -1
- package/Controls/Components/Inputs/CheckBox/CheckBoxElement.d.ts +29 -0
- package/Controls/Components/Inputs/CheckBox/CheckBoxElement.d.ts.map +1 -1
- package/Controls/Components/Inputs/CheckBox/CheckBoxElement.js +55 -4
- package/Controls/Components/Inputs/CheckBox/CheckBoxElement.js.map +1 -1
- package/Controls/Components/Inputs/CheckBox/CheckBoxGroupElement.d.ts +2 -24
- package/Controls/Components/Inputs/CheckBox/CheckBoxGroupElement.d.ts.map +1 -1
- package/Controls/Components/Inputs/CheckBox/CheckBoxGroupElement.js +17 -90
- package/Controls/Components/Inputs/CheckBox/CheckBoxGroupElement.js.map +1 -1
- package/Controls/Components/Inputs/CheckBox/CheckBoxGroupInheritanceContext.d.ts +39 -0
- package/Controls/Components/Inputs/CheckBox/CheckBoxGroupInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Inputs/CheckBox/CheckBoxGroupInheritanceContext.js +9 -0
- package/Controls/Components/Inputs/CheckBox/CheckBoxGroupInheritanceContext.js.map +1 -0
- package/Controls/Components/Inputs/ChipBox/Themes/ChipBoxElement.Cosmopolitan.d.ts.map +1 -1
- package/Controls/Components/Inputs/ChipBox/Themes/ChipBoxElement.Cosmopolitan.js +58 -48
- package/Controls/Components/Inputs/ChipBox/Themes/ChipBoxElement.Cosmopolitan.js.map +1 -1
- package/Controls/Components/Inputs/ChipBox/Themes/ChipBoxElement.Joy.d.ts.map +1 -1
- package/Controls/Components/Inputs/ChipBox/Themes/ChipBoxElement.Joy.js +100 -77
- package/Controls/Components/Inputs/ChipBox/Themes/ChipBoxElement.Joy.js.map +1 -1
- package/Controls/Components/Inputs/ChipBox/Themes/ChipBoxElement.Memphis.d.ts.map +1 -1
- package/Controls/Components/Inputs/ChipBox/Themes/ChipBoxElement.Memphis.js +92 -68
- package/Controls/Components/Inputs/ChipBox/Themes/ChipBoxElement.Memphis.js.map +1 -1
- package/Controls/Components/Inputs/Choice/ChoiceElement.d.ts +32 -0
- package/Controls/Components/Inputs/Choice/ChoiceElement.d.ts.map +1 -1
- package/Controls/Components/Inputs/Choice/ChoiceElement.js +58 -4
- package/Controls/Components/Inputs/Choice/ChoiceElement.js.map +1 -1
- package/Controls/Components/Inputs/Choice/ChoiceGroupElement.d.ts +3 -25
- package/Controls/Components/Inputs/Choice/ChoiceGroupElement.d.ts.map +1 -1
- package/Controls/Components/Inputs/Choice/ChoiceGroupElement.js +18 -91
- package/Controls/Components/Inputs/Choice/ChoiceGroupElement.js.map +1 -1
- package/Controls/Components/Inputs/Choice/ChoiceGroupInheritanceContext.d.ts +39 -0
- package/Controls/Components/Inputs/Choice/ChoiceGroupInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Inputs/Choice/ChoiceGroupInheritanceContext.js +9 -0
- package/Controls/Components/Inputs/Choice/ChoiceGroupInheritanceContext.js.map +1 -0
- package/Controls/Components/Inputs/ColorBox/ColorBoxElement.d.ts +13 -2
- package/Controls/Components/Inputs/ColorBox/ColorBoxElement.d.ts.map +1 -1
- package/Controls/Components/Inputs/ColorBox/ColorBoxElement.js +29 -5
- package/Controls/Components/Inputs/ColorBox/ColorBoxElement.js.map +1 -1
- package/Controls/Components/Inputs/ColorBox/ColorBoxElementTemplate.js +1 -1
- package/Controls/Components/Inputs/ColorBox/IColorBoxElementProps.d.ts +8 -2
- package/Controls/Components/Inputs/ColorBox/IColorBoxElementProps.d.ts.map +1 -1
- package/Controls/Components/Inputs/ColorBox/Themes/ColorBoxElement.Cosmopolitan.d.ts.map +1 -1
- package/Controls/Components/Inputs/ColorBox/Themes/ColorBoxElement.Cosmopolitan.js +4 -8
- package/Controls/Components/Inputs/ColorBox/Themes/ColorBoxElement.Cosmopolitan.js.map +1 -1
- package/Controls/Components/Inputs/ColorBox/Themes/ColorBoxElement.Joy.d.ts.map +1 -1
- package/Controls/Components/Inputs/ColorBox/Themes/ColorBoxElement.Joy.js +4 -8
- package/Controls/Components/Inputs/ColorBox/Themes/ColorBoxElement.Joy.js.map +1 -1
- package/Controls/Components/Inputs/ColorBox/Themes/ColorBoxElement.Memphis.d.ts.map +1 -1
- package/Controls/Components/Inputs/ColorBox/Themes/ColorBoxElement.Memphis.js +4 -8
- package/Controls/Components/Inputs/ColorBox/Themes/ColorBoxElement.Memphis.js.map +1 -1
- package/Controls/Components/Inputs/Radio/RadioElement.d.ts +41 -0
- package/Controls/Components/Inputs/Radio/RadioElement.d.ts.map +1 -1
- package/Controls/Components/Inputs/Radio/RadioElement.js +68 -5
- package/Controls/Components/Inputs/Radio/RadioElement.js.map +1 -1
- package/Controls/Components/Inputs/Radio/RadioGroupElement.d.ts +2 -24
- package/Controls/Components/Inputs/Radio/RadioGroupElement.d.ts.map +1 -1
- package/Controls/Components/Inputs/Radio/RadioGroupElement.js +17 -90
- package/Controls/Components/Inputs/Radio/RadioGroupElement.js.map +1 -1
- package/Controls/Components/Inputs/Radio/RadioGroupInheritanceContext.d.ts +39 -0
- package/Controls/Components/Inputs/Radio/RadioGroupInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Inputs/Radio/RadioGroupInheritanceContext.js +9 -0
- package/Controls/Components/Inputs/Radio/RadioGroupInheritanceContext.js.map +1 -0
- package/Controls/Components/Media/Avatar/AvatarElement.d.ts +28 -0
- package/Controls/Components/Media/Avatar/AvatarElement.d.ts.map +1 -1
- package/Controls/Components/Media/Avatar/AvatarElement.js +51 -2
- package/Controls/Components/Media/Avatar/AvatarElement.js.map +1 -1
- package/Controls/Components/Media/Avatar/AvatarGroupElement.d.ts +17 -9
- package/Controls/Components/Media/Avatar/AvatarGroupElement.d.ts.map +1 -1
- package/Controls/Components/Media/Avatar/AvatarGroupElement.js +46 -97
- package/Controls/Components/Media/Avatar/AvatarGroupElement.js.map +1 -1
- package/Controls/Components/Media/Avatar/AvatarGroupInheritanceContext.d.ts +35 -0
- package/Controls/Components/Media/Avatar/AvatarGroupInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Media/Avatar/AvatarGroupInheritanceContext.js +9 -0
- package/Controls/Components/Media/Avatar/AvatarGroupInheritanceContext.js.map +1 -0
- package/Controls/Components/Media/Chat/ChatElement.d.ts +2 -11
- package/Controls/Components/Media/Chat/ChatElement.d.ts.map +1 -1
- package/Controls/Components/Media/Chat/ChatElement.js +14 -47
- package/Controls/Components/Media/Chat/ChatElement.js.map +1 -1
- package/Controls/Components/Media/Chat/ChatInheritanceContext.d.ts +26 -0
- package/Controls/Components/Media/Chat/ChatInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Media/Chat/ChatInheritanceContext.js +9 -0
- package/Controls/Components/Media/Chat/ChatInheritanceContext.js.map +1 -0
- package/Controls/Components/Media/Chat/ChatMessageElement.d.ts +2 -1
- package/Controls/Components/Media/Chat/ChatMessageElement.d.ts.map +1 -1
- package/Controls/Components/Media/Chat/ChatMessageElement.js +9 -4
- package/Controls/Components/Media/Chat/ChatMessageElement.js.map +1 -1
- package/Controls/Components/Media/Chip/ChipElementTemplate.js +1 -1
- package/Controls/Components/Media/Chip/ChipElementTemplate.js.map +1 -1
- package/Controls/Components/Media/ColorSwatch/ColorSwatchElement.d.ts +11 -0
- package/Controls/Components/Media/ColorSwatch/ColorSwatchElement.d.ts.map +1 -1
- package/Controls/Components/Media/ColorSwatch/ColorSwatchElement.js +21 -3
- package/Controls/Components/Media/ColorSwatch/ColorSwatchElement.js.map +1 -1
- package/Controls/Components/Media/ColorSwatch/ColorSwatchGroupElement.d.ts +1 -6
- package/Controls/Components/Media/ColorSwatch/ColorSwatchGroupElement.d.ts.map +1 -1
- package/Controls/Components/Media/ColorSwatch/ColorSwatchGroupElement.js +12 -30
- package/Controls/Components/Media/ColorSwatch/ColorSwatchGroupElement.js.map +1 -1
- package/Controls/Components/Media/ColorSwatch/ColorSwatchGroupElementTemplate.d.ts +1 -1
- package/Controls/Components/Media/ColorSwatch/ColorSwatchGroupElementTemplate.d.ts.map +1 -1
- package/Controls/Components/Media/ColorSwatch/ColorSwatchGroupElementTemplate.js +2 -2
- package/Controls/Components/Media/ColorSwatch/ColorSwatchGroupElementTemplate.js.map +1 -1
- package/Controls/Components/Media/ColorSwatch/ColorSwatchGroupInheritanceContext.d.ts +21 -0
- package/Controls/Components/Media/ColorSwatch/ColorSwatchGroupInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Media/ColorSwatch/ColorSwatchGroupInheritanceContext.js +9 -0
- package/Controls/Components/Media/ColorSwatch/ColorSwatchGroupInheritanceContext.js.map +1 -0
- package/Controls/Components/Media/ColorSwatch/Themes/ColorSwatchGroupElement.Cosmopolitan.js +1 -1
- package/Controls/Components/Media/ColorSwatch/Themes/ColorSwatchGroupElement.Joy.js +1 -1
- package/Controls/Components/Media/ColorSwatch/Themes/ColorSwatchGroupElement.Memphis.js +1 -1
- package/Controls/Components/Overlays/Dialog/DialogElement.d.ts +2 -1
- package/Controls/Components/Overlays/Dialog/DialogElement.d.ts.map +1 -1
- package/Controls/Components/Overlays/Dialog/DialogElement.js +11 -3
- package/Controls/Components/Overlays/Dialog/DialogElement.js.map +1 -1
- package/Controls/Components/Overlays/Dialog/DialogHeaderElement.d.ts +5 -0
- package/Controls/Components/Overlays/Dialog/DialogHeaderElement.d.ts.map +1 -1
- package/Controls/Components/Overlays/Dialog/DialogHeaderElement.js +11 -2
- package/Controls/Components/Overlays/Dialog/DialogHeaderElement.js.map +1 -1
- package/Controls/Components/Overlays/Dialog/DialogInheritanceContext.d.ts +22 -0
- package/Controls/Components/Overlays/Dialog/DialogInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Overlays/Dialog/DialogInheritanceContext.js +9 -0
- package/Controls/Components/Overlays/Dialog/DialogInheritanceContext.js.map +1 -0
- package/Controls/Components/Overlays/Drawer/DrawerElement.d.ts +2 -1
- package/Controls/Components/Overlays/Drawer/DrawerElement.d.ts.map +1 -1
- package/Controls/Components/Overlays/Drawer/DrawerElement.js +20 -10
- package/Controls/Components/Overlays/Drawer/DrawerElement.js.map +1 -1
- package/Controls/Components/Overlays/Drawer/DrawerHeaderElement.d.ts +3 -0
- package/Controls/Components/Overlays/Drawer/DrawerHeaderElement.d.ts.map +1 -1
- package/Controls/Components/Overlays/Drawer/DrawerHeaderElement.js +13 -4
- package/Controls/Components/Overlays/Drawer/DrawerHeaderElement.js.map +1 -1
- package/Controls/Components/Overlays/Drawer/DrawerInheritanceContext.d.ts +28 -0
- package/Controls/Components/Overlays/Drawer/DrawerInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Overlays/Drawer/DrawerInheritanceContext.js +9 -0
- package/Controls/Components/Overlays/Drawer/DrawerInheritanceContext.js.map +1 -0
- package/Controls/Components/Overlays/Drawer/DrawerService.d.ts +11 -3
- package/Controls/Components/Overlays/Drawer/DrawerService.d.ts.map +1 -1
- package/Controls/Components/Overlays/Drawer/DrawerService.js +41 -4
- package/Controls/Components/Overlays/Drawer/DrawerService.js.map +1 -1
- package/Controls/Components/Overlays/Drawer/Themes/DrawerElement.Cosmopolitan.d.ts.map +1 -1
- package/Controls/Components/Overlays/Drawer/Themes/DrawerElement.Cosmopolitan.js +4 -0
- package/Controls/Components/Overlays/Drawer/Themes/DrawerElement.Cosmopolitan.js.map +1 -1
- package/Controls/Components/Overlays/Drawer/Themes/DrawerElement.Joy.d.ts.map +1 -1
- package/Controls/Components/Overlays/Drawer/Themes/DrawerElement.Joy.js +4 -0
- package/Controls/Components/Overlays/Drawer/Themes/DrawerElement.Joy.js.map +1 -1
- package/Controls/Components/Overlays/Drawer/Themes/DrawerElement.Memphis.d.ts.map +1 -1
- package/Controls/Components/Overlays/Drawer/Themes/DrawerElement.Memphis.js +4 -0
- package/Controls/Components/Overlays/Drawer/Themes/DrawerElement.Memphis.js.map +1 -1
- package/Controls/Components/Overlays/Drawer/behaviors/DrawerStackBehavior.d.ts +1 -1
- package/Controls/Components/Overlays/Drawer/behaviors/DrawerStackBehavior.d.ts.map +1 -1
- package/Controls/Components/Overlays/Drawer/behaviors/DrawerStackBehavior.js +4 -4
- package/Controls/Components/Overlays/Drawer/behaviors/DrawerStackBehavior.js.map +1 -1
- package/Controls/Components/Primitives/Dismiss/DismissElement.d.ts.map +1 -1
- package/Controls/Components/Primitives/Dismiss/DismissElement.js +7 -9
- package/Controls/Components/Primitives/Dismiss/DismissElement.js.map +1 -1
- package/Controls/Components/Primitives/Dismiss/DismissElementTemplate.d.ts.map +1 -1
- package/Controls/Components/Primitives/Dismiss/DismissElementTemplate.js.map +1 -1
- package/Controls/Components/Primitives/Dismiss/IDismissElementProps.d.ts +3 -3
- package/Controls/Components/Primitives/Dismiss/IDismissElementProps.d.ts.map +1 -1
- package/Controls/Components/Selectors/List/ListElement.d.ts +2 -5
- package/Controls/Components/Selectors/List/ListElement.d.ts.map +1 -1
- package/Controls/Components/Selectors/List/ListElement.js +16 -20
- package/Controls/Components/Selectors/List/ListElement.js.map +1 -1
- package/Controls/Components/Selectors/List/ListInheritanceContext.d.ts +20 -0
- package/Controls/Components/Selectors/List/ListInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Selectors/List/ListInheritanceContext.js +9 -0
- package/Controls/Components/Selectors/List/ListInheritanceContext.js.map +1 -0
- package/Controls/Components/Selectors/List/ListItemElement.d.ts +1 -0
- package/Controls/Components/Selectors/List/ListItemElement.d.ts.map +1 -1
- package/Controls/Components/Selectors/List/ListItemElement.js +7 -2
- package/Controls/Components/Selectors/List/ListItemElement.js.map +1 -1
- package/Controls/Components/Selectors/Segment/SegmentElement.d.ts +4 -5
- package/Controls/Components/Selectors/Segment/SegmentElement.d.ts.map +1 -1
- package/Controls/Components/Selectors/Segment/SegmentElement.js +24 -21
- package/Controls/Components/Selectors/Segment/SegmentElement.js.map +1 -1
- package/Controls/Components/Selectors/Segment/SegmentInheritanceContext.d.ts +30 -0
- package/Controls/Components/Selectors/Segment/SegmentInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Selectors/Segment/SegmentInheritanceContext.js +9 -0
- package/Controls/Components/Selectors/Segment/SegmentInheritanceContext.js.map +1 -0
- package/Controls/Components/Selectors/Segment/SegmentItemElement.d.ts +1 -0
- package/Controls/Components/Selectors/Segment/SegmentItemElement.d.ts.map +1 -1
- package/Controls/Components/Selectors/Segment/SegmentItemElement.js +7 -2
- package/Controls/Components/Selectors/Segment/SegmentItemElement.js.map +1 -1
- package/Controls/Components/Selectors/TabStrip/TabStripElement.d.ts +4 -5
- package/Controls/Components/Selectors/TabStrip/TabStripElement.d.ts.map +1 -1
- package/Controls/Components/Selectors/TabStrip/TabStripElement.js +24 -42
- package/Controls/Components/Selectors/TabStrip/TabStripElement.js.map +1 -1
- package/Controls/Components/Selectors/TabStrip/TabStripInheritanceContext.d.ts +30 -0
- package/Controls/Components/Selectors/TabStrip/TabStripInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Selectors/TabStrip/TabStripInheritanceContext.js +9 -0
- package/Controls/Components/Selectors/TabStrip/TabStripInheritanceContext.js.map +1 -0
- package/Controls/Components/Selectors/TabStrip/TabStripItemElement.d.ts +1 -0
- package/Controls/Components/Selectors/TabStrip/TabStripItemElement.d.ts.map +1 -1
- package/Controls/Components/Selectors/TabStrip/TabStripItemElement.js +7 -2
- package/Controls/Components/Selectors/TabStrip/TabStripItemElement.js.map +1 -1
- package/Controls/Components/Selectors/Tree/TreeElement.d.ts +1 -1
- package/Controls/Components/Selectors/Tree/TreeElement.d.ts.map +1 -1
- package/Controls/Components/Selectors/Tree/TreeElement.js +12 -17
- package/Controls/Components/Selectors/Tree/TreeElement.js.map +1 -1
- package/Controls/Components/Selectors/Tree/TreeInheritanceContext.d.ts +20 -0
- package/Controls/Components/Selectors/Tree/TreeInheritanceContext.d.ts.map +1 -0
- package/Controls/Components/Selectors/Tree/TreeInheritanceContext.js +9 -0
- package/Controls/Components/Selectors/Tree/TreeInheritanceContext.js.map +1 -0
- package/Controls/Components/Selectors/Tree/TreeItemElement.d.ts +2 -1
- package/Controls/Components/Selectors/Tree/TreeItemElement.d.ts.map +1 -1
- package/Controls/Components/Selectors/Tree/TreeItemElement.js +9 -4
- package/Controls/Components/Selectors/Tree/TreeItemElement.js.map +1 -1
- package/Controls/Controllers/InheritanceConsumerController.d.ts +126 -0
- package/Controls/Controllers/InheritanceConsumerController.d.ts.map +1 -0
- package/Controls/Controllers/InheritanceConsumerController.js +171 -0
- package/Controls/Controllers/InheritanceConsumerController.js.map +1 -0
- package/Controls/Controllers/InheritanceProviderController.d.ts +114 -0
- package/Controls/Controllers/InheritanceProviderController.d.ts.map +1 -0
- package/Controls/Controllers/InheritanceProviderController.js +143 -0
- package/Controls/Controllers/InheritanceProviderController.js.map +1 -0
- package/Controls/Types/ColorPosition.d.ts +21 -0
- package/Controls/Types/ColorPosition.d.ts.map +1 -0
- package/Controls/Types/ColorPosition.js +18 -0
- package/Controls/Types/ColorPosition.js.map +1 -0
- package/Controls/Types/ExpanderGroupStacking.d.ts +20 -0
- package/Controls/Types/ExpanderGroupStacking.d.ts.map +1 -0
- package/Controls/Types/ExpanderGroupStacking.js +16 -0
- package/Controls/Types/ExpanderGroupStacking.js.map +1 -0
- package/Dom/StyleSheet.d.ts.map +1 -1
- package/Dom/StyleSheet.js +1 -1
- package/Dom/StyleSheet.js.map +1 -1
- package/Index.d.ts +152 -150
- package/Index.d.ts.map +1 -1
- package/Index.js +103 -98
- package/Index.js.map +1 -1
- package/Reactivity/Rx/Directives/AsyncDirective.d.ts +1 -1
- package/Routing/PathToRegexp.d.ts +1 -1
- package/Theming/ThemeService.d.ts +1 -1
- package/Theming/ThemeService.d.ts.map +1 -1
- package/Theming/ThemeService.js +26 -1
- package/Theming/ThemeService.js.map +1 -1
- package/custom-elements.json +91 -14
- package/package.json +4 -3
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type ISlottable } from '../../../Behaviors/Slottable';
|
|
2
|
+
import { IExpandable } from '../../Interfaces/IExpandable';
|
|
2
3
|
import { SelectorItemElement } from '../Abstracts/Selector/SelectorItemElement';
|
|
3
4
|
import type { ITreeItemElementProps } from './ITreeItemElementProps';
|
|
4
5
|
import { TreeElement } from './TreeElement';
|
|
5
|
-
import { IExpandable } from '../../Interfaces/IExpandable';
|
|
6
6
|
declare const TreeItemElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Valueable").IValueableProps<unknown>) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Variantable").IVariantableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Focusable").IFocusableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Slottable").ISlottableProps & ISlottable) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Busyable").IBusyableProps) & (abstract new () => SelectorItemElement<import("../Abstracts/Selector/SelectorElement").SelectorElement<any>>) & import("../../../Behaviors/Themeable").IThemeableCtor;
|
|
7
7
|
/**
|
|
8
8
|
* The `{@link TreeItemElement}` element.
|
|
@@ -10,6 +10,7 @@ declare const TreeItemElement_base: (abstract new (...args: Array<any>) => impor
|
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
12
|
export declare class TreeItemElement extends TreeItemElement_base implements ITreeItemElementProps, ISlottable, IExpandable {
|
|
13
|
+
private readonly _inheritance;
|
|
13
14
|
private _text;
|
|
14
15
|
private _isExpanded;
|
|
15
16
|
private _hasChildren;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeItemElement.d.ts","sourceRoot":"","sources":["../../../../../src/Controls/Components/Selectors/Tree/TreeItemElement.ts"],"names":[],"mappings":"AAQA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAU1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TreeItemElement.d.ts","sourceRoot":"","sources":["../../../../../src/Controls/Components/Selectors/Tree/TreeItemElement.ts"],"names":[],"mappings":"AAQA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAU1E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAIrE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;;AAM5C;;;;GAIG;AACH,qBAca,eACT,SAAQ,oBACR,YAAW,qBAAqB,EAAE,UAAU,EAAE,WAAW;IAIzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAE1B;IACH,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,UAAU,CAAU;IAM5B;;OAEG;;IAcH;;;;;;;;OAQG;IAGH,WAA2B,EAAE,IAAI,MAAM,CAEtC;IAED;;;;OAIG;IACH,IACW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,EAK5B;IAED;;;;;OAKG;IACH,IAIW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,UAAU,CAAC,KAAK,EAAE,OAAO,EAKnC;IAED;;;;;OAKG;IACH,IAIW,SAAS,IAAI,OAAO,CAE9B;IAED,IAAW,SAAS,CAAC,KAAK,EAAE,OAAO,EAKlC;IAED;;;;;;OAMG;IACH,IAIW,WAAW,IAAI,OAAO,CAEhC;IAED,OAAO,KAAK,WAAW,QAKtB;IAED;;;;;OAKG;IACH,IAAW,MAAM,IAAI,WAAW,CAE/B;IAED;;;;OAIG;IACH,IAAW,KAAK,IAAI,KAAK,CAAC,eAAe,CAAC,CAGzC;IAMD;;;;OAIG;IACI,MAAM,IAAI,IAAI;IAYrB;;;;OAIG;IACI,QAAQ,IAAI,IAAI;IAYvB;;;;OAIG;IACI,MAAM,IAAI,IAAI;IAYrB;;;OAGG;IACa,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAOtD;;OAEG;IAEH,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CAcxC;AAED;;GAEG;AACH,yBAAiB,eAAe,CAAC;IAC7B,KAAY,KAAK,GAAG,qBAAqB,CAAC;CAC7C;AAED;;GAEG;AACH,OAAO,CAAC,MAAM,CAAC;IAEX,UAAU,qBAAqB;QAE3B,kBAAkB,EAAE,eAAe,CAAC;KACvC;CACJ"}
|
|
@@ -15,8 +15,10 @@ import { Busyable } from '../../../Behaviors/Busyable';
|
|
|
15
15
|
import { Disableable } from '../../../Behaviors/Disableable';
|
|
16
16
|
import { Focusable } from '../../../Behaviors/Focusable';
|
|
17
17
|
import { Slottable } from '../../../Behaviors/Slottable';
|
|
18
|
+
import { Themeable } from '../../../Behaviors/Themeable';
|
|
18
19
|
import { Valueable } from '../../../Behaviors/Valueable';
|
|
19
20
|
import { Variantable } from '../../../Behaviors/Variantable';
|
|
21
|
+
import { addInheritanceConsumerController } from '../../../Controllers/InheritanceConsumerController';
|
|
20
22
|
import { Attribute } from '../../../Decorators/AttributeDecorator';
|
|
21
23
|
import { Component } from '../../../Decorators/ComponentDecorator';
|
|
22
24
|
import { Property } from '../../../Decorators/PropertyDecorator';
|
|
@@ -25,12 +27,12 @@ import { ButtonElement } from '../../Buttons/Button/ButtonElement';
|
|
|
25
27
|
import { CheckmarkElement } from '../../Primitives/Checkmark/CheckmarkElement';
|
|
26
28
|
import { ExpandableElement } from '../../Primitives/Expandable/ExpandableElement';
|
|
27
29
|
import { SelectorItemElement } from '../Abstracts/Selector/SelectorItemElement';
|
|
28
|
-
import {
|
|
29
|
-
import { treeItemElementTemplate } from './TreeItemElementTemplate';
|
|
30
|
+
import { treeItemElementCosmopolitanStyle } from './Themes/TreeItemElement.Cosmopolitan';
|
|
30
31
|
import { treeItemElementJoyStyle } from './Themes/TreeItemElement.Joy';
|
|
31
32
|
import { treeItemElementMemphisStyle } from './Themes/TreeItemElement.Memphis';
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
33
|
+
import { TreeElement } from './TreeElement';
|
|
34
|
+
import { TREE_INHERITANCE_CONTEXT } from './TreeInheritanceContext';
|
|
35
|
+
import { treeItemElementTemplate } from './TreeItemElementTemplate';
|
|
34
36
|
// #endregion
|
|
35
37
|
/**
|
|
36
38
|
* The `{@link TreeItemElement}` element.
|
|
@@ -39,6 +41,9 @@ import { Themeable } from '../../../Behaviors/Themeable';
|
|
|
39
41
|
*/
|
|
40
42
|
let TreeItemElement = class TreeItemElement extends Themeable(Disableable(Valueable(Variantable(Focusable(Slottable(Busyable(SelectorItemElement))))))) {
|
|
41
43
|
// #region Fields
|
|
44
|
+
_inheritance = addInheritanceConsumerController(this, {
|
|
45
|
+
context: TREE_INHERITANCE_CONTEXT
|
|
46
|
+
});
|
|
42
47
|
_text;
|
|
43
48
|
_isExpanded;
|
|
44
49
|
_hasChildren;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeItemElement.js","sourceRoot":"","sources":["../../../../../src/Controls/Components/Selectors/Tree/TreeItemElement.ts"],"names":[],"mappings":"AAAA,kBAAkB;;;;;;;;;;AAElB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,+CAA+C,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAmB,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"TreeItemElement.js","sourceRoot":"","sources":["../../../../../src/Controls/Components/Selectors/Tree/TreeItemElement.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { type Context, ContextConsumer } from '@lit/context';
|
|
2
|
+
import { ControllerBase, type ControllerHost } from './Abstracts/ControllerBase';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration options for the InheritanceConsumerController.
|
|
5
|
+
*
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export interface IInheritanceConsumerControllerConfig<T extends object> {
|
|
9
|
+
/**
|
|
10
|
+
* The context to consume inherited properties from.
|
|
11
|
+
*/
|
|
12
|
+
context: Context<unknown, Partial<T>>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Controller for child components that consume inherited properties from parent providers.
|
|
16
|
+
*
|
|
17
|
+
* This controller:
|
|
18
|
+
* - Consumes properties from a `@lit/context` provider
|
|
19
|
+
* - Tracks which properties have been explicitly set on the host
|
|
20
|
+
* - Returns the effective value: explicit > inherited > local default
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* class AvatarElement extends CustomElement {
|
|
25
|
+
* private _inheritance = addInheritanceConsumerController(this, {
|
|
26
|
+
* context: AvatarGroupInheritanceContext
|
|
27
|
+
* });
|
|
28
|
+
*
|
|
29
|
+
* public override get size(): Size {
|
|
30
|
+
* return this._inheritance.get('size', super.size);
|
|
31
|
+
* }
|
|
32
|
+
*
|
|
33
|
+
* public override set size(value: Size) {
|
|
34
|
+
* this._inheritance.markExplicit('size');
|
|
35
|
+
* super.size = value;
|
|
36
|
+
* }
|
|
37
|
+
* }
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @public
|
|
41
|
+
*/
|
|
42
|
+
export declare class InheritanceConsumerController<T extends object> extends ControllerBase {
|
|
43
|
+
private readonly _explicitlySet;
|
|
44
|
+
private readonly _consumer;
|
|
45
|
+
private _inherited;
|
|
46
|
+
/**
|
|
47
|
+
* Creates a new InheritanceConsumerController.
|
|
48
|
+
*
|
|
49
|
+
* @public
|
|
50
|
+
* @param host The host element.
|
|
51
|
+
* @param config The controller configuration.
|
|
52
|
+
*/
|
|
53
|
+
constructor(host: ControllerHost, config: IInheritanceConsumerControllerConfig<T>);
|
|
54
|
+
/**
|
|
55
|
+
* Whether this consumer has found a provider.
|
|
56
|
+
*
|
|
57
|
+
* @public
|
|
58
|
+
* @readonly
|
|
59
|
+
*/
|
|
60
|
+
get hasProvider(): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Gets all inherited properties.
|
|
63
|
+
*
|
|
64
|
+
* @public
|
|
65
|
+
* @readonly
|
|
66
|
+
*/
|
|
67
|
+
get inherited(): Partial<T>;
|
|
68
|
+
/**
|
|
69
|
+
* Gets the context consumer.
|
|
70
|
+
*
|
|
71
|
+
* @protected
|
|
72
|
+
* @readonly
|
|
73
|
+
*/
|
|
74
|
+
protected get consumer(): ContextConsumer<Context<unknown, Partial<T>>, ControllerHost>;
|
|
75
|
+
/**
|
|
76
|
+
* Marks a property as explicitly set on the host.
|
|
77
|
+
* Once marked, the inherited value will be ignored for this property.
|
|
78
|
+
*
|
|
79
|
+
* @public
|
|
80
|
+
* @param key The property key.
|
|
81
|
+
*/
|
|
82
|
+
markExplicit<TKey extends keyof T>(key: TKey): void;
|
|
83
|
+
/**
|
|
84
|
+
* Checks if a property has been explicitly set.
|
|
85
|
+
*
|
|
86
|
+
* @public
|
|
87
|
+
* @param key The property key.
|
|
88
|
+
* @returns True if the property was explicitly set.
|
|
89
|
+
*/
|
|
90
|
+
isExplicit<TKey extends keyof T>(key: TKey): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Gets the effective value for a property.
|
|
93
|
+
*
|
|
94
|
+
* Priority: explicit > inherited > localValue
|
|
95
|
+
*
|
|
96
|
+
* @public
|
|
97
|
+
* @param key The property key.
|
|
98
|
+
* @param localValue The local value from the host.
|
|
99
|
+
* @returns The effective value (same type as localValue).
|
|
100
|
+
*/
|
|
101
|
+
get<TKey extends keyof T, TValue>(key: TKey, localValue: TValue): TValue;
|
|
102
|
+
/**
|
|
103
|
+
* Resets the explicit flag for a property.
|
|
104
|
+
* After reset, the property will again inherit from the provider.
|
|
105
|
+
*
|
|
106
|
+
* @public
|
|
107
|
+
* @param key The property key.
|
|
108
|
+
*/
|
|
109
|
+
resetExplicit<TKey extends keyof T>(key: TKey): void;
|
|
110
|
+
/**
|
|
111
|
+
* Resets all explicit flags.
|
|
112
|
+
*
|
|
113
|
+
* @public
|
|
114
|
+
*/
|
|
115
|
+
resetAllExplicit(): void;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Adds an inheritance consumer controller to the given host.
|
|
119
|
+
*
|
|
120
|
+
* @public
|
|
121
|
+
* @param host The host element.
|
|
122
|
+
* @param config The configuration options.
|
|
123
|
+
* @returns The inheritance consumer controller instance.
|
|
124
|
+
*/
|
|
125
|
+
export declare function addInheritanceConsumerController<T extends object>(host: ControllerHost, config: IInheritanceConsumerControllerConfig<T>): InheritanceConsumerController<T>;
|
|
126
|
+
//# sourceMappingURL=InheritanceConsumerController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InheritanceConsumerController.d.ts","sourceRoot":"","sources":["../../../src/Controls/Controllers/InheritanceConsumerController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAIjF;;;;GAIG;AACH,MAAM,WAAW,oCAAoC,CAAC,CAAC,SAAS,MAAM;IAIlE;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;CAIzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,6BAA6B,CAAC,CAAC,SAAS,MAAM,CACvD,SAAQ,cAAc;IAItB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgE;IAC1F,OAAO,CAAC,UAAU,CAAa;IAM/B;;;;;;OAMG;gBACgB,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,oCAAoC,CAAC,CAAC,CAAC;IA2BxF;;;;;OAKG;IACH,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED;;;;;OAKG;IACH,IAAW,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAEjC;IAED;;;;;OAKG;IACH,SAAS,KAAK,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAEtF;IAMD;;;;;;OAMG;IACI,YAAY,CAAC,IAAI,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI;IAI1D;;;;;;OAMG;IACI,UAAU,CAAC,IAAI,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,GAAG,OAAO;IAI3D;;;;;;;;;OASG;IACI,GAAG,CAAC,IAAI,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAiB/E;;;;;;OAMG;IACI,aAAa,CAAC,IAAI,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI;IAK3D;;;;OAIG;IACI,gBAAgB,IAAI,IAAI;CAOlC;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,CAAC,SAAS,MAAM,EAC7D,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,oCAAoC,CAAC,CAAC,CAAC,GAChD,6BAA6B,CAAC,CAAC,CAAC,CAElC"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
// #region Imports
|
|
2
|
+
import { ContextConsumer } from '@lit/context';
|
|
3
|
+
import { ControllerBase } from './Abstracts/ControllerBase';
|
|
4
|
+
/**
|
|
5
|
+
* Controller for child components that consume inherited properties from parent providers.
|
|
6
|
+
*
|
|
7
|
+
* This controller:
|
|
8
|
+
* - Consumes properties from a `@lit/context` provider
|
|
9
|
+
* - Tracks which properties have been explicitly set on the host
|
|
10
|
+
* - Returns the effective value: explicit > inherited > local default
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* class AvatarElement extends CustomElement {
|
|
15
|
+
* private _inheritance = addInheritanceConsumerController(this, {
|
|
16
|
+
* context: AvatarGroupInheritanceContext
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* public override get size(): Size {
|
|
20
|
+
* return this._inheritance.get('size', super.size);
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* public override set size(value: Size) {
|
|
24
|
+
* this._inheritance.markExplicit('size');
|
|
25
|
+
* super.size = value;
|
|
26
|
+
* }
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
export class InheritanceConsumerController extends ControllerBase {
|
|
33
|
+
// #region Fields
|
|
34
|
+
_explicitlySet;
|
|
35
|
+
_consumer;
|
|
36
|
+
_inherited;
|
|
37
|
+
// #endregion
|
|
38
|
+
// #region Ctor
|
|
39
|
+
/**
|
|
40
|
+
* Creates a new InheritanceConsumerController.
|
|
41
|
+
*
|
|
42
|
+
* @public
|
|
43
|
+
* @param host The host element.
|
|
44
|
+
* @param config The controller configuration.
|
|
45
|
+
*/
|
|
46
|
+
constructor(host, config) {
|
|
47
|
+
super(host);
|
|
48
|
+
this._explicitlySet = new Set();
|
|
49
|
+
this._inherited = {};
|
|
50
|
+
this._consumer = new ContextConsumer(this.host, {
|
|
51
|
+
context: config.context,
|
|
52
|
+
subscribe: true,
|
|
53
|
+
callback: (value) => {
|
|
54
|
+
const prev = this._inherited;
|
|
55
|
+
this._inherited = value;
|
|
56
|
+
// Trigger requestUpdate for each changed property to enable @Watch callbacks
|
|
57
|
+
for (const key of Object.keys(value)) {
|
|
58
|
+
if (!this._explicitlySet.has(key) && prev[key] !== value[key]) {
|
|
59
|
+
this.host.requestUpdate(key, prev[key]);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
// #endregion
|
|
66
|
+
// #region Properties
|
|
67
|
+
/**
|
|
68
|
+
* Whether this consumer has found a provider.
|
|
69
|
+
*
|
|
70
|
+
* @public
|
|
71
|
+
* @readonly
|
|
72
|
+
*/
|
|
73
|
+
get hasProvider() {
|
|
74
|
+
return Object.keys(this._inherited).length > 0;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Gets all inherited properties.
|
|
78
|
+
*
|
|
79
|
+
* @public
|
|
80
|
+
* @readonly
|
|
81
|
+
*/
|
|
82
|
+
get inherited() {
|
|
83
|
+
return this._inherited;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Gets the context consumer.
|
|
87
|
+
*
|
|
88
|
+
* @protected
|
|
89
|
+
* @readonly
|
|
90
|
+
*/
|
|
91
|
+
get consumer() {
|
|
92
|
+
return this._consumer;
|
|
93
|
+
}
|
|
94
|
+
// #endregion
|
|
95
|
+
// #region Methods
|
|
96
|
+
/**
|
|
97
|
+
* Marks a property as explicitly set on the host.
|
|
98
|
+
* Once marked, the inherited value will be ignored for this property.
|
|
99
|
+
*
|
|
100
|
+
* @public
|
|
101
|
+
* @param key The property key.
|
|
102
|
+
*/
|
|
103
|
+
markExplicit(key) {
|
|
104
|
+
this._explicitlySet.add(key);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Checks if a property has been explicitly set.
|
|
108
|
+
*
|
|
109
|
+
* @public
|
|
110
|
+
* @param key The property key.
|
|
111
|
+
* @returns True if the property was explicitly set.
|
|
112
|
+
*/
|
|
113
|
+
isExplicit(key) {
|
|
114
|
+
return this._explicitlySet.has(key);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Gets the effective value for a property.
|
|
118
|
+
*
|
|
119
|
+
* Priority: explicit > inherited > localValue
|
|
120
|
+
*
|
|
121
|
+
* @public
|
|
122
|
+
* @param key The property key.
|
|
123
|
+
* @param localValue The local value from the host.
|
|
124
|
+
* @returns The effective value (same type as localValue).
|
|
125
|
+
*/
|
|
126
|
+
get(key, localValue) {
|
|
127
|
+
// If explicitly set on host, use local value
|
|
128
|
+
if (this._explicitlySet.has(key)) {
|
|
129
|
+
return localValue;
|
|
130
|
+
}
|
|
131
|
+
// If inherited from provider, use inherited value
|
|
132
|
+
const inheritedValue = this._inherited[key];
|
|
133
|
+
if (inheritedValue !== undefined) {
|
|
134
|
+
return inheritedValue;
|
|
135
|
+
}
|
|
136
|
+
// Fallback to local value
|
|
137
|
+
return localValue;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Resets the explicit flag for a property.
|
|
141
|
+
* After reset, the property will again inherit from the provider.
|
|
142
|
+
*
|
|
143
|
+
* @public
|
|
144
|
+
* @param key The property key.
|
|
145
|
+
*/
|
|
146
|
+
resetExplicit(key) {
|
|
147
|
+
this._explicitlySet.delete(key);
|
|
148
|
+
this.host.requestUpdate();
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Resets all explicit flags.
|
|
152
|
+
*
|
|
153
|
+
* @public
|
|
154
|
+
*/
|
|
155
|
+
resetAllExplicit() {
|
|
156
|
+
this._explicitlySet.clear();
|
|
157
|
+
this.host.requestUpdate();
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Adds an inheritance consumer controller to the given host.
|
|
162
|
+
*
|
|
163
|
+
* @public
|
|
164
|
+
* @param host The host element.
|
|
165
|
+
* @param config The configuration options.
|
|
166
|
+
* @returns The inheritance consumer controller instance.
|
|
167
|
+
*/
|
|
168
|
+
export function addInheritanceConsumerController(host, config) {
|
|
169
|
+
return new InheritanceConsumerController(host, config);
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=InheritanceConsumerController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InheritanceConsumerController.js","sourceRoot":"","sources":["../../../src/Controls/Controllers/InheritanceConsumerController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { type Context, ContextProvider } from '@lit/context';
|
|
2
|
+
import { ControllerBase, type ControllerHost } from './Abstracts/ControllerBase';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration options for the InheritanceProviderController.
|
|
5
|
+
*
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export interface IInheritanceProviderControllerConfig<T extends object> {
|
|
9
|
+
/**
|
|
10
|
+
* The context to provide inherited properties to.
|
|
11
|
+
*/
|
|
12
|
+
context: Context<unknown, Partial<T>>;
|
|
13
|
+
/**
|
|
14
|
+
* A callback function that returns the current inherited values.
|
|
15
|
+
* This is called initially and whenever relevant properties change.
|
|
16
|
+
*/
|
|
17
|
+
values: () => Partial<T>;
|
|
18
|
+
/**
|
|
19
|
+
* Optional: Explicit list of property names to watch.
|
|
20
|
+
* If not provided, the controller will automatically detect watched properties
|
|
21
|
+
* from the keys returned by the `values` function.
|
|
22
|
+
*/
|
|
23
|
+
properties?: Array<keyof T>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Controller for parent components that provide inherited properties to child consumers.
|
|
27
|
+
*
|
|
28
|
+
* This controller wraps `@lit/context`'s `ContextProvider` and automatically updates
|
|
29
|
+
* the context when any of the watched properties change. The controller hooks into
|
|
30
|
+
* Lit's update lifecycle and compares property values to detect changes.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* class ButtonGroupElement extends CustomElement {
|
|
35
|
+
* private readonly _provider = addInheritanceProviderController(this, {
|
|
36
|
+
* context: BUTTON_GROUP_INHERITANCE_CONTEXT,
|
|
37
|
+
* values: () => ({
|
|
38
|
+
* disabled: this.disabled,
|
|
39
|
+
* appearance: this.appearance,
|
|
40
|
+
* variant: this.variant
|
|
41
|
+
* })
|
|
42
|
+
* });
|
|
43
|
+
* // No @Watch handlers needed - the controller automatically
|
|
44
|
+
* // detects changes to disabled, appearance, and variant!
|
|
45
|
+
* }
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* @public
|
|
49
|
+
*/
|
|
50
|
+
export declare class InheritanceProviderController<T extends object> extends ControllerBase {
|
|
51
|
+
private readonly _provider;
|
|
52
|
+
private readonly _getValues;
|
|
53
|
+
private readonly _watchedProperties;
|
|
54
|
+
private readonly _previousValues;
|
|
55
|
+
/**
|
|
56
|
+
* Creates a new InheritanceProviderController.
|
|
57
|
+
*
|
|
58
|
+
* @public
|
|
59
|
+
* @param host The host element.
|
|
60
|
+
* @param config The controller configuration.
|
|
61
|
+
*/
|
|
62
|
+
constructor(host: ControllerHost, config: IInheritanceProviderControllerConfig<T>);
|
|
63
|
+
/**
|
|
64
|
+
* Gets the current inherited values.
|
|
65
|
+
*
|
|
66
|
+
* @public
|
|
67
|
+
* @readonly
|
|
68
|
+
*/
|
|
69
|
+
get values(): Partial<T>;
|
|
70
|
+
/**
|
|
71
|
+
* Gets the underlying context provider.
|
|
72
|
+
*
|
|
73
|
+
* @protected
|
|
74
|
+
* @readonly
|
|
75
|
+
*/
|
|
76
|
+
protected get provider(): ContextProvider<Context<unknown, Partial<T>>, ControllerHost>;
|
|
77
|
+
/**
|
|
78
|
+
* Called before the host element updates.
|
|
79
|
+
* Automatically detects changes to watched properties and updates the context.
|
|
80
|
+
*
|
|
81
|
+
* @public
|
|
82
|
+
* @override
|
|
83
|
+
*/
|
|
84
|
+
hostUpdate(): void;
|
|
85
|
+
/**
|
|
86
|
+
* Updates the provided context value.
|
|
87
|
+
* Call this method when any of the inherited properties change.
|
|
88
|
+
* All subscribed consumers will be automatically notified.
|
|
89
|
+
*
|
|
90
|
+
* @remarks
|
|
91
|
+
* In most cases, you don't need to call this method manually.
|
|
92
|
+
* The controller automatically detects property changes during Lit's update cycle.
|
|
93
|
+
*
|
|
94
|
+
* @public
|
|
95
|
+
*/
|
|
96
|
+
update(): void;
|
|
97
|
+
/**
|
|
98
|
+
* Forces an update to all consumers, even if the value hasn't changed.
|
|
99
|
+
* Useful when you need to ensure all consumers re-read the context.
|
|
100
|
+
*
|
|
101
|
+
* @public
|
|
102
|
+
*/
|
|
103
|
+
forceUpdate(): void;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Adds an inheritance provider controller to the given host.
|
|
107
|
+
*
|
|
108
|
+
* @public
|
|
109
|
+
* @param host The host element.
|
|
110
|
+
* @param config The configuration options.
|
|
111
|
+
* @returns The inheritance provider controller instance.
|
|
112
|
+
*/
|
|
113
|
+
export declare function addInheritanceProviderController<T extends object>(host: ControllerHost, config: IInheritanceProviderControllerConfig<T>): InheritanceProviderController<T>;
|
|
114
|
+
//# sourceMappingURL=InheritanceProviderController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InheritanceProviderController.d.ts","sourceRoot":"","sources":["../../../src/Controls/Controllers/InheritanceProviderController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAIjF;;;;GAIG;AACH,MAAM,WAAW,oCAAoC,CAAC,CAAC,SAAS,MAAM;IAIlE;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtC;;;OAGG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAEzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;CAI/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,6BAA6B,CAAC,CAAC,SAAS,MAAM,CACvD,SAAQ,cAAc;IAItB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgE;IAC1F,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;IAMvD;;;;;;OAMG;gBACgB,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,oCAAoC,CAAC,CAAC,CAAC;IA4BxF;;;;;OAKG;IACH,IAAW,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAE9B;IAED;;;;;OAKG;IACH,SAAS,KAAK,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAEtF;IAMD;;;;;;OAMG;IACa,UAAU,IAAI,IAAI;IAqBlC;;;;;;;;;;OAUG;IACI,MAAM,IAAI,IAAI;IAIrB;;;;;OAKG;IACI,WAAW,IAAI,IAAI;CAM7B;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,CAAC,SAAS,MAAM,EAC7D,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,oCAAoC,CAAC,CAAC,CAAC,GAChD,6BAA6B,CAAC,CAAC,CAAC,CAElC"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
// #region Imports
|
|
2
|
+
import { ContextProvider } from '@lit/context';
|
|
3
|
+
import { ControllerBase } from './Abstracts/ControllerBase';
|
|
4
|
+
/**
|
|
5
|
+
* Controller for parent components that provide inherited properties to child consumers.
|
|
6
|
+
*
|
|
7
|
+
* This controller wraps `@lit/context`'s `ContextProvider` and automatically updates
|
|
8
|
+
* the context when any of the watched properties change. The controller hooks into
|
|
9
|
+
* Lit's update lifecycle and compares property values to detect changes.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* class ButtonGroupElement extends CustomElement {
|
|
14
|
+
* private readonly _provider = addInheritanceProviderController(this, {
|
|
15
|
+
* context: BUTTON_GROUP_INHERITANCE_CONTEXT,
|
|
16
|
+
* values: () => ({
|
|
17
|
+
* disabled: this.disabled,
|
|
18
|
+
* appearance: this.appearance,
|
|
19
|
+
* variant: this.variant
|
|
20
|
+
* })
|
|
21
|
+
* });
|
|
22
|
+
* // No @Watch handlers needed - the controller automatically
|
|
23
|
+
* // detects changes to disabled, appearance, and variant!
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
export class InheritanceProviderController extends ControllerBase {
|
|
30
|
+
// #region Fields
|
|
31
|
+
_provider;
|
|
32
|
+
_getValues;
|
|
33
|
+
_watchedProperties;
|
|
34
|
+
_previousValues;
|
|
35
|
+
// #endregion
|
|
36
|
+
// #region Ctor
|
|
37
|
+
/**
|
|
38
|
+
* Creates a new InheritanceProviderController.
|
|
39
|
+
*
|
|
40
|
+
* @public
|
|
41
|
+
* @param host The host element.
|
|
42
|
+
* @param config The controller configuration.
|
|
43
|
+
*/
|
|
44
|
+
constructor(host, config) {
|
|
45
|
+
super(host);
|
|
46
|
+
this._getValues = config.values;
|
|
47
|
+
// Determine which properties to watch
|
|
48
|
+
// Either use explicit properties or extract from the values function
|
|
49
|
+
const initialValues = this._getValues();
|
|
50
|
+
this._watchedProperties = config.properties
|
|
51
|
+
? config.properties.map(String)
|
|
52
|
+
: Object.keys(initialValues);
|
|
53
|
+
// Store initial values for comparison
|
|
54
|
+
this._previousValues = new Map();
|
|
55
|
+
for (const key of this._watchedProperties) {
|
|
56
|
+
this._previousValues.set(key, this.host[key]);
|
|
57
|
+
}
|
|
58
|
+
this._provider = new ContextProvider(this.host, {
|
|
59
|
+
context: config.context,
|
|
60
|
+
initialValue: initialValues
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
// #endregion
|
|
64
|
+
// #region Properties
|
|
65
|
+
/**
|
|
66
|
+
* Gets the current inherited values.
|
|
67
|
+
*
|
|
68
|
+
* @public
|
|
69
|
+
* @readonly
|
|
70
|
+
*/
|
|
71
|
+
get values() {
|
|
72
|
+
return this._provider.value;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Gets the underlying context provider.
|
|
76
|
+
*
|
|
77
|
+
* @protected
|
|
78
|
+
* @readonly
|
|
79
|
+
*/
|
|
80
|
+
get provider() {
|
|
81
|
+
return this._provider;
|
|
82
|
+
}
|
|
83
|
+
// #endregion
|
|
84
|
+
// #region Methods
|
|
85
|
+
/**
|
|
86
|
+
* Called before the host element updates.
|
|
87
|
+
* Automatically detects changes to watched properties and updates the context.
|
|
88
|
+
*
|
|
89
|
+
* @public
|
|
90
|
+
* @override
|
|
91
|
+
*/
|
|
92
|
+
hostUpdate() {
|
|
93
|
+
super.hostUpdate();
|
|
94
|
+
let hasChanges = false;
|
|
95
|
+
const hostRecord = this.host;
|
|
96
|
+
for (const key of this._watchedProperties) {
|
|
97
|
+
const currentValue = hostRecord[key];
|
|
98
|
+
const previousValue = this._previousValues.get(key);
|
|
99
|
+
if (currentValue !== previousValue) {
|
|
100
|
+
hasChanges = true;
|
|
101
|
+
this._previousValues.set(key, currentValue);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (hasChanges) {
|
|
105
|
+
this._provider.setValue(this._getValues());
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Updates the provided context value.
|
|
110
|
+
* Call this method when any of the inherited properties change.
|
|
111
|
+
* All subscribed consumers will be automatically notified.
|
|
112
|
+
*
|
|
113
|
+
* @remarks
|
|
114
|
+
* In most cases, you don't need to call this method manually.
|
|
115
|
+
* The controller automatically detects property changes during Lit's update cycle.
|
|
116
|
+
*
|
|
117
|
+
* @public
|
|
118
|
+
*/
|
|
119
|
+
update() {
|
|
120
|
+
this._provider.setValue(this._getValues());
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Forces an update to all consumers, even if the value hasn't changed.
|
|
124
|
+
* Useful when you need to ensure all consumers re-read the context.
|
|
125
|
+
*
|
|
126
|
+
* @public
|
|
127
|
+
*/
|
|
128
|
+
forceUpdate() {
|
|
129
|
+
this._provider.setValue(this._getValues(), true);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Adds an inheritance provider controller to the given host.
|
|
134
|
+
*
|
|
135
|
+
* @public
|
|
136
|
+
* @param host The host element.
|
|
137
|
+
* @param config The configuration options.
|
|
138
|
+
* @returns The inheritance provider controller instance.
|
|
139
|
+
*/
|
|
140
|
+
export function addInheritanceProviderController(host, config) {
|
|
141
|
+
return new InheritanceProviderController(host, config);
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=InheritanceProviderController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InheritanceProviderController.js","sourceRoot":"","sources":["../../../src/Controls/Controllers/InheritanceProviderController.ts"],"names":[],"mappings":"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"}
|