@kosmeo-ui/react 0.1.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/README.md +3 -1
  2. package/dist/components/buttons/button/index.d.ts +2 -0
  3. package/dist/components/buttons/button/index.d.ts.map +1 -1
  4. package/dist/components/buttons/button/index.js +2 -2
  5. package/dist/components/buttons/button/index.js.map +1 -1
  6. package/dist/components/buttons/button/styles.css +45 -43
  7. package/dist/components/buttons/rowActions/index.d.ts.map +1 -1
  8. package/dist/components/buttons/rowActions/index.js +2 -1
  9. package/dist/components/buttons/rowActions/index.js.map +1 -1
  10. package/dist/components/buttons/rowActions/styles.css +7 -0
  11. package/dist/components/data-display/addressBlock/styles.css +2 -4
  12. package/dist/components/data-display/colorSwatch/index.d.ts +1 -1
  13. package/dist/components/data-display/colorSwatch/index.d.ts.map +1 -1
  14. package/dist/components/data-display/colorSwatch/index.js +1 -1
  15. package/dist/components/data-display/colorSwatch/index.js.map +1 -1
  16. package/dist/components/data-display/colorSwatch/styles.css +1 -1
  17. package/dist/components/data-display/dataTable/index.d.ts.map +1 -1
  18. package/dist/components/data-display/dataTable/index.js +7 -3
  19. package/dist/components/data-display/dataTable/index.js.map +1 -1
  20. package/dist/components/data-display/dataTable/styles.css +18 -2
  21. package/dist/components/data-display/dataTable/utils/parseDataKey.d.ts +8 -1
  22. package/dist/components/data-display/dataTable/utils/parseDataKey.d.ts.map +1 -1
  23. package/dist/components/data-display/dataTable/utils/parseDataKey.js +13 -41
  24. package/dist/components/data-display/dataTable/utils/parseDataKey.js.map +1 -1
  25. package/dist/components/data-display/imagePreview/styles.css +2 -2
  26. package/dist/components/data-display/infiniteScroll/filters/index.d.ts +4 -0
  27. package/dist/components/data-display/infiniteScroll/filters/index.d.ts.map +1 -1
  28. package/dist/components/data-display/infiniteScroll/filters/index.js +12 -2
  29. package/dist/components/data-display/infiniteScroll/filters/index.js.map +1 -1
  30. package/dist/components/data-display/infiniteScroll/filters/listFilter.d.ts.map +1 -1
  31. package/dist/components/data-display/infiniteScroll/filters/listFilter.js +1 -1
  32. package/dist/components/data-display/infiniteScroll/filters/listFilter.js.map +1 -1
  33. package/dist/components/data-display/infiniteScroll/filters/rangeFilter.d.ts +6 -0
  34. package/dist/components/data-display/infiniteScroll/filters/rangeFilter.d.ts.map +1 -1
  35. package/dist/components/data-display/infiniteScroll/filters/rangeFilter.js +55 -46
  36. package/dist/components/data-display/infiniteScroll/filters/rangeFilter.js.map +1 -1
  37. package/dist/components/data-display/infiniteScroll/filters/searchFilter.d.ts.map +1 -1
  38. package/dist/components/data-display/infiniteScroll/filters/searchFilter.js +4 -35
  39. package/dist/components/data-display/infiniteScroll/filters/searchFilter.js.map +1 -1
  40. package/dist/components/data-display/infiniteScroll/filters/selectFilter.d.ts.map +1 -1
  41. package/dist/components/data-display/infiniteScroll/filters/selectFilter.js +3 -5
  42. package/dist/components/data-display/infiniteScroll/filters/selectFilter.js.map +1 -1
  43. package/dist/components/data-display/infiniteScroll/filters/styles.css +34 -1
  44. package/dist/components/data-display/infiniteScroll/header/deleteButton.d.ts.map +1 -1
  45. package/dist/components/data-display/infiniteScroll/header/deleteButton.js +1 -1
  46. package/dist/components/data-display/infiniteScroll/header/deleteButton.js.map +1 -1
  47. package/dist/components/data-display/infiniteScroll/header/index.d.ts.map +1 -1
  48. package/dist/components/data-display/infiniteScroll/header/index.js +1 -1
  49. package/dist/components/data-display/infiniteScroll/header/index.js.map +1 -1
  50. package/dist/components/data-display/infiniteScroll/header/limit.d.ts.map +1 -1
  51. package/dist/components/data-display/infiniteScroll/header/limit.js +1 -1
  52. package/dist/components/data-display/infiniteScroll/header/limit.js.map +1 -1
  53. package/dist/components/data-display/infiniteScroll/header/sortBy.d.ts.map +1 -1
  54. package/dist/components/data-display/infiniteScroll/header/sortBy.js +1 -1
  55. package/dist/components/data-display/infiniteScroll/header/sortBy.js.map +1 -1
  56. package/dist/components/data-display/infiniteScroll/header/sortDirection.d.ts.map +1 -1
  57. package/dist/components/data-display/infiniteScroll/header/sortDirection.js +1 -1
  58. package/dist/components/data-display/infiniteScroll/header/sortDirection.js.map +1 -1
  59. package/dist/components/data-display/infiniteScroll/index.d.ts +8 -0
  60. package/dist/components/data-display/infiniteScroll/index.d.ts.map +1 -1
  61. package/dist/components/data-display/infiniteScroll/index.js +41 -23
  62. package/dist/components/data-display/infiniteScroll/index.js.map +1 -1
  63. package/dist/components/data-display/infiniteScroll/styles.css +2 -2
  64. package/dist/components/data-display/infiniteScroll/table/index.d.ts.map +1 -1
  65. package/dist/components/data-display/infiniteScroll/table/index.js +2 -2
  66. package/dist/components/data-display/infiniteScroll/table/index.js.map +1 -1
  67. package/dist/components/data-display/infiniteScroll/tags/index.d.ts.map +1 -1
  68. package/dist/components/data-display/infiniteScroll/tags/index.js +7 -11
  69. package/dist/components/data-display/infiniteScroll/tags/index.js.map +1 -1
  70. package/dist/components/data-display/infiniteScroll/tags/listFilterTag.d.ts.map +1 -1
  71. package/dist/components/data-display/infiniteScroll/tags/listFilterTag.js +8 -8
  72. package/dist/components/data-display/infiniteScroll/tags/listFilterTag.js.map +1 -1
  73. package/dist/components/data-display/infiniteScroll/tags/rangeFilterTag.d.ts.map +1 -1
  74. package/dist/components/data-display/infiniteScroll/tags/rangeFilterTag.js +6 -18
  75. package/dist/components/data-display/infiniteScroll/tags/rangeFilterTag.js.map +1 -1
  76. package/dist/components/data-display/infiniteScroll/tags/selectFilterTag.d.ts.map +1 -1
  77. package/dist/components/data-display/infiniteScroll/tags/selectFilterTag.js +3 -5
  78. package/dist/components/data-display/infiniteScroll/tags/selectFilterTag.js.map +1 -1
  79. package/dist/components/data-display/infiniteScroll/tags/styles.css +1 -29
  80. package/dist/components/data-display/infiniteScroll/utils/generateQueryString.d.ts +6 -0
  81. package/dist/components/data-display/infiniteScroll/utils/generateQueryString.d.ts.map +1 -1
  82. package/dist/components/data-display/infiniteScroll/utils/generateQueryString.js +24 -12
  83. package/dist/components/data-display/infiniteScroll/utils/generateQueryString.js.map +1 -1
  84. package/dist/components/data-display/infiniteScroll/utils/hasPendingChanges.d.ts +11 -1
  85. package/dist/components/data-display/infiniteScroll/utils/hasPendingChanges.d.ts.map +1 -1
  86. package/dist/components/data-display/infiniteScroll/utils/hasPendingChanges.js +37 -18
  87. package/dist/components/data-display/infiniteScroll/utils/hasPendingChanges.js.map +1 -1
  88. package/dist/components/data-display/listCard/styles.css +3 -3
  89. package/dist/components/data-display/listRow/styles.css +2 -2
  90. package/dist/components/data-display/recoveryCodeGrid/styles.css +3 -4
  91. package/dist/components/data-display/secretDisplay/styles.css +4 -4
  92. package/dist/components/data-display/statCard/styles.css +12 -12
  93. package/dist/components/data-display/summaryRow/styles.css +4 -4
  94. package/dist/components/data-display/table/index.d.ts.map +1 -1
  95. package/dist/components/data-display/table/index.js +2 -2
  96. package/dist/components/data-display/table/index.js.map +1 -1
  97. package/dist/components/data-display/table/styles.css +22 -11
  98. package/dist/components/data-display/tableFilters/index.d.ts +30 -0
  99. package/dist/components/data-display/tableFilters/index.d.ts.map +1 -0
  100. package/dist/components/data-display/tableFilters/index.js +67 -0
  101. package/dist/components/data-display/tableFilters/index.js.map +1 -0
  102. package/dist/components/data-display/tagCard/index.d.ts.map +1 -1
  103. package/dist/components/data-display/tagCard/index.js +1 -1
  104. package/dist/components/data-display/tagCard/index.js.map +1 -1
  105. package/dist/components/data-display/tagCard/styles.css +1 -1
  106. package/dist/components/feedback/alert/styles.css +15 -15
  107. package/dist/components/feedback/badge/index.d.ts.map +1 -1
  108. package/dist/components/feedback/badge/index.js +14 -8
  109. package/dist/components/feedback/badge/index.js.map +1 -1
  110. package/dist/components/feedback/badge/styles.css +45 -45
  111. package/dist/components/feedback/emptyState/styles.css +2 -4
  112. package/dist/components/feedback/loadingOverlay/styles.css +1 -1
  113. package/dist/components/feedback/progressBar/index.d.ts.map +1 -1
  114. package/dist/components/feedback/progressBar/index.js +7 -2
  115. package/dist/components/feedback/progressBar/index.js.map +1 -1
  116. package/dist/components/feedback/progressBar/styles.css +25 -16
  117. package/dist/components/feedback/spinner/styles.css +14 -24
  118. package/dist/components/feedback/tooltip/styles.css +9 -7
  119. package/dist/components/forms/detailField/styles.css +1 -1
  120. package/dist/components/forms/fieldShell/index.d.ts +3 -1
  121. package/dist/components/forms/fieldShell/index.d.ts.map +1 -1
  122. package/dist/components/forms/fieldShell/index.js +1 -1
  123. package/dist/components/forms/fieldShell/index.js.map +1 -1
  124. package/dist/components/forms/fieldShell/styles.css +5 -5
  125. package/dist/components/forms/form/styles.css +6 -6
  126. package/dist/components/forms/formActions/styles.css +4 -4
  127. package/dist/components/forms/formGrid/styles.css +32 -0
  128. package/dist/components/forms/infoRow/styles.css +2 -3
  129. package/dist/components/forms/optionsGroup/index.d.ts +3 -1
  130. package/dist/components/forms/optionsGroup/index.d.ts.map +1 -1
  131. package/dist/components/forms/optionsGroup/index.js +5 -1
  132. package/dist/components/forms/optionsGroup/index.js.map +1 -1
  133. package/dist/components/forms/optionsGroup/styles.css +1 -1
  134. package/dist/components/forms/requiredAsterisk/index.d.ts.map +1 -1
  135. package/dist/components/forms/requiredAsterisk/index.js +3 -2
  136. package/dist/components/forms/requiredAsterisk/index.js.map +1 -1
  137. package/dist/components/forms/requiredAsterisk/styles.css +1 -1
  138. package/dist/components/index.d.ts +4 -0
  139. package/dist/components/index.d.ts.map +1 -1
  140. package/dist/components/index.js +2 -0
  141. package/dist/components/index.js.map +1 -1
  142. package/dist/components/inputs/checkbox/index.d.ts +6 -1
  143. package/dist/components/inputs/checkbox/index.d.ts.map +1 -1
  144. package/dist/components/inputs/checkbox/index.js +12 -3
  145. package/dist/components/inputs/checkbox/index.js.map +1 -1
  146. package/dist/components/inputs/checkbox/styles.css +11 -3
  147. package/dist/components/inputs/colorPicker/index.d.ts.map +1 -1
  148. package/dist/components/inputs/colorPicker/index.js +3 -1
  149. package/dist/components/inputs/colorPicker/index.js.map +1 -1
  150. package/dist/components/inputs/colorPicker/styles.css +3 -3
  151. package/dist/components/inputs/dateInput/index.d.ts +6 -6
  152. package/dist/components/inputs/dateInput/index.d.ts.map +1 -1
  153. package/dist/components/inputs/dateInput/index.js +15 -5
  154. package/dist/components/inputs/dateInput/index.js.map +1 -1
  155. package/dist/components/inputs/dateInput/styles.css +5 -5
  156. package/dist/components/inputs/dateInput/utils.d.ts +0 -1
  157. package/dist/components/inputs/dateInput/utils.d.ts.map +1 -1
  158. package/dist/components/inputs/dateInput/utils.js +13 -8
  159. package/dist/components/inputs/dateInput/utils.js.map +1 -1
  160. package/dist/components/inputs/dropdown/index.d.ts +2 -0
  161. package/dist/components/inputs/dropdown/index.d.ts.map +1 -1
  162. package/dist/components/inputs/dropdown/index.js +2 -2
  163. package/dist/components/inputs/dropdown/index.js.map +1 -1
  164. package/dist/components/inputs/dropdown/styles.css +2 -2
  165. package/dist/components/inputs/dropdownArrowButton/index.d.ts.map +1 -1
  166. package/dist/components/inputs/dropdownArrowButton/index.js +1 -1
  167. package/dist/components/inputs/dropdownArrowButton/index.js.map +1 -1
  168. package/dist/components/inputs/dropdownArrowButton/styles.css +7 -5
  169. package/dist/components/inputs/fileDropZone/index.d.ts.map +1 -1
  170. package/dist/components/inputs/fileDropZone/index.js +3 -2
  171. package/dist/components/inputs/fileDropZone/index.js.map +1 -1
  172. package/dist/components/inputs/fileDropZone/styles.css +12 -12
  173. package/dist/components/inputs/fileUpload/index.d.ts.map +1 -1
  174. package/dist/components/inputs/fileUpload/index.js +11 -6
  175. package/dist/components/inputs/fileUpload/index.js.map +1 -1
  176. package/dist/components/inputs/fileUpload/styles.css +9 -9
  177. package/dist/components/inputs/input/index.d.ts +17 -1
  178. package/dist/components/inputs/input/index.d.ts.map +1 -1
  179. package/dist/components/inputs/input/index.js +27 -5
  180. package/dist/components/inputs/input/index.js.map +1 -1
  181. package/dist/components/inputs/input/styles.css +68 -24
  182. package/dist/components/inputs/languageSelect/index.d.ts.map +1 -1
  183. package/dist/components/inputs/languageSelect/index.js +15 -4
  184. package/dist/components/inputs/languageSelect/index.js.map +1 -1
  185. package/dist/components/inputs/multiSelect/dropDown.d.ts +7 -0
  186. package/dist/components/inputs/multiSelect/dropDown.d.ts.map +1 -1
  187. package/dist/components/inputs/multiSelect/dropDown.js +19 -12
  188. package/dist/components/inputs/multiSelect/dropDown.js.map +1 -1
  189. package/dist/components/inputs/multiSelect/index.d.ts.map +1 -1
  190. package/dist/components/inputs/multiSelect/index.js +49 -13
  191. package/dist/components/inputs/multiSelect/index.js.map +1 -1
  192. package/dist/components/inputs/multiSelect/styles.css +51 -43
  193. package/dist/components/inputs/multiSelect/utils.d.ts +7 -0
  194. package/dist/components/inputs/multiSelect/utils.d.ts.map +1 -0
  195. package/dist/components/inputs/multiSelect/utils.js +18 -0
  196. package/dist/components/inputs/multiSelect/utils.js.map +1 -0
  197. package/dist/components/inputs/phoneInput/index.d.ts.map +1 -1
  198. package/dist/components/inputs/phoneInput/index.js +11 -3
  199. package/dist/components/inputs/phoneInput/index.js.map +1 -1
  200. package/dist/components/inputs/phoneInput/styles.css +13 -13
  201. package/dist/components/inputs/radioGroup/index.d.ts.map +1 -1
  202. package/dist/components/inputs/radioGroup/index.js +1 -1
  203. package/dist/components/inputs/radioGroup/index.js.map +1 -1
  204. package/dist/components/inputs/richTextEditor/index.d.ts.map +1 -1
  205. package/dist/components/inputs/richTextEditor/index.js +30 -20
  206. package/dist/components/inputs/richTextEditor/index.js.map +1 -1
  207. package/dist/components/inputs/richTextEditor/styles.css +24 -24
  208. package/dist/components/inputs/searchList/index.d.ts +4 -1
  209. package/dist/components/inputs/searchList/index.d.ts.map +1 -1
  210. package/dist/components/inputs/searchList/index.js +46 -31
  211. package/dist/components/inputs/searchList/index.js.map +1 -1
  212. package/dist/components/inputs/searchList/styles.css +22 -22
  213. package/dist/components/inputs/searchSelect/index.d.ts.map +1 -1
  214. package/dist/components/inputs/searchSelect/index.js +8 -2
  215. package/dist/components/inputs/searchSelect/index.js.map +1 -1
  216. package/dist/components/inputs/select/index.js +3 -2
  217. package/dist/components/inputs/select/index.js.map +1 -1
  218. package/dist/components/inputs/select/styles.css +93 -15
  219. package/dist/components/inputs/switch/index.d.ts.map +1 -1
  220. package/dist/components/inputs/switch/index.js +3 -1
  221. package/dist/components/inputs/switch/index.js.map +1 -1
  222. package/dist/components/inputs/switch/styles.css +5 -5
  223. package/dist/components/inputs/textArea/index.d.ts.map +1 -1
  224. package/dist/components/inputs/textArea/index.js +3 -2
  225. package/dist/components/inputs/textArea/index.js.map +1 -1
  226. package/dist/components/inputs/textArea/styles.css +11 -11
  227. package/dist/components/inputs/typeahead/index.d.ts.map +1 -1
  228. package/dist/components/inputs/typeahead/index.js +21 -6
  229. package/dist/components/inputs/typeahead/index.js.map +1 -1
  230. package/dist/components/inputs/typeahead/styles.css +13 -13
  231. package/dist/components/layout/authPage/styles.css +6 -6
  232. package/dist/components/layout/borderedSection/index.d.ts +3 -1
  233. package/dist/components/layout/borderedSection/index.d.ts.map +1 -1
  234. package/dist/components/layout/borderedSection/index.js +2 -2
  235. package/dist/components/layout/borderedSection/index.js.map +1 -1
  236. package/dist/components/layout/borderedSection/styles.css +3 -3
  237. package/dist/components/layout/card/styles.css +53 -31
  238. package/dist/components/layout/col/styles.css +1 -1
  239. package/dist/components/layout/page/styles.css +25 -5
  240. package/dist/components/layout/sectionHeader/styles.css +3 -4
  241. package/dist/components/navigation/breadcrumbs/styles.css +7 -7
  242. package/dist/components/navigation/pagination/index.d.ts +23 -0
  243. package/dist/components/navigation/pagination/index.d.ts.map +1 -0
  244. package/dist/components/navigation/pagination/index.js +29 -0
  245. package/dist/components/navigation/pagination/index.js.map +1 -0
  246. package/dist/components/navigation/pagination/styles.css +113 -0
  247. package/dist/components/navigation/pagination/utils.d.ts +9 -0
  248. package/dist/components/navigation/pagination/utils.d.ts.map +1 -0
  249. package/dist/components/navigation/pagination/utils.js +25 -0
  250. package/dist/components/navigation/pagination/utils.js.map +1 -0
  251. package/dist/components/navigation/sidebar/styles.css +13 -5
  252. package/dist/components/navigation/stepper/styles.css +14 -14
  253. package/dist/components/navigation/tabButton/styles.css +59 -59
  254. package/dist/components/navigation/tabs/styles.css +5 -5
  255. package/dist/components/overlays/confirmationModal/index.d.ts +5 -0
  256. package/dist/components/overlays/confirmationModal/index.d.ts.map +1 -1
  257. package/dist/components/overlays/confirmationModal/index.js +23 -4
  258. package/dist/components/overlays/confirmationModal/index.js.map +1 -1
  259. package/dist/components/overlays/confirmationModal/styles.css +3 -0
  260. package/dist/components/overlays/modal/index.d.ts +2 -0
  261. package/dist/components/overlays/modal/index.d.ts.map +1 -1
  262. package/dist/components/overlays/modal/index.js +13 -4
  263. package/dist/components/overlays/modal/index.js.map +1 -1
  264. package/dist/components/overlays/modal/styles.css +19 -19
  265. package/dist/hooks/index.d.ts +1 -0
  266. package/dist/hooks/index.d.ts.map +1 -1
  267. package/dist/hooks/index.js +1 -0
  268. package/dist/hooks/index.js.map +1 -1
  269. package/dist/hooks/useInfinite.d.ts +3 -1
  270. package/dist/hooks/useInfinite.d.ts.map +1 -1
  271. package/dist/hooks/useInfinite.js +4 -2
  272. package/dist/hooks/useInfinite.js.map +1 -1
  273. package/dist/hooks/useInfiniteArchivableCursor.d.ts +1 -1
  274. package/dist/hooks/useInfiniteArchivableCursor.d.ts.map +1 -1
  275. package/dist/hooks/useInfiniteArchivableCursor.js +11 -4
  276. package/dist/hooks/useInfiniteArchivableCursor.js.map +1 -1
  277. package/dist/hooks/useInfiniteCursor.d.ts +1 -1
  278. package/dist/hooks/useInfiniteCursor.d.ts.map +1 -1
  279. package/dist/hooks/useInfiniteCursor.js +11 -4
  280. package/dist/hooks/useInfiniteCursor.js.map +1 -1
  281. package/dist/hooks/usePaginated.d.ts +43 -0
  282. package/dist/hooks/usePaginated.d.ts.map +1 -0
  283. package/dist/hooks/usePaginated.js +60 -0
  284. package/dist/hooks/usePaginated.js.map +1 -0
  285. package/dist/styles.css +161 -123
  286. package/package.json +15 -4
  287. package/src/components/buttons/button/index.tsx +14 -5
  288. package/src/components/buttons/button/styles.css +45 -43
  289. package/src/components/buttons/rowActions/index.tsx +6 -1
  290. package/src/components/buttons/rowActions/styles.css +7 -0
  291. package/src/components/data-display/addressBlock/styles.css +2 -4
  292. package/src/components/data-display/colorSwatch/index.tsx +2 -2
  293. package/src/components/data-display/colorSwatch/styles.css +1 -1
  294. package/src/components/data-display/dataTable/index.tsx +6 -3
  295. package/src/components/data-display/dataTable/styles.css +18 -2
  296. package/src/components/data-display/dataTable/utils/parseDataKey.ts +18 -36
  297. package/src/components/data-display/imagePreview/styles.css +2 -2
  298. package/src/components/data-display/infiniteScroll/filters/index.tsx +18 -1
  299. package/src/components/data-display/infiniteScroll/filters/listFilter.tsx +1 -0
  300. package/src/components/data-display/infiniteScroll/filters/rangeFilter.tsx +77 -33
  301. package/src/components/data-display/infiniteScroll/filters/searchFilter.tsx +16 -65
  302. package/src/components/data-display/infiniteScroll/filters/selectFilter.tsx +11 -17
  303. package/src/components/data-display/infiniteScroll/filters/styles.css +34 -1
  304. package/src/components/data-display/infiniteScroll/header/deleteButton.tsx +1 -0
  305. package/src/components/data-display/infiniteScroll/header/index.tsx +4 -0
  306. package/src/components/data-display/infiniteScroll/header/limit.tsx +1 -0
  307. package/src/components/data-display/infiniteScroll/header/sortBy.tsx +1 -0
  308. package/src/components/data-display/infiniteScroll/header/sortDirection.tsx +1 -0
  309. package/src/components/data-display/infiniteScroll/index.tsx +75 -29
  310. package/src/components/data-display/infiniteScroll/styles.css +2 -2
  311. package/src/components/data-display/infiniteScroll/table/index.tsx +2 -0
  312. package/src/components/data-display/infiniteScroll/tags/index.tsx +7 -16
  313. package/src/components/data-display/infiniteScroll/tags/listFilterTag.tsx +31 -28
  314. package/src/components/data-display/infiniteScroll/tags/rangeFilterTag.tsx +8 -25
  315. package/src/components/data-display/infiniteScroll/tags/selectFilterTag.tsx +4 -11
  316. package/src/components/data-display/infiniteScroll/tags/styles.css +1 -29
  317. package/src/components/data-display/infiniteScroll/utils/generateQueryString.ts +28 -13
  318. package/src/components/data-display/infiniteScroll/utils/hasPendingChanges.ts +48 -16
  319. package/src/components/data-display/listCard/styles.css +3 -3
  320. package/src/components/data-display/listRow/styles.css +2 -2
  321. package/src/components/data-display/recoveryCodeGrid/styles.css +3 -4
  322. package/src/components/data-display/secretDisplay/styles.css +4 -4
  323. package/src/components/data-display/statCard/styles.css +12 -12
  324. package/src/components/data-display/summaryRow/styles.css +4 -4
  325. package/src/components/data-display/table/index.tsx +2 -2
  326. package/src/components/data-display/table/styles.css +22 -11
  327. package/src/components/data-display/tableFilters/index.tsx +147 -0
  328. package/src/components/data-display/tagCard/index.tsx +7 -4
  329. package/src/components/data-display/tagCard/styles.css +1 -1
  330. package/src/components/feedback/alert/styles.css +15 -15
  331. package/src/components/feedback/badge/index.tsx +36 -16
  332. package/src/components/feedback/badge/styles.css +45 -45
  333. package/src/components/feedback/emptyState/styles.css +2 -4
  334. package/src/components/feedback/loadingOverlay/styles.css +1 -1
  335. package/src/components/feedback/progressBar/index.tsx +14 -8
  336. package/src/components/feedback/progressBar/styles.css +25 -16
  337. package/src/components/feedback/spinner/styles.css +14 -24
  338. package/src/components/feedback/tooltip/styles.css +9 -7
  339. package/src/components/forms/detailField/styles.css +1 -1
  340. package/src/components/forms/fieldShell/index.tsx +4 -1
  341. package/src/components/forms/fieldShell/styles.css +5 -5
  342. package/src/components/forms/form/styles.css +6 -6
  343. package/src/components/forms/formActions/styles.css +4 -4
  344. package/src/components/forms/formGrid/styles.css +32 -0
  345. package/src/components/forms/infoRow/styles.css +2 -3
  346. package/src/components/forms/optionsGroup/index.tsx +31 -12
  347. package/src/components/forms/optionsGroup/styles.css +1 -1
  348. package/src/components/forms/requiredAsterisk/index.tsx +5 -1
  349. package/src/components/forms/requiredAsterisk/styles.css +1 -1
  350. package/src/components/index.ts +4 -0
  351. package/src/components/inputs/checkbox/index.tsx +27 -6
  352. package/src/components/inputs/checkbox/styles.css +11 -3
  353. package/src/components/inputs/colorPicker/index.tsx +5 -2
  354. package/src/components/inputs/colorPicker/styles.css +3 -3
  355. package/src/components/inputs/dateInput/index.tsx +17 -9
  356. package/src/components/inputs/dateInput/styles.css +5 -5
  357. package/src/components/inputs/dateInput/utils.ts +12 -8
  358. package/src/components/inputs/dropdown/index.tsx +5 -1
  359. package/src/components/inputs/dropdown/styles.css +2 -2
  360. package/src/components/inputs/dropdownArrowButton/index.tsx +1 -0
  361. package/src/components/inputs/dropdownArrowButton/styles.css +7 -5
  362. package/src/components/inputs/fileDropZone/index.tsx +4 -3
  363. package/src/components/inputs/fileDropZone/styles.css +12 -12
  364. package/src/components/inputs/fileUpload/index.tsx +33 -23
  365. package/src/components/inputs/fileUpload/styles.css +9 -9
  366. package/src/components/inputs/input/index.tsx +67 -6
  367. package/src/components/inputs/input/styles.css +68 -24
  368. package/src/components/inputs/languageSelect/index.tsx +19 -4
  369. package/src/components/inputs/multiSelect/dropDown.tsx +83 -35
  370. package/src/components/inputs/multiSelect/index.tsx +87 -29
  371. package/src/components/inputs/multiSelect/styles.css +51 -43
  372. package/src/components/inputs/multiSelect/utils.ts +18 -0
  373. package/src/components/inputs/phoneInput/index.tsx +16 -4
  374. package/src/components/inputs/phoneInput/styles.css +13 -13
  375. package/src/components/inputs/radioGroup/index.tsx +2 -1
  376. package/src/components/inputs/richTextEditor/index.tsx +59 -37
  377. package/src/components/inputs/richTextEditor/styles.css +24 -24
  378. package/src/components/inputs/searchList/index.tsx +121 -109
  379. package/src/components/inputs/searchList/styles.css +22 -22
  380. package/src/components/inputs/searchSelect/index.tsx +8 -2
  381. package/src/components/inputs/select/index.tsx +3 -3
  382. package/src/components/inputs/select/styles.css +93 -15
  383. package/src/components/inputs/switch/index.tsx +3 -2
  384. package/src/components/inputs/switch/styles.css +5 -5
  385. package/src/components/inputs/textArea/index.tsx +3 -3
  386. package/src/components/inputs/textArea/styles.css +11 -11
  387. package/src/components/inputs/typeahead/index.tsx +84 -54
  388. package/src/components/inputs/typeahead/styles.css +13 -13
  389. package/src/components/layout/authPage/styles.css +6 -6
  390. package/src/components/layout/borderedSection/index.tsx +4 -1
  391. package/src/components/layout/borderedSection/styles.css +3 -3
  392. package/src/components/layout/card/styles.css +53 -31
  393. package/src/components/layout/col/styles.css +1 -1
  394. package/src/components/layout/page/styles.css +25 -5
  395. package/src/components/layout/sectionHeader/styles.css +3 -4
  396. package/src/components/navigation/breadcrumbs/styles.css +7 -7
  397. package/src/components/navigation/pagination/index.tsx +134 -0
  398. package/src/components/navigation/pagination/styles.css +113 -0
  399. package/src/components/navigation/pagination/utils.ts +32 -0
  400. package/src/components/navigation/sidebar/styles.css +13 -5
  401. package/src/components/navigation/stepper/styles.css +14 -14
  402. package/src/components/navigation/tabButton/styles.css +59 -59
  403. package/src/components/navigation/tabs/styles.css +5 -5
  404. package/src/components/overlays/confirmationModal/index.tsx +37 -1
  405. package/src/components/overlays/confirmationModal/styles.css +3 -0
  406. package/src/components/overlays/modal/index.tsx +23 -4
  407. package/src/components/overlays/modal/styles.css +19 -19
  408. package/src/hooks/index.ts +4 -0
  409. package/src/hooks/useInfinite.ts +7 -3
  410. package/src/hooks/useInfiniteArchivableCursor.ts +11 -4
  411. package/src/hooks/useInfiniteCursor.ts +11 -4
  412. package/src/hooks/usePaginated.ts +123 -0
  413. package/src/styles.css +161 -123
  414. package/dist/components/data-display/infiniteScroll/tags/searchFilterTag.d.ts +0 -10
  415. package/dist/components/data-display/infiniteScroll/tags/searchFilterTag.d.ts.map +0 -1
  416. package/dist/components/data-display/infiniteScroll/tags/searchFilterTag.js +0 -22
  417. package/dist/components/data-display/infiniteScroll/tags/searchFilterTag.js.map +0 -1
  418. package/src/components/data-display/infiniteScroll/tags/searchFilterTag.tsx +0 -41
