@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
@@ -1,3 +1,4 @@
1
+ import { hasRangeValue } from "./hasPendingChanges.js";
1
2
  const generateQueryString = (params) => {
2
3
  const { filters, limitOptions, sortBy, sortDirection, dataLength, isNextPage = false, } = params;
3
4
  const defaultLimit = 10;
@@ -12,19 +13,30 @@ const generateQueryString = (params) => {
12
13
  queryParams.set("sort", selectedSort.dataKey);
13
14
  queryParams.set("sortDir", sortDirection);
14
15
  }
15
- // Filter params - simple key-value format for server-side validation
16
+ for (const [name, value] of Object.entries(filterParams(filters))) {
17
+ queryParams.set(name, value);
18
+ }
19
+ return queryParams.toString();
20
+ };
21
+ /**
22
+ * The `filter[...]` query params for the filters' current values: simple
23
+ * key-value pairs for server-side validation. Shared by InfiniteScroll and
24
+ * TableFilters, so both send the same format.
25
+ */
26
+ export const filterParams = (filters) => {
27
+ const params = {};
16
28
  for (const filter of filters) {
17
29
  const key = filter.dataKey;
18
30
  if (filter.type === "SEARCH" && filter.value) {
19
- queryParams.set(`filter[${key}]`, filter.value);
20
- queryParams.set(`filter[${key}_op]`, "contains");
31
+ params[`filter[${key}]`] = filter.value;
32
+ params[`filter[${key}_op]`] = "contains";
21
33
  }
22
34
  else if (filter.type === "RANGE") {
23
- if (filter.startValue !== undefined) {
24
- queryParams.set(`filter[${key}_gte]`, String(filter.startValue));
35
+ if (hasRangeValue(filter.startValue)) {
36
+ params[`filter[${key}_gte]`] = String(filter.startValue);
25
37
  }
26
- if (filter.endValue !== undefined) {
27
- queryParams.set(`filter[${key}_lte]`, String(filter.endValue));
38
+ if (hasRangeValue(filter.endValue)) {
39
+ params[`filter[${key}_lte]`] = String(filter.endValue);
28
40
  }
29
41
  }
30
42
  else if (filter.type === "SELECT") {
@@ -32,18 +44,18 @@ const generateQueryString = (params) => {
32
44
  .filter((opt) => opt.selected)
33
45
  .map((opt) => opt.id);
34
46
  if (selectedOptions.length > 0) {
35
- queryParams.set(`filter[${key}]`, selectedOptions.join(","));
47
+ params[`filter[${key}]`] = selectedOptions.join(",");
36
48
  if (filter.multiSelect) {
37
- queryParams.set(`filter[${key}_op]`, "in");
49
+ params[`filter[${key}_op]`] = "in";
38
50
  }
39
51
  }
40
52
  }
41
53
  else if (filter.type === "LIST" && filter.list) {
42
- queryParams.set(`filter[${key}]`, filter.list);
43
- queryParams.set(`filter[${key}_op]`, "in");
54
+ params[`filter[${key}]`] = filter.list;
55
+ params[`filter[${key}_op]`] = "in";
44
56
  }
45
57
  }
46
- return queryParams.toString();
58
+ return params;
47
59
  };
48
60
  export default generateQueryString;
49
61
  //# sourceMappingURL=generateQueryString.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateQueryString.js","sourceRoot":"","sources":["../../../../../src/components/data-display/infiniteScroll/utils/generateQueryString.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateQueryString.js","sourceRoot":"","sources":["../../../../../src/components/data-display/infiniteScroll/utils/generateQueryString.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { InfiniteScrollMenuGeneratedFilter, InfiniteScrollMenuLimitOption, InfiniteScrollMenuSortDataKey, SortDirection } from "../types.js";
1
+ import { InfiniteScrollMenuGeneratedFilter, InfiniteScrollMenuLimitOption, InfiniteScrollMenuSortDataKey, RangeValue, SortDirection } from "../types.js";
2
2
  interface PendingChangesParams {
3
3
  filters: InfiniteScrollMenuGeneratedFilter[];
4
4
  pendingFilters: InfiniteScrollMenuGeneratedFilter[];
@@ -10,6 +10,16 @@ interface PendingChangesParams {
10
10
  pendingLimitOptions: InfiniteScrollMenuLimitOption[];
11
11
  }
12
12
  export declare const hasPendingChanges: (params: PendingChangesParams) => boolean;
13
+ /** A range bound is set unless it's missing or empty; `0` is a real bound. */
14
+ export declare const hasRangeValue: (value: RangeValue | undefined) => value is RangeValue;
13
15
  export declare const hasActiveFilters: (pendingFilters: InfiniteScrollMenuGeneratedFilter[]) => boolean;
16
+ /** The filters with every value cleared, for Reset. */
17
+ export declare const clearFilters: (filters: InfiniteScrollMenuGeneratedFilter[]) => InfiniteScrollMenuGeneratedFilter[];
18
+ /**
19
+ * Whether a pending change is in a search box: applied immediately, searches
20
+ * wait for a pause in typing. (Ranges apply from their menu's Apply button.)
21
+ */
22
+ export declare const hasTypedFilterChanges: (filters: InfiniteScrollMenuGeneratedFilter[], pendingFilters: InfiniteScrollMenuGeneratedFilter[]) => boolean;
23
+ export declare const hasFilterChanges: (filters: InfiniteScrollMenuGeneratedFilter[], pendingFilters: InfiniteScrollMenuGeneratedFilter[]) => boolean;
14
24
  export {};
15
25
  //# sourceMappingURL=hasPendingChanges.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hasPendingChanges.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/infiniteScroll/utils/hasPendingChanges.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,6BAA6B,EAC7B,aAAa,EACd,MAAM,aAAa,CAAC;AAErB,UAAU,oBAAoB;IAC5B,OAAO,EAAE,iCAAiC,EAAE,CAAC;IAC7C,cAAc,EAAE,iCAAiC,EAAE,CAAC;IACpD,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACxC,aAAa,EAAE,6BAA6B,EAAE,CAAC;IAC/C,aAAa,EAAE,aAAa,CAAC;IAC7B,oBAAoB,EAAE,aAAa,CAAC;IACpC,YAAY,EAAE,6BAA6B,EAAE,CAAC;IAC9C,mBAAmB,EAAE,6BAA6B,EAAE,CAAC;CACtD;AAED,eAAO,MAAM,iBAAiB,GAAI,QAAQ,oBAAoB,KAAG,OAWhE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,gBAAgB,iCAAiC,EAAE,KAClD,OAaF,CAAC"}
1
+ {"version":3,"file":"hasPendingChanges.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/infiniteScroll/utils/hasPendingChanges.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,6BAA6B,EAC7B,UAAU,EACV,aAAa,EACd,MAAM,aAAa,CAAC;AAErB,UAAU,oBAAoB;IAC5B,OAAO,EAAE,iCAAiC,EAAE,CAAC;IAC7C,cAAc,EAAE,iCAAiC,EAAE,CAAC;IACpD,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACxC,aAAa,EAAE,6BAA6B,EAAE,CAAC;IAC/C,aAAa,EAAE,aAAa,CAAC;IAC7B,oBAAoB,EAAE,aAAa,CAAC;IACpC,YAAY,EAAE,6BAA6B,EAAE,CAAC;IAC9C,mBAAmB,EAAE,6BAA6B,EAAE,CAAC;CACtD;AAED,eAAO,MAAM,iBAAiB,GAAI,QAAQ,oBAAoB,KAAG,OAWhE,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,aAAa,GACxB,OAAO,UAAU,GAAG,SAAS,KAC5B,KAAK,IAAI,UAAiD,CAAC;AAE9D,eAAO,MAAM,gBAAgB,GAC3B,gBAAgB,iCAAiC,EAAE,KAClD,OAcF,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,YAAY,GACvB,SAAS,iCAAiC,EAAE,KAC3C,iCAAiC,EAYhC,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,iCAAiC,EAAE,EAC5C,gBAAgB,iCAAiC,EAAE,KAClD,OAKA,CAAC;AAMJ,eAAO,MAAM,gBAAgB,GAC3B,SAAS,iCAAiC,EAAE,EAC5C,gBAAgB,iCAAiC,EAAE,KAClD,OAuBF,CAAC"}
@@ -3,10 +3,12 @@ export const hasPendingChanges = (params) => {
3
3
  hasSortChanges(params.sortBy, params.pendingSortBy, params.sortDirection, params.pendingSortDirection) ||
4
4
  hasLimitChanges(params.limitOptions, params.pendingLimitOptions));
5
5
  };
6
+ /** A range bound is set unless it's missing or empty; `0` is a real bound. */
7
+ export const hasRangeValue = (value) => value !== undefined && value !== "";
6
8
  export const hasActiveFilters = (pendingFilters) => {
7
9
  for (const filter of pendingFilters) {
8
10
  if (filter.type === "RANGE") {
9
- if (filter.startValue || filter.endValue)
11
+ if (hasRangeValue(filter.startValue) || hasRangeValue(filter.endValue))
10
12
  return true;
11
13
  }
12
14
  else if (filter.type === "SEARCH") {
@@ -24,7 +26,32 @@ export const hasActiveFilters = (pendingFilters) => {
24
26
  }
25
27
  return false;
26
28
  };
27
- const hasFilterChanges = (filters, pendingFilters) => {
29
+ /** The filters with every value cleared, for Reset. */
30
+ export const clearFilters = (filters) => filters.map((filter) => {
31
+ if (filter.type === "SELECT") {
32
+ return {
33
+ ...filter,
34
+ options: filter.options?.map((o) => ({ ...o, selected: false })),
35
+ };
36
+ }
37
+ else if (filter.type === "RANGE") {
38
+ return { ...filter, startValue: undefined, endValue: undefined };
39
+ }
40
+ else if (filter.type === "SEARCH") {
41
+ return { ...filter, value: undefined };
42
+ }
43
+ else
44
+ return { ...filter, list: "" };
45
+ });
46
+ /**
47
+ * Whether a pending change is in a search box: applied immediately, searches
48
+ * wait for a pause in typing. (Ranges apply from their menu's Apply button.)
49
+ */
50
+ export const hasTypedFilterChanges = (filters, pendingFilters) => filters.some((filter, i) => filter.type === "SEARCH" &&
51
+ hasFilterChanges([filter], [pendingFilters[i]]));
52
+ // An emptied field is "" and an untouched one undefined; both mean unset.
53
+ const isSameValue = (a, b) => a === b || ((a === "" || a === undefined) && (b === "" || b === undefined));
54
+ export const hasFilterChanges = (filters, pendingFilters) => {
28
55
  if (!filters || !pendingFilters)
29
56
  return false;
30
57
  for (const filter of filters) {
@@ -40,26 +67,18 @@ const hasFilterChanges = (filters, pendingFilters) => {
40
67
  return true;
41
68
  }
42
69
  else if (filter.type === "SEARCH" && pending.type === "SEARCH") {
43
- if (filter.value !== pending.value) {
44
- if (!(filter.value === "" && pending.value === undefined))
45
- return true;
46
- }
70
+ if (!isSameValue(filter.value, pending.value))
71
+ return true;
47
72
  }
48
73
  else if (filter.type === "RANGE" && pending.type === "RANGE") {
49
- if (filter.startValue !== pending.startValue) {
50
- if (!(filter.startValue === "" && pending.startValue === undefined))
51
- return true;
52
- }
53
- if (filter.endValue !== pending.endValue) {
54
- if (!(filter.endValue === "" && pending.endValue === undefined))
55
- return true;
56
- }
74
+ if (!isSameValue(filter.startValue, pending.startValue))
75
+ return true;
76
+ if (!isSameValue(filter.endValue, pending.endValue))
77
+ return true;
57
78
  }
58
79
  else if (filter.type === "LIST" && pending.type === "LIST") {
59
- if (filter.list !== pending.list) {
60
- if (!(filter.list === "" && pending.list === undefined))
61
- return true;
62
- }
80
+ if (!isSameValue(filter.list, pending.list))
81
+ return true;
63
82
  }
64
83
  }
65
84
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"hasPendingChanges.js","sourceRoot":"","sources":["../../../../../src/components/data-display/infiniteScroll/utils/hasPendingChanges.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hasPendingChanges.js","sourceRoot":"","sources":["../../../../../src/components/data-display/infiniteScroll/utils/hasPendingChanges.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@
24
24
  justify-content: space-between;
25
25
  gap: 1.5rem;
26
26
  padding: 0.5rem 0;
27
- border-bottom: 1px solid var(--border-color);
27
+ border-bottom: 1px solid var(--k-border-color);
28
28
  }
29
29
 
30
30
  .k-list-card > div:last-child {
@@ -35,7 +35,7 @@
35
35
  font-weight: 600;
36
36
  text-align: left;
37
37
  flex-shrink: 0;
38
- color: var(--text-color-secondary);
38
+ color: var(--k-text-color-secondary);
39
39
  }
40
40
 
41
41
  .k-list-card dd {
@@ -44,5 +44,5 @@
44
44
 
45
45
  .k-list-card-actions {
46
46
  padding-top: 1rem;
47
- border-top: 1px solid var(--border-color);
47
+ border-top: 1px solid var(--k-border-color);
48
48
  }
@@ -4,9 +4,9 @@
4
4
  justify-content: space-between;
5
5
  gap: 0.75rem;
6
6
  padding: 0.6rem 0.75rem;
7
- border: 1px solid var(--border-color);
7
+ border: 1px solid var(--k-border-color);
8
8
  border-radius: 0.25rem;
9
- background: var(--background-color);
9
+ background: var(--k-background-color);
10
10
  }
11
11
 
12
12
  .k-list-row-body {
@@ -4,9 +4,9 @@
4
4
  padding: 0.75rem;
5
5
  display: grid;
6
6
  gap: 0.5rem;
7
- border: 0.0625rem solid var(--border-color);
7
+ border: 0.0625rem solid var(--k-border-color);
8
8
  border-radius: 0.375rem;
9
- background: var(--background-color-light, var(--background-color));
9
+ background: var(--k-background-color-light, var(--k-background-color));
10
10
  }
11
11
 
12
12
  .k-recovery-code-grid-1col {
@@ -34,8 +34,7 @@
34
34
 
35
35
  .k-recovery-code-grid-index {
36
36
  font-size: 0.75rem;
37
- color: var(--text-color);
38
- opacity: 0.55;
37
+ color: var(--k-text-color-secondary);
39
38
  min-width: 1.5rem;
40
39
  text-align: right;
41
40
  }
@@ -3,21 +3,21 @@
3
3
  align-items: center;
4
4
  gap: 0.5rem;
5
5
  padding: 0.5rem 0.75rem;
6
- border: 1px solid var(--border-color);
6
+ border: 1px solid var(--k-border-color);
7
7
  border-radius: 0.375rem;
8
- background: var(--background-color-light);
8
+ background: var(--k-background-color-light);
9
9
  }
10
10
 
11
11
  .k-secret-display-leading {
12
12
  flex-shrink: 0;
13
- color: var(--text-color-secondary);
13
+ color: var(--k-text-color-secondary);
14
14
  }
15
15
 
16
16
  .k-secret-display-value {
17
17
  flex: 1;
18
18
  min-width: 0;
19
19
  padding: 0.125rem 0.25rem;
20
- background-color: var(--background-color);
20
+ background-color: var(--k-background-color);
21
21
  border-radius: 0.25rem;
22
22
  word-break: break-all;
23
23
  user-select: all;
@@ -24,7 +24,7 @@
24
24
  }
25
25
 
26
26
  .k-stat-card-compact .k-card {
27
- background: var(--background-color-dark);
27
+ background: var(--k-background-color-dark);
28
28
  }
29
29
 
30
30
  .k-stat-card-icon {
@@ -34,25 +34,25 @@
34
34
  display: flex;
35
35
  align-items: center;
36
36
  justify-content: center;
37
- color: var(--text-color-light);
37
+ color: var(--k-text-color-light);
38
38
  font-size: 1.5rem;
39
39
  flex-shrink: 0;
40
40
  }
41
41
 
42
42
  .k-stat-card-icon-primary {
43
- background-color: var(--primary-color);
43
+ background-color: var(--k-primary-color);
44
44
  }
45
45
  .k-stat-card-icon-secondary {
46
- background-color: var(--secondary-color);
46
+ background-color: var(--k-secondary-color);
47
47
  }
48
48
  .k-stat-card-icon-success {
49
- background-color: var(--success-color);
49
+ background-color: var(--k-success-color);
50
50
  }
51
51
  .k-stat-card-icon-warning {
52
- background-color: var(--warning-color);
52
+ background-color: var(--k-warning-color);
53
53
  }
54
54
  .k-stat-card-icon-danger {
55
- background-color: var(--danger-color);
55
+ background-color: var(--k-danger-color);
56
56
  }
57
57
 
58
58
  .k-stat-card-content {
@@ -63,19 +63,19 @@
63
63
  .k-stat-card-default .k-stat-card-value {
64
64
  font-size: 2rem;
65
65
  font-weight: 700;
66
- color: var(--text-color);
66
+ color: var(--k-text-color);
67
67
  line-height: 1;
68
68
  }
69
69
 
70
70
  .k-stat-card-default .k-stat-card-label {
71
71
  font-size: 0.875rem;
72
- color: var(--text-color-secondary);
72
+ color: var(--k-text-color-secondary);
73
73
  margin-top: 0.25rem;
74
74
  }
75
75
 
76
76
  .k-stat-card-compact .k-stat-card-label {
77
77
  font-size: 0.75rem;
78
- color: var(--text-color-secondary);
78
+ color: var(--k-text-color-secondary);
79
79
  text-transform: uppercase;
80
80
  letter-spacing: 0.04em;
81
81
  }
@@ -87,10 +87,10 @@
87
87
  }
88
88
 
89
89
  .k-stat-card-trailing {
90
- color: var(--border-color);
90
+ color: var(--k-border-color);
91
91
  flex-shrink: 0;
92
92
  }
93
93
 
94
94
  .k-stat-card-interactive:hover .k-stat-card-trailing {
95
- color: var(--primary-color);
95
+ color: var(--k-primary-color-text);
96
96
  }
@@ -5,8 +5,8 @@
5
5
  padding: 0.5rem 0.75rem;
6
6
  font-size: 0.85rem;
7
7
  font-weight: 600;
8
- background-color: var(--background-color-dark);
9
- border: 1px solid var(--border-color);
8
+ background-color: var(--k-background-color-dark);
9
+ border: 1px solid var(--k-border-color);
10
10
  border-radius: 4px;
11
11
  }
12
12
 
@@ -17,10 +17,10 @@
17
17
  }
18
18
 
19
19
  .k-summary-row-label {
20
- color: var(--text-color-secondary);
20
+ color: var(--k-text-color-secondary);
21
21
  font-weight: 500;
22
22
  }
23
23
 
24
24
  .k-summary-row-value {
25
- color: var(--text-color);
25
+ color: var(--k-text-color);
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/table/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,UAAU,CAAC,KAAK;IAC/B,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9B,IAAI,EAAE,KAAK,EAAE,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;IACxD;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACvD,mEAAmE;IACnE,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,QAAA,MAAM,KAAK,GAAI,KAAK,EAAG,iHAYpB,UAAU,CAAC,KAAK,CAAC,gCAqGnB,CAAC;AAEF,eAAe,KAAK,CAAC;AACrB,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/table/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,UAAU,CAAC,KAAK;IAC/B,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9B,IAAI,EAAE,KAAK,EAAE,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;IACxD;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACvD,mEAAmE;IACnE,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,QAAA,MAAM,KAAK,GAAI,KAAK,EAAG,iHAYpB,UAAU,CAAC,KAAK,CAAC,gCAqGnB,CAAC;AAEF,eAAe,KAAK,CAAC;AACrB,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import parseDataKey from "../dataTable/utils/parseDataKey.js";
3
+ import parseDataKey, { cellText } from "../dataTable/utils/parseDataKey.js";
4
4
  import "./styles.css";
5
5
  const Table = ({ columns, rows, rowKey, onRowClick, isRowSelected, emptyMessage, striped = true, bordered = true, hover = true, maxHeight, style, }) => {
6
6
  const visibleColumns = columns.filter((c) => !c.hidden);
@@ -33,7 +33,7 @@ const Table = ({ columns, rows, rowKey, onRowClick, isRowSelected, emptyMessage,
33
33
  const content = c.cellElement
34
34
  ? c.cellElement(row, i)
35
35
  : c.dataKey
36
- ? parseDataKey(c.dataKey, row)
36
+ ? cellText(parseDataKey(c.dataKey, row))
37
37
  : null;
38
38
  return (_jsx("td", { className: alignClass || undefined, onClick: c.disableRowClick
39
39
  ? (e) => e.stopPropagation()
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/data-display/table/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,YAAY,MAAM,oCAAoC,CAAC;AAE9D,OAAO,cAAc,CAAC;AAiCtB,MAAM,KAAK,GAAG,CAAS,EACrB,OAAO,EACP,IAAI,EACJ,MAAM,EACN,UAAU,EACV,aAAa,EACb,YAAY,EACZ,OAAO,GAAG,IAAI,EACd,QAAQ,GAAG,IAAI,EACf,KAAK,GAAG,IAAI,EACZ,SAAS,EACT,KAAK,GACa,EAAE,EAAE;IACtB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC;IAE/B,MAAM,YAAY,GAAG;QACnB,SAAS;QACT,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;QAChC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;QAC5B,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;QAClC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;KACrC;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,MAAM,KAAK,GAAG,CACZ,iBAAO,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,aAClE,0BACE,uBACG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;wBAC7B,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClE,MAAM,OAAO,GAAG,CAAC,CAAC,aAAa;4BAC7B,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;4BAC1B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wBACZ,OAAO,CACL,aAEE,SAAS,EAAE,4BAA4B,UAAU,EAAE,CAAC,IAAI,EAAE,EAC1D,KAAK,EAAE;gCACL,KAAK,EAAE,CAAC,CAAC,KAAK;gCACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;gCACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;6BACrB,YAEA,OAAO,IARH,GAAG,CASL,CACN,CAAC;oBACJ,CAAC,CAAC,GACC,GACC,EACR,0BACG,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CACjD,uBACE,aAAI,OAAO,EAAE,cAAc,CAAC,MAAM,YAAG,YAAY,GAAM,GACpD,CACN,CAAC,CAAC,CAAC,CACF,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAClB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxC,OAAO,CACL,aAEE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,mBAExD,aAAa,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,YAG5D,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;4BAC5B,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK;gCACxB,CAAC,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE;gCACjC,CAAC,CAAC,EAAE,CAAC;4BACP,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW;gCAC3B,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;gCACvB,CAAC,CAAC,CAAC,CAAC,OAAO;oCACT,CAAC,CAAE,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAe;oCAC7C,CAAC,CAAC,IAAI,CAAC;4BACX,OAAO,CACL,aAEE,SAAS,EAAE,UAAU,IAAI,SAAS,EAClC,OAAO,EACL,CAAC,CAAC,eAAe;oCACf,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;oCAC5B,CAAC,CAAC,SAAS,YAGd,OAAO,IARH,EAAE,CASJ,CACN,CAAC;wBACJ,CAAC,CAAC,IA5BG,GAAG,CA6BL,CACN,CAAC;gBACJ,CAAC,CAAC,CACH,GACK,IACF,CACT,CAAC;IAEF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,iBAAiB,GACrB,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/D,OAAO,CACL,cACE,SAAS,EAAC,0BAA0B,EACpC,KAAK,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,KAAK,EAAE,YAEhD,KAAK,GACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/data-display/table/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAG5E,OAAO,cAAc,CAAC;AAiCtB,MAAM,KAAK,GAAG,CAAS,EACrB,OAAO,EACP,IAAI,EACJ,MAAM,EACN,UAAU,EACV,aAAa,EACb,YAAY,EACZ,OAAO,GAAG,IAAI,EACd,QAAQ,GAAG,IAAI,EACf,KAAK,GAAG,IAAI,EACZ,SAAS,EACT,KAAK,GACa,EAAE,EAAE;IACtB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC;IAE/B,MAAM,YAAY,GAAG;QACnB,SAAS;QACT,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;QAChC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;QAC5B,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;QAClC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;KACrC;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,MAAM,KAAK,GAAG,CACZ,iBAAO,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,aAClE,0BACE,uBACG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;wBAC7B,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClE,MAAM,OAAO,GAAG,CAAC,CAAC,aAAa;4BAC7B,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;4BAC1B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wBACZ,OAAO,CACL,aAEE,SAAS,EAAE,4BAA4B,UAAU,EAAE,CAAC,IAAI,EAAE,EAC1D,KAAK,EAAE;gCACL,KAAK,EAAE,CAAC,CAAC,KAAK;gCACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;gCACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;6BACrB,YAEA,OAAO,IARH,GAAG,CASL,CACN,CAAC;oBACJ,CAAC,CAAC,GACC,GACC,EACR,0BACG,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CACjD,uBACE,aAAI,OAAO,EAAE,cAAc,CAAC,MAAM,YAAG,YAAY,GAAM,GACpD,CACN,CAAC,CAAC,CAAC,CACF,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAClB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxC,OAAO,CACL,aAEE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,mBAExD,aAAa,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,YAG5D,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;4BAC5B,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK;gCACxB,CAAC,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE;gCACjC,CAAC,CAAC,EAAE,CAAC;4BACP,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW;gCAC3B,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;gCACvB,CAAC,CAAC,CAAC,CAAC,OAAO;oCACT,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oCACxC,CAAC,CAAC,IAAI,CAAC;4BACX,OAAO,CACL,aAEE,SAAS,EAAE,UAAU,IAAI,SAAS,EAClC,OAAO,EACL,CAAC,CAAC,eAAe;oCACf,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;oCAC5B,CAAC,CAAC,SAAS,YAGd,OAAO,IARH,EAAE,CASJ,CACN,CAAC;wBACJ,CAAC,CAAC,IA5BG,GAAG,CA6BL,CACN,CAAC;gBACJ,CAAC,CAAC,CACH,GACK,IACF,CACT,CAAC;IAEF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,iBAAiB,GACrB,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/D,OAAO,CACL,cACE,SAAS,EAAC,0BAA0B,EACpC,KAAK,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,KAAK,EAAE,YAEhD,KAAK,GACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -2,13 +2,24 @@
2
2
  width: 100%;
3
3
  border-collapse: collapse;
4
4
  text-align: left;
5
- color: var(--text-color);
6
- background-color: var(--background-color-light);
5
+ color: var(--k-text-color);
6
+ background-color: var(--k-background-color-light);
7
7
  }
8
8
 
9
9
  .k-table th,
10
10
  .k-table td {
11
- padding: 0.5rem;
11
+ padding: 0.5rem 0.75rem;
12
+ }
13
+
14
+ /* Keep text clear of the table's outer edges. */
15
+ .k-table th:first-child,
16
+ .k-table td:first-child {
17
+ padding-left: 1rem;
18
+ }
19
+
20
+ .k-table th:last-child,
21
+ .k-table td:last-child {
22
+ padding-right: 1rem;
12
23
  }
13
24
 
14
25
  .k-table th {
@@ -16,25 +27,25 @@
16
27
  }
17
28
 
18
29
  .k-table-striped tbody tr:nth-of-type(odd) {
19
- background-color: var(--background-color-dark);
30
+ background-color: var(--k-background-color-dark);
20
31
  }
21
32
 
22
33
  .k-table-hover tbody tr:hover {
23
- background-color: var(--background-color-hover);
34
+ background-color: var(--k-background-color-hover);
24
35
  }
25
36
 
26
37
  .k-table-bordered {
27
- border: 1px solid var(--border-color);
38
+ border: 1px solid var(--k-border-color);
28
39
  }
29
40
 
30
41
  .k-table-bordered th,
31
42
  .k-table-bordered td {
32
- border-top: 1px solid var(--border-color);
43
+ border-top: 1px solid var(--k-border-color);
33
44
  }
34
45
 
35
46
  .k-table-bordered th:not(:first-child),
36
47
  .k-table-bordered td:not(:first-child) {
37
- border-left: 1px solid var(--border-color);
48
+ border-left: 1px solid var(--k-border-color);
38
49
  }
39
50
 
40
51
  /* ===== Clickable rows ===== */
@@ -44,18 +55,18 @@
44
55
 
45
56
  /* ===== Row selection (caller marks rows with data-selected="true") ===== */
46
57
  .k-table tbody tr[data-selected="true"] {
47
- background-color: var(--primary-color-background-light);
58
+ background-color: var(--k-primary-color-background-light);
48
59
  }
49
60
 
50
61
  /* ===== Scrollable wrapper with sticky header ===== */
51
62
  .k-table-scroll-container {
52
63
  overflow-y: auto;
53
- border: 1px solid var(--border-color);
64
+ border: 1px solid var(--k-border-color);
54
65
  border-radius: 4px;
55
66
  }
56
67
 
57
68
  .k-table-scroll-container .k-table thead tr {
58
69
  position: sticky;
59
70
  top: 0;
60
- background: var(--background-color-light);
71
+ background: var(--k-background-color-light);
61
72
  }
@@ -0,0 +1,30 @@
1
+ import { InfiniteScrollMenuFilter } from "../infiniteScroll/types.js";
2
+ export interface TableFiltersProps {
3
+ /**
4
+ * The filters to offer, as in InfiniteScroll's `menu.filters`. They're
5
+ * compared by contents, so an inline array is fine; changing them resets
6
+ * every filter to the new definitions.
7
+ */
8
+ filters: InfiniteScrollMenuFilter[];
9
+ /**
10
+ * Called with the applied filters as query params (`filter[status]`,
11
+ * `filter[mrr_gte]`, …), ready to spread into `usePaginated`'s `params`.
12
+ * It fires once on mount, with `{}` unless a filter starts with a value.
13
+ */
14
+ onChange: (params: Record<string, string>) => void;
15
+ /**
16
+ * `"immediate"` (default) applies each change as it's made: searches wait
17
+ * for a pause in typing, and a range (two bounds in one menu) applies from
18
+ * the menu's own Apply button. `"manual"` collects changes until Apply is
19
+ * clicked. Enter in a filter's text box applies in both.
20
+ */
21
+ applyMode?: "immediate" | "manual";
22
+ }
23
+ /**
24
+ * InfiniteScroll's filter bar on its own, for tables that page or load some
25
+ * other way: search, select, range and list filters with tags and Reset. It
26
+ * reports the applied filters as query params.
27
+ */
28
+ declare const TableFilters: ({ filters: definitions, onChange, applyMode, }: TableFiltersProps) => import("react").JSX.Element;
29
+ export default TableFilters;
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/tableFilters/index.tsx"],"names":[],"mappings":"AASA,OAAO,EACL,wBAAwB,EAEzB,MAAM,4BAA4B,CAAC;AAIpC,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACpC;;;;OAIG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACnD;;;;;OAKG;IACH,SAAS,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;CACpC;AAQD;;;;GAIG;AACH,QAAA,MAAM,YAAY,GAAI,gDAInB,iBAAiB,gCA2FnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,67 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as pendingChangesUtil from "../infiniteScroll/utils/hasPendingChanges.js";
4
+ import { filterParams } from "../infiniteScroll/utils/generateQueryString.js";
5
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
6
+ import Filters from "../infiniteScroll/filters/index.js";
7
+ import Button from "../../buttons/button/index.js";
8
+ import Tags from "../infiniteScroll/tags/index.js";
9
+ import Col from "../../layout/col/index.js";
10
+ const TYPING_DEBOUNCE_MS = 400;
11
+ const generate = (filters) => filters.map((f, i) => ({
12
+ ...f,
13
+ filterId: `${f.dataKey}-${i}`,
14
+ }));
15
+ /**
16
+ * InfiniteScroll's filter bar on its own, for tables that page or load some
17
+ * other way: search, select, range and list filters with tags and Reset. It
18
+ * reports the applied filters as query params.
19
+ */
20
+ const TableFilters = ({ filters: definitions, onChange, applyMode = "immediate", }) => {
21
+ const [filters, setFilters] = useState(() => generate(definitions));
22
+ const [pendingFilters, setPendingFilters] = useState(filters);
23
+ // The definitions are plain data, as InfiniteScroll's menu: start over when
24
+ // their contents change, not each time they're a new array.
25
+ const definitionsKey = JSON.stringify(definitions);
26
+ const [prevDefinitionsKey, setPrevDefinitionsKey] = useState(definitionsKey);
27
+ if (definitionsKey !== prevDefinitionsKey) {
28
+ const next = generate(definitions);
29
+ setPrevDefinitionsKey(definitionsKey);
30
+ setFilters(next);
31
+ setPendingFilters(next);
32
+ }
33
+ // Report only when the params actually change, not on every new array.
34
+ const params = useMemo(() => filterParams(filters), [filters]);
35
+ const paramsKey = JSON.stringify(params);
36
+ const onChangeRef = useRef(onChange);
37
+ onChangeRef.current = onChange;
38
+ useEffect(() => {
39
+ onChangeRef.current(params);
40
+ }, [paramsKey]);
41
+ const hasPendingChanges = useMemo(() => pendingChangesUtil.hasFilterChanges(filters, pendingFilters), [filters, pendingFilters]);
42
+ const hasActiveFilters = pendingChangesUtil.hasActiveFilters(pendingFilters) ||
43
+ pendingChangesUtil.hasActiveFilters(filters);
44
+ const handleApply = useCallback(() => setFilters(pendingFilters), [pendingFilters]);
45
+ useEffect(() => {
46
+ if (applyMode !== "immediate" || !hasPendingChanges)
47
+ return;
48
+ const delay = pendingChangesUtil.hasTypedFilterChanges(filters, pendingFilters)
49
+ ? TYPING_DEBOUNCE_MS
50
+ : 0;
51
+ const timer = setTimeout(handleApply, delay);
52
+ return () => clearTimeout(timer);
53
+ }, [applyMode, hasPendingChanges, handleApply, filters, pendingFilters]);
54
+ // Removing a tag applies at once; the pending copy of that filter follows.
55
+ const handleTagChange = useCallback((next) => {
56
+ setPendingFilters((pending) => pending.map((p, i) => (next[i] !== filters[i] ? next[i] : p)));
57
+ setFilters(next);
58
+ }, [filters]);
59
+ const handleReset = useCallback(() => {
60
+ const cleared = pendingChangesUtil.clearFilters(pendingFilters);
61
+ setPendingFilters(cleared);
62
+ setFilters(cleared);
63
+ }, [pendingFilters]);
64
+ return (_jsxs(Col, { size: "sm", children: [_jsxs(Filters, { pendingFilters: pendingFilters, handleNewPendingFilters: setPendingFilters, onApply: hasPendingChanges ? handleApply : undefined, rangeApplyInMenu: applyMode === "immediate", children: [_jsx(Button, { size: "sm", variant: "danger", disabled: !hasActiveFilters, onClick: handleReset, children: "Reset" }), applyMode === "manual" && (_jsx(Button, { size: "sm", disabled: !hasPendingChanges, onClick: handleApply, children: "Apply" }))] }), _jsx(Tags, { filters: filters, handleNewFilters: handleTagChange })] }));
65
+ };
66
+ export default TableFilters;
67
+ //# sourceMappingURL=index.js.map