@povio/ui 2.2.12 → 2.3.0-rc.10

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 (284) hide show
  1. package/dist/assets/icons/AlignCenter.js +26 -11
  2. package/dist/assets/icons/AlignLeft.js +26 -11
  3. package/dist/assets/icons/AlignLeftRight.js +26 -11
  4. package/dist/assets/icons/AlignRight.js +26 -11
  5. package/dist/assets/icons/ArrowDropDown.js +26 -11
  6. package/dist/assets/icons/ArrowDropUp.js +26 -11
  7. package/dist/assets/icons/ArrowLeft.js +26 -11
  8. package/dist/assets/icons/ArrowRight.js +26 -11
  9. package/dist/assets/icons/Bold.js +26 -11
  10. package/dist/assets/icons/BulletedList.js +26 -11
  11. package/dist/assets/icons/Calendar.js +28 -13
  12. package/dist/assets/icons/Check.js +28 -13
  13. package/dist/assets/icons/CheckCircle.js +26 -11
  14. package/dist/assets/icons/CheckboxCheckmark.js +29 -14
  15. package/dist/assets/icons/CheckboxIndeterminate.js +29 -14
  16. package/dist/assets/icons/ChevronDown.js +28 -13
  17. package/dist/assets/icons/ChevronLeft.js +28 -13
  18. package/dist/assets/icons/ChevronRight.js +28 -13
  19. package/dist/assets/icons/ChevronUp.js +28 -13
  20. package/dist/assets/icons/ChevronsLeft.js +28 -13
  21. package/dist/assets/icons/ChevronsRight.js +28 -13
  22. package/dist/assets/icons/Clock.js +26 -11
  23. package/dist/assets/icons/Close.js +26 -11
  24. package/dist/assets/icons/DateTime.js +35 -14
  25. package/dist/assets/icons/DragIndicator.js +26 -11
  26. package/dist/assets/icons/File.js +28 -13
  27. package/dist/assets/icons/Highlight.js +26 -11
  28. package/dist/assets/icons/HighlightOn.js +49 -15
  29. package/dist/assets/icons/Home.js +26 -11
  30. package/dist/assets/icons/Info.js +37 -16
  31. package/dist/assets/icons/Italic.js +26 -11
  32. package/dist/assets/icons/Link.js +26 -11
  33. package/dist/assets/icons/Menu.js +26 -11
  34. package/dist/assets/icons/NumberedList.js +26 -11
  35. package/dist/assets/icons/PointerHorizontal.js +26 -11
  36. package/dist/assets/icons/PointerVertical.js +26 -11
  37. package/dist/assets/icons/Search.js +26 -11
  38. package/dist/assets/icons/Send.js +28 -13
  39. package/dist/assets/icons/Strikethrough.js +26 -11
  40. package/dist/assets/icons/TextColor.js +48 -14
  41. package/dist/assets/icons/Today.js +26 -11
  42. package/dist/assets/icons/Underlined.js +28 -13
  43. package/dist/assets/icons/Upload.js +35 -14
  44. package/dist/assets/icons/Visibility.js +26 -11
  45. package/dist/assets/icons/VisibilityOff.js +26 -11
  46. package/dist/assets/icons/WarningFilled.js +28 -13
  47. package/dist/components/Breadcrumbs/Breadcrumbs.js +207 -56
  48. package/dist/components/Menu/Menu.js +18 -2
  49. package/dist/components/Menu/MenuDesktop.js +41 -7
  50. package/dist/components/Menu/MenuItem.js +32 -9
  51. package/dist/components/Menu/MenuMobile.js +97 -38
  52. package/dist/components/Menu/MenuPopover.js +105 -29
  53. package/dist/components/buttons/IconButton/IconButton.js +40 -8
  54. package/dist/components/buttons/InlineIconButton/InlineIconButton.d.ts +2 -1
  55. package/dist/components/buttons/InlineIconButton/InlineIconButton.js +34 -9
  56. package/dist/components/buttons/PillButton/PillButton.js +55 -17
  57. package/dist/components/buttons/SplitButton/SplitButton.js +103 -18
  58. package/dist/components/buttons/TextButton/TextButton.js +30 -8
  59. package/dist/components/buttons/ToggleButton/ToggleButton.js +28 -8
  60. package/dist/components/buttons/shared/ButtonContent.js +80 -22
  61. package/dist/components/inputs/Checkbox/Checkbox.js +172 -35
  62. package/dist/components/inputs/Checkbox/CheckboxCheckmark.js +24 -10
  63. package/dist/components/inputs/Checkbox/checkbox.cva.d.ts +3 -0
  64. package/dist/components/inputs/Checkbox/checkbox.cva.js +2 -1
  65. package/dist/components/inputs/DateTime/DatePicker/DatePicker.d.ts +10 -5
  66. package/dist/components/inputs/DateTime/DatePicker/DatePicker.js +121 -20
  67. package/dist/components/inputs/DateTime/DateRangePicker/DateRangePicker.d.ts +10 -5
  68. package/dist/components/inputs/DateTime/DateRangePicker/DateRangePicker.js +215 -111
  69. package/dist/components/inputs/DateTime/DateTimePicker/DateTimePicker.d.ts +11 -5
  70. package/dist/components/inputs/DateTime/DateTimePicker/DateTimePicker.js +123 -19
  71. package/dist/components/inputs/DateTime/TimePicker/TimePicker.d.ts +5 -3
  72. package/dist/components/inputs/DateTime/TimePicker/TimePicker.js +448 -104
  73. package/dist/components/inputs/DateTime/shared/Calendar.d.ts +5 -2
  74. package/dist/components/inputs/DateTime/shared/Calendar.js +330 -119
  75. package/dist/components/inputs/DateTime/shared/CalendarCell.d.ts +1 -1
  76. package/dist/components/inputs/DateTime/shared/CalendarCell.js +283 -102
  77. package/dist/components/inputs/DateTime/shared/CalendarGrid.d.ts +1 -1
  78. package/dist/components/inputs/DateTime/shared/CalendarGrid.js +142 -33
  79. package/dist/components/inputs/DateTime/shared/CalendarHeader.js +249 -93
  80. package/dist/components/inputs/DateTime/shared/CalendarSelectHeader.js +318 -137
  81. package/dist/components/inputs/DateTime/shared/DateField.js +296 -112
  82. package/dist/components/inputs/DateTime/shared/DatePickerInput.d.ts +6 -3
  83. package/dist/components/inputs/DateTime/shared/DatePickerInput.js +355 -135
  84. package/dist/components/inputs/DateTime/shared/DateSegmentItem.d.ts +14 -0
  85. package/dist/components/inputs/DateTime/shared/DateSegmentItem.js +97 -11
  86. package/dist/components/inputs/DateTime/shared/DateTimeDialog.js +81 -27
  87. package/dist/components/inputs/DateTime/shared/DateTimeDialogFooter.js +59 -10
  88. package/dist/components/inputs/DateTime/shared/MonthPicker.js +103 -58
  89. package/dist/components/inputs/DateTime/shared/RangeCalendar.js +193 -82
  90. package/dist/components/inputs/DateTime/shared/TimeField.js +27 -8
  91. package/dist/components/inputs/DateTime/shared/TimePickerForm.js +279 -110
  92. package/dist/components/inputs/DateTime/shared/TimePickerInput.d.ts +2 -1
  93. package/dist/components/inputs/DateTime/shared/TimePickerInput.js +207 -65
  94. package/dist/components/inputs/DateTime/shared/YearPicker.js +119 -68
  95. package/dist/components/inputs/DateTime/shared/datePicker.types.d.ts +4 -0
  96. package/dist/components/inputs/DateTime/shared/datePickerInput.cva.d.ts +7 -0
  97. package/dist/components/inputs/DateTime/shared/datePickerInput.cva.js +13 -0
  98. package/dist/components/inputs/DateTime/shared/datePickerTodayIcon.d.ts +6 -0
  99. package/dist/components/inputs/DateTime/shared/datePickerTodayIcon.js +21 -0
  100. package/dist/components/inputs/DateTime/shared/dateSegment.utils.d.ts +2 -0
  101. package/dist/components/inputs/DateTime/shared/dateSegment.utils.spec.d.ts +1 -0
  102. package/dist/components/inputs/DateTime/shared/staticDateTimeSegments.d.ts +31 -0
  103. package/dist/components/inputs/DateTime/shared/staticDateTimeSegments.js +80 -0
  104. package/dist/components/inputs/DateTime/shared/staticDateTimeSegments.spec.d.ts +1 -0
  105. package/dist/components/inputs/File/FileUpload.js +87 -44
  106. package/dist/components/inputs/File/FileUploadContainer.js +15 -7
  107. package/dist/components/inputs/File/InputUpload.js +317 -79
  108. package/dist/components/inputs/File/shared/FileCard.js +104 -41
  109. package/dist/components/inputs/File/shared/FileCardList.js +47 -12
  110. package/dist/components/inputs/File/shared/FileUploadContent.js +175 -44
  111. package/dist/components/inputs/File/shared/FileUploadContentEmpty.js +149 -46
  112. package/dist/components/inputs/File/shared/FileUploadContentError.js +234 -93
  113. package/dist/components/inputs/File/shared/FileUploadContentFilled.js +230 -97
  114. package/dist/components/inputs/File/shared/FileUploadContentLoading.js +199 -55
  115. package/dist/components/inputs/File/shared/InputUploadContent.js +148 -34
  116. package/dist/components/inputs/File/shared/InputUploadFilled.js +49 -8
  117. package/dist/components/inputs/File/shared/ProgressBar.js +48 -9
  118. package/dist/components/inputs/FormField/FormField.d.ts +3 -3
  119. package/dist/components/inputs/FormField/FormField.js +119 -37
  120. package/dist/components/inputs/FormField/FormFieldError.js +25 -5
  121. package/dist/components/inputs/FormField/FormFieldHeader.d.ts +2 -2
  122. package/dist/components/inputs/FormField/FormFieldHeader.js +81 -22
  123. package/dist/components/inputs/FormField/FormFieldHeaderClose.js +31 -7
  124. package/dist/components/inputs/FormField/FormFieldHelper.js +26 -6
  125. package/dist/components/inputs/FormField/FormFieldLabel.d.ts +2 -2
  126. package/dist/components/inputs/FormField/FormFieldLabel.js +40 -9
  127. package/dist/components/inputs/FormField/formFieldHeader.cva.d.ts +6 -0
  128. package/dist/components/inputs/FormField/formFieldHeader.cva.js +11 -0
  129. package/dist/components/inputs/Input/NumberInput/NumberInput.d.ts +5 -2
  130. package/dist/components/inputs/Input/NumberInput/NumberInput.js +332 -81
  131. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeField.d.ts +45 -0
  132. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeField.js +571 -0
  133. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeInput.d.ts +35 -0
  134. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeInput.js +479 -0
  135. package/dist/components/inputs/Input/PasswordInput/PasswordInput.js +48 -9
  136. package/dist/components/inputs/Input/TextArea/TextArea.cva.d.ts +4 -0
  137. package/dist/components/inputs/Input/TextArea/TextArea.cva.js +5 -0
  138. package/dist/components/inputs/Input/TextArea/TextArea.js +305 -90
  139. package/dist/components/inputs/Input/TextInput/TextInput.d.ts +3 -1
  140. package/dist/components/inputs/Input/TextInput/TextInput.js +321 -80
  141. package/dist/components/inputs/Input/shared/InputContent.js +192 -59
  142. package/dist/components/inputs/Input/shared/numberStatic.utils.d.ts +1 -0
  143. package/dist/components/inputs/Input/shared/numberStatic.utils.js +7 -0
  144. package/dist/components/inputs/Inputs/Form.js +40 -11
  145. package/dist/components/inputs/Inputs/InputItem.d.ts +15 -21
  146. package/dist/components/inputs/Inputs/InputItem.js +69 -14
  147. package/dist/components/inputs/Inputs/Inputs.js +37 -11
  148. package/dist/components/inputs/RadioGroup/RadioGroup.d.ts +2 -1
  149. package/dist/components/inputs/RadioGroup/RadioGroup.js +352 -60
  150. package/dist/components/inputs/RadioGroup/radio.cva.d.ts +17 -0
  151. package/dist/components/inputs/RadioGroup/radio.cva.js +42 -1
  152. package/dist/components/inputs/Selection/Autocomplete/Autocomplete.d.ts +6 -2
  153. package/dist/components/inputs/Selection/Autocomplete/Autocomplete.js +109 -7
  154. package/dist/components/inputs/Selection/Autocomplete/QueryAutocomplete.d.ts +3 -18
  155. package/dist/components/inputs/Selection/Autocomplete/QueryAutocomplete.js +34 -8
  156. package/dist/components/inputs/Selection/Autocomplete/queryAutocomplete.types.d.ts +36 -0
  157. package/dist/components/inputs/Selection/Select/QuerySelect.d.ts +14 -0
  158. package/dist/components/inputs/Selection/Select/QuerySelect.js +122 -0
  159. package/dist/components/inputs/Selection/Select/Select.d.ts +7 -3
  160. package/dist/components/inputs/Selection/Select/Select.js +132 -5
  161. package/dist/components/inputs/Selection/shared/SelectBase.d.ts +8 -1
  162. package/dist/components/inputs/Selection/shared/SelectBase.js +69 -18
  163. package/dist/components/inputs/Selection/shared/SelectDesktop.d.ts +1 -1
  164. package/dist/components/inputs/Selection/shared/SelectDesktop.js +393 -138
  165. package/dist/components/inputs/Selection/shared/SelectInput.d.ts +2 -2
  166. package/dist/components/inputs/Selection/shared/SelectInput.js +337 -115
  167. package/dist/components/inputs/Selection/shared/SelectInputTags.js +99 -25
  168. package/dist/components/inputs/Selection/shared/SelectListBox.d.ts +2 -2
  169. package/dist/components/inputs/Selection/shared/SelectListBox.js +164 -52
  170. package/dist/components/inputs/Selection/shared/SelectListBoxItem.js +85 -35
  171. package/dist/components/inputs/Selection/shared/SelectListBoxItemSelectAll.js +69 -16
  172. package/dist/components/inputs/Selection/shared/SelectListBoxLoadingItem.js +70 -21
  173. package/dist/components/inputs/Selection/shared/SelectListBoxSelectionBar.js +58 -9
  174. package/dist/components/inputs/Selection/shared/SelectMobile.d.ts +1 -1
  175. package/dist/components/inputs/Selection/shared/SelectMobile.js +9 -3
  176. package/dist/components/inputs/Selection/shared/StaticSelectTrailingContent.d.ts +9 -0
  177. package/dist/components/inputs/Selection/shared/StaticSelectTrailingContent.js +47 -0
  178. package/dist/components/inputs/Selection/shared/querySelect.utils.d.ts +6 -0
  179. package/dist/components/inputs/Selection/shared/querySelect.utils.js +13 -0
  180. package/dist/components/inputs/Selection/shared/select.context.d.ts +3 -2
  181. package/dist/components/inputs/Selection/shared/select.context.js +57 -34
  182. package/dist/components/inputs/Selection/shared/select.types.d.ts +3 -2
  183. package/dist/components/inputs/Selection/shared/selectDesktop.cva.d.ts +3 -0
  184. package/dist/components/inputs/Selection/shared/selectDesktop.cva.js +5 -0
  185. package/dist/components/inputs/Selection/shared/selectInput.cva.d.ts +5 -0
  186. package/dist/components/inputs/Selection/shared/selectInput.cva.js +5 -0
  187. package/dist/components/inputs/Selection/shared/staticSelect.utils.d.ts +23 -0
  188. package/dist/components/inputs/Selection/shared/staticSelect.utils.js +37 -0
  189. package/dist/components/inputs/Selection/shared/staticSelect.utils.spec.d.ts +1 -0
  190. package/dist/components/inputs/Selection/shared/useSelectItems.js +109 -49
  191. package/dist/components/inputs/Skeleton/InputFrame.d.ts +79 -0
  192. package/dist/components/inputs/Skeleton/InputFrame.js +526 -0
  193. package/dist/components/inputs/Slider/Slider.js +250 -74
  194. package/dist/components/inputs/TextEditor/TextEditor.d.ts +1 -0
  195. package/dist/components/inputs/TextEditor/TextEditor.js +447 -98
  196. package/dist/components/inputs/TextEditor/Toolbar/ColorPicker.js +37 -11
  197. package/dist/components/inputs/TextEditor/Toolbar/ColorPickerDropdown.js +102 -30
  198. package/dist/components/inputs/TextEditor/Toolbar/HyperlinkAction.js +194 -45
  199. package/dist/components/inputs/TextEditor/Toolbar/TextAlignSelect.js +88 -28
  200. package/dist/components/inputs/TextEditor/Toolbar/TextColorSelect.js +48 -14
  201. package/dist/components/inputs/TextEditor/Toolbar/TextEditorToolbar.js +66 -19
  202. package/dist/components/inputs/TextEditor/Toolbar/TextHighlightSelect.js +49 -15
  203. package/dist/components/inputs/TextEditor/Toolbar/TextListActions.js +92 -32
  204. package/dist/components/inputs/TextEditor/Toolbar/TextMarksActions.js +126 -54
  205. package/dist/components/inputs/TextEditor/Toolbar/TextStyleSelect.js +141 -38
  206. package/dist/components/inputs/Toggle/Toggle.js +189 -37
  207. package/dist/components/inputs/Toggle/toggle.cva.d.ts +3 -0
  208. package/dist/components/inputs/Toggle/toggle.cva.js +2 -1
  209. package/dist/components/inputs/shared/CheckContent.d.ts +2 -1
  210. package/dist/components/inputs/shared/CheckContent.js +21 -11
  211. package/dist/components/inputs/shared/InputClear.d.ts +2 -1
  212. package/dist/components/inputs/shared/InputClear.js +79 -10
  213. package/dist/components/inputs/shared/StaticInput.d.ts +38 -0
  214. package/dist/components/inputs/shared/TooltipWrapper.js +50 -11
  215. package/dist/components/inputs/shared/input.cva.d.ts +10 -0
  216. package/dist/components/inputs/shared/input.cva.js +32 -4
  217. package/dist/components/inputs/shared/tooltipWrapper.cva.d.ts +4 -0
  218. package/dist/components/inputs/shared/tooltipWrapper.cva.js +5 -0
  219. package/dist/components/inputs/shared/useStaticInputHandoff.d.ts +14 -0
  220. package/dist/components/inputs/shared/useStaticInputHandoff.js +100 -0
  221. package/dist/components/navigation/Accordion/Accordion.js +69 -22
  222. package/dist/components/navigation/Accordion/AccordionItem.js +86 -41
  223. package/dist/components/navigation/Stepper/Stepper.js +67 -22
  224. package/dist/components/navigation/Stepper/StepperItem.js +104 -31
  225. package/dist/components/navigation/Stepper/StepperSeparator.js +23 -5
  226. package/dist/components/overlays/ActionModal/ActionModal.js +169 -35
  227. package/dist/components/overlays/BottomSheet/BottomSheet.js +96 -23
  228. package/dist/components/overlays/BottomSheet/BottomSheetHeader.js +48 -8
  229. package/dist/components/overlays/Drawer/Drawer.js +62 -20
  230. package/dist/components/overlays/ResponsivePopover/ResponsivePopover.js +83 -27
  231. package/dist/components/overlays/Tooltip/Tooltip.js +137 -28
  232. package/dist/components/overlays/Tooltip/TooltipEllipsis.js +37 -12
  233. package/dist/components/segment/Segment.js +218 -57
  234. package/dist/components/segment/SegmentItem.js +67 -10
  235. package/dist/components/shared/pagination/Pagination.js +108 -22
  236. package/dist/components/shared/pagination/PaginationList.js +167 -64
  237. package/dist/components/status/Alert/Alert.js +97 -30
  238. package/dist/components/status/Loader/Loader.js +77 -22
  239. package/dist/components/status/Toast/Toast.js +21 -13
  240. package/dist/components/status/Toast/useToast.js +62 -57
  241. package/dist/components/table/ColumnConfig.js +158 -54
  242. package/dist/components/table/InfiniteTable.js +67 -16
  243. package/dist/components/table/PaginatedTable.js +84 -18
  244. package/dist/components/table/Table.js +28 -27
  245. package/dist/components/text/Link/Link.js +19 -7
  246. package/dist/components/text/Typography/Typography.js +23 -8
  247. package/dist/config/confirmation.context.js +1 -1
  248. package/dist/config/link.context.js +23 -9
  249. package/dist/config/router.context.d.ts +3 -4
  250. package/dist/config/router.context.js +42 -18
  251. package/dist/config/theme.context.js +98 -45
  252. package/dist/config/uiConfig.context.d.ts +15 -3
  253. package/dist/config/uiConfig.context.js +55 -11
  254. package/dist/config/uiStyle.context.d.ts +27 -4
  255. package/dist/config/uiStyle.context.js +15 -5
  256. package/dist/helpers/dynamicInputs.d.ts +5 -5
  257. package/dist/helpers/dynamicInputs.js +3 -0
  258. package/dist/hooks/useBreakpoint.js +16 -3
  259. package/dist/hooks/useDebounceCallback.js +51 -17
  260. package/dist/hooks/useFilters.js +145 -80
  261. package/dist/hooks/useForm.js +42 -8
  262. package/dist/hooks/useFormAutosave.js +101 -30
  263. package/dist/hooks/useIntersectionObserver.d.ts +1 -1
  264. package/dist/hooks/useIntersectionObserver.js +91 -24
  265. package/dist/hooks/useLocalStorage.js +43 -10
  266. package/dist/hooks/useLongPressRepeat.js +55 -20
  267. package/dist/hooks/usePagination.js +51 -17
  268. package/dist/hooks/useQueryAutocomplete.d.ts +14 -0
  269. package/dist/hooks/useQueryAutocomplete.js +57 -0
  270. package/dist/hooks/useScrollableListBox.js +37 -16
  271. package/dist/hooks/useSorting.js +71 -27
  272. package/dist/hooks/useStateAndRef.js +21 -7
  273. package/dist/hooks/useTableColumnConfig.js +124 -31
  274. package/dist/hooks/useTranslationMemo.js +25 -5
  275. package/dist/index.d.ts +7 -0
  276. package/dist/index.js +5 -3
  277. package/dist/tw-ui-plugin.js +2 -0
  278. package/dist/utils/date-time.utils.d.ts +31 -10
  279. package/dist/utils/date-time.utils.js +117 -22
  280. package/dist/utils/query.utils.d.ts +4 -0
  281. package/dist/utils/query.utils.js +8 -0
  282. package/dist/utils/routing.utils.d.ts +1 -0
  283. package/dist/utils/routing.utils.js +14 -0
  284. package/package.json +2 -2
