@salt-ds/lab 1.0.0-alpha.25 → 1.0.0-alpha.27

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 (348) hide show
  1. package/css/salt-lab.css +452 -522
  2. package/dist-cjs/combo-box-next/ComboBoxNext.js +303 -166
  3. package/dist-cjs/combo-box-next/ComboBoxNext.js.map +1 -1
  4. package/dist-cjs/combo-box-next/useComboBoxNext.js +55 -0
  5. package/dist-cjs/combo-box-next/useComboBoxNext.js.map +1 -0
  6. package/dist-cjs/dropdown/DropdownBase.js +1 -1
  7. package/dist-cjs/dropdown/DropdownBase.js.map +1 -1
  8. package/dist-cjs/dropdown-next/DropdownNext.css.js +1 -1
  9. package/dist-cjs/dropdown-next/DropdownNext.js +333 -170
  10. package/dist-cjs/dropdown-next/DropdownNext.js.map +1 -1
  11. package/dist-cjs/editable-label/EditableLabel.js +1 -1
  12. package/dist-cjs/editable-label/EditableLabel.js.map +1 -1
  13. package/dist-cjs/index.js +12 -10
  14. package/dist-cjs/index.js.map +1 -1
  15. package/dist-cjs/layer-layout/LayerLayout.js +0 -1
  16. package/dist-cjs/layer-layout/LayerLayout.js.map +1 -1
  17. package/dist-cjs/list-control/ListControlContext.js +36 -0
  18. package/dist-cjs/list-control/ListControlContext.js.map +1 -0
  19. package/dist-cjs/list-control/ListControlState.js +193 -0
  20. package/dist-cjs/list-control/ListControlState.js.map +1 -0
  21. package/dist-cjs/navigation-item/ConditionalWrapper.js +2 -4
  22. package/dist-cjs/navigation-item/ConditionalWrapper.js.map +1 -1
  23. package/dist-cjs/navigation-item/ExpansionIcon.js +2 -4
  24. package/dist-cjs/navigation-item/ExpansionIcon.js.map +1 -1
  25. package/dist-cjs/navigation-item/NavigationItem.css.js +1 -1
  26. package/dist-cjs/navigation-item/NavigationItem.js +4 -7
  27. package/dist-cjs/navigation-item/NavigationItem.js.map +1 -1
  28. package/dist-cjs/option/Option.css.js +6 -0
  29. package/dist-cjs/option/Option.css.js.map +1 -0
  30. package/dist-cjs/option/Option.js +113 -0
  31. package/dist-cjs/option/Option.js.map +1 -0
  32. package/dist-cjs/option/OptionGroup.css.js +6 -0
  33. package/dist-cjs/option/OptionGroup.css.js.map +1 -0
  34. package/dist-cjs/option/OptionGroup.js +44 -0
  35. package/dist-cjs/option/OptionGroup.js.map +1 -0
  36. package/dist-cjs/option/OptionList.css.js +6 -0
  37. package/dist-cjs/option/OptionList.css.js.map +1 -0
  38. package/dist-cjs/option/OptionList.js +40 -0
  39. package/dist-cjs/option/OptionList.js.map +1 -0
  40. package/dist-cjs/pagination/CompactInput.css.js +6 -0
  41. package/dist-cjs/pagination/CompactInput.css.js.map +1 -0
  42. package/dist-cjs/pagination/CompactInput.js +31 -35
  43. package/dist-cjs/pagination/CompactInput.js.map +1 -1
  44. package/dist-cjs/pagination/CompactPaginator.css.js +6 -0
  45. package/dist-cjs/pagination/CompactPaginator.css.js.map +1 -0
  46. package/dist-cjs/pagination/CompactPaginator.js +76 -0
  47. package/dist-cjs/pagination/CompactPaginator.js.map +1 -0
  48. package/dist-cjs/pagination/GoToInput.css.js +6 -0
  49. package/dist-cjs/pagination/GoToInput.css.js.map +1 -0
  50. package/dist-cjs/pagination/GoToInput.js +37 -59
  51. package/dist-cjs/pagination/GoToInput.js.map +1 -1
  52. package/dist-cjs/pagination/PageButton.css.js +6 -0
  53. package/dist-cjs/pagination/PageButton.css.js.map +1 -0
  54. package/dist-cjs/pagination/PageButton.js +34 -33
  55. package/dist-cjs/pagination/PageButton.js.map +1 -1
  56. package/dist-cjs/pagination/PageRanges.css.js +6 -0
  57. package/dist-cjs/pagination/PageRanges.css.js.map +1 -0
  58. package/dist-cjs/pagination/PageRanges.js +73 -0
  59. package/dist-cjs/pagination/PageRanges.js.map +1 -0
  60. package/dist-cjs/pagination/Pagination.css.js +1 -1
  61. package/dist-cjs/pagination/Pagination.js +21 -38
  62. package/dist-cjs/pagination/Pagination.js.map +1 -1
  63. package/dist-cjs/pagination/PaginationContext.js +1 -6
  64. package/dist-cjs/pagination/PaginationContext.js.map +1 -1
  65. package/dist-cjs/pagination/Paginator.css.js +6 -0
  66. package/dist-cjs/pagination/Paginator.css.js.map +1 -0
  67. package/dist-cjs/pagination/Paginator.js +33 -43
  68. package/dist-cjs/pagination/Paginator.js.map +1 -1
  69. package/dist-cjs/pagination/usePaginationContext.js +1 -1
  70. package/dist-cjs/pagination/usePaginationContext.js.map +1 -1
  71. package/dist-cjs/scrim/Scrim.css.js +1 -1
  72. package/dist-cjs/scrim/Scrim.js +10 -140
  73. package/dist-cjs/scrim/Scrim.js.map +1 -1
  74. package/dist-cjs/tokenized-input/internal/InputPill.js +13 -9
  75. package/dist-cjs/tokenized-input/internal/InputPill.js.map +1 -1
  76. package/dist-cjs/tokenized-input-next/TokenizedInputNext.css.js +6 -0
  77. package/dist-cjs/tokenized-input-next/TokenizedInputNext.css.js.map +1 -0
  78. package/dist-cjs/tokenized-input-next/TokenizedInputNext.js +244 -0
  79. package/dist-cjs/tokenized-input-next/TokenizedInputNext.js.map +1 -0
  80. package/dist-cjs/tokenized-input-next/internal/InputPill.css.js +6 -0
  81. package/dist-cjs/tokenized-input-next/internal/InputPill.css.js.map +1 -0
  82. package/dist-cjs/tokenized-input-next/internal/InputPill.js +83 -0
  83. package/dist-cjs/tokenized-input-next/internal/InputPill.js.map +1 -0
  84. package/dist-cjs/tokenized-input-next/internal/calcFirstHiddenIndex.js +22 -0
  85. package/dist-cjs/tokenized-input-next/internal/calcFirstHiddenIndex.js.map +1 -0
  86. package/dist-cjs/tokenized-input-next/internal/useResizeObserver.js +37 -0
  87. package/dist-cjs/tokenized-input-next/internal/useResizeObserver.js.map +1 -0
  88. package/dist-cjs/tokenized-input-next/internal/useWidth.js +48 -0
  89. package/dist-cjs/tokenized-input-next/internal/useWidth.js.map +1 -0
  90. package/dist-cjs/tokenized-input-next/useTokenizedInputNext.js +479 -0
  91. package/dist-cjs/tokenized-input-next/useTokenizedInputNext.js.map +1 -0
  92. package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js +1 -1
  93. package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  94. package/dist-cjs/tree/Tree.js +1 -2
  95. package/dist-cjs/tree/Tree.js.map +1 -1
  96. package/dist-es/combo-box-next/ComboBoxNext.js +306 -169
  97. package/dist-es/combo-box-next/ComboBoxNext.js.map +1 -1
  98. package/dist-es/combo-box-next/useComboBoxNext.js +51 -0
  99. package/dist-es/combo-box-next/useComboBoxNext.js.map +1 -0
  100. package/dist-es/dropdown/DropdownBase.js +1 -1
  101. package/dist-es/dropdown/DropdownBase.js.map +1 -1
  102. package/dist-es/dropdown-next/DropdownNext.css.js +1 -1
  103. package/dist-es/dropdown-next/DropdownNext.js +332 -169
  104. package/dist-es/dropdown-next/DropdownNext.js.map +1 -1
  105. package/dist-es/editable-label/EditableLabel.js +1 -1
  106. package/dist-es/editable-label/EditableLabel.js.map +1 -1
  107. package/dist-es/index.js +6 -5
  108. package/dist-es/index.js.map +1 -1
  109. package/dist-es/layer-layout/LayerLayout.js +0 -1
  110. package/dist-es/layer-layout/LayerLayout.js.map +1 -1
  111. package/dist-es/list-control/ListControlContext.js +31 -0
  112. package/dist-es/list-control/ListControlContext.js.map +1 -0
  113. package/dist-es/list-control/ListControlState.js +189 -0
  114. package/dist-es/list-control/ListControlState.js.map +1 -0
  115. package/dist-es/navigation-item/ConditionalWrapper.js +2 -4
  116. package/dist-es/navigation-item/ConditionalWrapper.js.map +1 -1
  117. package/dist-es/navigation-item/ExpansionIcon.js +2 -4
  118. package/dist-es/navigation-item/ExpansionIcon.js.map +1 -1
  119. package/dist-es/navigation-item/NavigationItem.css.js +1 -1
  120. package/dist-es/navigation-item/NavigationItem.js +4 -7
  121. package/dist-es/navigation-item/NavigationItem.js.map +1 -1
  122. package/dist-es/option/Option.css.js +4 -0
  123. package/dist-es/option/Option.css.js.map +1 -0
  124. package/dist-es/option/Option.js +109 -0
  125. package/dist-es/option/Option.js.map +1 -0
  126. package/dist-es/option/OptionGroup.css.js +4 -0
  127. package/dist-es/option/OptionGroup.css.js.map +1 -0
  128. package/dist-es/option/OptionGroup.js +40 -0
  129. package/dist-es/option/OptionGroup.js.map +1 -0
  130. package/dist-es/option/OptionList.css.js +4 -0
  131. package/dist-es/option/OptionList.css.js.map +1 -0
  132. package/dist-es/option/OptionList.js +36 -0
  133. package/dist-es/option/OptionList.js.map +1 -0
  134. package/dist-es/pagination/CompactInput.css.js +4 -0
  135. package/dist-es/pagination/CompactInput.css.js.map +1 -0
  136. package/dist-es/pagination/CompactInput.js +32 -36
  137. package/dist-es/pagination/CompactInput.js.map +1 -1
  138. package/dist-es/pagination/CompactPaginator.css.js +4 -0
  139. package/dist-es/pagination/CompactPaginator.css.js.map +1 -0
  140. package/dist-es/pagination/CompactPaginator.js +72 -0
  141. package/dist-es/pagination/CompactPaginator.js.map +1 -0
  142. package/dist-es/pagination/GoToInput.css.js +4 -0
  143. package/dist-es/pagination/GoToInput.css.js.map +1 -0
  144. package/dist-es/pagination/GoToInput.js +40 -62
  145. package/dist-es/pagination/GoToInput.js.map +1 -1
  146. package/dist-es/pagination/PageButton.css.js +4 -0
  147. package/dist-es/pagination/PageButton.css.js.map +1 -0
  148. package/dist-es/pagination/PageButton.js +34 -33
  149. package/dist-es/pagination/PageButton.js.map +1 -1
  150. package/dist-es/pagination/PageRanges.css.js +4 -0
  151. package/dist-es/pagination/PageRanges.css.js.map +1 -0
  152. package/dist-es/pagination/PageRanges.js +69 -0
  153. package/dist-es/pagination/PageRanges.js.map +1 -0
  154. package/dist-es/pagination/Pagination.css.js +1 -1
  155. package/dist-es/pagination/Pagination.js +20 -37
  156. package/dist-es/pagination/Pagination.js.map +1 -1
  157. package/dist-es/pagination/PaginationContext.js +1 -6
  158. package/dist-es/pagination/PaginationContext.js.map +1 -1
  159. package/dist-es/pagination/Paginator.css.js +4 -0
  160. package/dist-es/pagination/Paginator.css.js.map +1 -0
  161. package/dist-es/pagination/Paginator.js +32 -42
  162. package/dist-es/pagination/Paginator.js.map +1 -1
  163. package/dist-es/pagination/usePaginationContext.js +1 -1
  164. package/dist-es/pagination/usePaginationContext.js.map +1 -1
  165. package/dist-es/scrim/Scrim.css.js +1 -1
  166. package/dist-es/scrim/Scrim.js +12 -138
  167. package/dist-es/scrim/Scrim.js.map +1 -1
  168. package/dist-es/tokenized-input/internal/InputPill.js +15 -11
  169. package/dist-es/tokenized-input/internal/InputPill.js.map +1 -1
  170. package/dist-es/tokenized-input-next/TokenizedInputNext.css.js +4 -0
  171. package/dist-es/tokenized-input-next/TokenizedInputNext.css.js.map +1 -0
  172. package/dist-es/tokenized-input-next/TokenizedInputNext.js +240 -0
  173. package/dist-es/tokenized-input-next/TokenizedInputNext.js.map +1 -0
  174. package/dist-es/tokenized-input-next/internal/InputPill.css.js +4 -0
  175. package/dist-es/tokenized-input-next/internal/InputPill.css.js.map +1 -0
  176. package/dist-es/tokenized-input-next/internal/InputPill.js +79 -0
  177. package/dist-es/tokenized-input-next/internal/InputPill.js.map +1 -0
  178. package/dist-es/tokenized-input-next/internal/calcFirstHiddenIndex.js +18 -0
  179. package/dist-es/tokenized-input-next/internal/calcFirstHiddenIndex.js.map +1 -0
  180. package/dist-es/tokenized-input-next/internal/useResizeObserver.js +33 -0
  181. package/dist-es/tokenized-input-next/internal/useResizeObserver.js.map +1 -0
  182. package/dist-es/tokenized-input-next/internal/useWidth.js +42 -0
  183. package/dist-es/tokenized-input-next/internal/useWidth.js.map +1 -0
  184. package/dist-es/tokenized-input-next/useTokenizedInputNext.js +471 -0
  185. package/dist-es/tokenized-input-next/useTokenizedInputNext.js.map +1 -0
  186. package/dist-es/toolbar/overflow-panel/OverflowPanel.js +1 -1
  187. package/dist-es/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  188. package/dist-es/tree/Tree.js +1 -2
  189. package/dist-es/tree/Tree.js.map +1 -1
  190. package/dist-types/combo-box-next/ComboBoxNext.d.ts +7 -80
  191. package/dist-types/combo-box-next/useComboBoxNext.d.ts +31 -0
  192. package/dist-types/dialog/useDialog.d.ts +6 -7
  193. package/dist-types/drawer/useDrawer.d.ts +6 -7
  194. package/dist-types/dropdown-next/DropdownNext.d.ts +25 -27
  195. package/dist-types/index.d.ts +2 -2
  196. package/dist-types/list-control/ListControlContext.d.ts +20 -0
  197. package/dist-types/list-control/ListControlState.d.ts +68 -0
  198. package/dist-types/navigation-item/ConditionalWrapper.d.ts +1 -1
  199. package/dist-types/navigation-item/ExpansionIcon.d.ts +1 -1
  200. package/dist-types/option/Option.d.ts +20 -0
  201. package/dist-types/option/OptionGroup.d.ts +12 -0
  202. package/dist-types/option/OptionList.d.ts +5 -0
  203. package/dist-types/option/index.d.ts +2 -0
  204. package/dist-types/pagination/CompactInput.d.ts +2 -8
  205. package/dist-types/pagination/CompactPaginator.d.ts +1 -0
  206. package/dist-types/pagination/GoToInput.d.ts +13 -4
  207. package/dist-types/pagination/PageButton.d.ts +2 -3
  208. package/dist-types/pagination/PageRanges.d.ts +5 -0
  209. package/dist-types/pagination/Pagination.d.ts +15 -4
  210. package/dist-types/pagination/PaginationContext.d.ts +2 -4
  211. package/dist-types/pagination/Paginator.d.ts +6 -3
  212. package/dist-types/pagination/index.d.ts +2 -0
  213. package/dist-types/scrim/Scrim.d.ts +6 -61
  214. package/dist-types/scrim/index.d.ts +0 -1
  215. package/dist-types/tabs/drag-drop/drag-utils.d.ts +6 -6
  216. package/dist-types/tokenized-input/internal/InputPill.d.ts +7 -5
  217. package/dist-types/tokenized-input-next/TokenizedInputNext.d.ts +51 -0
  218. package/dist-types/tokenized-input-next/index.d.ts +2 -0
  219. package/dist-types/tokenized-input-next/internal/InputPill.d.ts +29 -0
  220. package/dist-types/tokenized-input-next/internal/calcFirstHiddenIndex.d.ts +4 -0
  221. package/dist-types/tokenized-input-next/internal/useResizeObserver.d.ts +6 -0
  222. package/dist-types/tokenized-input-next/internal/useWidth.d.ts +7 -0
  223. package/dist-types/tokenized-input-next/useTokenizedInputNext.d.ts +47 -0
  224. package/package.json +3 -3
  225. package/dist-cjs/combo-box-next/ComboBoxNext.css.js +0 -6
  226. package/dist-cjs/combo-box-next/ComboBoxNext.css.js.map +0 -1
  227. package/dist-cjs/combo-box-next/useComboBox.js +0 -147
  228. package/dist-cjs/combo-box-next/useComboBox.js.map +0 -1
  229. package/dist-cjs/combo-box-next/useComboboxPortal.js +0 -75
  230. package/dist-cjs/combo-box-next/useComboboxPortal.js.map +0 -1
  231. package/dist-cjs/combo-box-next/utils.js +0 -36
  232. package/dist-cjs/combo-box-next/utils.js.map +0 -1
  233. package/dist-cjs/dropdown-next/useDropdownNext.js +0 -188
  234. package/dist-cjs/dropdown-next/useDropdownNext.js.map +0 -1
  235. package/dist-cjs/focus-manager/FocusManager.js +0 -158
  236. package/dist-cjs/focus-manager/FocusManager.js.map +0 -1
  237. package/dist-cjs/focus-manager/internal/findAllTabbableElements.js +0 -45
  238. package/dist-cjs/focus-manager/internal/findAllTabbableElements.js.map +0 -1
  239. package/dist-cjs/focus-manager/internal/useReturnFocus.js +0 -59
  240. package/dist-cjs/focus-manager/internal/useReturnFocus.js.map +0 -1
  241. package/dist-cjs/pagination/ArrowButton.js +0 -64
  242. package/dist-cjs/pagination/ArrowButton.js.map +0 -1
  243. package/dist-cjs/pagination/CompactControls.js +0 -38
  244. package/dist-cjs/pagination/CompactControls.js.map +0 -1
  245. package/dist-cjs/pagination/RegularControls.js +0 -58
  246. package/dist-cjs/pagination/RegularControls.js.map +0 -1
  247. package/dist-cjs/pagination/utils.js +0 -10
  248. package/dist-cjs/pagination/utils.js.map +0 -1
  249. package/dist-cjs/pill/ClosablePill.js +0 -61
  250. package/dist-cjs/pill/ClosablePill.js.map +0 -1
  251. package/dist-cjs/pill/Pill.css.js +0 -6
  252. package/dist-cjs/pill/Pill.css.js.map +0 -1
  253. package/dist-cjs/pill/Pill.js +0 -49
  254. package/dist-cjs/pill/Pill.js.map +0 -1
  255. package/dist-cjs/pill/PillBase.js +0 -133
  256. package/dist-cjs/pill/PillBase.js.map +0 -1
  257. package/dist-cjs/pill/SelectablePill.js +0 -55
  258. package/dist-cjs/pill/SelectablePill.js.map +0 -1
  259. package/dist-cjs/pill/constants.js +0 -8
  260. package/dist-cjs/pill/constants.js.map +0 -1
  261. package/dist-cjs/pill/internal/DeleteButton.js +0 -37
  262. package/dist-cjs/pill/internal/DeleteButton.js.map +0 -1
  263. package/dist-cjs/pill/internal/DivButton.js +0 -68
  264. package/dist-cjs/pill/internal/DivButton.js.map +0 -1
  265. package/dist-cjs/pill/internal/PillCheckbox.css.js +0 -6
  266. package/dist-cjs/pill/internal/PillCheckbox.css.js.map +0 -1
  267. package/dist-cjs/pill/internal/PillCheckbox.js +0 -27
  268. package/dist-cjs/pill/internal/PillCheckbox.js.map +0 -1
  269. package/dist-cjs/pill-next/PillNext.css.js +0 -6
  270. package/dist-cjs/pill-next/PillNext.css.js.map +0 -1
  271. package/dist-cjs/pill-next/PillNext.js +0 -65
  272. package/dist-cjs/pill-next/PillNext.js.map +0 -1
  273. package/dist-cjs/scrim/ScrimContext.js +0 -13
  274. package/dist-cjs/scrim/ScrimContext.js.map +0 -1
  275. package/dist-cjs/scrim/internal/PreventFocus.js +0 -39
  276. package/dist-cjs/scrim/internal/PreventFocus.js.map +0 -1
  277. package/dist-es/combo-box-next/ComboBoxNext.css.js +0 -4
  278. package/dist-es/combo-box-next/ComboBoxNext.css.js.map +0 -1
  279. package/dist-es/combo-box-next/useComboBox.js +0 -143
  280. package/dist-es/combo-box-next/useComboBox.js.map +0 -1
  281. package/dist-es/combo-box-next/useComboboxPortal.js +0 -71
  282. package/dist-es/combo-box-next/useComboboxPortal.js.map +0 -1
  283. package/dist-es/combo-box-next/utils.js +0 -31
  284. package/dist-es/combo-box-next/utils.js.map +0 -1
  285. package/dist-es/dropdown-next/useDropdownNext.js +0 -184
  286. package/dist-es/dropdown-next/useDropdownNext.js.map +0 -1
  287. package/dist-es/focus-manager/FocusManager.js +0 -154
  288. package/dist-es/focus-manager/FocusManager.js.map +0 -1
  289. package/dist-es/focus-manager/internal/findAllTabbableElements.js +0 -41
  290. package/dist-es/focus-manager/internal/findAllTabbableElements.js.map +0 -1
  291. package/dist-es/focus-manager/internal/useReturnFocus.js +0 -55
  292. package/dist-es/focus-manager/internal/useReturnFocus.js.map +0 -1
  293. package/dist-es/pagination/ArrowButton.js +0 -60
  294. package/dist-es/pagination/ArrowButton.js.map +0 -1
  295. package/dist-es/pagination/CompactControls.js +0 -34
  296. package/dist-es/pagination/CompactControls.js.map +0 -1
  297. package/dist-es/pagination/RegularControls.js +0 -54
  298. package/dist-es/pagination/RegularControls.js.map +0 -1
  299. package/dist-es/pagination/utils.js +0 -6
  300. package/dist-es/pagination/utils.js.map +0 -1
  301. package/dist-es/pill/ClosablePill.js +0 -57
  302. package/dist-es/pill/ClosablePill.js.map +0 -1
  303. package/dist-es/pill/Pill.css.js +0 -4
  304. package/dist-es/pill/Pill.css.js.map +0 -1
  305. package/dist-es/pill/Pill.js +0 -45
  306. package/dist-es/pill/Pill.js.map +0 -1
  307. package/dist-es/pill/PillBase.js +0 -129
  308. package/dist-es/pill/PillBase.js.map +0 -1
  309. package/dist-es/pill/SelectablePill.js +0 -51
  310. package/dist-es/pill/SelectablePill.js.map +0 -1
  311. package/dist-es/pill/constants.js +0 -4
  312. package/dist-es/pill/constants.js.map +0 -1
  313. package/dist-es/pill/internal/DeleteButton.js +0 -33
  314. package/dist-es/pill/internal/DeleteButton.js.map +0 -1
  315. package/dist-es/pill/internal/DivButton.js +0 -64
  316. package/dist-es/pill/internal/DivButton.js.map +0 -1
  317. package/dist-es/pill/internal/PillCheckbox.css.js +0 -4
  318. package/dist-es/pill/internal/PillCheckbox.css.js.map +0 -1
  319. package/dist-es/pill/internal/PillCheckbox.js +0 -23
  320. package/dist-es/pill/internal/PillCheckbox.js.map +0 -1
  321. package/dist-es/pill-next/PillNext.css.js +0 -4
  322. package/dist-es/pill-next/PillNext.css.js.map +0 -1
  323. package/dist-es/pill-next/PillNext.js +0 -57
  324. package/dist-es/pill-next/PillNext.js.map +0 -1
  325. package/dist-es/scrim/ScrimContext.js +0 -9
  326. package/dist-es/scrim/ScrimContext.js.map +0 -1
  327. package/dist-es/scrim/internal/PreventFocus.js +0 -35
  328. package/dist-es/scrim/internal/PreventFocus.js.map +0 -1
  329. package/dist-types/combo-box-next/useComboBox.d.ts +0 -44
  330. package/dist-types/combo-box-next/useComboboxPortal.d.ts +0 -22
  331. package/dist-types/combo-box-next/utils.d.ts +0 -7
  332. package/dist-types/dropdown-next/useDropdownNext.d.ts +0 -42
  333. package/dist-types/pagination/ArrowButton.d.ts +0 -7
  334. package/dist-types/pagination/CompactControls.d.ts +0 -8
  335. package/dist-types/pagination/RegularControls.d.ts +0 -8
  336. package/dist-types/pagination/utils.d.ts +0 -1
  337. package/dist-types/pill/ClosablePill.d.ts +0 -8
  338. package/dist-types/pill/Pill.d.ts +0 -15
  339. package/dist-types/pill/PillBase.d.ts +0 -52
  340. package/dist-types/pill/SelectablePill.d.ts +0 -17
  341. package/dist-types/pill/constants.d.ts +0 -1
  342. package/dist-types/pill/index.d.ts +0 -3
  343. package/dist-types/pill/internal/DeleteButton.d.ts +0 -8
  344. package/dist-types/pill/internal/DivButton.d.ts +0 -12
  345. package/dist-types/pill/internal/PillCheckbox.d.ts +0 -3
  346. package/dist-types/pill-next/PillNext.d.ts +0 -7
  347. package/dist-types/pill-next/index.d.ts +0 -1
  348. package/dist-types/scrim/ScrimContext.d.ts +0 -1
