@vuu-ui/vuu-ui-controls 2.1.18 → 2.1.19-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (569) hide show
  1. package/package.json +13 -15
  2. package/types/calendar/useCalendar.d.ts +3 -3
  3. package/types/calendar/useSelection.d.ts +1 -1
  4. package/types/date-input/DateInput.d.ts +1 -1
  5. package/types/date-picker/DatePicker.d.ts +1 -1
  6. package/types/date-picker/DatePickerContext.d.ts +2 -2
  7. package/types/date-picker/DatePickerPanel.d.ts +1 -1
  8. package/types/instrument-picker/useTablePicker.d.ts +4 -4
  9. package/types/split-button/useSplitButton.d.ts +120 -120
  10. package/types/tabs-next/hooks/useOverflow.d.ts +1 -1
  11. package/types/tabstrip/Tab.d.ts +1 -1
  12. package/types/tabstrip/useTabstrip.d.ts +1 -1
  13. package/types/toolbar/useToolbar.d.ts +1 -1
  14. package/cjs/calendar/Calendar.css.js +0 -6
  15. package/cjs/calendar/Calendar.css.js.map +0 -1
  16. package/cjs/calendar/Calendar.js +0 -93
  17. package/cjs/calendar/Calendar.js.map +0 -1
  18. package/cjs/calendar/internal/CalendarCarousel.css.js +0 -6
  19. package/cjs/calendar/internal/CalendarCarousel.css.js.map +0 -1
  20. package/cjs/calendar/internal/CalendarCarousel.js +0 -75
  21. package/cjs/calendar/internal/CalendarCarousel.js.map +0 -1
  22. package/cjs/calendar/internal/CalendarContext.js +0 -19
  23. package/cjs/calendar/internal/CalendarContext.js.map +0 -1
  24. package/cjs/calendar/internal/CalendarDay.css.js +0 -6
  25. package/cjs/calendar/internal/CalendarDay.css.js.map +0 -1
  26. package/cjs/calendar/internal/CalendarDay.js +0 -86
  27. package/cjs/calendar/internal/CalendarDay.js.map +0 -1
  28. package/cjs/calendar/internal/CalendarMonth.css.js +0 -6
  29. package/cjs/calendar/internal/CalendarMonth.css.js.map +0 -1
  30. package/cjs/calendar/internal/CalendarMonth.js +0 -71
  31. package/cjs/calendar/internal/CalendarMonth.js.map +0 -1
  32. package/cjs/calendar/internal/CalendarNavigation.css.js +0 -6
  33. package/cjs/calendar/internal/CalendarNavigation.css.js.map +0 -1
  34. package/cjs/calendar/internal/CalendarNavigation.js +0 -236
  35. package/cjs/calendar/internal/CalendarNavigation.js.map +0 -1
  36. package/cjs/calendar/internal/CalendarWeekHeader.css.js +0 -6
  37. package/cjs/calendar/internal/CalendarWeekHeader.css.js.map +0 -1
  38. package/cjs/calendar/internal/CalendarWeekHeader.js +0 -43
  39. package/cjs/calendar/internal/CalendarWeekHeader.js.map +0 -1
  40. package/cjs/calendar/internal/useFocusManagement.js +0 -66
  41. package/cjs/calendar/internal/useFocusManagement.js.map +0 -1
  42. package/cjs/calendar/internal/utils.js +0 -64
  43. package/cjs/calendar/internal/utils.js.map +0 -1
  44. package/cjs/calendar/useCalendar.js +0 -163
  45. package/cjs/calendar/useCalendar.js.map +0 -1
  46. package/cjs/calendar/useCalendarDay.js +0 -80
  47. package/cjs/calendar/useCalendarDay.js.map +0 -1
  48. package/cjs/calendar/useSelection.js +0 -248
  49. package/cjs/calendar/useSelection.js.map +0 -1
  50. package/cjs/column-picker/ColumnPicker.css.js +0 -6
  51. package/cjs/column-picker/ColumnPicker.css.js.map +0 -1
  52. package/cjs/column-picker/ColumnPicker.js +0 -128
  53. package/cjs/column-picker/ColumnPicker.js.map +0 -1
  54. package/cjs/column-picker/ColumnSearch.css.js +0 -6
  55. package/cjs/column-picker/ColumnSearch.css.js.map +0 -1
  56. package/cjs/column-picker/ColumnSearch.js +0 -82
  57. package/cjs/column-picker/ColumnSearch.js.map +0 -1
  58. package/cjs/common-hooks/selectionTypes.js +0 -18
  59. package/cjs/common-hooks/selectionTypes.js.map +0 -1
  60. package/cjs/common-hooks/use-resize-observer.js +0 -123
  61. package/cjs/common-hooks/use-resize-observer.js.map +0 -1
  62. package/cjs/common-hooks/useControlled.js +0 -58
  63. package/cjs/common-hooks/useControlled.js.map +0 -1
  64. package/cjs/context-panel-provider/ContextPanelProvider.js +0 -99
  65. package/cjs/context-panel-provider/ContextPanelProvider.js.map +0 -1
  66. package/cjs/cycle-state-button/CycleStateButton.js +0 -50
  67. package/cjs/cycle-state-button/CycleStateButton.js.map +0 -1
  68. package/cjs/date-input/DateInput.css.js +0 -6
  69. package/cjs/date-input/DateInput.css.js.map +0 -1
  70. package/cjs/date-input/DateInput.js +0 -277
  71. package/cjs/date-input/DateInput.js.map +0 -1
  72. package/cjs/date-picker/DatePicker.js +0 -169
  73. package/cjs/date-picker/DatePicker.js.map +0 -1
  74. package/cjs/date-picker/DatePickerContext.js +0 -26
  75. package/cjs/date-picker/DatePickerContext.js.map +0 -1
  76. package/cjs/date-picker/DatePickerPanel.css.js +0 -6
  77. package/cjs/date-picker/DatePickerPanel.css.js.map +0 -1
  78. package/cjs/date-picker/DatePickerPanel.js +0 -146
  79. package/cjs/date-picker/DatePickerPanel.js.map +0 -1
  80. package/cjs/drag-drop/DragDropProvider.js +0 -145
  81. package/cjs/drag-drop/DragDropProvider.js.map +0 -1
  82. package/cjs/drag-drop/DragDropState.js +0 -36
  83. package/cjs/drag-drop/DragDropState.js.map +0 -1
  84. package/cjs/drag-drop/Draggable.css.js +0 -6
  85. package/cjs/drag-drop/Draggable.css.js.map +0 -1
  86. package/cjs/drag-drop/Draggable.js +0 -90
  87. package/cjs/drag-drop/Draggable.js.map +0 -1
  88. package/cjs/drag-drop/dragDropTypes.js +0 -8
  89. package/cjs/drag-drop/dragDropTypes.js.map +0 -1
  90. package/cjs/drag-drop/drop-target-utils.js +0 -245
  91. package/cjs/drag-drop/drop-target-utils.js.map +0 -1
  92. package/cjs/drag-drop/useAutoScroll.js +0 -71
  93. package/cjs/drag-drop/useAutoScroll.js.map +0 -1
  94. package/cjs/drag-drop/useDragDisplacers.js +0 -160
  95. package/cjs/drag-drop/useDragDisplacers.js.map +0 -1
  96. package/cjs/drag-drop/useDragDrop.js +0 -504
  97. package/cjs/drag-drop/useDragDrop.js.map +0 -1
  98. package/cjs/drag-drop/useDragDropCopy.js +0 -34
  99. package/cjs/drag-drop/useDragDropCopy.js.map +0 -1
  100. package/cjs/drag-drop/useDragDropIndicator.js +0 -251
  101. package/cjs/drag-drop/useDragDropIndicator.js.map +0 -1
  102. package/cjs/drag-drop/useDragDropNaturalMovement.js +0 -265
  103. package/cjs/drag-drop/useDragDropNaturalMovement.js.map +0 -1
  104. package/cjs/drag-drop/useDropIndicator.js +0 -27
  105. package/cjs/drag-drop/useDropIndicator.js.map +0 -1
  106. package/cjs/drag-drop/useGlobalDragDrop.js +0 -89
  107. package/cjs/drag-drop/useGlobalDragDrop.js.map +0 -1
  108. package/cjs/editable/useEditableText.js +0 -211
  109. package/cjs/editable/useEditableText.js.map +0 -1
  110. package/cjs/editable-label/EditableLabel.css.js +0 -6
  111. package/cjs/editable-label/EditableLabel.css.js.map +0 -1
  112. package/cjs/editable-label/EditableLabel.js +0 -143
  113. package/cjs/editable-label/EditableLabel.js.map +0 -1
  114. package/cjs/expando-input/ExpandoInput.css.js +0 -6
  115. package/cjs/expando-input/ExpandoInput.css.js.map +0 -1
  116. package/cjs/expando-input/ExpandoInput.js +0 -53
  117. package/cjs/expando-input/ExpandoInput.js.map +0 -1
  118. package/cjs/hover-overlay/HoverOverlay.js +0 -96
  119. package/cjs/hover-overlay/HoverOverlay.js.map +0 -1
  120. package/cjs/icon-button/Icon.css.js +0 -6
  121. package/cjs/icon-button/Icon.css.js.map +0 -1
  122. package/cjs/icon-button/Icon.js +0 -37
  123. package/cjs/icon-button/Icon.js.map +0 -1
  124. package/cjs/icon-button/IconButton.css.js +0 -6
  125. package/cjs/icon-button/IconButton.css.js.map +0 -1
  126. package/cjs/icon-button/IconButton.js +0 -26
  127. package/cjs/icon-button/IconButton.js.map +0 -1
  128. package/cjs/icon-button/ToggleIconButton.css.js +0 -6
  129. package/cjs/icon-button/ToggleIconButton.css.js.map +0 -1
  130. package/cjs/icon-button/ToggleIconButton.js +0 -39
  131. package/cjs/icon-button/ToggleIconButton.js.map +0 -1
  132. package/cjs/index.js +0 -170
  133. package/cjs/index.js.map +0 -1
  134. package/cjs/instrument-picker/TablePicker.css.js +0 -6
  135. package/cjs/instrument-picker/TablePicker.css.js.map +0 -1
  136. package/cjs/instrument-picker/TablePicker.js +0 -130
  137. package/cjs/instrument-picker/TablePicker.js.map +0 -1
  138. package/cjs/instrument-picker/useTablePicker.js +0 -150
  139. package/cjs/instrument-picker/useTablePicker.js.map +0 -1
  140. package/cjs/measured-container/MeasuredContainer.css.js +0 -6
  141. package/cjs/measured-container/MeasuredContainer.css.js.map +0 -1
  142. package/cjs/measured-container/MeasuredContainer.js +0 -72
  143. package/cjs/measured-container/MeasuredContainer.js.map +0 -1
  144. package/cjs/measured-container/useMeasuredContainer.js +0 -167
  145. package/cjs/measured-container/useMeasuredContainer.js.map +0 -1
  146. package/cjs/modal-provider/ModalProvider.js +0 -143
  147. package/cjs/modal-provider/ModalProvider.js.map +0 -1
  148. package/cjs/overflow-container/OverflowContainer.css.js +0 -6
  149. package/cjs/overflow-container/OverflowContainer.css.js.map +0 -1
  150. package/cjs/overflow-container/OverflowContainer.js +0 -143
  151. package/cjs/overflow-container/OverflowContainer.js.map +0 -1
  152. package/cjs/overflow-container/overflow-utils.js +0 -286
  153. package/cjs/overflow-container/overflow-utils.js.map +0 -1
  154. package/cjs/overflow-container/useOverflowContainer.js +0 -143
  155. package/cjs/overflow-container/useOverflowContainer.js.map +0 -1
  156. package/cjs/price-ticker/PriceTicker.css.js +0 -6
  157. package/cjs/price-ticker/PriceTicker.css.js.map +0 -1
  158. package/cjs/price-ticker/PriceTicker.js +0 -50
  159. package/cjs/price-ticker/PriceTicker.js.map +0 -1
  160. package/cjs/prompt/Prompt.css.js +0 -6
  161. package/cjs/prompt/Prompt.css.js.map +0 -1
  162. package/cjs/prompt/Prompt.js +0 -142
  163. package/cjs/prompt/Prompt.js.map +0 -1
  164. package/cjs/sortable-list/SortableList.js +0 -37
  165. package/cjs/sortable-list/SortableList.js.map +0 -1
  166. package/cjs/split-button/SplitButton.css.js +0 -6
  167. package/cjs/split-button/SplitButton.css.js.map +0 -1
  168. package/cjs/split-button/SplitButton.js +0 -84
  169. package/cjs/split-button/SplitButton.js.map +0 -1
  170. package/cjs/split-button/SplitStateButton.css.js +0 -6
  171. package/cjs/split-button/SplitStateButton.css.js.map +0 -1
  172. package/cjs/split-button/SplitStateButton.js +0 -31
  173. package/cjs/split-button/SplitStateButton.js.map +0 -1
  174. package/cjs/split-button/useSplitButton.js +0 -84
  175. package/cjs/split-button/useSplitButton.js.map +0 -1
  176. package/cjs/table-search/SearchCell.css.js +0 -6
  177. package/cjs/table-search/SearchCell.css.js.map +0 -1
  178. package/cjs/table-search/SearchCell.js +0 -32
  179. package/cjs/table-search/SearchCell.js.map +0 -1
  180. package/cjs/table-search/TableSearch.css.js +0 -6
  181. package/cjs/table-search/TableSearch.css.js.map +0 -1
  182. package/cjs/table-search/TableSearch.js +0 -89
  183. package/cjs/table-search/TableSearch.js.map +0 -1
  184. package/cjs/table-search/useTableSearch.js +0 -39
  185. package/cjs/table-search/useTableSearch.js.map +0 -1
  186. package/cjs/tabs-next/TabBar.css.js +0 -6
  187. package/cjs/tabs-next/TabBar.css.js.map +0 -1
  188. package/cjs/tabs-next/TabBar.js +0 -41
  189. package/cjs/tabs-next/TabBar.js.map +0 -1
  190. package/cjs/tabs-next/TabListNext.css.js +0 -6
  191. package/cjs/tabs-next/TabListNext.css.js.map +0 -1
  192. package/cjs/tabs-next/TabListNext.js +0 -124
  193. package/cjs/tabs-next/TabListNext.js.map +0 -1
  194. package/cjs/tabs-next/TabNext.css.js +0 -6
  195. package/cjs/tabs-next/TabNext.css.js.map +0 -1
  196. package/cjs/tabs-next/TabNext.js +0 -110
  197. package/cjs/tabs-next/TabNext.js.map +0 -1
  198. package/cjs/tabs-next/TabNextAction.js +0 -35
  199. package/cjs/tabs-next/TabNextAction.js.map +0 -1
  200. package/cjs/tabs-next/TabNextContext.js +0 -23
  201. package/cjs/tabs-next/TabNextContext.js.map +0 -1
  202. package/cjs/tabs-next/TabNextPanel.css.js +0 -6
  203. package/cjs/tabs-next/TabNextPanel.css.js.map +0 -1
  204. package/cjs/tabs-next/TabNextPanel.js +0 -77
  205. package/cjs/tabs-next/TabNextPanel.js.map +0 -1
  206. package/cjs/tabs-next/TabNextTrigger.css.js +0 -6
  207. package/cjs/tabs-next/TabNextTrigger.css.js.map +0 -1
  208. package/cjs/tabs-next/TabNextTrigger.js +0 -74
  209. package/cjs/tabs-next/TabNextTrigger.js.map +0 -1
  210. package/cjs/tabs-next/TabOverflowList.css.js +0 -6
  211. package/cjs/tabs-next/TabOverflowList.css.js.map +0 -1
  212. package/cjs/tabs-next/TabOverflowList.js +0 -130
  213. package/cjs/tabs-next/TabOverflowList.js.map +0 -1
  214. package/cjs/tabs-next/TabsNext.js +0 -174
  215. package/cjs/tabs-next/TabsNext.js.map +0 -1
  216. package/cjs/tabs-next/TabsNextContext.js +0 -33
  217. package/cjs/tabs-next/TabsNextContext.js.map +0 -1
  218. package/cjs/tabs-next/hooks/useCollection.js +0 -91
  219. package/cjs/tabs-next/hooks/useCollection.js.map +0 -1
  220. package/cjs/tabs-next/hooks/useFocusOutside.js +0 -24
  221. package/cjs/tabs-next/hooks/useFocusOutside.js.map +0 -1
  222. package/cjs/tabs-next/hooks/useOverflow.js +0 -138
  223. package/cjs/tabs-next/hooks/useOverflow.js.map +0 -1
  224. package/cjs/tabstrip/Tab.css.js +0 -6
  225. package/cjs/tabstrip/Tab.css.js.map +0 -1
  226. package/cjs/tabstrip/Tab.js +0 -153
  227. package/cjs/tabstrip/Tab.js.map +0 -1
  228. package/cjs/tabstrip/TabMenu.css.js +0 -6
  229. package/cjs/tabstrip/TabMenu.css.js.map +0 -1
  230. package/cjs/tabstrip/TabMenu.js +0 -72
  231. package/cjs/tabstrip/TabMenu.js.map +0 -1
  232. package/cjs/tabstrip/TabMenuOptions.js +0 -20
  233. package/cjs/tabstrip/TabMenuOptions.js.map +0 -1
  234. package/cjs/tabstrip/Tabstrip.css.js +0 -6
  235. package/cjs/tabstrip/Tabstrip.css.js.map +0 -1
  236. package/cjs/tabstrip/Tabstrip.js +0 -160
  237. package/cjs/tabstrip/Tabstrip.js.map +0 -1
  238. package/cjs/tabstrip/tabstrip-dom-utils.js +0 -19
  239. package/cjs/tabstrip/tabstrip-dom-utils.js.map +0 -1
  240. package/cjs/tabstrip/useAnimatedSelectionThumb.js +0 -85
  241. package/cjs/tabstrip/useAnimatedSelectionThumb.js.map +0 -1
  242. package/cjs/tabstrip/useKeyboardNavigation.js +0 -247
  243. package/cjs/tabstrip/useKeyboardNavigation.js.map +0 -1
  244. package/cjs/tabstrip/useSelection.js +0 -60
  245. package/cjs/tabstrip/useSelection.js.map +0 -1
  246. package/cjs/tabstrip/useTabstrip.js +0 -233
  247. package/cjs/tabstrip/useTabstrip.js.map +0 -1
  248. package/cjs/time-input/MaskedInput.js +0 -377
  249. package/cjs/time-input/MaskedInput.js.map +0 -1
  250. package/cjs/time-input/TimeInput.css.js +0 -6
  251. package/cjs/time-input/TimeInput.css.js.map +0 -1
  252. package/cjs/time-input/TimeInput.js +0 -56
  253. package/cjs/time-input/TimeInput.js.map +0 -1
  254. package/cjs/time-input/useTimeInput.js +0 -121
  255. package/cjs/time-input/useTimeInput.js.map +0 -1
  256. package/cjs/toolbar/Toolbar.css.js +0 -6
  257. package/cjs/toolbar/Toolbar.css.js.map +0 -1
  258. package/cjs/toolbar/Toolbar.js +0 -90
  259. package/cjs/toolbar/Toolbar.js.map +0 -1
  260. package/cjs/toolbar/toolbar-dom-utils.js +0 -18
  261. package/cjs/toolbar/toolbar-dom-utils.js.map +0 -1
  262. package/cjs/toolbar/useKeyboardNavigation.js +0 -305
  263. package/cjs/toolbar/useKeyboardNavigation.js.map +0 -1
  264. package/cjs/toolbar/useSelection.js +0 -93
  265. package/cjs/toolbar/useSelection.js.map +0 -1
  266. package/cjs/toolbar/useToolbar.js +0 -100
  267. package/cjs/toolbar/useToolbar.js.map +0 -1
  268. package/cjs/utils/escapeRegExp.js +0 -9
  269. package/cjs/utils/escapeRegExp.js.map +0 -1
  270. package/cjs/utils/forwardCallbackProps.js +0 -22
  271. package/cjs/utils/forwardCallbackProps.js.map +0 -1
  272. package/cjs/utils/isOverflowElement.js +0 -8
  273. package/cjs/utils/isOverflowElement.js.map +0 -1
  274. package/cjs/utils/isPlainObject.js +0 -6
  275. package/cjs/utils/isPlainObject.js.map +0 -1
  276. package/cjs/vuu-date-picker/VuuDatePicker.js +0 -122
  277. package/cjs/vuu-date-picker/VuuDatePicker.js.map +0 -1
  278. package/cjs/vuu-input/VuuInput.css.js +0 -6
  279. package/cjs/vuu-input/VuuInput.css.js.map +0 -1
  280. package/cjs/vuu-input/VuuInput.js +0 -102
  281. package/cjs/vuu-input/VuuInput.js.map +0 -1
  282. package/cjs/vuu-time-picker/VuuTimePicker.css.js +0 -6
  283. package/cjs/vuu-time-picker/VuuTimePicker.css.js.map +0 -1
  284. package/cjs/vuu-time-picker/VuuTimePicker.js +0 -37
  285. package/cjs/vuu-time-picker/VuuTimePicker.js.map +0 -1
  286. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.css.js +0 -6
  287. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.css.js.map +0 -1
  288. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js +0 -80
  289. package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js.map +0 -1
  290. package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js +0 -176
  291. package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js.map +0 -1
  292. package/esm/calendar/Calendar.css.js +0 -4
  293. package/esm/calendar/Calendar.css.js.map +0 -1
  294. package/esm/calendar/Calendar.js +0 -91
  295. package/esm/calendar/Calendar.js.map +0 -1
  296. package/esm/calendar/internal/CalendarCarousel.css.js +0 -4
  297. package/esm/calendar/internal/CalendarCarousel.css.js.map +0 -1
  298. package/esm/calendar/internal/CalendarCarousel.js +0 -73
  299. package/esm/calendar/internal/CalendarCarousel.js.map +0 -1
  300. package/esm/calendar/internal/CalendarContext.js +0 -16
  301. package/esm/calendar/internal/CalendarContext.js.map +0 -1
  302. package/esm/calendar/internal/CalendarDay.css.js +0 -4
  303. package/esm/calendar/internal/CalendarDay.css.js.map +0 -1
  304. package/esm/calendar/internal/CalendarDay.js +0 -84
  305. package/esm/calendar/internal/CalendarDay.js.map +0 -1
  306. package/esm/calendar/internal/CalendarMonth.css.js +0 -4
  307. package/esm/calendar/internal/CalendarMonth.css.js.map +0 -1
  308. package/esm/calendar/internal/CalendarMonth.js +0 -69
  309. package/esm/calendar/internal/CalendarMonth.js.map +0 -1
  310. package/esm/calendar/internal/CalendarNavigation.css.js +0 -4
  311. package/esm/calendar/internal/CalendarNavigation.css.js.map +0 -1
  312. package/esm/calendar/internal/CalendarNavigation.js +0 -234
  313. package/esm/calendar/internal/CalendarNavigation.js.map +0 -1
  314. package/esm/calendar/internal/CalendarWeekHeader.css.js +0 -4
  315. package/esm/calendar/internal/CalendarWeekHeader.css.js.map +0 -1
  316. package/esm/calendar/internal/CalendarWeekHeader.js +0 -41
  317. package/esm/calendar/internal/CalendarWeekHeader.js.map +0 -1
  318. package/esm/calendar/internal/useFocusManagement.js +0 -64
  319. package/esm/calendar/internal/useFocusManagement.js.map +0 -1
  320. package/esm/calendar/internal/utils.js +0 -55
  321. package/esm/calendar/internal/utils.js.map +0 -1
  322. package/esm/calendar/useCalendar.js +0 -161
  323. package/esm/calendar/useCalendar.js.map +0 -1
  324. package/esm/calendar/useCalendarDay.js +0 -78
  325. package/esm/calendar/useCalendarDay.js.map +0 -1
  326. package/esm/calendar/useSelection.js +0 -243
  327. package/esm/calendar/useSelection.js.map +0 -1
  328. package/esm/column-picker/ColumnPicker.css.js +0 -4
  329. package/esm/column-picker/ColumnPicker.css.js.map +0 -1
  330. package/esm/column-picker/ColumnPicker.js +0 -126
  331. package/esm/column-picker/ColumnPicker.js.map +0 -1
  332. package/esm/column-picker/ColumnSearch.css.js +0 -4
  333. package/esm/column-picker/ColumnSearch.css.js.map +0 -1
  334. package/esm/column-picker/ColumnSearch.js +0 -80
  335. package/esm/column-picker/ColumnSearch.js.map +0 -1
  336. package/esm/common-hooks/selectionTypes.js +0 -10
  337. package/esm/common-hooks/selectionTypes.js.map +0 -1
  338. package/esm/common-hooks/use-resize-observer.js +0 -118
  339. package/esm/common-hooks/use-resize-observer.js.map +0 -1
  340. package/esm/common-hooks/useControlled.js +0 -56
  341. package/esm/common-hooks/useControlled.js.map +0 -1
  342. package/esm/context-panel-provider/ContextPanelProvider.js +0 -94
  343. package/esm/context-panel-provider/ContextPanelProvider.js.map +0 -1
  344. package/esm/cycle-state-button/CycleStateButton.js +0 -48
  345. package/esm/cycle-state-button/CycleStateButton.js.map +0 -1
  346. package/esm/date-input/DateInput.css.js +0 -4
  347. package/esm/date-input/DateInput.css.js.map +0 -1
  348. package/esm/date-input/DateInput.js +0 -275
  349. package/esm/date-input/DateInput.js.map +0 -1
  350. package/esm/date-picker/DatePicker.js +0 -167
  351. package/esm/date-picker/DatePicker.js.map +0 -1
  352. package/esm/date-picker/DatePickerContext.js +0 -23
  353. package/esm/date-picker/DatePickerContext.js.map +0 -1
  354. package/esm/date-picker/DatePickerPanel.css.js +0 -4
  355. package/esm/date-picker/DatePickerPanel.css.js.map +0 -1
  356. package/esm/date-picker/DatePickerPanel.js +0 -144
  357. package/esm/date-picker/DatePickerPanel.js.map +0 -1
  358. package/esm/drag-drop/DragDropProvider.js +0 -142
  359. package/esm/drag-drop/DragDropProvider.js.map +0 -1
  360. package/esm/drag-drop/DragDropState.js +0 -34
  361. package/esm/drag-drop/DragDropState.js.map +0 -1
  362. package/esm/drag-drop/Draggable.css.js +0 -4
  363. package/esm/drag-drop/Draggable.css.js.map +0 -1
  364. package/esm/drag-drop/Draggable.js +0 -85
  365. package/esm/drag-drop/Draggable.js.map +0 -1
  366. package/esm/drag-drop/dragDropTypes.js +0 -5
  367. package/esm/drag-drop/dragDropTypes.js.map +0 -1
  368. package/esm/drag-drop/drop-target-utils.js +0 -228
  369. package/esm/drag-drop/drop-target-utils.js.map +0 -1
  370. package/esm/drag-drop/useAutoScroll.js +0 -69
  371. package/esm/drag-drop/useAutoScroll.js.map +0 -1
  372. package/esm/drag-drop/useDragDisplacers.js +0 -158
  373. package/esm/drag-drop/useDragDisplacers.js.map +0 -1
  374. package/esm/drag-drop/useDragDrop.js +0 -502
  375. package/esm/drag-drop/useDragDrop.js.map +0 -1
  376. package/esm/drag-drop/useDragDropCopy.js +0 -31
  377. package/esm/drag-drop/useDragDropCopy.js.map +0 -1
  378. package/esm/drag-drop/useDragDropIndicator.js +0 -249
  379. package/esm/drag-drop/useDragDropIndicator.js.map +0 -1
  380. package/esm/drag-drop/useDragDropNaturalMovement.js +0 -263
  381. package/esm/drag-drop/useDragDropNaturalMovement.js.map +0 -1
  382. package/esm/drag-drop/useDropIndicator.js +0 -25
  383. package/esm/drag-drop/useDropIndicator.js.map +0 -1
  384. package/esm/drag-drop/useGlobalDragDrop.js +0 -87
  385. package/esm/drag-drop/useGlobalDragDrop.js.map +0 -1
  386. package/esm/editable/useEditableText.js +0 -209
  387. package/esm/editable/useEditableText.js.map +0 -1
  388. package/esm/editable-label/EditableLabel.css.js +0 -4
  389. package/esm/editable-label/EditableLabel.css.js.map +0 -1
  390. package/esm/editable-label/EditableLabel.js +0 -140
  391. package/esm/editable-label/EditableLabel.js.map +0 -1
  392. package/esm/expando-input/ExpandoInput.css.js +0 -4
  393. package/esm/expando-input/ExpandoInput.css.js.map +0 -1
  394. package/esm/expando-input/ExpandoInput.js +0 -51
  395. package/esm/expando-input/ExpandoInput.js.map +0 -1
  396. package/esm/hover-overlay/HoverOverlay.js +0 -94
  397. package/esm/hover-overlay/HoverOverlay.js.map +0 -1
  398. package/esm/icon-button/Icon.css.js +0 -4
  399. package/esm/icon-button/Icon.css.js.map +0 -1
  400. package/esm/icon-button/Icon.js +0 -35
  401. package/esm/icon-button/Icon.js.map +0 -1
  402. package/esm/icon-button/IconButton.css.js +0 -4
  403. package/esm/icon-button/IconButton.css.js.map +0 -1
  404. package/esm/icon-button/IconButton.js +0 -24
  405. package/esm/icon-button/IconButton.js.map +0 -1
  406. package/esm/icon-button/ToggleIconButton.css.js +0 -4
  407. package/esm/icon-button/ToggleIconButton.css.js.map +0 -1
  408. package/esm/icon-button/ToggleIconButton.js +0 -37
  409. package/esm/icon-button/ToggleIconButton.js.map +0 -1
  410. package/esm/index.js +0 -59
  411. package/esm/index.js.map +0 -1
  412. package/esm/instrument-picker/TablePicker.css.js +0 -4
  413. package/esm/instrument-picker/TablePicker.css.js.map +0 -1
  414. package/esm/instrument-picker/TablePicker.js +0 -128
  415. package/esm/instrument-picker/TablePicker.js.map +0 -1
  416. package/esm/instrument-picker/useTablePicker.js +0 -148
  417. package/esm/instrument-picker/useTablePicker.js.map +0 -1
  418. package/esm/measured-container/MeasuredContainer.css.js +0 -4
  419. package/esm/measured-container/MeasuredContainer.css.js.map +0 -1
  420. package/esm/measured-container/MeasuredContainer.js +0 -70
  421. package/esm/measured-container/MeasuredContainer.js.map +0 -1
  422. package/esm/measured-container/useMeasuredContainer.js +0 -164
  423. package/esm/measured-container/useMeasuredContainer.js.map +0 -1
  424. package/esm/modal-provider/ModalProvider.js +0 -140
  425. package/esm/modal-provider/ModalProvider.js.map +0 -1
  426. package/esm/overflow-container/OverflowContainer.css.js +0 -4
  427. package/esm/overflow-container/OverflowContainer.css.js.map +0 -1
  428. package/esm/overflow-container/OverflowContainer.js +0 -141
  429. package/esm/overflow-container/OverflowContainer.js.map +0 -1
  430. package/esm/overflow-container/overflow-utils.js +0 -272
  431. package/esm/overflow-container/overflow-utils.js.map +0 -1
  432. package/esm/overflow-container/useOverflowContainer.js +0 -141
  433. package/esm/overflow-container/useOverflowContainer.js.map +0 -1
  434. package/esm/price-ticker/PriceTicker.css.js +0 -4
  435. package/esm/price-ticker/PriceTicker.css.js.map +0 -1
  436. package/esm/price-ticker/PriceTicker.js +0 -48
  437. package/esm/price-ticker/PriceTicker.js.map +0 -1
  438. package/esm/prompt/Prompt.css.js +0 -4
  439. package/esm/prompt/Prompt.css.js.map +0 -1
  440. package/esm/prompt/Prompt.js +0 -140
  441. package/esm/prompt/Prompt.js.map +0 -1
  442. package/esm/sortable-list/SortableList.js +0 -34
  443. package/esm/sortable-list/SortableList.js.map +0 -1
  444. package/esm/split-button/SplitButton.css.js +0 -4
  445. package/esm/split-button/SplitButton.css.js.map +0 -1
  446. package/esm/split-button/SplitButton.js +0 -82
  447. package/esm/split-button/SplitButton.js.map +0 -1
  448. package/esm/split-button/SplitStateButton.css.js +0 -4
  449. package/esm/split-button/SplitStateButton.css.js.map +0 -1
  450. package/esm/split-button/SplitStateButton.js +0 -29
  451. package/esm/split-button/SplitStateButton.js.map +0 -1
  452. package/esm/split-button/useSplitButton.js +0 -82
  453. package/esm/split-button/useSplitButton.js.map +0 -1
  454. package/esm/table-search/SearchCell.css.js +0 -4
  455. package/esm/table-search/SearchCell.css.js.map +0 -1
  456. package/esm/table-search/SearchCell.js +0 -30
  457. package/esm/table-search/SearchCell.js.map +0 -1
  458. package/esm/table-search/TableSearch.css.js +0 -4
  459. package/esm/table-search/TableSearch.css.js.map +0 -1
  460. package/esm/table-search/TableSearch.js +0 -87
  461. package/esm/table-search/TableSearch.js.map +0 -1
  462. package/esm/table-search/useTableSearch.js +0 -37
  463. package/esm/table-search/useTableSearch.js.map +0 -1
  464. package/esm/tabs-next/TabBar.css.js +0 -4
  465. package/esm/tabs-next/TabBar.css.js.map +0 -1
  466. package/esm/tabs-next/TabBar.js +0 -39
  467. package/esm/tabs-next/TabBar.js.map +0 -1
  468. package/esm/tabs-next/TabListNext.css.js +0 -4
  469. package/esm/tabs-next/TabListNext.css.js.map +0 -1
  470. package/esm/tabs-next/TabListNext.js +0 -122
  471. package/esm/tabs-next/TabListNext.js.map +0 -1
  472. package/esm/tabs-next/TabNext.css.js +0 -4
  473. package/esm/tabs-next/TabNext.css.js.map +0 -1
  474. package/esm/tabs-next/TabNext.js +0 -108
  475. package/esm/tabs-next/TabNext.js.map +0 -1
  476. package/esm/tabs-next/TabNextAction.js +0 -33
  477. package/esm/tabs-next/TabNextAction.js.map +0 -1
  478. package/esm/tabs-next/TabNextContext.js +0 -20
  479. package/esm/tabs-next/TabNextContext.js.map +0 -1
  480. package/esm/tabs-next/TabNextPanel.css.js +0 -4
  481. package/esm/tabs-next/TabNextPanel.css.js.map +0 -1
  482. package/esm/tabs-next/TabNextPanel.js +0 -75
  483. package/esm/tabs-next/TabNextPanel.js.map +0 -1
  484. package/esm/tabs-next/TabNextTrigger.css.js +0 -4
  485. package/esm/tabs-next/TabNextTrigger.css.js.map +0 -1
  486. package/esm/tabs-next/TabNextTrigger.js +0 -72
  487. package/esm/tabs-next/TabNextTrigger.js.map +0 -1
  488. package/esm/tabs-next/TabOverflowList.css.js +0 -4
  489. package/esm/tabs-next/TabOverflowList.css.js.map +0 -1
  490. package/esm/tabs-next/TabOverflowList.js +0 -128
  491. package/esm/tabs-next/TabOverflowList.js.map +0 -1
  492. package/esm/tabs-next/TabsNext.js +0 -172
  493. package/esm/tabs-next/TabsNext.js.map +0 -1
  494. package/esm/tabs-next/TabsNextContext.js +0 -30
  495. package/esm/tabs-next/TabsNextContext.js.map +0 -1
  496. package/esm/tabs-next/hooks/useCollection.js +0 -89
  497. package/esm/tabs-next/hooks/useCollection.js.map +0 -1
  498. package/esm/tabs-next/hooks/useFocusOutside.js +0 -22
  499. package/esm/tabs-next/hooks/useFocusOutside.js.map +0 -1
  500. package/esm/tabs-next/hooks/useOverflow.js +0 -136
  501. package/esm/tabs-next/hooks/useOverflow.js.map +0 -1
  502. package/esm/tabstrip/Tab.css.js +0 -4
  503. package/esm/tabstrip/Tab.css.js.map +0 -1
  504. package/esm/tabstrip/Tab.js +0 -151
  505. package/esm/tabstrip/Tab.js.map +0 -1
  506. package/esm/tabstrip/TabMenu.css.js +0 -4
  507. package/esm/tabstrip/TabMenu.css.js.map +0 -1
  508. package/esm/tabstrip/TabMenu.js +0 -70
  509. package/esm/tabstrip/TabMenu.js.map +0 -1
  510. package/esm/tabstrip/TabMenuOptions.js +0 -16
  511. package/esm/tabstrip/TabMenuOptions.js.map +0 -1
  512. package/esm/tabstrip/Tabstrip.css.js +0 -4
  513. package/esm/tabstrip/Tabstrip.css.js.map +0 -1
  514. package/esm/tabstrip/Tabstrip.js +0 -158
  515. package/esm/tabstrip/Tabstrip.js.map +0 -1
  516. package/esm/tabstrip/tabstrip-dom-utils.js +0 -16
  517. package/esm/tabstrip/tabstrip-dom-utils.js.map +0 -1
  518. package/esm/tabstrip/useAnimatedSelectionThumb.js +0 -83
  519. package/esm/tabstrip/useAnimatedSelectionThumb.js.map +0 -1
  520. package/esm/tabstrip/useKeyboardNavigation.js +0 -245
  521. package/esm/tabstrip/useKeyboardNavigation.js.map +0 -1
  522. package/esm/tabstrip/useSelection.js +0 -58
  523. package/esm/tabstrip/useSelection.js.map +0 -1
  524. package/esm/tabstrip/useTabstrip.js +0 -231
  525. package/esm/tabstrip/useTabstrip.js.map +0 -1
  526. package/esm/time-input/MaskedInput.js +0 -375
  527. package/esm/time-input/MaskedInput.js.map +0 -1
  528. package/esm/time-input/TimeInput.css.js +0 -4
  529. package/esm/time-input/TimeInput.css.js.map +0 -1
  530. package/esm/time-input/TimeInput.js +0 -54
  531. package/esm/time-input/TimeInput.js.map +0 -1
  532. package/esm/time-input/useTimeInput.js +0 -119
  533. package/esm/time-input/useTimeInput.js.map +0 -1
  534. package/esm/toolbar/Toolbar.css.js +0 -4
  535. package/esm/toolbar/Toolbar.css.js.map +0 -1
  536. package/esm/toolbar/Toolbar.js +0 -88
  537. package/esm/toolbar/Toolbar.js.map +0 -1
  538. package/esm/toolbar/toolbar-dom-utils.js +0 -15
  539. package/esm/toolbar/toolbar-dom-utils.js.map +0 -1
  540. package/esm/toolbar/useKeyboardNavigation.js +0 -303
  541. package/esm/toolbar/useKeyboardNavigation.js.map +0 -1
  542. package/esm/toolbar/useSelection.js +0 -91
  543. package/esm/toolbar/useSelection.js.map +0 -1
  544. package/esm/toolbar/useToolbar.js +0 -98
  545. package/esm/toolbar/useToolbar.js.map +0 -1
  546. package/esm/utils/escapeRegExp.js +0 -7
  547. package/esm/utils/escapeRegExp.js.map +0 -1
  548. package/esm/utils/forwardCallbackProps.js +0 -20
  549. package/esm/utils/forwardCallbackProps.js.map +0 -1
  550. package/esm/utils/isOverflowElement.js +0 -6
  551. package/esm/utils/isOverflowElement.js.map +0 -1
  552. package/esm/utils/isPlainObject.js +0 -4
  553. package/esm/utils/isPlainObject.js.map +0 -1
  554. package/esm/vuu-date-picker/VuuDatePicker.js +0 -120
  555. package/esm/vuu-date-picker/VuuDatePicker.js.map +0 -1
  556. package/esm/vuu-input/VuuInput.css.js +0 -4
  557. package/esm/vuu-input/VuuInput.css.js.map +0 -1
  558. package/esm/vuu-input/VuuInput.js +0 -100
  559. package/esm/vuu-input/VuuInput.js.map +0 -1
  560. package/esm/vuu-time-picker/VuuTimePicker.css.js +0 -4
  561. package/esm/vuu-time-picker/VuuTimePicker.css.js.map +0 -1
  562. package/esm/vuu-time-picker/VuuTimePicker.js +0 -35
  563. package/esm/vuu-time-picker/VuuTimePicker.js.map +0 -1
  564. package/esm/vuu-typeahead-input/VuuTypeaheadInput.css.js +0 -4
  565. package/esm/vuu-typeahead-input/VuuTypeaheadInput.css.js.map +0 -1
  566. package/esm/vuu-typeahead-input/VuuTypeaheadInput.js +0 -78
  567. package/esm/vuu-typeahead-input/VuuTypeaheadInput.js.map +0 -1
  568. package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js +0 -174
  569. package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js.map +0 -1