@@ -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, customTrigger, onBlur, ...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;
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;
18
18
  const formFieldProps = {
19
19
  error,
20
20
  label,
@@ -57,6 +57,8 @@ var SelectMobile = ({ ref, error, showSelectionContent, inputClassName, containe
57
57
  as,
58
58
  labelProps,
59
59
  className: clsx("w-full", containerClassName),
60
+ onMouseEnter,
61
+ onFocusCapture,
60
62
  children: /* @__PURE__ */ jsxs(DialogTrigger, {
61
63
  ...dialogTriggerProps,
62
64
  children: [customTrigger ? /* @__PURE__ */ jsx("div", {
@@ -79,8 +81,12 @@ var SelectMobile = ({ ref, error, showSelectionContent, inputClassName, containe
79
81
  onBlur: void 0,
80
82
  fieldProps,
81
83
  headerProps,
84
+ leadingContent,
85
+ trailingContent,
82
86
  collapseAfter,
83
- selectedTagsType
87
+ selectedTagsType,
88
+ isRequired,
89
+ isDirty
84
90
  }), /* @__PURE__ */ jsx(BottomSheet, {
85
91
  isOpen,
86
92
  onOpenChange: handleOpenChange,
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ import { InputVariantProps } from '../../shared/input.cva';
3
+ interface StaticSelectTrailingContentProps extends Pick<InputVariantProps, "size"> {
4
+ trailingContent?: ReactNode;
5
+ hideDropdownIcon?: boolean;
6
+ isDisabled?: boolean;
7
+ }
8
+ export declare const StaticSelectTrailingContent: ({ trailingContent, hideDropdownIcon, isDisabled, size, }: StaticSelectTrailingContentProps) => import("react/jsx-runtime").JSX.Element | null;
9
+ export {};
@@ -0,0 +1,47 @@
1
+ import { ArrowDropDownIcon } from "../../../../assets/icons/ArrowDropDown.js";
2
+ import { UIStyle } from "../../../../config/uiStyle.context.js";
3
+ import { inputSize } from "../../shared/input.cva.js";
4
+ import { c } from "react/compiler-runtime";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ import { clsx } from "clsx";
7
+ //#region src/components/inputs/Selection/shared/StaticSelectTrailingContent.tsx
8
+ var StaticSelectTrailingContent = (t0) => {
9
+ const $ = c(10);
10
+ const { trailingContent, hideDropdownIcon, isDisabled, size } = t0;
11
+ const inputSizeCva = UIStyle.useCva("input.sizeCva", inputSize);
12
+ if (!trailingContent && hideDropdownIcon) return null;
13
+ let t1;
14
+ if ($[0] !== trailingContent) {
15
+ t1 = trailingContent && /* @__PURE__ */ jsx("div", {
16
+ className: "flex shrink-0 items-center",
17
+ children: trailingContent
18
+ });
19
+ $[0] = trailingContent;
20
+ $[1] = t1;
21
+ } else t1 = $[1];
22
+ let t2;
23
+ if ($[2] !== hideDropdownIcon || $[3] !== inputSizeCva || $[4] !== isDisabled || $[5] !== size) {
24
+ t2 = !hideDropdownIcon ? /* @__PURE__ */ jsx("button", {
25
+ type: "button",
26
+ tabIndex: -1,
27
+ className: clsx("self-stretch border-0! pl-1-5 outline-none", inputSizeCva({ size })),
28
+ "aria-hidden": "true",
29
+ children: /* @__PURE__ */ jsx(ArrowDropDownIcon, { className: clsx("size-6 shrink-0", isDisabled ? "text-interactive-text-secondary-disabled" : "text-interactive-text-secondary-idle") })
30
+ }) : void 0;
31
+ $[2] = hideDropdownIcon;
32
+ $[3] = inputSizeCva;
33
+ $[4] = isDisabled;
34
+ $[5] = size;
35
+ $[6] = t2;
36
+ } else t2 = $[6];
37
+ let t3;
38
+ if ($[7] !== t1 || $[8] !== t2) {
39
+ t3 = /* @__PURE__ */ jsxs(Fragment, { children: [t1, t2] });
40
+ $[7] = t1;
41
+ $[8] = t2;
42
+ $[9] = t3;
43
+ } else t3 = $[9];
44
+ return t3;
45
+ };
46
+ //#endregion
47
+ export { StaticSelectTrailingContent };
@@ -0,0 +1,6 @@
1
+ import { UseInfiniteQueryResult, UseQueryResult } from '@tanstack/react-query';
2
+ import { Key } from 'react-aria-components';
3
+ import { SelectItem } from './select.types';
4
+ export type QueryFn<TData = any> = (...args: any[]) => UseQueryResult<TData> | UseInfiniteQueryResult<TData>;
5
+ export type QueryDataType<TQueryFn extends QueryFn> = Exclude<ReturnType<TQueryFn>["data"], undefined>;
6
+ export declare const getQueryItems: <TQueryFn extends QueryFn, TKey extends Key = Key>(data: QueryDataType<TQueryFn> | undefined, queryMap?: (data: QueryDataType<TQueryFn>) => SelectItem<TKey>[]) => SelectItem<TKey>[];
@@ -0,0 +1,13 @@
1
+ //#region src/components/inputs/Selection/shared/querySelect.utils.ts
2
+ var getQueryItems = (data, queryMap) => {
3
+ if (!data) return [];
4
+ if (queryMap) return queryMap(data);
5
+ if (Array.isArray(data)) return data;
6
+ if (typeof data === "object" && data !== null) {
7
+ if ("items" in data && Array.isArray(data.items)) return data.items;
8
+ if ("pages" in data && Array.isArray(data.pages)) return data.pages.flatMap((page) => page && typeof page === "object" && "items" in page && Array.isArray(page.items) ? page.items : []);
9
+ }
10
+ return [];
11
+ };
12
+ //#endregion
13
+ export { getQueryItems };
@@ -17,14 +17,15 @@ export declare namespace SelectContext {
17
17
  onClear: () => void;
18
18
  onSelectAll: () => void;
19
19
  onRemove: (val: Key) => void;
20
+ onBlur: () => void;
20
21
  listItems: ExtendedSelectItem[];
21
22
  selectableListItems: SelectItem[];
22
23
  selectedItems: SelectItem[];
23
24
  selectedIds: Key[];
24
25
  isMultiple: boolean;
25
26
  } & Pick<SelectBaseProps, "onInputChange" | "isLoading" | "hasLoadMore">;
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;
27
+ export type ProviderProps = GroupedSelectProps & Pick<SelectBaseProps, "items" | "onInputChange" | "onSearchChange" | "showSelectAllOption" | "showNewItemOption" | "newItemMinLength" | "onNewItemOption" | "isLoading" | "hasLoadMore" | "mapInitialToSelectItem" | "isSearchable" | "isClientSearchDisabled" | "ignoreInputValueFiltering">;
28
+ export const Provider: ({ items, onInputChange, onSearchChange, showSelectAllOption, showNewItemOption, newItemMinLength, onNewItemOption, isLoading, hasLoadMore, isClientSearchDisabled, ignoreInputValueFiltering, children, mapInitialToSelectItem, ...props }: PropsWithChildren<ProviderProps>) => import("react/jsx-runtime").JSX.Element;
28
29
  export const useSelect: () => Type;
29
30
  export {};
30
31
  }
@@ -1,5 +1,5 @@
1
- import { useSelectItems } from "./useSelectItems.js";
2
1
  import { useDebounceCallback } from "../../../../hooks/useDebounceCallback.js";
2
+ import { useSelectItems } from "./useSelectItems.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, children, mapInitialToSelectItem = defaultMapInitialToSelectItem, ...props }) => {
13
+ _SelectContext.Provider = ({ items, onInputChange, onSearchChange, showSelectAllOption, showNewItemOption, newItemMinLength, onNewItemOption, isLoading, hasLoadMore, isClientSearchDisabled, ignoreInputValueFiltering, children, mapInitialToSelectItem = defaultMapInitialToSelectItem, ...props }) => {
14
14
  const isMultiple = props.selectionMode === "multiple";
15
15
  const initialSelectedItems = useMemo(() => {
16
16
  if (!props.initialSelection) return null;
@@ -42,16 +42,21 @@ var SelectContext;
42
42
  newItemMinLength,
43
43
  isLoading,
44
44
  hasLoadMore,
45
- isClientSearchDisabled
45
+ isClientSearchDisabled: ignoreInputValueFiltering ?? isClientSearchDisabled
46
46
  });
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;
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;
55
60
  const emitStateChanges = useCallback((changes, skipSelectionChange) => {
56
61
  if (JSON.stringify(changes.value) !== JSON.stringify(getValueIds())) {
57
62
  updateValue(changes.value);
@@ -68,10 +73,10 @@ var SelectContext;
68
73
  onSearchChangeDebounced,
69
74
  updateValue
70
75
  ]);
71
- const syncFieldState = (value) => {
76
+ const syncFieldState = (value_1) => {
72
77
  const newFieldState = {
73
- value,
74
- inputValue: isMultiple || Array.isArray(value) ? fieldState.inputValue : getItem(value)?.label ?? "",
78
+ value: value_1,
79
+ inputValue: isMultiple || Array.isArray(value_1) ? fieldState.inputValue : getItem_0(value_1)?.label ?? "",
75
80
  searchValue: ""
76
81
  };
77
82
  setFieldState(newFieldState);
@@ -79,21 +84,21 @@ var SelectContext;
79
84
  if (!isMultiple) setShowAll(true);
80
85
  };
81
86
  useEffect(() => {
82
- const value = props.value ?? null;
83
- if (JSON.stringify(value) !== JSON.stringify(fieldState.value)) syncFieldState(value);
84
- else updateValue(value);
87
+ const value_2 = props.value ?? null;
88
+ if (JSON.stringify(value_2) !== JSON.stringify(fieldState.value)) syncFieldState(value_2);
89
+ else updateValue(value_2);
85
90
  }, [props.value]);
86
91
  useEffect(() => {
87
- if (!isMultiple && fieldState.value && fieldState.inputValue === "" && getItem(fieldState.value)?.label) syncFieldState(fieldState.value);
92
+ 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);
88
93
  }, [allListItems]);
89
94
  const handleInputChange = useCallback((inputValue) => {
90
- const newFieldState = {
95
+ const newFieldState_0 = {
91
96
  value: isMultiple || inputValue !== "" ? fieldState.value : null,
92
97
  inputValue,
93
98
  searchValue: inputValue
94
99
  };
95
- setFieldState(newFieldState);
96
- emitStateChanges(newFieldState);
100
+ setFieldState(newFieldState_0);
101
+ emitStateChanges(newFieldState_0);
97
102
  setShowAll(false);
98
103
  if (!isOpen && inputValue !== "" && props.isSearchable) setIsOpen(true);
99
104
  }, [
@@ -101,16 +106,16 @@ var SelectContext;
101
106
  fieldState.value,
102
107
  isMultiple
103
108
  ]);
104
- const onChange = useCallback((value) => {
105
- if (value === "new-item-id") onNewItemOption?.(fieldState.inputValue);
109
+ const onChange = useCallback((value_3) => {
110
+ if (value_3 === "new-item-id") onNewItemOption?.(fieldState.inputValue);
106
111
  else {
107
- const newFieldState = {
108
- value,
109
- inputValue: isMultiple || Array.isArray(value) ? "" : getItem(value)?.label ?? "",
112
+ const newFieldState_1 = {
113
+ value: value_3,
114
+ inputValue: isMultiple || Array.isArray(value_3) ? "" : getItem_0(value_3)?.label ?? "",
110
115
  searchValue: ""
111
116
  };
112
- setFieldState(newFieldState);
113
- emitStateChanges(newFieldState);
117
+ setFieldState(newFieldState_1);
118
+ emitStateChanges(newFieldState_1);
114
119
  }
115
120
  if (!isMultiple) {
116
121
  setIsOpen(false);
@@ -120,7 +125,7 @@ var SelectContext;
120
125
  emitStateChanges,
121
126
  onNewItemOption,
122
127
  fieldState.inputValue,
123
- getItem,
128
+ getItem_0,
124
129
  isMultiple
125
130
  ]);
126
131
  const onClear = useCallback(() => {
@@ -135,16 +140,32 @@ var SelectContext;
135
140
  else onChange(null);
136
141
  }, [isMultiple, onChange]);
137
142
  const onSelectAll = useCallback(() => {
138
- onChange(selectableListItems.map(({ id }) => id));
143
+ onChange(selectableListItems.map(({ id: id_4 }) => id_4));
139
144
  }, [selectableListItems, onChange]);
140
- const onRemove = useCallback((value) => {
141
- if (isMultiple && Array.isArray(fieldState.value)) onChange(fieldState.value.filter((id) => id !== value));
145
+ const onRemove = useCallback((value_4) => {
146
+ if (isMultiple && Array.isArray(fieldState.value)) onChange(fieldState.value.filter((id_5) => id_5 !== value_4));
142
147
  }, [
143
148
  isMultiple,
144
149
  fieldState.value,
145
150
  onChange
146
151
  ]);
147
- const value = useMemo(() => ({
152
+ const onBlur = useCallback(() => {
153
+ if (props.isSearchable && isMultiple && fieldState.searchValue !== "") {
154
+ const newFieldState_2 = {
155
+ ...fieldState,
156
+ inputValue: "",
157
+ searchValue: ""
158
+ };
159
+ setFieldState(newFieldState_2);
160
+ emitStateChanges(newFieldState_2);
161
+ setShowAll(true);
162
+ }
163
+ }, [
164
+ props.isSearchable,
165
+ isMultiple,
166
+ fieldState
167
+ ]);
168
+ const value_5 = useMemo(() => ({
148
169
  fieldState,
149
170
  isOpen,
150
171
  setIsOpen,
@@ -154,6 +175,7 @@ var SelectContext;
154
175
  onClear,
155
176
  onSelectAll,
156
177
  onRemove,
178
+ onBlur,
157
179
  listItems,
158
180
  selectableListItems,
159
181
  selectedItems,
@@ -171,6 +193,7 @@ var SelectContext;
171
193
  onClear,
172
194
  onSelectAll,
173
195
  onRemove,
196
+ onBlur,
174
197
  listItems,
175
198
  selectableListItems,
176
199
  selectedIds,
@@ -180,7 +203,7 @@ var SelectContext;
180
203
  hasLoadMore
181
204
  ]);
182
205
  return /* @__PURE__ */ jsx(Context.Provider, {
183
- value,
206
+ value: value_5,
184
207
  children
185
208
  });
186
209
  };
@@ -1,11 +1,11 @@
1
- import { ReactElement } from 'react';
1
+ import { ReactElement, ReactNode } 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 | ReactElement;
8
+ content?: string | ReactNode;
9
9
  isDisabled?: boolean;
10
10
  }
11
11
  export interface ExtendedSelectItem<TKey extends Key = Key> extends SelectItem<TKey> {
@@ -54,6 +54,7 @@ export interface SelectAsyncProps {
54
54
  onLoadMore?: () => void;
55
55
  }
56
56
  export interface SelectVirtualizationProps {
57
+ totalItems?: number;
57
58
  virtualizerOptions?: {
58
59
  rowHeight?: number;
59
60
  estimatedRowHeight?: number;
@@ -0,0 +1,3 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ export declare const selectPopoverCva: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
3
+ export type SelectPopoverCva = VariantProps<typeof selectPopoverCva>;
@@ -0,0 +1,5 @@
1
+ import { cva } from "class-variance-authority";
2
+ //#region src/components/inputs/Selection/shared/selectDesktop.cva.ts
3
+ var selectPopoverCva = cva("my-4 outline-none");
4
+ //#endregion
5
+ export { selectPopoverCva };
@@ -0,0 +1,5 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ export declare const selectInputTagsContentWrapperCva: (props?: ({
3
+ isSearchable?: boolean | null | undefined;
4
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
5
+ export type SelectInputTagsContentWrapperCva = VariantProps<typeof selectInputTagsContentWrapperCva>;
@@ -0,0 +1,5 @@
1
+ import { cva } from "class-variance-authority";
2
+ //#region src/components/inputs/Selection/shared/selectInput.cva.ts
3
+ var selectInputTagsContentWrapperCva = cva("flex flex-1 flex-wrap gap-input-gap-input-text-to-elements truncate", { variants: { isSearchable: { false: "pointer-events-none z-1" } } });
4
+ //#endregion
5
+ export { selectInputTagsContentWrapperCva };
@@ -0,0 +1,23 @@
1
+ import { ReactNode } from 'react';
2
+ import { Key } from 'react-aria-components';
3
+ import { SelectBaseProps } from './SelectBase';
4
+ import { DefaultInitialSelectItem, SelectItem } from './select.types';
5
+ interface GetStaticSelectValueOptions<TKey extends Key = Key, TInitialSelectItem = DefaultInitialSelectItem<TKey>> {
6
+ items: SelectItem<TKey>[];
7
+ value: TKey | TKey[] | null | undefined;
8
+ selectionMode: SelectBaseProps<TKey>["selectionMode"];
9
+ initialSelection?: TInitialSelectItem | TInitialSelectItem[] | null;
10
+ mapInitialToSelectItem?: (item: TInitialSelectItem) => SelectItem<TKey>;
11
+ showSelectionContent?: boolean;
12
+ isDisabled?: boolean;
13
+ collapseAfter?: SelectBaseProps<TKey>["collapseAfter"];
14
+ selectedTagsType?: SelectBaseProps<TKey>["selectedTagsType"];
15
+ }
16
+ interface StaticSelectValueResult<TKey extends Key = Key> {
17
+ selectedItem: SelectItem<TKey> | null;
18
+ selectedItems: SelectItem<TKey>[];
19
+ displayValue: ReactNode;
20
+ isEmpty: boolean;
21
+ }
22
+ export declare const getStaticSelectValue: <TKey extends Key = Key, TInitialSelectItem = DefaultInitialSelectItem<TKey>>({ items, value, selectionMode, initialSelection, mapInitialToSelectItem, showSelectionContent, isDisabled, collapseAfter, selectedTagsType, }: GetStaticSelectValueOptions<TKey, TInitialSelectItem>) => StaticSelectValueResult<TKey>;
23
+ export {};
@@ -0,0 +1,37 @@
1
+ import { SelectInputTags } from "./SelectInputTags.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region src/components/inputs/Selection/shared/staticSelect.utils.tsx
4
+ var getStaticSelectValue = ({ items, value, selectionMode, initialSelection, mapInitialToSelectItem = ((item) => ({
5
+ id: item.id,
6
+ label: item.label ?? item.name ?? ""
7
+ })), showSelectionContent, isDisabled, collapseAfter, selectedTagsType }) => {
8
+ const initialSelectedItems = initialSelection ? (Array.isArray(initialSelection) ? initialSelection : [initialSelection]).map((item) => mapInitialToSelectItem(item)) : [];
9
+ const allItemsMap = /* @__PURE__ */ new Map();
10
+ [...initialSelectedItems, ...items].forEach((item) => allItemsMap.set(item.id, item));
11
+ const getItem = (id) => allItemsMap.get(id) ?? null;
12
+ const selectedItems = Array.isArray(value) ? value.map((id) => getItem(id)).filter((item) => item != null) : [];
13
+ const selectedItem = !Array.isArray(value) && value != null ? getItem(value) : null;
14
+ if (selectionMode === "multiple") return {
15
+ selectedItem,
16
+ selectedItems,
17
+ displayValue: selectedItems.length > 0 ? /* @__PURE__ */ jsx(SelectInputTags, {
18
+ selectedItems,
19
+ isDisabled,
20
+ collapseAfter,
21
+ selectedTagsType,
22
+ onRemove: () => void 0
23
+ }) : "",
24
+ isEmpty: selectedItems.length === 0
25
+ };
26
+ return {
27
+ selectedItem,
28
+ selectedItems,
29
+ displayValue: selectedItem != null ? showSelectionContent && selectedItem.content ? selectedItem.content : /* @__PURE__ */ jsx("div", {
30
+ className: "min-w-0 flex-1 truncate",
31
+ children: selectedItem.label
32
+ }) : "",
33
+ isEmpty: selectedItem == null
34
+ };
35
+ };
36
+ //#endregion
37
+ export { getStaticSelectValue };
@@ -1,4 +1,4 @@
1
- import { useMemo } from "react";
1
+ import { c } from "react/compiler-runtime";
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,61 +24,121 @@ var ReservedItemIds = [
24
24
  NewItemId,
25
25
  LoadingItemId
26
26
  ];
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)] : [],
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,
35
75
  ...cachedItems,
36
- ...showNewItem ? [NewItem(inputValue)] : [],
37
- ...showLoadingItem ? [LoadingItem(inputValue)] : []
76
+ ...t5,
77
+ ...t6
38
78
  ];
39
- }, [
40
- isMultiple,
41
- showNewItemOption,
42
- inputValue,
43
- newItemMinLength,
44
- cachedItems,
45
- contains,
46
- isLoading,
47
- hasLoadMore,
48
- showSelectAllOption
49
- ]);
50
- const allItems = useMemo(() => {
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) {
51
88
  const items = [
52
89
  ...Array.isArray(initialSelectedItems) ? initialSelectedItems : [initialSelectedItems],
53
90
  ...Array.isArray(selectedItems) ? selectedItems : [selectedItems],
54
91
  ...allListItems
55
- ].filter((item) => !!item);
92
+ ].filter(_temp);
56
93
  const allItemsMap = /* @__PURE__ */ new Map();
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
- };
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;
82
142
  }
83
143
  //#endregion
84
144
  export { NewItemId, SelectAllItemId, useSelectItems };