@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,9 +1,9 @@
1
1
  /* Card Component Styles */
2
2
  .k-card {
3
- background: var(--background-color);
3
+ background: var(--k-background-color);
4
4
  border-radius: 0.9375rem;
5
5
  transition: all 0.3s ease;
6
- border: 0.0625rem solid var(--border-color);
6
+ border: 0.0625rem solid var(--k-border-color);
7
7
  }
8
8
 
9
9
  .k-card-align-left {
@@ -15,12 +15,12 @@
15
15
  }
16
16
 
17
17
  .k-card-hoverable {
18
- box-shadow: 0 0.3125rem 0.9375rem var(--shadow-color);
18
+ box-shadow: 0 0.3125rem 0.9375rem var(--k-shadow-color);
19
19
  }
20
20
 
21
21
  .k-card-hoverable:hover {
22
22
  transform: translateY(-0.3125rem);
23
- box-shadow: 0 0.9375rem 1.875rem var(--shadow-color-hover);
23
+ box-shadow: 0 0.9375rem 1.875rem var(--k-shadow-color-hover);
24
24
  }
25
25
 
26
26
  .k-card-header {
@@ -29,7 +29,7 @@
29
29
  gap: 0.5rem;
30
30
  padding-bottom: 0.75rem;
31
31
  margin-bottom: 1rem;
32
- border-bottom: 0.0625rem solid var(--border-color);
32
+ border-bottom: 0.0625rem solid var(--k-border-color);
33
33
  }
34
34
 
35
35
  .k-card-header-row {
@@ -58,7 +58,7 @@
58
58
 
59
59
  .k-card-progress-label {
60
60
  font-size: 0.8125rem;
61
- color: var(--text-color);
61
+ color: var(--k-text-color);
62
62
  opacity: 0.7;
63
63
  }
64
64
 
@@ -72,12 +72,34 @@
72
72
  gap: 0.5rem;
73
73
  padding-top: 0.75rem;
74
74
  margin-top: 1rem;
75
- border-top: 0.0625rem solid var(--border-color);
75
+ border-top: 0.0625rem solid var(--k-border-color);
76
76
  }
77
77
 
78
78
  /* Padding Variants */
79
+ /* Edge-to-edge content (tables, images): clip it to the rounded corners, and
80
+ give the header and footer their own padding instead. */
79
81
  .k-card-padding-none {
80
82
  padding: 0;
83
+ overflow: hidden;
84
+ }
85
+
86
+ .k-card-padding-none .k-card-header {
87
+ padding: 0.75rem 1rem;
88
+ margin-bottom: 0;
89
+ }
90
+
91
+ .k-card-padding-none .k-card-footer {
92
+ padding: 0.75rem 1rem;
93
+ margin-top: 0;
94
+ }
95
+
96
+ /* The card already draws the outer edge and the line under the header. */
97
+ .k-card-padding-none .k-card-body > .k-table {
98
+ border: none;
99
+ }
100
+
101
+ .k-card-padding-none .k-card-body > .k-table thead th {
102
+ border-top: none;
81
103
  }
82
104
 