@@ -1,89 +0,0 @@
1
- 'use strict';
2
-
3
- var vuuUtils = require('@vuu-ui/vuu-utils');
4
- var React = require('react');
5
-
6
- const useGlobalDragDrop = ({
7
- onDragOverDropTarget,
8
- onDrop
9
- }) => {
10
- const dropTargetRef = React.useRef(void 0);
11
- const measuredDropTargetsRef = React.useRef(void 0);
12
- const dragDropStateRef = React.useRef(null);
13
- const mousePosRef = React.useRef({ x: 0, y: 0 });
14
- const overDropTarget = React.useCallback((x, y) => {
15
- const { current: dropTargets } = measuredDropTargetsRef;
16
- if (dropTargets) {
17
- for (const [id, measuredTarget] of Object.entries(dropTargets)) {
18
- if (vuuUtils.boxContainsPoint(measuredTarget, x, y)) {
19
- return id;
20
- }
21
- }
22
- }
23
- return void 0;
24
- }, []);
25
- const dragMouseMoveHandler = React.useCallback(
26
- (evt) => {
27
- const { clientX, clientY } = evt;
28
- const { current: dragDropState } = dragDropStateRef;
29
- mousePosRef.current.x = clientX;
30
- mousePosRef.current.y = clientY;
31
- if (dragDropState?.draggableElement) {
32
- const { draggableElement, mouseOffset } = dragDropState;
33
- const dragPosX = mousePosRef.current.x - mouseOffset.x;
34
- const dragPosY = mousePosRef.current.y - mouseOffset.y;
35
- draggableElement.style.top = `${dragPosY}px`;
36
- draggableElement.style.left = `${dragPosX}px`;
37
- const dropTargetId = overDropTarget(dragPosX, dragPosY);
38
- if (dropTargetId) {
39
- const dropTargetWillResumeDrag = onDragOverDropTarget(
40
- dropTargetId,
41
- dragDropState
42
- );
43
- if (dropTargetWillResumeDrag) {
44
- document.removeEventListener("mousemove", dragMouseMoveHandler, false);
45
- document.removeEventListener("mouseup", dragMouseUpHandler, false);
46
- dragDropStateRef.current = null;
47
- dropTargetRef.current = void 0;
48
- } else {
49
- dropTargetRef.current = dropTargetId;
50
- }
51
- } else {
52
- dropTargetRef.current = void 0;
53
- }
54
- }
55
- },
56
- // eslint-disable-next-line react-hooks/exhaustive-deps
57
- []
58
- );
59
- const dragMouseUpHandler = React.useCallback(() => {
60
- document.removeEventListener("mousemove", dragMouseMoveHandler, false);
61
- document.removeEventListener("mouseup", dragMouseUpHandler, false);
62
- const { current: dragDropState } = dragDropStateRef;
63
- if (dragDropState) {
64
- dragDropStateRef.current = null;
65
- if (dropTargetRef.current) {
66
- onDrop(dropTargetRef.current, dragDropState);
67
- }
68
- if (dragDropState.draggableElement) {
69
- vuuUtils.dispatchCustomEvent(dragDropState.draggableElement, "vuu-dropped");
70
- }
71
- }
72
- }, [dragMouseMoveHandler, onDrop]);
73
- const resumeDrag = React.useCallback(
74
- (dragDropState) => {
75
- dragDropStateRef.current = dragDropState;
76
- document.addEventListener("mousemove", dragMouseMoveHandler, false);
77
- document.addEventListener("mouseup", dragMouseUpHandler, false);
78
- return true;
79
- },
80
- [dragMouseMoveHandler, dragMouseUpHandler]
81
- );
82
- return {
83
- measuredDropTargetsRef,
84
- resumeDrag
85
- };
86
- };
87
-
88
- exports.useGlobalDragDrop = useGlobalDragDrop;
89
- //# sourceMappingURL=useGlobalDragDrop.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGlobalDragDrop.js","sources":["../../../../packages/vuu-ui-controls/src/drag-drop/useGlobalDragDrop.ts"],"sourcesContent":["import { boxContainsPoint, dispatchCustomEvent } from \"@vuu-ui/vuu-utils\";\nimport { useCallback, useRef } from \"react\";\nimport { MeasuredTarget } from \"./DragDropProvider\";\nimport { DragDropState } from \"./DragDropState\";\nimport { MouseOffset } from \"./dragDropTypes\";\n\nexport type ResumeDragHandler = (dragDropState: DragDropState) => boolean;\nexport type GlobalDropHandler = (dragDropState: DragDropState) => void;\n\nexport const useGlobalDragDrop = ({\n onDragOverDropTarget,\n onDrop,\n}: {\n onDragOverDropTarget: (\n dropTargetId: string,\n dragDropState: DragDropState,\n ) => boolean;\n onDrop: (dropTargetId: string, dragDropState: DragDropState) => void;\n}) => {\n const dropTargetRef = useRef<string>(undefined);\n const measuredDropTargetsRef =\n useRef<Record<string, MeasuredTarget>>(undefined);\n\n const dragDropStateRef = useRef<DragDropState | null>(null);\n /** current mouse position */\n const mousePosRef = useRef<MouseOffset>({ x: 0, y: 0 });\n\n const overDropTarget = useCallback((x: number, y: number) => {\n const { current: dropTargets } = measuredDropTargetsRef;\n if (dropTargets) {\n for (const [id, measuredTarget] of Object.entries(dropTargets)) {\n if (boxContainsPoint(measuredTarget, x, y)) {\n return id;\n }\n }\n }\n return undefined;\n }, []);\n\n const dragMouseMoveHandler = useCallback(\n (evt: MouseEvent) => {\n const { clientX, clientY } = evt;\n const { current: dragDropState } = dragDropStateRef;\n\n mousePosRef.current.x = clientX;\n mousePosRef.current.y = clientY;\n\n if (dragDropState?.draggableElement) {\n const { draggableElement, mouseOffset } = dragDropState;\n\n const dragPosX = mousePosRef.current.x - mouseOffset.x;\n const dragPosY = mousePosRef.current.y - mouseOffset.y;\n draggableElement.style.top = `${dragPosY}px`;\n draggableElement.style.left = `${dragPosX}px`;\n\n const dropTargetId = overDropTarget(dragPosX, dragPosY);\n if (dropTargetId) {\n const dropTargetWillResumeDrag = onDragOverDropTarget(\n dropTargetId,\n dragDropState,\n );\n if (dropTargetWillResumeDrag) {\n // prettier-ignore\n document.removeEventListener(\"mousemove\", dragMouseMoveHandler, false);\n document.removeEventListener(\"mouseup\", dragMouseUpHandler, false);\n dragDropStateRef.current = null;\n dropTargetRef.current = undefined;\n } else {\n dropTargetRef.current = dropTargetId;\n }\n } else {\n dropTargetRef.current = undefined;\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n const dragMouseUpHandler = useCallback(() => {\n document.removeEventListener(\"mousemove\", dragMouseMoveHandler, false);\n document.removeEventListener(\"mouseup\", dragMouseUpHandler, false);\n const { current: dragDropState } = dragDropStateRef;\n if (dragDropState) {\n dragDropStateRef.current = null;\n if (dropTargetRef.current) {\n onDrop(dropTargetRef.current, dragDropState);\n }\n if (dragDropState.draggableElement) {\n dispatchCustomEvent(dragDropState.draggableElement, \"vuu-dropped\");\n }\n }\n }, [dragMouseMoveHandler, onDrop]);\n\n const resumeDrag = useCallback<ResumeDragHandler>(\n (dragDropState) => {\n dragDropStateRef.current = dragDropState;\n document.addEventListener(\"mousemove\", dragMouseMoveHandler, false);\n document.addEventListener(\"mouseup\", dragMouseUpHandler, false);\n\n return true;\n },\n [dragMouseMoveHandler, dragMouseUpHandler],\n );\n\n return {\n measuredDropTargetsRef,\n resumeDrag,\n };\n};\n"],"names":["useRef","useCallback","boxContainsPoint","dispatchCustomEvent"],"mappings":"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"}
@@ -1,211 +0,0 @@
1
- 'use strict';
2
-
3
- var vuuUtils = require('@vuu-ui/vuu-utils');
4
- var React = require('react');
5
-
6
- const stringValueOf = (value) => value?.toString() ?? "";
7
- const useEditableText = ({
8
- column,
9
- value,
10
- onEdit,
11
- type = "string"
12
- }) => {
13
- const [editState, setEditState] = React.useState({
14
- editing: false,
15
- value: stringValueOf(value)
16
- });
17
- const initialValueRef = React.useRef(value?.toString() ?? "");
18
- const isDirtyRef = React.useRef(false);
19
- React.useMemo(() => {
20
- if (initialValueRef.current !== value?.toString()) {
21
- initialValueRef.current = stringValueOf(value);
22
- setEditState((editState2) => ({
23
- ...editState2,
24
- message: void 0,
25
- value: stringValueOf(value)
26
- }));
27
- }
28
- }, [value]);
29
- const commit = React.useCallback(async () => {
30
- const { value: value2 } = editState;
31
- const result = column.clientSideEditValidationCheck?.(value2, "*");
32
- if (result?.ok === false) {
33
- setEditState((state) => ({
34
- ...state,
35
- message: result?.messages?.join(",")
36
- }));
37
- return false;
38
- } else {
39
- const { current: initialValue } = initialValueRef;
40
- const previousValue = vuuUtils.getTypedValue(initialValue, type);
41
- try {
42
- const typedValue = vuuUtils.getTypedValue(value2, type, true);
43
- const response = await onEdit?.(
44
- {
45
- editType: "commit",
46
- isValid: true,
47
- previousValue,
48
- value: typedValue
49
- },
50
- "commit"
51
- );
52
- if (vuuUtils.isRpcSuccess(response)) {
53
- isDirtyRef.current = false;
54
- setEditState(({ previousValue: previousValue2, value: value3 }) => ({
55
- editing: false,
56
- previousValue: previousValue2 === value3 ? void 0 : previousValue2 === void 0 ? initialValue : previousValue2,
57
- value: value3
58
- }));
59
- } else if (vuuUtils.isRpcError(response)) {
60
- setEditState((state) => ({
61
- ...state,
62
- message: response.errorMessage
63
- }));
64
- return false;
65
- }
66
- initialValueRef.current = value2;
67
- return true;
68
- } catch (e) {
69
- if (e instanceof vuuUtils.DataValidationError) {
70
- const { actualType, expectedType, message } = e;
71
- if (column) {
72
- const { name, label = name } = column;
73
- const message2 = `${label} is a ${expectedType} value, data entered is ${actualType} `;
74
- setEditState((state) => ({
75
- ...state,
76
- message: message2
77
- }));
78
- onEdit?.(
79
- {
80
- editType: "commit",
81
- isValid: false,
82
- previousValue,
83
- value: value2
84
- },
85
- "commit"
86
- );
87
- } else {
88
- setEditState((state) => ({
89
- ...state,
90
- message
91
- }));
92
- }
93
- }
94
- }
95
- }
96
- return false;
97
- }, [column, editState, onEdit, type]);
98
- const toggleActivation = React.useCallback(
99
- async (input, cancel = false) => {
100
- if (editState.editing) {
101
- if (isDirtyRef.current) {
102
- if (cancel) {
103
- const { value: previousValue } = editState;
104
- isDirtyRef.current = false;
105
- setEditState({
106
- editing: false,
107
- value: initialValueRef.current,
108
- message: void 0
109
- });
110
- onEdit?.(
111
- {
112
- editType: "cancel",
113
- isValid: true,
114
- previousValue,
115
- value: initialValueRef.current
116
- },
117
- "commit"
118
- );
119
- } else {
120
- const commitSuccessful = await commit();
121
- if (commitSuccessful) {
122
- setEditState((editState2) => ({ ...editState2, editing: false }));
123
- vuuUtils.dispatchCustomEvent(input, "vuu-commit");
124
- }
125
- }
126
- } else {
127
- setEditState((editState2) => ({ ...editState2, editing: false }));
128
- }
129
- } else if (!cancel) {
130
- setEditState((editState2) => ({ ...editState2, editing: true }));
131
- input.select();
132
- }
133
- },
134
- [commit, editState, onEdit]
135
- );
136
- const handleKeyDown = React.useCallback(
137
- async (evt) => {
138
- const { key, target } = evt;
139
- const input = target;
140
- if (key === "Enter") {
141
- toggleActivation(input);
142
- } else if (key === "ArrowRight" || key === "ArrowLeft" || key === "ArrowUp" || key === "ArrowDown") {
143
- if (editState.editing) {
144
- evt.stopPropagation();
145
- }
146
- } else if (evt.key === "Escape") {
147
- toggleActivation(input, true);
148
- }
149
- },
150
- [editState, toggleActivation]
151
- );
152
- const handleFocus = React.useCallback(
153
- (e) => {
154
- const input = e.target;
155
- const source = e.relatedTarget;
156
- if (source?.classList.contains("vuuTableCell") && source.contains(input)) {
157
- toggleActivation(input);
158
- }
159
- },
160
- [toggleActivation]
161
- );
162
- const handleBlur = React.useCallback(async () => {
163
- if (editState.editing) {
164
- if (isDirtyRef.current) {
165
- const commitSuccessful = await commit();
166
- console.log({ commitSuccessful });
167
- }
168
- setEditState((editState2) => ({ ...editState2, editing: false }));
169
- }
170
- }, [commit, editState]);
171
- const handleChange = React.useCallback(
172
- (evt) => {
173
- const { value: value2 } = evt.target;
174
- isDirtyRef.current = value2 !== initialValueRef.current;
175
- const result = column.clientSideEditValidationCheck?.(value2, "change");
176
- setEditState({ editing: true, value: value2 });
177
- onEdit?.(
178
- {
179
- editType: "change",
180
- isValid: result?.ok !== false,
181
- previousValue: initialValueRef.current,
182
- value: value2
183
- },
184
- "change"
185
- );
186
- if (result?.ok === false) {
187
- setEditState({
188
- editing: true,
189
- value: value2,
190
- message: result.messages?.join(",")
191
- });
192
- }
193
- },
194
- [column, onEdit]
195
- );
196
- return {
197
- editing: editState.editing,
198
- inputProps: {
199
- onBlur: handleBlur,
200
- onFocus: handleFocus,
201
- onKeyDown: handleKeyDown
202
- },
203
- onChange: handleChange,
204
- previousValue: editState.previousValue,
205
- value: editState.value,
206
- warningMessage: editState.message
207
- };
208
- };
209
-
210
- exports.useEditableText = useEditableText;
211
- //# sourceMappingURL=useEditableText.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useEditableText.js","sources":["../../../../packages/vuu-ui-controls/src/editable/useEditableText.ts"],"sourcesContent":["import { VuuRowDataItemType } from \"@vuu-ui/vuu-protocol-types\";\nimport type {\n RuntimeColumnDescriptor,\n TableCellEditHandler,\n} from \"@vuu-ui/vuu-table-types\";\nimport {\n DataValidationError,\n dispatchCustomEvent,\n getTypedValue,\n isRpcError,\n isRpcSuccess,\n} from \"@vuu-ui/vuu-utils\";\nimport {\n FocusEventHandler,\n FormEventHandler,\n KeyboardEvent,\n useCallback,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nexport interface EditableTextHookProps<\n T extends VuuRowDataItemType = VuuRowDataItemType,\n> {\n column: Pick<\n RuntimeColumnDescriptor,\n \"clientSideEditValidationCheck\" | \"label\" | \"name\"\n >;\n value?: T;\n onEdit?: TableCellEditHandler;\n type?: \"string\" | \"number\" | \"boolean\";\n}\n\ntype EditState = {\n editing: boolean;\n message?: string;\n // Set once we commit an edit, cleared when edit session is ended.\n previousValue?: string;\n value: string;\n};\n\nconst stringValueOf = (value?: VuuRowDataItemType) => value?.toString() ?? \"\";\n\n// @deprecated replaced by InputCell + useInputCell\nexport const useEditableText = <T extends string | number | boolean = string>({\n column,\n value,\n onEdit,\n type = \"string\",\n}: EditableTextHookProps<T>) => {\n const [editState, setEditState] = useState<EditState>({\n editing: false,\n value: stringValueOf(value),\n });\n const initialValueRef = useRef<string>(value?.toString() ?? \"\");\n const isDirtyRef = useRef(false);\n\n useMemo(() => {\n if (initialValueRef.current !== value?.toString()) {\n initialValueRef.current = stringValueOf(value);\n setEditState((editState) => ({\n ...editState,\n message: undefined,\n value: stringValueOf(value),\n }));\n }\n }, [value]);\n\n const commit = useCallback(async () => {\n const { value } = editState;\n const result = column.clientSideEditValidationCheck?.(value, \"*\");\n if (result?.ok === false) {\n setEditState((state) => ({\n ...state,\n message: result?.messages?.join(\",\"),\n }));\n return false;\n } else {\n //save initial value,it could be reset by time async operation completes\n const { current: initialValue } = initialValueRef;\n const previousValue = getTypedValue(initialValue, type);\n try {\n const typedValue = getTypedValue(value, type, true);\n const response = await onEdit?.(\n {\n editType: \"commit\",\n isValid: true,\n previousValue,\n value: typedValue,\n },\n \"commit\",\n );\n if (isRpcSuccess(response)) {\n isDirtyRef.current = false;\n setEditState(({ previousValue, value }) => ({\n editing: false,\n previousValue:\n previousValue === value\n ? undefined\n : previousValue === undefined\n ? initialValue\n : previousValue,\n value,\n }));\n } else if (isRpcError(response)) {\n setEditState((state) => ({\n ...state,\n message: response.errorMessage,\n }));\n return false;\n }\n initialValueRef.current = value;\n return true;\n } catch (e) {\n if (e instanceof DataValidationError) {\n const { actualType, expectedType, message } = e;\n if (column) {\n const { name, label = name } = column;\n const message = `${label} is a ${expectedType} value, data entered is ${actualType} `;\n setEditState((state) => ({\n ...state,\n message,\n }));\n onEdit?.(\n {\n editType: \"commit\",\n isValid: false,\n previousValue,\n value,\n },\n \"commit\",\n );\n } else {\n setEditState((state) => ({\n ...state,\n message,\n }));\n }\n }\n }\n }\n return false;\n }, [column, editState, onEdit, type]);\n\n /**\n * Depending on the current state (editing or not, dirty or not) activation will either be\n * entering into edit state, leaving edit state or commiting edited value.\n */\n const toggleActivation = useCallback(\n async (input: HTMLInputElement, cancel = false) => {\n if (editState.editing) {\n if (isDirtyRef.current) {\n if (cancel) {\n const { value: previousValue } = editState;\n isDirtyRef.current = false;\n setEditState({\n editing: false,\n value: initialValueRef.current,\n message: undefined,\n });\n // this assumes the original value was valid, is that safe ?\n onEdit?.(\n {\n editType: \"cancel\",\n isValid: true,\n previousValue,\n value: initialValueRef.current,\n },\n \"commit\",\n );\n } else {\n const commitSuccessful = await commit();\n if (commitSuccessful) {\n setEditState((editState) => ({ ...editState, editing: false }));\n dispatchCustomEvent(input, \"vuu-commit\");\n }\n }\n } else {\n setEditState((editState) => ({ ...editState, editing: false }));\n }\n } else if (!cancel) {\n setEditState((editState) => ({ ...editState, editing: true }));\n input.select();\n }\n },\n [commit, editState, onEdit],\n );\n\n const handleKeyDown = useCallback(\n async (evt: KeyboardEvent<HTMLElement>) => {\n const { key, target } = evt;\n const input = target as HTMLInputElement;\n if (key === \"Enter\") {\n toggleActivation(input);\n } else if (\n key === \"ArrowRight\" ||\n key === \"ArrowLeft\" ||\n key === \"ArrowUp\" ||\n key === \"ArrowDown\"\n ) {\n if (editState.editing) {\n evt.stopPropagation();\n } else {\n // console.log(\n // `[useEditableText] handleKeydown, arrowkey, not editing so let it bubble`,\n // );\n // evt.preventDefault();\n }\n } else if (evt.key === \"Escape\") {\n toggleActivation(input, true);\n }\n },\n [editState, toggleActivation],\n );\n\n const handleFocus = useCallback<FocusEventHandler<HTMLElement>>(\n (e) => {\n // If focus is transferred from enclosing cell element, we are explicitl entering edit mode\n const input = e.target as HTMLInputElement;\n const source = e.relatedTarget as HTMLElement;\n if (\n source?.classList.contains(\"vuuTableCell\") &&\n source.contains(input)\n ) {\n toggleActivation(input);\n }\n },\n [toggleActivation],\n );\n\n const handleBlur = useCallback<FocusEventHandler<HTMLElement>>(async () => {\n if (editState.editing) {\n if (isDirtyRef.current) {\n const commitSuccessful = await commit();\n console.log({ commitSuccessful });\n }\n setEditState((editState) => ({ ...editState, editing: false }));\n }\n }, [commit, editState]);\n\n const handleChange = useCallback<FormEventHandler>(\n (evt) => {\n const { value } = evt.target as HTMLInputElement;\n isDirtyRef.current = value !== initialValueRef.current;\n const result = column.clientSideEditValidationCheck?.(value, \"change\");\n setEditState({ editing: true, value });\n\n onEdit?.(\n {\n editType: \"change\",\n isValid: result?.ok !== false,\n previousValue: initialValueRef.current,\n value,\n },\n \"change\",\n );\n if (result?.ok === false) {\n setEditState({\n editing: true,\n value,\n message: result.messages?.join(\",\"),\n });\n }\n },\n [column, onEdit],\n );\n\n // console.log(\n // `[useEditableText] edited = ${\n // editState.previousValue !== undefined &&\n // editState.previousValue !== editState.value\n // }\n // editState.previousValue ${editState.previousValue}\n // editState.value ${editState.value}\n // `,\n // );\n\n return {\n editing: editState.editing,\n inputProps: {\n onBlur: handleBlur,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n },\n onChange: handleChange,\n previousValue: editState.previousValue,\n value: editState.value,\n warningMessage: editState.message,\n };\n};\n"],"names":["useState","useRef","useMemo","editState","useCallback","value","getTypedValue","isRpcSuccess","previousValue","isRpcError","DataValidationError","message","dispatchCustomEvent"],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var editableLabelCss = ".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: inline-flex;\n flex-direction: column;\n font-size: var(--salt-text-fontSize);\n height: 100%;\n justify-content: center;\n letter-spacing: normal;\n\n overflow: hidden;\n padding-right: var(--editableLabel-padding);\n position: relative;\n text-overflow: ellipsis;\n white-space: nowrap;\n z-index: var(--salt-zIndex-default);\n\n &[data-embedded] {\n outline: none;\n }\n\n .saltInput-activationIndicator {\n display: none;\n }\n\n .saltInput-focused {\n background-color: inherit;\n outline: none;\n }\n \n}\n\n.vuuEditableLabel:before {\n box-sizing: content-box;\n content: attr(data-text);\n display: block;\n height: 0px;\n padding: 0 var(--salt-spacing-200);\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 var(--salt-spacing-100);\n right: var(--editableLabel-padding, 0);\n top: var(--saltEditableLabel-top, 1px);\n width: calc(100% - 4px);\n}\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 width:0;\n}\n\n.vuuEditableLabel-label {\n overflow: hidden;\n padding-left: 10px;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n";
4
-
5
- module.exports = editableLabelCss;
6
- //# sourceMappingURL=EditableLabel.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EditableLabel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,143 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var cx = require('clsx');
5
- var React = require('react');
6
- var core = require('@salt-ds/core');
7
- var styles = require('@salt-ds/styles');
8
- var window = require('@salt-ds/window');
9
- var EditableLabel$1 = require('./EditableLabel.css.js');
10
-
11
- const classBase = "vuuEditableLabel";
12
- const NullEditAPI = {
13
- beginEdit: () => void 0
14
- };
15
- const EditableLabel = React.forwardRef(function EditableLabel2({
16
- className: classNameProp,
17
- defaultEditing,
18
- defaultValue,
19
- editLabelApiRef,
20
- editing: editingProp,
21
- onChange,
22
- onEnterEditMode,
23
- onExitEditMode,
24
- value: valueProp,
25
- ...restProps
26
- }, forwardedRef) {
27
- const targetWindow = window.useWindow();
28
- styles.useComponentCssInjection({
29
- testId: "vuu-editable-label",
30
- css: EditableLabel$1,
31
- window: targetWindow
32
- });
33
- const inputRef = React.useRef(null);
34
- const editingRef = React.useRef(false);
35
- const [value, setValue] = core.useControlled({
36
- controlled: valueProp,
37
- default: defaultValue ?? "",
38
- name: "EditableLabel",
39
- state: "value"
40
- });
41
- const [editing, _setEditing] = core.useControlled({
42
- controlled: editingProp,
43
- default: defaultEditing ?? false,
44
- name: "EditableLabel",
45
- state: "editing"
46
- });
47
- const setEditing = React.useCallback(
48
- (value2) => {
49
- _setEditing(editingRef.current = value2);
50
- },
51
- [_setEditing]
52
- );
53
- const initialValue = React.useRef(value);
54
- React.useLayoutEffect(() => {
55
- if (editing) {
56
- if (inputRef.current !== null) {
57
- inputRef.current.select();
58
- inputRef.current.focus();
59
- }
60
- }
61
- }, [editing, inputRef]);
62
- const beginEdit = React.useCallback(() => {
63
- setEditing(true);
64
- onEnterEditMode?.();
65
- }, [onEnterEditMode, setEditing]);
66
- React.useImperativeHandle(
67
- editLabelApiRef,
68
- () => ({
69
- beginEdit
70
- }),
71
- [beginEdit]
72
- );
73
- const exitEditMode = React.useCallback(
74
- ({ cancelEdit = false, allowDeactivation = false } = {}) => {
75
- setEditing(false);
76
- const originalValue = initialValue.current;
77
- if (cancelEdit || originalValue === value) {
78
- if (originalValue !== value) {
79
- setValue(originalValue);
80
- }
81
- onExitEditMode?.(
82
- originalValue,
83
- originalValue,
84
- allowDeactivation,
85
- cancelEdit
86
- );
87
- } else {
88
- initialValue.current = value;
89
- onExitEditMode?.(originalValue, value, allowDeactivation, cancelEdit);
90
- }
91
- },
92
- [onExitEditMode, setEditing, setValue, value]
93
- );
94
- const handleChange = (evt) => {
95
- const { value: value2 } = evt.target;
96
- setValue(value2);
97
- onChange && onChange(value2);
98
- };
99
- const handleBlur = React.useCallback(() => {
100
- if (editingRef.current) {
101
- exitEditMode({ allowDeactivation: true });
102
- }
103
- }, [exitEditMode]);
104
- const handleKeyDown = (evt) => {
105
- if (editing && evt.key === "Enter") {
106
- evt.stopPropagation();
107
- exitEditMode();
108
- } else if (evt.key === "ArrowRight" || evt.key === "ArrowLeft") {
109
- evt.stopPropagation();
110
- } else if (evt.key === "Escape") {
111
- exitEditMode({ cancelEdit: true });
112
- }
113
- };
114
- const className = cx(classBase, classNameProp, {
115
- [`${classBase}-editing`]: editing
116
- });
117
- return /* @__PURE__ */ jsxRuntime.jsx(
118
- "div",
119
- {
120
- ...restProps,
121
- className,
122
- "data-text": value,
123
- ref: forwardedRef,
124
- children: editing ? /* @__PURE__ */ jsxRuntime.jsx(
125
- core.Input,
126
- {
127
- inputProps: { className: `${classBase}-input`, spellCheck: false },
128
- value,
129
- onBlur: handleBlur,
130
- onChange: handleChange,
131
- onKeyDown: handleKeyDown,
132
- inputRef,
133
- textAlign: "left",
134
- variant: "secondary"
135
- }
136
- ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${classBase}-label`, children: value })
137
- }
138
- );
139
- });
140
-
141
- exports.EditableLabel = EditableLabel;
142
- exports.NullEditAPI = NullEditAPI;
143
- //# sourceMappingURL=EditableLabel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EditableLabel.js","sources":["../../../../packages/vuu-ui-controls/src/editable-label/EditableLabel.tsx"],"sourcesContent":["import cx from \"clsx\";\nimport {\n ChangeEvent,\n KeyboardEvent,\n useCallback,\n useLayoutEffect,\n forwardRef,\n ForwardedRef,\n ReactElement,\n useRef,\n HTMLAttributes,\n useImperativeHandle,\n} from \"react\";\nimport { Input, useControlled } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport editableLabelCss from \"./EditableLabel.css\";\n\nconst classBase = \"vuuEditableLabel\";\n\nexport type ExitEditModeHandler = (\n originalLabel: string | undefined,\n editedLabel: string | undefined,\n allowDeactivation?: boolean,\n editCancelled?: boolean,\n) => void;\n\nexport interface EditAPI {\n beginEdit: () => void;\n}\n\nexport const NullEditAPI: EditAPI = {\n beginEdit: () => undefined,\n};\n\nexport interface EditableLabelProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n className?: string;\n defaultEditing?: boolean;\n defaultValue?: string;\n editLabelApiRef?: ForwardedRef<EditAPI>;\n editing?: boolean;\n onEnterEditMode?: () => void;\n onChange?: (value: string) => void;\n onExitEditMode: ExitEditModeHandler;\n defaultIsEditing?: boolean;\n value?: string;\n}\n\nexport const EditableLabel = forwardRef(function EditableLabel(\n {\n className: classNameProp,\n defaultEditing,\n defaultValue,\n editLabelApiRef,\n editing: editingProp,\n onChange,\n onEnterEditMode,\n onExitEditMode,\n value: valueProp,\n ...restProps\n }: EditableLabelProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n): ReactElement<EditableLabelProps> {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-editable-label\",\n css: editableLabelCss,\n window: targetWindow,\n });\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const editingRef = useRef<boolean>(false);\n\n const [value, setValue] = useControlled({\n controlled: valueProp,\n default: defaultValue ?? \"\",\n name: \"EditableLabel\",\n state: \"value\",\n });\n\n const [editing, _setEditing] = useControlled({\n controlled: editingProp,\n default: defaultEditing ?? false,\n name: \"EditableLabel\",\n state: \"editing\",\n });\n\n const setEditing = useCallback(\n (value: boolean) => {\n _setEditing((editingRef.current = value));\n },\n [_setEditing],\n );\n\n const initialValue = useRef(value);\n\n useLayoutEffect(() => {\n if (editing) {\n if (inputRef.current !== null) {\n inputRef.current.select();\n inputRef.current.focus();\n }\n }\n }, [editing, inputRef]);\n\n const beginEdit = useCallback(() => {\n setEditing(true);\n onEnterEditMode?.();\n }, [onEnterEditMode, setEditing]);\n\n useImperativeHandle(\n editLabelApiRef,\n () => ({\n beginEdit,\n }),\n [beginEdit],\n );\n\n const exitEditMode = useCallback(\n ({ cancelEdit = false, allowDeactivation = false } = {}) => {\n setEditing(false);\n const originalValue = initialValue.current;\n if (cancelEdit || originalValue === value) {\n if (originalValue !== value) {\n setValue(originalValue);\n }\n onExitEditMode?.(\n originalValue,\n originalValue,\n allowDeactivation,\n cancelEdit,\n );\n } else {\n initialValue.current = value;\n onExitEditMode?.(originalValue, value, allowDeactivation, cancelEdit);\n }\n },\n [onExitEditMode, setEditing, setValue, value],\n );\n\n const handleChange = (evt: ChangeEvent<HTMLInputElement>) => {\n const { value } = evt.target;\n setValue(value);\n onChange && onChange(value);\n };\n\n // We need the ref here as the blur fires before setEditing has taken effect,\n // so we get a double call to exitEditMode if edit is cancelled.\n const handleBlur = useCallback(() => {\n if (editingRef.current) {\n exitEditMode({ allowDeactivation: true });\n }\n }, [exitEditMode]);\n\n const handleKeyDown = (evt: KeyboardEvent<HTMLInputElement>) => {\n if (editing && evt.key === \"Enter\") {\n evt.stopPropagation();\n // we are likely to lose focus as a consequence of user response\n // to exitEdit transition, don't want it to trigger another\n //shouldn't we call setEditing here in case we are in uncontrolled mode ?\n exitEditMode();\n } else if (evt.key === \"ArrowRight\" || evt.key === \"ArrowLeft\") {\n evt.stopPropagation();\n } else if (evt.key === \"Escape\") {\n exitEditMode({ cancelEdit: true });\n }\n };\n\n const className = cx(classBase, classNameProp, {\n [`${classBase}-editing`]: editing,\n });\n return (\n <div\n {...restProps}\n className={className}\n data-text={value}\n ref={forwardedRef}\n >\n {editing ? (\n <Input\n inputProps={{ className: `${classBase}-input`, spellCheck: false }}\n value={value}\n onBlur={handleBlur}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n inputRef={inputRef}\n textAlign=\"left\"\n variant=\"secondary\"\n />\n ) : (\n <span className={`${classBase}-label`}>{value}</span>\n )}\n </div>\n );\n});\n"],"names":["forwardRef","EditableLabel","useWindow","useComponentCssInjection","editableLabelCss","useRef","useControlled","useCallback","value","useLayoutEffect","useImperativeHandle","jsx","Input"],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var expandoInputCss = ".vuuExpandoInput {\n --expandoInput-height: var(--vuuExpandoInput-height, 26px);\n --expandoInput-padding: var(--vuuExpandoInput-padding, 6px);\n\n --saltInput-height: calc(var(--expandoInput-height) - 2px);\n --saltInput-minHeight: var(--saltInput-height);\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 .saltInput-secondary {\n --saltInput-background: var(\n --vuuExpandoInput-background,\n var(--salt-container-primary-background)\n );\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.vuuExpandoInput-error {\n border-color: var(--vuu-color-red-50);\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 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";
4
-
5
- module.exports = expandoInputCss;
6
- //# sourceMappingURL=ExpandoInput.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpandoInput.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,53 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var styles = require('@salt-ds/styles');
5
- var window = require('@salt-ds/window');
6
- var cx = require('clsx');
7
- var React = require('react');
8
- var VuuInput = require('../vuu-input/VuuInput.js');
9
- var ExpandoInput$1 = require('./ExpandoInput.css.js');
10
-
11
- const classBase = "vuuExpandoInput";
12
- const noop = () => void 0;
13
- const ExpandoInput = React.forwardRef(function ExpandoInput2({
14
- className: classNameProp,
15
- errorMessage,
16
- value,
17
- inputProps,
18
- onCommit = noop,
19
- ...props
20
- }, forwardedRef) {
21
- const targetWindow = window.useWindow();
22
- styles.useComponentCssInjection({
23
- testId: "vuu-expando-input",
24
- css: ExpandoInput$1,
25
- window: targetWindow
26
- });
27
- return /* @__PURE__ */ jsxRuntime.jsx(
28
- "div",
29
- {
30
- className: cx(classBase, classNameProp, {
31
- [`${classBase}-error`]: errorMessage
32
- }),
33
- "data-text": value,
34
- children: /* @__PURE__ */ jsxRuntime.jsx(
35
- VuuInput.VuuInput,
36
- {
37
- ...props,
38
- errorMessage,
39
- inputProps: { ...inputProps, className: `${classBase}-input` },
40
- onCommit,
41
- ref: forwardedRef,
42
- style: { padding: 0 },
43
- textAlign: "left",
44
- value,
45
- variant: "secondary"
46
- }
47
- )
48
- }
49
- );
50
- });
51
-
52
- exports.ExpandoInput = ExpandoInput;
53
- //# sourceMappingURL=ExpandoInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpandoInput.js","sources":["../../../../packages/vuu-ui-controls/src/expando-input/ExpandoInput.tsx"],"sourcesContent":["import { CommitHandler } from \"@vuu-ui/vuu-utils\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport cx from \"clsx\";\nimport { ForwardedRef, forwardRef } from \"react\";\nimport { VuuInput, VuuInputProps } from \"../vuu-input\";\nimport expandoInputCss from \"./ExpandoInput.css\";\n\nconst classBase = \"vuuExpandoInput\";\n\nconst noop = () => undefined;\n\nexport interface ExpandoInputProps extends Omit<VuuInputProps, \"onCommit\"> {\n onCommit?: CommitHandler;\n}\n\nexport const ExpandoInput = forwardRef(function ExpandoInput(\n {\n className: classNameProp,\n errorMessage,\n value,\n inputProps,\n onCommit = noop,\n ...props\n }: ExpandoInputProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-expando-input\",\n css: expandoInputCss,\n window: targetWindow,\n });\n\n return (\n <div\n className={cx(classBase, classNameProp, {\n [`${classBase}-error`]: errorMessage,\n })}\n data-text={value}\n >\n <VuuInput\n {...props}\n errorMessage={errorMessage}\n inputProps={{ ...inputProps, className: `${classBase}-input` }}\n onCommit={onCommit}\n ref={forwardedRef}\n style={{ padding: 0 }}\n textAlign=\"left\"\n value={value}\n variant=\"secondary\"\n />\n </div>\n );\n});\n"],"names":["forwardRef","ExpandoInput","useWindow","useComponentCssInjection","expandoInputCss","jsx","VuuInput"],"mappings":";;;;;;;;;;AAQA,MAAM,SAAY,GAAA,iBAAA;AAElB,MAAM,OAAO,MAAM,KAAA,CAAA;AAMN,MAAA,YAAA,GAAeA,gBAAW,CAAA,SAASC,aAC9C,CAAA;AAAA,EACE,SAAW,EAAA,aAAA;AAAA,EACX,YAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAW,GAAA,IAAA;AAAA,EACX,GAAG;AACL,CAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,mBAAA;AAAA,IACR,GAAK,EAAAC,cAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EACE,uBAAAC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAG,CAAA,SAAA,EAAW,aAAe,EAAA;AAAA,QACtC,CAAC,CAAA,EAAG,SAAS,CAAA,MAAA,CAAQ,GAAG;AAAA,OACzB,CAAA;AAAA,MACD,WAAW,EAAA,KAAA;AAAA,MAEX,QAAA,kBAAAA,cAAA;AAAA,QAACC,iBAAA;AAAA,QAAA;AAAA,UACE,GAAG,KAAA;AAAA,UACJ,YAAA;AAAA,UACA,YAAY,EAAE,GAAG,YAAY,SAAW,EAAA,CAAA,EAAG,SAAS,CAAS,MAAA,CAAA,EAAA;AAAA,UAC7D,QAAA;AAAA,UACA,GAAK,EAAA,YAAA;AAAA,UACL,KAAA,EAAO,EAAE,OAAA,EAAS,CAAE,EAAA;AAAA,UACpB,SAAU,EAAA,MAAA;AAAA,UACV,KAAA;AAAA,UACA,OAAQ,EAAA;AAAA;AAAA;AACV;AAAA,GACF;AAEJ,CAAC;;;;"}