@@ -6,10 +6,10 @@
6
6
  }
7
7
 
8
8
  .k-input {
9
- background-color: var(--background-color-light);
10
- border: 0.0625rem solid var(--border-color);
9
+ background-color: var(--k-background-color-light);
10
+ border: 0.0625rem solid var(--k-border-color);
11
11
  border-radius: 0.375rem;
12
- color: var(--text-color);
12
+ color: var(--k-text-color);
13
13
  width: 100%;
14
14
  box-sizing: border-box;
15
15
  transition:
@@ -18,17 +18,17 @@
18
18
  }
19
19
 
20
20
  .k-input-sm {
21
- font-size: var(--text-size-sm);
21
+ font-size: var(--k-text-size-sm);
22
22
  padding: 0.5rem 0.75rem;
23
23
  }
24
24
 
25
25
  .k-input-md {
26
- font-size: var(--text-size-md);
26
+ font-size: var(--k-text-size-md);
27
27
  padding: 0.625rem 1rem;
28
28
  }
29
29
 
30
30
  .k-input-lg {
31
- font-size: var(--text-size-lg);
31
+ font-size: var(--k-text-size-lg);
32
32
  padding: 0.75rem 1.25rem;
33
33
  }
34
34
 
@@ -37,30 +37,74 @@
37
37
  }
