@povio/ui 3.0.0-rc.3 → 3.1.0

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 (309) hide show
  1. package/README.md +39 -0
  2. package/dist/assets/icons/AlignCenter.js +11 -26
  3. package/dist/assets/icons/AlignLeft.js +11 -26
  4. package/dist/assets/icons/AlignLeftRight.js +11 -26
  5. package/dist/assets/icons/AlignRight.js +11 -26
  6. package/dist/assets/icons/ArrowDropDown.js +11 -26
  7. package/dist/assets/icons/ArrowDropUp.js +11 -26
  8. package/dist/assets/icons/ArrowLeft.js +11 -26
  9. package/dist/assets/icons/ArrowRight.js +11 -26
  10. package/dist/assets/icons/Bold.js +11 -26
  11. package/dist/assets/icons/BulletedList.js +11 -26
  12. package/dist/assets/icons/Calendar.js +13 -28
  13. package/dist/assets/icons/Check.js +13 -28
  14. package/dist/assets/icons/CheckCircle.js +11 -26
  15. package/dist/assets/icons/CheckboxCheckmark.js +14 -29
  16. package/dist/assets/icons/CheckboxIndeterminate.js +14 -29
  17. package/dist/assets/icons/ChevronDown.js +13 -28
  18. package/dist/assets/icons/ChevronLeft.js +13 -28
  19. package/dist/assets/icons/ChevronRight.js +13 -28
  20. package/dist/assets/icons/ChevronUp.js +13 -28
  21. package/dist/assets/icons/ChevronsLeft.js +13 -28
  22. package/dist/assets/icons/ChevronsRight.js +13 -28
  23. package/dist/assets/icons/Clock.js +11 -26
  24. package/dist/assets/icons/Close.js +11 -26
  25. package/dist/assets/icons/DateTime.js +14 -35
  26. package/dist/assets/icons/DragIndicator.js +11 -26
  27. package/dist/assets/icons/File.js +13 -28
  28. package/dist/assets/icons/Highlight.js +11 -26
  29. package/dist/assets/icons/HighlightOn.js +15 -49
  30. package/dist/assets/icons/Home.js +11 -26
  31. package/dist/assets/icons/Info.js +16 -37
  32. package/dist/assets/icons/Italic.js +11 -26
  33. package/dist/assets/icons/Link.js +11 -26
  34. package/dist/assets/icons/Menu.js +11 -26
  35. package/dist/assets/icons/NumberedList.js +11 -26
  36. package/dist/assets/icons/PointerHorizontal.js +11 -26
  37. package/dist/assets/icons/PointerVertical.js +11 -26
  38. package/dist/assets/icons/Search.js +11 -26
  39. package/dist/assets/icons/Send.js +13 -28
  40. package/dist/assets/icons/Strikethrough.js +11 -26
  41. package/dist/assets/icons/TextColor.js +14 -48
  42. package/dist/assets/icons/Today.js +11 -26
  43. package/dist/assets/icons/Underlined.js +13 -28
  44. package/dist/assets/icons/Upload.js +14 -35
  45. package/dist/assets/icons/Visibility.js +11 -26
  46. package/dist/assets/icons/VisibilityOff.js +11 -26
  47. package/dist/assets/icons/WarningFilled.js +13 -28
  48. package/dist/components/Breadcrumbs/Breadcrumbs.js +56 -207
  49. package/dist/components/Menu/Menu.d.ts +4 -0
  50. package/dist/components/Menu/Menu.js +2 -18
  51. package/dist/components/Menu/MenuDesktop.js +7 -41
  52. package/dist/components/Menu/MenuItem.js +9 -32
  53. package/dist/components/Menu/MenuMobile.d.ts +1 -1
  54. package/dist/components/Menu/MenuMobile.js +39 -97
  55. package/dist/components/Menu/MenuPopover.js +29 -105
  56. package/dist/components/buttons/IconButton/IconButton.js +8 -40
  57. package/dist/components/buttons/InlineIconButton/InlineIconButton.d.ts +1 -2
  58. package/dist/components/buttons/InlineIconButton/InlineIconButton.js +9 -34
  59. package/dist/components/buttons/PillButton/PillButton.js +17 -55
  60. package/dist/components/buttons/SplitButton/SplitButton.js +18 -103
  61. package/dist/components/buttons/TextButton/TextButton.js +8 -30
  62. package/dist/components/buttons/ToggleButton/ToggleButton.js +8 -28
  63. package/dist/components/buttons/shared/ButtonContent.js +22 -80
  64. package/dist/components/inputs/Checkbox/Checkbox.d.ts +0 -1
  65. package/dist/components/inputs/Checkbox/Checkbox.js +35 -201
  66. package/dist/components/inputs/Checkbox/CheckboxCheckmark.js +10 -24
  67. package/dist/components/inputs/Checkbox/checkbox.cva.d.ts +0 -3
  68. package/dist/components/inputs/Checkbox/checkbox.cva.js +1 -2
  69. package/dist/components/inputs/DateTime/DatePicker/DatePicker.d.ts +5 -12
  70. package/dist/components/inputs/DateTime/DatePicker/DatePicker.js +75 -373
  71. package/dist/components/inputs/DateTime/DateRangePicker/DateRangePicker.d.ts +5 -12
  72. package/dist/components/inputs/DateTime/DateRangePicker/DateRangePicker.js +186 -492
  73. package/dist/components/inputs/DateTime/DateTimePicker/DateTimePicker.d.ts +5 -14
  74. package/dist/components/inputs/DateTime/DateTimePicker/DateTimePicker.js +47 -273
  75. package/dist/components/inputs/DateTime/TimePicker/TimePicker.d.ts +3 -7
  76. package/dist/components/inputs/DateTime/TimePicker/TimePicker.js +121 -611
  77. package/dist/components/inputs/DateTime/shared/Calendar.d.ts +3 -5
  78. package/dist/components/inputs/DateTime/shared/Calendar.js +120 -338
  79. package/dist/components/inputs/DateTime/shared/CalendarCell.d.ts +2 -4
  80. package/dist/components/inputs/DateTime/shared/CalendarCell.js +103 -310
  81. package/dist/components/inputs/DateTime/shared/CalendarGrid.d.ts +2 -4
  82. package/dist/components/inputs/DateTime/shared/CalendarGrid.js +33 -150
  83. package/dist/components/inputs/DateTime/shared/CalendarHeader.d.ts +2 -1
  84. package/dist/components/inputs/DateTime/shared/CalendarHeader.js +98 -249
  85. package/dist/components/inputs/DateTime/shared/CalendarSelectHeader.js +137 -318
  86. package/dist/components/inputs/DateTime/shared/DateField.js +112 -286
  87. package/dist/components/inputs/DateTime/shared/DatePickerInput.d.ts +3 -14
  88. package/dist/components/inputs/DateTime/shared/DatePickerInput.js +129 -356
  89. package/dist/components/inputs/DateTime/shared/DateSegmentItem.d.ts +0 -15
  90. package/dist/components/inputs/DateTime/shared/DateSegmentItem.js +11 -96
  91. package/dist/components/inputs/DateTime/shared/DateTimeDialog.d.ts +4 -1
  92. package/dist/components/inputs/DateTime/shared/DateTimeDialog.js +28 -81
  93. package/dist/components/inputs/DateTime/shared/DateTimeDialogFooter.js +10 -59
  94. package/dist/components/inputs/DateTime/shared/MonthPicker.js +58 -103
  95. package/dist/components/inputs/DateTime/shared/RangeCalendar.js +82 -193
  96. package/dist/components/inputs/DateTime/shared/TimeField.js +8 -27
  97. package/dist/components/inputs/DateTime/shared/TimePickerForm.js +110 -279
  98. package/dist/components/inputs/DateTime/shared/TimePickerInput.d.ts +1 -4
  99. package/dist/components/inputs/DateTime/shared/TimePickerInput.js +65 -210
  100. package/dist/components/inputs/DateTime/shared/YearPicker.js +68 -119
  101. package/dist/components/inputs/File/FileUpload.js +45 -88
  102. package/dist/components/inputs/File/FileUploadContainer.js +7 -15
  103. package/dist/components/inputs/File/InputUpload.js +79 -317
  104. package/dist/components/inputs/File/shared/FileCard.js +41 -104
  105. package/dist/components/inputs/File/shared/FileCardList.js +12 -47
  106. package/dist/components/inputs/File/shared/FileUploadContent.js +44 -175
  107. package/dist/components/inputs/File/shared/FileUploadContentEmpty.js +46 -149
  108. package/dist/components/inputs/File/shared/FileUploadContentError.js +93 -234
  109. package/dist/components/inputs/File/shared/FileUploadContentFilled.js +97 -230
  110. package/dist/components/inputs/File/shared/FileUploadContentLoading.js +55 -199
  111. package/dist/components/inputs/File/shared/InputUploadContent.js +34 -148
  112. package/dist/components/inputs/File/shared/InputUploadFilled.js +8 -49
  113. package/dist/components/inputs/File/shared/ProgressBar.d.ts +2 -2
  114. package/dist/components/inputs/File/shared/ProgressBar.js +20 -53
  115. package/dist/components/inputs/File/shared/fileUpload.cva.d.ts +1 -1
  116. package/dist/components/inputs/File/shared/fileUpload.cva.js +1 -1
  117. package/dist/components/inputs/File/shared/progressBar.cva.d.ts +38 -0
  118. package/dist/components/inputs/File/shared/progressBar.cva.js +28 -0
  119. package/dist/components/inputs/FormField/FormField.d.ts +3 -3
  120. package/dist/components/inputs/FormField/FormField.js +37 -119
  121. package/dist/components/inputs/FormField/FormFieldError.js +5 -25
  122. package/dist/components/inputs/FormField/FormFieldHeader.d.ts +2 -2
  123. package/dist/components/inputs/FormField/FormFieldHeader.js +22 -81
  124. package/dist/components/inputs/FormField/FormFieldHeaderClose.js +7 -31
  125. package/dist/components/inputs/FormField/FormFieldHelper.js +6 -26
  126. package/dist/components/inputs/FormField/FormFieldLabel.d.ts +2 -2
  127. package/dist/components/inputs/FormField/FormFieldLabel.js +9 -40
  128. package/dist/components/inputs/Input/NumberInput/NumberInput.d.ts +2 -5
  129. package/dist/components/inputs/Input/NumberInput/NumberInput.js +97 -447
  130. package/dist/components/inputs/Input/PasswordInput/PasswordInput.js +9 -48
  131. package/dist/components/inputs/Input/TextArea/TextArea.js +90 -305
  132. package/dist/components/inputs/Input/TextInput/TextInput.d.ts +1 -3
  133. package/dist/components/inputs/Input/TextInput/TextInput.js +90 -419
  134. package/dist/components/inputs/Input/shared/InputContent.js +59 -192
  135. package/dist/components/inputs/Inputs/Form.js +11 -40
  136. package/dist/components/inputs/Inputs/InputItem.d.ts +21 -15
  137. package/dist/components/inputs/Inputs/InputItem.js +14 -69
  138. package/dist/components/inputs/Inputs/Inputs.js +11 -37
  139. package/dist/components/inputs/RadioGroup/RadioGroup.d.ts +1 -3
  140. package/dist/components/inputs/RadioGroup/RadioGroup.js +61 -353
  141. package/dist/components/inputs/RadioGroup/radio.cva.d.ts +0 -45
  142. package/dist/components/inputs/RadioGroup/radio.cva.js +1 -48
  143. package/dist/components/inputs/Selection/Autocomplete/Autocomplete.d.ts +2 -6
  144. package/dist/components/inputs/Selection/Autocomplete/Autocomplete.js +22 -217
  145. package/dist/components/inputs/Selection/Autocomplete/QueryAutocomplete.d.ts +18 -3
  146. package/dist/components/inputs/Selection/Autocomplete/QueryAutocomplete.js +8 -107
  147. package/dist/components/inputs/Selection/Select/Select.d.ts +3 -7
  148. package/dist/components/inputs/Selection/Select/Select.js +18 -227
  149. package/dist/components/inputs/Selection/shared/SelectBase.d.ts +3 -8
  150. package/dist/components/inputs/Selection/shared/SelectBase.js +18 -69
  151. package/dist/components/inputs/Selection/shared/SelectDesktop.d.ts +1 -1
  152. package/dist/components/inputs/Selection/shared/SelectDesktop.js +138 -393
  153. package/dist/components/inputs/Selection/shared/SelectInput.d.ts +2 -2
  154. package/dist/components/inputs/Selection/shared/SelectInput.js +116 -397
  155. package/dist/components/inputs/Selection/shared/SelectInputTags.js +25 -99
  156. package/dist/components/inputs/Selection/shared/SelectListBox.d.ts +2 -2
  157. package/dist/components/inputs/Selection/shared/SelectListBox.js +52 -164
  158. package/dist/components/inputs/Selection/shared/SelectListBoxItem.js +35 -85
  159. package/dist/components/inputs/Selection/shared/SelectListBoxItemSelectAll.js +16 -69
  160. package/dist/components/inputs/Selection/shared/SelectListBoxLoadingItem.js +21 -70
  161. package/dist/components/inputs/Selection/shared/SelectListBoxSelectionBar.js +9 -58
  162. package/dist/components/inputs/Selection/shared/SelectMobile.d.ts +1 -1
  163. package/dist/components/inputs/Selection/shared/SelectMobile.js +6 -11
  164. package/dist/components/inputs/Selection/shared/select.context.d.ts +2 -3
  165. package/dist/components/inputs/Selection/shared/select.context.js +36 -67
  166. package/dist/components/inputs/Selection/shared/select.types.d.ts +2 -3
  167. package/dist/components/inputs/Selection/shared/useSelectItems.js +49 -109
  168. package/dist/components/inputs/Slider/Slider.d.ts +1 -2
  169. package/dist/components/inputs/Slider/Slider.js +76 -265
  170. package/dist/components/inputs/TextEditor/TextEditor.d.ts +0 -1
  171. package/dist/components/inputs/TextEditor/TextEditor.js +98 -447
  172. package/dist/components/inputs/TextEditor/Toolbar/ColorPicker.js +11 -37
  173. package/dist/components/inputs/TextEditor/Toolbar/ColorPickerDropdown.js +30 -102
  174. package/dist/components/inputs/TextEditor/Toolbar/HyperlinkAction.js +45 -194
  175. package/dist/components/inputs/TextEditor/Toolbar/TextAlignSelect.js +28 -88
  176. package/dist/components/inputs/TextEditor/Toolbar/TextColorSelect.js +14 -48
  177. package/dist/components/inputs/TextEditor/Toolbar/TextEditorToolbar.js +19 -66
  178. package/dist/components/inputs/TextEditor/Toolbar/TextHighlightSelect.js +15 -49
  179. package/dist/components/inputs/TextEditor/Toolbar/TextListActions.js +32 -92
  180. package/dist/components/inputs/TextEditor/Toolbar/TextMarksActions.js +54 -126
  181. package/dist/components/inputs/TextEditor/Toolbar/TextStyleSelect.js +38 -141
  182. package/dist/components/inputs/Toggle/Toggle.d.ts +0 -1
  183. package/dist/components/inputs/Toggle/Toggle.js +37 -214
  184. package/dist/components/inputs/Toggle/toggle.cva.d.ts +0 -3
  185. package/dist/components/inputs/Toggle/toggle.cva.js +1 -2
  186. package/dist/components/inputs/shared/CheckContent.d.ts +1 -2
  187. package/dist/components/inputs/shared/CheckContent.js +11 -21
  188. package/dist/components/inputs/shared/InputClear.d.ts +1 -2
  189. package/dist/components/inputs/shared/InputClear.js +12 -88
  190. package/dist/components/inputs/shared/TooltipWrapper.js +11 -50
  191. package/dist/components/inputs/shared/input.cva.d.ts +0 -28
  192. package/dist/components/inputs/shared/input.cva.js +4 -38
  193. package/dist/components/navigation/Accordion/Accordion.js +22 -69
  194. package/dist/components/navigation/Accordion/AccordionItem.js +41 -86
  195. package/dist/components/navigation/Stepper/Stepper.js +22 -67
  196. package/dist/components/navigation/Stepper/StepperItem.js +31 -104
  197. package/dist/components/navigation/Stepper/StepperSeparator.js +5 -23
  198. package/dist/components/overlays/ActionModal/ActionModal.js +35 -169
  199. package/dist/components/overlays/BottomSheet/BottomSheet.js +25 -98
  200. package/dist/components/overlays/BottomSheet/BottomSheetHeader.js +8 -48
  201. package/dist/components/overlays/Drawer/Drawer.js +22 -64
  202. package/dist/components/overlays/Modal/modal.cva.js +1 -1
  203. package/dist/components/overlays/ResponsivePopover/ResponsivePopover.d.ts +5 -1
  204. package/dist/components/overlays/ResponsivePopover/ResponsivePopover.js +28 -83
  205. package/dist/components/overlays/Tooltip/Tooltip.js +28 -137
  206. package/dist/components/overlays/Tooltip/TooltipEllipsis.js +12 -37
  207. package/dist/components/segment/Segment.js +57 -218
  208. package/dist/components/segment/SegmentItem.js +10 -67
  209. package/dist/components/shared/pagination/Pagination.js +22 -108
  210. package/dist/components/shared/pagination/PaginationList.js +64 -167
  211. package/dist/components/status/Alert/Alert.js +30 -97
  212. package/dist/components/status/Loader/Loader.js +22 -77
  213. package/dist/components/status/Toast/Toast.js +17 -22
  214. package/dist/components/status/Toast/toast.cva.d.ts +14 -3
  215. package/dist/components/status/Toast/toast.cva.js +12 -10
  216. package/dist/components/status/Toast/useToast.js +57 -62
  217. package/dist/components/table/ColumnConfig.js +54 -158
  218. package/dist/components/table/InfiniteTable.js +16 -67
  219. package/dist/components/table/PaginatedTable.js +18 -84
  220. package/dist/components/table/Table.js +30 -30
  221. package/dist/components/table/table.cva.d.ts +7 -0
  222. package/dist/components/table/table.cva.js +2 -1
  223. package/dist/components/text/Link/Link.js +7 -19
  224. package/dist/components/text/Pill/Pill.d.ts +15 -0
  225. package/dist/components/text/Pill/Pill.js +44 -0
  226. package/dist/components/text/Typography/Typography.js +8 -23
  227. package/dist/config/confirmation.context.js +1 -1
  228. package/dist/config/link.context.js +9 -23
  229. package/dist/config/router.context.js +16 -42
  230. package/dist/config/theme.context.js +45 -98
  231. package/dist/config/uiConfig.context.d.ts +10 -21
  232. package/dist/config/uiConfig.context.js +18 -69
  233. package/dist/config/uiOverrides.context.d.ts +10 -20
  234. package/dist/config/uiOverrides.context.js +14 -54
  235. package/dist/helpers/dynamicInputs.d.ts +5 -5
  236. package/dist/helpers/dynamicInputs.js +0 -3
  237. package/dist/hooks/useAutosave.d.ts +1 -2
  238. package/dist/hooks/useAutosave.js +4 -12
  239. package/dist/hooks/useBreakpoint.js +3 -16
  240. package/dist/hooks/useDebounceCallback.js +17 -51
  241. package/dist/hooks/useFilters.js +64 -125
  242. package/dist/hooks/useForm.js +8 -42
  243. package/dist/hooks/useFormAutosave.d.ts +1 -3
  244. package/dist/hooks/useFormAutosave.js +30 -122
  245. package/dist/hooks/useIntersectionObserver.d.ts +1 -1
  246. package/dist/hooks/useIntersectionObserver.js +24 -91
  247. package/dist/hooks/useLocalStorage.js +10 -43
  248. package/dist/hooks/useLongPressRepeat.js +20 -55
  249. package/dist/hooks/usePagination.js +19 -49
  250. package/dist/hooks/useScrollableListBox.js +16 -37
  251. package/dist/hooks/useSorting.js +28 -69
  252. package/dist/hooks/useStateAndRef.js +7 -21
  253. package/dist/hooks/useTableColumnConfig.js +31 -124
  254. package/dist/hooks/useTranslationMemo.js +5 -25
  255. package/dist/index.d.ts +7 -16
  256. package/dist/index.js +6 -13
  257. package/dist/tw-ui-plugin.js +0 -6
  258. package/dist/utils/date-time.utils.d.ts +10 -38
  259. package/dist/utils/date-time.utils.js +22 -136
  260. package/package.json +1 -1
  261. package/dist/components/inputs/DateTime/shared/datePicker.types.d.ts +0 -5
  262. package/dist/components/inputs/DateTime/shared/datePickerInput.cva.d.ts +0 -16
  263. package/dist/components/inputs/DateTime/shared/datePickerInput.cva.js +0 -16
  264. package/dist/components/inputs/DateTime/shared/datePickerTodayIcon.d.ts +0 -15
  265. package/dist/components/inputs/DateTime/shared/datePickerTodayIcon.js +0 -32
  266. package/dist/components/inputs/DateTime/shared/dateSegment.utils.d.ts +0 -2
  267. package/dist/components/inputs/DateTime/shared/dateSegment.utils.spec.d.ts +0 -1
  268. package/dist/components/inputs/DateTime/shared/staticDateTimeSegments.d.ts +0 -40
  269. package/dist/components/inputs/DateTime/shared/staticDateTimeSegments.js +0 -85
  270. package/dist/components/inputs/DateTime/shared/staticDateTimeSegments.spec.d.ts +0 -1
  271. package/dist/components/inputs/FormField/formFieldHeader.cva.d.ts +0 -13
  272. package/dist/components/inputs/FormField/formFieldHeader.cva.js +0 -14
  273. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeField.d.ts +0 -45
  274. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeField.js +0 -571
  275. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeInput.d.ts +0 -35
  276. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeInput.js +0 -575
  277. package/dist/components/inputs/Input/TextArea/TextArea.cva.d.ts +0 -8
  278. package/dist/components/inputs/Input/TextArea/TextArea.cva.js +0 -5
  279. package/dist/components/inputs/Input/shared/numberStatic.utils.d.ts +0 -1
  280. package/dist/components/inputs/Input/shared/numberStatic.utils.js +0 -7
  281. package/dist/components/inputs/Selection/Autocomplete/queryAutocomplete.types.d.ts +0 -37
  282. package/dist/components/inputs/Selection/Select/QuerySelect.d.ts +0 -14
  283. package/dist/components/inputs/Selection/Select/QuerySelect.js +0 -178
  284. package/dist/components/inputs/Selection/shared/StaticSelectTrailingContent.d.ts +0 -9
  285. package/dist/components/inputs/Selection/shared/StaticSelectTrailingContent.js +0 -47
  286. package/dist/components/inputs/Selection/shared/querySelect.utils.d.ts +0 -14
  287. package/dist/components/inputs/Selection/shared/querySelect.utils.js +0 -43
  288. package/dist/components/inputs/Selection/shared/selectDesktop.cva.d.ts +0 -6
  289. package/dist/components/inputs/Selection/shared/selectDesktop.cva.js +0 -5
  290. package/dist/components/inputs/Selection/shared/selectInput.cva.d.ts +0 -12
  291. package/dist/components/inputs/Selection/shared/selectInput.cva.js +0 -8
  292. package/dist/components/inputs/Selection/shared/staticSelect.utils.d.ts +0 -23
  293. package/dist/components/inputs/Selection/shared/staticSelect.utils.js +0 -54
  294. package/dist/components/inputs/Selection/shared/staticSelect.utils.spec.d.ts +0 -1
  295. package/dist/components/inputs/Skeleton/InputFrame.d.ts +0 -82
  296. package/dist/components/inputs/Skeleton/InputFrame.js +0 -548
  297. package/dist/components/inputs/shared/tooltipWrapper.cva.d.ts +0 -8
  298. package/dist/components/inputs/shared/tooltipWrapper.cva.js +0 -5
  299. package/dist/components/inputs/shared/useStaticInputHandoff.d.ts +0 -14
  300. package/dist/components/inputs/shared/useStaticInputHandoff.js +0 -100
  301. package/dist/hooks/useAutosave.spec.d.ts +0 -1
  302. package/dist/hooks/useFormAutosave.spec.d.ts +0 -1
  303. package/dist/hooks/useKeyInteractions.d.ts +0 -20
  304. package/dist/hooks/useKeyInteractions.js +0 -54
  305. package/dist/hooks/useKeyInteractions.spec.d.ts +0 -1
  306. package/dist/hooks/useQueryAutocomplete.d.ts +0 -14
  307. package/dist/hooks/useQueryAutocomplete.js +0 -72
  308. package/dist/utils/query.utils.d.ts +0 -4
  309. package/dist/utils/query.utils.js +0 -8
