@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.
Files changed (196) hide show
  1. package/cjs/index.js +5705 -3779
  2. package/cjs/index.js.map +4 -4
  3. package/esm/index.js +5754 -3781
  4. package/esm/index.js.map +4 -4
  5. package/index.css +419 -105
  6. package/index.css.map +3 -3
  7. package/package.json +8 -6
  8. package/types/vuu-popups/src/dialog/Dialog.d.ts +8 -0
  9. package/types/vuu-popups/src/dialog/index.d.ts +1 -0
  10. package/types/vuu-popups/src/index.d.ts +8 -0
  11. package/types/vuu-popups/src/menu/ContextMenu.d.ts +16 -0
  12. package/types/vuu-popups/src/menu/MenuList.d.ts +43 -0
  13. package/types/vuu-popups/src/menu/context-menu-provider.d.ts +10 -0
  14. package/types/vuu-popups/src/menu/index.d.ts +4 -0
  15. package/types/vuu-popups/src/menu/key-code.d.ts +12 -0
  16. package/types/vuu-popups/src/menu/list-dom-utils.d.ts +4 -0
  17. package/types/vuu-popups/src/menu/use-cascade.d.ts +25 -0
  18. package/types/vuu-popups/src/menu/use-items-with-ids-next.d.ts +13 -0
  19. package/types/vuu-popups/src/menu/use-keyboard-navigation.d.ts +27 -0
  20. package/types/vuu-popups/src/menu/useContextMenu.d.ts +20 -0
  21. package/types/vuu-popups/src/menu/utils.d.ts +2 -0
  22. package/types/vuu-popups/src/popup/Popup.d.ts +10 -0
  23. package/types/vuu-popups/src/popup/index.d.ts +3 -0
  24. package/types/vuu-popups/src/popup/popup-service.d.ts +59 -0
  25. package/types/vuu-popups/src/popup/useAnchoredPosition.d.ts +12 -0
  26. package/types/vuu-popups/src/popup-menu/PopupMenu.d.ts +16 -0
  27. package/types/vuu-popups/src/popup-menu/index.d.ts +1 -0
  28. package/types/vuu-popups/src/portal/Portal.d.ts +30 -0
  29. package/types/vuu-popups/src/portal/index.d.ts +1 -0
  30. package/types/vuu-popups/src/portal-deprecated/PortalDeprecated.d.ts +8 -0
  31. package/types/vuu-popups/src/portal-deprecated/index.d.ts +3 -0
  32. package/types/vuu-popups/src/portal-deprecated/portal-utils.d.ts +1 -0
  33. package/types/vuu-popups/src/portal-deprecated/render-portal.d.ts +10 -0
  34. package/types/vuu-popups/src/prompt/Prompt.d.ts +14 -0
  35. package/types/vuu-popups/src/prompt/index.d.ts +1 -0
  36. package/types/vuu-popups/src/tooltip/Tooltip.d.ts +12 -0
  37. package/types/vuu-popups/src/tooltip/index.d.ts +2 -0
  38. package/types/vuu-popups/src/tooltip/useAnchoredPosition.d.ts +12 -0
  39. package/types/vuu-popups/src/tooltip/useTooltip.d.ts +16 -0
  40. package/types/vuu-ui-controls/src/combo-box/ComboBox.d.ts +18 -0
  41. package/types/vuu-ui-controls/src/combo-box/index.d.ts +1 -0
  42. package/types/vuu-ui-controls/src/combo-box/useCombobox.d.ts +22 -0
  43. package/types/{list → vuu-ui-controls/src}/common-hooks/collectionTypes.d.ts +1 -0
  44. package/types/vuu-ui-controls/src/common-hooks/index.d.ts +8 -0
  45. package/types/{list → vuu-ui-controls/src}/common-hooks/navigationTypes.d.ts +5 -3
  46. package/types/{list → vuu-ui-controls/src}/common-hooks/selectionTypes.d.ts +16 -12
  47. package/types/{list → vuu-ui-controls/src}/common-hooks/useCollectionItems.d.ts +1 -1
  48. package/types/vuu-ui-controls/src/common-hooks/useControlled.d.ts +24 -0
  49. package/types/{list → vuu-ui-controls/src}/common-hooks/useSelection.d.ts +1 -1
  50. package/types/vuu-ui-controls/src/drag-drop/DragDropProvider.d.ts +37 -0
  51. package/types/vuu-ui-controls/src/drag-drop/DragDropState.d.ts +15 -0
  52. package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/dragDropTypesNext.d.ts +24 -5
  53. package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/drop-target-utils.d.ts +8 -9
  54. package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/useDragDisplacers.d.ts +3 -2
  55. package/types/vuu-ui-controls/src/drag-drop/useDragDropIndicator.d.ts +2 -0
  56. package/types/vuu-ui-controls/src/drag-drop/useDragDropNaturalMovementNext.d.ts +2 -0
  57. package/types/vuu-ui-controls/src/drag-drop/useGlobalDragDrop.d.ts +10 -0
  58. package/types/vuu-ui-controls/src/dropdown/Dropdown.d.ts +10 -0
  59. package/types/vuu-ui-controls/src/dropdown/DropdownBase.d.ts +10 -0
  60. package/types/vuu-ui-controls/src/dropdown/DropdownButton.d.ts +42 -0
  61. package/types/vuu-ui-controls/src/dropdown/dropdownTypes.d.ts +45 -0
  62. package/types/vuu-ui-controls/src/dropdown/index.d.ts +5 -0
  63. package/types/vuu-ui-controls/src/dropdown/useClickAway.d.ts +8 -0
  64. package/types/vuu-ui-controls/src/dropdown/useDropdown.d.ts +13 -0
  65. package/types/vuu-ui-controls/src/dropdown/useDropdownBase.d.ts +2 -0
  66. package/types/vuu-ui-controls/src/editable/editable-utils.d.ts +4 -0
  67. package/types/vuu-ui-controls/src/editable/index.d.ts +2 -0
  68. package/types/vuu-ui-controls/src/editable/useEditableText.d.ts +16 -0
  69. package/types/vuu-ui-controls/src/expando-input/ExpandoInput.d.ts +4 -0
  70. package/types/vuu-ui-controls/src/expando-input/index.d.ts +1 -0
  71. package/types/vuu-ui-controls/src/index.d.ts +15 -0
  72. package/types/vuu-ui-controls/src/inputs/Checkbox.d.ts +10 -0
  73. package/types/vuu-ui-controls/src/inputs/RadioButton.d.ts +10 -0
  74. package/types/vuu-ui-controls/src/inputs/index.d.ts +2 -0
  75. package/types/vuu-ui-controls/src/instrument-search/InstrumentSearch.d.ts +11 -0
  76. package/types/vuu-ui-controls/src/instrument-search/SearchCell.d.ts +4 -0
  77. package/types/vuu-ui-controls/src/instrument-search/index.d.ts +1 -0
  78. package/types/vuu-ui-controls/src/instrument-search/moving-window.d.ts +14 -0
  79. package/types/vuu-ui-controls/src/instrument-search/useDataSource.d.ts +7 -0
  80. package/types/vuu-ui-controls/src/list/ChevronIcon.d.ts +8 -0
  81. package/types/{list → vuu-ui-controls/src/list}/List.d.ts +2 -2
  82. package/types/{list → vuu-ui-controls/src/list}/ListItem.d.ts +3 -1
  83. package/types/vuu-ui-controls/src/list/RadioIcon.d.ts +6 -0
  84. package/types/{list → vuu-ui-controls/src/list}/VirtualizedList.d.ts +1 -1
  85. package/types/{list → vuu-ui-controls/src/list}/common-hooks/index.d.ts +2 -7
  86. package/types/{list → vuu-ui-controls/src/list}/common-hooks/keyUtils.d.ts +0 -1
  87. package/types/{list → vuu-ui-controls/src/list}/common-hooks/list-dom-utils.d.ts +0 -1
  88. package/types/{list → vuu-ui-controls/src/list}/common-hooks/useCollapsibleGroups.d.ts +2 -2
  89. package/types/{list → vuu-ui-controls/src/list}/common-hooks/useImperativeScrollingAPI.d.ts +1 -1
  90. package/types/vuu-ui-controls/src/list/common-hooks/useKeyboardNavigation.d.ts +3 -0
  91. package/types/{list → vuu-ui-controls/src/list}/common-hooks/useTypeahead.d.ts +1 -1
  92. package/types/{list → vuu-ui-controls/src/list}/common-hooks/useViewportTracking.d.ts +1 -1
  93. package/types/{list → vuu-ui-controls/src/list}/common-hooks/utils/collection-item-utils.d.ts +1 -1
  94. package/types/{list → vuu-ui-controls/src/list}/common-hooks/utils/index.d.ts +1 -0
  95. package/types/vuu-ui-controls/src/list/common-hooks/utils/isSelected.d.ts +2 -0
  96. package/types/{list → vuu-ui-controls/src/list}/index.d.ts +3 -0
  97. package/types/{list → vuu-ui-controls/src/list}/listTypes.d.ts +15 -15
  98. package/types/{list → vuu-ui-controls/src/list}/useList.d.ts +2 -2
  99. package/types/{list → vuu-ui-controls/src/list}/useListHeight.d.ts +5 -4
  100. package/types/{list → vuu-ui-controls/src/list}/useVirtualization.d.ts +1 -1
  101. package/types/vuu-ui-controls/src/price-ticker/PriceTicker.d.ts +8 -0
  102. package/types/vuu-ui-controls/src/price-ticker/index.d.ts +1 -0
  103. package/types/vuu-ui-controls/src/tabstrip/TabMenu.d.ts +16 -0
  104. package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/TabsTypes.d.ts +2 -2
  105. package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/tabstrip-dom-utils.d.ts +0 -1
  106. package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/useSelection.d.ts +0 -1
  107. package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/useTabstrip.d.ts +1 -1
  108. package/types/vuu-ui-controls/src/utils/forwardCallbackProps.d.ts +3 -0
  109. package/types/vuu-ui-controls/src/utils/index.d.ts +2 -0
  110. package/types/vuu-ui-controls/src/vuu-input/VuuInput.d.ts +10 -0
  111. package/types/vuu-ui-controls/src/vuu-input/index.d.ts +1 -0
  112. package/types/vuu-utils/src/DataWindow.d.ts +39 -0
  113. package/types/vuu-utils/src/array-utils.d.ts +6 -0
  114. package/types/vuu-utils/src/box-utils.d.ts +9 -0
  115. package/types/vuu-utils/src/column-utils.d.ts +130 -0
  116. package/types/vuu-utils/src/common-types.d.ts +6 -0
  117. package/types/vuu-utils/src/component-registry.d.ts +23 -0
  118. package/types/vuu-utils/src/cookie-utils.d.ts +1 -0
  119. package/types/vuu-utils/src/data-utils.d.ts +14 -0
  120. package/types/vuu-utils/src/date-utils.d.ts +7 -0
  121. package/types/vuu-utils/src/debug-utils.d.ts +9 -0
  122. package/types/vuu-utils/src/event-emitter.d.ts +13 -0
  123. package/types/vuu-utils/src/filter-utils.d.ts +14 -0
  124. package/types/vuu-utils/src/formatting-utils.d.ts +9 -0
  125. package/types/vuu-utils/src/getUniqueId.d.ts +1 -0
  126. package/types/vuu-utils/src/group-utils.d.ts +3 -0
  127. package/types/vuu-utils/src/html-utils.d.ts +12 -0
  128. package/types/vuu-utils/src/index.d.ts +34 -0
  129. package/types/vuu-utils/src/input-utils.d.ts +2 -0
  130. package/types/vuu-utils/src/invariant.d.ts +1 -0
  131. package/types/vuu-utils/src/itemToString.d.ts +2 -0
  132. package/types/vuu-utils/src/json-utils.d.ts +6 -0
  133. package/types/vuu-utils/src/keyboard-utils.d.ts +12 -0
  134. package/types/vuu-utils/src/keyset.d.ts +11 -0
  135. package/types/vuu-utils/src/logging-utils.d.ts +44 -0
  136. package/types/vuu-utils/src/menu-utils.d.ts +2 -0
  137. package/types/vuu-utils/src/nanoid/index.d.ts +1 -0
  138. package/types/vuu-utils/src/perf-utils.d.ts +5 -0
  139. package/types/vuu-utils/src/range-utils.d.ts +24 -0
  140. package/types/vuu-utils/src/round-decimal.d.ts +1 -0
  141. package/types/vuu-utils/src/row-utils.d.ts +7 -0
  142. package/types/vuu-utils/src/screenshot-utils.d.ts +6 -0
  143. package/types/vuu-utils/src/selection-utils.d.ts +27 -0
  144. package/types/vuu-utils/src/sort-utils.d.ts +5 -0
  145. package/types/vuu-utils/src/text-utils.d.ts +2 -0
  146. package/types/vuu-utils/src/url-utils.d.ts +2 -0
  147. package/types/common-hooks/index.d.ts +0 -1
  148. package/types/drag-drop/DragDropProvider.d.ts +0 -22
  149. package/types/drag-drop/drag-utils.d.ts +0 -49
  150. package/types/drag-drop/useDragDropIndicator.d.ts +0 -2
  151. package/types/drag-drop/useDragDropNaturalMovementNext.d.ts +0 -2
  152. package/types/drag-drop/useDragSpacers.d.ts +0 -7
  153. package/types/index.d.ts +0 -5
  154. package/types/list/common-hooks/useKeyboardNavigation.d.ts +0 -4
  155. package/types/list/common-hooks/utils/isSelected.d.ts +0 -2
  156. package/types/tabstrip/TabMenu.d.ts +0 -12
  157. package/types/utils/index.d.ts +0 -1
  158. /package/types/{list → vuu-ui-controls/src}/common-hooks/collectionProvider.d.ts +0 -0
  159. /package/types/{list → vuu-ui-controls/src}/common-hooks/itemToString.d.ts +0 -0
  160. /package/types/{common-hooks → vuu-ui-controls/src/common-hooks}/use-resize-observer.d.ts +0 -0
  161. /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/Draggable.d.ts +0 -0
  162. /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/DropIndicator.d.ts +0 -0
  163. /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/index.d.ts +0 -0
  164. /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/useAutoScroll.d.ts +0 -0
  165. /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/useDragDropNext.d.ts +0 -0
  166. /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/useDropIndicator.d.ts +0 -0
  167. /package/types/{drag-drop → vuu-ui-controls/src/drag-drop}/useTransition.d.ts +0 -0
  168. /package/types/{editable-label → vuu-ui-controls/src/editable-label}/EditableLabel.d.ts +0 -0
  169. /package/types/{editable-label → vuu-ui-controls/src/editable-label}/index.d.ts +0 -0
  170. /package/types/{list → vuu-ui-controls/src/list}/CheckboxIcon.d.ts +0 -0
  171. /package/types/{list → vuu-ui-controls/src/list}/Highlighter.d.ts +0 -0
  172. /package/types/{list → vuu-ui-controls/src/list}/ListItemGroup.d.ts +0 -0
  173. /package/types/{list → vuu-ui-controls/src/list}/ListItemHeader.d.ts +0 -0
  174. /package/types/{list → vuu-ui-controls/src/list}/common-hooks/utils/filter-utils.d.ts +0 -0
  175. /package/types/{list → vuu-ui-controls/src/list}/keyset.d.ts +0 -0
  176. /package/types/{list → vuu-ui-controls/src/list}/useScrollPosition.d.ts +0 -0
  177. /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/Tab.d.ts +0 -0
  178. /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/TabMenuOptions.d.ts +0 -0
  179. /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/Tabstrip.d.ts +0 -0
  180. /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/index.d.ts +0 -0
  181. /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/useAnimatedSelectionThumb.d.ts +0 -0
  182. /package/types/{tabstrip → vuu-ui-controls/src/tabstrip}/useKeyboardNavigation.d.ts +0 -0
  183. /package/types/{tree → vuu-ui-controls/src/tree}/Tree.d.ts +0 -0
  184. /package/types/{tree → vuu-ui-controls/src/tree}/hierarchical-data-utils.d.ts +0 -0
  185. /package/types/{tree → vuu-ui-controls/src/tree}/index.d.ts +0 -0
  186. /package/types/{tree → vuu-ui-controls/src/tree}/key-code.d.ts +0 -0
  187. /package/types/{tree → vuu-ui-controls/src/tree}/list-dom-utils.d.ts +0 -0
  188. /package/types/{tree → vuu-ui-controls/src/tree}/use-collapsible-groups.d.ts +0 -0
  189. /package/types/{tree → vuu-ui-controls/src/tree}/use-hierarchical-data.d.ts +0 -0
  190. /package/types/{tree → vuu-ui-controls/src/tree}/use-items-with-ids.d.ts +0 -0
  191. /package/types/{tree → vuu-ui-controls/src/tree}/use-keyboard-navigation.d.ts +0 -0
  192. /package/types/{tree → vuu-ui-controls/src/tree}/use-selection.d.ts +0 -0
  193. /package/types/{tree → vuu-ui-controls/src/tree}/use-tree-keyboard-navigation.d.ts +0 -0
  194. /package/types/{tree → vuu-ui-controls/src/tree}/use-viewport-tracking.d.ts +0 -0
  195. /package/types/{tree → vuu-ui-controls/src/tree}/useTree.d.ts +0 -0
  196. /package/types/{utils → vuu-ui-controls/src/utils}/escapeRegExp.d.ts +0 -0