38
38
 
39
39
  .k-input::placeholder {
40
- color: var(--text-color-secondary);
40
+ color: var(--k-text-color-secondary);
41
41
  opacity: 0.7;
42
42
  }
43
43
 
44
44
  .k-input[type="date"]:empty {
45
- color: var(--text-color-secondary);
45
+ color: var(--k-text-color-secondary);
46
46
  }
47
47
 
48
48
  .k-input:focus {
49
49
  outline: none;
50
- border-color: var(--border-color-active);
51
- box-shadow: 0 0 0 0.1875rem var(--border-shadow-color-active);
50
+ border-color: var(--k-border-color-active);
51
+ box-shadow: 0 0 0 0.1875rem var(--k-border-shadow-color-active);
52
+ }
53
+
54
+ /* No opacity, unlike disabled: a read-only value keeps full text contrast. */
55
+ .k-input[readonly]:not(:disabled) {
56
+ background-color: var(--k-background-color-dark);
57
+ color: var(--k-text-color-secondary);
58
+ cursor: default;
52
59
  }
53
60
 
54
61
  .k-input:disabled {
55
- background-color: var(--bg-color-disabled);
56
- color: var(--text-color-disabled);
62
+ background-color: var(--k-background-color-disabled);
63
+ color: var(--k-text-color-disabled);
57
64
  cursor: not-allowed;
58
65
  opacity: 0.6;
59
66
  }