@@ -0,0 +1,20 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from "react";
2
+ export interface OptionProps extends ComponentPropsWithoutRef<"div"> {
3
+ /**
4
+ * If `true`, the option will be disabled.
5
+ */
6
+ disabled?: boolean;
7
+ /**
8
+ * The value of the option.
9
+ */
10
+ value: string;
11
+ /**
12
+ * The text value of the option. If not provided, the text value will be inferred from the children.
13
+ */
14
+ textValue?: string;
15
+ /**
16
+ * The content of the option.
17
+ */
18
+ children?: ReactNode;
19
+ }
20
+ export declare const Option: import("react").ForwardRefExoticComponent<OptionProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,12 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from "react";
2
+ export interface OptionGroupProps extends ComponentPropsWithoutRef<"div"> {
3
+ /**
4
+ * The label of the option group.
5
+ */
6
+ label?: string;
7
+ /**
8
+ * Options to be rendered inside the option group.
9
+ */
10
+ children?: ReactNode;
11
+ }
12
+ export declare const OptionGroup: import("react").ForwardRefExoticComponent<OptionGroupProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,5 @@
1
+ import { ComponentPropsWithoutRef } from "react";
2
+ export interface OptionListProps extends ComponentPropsWithoutRef<"div"> {
3
+ collapsed?: boolean;
4
+ }
5
+ export declare const OptionList: import("react").ForwardRefExoticComponent<OptionListProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export * from "./Option";
2
+ export * from "./OptionGroup";
@@ -1,8 +1,2 @@
1
- import { FormFieldLegacyProps as FormFieldProps } from "../form-field-legacy";
2
- export interface CompactInputProps {
3
- count: number;
4
- page: number;
5
- onPageChange: (page: number) => void;
6
- FormFieldProps?: Partial<FormFieldProps>;
7
- }
8
- export declare const CompactInput: ({ page, count, onPageChange, FormFieldProps: { className, ...restFormFieldLegacyProps }, }: CompactInputProps) => JSX.Element;
1
+ import { InputProps } from "@salt-ds/core";
2
+ export declare const CompactInput: import("react").ForwardRefExoticComponent<Pick<InputProps, "variant" | "inputRef"> & import("react").RefAttributes<HTMLInputElement>>;
@@ -0,0 +1 @@
1
+ export declare const CompactPaginator: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,7 +1,16 @@
1
- import { HTMLAttributes } from "react";
2
- import { FormFieldLegacyProps as FormFieldProps } from "../form-field-legacy";
1
+ import { HTMLAttributes, Ref } from "react";
3
2
  export interface GoToInputProps extends HTMLAttributes<HTMLSpanElement> {
3
+ /**
4
+ * Input label.
5
+ */
4
6
  label?: string;
5
- FormFieldProps?: Partial<FormFieldProps>;
7
+ /**
8
+ * Optional ref for the input component
9
+ */
10
+ inputRef?: Ref<HTMLInputElement>;
11
+ /**
12
+ * Change input variant.
13
+ */
14
+ inputVariant?: "primary" | "secondary";
6
15
  }
