@jolly-pixel/ui 1.0.1
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/LICENSE +44 -0
- package/README.md +194 -0
- package/dist/color/area.d.ts +24 -0
- package/dist/color/area.d.ts.map +1 -0
- package/dist/color/area.js +27 -0
- package/dist/color/area.js.map +1 -0
- package/dist/color/draft.d.ts +10 -0
- package/dist/color/draft.d.ts.map +1 -0
- package/dist/color/draft.js +18 -0
- package/dist/color/draft.js.map +1 -0
- package/dist/containers/Dialog.d.ts +20 -0
- package/dist/containers/Dialog.d.ts.map +1 -0
- package/dist/containers/Dialog.js +162 -0
- package/dist/containers/Dialog.js.map +1 -0
- package/dist/containers/Dialog.styles.d.ts +2 -0
- package/dist/containers/Dialog.styles.d.ts.map +1 -0
- package/dist/containers/Dialog.styles.js +54 -0
- package/dist/containers/Dialog.styles.js.map +1 -0
- package/dist/containers/Dock.d.ts +97 -0
- package/dist/containers/Dock.d.ts.map +1 -0
- package/dist/containers/Dock.js +432 -0
- package/dist/containers/Dock.js.map +1 -0
- package/dist/containers/Dock.styles.d.ts +2 -0
- package/dist/containers/Dock.styles.d.ts.map +1 -0
- package/dist/containers/Dock.styles.js +358 -0
- package/dist/containers/Dock.styles.js.map +1 -0
- package/dist/containers/DockLayout.d.ts +51 -0
- package/dist/containers/DockLayout.d.ts.map +1 -0
- package/dist/containers/DockLayout.js +601 -0
- package/dist/containers/DockLayout.js.map +1 -0
- package/dist/containers/Floating.d.ts +56 -0
- package/dist/containers/Floating.d.ts.map +1 -0
- package/dist/containers/Floating.js +437 -0
- package/dist/containers/Floating.js.map +1 -0
- package/dist/containers/Floating.styles.d.ts +2 -0
- package/dist/containers/Floating.styles.d.ts.map +1 -0
- package/dist/containers/Floating.styles.js +123 -0
- package/dist/containers/Floating.styles.js.map +1 -0
- package/dist/containers/Folder.d.ts +30 -0
- package/dist/containers/Folder.d.ts.map +1 -0
- package/dist/containers/Folder.js +220 -0
- package/dist/containers/Folder.js.map +1 -0
- package/dist/containers/Folder.styles.d.ts +2 -0
- package/dist/containers/Folder.styles.d.ts.map +1 -0
- package/dist/containers/Folder.styles.js +228 -0
- package/dist/containers/Folder.styles.js.map +1 -0
- package/dist/containers/FolderListController.d.ts +28 -0
- package/dist/containers/FolderListController.d.ts.map +1 -0
- package/dist/containers/FolderListController.js +219 -0
- package/dist/containers/FolderListController.js.map +1 -0
- package/dist/containers/Pane.d.ts +109 -0
- package/dist/containers/Pane.d.ts.map +1 -0
- package/dist/containers/Pane.js +429 -0
- package/dist/containers/Pane.js.map +1 -0
- package/dist/containers/Pane.styles.d.ts +2 -0
- package/dist/containers/Pane.styles.d.ts.map +1 -0
- package/dist/containers/Pane.styles.js +193 -0
- package/dist/containers/Pane.styles.js.map +1 -0
- package/dist/containers/Rail.d.ts +14 -0
- package/dist/containers/Rail.d.ts.map +1 -0
- package/dist/containers/Rail.js +52 -0
- package/dist/containers/Rail.js.map +1 -0
- package/dist/containers/Tab.d.ts +17 -0
- package/dist/containers/Tab.d.ts.map +1 -0
- package/dist/containers/Tab.js +61 -0
- package/dist/containers/Tab.js.map +1 -0
- package/dist/containers/Tabs.d.ts +21 -0
- package/dist/containers/Tabs.d.ts.map +1 -0
- package/dist/containers/Tabs.js +166 -0
- package/dist/containers/Tabs.js.map +1 -0
- package/dist/containers/Tabs.styles.d.ts +2 -0
- package/dist/containers/Tabs.styles.d.ts.map +1 -0
- package/dist/containers/Tabs.styles.js +99 -0
- package/dist/containers/Tabs.styles.js.map +1 -0
- package/dist/containers/Toolbar.d.ts +15 -0
- package/dist/containers/Toolbar.d.ts.map +1 -0
- package/dist/containers/Toolbar.js +62 -0
- package/dist/containers/Toolbar.js.map +1 -0
- package/dist/containers/dialogHelpers.d.ts +24 -0
- package/dist/containers/dialogHelpers.d.ts.map +1 -0
- package/dist/containers/dialogHelpers.js +89 -0
- package/dist/containers/dialogHelpers.js.map +1 -0
- package/dist/containers/events.d.ts +75 -0
- package/dist/containers/events.d.ts.map +1 -0
- package/dist/containers/events.js +9 -0
- package/dist/containers/events.js.map +1 -0
- package/dist/containers/layout.d.ts +86 -0
- package/dist/containers/layout.d.ts.map +1 -0
- package/dist/containers/layout.js +240 -0
- package/dist/containers/layout.js.map +1 -0
- package/dist/containers/resize.d.ts +8 -0
- package/dist/containers/resize.d.ts.map +1 -0
- package/dist/containers/resize.js +28 -0
- package/dist/containers/resize.js.map +1 -0
- package/dist/controls/Button.d.ts +32 -0
- package/dist/controls/Button.d.ts.map +1 -0
- package/dist/controls/Button.js +83 -0
- package/dist/controls/Button.js.map +1 -0
- package/dist/controls/Button.styles.d.ts +2 -0
- package/dist/controls/Button.styles.d.ts.map +1 -0
- package/dist/controls/Button.styles.js +86 -0
- package/dist/controls/Button.styles.js.map +1 -0
- package/dist/controls/ButtonGroup.d.ts +26 -0
- package/dist/controls/ButtonGroup.d.ts.map +1 -0
- package/dist/controls/ButtonGroup.js +159 -0
- package/dist/controls/ButtonGroup.js.map +1 -0
- package/dist/controls/ButtonGroup.styles.d.ts +2 -0
- package/dist/controls/ButtonGroup.styles.d.ts.map +1 -0
- package/dist/controls/ButtonGroup.styles.js +104 -0
- package/dist/controls/ButtonGroup.styles.js.map +1 -0
- package/dist/controls/Checkbox.d.ts +20 -0
- package/dist/controls/Checkbox.d.ts.map +1 -0
- package/dist/controls/Checkbox.js +73 -0
- package/dist/controls/Checkbox.js.map +1 -0
- package/dist/controls/Checkbox.styles.d.ts +3 -0
- package/dist/controls/Checkbox.styles.d.ts.map +1 -0
- package/dist/controls/Checkbox.styles.js +116 -0
- package/dist/controls/Checkbox.styles.js.map +1 -0
- package/dist/controls/Color.d.ts +35 -0
- package/dist/controls/Color.d.ts.map +1 -0
- package/dist/controls/Color.js +224 -0
- package/dist/controls/Color.js.map +1 -0
- package/dist/controls/Color.styles.d.ts +2 -0
- package/dist/controls/Color.styles.d.ts.map +1 -0
- package/dist/controls/Color.styles.js +89 -0
- package/dist/controls/Color.styles.js.map +1 -0
- package/dist/controls/ColorPicker.d.ts +40 -0
- package/dist/controls/ColorPicker.d.ts.map +1 -0
- package/dist/controls/ColorPicker.js +423 -0
- package/dist/controls/ColorPicker.js.map +1 -0
- package/dist/controls/ColorPicker.styles.d.ts +5 -0
- package/dist/controls/ColorPicker.styles.d.ts.map +1 -0
- package/dist/controls/ColorPicker.styles.js +305 -0
- package/dist/controls/ColorPicker.styles.js.map +1 -0
- package/dist/controls/Control.d.ts +21 -0
- package/dist/controls/Control.d.ts.map +1 -0
- package/dist/controls/Control.js +137 -0
- package/dist/controls/Control.js.map +1 -0
- package/dist/controls/Control.styles.d.ts +2 -0
- package/dist/controls/Control.styles.d.ts.map +1 -0
- package/dist/controls/Control.styles.js +108 -0
- package/dist/controls/Control.styles.js.map +1 -0
- package/dist/controls/Controls.d.ts +25 -0
- package/dist/controls/Controls.d.ts.map +1 -0
- package/dist/controls/Controls.js +72 -0
- package/dist/controls/Controls.js.map +1 -0
- package/dist/controls/Controls.styles.d.ts +2 -0
- package/dist/controls/Controls.styles.d.ts.map +1 -0
- package/dist/controls/Controls.styles.js +102 -0
- package/dist/controls/Controls.styles.js.map +1 -0
- package/dist/controls/Flags.d.ts +26 -0
- package/dist/controls/Flags.d.ts.map +1 -0
- package/dist/controls/Flags.js +91 -0
- package/dist/controls/Flags.js.map +1 -0
- package/dist/controls/Flags.styles.d.ts +2 -0
- package/dist/controls/Flags.styles.d.ts.map +1 -0
- package/dist/controls/Flags.styles.js +65 -0
- package/dist/controls/Flags.styles.js.map +1 -0
- package/dist/controls/Number.d.ts +31 -0
- package/dist/controls/Number.d.ts.map +1 -0
- package/dist/controls/Number.js +161 -0
- package/dist/controls/Number.js.map +1 -0
- package/dist/controls/Number.styles.d.ts +5 -0
- package/dist/controls/Number.styles.d.ts.map +1 -0
- package/dist/controls/Number.styles.js +53 -0
- package/dist/controls/Number.styles.js.map +1 -0
- package/dist/controls/PropertyRow.d.ts +26 -0
- package/dist/controls/PropertyRow.d.ts.map +1 -0
- package/dist/controls/PropertyRow.js +77 -0
- package/dist/controls/PropertyRow.js.map +1 -0
- package/dist/controls/PropertyRow.styles.d.ts +5 -0
- package/dist/controls/PropertyRow.styles.d.ts.map +1 -0
- package/dist/controls/PropertyRow.styles.js +115 -0
- package/dist/controls/PropertyRow.styles.js.map +1 -0
- package/dist/controls/Range.d.ts +30 -0
- package/dist/controls/Range.d.ts.map +1 -0
- package/dist/controls/Range.js +196 -0
- package/dist/controls/Range.js.map +1 -0
- package/dist/controls/Range.styles.d.ts +2 -0
- package/dist/controls/Range.styles.d.ts.map +1 -0
- package/dist/controls/Range.styles.js +29 -0
- package/dist/controls/Range.styles.js.map +1 -0
- package/dist/controls/Select.d.ts +24 -0
- package/dist/controls/Select.d.ts.map +1 -0
- package/dist/controls/Select.js +104 -0
- package/dist/controls/Select.js.map +1 -0
- package/dist/controls/Select.styles.d.ts +2 -0
- package/dist/controls/Select.styles.d.ts.map +1 -0
- package/dist/controls/Select.styles.js +51 -0
- package/dist/controls/Select.styles.js.map +1 -0
- package/dist/controls/Separator.d.ts +19 -0
- package/dist/controls/Separator.d.ts.map +1 -0
- package/dist/controls/Separator.js +55 -0
- package/dist/controls/Separator.js.map +1 -0
- package/dist/controls/Separator.styles.d.ts +2 -0
- package/dist/controls/Separator.styles.d.ts.map +1 -0
- package/dist/controls/Separator.styles.js +49 -0
- package/dist/controls/Separator.styles.js.map +1 -0
- package/dist/controls/Slider.d.ts +27 -0
- package/dist/controls/Slider.d.ts.map +1 -0
- package/dist/controls/Slider.js +170 -0
- package/dist/controls/Slider.js.map +1 -0
- package/dist/controls/Slider.styles.d.ts +2 -0
- package/dist/controls/Slider.styles.d.ts.map +1 -0
- package/dist/controls/Slider.styles.js +165 -0
- package/dist/controls/Slider.styles.js.map +1 -0
- package/dist/controls/Text.d.ts +17 -0
- package/dist/controls/Text.d.ts.map +1 -0
- package/dist/controls/Text.js +99 -0
- package/dist/controls/Text.js.map +1 -0
- package/dist/controls/flagMask.d.ts +13 -0
- package/dist/controls/flagMask.d.ts.map +1 -0
- package/dist/controls/flagMask.js +27 -0
- package/dist/controls/flagMask.js.map +1 -0
- package/dist/controls/roving.d.ts +5 -0
- package/dist/controls/roving.d.ts.map +1 -0
- package/dist/controls/roving.js +20 -0
- package/dist/controls/roving.js.map +1 -0
- package/dist/controls/types.d.ts +18 -0
- package/dist/controls/types.d.ts.map +1 -0
- package/dist/controls/types.js +2 -0
- package/dist/controls/types.js.map +1 -0
- package/dist/data/Tree.d.ts +44 -0
- package/dist/data/Tree.d.ts.map +1 -0
- package/dist/data/Tree.js +662 -0
- package/dist/data/Tree.js.map +1 -0
- package/dist/data/Tree.styles.d.ts +2 -0
- package/dist/data/Tree.styles.d.ts.map +1 -0
- package/dist/data/Tree.styles.js +244 -0
- package/dist/data/Tree.styles.js.map +1 -0
- package/dist/data/Tree.types.d.ts +46 -0
- package/dist/data/Tree.types.d.ts.map +1 -0
- package/dist/data/Tree.types.js +2 -0
- package/dist/data/Tree.types.js.map +1 -0
- package/dist/data/dropZone.d.ts +14 -0
- package/dist/data/dropZone.d.ts.map +1 -0
- package/dist/data/dropZone.js +26 -0
- package/dist/data/dropZone.js.map +1 -0
- package/dist/data/events.d.ts +23 -0
- package/dist/data/events.d.ts.map +1 -0
- package/dist/data/events.js +9 -0
- package/dist/data/events.js.map +1 -0
- package/dist/data/resolveRename.d.ts +5 -0
- package/dist/data/resolveRename.d.ts.map +1 -0
- package/dist/data/resolveRename.js +12 -0
- package/dist/data/resolveRename.js.map +1 -0
- package/dist/data/resolveReparent.d.ts +33 -0
- package/dist/data/resolveReparent.d.ts.map +1 -0
- package/dist/data/resolveReparent.js +82 -0
- package/dist/data/resolveReparent.js.map +1 -0
- package/dist/data/rowDragSession.d.ts +19 -0
- package/dist/data/rowDragSession.d.ts.map +1 -0
- package/dist/data/rowDragSession.js +74 -0
- package/dist/data/rowDragSession.js.map +1 -0
- package/dist/data/selection.d.ts +16 -0
- package/dist/data/selection.d.ts.map +1 -0
- package/dist/data/selection.js +57 -0
- package/dist/data/selection.js.map +1 -0
- package/dist/data/treeNodes.d.ts +19 -0
- package/dist/data/treeNodes.d.ts.map +1 -0
- package/dist/data/treeNodes.js +71 -0
- package/dist/data/treeNodes.js.map +1 -0
- package/dist/dom.d.ts +13 -0
- package/dist/dom.d.ts.map +1 -0
- package/dist/dom.js +25 -0
- package/dist/dom.js.map +1 -0
- package/dist/facade/Binding.d.ts +25 -0
- package/dist/facade/Binding.d.ts.map +1 -0
- package/dist/facade/Binding.js +145 -0
- package/dist/facade/Binding.js.map +1 -0
- package/dist/facade/Button.d.ts +19 -0
- package/dist/facade/Button.d.ts.map +1 -0
- package/dist/facade/Button.js +34 -0
- package/dist/facade/Button.js.map +1 -0
- package/dist/facade/Container.d.ts +32 -0
- package/dist/facade/Container.d.ts.map +1 -0
- package/dist/facade/Container.js +83 -0
- package/dist/facade/Container.js.map +1 -0
- package/dist/facade/Dock.d.ts +11 -0
- package/dist/facade/Dock.d.ts.map +1 -0
- package/dist/facade/Dock.js +27 -0
- package/dist/facade/Dock.js.map +1 -0
- package/dist/facade/Folder.d.ts +16 -0
- package/dist/facade/Folder.d.ts.map +1 -0
- package/dist/facade/Folder.js +19 -0
- package/dist/facade/Folder.js.map +1 -0
- package/dist/facade/Monitor.d.ts +37 -0
- package/dist/facade/Monitor.d.ts.map +1 -0
- package/dist/facade/Monitor.js +66 -0
- package/dist/facade/Monitor.js.map +1 -0
- package/dist/facade/Pane.d.ts +55 -0
- package/dist/facade/Pane.d.ts.map +1 -0
- package/dist/facade/Pane.js +60 -0
- package/dist/facade/Pane.js.map +1 -0
- package/dist/facade/Presence.d.ts +29 -0
- package/dist/facade/Presence.d.ts.map +1 -0
- package/dist/facade/Presence.js +48 -0
- package/dist/facade/Presence.js.map +1 -0
- package/dist/facade/Separator.d.ts +11 -0
- package/dist/facade/Separator.d.ts.map +1 -0
- package/dist/facade/Separator.js +24 -0
- package/dist/facade/Separator.js.map +1 -0
- package/dist/facade/dispatch.d.ts +22 -0
- package/dist/facade/dispatch.d.ts.map +1 -0
- package/dist/facade/dispatch.js +67 -0
- package/dist/facade/dispatch.js.map +1 -0
- package/dist/facade/monitorFields.d.ts +11 -0
- package/dist/facade/monitorFields.d.ts.map +1 -0
- package/dist/facade/monitorFields.js +13 -0
- package/dist/facade/monitorFields.js.map +1 -0
- package/dist/facade/monitorValue.d.ts +8 -0
- package/dist/facade/monitorValue.d.ts.map +1 -0
- package/dist/facade/monitorValue.js +13 -0
- package/dist/facade/monitorValue.js.map +1 -0
- package/dist/feedback/JollyPixelLogo.d.ts +2 -0
- package/dist/feedback/JollyPixelLogo.d.ts.map +1 -0
- package/dist/feedback/JollyPixelLogo.js +91 -0
- package/dist/feedback/JollyPixelLogo.js.map +1 -0
- package/dist/feedback/Loading.d.ts +36 -0
- package/dist/feedback/Loading.d.ts.map +1 -0
- package/dist/feedback/Loading.js +175 -0
- package/dist/feedback/Loading.js.map +1 -0
- package/dist/feedback/Loading.styles.d.ts +2 -0
- package/dist/feedback/Loading.styles.d.ts.map +1 -0
- package/dist/feedback/Loading.styles.js +236 -0
- package/dist/feedback/Loading.styles.js.map +1 -0
- package/dist/feedback/Log.d.ts +21 -0
- package/dist/feedback/Log.d.ts.map +1 -0
- package/dist/feedback/Log.js +126 -0
- package/dist/feedback/Log.js.map +1 -0
- package/dist/feedback/Log.styles.d.ts +2 -0
- package/dist/feedback/Log.styles.d.ts.map +1 -0
- package/dist/feedback/Log.styles.js +65 -0
- package/dist/feedback/Log.styles.js.map +1 -0
- package/dist/feedback/LogQueue.d.ts +12 -0
- package/dist/feedback/LogQueue.d.ts.map +1 -0
- package/dist/feedback/LogQueue.js +91 -0
- package/dist/feedback/LogQueue.js.map +1 -0
- package/dist/feedback/LogQueue.types.d.ts +16 -0
- package/dist/feedback/LogQueue.types.d.ts.map +1 -0
- package/dist/feedback/LogQueue.types.js +2 -0
- package/dist/feedback/LogQueue.types.js.map +1 -0
- package/dist/feedback/Progress.d.ts +24 -0
- package/dist/feedback/Progress.d.ts.map +1 -0
- package/dist/feedback/Progress.js +120 -0
- package/dist/feedback/Progress.js.map +1 -0
- package/dist/feedback/Progress.styles.d.ts +2 -0
- package/dist/feedback/Progress.styles.d.ts.map +1 -0
- package/dist/feedback/Progress.styles.js +150 -0
- package/dist/feedback/Progress.styles.js.map +1 -0
- package/dist/feedback/index.d.ts +6 -0
- package/dist/feedback/index.d.ts.map +1 -0
- package/dist/feedback/index.js +5 -0
- package/dist/feedback/index.js.map +1 -0
- package/dist/feedback/normalizeProgress.d.ts +11 -0
- package/dist/feedback/normalizeProgress.d.ts.map +1 -0
- package/dist/feedback/normalizeProgress.js +24 -0
- package/dist/feedback/normalizeProgress.js.map +1 -0
- package/dist/field/DraftController.d.ts +24 -0
- package/dist/field/DraftController.d.ts.map +1 -0
- package/dist/field/DraftController.js +72 -0
- package/dist/field/DraftController.js.map +1 -0
- package/dist/field/JollyField.d.ts +101 -0
- package/dist/field/JollyField.d.ts.map +1 -0
- package/dist/field/JollyField.js +356 -0
- package/dist/field/JollyField.js.map +1 -0
- package/dist/field/JollyField.styles.d.ts +5 -0
- package/dist/field/JollyField.styles.d.ts.map +1 -0
- package/dist/field/JollyField.styles.js +439 -0
- package/dist/field/JollyField.styles.js.map +1 -0
- package/dist/field/PointerFocusController.d.ts +16 -0
- package/dist/field/PointerFocusController.d.ts.map +1 -0
- package/dist/field/PointerFocusController.js +36 -0
- package/dist/field/PointerFocusController.js.map +1 -0
- package/dist/field/PopoverController.d.ts +60 -0
- package/dist/field/PopoverController.d.ts.map +1 -0
- package/dist/field/PopoverController.js +122 -0
- package/dist/field/PopoverController.js.map +1 -0
- package/dist/field/events.d.ts +14 -0
- package/dist/field/events.d.ts.map +1 -0
- package/dist/field/events.js +25 -0
- package/dist/field/events.js.map +1 -0
- package/dist/field/mixed.d.ts +15 -0
- package/dist/field/mixed.d.ts.map +1 -0
- package/dist/field/mixed.js +10 -0
- package/dist/field/mixed.js.map +1 -0
- package/dist/field/pointerModality.d.ts +14 -0
- package/dist/field/pointerModality.d.ts.map +1 -0
- package/dist/field/pointerModality.js +26 -0
- package/dist/field/pointerModality.js.map +1 -0
- package/dist/field/predicates.d.ts +18 -0
- package/dist/field/predicates.d.ts.map +1 -0
- package/dist/field/predicates.js +42 -0
- package/dist/field/predicates.js.map +1 -0
- package/dist/geometry/Rect.d.ts +10 -0
- package/dist/geometry/Rect.d.ts.map +1 -0
- package/dist/geometry/Rect.js +2 -0
- package/dist/geometry/Rect.js.map +1 -0
- package/dist/geometry/anchoredPosition.d.ts +23 -0
- package/dist/geometry/anchoredPosition.d.ts.map +1 -0
- package/dist/geometry/anchoredPosition.js +62 -0
- package/dist/geometry/anchoredPosition.js.map +1 -0
- package/dist/geometry/clampToViewport.d.ts +23 -0
- package/dist/geometry/clampToViewport.d.ts.map +1 -0
- package/dist/geometry/clampToViewport.js +16 -0
- package/dist/geometry/clampToViewport.js.map +1 -0
- package/dist/icon/Icon.d.ts +21 -0
- package/dist/icon/Icon.d.ts.map +1 -0
- package/dist/icon/Icon.js +88 -0
- package/dist/icon/Icon.js.map +1 -0
- package/dist/icon/builtins.d.ts +2 -0
- package/dist/icon/builtins.d.ts.map +1 -0
- package/dist/icon/builtins.js +149 -0
- package/dist/icon/builtins.js.map +1 -0
- package/dist/icon/index.d.ts +3 -0
- package/dist/icon/index.d.ts.map +1 -0
- package/dist/icon/index.js +3 -0
- package/dist/icon/index.js.map +1 -0
- package/dist/icon/registry.d.ts +20 -0
- package/dist/icon/registry.d.ts.map +1 -0
- package/dist/icon/registry.js +20 -0
- package/dist/icon/registry.js.map +1 -0
- package/dist/index.d.ts +96 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +90 -0
- package/dist/index.js.map +1 -0
- package/dist/interaction/drag/DragSession.d.ts +111 -0
- package/dist/interaction/drag/DragSession.d.ts.map +1 -0
- package/dist/interaction/drag/DragSession.js +273 -0
- package/dist/interaction/drag/DragSession.js.map +1 -0
- package/dist/interaction/drag/dragGhost.d.ts +47 -0
- package/dist/interaction/drag/dragGhost.d.ts.map +1 -0
- package/dist/interaction/drag/dragGhost.js +77 -0
- package/dist/interaction/drag/dragGhost.js.map +1 -0
- package/dist/interaction/drag/dragOverlay.d.ts +44 -0
- package/dist/interaction/drag/dragOverlay.d.ts.map +1 -0
- package/dist/interaction/drag/dragOverlay.js +169 -0
- package/dist/interaction/drag/dragOverlay.js.map +1 -0
- package/dist/interaction/drag/dropIndex.d.ts +26 -0
- package/dist/interaction/drag/dropIndex.d.ts.map +1 -0
- package/dist/interaction/drag/dropIndex.js +34 -0
- package/dist/interaction/drag/dropIndex.js.map +1 -0
- package/dist/interaction/ensureDocumentStyles.d.ts +5 -0
- package/dist/interaction/ensureDocumentStyles.d.ts.map +1 -0
- package/dist/interaction/ensureDocumentStyles.js +14 -0
- package/dist/interaction/ensureDocumentStyles.js.map +1 -0
- package/dist/interaction/scrub/ScrubController.d.ts +27 -0
- package/dist/interaction/scrub/ScrubController.d.ts.map +1 -0
- package/dist/interaction/scrub/ScrubController.js +114 -0
- package/dist/interaction/scrub/ScrubController.js.map +1 -0
- package/dist/interaction/scrub/dragGuide.d.ts +9 -0
- package/dist/interaction/scrub/dragGuide.d.ts.map +1 -0
- package/dist/interaction/scrub/dragGuide.js +54 -0
- package/dist/interaction/scrub/dragGuide.js.map +1 -0
- package/dist/math/AxisController.d.ts +37 -0
- package/dist/math/AxisController.d.ts.map +1 -0
- package/dist/math/AxisController.js +141 -0
- package/dist/math/AxisController.js.map +1 -0
- package/dist/math/Point2d.d.ts +33 -0
- package/dist/math/Point2d.d.ts.map +1 -0
- package/dist/math/Point2d.js +169 -0
- package/dist/math/Point2d.js.map +1 -0
- package/dist/math/Point2d.styles.d.ts +2 -0
- package/dist/math/Point2d.styles.d.ts.map +1 -0
- package/dist/math/Point2d.styles.js +55 -0
- package/dist/math/Point2d.styles.js.map +1 -0
- package/dist/math/Quaternion.d.ts +33 -0
- package/dist/math/Quaternion.d.ts.map +1 -0
- package/dist/math/Quaternion.js +149 -0
- package/dist/math/Quaternion.js.map +1 -0
- package/dist/math/Quaternion.styles.d.ts +3 -0
- package/dist/math/Quaternion.styles.d.ts.map +1 -0
- package/dist/math/Quaternion.styles.js +5 -0
- package/dist/math/Quaternion.styles.js.map +1 -0
- package/dist/math/Transform.d.ts +62 -0
- package/dist/math/Transform.d.ts.map +1 -0
- package/dist/math/Transform.js +179 -0
- package/dist/math/Transform.js.map +1 -0
- package/dist/math/Transform.styles.d.ts +2 -0
- package/dist/math/Transform.styles.d.ts.map +1 -0
- package/dist/math/Transform.styles.js +21 -0
- package/dist/math/Transform.styles.js.map +1 -0
- package/dist/math/Vector2.d.ts +14 -0
- package/dist/math/Vector2.d.ts.map +1 -0
- package/dist/math/Vector2.js +33 -0
- package/dist/math/Vector2.js.map +1 -0
- package/dist/math/Vector3.d.ts +11 -0
- package/dist/math/Vector3.d.ts.map +1 -0
- package/dist/math/Vector3.js +22 -0
- package/dist/math/Vector3.js.map +1 -0
- package/dist/math/Vector4.d.ts +11 -0
- package/dist/math/Vector4.d.ts.map +1 -0
- package/dist/math/Vector4.js +22 -0
- package/dist/math/Vector4.js.map +1 -0
- package/dist/math/VectorField.d.ts +33 -0
- package/dist/math/VectorField.d.ts.map +1 -0
- package/dist/math/VectorField.js +152 -0
- package/dist/math/VectorField.js.map +1 -0
- package/dist/math/VectorField.styles.d.ts +5 -0
- package/dist/math/VectorField.styles.d.ts.map +1 -0
- package/dist/math/VectorField.styles.js +111 -0
- package/dist/math/VectorField.styles.js.map +1 -0
- package/dist/math/axes.d.ts +6 -0
- package/dist/math/axes.d.ts.map +1 -0
- package/dist/math/axes.js +38 -0
- package/dist/math/axes.js.map +1 -0
- package/dist/math/components.d.ts +3 -0
- package/dist/math/components.d.ts.map +1 -0
- package/dist/math/components.js +46 -0
- package/dist/math/components.js.map +1 -0
- package/dist/math/equals.d.ts +10 -0
- package/dist/math/equals.d.ts.map +1 -0
- package/dist/math/equals.js +52 -0
- package/dist/math/equals.js.map +1 -0
- package/dist/math/euler.d.ts +20 -0
- package/dist/math/euler.d.ts.map +1 -0
- package/dist/math/euler.js +65 -0
- package/dist/math/euler.js.map +1 -0
- package/dist/math/guards.d.ts +8 -0
- package/dist/math/guards.d.ts.map +1 -0
- package/dist/math/guards.js +53 -0
- package/dist/math/guards.js.map +1 -0
- package/dist/math/types.d.ts +32 -0
- package/dist/math/types.d.ts.map +1 -0
- package/dist/math/types.js +2 -0
- package/dist/math/types.js.map +1 -0
- package/dist/monitors/Graph.d.ts +39 -0
- package/dist/monitors/Graph.d.ts.map +1 -0
- package/dist/monitors/Graph.js +171 -0
- package/dist/monitors/Graph.js.map +1 -0
- package/dist/monitors/Graph.styles.d.ts +2 -0
- package/dist/monitors/Graph.styles.d.ts.map +1 -0
- package/dist/monitors/Graph.styles.js +46 -0
- package/dist/monitors/Graph.styles.js.map +1 -0
- package/dist/monitors/Monitor.d.ts +19 -0
- package/dist/monitors/Monitor.d.ts.map +1 -0
- package/dist/monitors/Monitor.js +61 -0
- package/dist/monitors/Monitor.js.map +1 -0
- package/dist/monitors/Monitor.styles.d.ts +2 -0
- package/dist/monitors/Monitor.styles.d.ts.map +1 -0
- package/dist/monitors/Monitor.styles.js +38 -0
- package/dist/monitors/Monitor.styles.js.map +1 -0
- package/dist/monitors/format.d.ts +7 -0
- package/dist/monitors/format.d.ts.map +1 -0
- package/dist/monitors/format.js +28 -0
- package/dist/monitors/format.js.map +1 -0
- package/dist/network/RoomPresenceSource.d.ts +29 -0
- package/dist/network/RoomPresenceSource.d.ts.map +1 -0
- package/dist/network/RoomPresenceSource.js +116 -0
- package/dist/network/RoomPresenceSource.js.map +1 -0
- package/dist/network/index.d.ts +2 -0
- package/dist/network/index.d.ts.map +1 -0
- package/dist/network/index.js +2 -0
- package/dist/network/index.js.map +1 -0
- package/dist/numeric/evaluate.d.ts +12 -0
- package/dist/numeric/evaluate.d.ts.map +1 -0
- package/dist/numeric/evaluate.js +206 -0
- package/dist/numeric/evaluate.js.map +1 -0
- package/dist/numeric/format.d.ts +14 -0
- package/dist/numeric/format.d.ts.map +1 -0
- package/dist/numeric/format.js +47 -0
- package/dist/numeric/format.js.map +1 -0
- package/dist/numeric/modifierMultiplier.d.ts +12 -0
- package/dist/numeric/modifierMultiplier.d.ts.map +1 -0
- package/dist/numeric/modifierMultiplier.js +13 -0
- package/dist/numeric/modifierMultiplier.js.map +1 -0
- package/dist/numeric/valueFromDelta.d.ts +26 -0
- package/dist/numeric/valueFromDelta.d.ts.map +1 -0
- package/dist/numeric/valueFromDelta.js +34 -0
- package/dist/numeric/valueFromDelta.js.map +1 -0
- package/dist/peer/LockController.d.ts +26 -0
- package/dist/peer/LockController.d.ts.map +1 -0
- package/dist/peer/LockController.js +111 -0
- package/dist/peer/LockController.js.map +1 -0
- package/dist/peer/Presence.d.ts +37 -0
- package/dist/peer/Presence.d.ts.map +1 -0
- package/dist/peer/Presence.js +151 -0
- package/dist/peer/Presence.js.map +1 -0
- package/dist/peer/Presence.styles.d.ts +2 -0
- package/dist/peer/Presence.styles.d.ts.map +1 -0
- package/dist/peer/Presence.styles.js +86 -0
- package/dist/peer/Presence.styles.js.map +1 -0
- package/dist/peer/PresenceSource.d.ts +28 -0
- package/dist/peer/PresenceSource.d.ts.map +1 -0
- package/dist/peer/PresenceSource.js +20 -0
- package/dist/peer/PresenceSource.js.map +1 -0
- package/dist/peer/events.d.ts +13 -0
- package/dist/peer/events.d.ts.map +1 -0
- package/dist/peer/events.js +9 -0
- package/dist/peer/events.js.map +1 -0
- package/dist/peer/presenceContext.d.ts +22 -0
- package/dist/peer/presenceContext.d.ts.map +1 -0
- package/dist/peer/presenceContext.js +42 -0
- package/dist/peer/presenceContext.js.map +1 -0
- package/dist/peer/resolveLock.d.ts +18 -0
- package/dist/peer/resolveLock.d.ts.map +1 -0
- package/dist/peer/resolveLock.js +38 -0
- package/dist/peer/resolveLock.js.map +1 -0
- package/dist/peer/toPresencePeers.d.ts +7 -0
- package/dist/peer/toPresencePeers.d.ts.map +1 -0
- package/dist/peer/toPresencePeers.js +14 -0
- package/dist/peer/toPresencePeers.js.map +1 -0
- package/dist/peer/types.d.ts +16 -0
- package/dist/peer/types.d.ts.map +1 -0
- package/dist/peer/types.js +2 -0
- package/dist/peer/types.js.map +1 -0
- package/dist/stats/MetricDefinition.d.ts +23 -0
- package/dist/stats/MetricDefinition.d.ts.map +1 -0
- package/dist/stats/MetricDefinition.js +14 -0
- package/dist/stats/MetricDefinition.js.map +1 -0
- package/dist/stats/Stats.d.ts +23 -0
- package/dist/stats/Stats.d.ts.map +1 -0
- package/dist/stats/Stats.js +354 -0
- package/dist/stats/Stats.js.map +1 -0
- package/dist/stats/Stats.styles.d.ts +2 -0
- package/dist/stats/Stats.styles.d.ts.map +1 -0
- package/dist/stats/Stats.styles.js +60 -0
- package/dist/stats/Stats.styles.js.map +1 -0
- package/dist/stats/StatsRecorder.d.ts +29 -0
- package/dist/stats/StatsRecorder.d.ts.map +1 -0
- package/dist/stats/StatsRecorder.js +151 -0
- package/dist/stats/StatsRecorder.js.map +1 -0
- package/dist/stats/builtins.d.ts +14 -0
- package/dist/stats/builtins.d.ts.map +1 -0
- package/dist/stats/builtins.js +63 -0
- package/dist/stats/builtins.js.map +1 -0
- package/dist/stats/index.d.ts +3 -0
- package/dist/stats/index.d.ts.map +1 -0
- package/dist/stats/index.js +3 -0
- package/dist/stats/index.js.map +1 -0
- package/dist/storage/LocalStorageAdapter.d.ts +28 -0
- package/dist/storage/LocalStorageAdapter.d.ts.map +1 -0
- package/dist/storage/LocalStorageAdapter.js +57 -0
- package/dist/storage/LocalStorageAdapter.js.map +1 -0
- package/dist/storage/MemoryStorageAdapter.d.ts +10 -0
- package/dist/storage/MemoryStorageAdapter.d.ts.map +1 -0
- package/dist/storage/MemoryStorageAdapter.js +13 -0
- package/dist/storage/MemoryStorageAdapter.js.map +1 -0
- package/dist/storage/PersistedState.d.ts +20 -0
- package/dist/storage/PersistedState.d.ts.map +1 -0
- package/dist/storage/PersistedState.js +34 -0
- package/dist/storage/PersistedState.js.map +1 -0
- package/dist/storage/StorageAdapter.d.ts +5 -0
- package/dist/storage/StorageAdapter.d.ts.map +1 -0
- package/dist/storage/StorageAdapter.js +2 -0
- package/dist/storage/StorageAdapter.js.map +1 -0
- package/dist/storage/keys.d.ts +13 -0
- package/dist/storage/keys.d.ts.map +1 -0
- package/dist/storage/keys.js +58 -0
- package/dist/storage/keys.js.map +1 -0
- package/dist/theme/ambientTheme.d.ts +5 -0
- package/dist/theme/ambientTheme.d.ts.map +1 -0
- package/dist/theme/ambientTheme.js +54 -0
- package/dist/theme/ambientTheme.js.map +1 -0
- package/dist/theme/components/DensityControl.d.ts +23 -0
- package/dist/theme/components/DensityControl.d.ts.map +1 -0
- package/dist/theme/components/DensityControl.js +78 -0
- package/dist/theme/components/DensityControl.js.map +1 -0
- package/dist/theme/components/ScopeHost.d.ts +21 -0
- package/dist/theme/components/ScopeHost.d.ts.map +1 -0
- package/dist/theme/components/ScopeHost.js +34 -0
- package/dist/theme/components/ScopeHost.js.map +1 -0
- package/dist/theme/components/ThemeControl.d.ts +23 -0
- package/dist/theme/components/ThemeControl.d.ts.map +1 -0
- package/dist/theme/components/ThemeControl.js +78 -0
- package/dist/theme/components/ThemeControl.js.map +1 -0
- package/dist/theme/components/ThemePreferences.d.ts +34 -0
- package/dist/theme/components/ThemePreferences.d.ts.map +1 -0
- package/dist/theme/components/ThemePreferences.js +151 -0
- package/dist/theme/components/ThemePreferences.js.map +1 -0
- package/dist/theme/font.d.ts +11 -0
- package/dist/theme/font.d.ts.map +1 -0
- package/dist/theme/font.js +50 -0
- package/dist/theme/font.js.map +1 -0
- package/dist/theme/peerColor.d.ts +7 -0
- package/dist/theme/peerColor.d.ts.map +1 -0
- package/dist/theme/peerColor.js +11 -0
- package/dist/theme/peerColor.js.map +1 -0
- package/dist/theme/preferences.d.ts +5 -0
- package/dist/theme/preferences.d.ts.map +1 -0
- package/dist/theme/preferences.js +22 -0
- package/dist/theme/preferences.js.map +1 -0
- package/dist/theme/resolveThemeToken.d.ts +7 -0
- package/dist/theme/resolveThemeToken.d.ts.map +1 -0
- package/dist/theme/resolveThemeToken.js +39 -0
- package/dist/theme/resolveThemeToken.js.map +1 -0
- package/dist/theme/styles/fallbacks.d.ts +54 -0
- package/dist/theme/styles/fallbacks.d.ts.map +1 -0
- package/dist/theme/styles/fallbacks.js +56 -0
- package/dist/theme/styles/fallbacks.js.map +1 -0
- package/dist/theme/styles/hiddenStyles.d.ts +9 -0
- package/dist/theme/styles/hiddenStyles.d.ts.map +1 -0
- package/dist/theme/styles/hiddenStyles.js +15 -0
- package/dist/theme/styles/hiddenStyles.js.map +1 -0
- package/dist/theme/styles/mixins.d.ts +21 -0
- package/dist/theme/styles/mixins.d.ts.map +1 -0
- package/dist/theme/styles/mixins.js +41 -0
- package/dist/theme/styles/mixins.js.map +1 -0
- package/dist/theme/styles/themeStyles.d.ts +5 -0
- package/dist/theme/styles/themeStyles.d.ts.map +1 -0
- package/dist/theme/styles/themeStyles.js +23 -0
- package/dist/theme/styles/themeStyles.js.map +1 -0
- package/dist/theme/tokens/density.d.ts +8 -0
- package/dist/theme/tokens/density.d.ts.map +1 -0
- package/dist/theme/tokens/density.js +29 -0
- package/dist/theme/tokens/density.js.map +1 -0
- package/dist/theme/tokens/ramps.d.ts +5 -0
- package/dist/theme/tokens/ramps.d.ts.map +1 -0
- package/dist/theme/tokens/ramps.js +47 -0
- package/dist/theme/tokens/ramps.js.map +1 -0
- package/dist/theme/tokens/scales.d.ts +5 -0
- package/dist/theme/tokens/scales.d.ts.map +1 -0
- package/dist/theme/tokens/scales.js +63 -0
- package/dist/theme/tokens/scales.js.map +1 -0
- package/dist/theme/tokens/semantic.d.ts +5 -0
- package/dist/theme/tokens/semantic.d.ts.map +1 -0
- package/dist/theme/tokens/semantic.js +208 -0
- package/dist/theme/tokens/semantic.js.map +1 -0
- package/dist/theme/types.d.ts +6 -0
- package/dist/theme/types.d.ts.map +1 -0
- package/dist/theme/types.js +2 -0
- package/dist/theme/types.js.map +1 -0
- package/package.json +75 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { LitElement, type TemplateResult } from "lit";
|
|
2
|
+
import type { ThemeMode } from "../types.ts";
|
|
3
|
+
import "../../controls/ButtonGroup.ts";
|
|
4
|
+
/**
|
|
5
|
+
* A `jolly-button-group` pre-wired to `ThemeMode`, the toggle every gallery
|
|
6
|
+
* and example page rebuilds by hand otherwise. Controlled, like every other
|
|
7
|
+
* element: it emits `jolly-change` and leaves applying `theme` to a scope
|
|
8
|
+
* host to the consumer.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ThemeControl extends LitElement {
|
|
11
|
+
#private;
|
|
12
|
+
static styles: import("lit").CSSResult;
|
|
13
|
+
value: ThemeMode;
|
|
14
|
+
label: string;
|
|
15
|
+
constructor();
|
|
16
|
+
render(): TemplateResult;
|
|
17
|
+
}
|
|
18
|
+
declare global {
|
|
19
|
+
interface HTMLElementTagNameMap {
|
|
20
|
+
"jolly-theme-control": ThemeControl;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=ThemeControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeControl.d.ts","sourceRoot":"","sources":["../../../src/theme/components/ThemeControl.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAGV,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAab,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,+BAA+B,CAAC;AASvC;;;;;GAKG;AACH,qBACa,YAAa,SAAQ,UAAU;;IAC1C,OAAgB,MAAM,0BASpB;IAGM,KAAK,EAAE,SAAS,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;;IASb,MAAM,IAAI,cAAc;CA0BlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,YAAY,CAAC;KACrC;CACF"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
// Import Third-party Dependencies
|
|
11
|
+
import { LitElement, css, html } from "lit";
|
|
12
|
+
import { customElement, property } from "lit/decorators.js";
|
|
13
|
+
// Import Internal Dependencies
|
|
14
|
+
import { emitFieldEvent } from "../../field/events.js";
|
|
15
|
+
import { detailOf } from "../../dom.js";
|
|
16
|
+
// Registers jolly-button-group.
|
|
17
|
+
import "../../controls/ButtonGroup.js";
|
|
18
|
+
// CONSTANTS
|
|
19
|
+
const kOptions = [
|
|
20
|
+
{ value: "light", label: "Light" },
|
|
21
|
+
{ value: "dark", label: "Dark" },
|
|
22
|
+
{ value: "auto", label: "Auto" }
|
|
23
|
+
];
|
|
24
|
+
/**
|
|
25
|
+
* A `jolly-button-group` pre-wired to `ThemeMode`, the toggle every gallery
|
|
26
|
+
* and example page rebuilds by hand otherwise. Controlled, like every other
|
|
27
|
+
* element: it emits `jolly-change` and leaves applying `theme` to a scope
|
|
28
|
+
* host to the consumer.
|
|
29
|
+
*/
|
|
30
|
+
let ThemeControl = class ThemeControl extends LitElement {
|
|
31
|
+
static styles = css `
|
|
32
|
+
:host {
|
|
33
|
+
display: contents;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
jolly-button-group {
|
|
37
|
+
flex: 1 1 96px;
|
|
38
|
+
min-width: 96px;
|
|
39
|
+
}
|
|
40
|
+
`;
|
|
41
|
+
constructor() {
|
|
42
|
+
super();
|
|
43
|
+
this.value = "auto";
|
|
44
|
+
this.label = "Theme";
|
|
45
|
+
}
|
|
46
|
+
render() {
|
|
47
|
+
return html `
|
|
48
|
+
<jolly-button-group
|
|
49
|
+
label=${this.label}
|
|
50
|
+
.options=${kOptions}
|
|
51
|
+
.value=${this.value}
|
|
52
|
+
@jolly-change=${this.#onChange}
|
|
53
|
+
></jolly-button-group>
|
|
54
|
+
`;
|
|
55
|
+
}
|
|
56
|
+
#onChange(event) {
|
|
57
|
+
const detail = detailOf(event);
|
|
58
|
+
if (detail === null) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this.value = detail.value;
|
|
62
|
+
emitFieldEvent(this, "jolly-change", detail.value);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
__decorate([
|
|
66
|
+
property({ attribute: false }),
|
|
67
|
+
__metadata("design:type", String)
|
|
68
|
+
], ThemeControl.prototype, "value", void 0);
|
|
69
|
+
__decorate([
|
|
70
|
+
property({ type: String }),
|
|
71
|
+
__metadata("design:type", String)
|
|
72
|
+
], ThemeControl.prototype, "label", void 0);
|
|
73
|
+
ThemeControl = __decorate([
|
|
74
|
+
customElement("jolly-theme-control"),
|
|
75
|
+
__metadata("design:paramtypes", [])
|
|
76
|
+
], ThemeControl);
|
|
77
|
+
export { ThemeControl };
|
|
78
|
+
//# sourceMappingURL=ThemeControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeControl.js","sourceRoot":"","sources":["../../../src/theme/components/ThemeControl.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kCAAkC;AAClC,OAAO,EACL,UAAU,EACV,GAAG,EACH,IAAI,EAEL,MAAM,KAAK,CAAC;AACb,OAAO,EACL,aAAa,EACb,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAE3B,+BAA+B;AAC/B,OAAO,EACL,cAAc,EAEf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAIxC,gCAAgC;AAChC,OAAO,+BAA+B,CAAC;AAEvC,YAAY;AACZ,MAAM,QAAQ,GAA6B;IACzC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAClC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;CACjC,CAAC;AAEF;;;;;GAKG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU;IAC1C,MAAM,CAAU,MAAM,GAAG,GAAG,CAAA;;;;;;;;;GAS3B,CAAC;IAQF;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IACvB,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAA;;gBAEC,IAAI,CAAC,KAAK;mBACP,QAAQ;iBACV,IAAI,CAAC,KAAK;wBACH,IAAI,CAAC,SAAS;;KAEjC,CAAC;IACJ,CAAC;IAED,SAAS,CACP,KAAY;QAEZ,MAAM,MAAM,GAAG,QAAQ,CAA+B,KAAK,CAAC,CAAC;QAC7D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,cAAc,CACZ,IAAI,EACJ,cAAc,EACd,MAAM,CAAC,KAAK,CACb,CAAC;IACJ,CAAC;;AArCO;IADP,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;2CACN;AAGjB;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2CACL;AAhBX,YAAY;IADxB,aAAa,CAAC,qBAAqB,CAAC;;GACxB,YAAY,CAmDxB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { LitElement, type TemplateResult } from "lit";
|
|
2
|
+
import type { StorageAdapter } from "../../storage/StorageAdapter.ts";
|
|
3
|
+
import type { Density, ThemeMode } from "../types.ts";
|
|
4
|
+
import "./DensityControl.ts";
|
|
5
|
+
import "./ThemeControl.ts";
|
|
6
|
+
export type ThemePreferencesLayout = "inline" | "stack";
|
|
7
|
+
/**
|
|
8
|
+
* Persists and applies a theme and density pair to a scope host.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ThemePreferences extends LitElement {
|
|
11
|
+
#private;
|
|
12
|
+
static styles: import("lit").CSSResult;
|
|
13
|
+
layout: ThemePreferencesLayout;
|
|
14
|
+
target: HTMLElement | null;
|
|
15
|
+
storageKey: string;
|
|
16
|
+
storage: StorageAdapter;
|
|
17
|
+
defaultTheme: ThemeMode;
|
|
18
|
+
defaultDensity: Density;
|
|
19
|
+
constructor();
|
|
20
|
+
connectedCallback(): void;
|
|
21
|
+
/**
|
|
22
|
+
* A consumer sets `target` imperatively when it lives outside this
|
|
23
|
+
* element's own tree (so `.closest("jolly-scope")` can't find it) — most
|
|
24
|
+
* often after both elements exist, which is later than `connectedCallback`.
|
|
25
|
+
*/
|
|
26
|
+
protected updated(changed: Map<PropertyKey, unknown>): void;
|
|
27
|
+
render(): TemplateResult;
|
|
28
|
+
}
|
|
29
|
+
declare global {
|
|
30
|
+
interface HTMLElementTagNameMap {
|
|
31
|
+
"jolly-theme-preferences": ThemePreferences;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=ThemePreferences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemePreferences.d.ts","sourceRoot":"","sources":["../../../src/theme/components/ThemePreferences.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAGV,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAWb,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACV,MAAM,aAAa,CAAC;AAQrB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAM3B,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExD;;GAEG;AACH,qBACa,gBAAiB,SAAQ,UAAU;;IAC9C,OAAgB,MAAM,0BASpB;IAMM,MAAM,EAAE,sBAAsB,CAAC;IAG/B,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAM3B,UAAU,EAAE,MAAM,CAAC;IAGnB,OAAO,EAAE,cAAc,CAAC;IAGxB,YAAY,EAAE,SAAS,CAAC;IAGxB,cAAc,EAAE,OAAO,CAAC;;IAavB,iBAAiB,IAAI,IAAI;IAKlC;;;;OAIG;cACgB,OAAO,CACxB,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GACjC,IAAI;IAME,MAAM,IAAI,cAAc;CAsFlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,yBAAyB,EAAE,gBAAgB,CAAC;KAC7C;CACF"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
// Import Third-party Dependencies
|
|
11
|
+
import { LitElement, css, html } from "lit";
|
|
12
|
+
import { customElement, property } from "lit/decorators.js";
|
|
13
|
+
// Import Internal Dependencies
|
|
14
|
+
import { detailOf } from "../../dom.js";
|
|
15
|
+
import { LocalStorageAdapter } from "../../storage/LocalStorageAdapter.js";
|
|
16
|
+
import { applyAppearance, resolveDensityPreference, resolveThemePreference } from "../preferences.js";
|
|
17
|
+
// Registers the composed controls.
|
|
18
|
+
import "./DensityControl.js";
|
|
19
|
+
import "./ThemeControl.js";
|
|
20
|
+
// CONSTANTS
|
|
21
|
+
const kThemeSuffix = ":theme";
|
|
22
|
+
const kDensitySuffix = ":density";
|
|
23
|
+
/**
|
|
24
|
+
* Persists and applies a theme and density pair to a scope host.
|
|
25
|
+
*/
|
|
26
|
+
let ThemePreferences = class ThemePreferences extends LitElement {
|
|
27
|
+
static styles = css `
|
|
28
|
+
:host {
|
|
29
|
+
display: contents;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
:host([layout="stack"]) {
|
|
33
|
+
display: grid;
|
|
34
|
+
gap: var(--jolly-row-gap, 4px);
|
|
35
|
+
}
|
|
36
|
+
`;
|
|
37
|
+
constructor() {
|
|
38
|
+
super();
|
|
39
|
+
this.layout = "inline";
|
|
40
|
+
this.target = null;
|
|
41
|
+
this.storageKey = "";
|
|
42
|
+
this.storage = new LocalStorageAdapter();
|
|
43
|
+
this.defaultTheme = "auto";
|
|
44
|
+
this.defaultDensity = "default";
|
|
45
|
+
}
|
|
46
|
+
connectedCallback() {
|
|
47
|
+
super.connectedCallback();
|
|
48
|
+
this.#applyPreferences();
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* A consumer sets `target` imperatively when it lives outside this
|
|
52
|
+
* element's own tree (so `.closest("jolly-scope")` can't find it) — most
|
|
53
|
+
* often after both elements exist, which is later than `connectedCallback`.
|
|
54
|
+
*/
|
|
55
|
+
updated(changed) {
|
|
56
|
+
if (changed.has("target")) {
|
|
57
|
+
this.#applyPreferences();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
render() {
|
|
61
|
+
return html `
|
|
62
|
+
<jolly-theme-control
|
|
63
|
+
.value=${this.#theme()}
|
|
64
|
+
@jolly-change=${this.#onThemeChange}
|
|
65
|
+
></jolly-theme-control>
|
|
66
|
+
<jolly-density-control
|
|
67
|
+
.value=${this.#density()}
|
|
68
|
+
@jolly-change=${this.#onDensityChange}
|
|
69
|
+
></jolly-density-control>
|
|
70
|
+
`;
|
|
71
|
+
}
|
|
72
|
+
#applyPreferences() {
|
|
73
|
+
const target = this.#target();
|
|
74
|
+
if (target === null) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
applyAppearance(target, this.#theme(), this.#density());
|
|
78
|
+
}
|
|
79
|
+
#target() {
|
|
80
|
+
return this.target ?? this.closest("jolly-scope");
|
|
81
|
+
}
|
|
82
|
+
#theme() {
|
|
83
|
+
const value = this.#stored(kThemeSuffix);
|
|
84
|
+
return resolveThemePreference(value, this.defaultTheme);
|
|
85
|
+
}
|
|
86
|
+
#density() {
|
|
87
|
+
const value = this.#stored(kDensitySuffix);
|
|
88
|
+
return resolveDensityPreference(value, this.defaultDensity);
|
|
89
|
+
}
|
|
90
|
+
#stored(suffix) {
|
|
91
|
+
return this.storageKey === "" ? null :
|
|
92
|
+
this.storage.get(`${this.storageKey}${suffix}`);
|
|
93
|
+
}
|
|
94
|
+
#onThemeChange = (event) => {
|
|
95
|
+
const detail = detailOf(event);
|
|
96
|
+
if (detail === null) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
this.#store(kThemeSuffix, detail.value);
|
|
100
|
+
this.#applyPreferences();
|
|
101
|
+
};
|
|
102
|
+
#onDensityChange = (event) => {
|
|
103
|
+
const detail = detailOf(event);
|
|
104
|
+
if (detail === null) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
this.#store(kDensitySuffix, detail.value);
|
|
108
|
+
this.#applyPreferences();
|
|
109
|
+
};
|
|
110
|
+
#store(suffix, value) {
|
|
111
|
+
if (this.storageKey !== "") {
|
|
112
|
+
this.storage.set(`${this.storageKey}${suffix}`, value);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
__decorate([
|
|
117
|
+
property({
|
|
118
|
+
type: String,
|
|
119
|
+
reflect: true
|
|
120
|
+
}),
|
|
121
|
+
__metadata("design:type", String)
|
|
122
|
+
], ThemePreferences.prototype, "layout", void 0);
|
|
123
|
+
__decorate([
|
|
124
|
+
property({ attribute: false }),
|
|
125
|
+
__metadata("design:type", Object)
|
|
126
|
+
], ThemePreferences.prototype, "target", void 0);
|
|
127
|
+
__decorate([
|
|
128
|
+
property({
|
|
129
|
+
type: String,
|
|
130
|
+
attribute: "storage-key"
|
|
131
|
+
}),
|
|
132
|
+
__metadata("design:type", String)
|
|
133
|
+
], ThemePreferences.prototype, "storageKey", void 0);
|
|
134
|
+
__decorate([
|
|
135
|
+
property({ attribute: false }),
|
|
136
|
+
__metadata("design:type", Object)
|
|
137
|
+
], ThemePreferences.prototype, "storage", void 0);
|
|
138
|
+
__decorate([
|
|
139
|
+
property({ attribute: false }),
|
|
140
|
+
__metadata("design:type", String)
|
|
141
|
+
], ThemePreferences.prototype, "defaultTheme", void 0);
|
|
142
|
+
__decorate([
|
|
143
|
+
property({ attribute: false }),
|
|
144
|
+
__metadata("design:type", String)
|
|
145
|
+
], ThemePreferences.prototype, "defaultDensity", void 0);
|
|
146
|
+
ThemePreferences = __decorate([
|
|
147
|
+
customElement("jolly-theme-preferences"),
|
|
148
|
+
__metadata("design:paramtypes", [])
|
|
149
|
+
], ThemePreferences);
|
|
150
|
+
export { ThemePreferences };
|
|
151
|
+
//# sourceMappingURL=ThemePreferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemePreferences.js","sourceRoot":"","sources":["../../../src/theme/components/ThemePreferences.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The raw face, for consumers registering it themselves.
|
|
3
|
+
*/
|
|
4
|
+
export declare const fontFaceCss: string;
|
|
5
|
+
/**
|
|
6
|
+
* Font faces declared inside a shadow root are ignored, so the face has to be
|
|
7
|
+
* registered against the document. Idempotent, and a no-op wherever there is no
|
|
8
|
+
* document or no constructable stylesheet support (tests, SSR).
|
|
9
|
+
*/
|
|
10
|
+
export declare function ensureFontFace(): void;
|
|
11
|
+
//# sourceMappingURL=font.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"font.d.ts","sourceRoot":"","sources":["../../src/theme/font.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,eAAO,MAAM,WAAW,QASvB,CAAC;AAIF;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAgBrC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// CONSTANTS
|
|
2
|
+
/**
|
|
3
|
+
* Roboto Mono v31, weight 400, latin subset. Apache-2.0, see NOTICE.
|
|
4
|
+
*
|
|
5
|
+
* Inlined rather than shipped as a dist asset because the package builds with
|
|
6
|
+
* bare "tsc" and has no way to rewrite an asset URL for a consumer bundler.
|
|
7
|
+
* One weight only: a second would roughly double these bytes, and the design
|
|
8
|
+
* expresses hierarchy through tint and letter-spacing instead of boldness.
|
|
9
|
+
*/
|
|
10
|
+
// eslint-disable-next-line @stylistic/max-len
|
|
11
|
+
const kRobotoMonoLatin = "data:font/woff2;base64,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";
|
|
12
|
+
const kUnicodeRange = [
|
|
13
|
+
"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC",
|
|
14
|
+
"U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193",
|
|
15
|
+
"U+2212, U+2215, U+FEFF, U+FFFD"
|
|
16
|
+
].join(", ");
|
|
17
|
+
/**
|
|
18
|
+
* The raw face, for consumers registering it themselves.
|
|
19
|
+
*/
|
|
20
|
+
export const fontFaceCss = `
|
|
21
|
+
@font-face {
|
|
22
|
+
font-family: "Roboto Mono";
|
|
23
|
+
font-style: normal;
|
|
24
|
+
font-weight: 400;
|
|
25
|
+
font-display: swap;
|
|
26
|
+
src: url(${kRobotoMonoLatin}) format("woff2");
|
|
27
|
+
unicode-range: ${kUnicodeRange};
|
|
28
|
+
}
|
|
29
|
+
`;
|
|
30
|
+
let registered = false;
|
|
31
|
+
/**
|
|
32
|
+
* Font faces declared inside a shadow root are ignored, so the face has to be
|
|
33
|
+
* registered against the document. Idempotent, and a no-op wherever there is no
|
|
34
|
+
* document or no constructable stylesheet support (tests, SSR).
|
|
35
|
+
*/
|
|
36
|
+
export function ensureFontFace() {
|
|
37
|
+
if (registered ||
|
|
38
|
+
typeof document === "undefined" ||
|
|
39
|
+
typeof CSSStyleSheet === "undefined") {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
registered = true;
|
|
43
|
+
const sheet = new CSSStyleSheet();
|
|
44
|
+
sheet.replaceSync(fontFaceCss);
|
|
45
|
+
document.adoptedStyleSheets = [
|
|
46
|
+
...document.adoptedStyleSheets,
|
|
47
|
+
sheet
|
|
48
|
+
];
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=font.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"font.js","sourceRoot":"","sources":["../../src/theme/font.ts"],"names":[],"mappings":"AAAA,YAAY;AACZ;;;;;;;GAOG;AACH,8CAA8C;AAC9C,MAAM,gBAAgB,GAAG,qihBAAqihB,CAAC;AAE/jhB,MAAM,aAAa,GAAG;IACpB,uEAAuE;IACvE,qEAAqE;IACrE,gCAAgC;CACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;eAMZ,gBAAgB;qBACV,aAAa;;CAEjC,CAAC;AAEF,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,IACE,UAAU;QACV,OAAO,QAAQ,KAAK,WAAW;QAC/B,OAAO,aAAa,KAAK,WAAW,EACpC,CAAC;QACD,OAAO;IACT,CAAC;IACD,UAAU,GAAG,IAAI,CAAC;IAElB,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;IAClC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,GAAG;QAC5B,GAAG,QAAQ,CAAC,kBAAkB;QAC9B,KAAK;KACN,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peerColor.d.ts","sourceRoot":"","sources":["../../src/theme/peerColor.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,GACZ,MAAM,CAER"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Import Third-party Dependencies
|
|
2
|
+
import { goldenAngleColor } from "@jolly-pixel/color";
|
|
3
|
+
/**
|
|
4
|
+
* Rotates hues by the golden angle and returns a cross-renderer CSS color.
|
|
5
|
+
*
|
|
6
|
+
* Hex output is also accepted by Three's Color parser.
|
|
7
|
+
*/
|
|
8
|
+
export function peerColor(index) {
|
|
9
|
+
return goldenAngleColor(index);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=peerColor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peerColor.js","sourceRoot":"","sources":["../../src/theme/peerColor.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CACvB,KAAa;IAEb,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Density, ThemeMode } from "./types.ts";
|
|
2
|
+
export declare function resolveThemePreference(value: string | null, fallback: ThemeMode): ThemeMode;
|
|
3
|
+
export declare function resolveDensityPreference(value: string | null, fallback: Density): Density;
|
|
4
|
+
export declare function applyAppearance(target: HTMLElement, theme: ThemeMode, density: Density): void;
|
|
5
|
+
//# sourceMappingURL=preferences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../src/theme/preferences.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,QAAQ,EAAE,SAAS,GAClB,SAAS,CAEX;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAET;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,OAAO,GACf,IAAI,CAQN"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function resolveThemePreference(value, fallback) {
|
|
2
|
+
return isThemeMode(value) ? value : fallback;
|
|
3
|
+
}
|
|
4
|
+
export function resolveDensityPreference(value, fallback) {
|
|
5
|
+
return isDensity(value) ? value : fallback;
|
|
6
|
+
}
|
|
7
|
+
export function applyAppearance(target, theme, density) {
|
|
8
|
+
if (theme === "auto") {
|
|
9
|
+
target.removeAttribute("theme");
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
target.setAttribute("theme", theme);
|
|
13
|
+
}
|
|
14
|
+
target.setAttribute("density", density);
|
|
15
|
+
}
|
|
16
|
+
function isThemeMode(value) {
|
|
17
|
+
return value === "light" || value === "dark" || value === "auto";
|
|
18
|
+
}
|
|
19
|
+
function isDensity(value) {
|
|
20
|
+
return value === "compact" || value === "default" || value === "comfortable";
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=preferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../src/theme/preferences.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,sBAAsB,CACpC,KAAoB,EACpB,QAAmB;IAEnB,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAAoB,EACpB,QAAiB;IAEjB,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAAmB,EACnB,KAAgB,EAChB,OAAgB;IAEhB,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;SACI,CAAC;QACJ,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAClB,KAAoB;IAEpB,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,CAAC;AACnE,CAAC;AAED,SAAS,SAAS,CAChB,KAAoB;IAEpB,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,aAAa,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves a computed theme token from a host, with an optional fallback.
|
|
3
|
+
*/
|
|
4
|
+
export declare function resolveThemeToken(host: HTMLElement, name: string, fallback?: string): string;
|
|
5
|
+
/** Resolves a theme color to a canvas-compatible computed value. */
|
|
6
|
+
export declare function resolveThemeColor(host: HTMLElement, name: string, fallback?: string): string;
|
|
7
|
+
//# sourceMappingURL=resolveThemeToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveThemeToken.d.ts","sourceRoot":"","sources":["../../src/theme/resolveThemeToken.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAK,GACZ,MAAM,CAMR;AAED,oEAAoE;AACpE,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAK,GACZ,MAAM,CAwBR"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves a computed theme token from a host, with an optional fallback.
|
|
3
|
+
*/
|
|
4
|
+
export function resolveThemeToken(host, name, fallback = "") {
|
|
5
|
+
const value = getComputedStyle(host)
|
|
6
|
+
.getPropertyValue(name)
|
|
7
|
+
.trim();
|
|
8
|
+
return value === "" ? fallback : value;
|
|
9
|
+
}
|
|
10
|
+
/** Resolves a theme color to a canvas-compatible computed value. */
|
|
11
|
+
export function resolveThemeColor(host, name, fallback = "") {
|
|
12
|
+
const value = resolveThemeToken(host, name, fallback);
|
|
13
|
+
if (value === fallback || !needsColorResolution(value)) {
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
/*
|
|
17
|
+
* A light-DOM child appended straight to `host` is unrendered (empty
|
|
18
|
+
* computed style) when the host's shadow root has no default `<slot>` to
|
|
19
|
+
* assign it to — most components here render a fixed template with none.
|
|
20
|
+
* The shadow root itself is always part of the flat tree and inherits
|
|
21
|
+
* `:host` custom properties the same way, so the probe goes there instead.
|
|
22
|
+
*/
|
|
23
|
+
const probe = host.ownerDocument.createElement("span");
|
|
24
|
+
probe.style.position = "absolute";
|
|
25
|
+
probe.style.visibility = "hidden";
|
|
26
|
+
probe.style.pointerEvents = "none";
|
|
27
|
+
probe.style.color = `var(${name})`;
|
|
28
|
+
const probeParent = host.shadowRoot ?? host;
|
|
29
|
+
probeParent.append(probe);
|
|
30
|
+
const resolved = getComputedStyle(probe).color.trim();
|
|
31
|
+
probe.remove();
|
|
32
|
+
return resolved === "" ? fallback : resolved;
|
|
33
|
+
}
|
|
34
|
+
function needsColorResolution(value) {
|
|
35
|
+
return value.includes("var(") ||
|
|
36
|
+
value.includes("light-dark(") ||
|
|
37
|
+
value.includes("color-mix(");
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=resolveThemeToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveThemeToken.js","sourceRoot":"","sources":["../../src/theme/resolveThemeToken.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAiB,EACjB,IAAY,EACZ,QAAQ,GAAG,EAAE;IAEb,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC;SACjC,gBAAgB,CAAC,IAAI,CAAC;SACtB,IAAI,EAAE,CAAC;IAEV,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AACzC,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,iBAAiB,CAC/B,IAAiB,EACjB,IAAY,EACZ,QAAQ,GAAG,EAAE;IAEb,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,KAAK,KAAK,QAAQ,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACvD,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IAClC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAClC,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;IACnC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,IAAI,GAAG,CAAC;IACnC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;IAC5C,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACtD,KAAK,CAAC,MAAM,EAAE,CAAC;IAEf,OAAO,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC/C,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAa;IAEb,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3B,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC7B,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Usage-site fallbacks for essential theme tokens.
|
|
3
|
+
*
|
|
4
|
+
* These only apply when no scope host declared the tokens at all, which is
|
|
5
|
+
* already a degraded state, so `controlBg` is a mode-agnostic translucent grey
|
|
6
|
+
* rather than a value tuned for either scheme.
|
|
7
|
+
*/
|
|
8
|
+
export declare const kFallback: {
|
|
9
|
+
/**
|
|
10
|
+
* --jolly-neutral-900
|
|
11
|
+
*/
|
|
12
|
+
readonly text: import("lit").CSSResult;
|
|
13
|
+
/**
|
|
14
|
+
* --jolly-control-bg
|
|
15
|
+
*/
|
|
16
|
+
readonly controlBg: import("lit").CSSResult;
|
|
17
|
+
/**
|
|
18
|
+
* --jolly-folder-header-bg
|
|
19
|
+
*/
|
|
20
|
+
readonly folderHeaderBg: import("lit").CSSResult;
|
|
21
|
+
/**
|
|
22
|
+
* --jolly-folder-header-bg-hover
|
|
23
|
+
*/
|
|
24
|
+
readonly folderHeaderBgHover: import("lit").CSSResult;
|
|
25
|
+
/**
|
|
26
|
+
* --jolly-folder-action-fg
|
|
27
|
+
*/
|
|
28
|
+
readonly folderActionFg: import("lit").CSSResult;
|
|
29
|
+
/**
|
|
30
|
+
* --jolly-folder-action-bg
|
|
31
|
+
*/
|
|
32
|
+
readonly folderActionBg: import("lit").CSSResult;
|
|
33
|
+
/**
|
|
34
|
+
* --jolly-folder-action-danger-fg
|
|
35
|
+
*/
|
|
36
|
+
readonly folderActionDangerFg: import("lit").CSSResult;
|
|
37
|
+
/**
|
|
38
|
+
* --jolly-folder-action-danger-bg
|
|
39
|
+
*/
|
|
40
|
+
readonly folderActionDangerBg: import("lit").CSSResult;
|
|
41
|
+
/**
|
|
42
|
+
* --jolly-pane-header-bg
|
|
43
|
+
*/
|
|
44
|
+
readonly paneHeaderBg: import("lit").CSSResult;
|
|
45
|
+
/**
|
|
46
|
+
* --jolly-neutral-500
|
|
47
|
+
*/
|
|
48
|
+
readonly borderStrong: import("lit").CSSResult;
|
|
49
|
+
/**
|
|
50
|
+
* --jolly-accent-600
|
|
51
|
+
*/
|
|
52
|
+
readonly focusRing: import("lit").CSSResult;
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=fallbacks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fallbacks.d.ts","sourceRoot":"","sources":["../../../src/theme/styles/fallbacks.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,eAAO,MAAM,SAAS;IACpB;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEK,CAAC"}
|