@kurot/ui 1.1.7
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/README.md +258 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/kurot/binding/Binding.d.ts +38 -0
- package/dist/kurot/binding/Binding.d.ts.map +1 -0
- package/dist/kurot/binding/Binding.js +88 -0
- package/dist/kurot/binding/Binding.js.map +1 -0
- package/dist/kurot/binding/Watcher.d.ts +57 -0
- package/dist/kurot/binding/Watcher.d.ts.map +1 -0
- package/dist/kurot/binding/Watcher.js +119 -0
- package/dist/kurot/binding/Watcher.js.map +1 -0
- package/dist/kurot/binding/index.d.ts +3 -0
- package/dist/kurot/binding/index.d.ts.map +1 -0
- package/dist/kurot/binding/index.js +3 -0
- package/dist/kurot/binding/index.js.map +1 -0
- package/dist/kurot/collections/ArrayCollection.d.ts +56 -0
- package/dist/kurot/collections/ArrayCollection.d.ts.map +1 -0
- package/dist/kurot/collections/ArrayCollection.js +143 -0
- package/dist/kurot/collections/ArrayCollection.js.map +1 -0
- package/dist/kurot/collections/ICollection.d.ts +24 -0
- package/dist/kurot/collections/ICollection.d.ts.map +1 -0
- package/dist/kurot/collections/ICollection.js +2 -0
- package/dist/kurot/collections/ICollection.js.map +1 -0
- package/dist/kurot/collections/index.d.ts +3 -0
- package/dist/kurot/collections/index.d.ts.map +1 -0
- package/dist/kurot/collections/index.js +2 -0
- package/dist/kurot/collections/index.js.map +1 -0
- package/dist/kurot/components/Animation.d.ts +34 -0
- package/dist/kurot/components/Animation.d.ts.map +1 -0
- package/dist/kurot/components/Animation.js +100 -0
- package/dist/kurot/components/Animation.js.map +1 -0
- package/dist/kurot/components/Button.d.ts +61 -0
- package/dist/kurot/components/Button.d.ts.map +1 -0
- package/dist/kurot/components/Button.js +176 -0
- package/dist/kurot/components/Button.js.map +1 -0
- package/dist/kurot/components/CheckBox.d.ts +11 -0
- package/dist/kurot/components/CheckBox.d.ts.map +1 -0
- package/dist/kurot/components/CheckBox.js +13 -0
- package/dist/kurot/components/CheckBox.js.map +1 -0
- package/dist/kurot/components/ComboBox.d.ts +93 -0
- package/dist/kurot/components/ComboBox.d.ts.map +1 -0
- package/dist/kurot/components/ComboBox.js +307 -0
- package/dist/kurot/components/ComboBox.js.map +1 -0
- package/dist/kurot/components/Component.d.ts +203 -0
- package/dist/kurot/components/Component.d.ts.map +1 -0
- package/dist/kurot/components/Component.js +522 -0
- package/dist/kurot/components/Component.js.map +1 -0
- package/dist/kurot/components/DataGroup.d.ts +90 -0
- package/dist/kurot/components/DataGroup.d.ts.map +1 -0
- package/dist/kurot/components/DataGroup.js +483 -0
- package/dist/kurot/components/DataGroup.js.map +1 -0
- package/dist/kurot/components/EditableText.d.ts +44 -0
- package/dist/kurot/components/EditableText.d.ts.map +1 -0
- package/dist/kurot/components/EditableText.js +126 -0
- package/dist/kurot/components/EditableText.js.map +1 -0
- package/dist/kurot/components/Group.d.ts +133 -0
- package/dist/kurot/components/Group.d.ts.map +1 -0
- package/dist/kurot/components/Group.js +454 -0
- package/dist/kurot/components/Group.js.map +1 -0
- package/dist/kurot/components/HScrollBar.d.ts +13 -0
- package/dist/kurot/components/HScrollBar.d.ts.map +1 -0
- package/dist/kurot/components/HScrollBar.js +55 -0
- package/dist/kurot/components/HScrollBar.js.map +1 -0
- package/dist/kurot/components/HSlider.d.ts +17 -0
- package/dist/kurot/components/HSlider.d.ts.map +1 -0
- package/dist/kurot/components/HSlider.js +48 -0
- package/dist/kurot/components/HSlider.js.map +1 -0
- package/dist/kurot/components/Image.d.ts +35 -0
- package/dist/kurot/components/Image.d.ts.map +1 -0
- package/dist/kurot/components/Image.js +141 -0
- package/dist/kurot/components/Image.js.map +1 -0
- package/dist/kurot/components/ItemRenderer.d.ts +42 -0
- package/dist/kurot/components/ItemRenderer.d.ts.map +1 -0
- package/dist/kurot/components/ItemRenderer.js +117 -0
- package/dist/kurot/components/ItemRenderer.js.map +1 -0
- package/dist/kurot/components/Label.d.ts +49 -0
- package/dist/kurot/components/Label.d.ts.map +1 -0
- package/dist/kurot/components/Label.js +193 -0
- package/dist/kurot/components/Label.js.map +1 -0
- package/dist/kurot/components/List.d.ts +16 -0
- package/dist/kurot/components/List.d.ts.map +1 -0
- package/dist/kurot/components/List.js +34 -0
- package/dist/kurot/components/List.js.map +1 -0
- package/dist/kurot/components/ListBase.d.ts +61 -0
- package/dist/kurot/components/ListBase.d.ts.map +1 -0
- package/dist/kurot/components/ListBase.js +202 -0
- package/dist/kurot/components/ListBase.js.map +1 -0
- package/dist/kurot/components/Panel.d.ts +53 -0
- package/dist/kurot/components/Panel.d.ts.map +1 -0
- package/dist/kurot/components/Panel.js +145 -0
- package/dist/kurot/components/Panel.js.map +1 -0
- package/dist/kurot/components/ProgressBar.d.ts +48 -0
- package/dist/kurot/components/ProgressBar.d.ts.map +1 -0
- package/dist/kurot/components/ProgressBar.js +180 -0
- package/dist/kurot/components/ProgressBar.js.map +1 -0
- package/dist/kurot/components/RadioButton.d.ts +86 -0
- package/dist/kurot/components/RadioButton.d.ts.map +1 -0
- package/dist/kurot/components/RadioButton.js +246 -0
- package/dist/kurot/components/RadioButton.js.map +1 -0
- package/dist/kurot/components/Range.d.ts +41 -0
- package/dist/kurot/components/Range.d.ts.map +1 -0
- package/dist/kurot/components/Range.js +144 -0
- package/dist/kurot/components/Range.js.map +1 -0
- package/dist/kurot/components/Rect.d.ts +33 -0
- package/dist/kurot/components/Rect.d.ts.map +1 -0
- package/dist/kurot/components/Rect.js +125 -0
- package/dist/kurot/components/Rect.js.map +1 -0
- package/dist/kurot/components/ScrollBarBase.d.ts +27 -0
- package/dist/kurot/components/ScrollBarBase.d.ts.map +1 -0
- package/dist/kurot/components/ScrollBarBase.js +50 -0
- package/dist/kurot/components/ScrollBarBase.js.map +1 -0
- package/dist/kurot/components/Scroller.d.ts +82 -0
- package/dist/kurot/components/Scroller.d.ts.map +1 -0
- package/dist/kurot/components/Scroller.js +416 -0
- package/dist/kurot/components/Scroller.js.map +1 -0
- package/dist/kurot/components/Skin.d.ts +64 -0
- package/dist/kurot/components/Skin.d.ts.map +1 -0
- package/dist/kurot/components/Skin.js +136 -0
- package/dist/kurot/components/Skin.js.map +1 -0
- package/dist/kurot/components/SliderBase.d.ts +60 -0
- package/dist/kurot/components/SliderBase.d.ts.map +1 -0
- package/dist/kurot/components/SliderBase.js +197 -0
- package/dist/kurot/components/SliderBase.js.map +1 -0
- package/dist/kurot/components/TabBar.d.ts +29 -0
- package/dist/kurot/components/TabBar.d.ts.map +1 -0
- package/dist/kurot/components/TabBar.js +92 -0
- package/dist/kurot/components/TabBar.js.map +1 -0
- package/dist/kurot/components/TextInput.d.ts +49 -0
- package/dist/kurot/components/TextInput.d.ts.map +1 -0
- package/dist/kurot/components/TextInput.js +157 -0
- package/dist/kurot/components/TextInput.js.map +1 -0
- package/dist/kurot/components/ToggleButton.d.ts +11 -0
- package/dist/kurot/components/ToggleButton.d.ts.map +1 -0
- package/dist/kurot/components/ToggleButton.js +14 -0
- package/dist/kurot/components/ToggleButton.js.map +1 -0
- package/dist/kurot/components/ToggleSwitch.d.ts +10 -0
- package/dist/kurot/components/ToggleSwitch.d.ts.map +1 -0
- package/dist/kurot/components/ToggleSwitch.js +10 -0
- package/dist/kurot/components/ToggleSwitch.js.map +1 -0
- package/dist/kurot/components/TouchScroll.d.ts +38 -0
- package/dist/kurot/components/TouchScroll.d.ts.map +1 -0
- package/dist/kurot/components/TouchScroll.js +133 -0
- package/dist/kurot/components/TouchScroll.js.map +1 -0
- package/dist/kurot/components/UILayer.d.ts +14 -0
- package/dist/kurot/components/UILayer.d.ts.map +1 -0
- package/dist/kurot/components/UILayer.js +38 -0
- package/dist/kurot/components/UILayer.js.map +1 -0
- package/dist/kurot/components/VScrollBar.d.ts +13 -0
- package/dist/kurot/components/VScrollBar.d.ts.map +1 -0
- package/dist/kurot/components/VScrollBar.js +55 -0
- package/dist/kurot/components/VScrollBar.js.map +1 -0
- package/dist/kurot/components/VSlider.d.ts +17 -0
- package/dist/kurot/components/VSlider.d.ts.map +1 -0
- package/dist/kurot/components/VSlider.js +49 -0
- package/dist/kurot/components/VSlider.js.map +1 -0
- package/dist/kurot/components/ViewStack.d.ts +42 -0
- package/dist/kurot/components/ViewStack.d.ts.map +1 -0
- package/dist/kurot/components/ViewStack.js +160 -0
- package/dist/kurot/components/ViewStack.js.map +1 -0
- package/dist/kurot/components/index.d.ts +34 -0
- package/dist/kurot/components/index.d.ts.map +1 -0
- package/dist/kurot/components/index.js +34 -0
- package/dist/kurot/components/index.js.map +1 -0
- package/dist/kurot/core/AssetAdapterRegistry.d.ts +4 -0
- package/dist/kurot/core/AssetAdapterRegistry.d.ts.map +1 -0
- package/dist/kurot/core/AssetAdapterRegistry.js +9 -0
- package/dist/kurot/core/AssetAdapterRegistry.js.map +1 -0
- package/dist/kurot/core/DefaultAssetAdapter.d.ts +10 -0
- package/dist/kurot/core/DefaultAssetAdapter.d.ts.map +1 -0
- package/dist/kurot/core/DefaultAssetAdapter.js +22 -0
- package/dist/kurot/core/DefaultAssetAdapter.js.map +1 -0
- package/dist/kurot/core/DefaultThemeAdapter.d.ts +8 -0
- package/dist/kurot/core/DefaultThemeAdapter.d.ts.map +1 -0
- package/dist/kurot/core/DefaultThemeAdapter.js +27 -0
- package/dist/kurot/core/DefaultThemeAdapter.js.map +1 -0
- package/dist/kurot/core/Direction.d.ts +10 -0
- package/dist/kurot/core/Direction.d.ts.map +1 -0
- package/dist/kurot/core/Direction.js +10 -0
- package/dist/kurot/core/Direction.js.map +1 -0
- package/dist/kurot/core/IAssetAdapter.d.ts +15 -0
- package/dist/kurot/core/IAssetAdapter.d.ts.map +1 -0
- package/dist/kurot/core/IAssetAdapter.js +2 -0
- package/dist/kurot/core/IAssetAdapter.js.map +1 -0
- package/dist/kurot/core/IDisplayText.d.ts +12 -0
- package/dist/kurot/core/IDisplayText.d.ts.map +1 -0
- package/dist/kurot/core/IDisplayText.js +2 -0
- package/dist/kurot/core/IDisplayText.js.map +1 -0
- package/dist/kurot/core/IItemRenderer.d.ts +19 -0
- package/dist/kurot/core/IItemRenderer.d.ts.map +1 -0
- package/dist/kurot/core/IItemRenderer.js +2 -0
- package/dist/kurot/core/IItemRenderer.js.map +1 -0
- package/dist/kurot/core/IThemeAdapter.d.ts +14 -0
- package/dist/kurot/core/IThemeAdapter.d.ts.map +1 -0
- package/dist/kurot/core/IThemeAdapter.js +2 -0
- package/dist/kurot/core/IThemeAdapter.js.map +1 -0
- package/dist/kurot/core/IUIComponent.d.ts +63 -0
- package/dist/kurot/core/IUIComponent.d.ts.map +1 -0
- package/dist/kurot/core/IUIComponent.js +2 -0
- package/dist/kurot/core/IUIComponent.js.map +1 -0
- package/dist/kurot/core/IViewport.d.ts +12 -0
- package/dist/kurot/core/IViewport.d.ts.map +1 -0
- package/dist/kurot/core/IViewport.js +2 -0
- package/dist/kurot/core/IViewport.js.map +1 -0
- package/dist/kurot/core/ScrollPolicy.d.ts +9 -0
- package/dist/kurot/core/ScrollPolicy.d.ts.map +1 -0
- package/dist/kurot/core/ScrollPolicy.js +9 -0
- package/dist/kurot/core/ScrollPolicy.js.map +1 -0
- package/dist/kurot/core/Theme.d.ts +53 -0
- package/dist/kurot/core/Theme.d.ts.map +1 -0
- package/dist/kurot/core/Theme.js +169 -0
- package/dist/kurot/core/Theme.js.map +1 -0
- package/dist/kurot/core/UIComponent.d.ts +2 -0
- package/dist/kurot/core/UIComponent.d.ts.map +1 -0
- package/dist/kurot/core/UIComponent.js +4 -0
- package/dist/kurot/core/UIComponent.js.map +1 -0
- package/dist/kurot/core/UIState.d.ts +84 -0
- package/dist/kurot/core/UIState.d.ts.map +1 -0
- package/dist/kurot/core/UIState.js +512 -0
- package/dist/kurot/core/UIState.js.map +1 -0
- package/dist/kurot/core/Validator.d.ts +46 -0
- package/dist/kurot/core/Validator.d.ts.map +1 -0
- package/dist/kurot/core/Validator.js +368 -0
- package/dist/kurot/core/Validator.js.map +1 -0
- package/dist/kurot/core/index.d.ts +17 -0
- package/dist/kurot/core/index.d.ts.map +1 -0
- package/dist/kurot/core/index.js +10 -0
- package/dist/kurot/core/index.js.map +1 -0
- package/dist/kurot/events/CollectionEvent.d.ts +22 -0
- package/dist/kurot/events/CollectionEvent.d.ts.map +1 -0
- package/dist/kurot/events/CollectionEvent.js +37 -0
- package/dist/kurot/events/CollectionEvent.js.map +1 -0
- package/dist/kurot/events/ItemTapEvent.d.ts +11 -0
- package/dist/kurot/events/ItemTapEvent.d.ts.map +1 -0
- package/dist/kurot/events/ItemTapEvent.js +24 -0
- package/dist/kurot/events/ItemTapEvent.js.map +1 -0
- package/dist/kurot/events/PropertyEvent.d.ts +8 -0
- package/dist/kurot/events/PropertyEvent.d.ts.map +1 -0
- package/dist/kurot/events/PropertyEvent.js +20 -0
- package/dist/kurot/events/PropertyEvent.js.map +1 -0
- package/dist/kurot/events/ScrollerThrowEvent.d.ts +17 -0
- package/dist/kurot/events/ScrollerThrowEvent.d.ts.map +1 -0
- package/dist/kurot/events/ScrollerThrowEvent.js +22 -0
- package/dist/kurot/events/ScrollerThrowEvent.js.map +1 -0
- package/dist/kurot/events/UIEvent.d.ts +29 -0
- package/dist/kurot/events/UIEvent.d.ts.map +1 -0
- package/dist/kurot/events/UIEvent.js +39 -0
- package/dist/kurot/events/UIEvent.js.map +1 -0
- package/dist/kurot/events/index.d.ts +6 -0
- package/dist/kurot/events/index.d.ts.map +1 -0
- package/dist/kurot/events/index.js +6 -0
- package/dist/kurot/events/index.js.map +1 -0
- package/dist/kurot/layouts/BasicLayout.d.ts +13 -0
- package/dist/kurot/layouts/BasicLayout.d.ts.map +1 -0
- package/dist/kurot/layouts/BasicLayout.js +146 -0
- package/dist/kurot/layouts/BasicLayout.js.map +1 -0
- package/dist/kurot/layouts/ColumnAlign.d.ts +9 -0
- package/dist/kurot/layouts/ColumnAlign.d.ts.map +1 -0
- package/dist/kurot/layouts/ColumnAlign.js +9 -0
- package/dist/kurot/layouts/ColumnAlign.js.map +1 -0
- package/dist/kurot/layouts/HorizontalLayout.d.ts +23 -0
- package/dist/kurot/layouts/HorizontalLayout.d.ts.map +1 -0
- package/dist/kurot/layouts/HorizontalLayout.js +405 -0
- package/dist/kurot/layouts/HorizontalLayout.js.map +1 -0
- package/dist/kurot/layouts/ILayoutTarget.d.ts +25 -0
- package/dist/kurot/layouts/ILayoutTarget.d.ts.map +1 -0
- package/dist/kurot/layouts/ILayoutTarget.js +2 -0
- package/dist/kurot/layouts/ILayoutTarget.js.map +1 -0
- package/dist/kurot/layouts/JustifyAlign.d.ts +8 -0
- package/dist/kurot/layouts/JustifyAlign.d.ts.map +1 -0
- package/dist/kurot/layouts/JustifyAlign.js +8 -0
- package/dist/kurot/layouts/JustifyAlign.js.map +1 -0
- package/dist/kurot/layouts/LayoutBase.d.ts +23 -0
- package/dist/kurot/layouts/LayoutBase.d.ts.map +1 -0
- package/dist/kurot/layouts/LayoutBase.js +45 -0
- package/dist/kurot/layouts/LayoutBase.js.map +1 -0
- package/dist/kurot/layouts/LinearLayoutBase.d.ts +70 -0
- package/dist/kurot/layouts/LinearLayoutBase.d.ts.map +1 -0
- package/dist/kurot/layouts/LinearLayoutBase.js +246 -0
- package/dist/kurot/layouts/LinearLayoutBase.js.map +1 -0
- package/dist/kurot/layouts/RowAlign.d.ts +9 -0
- package/dist/kurot/layouts/RowAlign.d.ts.map +1 -0
- package/dist/kurot/layouts/RowAlign.js +9 -0
- package/dist/kurot/layouts/RowAlign.js.map +1 -0
- package/dist/kurot/layouts/TileLayout.d.ts +79 -0
- package/dist/kurot/layouts/TileLayout.d.ts.map +1 -0
- package/dist/kurot/layouts/TileLayout.js +577 -0
- package/dist/kurot/layouts/TileLayout.js.map +1 -0
- package/dist/kurot/layouts/TileOrientation.d.ts +8 -0
- package/dist/kurot/layouts/TileOrientation.d.ts.map +1 -0
- package/dist/kurot/layouts/TileOrientation.js +8 -0
- package/dist/kurot/layouts/TileOrientation.js.map +1 -0
- package/dist/kurot/layouts/VerticalLayout.d.ts +23 -0
- package/dist/kurot/layouts/VerticalLayout.d.ts.map +1 -0
- package/dist/kurot/layouts/VerticalLayout.js +406 -0
- package/dist/kurot/layouts/VerticalLayout.js.map +1 -0
- package/dist/kurot/layouts/index.d.ts +12 -0
- package/dist/kurot/layouts/index.d.ts.map +1 -0
- package/dist/kurot/layouts/index.js +11 -0
- package/dist/kurot/layouts/index.js.map +1 -0
- package/dist/kurot/states/AddItems.d.ts +17 -0
- package/dist/kurot/states/AddItems.d.ts.map +1 -0
- package/dist/kurot/states/AddItems.js +42 -0
- package/dist/kurot/states/AddItems.js.map +1 -0
- package/dist/kurot/states/IOverride.d.ts +12 -0
- package/dist/kurot/states/IOverride.d.ts.map +1 -0
- package/dist/kurot/states/IOverride.js +2 -0
- package/dist/kurot/states/IOverride.js.map +1 -0
- package/dist/kurot/states/SetProperty.d.ts +19 -0
- package/dist/kurot/states/SetProperty.d.ts.map +1 -0
- package/dist/kurot/states/SetProperty.js +50 -0
- package/dist/kurot/states/SetProperty.js.map +1 -0
- package/dist/kurot/states/SetStateProperty.d.ts +17 -0
- package/dist/kurot/states/SetStateProperty.d.ts.map +1 -0
- package/dist/kurot/states/SetStateProperty.js +35 -0
- package/dist/kurot/states/SetStateProperty.js.map +1 -0
- package/dist/kurot/states/State.d.ts +14 -0
- package/dist/kurot/states/State.d.ts.map +1 -0
- package/dist/kurot/states/State.js +18 -0
- package/dist/kurot/states/State.js.map +1 -0
- package/dist/kurot/states/index.d.ts +6 -0
- package/dist/kurot/states/index.d.ts.map +1 -0
- package/dist/kurot/states/index.js +5 -0
- package/dist/kurot/states/index.js.map +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IUIComponent } from './IUIComponent.js';
|
|
2
|
+
/**
|
|
3
|
+
* Interface for scrollable container components.
|
|
4
|
+
*/
|
|
5
|
+
export interface IViewport extends IUIComponent {
|
|
6
|
+
readonly contentWidth: number;
|
|
7
|
+
readonly contentHeight: number;
|
|
8
|
+
scrollH: number;
|
|
9
|
+
scrollV: number;
|
|
10
|
+
scrollEnabled: boolean;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=IViewport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IViewport.d.ts","sourceRoot":"","sources":["../../../src/kurot/core/IViewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC9C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IViewport.js","sourceRoot":"","sources":["../../../src/kurot/core/IViewport.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScrollPolicy.d.ts","sourceRoot":"","sources":["../../../src/kurot/core/ScrollPolicy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,YAAY;IACxB,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScrollPolicy.js","sourceRoot":"","sources":["../../../src/kurot/core/ScrollPolicy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,YAAY;IACxB,MAAM,CAAU,IAAI,GAAG,MAAM,CAAC;IAC9B,MAAM,CAAU,GAAG,GAAG,KAAK,CAAC;IAC5B,MAAM,CAAU,EAAE,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { EventDispatcher } from '@kurot/core';
|
|
2
|
+
import type { IThemeAdapter } from './IThemeAdapter.js';
|
|
3
|
+
import type { Component } from '../components/Component.js';
|
|
4
|
+
/**
|
|
5
|
+
* Skin theme. Maps component class names to default skin class names.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* ```ts
|
|
9
|
+
* const theme = new Theme('resource/default.thm.js');
|
|
10
|
+
* theme.addEventListener(Event.COMPLETE, () => { ... });
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @event Event.COMPLETE Dispatched when the theme config is loaded and all skins are registered.
|
|
14
|
+
* @event IOErrorEvent.IO_ERROR Dispatched when the theme config or compiled skins fail to load.
|
|
15
|
+
*/
|
|
16
|
+
export declare class Theme extends EventDispatcher {
|
|
17
|
+
private _configURL;
|
|
18
|
+
private _initialized;
|
|
19
|
+
private _skinMap;
|
|
20
|
+
private _styles;
|
|
21
|
+
private _delayList;
|
|
22
|
+
private _adapter?;
|
|
23
|
+
constructor(configURL: string, adapter?: IThemeAdapter);
|
|
24
|
+
/**
|
|
25
|
+
* Map a default skin class name for a host component class name.
|
|
26
|
+
* @param hostComponentKey e.g. "eui.Button" or "app.MyButton"
|
|
27
|
+
* @param skinName e.g. "skins.ButtonSkin"
|
|
28
|
+
*/
|
|
29
|
+
mapSkin(hostComponentKey: string, skinName: string): void;
|
|
30
|
+
/**
|
|
31
|
+
* Look up the default skin name for a component instance.
|
|
32
|
+
* Search order: hostComponentKey → class name → parent class names up to Component.
|
|
33
|
+
*/
|
|
34
|
+
getSkinName(client: Component): string;
|
|
35
|
+
getStyleConfig(style: string): unknown;
|
|
36
|
+
private _load;
|
|
37
|
+
private _onConfigLoaded;
|
|
38
|
+
/** Dynamically imports the compiled skins module (resolves relative to the theme URL). */
|
|
39
|
+
private _loadSkinsModule;
|
|
40
|
+
private _onLoaded;
|
|
41
|
+
private _onLoadFailed;
|
|
42
|
+
private _handleDelayList;
|
|
43
|
+
private _findSkinName;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Register the active theme. Called automatically by Theme constructor when a stage is provided.
|
|
47
|
+
*/
|
|
48
|
+
export declare function setTheme(theme: Theme): void;
|
|
49
|
+
/**
|
|
50
|
+
* Get the currently active theme, if any.
|
|
51
|
+
*/
|
|
52
|
+
export declare function getTheme(): Theme | undefined;
|
|
53
|
+
//# sourceMappingURL=Theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../../src/kurot/core/Theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAuB,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAS5D;;;;;;;;;;;GAWG;AACH,qBAAa,KAAM,SAAQ,eAAe;IAGzC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,QAAQ,CAAC,CAAgB;gBAId,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;IAW7D;;;;OAIG;IACI,OAAO,CAAC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKhE;;;OAGG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IAQtC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAM7C,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,eAAe;IAqCvB,0FAA0F;YAC5E,gBAAgB;IAM9B,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,aAAa;CASrB;AAmBD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAE3C;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,KAAK,GAAG,SAAS,CAE5C"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { EventDispatcher, Event, IOErrorEvent } from '@kurot/core';
|
|
2
|
+
/**
|
|
3
|
+
* Skin theme. Maps component class names to default skin class names.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* ```ts
|
|
7
|
+
* const theme = new Theme('resource/default.thm.js');
|
|
8
|
+
* theme.addEventListener(Event.COMPLETE, () => { ... });
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* @event Event.COMPLETE Dispatched when the theme config is loaded and all skins are registered.
|
|
12
|
+
* @event IOErrorEvent.IO_ERROR Dispatched when the theme config or compiled skins fail to load.
|
|
13
|
+
*/
|
|
14
|
+
export class Theme extends EventDispatcher {
|
|
15
|
+
// ── Instance fields ───────────────────────────────────────────────────
|
|
16
|
+
_configURL;
|
|
17
|
+
_initialized;
|
|
18
|
+
_skinMap = {};
|
|
19
|
+
_styles = {};
|
|
20
|
+
_delayList = [];
|
|
21
|
+
_adapter;
|
|
22
|
+
// ── Constructor ───────────────────────────────────────────────────────
|
|
23
|
+
constructor(configURL, adapter) {
|
|
24
|
+
super();
|
|
25
|
+
this._configURL = configURL;
|
|
26
|
+
this._initialized = !configURL;
|
|
27
|
+
this._adapter = adapter;
|
|
28
|
+
setTheme(this);
|
|
29
|
+
if (configURL)
|
|
30
|
+
this._load(configURL);
|
|
31
|
+
}
|
|
32
|
+
// ── Public methods ────────────────────────────────────────────────────
|
|
33
|
+
/**
|
|
34
|
+
* Map a default skin class name for a host component class name.
|
|
35
|
+
* @param hostComponentKey e.g. "eui.Button" or "app.MyButton"
|
|
36
|
+
* @param skinName e.g. "skins.ButtonSkin"
|
|
37
|
+
*/
|
|
38
|
+
mapSkin(hostComponentKey, skinName) {
|
|
39
|
+
if (!hostComponentKey || !skinName)
|
|
40
|
+
return;
|
|
41
|
+
this._skinMap[hostComponentKey] = skinName;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Look up the default skin name for a component instance.
|
|
45
|
+
* Search order: hostComponentKey → class name → parent class names up to Component.
|
|
46
|
+
*/
|
|
47
|
+
getSkinName(client) {
|
|
48
|
+
if (!this._initialized) {
|
|
49
|
+
if (!this._delayList.includes(client))
|
|
50
|
+
this._delayList.push(client);
|
|
51
|
+
return '';
|
|
52
|
+
}
|
|
53
|
+
return this._skinMap[client.hostComponentKey] ?? this._findSkinName(client);
|
|
54
|
+
}
|
|
55
|
+
getStyleConfig(style) {
|
|
56
|
+
return this._styles[style];
|
|
57
|
+
}
|
|
58
|
+
// ── Private methods ───────────────────────────────────────────────────
|
|
59
|
+
_load(url) {
|
|
60
|
+
const adapter = this._adapter ?? _defaultThemeAdapter;
|
|
61
|
+
adapter.getTheme(url, data => this._onConfigLoaded(data), err => {
|
|
62
|
+
console.error('[Theme] Failed to load theme:', url, err);
|
|
63
|
+
this._onLoadFailed();
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
_onConfigLoaded(raw) {
|
|
67
|
+
let data;
|
|
68
|
+
if (typeof raw === 'string') {
|
|
69
|
+
try {
|
|
70
|
+
data = JSON.parse(raw);
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
console.error('[Theme] Invalid JSON in theme config');
|
|
74
|
+
this._onLoadFailed();
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
data = raw;
|
|
80
|
+
}
|
|
81
|
+
if (data.skins) {
|
|
82
|
+
for (const [key, val] of Object.entries(data.skins)) {
|
|
83
|
+
if (!this._skinMap[key])
|
|
84
|
+
this.mapSkin(key, val);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (data.styles)
|
|
88
|
+
this._styles = data.styles;
|
|
89
|
+
// Skins are loaded from a compiled ESM module that self-registers its
|
|
90
|
+
// factories on globalThis.
|
|
91
|
+
if (data.skinsJs) {
|
|
92
|
+
this._loadSkinsModule(data.skinsJs).then(() => this._onLoaded(), err => {
|
|
93
|
+
console.error('[Theme] Failed to load skins module:', data.skinsJs, err);
|
|
94
|
+
this._onLoadFailed();
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
this._onLoaded();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/** Dynamically imports the compiled skins module (resolves relative to the theme URL). */
|
|
102
|
+
async _loadSkinsModule(skinsJs) {
|
|
103
|
+
const base = new URL(this._configURL, globalThis.location?.href ?? 'http://localhost/');
|
|
104
|
+
const moduleUrl = new URL(skinsJs, base).href;
|
|
105
|
+
await import(/* @vite-ignore */ moduleUrl);
|
|
106
|
+
}
|
|
107
|
+
_onLoaded() {
|
|
108
|
+
this._initialized = true;
|
|
109
|
+
this._handleDelayList();
|
|
110
|
+
this.dispatchEventWith(Event.COMPLETE);
|
|
111
|
+
}
|
|
112
|
+
_onLoadFailed() {
|
|
113
|
+
if (this._initialized)
|
|
114
|
+
return;
|
|
115
|
+
this._initialized = true;
|
|
116
|
+
this._handleDelayList();
|
|
117
|
+
IOErrorEvent.dispatchIOErrorEvent(this);
|
|
118
|
+
}
|
|
119
|
+
_handleDelayList() {
|
|
120
|
+
const list = this._delayList;
|
|
121
|
+
for (const client of list) {
|
|
122
|
+
if (!client.skinNameExplicitlySet) {
|
|
123
|
+
const skinName = this.getSkinName(client);
|
|
124
|
+
if (skinName) {
|
|
125
|
+
client._applySkinName(skinName);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
list.length = 0;
|
|
130
|
+
}
|
|
131
|
+
_findSkinName(proto) {
|
|
132
|
+
if (!proto || proto === Object.prototype)
|
|
133
|
+
return '';
|
|
134
|
+
const ctor = proto.constructor;
|
|
135
|
+
const key = ctor?.name;
|
|
136
|
+
if (!key || key === 'Component')
|
|
137
|
+
return '';
|
|
138
|
+
const name = this._skinMap[key];
|
|
139
|
+
if (name)
|
|
140
|
+
return name;
|
|
141
|
+
return this._findSkinName(Object.getPrototypeOf(proto));
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// ── Default theme adapter (fetch via XHR) ─────────────────────────────────────
|
|
145
|
+
const _defaultThemeAdapter = {
|
|
146
|
+
getTheme(url, onSuccess, onError) {
|
|
147
|
+
const xhr = new XMLHttpRequest();
|
|
148
|
+
xhr.open('GET', url);
|
|
149
|
+
xhr.responseType = 'text';
|
|
150
|
+
xhr.onload = () => onSuccess(xhr.responseText);
|
|
151
|
+
xhr.onerror = () => onError(new Error(`Failed to load: ${url}`));
|
|
152
|
+
xhr.send();
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
// ── Global theme registry ─────────────────────────────────────────────────────
|
|
156
|
+
let _currentTheme;
|
|
157
|
+
/**
|
|
158
|
+
* Register the active theme. Called automatically by Theme constructor when a stage is provided.
|
|
159
|
+
*/
|
|
160
|
+
export function setTheme(theme) {
|
|
161
|
+
_currentTheme = theme;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Get the currently active theme, if any.
|
|
165
|
+
*/
|
|
166
|
+
export function getTheme() {
|
|
167
|
+
return _currentTheme;
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=Theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Theme.js","sourceRoot":"","sources":["../../../src/kurot/core/Theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAWnE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,KAAM,SAAQ,eAAe;IACzC,yEAAyE;IAEjE,UAAU,CAAS;IACnB,YAAY,CAAU;IACtB,QAAQ,GAA2B,EAAE,CAAC;IACtC,OAAO,GAA4B,EAAE,CAAC;IACtC,UAAU,GAAgB,EAAE,CAAC;IAC7B,QAAQ,CAAiB;IAEjC,yEAAyE;IAEzE,YAAmB,SAAiB,EAAE,OAAuB;QAC5D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,SAAS;YAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,yEAAyE;IAEzE;;;;OAIG;IACI,OAAO,CAAC,gBAAwB,EAAE,QAAgB;QACxD,IAAI,CAAC,gBAAgB,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,MAAiB;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpE,OAAO,EAAE,CAAC;QACX,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;IAEM,cAAc,CAAC,KAAa;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,yEAAyE;IAEjE,KAAK,CAAC,GAAW;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,oBAAoB,CAAC;QACtD,OAAO,CAAC,QAAQ,CACf,GAAG,EACH,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAClC,GAAG,CAAC,EAAE;YACL,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACzD,IAAI,CAAC,aAAa,EAAE,CAAC;QACtB,CAAC,CACD,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,GAAY;QACnC,IAAI,IAAiB,CAAC;QACtB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACJ,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBACtD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO;YACR,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,GAAG,GAAkB,CAAC;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;QACF,CAAC;QAED,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAE5C,sEAAsE;QACtE,2BAA2B;QAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CACvC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EACtB,GAAG,CAAC,EAAE;gBACL,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACzE,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,CAAC,CACD,CAAC;QACH,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,SAAS,EAAE,CAAC;QAClB,CAAC;IACF,CAAC;IAED,0FAA0F;IAClF,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,IAAI,mBAAmB,CAAC,CAAC;QACxF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC;QAC9C,MAAM,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAEO,SAAS;QAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAEO,aAAa;QACpB,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAEO,gBAAgB;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,QAAQ,EAAE,CAAC;oBACd,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBACjC,CAAC;YACF,CAAC;QACF,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACjB,CAAC;IAEO,aAAa,CAAC,KAAc;QACnC,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QACpD,MAAM,IAAI,GAAI,KAA6C,CAAC,WAAW,CAAC;QACxE,MAAM,GAAG,GAAG,IAAI,EAAE,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,WAAW;YAAE,OAAO,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;CACD;AAED,iFAAiF;AAEjF,MAAM,oBAAoB,GAAkB;IAC3C,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO;QAC/B,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACrB,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC;QAC1B,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC/C,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC,CAAC;QACjE,GAAG,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;CACD,CAAC;AAEF,iFAAiF;AAEjF,IAAI,aAAgC,CAAC;AAErC;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAY;IACpC,aAAa,GAAG,KAAK,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ;IACvB,OAAO,aAAa,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UIComponent.d.ts","sourceRoot":"","sources":["../../../src/kurot/core/UIComponent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UIComponent.js","sourceRoot":"","sources":["../../../src/kurot/core/UIComponent.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,sCAAsC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { DisplayObject, Rectangle } from '@kurot/core';
|
|
2
|
+
import type { IUIComponent } from './IUIComponent.js';
|
|
3
|
+
/**
|
|
4
|
+
* The interface that UIState requires from its host DisplayObject.
|
|
5
|
+
* Keeps UIState decoupled from any specific DisplayObject subclass.
|
|
6
|
+
*/
|
|
7
|
+
export interface IUIOwner extends DisplayObject {
|
|
8
|
+
createChildren(): void;
|
|
9
|
+
childrenCreated(): void;
|
|
10
|
+
commitProperties(): void;
|
|
11
|
+
measure(): void;
|
|
12
|
+
updateDisplayList(w: number, h: number): void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Encapsulates all UI layout state and logic for a component.
|
|
16
|
+
*
|
|
17
|
+
* Instead of using a mixin, Group and Component each hold a UIState instance
|
|
18
|
+
* and delegate all IUIComponent method calls to it. This keeps the class
|
|
19
|
+
* hierarchy clean and avoids prototype manipulation.
|
|
20
|
+
*/
|
|
21
|
+
export declare class UIState {
|
|
22
|
+
private _v;
|
|
23
|
+
private _includeInLayout;
|
|
24
|
+
private _owner;
|
|
25
|
+
constructor(owner: IUIOwner);
|
|
26
|
+
get includeInLayout(): boolean;
|
|
27
|
+
set includeInLayout(value: boolean);
|
|
28
|
+
get left(): number | string;
|
|
29
|
+
set left(value: number | string);
|
|
30
|
+
get right(): number | string;
|
|
31
|
+
set right(value: number | string);
|
|
32
|
+
get top(): number | string;
|
|
33
|
+
set top(value: number | string);
|
|
34
|
+
get bottom(): number | string;
|
|
35
|
+
set bottom(value: number | string);
|
|
36
|
+
get horizontalCenter(): number | string;
|
|
37
|
+
set horizontalCenter(value: number | string);
|
|
38
|
+
get verticalCenter(): number | string;
|
|
39
|
+
set verticalCenter(value: number | string);
|
|
40
|
+
get percentWidth(): number;
|
|
41
|
+
set percentWidth(value: number);
|
|
42
|
+
get percentHeight(): number;
|
|
43
|
+
set percentHeight(value: number);
|
|
44
|
+
get $explicitWidth(): number;
|
|
45
|
+
get $explicitHeight(): number;
|
|
46
|
+
get minWidth(): number;
|
|
47
|
+
set minWidth(value: number);
|
|
48
|
+
get maxWidth(): number;
|
|
49
|
+
set maxWidth(value: number);
|
|
50
|
+
get minHeight(): number;
|
|
51
|
+
set minHeight(value: number);
|
|
52
|
+
get maxHeight(): number;
|
|
53
|
+
set maxHeight(value: number);
|
|
54
|
+
$onAddToStage(): void;
|
|
55
|
+
onCommitProperties(): void;
|
|
56
|
+
getWidth(): number;
|
|
57
|
+
setWidth(value: number): void;
|
|
58
|
+
getHeight(): number;
|
|
59
|
+
setHeight(value: number): void;
|
|
60
|
+
setMeasuredSize(width: number, height: number): void;
|
|
61
|
+
invalidateProperties(): void;
|
|
62
|
+
validateProperties(): void;
|
|
63
|
+
invalidateSize(): void;
|
|
64
|
+
validateSize(recursive?: boolean): void;
|
|
65
|
+
invalidateDisplayList(): void;
|
|
66
|
+
validateDisplayList(): void;
|
|
67
|
+
validateNow(): void;
|
|
68
|
+
setLayoutBoundsSize(layoutWidth: number, layoutHeight: number): void;
|
|
69
|
+
setLayoutBoundsPosition(x: number, y: number): void;
|
|
70
|
+
getLayoutBounds(bounds: Rectangle): void;
|
|
71
|
+
getPreferredBounds(bounds: Rectangle): void;
|
|
72
|
+
$invalidateParentLayout(): void;
|
|
73
|
+
private _checkInvalidateFlag;
|
|
74
|
+
private _preferredUWidth;
|
|
75
|
+
private _preferredUHeight;
|
|
76
|
+
private _setActualSize;
|
|
77
|
+
private _validateSizeNow;
|
|
78
|
+
private _updateFinalSize;
|
|
79
|
+
private _measureSizes;
|
|
80
|
+
private _applyMatrix;
|
|
81
|
+
private _anchorMatrix;
|
|
82
|
+
}
|
|
83
|
+
export declare function isUIComponent(obj: unknown): obj is IUIComponent;
|
|
84
|
+
//# sourceMappingURL=UIState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UIState.d.ts","sourceRoot":"","sources":["../../../src/kurot/core/UIState.ts"],"names":[],"mappings":"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"}
|