7
- export declare const GoToInput: import("react").ForwardRefExoticComponent<GoToInputProps & import("react").RefAttributes<HTMLSpanElement>>;
16
+ export declare const GoToInput: import("react").ForwardRefExoticComponent<GoToInputProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,7 +1,6 @@
1
1
  export interface PageButtonProps {
2
2
  page: number;
3
- isSelected?: boolean;
4
- onPageChange: (page: number) => void;
3
+ selected?: boolean;
5
4
  disabled?: boolean;
6
5
  }
7
- export declare const PageButton: ({ page, isSelected, onPageChange, disabled, }: PageButtonProps) => JSX.Element;
6
+ export declare const PageButton: import("react").ForwardRefExoticComponent<PageButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,5 @@
1
+ export interface PageRangesProps {
2
+ boundaryCount?: number;
3
+ siblingCount?: number;
4
+ }
5
+ export declare function PageRanges({ siblingCount, boundaryCount, }: PageRangesProps): JSX.Element;
@@ -1,9 +1,20 @@
1
- import { HTMLAttributes } from "react";
1
+ import { HTMLAttributes, SyntheticEvent } from "react";
2
2
  export interface PaginationProps extends HTMLAttributes<HTMLElement> {
3
+ /**
4
+ * Number of pages.
5
+ */
3
6
  count: number;
7
+ /**
8
+ * Current/active page.
9
+ */
4
10
  page?: number;
5
- initialPage?: number;
6
- onPageChange?: (page: number) => void;
7
- compact?: boolean;
11
+ /**
12
+ * Default current/active page.
13
+ */
14
+ defaultPage?: number;
15
+ /**
16
+ * Callback function triggered when current page changed.
17
+ */
18
+ onPageChange?: (event: SyntheticEvent, page: number) => void;
8
19
  }
