@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,86 @@
|
|
|
1
|
+
// Import Third-party Dependencies
|
|
2
|
+
import { css } from "lit";
|
|
3
|
+
// Import Internal Dependencies
|
|
4
|
+
import { kFallback } from "../theme/styles/fallbacks.js";
|
|
5
|
+
import { fillTransition } from "../theme/styles/mixins.js";
|
|
6
|
+
export const buttonStyles = css `
|
|
7
|
+
:host {
|
|
8
|
+
display: inline-flex;
|
|
9
|
+
font-family: var(--jolly-font-family, ui-monospace, monospace);
|
|
10
|
+
font-size: var(--jolly-font-size, 11px);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
button {
|
|
14
|
+
display: inline-flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
justify-content: center;
|
|
17
|
+
gap: var(--jolly-space-1, 4px);
|
|
18
|
+
width: 100%;
|
|
19
|
+
height: var(--jolly-control-height, 20px);
|
|
20
|
+
padding: 0 var(--jolly-space-2, 8px);
|
|
21
|
+
border: 0;
|
|
22
|
+
border-radius: var(--jolly-radius-sm, 2px);
|
|
23
|
+
background: var(--jolly-control-bg, ${kFallback.controlBg});
|
|
24
|
+
color: var(--jolly-text, ${kFallback.text});
|
|
25
|
+
font: inherit;
|
|
26
|
+
white-space: nowrap;
|
|
27
|
+
cursor: pointer;
|
|
28
|
+
${fillTransition}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
button:hover:not(:disabled) {
|
|
32
|
+
background: var(--jolly-control-bg-hover);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
button:active:not(:disabled) {
|
|
36
|
+
background: var(--jolly-control-bg-active);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* Focus is a fill step, which has to beat hover because they share a channel. */
|
|
40
|
+
button:focus-visible {
|
|
41
|
+
background: var(--jolly-control-bg-focus);
|
|
42
|
+
outline: none;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
:host([variant="accent"]) button {
|
|
46
|
+
background: var(--jolly-accent-fill);
|
|
47
|
+
color: var(--jolly-text-on-fill);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
:host([variant="accent"]) button:hover:not(:disabled) {
|
|
51
|
+
background: var(--jolly-accent-fill-hover);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
:host([variant="accent"]) button:focus-visible,
|
|
55
|
+
:host([variant="accent"]) button:active:not(:disabled) {
|
|
56
|
+
background: var(--jolly-accent-fill-focus);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
:host([variant="danger"]) button {
|
|
60
|
+
background: var(--jolly-invalid-bg);
|
|
61
|
+
color: var(--jolly-danger);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
:host([variant="danger"]) button:hover:not(:disabled) {
|
|
65
|
+
background: var(--jolly-invalid-bg-hover);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
:host([variant="danger"]) button:focus-visible,
|
|
69
|
+
:host([variant="danger"]) button:active:not(:disabled) {
|
|
70
|
+
background: var(--jolly-invalid-bg-focus);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
:host([disabled]) button {
|
|
74
|
+
opacity: 0.5;
|
|
75
|
+
cursor: default;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/*
|
|
79
|
+
* Icon-only buttons use a square target.
|
|
80
|
+
*/
|
|
81
|
+
:host([icon-only]) button {
|
|
82
|
+
width: var(--jolly-icon-button-size, 32px);
|
|
83
|
+
padding: 0;
|
|
84
|
+
}
|
|
85
|
+
`;
|
|
86
|
+
//# sourceMappingURL=Button.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.styles.js","sourceRoot":"","sources":["../../src/controls/Button.styles.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,+BAA+B;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;0CAiBW,SAAS,CAAC,SAAS;+BAC9B,SAAS,CAAC,IAAI;;;;MAIvC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDnB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type TemplateResult } from "lit";
|
|
2
|
+
import { JollyField } from "../field/JollyField.ts";
|
|
3
|
+
import type { JollyOption } from "./types.ts";
|
|
4
|
+
export interface ButtonGroupDefaults {
|
|
5
|
+
layout: "segmented" | "grid";
|
|
6
|
+
columns: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Segmented or grid selector with roving tab navigation.
|
|
10
|
+
*/
|
|
11
|
+
export declare class ButtonGroup<TValue> extends JollyField<TValue> {
|
|
12
|
+
#private;
|
|
13
|
+
static readonly Defaults: ButtonGroupDefaults;
|
|
14
|
+
static styles: import("lit").CSSResult[];
|
|
15
|
+
options: JollyOption<TValue>[];
|
|
16
|
+
layout: "segmented" | "grid";
|
|
17
|
+
columns: number;
|
|
18
|
+
constructor();
|
|
19
|
+
protected renderValue(): TemplateResult;
|
|
20
|
+
}
|
|
21
|
+
declare global {
|
|
22
|
+
interface HTMLElementTagNameMap {
|
|
23
|
+
"jolly-button-group": ButtonGroup<unknown>;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=ButtonGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../src/controls/ButtonGroup.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAOb,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAeD;;GAEG;AACH,qBACa,WAAW,CAAC,MAAM,CAAE,SAAQ,UAAU,CAAC,MAAM,CAAC;;IACzD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAM3C;IAEF,OAAgB,MAAM,4BAGpB;IAGM,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IAG/B,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC;IAG7B,OAAO,EAAE,MAAM,CAAC;;IAUxB,SAAS,CAAC,WAAW,IAAI,cAAc;CA+HxC;AAQD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;KAC5C;CACF"}
|
|
@@ -0,0 +1,159 @@
|
|
|
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
|
+
var ButtonGroup_1;
|
|
11
|
+
// Import Third-party Dependencies
|
|
12
|
+
import { html, nothing } from "lit";
|
|
13
|
+
import { customElement, property } from "lit/decorators.js";
|
|
14
|
+
// Import Internal Dependencies
|
|
15
|
+
import { JollyField } from "../field/JollyField.js";
|
|
16
|
+
import { buttonGroupStyles } from "./ButtonGroup.styles.js";
|
|
17
|
+
import { nextEnabledIndex } from "./roving.js";
|
|
18
|
+
// CONSTANTS
|
|
19
|
+
const kArrowSteps = {
|
|
20
|
+
ArrowRight: 1,
|
|
21
|
+
ArrowDown: 1,
|
|
22
|
+
ArrowLeft: -1,
|
|
23
|
+
ArrowUp: -1
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Sentinel for keys outside arrow-key navigation.
|
|
27
|
+
*/
|
|
28
|
+
const kNoStep = 0;
|
|
29
|
+
/**
|
|
30
|
+
* Segmented or grid selector with roving tab navigation.
|
|
31
|
+
*/
|
|
32
|
+
let ButtonGroup = class ButtonGroup extends JollyField {
|
|
33
|
+
static { ButtonGroup_1 = this; }
|
|
34
|
+
static Defaults = {
|
|
35
|
+
layout: "segmented",
|
|
36
|
+
/**
|
|
37
|
+
* Zero columns uses the intrinsic grid layout.
|
|
38
|
+
*/
|
|
39
|
+
columns: 0
|
|
40
|
+
};
|
|
41
|
+
static styles = [
|
|
42
|
+
...JollyField.styles,
|
|
43
|
+
buttonGroupStyles
|
|
44
|
+
];
|
|
45
|
+
constructor() {
|
|
46
|
+
super();
|
|
47
|
+
this.options = [];
|
|
48
|
+
this.layout = ButtonGroup_1.Defaults.layout;
|
|
49
|
+
this.columns = ButtonGroup_1.Defaults.columns;
|
|
50
|
+
}
|
|
51
|
+
renderValue() {
|
|
52
|
+
const columns = this.layout === "grid" && this.columns > 0
|
|
53
|
+
? `grid-template-columns: repeat(${this.columns}, 1fr)`
|
|
54
|
+
: nothing;
|
|
55
|
+
return html `
|
|
56
|
+
<div
|
|
57
|
+
class="group"
|
|
58
|
+
role="radiogroup"
|
|
59
|
+
aria-label=${this.label || this.getAttribute("aria-label") || nothing}
|
|
60
|
+
aria-readonly=${this.readonlyAria}
|
|
61
|
+
aria-disabled=${this.lockedAria}
|
|
62
|
+
aria-description=${this.lockDescription}
|
|
63
|
+
style=${columns}
|
|
64
|
+
@keydown=${this.#onKeyDown}
|
|
65
|
+
>
|
|
66
|
+
${this.options.map((option, index) => this.#renderOption(option, index))}
|
|
67
|
+
</div>
|
|
68
|
+
`;
|
|
69
|
+
}
|
|
70
|
+
#renderOption(option, index) {
|
|
71
|
+
const selected = this.#selectedIndex === index;
|
|
72
|
+
return html `
|
|
73
|
+
<button
|
|
74
|
+
type="button"
|
|
75
|
+
role="radio"
|
|
76
|
+
class="segment"
|
|
77
|
+
data-index=${index}
|
|
78
|
+
aria-checked=${selected ? "true" : "false"}
|
|
79
|
+
title=${option.label}
|
|
80
|
+
tabindex=${this.#tabIndexFor(index)}
|
|
81
|
+
?disabled=${this.disabled || option.disabled === true}
|
|
82
|
+
@click=${() => this.#select(index)}
|
|
83
|
+
>
|
|
84
|
+
${option.icon === undefined
|
|
85
|
+
? nothing
|
|
86
|
+
: html `<jolly-icon name=${option.icon}></jolly-icon>`}
|
|
87
|
+
<span class="segment-label">${option.label}</span>
|
|
88
|
+
</button>
|
|
89
|
+
`;
|
|
90
|
+
}
|
|
91
|
+
get #selectedIndex() {
|
|
92
|
+
const current = this.concreteValue;
|
|
93
|
+
if (current === undefined) {
|
|
94
|
+
return -1;
|
|
95
|
+
}
|
|
96
|
+
return this.options.findIndex((option) => this.valuesEqual(option.value, current));
|
|
97
|
+
}
|
|
98
|
+
#tabIndexFor(index) {
|
|
99
|
+
const selected = this.#selectedIndex;
|
|
100
|
+
if (selected !== -1) {
|
|
101
|
+
return selected === index ? 0 : -1;
|
|
102
|
+
}
|
|
103
|
+
const first = this.options.findIndex((option) => option.disabled !== true);
|
|
104
|
+
return first === index ? 0 : -1;
|
|
105
|
+
}
|
|
106
|
+
#onKeyDown(event) {
|
|
107
|
+
const step = arrowStep(event.key);
|
|
108
|
+
if (step === kNoStep) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const from = this.#selectedIndex === -1 ? 0 : this.#selectedIndex;
|
|
112
|
+
const next = nextEnabledIndex(this.options.map((option) => option.disabled !== true), from, step);
|
|
113
|
+
if (next === -1) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
event.preventDefault();
|
|
117
|
+
this.#select(next);
|
|
118
|
+
this.#focusSegment(next);
|
|
119
|
+
}
|
|
120
|
+
#focusSegment(index) {
|
|
121
|
+
// Wait for the target's roving tabindex to render.
|
|
122
|
+
void this.updateComplete.then(() => {
|
|
123
|
+
const segment = this.renderRoot.querySelector(`.segment[data-index="${index}"]`);
|
|
124
|
+
if (segment instanceof HTMLElement) {
|
|
125
|
+
segment.focus();
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
#select(index) {
|
|
130
|
+
const option = this.options[index];
|
|
131
|
+
if (option === undefined ||
|
|
132
|
+
option.disabled === true ||
|
|
133
|
+
!this.editable) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
this.emitChange(option.value);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
__decorate([
|
|
140
|
+
property({ attribute: false }),
|
|
141
|
+
__metadata("design:type", Array)
|
|
142
|
+
], ButtonGroup.prototype, "options", void 0);
|
|
143
|
+
__decorate([
|
|
144
|
+
property({ type: String, reflect: true }),
|
|
145
|
+
__metadata("design:type", String)
|
|
146
|
+
], ButtonGroup.prototype, "layout", void 0);
|
|
147
|
+
__decorate([
|
|
148
|
+
property({ type: Number }),
|
|
149
|
+
__metadata("design:type", Number)
|
|
150
|
+
], ButtonGroup.prototype, "columns", void 0);
|
|
151
|
+
ButtonGroup = ButtonGroup_1 = __decorate([
|
|
152
|
+
customElement("jolly-button-group"),
|
|
153
|
+
__metadata("design:paramtypes", [])
|
|
154
|
+
], ButtonGroup);
|
|
155
|
+
export { ButtonGroup };
|
|
156
|
+
function arrowStep(key) {
|
|
157
|
+
return kArrowSteps[key] ?? kNoStep;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=ButtonGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroup.js","sourceRoot":"","sources":["../../src/controls/ButtonGroup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroup.styles.d.ts","sourceRoot":"","sources":["../../src/controls/ButtonGroup.styles.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,iBAAiB,yBAkG7B,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
// Import Third-party Dependencies
|
|
2
|
+
import { css } from "lit";
|
|
3
|
+
// Import Internal Dependencies
|
|
4
|
+
import { fillTransition, truncate, visuallyHidden } from "../theme/styles/mixins.js";
|
|
5
|
+
export const buttonGroupStyles = css `
|
|
6
|
+
/*
|
|
7
|
+
* Segments used to be joined by shared borders. Without them a hairline gap
|
|
8
|
+
* does the same job: the fills read as one strip, still visibly divided.
|
|
9
|
+
*/
|
|
10
|
+
.group {
|
|
11
|
+
display: flex;
|
|
12
|
+
flex: 1 1 auto;
|
|
13
|
+
gap: 1px;
|
|
14
|
+
min-width: 0;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
:host([layout="grid"]) .group {
|
|
18
|
+
display: grid;
|
|
19
|
+
gap: var(--jolly-space-1, 4px);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.segment {
|
|
23
|
+
display: inline-flex;
|
|
24
|
+
align-items: center;
|
|
25
|
+
justify-content: center;
|
|
26
|
+
flex: 1 1 0;
|
|
27
|
+
gap: 4px;
|
|
28
|
+
min-width: 0;
|
|
29
|
+
height: var(--jolly-control-height, 20px);
|
|
30
|
+
padding: 0 var(--jolly-space-1, 4px);
|
|
31
|
+
border: 0;
|
|
32
|
+
background: var(--jolly-control-bg);
|
|
33
|
+
color: inherit;
|
|
34
|
+
font: inherit;
|
|
35
|
+
cursor: pointer;
|
|
36
|
+
${fillTransition}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/*
|
|
40
|
+
* Round only the outer edges of joined segments.
|
|
41
|
+
*/
|
|
42
|
+
:host(:not([layout="grid"])) .segment:first-child {
|
|
43
|
+
border-radius: var(--jolly-radius-sm, 2px) 0 0 var(--jolly-radius-sm, 2px);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
:host(:not([layout="grid"])) .segment:last-child {
|
|
47
|
+
border-radius: 0 var(--jolly-radius-sm, 2px) var(--jolly-radius-sm, 2px) 0;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
:host(:not([layout="grid"])) .segment:only-child {
|
|
51
|
+
border-radius: var(--jolly-radius-sm, 2px);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
:host([layout="grid"]) .segment {
|
|
55
|
+
border-radius: var(--jolly-radius-sm, 2px);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.segment:hover:not(:disabled) {
|
|
59
|
+
background: var(--jolly-control-bg-hover);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.segment:active:not(:disabled) {
|
|
63
|
+
background: var(--jolly-control-bg-active);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.segment:focus-visible {
|
|
67
|
+
background: var(--jolly-control-bg-focus);
|
|
68
|
+
outline: none;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.segment[aria-checked="true"] {
|
|
72
|
+
background: var(--jolly-accent-fill);
|
|
73
|
+
color: var(--jolly-text-on-fill);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.segment[aria-checked="true"]:hover:not(:disabled) {
|
|
77
|
+
background: var(--jolly-accent-fill-hover);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/*
|
|
81
|
+
* A checked segment is already filled, so its focus step lightens the accent
|
|
82
|
+
* rather than tinting over it.
|
|
83
|
+
*/
|
|
84
|
+
.segment[aria-checked="true"]:focus-visible {
|
|
85
|
+
background: var(--jolly-accent-fill-focus);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.segment:disabled {
|
|
89
|
+
cursor: default;
|
|
90
|
+
opacity: 0.5;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.segment-label {
|
|
94
|
+
${truncate}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/*
|
|
98
|
+
* Hide visible labels while keeping their accessible names.
|
|
99
|
+
*/
|
|
100
|
+
:host([icons-only]) .segment-label {
|
|
101
|
+
${visuallyHidden}
|
|
102
|
+
}
|
|
103
|
+
`;
|
|
104
|
+
//# sourceMappingURL=ButtonGroup.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroup.styles.js","sourceRoot":"","sources":["../../src/controls/ButtonGroup.styles.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,+BAA+B;AAC/B,OAAO,EACL,cAAc,EACd,QAAQ,EACR,cAAc,EACf,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+B9B,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA0Dd,QAAQ;;;;;;;MAOR,cAAc;;CAEnB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type TemplateResult } from "lit";
|
|
2
|
+
import { JollyField } from "../field/JollyField.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Wraps a native checkbox and its indeterminate state.
|
|
5
|
+
*/
|
|
6
|
+
export declare class Checkbox extends JollyField<boolean> {
|
|
7
|
+
#private;
|
|
8
|
+
static styles: import("lit").CSSResult[];
|
|
9
|
+
/** Expands the native label across the value background. */
|
|
10
|
+
clickableBackground: boolean;
|
|
11
|
+
constructor();
|
|
12
|
+
/** Keeps the native checkbox on the standard control-sized hit target. */
|
|
13
|
+
protected renderValue(): TemplateResult;
|
|
14
|
+
}
|
|
15
|
+
declare global {
|
|
16
|
+
interface HTMLElementTagNameMap {
|
|
17
|
+
"jolly-checkbox": Checkbox;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=Checkbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../src/controls/Checkbox.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAOb,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD;;GAEG;AACH,qBACa,QAAS,SAAQ,UAAU,CAAC,OAAO,CAAC;;IAC/C,OAAgB,MAAM,4BAGpB;IAEF,4DAA4D;IAEpD,mBAAmB,EAAE,OAAO,CAAC;;IASrC,0EAA0E;IAC1E,SAAS,CAAC,WAAW,IAAI,cAAc;CAuCxC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,QAAQ,CAAC;KAC5B;CACF"}
|
|
@@ -0,0 +1,73 @@
|
|
|
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 { html, nothing } from "lit";
|
|
12
|
+
import { customElement, property } from "lit/decorators.js";
|
|
13
|
+
// Import Internal Dependencies
|
|
14
|
+
import { JollyField } from "../field/JollyField.js";
|
|
15
|
+
import { checkboxStyles } from "./Checkbox.styles.js";
|
|
16
|
+
import { isInputElement } from "../dom.js";
|
|
17
|
+
/**
|
|
18
|
+
* Wraps a native checkbox and its indeterminate state.
|
|
19
|
+
*/
|
|
20
|
+
let Checkbox = class Checkbox extends JollyField {
|
|
21
|
+
static styles = [
|
|
22
|
+
...JollyField.styles,
|
|
23
|
+
checkboxStyles
|
|
24
|
+
];
|
|
25
|
+
constructor() {
|
|
26
|
+
super();
|
|
27
|
+
this.value = false;
|
|
28
|
+
this.clickableBackground = false;
|
|
29
|
+
}
|
|
30
|
+
/** Keeps the native checkbox on the standard control-sized hit target. */
|
|
31
|
+
renderValue() {
|
|
32
|
+
return html `
|
|
33
|
+
<label class="checkbox">
|
|
34
|
+
<input
|
|
35
|
+
type="checkbox"
|
|
36
|
+
.checked=${this.concreteValue ?? false}
|
|
37
|
+
.indeterminate=${this.mixed}
|
|
38
|
+
?disabled=${this.disabled}
|
|
39
|
+
aria-readonly=${this.readonlyAria}
|
|
40
|
+
aria-disabled=${this.lockedAria}
|
|
41
|
+
aria-description=${this.lockDescription}
|
|
42
|
+
aria-invalid=${this.displayError === null ? nothing : "true"}
|
|
43
|
+
@click=${this.#onClick}
|
|
44
|
+
>
|
|
45
|
+
</label>
|
|
46
|
+
`;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Cancel clicks on readonly controls without removing them from tab order.
|
|
50
|
+
*/
|
|
51
|
+
#onClick(event) {
|
|
52
|
+
if (!this.editable ||
|
|
53
|
+
!isInputElement(event.currentTarget)) {
|
|
54
|
+
event.preventDefault();
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
/*
|
|
58
|
+
* Native activation has already updated `checked` before this handler runs.
|
|
59
|
+
*/
|
|
60
|
+
const next = this.mixed ? true : event.currentTarget.checked;
|
|
61
|
+
this.emitChange(next);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
__decorate([
|
|
65
|
+
property({ type: Boolean, attribute: "clickable-background", reflect: true }),
|
|
66
|
+
__metadata("design:type", Boolean)
|
|
67
|
+
], Checkbox.prototype, "clickableBackground", void 0);
|
|
68
|
+
Checkbox = __decorate([
|
|
69
|
+
customElement("jolly-checkbox"),
|
|
70
|
+
__metadata("design:paramtypes", [])
|
|
71
|
+
], Checkbox);
|
|
72
|
+
export { Checkbox };
|
|
73
|
+
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../src/controls/Checkbox.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kCAAkC;AAClC,OAAO,EACL,IAAI,EACJ,OAAO,EAER,MAAM,KAAK,CAAC;AACb,OAAO,EACL,aAAa,EACb,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAE3B,+BAA+B;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C;;GAEG;AAEI,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAmB;IAC/C,MAAM,CAAU,MAAM,GAAG;QACvB,GAAG,UAAU,CAAC,MAAM;QACpB,cAAc;KACf,CAAC;IAMF;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,0EAA0E;IAChE,WAAW;QACnB,OAAO,IAAI,CAAA;;;;qBAIM,IAAI,CAAC,aAAa,IAAI,KAAK;2BACrB,IAAI,CAAC,KAAK;sBACf,IAAI,CAAC,QAAQ;0BACT,IAAI,CAAC,YAAY;0BACjB,IAAI,CAAC,UAAU;6BACZ,IAAI,CAAC,eAAe;yBACxB,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;mBACnD,IAAI,CAAC,QAAQ;;;KAG3B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ,CACN,KAAiB;QAEjB,IACE,CAAC,IAAI,CAAC,QAAQ;YACd,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,EACpC,CAAC;YACD,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,OAAO;QACT,CAAC;QAED;;WAEG;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;QAC7D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;;AAhDO;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;qDACzC;AAR1B,QAAQ;IADpB,aAAa,CAAC,gBAAgB,CAAC;;GACnB,QAAQ,CAyDpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.styles.d.ts","sourceRoot":"","sources":["../../src/controls/Checkbox.styles.ts"],"names":[],"mappings":"AAGA,6EAA6E;AAC7E,eAAO,MAAM,cAAc,yBA+G1B,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
// Import Third-party Dependencies
|
|
2
|
+
import { css } from "lit";
|
|
3
|
+
/** Keeps checkboxes fixed-size and aligned to the requested logical edge. */
|
|
4
|
+
export const checkboxStyles = css `
|
|
5
|
+
.value {
|
|
6
|
+
justify-content: flex-start;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
:host([align="end"]) .value,
|
|
10
|
+
:host([align="end"]) .checkbox {
|
|
11
|
+
justify-content: flex-end;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/* Keep the native control on the same hit target as the other fields. */
|
|
15
|
+
.checkbox {
|
|
16
|
+
display: inline-flex;
|
|
17
|
+
align-items: center;
|
|
18
|
+
justify-content: flex-start;
|
|
19
|
+
flex: 0 0 auto;
|
|
20
|
+
width: var(--jolly-control-height, 20px);
|
|
21
|
+
height: var(--jolly-control-height, 20px);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
:host([clickable-background]) .checkbox {
|
|
25
|
+
position: relative;
|
|
26
|
+
isolation: isolate;
|
|
27
|
+
flex: 1 1 auto;
|
|
28
|
+
width: auto;
|
|
29
|
+
cursor: pointer;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
:host([clickable-background]) .checkbox::before {
|
|
33
|
+
--jolly-checkbox-gradient-direction: to right;
|
|
34
|
+
|
|
35
|
+
content: "";
|
|
36
|
+
position: absolute;
|
|
37
|
+
inset-block: calc(var(--jolly-space-1, 4px) / 2);
|
|
38
|
+
inset-inline: 0;
|
|
39
|
+
z-index: -1;
|
|
40
|
+
border-start-start-radius: var(--jolly-radius-sm, 2px);
|
|
41
|
+
border-end-start-radius: var(--jolly-radius-sm, 2px);
|
|
42
|
+
background-image: linear-gradient(
|
|
43
|
+
var(--jolly-checkbox-gradient-direction),
|
|
44
|
+
var(--jolly-control-bg),
|
|
45
|
+
transparent 72%
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
:host([clickable-background][align="end"]) .checkbox::before,
|
|
50
|
+
:host([clickable-background]:dir(rtl)) .checkbox::before {
|
|
51
|
+
--jolly-checkbox-gradient-direction: to left;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
:host([clickable-background][align="end"]:dir(rtl)) .checkbox::before {
|
|
55
|
+
--jolly-checkbox-gradient-direction: to right;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
:host([clickable-background][align="end"]) .checkbox::before {
|
|
59
|
+
border-start-start-radius: 0;
|
|
60
|
+
border-start-end-radius: var(--jolly-radius-sm, 2px);
|
|
61
|
+
border-end-start-radius: 0;
|
|
62
|
+
border-end-end-radius: var(--jolly-radius-sm, 2px);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
:host(
|
|
66
|
+
[clickable-background]:not([disabled]):not([readonly]):not([locked])
|
|
67
|
+
) .checkbox:hover::before {
|
|
68
|
+
background-image: linear-gradient(
|
|
69
|
+
var(--jolly-checkbox-gradient-direction),
|
|
70
|
+
var(--jolly-control-bg-hover),
|
|
71
|
+
transparent 72%
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
:host(
|
|
76
|
+
[clickable-background]:not([disabled]):not([readonly]):not([locked])
|
|
77
|
+
) .checkbox:has(input:focus-visible)::before {
|
|
78
|
+
background-image: linear-gradient(
|
|
79
|
+
var(--jolly-checkbox-gradient-direction),
|
|
80
|
+
var(--jolly-control-bg-focus),
|
|
81
|
+
transparent 72%
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.value input[type="checkbox"] {
|
|
86
|
+
flex: 0 0 auto;
|
|
87
|
+
width: 14px;
|
|
88
|
+
height: 14px;
|
|
89
|
+
margin: 0;
|
|
90
|
+
accent-color: var(--jolly-field-active-color);
|
|
91
|
+
cursor: pointer;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
:host([clickable-background]) .value input[type="checkbox"] {
|
|
95
|
+
margin-inline: var(--jolly-space-1, 4px) 0;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
:host([clickable-background][align="end"]) .value input[type="checkbox"] {
|
|
99
|
+
margin-inline: 0 var(--jolly-space-1, 4px);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.value input[type="checkbox"]:focus-visible {
|
|
103
|
+
outline: none;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
:host([disabled]) .value input[type="checkbox"] {
|
|
107
|
+
cursor: default;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
:host([clickable-background][disabled]) .checkbox,
|
|
111
|
+
:host([clickable-background][readonly]) .checkbox,
|
|
112
|
+
:host([clickable-background][locked]) .checkbox {
|
|
113
|
+
cursor: default;
|
|
114
|
+
}
|
|
115
|
+
`;
|
|
116
|
+
//# sourceMappingURL=Checkbox.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.styles.js","sourceRoot":"","sources":["../../src/controls/Checkbox.styles.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,6EAA6E;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+GhC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type TemplateResult } from "lit";
|
|
2
|
+
import { JollyField } from "../field/JollyField.ts";
|
|
3
|
+
import { ColorPicker } from "./ColorPicker.ts";
|
|
4
|
+
export interface ColorDefaults {
|
|
5
|
+
value: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Colour field with a swatch popover and draftable hex input.
|
|
9
|
+
* Escape restores the value held when the popover opened.
|
|
10
|
+
*/
|
|
11
|
+
export declare class Color extends JollyField<string> {
|
|
12
|
+
#private;
|
|
13
|
+
static readonly Defaults: ColorDefaults;
|
|
14
|
+
static styles: import("lit").CSSResult[];
|
|
15
|
+
/**
|
|
16
|
+
* Enables alpha controls and `#rrggbbaa` output.
|
|
17
|
+
*/
|
|
18
|
+
alpha: boolean;
|
|
19
|
+
_swatch: HTMLButtonElement;
|
|
20
|
+
_popover: HTMLElement;
|
|
21
|
+
_picker: ColorPicker;
|
|
22
|
+
_hex: HTMLInputElement;
|
|
23
|
+
constructor();
|
|
24
|
+
/**
|
|
25
|
+
* Compares normalized colour values.
|
|
26
|
+
*/
|
|
27
|
+
protected valuesEqual(a: string, b: string): boolean;
|
|
28
|
+
protected renderValue(): TemplateResult;
|
|
29
|
+
}
|
|
30
|
+
declare global {
|
|
31
|
+
interface HTMLElementTagNameMap {
|
|
32
|
+
"jolly-color": Color;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=Color.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Color.d.ts","sourceRoot":"","sources":["../../src/controls/Color.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAQb,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAYpD,OAAO,EACL,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,qBACa,KAAM,SAAQ,UAAU,CAAC,MAAM,CAAC;;IAC3C,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAErC;IAEF,OAAgB,MAAM,4BAGpB;IAEF;;OAEG;IAEK,KAAK,EAAE,OAAO,CAAC;IAGf,OAAO,EAAE,iBAAiB,CAAC;IAG3B,QAAQ,EAAE,WAAW,CAAC;IAGtB,OAAO,EAAE,WAAW,CAAC;IAGrB,IAAI,EAAE,gBAAgB,CAAC;;IA8B/B;;OAEG;cACgB,WAAW,CAC5B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,OAAO;IAcV,SAAS,CAAC,WAAW,IAAI,cAAc;CA2JxC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,KAAK,CAAC;KACtB;CACF"}
|