83
105
  .k-card-padding-small {
@@ -94,67 +116,67 @@
94
116
 
95
117
  /* Color Variants */
96
118
  .k-card-primary {
97
- border-color: var(--primary-color);
119
+ border-color: var(--k-primary-color);
98
120
  }
99
121
 
100
122
  .k-card-primary.k-card-hoverable:hover {
101
- border-color: var(--primary-color-hover);
123
+ border-color: var(--k-primary-color-hover);
102
124
  box-shadow:
103
- 0 0.9375rem 1.875rem var(--shadow-color-hover),
104
- 0 0 0 0.0625rem var(--primary-color);
125
+ 0 0.9375rem 1.875rem var(--k-shadow-color-hover),
126
+ 0 0 0 0.0625rem var(--k-primary-color);
105
127
  }
106
128
 
107
129
  .k-card-secondary {
108
- border-color: var(--secondary-color);
130
+ border-color: var(--k-secondary-color);
109
131
  }
110
132
 
111
133
  .k-card-secondary.k-card-hoverable:hover {
112
- border-color: var(--secondary-color-hover);
134
+ border-color: var(--k-secondary-color-hover);
113
135
  box-shadow:
114
- 0 0.9375rem 1.875rem var(--shadow-color-hover),
115
- 0 0 0 0.0625rem var(--secondary-color);
136
+ 0 0.9375rem 1.875rem var(--k-shadow-color-hover),
137
+ 0 0 0 0.0625rem var(--k-secondary-color);
116
138
  }
117
139
 
118
140
  .k-card-light {
119
- border-color: var(--light-color);
141
+ border-color: var(--k-light-color);
120
142
  }
121
143
 
122
144
  .k-card-light.k-card-hoverable:hover {
123
- border-color: var(--light-color-hover);
145
+ border-color: var(--k-light-color-hover);
124
146
  box-shadow:
125
- 0 0.9375rem 1.875rem var(--shadow-color-hover),
126
- 0 0 0 0.0625rem var(--light-color);
147
+ 0 0.9375rem 1.875rem var(--k-shadow-color-hover),
148
+ 0 0 0 0.0625rem var(--k-light-color);
127
149
  }
128
150
 
129
151
  .k-card-danger {
130
- border-color: var(--danger-color);
152
+ border-color: var(--k-danger-color);
131
153
  }
132
154
 
133
155
  .k-card-danger.k-card-hoverable:hover {
134
- border-color: var(--danger-color-hover);
156
+ border-color: var(--k-danger-color-hover);
135
157
  box-shadow:
136
- 0 0.9375rem 1.875rem var(--shadow-color-hover),
137
- 0 0 0 0.0625rem var(--danger-color);
158
+ 0 0.9375rem 1.875rem var(--k-shadow-color-hover),
159
+ 0 0 0 0.0625rem var(--k-danger-color);
138
160
  }
139
161
 
140
162
  .k-card-warning {
141
- border-color: var(--warning-color);
163
+ border-color: var(--k-warning-color);
142
164
  }
143
165
 
144
166
  .k-card-warning.k-card-hoverable:hover {
145
- border-color: var(--warning-color-hover);
167
+ border-color: var(--k-warning-color-hover);
146
168
  box-shadow:
147
- 0 0.9375rem 1.875rem var(--shadow-color-hover),
148
- 0 0 0 0.0625rem var(--warning-color);
169
+ 0 0.9375rem 1.875rem var(--k-shadow-color-hover),
170
+ 0 0 0 0.0625rem var(--k-warning-color);
149
171
  }
150
172
 
151
173
  .k-card-success {
152
- border-color: var(--success-color);
174
+ border-color: var(--k-success-color);
153
175
  }
154
176
 
155
177
  .k-card-success.k-card-hoverable:hover {
156
- border-color: var(--success-color-hover);
178
+ border-color: var(--k-success-color-hover);
157
179
  box-shadow:
158
- 0 0.9375rem 1.875rem var(--shadow-color-hover),
159
- 0 0 0 0.0625rem var(--success-color);
180
+ 0 0.9375rem 1.875rem var(--k-shadow-color-hover),
181
+ 0 0 0 0.0625rem var(--k-success-color);
160
182
  }
@@ -23,5 +23,5 @@
23
23
  .k-col-divider-solid-top {
24
24
  margin-top: 0.5rem;
25
25
  padding-top: 0.5rem;
26
- border-top: 1px solid var(--border-color);
26
+ border-top: 1px solid var(--k-border-color);
27
27
  }
@@ -1,8 +1,11 @@
1
1
  .k-page {
2
+ --k-page-padding: 0px;
3
+ --k-page-gap: 0px;
2
4
  display: flex;
3
5
  flex-direction: column;
4
6
  width: 100%;
5
7
  box-sizing: border-box;
8
+ gap: var(--k-page-gap);
6
9
  }
7
10
 
8
11
  .k-page-fill {
@@ -11,15 +14,32 @@
11
14
  }
12
15
 
13
16
  .k-page-padded {
14
- padding: 1.5rem;
17
+ --k-page-padding: 1.5rem;
18
+ padding: var(--k-page-padding);
19
+ }
20
+
21
+ /* A fill page has a fixed height, so content taller than it spills past the
22
+ bottom padding and ends flush with the view. A spacer after the content
23
+ stands in for that padding: it follows the content when it overflows, so
24
+ the scroll area still ends with the space. Its margin cancels the gap
25
+ before it; it keeps a real height, as an empty box adds no scroll area. */
26
+ .k-page-fill.k-page-padded {
27
+ padding-bottom: 0;
28
+ }
29
+
30
+ .k-page-fill.k-page-padded::after {
31
+ content: "";
32
+ flex: none;
33
+ height: var(--k-page-padding);
34
+ margin-top: calc(-1 * var(--k-page-gap));
15
35
  }
16
36
 
17
37
  .k-page-gap-sm {
18
- gap: 0.75rem;
38
+ --k-page-gap: 0.75rem;
19
39
  }
20
40
 
21
41
  .k-page-gap-md {
22
- gap: 1.5rem;
42
+ --k-page-gap: 1.5rem;
23
43
  }
24
44
 
25
45
  .k-page-max-narrow {
@@ -45,9 +65,9 @@
45
65
 
46
66
  @media (max-width: 640px) {
47
67
  .k-page-padded {
48
- padding: 1rem;
68
+ --k-page-padding: 1rem;
49
69
  }
50
70
  .k-page-gap-md {
51
- gap: 1rem;
71
+ --k-page-gap: 1rem;
52
72
  }
53
73
  }
@@ -11,13 +11,13 @@
11
11
 
12
12
  .k-section-header-divider {
13
13
  padding-bottom: 1rem;
14
- border-bottom: 0.0625rem solid var(--border-color);
14
+ border-bottom: 0.0625rem solid var(--k-border-color);
15
15
  margin-bottom: 1.5rem;
16
16
  }
17
17
 
18
18
  .k-section-header-preface {
19
19
  font-size: 0.875rem;
20
- color: var(--text-color-secondary);
20
+ color: var(--k-text-color-secondary);
21
21
  }
22
22
 
23
23
  .k-section-header-row {
@@ -82,8 +82,7 @@
82
82
 
83
83
  .k-section-header-subtitle {
84
84
  font-size: 0.8125rem;
85
- color: var(--text-color);
86
- opacity: 0.65;
85
+ color: var(--k-text-color-secondary);
87
86
  }
88
87
 
89
88
  .k-section-header-badges {
@@ -7,12 +7,12 @@
7
7
  }
8
8
 
9
9
  .k-breadcrumb-item {
10
- font-size: var(--text-size-md);
10
+ font-size: var(--k-text-size-md);
11
11
  }
12
12
 
13
13
  .k-breadcrumb-item a {
14
14
  text-decoration: none;
15
- color: var(--text-color-link);
15
+ color: var(--k-text-color-link);
16
16
  }
17
17
 
18
18
  .k-breadcrumb-item a:hover {
@@ -20,23 +20,23 @@
20
20
  }
21
21
 
22
22
  .k-breadcrumb-item span {
23
- color: var(--text-color-secondary);
23
+ color: var(--k-text-color-secondary);
24
24
  }
25
25
 
26
26
  .k-breadcrumb-item + .k-breadcrumb-item::before {
27
27
  content: "/";
28
28
  margin: 0 0.5rem;
29
- color: var(--text-color-secondary);
29
+ color: var(--k-text-color-secondary);
30
30
  }
31
31
 
32
32
  .k-breadcrumb-item-sm {
33
- font-size: var(--text-size-sm);
33
+ font-size: var(--k-text-size-sm);
34
34
  }
35
35
 
36
36
  .k-breadcrumb-item-md {
37
- font-size: var(--text-size-md);
37
+ font-size: var(--k-text-size-md);
38
38
  }
39
39
 
40
40
  .k-breadcrumb-item-lg {
41
- font-size: var(--text-size-lg);
41
+ font-size: var(--k-text-size-lg);
42
42
  }
@@ -0,0 +1,23 @@
1
+ import { PropsWithSize } from "../../types.js";
2
+ import "./styles.css";
3
+ export interface PaginationProps extends PropsWithSize {
4
+ /** Current page, starting at 1. */
5
+ page: number;
6
+ /** Total number of pages. */
7
+ pageCount: number;
8
+ onPageChange: (page: number) => void;
9
+ /** Total item count. With `pageSize`, shows a "51–75 of 240" summary. */
10
+ total?: number;
11
+ /** Items per page. Needed for the summary and the page-size picker. */
12
+ pageSize?: number;
13
+ /** Page sizes to offer. With `onPageSizeChange`, shows a "Rows per page" picker. */
14
+ pageSizeOptions?: number[];
15
+ onPageSizeChange?: (pageSize: number) => void;
16
+ /** Pages shown either side of the current page before a "…" gap. Defaults to 1. */
17
+ siblingCount?: number;
18
+ /** Accessible name for the navigation landmark. Defaults to "Pagination". */
19
+ "aria-label"?: string;
20
+ }
21
+ declare const Pagination: ({ page, pageCount, onPageChange, total, pageSize, pageSizeOptions, onPageSizeChange, siblingCount, size, "aria-label": ariaLabel, }: PaginationProps) => import("react").JSX.Element;
22
+ export default Pagination;
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/pagination/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,cAAc,CAAC;AAMtB,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,QAAA,MAAM,UAAU,GAAI,qIAWjB,eAAe,gCAwFjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
4
+ import Select from "../../inputs/select/index.js";
5
+ import { pageRange } from "./utils.js";
6
+ import { useId } from "react";
7
+ import "./styles.css";
8
+ import { faChevronLeft, faChevronRight, } from "@fortawesome/free-solid-svg-icons";
9
+ const Pagination = ({ page, pageCount, onPageChange, total, pageSize, pageSizeOptions, onPageSizeChange, siblingCount = 1, size = "md", "aria-label": ariaLabel = "Pagination", }) => {
10
+ const pageSizeId = useId();
11
+ const lastPage = Math.max(pageCount, 1);
12
+ const current = Math.min(Math.max(page, 1), lastPage);
13
+ const goTo = (target) => {
14
+ if (target >= 1 && target <= lastPage && target !== current) {
15
+ onPageChange(target);
16
+ }
17
+ };
18
+ const summary = total !== undefined && pageSize !== undefined
19
+ ? total === 0
20
+ ? "No results"
21
+ : `${(current - 1) * pageSize + 1}–${Math.min(current * pageSize, total)} of ${total.toLocaleString()}`
22
+ : undefined;
23
+ return (_jsxs("nav", { className: `k-pagination k-pagination-${size}`, "aria-label": ariaLabel, children: [summary && (_jsx("p", { className: "k-pagination-summary", "aria-live": "polite", children: summary })), _jsxs("ul", { className: "k-pagination-pages", children: [_jsx("li", { children: _jsx("button", { type: "button", className: "k-pagination-button", onClick: () => goTo(current - 1), disabled: current <= 1, "aria-label": "Previous page", children: _jsx(FontAwesomeIcon, { icon: faChevronLeft, "aria-hidden": "true" }) }) }), pageRange(current, lastPage, siblingCount).map((item) => typeof item === "number" ? (_jsx("li", { children: _jsx("button", { type: "button", className: `k-pagination-button${item === current ? " k-pagination-button-current" : ""}`, onClick: () => goTo(item), "aria-label": `Page ${item}`, "aria-current": item === current ? "page" : undefined, children: item }) }, item)) : (_jsx("li", { className: "k-pagination-gap", "aria-hidden": "true", children: "\u2026" }, item))), _jsx("li", { children: _jsx("button", { type: "button", className: "k-pagination-button", onClick: () => goTo(current + 1), disabled: current >= lastPage, "aria-label": "Next page", children: _jsx(FontAwesomeIcon, { icon: faChevronRight, "aria-hidden": "true" }) }) })] }), pageSizeOptions && onPageSizeChange && (_jsxs("div", { className: "k-pagination-page-size", children: [_jsx("label", { htmlFor: pageSizeId, children: "Rows per page" }), _jsx(Select, { id: pageSizeId, size: "sm", value: pageSize === undefined ? undefined : String(pageSize), options: pageSizeOptions.map((n) => ({
24
+ value: String(n),
25
+ label: String(n),
26
+ })), onChange: (n) => n !== undefined && onPageSizeChange(Number(n)) })] }))] }));
27
+ };
28
+ export default Pagination;
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/navigation/pagination/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ .k-pagination {
2
+ display: flex;
3
+ flex-wrap: wrap;
4
+ align-items: center;
5
+ justify-content: space-between;
6
+ gap: 0.75rem 1.5rem;
7
+ color: var(--k-text-color);
8
+ }
9
+
10
+ .k-pagination-summary {
11
+ margin: 0;
12
+ color: var(--k-text-color-secondary);
13
+ font-variant-numeric: tabular-nums;
14
+ }
15
+
16
+ .k-pagination-pages {
17
+ display: flex;
18
+ align-items: center;
19
+ gap: 0.25rem;
20
+ margin: 0;
21
+ padding: 0;
22
+ list-style: none;
23
+ }
24
+
25
+ .k-pagination-button {
26
+ display: inline-flex;
27
+ align-items: center;
28
+ justify-content: center;
29
+ border: 0.0625rem solid var(--k-border-color);
30
+ border-radius: 0.375rem;
31
+ background-color: var(--k-background-color-light);
32
+ color: var(--k-text-color);
33
+ font-variant-numeric: tabular-nums;
34
+ cursor: pointer;
35
+ transition:
36
+ background-color 0.15s ease-in-out,
37
+ border-color 0.15s ease-in-out;
38
+ }
39
+
40
+ .k-pagination-button:not(:disabled):hover {
41
+ background-color: var(--k-background-color-hover);
42
+ }
43
+
44
+ .k-pagination-button:focus-visible {
45
+ outline: 0.125rem solid var(--k-border-color-active);
46
+ outline-offset: 0.125rem;
47
+ }
48
+
49
+ .k-pagination-button-current,
50
+ .k-pagination-button-current:not(:disabled):hover {
51
+ border-color: var(--k-primary-color);
52
+ background-color: var(--k-primary-color);
53
+ color: var(--k-text-color-light);
54
+ font-weight: 600;
55
+ }
56
+
57
+ .k-pagination-button:disabled {
58
+ cursor: not-allowed;
59
+ opacity: 0.5;
60
+ }
61
+
62
+ .k-pagination-gap {
63
+ color: var(--k-text-color-secondary);
64
+ text-align: center;
65
+ }
66
+
67
+ .k-pagination-page-size {
68
+ display: flex;
69
+ align-items: center;
70
+ gap: 0.5rem;
71
+ color: var(--k-text-color-secondary);
72
+ white-space: nowrap;
73
+ }
74
+
75
+ /* Sizes: every button stays at least 32px, above the 24px target minimum. */
76
+ .k-pagination-sm {
77
+ font-size: var(--k-text-size-sm);
78
+ }
79
+
80
+ .k-pagination-sm .k-pagination-button,
81
+ .k-pagination-sm .k-pagination-gap {
82
+ min-width: 2rem;
83
+ height: 2rem;
84
+ padding: 0 0.5rem;
85
+ }
86
+
87
+ .k-pagination-md {
88
+ font-size: var(--k-text-size-sm);
89
+ }
90
+
91
+ .k-pagination-md .k-pagination-button,
92
+ .k-pagination-md .k-pagination-gap {
93
+ min-width: 2.25rem;
94
+ height: 2.25rem;
95
+ padding: 0 0.625rem;
96
+ }
97
+
98
+ .k-pagination-lg {
99
+ font-size: var(--k-text-size-md);
100
+ }
101
+
102
+ .k-pagination-lg .k-pagination-button,
103
+ .k-pagination-lg .k-pagination-gap {
104
+ min-width: 2.75rem;
105
+ height: 2.75rem;
106
+ padding: 0 0.75rem;
107
+ }
108
+
109
+ .k-pagination-gap {
110
+ display: inline-flex;
111
+ align-items: center;
112
+ justify-content: center;
113
+ }
@@ -0,0 +1,9 @@
1
+ export type PageRangeItem = number | "start-gap" | "end-gap";
2
+ /**
3
+ * The page buttons to show: always the first and last page, the current page
4
+ * with `siblings` neighbours either side, and a gap marker wherever pages are
5
+ * skipped. The list is the same length on every page, so the control doesn't
6
+ * jump around as you move through it.
7
+ */
8
+ export declare const pageRange: (page: number, pageCount: number, siblings?: number) => PageRangeItem[];
9
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/pagination/utils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GACpB,MAAM,MAAM,EACZ,WAAW,MAAM,EACjB,iBAAY,KACX,aAAa,EAmBf,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * The page buttons to show: always the first and last page, the current page
3
+ * with `siblings` neighbours either side, and a gap marker wherever pages are
4
+ * skipped. The list is the same length on every page, so the control doesn't
5
+ * jump around as you move through it.
6
+ */
7
+ export const pageRange = (page, pageCount, siblings = 1) => {
8
+ const range = (from, to) => Array.from({ length: to - from + 1 }, (_, i) => from + i);
9
+ // first + last + current + siblings + two gaps
10
+ const slots = siblings * 2 + 5;
11
+ if (pageCount <= slots)
12
+ return range(1, pageCount);
13
+ const left = Math.max(page - siblings, 1);
14
+ const right = Math.min(page + siblings, pageCount);
15
+ const gapBefore = left > 2;
16
+ const gapAfter = right < pageCount - 1;
17
+ // Pages shown at the start or end when only one gap is needed.
18
+ const edge = siblings * 2 + 3;
19
+ if (!gapBefore)
20
+ return [...range(1, edge), "end-gap", pageCount];
21
+ if (!gapAfter)
22
+ return [1, "start-gap", ...range(pageCount - edge + 1, pageCount)];
23
+ return [1, "start-gap", ...range(left, right), "end-gap", pageCount];
24
+ };
25
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/navigation/pagination/utils.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,IAAY,EACZ,SAAiB,EACjB,QAAQ,GAAG,CAAC,EACK,EAAE;IACnB,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAU,EAAE,EAAE,CACzC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAE5D,+CAA+C;IAC/C,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,SAAS,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAEnD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC;IACvC,+DAA+D;IAC/D,MAAM,IAAI,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9B,IAAI,CAAC,SAAS;QAAE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACjE,IAAI,CAAC,QAAQ;QACX,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACvE,CAAC,CAAC"}
@@ -14,7 +14,9 @@
14
14
  font-weight: 700;
15
15
  text-transform: uppercase;
16
16
  letter-spacing: 0.05em;
17
- color: var(--overlay-light-medium);
17
+ /* 50% white: the weakest overlay that keeps small text above 4.5:1 on the
18
+ sidebar's dark background. */
19
+ color: var(--k-overlay-light-strong);
18
20
  white-space: nowrap;
19
21
  overflow: hidden;
20
22
  }
@@ -24,7 +26,7 @@
24
26
  align-items: center;
25
27
  gap: 0.75rem;
26
28
  padding: 0.6rem 1.5rem;
27
- color: var(--text-color-light);
29
+ color: var(--k-text-color-light);
28
30
  text-decoration: none;
29
31
  font-size: 0.875rem;
30
32
  transition:
@@ -35,12 +37,18 @@
35
37
  }
36
38
 
37
39
  .k-sidebar-nav-link:hover {
38
- background-color: var(--overlay-light-weak);
40
+ background-color: var(--k-overlay-light-weak);
41
+ }
42
+
43
+ /* Browser default focus rings can vanish on the dark background. */
44
+ .k-sidebar-nav-link:focus-visible {
45
+ outline: 2px solid var(--k-text-color-light);
46
+ outline-offset: -2px;
39
47
  }
40
48
 
41
49
  .k-sidebar-nav-link.active {
42
- background-color: var(--overlay-light-medium);
43
- color: var(--text-color-light);
50
+ background-color: var(--k-overlay-light-medium);
51
+ color: var(--k-text-color-light);
44
52
  font-weight: 600;
45
53
  }
46
54
 
@@ -38,14 +38,14 @@
38
38
  height: 2rem;
39
39
  min-width: 2rem;
40
40
  border-radius: 50%;
41
- border: 0.125rem solid var(--border-color);
41
+ border: 0.125rem solid var(--k-border-color);
42
42
  display: flex;
43
43
  align-items: center;
44
44
  justify-content: center;
45
45
  font-weight: 600;
46
46
  font-size: 0.875rem;
47
- background: var(--background-color);
48
- color: var(--text-color);
47
+ background: var(--k-background-color);
48
+ color: var(--k-text-color);
49
49
  transition:
50
50
  background 0.15s ease,
51
51
  border-color 0.15s ease,
@@ -60,7 +60,7 @@
60
60
 
61
61
  .k-stepper-connector {
62
62
  position: absolute;
63
- background: var(--border-color);
63
+ background: var(--k-border-color);
64
64
  }
65
65
 
66
66
  .k-stepper-horizontal .k-stepper-connector {
@@ -78,24 +78,24 @@
78
78
  }
79
79
 
80
80
  .k-stepper-step-active .k-stepper-marker {
81
- border-color: var(--primary-color);
82
- background: var(--primary-color);
83
- color: var(--text-color-light);
81
+ border-color: var(--k-primary-color);
82
+ background: var(--k-primary-color);
83
+ color: var(--k-text-color-light);
84
84
  }
85
85
 
86
86
  .k-stepper-step-complete .k-stepper-marker {
87
- border-color: var(--success-color);
88
- background: var(--success-color);
89
- color: var(--text-color-light);
87
+ border-color: var(--k-success-color);
88
+ background: var(--k-success-color);
89
+ color: var(--k-text-color-light);
90
90
  }
91
91
 
92
92
  .k-stepper-step-error .k-stepper-marker {
93
- border-color: var(--danger-color);
94
- background: var(--danger-color);
95
- color: var(--text-color-light);
93
+ border-color: var(--k-danger-color);
94
+ background: var(--k-danger-color);
95
+ color: var(--k-text-color-light);
96
96
  }
97
97
 
98
98
  .k-stepper-step-complete .k-stepper-connector,
99
99
  .k-stepper-step-active .k-stepper-connector {
100
- background: var(--primary-color);
100
+ background: var(--k-primary-color);
101
101
  }