@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,74 @@
|
|
|
1
|
+
// CONSTANTS
|
|
2
|
+
const kDraggingClass = "jolly-tree-dragging";
|
|
3
|
+
/**
|
|
4
|
+
* Threshold-armed pointer drag: below `threshold` a plain click still works,
|
|
5
|
+
* past it pointer capture and the dragging cursor take over until release
|
|
6
|
+
* or Escape. Knows nothing about rows or drop targets; the tree decides what
|
|
7
|
+
* armed, moved and finished mean.
|
|
8
|
+
*/
|
|
9
|
+
export function beginRowDrag(event, options, callbacks) {
|
|
10
|
+
const { element, threshold } = options;
|
|
11
|
+
const { onArm, onMove, onFinish } = callbacks;
|
|
12
|
+
const pointerId = event.pointerId;
|
|
13
|
+
const originX = event.clientX;
|
|
14
|
+
const originY = event.clientY;
|
|
15
|
+
let armed = false;
|
|
16
|
+
function arm() {
|
|
17
|
+
armed = true;
|
|
18
|
+
element.setPointerCapture(pointerId);
|
|
19
|
+
document.documentElement.classList.add(kDraggingClass);
|
|
20
|
+
onArm();
|
|
21
|
+
}
|
|
22
|
+
function onPointerMove(moveEvent) {
|
|
23
|
+
if (moveEvent.pointerId !== pointerId) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (!armed) {
|
|
27
|
+
const distance = Math.hypot(moveEvent.clientX - originX, moveEvent.clientY - originY);
|
|
28
|
+
if (distance < threshold) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
arm();
|
|
32
|
+
}
|
|
33
|
+
onMove(moveEvent.clientX, moveEvent.clientY);
|
|
34
|
+
}
|
|
35
|
+
function onKeyDown(keyEvent) {
|
|
36
|
+
if (keyEvent.key !== "Escape") {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
keyEvent.preventDefault();
|
|
40
|
+
finish(false);
|
|
41
|
+
}
|
|
42
|
+
function finish(commit) {
|
|
43
|
+
element.removeEventListener("pointermove", onPointerMove);
|
|
44
|
+
element.removeEventListener("pointerup", onPointerUp);
|
|
45
|
+
element.removeEventListener("pointercancel", onPointerCancel);
|
|
46
|
+
document.removeEventListener("keydown", onKeyDown, true);
|
|
47
|
+
if (!armed) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (element.hasPointerCapture(pointerId)) {
|
|
51
|
+
element.releasePointerCapture(pointerId);
|
|
52
|
+
}
|
|
53
|
+
document.documentElement.classList.remove(kDraggingClass);
|
|
54
|
+
onFinish(commit);
|
|
55
|
+
}
|
|
56
|
+
function onPointerUp(upEvent) {
|
|
57
|
+
if (upEvent.pointerId === pointerId) {
|
|
58
|
+
finish(true);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function onPointerCancel(cancelEvent) {
|
|
62
|
+
if (cancelEvent.pointerId === pointerId) {
|
|
63
|
+
finish(false);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (threshold === 0) {
|
|
67
|
+
arm();
|
|
68
|
+
}
|
|
69
|
+
element.addEventListener("pointermove", onPointerMove);
|
|
70
|
+
element.addEventListener("pointerup", onPointerUp);
|
|
71
|
+
element.addEventListener("pointercancel", onPointerCancel);
|
|
72
|
+
document.addEventListener("keydown", onKeyDown, true);
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=rowDragSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rowDragSession.js","sourceRoot":"","sources":["../../src/data/rowDragSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { FlatTreeRow } from "./treeNodes.ts";
|
|
2
|
+
export interface ResolveSelectionOptions<TData> {
|
|
3
|
+
rows: readonly FlatTreeRow<TData>[];
|
|
4
|
+
clickedId: string;
|
|
5
|
+
current: readonly string[];
|
|
6
|
+
anchorId: string | null;
|
|
7
|
+
shiftKey: boolean;
|
|
8
|
+
ctrlKey: boolean;
|
|
9
|
+
multiple: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface ResolvedSelection {
|
|
12
|
+
selected: string[];
|
|
13
|
+
anchorId: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function resolveSelection<TData>(options: ResolveSelectionOptions<TData>): ResolvedSelection;
|
|
16
|
+
//# sourceMappingURL=selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../src/data/selection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,uBAAuB,CAAC,KAAK;IAC5C,IAAI,EAAE,SAAS,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EACpC,OAAO,EAAE,uBAAuB,CAAC,KAAK,CAAC,GACtC,iBAAiB,CA2EnB"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export function resolveSelection(options) {
|
|
2
|
+
const { rows, clickedId, current, anchorId, shiftKey, ctrlKey, multiple } = options;
|
|
3
|
+
const clickedRow = rows.find((row) => row.node.id === clickedId);
|
|
4
|
+
if (clickedRow === undefined) {
|
|
5
|
+
return {
|
|
6
|
+
selected: [...current],
|
|
7
|
+
anchorId: anchorId ?? clickedId
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
if (!multiple || (!shiftKey && !ctrlKey)) {
|
|
11
|
+
return {
|
|
12
|
+
selected: [clickedId],
|
|
13
|
+
anchorId: clickedId
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
const anchorRow = anchorId === null ?
|
|
17
|
+
undefined :
|
|
18
|
+
rows.find((row) => row.node.id === anchorId);
|
|
19
|
+
if (current.length > 0 &&
|
|
20
|
+
anchorRow !== undefined &&
|
|
21
|
+
anchorRow.parentId !== clickedRow.parentId) {
|
|
22
|
+
return {
|
|
23
|
+
selected: [...current],
|
|
24
|
+
anchorId: anchorRow.node.id
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
if (shiftKey && anchorRow !== undefined) {
|
|
28
|
+
const siblings = rows.filter((row) => row.parentId === clickedRow.parentId);
|
|
29
|
+
const anchorIndex = siblings.findIndex((row) => row.node.id === anchorRow.node.id);
|
|
30
|
+
const clickedIndex = siblings.findIndex((row) => row.node.id === clickedId);
|
|
31
|
+
const [from, to] = anchorIndex <= clickedIndex ?
|
|
32
|
+
[anchorIndex, clickedIndex] :
|
|
33
|
+
[clickedIndex, anchorIndex];
|
|
34
|
+
return {
|
|
35
|
+
selected: siblings.slice(from, to + 1).map((row) => row.node.id),
|
|
36
|
+
anchorId: anchorRow.node.id
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
if (ctrlKey) {
|
|
40
|
+
if (current.includes(clickedId)) {
|
|
41
|
+
const selected = current.filter((id) => id !== clickedId);
|
|
42
|
+
return {
|
|
43
|
+
selected,
|
|
44
|
+
anchorId: selected[0] ?? clickedId
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
selected: [...current, clickedId],
|
|
49
|
+
anchorId: anchorId ?? clickedId
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
selected: [clickedId],
|
|
54
|
+
anchorId: clickedId
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../../src/data/selection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { TreeNode } from "./Tree.types.ts";
|
|
2
|
+
export interface FlatTreeRow<TData = unknown> {
|
|
3
|
+
node: TreeNode<TData>;
|
|
4
|
+
depth: number;
|
|
5
|
+
parentId: string | null;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* A node with `children: []` is still a container (drop target for a first
|
|
9
|
+
* child), but it has nothing to expand, so it is not a branch for toggle and
|
|
10
|
+
* keyboard navigation purposes.
|
|
11
|
+
*/
|
|
12
|
+
export declare function hasChildren<TData>(node: TreeNode<TData>): boolean;
|
|
13
|
+
export declare function flattenVisible<TData>(nodes: readonly TreeNode<TData>[], expanded: ReadonlySet<string>, depth?: number, parentId?: string | null): FlatTreeRow<TData>[];
|
|
14
|
+
export declare function findNode<TData>(nodes: readonly TreeNode<TData>[], id: string): TreeNode<TData> | null;
|
|
15
|
+
export declare function findParentId<TData>(nodes: readonly TreeNode<TData>[], id: string, parentId?: string | null): string | null | undefined;
|
|
16
|
+
/** Node ids from the root down to `id` itself, inclusive. */
|
|
17
|
+
export declare function ancestorChain<TData>(nodes: readonly TreeNode<TData>[], id: string): string[];
|
|
18
|
+
export declare function isSelfOrDescendant<TData>(nodes: readonly TreeNode<TData>[], ancestorId: string, id: string): boolean;
|
|
19
|
+
//# sourceMappingURL=treeNodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"treeNodes.d.ts","sourceRoot":"","sources":["../../src/data/treeNodes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,WAAW,CAAC,KAAK,GAAG,OAAO;IAC1C,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAC/B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GACpB,OAAO,CAET;AAED,wBAAgB,cAAc,CAAC,KAAK,EAClC,KAAK,EAAE,SAAS,QAAQ,CAAC,KAAK,CAAC,EAAE,EACjC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,EAC7B,KAAK,SAAI,EACT,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,WAAW,CAAC,KAAK,CAAC,EAAE,CAatB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAC5B,KAAK,EAAE,SAAS,QAAQ,CAAC,KAAK,CAAC,EAAE,EACjC,EAAE,EAAE,MAAM,GACT,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAcxB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAChC,KAAK,EAAE,SAAS,QAAQ,CAAC,KAAK,CAAC,EAAE,EACjC,EAAE,EAAE,MAAM,EACV,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,MAAM,GAAG,IAAI,GAAG,SAAS,CAc3B;AAED,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,KAAK,EACjC,KAAK,EAAE,SAAS,QAAQ,CAAC,KAAK,CAAC,EAAE,EACjC,EAAE,EAAE,MAAM,GACT,MAAM,EAAE,CAcV;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EACtC,KAAK,EAAE,SAAS,QAAQ,CAAC,KAAK,CAAC,EAAE,EACjC,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,GACT,OAAO,CAWT"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A node with `children: []` is still a container (drop target for a first
|
|
3
|
+
* child), but it has nothing to expand, so it is not a branch for toggle and
|
|
4
|
+
* keyboard navigation purposes.
|
|
5
|
+
*/
|
|
6
|
+
export function hasChildren(node) {
|
|
7
|
+
return node.children !== undefined && node.children.length > 0;
|
|
8
|
+
}
|
|
9
|
+
export function flattenVisible(nodes, expanded, depth = 0, parentId = null) {
|
|
10
|
+
const rows = [];
|
|
11
|
+
for (const node of nodes) {
|
|
12
|
+
rows.push({ node, depth, parentId });
|
|
13
|
+
if (node.children !== undefined && node.children.length > 0 && expanded.has(node.id)) {
|
|
14
|
+
rows.push(...flattenVisible(node.children, expanded, depth + 1, node.id));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return rows;
|
|
18
|
+
}
|
|
19
|
+
export function findNode(nodes, id) {
|
|
20
|
+
for (const node of nodes) {
|
|
21
|
+
if (node.id === id) {
|
|
22
|
+
return node;
|
|
23
|
+
}
|
|
24
|
+
if (node.children !== undefined) {
|
|
25
|
+
const found = findNode(node.children, id);
|
|
26
|
+
if (found !== null) {
|
|
27
|
+
return found;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
export function findParentId(nodes, id, parentId = null) {
|
|
34
|
+
for (const node of nodes) {
|
|
35
|
+
if (node.id === id) {
|
|
36
|
+
return parentId;
|
|
37
|
+
}
|
|
38
|
+
if (node.children !== undefined) {
|
|
39
|
+
const found = findParentId(node.children, id, node.id);
|
|
40
|
+
if (found !== undefined) {
|
|
41
|
+
return found;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
/** Node ids from the root down to `id` itself, inclusive. */
|
|
48
|
+
export function ancestorChain(nodes, id) {
|
|
49
|
+
const chain = [id];
|
|
50
|
+
let current = id;
|
|
51
|
+
for (;;) {
|
|
52
|
+
const parentId = findParentId(nodes, current);
|
|
53
|
+
if (parentId === undefined || parentId === null) {
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
chain.unshift(parentId);
|
|
57
|
+
current = parentId;
|
|
58
|
+
}
|
|
59
|
+
return chain;
|
|
60
|
+
}
|
|
61
|
+
export function isSelfOrDescendant(nodes, ancestorId, id) {
|
|
62
|
+
if (ancestorId === id) {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
const ancestor = findNode(nodes, ancestorId);
|
|
66
|
+
if (ancestor === null || ancestor.children === undefined) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
return findNode(ancestor.children, id) !== null;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=treeNodes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"treeNodes.js","sourceRoot":"","sources":["../../src/data/treeNodes.ts"],"names":[],"mappings":"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"}
|
package/dist/dom.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Narrows an event target to an input element.
|
|
3
|
+
*/
|
|
4
|
+
export declare function isInputElement(target: EventTarget | null): target is HTMLInputElement;
|
|
5
|
+
export declare function isSelectElement(target: EventTarget | null): target is HTMLSelectElement;
|
|
6
|
+
export declare function isButtonElement(target: EventTarget | null): target is HTMLButtonElement;
|
|
7
|
+
export declare function isSlotElement(target: EventTarget | null): target is HTMLSlotElement;
|
|
8
|
+
export declare function isDocumentOrShadowRoot(node: Node): node is Document | ShadowRoot;
|
|
9
|
+
/**
|
|
10
|
+
* Narrows a custom event to its detail.
|
|
11
|
+
*/
|
|
12
|
+
export declare function detailOf<TDetail>(event: Event): TDetail | null;
|
|
13
|
+
//# sourceMappingURL=dom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,GAAG,IAAI,GACzB,MAAM,IAAI,gBAAgB,CAE5B;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,GAAG,IAAI,GACzB,MAAM,IAAI,iBAAiB,CAE7B;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,GAAG,IAAI,GACzB,MAAM,IAAI,iBAAiB,CAE7B;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,GAAG,IAAI,GACzB,MAAM,IAAI,eAAe,CAE3B;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,GACT,IAAI,IAAI,QAAQ,GAAG,UAAU,CAE/B;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAC9B,KAAK,EAAE,KAAK,GACX,OAAO,GAAG,IAAI,CAEhB"}
|
package/dist/dom.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Narrows an event target to an input element.
|
|
3
|
+
*/
|
|
4
|
+
export function isInputElement(target) {
|
|
5
|
+
return target instanceof HTMLInputElement;
|
|
6
|
+
}
|
|
7
|
+
export function isSelectElement(target) {
|
|
8
|
+
return target instanceof HTMLSelectElement;
|
|
9
|
+
}
|
|
10
|
+
export function isButtonElement(target) {
|
|
11
|
+
return target instanceof HTMLButtonElement;
|
|
12
|
+
}
|
|
13
|
+
export function isSlotElement(target) {
|
|
14
|
+
return target instanceof HTMLSlotElement;
|
|
15
|
+
}
|
|
16
|
+
export function isDocumentOrShadowRoot(node) {
|
|
17
|
+
return node instanceof Document || node instanceof ShadowRoot;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Narrows a custom event to its detail.
|
|
21
|
+
*/
|
|
22
|
+
export function detailOf(event) {
|
|
23
|
+
return event instanceof CustomEvent ? event.detail : null;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=dom.js.map
|
package/dist/dom.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,MAA0B;IAE1B,OAAO,MAAM,YAAY,gBAAgB,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAA0B;IAE1B,OAAO,MAAM,YAAY,iBAAiB,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAA0B;IAE1B,OAAO,MAAM,YAAY,iBAAiB,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,MAA0B;IAE1B,OAAO,MAAM,YAAY,eAAe,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,IAAU;IAEV,OAAO,IAAI,YAAY,QAAQ,IAAI,IAAI,YAAY,UAAU,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CACtB,KAAY;IAEZ,OAAO,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type DispatchOptions } from "./dispatch.ts";
|
|
2
|
+
import type { FieldAlign } from "../field/JollyField.ts";
|
|
3
|
+
export interface BindingOptions<TValue> extends DispatchOptions<TValue> {
|
|
4
|
+
label?: string;
|
|
5
|
+
align?: FieldAlign;
|
|
6
|
+
path?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface BindingChangeEvent<TValue> {
|
|
9
|
+
value: TValue;
|
|
10
|
+
last: boolean;
|
|
11
|
+
}
|
|
12
|
+
export type BindingChangeHandler<TValue> = (event: BindingChangeEvent<TValue>) => void;
|
|
13
|
+
export declare class Binding<TObject extends object, TKey extends keyof TObject> {
|
|
14
|
+
#private;
|
|
15
|
+
readonly element: HTMLElement;
|
|
16
|
+
constructor(object: TObject, key: TKey, options?: BindingOptions<TObject[TKey]>);
|
|
17
|
+
get hidden(): boolean;
|
|
18
|
+
set hidden(value: boolean);
|
|
19
|
+
get disabled(): boolean;
|
|
20
|
+
set disabled(value: boolean);
|
|
21
|
+
on(_name: "change", handler: BindingChangeHandler<TObject[TKey]>): this;
|
|
22
|
+
refresh(): void;
|
|
23
|
+
dispose(): void;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=Binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Binding.d.ts","sourceRoot":"","sources":["../../src/facade/Binding.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,eAAe,EAErB,MAAM,eAAe,CAAC;AAKvB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAqBzD,MAAM,WAAW,cAAc,CAAC,MAAM,CAAE,SAAQ,eAAe,CAAC,MAAM,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB,CAAC,MAAM;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,MAAM,oBAAoB,CAAC,MAAM,IAAI,CACzC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAC9B,IAAI,CAAC;AAEV,qBAAa,OAAO,CAClB,OAAO,SAAS,MAAM,EACtB,IAAI,SAAS,MAAM,OAAO;;IAE1B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;gBAS5B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,IAAI,EACT,OAAO,GAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAM;IAyB7C,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,MAAM,CACR,KAAK,EAAE,OAAO,EAGf;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CACV,KAAK,EAAE,OAAO,EAGf;IAED,EAAE,CACA,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAC3C,IAAI;IAMP,OAAO,IAAI,IAAI;IAOf,OAAO,IAAI,IAAI;CA+BhB"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
// Import Internal Dependencies
|
|
2
|
+
import { dispatchTag, isMathTag, toJollyOptions } from "./dispatch.js";
|
|
3
|
+
import { detailOf } from "../dom.js";
|
|
4
|
+
import { copyComponents, snapshotComponents } from "../math/components.js";
|
|
5
|
+
import { vec2PairOf } from "../math/guards.js";
|
|
6
|
+
// CONSTANTS
|
|
7
|
+
const kEightDigitHex = /^#[0-9a-f]{8}$/i;
|
|
8
|
+
export class Binding {
|
|
9
|
+
element;
|
|
10
|
+
#object;
|
|
11
|
+
#key;
|
|
12
|
+
#bindable;
|
|
13
|
+
#math;
|
|
14
|
+
#handlers = [];
|
|
15
|
+
constructor(object, key, options = {}) {
|
|
16
|
+
this.#object = object;
|
|
17
|
+
this.#key = key;
|
|
18
|
+
const value = object[key];
|
|
19
|
+
const tag = dispatchTag(value, options);
|
|
20
|
+
this.#math = isMathTag(tag);
|
|
21
|
+
this.#bindable = buildElement(tag, value, options);
|
|
22
|
+
this.#bindable.label = options.label ?? String(key);
|
|
23
|
+
this.#bindable.align = options.align ?? (tag === "jolly-checkbox" ? "end" : "start");
|
|
24
|
+
this.#bindable.path = options.path ?? null;
|
|
25
|
+
this.element = this.#bindable;
|
|
26
|
+
this.refresh();
|
|
27
|
+
this.#bindable.addEventListener("jolly-input", (event) => this.#onFieldEvent(event, false));
|
|
28
|
+
this.#bindable.addEventListener("jolly-change", (event) => this.#onFieldEvent(event, true));
|
|
29
|
+
}
|
|
30
|
+
get hidden() {
|
|
31
|
+
return Boolean(this.element.hidden);
|
|
32
|
+
}
|
|
33
|
+
set hidden(value) {
|
|
34
|
+
this.element.hidden = value;
|
|
35
|
+
}
|
|
36
|
+
get disabled() {
|
|
37
|
+
return this.#bindable.disabled;
|
|
38
|
+
}
|
|
39
|
+
set disabled(value) {
|
|
40
|
+
this.#bindable.disabled = value;
|
|
41
|
+
}
|
|
42
|
+
on(_name, handler) {
|
|
43
|
+
this.#handlers.push(handler);
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
refresh() {
|
|
47
|
+
const value = this.#object[this.#key];
|
|
48
|
+
this.#bindable.value = this.#math
|
|
49
|
+
? snapshotComponents(value)
|
|
50
|
+
: value;
|
|
51
|
+
}
|
|
52
|
+
dispose() {
|
|
53
|
+
this.element.remove();
|
|
54
|
+
}
|
|
55
|
+
#onFieldEvent(event, last) {
|
|
56
|
+
const detail = detailOf(event);
|
|
57
|
+
if (detail === null) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (this.#math) {
|
|
61
|
+
copyComponents(this.#object[this.#key], detail.value);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
this.#object[this.#key] = detail.value;
|
|
65
|
+
}
|
|
66
|
+
this.#bindable.value = detail.value;
|
|
67
|
+
const value = this.#object[this.#key];
|
|
68
|
+
for (const handler of this.#handlers) {
|
|
69
|
+
handler({
|
|
70
|
+
value,
|
|
71
|
+
last
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function buildElement(tag, value, options) {
|
|
77
|
+
switch (tag) {
|
|
78
|
+
case "jolly-number":
|
|
79
|
+
case "jolly-slider":
|
|
80
|
+
case "jolly-range":
|
|
81
|
+
case "jolly-point2d": {
|
|
82
|
+
const element = document.createElement(tag);
|
|
83
|
+
applyBounds(element, options);
|
|
84
|
+
return element;
|
|
85
|
+
}
|
|
86
|
+
case "jolly-vector2": {
|
|
87
|
+
const element = document.createElement(tag);
|
|
88
|
+
applyBounds(element, options);
|
|
89
|
+
element.axes = options.axes ?? vec2PairOf(value) ?? "xy";
|
|
90
|
+
if (options.axisLabels !== undefined) {
|
|
91
|
+
element.axisLabels = options.axisLabels;
|
|
92
|
+
}
|
|
93
|
+
return element;
|
|
94
|
+
}
|
|
95
|
+
case "jolly-vector3":
|
|
96
|
+
case "jolly-vector4": {
|
|
97
|
+
const element = document.createElement(tag);
|
|
98
|
+
applyBounds(element, options);
|
|
99
|
+
if (options.axisLabels !== undefined) {
|
|
100
|
+
element.axisLabels = options.axisLabels;
|
|
101
|
+
}
|
|
102
|
+
return element;
|
|
103
|
+
}
|
|
104
|
+
case "jolly-quaternion": {
|
|
105
|
+
const element = document.createElement(tag);
|
|
106
|
+
if (options.step !== undefined) {
|
|
107
|
+
element.step = options.step;
|
|
108
|
+
}
|
|
109
|
+
if (options.axisLabels !== undefined) {
|
|
110
|
+
element.axisLabels = options.axisLabels;
|
|
111
|
+
}
|
|
112
|
+
return element;
|
|
113
|
+
}
|
|
114
|
+
case "jolly-select": {
|
|
115
|
+
const element = document.createElement(tag);
|
|
116
|
+
if (options.options !== undefined) {
|
|
117
|
+
element.options = toJollyOptions(options.options);
|
|
118
|
+
}
|
|
119
|
+
return element;
|
|
120
|
+
}
|
|
121
|
+
case "jolly-color": {
|
|
122
|
+
const element = document.createElement(tag);
|
|
123
|
+
element.alpha = options.alpha ??
|
|
124
|
+
(typeof value === "string" && kEightDigitHex.test(value));
|
|
125
|
+
return element;
|
|
126
|
+
}
|
|
127
|
+
case "jolly-checkbox":
|
|
128
|
+
case "jolly-text":
|
|
129
|
+
return document.createElement(tag);
|
|
130
|
+
default:
|
|
131
|
+
return tag;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
function applyBounds(element, options) {
|
|
135
|
+
if (options.min !== undefined) {
|
|
136
|
+
element.min = options.min;
|
|
137
|
+
}
|
|
138
|
+
if (options.max !== undefined) {
|
|
139
|
+
element.max = options.max;
|
|
140
|
+
}
|
|
141
|
+
if (options.step !== undefined) {
|
|
142
|
+
element.step = options.step;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=Binding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Binding.js","sourceRoot":"","sources":["../../src/facade/Binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import "../controls/Button.ts";
|
|
2
|
+
export interface ButtonOptions {
|
|
3
|
+
title?: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* A `jolly-button` with no bound value, matching `folder.addButton`.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Button {
|
|
9
|
+
#private;
|
|
10
|
+
readonly element: HTMLElement;
|
|
11
|
+
constructor(options?: ButtonOptions);
|
|
12
|
+
get hidden(): boolean;
|
|
13
|
+
set hidden(value: boolean);
|
|
14
|
+
get disabled(): boolean;
|
|
15
|
+
set disabled(value: boolean);
|
|
16
|
+
on(name: "click", handler: (event: MouseEvent) => void): this;
|
|
17
|
+
dispose(): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/facade/Button.ts"],"names":[],"mappings":"AACA,OAAO,uBAAuB,CAAC;AAE/B,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,MAAM;;IACjB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;gBAK5B,OAAO,GAAE,aAAkB;IAO7B,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,MAAM,CACR,KAAK,EAAE,OAAO,EAGf;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CACV,KAAK,EAAE,OAAO,EAGf;IAED,EAAE,CACA,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GACnC,IAAI;IAMP,OAAO,IAAI,IAAI;CAGhB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Import Internal Dependencies
|
|
2
|
+
import "../controls/Button.js";
|
|
3
|
+
/**
|
|
4
|
+
* A `jolly-button` with no bound value, matching `folder.addButton`.
|
|
5
|
+
*/
|
|
6
|
+
export class Button {
|
|
7
|
+
element;
|
|
8
|
+
#button;
|
|
9
|
+
constructor(options = {}) {
|
|
10
|
+
this.#button = document.createElement("jolly-button");
|
|
11
|
+
this.#button.textContent = options.title ?? "";
|
|
12
|
+
this.element = this.#button;
|
|
13
|
+
}
|
|
14
|
+
get hidden() {
|
|
15
|
+
return Boolean(this.element.hidden);
|
|
16
|
+
}
|
|
17
|
+
set hidden(value) {
|
|
18
|
+
this.element.hidden = value;
|
|
19
|
+
}
|
|
20
|
+
get disabled() {
|
|
21
|
+
return this.#button.disabled;
|
|
22
|
+
}
|
|
23
|
+
set disabled(value) {
|
|
24
|
+
this.#button.disabled = value;
|
|
25
|
+
}
|
|
26
|
+
on(name, handler) {
|
|
27
|
+
this.#button.addEventListener(name, handler);
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
dispose() {
|
|
31
|
+
this.element.remove();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=Button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/facade/Button.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,uBAAuB,CAAC;AAM/B;;GAEG;AACH,MAAM,OAAO,MAAM;IACR,OAAO,CAAc;IAE9B,OAAO,CAAwC;IAE/C,YACE,UAAyB,EAAE;QAE3B,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,MAAM,CACR,KAAc;QAEd,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED,IAAI,QAAQ,CACV,KAAc;QAEd,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,EAAE,CACA,IAAa,EACb,OAAoC;QAEpC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;CACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Binding, type BindingOptions } from "./Binding.ts";
|
|
2
|
+
import { Button, type ButtonOptions } from "./Button.ts";
|
|
3
|
+
import type { Folder, FolderOptions } from "./Folder.ts";
|
|
4
|
+
import { Monitor, type MonitorKey, type MonitorOptions } from "./Monitor.ts";
|
|
5
|
+
import { type MonitorFields } from "./monitorFields.ts";
|
|
6
|
+
import { Presence, type PresenceOptions } from "./Presence.ts";
|
|
7
|
+
import { Separator } from "./Separator.ts";
|
|
8
|
+
export type { MonitorFields } from "./monitorFields.ts";
|
|
9
|
+
export interface Disposable {
|
|
10
|
+
dispose(): void;
|
|
11
|
+
}
|
|
12
|
+
export declare abstract class FacadeContainer {
|
|
13
|
+
#private;
|
|
14
|
+
abstract readonly element: HTMLElement;
|
|
15
|
+
protected abstract get contentHost(): HTMLElement;
|
|
16
|
+
protected abstract createFolder(options: FolderOptions): Folder;
|
|
17
|
+
addFolder(options?: FolderOptions): Folder;
|
|
18
|
+
addBinding<TObject extends object, TKey extends keyof TObject>(object: TObject, key: TKey, options?: BindingOptions<TObject[TKey]>): Binding<TObject, TKey>;
|
|
19
|
+
addMonitor<TObject extends object, TKey extends MonitorKey<TObject>>(object: TObject, key: TKey, options?: MonitorOptions<TObject[TKey]>): Monitor<TObject, TKey>;
|
|
20
|
+
addMonitors<TObject extends object>(object: TObject, fields: MonitorFields<TObject>): void;
|
|
21
|
+
addButton(options?: ButtonOptions): Button;
|
|
22
|
+
addSeparator(): Separator;
|
|
23
|
+
addPresence(options?: PresenceOptions): Presence;
|
|
24
|
+
disposeAll(): void;
|
|
25
|
+
refresh(): void;
|
|
26
|
+
get hidden(): boolean;
|
|
27
|
+
set hidden(value: boolean);
|
|
28
|
+
get disabled(): boolean;
|
|
29
|
+
set disabled(value: boolean);
|
|
30
|
+
dispose(): void;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=Container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/facade/Container.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,MAAM,EACN,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,OAAO,EACP,KAAK,UAAU,EACf,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,QAAQ,EACR,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMxD,MAAM,WAAW,UAAU;IACzB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,8BAAsB,eAAe;;IACnC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAKvC,SAAS,CAAC,QAAQ,KAAK,WAAW,IAAI,WAAW,CAAC;IAElD,SAAS,CAAC,QAAQ,CAAC,YAAY,CAC7B,OAAO,EAAE,aAAa,GACrB,MAAM;IAET,SAAS,CACP,OAAO,GAAE,aAAkB,GAC1B,MAAM;IAST,UAAU,CAAC,OAAO,SAAS,MAAM,EAAE,IAAI,SAAS,MAAM,OAAO,EAC3D,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,IAAI,EACT,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GACtC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;IASzB,UAAU,CAAC,OAAO,SAAS,MAAM,EAAE,IAAI,SAAS,UAAU,CAAC,OAAO,CAAC,EACjE,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,IAAI,EACT,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GACtC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;IASzB,WAAW,CAAC,OAAO,SAAS,MAAM,EAChC,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,GAC7B,IAAI;IAMP,SAAS,CACP,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM;IAQT,YAAY,IAAI,SAAS;IAQzB,WAAW,CACT,OAAO,GAAE,eAAoB,GAC5B,QAAQ;IAQX,UAAU,IAAI,IAAI;IAQlB,OAAO,IAAI,IAAI;IAMf,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,MAAM,CACR,KAAK,EAAE,OAAO,EAGf;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CACV,KAAK,EAAE,OAAO,EAGf;IAED,OAAO,IAAI,IAAI;CAGhB"}
|