60
67
 
68
+ .k-input-clearable {
69
+ padding-right: 2.25rem;
70
+ }
71
+
72
+ .k-input-clear-button {
73
+ position: absolute;
74
+ right: 0.5rem;
75
+ top: 50%;
76
+ transform: translateY(-50%);
77
+ display: flex;
78
+ align-items: center;
79
+ justify-content: center;
80
+ width: 1.5rem;
81
+ height: 1.5rem;
82
+ padding: 0;
83
+ border: none;
84
+ border-radius: 50%;
85
+ background: none;
86
+ color: var(--k-text-color-secondary);
87
+ cursor: pointer;
88
+ transition: color 0.2s ease-in-out;
89
+ }
90
+
91
+ .k-input-clear-button:hover {
92
+ color: var(--k-primary-color-text);
93
+ }
94
+
95
+ .k-input-clear-button:focus-visible {
96
+ outline: none;
97
+ box-shadow: 0 0 0 0.125rem var(--k-border-shadow-color-active);
98
+ }
99
+
61
100
  .k-password-toggle-button {
62
101
  position: absolute;
63
- right: 0.75rem;
102
+ right: 0.5rem;
103
+ top: 50%;
104
+ transform: translateY(-50%);
105
+ /* 24px hit area (WCAG 2.5.8) around the small eye icon. */
106
+ width: 1.5rem;
107
+ height: 1.5rem;
64
108
  background: none;
65
109
  border: none;
66
110
  cursor: pointer;
@@ -68,17 +112,17 @@
68
112
  display: flex;
69
113
  align-items: center;
70
114
  justify-content: center;
71
- color: var(--text-color-secondary);
115
+ color: var(--k-text-color-secondary);
72
116
  transition: color 0.2s ease-in-out;
73
117
  }
