@helpwave/hightide 0.1.17 → 0.1.19

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 (261) hide show
  1. package/dist/components/branding/HelpwaveBadge.js +7 -7
  2. package/dist/components/branding/HelpwaveBadge.js.map +1 -1
  3. package/dist/components/branding/HelpwaveBadge.mjs +7 -7
  4. package/dist/components/branding/HelpwaveBadge.mjs.map +1 -1
  5. package/dist/components/date/DatePicker.js +65 -38
  6. package/dist/components/date/DatePicker.js.map +1 -1
  7. package/dist/components/date/DatePicker.mjs +54 -27
  8. package/dist/components/date/DatePicker.mjs.map +1 -1
  9. package/dist/components/date/DayPicker.js +3 -3
  10. package/dist/components/date/DayPicker.js.map +1 -1
  11. package/dist/components/date/DayPicker.mjs +3 -3
  12. package/dist/components/date/DayPicker.mjs.map +1 -1
  13. package/dist/components/date/TimePicker.js +4 -4
  14. package/dist/components/date/TimePicker.js.map +1 -1
  15. package/dist/components/date/TimePicker.mjs +4 -4
  16. package/dist/components/date/TimePicker.mjs.map +1 -1
  17. package/dist/components/date/YearMonthPicker.js +46 -19
  18. package/dist/components/date/YearMonthPicker.js.map +1 -1
  19. package/dist/components/date/YearMonthPicker.mjs +44 -17
  20. package/dist/components/date/YearMonthPicker.mjs.map +1 -1
  21. package/dist/components/dialogs/ConfirmDialog.js +32 -28
  22. package/dist/components/dialogs/ConfirmDialog.js.map +1 -1
  23. package/dist/components/dialogs/ConfirmDialog.mjs +18 -14
  24. package/dist/components/dialogs/ConfirmDialog.mjs.map +1 -1
  25. package/dist/components/icons-and-geometry/Avatar.js +2 -2
  26. package/dist/components/icons-and-geometry/Avatar.js.map +1 -1
  27. package/dist/components/icons-and-geometry/Avatar.mjs +2 -2
  28. package/dist/components/icons-and-geometry/Avatar.mjs.map +1 -1
  29. package/dist/components/icons-and-geometry/Ring.js +2 -2
  30. package/dist/components/icons-and-geometry/Ring.js.map +1 -1
  31. package/dist/components/icons-and-geometry/Ring.mjs +2 -2
  32. package/dist/components/icons-and-geometry/Ring.mjs.map +1 -1
  33. package/dist/components/layout-and-navigation/BreadCrumb.js +1 -1
  34. package/dist/components/layout-and-navigation/BreadCrumb.js.map +1 -1
  35. package/dist/components/layout-and-navigation/BreadCrumb.mjs +1 -1
  36. package/dist/components/layout-and-navigation/BreadCrumb.mjs.map +1 -1
  37. package/dist/components/layout-and-navigation/Carousel.js +84 -15
  38. package/dist/components/layout-and-navigation/Carousel.js.map +1 -1
  39. package/dist/components/layout-and-navigation/Carousel.mjs +76 -7
  40. package/dist/components/layout-and-navigation/Carousel.mjs.map +1 -1
  41. package/dist/components/layout-and-navigation/Chip.js +1 -1
  42. package/dist/components/layout-and-navigation/Chip.js.map +1 -1
  43. package/dist/components/layout-and-navigation/Chip.mjs +1 -1
  44. package/dist/components/layout-and-navigation/Chip.mjs.map +1 -1
  45. package/dist/components/layout-and-navigation/Expandable.d.mts +7 -1
  46. package/dist/components/layout-and-navigation/Expandable.d.ts +7 -1
  47. package/dist/components/layout-and-navigation/Expandable.js +36 -9
  48. package/dist/components/layout-and-navigation/Expandable.js.map +1 -1
  49. package/dist/components/layout-and-navigation/Expandable.mjs +36 -10
  50. package/dist/components/layout-and-navigation/Expandable.mjs.map +1 -1
  51. package/dist/components/layout-and-navigation/FAQSection.js +34 -11
  52. package/dist/components/layout-and-navigation/FAQSection.js.map +1 -1
  53. package/dist/components/layout-and-navigation/FAQSection.mjs +36 -13
  54. package/dist/components/layout-and-navigation/FAQSection.mjs.map +1 -1
  55. package/dist/components/layout-and-navigation/Overlay.js +92 -19
  56. package/dist/components/layout-and-navigation/Overlay.js.map +1 -1
  57. package/dist/components/layout-and-navigation/Overlay.mjs +81 -8
  58. package/dist/components/layout-and-navigation/Overlay.mjs.map +1 -1
  59. package/dist/components/layout-and-navigation/Pagination.js +82 -10
  60. package/dist/components/layout-and-navigation/Pagination.js.map +1 -1
  61. package/dist/components/layout-and-navigation/Pagination.mjs +79 -7
  62. package/dist/components/layout-and-navigation/Pagination.mjs.map +1 -1
  63. package/dist/components/layout-and-navigation/SearchableList.js +127 -26
  64. package/dist/components/layout-and-navigation/SearchableList.js.map +1 -1
  65. package/dist/components/layout-and-navigation/SearchableList.mjs +126 -25
  66. package/dist/components/layout-and-navigation/SearchableList.mjs.map +1 -1
  67. package/dist/components/layout-and-navigation/StepperBar.js +22 -16
  68. package/dist/components/layout-and-navigation/StepperBar.js.map +1 -1
  69. package/dist/components/layout-and-navigation/StepperBar.mjs +19 -13
  70. package/dist/components/layout-and-navigation/StepperBar.mjs.map +1 -1
  71. package/dist/components/layout-and-navigation/TextImage.js +7 -3
  72. package/dist/components/layout-and-navigation/TextImage.js.map +1 -1
  73. package/dist/components/layout-and-navigation/TextImage.mjs +7 -3
  74. package/dist/components/layout-and-navigation/TextImage.mjs.map +1 -1
  75. package/dist/components/layout-and-navigation/Tile.d.mts +2 -2
  76. package/dist/components/layout-and-navigation/Tile.d.ts +2 -2
  77. package/dist/components/layout-and-navigation/Tile.js +7 -7
  78. package/dist/components/layout-and-navigation/Tile.js.map +1 -1
  79. package/dist/components/layout-and-navigation/Tile.mjs +7 -7
  80. package/dist/components/layout-and-navigation/Tile.mjs.map +1 -1
  81. package/dist/components/loading-states/ErrorComponent.js +1 -1
  82. package/dist/components/loading-states/ErrorComponent.js.map +1 -1
  83. package/dist/components/loading-states/ErrorComponent.mjs +1 -1
  84. package/dist/components/loading-states/ErrorComponent.mjs.map +1 -1
  85. package/dist/components/loading-states/LoadingAndErrorComponent.js +6 -2
  86. package/dist/components/loading-states/LoadingAndErrorComponent.js.map +1 -1
  87. package/dist/components/loading-states/LoadingAndErrorComponent.mjs +6 -2
  88. package/dist/components/loading-states/LoadingAndErrorComponent.mjs.map +1 -1
  89. package/dist/components/loading-states/LoadingAnimation.js +5 -1
  90. package/dist/components/loading-states/LoadingAnimation.js.map +1 -1
  91. package/dist/components/loading-states/LoadingAnimation.mjs +5 -1
  92. package/dist/components/loading-states/LoadingAnimation.mjs.map +1 -1
  93. package/dist/components/loading-states/LoadingButton.js +8 -6
  94. package/dist/components/loading-states/LoadingButton.js.map +1 -1
  95. package/dist/components/loading-states/LoadingButton.mjs +8 -6
  96. package/dist/components/loading-states/LoadingButton.mjs.map +1 -1
  97. package/dist/components/modals/ConfirmModal.js +32 -28
  98. package/dist/components/modals/ConfirmModal.js.map +1 -1
  99. package/dist/components/modals/ConfirmModal.mjs +18 -14
  100. package/dist/components/modals/ConfirmModal.mjs.map +1 -1
  101. package/dist/components/modals/DiscardChangesModal.js +28 -24
  102. package/dist/components/modals/DiscardChangesModal.js.map +1 -1
  103. package/dist/components/modals/DiscardChangesModal.mjs +18 -14
  104. package/dist/components/modals/DiscardChangesModal.mjs.map +1 -1
  105. package/dist/components/modals/InputModal.js +32 -29
  106. package/dist/components/modals/InputModal.js.map +1 -1
  107. package/dist/components/modals/InputModal.mjs +18 -15
  108. package/dist/components/modals/InputModal.mjs.map +1 -1
  109. package/dist/components/modals/LanguageModal.js +728 -435
  110. package/dist/components/modals/LanguageModal.js.map +1 -1
  111. package/dist/components/modals/LanguageModal.mjs +728 -431
  112. package/dist/components/modals/LanguageModal.mjs.map +1 -1
  113. package/dist/components/modals/ThemeModal.js +732 -439
  114. package/dist/components/modals/ThemeModal.js.map +1 -1
  115. package/dist/components/modals/ThemeModal.mjs +731 -434
  116. package/dist/components/modals/ThemeModal.mjs.map +1 -1
  117. package/dist/components/properties/CheckboxProperty.js +110 -35
  118. package/dist/components/properties/CheckboxProperty.js.map +1 -1
  119. package/dist/components/properties/CheckboxProperty.mjs +110 -35
  120. package/dist/components/properties/CheckboxProperty.mjs.map +1 -1
  121. package/dist/components/properties/DateProperty.js +118 -42
  122. package/dist/components/properties/DateProperty.js.map +1 -1
  123. package/dist/components/properties/DateProperty.mjs +114 -38
  124. package/dist/components/properties/DateProperty.mjs.map +1 -1
  125. package/dist/components/properties/MultiSelectProperty.d.mts +10 -3
  126. package/dist/components/properties/MultiSelectProperty.d.ts +10 -3
  127. package/dist/components/properties/MultiSelectProperty.js +915 -464
  128. package/dist/components/properties/MultiSelectProperty.js.map +1 -1
  129. package/dist/components/properties/MultiSelectProperty.mjs +920 -465
  130. package/dist/components/properties/MultiSelectProperty.mjs.map +1 -1
  131. package/dist/components/properties/NumberProperty.js +101 -19
  132. package/dist/components/properties/NumberProperty.js.map +1 -1
  133. package/dist/components/properties/NumberProperty.mjs +101 -19
  134. package/dist/components/properties/NumberProperty.mjs.map +1 -1
  135. package/dist/components/properties/PropertyBase.js +103 -20
  136. package/dist/components/properties/PropertyBase.js.map +1 -1
  137. package/dist/components/properties/PropertyBase.mjs +99 -16
  138. package/dist/components/properties/PropertyBase.mjs.map +1 -1
  139. package/dist/components/properties/SelectProperty.d.mts +9 -2
  140. package/dist/components/properties/SelectProperty.d.ts +9 -2
  141. package/dist/components/properties/SelectProperty.js +682 -244
  142. package/dist/components/properties/SelectProperty.js.map +1 -1
  143. package/dist/components/properties/SelectProperty.mjs +686 -244
  144. package/dist/components/properties/SelectProperty.mjs.map +1 -1
  145. package/dist/components/properties/TextProperty.js +133 -47
  146. package/dist/components/properties/TextProperty.js.map +1 -1
  147. package/dist/components/properties/TextProperty.mjs +133 -47
  148. package/dist/components/properties/TextProperty.mjs.map +1 -1
  149. package/dist/components/table/Table.js +285 -186
  150. package/dist/components/table/Table.js.map +1 -1
  151. package/dist/components/table/Table.mjs +270 -167
  152. package/dist/components/table/Table.mjs.map +1 -1
  153. package/dist/components/table/TableFilterButton.js +179 -79
  154. package/dist/components/table/TableFilterButton.js.map +1 -1
  155. package/dist/components/table/TableFilterButton.mjs +160 -56
  156. package/dist/components/table/TableFilterButton.mjs.map +1 -1
  157. package/dist/components/table/TableSortButton.js +72 -3
  158. package/dist/components/table/TableSortButton.js.map +1 -1
  159. package/dist/components/table/TableSortButton.mjs +72 -3
  160. package/dist/components/table/TableSortButton.mjs.map +1 -1
  161. package/dist/components/user-action/Button.d.mts +15 -2
  162. package/dist/components/user-action/Button.d.ts +15 -2
  163. package/dist/components/user-action/Button.js +12 -12
  164. package/dist/components/user-action/Button.js.map +1 -1
  165. package/dist/components/user-action/Button.mjs +12 -12
  166. package/dist/components/user-action/Button.mjs.map +1 -1
  167. package/dist/components/user-action/Checkbox.js +6 -15
  168. package/dist/components/user-action/Checkbox.js.map +1 -1
  169. package/dist/components/user-action/Checkbox.mjs +6 -15
  170. package/dist/components/user-action/Checkbox.mjs.map +1 -1
  171. package/dist/components/user-action/CopyToClipboardWrapper.js +6 -2
  172. package/dist/components/user-action/CopyToClipboardWrapper.js.map +1 -1
  173. package/dist/components/user-action/CopyToClipboardWrapper.mjs +6 -2
  174. package/dist/components/user-action/CopyToClipboardWrapper.mjs.map +1 -1
  175. package/dist/components/user-action/DateAndTimePicker.js +79 -48
  176. package/dist/components/user-action/DateAndTimePicker.js.map +1 -1
  177. package/dist/components/user-action/DateAndTimePicker.mjs +65 -34
  178. package/dist/components/user-action/DateAndTimePicker.mjs.map +1 -1
  179. package/dist/components/user-action/Input.js +0 -1
  180. package/dist/components/user-action/Input.js.map +1 -1
  181. package/dist/components/user-action/Input.mjs +0 -1
  182. package/dist/components/user-action/Input.mjs.map +1 -1
  183. package/dist/components/user-action/Menu.d.mts +11 -6
  184. package/dist/components/user-action/Menu.d.ts +11 -6
  185. package/dist/components/user-action/Menu.js +128 -31
  186. package/dist/components/user-action/Menu.js.map +1 -1
  187. package/dist/components/user-action/Menu.mjs +134 -33
  188. package/dist/components/user-action/Menu.mjs.map +1 -1
  189. package/dist/components/user-action/MultiSelect.d.mts +17 -7
  190. package/dist/components/user-action/MultiSelect.d.ts +17 -7
  191. package/dist/components/user-action/MultiSelect.js +796 -376
  192. package/dist/components/user-action/MultiSelect.js.map +1 -1
  193. package/dist/components/user-action/MultiSelect.mjs +781 -357
  194. package/dist/components/user-action/MultiSelect.mjs.map +1 -1
  195. package/dist/components/user-action/ScrollPicker.js +2 -2
  196. package/dist/components/user-action/ScrollPicker.js.map +1 -1
  197. package/dist/components/user-action/ScrollPicker.mjs +2 -2
  198. package/dist/components/user-action/ScrollPicker.mjs.map +1 -1
  199. package/dist/components/user-action/SearchBar.d.mts +14 -0
  200. package/dist/components/user-action/SearchBar.d.ts +14 -0
  201. package/dist/components/user-action/SearchBar.js +673 -0
  202. package/dist/components/user-action/SearchBar.js.map +1 -0
  203. package/dist/components/user-action/SearchBar.mjs +637 -0
  204. package/dist/components/user-action/SearchBar.mjs.map +1 -0
  205. package/dist/components/user-action/Select.d.mts +18 -5
  206. package/dist/components/user-action/Select.d.ts +18 -5
  207. package/dist/components/user-action/Select.js +764 -356
  208. package/dist/components/user-action/Select.js.map +1 -1
  209. package/dist/components/user-action/Select.mjs +761 -350
  210. package/dist/components/user-action/Select.mjs.map +1 -1
  211. package/dist/components/user-action/Textarea.d.mts +1 -1
  212. package/dist/components/user-action/Textarea.d.ts +1 -1
  213. package/dist/components/user-action/Textarea.js +13 -4
  214. package/dist/components/user-action/Textarea.js.map +1 -1
  215. package/dist/components/user-action/Textarea.mjs +13 -4
  216. package/dist/components/user-action/Textarea.mjs.map +1 -1
  217. package/dist/components/user-action/ToggleableInput.js +2 -3
  218. package/dist/components/user-action/ToggleableInput.js.map +1 -1
  219. package/dist/components/user-action/ToggleableInput.mjs +2 -3
  220. package/dist/components/user-action/ToggleableInput.mjs.map +1 -1
  221. package/dist/css/globals.css +251 -113
  222. package/dist/css/uncompiled/globals.css +19 -13
  223. package/dist/css/uncompiled/theme/colors-component.css +12 -3
  224. package/dist/css/uncompiled/theme/colors-semantic.css +10 -7
  225. package/dist/css/uncompiled/utitlity/animation.css +70 -1
  226. package/dist/css/uncompiled/utitlity/general.css +16 -0
  227. package/dist/hooks/useDelay.js +0 -1
  228. package/dist/hooks/useDelay.js.map +1 -1
  229. package/dist/hooks/useDelay.mjs +0 -1
  230. package/dist/hooks/useDelay.mjs.map +1 -1
  231. package/dist/hooks/usePopoverPosition.d.mts +15 -0
  232. package/dist/hooks/usePopoverPosition.d.ts +15 -0
  233. package/dist/hooks/usePopoverPosition.js +81 -0
  234. package/dist/hooks/usePopoverPosition.js.map +1 -0
  235. package/dist/hooks/usePopoverPosition.mjs +57 -0
  236. package/dist/hooks/usePopoverPosition.mjs.map +1 -0
  237. package/dist/hooks/useSearch.d.mts +7 -2
  238. package/dist/hooks/useSearch.d.ts +7 -2
  239. package/dist/hooks/useSearch.js +44 -15
  240. package/dist/hooks/useSearch.js.map +1 -1
  241. package/dist/hooks/useSearch.mjs +45 -16
  242. package/dist/hooks/useSearch.mjs.map +1 -1
  243. package/dist/index.d.mts +6 -4
  244. package/dist/index.d.ts +6 -4
  245. package/dist/index.js +1102 -820
  246. package/dist/index.js.map +1 -1
  247. package/dist/index.mjs +1001 -719
  248. package/dist/index.mjs.map +1 -1
  249. package/dist/localization/defaults/form.d.mts +2 -0
  250. package/dist/localization/defaults/form.d.ts +2 -0
  251. package/dist/localization/defaults/form.js +4 -0
  252. package/dist/localization/defaults/form.js.map +1 -1
  253. package/dist/localization/defaults/form.mjs +4 -0
  254. package/dist/localization/defaults/form.mjs.map +1 -1
  255. package/dist/util/simpleSearch.d.mts +1 -1
  256. package/dist/util/simpleSearch.d.ts +1 -1
  257. package/dist/util/simpleSearch.js +4 -1
  258. package/dist/util/simpleSearch.js.map +1 -1
  259. package/dist/util/simpleSearch.mjs +4 -1
  260. package/dist/util/simpleSearch.mjs.map +1 -1
  261. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useSearch.ts","../../src/util/simpleSearch.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport { MultiSearchWithMapping } from '../util/simpleSearch'\n\nexport type UseSearchProps<T> = {\n list: T[],\n searchMapping: (item: T) => string[],\n initialSearch?: string,\n}\n\nexport const useSearch = <T>({\n list,\n initialSearch,\n searchMapping,\n }: UseSearchProps<T>) => {\n const [items, setItems] = useState<T[]>(list)\n const [search, setSearch] = useState<string>(initialSearch)\n\n useEffect(() => {\n setItems(list)\n }, [list])\n\n const result: T[] = useMemo(\n () => MultiSearchWithMapping(search, items, searchMapping),\n [search, items, searchMapping]\n )\n\n return {\n result,\n hasResult: result.length > 0,\n allItems: items,\n setItems,\n search,\n setSearch,\n }\n}","/**\n * Finds all values matching the search values by first mapping the values to a string array and then checking each entry for matches.\n * Returns the list of all matches.\n *\n * @param search The list of search strings e.g. `[name, type]`\n *\n * @param objects The list of objects to be searched in\n *\n * @param mapping The mapping of objects to the string properties they fulfil\n *\n * @return The list of objects that match all search strings\n */\nexport const MultiSubjectSearchWithMapping = <T>(search: string[], objects: T[], mapping: (value: T) => (string | undefined)[]) => {\n return objects.filter(object => {\n const mappedSearchKeywords = mapping(object).map(value => value ? value.toLowerCase().trim() : undefined)\n return search.every(searchValue => !!mappedSearchKeywords.find(value => !!value && value.includes(searchValue.toLowerCase().trim())))\n })\n}\n\n/**\n * Finds all values matching the search value by first mapping the values to a string array and then checking each entry for matches.\n * Returns the list of all matches.\n *\n * @param search The search string e.g `name`\n *\n * @param objects The list of objects to be searched in\n *\n * @param mapping The mapping of objects to the string properties they fulfil, if undefined it is always fulfilled\n *\n * @return The list of objects that match the search string\n */\nexport const MultiSearchWithMapping = <T>(search: string, objects: T[], mapping: (value: T) => (string[] | undefined)) => {\n return objects.filter(object => {\n const mappedSearchKeywords = mapping(object)?.map(value => value.toLowerCase().trim())\n if(!mappedSearchKeywords) {\n return true\n }\n return !!mappedSearchKeywords.find(value => value.includes(search.toLowerCase().trim()))\n })\n}\n\n/**\n * Finds all values matching the search value by first mapping the values to a string and returns the list of all matches.\n *\n * @param search The search string e.g `name`\n *\n * @param objects The list of objects to be searched in\n *\n * @param mapping The mapping of objects to a string that is compared to the search\n *\n * @return The list of objects that match the search string\n */\nexport const SimpleSearchWithMapping = <T>(search: string, objects: T[], mapping: (value: T) => string) => {\n return MultiSearchWithMapping(search, objects, value => [mapping(value)])\n}\n\n/**\n * Finds all values matching the search value and returns the list of all matches.\n *\n * @param search The search string e.g `name`\n *\n * @param objects The list of objects to be searched in\n *\n * @return The list of objects that match the search string\n */\nexport const SimpleSearch = (search: string, objects: string[]) => {\n return SimpleSearchWithMapping(search, objects, value => value)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6C;;;AC+BtC,IAAM,yBAAyB,CAAI,QAAgB,SAAc,YAAkD;AACxH,SAAO,QAAQ,OAAO,YAAU;AAC9B,UAAM,uBAAuB,QAAQ,MAAM,GAAG,IAAI,WAAS,MAAM,YAAY,EAAE,KAAK,CAAC;AACrF,QAAG,CAAC,sBAAsB;AACxB,aAAO;AAAA,IACT;AACA,WAAO,CAAC,CAAC,qBAAqB,KAAK,WAAS,MAAM,SAAS,OAAO,YAAY,EAAE,KAAK,CAAC,CAAC;AAAA,EACzF,CAAC;AACH;;;AD9BO,IAAM,YAAY,CAAI;AAAA,EACE;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACpD,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAc,IAAI;AAC5C,QAAM,CAAC,QAAQ,SAAS,QAAI,uBAAiB,aAAa;AAE1D,8BAAU,MAAM;AACd,aAAS,IAAI;AAAA,EACf,GAAG,CAAC,IAAI,CAAC;AAET,QAAM,aAAc;AAAA,IAClB,MAAM,uBAAuB,QAAQ,OAAO,aAAa;AAAA,IACzD,CAAC,QAAQ,OAAO,aAAa;AAAA,EAC/B;AAEA,SAAO;AAAA,IACL;AAAA,IACA,WAAW,OAAO,SAAS;AAAA,IAC3B,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/hooks/useSearch.ts","../../src/util/simpleSearch.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react'\nimport { MultiSubjectSearchWithMapping } from '../util/simpleSearch'\n\nexport type UseSearchProps<T> = {\n list: T[],\n searchMapping: (item: T) => string[],\n initialSearch?: string,\n additionalSearchTags?: string[],\n isSearchInstant?: boolean,\n sortingFunction?: (a: T, b: T) => number,\n filter?: (item: T) => boolean,\n disabled?: boolean,\n}\n\nexport const useSearch = <T>({\n list,\n initialSearch,\n searchMapping,\n additionalSearchTags,\n isSearchInstant = true,\n sortingFunction,\n filter,\n disabled = false,\n }: UseSearchProps<T>) => {\n const [search, setSearch] = useState<string>(initialSearch ?? '')\n const [result, setResult] = useState<T[]>(list)\n const searchTags = useMemo(() => additionalSearchTags ?? [], [additionalSearchTags])\n\n const updateSearch = useCallback((newSearch?: string) => {\n const usedSearch = newSearch ?? search\n if (newSearch) {\n setSearch(search)\n }\n setResult(MultiSubjectSearchWithMapping([usedSearch, ...searchTags], list, searchMapping))\n }, [searchTags, list, search, searchMapping])\n\n useEffect(() => {\n if (isSearchInstant) {\n setResult(MultiSubjectSearchWithMapping([search, ...searchTags], list, searchMapping))\n }\n }, [searchTags, isSearchInstant, list, search, searchMapping, additionalSearchTags])\n\n const filteredResult: T[] = useMemo(() => {\n if (!filter) {\n return result\n }\n return result.filter(filter)\n }, [result, filter])\n\n const sortedAndFilteredResult: T[] = useMemo(() => {\n if (!sortingFunction) {\n return filteredResult\n }\n return filteredResult.sort(sortingFunction)\n }, [filteredResult, sortingFunction])\n\n const usedResult = useMemo(() => {\n if (!disabled) {\n return sortedAndFilteredResult\n }\n return list\n }, [disabled, list, sortedAndFilteredResult])\n\n return {\n result: usedResult,\n hasResult: usedResult.length > 0,\n allItems: list,\n updateSearch,\n search,\n setSearch,\n }\n}","/**\n * Finds all values matching the search values by first mapping the values to a string array and then checking each entry for matches.\n * Returns the list of all matches.\n *\n * @param search The list of search strings e.g. `[name, type]`\n *\n * @param objects The list of objects to be searched in\n *\n * @param mapping The mapping of objects to the string properties they fulfil\n *\n * @return The list of objects that match all search strings\n */\nexport const MultiSubjectSearchWithMapping = <T>(search: string[], objects: T[], mapping: (value: T) => (string[] | undefined)) => {\n return objects.filter(object => {\n const mappedSearchKeywords = mapping(object)?.map(value => value.toLowerCase().trim())\n if(!mappedSearchKeywords) {\n return true\n }\n return search.every(searchValue => !!mappedSearchKeywords.find(value => !!value && value.includes(searchValue.toLowerCase().trim())))\n })\n}\n\n/**\n * Finds all values matching the search value by first mapping the values to a string array and then checking each entry for matches.\n * Returns the list of all matches.\n *\n * @param search The search string e.g `name`\n *\n * @param objects The list of objects to be searched in\n *\n * @param mapping The mapping of objects to the string properties they fulfil, if undefined it is always fulfilled\n *\n * @return The list of objects that match the search string\n */\nexport const MultiSearchWithMapping = <T>(search: string, objects: T[], mapping: (value: T) => (string[] | undefined)) => {\n return objects.filter(object => {\n const mappedSearchKeywords = mapping(object)?.map(value => value.toLowerCase().trim())\n if(!mappedSearchKeywords) {\n return true\n }\n return !!mappedSearchKeywords.find(value => value.includes(search.toLowerCase().trim()))\n })\n}\n\n/**\n * Finds all values matching the search value by first mapping the values to a string and returns the list of all matches.\n *\n * @param search The search string e.g `name`\n *\n * @param objects The list of objects to be searched in\n *\n * @param mapping The mapping of objects to a string that is compared to the search\n *\n * @return The list of objects that match the search string\n */\nexport const SimpleSearchWithMapping = <T>(search: string, objects: T[], mapping: (value: T) => string) => {\n return MultiSearchWithMapping(search, objects, value => [mapping(value)])\n}\n\n/**\n * Finds all values matching the search value and returns the list of all matches.\n *\n * @param search The search string e.g `name`\n *\n * @param objects The list of objects to be searched in\n *\n * @return The list of objects that match the search string\n */\nexport const SimpleSearch = (search: string, objects: string[]) => {\n return SimpleSearchWithMapping(search, objects, value => value)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0D;;;ACYnD,IAAM,gCAAgC,CAAI,QAAkB,SAAc,YAAkD;AACjI,SAAO,QAAQ,OAAO,YAAU;AAC9B,UAAM,uBAAuB,QAAQ,MAAM,GAAG,IAAI,WAAS,MAAM,YAAY,EAAE,KAAK,CAAC;AACrF,QAAG,CAAC,sBAAsB;AACxB,aAAO;AAAA,IACT;AACA,WAAO,OAAO,MAAM,iBAAe,CAAC,CAAC,qBAAqB,KAAK,WAAS,CAAC,CAAC,SAAS,MAAM,SAAS,YAAY,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;AAAA,EACtI,CAAC;AACH;;;ADNO,IAAM,YAAY,CAAI;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB;AAAA,EACA;AAAA,EACA,WAAW;AACb,MAAyB;AACpD,QAAM,CAAC,QAAQ,SAAS,QAAI,uBAAiB,iBAAiB,EAAE;AAChE,QAAM,CAAC,QAAQ,SAAS,QAAI,uBAAc,IAAI;AAC9C,QAAM,iBAAa,sBAAQ,MAAM,wBAAwB,CAAC,GAAG,CAAC,oBAAoB,CAAC;AAEnF,QAAM,mBAAe,0BAAY,CAAC,cAAuB;AACvD,UAAM,aAAa,aAAa;AAChC,QAAI,WAAW;AACb,gBAAU,MAAM;AAAA,IAClB;AACA,cAAU,8BAA8B,CAAC,YAAY,GAAG,UAAU,GAAG,MAAM,aAAa,CAAC;AAAA,EAC3F,GAAG,CAAC,YAAY,MAAM,QAAQ,aAAa,CAAC;AAE5C,8BAAU,MAAM;AACd,QAAI,iBAAiB;AACnB,gBAAU,8BAA8B,CAAC,QAAQ,GAAG,UAAU,GAAG,MAAM,aAAa,CAAC;AAAA,IACvF;AAAA,EACF,GAAG,CAAC,YAAY,iBAAiB,MAAM,QAAQ,eAAe,oBAAoB,CAAC;AAEnF,QAAM,qBAAsB,sBAAQ,MAAM;AACxC,QAAI,CAAC,QAAQ;AACX,aAAO;AAAA,IACT;AACA,WAAO,OAAO,OAAO,MAAM;AAAA,EAC7B,GAAG,CAAC,QAAQ,MAAM,CAAC;AAEnB,QAAM,8BAA+B,sBAAQ,MAAM;AACjD,QAAI,CAAC,iBAAiB;AACpB,aAAO;AAAA,IACT;AACA,WAAO,eAAe,KAAK,eAAe;AAAA,EAC5C,GAAG,CAAC,gBAAgB,eAAe,CAAC;AAEpC,QAAM,iBAAa,sBAAQ,MAAM;AAC/B,QAAI,CAAC,UAAU;AACb,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT,GAAG,CAAC,UAAU,MAAM,uBAAuB,CAAC;AAE5C,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,WAAW,WAAW,SAAS;AAAA,IAC/B,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
@@ -1,14 +1,14 @@
1
1
  // src/hooks/useSearch.ts
2
- import { useEffect, useMemo, useState } from "react";
2
+ import { useCallback, useEffect, useMemo, useState } from "react";
3
3
 
4
4
  // src/util/simpleSearch.ts
5
- var MultiSearchWithMapping = (search, objects, mapping) => {
5
+ var MultiSubjectSearchWithMapping = (search, objects, mapping) => {
6
6
  return objects.filter((object) => {
7
7
  const mappedSearchKeywords = mapping(object)?.map((value) => value.toLowerCase().trim());
8
8
  if (!mappedSearchKeywords) {
9
9
  return true;
10
10
  }
11
- return !!mappedSearchKeywords.find((value) => value.includes(search.toLowerCase().trim()));
11
+ return search.every((searchValue) => !!mappedSearchKeywords.find((value) => !!value && value.includes(searchValue.toLowerCase().trim())));
12
12
  });
13
13
  };
14
14
 
@@ -16,22 +16,51 @@ var MultiSearchWithMapping = (search, objects, mapping) => {
16
16
  var useSearch = ({
17
17
  list,
18
18
  initialSearch,
19
- searchMapping
19
+ searchMapping,
20
+ additionalSearchTags,
21
+ isSearchInstant = true,
22
+ sortingFunction,
23
+ filter,
24
+ disabled = false
20
25
  }) => {
21
- const [items, setItems] = useState(list);
22
- const [search, setSearch] = useState(initialSearch);
26
+ const [search, setSearch] = useState(initialSearch ?? "");
27
+ const [result, setResult] = useState(list);
28
+ const searchTags = useMemo(() => additionalSearchTags ?? [], [additionalSearchTags]);
29
+ const updateSearch = useCallback((newSearch) => {
30
+ const usedSearch = newSearch ?? search;
31
+ if (newSearch) {
32
+ setSearch(search);
33
+ }
34
+ setResult(MultiSubjectSearchWithMapping([usedSearch, ...searchTags], list, searchMapping));
35
+ }, [searchTags, list, search, searchMapping]);
23
36
  useEffect(() => {
24
- setItems(list);
25
- }, [list]);
26
- const result = useMemo(
27
- () => MultiSearchWithMapping(search, items, searchMapping),
28
- [search, items, searchMapping]
29
- );
37
+ if (isSearchInstant) {
38
+ setResult(MultiSubjectSearchWithMapping([search, ...searchTags], list, searchMapping));
39
+ }
40
+ }, [searchTags, isSearchInstant, list, search, searchMapping, additionalSearchTags]);
41
+ const filteredResult = useMemo(() => {
42
+ if (!filter) {
43
+ return result;
44
+ }
45
+ return result.filter(filter);
46
+ }, [result, filter]);
47
+ const sortedAndFilteredResult = useMemo(() => {
48
+ if (!sortingFunction) {
49
+ return filteredResult;
50
+ }
51
+ return filteredResult.sort(sortingFunction);
52
+ }, [filteredResult, sortingFunction]);
53
+ const usedResult = useMemo(() => {
54
+ if (!disabled) {
55
+ return sortedAndFilteredResult;
56
+ }
57
+ return list;
58
+ }, [disabled, list, sortedAndFilteredResult]);
30
59
  return {
31
- result,
32
- hasResult: result.length > 0,
33
- allItems: items,
34
- setItems,
60
+ result: usedResult,
61
+ hasResult: usedResult.length > 0,
62
+ allItems: list,
63
+ updateSearch,
35
64
  search,
36
65
  setSearch
37
66
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useSearch.ts","../../src/util/simpleSearch.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport { MultiSearchWithMapping } from '../util/simpleSearch'\n\nexport type UseSearchProps<T> = {\n list: T[],\n searchMapping: (item: T) => string[],\n initialSearch?: string,\n}\n\nexport const useSearch = <T>({\n list,\n initialSearch,\n searchMapping,\n }: UseSearchProps<T>) => {\n const [items, setItems] = useState<T[]>(list)\n const [search, setSearch] = useState<string>(initialSearch)\n\n useEffect(() => {\n setItems(list)\n }, [list])\n\n const result: T[] = useMemo(\n () => MultiSearchWithMapping(search, items, searchMapping),\n [search, items, searchMapping]\n )\n\n return {\n result,\n hasResult: result.length > 0,\n allItems: items,\n setItems,\n search,\n setSearch,\n }\n}","/**\n * Finds all values matching the search values by first mapping the values to a string array and then checking each entry for matches.\n * Returns the list of all matches.\n *\n * @param search The list of search strings e.g. `[name, type]`\n *\n * @param objects The list of objects to be searched in\n *\n * @param mapping The mapping of objects to the string properties they fulfil\n *\n * @return The list of objects that match all search strings\n */\nexport const MultiSubjectSearchWithMapping = <T>(search: string[], objects: T[], mapping: (value: T) => (string | undefined)[]) => {\n return objects.filter(object => {\n const mappedSearchKeywords = mapping(object).map(value => value ? value.toLowerCase().trim() : undefined)\n return search.every(searchValue => !!mappedSearchKeywords.find(value => !!value && value.includes(searchValue.toLowerCase().trim())))\n })\n}\n\n/**\n * Finds all values matching the search value by first mapping the values to a string array and then checking each entry for matches.\n * Returns the list of all matches.\n *\n * @param search The search string e.g `name`\n *\n * @param objects The list of objects to be searched in\n *\n * @param mapping The mapping of objects to the string properties they fulfil, if undefined it is always fulfilled\n *\n * @return The list of objects that match the search string\n */\nexport const MultiSearchWithMapping = <T>(search: string, objects: T[], mapping: (value: T) => (string[] | undefined)) => {\n return objects.filter(object => {\n const mappedSearchKeywords = mapping(object)?.map(value => value.toLowerCase().trim())\n if(!mappedSearchKeywords) {\n return true\n }\n return !!mappedSearchKeywords.find(value => value.includes(search.toLowerCase().trim()))\n })\n}\n\n/**\n * Finds all values matching the search value by first mapping the values to a string and returns the list of all matches.\n *\n * @param search The search string e.g `name`\n *\n * @param objects The list of objects to be searched in\n *\n * @param mapping The mapping of objects to a string that is compared to the search\n *\n * @return The list of objects that match the search string\n */\nexport const SimpleSearchWithMapping = <T>(search: string, objects: T[], mapping: (value: T) => string) => {\n return MultiSearchWithMapping(search, objects, value => [mapping(value)])\n}\n\n/**\n * Finds all values matching the search value and returns the list of all matches.\n *\n * @param search The search string e.g `name`\n *\n * @param objects The list of objects to be searched in\n *\n * @return The list of objects that match the search string\n */\nexport const SimpleSearch = (search: string, objects: string[]) => {\n return SimpleSearchWithMapping(search, objects, value => value)\n}\n"],"mappings":";AAAA,SAAS,WAAW,SAAS,gBAAgB;;;AC+BtC,IAAM,yBAAyB,CAAI,QAAgB,SAAc,YAAkD;AACxH,SAAO,QAAQ,OAAO,YAAU;AAC9B,UAAM,uBAAuB,QAAQ,MAAM,GAAG,IAAI,WAAS,MAAM,YAAY,EAAE,KAAK,CAAC;AACrF,QAAG,CAAC,sBAAsB;AACxB,aAAO;AAAA,IACT;AACA,WAAO,CAAC,CAAC,qBAAqB,KAAK,WAAS,MAAM,SAAS,OAAO,YAAY,EAAE,KAAK,CAAC,CAAC;AAAA,EACzF,CAAC;AACH;;;AD9BO,IAAM,YAAY,CAAI;AAAA,EACE;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACpD,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAc,IAAI;AAC5C,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAiB,aAAa;AAE1D,YAAU,MAAM;AACd,aAAS,IAAI;AAAA,EACf,GAAG,CAAC,IAAI,CAAC;AAET,QAAM,SAAc;AAAA,IAClB,MAAM,uBAAuB,QAAQ,OAAO,aAAa;AAAA,IACzD,CAAC,QAAQ,OAAO,aAAa;AAAA,EAC/B;AAEA,SAAO;AAAA,IACL;AAAA,IACA,WAAW,OAAO,SAAS;AAAA,IAC3B,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/hooks/useSearch.ts","../../src/util/simpleSearch.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react'\nimport { MultiSubjectSearchWithMapping } from '../util/simpleSearch'\n\nexport type UseSearchProps<T> = {\n list: T[],\n searchMapping: (item: T) => string[],\n initialSearch?: string,\n additionalSearchTags?: string[],\n isSearchInstant?: boolean,\n sortingFunction?: (a: T, b: T) => number,\n filter?: (item: T) => boolean,\n disabled?: boolean,\n}\n\nexport const useSearch = <T>({\n list,\n initialSearch,\n searchMapping,\n additionalSearchTags,\n isSearchInstant = true,\n sortingFunction,\n filter,\n disabled = false,\n }: UseSearchProps<T>) => {\n const [search, setSearch] = useState<string>(initialSearch ?? '')\n const [result, setResult] = useState<T[]>(list)\n const searchTags = useMemo(() => additionalSearchTags ?? [], [additionalSearchTags])\n\n const updateSearch = useCallback((newSearch?: string) => {\n const usedSearch = newSearch ?? search\n if (newSearch) {\n setSearch(search)\n }\n setResult(MultiSubjectSearchWithMapping([usedSearch, ...searchTags], list, searchMapping))\n }, [searchTags, list, search, searchMapping])\n\n useEffect(() => {\n if (isSearchInstant) {\n setResult(MultiSubjectSearchWithMapping([search, ...searchTags], list, searchMapping))\n }\n }, [searchTags, isSearchInstant, list, search, searchMapping, additionalSearchTags])\n\n const filteredResult: T[] = useMemo(() => {\n if (!filter) {\n return result\n }\n return result.filter(filter)\n }, [result, filter])\n\n const sortedAndFilteredResult: T[] = useMemo(() => {\n if (!sortingFunction) {\n return filteredResult\n }\n return filteredResult.sort(sortingFunction)\n }, [filteredResult, sortingFunction])\n\n const usedResult = useMemo(() => {\n if (!disabled) {\n return sortedAndFilteredResult\n }\n return list\n }, [disabled, list, sortedAndFilteredResult])\n\n return {\n result: usedResult,\n hasResult: usedResult.length > 0,\n allItems: list,\n updateSearch,\n search,\n setSearch,\n }\n}","/**\n * Finds all values matching the search values by first mapping the values to a string array and then checking each entry for matches.\n * Returns the list of all matches.\n *\n * @param search The list of search strings e.g. `[name, type]`\n *\n * @param objects The list of objects to be searched in\n *\n * @param mapping The mapping of objects to the string properties they fulfil\n *\n * @return The list of objects that match all search strings\n */\nexport const MultiSubjectSearchWithMapping = <T>(search: string[], objects: T[], mapping: (value: T) => (string[] | undefined)) => {\n return objects.filter(object => {\n const mappedSearchKeywords = mapping(object)?.map(value => value.toLowerCase().trim())\n if(!mappedSearchKeywords) {\n return true\n }\n return search.every(searchValue => !!mappedSearchKeywords.find(value => !!value && value.includes(searchValue.toLowerCase().trim())))\n })\n}\n\n/**\n * Finds all values matching the search value by first mapping the values to a string array and then checking each entry for matches.\n * Returns the list of all matches.\n *\n * @param search The search string e.g `name`\n *\n * @param objects The list of objects to be searched in\n *\n * @param mapping The mapping of objects to the string properties they fulfil, if undefined it is always fulfilled\n *\n * @return The list of objects that match the search string\n */\nexport const MultiSearchWithMapping = <T>(search: string, objects: T[], mapping: (value: T) => (string[] | undefined)) => {\n return objects.filter(object => {\n const mappedSearchKeywords = mapping(object)?.map(value => value.toLowerCase().trim())\n if(!mappedSearchKeywords) {\n return true\n }\n return !!mappedSearchKeywords.find(value => value.includes(search.toLowerCase().trim()))\n })\n}\n\n/**\n * Finds all values matching the search value by first mapping the values to a string and returns the list of all matches.\n *\n * @param search The search string e.g `name`\n *\n * @param objects The list of objects to be searched in\n *\n * @param mapping The mapping of objects to a string that is compared to the search\n *\n * @return The list of objects that match the search string\n */\nexport const SimpleSearchWithMapping = <T>(search: string, objects: T[], mapping: (value: T) => string) => {\n return MultiSearchWithMapping(search, objects, value => [mapping(value)])\n}\n\n/**\n * Finds all values matching the search value and returns the list of all matches.\n *\n * @param search The search string e.g `name`\n *\n * @param objects The list of objects to be searched in\n *\n * @return The list of objects that match the search string\n */\nexport const SimpleSearch = (search: string, objects: string[]) => {\n return SimpleSearchWithMapping(search, objects, value => value)\n}\n"],"mappings":";AAAA,SAAS,aAAa,WAAW,SAAS,gBAAgB;;;ACYnD,IAAM,gCAAgC,CAAI,QAAkB,SAAc,YAAkD;AACjI,SAAO,QAAQ,OAAO,YAAU;AAC9B,UAAM,uBAAuB,QAAQ,MAAM,GAAG,IAAI,WAAS,MAAM,YAAY,EAAE,KAAK,CAAC;AACrF,QAAG,CAAC,sBAAsB;AACxB,aAAO;AAAA,IACT;AACA,WAAO,OAAO,MAAM,iBAAe,CAAC,CAAC,qBAAqB,KAAK,WAAS,CAAC,CAAC,SAAS,MAAM,SAAS,YAAY,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;AAAA,EACtI,CAAC;AACH;;;ADNO,IAAM,YAAY,CAAI;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB;AAAA,EACA;AAAA,EACA,WAAW;AACb,MAAyB;AACpD,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAiB,iBAAiB,EAAE;AAChE,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAc,IAAI;AAC9C,QAAM,aAAa,QAAQ,MAAM,wBAAwB,CAAC,GAAG,CAAC,oBAAoB,CAAC;AAEnF,QAAM,eAAe,YAAY,CAAC,cAAuB;AACvD,UAAM,aAAa,aAAa;AAChC,QAAI,WAAW;AACb,gBAAU,MAAM;AAAA,IAClB;AACA,cAAU,8BAA8B,CAAC,YAAY,GAAG,UAAU,GAAG,MAAM,aAAa,CAAC;AAAA,EAC3F,GAAG,CAAC,YAAY,MAAM,QAAQ,aAAa,CAAC;AAE5C,YAAU,MAAM;AACd,QAAI,iBAAiB;AACnB,gBAAU,8BAA8B,CAAC,QAAQ,GAAG,UAAU,GAAG,MAAM,aAAa,CAAC;AAAA,IACvF;AAAA,EACF,GAAG,CAAC,YAAY,iBAAiB,MAAM,QAAQ,eAAe,oBAAoB,CAAC;AAEnF,QAAM,iBAAsB,QAAQ,MAAM;AACxC,QAAI,CAAC,QAAQ;AACX,aAAO;AAAA,IACT;AACA,WAAO,OAAO,OAAO,MAAM;AAAA,EAC7B,GAAG,CAAC,QAAQ,MAAM,CAAC;AAEnB,QAAM,0BAA+B,QAAQ,MAAM;AACjD,QAAI,CAAC,iBAAiB;AACpB,aAAO;AAAA,IACT;AACA,WAAO,eAAe,KAAK,eAAe;AAAA,EAC5C,GAAG,CAAC,gBAAgB,eAAe,CAAC;AAEpC,QAAM,aAAa,QAAQ,MAAM;AAC/B,QAAI,CAAC,UAAU;AACb,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT,GAAG,CAAC,UAAU,MAAM,uBAAuB,CAAC;AAE5C,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,WAAW,WAAW,SAAS;AAAA,IAC/B,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
package/dist/index.d.mts CHANGED
@@ -16,7 +16,7 @@ export { BreadCrumb, Crumb } from './components/layout-and-navigation/BreadCrumb
16
16
  export { Carousel, CarouselProps } from './components/layout-and-navigation/Carousel.mjs';
17
17
  export { Chip, ChipColor, ChipList, ChipListProps, ChipProps } from './components/layout-and-navigation/Chip.mjs';
18
18
  export { DividerInserter, DividerInserterProps } from './components/layout-and-navigation/DividerInserter.mjs';
19
- export { Expandable, ExpandableProps, ExpandableUncontrolled } from './components/layout-and-navigation/Expandable.mjs';
19
+ export { Expandable, ExpandableProps, ExpandableUncontrolled, ExpansionIcon, ExpansionIconProps } from './components/layout-and-navigation/Expandable.mjs';
20
20
  export { FAQItem, FAQSection, FAQSectionProps } from './components/layout-and-navigation/FAQSection.mjs';
21
21
  export { ASTNodeInterpreter, ASTNodeInterpreterProps, MarkdownInterpreter, MarkdownInterpreterProps } from './components/layout-and-navigation/MarkdownInterpreter.mjs';
22
22
  export { Dialog, DialogProps, Modal, ModalProps, Overlay, OverlayHeader, OverlayHeaderProps, OverlayProps } from './components/layout-and-navigation/Overlay.mjs';
@@ -55,10 +55,11 @@ export { CopyToClipboardWrapper, CopyToClipboardWrapperProps } from './component
55
55
  export { DateTimePicker, DateTimePickerMode, DateTimePickerProps } from './components/user-action/DateAndTimePicker.mjs';
56
56
  export { EditCompleteOptions, EditCompleteOptionsResolved, FormInput, FormInputProps, Input, InputProps, InputUncontrolled } from './components/user-action/Input.mjs';
57
57
  export { Label, LabelProps, LabelType } from './components/user-action/Label.mjs';
58
- export { Menu, MenuItem, MenuItemProps, MenuProps } from './components/user-action/Menu.mjs';
59
- export { MultiSelect, MultiSelectOption, MultiSelectProps, MultiSelectUncontrolled } from './components/user-action/MultiSelect.mjs';
58
+ export { Menu, MenuBag, MenuItem, MenuItemProps, MenuProps } from './components/user-action/Menu.mjs';
59
+ export { MultiSelect, MultiSelectBag, MultiSelectOption, MultiSelectProps, MultiSelectUncontrolled } from './components/user-action/MultiSelect.mjs';
60
60
  export { ScrollPicker, ScrollPickerProps } from './components/user-action/ScrollPicker.mjs';
61
- export { Select, SelectOption, SelectProps, SelectUncontrolled } from './components/user-action/Select.mjs';
61
+ export { SearchBar, SearchBarProps } from './components/user-action/SearchBar.mjs';
62
+ export { Select, SelectBag, SelectOption, SelectProps, SelectTile, SelectTileProps, SelectUncontrolled } from './components/user-action/Select.mjs';
62
63
  export { Textarea, TextareaProps, TextareaUncontrolled } from './components/user-action/Textarea.mjs';
63
64
  export { ToggleableInput, ToggleableInputUncontrolled } from './components/user-action/ToggleableInput.mjs';
64
65
  export { Tooltip, TooltipProps } from './components/user-action/Tooltip.mjs';
@@ -68,6 +69,7 @@ export { useFocusOnceVisible } from './hooks/useFocusOnceVisible.mjs';
68
69
  export { useHoverState } from './hooks/useHoverState.mjs';
69
70
  export { useLocalStorage } from './hooks/useLocalStorage.mjs';
70
71
  export { useOutsideClick } from './hooks/useOutsideClick.mjs';
72
+ export { PopoverHorizontalAlignment, PopoverVerticalAlignment, usePopoverPosition } from './hooks/usePopoverPosition.mjs';
71
73
  export { useRerender } from './hooks/useRerender.mjs';
72
74
  export { useResizeCallbackWrapper } from './hooks/useResizeCallbackWrapper.mjs';
73
75
  export { UseSearchProps, useSearch } from './hooks/useSearch.mjs';
package/dist/index.d.ts CHANGED
@@ -16,7 +16,7 @@ export { BreadCrumb, Crumb } from './components/layout-and-navigation/BreadCrumb
16
16
  export { Carousel, CarouselProps } from './components/layout-and-navigation/Carousel.js';
17
17
  export { Chip, ChipColor, ChipList, ChipListProps, ChipProps } from './components/layout-and-navigation/Chip.js';
18
18
  export { DividerInserter, DividerInserterProps } from './components/layout-and-navigation/DividerInserter.js';
19
- export { Expandable, ExpandableProps, ExpandableUncontrolled } from './components/layout-and-navigation/Expandable.js';
19
+ export { Expandable, ExpandableProps, ExpandableUncontrolled, ExpansionIcon, ExpansionIconProps } from './components/layout-and-navigation/Expandable.js';
20
20
  export { FAQItem, FAQSection, FAQSectionProps } from './components/layout-and-navigation/FAQSection.js';
21
21
  export { ASTNodeInterpreter, ASTNodeInterpreterProps, MarkdownInterpreter, MarkdownInterpreterProps } from './components/layout-and-navigation/MarkdownInterpreter.js';
22
22
  export { Dialog, DialogProps, Modal, ModalProps, Overlay, OverlayHeader, OverlayHeaderProps, OverlayProps } from './components/layout-and-navigation/Overlay.js';
@@ -55,10 +55,11 @@ export { CopyToClipboardWrapper, CopyToClipboardWrapperProps } from './component
55
55
  export { DateTimePicker, DateTimePickerMode, DateTimePickerProps } from './components/user-action/DateAndTimePicker.js';
56
56
  export { EditCompleteOptions, EditCompleteOptionsResolved, FormInput, FormInputProps, Input, InputProps, InputUncontrolled } from './components/user-action/Input.js';
57
57
  export { Label, LabelProps, LabelType } from './components/user-action/Label.js';
58
- export { Menu, MenuItem, MenuItemProps, MenuProps } from './components/user-action/Menu.js';
59
- export { MultiSelect, MultiSelectOption, MultiSelectProps, MultiSelectUncontrolled } from './components/user-action/MultiSelect.js';
58
+ export { Menu, MenuBag, MenuItem, MenuItemProps, MenuProps } from './components/user-action/Menu.js';
59
+ export { MultiSelect, MultiSelectBag, MultiSelectOption, MultiSelectProps, MultiSelectUncontrolled } from './components/user-action/MultiSelect.js';
60
60
  export { ScrollPicker, ScrollPickerProps } from './components/user-action/ScrollPicker.js';
61
- export { Select, SelectOption, SelectProps, SelectUncontrolled } from './components/user-action/Select.js';
61
+ export { SearchBar, SearchBarProps } from './components/user-action/SearchBar.js';
62
+ export { Select, SelectBag, SelectOption, SelectProps, SelectTile, SelectTileProps, SelectUncontrolled } from './components/user-action/Select.js';
62
63
  export { Textarea, TextareaProps, TextareaUncontrolled } from './components/user-action/Textarea.js';
63
64
  export { ToggleableInput, ToggleableInputUncontrolled } from './components/user-action/ToggleableInput.js';
64
65
  export { Tooltip, TooltipProps } from './components/user-action/Tooltip.js';
@@ -68,6 +69,7 @@ export { useFocusOnceVisible } from './hooks/useFocusOnceVisible.js';
68
69
  export { useHoverState } from './hooks/useHoverState.js';
69
70
  export { useLocalStorage } from './hooks/useLocalStorage.js';
70
71
  export { useOutsideClick } from './hooks/useOutsideClick.js';
72
+ export { PopoverHorizontalAlignment, PopoverVerticalAlignment, usePopoverPosition } from './hooks/usePopoverPosition.js';
71
73
  export { useRerender } from './hooks/useRerender.js';
72
74
  export { useResizeCallbackWrapper } from './hooks/useResizeCallbackWrapper.js';
73
75
  export { UseSearchProps, useSearch } from './hooks/useSearch.js';