9
20
  export declare const Pagination: import("react").ForwardRefExoticComponent<PaginationProps & import("react").RefAttributes<HTMLElement>>;
@@ -1,9 +1,7 @@
1
+ import { SyntheticEvent } from "react";
1
2
  export interface PaginationContext {
2
3
  page: number;
3
4
  count: number;
4
- compact: boolean;
5
- onPageChange: (page: number) => void;
6
- paginatorElement?: HTMLDivElement;
7
- setPaginatorElement: (element: HTMLDivElement) => void;
5
+ onPageChange: (event: SyntheticEvent, page: number) => void;
8
6
  }
9
7
  export declare const paginationContext: import("react").Context<PaginationContext>;
@@ -1,9 +1,12 @@
1
1
  import { HTMLAttributes } from "react";
2
- import { FormFieldLegacyProps as FormFieldProps } from "../form-field-legacy";
3
2
  export interface PaginatorProps extends HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * Number of pages next to the arrow buttons when page range is truncated.
5
+ */
4
6
  boundaryCount?: number;
7
+ /**
8
+ * Number of pages on each side of the current page when page range is truncated.
9
+ */
5
10
  siblingCount?: number;
6
- showPreviousNext?: boolean;
7
- FormFieldProps?: Partial<FormFieldProps>;
8
11
  }