74
118
 
75
119
  .k-password-toggle-button:hover {
76
- color: var(--primary-color);
120
+ color: var(--k-primary-color-text);
77
121
  }
78
122
 
79
123
  .k-password-toggle-button:focus {
80
124
  outline: none;
81
- box-shadow: 0 0 0 0.125rem var(--border-shadow-color-active);
125
+ box-shadow: 0 0 0 0.125rem var(--k-border-shadow-color-active);
82
126
  border-radius: 50%;
83
127
  }
84
128
 
@@ -88,7 +132,7 @@
88
132
  }
89
133
 
90
134
  .k-password-toggle-button:disabled:hover {
91
- color: var(--text-color-secondary);
135
+ color: var(--k-text-color-secondary);
92
136
  }
93
137
 
94
138
  .k-input-wrapper-addon {
@@ -112,9 +156,9 @@
112
156
  display: inline-flex;
113
157
  align-items: center;
114
158
  justify-content: center;
115
- background-color: var(--background-color-dark);
116
- border: 0.0625rem solid var(--border-color);
117
- color: var(--text-color-secondary);
159
+ background-color: var(--k-background-color-dark);
160
+ border: 0.0625rem solid var(--k-border-color);
161
+ color: var(--k-text-color-secondary);
118
162
  font-weight: 500;
119
163
  white-space: nowrap;
120
164
  user-select: none;
@@ -133,20 +177,20 @@
133
177
  }