@@ -1,76 +1,27 @@
1
1
  import "../../../../config/i18n.js";
2
2
  import { TextButton } from "../../../buttons/TextButton/TextButton.js";
3
3
  import { SelectContext } from "./select.context.js";
4
- import { c } from "react/compiler-runtime";
5
4
  import { jsx, jsxs } from "react/jsx-runtime";
6
5
  import { clsx } from "clsx";
7
6
  import { useTranslation } from "react-i18next";
8
7
  //#region src/components/inputs/Selection/shared/SelectListBoxSelectionBar.tsx
9
- var SelectListBoxSelectionBar = (t0) => {
10
- const $ = c(16);
11
- const { className } = t0;
8
+ var SelectListBoxSelectionBar = ({ className }) => {
12
9
  const { t } = useTranslation("ui");
13
10
  const { onClear, onSelectAll } = SelectContext.useSelect();
14
- let t1;
15
- if ($[0] !== className) {
16
- t1 = clsx("flex items-center justify-between border-elevation-outline-default-1 border-b px-4 py-3", className);
17
- $[0] = className;
18
- $[1] = t1;
19
- } else t1 = $[1];
20
- let t2;
21
- if ($[2] !== t) {
22
- t2 = t(_temp);
23
- $[2] = t;
24
- $[3] = t2;
25
- } else t2 = $[3];
26
- let t3;
27
- if ($[4] !== onSelectAll || $[5] !== t2) {
28
- t3 = /* @__PURE__ */ jsx(TextButton, {
11
+ return /* @__PURE__ */ jsxs("div", {
12
+ className: clsx("flex items-center justify-between border-elevation-outline-default-1 border-b px-4 py-3", className),
13
+ children: [/* @__PURE__ */ jsx(TextButton, {
29
14
  type: "button",
30
15
  color: "primary",
31
16
  onPress: onSelectAll,
32
- children: t2
33
- });
34
- $[4] = onSelectAll;
35
- $[5] = t2;
36
- $[6] = t3;
37
- } else t3 = $[6];
38
- let t4;
39
- if ($[7] !== t) {
40
- t4 = t(_temp2);
41
- $[7] = t;
42
- $[8] = t4;
43
- } else t4 = $[8];
44
- let t5;
45
- if ($[9] !== onClear || $[10] !== t4) {
46
- t5 = /* @__PURE__ */ jsx(TextButton, {
17
+ children: t(($) => $.ui.select.selectAll)
18
+ }), /* @__PURE__ */ jsx(TextButton, {
47
19
  type: "button",
48
20
  color: "secondary",
49
21
  onPress: onClear,
50
- children: t4
51
- });
52
- $[9] = onClear;
53
- $[10] = t4;
54
- $[11] = t5;
55
- } else t5 = $[11];
56
- let t6;
57
- if ($[12] !== t1 || $[13] !== t3 || $[14] !== t5) {
58
- t6 = /* @__PURE__ */ jsxs("div", {
59
- className: t1,
60
- children: [t3, t5]
61
- });
62
- $[12] = t1;
63
- $[13] = t3;
64
- $[14] = t5;
65
- $[15] = t6;
66
- } else t6 = $[15];
67
- return t6;
22
+ children: t(($) => $.ui.select.clearSelection)
23
+ })]
24
+ });
68
25
  };
69
- function _temp($) {
70
- return $.ui.select.selectAll;
71
- }
72
- function _temp2($_0) {
73
- return $_0.ui.select.clearSelection;
74
- }
75
26
  //#endregion
76
27
  export { SelectListBoxSelectionBar };
@@ -1,5 +1,5 @@
1
1
  import { Key } from 'react-aria-components';
2
2
  import { SelectBaseProps } from './SelectBase';
3
3
  type SelectMobileProps<TKey extends Key = Key> = SelectBaseProps<TKey>;
4
- export declare const SelectMobile: <TKey extends Key = Key>({ ref, error, showSelectionContent, inputClassName, containerClassName, leadingContent, trailingContent, customTrigger, onBlur, onMouseEnter, onFocusCapture, ...props }: SelectMobileProps<TKey>) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const SelectMobile: <TKey extends Key = Key>({ ref, error, showSelectionContent, inputClassName, containerClassName, customTrigger, onBlur, bottomSheetProps, ...props }: SelectMobileProps<TKey>) => import("react/jsx-runtime").JSX.Element;
5
5
  export {};
@@ -13,8 +13,8 @@ import { useRef } from "react";
13
13
  import { DialogTrigger } from "react-aria-components";
14
14
  import { useLabel } from "react-aria";
15
15
  //#region src/components/inputs/Selection/shared/SelectMobile.tsx
16
- var SelectMobile = ({ ref, error, showSelectionContent, inputClassName, containerClassName, leadingContent, trailingContent, customTrigger, onBlur, onMouseEnter, onFocusCapture, ...props }) => {
17
- const { label, tooltipText, helperText, isDirty, isRequired, rightContent, isHeaderHidden, headerClassName, errorClassName, placeholder, variant, isDisabled, className, hideLabel, hideDropdownIcon, hideSearchIcon, isSearchable, isClearable, as, size, collapseAfter, selectedTagsType } = props;
16
+ var SelectMobile = ({ ref, error, showSelectionContent, inputClassName, containerClassName, customTrigger, onBlur, bottomSheetProps, ...props }) => {
17
+ const { label, tooltipText, helperText, isRequired, rightContent, isHeaderHidden, headerClassName, errorClassName, placeholder, variant, isDisabled, className, hideLabel, hideDropdownIcon, hideSearchIcon, isSearchable, isClearable, as, size, collapseAfter, selectedTagsType } = props;
18
18
  const formFieldProps = {
19
19
  error,
20
20
  label,
@@ -57,8 +57,6 @@ var SelectMobile = ({ ref, error, showSelectionContent, inputClassName, containe
57
57
  as,
58
58
  labelProps,
59
59
  className: clsx("group w-full", containerClassName),
60
- onMouseEnter,
61
- onFocusCapture,
62
60
  children: /* @__PURE__ */ jsxs(DialogTrigger, {
63
61
  ...dialogTriggerProps,
64
62
  children: [customTrigger ? /* @__PURE__ */ jsx("div", {
@@ -81,13 +79,12 @@ var SelectMobile = ({ ref, error, showSelectionContent, inputClassName, containe
81
79
  onBlur: void 0,
82
80
  fieldProps,
83
81
  headerProps,
84
- leadingContent,
85
- trailingContent,
86
82
  collapseAfter,
87
- selectedTagsType,
88
- isRequired,
89
- isDirty
83
+ selectedTagsType
90
84
  }), /* @__PURE__ */ jsx(BottomSheet, {
85
+ isDismissable: true,
86
+ hideHeader: isSearchable,
87
+ ...bottomSheetProps,
91
88
  isOpen,
92
89
  onOpenChange: handleOpenChange,
93
90
  onStateChange: (state) => {
@@ -95,8 +92,6 @@ var SelectMobile = ({ ref, error, showSelectionContent, inputClassName, containe
95
92
  },
96
93
  label,
97
94
  footer: isMultiple && /* @__PURE__ */ jsx(SelectListBoxSelectionBar, {}),
98
- isDismissable: true,
99
- hideHeader: isSearchable,
100
95
  children: (close) => /* @__PURE__ */ jsxs("div", {
101
96
  className: "flex max-h-full flex-col overflow-hidden",
102
97
  children: [isSearchable && /* @__PURE__ */ jsx(TextInput, {
@@ -17,15 +17,14 @@ export declare namespace SelectContext {
17
17
  onClear: () => void;
18
18
  onSelectAll: () => void;
19
19
  onRemove: (val: Key) => void;
20
- onBlur: () => void;
21
20
  listItems: ExtendedSelectItem[];
22
21
  selectableListItems: SelectItem[];
23
22
  selectedItems: SelectItem[];
24
23
  selectedIds: Key[];
25
24
  isMultiple: boolean;
26
25
  } & Pick<SelectBaseProps, "onInputChange" | "isLoading" | "hasLoadMore">;
27
- export type ProviderProps = GroupedSelectProps & Pick<SelectBaseProps, "items" | "onInputChange" | "onSearchChange" | "showSelectAllOption" | "showNewItemOption" | "newItemMinLength" | "onNewItemOption" | "isLoading" | "hasLoadMore" | "mapInitialToSelectItem" | "isSearchable" | "isClientSearchDisabled" | "ignoreInputValueFiltering" | "fireBlurOnChange" | "onBlur">;
28
- export const Provider: ({ items, onInputChange, onSearchChange, showSelectAllOption, showNewItemOption, newItemMinLength, onNewItemOption, isLoading, hasLoadMore, isClientSearchDisabled, ignoreInputValueFiltering, fireBlurOnChange, onBlur: fieldOnBlur, children, mapInitialToSelectItem, ...props }: PropsWithChildren<ProviderProps>) => import("react/jsx-runtime").JSX.Element;
26
+ export type ProviderProps = GroupedSelectProps & Pick<SelectBaseProps, "items" | "onInputChange" | "onSearchChange" | "showSelectAllOption" | "showNewItemOption" | "newItemMinLength" | "onNewItemOption" | "isLoading" | "hasLoadMore" | "mapInitialToSelectItem" | "isSearchable" | "isClientSearchDisabled">;
27
+ export const Provider: ({ items, onInputChange, onSearchChange, showSelectAllOption, showNewItemOption, newItemMinLength, onNewItemOption, isLoading, hasLoadMore, isClientSearchDisabled, children, mapInitialToSelectItem, ...props }: PropsWithChildren<ProviderProps>) => import("react/jsx-runtime").JSX.Element;
29
28
  export const useSelect: () => Type;
30
29
  export {};
31
30
  }
@@ -1,5 +1,5 @@
1
- import { useDebounceCallback } from "../../../../hooks/useDebounceCallback.js";
2
1
  import { useSelectItems } from "./useSelectItems.js";
2
+ import { useDebounceCallback } from "../../../../hooks/useDebounceCallback.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from "react";
5
5
  //#region src/components/inputs/Selection/shared/select.context.tsx
@@ -10,7 +10,7 @@ var SelectContext;
10
10
  id: item.id,
11
11
  label: item.label ?? item.name ?? ""
12
12
  });
13
- _SelectContext.Provider = ({ items, onInputChange, onSearchChange, showSelectAllOption, showNewItemOption, newItemMinLength, onNewItemOption, isLoading, hasLoadMore, isClientSearchDisabled, ignoreInputValueFiltering, fireBlurOnChange, onBlur: fieldOnBlur, children, mapInitialToSelectItem = defaultMapInitialToSelectItem, ...props }) => {
13
+ _SelectContext.Provider = ({ items, onInputChange, onSearchChange, showSelectAllOption, showNewItemOption, newItemMinLength, onNewItemOption, isLoading, hasLoadMore, isClientSearchDisabled, children, mapInitialToSelectItem = defaultMapInitialToSelectItem, ...props }) => {
14
14
  const isMultiple = props.selectionMode === "multiple";
15
15
  const initialSelectedItems = useMemo(() => {
16
16
  if (!props.initialSelection) return null;
@@ -42,31 +42,24 @@ var SelectContext;
42
42
  newItemMinLength,
43
43
  isLoading,
44
44
  hasLoadMore,
45
- isClientSearchDisabled: ignoreInputValueFiltering ?? isClientSearchDisabled
45
+ isClientSearchDisabled
46
46
  });
47
- const selectedItems = useMemo(() => {
48
- const getItem = (id) => allItems.find((item) => item.id === id) ?? null;
49
- if (Array.isArray(fieldState.value)) return fieldState.value.map((id_0) => getItem(id_0)).filter((item_0) => item_0 !== null);
50
- const selectedItem = fieldState.value != null ? getItem(fieldState.value) : null;
51
- return selectedItem ? [selectedItem] : [];
52
- }, [allItems, fieldState.value]);
53
- const selectedIds = useMemo(() => selectedItems.map(({ id: id_1 }) => id_1), [selectedItems]);
54
- const getItem_0 = useCallback((value) => allItems.find((item_1) => item_1 && item_1.id === value) ?? null, [allItems]);
55
- const updateValue = useCallback((value_0) => {
56
- if (Array.isArray(value_0)) valueRef.current = value_0.map((id_2) => getItem_0(id_2)).filter((item_2) => item_2 !== null);
57
- else valueRef.current = getItem_0(value_0);
58
- }, [getItem_0]);
59
- const getValueIds = () => Array.isArray(valueRef.current) ? valueRef.current.map(({ id: id_3 }) => id_3) : valueRef.current?.id ?? null;
47
+ const selectedItems = useMemo(() => allItems.filter(({ id }) => Array.isArray(fieldState.value) ? fieldState.value.includes(id) : id === fieldState.value), [allItems, fieldState.value]);
48
+ const selectedIds = useMemo(() => selectedItems.map(({ id }) => id), [selectedItems]);
49
+ const getItem = useCallback((value) => allItems.find((item) => item && item.id === value) ?? null, [allItems]);
50
+ const updateValue = useCallback((value) => {
51
+ if (Array.isArray(value)) valueRef.current = value.map((id) => getItem(id)).filter((item) => item !== null);
52
+ else valueRef.current = getItem(value);
53
+ }, [getItem]);
54
+ const getValueIds = () => Array.isArray(valueRef.current) ? valueRef.current.map(({ id }) => id) : valueRef.current?.id ?? null;
60
55
  const emitStateChanges = useCallback((changes, skipSelectionChange) => {
61
- const valueChanged = JSON.stringify(changes.value) !== JSON.stringify(getValueIds());
62
- if (valueChanged) {
56
+ if (JSON.stringify(changes.value) !== JSON.stringify(getValueIds())) {
63
57
  updateValue(changes.value);
64
58
  if (!skipSelectionChange) if (isMultiple) props.onChange?.(changes.value);
65
59
  else props.onChange?.(changes.value);
66
60
  }
67
61
  if (changes.inputValue !== fieldState.inputValue) onInputChange?.(changes.inputValue);
68
62
  if (changes.searchValue !== fieldState.searchValue) onSearchChangeDebounced?.(changes.searchValue);
69
- return valueChanged;
70
63
  }, [
71
64
  fieldState,
72
65
  isMultiple,
@@ -75,13 +68,10 @@ var SelectContext;
75
68
  onSearchChangeDebounced,
76
69
  updateValue
77
70
  ]);
78
- const triggerBlurOnChange = useCallback(() => {
79
- if (fireBlurOnChange) fieldOnBlur?.({});
80
- }, [fireBlurOnChange, fieldOnBlur]);
81
- const syncFieldState = (value_1) => {
71
+ const syncFieldState = (value) => {
82
72
  const newFieldState = {
83
- value: value_1,
84
- inputValue: isMultiple || Array.isArray(value_1) ? fieldState.inputValue : getItem_0(value_1)?.label ?? "",
73
+ value,
74
+ inputValue: isMultiple || Array.isArray(value) ? fieldState.inputValue : getItem(value)?.label ?? "",
85
75
  searchValue: ""
86
76
  };
87
77
  setFieldState(newFieldState);
@@ -89,21 +79,21 @@ var SelectContext;
89
79
  if (!isMultiple) setShowAll(true);
90
80
  };
91
81
  useEffect(() => {
92
- const value_2 = props.value ?? null;
93
- if (JSON.stringify(value_2) !== JSON.stringify(fieldState.value)) syncFieldState(value_2);
94
- else updateValue(value_2);
82
+ const value = props.value ?? null;
83
+ if (JSON.stringify(value) !== JSON.stringify(fieldState.value)) syncFieldState(value);
84
+ else updateValue(value);
95
85
  }, [props.value]);
96
86
  useEffect(() => {
97
- if (!isMultiple && props.value !== null && props.value !== void 0 && fieldState.value !== null && fieldState.value !== void 0 && fieldState.inputValue === "" && getItem_0(fieldState.value)?.label) syncFieldState(fieldState.value);
87
+ if (!isMultiple && fieldState.value && fieldState.inputValue === "" && getItem(fieldState.value)?.label) syncFieldState(fieldState.value);
98
88
  }, [allListItems]);
99
89
  const handleInputChange = useCallback((inputValue) => {
100
- const newFieldState_0 = {
90
+ const newFieldState = {
101
91
  value: isMultiple || inputValue !== "" ? fieldState.value : null,
102
92
  inputValue,
103
93
  searchValue: inputValue
104
94
  };
105
- setFieldState(newFieldState_0);
106
- emitStateChanges(newFieldState_0);
95
+ setFieldState(newFieldState);
96
+ emitStateChanges(newFieldState);
107
97
  setShowAll(false);
108
98
  if (!isOpen && inputValue !== "" && props.isSearchable) setIsOpen(true);
109
99
  }, [
@@ -111,16 +101,16 @@ var SelectContext;
111
101
  fieldState.value,
112
102
  isMultiple
113
103
  ]);
114
- const onChange = useCallback((value_3) => {
115
- if (value_3 === "new-item-id") onNewItemOption?.(fieldState.inputValue);
104
+ const onChange = useCallback((value) => {
105
+ if (value === "new-item-id") onNewItemOption?.(fieldState.inputValue);
116
106
  else {
117
- const newFieldState_1 = {
118
- value: value_3,
119
- inputValue: isMultiple || Array.isArray(value_3) ? "" : getItem_0(value_3)?.label ?? "",
107
+ const newFieldState = {
108
+ value,
109
+ inputValue: isMultiple || Array.isArray(value) ? "" : getItem(value)?.label ?? "",
120
110
  searchValue: ""
121
111
  };
122
- setFieldState(newFieldState_1);
123
- if (emitStateChanges(newFieldState_1)) triggerBlurOnChange();
112
+ setFieldState(newFieldState);
113
+ emitStateChanges(newFieldState);
124
114
  }
125
115
  if (!isMultiple) {
126
116
  setIsOpen(false);
@@ -130,9 +120,8 @@ var SelectContext;
130
120
  emitStateChanges,
131
121
  onNewItemOption,
132
122
  fieldState.inputValue,
133
- getItem_0,
134
- isMultiple,
135
- triggerBlurOnChange
123
+ getItem,
124
+ isMultiple
136
125
  ]);
137
126
  const onClear = useCallback(() => {
138
127
  if (!valueRef.current || Array.isArray(valueRef.current) && valueRef.current.length === 0) {
@@ -146,34 +135,16 @@ var SelectContext;
146
135
  else onChange(null);
147
136
  }, [isMultiple, onChange]);
148
137
  const onSelectAll = useCallback(() => {
149
- onChange(selectableListItems.map(({ id: id_4 }) => id_4));
138
+ onChange(selectableListItems.map(({ id }) => id));
150
139
  }, [selectableListItems, onChange]);
151
- const onRemove = useCallback((value_4) => {
152
- if (isMultiple && Array.isArray(fieldState.value)) onChange(fieldState.value.filter((id_5) => id_5 !== value_4));
140
+ const onRemove = useCallback((value) => {
141
+ if (isMultiple && Array.isArray(fieldState.value)) onChange(fieldState.value.filter((id) => id !== value));
153
142
  }, [
154
143
  isMultiple,
155
144
  fieldState.value,
156
145
  onChange
157
146
  ]);
158
- const onBlur = useCallback(() => {
159
- if (props.isSearchable && isMultiple && fieldState.searchValue !== "") {
160
- const newFieldState_2 = {
161
- ...fieldState,
162
- inputValue: "",
163
- searchValue: ""
164
- };
165
- setFieldState(newFieldState_2);
166
- emitStateChanges(newFieldState_2);
167
- setShowAll(true);
168
- }
169
- fieldOnBlur?.({});
170
- }, [
171
- props.isSearchable,
172
- isMultiple,
173
- fieldState,
174
- fieldOnBlur
175
- ]);
176
- const value_5 = useMemo(() => ({
147
+ const value = useMemo(() => ({
177
148
  fieldState,
178
149
  isOpen,
179
150
  setIsOpen,
@@ -183,7 +154,6 @@ var SelectContext;
183
154
  onClear,
184
155
  onSelectAll,
185
156
  onRemove,
186
- onBlur,
187
157
  listItems,
188
158
  selectableListItems,
189
159
  selectedItems,
@@ -201,7 +171,6 @@ var SelectContext;
201
171
  onClear,
202
172
  onSelectAll,
203
173
  onRemove,
204
- onBlur,
205
174
  listItems,
206
175
  selectableListItems,
207
176
  selectedIds,
@@ -211,7 +180,7 @@ var SelectContext;
211
180
  hasLoadMore
212
181
  ]);
213
182
  return /* @__PURE__ */ jsx(Context.Provider, {
214
- value: value_5,
183
+ value,
215
184
  children
216
185
  });
217
186
  };
@@ -1,11 +1,11 @@
1
- import { ReactElement, ReactNode } from 'react';
1
+ import { ReactElement } from 'react';
2
2
  import { Key } from 'react-aria-components';
3
3
  import { FieldValues } from 'react-hook-form';
4
4
  import { ControlProps } from '../../shared/form.types';
5
5
  export interface SelectItem<TKey extends Key = Key> {
6
6
  id: TKey;
7
7
  label: string;
8
- content?: string | ReactNode;
8
+ content?: string | ReactElement;
9
9
  isDisabled?: boolean;
10
10
  }
11
11
  export interface ExtendedSelectItem<TKey extends Key = Key> extends SelectItem<TKey> {
@@ -54,7 +54,6 @@ export interface SelectAsyncProps {
54
54
  onLoadMore?: () => void;
55
55
  }
56
56
  export interface SelectVirtualizationProps {
57
- totalItems?: number;
58
57
  virtualizerOptions?: {
59
58
  rowHeight?: number;
60
59
  estimatedRowHeight?: number;
@@ -1,4 +1,4 @@
1
- import { c } from "react/compiler-runtime";
1
+ import { useMemo } from "react";
2
2
  import { useFilter } from "react-aria-components";
3
3
  //#region src/components/inputs/Selection/shared/useSelectItems.tsx
4
4
  var SelectAllItemId = "all-item-id";
@@ -24,121 +24,61 @@ var ReservedItemIds = [
24
24
  NewItemId,
25
25
  LoadingItemId
26
26
  ];
27
- function useSelectItems(t0) {
28
- const $ = c(37);
29
- const { initialSelectedItems, selectedItems, cachedItems, inputValue, showAll, isMultiple, showSelectAllOption, showNewItemOption, newItemMinLength: t1, isLoading, hasLoadMore, isClientSearchDisabled } = t0;
30
- const newItemMinLength = t1 === void 0 ? 3 : t1;
31
- let t2;
32
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
33
- t2 = { sensitivity: "base" };
34
- $[0] = t2;
35
- } else t2 = $[0];
36
- const { contains } = useFilter(t2);
37
- const showSelectAllItem = isMultiple && showSelectAllOption && inputValue.length === 0 && !hasLoadMore;
38
- let t3;
39
- if ($[1] !== cachedItems || $[2] !== contains || $[3] !== inputValue || $[4] !== newItemMinLength || $[5] !== showNewItemOption) {
40
- t3 = showNewItemOption && inputValue.length >= newItemMinLength && !cachedItems.find((item) => contains(item.label, inputValue));
41
- $[1] = cachedItems;
42
- $[2] = contains;
43
- $[3] = inputValue;
44
- $[4] = newItemMinLength;
45
- $[5] = showNewItemOption;
46
- $[6] = t3;
47
- } else t3 = $[6];
48
- const showNewItem = t3;
49
- const showLoadingItem = isLoading || hasLoadMore;
50
- let t4;
51
- if ($[7] !== inputValue || $[8] !== showSelectAllItem) {
52
- t4 = showSelectAllItem ? [SelectAllItem(inputValue)] : [];
53
- $[7] = inputValue;
54
- $[8] = showSelectAllItem;
55
- $[9] = t4;
56
- } else t4 = $[9];
57
- let t5;
58
- if ($[10] !== inputValue || $[11] !== showNewItem) {
59
- t5 = showNewItem ? [NewItem(inputValue)] : [];
60
- $[10] = inputValue;
61
- $[11] = showNewItem;
62
- $[12] = t5;
63
- } else t5 = $[12];
64
- let t6;
65
- if ($[13] !== inputValue || $[14] !== showLoadingItem) {
66
- t6 = showLoadingItem ? [LoadingItem(inputValue)] : [];
67
- $[13] = inputValue;
68
- $[14] = showLoadingItem;
69
- $[15] = t6;
70
- } else t6 = $[15];
71
- let t7;
72
- if ($[16] !== cachedItems || $[17] !== t4 || $[18] !== t5 || $[19] !== t6) {
73
- t7 = [
74
- ...t4,
27
+ function useSelectItems({ initialSelectedItems, selectedItems, cachedItems, inputValue, showAll, isMultiple, showSelectAllOption, showNewItemOption, newItemMinLength = 3, isLoading, hasLoadMore, isClientSearchDisabled }) {
28
+ const { contains } = useFilter({ sensitivity: "base" });
29
+ const allListItems = useMemo(() => {
30
+ const showSelectAllItem = isMultiple && showSelectAllOption && inputValue.length === 0 && !hasLoadMore;
31
+ const showNewItem = showNewItemOption && inputValue.length >= newItemMinLength && !cachedItems.find((item) => contains(item.label, inputValue));
32
+ const showLoadingItem = isLoading || hasLoadMore;
33
+ return [
34
+ ...showSelectAllItem ? [SelectAllItem(inputValue)] : [],
75
35
  ...cachedItems,
76
- ...t5,
77
- ...t6
36
+ ...showNewItem ? [NewItem(inputValue)] : [],
37
+ ...showLoadingItem ? [LoadingItem(inputValue)] : []
78
38
  ];
79
- $[16] = cachedItems;
80
- $[17] = t4;
81
- $[18] = t5;
82
- $[19] = t6;
83
- $[20] = t7;
84
- } else t7 = $[20];
85
- const allListItems = t7;
86
- let t8;
87
- if ($[21] !== allListItems || $[22] !== initialSelectedItems || $[23] !== selectedItems) {
39
+ }, [
40
+ isMultiple,
41
+ showNewItemOption,
42
+ inputValue,
43
+ newItemMinLength,
44
+ cachedItems,
45
+ contains,
46
+ isLoading,
47
+ hasLoadMore,
48
+ showSelectAllOption
49
+ ]);
50
+ const allItems = useMemo(() => {
88
51
  const items = [
89
52
  ...Array.isArray(initialSelectedItems) ? initialSelectedItems : [initialSelectedItems],
90
53
  ...Array.isArray(selectedItems) ? selectedItems : [selectedItems],
91
54
  ...allListItems
92
- ].filter(_temp);
55
+ ].filter((item) => !!item);
93
56
  const allItemsMap = /* @__PURE__ */ new Map();
94
- items.forEach((item_1) => allItemsMap.set(item_1.id, item_1));
95
- t8 = Array.from(allItemsMap.values());
96
- $[21] = allListItems;
97
- $[22] = initialSelectedItems;
98
- $[23] = selectedItems;
99
- $[24] = t8;
100
- } else t8 = $[24];
101
- const allItems = t8;
102
- let t9;
103
- if ($[25] !== allListItems || $[26] !== contains || $[27] !== inputValue) {
104
- t9 = allListItems.filter((item_2) => contains(item_2.label, inputValue));
105
- $[25] = allListItems;
106
- $[26] = contains;
107
- $[27] = inputValue;
108
- $[28] = t9;
109
- } else t9 = $[28];
110
- const filteredListItems = t9;
111
- const listItems = showAll || isClientSearchDisabled ? allListItems : filteredListItems;
112
- let t10;
113
- if ($[29] !== listItems) {
114
- t10 = listItems.filter(_temp2);
115
- $[29] = listItems;
116
- $[30] = t10;
117
- } else t10 = $[30];
118
- const selectableListItems = t10;
119
- let t11;
120
- if ($[31] !== allItems || $[32] !== allListItems || $[33] !== filteredListItems || $[34] !== listItems || $[35] !== selectableListItems) {
121
- t11 = {
122
- allItems,
123
- allListItems,
124
- filteredListItems,
125
- listItems,
126
- selectableListItems
127
- };
128
- $[31] = allItems;
129
- $[32] = allListItems;
130
- $[33] = filteredListItems;
131
- $[34] = listItems;
132
- $[35] = selectableListItems;
133
- $[36] = t11;
134
- } else t11 = $[36];
135
- return t11;
136
- }
137
- function _temp2(item_3) {
138
- return !item_3.isDisabled && !ReservedItemIds.includes(String(item_3.id));
139
- }
140
- function _temp(item_0) {
141
- return !!item_0;
57
+ items.forEach((item) => allItemsMap.set(item.id, item));
58
+ return Array.from(allItemsMap.values());
59
+ }, [
60
+ allListItems,
61
+ initialSelectedItems,
62
+ selectedItems
63
+ ]);
64
+ const filteredListItems = useMemo(() => allListItems.filter((item) => contains(item.label, inputValue)), [
65
+ allListItems,
66
+ contains,
67
+ inputValue
68
+ ]);
69
+ const listItems = useMemo(() => showAll || isClientSearchDisabled ? allListItems : filteredListItems, [
70
+ showAll,
71
+ isClientSearchDisabled,
72
+ allListItems,
73
+ filteredListItems
74
+ ]);
75
+ return {
76
+ allItems,
77
+ allListItems,
78
+ filteredListItems,
79
+ listItems,
80
+ selectableListItems: useMemo(() => listItems.filter((item) => !item.isDisabled && !ReservedItemIds.includes(String(item.id))), [listItems])
81
+ };
142
82
  }
143
83
  //#endregion
144
84
  export { NewItemId, SelectAllItemId, useSelectItems };
@@ -1,4 +1,4 @@
1
- import { FocusEvent, Ref } from 'react';
1
+ import { Ref } from 'react';
2
2
  import { SliderProps as AriaSliderProps } from 'react-aria-components';
3
3
  import { FieldValues } from 'react-hook-form';
4
4
  import { FormFieldProps } from '../FormField/FormField';
@@ -10,7 +10,6 @@ interface SliderBaseProps<IsRange extends boolean = false> extends FormFieldProp
10
10
  isRange?: IsRange;
11
11
  defaultValue?: SliderValue<IsRange>;
12
12
  value?: SliderValue<IsRange>;
13
- onBlur?: (event: FocusEvent<HTMLInputElement>) => void;
14
13
  onChange?: (value: SliderValue<IsRange>) => void;
15
14
  }
16
15
  export type SliderProps<IsRange extends boolean = false> = SliderBaseProps<IsRange>;