@vuu-ui/vuu-ui-controls 0.8.8-debug → 0.8.9-debug
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/cjs/index.js +5705 -3779
- package/cjs/index.js.map +4 -4
- package/esm/index.js +5754 -3781
- package/esm/index.js.map +4 -4
- package/index.css +419 -105
- package/index.css.map +3 -3
- package/package.json +8 -6
- package/types/vuu-popups/src/dialog/Dialog.d.ts +8 -0
- package/types/vuu-popups/src/dialog/index.d.ts +1 -0
- package/types/vuu-popups/src/index.d.ts +8 -0
- package/types/vuu-popups/src/menu/ContextMenu.d.ts +16 -0
- package/types/vuu-popups/src/menu/MenuList.d.ts +43 -0
- package/types/vuu-popups/src/menu/context-menu-provider.d.ts +10 -0
- package/types/vuu-popups/src/menu/index.d.ts +4 -0
- package/types/vuu-popups/src/menu/key-code.d.ts +12 -0
- package/types/vuu-popups/src/menu/list-dom-utils.d.ts +4 -0
- package/types/vuu-popups/src/menu/use-cascade.d.ts +25 -0
- package/types/vuu-popups/src/menu/use-items-with-ids-next.d.ts +13 -0
- package/types/vuu-popups/src/menu/use-keyboard-navigation.d.ts +27 -0
- package/types/vuu-popups/src/menu/useContextMenu.d.ts +20 -0
- package/types/vuu-popups/src/menu/utils.d.ts +2 -0
- package/types/vuu-popups/src/popup/Popup.d.ts +10 -0
- package/types/vuu-popups/src/popup/index.d.ts +3 -0
- package/types/vuu-popups/src/popup/popup-service.d.ts +59 -0
- package/types/vuu-popups/src/popup/useAnchoredPosition.d.ts +12 -0
- package/types/vuu-popups/src/popup-menu/PopupMenu.d.ts +16 -0
- package/types/vuu-popups/src/popup-menu/index.d.ts +1 -0
- package/types/vuu-popups/src/portal/Portal.d.ts +30 -0
- package/types/vuu-popups/src/portal/index.d.ts +1 -0
- package/types/vuu-popups/src/portal-deprecated/PortalDeprecated.d.ts +8 -0
- package/types/vuu-popups/src/portal-deprecated/index.d.ts +3 -0
- package/types/vuu-popups/src/portal-deprecated/portal-utils.d.ts +1 -0
- package/types/vuu-popups/src/portal-deprecated/render-portal.d.ts +10 -0
- package/types/vuu-popups/src/prompt/Prompt.d.ts +14 -0
- package/types/vuu-popups/src/prompt/index.d.ts +1 -0
- package/types/vuu-popups/src/tooltip/Tooltip.d.ts +12 -0
- package/types/vuu-popups/src/tooltip/index.d.ts +2 -0
- package/types/vuu-popups/src/tooltip/useAnchoredPosition.d.ts +12 -0
- package/types/vuu-popups/src/tooltip/useTooltip.d.ts +16 -0
- package/types/vuu-ui-controls/src/combo-box/ComboBox.d.ts +18 -0
- package/types/vuu-ui-controls/src/combo-box/index.d.ts +1 -0
- package/types/vuu-ui-controls/src/combo-box/useCombobox.d.ts +22 -0
- package/types/{list → vuu-ui-controls/src}/common-hooks/collectionTypes.d.ts +1 -0
- package/types/vuu-ui-controls/src/common-hooks/index.d.ts +8 -0
- package/types/{list → vuu-ui-controls/src}/common-hooks/navigationTypes.d.ts +5 -3
- package/types/{list → vuu-ui-controls/src}/common-hooks/selectionTypes.d.ts +16 -12
- package/types/{list → vuu-ui-controls/src}/common-hooks/useCollectionItems.d.ts +1 -1
- package/types/vuu-ui-controls/src/common-hooks/useControlled.d.ts +24 -0
- package/types/{list → vuu-ui-controls/src}/common-hooks/useSelection.d.ts +1 -1
- package/types/vuu-ui-controls/src/drag-drop/DragDropProvider.d.ts +37 -0
- package/types/vuu-ui-controls/src/drag-drop/DragDropState.d.ts +15 -0
- package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/dragDropTypesNext.d.ts +24 -5
- package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/drop-target-utils.d.ts +8 -9
- package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/useDragDisplacers.d.ts +3 -2
- package/types/vuu-ui-controls/src/drag-drop/useDragDropIndicator.d.ts +2 -0
- package/types/vuu-ui-controls/src/drag-drop/useDragDropNaturalMovementNext.d.ts +2 -0
- package/types/vuu-ui-controls/src/drag-drop/useGlobalDragDrop.d.ts +10 -0
- package/types/vuu-ui-controls/src/dropdown/Dropdown.d.ts +10 -0
- package/types/vuu-ui-controls/src/dropdown/DropdownBase.d.ts +10 -0
- package/types/vuu-ui-controls/src/dropdown/DropdownButton.d.ts +42 -0
- package/types/vuu-ui-controls/src/dropdown/dropdownTypes.d.ts +45 -0
- package/types/vuu-ui-controls/src/dropdown/index.d.ts +5 -0
- package/types/vuu-ui-controls/src/dropdown/useClickAway.d.ts +8 -0
- package/types/vuu-ui-controls/src/dropdown/useDropdown.d.ts +13 -0
- package/types/vuu-ui-controls/src/dropdown/useDropdownBase.d.ts +2 -0
- package/types/vuu-ui-controls/src/editable/editable-utils.d.ts +4 -0
- package/types/vuu-ui-controls/src/editable/index.d.ts +2 -0
- package/types/vuu-ui-controls/src/editable/useEditableText.d.ts +16 -0
- package/types/vuu-ui-controls/src/expando-input/ExpandoInput.d.ts +4 -0
- package/types/vuu-ui-controls/src/expando-input/index.d.ts +1 -0
- package/types/vuu-ui-controls/src/index.d.ts +15 -0
- package/types/vuu-ui-controls/src/inputs/Checkbox.d.ts +10 -0
- package/types/vuu-ui-controls/src/inputs/RadioButton.d.ts +10 -0
- package/types/vuu-ui-controls/src/inputs/index.d.ts +2 -0
- package/types/vuu-ui-controls/src/instrument-search/InstrumentSearch.d.ts +11 -0
- package/types/vuu-ui-controls/src/instrument-search/SearchCell.d.ts +4 -0
- package/types/vuu-ui-controls/src/instrument-search/index.d.ts +1 -0
- package/types/vuu-ui-controls/src/instrument-search/moving-window.d.ts +14 -0
- package/types/vuu-ui-controls/src/instrument-search/useDataSource.d.ts +7 -0
- package/types/vuu-ui-controls/src/list/ChevronIcon.d.ts +8 -0
- package/types/{list → vuu-ui-controls/src/list}/List.d.ts +2 -2
- package/types/{list → vuu-ui-controls/src/list}/ListItem.d.ts +3 -1
- package/types/vuu-ui-controls/src/list/RadioIcon.d.ts +6 -0
- package/types/{list → vuu-ui-controls/src/list}/VirtualizedList.d.ts +1 -1
- package/types/{list → vuu-ui-controls/src/list}/common-hooks/index.d.ts +2 -7
- package/types/{list → vuu-ui-controls/src/list}/common-hooks/keyUtils.d.ts +0 -1
- package/types/{list → vuu-ui-controls/src/list}/common-hooks/list-dom-utils.d.ts +0 -1
- package/types/{list → vuu-ui-controls/src/list}/common-hooks/useCollapsibleGroups.d.ts +2 -2
- package/types/{list → vuu-ui-controls/src/list}/common-hooks/useImperativeScrollingAPI.d.ts +1 -1
- package/types/vuu-ui-controls/src/list/common-hooks/useKeyboardNavigation.d.ts +3 -0
- package/types/{list → vuu-ui-controls/src/list}/common-hooks/useTypeahead.d.ts +1 -1
- package/types/{list → vuu-ui-controls/src/list}/common-hooks/useViewportTracking.d.ts +1 -1
- package/types/{list → vuu-ui-controls/src/list}/common-hooks/utils/collection-item-utils.d.ts +1 -1
- package/types/{list → vuu-ui-controls/src/list}/common-hooks/utils/index.d.ts +1 -0
- package/types/vuu-ui-controls/src/list/common-hooks/utils/isSelected.d.ts +2 -0
- package/types/{list → vuu-ui-controls/src/list}/index.d.ts +3 -0
- package/types/{list → vuu-ui-controls/src/list}/listTypes.d.ts +15 -15
- package/types/{list → vuu-ui-controls/src/list}/useList.d.ts +2 -2
- package/types/{list → vuu-ui-controls/src/list}/useListHeight.d.ts +5 -4
- package/types/{list → vuu-ui-controls/src/list}/useVirtualization.d.ts +1 -1
- package/types/vuu-ui-controls/src/price-ticker/PriceTicker.d.ts +8 -0
- package/types/vuu-ui-controls/src/price-ticker/index.d.ts +1 -0
- package/types/vuu-ui-controls/src/tabstrip/TabMenu.d.ts +16 -0
- package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/TabsTypes.d.ts +2 -2
- package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/tabstrip-dom-utils.d.ts +0 -1
- package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/useSelection.d.ts +0 -1
- package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/useTabstrip.d.ts +1 -1
- package/types/vuu-ui-controls/src/utils/forwardCallbackProps.d.ts +3 -0
- package/types/vuu-ui-controls/src/utils/index.d.ts +2 -0
- package/types/vuu-ui-controls/src/vuu-input/VuuInput.d.ts +10 -0
- package/types/vuu-ui-controls/src/vuu-input/index.d.ts +1 -0
- package/types/vuu-utils/src/DataWindow.d.ts +39 -0
- package/types/vuu-utils/src/array-utils.d.ts +6 -0
- package/types/vuu-utils/src/box-utils.d.ts +9 -0
- package/types/vuu-utils/src/column-utils.d.ts +130 -0
- package/types/vuu-utils/src/common-types.d.ts +6 -0
- package/types/vuu-utils/src/component-registry.d.ts +23 -0
- package/types/vuu-utils/src/cookie-utils.d.ts +1 -0
- package/types/vuu-utils/src/data-utils.d.ts +14 -0
- package/types/vuu-utils/src/date-utils.d.ts +7 -0
- package/types/vuu-utils/src/debug-utils.d.ts +9 -0
- package/types/vuu-utils/src/event-emitter.d.ts +13 -0
- package/types/vuu-utils/src/filter-utils.d.ts +14 -0
- package/types/vuu-utils/src/formatting-utils.d.ts +9 -0
- package/types/vuu-utils/src/getUniqueId.d.ts +1 -0
- package/types/vuu-utils/src/group-utils.d.ts +3 -0
- package/types/vuu-utils/src/html-utils.d.ts +12 -0
- package/types/vuu-utils/src/index.d.ts +34 -0
- package/types/vuu-utils/src/input-utils.d.ts +2 -0
- package/types/vuu-utils/src/invariant.d.ts +1 -0
- package/types/vuu-utils/src/itemToString.d.ts +2 -0
- package/types/vuu-utils/src/json-utils.d.ts +6 -0
- package/types/vuu-utils/src/keyboard-utils.d.ts +12 -0
- package/types/vuu-utils/src/keyset.d.ts +11 -0
- package/types/vuu-utils/src/logging-utils.d.ts +44 -0
- package/types/vuu-utils/src/menu-utils.d.ts +2 -0
- package/types/vuu-utils/src/nanoid/index.d.ts +1 -0
- package/types/vuu-utils/src/perf-utils.d.ts +5 -0
- package/types/vuu-utils/src/range-utils.d.ts +24 -0
- package/types/vuu-utils/src/round-decimal.d.ts +1 -0
- package/types/vuu-utils/src/row-utils.d.ts +7 -0
- package/types/vuu-utils/src/screenshot-utils.d.ts +6 -0
- package/types/vuu-utils/src/selection-utils.d.ts +27 -0
- package/types/vuu-utils/src/sort-utils.d.ts +5 -0
- package/types/vuu-utils/src/text-utils.d.ts +2 -0
- package/types/vuu-utils/src/url-utils.d.ts +2 -0
- package/types/common-hooks/index.d.ts +0 -1
- package/types/drag-drop/DragDropProvider.d.ts +0 -22
- package/types/drag-drop/drag-utils.d.ts +0 -49
- package/types/drag-drop/useDragDropIndicator.d.ts +0 -2
- package/types/drag-drop/useDragDropNaturalMovementNext.d.ts +0 -2
- package/types/drag-drop/useDragSpacers.d.ts +0 -7
- package/types/index.d.ts +0 -5
- package/types/list/common-hooks/useKeyboardNavigation.d.ts +0 -4
- package/types/list/common-hooks/utils/isSelected.d.ts +0 -2
- package/types/tabstrip/TabMenu.d.ts +0 -12
- package/types/utils/index.d.ts +0 -1
- /package/types/{list → vuu-ui-controls/src}/common-hooks/collectionProvider.d.ts +0 -0
- /package/types/{list → vuu-ui-controls/src}/common-hooks/itemToString.d.ts +0 -0
- /package/types/{common-hooks → vuu-ui-controls/src/common-hooks}/use-resize-observer.d.ts +0 -0
- /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/Draggable.d.ts +0 -0
- /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/DropIndicator.d.ts +0 -0
- /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/index.d.ts +0 -0
- /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/useAutoScroll.d.ts +0 -0
- /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/useDragDropNext.d.ts +0 -0
- /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/useDropIndicator.d.ts +0 -0
- /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/useTransition.d.ts +0 -0
- /package/types/{editable-label → vuu-ui-controls/src/editable-label}/EditableLabel.d.ts +0 -0
- /package/types/{editable-label → vuu-ui-controls/src/editable-label}/index.d.ts +0 -0
- /package/types/{list → vuu-ui-controls/src/list}/CheckboxIcon.d.ts +0 -0
- /package/types/{list → vuu-ui-controls/src/list}/Highlighter.d.ts +0 -0
- /package/types/{list → vuu-ui-controls/src/list}/ListItemGroup.d.ts +0 -0
- /package/types/{list → vuu-ui-controls/src/list}/ListItemHeader.d.ts +0 -0
- /package/types/{list → vuu-ui-controls/src/list}/common-hooks/utils/filter-utils.d.ts +0 -0
- /package/types/{list → vuu-ui-controls/src/list}/keyset.d.ts +0 -0
- /package/types/{list → vuu-ui-controls/src/list}/useScrollPosition.d.ts +0 -0
- /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/Tab.d.ts +0 -0
- /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/TabMenuOptions.d.ts +0 -0
- /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/Tabstrip.d.ts +0 -0
- /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/index.d.ts +0 -0
- /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/useAnimatedSelectionThumb.d.ts +0 -0
- /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/useKeyboardNavigation.d.ts +0 -0
- /package/types/{tree → vuu-ui-controls/src/tree}/Tree.d.ts +0 -0
- /package/types/{tree → vuu-ui-controls/src/tree}/hierarchical-data-utils.d.ts +0 -0
- /package/types/{tree → vuu-ui-controls/src/tree}/index.d.ts +0 -0
- /package/types/{tree → vuu-ui-controls/src/tree}/key-code.d.ts +0 -0
- /package/types/{tree → vuu-ui-controls/src/tree}/list-dom-utils.d.ts +0 -0
- /package/types/{tree → vuu-ui-controls/src/tree}/use-collapsible-groups.d.ts +0 -0
- /package/types/{tree → vuu-ui-controls/src/tree}/use-hierarchical-data.d.ts +0 -0
- /package/types/{tree → vuu-ui-controls/src/tree}/use-items-with-ids.d.ts +0 -0
- /package/types/{tree → vuu-ui-controls/src/tree}/use-keyboard-navigation.d.ts +0 -0
- /package/types/{tree → vuu-ui-controls/src/tree}/use-selection.d.ts +0 -0
- /package/types/{tree → vuu-ui-controls/src/tree}/use-tree-keyboard-navigation.d.ts +0 -0
- /package/types/{tree → vuu-ui-controls/src/tree}/use-viewport-tracking.d.ts +0 -0
- /package/types/{tree → vuu-ui-controls/src/tree}/useTree.d.ts +0 -0
- /package/types/{utils → vuu-ui-controls/src/utils}/escapeRegExp.d.ts +0 -0
package/index.css.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../packages/vuu-ui-controls/src/
|
|
4
|
-
"sourcesContent": [".vuuDraggable {\n background: transparent;\n box-shadow: var(--salt-overlayable-shadow-drag);\n cursor: var(--salt-draggable-grab-cursor-active);\n position: absolute;\n opacity: .95;\n z-index: 2000;\n}\n\n.vuuDraggable-spacer {\n display: var(--vuuDraggable-display, inline-block);\n height: var(--vuuDraggable-spacer-height, var(--tabstrip-height));\n transition: var(--vuuDraggable-transitionProp, width) 0.3s ease;\n width: var(--vuuDraggable-spacer-width, 0);\n}\n\n.vuuDraggable-dropIndicatorPosition {\n display: var(--saltDraggable-display, inline-block);\n /* height: var(--saltDraggable-spacer-height, var(--tabstrip-height)); */\n /* width: var(--saltDraggable-spacer-width, 0); */\n height: 0px;\n width: 100%;\n}\n\n.vuuDraggable-dropIndicatorContainer {\n transition: var(--vuuDraggable-transitionProp, top) 0.2s ease;\n}\n\n.vuuDraggable-dropIndicator {\n /* height: var(--saltDraggable-spacer-height, var(--tabstrip-height)); */\n /* width: var(--saltDraggable-spacer-width, 0); */\n background-color: var(--salt-palette-accent-background);\n height: 2px;\n width: 100%;\n}\n\n.vuuDraggable-dropIndicator:before {\n content: '';\n width: 6px;\n height: 6px;\n border-radius: 3px;\n background-color: var(--salt-palette-accent-background);\n position: absolute;\n top: -2px;\n left: -3px;\n}\n\n.vuuDraggable-settling {\n transition-property: left, top;\n transition-duration: .15s;\n transition-timing-function: ease-out;\n}\n\n.vuuDraggable-spacer {\n order: 1;\n}", ".vuuEditableLabel {\n --saltInput-background: transparent;\n --saltInput-minWidth: 14px;\n --saltInput-position: absolute;\n --editableLabel-padding: var(--saltEditableLabel-padding, 6px);\n --editableLabel-height: var(--saltEditableLabel-height, 26px);\n color: inherit;\n cursor: default;\n display: flex;\n flex-direction: column;\n font-size: var(--salt-text-fontSize);\n height: var(--editableLabel-height);\n justify-content: center;\n outline: none;\n padding: 0 var(--editableLabel-padding);\n position: relative;\n z-index: var(--salt-zIndex-default);\n}\n\n.vuuEditableLabel:before {\n content: attr(data-text);\n display: block;\n height: 0px;\n visibility: hidden;\n white-space: pre-wrap;\n}\n\n.vuuEditableLabel .saltInput {\n font-weight: var(--salt-text-fontWeight);\n left: var(--editableLabel-padding, 0);\n padding: 0;\n outline-style: none;\n position: absolute;\n right: var(--editableLabel-padding, 0);\n top: var(--saltEditableLabel-top, 2px);\n width: auto;\n}\n\n.vuuEditableLabel .saltInput-activationIndicator {\n display: none;\n}\n\n.vuuEditableLabel-input {\n background-color: transparent;\n border: none;\n box-sizing: content-box;\n display: block;\n flex: 1;\n font: inherit;\n height: 20px;\n margin:0;\n min-width:0;\n outline: none;\n padding: 0;\n}\n", ".saltHighlighter-highlight {\n font-weight: var(--salt-text-fontWeight-strong); /* TODO: Check with design */\n}\n", ".vuuCheckboxIcon {\n --vuu-icon-size: 14px;\n --vuu-icon-left: -1px;\n --vuu-icon-top: -1px;\n --vuu-icon-svg: var(--vuu-svg-tick);\n border-style: solid;\n border-color: var(--vuuCheckboxIcon-borderColor, var(--salt-selectable-borderColor));\n border-radius: var(--vuuCheckboxIcon-borderRadius, 3px);\n border-width: 1px;\n display: inline-block;\n height: var(--vuuCheckboxIcon-size, 14px);\n position: relative;\n width: var(--vuuCheckboxIcon-size, 14px);\n}\n\n.vuuCheckboxIcon-checked {\n background-color: var(--vuuCheckboxIcon-background-checked, var(--salt-selectable-background-selected));\n border-color: var(--vuuCheckboxIcon-borderColor-checked, var(--salt-selectable-borderColor-selected));\n}\n\n.vuuCheckboxIcon-checked:after {\n content: \"\";\n background-color: white;\n left: var(--vuu-icon-left, auto);\n height: var(--vuu-icon-height, var(--vuu-icon-size, 12px));\n -webkit-mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask-repeat: no-repeat;\n -webkit-mask-repeat: no-repeat;\n position: absolute;\n top: var(--vuu-icon-top, auto);\n width: var(--vuu-icon-width, var(--vuu-icon-size, 12px));\n}", ".vuuListItem {\n /* Color */\n --list-item-text-color: var(--salt-text-primary-foreground);\n --list-item-background: var(--vuuList-item-background, var(--salt-selectable-background));\n /* --list-item-selected-focus-outlineColor: var(--salt-color-white); TODO: Check token with design */\n --list-item-text-color-active: var(--salt-text-primary-foreground);\n --list-item-background-active: var(--salt-selectable-background-selected);\n --list-item-alignItems: center;\n}\n\n.vuuListItem.saltHighlighted {\n --saltCheckbox-icon-stroke: var(--salt-selectable-borderColor-hover);\n --list-item-background: var(--salt-selectable-background-hover);\n}\n\n.vuuListItemHeader {\n font-weight: var(--salt-text-fontWeight-strong); /* TODO: Check token with design */\n}\n\n.vuuListItemHeader[data-sticky] {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.vuuListItem {\n color: var(--list-item-text-color);\n cursor: var(--vuuList-item-cursor, pointer);\n background: var(--vuuList-item-background, var(--list-item-background));\n font-size: var(--salt-text-fontSize);\n text-align: var(--salt-text-textAlign);\n line-height: var(--salt-text-lineHeight);\n height: var(--vuuList-item-height, var(--list-item-height, auto));\n /* Replaced border-bottom with margin. In design spec, the height of the items should not include gap */\n margin-bottom: var(--list-item-gap);\n padding: 0 var(--salt-size-unit);\n left: 0;\n right: 0;\n display: flex;\n position: relative;\n align-items: var(--list-item-alignItems);\n white-space: nowrap;\n}\n\n.vuuListItem:last-child {\n margin-bottom: 0px;\n}\n\n.vuuListItem-checkbox {\n --list-item-background-active: var(--salt-selectable-background);\n --list-item-text-color-active: var(--salt-text-primary-foreground);\n --list-item-text-padding: 0 0 0 var(--salt-size-unit);\n}\n\n.vuuListItem[aria-selected=\"true\"]:not(.vuuListItem-checkbox) {\n --list-item-background: var(--list-item-background-active);\n color: var(--list-item-text-color-active);\n}\n\n.vuuListItem.saltDisabled {\n --list-item-text-color: var(--salt-text-primary-foreground-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n.vuuListItem.vuuFocusVisible {\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-offset: -2px;\n outline-color: var(--salt-focused-outlineColor);\n}\n\n.vuuListItem.vuuFocusVisible:after {\n content: none;\n}\n\n.vuuListItem[aria-selected=\"true\"]:not(.vuuListItem-checkbox).vuuFocusVisible {\n outline-color: var(--list-item-selected-focus-outlineColor);\n}\n\n.vuuListItem-textWrapper {\n flex: 1;\n overflow: hidden;\n padding: var(--list-item-text-padding, 0px);\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.vuuListItem-proxy {\n position: absolute !important;\n visibility: hidden;\n}\n.vuuDraggable-list-item {\n --vuuList-item-height: 24px;\n background-color: white;\n}\n\n.vuuListItem.vuuDraggable-dragAway {\n display: none;\n}", ".vuuList {\n --list-background: var(--salt-container-primary-background);\n --list-borderStyle: var(--vuuList-borderStyle,--salt-container-borderStyle);\n --list-borderWidth: var(--salt-size-border);\n --list-height: auto;\n --list-item-height: var(--salt-size-stackable);\n --list-item-gap: 0px;\n --list-maxHeight: 100%;\n --vuuDraggable-display: block;\n --vuuDraggable-spacer-height: 0;\n --vuuDraggable-spacer-width: 100%;\n --vuuDraggable-transitionProp: height;\n\n background: var(--list-background);\n border-color: var(--salt-container-primary-borderColor);\n border-style: var(--list-borderStyle);\n border-width: var(--list-borderWidth);\n height: var(--saltList-height, var(--list-height));\n max-height: var(--list-maxHeight);\n outline: none;\n overflow-y: auto;\n position: relative;\n user-select: none;\n width: var(--saltList-width, auto);\n}\n\n.vuuList-borderless {\n --list-borderStyle: none;\n}\n\n/* virtualised list */\n.vuuList-viewport {\n --list-item-height: 30px;\n max-height: calc(var(--list-maxHeight) - 2 * var(--list-borderWidth));\n overflow: auto;\n}\n\n.vuuListItemHeader {\n --saltList-item-background: var(--list-item-header-background);\n color: var(--list-item-header-color);\n}\n\n.vuuListItemHeader[data-sticky=\"true\"] {\n --saltList-item-background: var(--list-background);\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.vuuList-collapsible .vuuListItemHeader:after {\n border-width: var(--checkbox-borderWidth);\n border-color: var(--checkbox-borderColor);\n content: var(--list-item-header-twisty-content);\n -webkit-mask: var(--list-svg-chevron-down) center center/12px 12px no-repeat;\n mask: var(--list-svg-chevron-down) center center/12px 12px no-repeat;\n background: var(--list-item-header-twisty-color);\n height: 12px;\n left: var(--list-item-header-twisty-left);\n right: var(--list-item-header-twisty-right);\n margin-top: -8px;\n position: absolute;\n top: var(--list-item-header-twisty-top);\n transition: transform 0.3s;\n width: 12px;\n}\n.vuuListItemHeader[aria-expanded=\"false\"]:after {\n transform: rotate(-90deg);\n}\n\n/* Selection */\n\n.vuuList-scrollingContentContainer {\n box-sizing: inherit;\n position: relative;\n}\n\n.vuuList-virtualized .vuuListItem {\n line-height: 30px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n will-change: transform;\n}\n.vuuList.saltFocusVisible:after {\n inset: 2px;\n}\n", "/* Component class applied to the root element */\n.vuuTabstrip {\n --vuuOverflowContainer-background: transparent;\n /* --tabstrip-height: var(--vuuTabstrip-height, var(--salt-size-stackable)); */\n --tabstrip-dragging-display: none;\n --tabstrip-display: inline-flex;\n --tabstrip-background: transparent;\n\n align-self: var(--saltTabs-tabstrip-alignSelf, stretch);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--vuuTabstrip-fontWeight, var(--salt-text-fontWeight));\n position: relative;\n overflow: visible;\n display: flex;\n min-width: 28px;\n width: var(--tabstrip-width);\n}\n\n/* Tabstrip orientation is horizontal */\n.vuuTabstrip-horizontal {\n --tabstrip-height: var(--vuuTabstrip-height, 28px);\n --tabstrip-width: var(--vuuTabstrip-width, 100%);\n --tab-width: auto;\n --tab-thumb-height: 2px;\n --tab-thumb-left: var(--tab-thumb-offset, 0);\n --tab-thumb-top: auto;\n --tab-thumb-width: var(--tab-thumb-size, 100%);\n align-items: flex-start;\n border-bottom: var(--vuuTabstrip-borderBottom, solid 1px var(--salt-container-primary-borderColor));\n}\n\n/* Tabstrip orientation is vertical */\n.vuuTabstrip-vertical {\n --tabstrip-height: var(--vuuTabstrip-height, 100%);\n --tabstrip-width: var(--vuuTabstrip-width, 100px);\n --tab-width: 100%;\n --tab-thumb-height: var(--tab-thumb-size, 100%);\n --tab-thumb-left: 0;\n --tab-thumb-top: var(--tab-thumb-offset, 0);\n --tab-thumb-width: 2px;\n\n align-self: flex-start;\n display: inline-flex;\n}\n\n.vuuTabstrip-draggingTab .vuuTab {\n pointer-events: none;\n}\n\n.vuuTabstrip-addTabButton {\n --saltButton-height: 20px;\n --saltButton-width: 20px;\n}\n\n.vuuTabstrip-overflowMenu.saltDropdown {\n --saltIcon-margin: 2px 0 0 0px;\n}\n\n.vuuTabstrip-overflowMenu-open {\n --saltButton-background: var(--salt-actionable-secondary-background-active);\n --saltButton-text-color: var(--salt-actionable-secondary-text-color-active);\n}\n\n.vuuTabstrip-overflowMenu-open .saltButton {\n --saltIcon-color: var(--salt-actionable-secondary-foreground-active);\n}\n\n.vuuTabstrip-inner {\n width: 100%;\n align-items: center;\n display: flex;\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 1;\n flex-wrap: wrap;\n justify-content: flex-start;\n line-height: var(--tabstrip-height);\n}\n\n.vuuTabstrip-vertical .vuuTabstrip-inner {\n flex-direction: column;\n height: auto;\n}\n\n.vuuTabstrip-centered .vuuTabstrip-inner {\n justify-content: center;\n}\n\n/* Styling applied to Draggable wrapper when used to drag a Tab */\n.vuuDraggable[class*=\"vuuTabstrip\"] {\n --tabstrip-display: flex;\n --tabstrip-height: 100%;\n --tabstrip-dragging-display: block;\n\n --tabs-tab-background: var(--salt-navigable-primary-background-hover);\n --tabs-tab-before-content: \"\";\n --tabs-tab-before-background: var(--salt-navigable-indicator-hover);\n --tabs-tab-before-height: var(--tab-activationIndicator-thumb-height);\n --tabs-tab-before-inset: var(--tab-activationIndicator-inset);\n --tabs-tab-before-width: var(--tab-activationIndicator-thumb-width);\n --tabs-tab-cursor: var(--salt-draggable-grab-cursor-active);\n --tabs-tab-position: static;\n\n font-size: 12px;\n}\n\n.vuuDraggable-tabstrip-horizontal {\n --tab-thumb-height: 2px;\n --tab-thumb-left: 0px;\n --tabstrip-height: 28px;\n line-height: var(--tabstrip-height);\n}\n\n\n.vuuDraggable[class*=\"tabstrip\"] .vuuTab[aria-selected=\"true\"]:before {\n --tabs-tab-before-background: var(--salt-navigable-indicator-active);\n}\n\n/* [data-overflowed] {\n order: 99;\n visibility: hidden;\n} */\n\n.vuuTabstrip-overflowMenu-dropTarget:after {\n background: var(--salt-selectable-background-selected);\n content: \"\";\n position: absolute;\n height: 2px;\n left: 0;\n right: 0;\n bottom: 0;\n}\n", ".vuuTabMenu {\n top: -2px;\n}", "/* Class applied to root Tab element */\n.vuuTab {\n --saltEditableLabel-padding: 0;\n --saltEditableLabel-height: var(--tabstrip-height);\n --saltInputLegacy-minWidth: 4em;\n --saltEditableLabel-top: 3px;\n\n --tab-background: var(--vuuTab-background, var(--salt-navigable-primary-background));\n --tab-cursor: pointer;\n --tab-position: relative;\n}\n\n.vuuTab {\n align-items: center;\n align-self: stretch;\n background: var(--tab-background);\n border: none;\n border-radius: var(--vuuTab-borderRadius, 0);\n color: var(--salt-text-primary-foreground);\n cursor: var(--vuuTab-cursor, var(--tab-cursor));\n display: var(--tabstrip-display);\n gap: 8px;\n height: var(--vuuTab-height, var(--tabstrip-height));\n letter-spacing: var(--vuuTab-letterSpacing, var(--tab-letterSpacing, 0));\n min-width: var(--vuuTab-minWidth, 40px);\n outline: none;\n padding: var(--vuuTab-padding, 0 24px);\n position: var(--vuuTab-position, var(--tab-position));\n user-select: none;\n width: var(--tab-width)\n}\n\n/* Overrides characteristic used in saltFocusVisible */\n/* .vuuTab.saltFocusVisible:after {\n inset: 2px 2px 4px 2px;\n} */\n\n.vuuTab {\n margin: 0 var(--tab-spacing) 0 0;\n}\n\n.vuuTab-selected {\n background: var(--vuuTab-background-selected, var(--tab-background));\n color: var(--salt-text-primary-foreground);\n font-weight: var(--salt-navigable-fontWeight-active);\n}\n\n/* main content aria of Tab */\n.vuuTab-main {\n align-items: center;;\n border: none;\n color: inherit;\n cursor: inherit;\n display: flex;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n height: var(--vuuTabstrip-height, var(--salt-size-stackable));\n outline: none;\n position: relative;\n}\n\n.vuuTab-closeable .vuuTab-main {\n border-right: solid transparent var(--salt-size-unit);\n}\n\n.vuuTab .vuuTab-closeButton {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* the close Button on a closeable Tab*/\n.vuuTab-close-icon {\n display: none;\n}\n\n.salt-density-touch .vuuTab-close-icon,\n.salt-density-low .vuuTab-close-icon {\n display: block;\n}\n\n.salt-density-touch .vuuTab-close-icon-small,\n.salt-density-low .vuuTab-close-icon-small {\n display: none;\n}\n\n.vuuTab .vuuTab-text {\n display: inline-block;\n position: relative;\n overflow: hidden;\n text-align: var(--salt-text-textAlign-embedded);\n text-overflow: ellipsis;\n top: var(--vuuTab-top, var(--tab-top, auto));\n white-space: nowrap;\n /* ensure content sits above focus ring */\n z-index: var(--salt-zIndex-default);\n}\n\n.vuuTab .vuuTab-text:before {\n height: 0;\n content: attr(data-text);\n display: block;\n visibility: hidden;\n font-weight: var(--salt-navigable-fontWeight-active);\n}\n\n/* FIXME: these are all focusVisible styles, but with a bespoke inset */\n.vuuTab-editing:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 2px;\n outline-color: var(--salt-focused-outlineColor);\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-offset: -2px;\n}\n\n.vuuTab.vuuFocusVisible {\n background: var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover));\n outline-color: var(--vuuTab-focusVisible-color, var(--salt-focused-outlineColor));\n outline-style: dashed;\n outline-width: 1px;\n outline-offset: -1px;\n}\n\n.vuuTab:before {\n content: var(--tab-before-content, none);\n content: \"\";\n background: var(--tab-before-background);\n height: var(--tab-before-height);\n inset: var(--tab-before-inset);\n position: absolute;\n width: var(--tab-before-width);\n z-index: 1;\n}\n\n.vuuTabstrip-draggingTab .vuuTab-selected:before {\n --tab-before-content: \"\";\n --tab-before-background: var(--salt-navigable-indicator-color-active);\n --tab-before-height: var(--tab-thumb-height);\n --tab-before-inset: var(--tab-activationIndicator-inset);\n --tab-before-width: var(--tab-activationIndicator-thumb-width);\n}\n\n/* .vuuDraggable .vuuTab:before,\n.vuuTab:not(.vuuTab-selected).saltFocusVisible:before,\n.vuuTab:hover:not(.vuuTab-selected):before {\n --tab-before-content: \"\";\n --tab-before-background: var(--salt-navigable-indicator-hover);\n --tab-before-height: var(--tab-thumb-height);\n --tab-before-inset: var(--tab-activationIndicator-inset);\n --tab-before-width: var(--tab-activationIndicator-thumb-width);\n} */\n\n.vuuTab-selected:before {\n --tab-before-content: \"\";\n background: var(--salt-navigable-indicator-active);\n height: var(--tab-thumb-height);\n position: absolute;\n left: var(--tab-thumb-left);\n bottom: 0px; \n top: var(--tab-thumb-top, auto);\n transition: var(--tab-thumb-transition, none);\n width: var(--tab-thumb-width, 100%);\n}\n\n.vuuTab:hover:not(.vuuTab-closeHover) {\n background: var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover));\n}\n\n/* .vuuTabstrip.vuuTabThumb-noTransition .vuuTab-selected:before {\n transition: none; \n} */", ".vuuTree {\n --tree-node-collapse: var(--vuuTree-toggle-collapse, var(--svg-tree-node-collapse));\n --tree-node-expand: var(--vuuTree-toggle-expand, var(--svg-tree-node-expand));\n --tree-toggle-width: 12px;\n --tree-icon-color: var(--vuuTree-icon-color, #4c505b);\n --tree-node-expanded-transform: var(--vuuTree-node-expanded-transform, none);\n --tree-node-indent: 0px;\n\n --list-hilited-bg: var(--hw-list-hilited-bg, rgba(0, 0, 0, 0.1));\n --list-item-height: var(--hw-list-item-height, 30px);\n --list-item-padding: var(--hw-list-item-padding, 0 6px);\n --list-item-header-bg: var(--hw-list-item-header-bg, black);\n --list-item-header-color: var(--hw-list-item-header-color, white);\n --list-item-header-font-weight: bold;\n --list-item-header-twisty-color: black;\n --list-item-header-twisty-content: '';\n --list-item-header-twisty-top: 50%;\n --list-item-header-twisty-left: -18px;\n --list-item-header-twisty-right: auto;\n --list-item-selected-bg: var(--hw-list-selected-bg, #1ea7fd);\n --list-item-selected-color: white;\n --list-item-text-color: var(--hw-gray-800);\n --focus-visible-border-color: var(--hw-focus-visible-border-color, rgb(141, 154, 179));\n\n list-style: none;\n margin: 0;\n padding: 0 1px;\n font-size: var(--vuuTree-font-size, 14px);\n max-height: inherit;\n outline: none;\n overflow-y: auto;\n position: relative;\n user-select: none;\n}\n\n.vuuTree-viewport {\n --list-item-height: 30px;\n box-sizing: border-box;\n max-height: inherit;\n overflow: auto;\n}\n\n.vuuTree-scrollingContentContainer {\n box-sizing: inherit;\n position: relative;\n}\n\n.vuuTree-scrollingContentContainer .vuuTreeNode {\n line-height: 30px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n will-change: transform;\n}\n\n.vuuTreeNode {\n list-style: none;\n}\n\n/* Leaf node or the div child of a collapsible node */\n.vuuTreeNode:not([aria-expanded]),\n.vuuTreeNode[aria-expanded] > .vuuTreeNode-label {\n --checkbox-border-color: black;\n --checkbox-border-width: 1px;\n --checkbox-tick: black;\n --list-item-padding-left: 6px;\n --svg-toggle: var(--tree-node-collapse);\n\n align-items: center;\n color: var(--list-item-text-color);\n display: flex;\n flex-wrap: nowrap;\n height: var(--list-item-height);\n line-height: var(--list-item-height);\n padding: var(--list-item-padding);\n padding-left: var(--padding-left);\n position: relative;\n cursor: default;\n margin: 0;\n white-space: nowrap;\n}\n\n.vuuTreeNode:not([aria-expanded]) {\n --padding-left: calc(\n var(--list-item-padding-left) + var(--tree-toggle-width) + var(--tree-node-indent)\n );\n}\n\n.vuuTreeNode[aria-expanded] > .vuuTreeNode-label {\n --padding-left: calc(\n var(--list-item-padding-left) + var(--tree-toggle-width) + var(--tree-node-indent)\n );\n}\n\n.vuuTreeNode-icon {\n background-color: var(--tree-icon-color);\n display: inline-block;\n height: 18px;\n margin-right: 6px;\n -webkit-mask: var(--vuu-icon-svg) center center/12px 12px no-repeat;\n mask: var(--vuu-icon-svg) center center/12px 12px no-repeat;\n flex: 0 0 18px;\n}\n\n.vuuTreeNode[aria-expanded] {\n flex-direction: column;\n}\n\n.vuuTreeNode[aria-expanded] {\n flex-direction: column;\n height: auto;\n}\n\n.vuuTreeNode > *[role='group'] {\n padding-left: 0px;\n}\n\n.vuuTreeNode {\n padding-left: calc(var(--padding-left) + var(--tree-node-indent));\n}\n\n.vuuTreeNode[aria-level='2'] {\n --tree-node-indent: 12px;\n}\n.vuuTreeNode[aria-level='3'] {\n --tree-node-indent: 24px;\n}\n.vuuTreeNode[aria-level='4'] {\n --tree-node-indent: 36px;\n}\n\n.vuuTreeNode:not(.focusVisible):not(.hwListItemHeader):not([aria-expanded])[data-highlighted],\n.vuuTreeNode:not(.focusVisible):not(.hwListItemHeader)[aria-expanded][data-highlighted]\n > div:first-child {\n background-color: var(--list-hilited-bg);\n}\n\n.vuuTreeNode-toggle {\n cursor: pointer;\n}\n\n.vuuTreeNode > .vuuTreeNode-toggle {\n display: inline-block;\n height: 100%;\n left: 0;\n position: absolute;\n width: calc(var(--list-item-padding-left) + var(--tree-toggle-width));\n}\n\n.vuuTreeNode[aria-expanded] > .vuuTreeNode-label:after {\n content: var(--list-item-header-twisty-content);\n -webkit-mask: var(--svg-toggle) center center/8px 8px no-repeat;\n mask: var(--svg-toggle) center center/8px 8px no-repeat;\n background-color: var(--list-item-header-twisty-color);\n height: 18px;\n margin-top: -9px;\n left: var(--tree-node-indent);\n position: absolute;\n top: var(--list-item-header-twisty-top);\n transition: transform 0.3s;\n width: 18px;\n}\n\n.vuuTreeNode[aria-selected='true'] {\n --list-item-header-twisty-color: var(--list-item-selected-color);\n}\n\n\n.vuuTreeNode:not(.focusVisible):focus {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\n.vuuTreeNode:not([aria-expanded]).focusVisible:before,\n.vuuTreeNode[aria-expanded].focusVisible > div:first-child:before {\n content: '';\n position: absolute;\n top: 0px;\n left: var(--tree-focus-offset, 0px);\n right: 0;\n bottom: 0px;\n border: dotted var(--focus-visible-border-color) 2px;\n background-color: var(--list-hilited-bg);\n}\n\n\n.vuuTreeNode[aria-expanded='false'] > *:first-child:after {\n --svg-toggle: var(--tree-node-expand);\n}\n\n.vuuTreeNode[aria-expanded='true'] > *:first-child:after {\n transform: var(--tree-node-expanded-transform);\n}\n\n/* Selection */\n\n.vuuTree:not(.checkbox-only) .vuuTreeNode:not([aria-expanded])[aria-selected='true'],\n.vuuTree:not(.checkbox-only) .vuuTreeNode[aria-expanded][aria-selected='true'] > div:first-child {\n --checkbox-border-color: var(--list-item-selected-color);\n --checkbox-tick: var(--list-item-selected-color);\n --focus-visible-border-color: var(--list-item-selected-color);\n background-color: var(--list-item-selected-bg);\n color: var(--list-item-selected-color);\n}\n\n.with-checkbox .vuuTreeNode {\n padding-left: 28px;\n}\n\n.with-checkbox .vuuTreeNode:before {\n border-style: solid;\n border-width: var(--checkbox-border-width);\n border-color: var(--checkbox-border-color);\n content: '';\n height: 12px;\n left: 3px;\n margin-top: -7px;\n position: absolute;\n top: 50%;\n width: 12px;\n}\n"],
|
|
5
|
-
"mappings": ";AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;
|
|
3
|
+
"sources": ["../../../packages/vuu-ui-controls/src/dropdown/Dropdown.css", "../../../packages/vuu-ui-controls/src/dropdown/DropdownButton.css", "../../../packages/vuu-ui-controls/src/list/Highlighter.css", "../../../packages/vuu-ui-controls/src/list/CheckboxIcon.css", "../../../packages/vuu-ui-controls/src/list/ListItem.css", "../../../packages/vuu-ui-controls/src/drag-drop/Draggable.css", "../../../packages/vuu-ui-controls/src/list/List.css", "../../../packages/vuu-ui-controls/src/list/RadioIcon.css", "../../../packages/vuu-ui-controls/src/list/ChevronIcon.css", "../../../packages/vuu-ui-controls/src/editable-label/EditableLabel.css", "../../../packages/vuu-ui-controls/src/expando-input/ExpandoInput.css", "../../../packages/vuu-ui-controls/src/inputs/Checkbox.css", "../../../packages/vuu-ui-controls/src/inputs/RadioButton.css", "../../../packages/vuu-ui-controls/src/instrument-search/SearchCell.css", "../../../packages/vuu-ui-controls/src/instrument-search/InstrumentSearch.css", "../../../packages/vuu-ui-controls/src/price-ticker/PriceTicker.css", "../../../packages/vuu-ui-controls/src/tabstrip/Tabstrip.css", "../../../packages/vuu-ui-controls/src/tabstrip/TabMenu.css", "../../../packages/vuu-ui-controls/src/tabstrip/Tab.css", "../../../packages/vuu-ui-controls/src/tree/Tree.css"],
|
|
4
|
+
"sourcesContent": [".vuuDropdown {\n --saltIcon-margin: 2px 0 0 8px;\n --saltButton-borderStyle: solid;\n --saltButton-borderColor: var(--salt-editable-borderColor);\n --saltButton-borderWidth: 1px;\n --saltButton-borderRadius: 6px;\n --saltButton-height: var(--vuuDropdown-height, auto);\n\n display: inline-block;\n line-height: 0;\n position: relative;\n width: var(--vuuDropdown-width, auto);\n}\n\n.vuuDropdown-fullWidth {\n width: 100%;\n}\n\n.vuuDropdown-popup {\n background: var(--salt-container-primary-background);\n z-index: calc(var(--salt-zIndex-flyover) - 1);\n}\n\n.vuuDropdown-popup-component {\n --vuuList-borderStyle: none;\n}\n\n.vuuDropdownButton {\n width: 100%;\n}", ".vuuDropdownButton {\n --saltButton-background-hover: var(--salt-actionable-secondary-background);\n --saltButton-background-active: var(--salt-actionable-secondary-background);\n --saltButton-fontWeight: var(--salt-text-fontWeight-strong); /* TODO: Check with design */\n --saltButton-textAlign: left;\n --saltButton-textTransform: none;\n --saltButton-width: 100%;\n\n --vuu-icon-size: 16px;\n}\n\n.vuuDropdownButton:active {\n --saltIcon-color: var(--salt-actionable-secondary-foreground);\n --saltButton-text-color-active: var(--salt-actionable-secondary-foreground);\n}\n\n.vuuDropdownButton-fullwidth {\n width: 100%;\n}\n\n.vuuDropdownButton-content {\n align-items: center;\n flex: 1;\n width: 100%;\n display: flex;\n white-space: nowrap;\n}\n\n.vuuDropdownButton-buttonLabel {\n display: inline-block;\n letter-spacing: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n}\n\n.vuuDropdownButton-formField.saltButton:focus,\n.vuuDropdownButton-formField.saltButton:focus-visible {\n outline: none;\n}\n", ".saltHighlighter-highlight {\n font-weight: var(--salt-text-fontWeight-strong); /* TODO: Check with design */\n}\n", ".vuuCheckboxIcon {\n --vuu-icon-size: 12px;\n --vuu-icon-left: -1px;\n --vuu-icon-top: -1px;\n --vuu-icon-svg: var(--vuu-svg-tick);\n border-style: solid;\n border-color: var(--vuuCheckboxIcon-borderColor, var(--salt-selectable-borderColor));\n border-radius: var(--vuuCheckboxIcon-borderRadius, 3px);\n border-width: 1px;\n display: inline-block;\n height: var(--vuuCheckboxIcon-size, 12px);\n position: relative;\n width: var(--vuuCheckboxIcon-size, 12px);\n}\n\n.vuuCheckboxIcon-checked {\n background-color: var(--vuuCheckboxIcon-background-checked, var(--salt-selectable-background-selected));\n border-color: var(--vuuCheckboxIcon-borderColor-checked, var(--salt-selectable-borderColor-selected));\n}\n\n.vuuCheckboxIcon-checked:after {\n content: \"\";\n background-color: white;\n left: var(--vuu-icon-left, auto);\n height: var(--vuu-icon-height, var(--vuu-icon-size, 12px));\n -webkit-mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask-repeat: no-repeat;\n -webkit-mask-repeat: no-repeat;\n position: absolute;\n top: var(--vuu-icon-top, auto);\n width: var(--vuu-icon-width, var(--vuu-icon-size, 12px));\n}", ".vuuListItem {\n /* Color */\n --list-item-text-color: var(--salt-text-primary-foreground);\n --list-item-background: var(--vuuList-item-background, var(--salt-selectable-background));\n /* --list-item-selected-focus-outlineColor: var(--salt-color-white); TODO: Check token with design */\n --list-item-text-color-active: var(--salt-text-primary-foreground);\n --list-item-background-active: var(--salt-selectable-background-selected);\n --list-item-alignItems: center;\n}\n\n.vuuListItem.vuuHighlighted {\n --saltCheckbox-icon-stroke: var(--salt-selectable-borderColor-hover);\n --list-item-background: var(--salt-selectable-background-hover);\n}\n\n.vuuListItemHeader {\n font-weight: var(--salt-text-fontWeight-strong); /* TODO: Check token with design */\n}\n\n.vuuListItemHeader[data-sticky] {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.vuuListItem {\n color: var(--list-item-text-color);\n cursor: var(--vuuList-item-cursor, pointer);\n background: var(--vuuList-item-background, var(--list-item-background));\n font-size: var(--salt-text-fontSize);\n text-align: var(--salt-text-textAlign);\n line-height: var(--salt-text-lineHeight);\n height: var(--vuuList-item-height, var(--list-item-height, auto));\n /* Replaced border-bottom with margin. In design spec, the height of the items should not include gap */\n margin-bottom: var(--list-item-gap);\n padding: 0 var(--vuuListItem-padding, var(--salt-size-unit));\n left: 0;\n right: 0;\n display: flex;\n position: relative;\n align-items: var(--list-item-alignItems);\n white-space: nowrap;\n}\n\n.vuuListItem:last-child {\n margin-bottom: 0px;\n}\n\n.vuuListItem-checkbox {\n --list-item-background-active: var(--salt-selectable-background);\n --list-item-text-color-active: var(--salt-text-primary-foreground);\n --list-item-text-padding: 0 0 0 var(--salt-size-unit);\n}\n\n.vuuListItem[aria-selected=\"true\"]:not(.vuuListItem-checkbox) {\n --list-item-background: var(--list-item-background-active);\n color: var(--list-item-text-color-active);\n}\n\n.vuuListItem.vuuDisabled {\n --list-item-text-color: var(--salt-text-primary-foreground-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n.vuuListItem.vuuFocusVisible {\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-offset: -2px;\n outline-color: var(--salt-focused-outlineColor);\n}\n\n.vuuListItem.vuuFocusVisible:after {\n content: none;\n}\n\n.vuuListItem[aria-selected=\"true\"]:not(.vuuListItem-checkbox).vuuFocusVisible {\n outline-color: var(--list-item-selected-focus-outlineColor);\n}\n\n.vuuListItem-textWrapper {\n flex: 1;\n overflow: hidden;\n padding: var(--list-item-text-padding, 0px);\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.vuuListItem-proxy {\n position: absolute !important;\n visibility: hidden;\n}\n.vuuDraggable-list-item {\n --vuuList-item-height: 24px;\n background-color: white;\n}\n\n.vuuListItem.vuuDraggable-dragAway {\n display: none;\n}", ".vuuDraggable {\n background: transparent;\n box-shadow: var(--salt-overlayable-shadow-drag);\n cursor: var(--salt-draggable-grab-cursor-active);\n position: absolute;\n opacity: .95;\n z-index: 2000;\n}\n\n.vuuDraggable-spacer {\n display: var(--vuuDraggable-display, inline-block);\n height: var(--vuuDraggable-spacer-height, var(--tabstrip-height));\n transition: var(--vuuDraggable-transitionProp, width) 0.3s ease;\n width: var(--vuuDraggable-spacer-width, 0);\n}\n\n.vuuDraggable-dropIndicatorPosition {\n display: var(--saltDraggable-display, inline-block);\n /* height: var(--saltDraggable-spacer-height, var(--tabstrip-height)); */\n /* width: var(--saltDraggable-spacer-width, 0); */\n height: 0px;\n width: 100%;\n}\n\n.vuuDraggable-dropIndicatorContainer {\n transition: var(--vuuDraggable-transitionProp, top) 0.2s ease;\n}\n\n.vuuDraggable-dropIndicator {\n /* height: var(--saltDraggable-spacer-height, var(--tabstrip-height)); */\n /* width: var(--saltDraggable-spacer-width, 0); */\n background-color: var(--salt-palette-accent-background);\n height: 2px;\n width: 100%;\n}\n\n.vuuDraggable-dropIndicator:before {\n content: '';\n width: 6px;\n height: 6px;\n border-radius: 3px;\n background-color: var(--salt-palette-accent-background);\n position: absolute;\n top: -2px;\n left: -3px;\n}\n\n.vuuDraggable-settling {\n transition-property: left, top;\n transition-duration: .15s;\n transition-timing-function: ease-out;\n}\n\n.vuuDraggable-spacer {\n order: 1;\n}", ".vuuList {\n --list-background: var(--salt-container-primary-background);\n --list-borderStyle: var(--vuuList-borderStyle,var(--salt-container-borderStyle));\n --list-borderWidth: var(--salt-size-border);\n --list-height: auto;\n --list-item-height: var(--salt-size-stackable);\n --list-item-gap: 0px;\n --list-maxHeight: 100%;\n --vuuDraggable-display: block;\n --vuuDraggable-spacer-height: 0;\n --vuuDraggable-spacer-width: 100%;\n --vuuDraggable-transitionProp: height;\n --vuuMeasuredContainer-height: var(--computed-list-height);\n\n background: var(--list-background);\n border-color: var(--salt-container-primary-borderColor);\n border-style: var(--list-borderStyle);\n border-width: var(--list-borderWidth);\n height: var(--saltList-height, var(--list-height));\n max-height: var(--list-maxHeight);\n outline: none;\n position: relative;\n user-select: none;\n width: var(--saltList-width, auto);\n}\n\n.vuuList-contentSized {\n box-sizing: content-box;\n}\n\n.vuuList-borderless {\n --list-borderStyle: none;\n}\n\n/* virtualised list */\n.vuuList-viewport {\n height: var(--computed-list-height, var(--measured-px-height));\n overflow: auto;\n width: var(--measured-px-width);\n}\n\n.vuuListItemHeader {\n --saltList-item-background: var(--list-item-header-background);\n color: var(--list-item-header-color);\n}\n\n.vuuListItemHeader[data-sticky=\"true\"] {\n --saltList-item-background: var(--list-background);\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.vuuList-collapsible .vuuListItemHeader:after {\n border-width: var(--checkbox-borderWidth);\n border-color: var(--checkbox-borderColor);\n content: var(--list-item-header-twisty-content);\n -webkit-mask: var(--list-svg-chevron-down) center center/12px 12px no-repeat;\n mask: var(--list-svg-chevron-down) center center/12px 12px no-repeat;\n background: var(--list-item-header-twisty-color);\n height: 12px;\n left: var(--list-item-header-twisty-left);\n right: var(--list-item-header-twisty-right);\n margin-top: -8px;\n position: absolute;\n top: var(--list-item-header-twisty-top);\n transition: transform 0.3s;\n width: 12px;\n}\n.vuuListItemHeader[aria-expanded=\"false\"]:after {\n transform: rotate(-90deg);\n}\n\n/* Selection */\n\n.vuuList-scrollingContentContainer {\n box-sizing: inherit;\n position: relative;\n}\n\n.vuuList-virtualized .vuuListItem {\n line-height: 30px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n will-change: transform;\n}\n.vuuList.saltFocusVisible:after {\n inset: 2px;\n}\n", ".vuuRadioIcon {\n --vuu-icon-size: 12px;\n --vuu-icon-left: -1px;\n --vuu-icon-top: -1px;\n --vuu-icon-svg: var(--vuu-svg-radio);\n border-style: solid;\n border-color: var(--vuuRadioIcon-borderColor, var(--salt-selectable-borderColor));\n border-radius: 50%;\n border-width: 1px;\n display: inline-block;\n height: var(--vuuRadioIcon-size, 12px);\n position: relative;\n width: var(--vuuRadioIcon-size, 12px);\n}\n\n.vuuRadioIcon-checked {\n background-image: var(--vuu-svg-radio);\n border: none;\n background-repeat: no-repeat;\n}\n\n.vuuRadioIcon-checked:after {\n content: \"\";\n left: var(--vuu-icon-left, auto);\n height: var(--vuu-icon-height, var(--vuu-icon-size, 12px));\n -webkit-mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask-repeat: no-repeat;\n -webkit-mask-repeat: no-repeat;\n position: absolute;\n top: var(--vuu-icon-top, auto);\n width: var(--vuu-icon-width, var(--vuu-icon-size, 12px));\n}\n", ".vuuChevronIcon {\n --vuu-icon-size: 14px;\n --vuu-icon-left: -1px;\n --vuu-icon-top: -1px;\n height: var(--vuuChevronIcon-size, 14px);\n position: relative;\n width: var(--vuuChevronIcon-size, 14px);\n cursor: pointer;\n}\n\n.vuuChevronIcon:after {\n content: \"\";\n background-color: #777C94;\n left: var(--vuu-icon-left, auto);\n height: var(--vuu-icon-height, var(--vuu-icon-size, 12px));\n -webkit-mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask-repeat: no-repeat;\n -webkit-mask-repeat: no-repeat;\n position: absolute;\n top: var(--vuu-icon-top, auto);\n width: var(--vuu-icon-width, var(--vuu-icon-size, 12px));\n}\n\n.vuuChevronIcon.up {\n --vuu-icon-svg: var(--vuu-svg-chevron-up);\n}\n\n.vuuChevronIcon.down {\n --vuu-icon-svg: var(--vuu-svg-chevron-down);\n}\n\n.vuuChevronIcon.left {\n --vuu-icon-svg: var(--vuu-svg-chevron-left);\n}\n\n.vuuChevronIcon.right {\n --vuu-icon-svg: var(--vuu-svg-chevron-right);\n}\n", ".vuuEditableLabel {\n --editableLabel-padding: var(--vuuEditableLabel-padding, 6px);\n --editableLabel-height: var(--vuuEditableLabel-height, 26px);\n --saltInput-background: transparent;\n --saltInput-height: calc(var(--editableLabel-height) - 4px);\n --saltInput-minWidth: 14px;\n\n color: inherit;\n cursor: default;\n display: flex;\n flex-direction: column;\n font-size: var(--salt-text-fontSize);\n height: var(--editableLabel-height);\n justify-content: center;\n max-width: 170px;\n outline: none;\n overflow: hidden;\n padding: 0 var(--editableLabel-padding);\n position: relative;\n text-overflow: ellipsis;\n white-space: nowrap;\n z-index: var(--salt-zIndex-default);\n}\n\n.vuuEditableLabel:before {\n content: attr(data-text);\n display: block;\n height: 0px;\n visibility: hidden;\n white-space: pre-wrap;\n}\n\n.vuuEditableLabel .saltInput {\n font-weight: var(--salt-text-fontWeight);\n left: var(--editableLabel-padding, 0);\n padding: 0;\n outline-style: none;\n position: absolute;\n right: var(--editableLabel-padding, 0);\n top: var(--saltEditableLabel-top, 2px);\n width: auto;\n}\n\n.vuuEditableLabel .saltInput-activationIndicator {\n display: none;\n}\n\n.vuuEditableLabel-input {\n background-color: transparent;\n border: none;\n box-sizing: content-box;\n color: inherit;\n display: block;\n flex: 1;\n font: inherit;\n height: 20px;\n margin:0;\n min-width:0;\n outline: none;\n padding: 0;\n}\n\n.vuuEditableLabel-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n", ".vuuExpandoInput {\n\n --salt-editable-secondary-background: white;\n --expandoInput-height: var(--vuuExpandoInput-height, 26px);\n --expandoInput-padding: var(--vuuExpandoInput-padding, 6px);\n\n --saltInput-height: calc(var(--vuuExpandoInput-height) - 4px);\n --saltInput-minWidth: var(--vuuExpandoInput-minWidth, 8px);\n \n border: var(--vuuExpandoInput-border, none);\n border-radius: var(--vuuExpandoInput-borderRadius, 0);\n color: inherit;\n cursor: default;\n display: inline-block;\n font-size: var(--salt-text-fontSize);\n height: var(--expandoInput-height);\n min-width: calc(var(--saltInput-minWidth) + 2 * var(--expandoInput-padding));\n outline: none;\n padding: 0 var(--expandoInput-padding);\n position: relative;\n\n}\n\n.vuuExpandoInput:before {\n content: attr(data-text);\n display: block;\n height: 0px;\n visibility: hidden;\n white-space: pre-wrap;\n }\n \n .vuuExpandoInput .saltInput {\n font-weight: var(--salt-text-fontWeight);\n left: var(--expandoInput-padding, 0);\n padding: 0;\n outline-style: none;\n position: absolute;\n right: var(--expandoInput-padding, 0);\n top: var(--vuuExpandoInput-top, 2px);\n width: auto;\n }\n \n .vuuExpandoInput .saltInput-activationIndicator {\n display: none;\n }\n \n .vuuExpandoInput-input {\n background-color: transparent;\n border: none;\n box-sizing: content-box;\n display: block;\n flex: 1;\n font: inherit;\n height: 20px;\n margin:0;\n min-width:0;\n outline: none;\n padding: 0;\n }\n ", ".vuuCheckbox {\n display: flex;\n height: 24px;\n align-items: center;\n gap: 6px;\n color: var(--light-text-primary, #15171B);\n font-feature-settings: 'ss02' on, 'ss01' on, 'salt' on, 'liga' off;\n font-size: 12px;\n font-weight: 400;\n cursor: pointer;\n}", ".vuuRadioButton {\n display: flex;\n height: 24px;\n align-items: center;\n gap: 6px;\n color: var(--light-text-primary, #15171B);\n font-feature-settings: 'ss02' on, 'ss01' on, 'salt' on, 'liga' off;\n font-size: 12px;\n font-weight: 400;\n cursor: pointer;\n}\n\n.radio {\n position: relative;\n height: 12px;\n}\n\ninput[type=\"radio\"] {\n\tposition: absolute;\n appearance: none;\n\twidth: 100%;\n height: 100%;\n border-radius: 50%;\n margin: 0;\n top: 0;\n}", "\n.vuuSearchCell {\n --vuu-icon-left: 0;\n --vuu-icon-size: 16px;\n --vuu-icon-top: 0px;\n align-items: center;\n color: var(--background-cell-color);\n display: flex;\n gap: 4px;\n padding: 0 8px 0 8px;\n position: relative;\n z-index: -1;\n}\n\n", ".vuuInstrumentSearch {\n height: 100%;\n padding: var(--vuuInstrumentSearch-padding, 12px);\n display: flex;\n flex-direction: column;\n}\n\n.vuuInstrumentSearch-inputField {\n --vuu-icon-size: 16px;\n flex: 0 0 40px;\n}\n.vuuInstrumentSearch-list {\n background-color: var(--salt-container-primary-background);\n flex: 1 1 auto;\n}\n\n.vuuInstrumentSearch .vuuTableNextCell {\n padding: 0;\n}\n", "@property --price-ticker-color {\n syntax: '<color>'; /* <- defined as type number for the transition to work */\n initial-value: #15171B;\n inherits: false;\n}\n \n.vuuPriceTicker {\n align-items: center;\n display: flex;\n font-size: var(--vuuPriceTicker-fontSize, var(--salt-text-fontSize));\n font-weight: var(--vuuPriceTicker-fontWeight, 700);\n transition-property: color;\n transition-duration: .3s;;\n}\n\n.vuuPriceTicker.up1 {\n --vuu-icon-color: var(--vuu-color-green-50);\n color: var(--vuu-color-green-50);\n animation-duration: 30s;\n }\n \n .vuuPriceTicker.up2 {\n --vuu-icon-color: var(--vuu-color-green-50);\n color: var(--vuu-color-green-50);\n animation-duration: 30s;\n }\n \n .vuuPriceTicker.down1 {\n --vuu-icon-transform: rotate(180deg);\n --vuu-icon-color: var(--vuu-color-red-50);\n color: var(--vuu-color-red-50);\n animation-duration: 30s;\n }\n \n .vuuPriceTicker.down2 {\n --vuu-icon-transform: rotate(180deg);\n --vuu-icon-color: var(--vuu-color-red-50);\n color: var(--vuu-color-red-50);\n animation-duration: 30s;\n }\n ", "/* Component class applied to the root element */\n.vuuTabstrip {\n --vuuOverflowContainer-background: transparent;\n /* --tabstrip-height: var(--vuuTabstrip-height, var(--salt-size-stackable)); */\n --tabstrip-dragging-display: none;\n --tabstrip-display: inline-flex;\n --tabstrip-background: transparent;\n\n align-self: var(--saltTabs-tabstrip-alignSelf, stretch);\n display: flex;\n font-size: var(--salt-text-fontSize);\n font-weight: var(--vuuTabstrip-fontWeight, var(--salt-text-fontWeight));\n min-width: 28px;\n position: relative;\n overflow: visible;\n width: var(--tabstrip-width);\n}\n\n/* Tabstrip orientation is horizontal */\n.vuuTabstrip-horizontal {\n --tabstrip-height: var(--vuuTabstrip-height, 28px);\n --tabstrip-width: var(--vuuTabstrip-width, 100%);\n --tab-height: var(--tabstrip-height);\n --tab-width: auto;\n --tab-thumb-height: 2px;\n --tab-thumb-left: var(--tab-thumb-offset, 0);\n --tab-thumb-top: auto;\n --tab-thumb-width: var(--tab-thumb-size, 100%);\n align-items: flex-start;\n border-bottom: var(--vuuTabstrip-borderBottom, solid 1px var(--salt-container-primary-borderColor));\n}\n\n/* Tabstrip orientation is vertical */\n.vuuTabstrip-vertical {\n --tabstrip-height: var(--vuuTabstrip-height, 100%);\n --tabstrip-width: var(--vuuTabstrip-width, 100px);\n --tab-height: 50px;\n --tab-width: 100%;\n --tab-thumb-height: 0;\n --tab-thumb-left: 0;\n --tab-thumb-top: var(--tab-thumb-offset, 0);\n --tab-thumb-width: 2px;\n\n align-self: flex-start;\n display: inline-flex;\n}\n\n.vuuTabstrip-draggingTab .vuuTab {\n pointer-events: none;\n}\n\n.vuuTabstrip-addTabButton {\n --saltButton-height: 20px;\n --saltButton-width: 20px;\n}\n\n.vuuTabstrip-overflowMenu.vuuDropdown {\n --saltIcon-margin: 2px 0 0 0px;\n}\n\n.vuuTabstrip-overflowMenu-open {\n --saltButton-background: var(--salt-actionable-secondary-background-active);\n --saltButton-text-color: var(--salt-actionable-secondary-text-color-active);\n}\n\n.vuuTabstrip-overflowMenu-open .saltButton {\n --saltIcon-color: var(--salt-actionable-secondary-foreground-active);\n}\n\n.vuuTabstrip-inner {\n width: 100%;\n align-items: center;\n display: flex;\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 1;\n flex-wrap: wrap;\n justify-content: flex-start;\n line-height: var(--tabstrip-height);\n}\n\n.vuuTabstrip-vertical .vuuTabstrip-inner {\n flex-direction: column;\n height: auto;\n}\n\n.vuuTabstrip-centered .vuuTabstrip-inner {\n justify-content: center;\n}\n\n/* Styling applied to Draggable wrapper when used to drag a Tab */\n.vuuDraggable[class*=\"vuuTabstrip\"] {\n --tabstrip-display: flex;\n --tabstrip-height: 100%;\n --tabstrip-dragging-display: block;\n\n --tabs-tab-background: var(--salt-navigable-primary-background-hover);\n --tabs-tab-before-content: \"\";\n --tabs-tab-before-background: var(--salt-navigable-indicator-hover);\n --tabs-tab-before-height: var(--tab-activationIndicator-thumb-height);\n --tabs-tab-before-inset: var(--tab-activationIndicator-inset);\n --tabs-tab-before-width: var(--tab-activationIndicator-thumb-width);\n --tabs-tab-cursor: var(--salt-draggable-grab-cursor-active);\n --tabs-tab-position: static;\n\n font-size: 12px;\n}\n\n.vuuDraggable-tabstrip-horizontal {\n --tab-thumb-height: 2px;\n --tab-thumb-left: 0px;\n --tabstrip-height: 28px;\n line-height: var(--tabstrip-height);\n}\n\n\n.vuuDraggable[class*=\"tabstrip\"] .vuuTab[aria-selected=\"true\"]:before {\n --tabs-tab-before-background: var(--salt-navigable-indicator-active);\n}\n\n/* [data-overflowed] {\n order: 99;\n visibility: hidden;\n} */\n\n.vuuTabstrip-overflowMenu-dropTarget:after {\n background: var(--salt-selectable-background-selected);\n content: \"\";\n position: absolute;\n height: 2px;\n left: 0;\n right: 0;\n bottom: 0;\n}\n", ".vuuTabMenu {\n top: -2px;\n}", "/* Class applied to root Tab element */\n.vuuTab {\n \n --saltEditableLabel-padding: 0;\n --saltEditableLabel-height: calc(var(--tabstrip-height) - 2px);\n --saltInputLegacy-minWidth: 4em;\n --saltEditableLabel-top: 2px;\n\n --tab-background: var(--vuuTab-background, var(--salt-navigable-primary-background));\n --tab-cursor: pointer;\n --tab-position: relative;\n}\n\n.vuuTab {\n align-items: center;\n align-self: stretch;\n background: var(--tab-background);\n border: none;\n border-radius: var(--vuuTab-borderRadius, 0);\n color: var(--salt-text-primary-foreground);\n cursor: var(--vuuTab-cursor, var(--tab-cursor));\n display: var(--tabstrip-display);\n gap: 8px;\n height: var(--vuuTabHeight, var(--tab-height));\n letter-spacing: var(--vuuTab-letterSpacing, var(--tab-letterSpacing, 0));\n min-width: var(--vuuTab-minWidth, 40px);\n outline: none;\n padding: var(--vuuTab-padding, 0 24px);\n position: var(--vuuTab-position, var(--tab-position));\n user-select: none;\n width: var(--tab-width)\n}\n\n/* Overrides characteristic used in saltFocusVisible */\n/* .vuuTab.saltFocusVisible:after {\n inset: 2px 2px 4px 2px;\n} */\n\n.vuuTab {\n margin: 0 var(--tab-spacing) 0 0;\n}\n\n.vuuTab-selected {\n background: var(--vuuTab-background-selected, var(--tab-background));\n color: var(--salt-text-primary-foreground);\n font-weight: var(--salt-navigable-fontWeight-active);\n}\n\n/* main content aria of Tab */\n.vuuTab-main {\n align-items: center;;\n border: none;\n color: inherit;\n cursor: inherit;\n display: flex;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n height: calc(var(--tab-height) - var(--tab-thumb-height));\n margin-bottom: var(--tab-thumb-height);\n outline: none;\n position: relative;\n}\n\n.vuuTab-closeable .vuuTab-main {\n border-right: solid transparent var(--salt-size-unit);\n}\n\n.vuuTab .vuuTab-closeButton {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* the close Button on a closeable Tab*/\n.vuuTab-close-icon {\n display: none;\n}\n\n.salt-density-touch .vuuTab-close-icon,\n.salt-density-low .vuuTab-close-icon {\n display: block;\n}\n\n.salt-density-touch .vuuTab-close-icon-small,\n.salt-density-low .vuuTab-close-icon-small {\n display: none;\n}\n\n.vuuTab .vuuTab-text {\n display: inline-block;\n position: relative;\n overflow: hidden;\n text-align: var(--salt-text-textAlign-embedded);\n text-overflow: ellipsis;\n top: var(--vuuTab-top, var(--tab-top, auto));\n white-space: nowrap;\n /* ensure content sits above focus ring */\n z-index: var(--salt-zIndex-default);\n}\n\n.vuuTab .vuuTab-text:before {\n height: 0;\n content: attr(data-text);\n display: block;\n visibility: hidden;\n font-weight: var(--salt-navigable-fontWeight-active);\n}\n\n/* FIXME: these are all focusVisible styles, but with a bespoke inset */\n.vuuTab-editing:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 2px;\n outline-color: var(--salt-focused-outlineColor);\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-offset: -2px;\n}\n\n.vuuTab.vuuFocusVisible {\n background: var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover));\n outline-color: var(--vuuTab-focusVisible-color, var(--salt-focused-outlineColor));\n outline-style: dashed;\n outline-width: 1px;\n outline-offset: -1px;\n}\n\n.vuuTab:before {\n content: var(--tab-before-content, none);\n content: \"\";\n background: var(--tab-before-background);\n height: var(--tab-before-height);\n inset: var(--tab-before-inset);\n position: absolute;\n width: var(--tab-before-width);\n z-index: 1;\n}\n\n.vuuTabstrip-draggingTab .vuuTab-selected:before {\n --tab-before-content: \"\";\n --tab-before-background: var(--salt-navigable-indicator-color-active);\n --tab-before-height: var(--tab-thumb-height);\n --tab-before-inset: var(--tab-activationIndicator-inset);\n --tab-before-width: var(--tab-activationIndicator-thumb-width);\n}\n\n/* .vuuDraggable .vuuTab:before,\n.vuuTab:not(.vuuTab-selected).saltFocusVisible:before,\n.vuuTab:hover:not(.vuuTab-selected):before {\n --tab-before-content: \"\";\n --tab-before-background: var(--salt-navigable-indicator-hover);\n --tab-before-height: var(--tab-thumb-height);\n --tab-before-inset: var(--tab-activationIndicator-inset);\n --tab-before-width: var(--tab-activationIndicator-thumb-width);\n} */\n\n.vuuTab-selected:before {\n --tab-before-content: \"\";\n background: var(--salt-navigable-indicator-active);\n height: var(--tab-thumb-height);\n position: absolute;\n left: var(--tab-thumb-left);\n bottom: 0px; \n top: var(--tab-thumb-top, auto);\n transition: var(--tab-thumb-transition, none);\n width: var(--tab-thumb-width, 100%);\n}\n\n.vuuTab:hover:not(.vuuTab-closeHover) {\n background: var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover));\n}\n\n/* .vuuTabstrip.vuuTabThumb-noTransition .vuuTab-selected:before {\n transition: none; \n} */", ".vuuTree {\n --tree-node-collapse: var(--vuuTree-toggle-collapse, var(--svg-tree-node-collapse));\n --tree-node-expand: var(--vuuTree-toggle-expand, var(--svg-tree-node-expand));\n --tree-toggle-width: 12px;\n --tree-icon-color: var(--vuuTree-icon-color, #4c505b);\n --tree-node-expanded-transform: var(--vuuTree-node-expanded-transform, none);\n --tree-node-indent: 0px;\n\n --list-hilited-bg: var(--hw-list-hilited-bg, rgba(0, 0, 0, 0.1));\n --list-item-height: var(--hw-list-item-height, 30px);\n --list-item-padding: var(--hw-list-item-padding, 0 6px);\n --list-item-header-bg: var(--hw-list-item-header-bg, black);\n --list-item-header-color: var(--hw-list-item-header-color, white);\n --list-item-header-font-weight: bold;\n --list-item-header-twisty-color: black;\n --list-item-header-twisty-content: '';\n --list-item-header-twisty-top: 50%;\n --list-item-header-twisty-left: -18px;\n --list-item-header-twisty-right: auto;\n --list-item-selected-bg: var(--hw-list-selected-bg, #1ea7fd);\n --list-item-selected-color: white;\n --list-item-text-color: var(--hw-gray-800);\n --focus-visible-border-color: var(--hw-focus-visible-border-color, rgb(141, 154, 179));\n\n list-style: none;\n margin: 0;\n padding: 0 1px;\n font-size: var(--vuuTree-font-size, 14px);\n max-height: inherit;\n outline: none;\n overflow-y: auto;\n position: relative;\n user-select: none;\n}\n\n.vuuTree-viewport {\n --list-item-height: 30px;\n box-sizing: border-box;\n max-height: inherit;\n overflow: auto;\n}\n\n.vuuTree-scrollingContentContainer {\n box-sizing: inherit;\n position: relative;\n}\n\n.vuuTree-scrollingContentContainer .vuuTreeNode {\n line-height: 30px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n will-change: transform;\n}\n\n.vuuTreeNode {\n list-style: none;\n}\n\n/* Leaf node or the div child of a collapsible node */\n.vuuTreeNode:not([aria-expanded]),\n.vuuTreeNode[aria-expanded] > .vuuTreeNode-label {\n --checkbox-border-color: black;\n --checkbox-border-width: 1px;\n --checkbox-tick: black;\n --list-item-padding-left: 6px;\n --svg-toggle: var(--tree-node-collapse);\n\n align-items: center;\n color: var(--list-item-text-color);\n display: flex;\n flex-wrap: nowrap;\n height: var(--list-item-height);\n line-height: var(--list-item-height);\n padding: var(--list-item-padding);\n padding-left: var(--padding-left);\n position: relative;\n cursor: default;\n margin: 0;\n white-space: nowrap;\n}\n\n.vuuTreeNode:not([aria-expanded]) {\n --padding-left: calc(\n var(--list-item-padding-left) + var(--tree-toggle-width) + var(--tree-node-indent)\n );\n}\n\n.vuuTreeNode[aria-expanded] > .vuuTreeNode-label {\n --padding-left: calc(\n var(--list-item-padding-left) + var(--tree-toggle-width) + var(--tree-node-indent)\n );\n}\n\n.vuuTreeNode-icon {\n background-color: var(--tree-icon-color);\n display: inline-block;\n height: 18px;\n margin-right: 6px;\n -webkit-mask: var(--vuu-icon-svg) center center/12px 12px no-repeat;\n mask: var(--vuu-icon-svg) center center/12px 12px no-repeat;\n flex: 0 0 18px;\n}\n\n.vuuTreeNode[aria-expanded] {\n flex-direction: column;\n}\n\n.vuuTreeNode[aria-expanded] {\n flex-direction: column;\n height: auto;\n}\n\n.vuuTreeNode > *[role='group'] {\n padding-left: 0px;\n}\n\n.vuuTreeNode {\n padding-left: calc(var(--padding-left) + var(--tree-node-indent));\n}\n\n.vuuTreeNode[aria-level='2'] {\n --tree-node-indent: 12px;\n}\n.vuuTreeNode[aria-level='3'] {\n --tree-node-indent: 24px;\n}\n.vuuTreeNode[aria-level='4'] {\n --tree-node-indent: 36px;\n}\n\n.vuuTreeNode:not(.focusVisible):not(.hwListItemHeader):not([aria-expanded])[data-highlighted],\n.vuuTreeNode:not(.focusVisible):not(.hwListItemHeader)[aria-expanded][data-highlighted]\n > div:first-child {\n background-color: var(--list-hilited-bg);\n}\n\n.vuuTreeNode-toggle {\n cursor: pointer;\n}\n\n.vuuTreeNode > .vuuTreeNode-toggle {\n display: inline-block;\n height: 100%;\n left: 0;\n position: absolute;\n width: calc(var(--list-item-padding-left) + var(--tree-toggle-width));\n}\n\n.vuuTreeNode[aria-expanded] > .vuuTreeNode-label:after {\n content: var(--list-item-header-twisty-content);\n -webkit-mask: var(--svg-toggle) center center/8px 8px no-repeat;\n mask: var(--svg-toggle) center center/8px 8px no-repeat;\n background-color: var(--list-item-header-twisty-color);\n height: 18px;\n margin-top: -9px;\n left: var(--tree-node-indent);\n position: absolute;\n top: var(--list-item-header-twisty-top);\n transition: transform 0.3s;\n width: 18px;\n}\n\n.vuuTreeNode[aria-selected='true'] {\n --list-item-header-twisty-color: var(--list-item-selected-color);\n}\n\n\n.vuuTreeNode:not(.focusVisible):focus {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\n.vuuTreeNode:not([aria-expanded]).focusVisible:before,\n.vuuTreeNode[aria-expanded].focusVisible > div:first-child:before {\n content: '';\n position: absolute;\n top: 0px;\n left: var(--tree-focus-offset, 0px);\n right: 0;\n bottom: 0px;\n border: dotted var(--focus-visible-border-color) 2px;\n background-color: var(--list-hilited-bg);\n}\n\n\n.vuuTreeNode[aria-expanded='false'] > *:first-child:after {\n --svg-toggle: var(--tree-node-expand);\n}\n\n.vuuTreeNode[aria-expanded='true'] > *:first-child:after {\n transform: var(--tree-node-expanded-transform);\n}\n\n/* Selection */\n\n.vuuTree:not(.checkbox-only) .vuuTreeNode:not([aria-expanded])[aria-selected='true'],\n.vuuTree:not(.checkbox-only) .vuuTreeNode[aria-expanded][aria-selected='true'] > div:first-child {\n --checkbox-border-color: var(--list-item-selected-color);\n --checkbox-tick: var(--list-item-selected-color);\n --focus-visible-border-color: var(--list-item-selected-color);\n background-color: var(--list-item-selected-bg);\n color: var(--list-item-selected-color);\n}\n\n.with-checkbox .vuuTreeNode {\n padding-left: 28px;\n}\n\n.with-checkbox .vuuTreeNode:before {\n border-style: solid;\n border-width: var(--checkbox-border-width);\n border-color: var(--checkbox-border-color);\n content: '';\n height: 12px;\n left: 3px;\n margin-top: -7px;\n position: absolute;\n top: 50%;\n width: 12px;\n}\n"],
|
|
5
|
+
"mappings": ";AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;;;AC5BF;AACE;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AAAA;AAEE;AAAA;;;ACtCF;AACE;AAAA;;;ACDF;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;AC/BJ;AAEE;AACA;AAEA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAEF;AACE;AACA;AAAA;AAGF;AACE;AAAA;;;ACjGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAGA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AAGE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;;;ACtDF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAIF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AAAA;AAKF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AAAA;;;ACzFF;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;AC/BJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;;;ACrCF;AACE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;;;ACjEF;AAEI;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIJ;AACI;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;ACzDJ;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAAA;;;ACTF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACC;AACC;AACD;AACC;AACA;AACA;AACA;AAAA;;;ACvBF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;ACXF;AACI;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AAAA;AAEJ;AACI;AACA;AAAA;AAGJ;AACI;AAAA;;;ACjBJ;AAMA;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;;;ACrCJ;AACE;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAIF;AACE;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAIF;AACE;AAAA;AAQF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;ACpIF;AACI;AAAA;;;ACAJ;AAEE;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAQF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAIF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAIF;AACE;AAAA;AAGF;AAAA;AAEE;AAAA;AAGF;AAAA;AAEE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAIF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAaF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;;;AC7KF;AACE;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAIF;AAAA;AAEE;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAKF;AACE;AAAA;AAKF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AAAA;AAGE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAIF;AACE;AAAA;AAGF;AAAA;AAEE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIF;AACE;AAAA;AAGF;AACE;AAAA;AAKF;AAAA;AAEE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vuu-ui/vuu-ui-controls",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.9-debug",
|
|
4
4
|
"description": "VUU UI Controls",
|
|
5
5
|
"author": "heswell",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@salt-ds/core": "1.8.0",
|
|
9
|
-
"@vuu-ui/vuu-data": "0.8.
|
|
10
|
-
"@vuu-ui/vuu-data-types": "0.8.
|
|
11
|
-
"@vuu-ui/vuu-
|
|
12
|
-
"@vuu-ui/vuu-
|
|
13
|
-
"@vuu-ui/vuu-
|
|
9
|
+
"@vuu-ui/vuu-data": "0.8.9-debug",
|
|
10
|
+
"@vuu-ui/vuu-data-types": "0.8.9-debug",
|
|
11
|
+
"@vuu-ui/vuu-datagrid-types": "0.8.9-debug",
|
|
12
|
+
"@vuu-ui/vuu-layout": "0.8.9-debug",
|
|
13
|
+
"@vuu-ui/vuu-table": "0.8.9-debug",
|
|
14
|
+
"@vuu-ui/vuu-popups": "0.8.9-debug",
|
|
15
|
+
"@vuu-ui/vuu-utils": "0.8.9-debug"
|
|
14
16
|
},
|
|
15
17
|
"peerDependencies": {
|
|
16
18
|
"classnames": "^2.2.6",
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { HTMLAttributes } from "react";
|
|
2
|
+
import "./Dialog.css";
|
|
3
|
+
export interface DialogProps extends HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
isOpen?: boolean;
|
|
5
|
+
onClose?: () => void;
|
|
6
|
+
hideCloseButton?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const Dialog: ({ children, className, isOpen, onClose, title, hideCloseButton, ...props }: DialogProps) => JSX.Element | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Dialog";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { MenuListProps } from "./MenuList";
|
|
3
|
+
import { PopupCloseCallback } from "../popup";
|
|
4
|
+
import "./ContextMenu.css";
|
|
5
|
+
export interface ContextMenuProps extends Omit<MenuListProps, "onCloseMenu"> {
|
|
6
|
+
onClose?: PopupCloseCallback;
|
|
7
|
+
position?: {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
};
|
|
11
|
+
withPortal?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare const ContextMenu: {
|
|
14
|
+
({ activatedByKeyboard, children: childrenProp, className, id: idProp, onClose, position, style, ...menuListProps }: ContextMenuProps): JSX.Element;
|
|
15
|
+
displayName: string;
|
|
16
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React, { FC, HTMLAttributes, ReactElement, ReactNode } from "react";
|
|
2
|
+
import "./MenuList.css";
|
|
3
|
+
export declare const Separator: () => JSX.Element;
|
|
4
|
+
export interface MenuItemGroupProps {
|
|
5
|
+
children: ReactElement<MenuItemProps>[] | [ReactElement<MenuItemLabelProps>, ...ReactElement<MenuItemProps>[]];
|
|
6
|
+
label?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface MenuItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
9
|
+
action?: string;
|
|
10
|
+
idx?: number;
|
|
11
|
+
options?: unknown;
|
|
12
|
+
}
|
|
13
|
+
export declare const MenuItemGroup: FC<MenuItemGroupProps>;
|
|
14
|
+
export declare const MenuItem: {
|
|
15
|
+
({ children, idx, ...props }: MenuItemProps): JSX.Element;
|
|
16
|
+
Label: {
|
|
17
|
+
({ children }: {
|
|
18
|
+
children: ReactNode;
|
|
19
|
+
}): JSX.Element;
|
|
20
|
+
displayName: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
export interface MenuItemLabelProps {
|
|
24
|
+
children: ReactNode;
|
|
25
|
+
}
|
|
26
|
+
export declare const isMenuItemLabel: (item: ReactNode) => item is React.ReactElement<MenuItemLabelProps, string | React.JSXElementConstructor<any>>;
|
|
27
|
+
export interface MenuListProps extends HTMLAttributes<HTMLDivElement> {
|
|
28
|
+
activatedByKeyboard?: boolean;
|
|
29
|
+
children: ReactElement[];
|
|
30
|
+
childMenuShowing?: string;
|
|
31
|
+
defaultHighlightedIdx?: number;
|
|
32
|
+
highlightedIdx?: number;
|
|
33
|
+
isRoot?: boolean;
|
|
34
|
+
listItemProps?: Partial<MenuItemProps>;
|
|
35
|
+
onActivate?: (menuId: string) => void;
|
|
36
|
+
onCloseMenu: (idx: number) => void;
|
|
37
|
+
onOpenMenu?: (menuItemEl: HTMLElement) => void;
|
|
38
|
+
onHighlightMenuItem?: (idx: number) => void;
|
|
39
|
+
}
|
|
40
|
+
export declare const MenuList: {
|
|
41
|
+
({ activatedByKeyboard, childMenuShowing, children, className, defaultHighlightedIdx, highlightedIdx: highlightedIdxProp, id: idProp, isRoot, listItemProps, onHighlightMenuItem, onActivate, onCloseMenu, onOpenMenu, ...props }: MenuListProps): JSX.Element;
|
|
42
|
+
displayName: string;
|
|
43
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ContextMenuContextType, MenuActionHandler, MenuBuilder } from "@vuu-ui/vuu-data-types";
|
|
2
|
+
import { ReactNode } from "react";
|
|
3
|
+
export declare const ContextMenuContext: import("react").Context<ContextMenuContextType | null>;
|
|
4
|
+
export interface ContextMenuProviderProps {
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
label?: string;
|
|
7
|
+
menuActionHandler?: MenuActionHandler;
|
|
8
|
+
menuBuilder: MenuBuilder;
|
|
9
|
+
}
|
|
10
|
+
export declare const ContextMenuProvider: ({ children, label, menuActionHandler, menuBuilder, }: ContextMenuProviderProps) => JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const ArrowUp = "ArrowUp";
|
|
2
|
+
export declare const ArrowDown = "ArrowDown";
|
|
3
|
+
export declare const ArrowLeft = "ArrowLeft";
|
|
4
|
+
export declare const Backspace = "Backspace";
|
|
5
|
+
export declare const ArrowRight = "ArrowRight";
|
|
6
|
+
export declare const Enter = "Enter";
|
|
7
|
+
export declare const Escape = "Escape";
|
|
8
|
+
export declare const Delete = "Delete";
|
|
9
|
+
export declare const isCharacterKey: (evt: KeyboardEvent) => boolean | undefined;
|
|
10
|
+
export declare const isNavigationKey: ({ key }: {
|
|
11
|
+
key: string;
|
|
12
|
+
}, orientation?: string) => boolean;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function listItemIndex(listItemEl: HTMLElement): number | undefined;
|
|
2
|
+
export declare const closestListItem: (el: HTMLElement | null | undefined) => HTMLElement;
|
|
3
|
+
export declare const closestListItemId: (el: HTMLElement) => string | undefined;
|
|
4
|
+
export declare const closestListItemIndex: (el: HTMLElement) => number | undefined;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { MouseEvent } from "react";
|
|
2
|
+
import { MenuItemProps } from "./MenuList";
|
|
3
|
+
export type RuntimeMenuDescriptor = {
|
|
4
|
+
id: string;
|
|
5
|
+
left: number;
|
|
6
|
+
top: number;
|
|
7
|
+
};
|
|
8
|
+
export declare const getHostMenuId: (id: string, rootId: string) => string;
|
|
9
|
+
export interface CascadeHookProps {
|
|
10
|
+
id: string;
|
|
11
|
+
onActivate: (menuId: string) => void;
|
|
12
|
+
onMouseEnterItem: (evt: MouseEvent, itemId: string) => void;
|
|
13
|
+
position: {
|
|
14
|
+
x: number;
|
|
15
|
+
y: number;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface CascadeHooksResult {
|
|
19
|
+
closeMenu: () => void;
|
|
20
|
+
handleRender: () => void;
|
|
21
|
+
listItemProps: Partial<MenuItemProps>;
|
|
22
|
+
openMenu: (menuItemEl: HTMLElement) => void;
|
|
23
|
+
openMenus: RuntimeMenuDescriptor[];
|
|
24
|
+
}
|
|
25
|
+
export declare const useCascade: ({ id: rootId, onActivate, onMouseEnterItem, position: { x: posX, y: posY }, }: CascadeHookProps) => CascadeHooksResult;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactElement } from "react";
|
|
2
|
+
export declare const isMenuItemGroup: (child: ReactElement) => boolean;
|
|
3
|
+
type Menus = {
|
|
4
|
+
[key: string]: ReactElement[];
|
|
5
|
+
};
|
|
6
|
+
type Actions = {
|
|
7
|
+
[key: string]: {
|
|
8
|
+
action: string;
|
|
9
|
+
options?: unknown;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
export declare const useItemsWithIdsNext: (childrenProp: ReactElement[], rootId: string) => [Menus, Actions];
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FocusEvent, KeyboardEvent } from "react";
|
|
2
|
+
export interface KeyboardNavigationProps {
|
|
3
|
+
autoHighlightFirstItem?: boolean;
|
|
4
|
+
count: number;
|
|
5
|
+
defaultHighlightedIdx?: number;
|
|
6
|
+
highlightedIndex?: number;
|
|
7
|
+
onActivate: (idx: number) => void;
|
|
8
|
+
onHighlight?: (idx: number) => void;
|
|
9
|
+
onCloseMenu: (idx: number) => void;
|
|
10
|
+
onOpenMenu?: (menuItemEl: HTMLElement) => void;
|
|
11
|
+
}
|
|
12
|
+
export interface KeyboardHookListProps {
|
|
13
|
+
onFocus: (evt: FocusEvent) => void;
|
|
14
|
+
onKeyDown: (evt: KeyboardEvent) => void;
|
|
15
|
+
onMouseDownCapture: () => void;
|
|
16
|
+
onMouseMove: () => void;
|
|
17
|
+
onMouseLeave: () => void;
|
|
18
|
+
}
|
|
19
|
+
export interface NavigationHookResult {
|
|
20
|
+
focusVisible: number;
|
|
21
|
+
controlledHighlighting: boolean;
|
|
22
|
+
highlightedIndex: number;
|
|
23
|
+
setHighlightedIndex: (idx: number) => void;
|
|
24
|
+
listProps: KeyboardHookListProps;
|
|
25
|
+
setIgnoreFocus: (ignoreFocus: boolean) => void;
|
|
26
|
+
}
|
|
27
|
+
export declare const useKeyboardNavigation: ({ autoHighlightFirstItem, count, defaultHighlightedIdx, highlightedIndex: highlightedIndexProp, onActivate, onHighlight, onCloseMenu, onOpenMenu, }: KeyboardNavigationProps) => NavigationHookResult;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { MenuActionHandler, MenuBuilder } from "@vuu-ui/vuu-data-types";
|
|
3
|
+
import { ContextMenuProps } from "./ContextMenu";
|
|
4
|
+
export type ContextMenuOptions = {
|
|
5
|
+
[key: string]: unknown;
|
|
6
|
+
contextMenu?: JSX.Element;
|
|
7
|
+
ContextMenuProps?: Partial<ContextMenuProps> & {
|
|
8
|
+
className?: string;
|
|
9
|
+
"data-mode"?: string;
|
|
10
|
+
};
|
|
11
|
+
controlledComponentId?: string;
|
|
12
|
+
};
|
|
13
|
+
export type EventLike = {
|
|
14
|
+
clientX: number;
|
|
15
|
+
clientY: number;
|
|
16
|
+
preventDefault?: () => void;
|
|
17
|
+
stopPropagation?: () => void;
|
|
18
|
+
};
|
|
19
|
+
export type ShowContextMenu = (e: EventLike, location: string, options: ContextMenuOptions) => void;
|
|
20
|
+
export declare const useContextMenu: (menuBuilder?: MenuBuilder, menuActionHandler?: MenuActionHandler) => [ShowContextMenu, () => void];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HTMLAttributes, RefObject } from "react";
|
|
2
|
+
import "./Popup.css";
|
|
3
|
+
export type PopupPlacement = "below" | "below-center" | "below-full-width" | "center" | "right";
|
|
4
|
+
export interface PopupComponentProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
placement: PopupPlacement;
|
|
6
|
+
anchorElement: RefObject<HTMLElement>;
|
|
7
|
+
offsetLeft?: number;
|
|
8
|
+
offsetTop?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare const PopupComponent: ({ children, className, anchorElement, placement, }: PopupComponentProps) => JSX.Element | null;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import React, { ReactElement } from "react";
|
|
2
|
+
import { ContextMenuOptions } from "../menu";
|
|
3
|
+
import "./popup-service.css";
|
|
4
|
+
export type PopupCloseCallback = (reason?: PopupCloseReason) => void;
|
|
5
|
+
export type ClickAwayClosePopup = {
|
|
6
|
+
type: "click-away";
|
|
7
|
+
mouseEvt: MouseEvent;
|
|
8
|
+
};
|
|
9
|
+
export type EscapeClosePopup = {
|
|
10
|
+
type: "escape";
|
|
11
|
+
event: KeyboardEvent;
|
|
12
|
+
};
|
|
13
|
+
export type MenuActionClosePopup = {
|
|
14
|
+
menuId: string;
|
|
15
|
+
options: ContextMenuOptions;
|
|
16
|
+
type: "menu-action";
|
|
17
|
+
};
|
|
18
|
+
export type PopupCloseReason = ClickAwayClosePopup | EscapeClosePopup | MenuActionClosePopup;
|
|
19
|
+
export declare const reasonIsMenuAction: (reason?: PopupCloseReason) => reason is MenuActionClosePopup;
|
|
20
|
+
export declare const reasonIsClickAway: (reason?: PopupCloseReason) => reason is ClickAwayClosePopup;
|
|
21
|
+
export interface ShowPopupProps {
|
|
22
|
+
depth?: number;
|
|
23
|
+
/**
|
|
24
|
+
* if true, focus will be invoked on first focusable element
|
|
25
|
+
*/
|
|
26
|
+
focus?: boolean;
|
|
27
|
+
name?: string;
|
|
28
|
+
group?: string;
|
|
29
|
+
position?: "above" | "below" | "";
|
|
30
|
+
left?: number;
|
|
31
|
+
right?: "auto" | number;
|
|
32
|
+
top?: number;
|
|
33
|
+
component: ReactElement;
|
|
34
|
+
width?: number | "auto";
|
|
35
|
+
}
|
|
36
|
+
export declare class PopupService {
|
|
37
|
+
static onClose: PopupCloseCallback | undefined;
|
|
38
|
+
static showPopup({ group, name, left, position, right, top, width, component, }: ShowPopupProps): void;
|
|
39
|
+
static escapeKeyListener(evt: KeyboardEvent): void;
|
|
40
|
+
static hidePopup(reason?: PopupCloseReason, name?: string, group?: string): void;
|
|
41
|
+
static keepWithinThePage(el: HTMLElement, right?: number | "auto"): void;
|
|
42
|
+
}
|
|
43
|
+
export declare class DialogService {
|
|
44
|
+
static showDialog(dialog: ReactElement): void;
|
|
45
|
+
static closeDialog(): void;
|
|
46
|
+
}
|
|
47
|
+
export interface PopupProps {
|
|
48
|
+
children: ReactElement;
|
|
49
|
+
close?: boolean;
|
|
50
|
+
depth: number;
|
|
51
|
+
group?: string;
|
|
52
|
+
name: string;
|
|
53
|
+
position?: "above" | "below" | "";
|
|
54
|
+
width: number;
|
|
55
|
+
}
|
|
56
|
+
export declare const Popup: (props: PopupProps) => React.DetailedReactHTMLElement<{
|
|
57
|
+
className: string;
|
|
58
|
+
ref: React.RefObject<HTMLElement>;
|
|
59
|
+
}, HTMLElement>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { RefObject } from "react";
|
|
2
|
+
import { PopupPlacement } from "./Popup";
|
|
3
|
+
export interface AnchoredPositionHookProps {
|
|
4
|
+
anchorElement: RefObject<HTMLElement>;
|
|
5
|
+
offsetLeft?: number;
|
|
6
|
+
offsetTop?: number;
|
|
7
|
+
placement: PopupPlacement;
|
|
8
|
+
}
|
|
9
|
+
export declare const useAnchoredPosition: ({ anchorElement, offsetLeft, offsetTop, placement, }: AnchoredPositionHookProps) => {
|
|
10
|
+
left: number;
|
|
11
|
+
top: number;
|
|
12
|
+
} | undefined;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { HTMLAttributes } from "react";
|
|
2
|
+
import { PopupCloseReason } from "@vuu-ui/vuu-popups";
|
|
3
|
+
import "./PopupMenu.css";
|
|
4
|
+
import { MenuActionHandler, MenuBuilder } from "@vuu-ui/vuu-data-types";
|
|
5
|
+
export interface PopupMenuProps extends HTMLAttributes<HTMLButtonElement> {
|
|
6
|
+
icon?: string;
|
|
7
|
+
label?: string;
|
|
8
|
+
menuActionHandler?: MenuActionHandler;
|
|
9
|
+
menuBuilder?: MenuBuilder;
|
|
10
|
+
menuLocation?: string;
|
|
11
|
+
menuOptions?: {
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
};
|
|
14
|
+
onMenuClose?: (reason?: PopupCloseReason) => void;
|
|
15
|
+
}
|
|
16
|
+
export declare const PopupMenu: ({ className, label, icon, id: idProp, menuActionHandler, menuBuilder, menuLocation, menuOptions, onMenuClose, tabIndex, ...htmlAttributes }: PopupMenuProps) => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./PopupMenu";
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import "./Portal.css";
|
|
3
|
+
export interface PortalProps {
|
|
4
|
+
/**
|
|
5
|
+
* The children to render into the `container`.
|
|
6
|
+
*/
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* An HTML element, component instance, or function that returns either.
|
|
10
|
+
* The `container` will have the portal children appended to it.
|
|
11
|
+
*
|
|
12
|
+
* By default, it uses the body of the top-level document object,
|
|
13
|
+
* so it's simply `document.body` most of the time.
|
|
14
|
+
*/
|
|
15
|
+
container?: Element | (() => Element | null) | null;
|
|
16
|
+
/**
|
|
17
|
+
* If this node does not exist on the document, it will be created for you.
|
|
18
|
+
*/
|
|
19
|
+
id?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Allow conditional rendering of this Portal, if false, will render nothing.
|
|
22
|
+
* Defaults to true
|
|
23
|
+
*/
|
|
24
|
+
open?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Portals provide a first-class way to render children into a DOM node
|
|
28
|
+
* that exists outside the DOM hierarchy of the parent component.
|
|
29
|
+
*/
|
|
30
|
+
export declare const Portal: ({ children, container: containerProp, id, open, }: PortalProps) => import("react").ReactPortal | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Portal";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReactElement } from "react";
|
|
2
|
+
export interface PortalDeprecatedProps {
|
|
3
|
+
children: ReactElement;
|
|
4
|
+
onRender?: () => void;
|
|
5
|
+
x?: number;
|
|
6
|
+
y?: number;
|
|
7
|
+
}
|
|
8
|
+
export declare const PortalDeprecated: ({ children, x, y, onRender, }: PortalDeprecatedProps) => null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const installTheme: (themeId: string) => void;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactElement } from "react";
|
|
2
|
+
export interface HTMLContainerProps {
|
|
3
|
+
className?: string;
|
|
4
|
+
dataMode?: string;
|
|
5
|
+
x?: number;
|
|
6
|
+
y?: number;
|
|
7
|
+
win?: typeof globalThis;
|
|
8
|
+
}
|
|
9
|
+
export declare const createContainer: (props: HTMLContainerProps) => HTMLDivElement;
|
|
10
|
+
export declare const renderPortal: (component: ReactElement, container: HTMLElement, x: number, y: number, onRender?: () => void) => void;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { HTMLAttributes } from "react";
|
|
2
|
+
import { PopupComponentProps } from "../popup";
|
|
3
|
+
import "./Prompt.css";
|
|
4
|
+
export interface PromptProps extends HTMLAttributes<HTMLDialogElement> {
|
|
5
|
+
PopupProps?: Partial<PopupComponentProps>;
|
|
6
|
+
cancelButtonLabel?: string;
|
|
7
|
+
confirmButtonLabel?: string;
|
|
8
|
+
onCancel: () => void;
|
|
9
|
+
onConfirm: () => void;
|
|
10
|
+
icon?: string;
|
|
11
|
+
text: string;
|
|
12
|
+
variant?: "warn" | "error" | "info";
|
|
13
|
+
}
|
|
14
|
+
export declare const Prompt: ({ PopupProps, cancelButtonLabel, confirmButtonLabel, icon, onCancel, onConfirm, style, text, title, variant, ...htmlAttributes }: PromptProps) => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Prompt";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MouseEventHandler, ReactNode, RefObject } from "react";
|
|
2
|
+
import { TooltipPlacement } from "./useAnchoredPosition";
|
|
3
|
+
import "./Tooltip.css";
|
|
4
|
+
export interface TooltipProps {
|
|
5
|
+
anchorElement: RefObject<HTMLElement>;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
id?: string;
|
|
8
|
+
onMouseEnter: MouseEventHandler;
|
|
9
|
+
onMouseLeave: MouseEventHandler;
|
|
10
|
+
placement: TooltipPlacement;
|
|
11
|
+
}
|
|
12
|
+
export declare const Tooltip: ({ anchorElement, children, id, onMouseEnter, onMouseLeave, placement, }: TooltipProps) => JSX.Element | null;
|