package/index.css CHANGED
@@ -1,101 +1,64 @@
1
- /* src/drag-drop/Draggable.css */
2
- .vuuDraggable {
3
- background: transparent;
4
- box-shadow: var(--salt-overlayable-shadow-drag);
5
- cursor: var(--salt-draggable-grab-cursor-active);
6
- position: absolute;
7
- opacity: .95;
8
- z-index: 2000;
9
- }
10
- .vuuDraggable-spacer {
11
- display: var(--vuuDraggable-display, inline-block);
12
- height: var(--vuuDraggable-spacer-height, var(--tabstrip-height));
13
- transition: var(--vuuDraggable-transitionProp, width) 0.3s ease;
14
- width: var(--vuuDraggable-spacer-width, 0);
15
- }
16
- .vuuDraggable-dropIndicatorPosition {
17
- display: var(--saltDraggable-display, inline-block);
18
- height: 0px;
19
- width: 100%;
20
- }
21
- .vuuDraggable-dropIndicatorContainer {
22
- transition: var(--vuuDraggable-transitionProp, top) 0.2s ease;
1
+ /* src/dropdown/Dropdown.css */
2
+ .vuuDropdown {
3
+ --saltIcon-margin: 2px 0 0 8px;
4
+ --saltButton-borderStyle: solid;
5
+ --saltButton-borderColor: var(--salt-editable-borderColor);
6
+ --saltButton-borderWidth: 1px;
7
+ --saltButton-borderRadius: 6px;
8
+ --saltButton-height: var(--vuuDropdown-height, auto);
9
+ display: inline-block;
10
+ line-height: 0;
11
+ position: relative;
12
+ width: var(--vuuDropdown-width, auto);
23
13
  }
24
- .vuuDraggable-dropIndicator {
25
- background-color: var(--salt-palette-accent-background);
26
- height: 2px;
14
+ .vuuDropdown-fullWidth {
27
15
  width: 100%;
28
16
  }
29
- .vuuDraggable-dropIndicator:before {
30
- content: "";
31
- width: 6px;
32
- height: 6px;
33
- border-radius: 3px;
34
- background-color: var(--salt-palette-accent-background);
35
- position: absolute;
36
- top: -2px;
37
- left: -3px;
17
+ .vuuDropdown-popup {
18
+ background: var(--salt-container-primary-background);
19
+ z-index: calc(var(--salt-zIndex-flyover) - 1);
38
20
  }
39
- .vuuDraggable-settling {
40
- transition-property: left, top;
41
- transition-duration: .15s;
42
- transition-timing-function: ease-out;
21
+ .vuuDropdown-popup-component {
22
+ --vuuList-borderStyle: none;
43
23
  }
44
- .vuuDraggable-spacer {
45
- order: 1;
24
+ .vuuDropdownButton {
25
+ width: 100%;
46
26
  }
47
27
 
48
- /* src/editable-label/EditableLabel.css */
49
- .vuuEditableLabel {
50
- --saltInput-background: transparent;
51
- --saltInput-minWidth: 14px;
52
- --saltInput-position: absolute;
53
- --editableLabel-padding: var(--saltEditableLabel-padding, 6px);
54
- --editableLabel-height: var(--saltEditableLabel-height, 26px);
55
- color: inherit;
56
- cursor: default;
57
- display: flex;
58
- flex-direction: column;
59
- font-size: var(--salt-text-fontSize);
60
- height: var(--editableLabel-height);
61
- justify-content: center;
62
- outline: none;
63
- padding: 0 var(--editableLabel-padding);
64
- position: relative;
65
- z-index: var(--salt-zIndex-default);
66
- }
67
- .vuuEditableLabel:before {
68
- content: attr(data-text);
69
- display: block;
70
- height: 0px;
71
- visibility: hidden;
72
- white-space: pre-wrap;
28
+ /* src/dropdown/DropdownButton.css */
29
+ .vuuDropdownButton {
30
+ --saltButton-background-hover: var(--salt-actionable-secondary-background);
31
+ --saltButton-background-active: var(--salt-actionable-secondary-background);
32
+ --saltButton-fontWeight: var(--salt-text-fontWeight-strong);
33
+ --saltButton-textAlign: left;
34
+ --saltButton-textTransform: none;
35
+ --saltButton-width: 100%;
36
+ --vuu-icon-size: 16px;
37
+ }
38
+ .vuuDropdownButton:active {
39
+ --saltIcon-color: var(--salt-actionable-secondary-foreground);
40
+ --saltButton-text-color-active: var(--salt-actionable-secondary-foreground);
41
+ }
42
+ .vuuDropdownButton-fullwidth {
43
+ width: 100%;
73
44
  }
74
- .vuuEditableLabel .saltInput {
75
- font-weight: var(--salt-text-fontWeight);
76
- left: var(--editableLabel-padding, 0);
77
- padding: 0;
78
- outline-style: none;
79
- position: absolute;
80
- right: var(--editableLabel-padding, 0);
81
- top: var(--saltEditableLabel-top, 2px);
82
- width: auto;
45
+ .vuuDropdownButton-content {
46
+ align-items: center;
47
+ flex: 1;
48
+ width: 100%;
49
+ display: flex;
50
+ white-space: nowrap;
83
51
  }
84
- .vuuEditableLabel .saltInput-activationIndicator {
85
- display: none;
52
+ .vuuDropdownButton-buttonLabel {
53
+ display: inline-block;
54
+ letter-spacing: 0;
55
+ overflow: hidden;
56
+ text-overflow: ellipsis;
57
+ width: 100%;
86
58
  }
87
- .vuuEditableLabel-input {
88
- background-color: transparent;
89
- border: none;
90
- box-sizing: content-box;
91
- display: block;
92
- flex: 1;
93
- font: inherit;
94
- height: 20px;
95
- margin: 0;
96
- min-width: 0;
59
+ .vuuDropdownButton-formField.saltButton:focus,
60
+ .vuuDropdownButton-formField.saltButton:focus-visible {
97
61
  outline: none;
98
- padding: 0;
99
62
  }
100
63
 
101
64
  /* src/list/Highlighter.css */
@@ -105,7 +68,7 @@
105
68
 
106
69
  /* src/list/CheckboxIcon.css */
107
70
  .vuuCheckboxIcon {
108
- --vuu-icon-size: 14px;
71
+ --vuu-icon-size: 12px;
109
72
  --vuu-icon-left: -1px;
110
73
  --vuu-icon-top: -1px;
111
74
  --vuu-icon-svg: var(--vuu-svg-tick);
@@ -114,9 +77,9 @@
114
77
  border-radius: var(--vuuCheckboxIcon-borderRadius, 3px);
115
78
  border-width: 1px;
116
79
  display: inline-block;
117
- height: var(--vuuCheckboxIcon-size, 14px);
80
+ height: var(--vuuCheckboxIcon-size, 12px);
118
81
  position: relative;
119
- width: var(--vuuCheckboxIcon-size, 14px);
82
+ width: var(--vuuCheckboxIcon-size, 12px);
120
83
  }
121
84
  .vuuCheckboxIcon-checked {
122
85
  background-color: var(--vuuCheckboxIcon-background-checked, var(--salt-selectable-background-selected));
@@ -144,7 +107,7 @@
144
107
  --list-item-background-active: var(--salt-selectable-background-selected);
145
108
  --list-item-alignItems: center;
146
109
  }
147
- .vuuListItem.saltHighlighted {
110
+ .vuuListItem.vuuHighlighted {
148
111
  --saltCheckbox-icon-stroke: var(--salt-selectable-borderColor-hover);
149
112
  --list-item-background: var(--salt-selectable-background-hover);
150
113
  }
@@ -165,7 +128,7 @@
165
128
  line-height: var(--salt-text-lineHeight);
166
129
  height: var(--vuuList-item-height, var(--list-item-height, auto));
167
130
  margin-bottom: var(--list-item-gap);
168
- padding: 0 var(--salt-size-unit);
131
+ padding: 0 var(--vuuListItem-padding, var(--salt-size-unit));
169
132
  left: 0;
170
133
  right: 0;
171
134
  display: flex;
@@ -185,7 +148,7 @@
185
148
  --list-item-background: var(--list-item-background-active);
186
149
  color: var(--list-item-text-color-active);
187
150
  }
188
- .vuuListItem.saltDisabled {
151
+ .vuuListItem.vuuDisabled {
189
152
  --list-item-text-color: var(--salt-text-primary-foreground-disabled);
190
153
  cursor: var(--salt-selectable-cursor-disabled);
191
154
  }
@@ -220,10 +183,57 @@
220
183
  display: none;
221
184
  }
222
185
 
186
+ /* src/drag-drop/Draggable.css */
187
+ .vuuDraggable {
188
+ background: transparent;
189
+ box-shadow: var(--salt-overlayable-shadow-drag);
190
+ cursor: var(--salt-draggable-grab-cursor-active);
191
+ position: absolute;
192
+ opacity: .95;
193
+ z-index: 2000;
194
+ }
195
+ .vuuDraggable-spacer {
196
+ display: var(--vuuDraggable-display, inline-block);
197
+ height: var(--vuuDraggable-spacer-height, var(--tabstrip-height));
198
+ transition: var(--vuuDraggable-transitionProp, width) 0.3s ease;
199
+ width: var(--vuuDraggable-spacer-width, 0);
200
+ }
201
+ .vuuDraggable-dropIndicatorPosition {
202
+ display: var(--saltDraggable-display, inline-block);
203
+ height: 0px;
204
+ width: 100%;
205
+ }
206
+ .vuuDraggable-dropIndicatorContainer {
207
+ transition: var(--vuuDraggable-transitionProp, top) 0.2s ease;
208
+ }
209
+ .vuuDraggable-dropIndicator {
210
+ background-color: var(--salt-palette-accent-background);
211
+ height: 2px;
212
+ width: 100%;
213
+ }
214
+ .vuuDraggable-dropIndicator:before {
215
+ content: "";
216
+ width: 6px;
217
+ height: 6px;
218
+ border-radius: 3px;
219
+ background-color: var(--salt-palette-accent-background);
220
+ position: absolute;
221
+ top: -2px;
222
+ left: -3px;
223
+ }
224
+ .vuuDraggable-settling {
225
+ transition-property: left, top;
226
+ transition-duration: .15s;
227
+ transition-timing-function: ease-out;
228
+ }
229
+ .vuuDraggable-spacer {
230
+ order: 1;
231
+ }
232
+
223
233
  /* src/list/List.css */
224
234
  .vuuList {
225
235
  --list-background: var(--salt-container-primary-background);
226
- --list-borderStyle: var(--vuuList-borderStyle,--salt-container-borderStyle);
236
+ --list-borderStyle: var(--vuuList-borderStyle,var(--salt-container-borderStyle));
227
237
  --list-borderWidth: var(--salt-size-border);
228
238
  --list-height: auto;
229
239
  --list-item-height: var(--salt-size-stackable);
@@ -233,6 +243,7 @@
233
243
  --vuuDraggable-spacer-height: 0;
234
244
  --vuuDraggable-spacer-width: 100%;
235
245
  --vuuDraggable-transitionProp: height;
246
+ --vuuMeasuredContainer-height: var(--computed-list-height);
236
247
  background: var(--list-background);
237
248
  border-color: var(--salt-container-primary-borderColor);
238
249
  border-style: var(--list-borderStyle);
@@ -240,18 +251,20 @@
240
251
  height: var(--saltList-height, var(--list-height));
241
252
  max-height: var(--list-maxHeight);
242
253
  outline: none;
243
- overflow-y: auto;
244
254
  position: relative;
245
255
  user-select: none;
246
256
  width: var(--saltList-width, auto);
247
257
  }
258
+ .vuuList-contentSized {
259
+ box-sizing: content-box;
260
+ }
248
261
  .vuuList-borderless {
249
262
  --list-borderStyle: none;
250
263
  }
251
264
  .vuuList-viewport {
252
- --list-item-height: 30px;
253
- max-height: calc(var(--list-maxHeight) - 2 * var(--list-borderWidth));
265
+ height: var(--computed-list-height, var(--measured-px-height));
254
266
  overflow: auto;
267
+ width: var(--measured-px-width);
255
268
  }
256
269
  .vuuListItemHeader {
257
270
  --saltList-item-background: var(--list-item-header-background);
@@ -298,6 +311,304 @@
298
311
  inset: 2px;
299
312
  }
300
313
 
314
+ /* src/list/RadioIcon.css */
315
+ .vuuRadioIcon {
316
+ --vuu-icon-size: 12px;
317
+ --vuu-icon-left: -1px;
318
+ --vuu-icon-top: -1px;
319
+ --vuu-icon-svg: var(--vuu-svg-radio);
320
+ border-style: solid;
321
+ border-color: var(--vuuRadioIcon-borderColor, var(--salt-selectable-borderColor));
322
+ border-radius: 50%;
323
+ border-width: 1px;
324
+ display: inline-block;
325
+ height: var(--vuuRadioIcon-size, 12px);
326
+ position: relative;
327
+ width: var(--vuuRadioIcon-size, 12px);
328
+ }
329
+ .vuuRadioIcon-checked {
330
+ background-image: var(--vuu-svg-radio);
331
+ border: none;
332
+ background-repeat: no-repeat;
333
+ }
334
+ .vuuRadioIcon-checked:after {
335
+ content: "";
336
+ left: var(--vuu-icon-left, auto);
337
+ height: var(--vuu-icon-height, var(--vuu-icon-size, 12px));
338
+ -webkit-mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);
339
+ mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);
340
+ mask-repeat: no-repeat;
341
+ -webkit-mask-repeat: no-repeat;
342
+ position: absolute;
343
+ top: var(--vuu-icon-top, auto);
344
+ width: var(--vuu-icon-width, var(--vuu-icon-size, 12px));
345
+ }
346
+
347
+ /* src/list/ChevronIcon.css */
348
+ .vuuChevronIcon {
349
+ --vuu-icon-size: 14px;
350
+ --vuu-icon-left: -1px;
351
+ --vuu-icon-top: -1px;
352
+ height: var(--vuuChevronIcon-size, 14px);
353
+ position: relative;
354
+ width: var(--vuuChevronIcon-size, 14px);
355
+ cursor: pointer;
356
+ }
357
+ .vuuChevronIcon:after {
358
+ content: "";
359
+ background-color: #777C94;
360
+ left: var(--vuu-icon-left, auto);
361
+ height: var(--vuu-icon-height, var(--vuu-icon-size, 12px));
362
+ -webkit-mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);
363
+ mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);
364
+ mask-repeat: no-repeat;
365
+ -webkit-mask-repeat: no-repeat;
366
+ position: absolute;
367
+ top: var(--vuu-icon-top, auto);
368
+ width: var(--vuu-icon-width, var(--vuu-icon-size, 12px));
369
+ }
370
+ .vuuChevronIcon.up {
371
+ --vuu-icon-svg: var(--vuu-svg-chevron-up);
372
+ }
373
+ .vuuChevronIcon.down {
374
+ --vuu-icon-svg: var(--vuu-svg-chevron-down);
375
+ }
376
+ .vuuChevronIcon.left {
377
+ --vuu-icon-svg: var(--vuu-svg-chevron-left);
378
+ }
379
+ .vuuChevronIcon.right {
380
+ --vuu-icon-svg: var(--vuu-svg-chevron-right);
381
+ }
382
+
383
+ /* src/editable-label/EditableLabel.css */
384
+ .vuuEditableLabel {
385
+ --editableLabel-padding: var(--vuuEditableLabel-padding, 6px);
386
+ --editableLabel-height: var(--vuuEditableLabel-height, 26px);
387
+ --saltInput-background: transparent;
388
+ --saltInput-height: calc(var(--editableLabel-height) - 4px);
389
+ --saltInput-minWidth: 14px;
390
+ color: inherit;
391
+ cursor: default;
392
+ display: flex;
393
+ flex-direction: column;
394
+ font-size: var(--salt-text-fontSize);
395
+ height: var(--editableLabel-height);
396
+ justify-content: center;
397
+ max-width: 170px;
398
+ outline: none;
399
+ overflow: hidden;
400
+ padding: 0 var(--editableLabel-padding);
401
+ position: relative;
402
+ text-overflow: ellipsis;
403
+ white-space: nowrap;
404
+ z-index: var(--salt-zIndex-default);
405
+ }
406
+ .vuuEditableLabel:before {
407
+ content: attr(data-text);
408
+ display: block;
409
+ height: 0px;
410
+ visibility: hidden;
411
+ white-space: pre-wrap;
412
+ }
413
+ .vuuEditableLabel .saltInput {
414
+ font-weight: var(--salt-text-fontWeight);
415
+ left: var(--editableLabel-padding, 0);
416
+ padding: 0;
417
+ outline-style: none;
418
+ position: absolute;
419
+ right: var(--editableLabel-padding, 0);
420
+ top: var(--saltEditableLabel-top, 2px);
421
+ width: auto;
422
+ }
423
+ .vuuEditableLabel .saltInput-activationIndicator {
424
+ display: none;
425
+ }
426
+ .vuuEditableLabel-input {
427
+ background-color: transparent;
428
+ border: none;
429
+ box-sizing: content-box;
430
+ color: inherit;
431
+ display: block;
432
+ flex: 1;
433
+ font: inherit;
434
+ height: 20px;
435
+ margin: 0;
436
+ min-width: 0;
437
+ outline: none;
438
+ padding: 0;
439
+ }
440
+ .vuuEditableLabel-label {
441
+ overflow: hidden;
442
+ text-overflow: ellipsis;
443
+ white-space: nowrap;
444
+ }
445
+
446
+ /* src/expando-input/ExpandoInput.css */
447
+ .vuuExpandoInput {
448
+ --salt-editable-secondary-background: white;
449
+ --expandoInput-height: var(--vuuExpandoInput-height, 26px);
450
+ --expandoInput-padding: var(--vuuExpandoInput-padding, 6px);
451
+ --saltInput-height: calc(var(--vuuExpandoInput-height) - 4px);
452
+ --saltInput-minWidth: var(--vuuExpandoInput-minWidth, 8px);
453
+ border: var(--vuuExpandoInput-border, none);
454
+ border-radius: var(--vuuExpandoInput-borderRadius, 0);
455
+ color: inherit;
456
+ cursor: default;
457
+ display: inline-block;
458
+ font-size: var(--salt-text-fontSize);
459
+ height: var(--expandoInput-height);
460
+ min-width: calc(var(--saltInput-minWidth) + 2 * var(--expandoInput-padding));
461
+ outline: none;
462
+ padding: 0 var(--expandoInput-padding);
463
+ position: relative;
464
+ }
465
+ .vuuExpandoInput:before {
466
+ content: attr(data-text);
467
+ display: block;
468
+ height: 0px;
469
+ visibility: hidden;
470
+ white-space: pre-wrap;
471
+ }
472
+ .vuuExpandoInput .saltInput {
473
+ font-weight: var(--salt-text-fontWeight);
474
+ left: var(--expandoInput-padding, 0);
475
+ padding: 0;
476
+ outline-style: none;
477
+ position: absolute;
478
+ right: var(--expandoInput-padding, 0);
479
+ top: var(--vuuExpandoInput-top, 2px);
480
+ width: auto;
481
+ }
482
+ .vuuExpandoInput .saltInput-activationIndicator {
483
+ display: none;
484
+ }
485
+ .vuuExpandoInput-input {
486
+ background-color: transparent;
487
+ border: none;
488
+ box-sizing: content-box;
489
+ display: block;
490
+ flex: 1;
491
+ font: inherit;
492
+ height: 20px;
493
+ margin: 0;
494
+ min-width: 0;
495
+ outline: none;
496
+ padding: 0;
497
+ }
498
+
499
+ /* src/inputs/Checkbox.css */
500
+ .vuuCheckbox {
501
+ display: flex;
502
+ height: 24px;
503
+ align-items: center;
504
+ gap: 6px;
505
+ color: var(--light-text-primary, #15171B);
506
+ font-feature-settings:
507
+ "ss02" on,
508
+ "ss01" on,
509
+ "salt" on,
510
+ "liga" off;
511
+ font-size: 12px;
512
+ font-weight: 400;
513
+ cursor: pointer;
514
+ }
515
+
516
+ /* src/inputs/RadioButton.css */
517
+ .vuuRadioButton {
518
+ display: flex;
519
+ height: 24px;
520
+ align-items: center;
521
+ gap: 6px;
522
+ color: var(--light-text-primary, #15171B);
523
+ font-feature-settings:
524
+ "ss02" on,
525
+ "ss01" on,
526
+ "salt" on,
527
+ "liga" off;
528
+ font-size: 12px;
529
+ font-weight: 400;
530
+ cursor: pointer;
531
+ }
532
+ .radio {
533
+ position: relative;
534
+ height: 12px;
535
+ }
536
+ input[type=radio] {
537
+ position: absolute;
538
+ appearance: none;
539
+ width: 100%;
540
+ height: 100%;
541
+ border-radius: 50%;
542
+ margin: 0;
543
+ top: 0;
544
+ }
545
+
546
+ /* src/instrument-search/SearchCell.css */
547
+ .vuuSearchCell {
548
+ --vuu-icon-left: 0;
549
+ --vuu-icon-size: 16px;
550
+ --vuu-icon-top: 0px;
551
+ align-items: center;
552
+ color: var(--background-cell-color);
553
+ display: flex;
554
+ gap: 4px;
555
+ padding: 0 8px 0 8px;
556
+ position: relative;
557
+ z-index: -1;
558
+ }
559
+
560
+ /* src/instrument-search/InstrumentSearch.css */
561
+ .vuuInstrumentSearch {
562
+ height: 100%;
563
+ padding: var(--vuuInstrumentSearch-padding, 12px);
564
+ display: flex;
565
+ flex-direction: column;
566
+ }
567
+ .vuuInstrumentSearch-inputField {
568
+ --vuu-icon-size: 16px;
569
+ flex: 0 0 40px;
570
+ }
571
+ .vuuInstrumentSearch-list {
572
+ background-color: var(--salt-container-primary-background);
573
+ flex: 1 1 auto;
574
+ }
575
+ .vuuInstrumentSearch .vuuTableNextCell {
576
+ padding: 0;
577
+ }
578
+
579
+ /* src/price-ticker/PriceTicker.css */
580
+ @property --price-ticker-color { syntax: "<color>"; initial-value: #15171B; inherits: false; }
581
+ .vuuPriceTicker {
582
+ align-items: center;
583
+ display: flex;
584
+ font-size: var(--vuuPriceTicker-fontSize, var(--salt-text-fontSize));
585
+ font-weight: var(--vuuPriceTicker-fontWeight, 700);
586
+ transition-property: color;
587
+ transition-duration: .3s;
588
+ }
589
+ .vuuPriceTicker.up1 {
590
+ --vuu-icon-color: var(--vuu-color-green-50);
591
+ color: var(--vuu-color-green-50);
592
+ animation-duration: 30s;
593
+ }
594
+ .vuuPriceTicker.up2 {
595
+ --vuu-icon-color: var(--vuu-color-green-50);
596
+ color: var(--vuu-color-green-50);
597
+ animation-duration: 30s;
598
+ }
599
+ .vuuPriceTicker.down1 {
600
+ --vuu-icon-transform: rotate(180deg);
601
+ --vuu-icon-color: var(--vuu-color-red-50);
602
+ color: var(--vuu-color-red-50);
603
+ animation-duration: 30s;
604
+ }
605
+ .vuuPriceTicker.down2 {
606
+ --vuu-icon-transform: rotate(180deg);
607
+ --vuu-icon-color: var(--vuu-color-red-50);
608
+ color: var(--vuu-color-red-50);
609
+ animation-duration: 30s;
610
+ }
611
+
301
612
  /* src/tabstrip/Tabstrip.css */
302
613
  .vuuTabstrip {
303
614
  --vuuOverflowContainer-background: transparent;
@@ -305,17 +616,18 @@
305
616
  --tabstrip-display: inline-flex;
306
617
  --tabstrip-background: transparent;
307
618
  align-self: var(--saltTabs-tabstrip-alignSelf, stretch);
619
+ display: flex;
308
620
  font-size: var(--salt-text-fontSize);
309
621
  font-weight: var(--vuuTabstrip-fontWeight, var(--salt-text-fontWeight));
622
+ min-width: 28px;
310
623
  position: relative;
311
624
  overflow: visible;
312
- display: flex;
313
- min-width: 28px;
314
625
  width: var(--tabstrip-width);
315
626
  }
316
627
  .vuuTabstrip-horizontal {
317
628
  --tabstrip-height: var(--vuuTabstrip-height, 28px);
318
629
  --tabstrip-width: var(--vuuTabstrip-width, 100%);
630
+ --tab-height: var(--tabstrip-height);
319
631
  --tab-width: auto;
320
632
  --tab-thumb-height: 2px;
321
633
  --tab-thumb-left: var(--tab-thumb-offset, 0);
@@ -327,8 +639,9 @@
327
639
  .vuuTabstrip-vertical {
328
640
  --tabstrip-height: var(--vuuTabstrip-height, 100%);
329
641
  --tabstrip-width: var(--vuuTabstrip-width, 100px);
642
+ --tab-height: 50px;
330
643
  --tab-width: 100%;
331
- --tab-thumb-height: var(--tab-thumb-size, 100%);
644
+ --tab-thumb-height: 0;
332
645
  --tab-thumb-left: 0;
333
646
  --tab-thumb-top: var(--tab-thumb-offset, 0);
334
647
  --tab-thumb-width: 2px;
@@ -342,7 +655,7 @@
342
655
  --saltButton-height: 20px;
343
656
  --saltButton-width: 20px;
344
657
  }
345
- .vuuTabstrip-overflowMenu.saltDropdown {
658
+ .vuuTabstrip-overflowMenu.vuuDropdown {
346
659
  --saltIcon-margin: 2px 0 0 0px;
347
660
  }
348
661
  .vuuTabstrip-overflowMenu-open {
@@ -411,9 +724,9 @@
411
724
  /* src/tabstrip/Tab.css */
412
725
  .vuuTab {
413
726
  --saltEditableLabel-padding: 0;
414
- --saltEditableLabel-height: var(--tabstrip-height);
727
+ --saltEditableLabel-height: calc(var(--tabstrip-height) - 2px);
415
728
  --saltInputLegacy-minWidth: 4em;
416
- --saltEditableLabel-top: 3px;
729
+ --saltEditableLabel-top: 2px;
417
730
  --tab-background: var(--vuuTab-background, var(--salt-navigable-primary-background));
418
731
  --tab-cursor: pointer;
419
732
  --tab-position: relative;
@@ -428,7 +741,7 @@
428
741
  cursor: var(--vuuTab-cursor, var(--tab-cursor));
429
742
  display: var(--tabstrip-display);
430
743
  gap: 8px;
431
- height: var(--vuuTab-height, var(--tabstrip-height));
744
+ height: var(--vuuTabHeight, var(--tab-height));
432
745
  letter-spacing: var(--vuuTab-letterSpacing, var(--tab-letterSpacing, 0));
433
746
  min-width: var(--vuuTab-minWidth, 40px);
434
747
  outline: none;
@@ -454,7 +767,8 @@
454
767
  font-family: inherit;
455
768
  font-size: inherit;
456
769
  font-weight: inherit;
457
- height: var(--vuuTabstrip-height, var(--salt-size-stackable));
770
+ height: calc(var(--tab-height) - var(--tab-thumb-height));
771
+ margin-bottom: var(--tab-thumb-height);
458
772
  outline: none;
459
773
  position: relative;
460
774
  }