9
12
  export declare const Paginator: import("react").ForwardRefExoticComponent<PaginatorProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,3 +1,5 @@
1
1
  export * from "./Pagination";
2
2
  export * from "./Paginator";
3
+ export * from "./CompactInput";
4
+ export * from "./CompactPaginator";
3
5
  export * from "./GoToInput";
@@ -1,68 +1,13 @@
1
- import { HTMLAttributes, RefObject, SyntheticEvent } from "react";
2
- import { FocusManagerProps } from "../focus-manager";
3
- export interface ScrimProps extends HTMLAttributes<HTMLDivElement> {
1
+ import { ComponentPropsWithoutRef } from "react";
2
+ export interface ScrimProps extends ComponentPropsWithoutRef<"div"> {
4
3
  /**
5
- * Ref of the element that automatically receives focus when the Scrim is opened.
4
+ * If `true` the scrim is bound to the document viewport.
5
+ * The default value of this prop is false, and the default behavior is for Scrim to be bound to its parent container (nearest positioned ancestor).
6
6
  */
7
- autoFocusRef?: FocusManagerProps["autoFocusRef"];
7
+ fixed?: boolean;
8
8
  /**
9
- * Prop to enable escape key to close scrim.
10
- * The default value of this props is false
11
- */
12
- closeWithEscape?: boolean;
13
- /**
14
- * If `true`, the trap focus will not automatically shift focus to itself when it opens, and
15
- * replace it to the last focused element when it closes.
16
- */
17
- disableAutoFocus?: boolean;
18
- /**
19
- * If `true`, the trap focus will not prevent focus from leaving the trap focus while open.
20
- */
21
- disableFocusTrap?: boolean;
22
- /**
23
- * If `true`, the trap focus will not restore focus to previously focused element once
24
- * trap focus is hidden.
25
- */
26
- disableReturnFocus?: boolean;
27
- /**
28
- * By default, an error will be thrown if the focus trap contains no elements in its tab order.
29
- * With this option you can specify a fallback element to programmatically receive focus if no other tabbable elements are found.
30
- * For example, you may want a popover's `<div>` to receive focus if the popover's content includes no tabbable elements.
31
- */
32
- fallbackFocusRef?: FocusManagerProps["fallbackFocusRef"];
33
- /**
34
- * The handler for backdrop click on Scrim.
35
- */
36
- onBackDropClick?: (e: SyntheticEvent) => void;
37
- /**
38
- * The handler for onClose of Scrim.
39
- */
40
- onClose?: () => void;
41
- /**
42
- * To maintain open and close of the scrim.
9
+ * If `true` the scrim is shown.
43
10
  */
44
11
  open?: boolean;
45
- /**
46
- * Set to true to enable the container use case. If true the Scrim will be bound to a container ref you pass via the `parentRef` prop.
47
- * Default value is false, and the default behavior is for Scrim to be bound to the document viewport.
48
- */
49
- enableContainerMode?: boolean;
50
- /**
51
- * Prop necessary to enable container use case. Pass the parent element ref that you want Scrim to be bound to.
52
- * Default value is undefined, and the default behavior is for Scrim to be bound to the document viewport.
53
- */
54
- containerRef?: RefObject<HTMLElement>;
55
- /**
56
- * Options object to pass to the `focus()` method that is called on the previously focused element when Scrim is closed.
57
- */
58
- returnFocusOptions?: FocusManagerProps["returnFocusOptions"];
59
- /**
60
- * comma separated string of query selectors which may need to be overridden for edge cases.
61
- */
62
- tabEnabledSelectors?: string;
63
- /**
64
- * Prop to pass z-index for Scrim.
65
- */
66
- zIndex?: number;
67
12
  }
68
13
  export declare const Scrim: import("react").ForwardRefExoticComponent<ScrimProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,2 +1 @@
1
1
  export * from "./Scrim";
2
- export * from "./ScrimContext";
@@ -21,24 +21,24 @@ declare type Dimension = keyof Pick<DOMRect, "width" | "height">;
21
21
  export declare const measureElementSizeAndPosition: (element: HTMLElement, dimension?: Dimension, includeAutoMargin?: boolean) => number[];
22
22
  export declare const dimensions: (orientation: orientationType) => {
23
23
  CLIENT_SIZE: "scrollWidth" | "scrollHeight" | "clientHeight" | "clientWidth" | "scrollTop" | "scrollLeft";
24
- CONTRA: "x" | "y" | "top" | "right" | "bottom" | "left" | "height" | "width";
24
+ CONTRA: "x" | "y" | "height" | "width" | "left" | "right" | "top" | "bottom";
25
25
  CONTRA_POS: "clientX" | "clientY";
26
26
  DIMENSION: "height" | "width";
27
- END: "x" | "y" | "top" | "right" | "bottom" | "left" | "height" | "width";
27
+ END: "x" | "y" | "height" | "width" | "left" | "right" | "top" | "bottom";
28
28
  POS: "clientX" | "clientY";
29
29
  SCROLL_POS: "scrollWidth" | "scrollHeight" | "clientHeight" | "clientWidth" | "scrollTop" | "scrollLeft";
30
30
  SCROLL_SIZE: "scrollWidth" | "scrollHeight" | "clientHeight" | "clientWidth" | "scrollTop" | "scrollLeft";
31
- START: "x" | "y" | "top" | "right" | "bottom" | "left" | "height" | "width";
31
+ START: "x" | "y" | "height" | "width" | "left" | "right" | "top" | "bottom";
32
32
  } | {
33
33
  CLIENT_SIZE: "scrollWidth" | "scrollHeight" | "clientHeight" | "clientWidth" | "scrollTop" | "scrollLeft";
34
- CONTRA: "x" | "y" | "top" | "right" | "bottom" | "left" | "height" | "width";
34
+ CONTRA: "x" | "y" | "height" | "width" | "left" | "right" | "top" | "bottom";
35
35
  CONTRA_POS: "clientX" | "clientY";
36
36
  DIMENSION: "height" | "width";
37
- END: "x" | "y" | "top" | "right" | "bottom" | "left" | "height" | "width";
37
+ END: "x" | "y" | "height" | "width" | "left" | "right" | "top" | "bottom";
38
38
  POS: "clientX" | "clientY";
39
39
  SCROLL_POS: "scrollWidth" | "scrollHeight" | "clientHeight" | "clientWidth" | "scrollTop" | "scrollLeft";
40
40
  SCROLL_SIZE: "scrollWidth" | "scrollHeight" | "clientHeight" | "clientWidth" | "scrollTop" | "scrollLeft";
41
- START: "x" | "y" | "top" | "right" | "bottom" | "left" | "height" | "width";
41
+ START: "x" | "y" | "height" | "width" | "left" | "right" | "top" | "bottom";
42
42
  };
43
43
  export declare const getDraggedItem: (measuredItems: MeasuredDropTarget[]) => MeasuredDropTarget;
44
44
  export declare const moveDragItem: (measuredItems: MeasuredDropTarget[], dropTarget: MeasuredDropTarget) => MeasuredDropTarget[];
@@ -1,16 +1,18 @@
1
1
  import { MutableRefObject } from "react";
2
- import { PillProps } from "../../pill";
3
- export declare type InputPillProps = Omit<PillProps<"basic" | "closable">, "variant" | "onDelete" | "clickable"> & {
2
+ import { PillProps } from "@salt-ds/core";
3
+ export declare type InputPillProps = PillProps & {
4
4
  /**
5
5
  * An ref object holds pills index map to width.
6
6
  */
7
- pillsRef: MutableRefObject<{
8
- [index: number]: number | undefined;
9
- }>;
7
+ pillsRef: MutableRefObject<Record<number, number | undefined>>;
10
8
  /**
11
9
  * Index of the pill within Input.
12
10
  */
13
11
  index: number;
12
+ /**
13
+ * Pill label.
14
+ */
15
+ label?: string;
14
16
  /**
15
17
  * Whether the pill is the last visible one within Input.
16
18
  */
@@ -0,0 +1,51 @@
1
+ import { ButtonProps, NecessityType, ValidationStatus } from "@salt-ds/core";
2
+ import { ChangeEventHandler, FocusEventHandler, HTMLAttributes, KeyboardEventHandler, ReactEventHandler, Ref, SyntheticEvent, TextareaHTMLAttributes } from "react";
3
+ import { TokenizedInputNextState } from "./useTokenizedInputNext";
4
+ declare type ChangeHandler<Item> = (event: SyntheticEvent, selectedItems: Item[] | undefined) => void;
5
+ declare type ExpandButtonProps = Pick<ButtonProps, "role" | "aria-roledescription" | "aria-describedby"> & {
6
+ "aria-label"?: string;
7
+ };
8
+ export interface TokenizedInputNextProps<Item> extends Partial<TokenizedInputNextState<Item>>, Omit<HTMLAttributes<HTMLDivElement>, "onFocus" | "onBlur" | "onChange" | "onKeyUp" | "onKeyDown"> {
9
+ ExpandButtonProps?: ExpandButtonProps;
10
+ disabled?: boolean;
11
+ focused?: boolean;
12
+ expandButtonRef?: Ref<HTMLButtonElement>;
13
+ onBlur?: FocusEventHandler<HTMLTextAreaElement | HTMLButtonElement>;
14
+ onKeyUp?: KeyboardEventHandler<HTMLTextAreaElement | HTMLButtonElement>;
15
+ onKeyDown?: KeyboardEventHandler<HTMLTextAreaElement | HTMLButtonElement>;
16
+ onRemoveItem?: (event: SyntheticEvent, index: number) => void;
17
+ onInputBlur?: FocusEventHandler<HTMLTextAreaElement>;
18
+ onInputFocus?: FocusEventHandler<HTMLTextAreaElement>;
19
+ onInputChange?: ChangeEventHandler<HTMLTextAreaElement>;
20
+ onClick?: ReactEventHandler;
21
+ onClear?: ReactEventHandler;
22
+ delimiters?: string[];
23
+ disableAddOnBlur?: boolean;
24
+ defaultSelected?: Item[];
25
+ onChange?: ChangeHandler<Item>;
26
+ onCollapse?: ReactEventHandler;
27
+ onExpand?: ReactEventHandler;
28
+ /**
29
+ * Validation status.
30
+ */
31
+ validationStatus?: Omit<ValidationStatus, "info">;
32
+ /**
33
+ * If `true`, the component is read only.
34
+ */
35
+ readOnly?: boolean;
36
+ /**
37
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#Attributes) applied to the `textarea` element.
38
+ */
39
+ textAreaProps?: TextareaHTMLAttributes<HTMLTextAreaElement>;
40
+ /**
41
+ * Optional ref for the textarea component
42
+ */
43
+ textAreaRef?: Ref<HTMLTextAreaElement>;
44
+ necessity?: NecessityType;
45
+ /**
46
+ * Styling variant. Defaults to "primary".
47
+ */
48
+ variant?: "primary" | "secondary";
49
+ }
50
+ export declare const TokenizedInputNext: import("react").ForwardRefExoticComponent<TokenizedInputNextProps<unknown> & import("react").RefAttributes<HTMLDivElement>>;
51
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from "./TokenizedInputNext";
2
+ export * from "./useTokenizedInputNext";
@@ -0,0 +1,29 @@
1
+ import { MutableRefObject, SyntheticEvent } from "react";
2
+ import { PillProps } from "@salt-ds/core";
3
+ export declare type InputPillProps = PillProps & {
4
+ /**
5
+ * A ref object holds pills index map to width.
6
+ */
7
+ pillsRef: MutableRefObject<Record<number, number | undefined>>;
8
+ /**
9
+ * Index of the pill within Input.
10
+ */
11
+ index: number;
12
+ /**
13
+ * Whether the pill is the last visible one within Input.
14
+ */
15
+ lastVisible?: boolean;
16
+ /**
17
+ * Pill label.
18
+ */
19
+ label?: string;
20
+ /**
21
+ * Whether the pill is highlighted.
22
+ */
23
+ highlighted?: boolean;
24
+ /**
25
+ * Callback when pill is deleted.
26
+ */
27
+ onClose?: (event: SyntheticEvent, index: number) => void;
28
+ };
29
+ export declare const InputPill: import("react").NamedExoticComponent<InputPillProps>;
@@ -0,0 +1,4 @@
1
+ export declare function calcFirstHiddenIndex({ containerWidth, pillWidths, }?: {
2
+ containerWidth?: number;
3
+ pillWidths?: number[];
4
+ }): number | null;
@@ -0,0 +1,6 @@
1
+ import { Ref } from "react";
2
+ /**
3
+ * This monitors the size of a component and calls `onSizeChange` callback
4
+ * every time when size changes.
5
+ */
6
+ export declare function useResizeObserver<Element extends HTMLElement>(onSizeChange: (entries: ResizeObserverEntry[], observer?: ResizeObserver) => void): Ref<Element>;
@@ -0,0 +1,7 @@
1
+ import { Density } from "@salt-ds/core";
2
+ export declare const getPadding: (node: HTMLElement | null) => number;
3
+ export declare const getWidth: (node: HTMLElement | null) => number;
4
+ /**
5
+ * This records the width of a component when it's rendered
6
+ */
7
+ export declare const useWidth: (density: Density) => [(newNode: any) => void, number];
@@ -0,0 +1,47 @@
1
+ import { Ref, SyntheticEvent, MutableRefObject } from "react";
2
+ import { TokenizedInputNextProps } from "./TokenizedInputNext";
3
+ export interface TokenizedInputNextState<Item> {
4
+ activeIndices: number[];
5
+ expanded: boolean | undefined;
6
+ highlightedIndex: number | undefined;
7
+ selectedItems: Item[];
8
+ value: string | undefined;
9
+ }
10
+ export interface TokenizedInputNextHelpers<Item> {
11
+ setHighlightedIndex: (value?: number) => void;
12
+ setValue: (value: string) => void;
13
+ setSelectedItems: (selectedItems: Item[]) => void;
14
+ updateExpanded: (event: SyntheticEvent, expanded: boolean) => void;
15
+ }
16
+ export interface TokenizedInputNextRefs {
17
+ textAreaRef: Ref<HTMLTextAreaElement>;
18
+ pillsRef: MutableRefObject<Record<number, number | undefined>>;
19
+ clearButtonRef: (newNode: HTMLButtonElement) => void;
20
+ expandButtonRef: Ref<HTMLButtonElement>;
21
+ statusAdornmentRef: Ref<SVGSVGElement>;
22
+ containerRef: Ref<HTMLDivElement>;
23
+ }
24
+ interface useTokenizedInputNextResult<Item> {
25
+ /**
26
+ * The tokenized input state
27
+ */
28
+ state: TokenizedInputNextState<Item>;
29
+ /**
30
+ * First hidden element when collapsed
31
+ */
32
+ firstHiddenIndex: number | null;
33
+ /**
34
+ * Utility functions for modifying tokenized input state
35
+ */
36
+ helpers: TokenizedInputNextHelpers<Item>;
37
+ /**
38
+ * Refs for tokenized input items.
39
+ */
40
+ refs: TokenizedInputNextRefs;
41
+ /**
42
+ * Properties applied to a basic tokenized input component
43
+ */
44
+ inputProps: Omit<TokenizedInputNextProps<Item>, "helpers" | "onChange">;
45
+ }
46
+ export declare function useTokenizedInputNext<Item>(props: TokenizedInputNextProps<Item>): useTokenizedInputNextResult<Item>;
47
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salt-ds/lab",
3
- "version": "1.0.0-alpha.25",
3
+ "version": "1.0.0-alpha.27",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -11,7 +11,7 @@
11
11
  "main": "dist-cjs/index.js",
12
12
  "sideEffects": false,
13
13
  "dependencies": {
14
- "@floating-ui/react": "^0.23.0",
14
+ "@floating-ui/react": "^0.26.5",
15
15
  "@fluentui/react-overflow": "^9.0.19",
16
16
  "@internationalized/date": "^3.0.0",
17
17
  "@types/react-window": "^1.8.2",
@@ -26,7 +26,7 @@
26
26
  "react-window": "^1.8.6",
27
27
  "rifm": "^0.12.0",
28
28
  "tinycolor2": "^1.4.2",
29
- "@salt-ds/core": "^1.13.3",
29
+ "@salt-ds/core": "^1.14.0",
30
30
  "@salt-ds/window": "^0.1.1",
31
31
  "@salt-ds/styles": "^0.2.1",
32
32
  "@salt-ds/icons": "^1.9.1"
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var css_248z = ".saltComboBoxNext-highlight {\n font-weight: var(--salt-text-fontWeight-strong);\n}\n\n.saltComboBoxNext-input:hover {\n --saltInput-borderColor: var(--salt-focused-outlineColor);\n}\n\n.saltComboBoxNext-list.saltListNext {\n border-color: var(--salt-selectable-borderColor-selected);\n box-shadow: var(--salt-overlayable-shadow-popout);\n max-height: calc((var(--salt-size-base) + var(--salt-spacing-100)) * var(--comboBoxNext-itemCount, 5));\n z-index: calc(var(--salt-zIndex-modal) + 1);\n}\n";
4
-
5
- module.exports = css_248z;
6
- //# sourceMappingURL=ComboBoxNext.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComboBoxNext.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,147 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
- var useList = require('../list-next/useList.js');
7
- var useComboboxPortal = require('./useComboboxPortal.js');
8
- var core = require('@salt-ds/core');
9
-
10
- const useComboBox = ({
11
- defaultInputValue,
12
- onFocus,
13
- onMouseOver,
14
- onKeyDown,
15
- inputValue: inputValueProp,
16
- PortalProps,
17
- listProps
18
- }) => {
19
- const [inputValue, setInputValue] = core.useControlled({
20
- controlled: inputValueProp,
21
- default: defaultInputValue,
22
- name: "Combo Box",
23
- state: "inputValue"
24
- });
25
- const {
26
- open,
27
- setOpen,
28
- floating,
29
- reference,
30
- getPortalProps,
31
- getTriggerProps,
32
- getPosition
33
- } = useComboboxPortal.useComboboxPortal(PortalProps);
34
- const {
35
- keyDownHandler: listKeyDownHandler,
36
- focusHandler: listFocusHandler,
37
- activeDescendant,
38
- focusVisibleRef,
39
- selectedItem,
40
- setSelectedItem,
41
- setHighlightedItem,
42
- highlightedItem
43
- } = useList.useList({
44
- ...listProps
45
- });
46
- const setSelected = (value) => {
47
- setSelectedItem(value);
48
- setInputValue(value);
49
- };
50
- React.useEffect(() => {
51
- setInputValue(selectedItem);
52
- }, [selectedItem]);
53
- const focusHandler = (event) => {
54
- listFocusHandler(event);
55
- onFocus == null ? void 0 : onFocus(event);
56
- };
57
- const mouseDownHandler = () => {
58
- setOpen(!open);
59
- };
60
- const mouseOverHandler = (event) => {
61
- setHighlightedItem(event.currentTarget.dataset.value);
62
- onMouseOver == null ? void 0 : onMouseOver(event);
63
- };
64
- const listSelectHandler = () => {
65
- setOpen(false);
66
- };
67
- const keyDownHandler = (event) => {
68
- const { key, altKey } = event;
69
- switch (key) {
70
- case "ArrowDown":
71
- case "ArrowUp":
72
- if (altKey) {
73
- event.preventDefault();
74
- if (open && !selectedItem) {
75
- setSelected(void 0);
76
- }
77
- setOpen(!open);
78
- break;
79
- }
80
- if (!open) {
81
- setOpen(true);
82
- }
83
- listKeyDownHandler(event);
84
- break;
85
- case "PageDown":
86
- case "PageUp":
87
- case "Home":
88
- case "End":
89
- if (open) {
90
- listKeyDownHandler(event);
91
- }
92
- break;
93
- case "Enter":
94
- if (!open) {
95
- setOpen(true);
96
- } else {
97
- setSelected(highlightedItem);
98
- setOpen(false);
99
- }
100
- break;
101
- case "Escape":
102
- if (open) {
103
- setOpen(false);
104
- if (!selectedItem) {
105
- setSelected(void 0);
106
- }
107
- }
108
- break;
109
- case "Tab":
110
- setOpen(false);
111
- break;
112
- case "Backspace":
113
- if (!open) {
114
- setOpen(true);
115
- }
116
- break;
117
- }
118
- onKeyDown == null ? void 0 : onKeyDown(event);
119
- };
120
- return {
121
- inputValue,
122
- setInputValue,
123
- portalProps: {
124
- open,
125
- setOpen,
126
- floating,
127
- reference,
128
- getTriggerProps,
129
- getPortalProps,
130
- getPosition
131
- },
132
- selectedItem,
133
- setSelectedItem,
134
- highlightedItem,
135
- setHighlightedItem,
136
- activeDescendant,
137
- focusVisibleRef,
138
- keyDownHandler,
139
- focusHandler,
140
- mouseOverHandler,
141
- mouseDownHandler,
142
- listSelectHandler
143
- };
144
- };
145
-
146
- exports.useComboBox = useComboBox;
147
- //# sourceMappingURL=useComboBox.js.map