134
178
 
135
179
  .k-input-addon-sm {
136
- font-size: var(--text-size-sm);
180
+ font-size: var(--k-text-size-sm);
137
181
  padding: 0.5rem 0.625rem;
138
182
  }
139
183
 
140
184
  .k-input-addon-md {
141
- font-size: var(--text-size-md);
185
+ font-size: var(--k-text-size-md);
142
186
  padding: 0.625rem 0.75rem;
143
187
  }
144
188
 
145
189
  .k-input-addon-lg {
146
- font-size: var(--text-size-lg);
190
+ font-size: var(--k-text-size-lg);
147
191
  padding: 0.75rem 0.875rem;
148
192
  }
149
193
 
150
194
  .k-input-wrapper-addon:focus-within .k-input-addon {
151
- border-color: var(--border-color-active);
195
+ border-color: var(--k-border-color-active);
152
196
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/languageSelect/index.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,mBAAmB,EAAE,cAAc,EA4B/C,CAAC;AAEF,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,cAAc,GAAI,kEAQrB,mBAAmB,gCAgBrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/languageSelect/index.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,mBAAmB,EAAE,cAAc,EA4B/C,CAAC;AAEF,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,cAAc,GAAI,kEAQrB,mBAAmB,gCA+BrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -31,10 +31,21 @@ export const SUPPORTED_LANGUAGES = [
31
31
  { value: "hi-IN", label: "Hindi (India)" },
32
32
  ];
33
33
  const LanguageSelect = ({ label = "Preferred language", value, onChange, id, disabled, required, includeNone = true, }) => {
34
- const options = includeNone
35
- ? [{ value: "", label: "— None —" }, ...SUPPORTED_LANGUAGES]
36
- : SUPPORTED_LANGUAGES;
37
- return (_jsx(Select, { label: label, id: id, value: value ?? "", disabled: disabled, required: required, options: options, onChange: (v) => onChange?.(v ? v : null) }));
34
+ // A stored value is shown, never replaced on load (Select would report its
35
+ // first option for a value it lacks): a bare language ("en") as its first
36
+ // locale, any other unknown code as itself.
37
+ const stored = value ?? "";
38
+ const isSupported = SUPPORTED_LANGUAGES.some((l) => l.value === stored);
39
+ const locale = stored && !isSupported
40
+ ? SUPPORTED_LANGUAGES.find((l) => l.value.toLowerCase().startsWith(`${stored.toLowerCase()}-`))?.value
41
+ : undefined;
42
+ const unknown = stored && !isSupported && !locale ? [{ value: stored, label: stored }] : [];
43
+ const options = [
44
+ ...(includeNone ? [{ value: "", label: "— None —" }] : []),
45
+ ...unknown,
46
+ ...SUPPORTED_LANGUAGES,
47
+ ];
48
+ return (_jsx(Select, { label: label, id: id, value: locale ?? stored, disabled: disabled, required: required, options: options, onChange: (v) => onChange?.(v ? v : null) }));
38
49
  };
39
50
  export default LanguageSelect;
40
51
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/inputs/languageSelect/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/inputs/languageSelect/index.tsx"],"names":[],"mappings":"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"}
@@ -10,7 +10,14 @@ interface DropDownProps<T> extends PropsWithSize {
10
10
  handleSelectAll: () => void;
11
11
  handleClearAll: () => void;
12
12
  handleOptionToggle: (optionValue: T) => void;
13
+ listboxId: string;
14
+ /** Id of the field's label, which also names the listbox. */
15
+ labelId?: string;
16
+ highlightedIndex: number;
17
+ optionRefs: React.RefObject<(HTMLLIElement | null)[]>;
18
+ onSearchKeyDown: React.KeyboardEventHandler<HTMLInputElement>;
13
19
  }
20
+ export declare const optionId: (listboxId: string, index: number) => string;
14
21
  export declare const DropDownSection: <T>(props: DropDownProps<T>) => import("react").JSX.Element;
15
22
  export {};
16
23
  //# sourceMappingURL=dropDown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropDown.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/multiSelect/dropDown.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAS/C,UAAU,aAAa,CAAC,CAAC,CAAE,SAAQ,aAAa;IAC9C,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACzD,eAAe,EAAE,CAAC,EAAE,CAAC;IACrB,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClB,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,kBAAkB,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,IAAI,CAAC;CAC9C;AAED,eAAO,MAAM,eAAe,GAAI,CAAC,EAAG,OAAO,aAAa,CAAC,CAAC,CAAC,gCAsF1D,CAAC"}
1
+ {"version":3,"file":"dropDown.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/multiSelect/dropDown.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAS/C,UAAU,aAAa,CAAC,CAAC,CAAE,SAAQ,aAAa;IAC9C,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACzD,eAAe,EAAE,CAAC,EAAE,CAAC;IACrB,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClB,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,kBAAkB,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IACtD,eAAe,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;CAC/D;AAED,eAAO,MAAM,QAAQ,GAAI,WAAW,MAAM,EAAE,OAAO,MAAM,WACzB,CAAC;AAEjC,eAAO,MAAM,eAAe,GAAI,CAAC,EAAG,OAAO,aAAa,CAAC,CAAC,CAAC,gCA6H1D,CAAC"}
@@ -4,28 +4,35 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
4
4
  import IconButton from "../../buttons/iconButton/index.js";
5
5
  import Tooltip from "../../feedback/tooltip/index.js";
6
6
  import Input from "../input/index.js";
7
- import { useMemo } from "react";
7
+ import { itemKeys } from "./utils.js";
8
8
  import { faCheckDouble, faXmark, faCheck, } from "@fortawesome/free-solid-svg-icons";
9
+ export const optionId = (listboxId, index) => `${listboxId}-option-${index}`;
9
10
  export const DropDownSection = (props) => {
10
11
  const { size = "md", value = [] } = props;
11
- const list = useMemo(() => {
12
- return props.filteredOptions.length > 0 ? (props.filteredOptions.map((option) => {
12
+ const optionKeys = itemKeys(props.filteredOptions, props.labelKey);
13
+ const list = props.filteredOptions.length > 0 ? (_jsx("ul", { id: props.listboxId, role: "listbox", "aria-multiselectable": "true", "aria-labelledby": props.labelId, className: "k-multiselect-options-list", children: props.filteredOptions.map((option, index) => {
13
14
  const isSelected = value.find((v) => v[props.labelKey] === option[props.labelKey]);
14
- const key = Math.random().toString(36).slice(2);
15
- return (_jsxs("li", { className: `k-multiselect-option k-multiselect-option-${size} ${isSelected ? "k-multiselect-option-selected" : ""}`, onClick: (e) => {
15
+ return (_jsxs("li", { ref: (el) => {
16
+ props.optionRefs.current[index] = el;
17
+ }, id: optionId(props.listboxId, index), role: "option", "aria-selected": !!isSelected, className: `k-multiselect-option k-multiselect-option-${size} ${isSelected ? "k-multiselect-option-selected" : ""} ${index === props.highlightedIndex
18
+ ? "k-multiselect-option-highlighted"
19
+ : ""}`,
20
+ // Keeps focus, and so the keyboard, in the search box.
21
+ onMouseDown: (e) => e.preventDefault(), onClick: (e) => {
16
22
  e.stopPropagation();
17
23
  props.handleOptionToggle(option);
18
- }, children: [_jsx("span", { className: "k-multiselect-option-label", children: String(option[props.labelKey]) }), isSelected && (_jsx(FontAwesomeIcon, { icon: faCheck, className: "k-multiselect-check" }))] }, key));
19
- })) : (_jsx("li", { className: `k-multiselect-no-results k-multiselect-option-${size}`, children: props.options.length === 0
24
+ }, children: [_jsx("span", { className: "k-multiselect-option-label", children: String(option[props.labelKey]) }), isSelected && (_jsx(FontAwesomeIcon, { icon: faCheck, className: "k-multiselect-check" }))] }, optionKeys[index]));
25
+ }) })) : (_jsx("div", { className: "k-multiselect-options-list", children: _jsx("div", { role: "status", className: `k-multiselect-no-results k-multiselect-option-${size}`, children: props.options.length === 0
20
26
  ? "No options available"
21
- : "No options found" }));
22
- }, [props.filteredOptions, value]);
23
- return (_jsxs("div", { className: `k-multiselect-dropdown k-multiselect-dropdown-${size}`, children: [_jsxs("div", { className: "k-multiselect-search-container", children: [_jsx(Input, { ref: props.searchInputRef, type: "text", placeholder: "Search options...", size: props.size, value: props.searchTerm, onChange: (e) => props.setSearchTerm(e.target.value), onClick: (e) => e.stopPropagation() }), _jsxs("div", { className: "k-multiselect-bulk-actions", children: [_jsx(Tooltip, { content: "Select All", children: _jsx(IconButton, { icon: faCheckDouble, size: size, variant: "success", onClick: (e) => {
27
+ : "No options found" }) }));
28
+ return (_jsxs("div", { className: `k-multiselect-dropdown k-multiselect-dropdown-${size}`, children: [_jsxs("div", { className: "k-multiselect-search-container", children: [_jsx(Input, { ref: props.searchInputRef, type: "text", placeholder: "Search options...", size: props.size, value: props.searchTerm, onChange: (e) => props.setSearchTerm(e.target.value), onClick: (e) => e.stopPropagation(), onKeyDown: props.onSearchKeyDown, "aria-label": "Search options", "aria-controls": props.filteredOptions.length > 0 ? props.listboxId : undefined, "aria-activedescendant": props.highlightedIndex > -1
29
+ ? optionId(props.listboxId, props.highlightedIndex)
30
+ : undefined }), _jsxs("div", { className: "k-multiselect-bulk-actions", children: [_jsx(Tooltip, { content: "Select All", children: _jsx(IconButton, { icon: faCheckDouble, "aria-label": "Select all", size: size, variant: "success", onClick: (e) => {
24
31
  e.stopPropagation();
25
32
  props.handleSelectAll();
26
- }, disabled: value.length === props.options.length }) }), _jsx(Tooltip, { content: "Clear All", children: _jsx(IconButton, { icon: faXmark, size: size, variant: "danger", onClick: (e) => {
33
+ }, disabled: value.length === props.options.length }) }), _jsx(Tooltip, { content: "Clear All", children: _jsx(IconButton, { icon: faXmark, "aria-label": "Clear all", size: size, variant: "danger", onClick: (e) => {
27
34
  e.stopPropagation();
28
35
  props.handleClearAll();
29
- }, disabled: value.length === 0 }) })] })] }), _jsx("ul", { className: "k-multiselect-options-list", children: list })] }));
36
+ }, disabled: value.length === 0 }) })] })] }), list] }));
30
37
  };
31
38
  //# sourceMappingURL=dropDown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropDown.js","sourceRoot":"","sources":["../../../../src/components/inputs/multiSelect/dropDown.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dropDown.js","sourceRoot":"","sources":["../../../../src/components/inputs/multiSelect/dropDown.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/multiSelect/index.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,cAAc,CAAC;AAEtB,UAAU,gBAAgB,CAAC,CAAC,CAAE,SAAQ,aAAa;IACjD,kCAAkC;IAClC,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,gCAAgC;IAChC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IACjC,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2BAA2B;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,WAAW,GAAI,CAAC,EAAG,OAAO,gBAAgB,CAAC,CAAC,CAAC,gCAwMlD,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/multiSelect/index.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,cAAc,CAAC;AAEtB,UAAU,gBAAgB,CAAC,CAAC,CAAE,SAAQ,aAAa;IACjD,kCAAkC;IAClC,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,gCAAgC;IAChC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IACjC,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2BAA2B;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,WAAW,GAAI,CAAC,EAAG,OAAO,gBAAgB,CAAC,CAAC,CAAC,gCA+PlD,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,12 +1,15 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import useScrollIntoView from "../../../hooks/useScrollIntoView.js";
3
4
  import DropdownArrowButton from "../dropdownArrowButton/index.js";
4
5
  import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
5
6
  import useOutsideClick from "../../../hooks/useOutsideClick.js";
6
- import { useState, useRef, useEffect, useMemo } from "react";
7
+ import useListKeyboard from "../../../hooks/useListKeyboard.js";
7
8
  import { faXmark } from "@fortawesome/free-solid-svg-icons";
9
+ import { useState, useRef, useEffect, useId } from "react";
8
10
  import FieldShell from "../../forms/fieldShell/index.js";
9
11
  import { DropDownSection } from "./dropDown.js";
12
+ import { itemKeys } from "./utils.js";
10
13
  import "./styles.css";
11
14
  /**
12
15
  * MultiSelect component with search functionality for selecting multiple options.
@@ -29,7 +32,13 @@ const MultiSelect = (props) => {
29
32
  const [filteredOptions, setFilteredOptions] = useState(props.options);
30
33
  const containerRef = useRef(null);
31
34
  const searchInputRef = useRef(null);
32
- const componentId = props.id || `multiselect-${Math.random().toString(36).substring(2, 9)}`;
35
+ const comboboxRef = useRef(null);
36
+ const optionRefs = useRef([]);
37
+ const [highlightedIndex, setHighlightedIndex] = useState(-1);
38
+ const generatedId = useId();
39
+ const componentId = props.id || `multiselect-${generatedId}`;
40
+ const labelId = `${componentId}-label`;
41
+ const listboxId = `${componentId}-listbox`;
33
42
  // Filter options based on search term
34
43
  useEffect(() => {
35
44
  if (searchTerm) {
@@ -41,6 +50,7 @@ const MultiSelect = (props) => {
41
50
  else {
42
51
  setFilteredOptions(props.options);
43
52
  }
53
+ setHighlightedIndex(-1);
44
54
  }, [searchTerm, props.options]);
45
55
  useOutsideClick([containerRef], () => setIsOpen(false));
46
56
  // Focus search input when dropdown opens
@@ -49,12 +59,34 @@ const MultiSelect = (props) => {
49
59
  searchInputRef.current.focus();
50
60
  }
51
61
  }, [isOpen]);
62
+ useScrollIntoView(optionRefs, highlightedIndex, isOpen);
52
63
  const handleToggleDropdown = () => {
53
64
  if (disabled)
54
65
  return;
55
66
  setIsOpen(!isOpen);
56
67
  if (!isOpen) {
57
68
  setSearchTerm("");
69
+ setHighlightedIndex(-1);
70
+ }
71
+ };
72
+ const close = () => {
73
+ setIsOpen(false);
74
+ comboboxRef.current?.focus();
75
+ };
76
+ // Closes when focus moves to something outside, such as on Tab. A null
77
+ // relatedTarget (a click on nothing focusable) is left to useOutsideClick,
78
+ // so a click inside the dropdown doesn't close it.
79
+ const handleBlur = (e) => {
80
+ const next = e.relatedTarget;
81
+ if (next && !containerRef.current?.contains(next))
82
+ setIsOpen(false);
83
+ };
84
+ const handleComboboxKeyDown = (e) => {
85
+ if (disabled || isOpen)
86
+ return;
87
+ if (e.key === "Enter" || e.key === " " || e.key === "ArrowDown") {
88
+ e.preventDefault();
89
+ handleToggleDropdown();
58
90
  }
59
91
  };
60
92
  const handleOptionToggle = (optionValue) => {
@@ -116,19 +148,23 @@ const MultiSelect = (props) => {
116
148
  return;
117
149
  props.onChange([]);
118
150
  };
119
- const selectedItems = useMemo(() => {
120
- return value.map((v) => {
121
- const key = Math.random().toString(36).slice(2);
122
- return (_jsxs("div", { className: "k-multiselect-selected-item", children: [_jsx("span", { className: "k-multiselect-selected-item-label", children: String(v[props.labelKey]) }), !disabled && (_jsx("button", { type: "button", className: "k-multiselect-selected-item-remove", onClick: (e) => {
123
- e.stopPropagation();
124
- handleOptionToggle(v);
125
- }, children: _jsx(FontAwesomeIcon, { icon: faXmark }) }))] }, key));
126
- });
127
- }, [value]);
128
- return (_jsx("div", { ref: containerRef, children: _jsxs(FieldShell, { label: props.label, required: required, htmlFor: componentId, className: "k-multiselect-container", children: [_jsxs("div", { id: componentId, className: `k-multiselect k-multiselect-${size} ${disabled ? "k-multiselect-disabled" : ""} ${isOpen ? "k-multiselect-open" : ""}`, onClick: handleToggleDropdown, tabIndex: disabled ? -1 : 0, children: [_jsx("div", { className: "k-multiselect-display", children: value.length > 0 ? (_jsx("div", { className: "k-multiselect-selected-items", children: selectedItems })) : (_jsx("span", { className: "k-multiselect-placeholder", children: placeholder })) }), _jsx(DropdownArrowButton, { size: size, isOpen: isOpen, disabled: disabled, onClick: (e) => {
151
+ const handleSearchKeyDown = useListKeyboard({
152
+ isOpen,
153
+ length: filteredOptions.length,
154
+ highlightedIndex,
155
+ setHighlightedIndex,
156
+ onSelect: (index) => handleOptionToggle(filteredOptions[index]),
157
+ onClose: close,
158
+ });
159
+ const selectedKeys = itemKeys(value, props.labelKey);
160
+ const selectedItems = value.map((v, index) => (_jsxs("div", { className: "k-multiselect-selected-item", children: [_jsx("span", { className: "k-multiselect-selected-item-label", children: String(v[props.labelKey]) }), !disabled && (_jsx("button", { type: "button", className: "k-multiselect-selected-item-remove", tabIndex: -1, "aria-hidden": "true", "aria-label": `Remove ${String(v[props.labelKey])}`, onClick: (e) => {
161
+ e.stopPropagation();
162
+ handleOptionToggle(v);
163
+ }, children: _jsx(FontAwesomeIcon, { icon: faXmark }) }))] }, selectedKeys[index])));
164
+ return (_jsx("div", { ref: containerRef, onBlur: handleBlur, children: _jsxs(FieldShell, { label: props.label, required: required, labelId: labelId, className: "k-multiselect-container", children: [_jsxs("div", { ref: comboboxRef, id: componentId, role: "combobox", "aria-haspopup": "listbox", "aria-expanded": isOpen, "aria-controls": isOpen ? listboxId : undefined, "aria-labelledby": props.label ? labelId : undefined, "aria-label": props.label ? undefined : placeholder, "aria-required": required || undefined, "aria-disabled": disabled || undefined, onKeyDown: handleComboboxKeyDown, className: `k-multiselect k-multiselect-${size} ${disabled ? "k-multiselect-disabled" : ""} ${isOpen ? "k-multiselect-open" : ""}`, onClick: handleToggleDropdown, tabIndex: disabled ? -1 : 0, children: [_jsx("div", { className: "k-multiselect-display", children: value.length > 0 ? (_jsx("div", { className: "k-multiselect-selected-items", children: selectedItems })) : (_jsx("span", { className: "k-multiselect-placeholder", children: placeholder })) }), _jsx(DropdownArrowButton, { size: size, isOpen: isOpen, disabled: disabled, onClick: (e) => {
129
165
  e.stopPropagation();
130
166
  handleToggleDropdown();
131
- } })] }), isOpen && (_jsx(DropDownSection, { value: value, labelKey: props.labelKey, size: size, searchTerm: searchTerm, searchInputRef: searchInputRef, filteredOptions: filteredOptions, options: props.options, setSearchTerm: setSearchTerm, handleSelectAll: handleSelectAll, handleClearAll: handleClearAll, handleOptionToggle: handleOptionToggle }))] }) }));
167
+ } })] }), isOpen && (_jsx(DropDownSection, { value: value, labelKey: props.labelKey, size: size, searchTerm: searchTerm, searchInputRef: searchInputRef, filteredOptions: filteredOptions, options: props.options, setSearchTerm: setSearchTerm, handleSelectAll: handleSelectAll, handleClearAll: handleClearAll, handleOptionToggle: handleOptionToggle, listboxId: listboxId, labelId: props.label ? labelId : undefined, highlightedIndex: highlightedIndex, optionRefs: optionRefs, onSearchKeyDown: handleSearchKeyDown }))] }) }));
132
168
  };
133
169
  export default MultiSelect;
134
170
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/inputs/multiSelect/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/inputs/multiSelect/index.tsx"],"names":[],"mappings":"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"}