@public-ui/sample-react 2.1.8 → 2.1.9

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 (346) hide show
  1. package/dist/1266.js +2 -0
  2. package/dist/1601.js +2 -0
  3. package/dist/1786.js +2 -0
  4. package/dist/{495.js → 1797.js} +2 -2
  5. package/dist/1832.js +2 -0
  6. package/dist/1908.js +2 -0
  7. package/dist/2441.js +2 -0
  8. package/dist/2462.js +2 -0
  9. package/dist/2605.js +2 -0
  10. package/dist/2728.js +2 -0
  11. package/dist/2875.js +2 -0
  12. package/dist/2960.js +2 -0
  13. package/dist/3254.js +2 -0
  14. package/dist/3440.js +2 -0
  15. package/dist/3460.js +2 -0
  16. package/dist/3492.js +2 -0
  17. package/dist/3503.js +2 -0
  18. package/dist/3845.js +2 -0
  19. package/dist/3882.js +2 -0
  20. package/dist/3965.js +2 -0
  21. package/dist/4181.js +2 -0
  22. package/dist/4294.js +2 -0
  23. package/dist/4604.js +2 -0
  24. package/dist/4737.js +2 -0
  25. package/dist/4804.js +2 -0
  26. package/dist/4972.js +2 -0
  27. package/dist/5076.js +2 -0
  28. package/dist/5204.js +2 -0
  29. package/dist/5399.js +2 -0
  30. package/dist/5431.js +2 -0
  31. package/dist/5514.js +2 -0
  32. package/dist/5522.js +2 -0
  33. package/dist/5677.js +2 -0
  34. package/dist/5781.js +2 -0
  35. package/dist/5813.js +2 -0
  36. package/dist/5829.js +2 -0
  37. package/dist/6199.js +2 -0
  38. package/dist/6320.js +2 -0
  39. package/dist/6473.js +2 -0
  40. package/dist/6567.js +2 -0
  41. package/dist/6649.js +2 -0
  42. package/dist/6705.js +2 -0
  43. package/dist/6717.js +2 -0
  44. package/dist/6731.js +2 -0
  45. package/dist/6974.js +2 -0
  46. package/dist/7157.js +2 -0
  47. package/dist/7162.js +2 -0
  48. package/dist/7163.js +2 -0
  49. package/dist/7183.js +2 -0
  50. package/dist/7310.js +2 -0
  51. package/dist/{8977.js → 7391.js} +2 -2
  52. package/dist/7461.js +2 -0
  53. package/dist/7560.js +2 -0
  54. package/dist/7582.js +2 -0
  55. package/dist/7609.js +2 -0
  56. package/dist/8100.js +2 -0
  57. package/dist/8116.js +2 -0
  58. package/dist/8126.js +2 -0
  59. package/dist/8146.js +1 -1
  60. package/dist/8191.js +2 -0
  61. package/dist/8210.js +2 -0
  62. package/dist/8286.js +2 -0
  63. package/dist/8471.js +2 -0
  64. package/dist/85.js +2 -0
  65. package/dist/8799.js +2 -0
  66. package/dist/8902.js +2 -0
  67. package/dist/8956.js +2 -0
  68. package/dist/92.js +2 -0
  69. package/dist/9558.js +2 -0
  70. package/dist/9768.js +2 -0
  71. package/dist/9818.js +2 -0
  72. package/dist/989.js +2 -0
  73. package/dist/9980.js +2 -0
  74. package/dist/9980.js.LICENSE.txt +3 -0
  75. package/dist/assets/material-icons/iconfont/_variables.scss +1 -1
  76. package/dist/assets/material-symbols/_core.scss +6 -7
  77. package/dist/main.css +2 -2
  78. package/dist/main.js +1 -1
  79. package/package.json +4 -4
  80. package/public/assets/material-icons/iconfont/_variables.scss +1 -1
  81. package/public/assets/material-symbols/_core.scss +6 -7
  82. package/src/App.tsx +1 -1
  83. package/src/components/SampleDescription.tsx +2 -2
  84. package/src/components/alert/basic.tsx +2 -2
  85. package/src/components/button/icons.tsx +19 -17
  86. package/src/components/indented-text/basic.tsx +4 -1
  87. package/src/components/input-color/partials/cases.tsx +11 -9
  88. package/src/components/input-date/partials/cases.tsx +3 -1
  89. package/src/components/input-date/partials/minMax.tsx +41 -0
  90. package/src/components/input-date/partials/variants.tsx +5 -0
  91. package/src/components/input-email/partials/cases.tsx +3 -1
  92. package/src/components/input-file/partials/cases.tsx +13 -1
  93. package/src/components/input-number/partials/cases.tsx +3 -0
  94. package/src/components/input-password/partials/cases.tsx +3 -0
  95. package/src/components/input-radio/partials/cases.tsx +7 -5
  96. package/src/components/input-range/partials/cases.tsx +18 -16
  97. package/src/components/input-text/partials/cases.tsx +3 -0
  98. package/src/components/modal/basic.tsx +10 -1
  99. package/src/components/table/horizontal-scrollbar.tsx +15 -2
  100. package/src/components/table/multi-sort.tsx +116 -0
  101. package/src/components/table/routes.ts +2 -0
  102. package/src/components/tabs/align.tsx +57 -0
  103. package/src/components/tabs/routes.ts +2 -0
  104. package/src/components/toast/basic.tsx +31 -2
  105. package/src/hooks/useToasterService.ts +8 -2
  106. package/src/scenarios/change-tabindex.tsx +256 -0
  107. package/src/scenarios/focus-elements.tsx +14 -6
  108. package/src/scenarios/horizontal-scrollbar-advanced/TableHorizontalScrollbarAdvanced.tsx +15 -11
  109. package/src/scenarios/input-group-with-error.tsx +22 -2
  110. package/src/scenarios/inputs-get-value.tsx +14 -12
  111. package/src/scenarios/routes.ts +2 -0
  112. package/src/style.scss +21 -5
  113. package/dist/1487.js +0 -2
  114. package/dist/1636.js +0 -2
  115. package/dist/1792.js +0 -2
  116. package/dist/1795.js +0 -2
  117. package/dist/2017.js +0 -2
  118. package/dist/2322.js +0 -2
  119. package/dist/2538.js +0 -2
  120. package/dist/2567.js +0 -2
  121. package/dist/263.js +0 -2
  122. package/dist/2719.js +0 -2
  123. package/dist/3064.js +0 -2
  124. package/dist/3077.js +0 -2
  125. package/dist/3238.js +0 -2
  126. package/dist/3301.js +0 -2
  127. package/dist/3395.js +0 -2
  128. package/dist/35.js +0 -2
  129. package/dist/3521.js +0 -2
  130. package/dist/356.js +0 -2
  131. package/dist/3714.js +0 -2
  132. package/dist/3735.js +0 -2
  133. package/dist/3766.js +0 -2
  134. package/dist/3994.js +0 -2
  135. package/dist/4025.js +0 -2
  136. package/dist/4065.js +0 -2
  137. package/dist/4118.js +0 -2
  138. package/dist/4182.js +0 -2
  139. package/dist/4188.js +0 -2
  140. package/dist/4332.js +0 -2
  141. package/dist/4402.js +0 -2
  142. package/dist/4795.js +0 -2
  143. package/dist/4818.js +0 -2
  144. package/dist/4892.js +0 -2
  145. package/dist/4933.js +0 -2
  146. package/dist/4943.js +0 -2
  147. package/dist/5034.js +0 -2
  148. package/dist/5056.js +0 -2
  149. package/dist/5138.js +0 -2
  150. package/dist/5296.js +0 -2
  151. package/dist/5356.js +0 -2
  152. package/dist/5551.js +0 -2
  153. package/dist/5835.js +0 -2
  154. package/dist/5840.js +0 -2
  155. package/dist/5889.js +0 -2
  156. package/dist/5912.js +0 -2
  157. package/dist/6082.js +0 -2
  158. package/dist/6099.js +0 -2
  159. package/dist/6181.js +0 -2
  160. package/dist/619.js +0 -2
  161. package/dist/6671.js +0 -2
  162. package/dist/6775.js +0 -2
  163. package/dist/7274.js +0 -2
  164. package/dist/7440.js +0 -2
  165. package/dist/7795.js +0 -2
  166. package/dist/7802.js +0 -2
  167. package/dist/7860.js +0 -2
  168. package/dist/8092.js +0 -2
  169. package/dist/8111.js +0 -2
  170. package/dist/8427.js +0 -2
  171. package/dist/8495.js +0 -2
  172. package/dist/8672.js +0 -2
  173. package/dist/8737.js +0 -2
  174. package/dist/8786.js +0 -2
  175. package/dist/8796.js +0 -2
  176. package/dist/9333.js +0 -2
  177. package/dist/9389.js +0 -2
  178. package/dist/9561.js +0 -2
  179. package/dist/9599.js +0 -2
  180. package/dist/9612.js +0 -2
  181. package/dist/9890.js +0 -2
  182. package/dist/assets/bundes/LICENSE.md +0 -1
  183. package/dist/assets/bundes/sans/BundesSans-Web-Black.ttf +0 -0
  184. package/dist/assets/bundes/sans/BundesSans-Web-Black.woff +0 -0
  185. package/dist/assets/bundes/sans/BundesSans-Web-Black.woff2 +0 -0
  186. package/dist/assets/bundes/sans/BundesSans-Web-BlackItalic.ttf +0 -0
  187. package/dist/assets/bundes/sans/BundesSans-Web-BlackItalic.woff +0 -0
  188. package/dist/assets/bundes/sans/BundesSans-Web-BlackItalic.woff2 +0 -0
  189. package/dist/assets/bundes/sans/BundesSans-Web-Bold.ttf +0 -0
  190. package/dist/assets/bundes/sans/BundesSans-Web-Bold.woff +0 -0
  191. package/dist/assets/bundes/sans/BundesSans-Web-Bold.woff2 +0 -0
  192. package/dist/assets/bundes/sans/BundesSans-Web-BoldItalic.ttf +0 -0
  193. package/dist/assets/bundes/sans/BundesSans-Web-BoldItalic.woff +0 -0
  194. package/dist/assets/bundes/sans/BundesSans-Web-BoldItalic.woff2 +0 -0
  195. package/dist/assets/bundes/sans/BundesSans-Web-Light.ttf +0 -0
  196. package/dist/assets/bundes/sans/BundesSans-Web-Light.woff +0 -0
  197. package/dist/assets/bundes/sans/BundesSans-Web-Light.woff2 +0 -0
  198. package/dist/assets/bundes/sans/BundesSans-Web-LightItalic.ttf +0 -0
  199. package/dist/assets/bundes/sans/BundesSans-Web-LightItalic.woff +0 -0
  200. package/dist/assets/bundes/sans/BundesSans-Web-LightItalic.woff2 +0 -0
  201. package/dist/assets/bundes/sans/BundesSans-Web-Medium.ttf +0 -0
  202. package/dist/assets/bundes/sans/BundesSans-Web-Medium.woff +0 -0
  203. package/dist/assets/bundes/sans/BundesSans-Web-Medium.woff2 +0 -0
  204. package/dist/assets/bundes/sans/BundesSans-Web-MediumItalic.ttf +0 -0
  205. package/dist/assets/bundes/sans/BundesSans-Web-MediumItalic.woff +0 -0
  206. package/dist/assets/bundes/sans/BundesSans-Web-MediumItalic.woff2 +0 -0
  207. package/dist/assets/bundes/sans/BundesSans-Web-Regular.ttf +0 -0
  208. package/dist/assets/bundes/sans/BundesSans-Web-Regular.woff +0 -0
  209. package/dist/assets/bundes/sans/BundesSans-Web-Regular.woff2 +0 -0
  210. package/dist/assets/bundes/sans/BundesSans-Web-RegularItalic.ttf +0 -0
  211. package/dist/assets/bundes/sans/BundesSans-Web-RegularItalic.woff +0 -0
  212. package/dist/assets/bundes/sans/BundesSans-Web-RegularItalic.woff2 +0 -0
  213. package/dist/assets/bundes/sans-cond/BundesSansCond-Web-Regular.ttf +0 -0
  214. package/dist/assets/bundes/sans-cond/BundesSansCond-Web-Regular.woff +0 -0
  215. package/dist/assets/bundes/sans-cond/BundesSansCond-Web-Regular.woff2 +0 -0
  216. package/dist/assets/bundes/serif/BundesSerif-Web-Bold.ttf +0 -0
  217. package/dist/assets/bundes/serif/BundesSerif-Web-Bold.woff +0 -0
  218. package/dist/assets/bundes/serif/BundesSerif-Web-Bold.woff2 +0 -0
  219. package/dist/assets/bundes/serif/BundesSerif-Web-BoldItalic.ttf +0 -0
  220. package/dist/assets/bundes/serif/BundesSerif-Web-BoldItalic.woff +0 -0
  221. package/dist/assets/bundes/serif/BundesSerif-Web-BoldItalic.woff2 +0 -0
  222. package/dist/assets/bundes/serif/BundesSerif-Web-Italic.ttf +0 -0
  223. package/dist/assets/bundes/serif/BundesSerif-Web-Italic.woff +0 -0
  224. package/dist/assets/bundes/serif/BundesSerif-Web-Italic.woff2 +0 -0
  225. package/dist/assets/bundes/serif/BundesSerif-Web-Regular.ttf +0 -0
  226. package/dist/assets/bundes/serif/BundesSerif-Web-Regular.woff +0 -0
  227. package/dist/assets/bundes/serif/BundesSerif-Web-Regular.woff2 +0 -0
  228. package/dist/assets/bundes/style.css +0 -84
  229. package/public/assets/bundes/LICENSE.md +0 -1
  230. package/public/assets/bundes/sans/BundesSans-Web-Black.ttf +0 -0
  231. package/public/assets/bundes/sans/BundesSans-Web-Black.woff +0 -0
  232. package/public/assets/bundes/sans/BundesSans-Web-Black.woff2 +0 -0
  233. package/public/assets/bundes/sans/BundesSans-Web-BlackItalic.ttf +0 -0
  234. package/public/assets/bundes/sans/BundesSans-Web-BlackItalic.woff +0 -0
  235. package/public/assets/bundes/sans/BundesSans-Web-BlackItalic.woff2 +0 -0
  236. package/public/assets/bundes/sans/BundesSans-Web-Bold.ttf +0 -0
  237. package/public/assets/bundes/sans/BundesSans-Web-Bold.woff +0 -0
  238. package/public/assets/bundes/sans/BundesSans-Web-Bold.woff2 +0 -0
  239. package/public/assets/bundes/sans/BundesSans-Web-BoldItalic.ttf +0 -0
  240. package/public/assets/bundes/sans/BundesSans-Web-BoldItalic.woff +0 -0
  241. package/public/assets/bundes/sans/BundesSans-Web-BoldItalic.woff2 +0 -0
  242. package/public/assets/bundes/sans/BundesSans-Web-Light.ttf +0 -0
  243. package/public/assets/bundes/sans/BundesSans-Web-Light.woff +0 -0
  244. package/public/assets/bundes/sans/BundesSans-Web-Light.woff2 +0 -0
  245. package/public/assets/bundes/sans/BundesSans-Web-LightItalic.ttf +0 -0
  246. package/public/assets/bundes/sans/BundesSans-Web-LightItalic.woff +0 -0
  247. package/public/assets/bundes/sans/BundesSans-Web-LightItalic.woff2 +0 -0
  248. package/public/assets/bundes/sans/BundesSans-Web-Medium.ttf +0 -0
  249. package/public/assets/bundes/sans/BundesSans-Web-Medium.woff +0 -0
  250. package/public/assets/bundes/sans/BundesSans-Web-Medium.woff2 +0 -0
  251. package/public/assets/bundes/sans/BundesSans-Web-MediumItalic.ttf +0 -0
  252. package/public/assets/bundes/sans/BundesSans-Web-MediumItalic.woff +0 -0
  253. package/public/assets/bundes/sans/BundesSans-Web-MediumItalic.woff2 +0 -0
  254. package/public/assets/bundes/sans/BundesSans-Web-Regular.ttf +0 -0
  255. package/public/assets/bundes/sans/BundesSans-Web-Regular.woff +0 -0
  256. package/public/assets/bundes/sans/BundesSans-Web-Regular.woff2 +0 -0
  257. package/public/assets/bundes/sans/BundesSans-Web-RegularItalic.ttf +0 -0
  258. package/public/assets/bundes/sans/BundesSans-Web-RegularItalic.woff +0 -0
  259. package/public/assets/bundes/sans/BundesSans-Web-RegularItalic.woff2 +0 -0
  260. package/public/assets/bundes/sans-cond/BundesSansCond-Web-Regular.ttf +0 -0
  261. package/public/assets/bundes/sans-cond/BundesSansCond-Web-Regular.woff +0 -0
  262. package/public/assets/bundes/sans-cond/BundesSansCond-Web-Regular.woff2 +0 -0
  263. package/public/assets/bundes/serif/BundesSerif-Web-Bold.ttf +0 -0
  264. package/public/assets/bundes/serif/BundesSerif-Web-Bold.woff +0 -0
  265. package/public/assets/bundes/serif/BundesSerif-Web-Bold.woff2 +0 -0
  266. package/public/assets/bundes/serif/BundesSerif-Web-BoldItalic.ttf +0 -0
  267. package/public/assets/bundes/serif/BundesSerif-Web-BoldItalic.woff +0 -0
  268. package/public/assets/bundes/serif/BundesSerif-Web-BoldItalic.woff2 +0 -0
  269. package/public/assets/bundes/serif/BundesSerif-Web-Italic.ttf +0 -0
  270. package/public/assets/bundes/serif/BundesSerif-Web-Italic.woff +0 -0
  271. package/public/assets/bundes/serif/BundesSerif-Web-Italic.woff2 +0 -0
  272. package/public/assets/bundes/serif/BundesSerif-Web-Regular.ttf +0 -0
  273. package/public/assets/bundes/serif/BundesSerif-Web-Regular.woff +0 -0
  274. package/public/assets/bundes/serif/BundesSerif-Web-Regular.woff2 +0 -0
  275. package/public/assets/bundes/style.css +0 -84
  276. /package/dist/{1487.js.LICENSE.txt → 1266.js.LICENSE.txt} +0 -0
  277. /package/dist/{1636.js.LICENSE.txt → 1601.js.LICENSE.txt} +0 -0
  278. /package/dist/{1792.js.LICENSE.txt → 1786.js.LICENSE.txt} +0 -0
  279. /package/dist/{1795.js.LICENSE.txt → 1797.js.LICENSE.txt} +0 -0
  280. /package/dist/{2017.js.LICENSE.txt → 1832.js.LICENSE.txt} +0 -0
  281. /package/dist/{2322.js.LICENSE.txt → 1908.js.LICENSE.txt} +0 -0
  282. /package/dist/{2538.js.LICENSE.txt → 2441.js.LICENSE.txt} +0 -0
  283. /package/dist/{2567.js.LICENSE.txt → 2462.js.LICENSE.txt} +0 -0
  284. /package/dist/{263.js.LICENSE.txt → 2605.js.LICENSE.txt} +0 -0
  285. /package/dist/{2719.js.LICENSE.txt → 2728.js.LICENSE.txt} +0 -0
  286. /package/dist/{3064.js.LICENSE.txt → 2875.js.LICENSE.txt} +0 -0
  287. /package/dist/{3077.js.LICENSE.txt → 2960.js.LICENSE.txt} +0 -0
  288. /package/dist/{3238.js.LICENSE.txt → 3254.js.LICENSE.txt} +0 -0
  289. /package/dist/{3301.js.LICENSE.txt → 3440.js.LICENSE.txt} +0 -0
  290. /package/dist/{3395.js.LICENSE.txt → 3460.js.LICENSE.txt} +0 -0
  291. /package/dist/{35.js.LICENSE.txt → 3492.js.LICENSE.txt} +0 -0
  292. /package/dist/{3521.js.LICENSE.txt → 3503.js.LICENSE.txt} +0 -0
  293. /package/dist/{356.js.LICENSE.txt → 3845.js.LICENSE.txt} +0 -0
  294. /package/dist/{3714.js.LICENSE.txt → 3882.js.LICENSE.txt} +0 -0
  295. /package/dist/{3735.js.LICENSE.txt → 3965.js.LICENSE.txt} +0 -0
  296. /package/dist/{3766.js.LICENSE.txt → 4181.js.LICENSE.txt} +0 -0
  297. /package/dist/{3994.js.LICENSE.txt → 4294.js.LICENSE.txt} +0 -0
  298. /package/dist/{4025.js.LICENSE.txt → 4604.js.LICENSE.txt} +0 -0
  299. /package/dist/{4065.js.LICENSE.txt → 4737.js.LICENSE.txt} +0 -0
  300. /package/dist/{4118.js.LICENSE.txt → 4804.js.LICENSE.txt} +0 -0
  301. /package/dist/{4182.js.LICENSE.txt → 4972.js.LICENSE.txt} +0 -0
  302. /package/dist/{4188.js.LICENSE.txt → 5076.js.LICENSE.txt} +0 -0
  303. /package/dist/{4332.js.LICENSE.txt → 5204.js.LICENSE.txt} +0 -0
  304. /package/dist/{4402.js.LICENSE.txt → 5399.js.LICENSE.txt} +0 -0
  305. /package/dist/{4795.js.LICENSE.txt → 5431.js.LICENSE.txt} +0 -0
  306. /package/dist/{4818.js.LICENSE.txt → 5514.js.LICENSE.txt} +0 -0
  307. /package/dist/{4892.js.LICENSE.txt → 5522.js.LICENSE.txt} +0 -0
  308. /package/dist/{4933.js.LICENSE.txt → 5677.js.LICENSE.txt} +0 -0
  309. /package/dist/{4943.js.LICENSE.txt → 5781.js.LICENSE.txt} +0 -0
  310. /package/dist/{495.js.LICENSE.txt → 5813.js.LICENSE.txt} +0 -0
  311. /package/dist/{5034.js.LICENSE.txt → 5829.js.LICENSE.txt} +0 -0
  312. /package/dist/{5056.js.LICENSE.txt → 6199.js.LICENSE.txt} +0 -0
  313. /package/dist/{5138.js.LICENSE.txt → 6320.js.LICENSE.txt} +0 -0
  314. /package/dist/{5296.js.LICENSE.txt → 6473.js.LICENSE.txt} +0 -0
  315. /package/dist/{5356.js.LICENSE.txt → 6567.js.LICENSE.txt} +0 -0
  316. /package/dist/{5551.js.LICENSE.txt → 6649.js.LICENSE.txt} +0 -0
  317. /package/dist/{5835.js.LICENSE.txt → 6705.js.LICENSE.txt} +0 -0
  318. /package/dist/{5840.js.LICENSE.txt → 6717.js.LICENSE.txt} +0 -0
  319. /package/dist/{5889.js.LICENSE.txt → 6731.js.LICENSE.txt} +0 -0
  320. /package/dist/{5912.js.LICENSE.txt → 6974.js.LICENSE.txt} +0 -0
  321. /package/dist/{6082.js.LICENSE.txt → 7157.js.LICENSE.txt} +0 -0
  322. /package/dist/{6099.js.LICENSE.txt → 7162.js.LICENSE.txt} +0 -0
  323. /package/dist/{6181.js.LICENSE.txt → 7163.js.LICENSE.txt} +0 -0
  324. /package/dist/{619.js.LICENSE.txt → 7183.js.LICENSE.txt} +0 -0
  325. /package/dist/{6671.js.LICENSE.txt → 7310.js.LICENSE.txt} +0 -0
  326. /package/dist/{6775.js.LICENSE.txt → 7391.js.LICENSE.txt} +0 -0
  327. /package/dist/{7274.js.LICENSE.txt → 7461.js.LICENSE.txt} +0 -0
  328. /package/dist/{7440.js.LICENSE.txt → 7560.js.LICENSE.txt} +0 -0
  329. /package/dist/{7795.js.LICENSE.txt → 7582.js.LICENSE.txt} +0 -0
  330. /package/dist/{7802.js.LICENSE.txt → 7609.js.LICENSE.txt} +0 -0
  331. /package/dist/{7860.js.LICENSE.txt → 8100.js.LICENSE.txt} +0 -0
  332. /package/dist/{8092.js.LICENSE.txt → 8116.js.LICENSE.txt} +0 -0
  333. /package/dist/{8111.js.LICENSE.txt → 8126.js.LICENSE.txt} +0 -0
  334. /package/dist/{8427.js.LICENSE.txt → 8191.js.LICENSE.txt} +0 -0
  335. /package/dist/{8495.js.LICENSE.txt → 8210.js.LICENSE.txt} +0 -0
  336. /package/dist/{8672.js.LICENSE.txt → 8286.js.LICENSE.txt} +0 -0
  337. /package/dist/{8737.js.LICENSE.txt → 8471.js.LICENSE.txt} +0 -0
  338. /package/dist/{8786.js.LICENSE.txt → 85.js.LICENSE.txt} +0 -0
  339. /package/dist/{8796.js.LICENSE.txt → 8799.js.LICENSE.txt} +0 -0
  340. /package/dist/{8977.js.LICENSE.txt → 8902.js.LICENSE.txt} +0 -0
  341. /package/dist/{9333.js.LICENSE.txt → 8956.js.LICENSE.txt} +0 -0
  342. /package/dist/{9389.js.LICENSE.txt → 92.js.LICENSE.txt} +0 -0
  343. /package/dist/{9561.js.LICENSE.txt → 9558.js.LICENSE.txt} +0 -0
  344. /package/dist/{9599.js.LICENSE.txt → 9768.js.LICENSE.txt} +0 -0
  345. /package/dist/{9612.js.LICENSE.txt → 9818.js.LICENSE.txt} +0 -0
  346. /package/dist/{9890.js.LICENSE.txt → 989.js.LICENSE.txt} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@public-ui/sample-react",
3
- "version": "2.1.8",
3
+ "version": "2.1.9",
4
4
  "description": "This app contains samples for the KoliBri/Public UI",
5
5
  "license": "EUPL-1.2",
6
6
  "repository": {
@@ -36,9 +36,9 @@
36
36
  "typescript": "5.6.2",
37
37
  "world_countries_lists": "2.9.0",
38
38
  "yup": "1.4.0",
39
- "@public-ui/components": "2.1.8",
40
- "@public-ui/react": "2.1.8",
41
- "@public-ui/themes": "2.1.8"
39
+ "@public-ui/components": "2.1.9",
40
+ "@public-ui/themes": "2.1.9",
41
+ "@public-ui/react": "2.1.9"
42
42
  },
43
43
  "files": [
44
44
  ".eslintignore",
@@ -1,3 +1,3 @@
1
1
  $material-icons-font-path: './' !default;
2
- $material-icons-font-size: 24px !default;
2
+ $material-icons-font-size: rem(24) !default;
3
3
  $material-icons-font-display: block !default;
@@ -3,14 +3,13 @@ $material-symbols-font-path: './' !default;
3
3
  // @see https://github.com/twbs/bootstrap/blob/main/scss/_functions.scss
4
4
  @function material-symbols-str-replace($string, $search, $replace: '') {
5
5
  $index: str-index($string, $search);
6
+
6
7
  @if $index {
7
- @return str-slice($string, 1, $index - 1) + $replace +
8
- material-symbols-str-replace(
9
- str-slice($string, $index + str-length($search)),
10
- $search,
11
- $replace
12
- );
8
+ @return str-slice($string, 1, $index - 1)+$replace +material-symbols-str-replace(str-slice($string, $index + str-length($search)),
9
+ $search,
10
+ $replace );
13
11
  }
12
+
14
13
  @return $string;
15
14
  }
16
15
 
@@ -31,7 +30,7 @@ $material-symbols-font-path: './' !default;
31
30
  font-family: $font-family;
32
31
  font-weight: normal;
33
32
  font-style: normal;
34
- font-size: 24px;
33
+ font-size: rem(24);
35
34
  line-height: 1;
36
35
  letter-spacing: normal;
37
36
  text-transform: none;
package/src/App.tsx CHANGED
@@ -138,7 +138,7 @@ export const App: FC = () => {
138
138
  />
139
139
  )}
140
140
 
141
- <main className="flex flex-col items-start p-4" id="route-container">
141
+ <main className="flex flex-col items-stretch p-4" id="route-container">
142
142
  {!hideMenus && isDraftTheme(theme) && <KolBadge className="block mb-3" _label="DRAFT" _color="#db5461" />}
143
143
  <Routes>
144
144
  {ROUTE_TREE}
@@ -3,7 +3,7 @@ import React, { useContext, useMemo } from 'react';
3
3
 
4
4
  import { PUBLIC_CODE_COMPONENT_URL, PUBLIC_DOC_COMPONENT_URL } from '../shares/constants';
5
5
 
6
- import { KolIndentedText, KolLink } from '@public-ui/react';
6
+ import { KolLink } from '@public-ui/react';
7
7
 
8
8
  import { HideMenusContext } from '../shares/HideMenusContext';
9
9
 
@@ -30,7 +30,7 @@ export const SampleDescription: FC<PropsWithChildren> = (props) => {
30
30
 
31
31
  return hideMenus ? null : (
32
32
  <div className="flex justify-between mb-sm">
33
- <KolIndentedText>{props.children}</KolIndentedText>
33
+ <div className="indented-text">{props.children}</div>
34
34
  <div className="flex flex-wrap gap-2 shrink-0 ml">
35
35
  {codeLink && <KolLink _href={codeLink} _label="Code" _target="_blank" />}
36
36
  {docLink && <KolLink _href={docLink} _label="Documentation" _target="_blank" />}
@@ -15,13 +15,13 @@ type PropsBasic = {
15
15
 
16
16
  const AlertByType: FC<PropsByType> = ({ level, type, variant }) => (
17
17
  <>
18
- <KolAlert _label="This is the headline of the alert." _level={level} _type={type} _variant={variant}>
18
+ <KolAlert _label={`This is the headline level ${level} of the alert.`} _level={level} _type={type} _variant={variant}>
19
19
  This is the text of the alert.
20
20
  </KolAlert>
21
21
  <KolAlert _type={type} _variant={variant}>
22
22
  In this alert, only the text without the heading is used.
23
23
  </KolAlert>
24
- <KolAlert _label="This is the headline of the alert." _level={level} _type={type} _variant={variant} _hasCloser>
24
+ <KolAlert _label={`This is the headline level ${level} of the alert.`} _level={level} _type={type} _variant={variant} _hasCloser>
25
25
  This is the text of the alert. With close button.
26
26
  </KolAlert>
27
27
  <KolAlert _type={type} _variant={variant} _hasCloser>
@@ -19,24 +19,26 @@ export const ButtonIcons: FC = () => {
19
19
  <p>This sample shows KolButton with icons in all alignments.</p>
20
20
  </SampleDescription>
21
21
 
22
- <KolButton
23
- _icons={{
24
- bottom: 'codicon codicon-arrow-down',
25
- left: {
26
- icon: 'codicon codicon-arrow-left',
27
- },
28
- top: {
29
- style: {
30
- 'font-size': '200%',
31
- transform: 'rotate(45deg)',
22
+ <div>
23
+ <KolButton
24
+ _icons={{
25
+ bottom: 'codicon codicon-arrow-down',
26
+ left: {
27
+ icon: 'codicon codicon-arrow-left',
32
28
  },
33
- icon: 'codicon codicon-arrow-up',
34
- },
35
- right: 'codicon codicon-arrow-right',
36
- }}
37
- _label="Label"
38
- _on={dummyEventHandler}
39
- />
29
+ top: {
30
+ style: {
31
+ 'font-size': '200%',
32
+ transform: 'rotate(45deg)',
33
+ },
34
+ icon: 'codicon codicon-arrow-up',
35
+ },
36
+ right: 'codicon codicon-arrow-right',
37
+ }}
38
+ _label="Label"
39
+ _on={dummyEventHandler}
40
+ />
41
+ </div>
40
42
  </>
41
43
  );
42
44
  };
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
 
3
- import { KolIndentedText } from '@public-ui/react';
3
+ import { KolBadge, KolIndentedText } from '@public-ui/react';
4
4
 
5
5
  import type { FC } from 'react';
6
6
  import { SampleDescription } from '../SampleDescription';
@@ -11,6 +11,9 @@ export const IndentedTextBasic: FC = () => (
11
11
  <p>
12
12
  KolIndentedText renders the given slot content, styled as indented text. The sample shows two regular paragraphs with an indented paragraph in between.
13
13
  </p>
14
+ <p>
15
+ <KolBadge _label="The component is deprecated and won't be available anymore in KoliBri version 3." _color="#db5461" />
16
+ </p>
14
17
  </SampleDescription>
15
18
 
16
19
  <div className="grid gap-4">
@@ -8,15 +8,17 @@ import type { Components } from '@public-ui/components';
8
8
  export const InputColorCases = forwardRef<HTMLKolInputColorElement, Components.KolInputColor>(function InputColorCases(props, ref) {
9
9
  return (
10
10
  <div className="grid gap-4">
11
- <KolInputColor
12
- {...props}
13
- _msg={{ _type: 'error', _description: ERROR_MSG }}
14
- _icons={{
15
- left: 'codicon codicon-symbol-color',
16
- }}
17
- _label="Color"
18
- _value="#f08080"
19
- />
11
+ <div className="black-background">
12
+ <KolInputColor
13
+ {...props}
14
+ _msg={{ _type: 'error', _description: ERROR_MSG }}
15
+ _icons={{
16
+ left: 'codicon codicon-symbol-color',
17
+ }}
18
+ _label="Color (Black background test)"
19
+ _value="#f08080"
20
+ />
21
+ </div>
20
22
  <KolInputColor
21
23
  {...props}
22
24
  _msg={{ _type: 'error', _description: ERROR_MSG }}
@@ -8,7 +8,9 @@ import type { Components } from '@public-ui/components';
8
8
  export const InputDateCases = forwardRef<HTMLKolInputDateElement, Components.KolInputDate>(function InputDateCases(props, ref) {
9
9
  return (
10
10
  <div className="grid gap-4">
11
- <KolInputDate {...props} _type="date" _label="Date input" _required />
11
+ <div className="black-background">
12
+ <KolInputDate {...props} _type="date" _label="Date input (Black background test)" _required />{' '}
13
+ </div>
12
14
  <KolInputDate {...props} _type="datetime-local" _label="Local-Datetime (Standard)" _required />
13
15
  <KolInputDate
14
16
  {...props}
@@ -0,0 +1,41 @@
1
+ import React, { forwardRef } from 'react';
2
+ import { KolInputDate } from '@public-ui/react';
3
+ import type { Components } from '@public-ui/components';
4
+
5
+ export const InputDateMinMaxCases = forwardRef<HTMLKolInputDateElement, Components.KolInputDate>(function InputDateCases(props) {
6
+ const minDateIso = '2024-09-26';
7
+ const maxDateIso = '2024-09-27';
8
+
9
+ const minTimeIso = '12:00';
10
+ const maxTimeIso = '15:00';
11
+
12
+ const minDayTimeIso = '2024-09-26T12:00';
13
+ const maxDaytimeIso = '2024-09-27T15:00';
14
+
15
+ const minWeekIso = '2024-W10';
16
+ const maxWeekIso = '2024-W50';
17
+
18
+ const minMonthIso = '2024-02';
19
+ const maxMonthIso = '2024-10';
20
+
21
+ const minDate = new Date('January 10, 2024, 12:00');
22
+ const maxDate = new Date('October 20, 2024, 15:00');
23
+ return (
24
+ <div className="grid gap-4">
25
+ <KolInputDate {...props} _type="date" _label="Date with Iso" _min={minDateIso} _max={maxDateIso} />
26
+ <KolInputDate {...props} _type="date" _label="Date with Date" _min={minDate} _max={maxDate} />
27
+
28
+ <KolInputDate {...props} _type="time" _label="Time with Iso" _min={minTimeIso} _max={maxTimeIso} />
29
+ <KolInputDate {...props} _type="time" _label="Time with Date" _min={minDate} _max={maxDate} />
30
+
31
+ <KolInputDate {...props} _type="datetime-local" _label="DayTime with Iso" _min={minDayTimeIso} _max={maxDaytimeIso} />
32
+ <KolInputDate {...props} _type="datetime-local" _label="DayTime with Date" _min={minDate} _max={maxDate} />
33
+
34
+ <KolInputDate {...props} _type="week" _label="Week with Iso" _min={minWeekIso} _max={maxWeekIso} />
35
+ <KolInputDate {...props} _type="week" _label="Week with Date" _min={minDate} _max={maxDate} />
36
+
37
+ <KolInputDate {...props} _type="month" _label="Month with Iso" _min={minMonthIso} _max={maxMonthIso} />
38
+ <KolInputDate {...props} _type="month" _label="Month with Date" _min={minDate} _max={maxDate} />
39
+ </div>
40
+ );
41
+ });
@@ -3,6 +3,7 @@ import React, { forwardRef } from 'react';
3
3
  import { InputDateCases } from './cases';
4
4
 
5
5
  import type { Components } from '@public-ui/components';
6
+ import { InputDateMinMaxCases } from './minMax';
6
7
  export const InputDateVariants = forwardRef<HTMLKolInputDateElement, Components.KolInputDate>(function InputDateVariant(props, ref) {
7
8
  return (
8
9
  <div className="grid md:grid-cols-2 gap-4">
@@ -14,6 +15,10 @@ export const InputDateVariants = forwardRef<HTMLKolInputDateElement, Components.
14
15
  <legend>Date (hideLabel)</legend>
15
16
  <InputDateCases ref={ref} {...props} _hideLabel />
16
17
  </fieldset>
18
+ <fieldset>
19
+ <legend>Date (with min/max)</legend>
20
+ <InputDateMinMaxCases ref={ref} {...props} />
21
+ </fieldset>
17
22
  </div>
18
23
  );
19
24
  });
@@ -8,7 +8,9 @@ import type { Components } from '@public-ui/components';
8
8
  export const InputEmailCases = forwardRef<HTMLKolInputEmailElement, Components.KolInputEmail>(function InputEmailCases(props, ref) {
9
9
  return (
10
10
  <div className="grid gap-4">
11
- <KolInputEmail {...props} _required _value="test@mail.de" _msg={{ _type: 'error', _description: ERROR_MSG }} _label="E-Mail" />
11
+ <div className="black-background">
12
+ <KolInputEmail {...props} _required _value="test@mail.de" _msg={{ _type: 'error', _description: ERROR_MSG }} _label="E-Mail (Black background test)" />
13
+ </div>
12
14
  <KolInputEmail
13
15
  {...props}
14
16
  ref={ref}
@@ -8,11 +8,23 @@ import type { Components } from '@public-ui/components';
8
8
  export const InputFileCases = forwardRef<HTMLKolInputFileElement, Components.KolInputFile>(function InputFileCases(props, ref) {
9
9
  return (
10
10
  <div className="grid gap-4">
11
+ <div className="black-background">
12
+ <KolInputFile
13
+ {...props}
14
+ _label="Upload file (Black background test)"
15
+ _icons={{
16
+ left: {
17
+ icon: 'codicon codicon-save',
18
+ },
19
+ }}
20
+ _touched
21
+ />
22
+ </div>
11
23
  <KolInputFile
12
24
  {...props}
13
25
  _required
14
26
  _msg={{ _type: 'error', _description: ERROR_MSG }}
15
- _label="Upload file"
27
+ _label="Upload file (Black background test)"
16
28
  _icons={{
17
29
  left: {
18
30
  icon: 'codicon codicon-save',
@@ -8,6 +8,9 @@ import type { Components } from '@public-ui/components';
8
8
  export const InputNumberCases = forwardRef<HTMLKolInputNumberElement, Components.KolInputNumber>(function InputNumberCases(props, ref) {
9
9
  return (
10
10
  <div className="grid gap-4">
11
+ <div className="black-background">
12
+ <KolInputNumber {...props} _required _touched _value={123} _label="Number input (Black background test)" />{' '}
13
+ </div>
11
14
  <KolInputNumber
12
15
  {...props}
13
16
  _required
@@ -8,6 +8,9 @@ import type { Components } from '@public-ui/components';
8
8
  export const InputPasswordCases = forwardRef<HTMLKolInputPasswordElement, Components.KolInputPassword>(function InputPasswordCases(props, ref) {
9
9
  return (
10
10
  <div className="grid gap-4">
11
+ <div className="black-background">
12
+ <KolInputPassword {...props} _label="Passwort (Black background test)" />
13
+ </div>
11
14
  <KolInputPassword {...props} _disabled _msg={{ _type: 'error', _description: ERROR_MSG }} _label="Passwort (Disabled)" _touched />
12
15
  <KolInputPassword {...props} _readOnly _label="Passwort (Readonly)" />
13
16
  <KolInputPassword
@@ -8,11 +8,13 @@ import type { Components } from '@public-ui/components';
8
8
  export const InputRadioCases = forwardRef<HTMLKolInputRadioElement, Components.KolInputRadio>(function InputRadioCases(props, ref) {
9
9
  return (
10
10
  <div className="grid gap-4">
11
- <KolInputRadio
12
- {...props}
13
- _options="[{'disabled':true,'label':'Mrs. (disabled)','value':'Mrs.'},{'label':'Mr.'},{'label':'Company','value':'Company'}]"
14
- _label="Salutation"
15
- />
11
+ <div className="black-background">
12
+ <KolInputRadio
13
+ {...props}
14
+ _options="[{'disabled':true,'label':'Mrs. (disabled)','value':'Mrs.'},{'label':'Mr.'},{'label':'Company','value':'Company'}]"
15
+ _label="Salutation (Black background test)"
16
+ />
17
+ </div>
16
18
  <KolInputRadio
17
19
  {...props}
18
20
  _required
@@ -8,22 +8,24 @@ import type { Components } from '@public-ui/components';
8
8
  export const InputRangeCases = forwardRef<HTMLKolInputRangeElement, Components.KolInputRange>(function InputRangeCases(props, ref) {
9
9
  return (
10
10
  <div className="grid gap-4">
11
- <KolInputRange
12
- {...props}
13
- _min={0}
14
- _max={50}
15
- _msg={{ _type: 'error', _description: ERROR_MSG }}
16
- _label="Slider"
17
- _icons={{
18
- left: {
19
- icon: 'codicon codicon-arrow-left',
20
- },
21
- right: {
22
- icon: 'codicon codicon-arrow-right',
23
- },
24
- }}
25
- _touched
26
- />
11
+ <div className="black-background">
12
+ <KolInputRange
13
+ {...props}
14
+ _min={0}
15
+ _max={50}
16
+ _msg={{ _type: 'error', _description: ERROR_MSG }}
17
+ _label="Slider (Black background test)"
18
+ _icons={{
19
+ left: {
20
+ icon: 'codicon codicon-arrow-left',
21
+ },
22
+ right: {
23
+ icon: 'codicon codicon-arrow-right',
24
+ },
25
+ }}
26
+ _touched
27
+ />
28
+ </div>
27
29
  <KolInputRange
28
30
  {...props}
29
31
  ref={ref}
@@ -8,6 +8,9 @@ import type { Components } from '@public-ui/components';
8
8
  export const InputTextCases = forwardRef<HTMLKolInputTextElement, Components.KolInputText>(function InputTextCases(props, ref) {
9
9
  return (
10
10
  <div className="grid gap-4">
11
+ <div className="black-background">
12
+ <KolInputText {...props} _value="Value" _label="First name (Black background test)" />
13
+ </div>
11
14
  <KolInputText
12
15
  {...props}
13
16
  _hint={HINT_MSG}
@@ -1,13 +1,22 @@
1
1
  import type { FC } from 'react';
2
- import React, { useRef } from 'react';
2
+ import React, { useEffect, useRef } from 'react';
3
+ import { useSearchParams } from 'react-router-dom';
3
4
 
4
5
  import { KolButton, KolCard, KolModal } from '@public-ui/react';
5
6
  import { SampleDescription } from '../SampleDescription';
6
7
 
7
8
  export const ModalBasic: FC = () => {
9
+ const [searchParams] = useSearchParams();
10
+ const modalState = searchParams.get('show-modal') as string;
8
11
  const modalElement = useRef<HTMLKolModalElement>(null);
9
12
  const stackedModalElement = useRef<HTMLKolModalElement>(null);
10
13
 
14
+ useEffect(() => {
15
+ if (modalState === 'true') {
16
+ modalElement.current?.openModal();
17
+ }
18
+ }, [modalState]);
19
+
11
20
  return (
12
21
  <>
13
22
  <SampleDescription>
@@ -11,8 +11,10 @@ const DATA = [{ small: 'Small Example', large: 'Larger Example' }];
11
11
  const HEADERS: KoliBriTableHeaders = {
12
12
  horizontal: [
13
13
  [
14
- { label: 'Large Column', key: 'large', textAlign: 'left', width: '400px' },
14
+ { label: 'Large Column', key: 'large', textAlign: 'left', width: '300px' },
15
15
  { label: 'Small Column', key: 'small', textAlign: 'left', width: '200px' },
16
+ { label: 'Larger Column', key: 'large', textAlign: 'left', width: '400px' },
17
+ { label: 'Larger Column', key: 'large', textAlign: 'left', width: '400px' },
16
18
  ],
17
19
  ],
18
20
  };
@@ -29,7 +31,7 @@ export const TableHorizontalScrollbar: FC = () => {
29
31
  </p>
30
32
  </SampleDescription>
31
33
 
32
- <section className="w-full flex flex-col">
34
+ <section className="w-full flex flex-col gap-4">
33
35
  <KolHeading _label="Table with scrollbar" _level={2} />
34
36
 
35
37
  <KolTable
@@ -41,6 +43,17 @@ export const TableHorizontalScrollbar: FC = () => {
41
43
  style={{ width: '400px' }}
42
44
  />
43
45
 
46
+ <KolHeading _label="Empty Table with scrollbar" _level={3} />
47
+
48
+ <KolTable
49
+ _label="Table for demonstration purposes with horizontal scrollbar with auto minWidth."
50
+ _minWidth={hasWidthRestriction ? '600px' : 'auto'}
51
+ _headers={HEADERS}
52
+ _data={[]}
53
+ className="block"
54
+ style={{ width: '400px' }}
55
+ />
56
+
44
57
  <KolInputCheckbox
45
58
  _checked={hasWidthRestriction}
46
59
  _label="Toggle width restriction"
@@ -0,0 +1,116 @@
1
+ import type { FC } from 'react';
2
+ import React, { useState } from 'react';
3
+
4
+ import { KolHeading, KolInputCheckbox, KolTable } from '@public-ui/react';
5
+ import type { KoliBriTableHeaders, KoliBriTableDataType } from '@public-ui/components';
6
+ import type { Data } from './test-data';
7
+ import { DATA } from './test-data';
8
+ import { SampleDescription } from '../SampleDescription';
9
+
10
+ const DATE_FORMATTER = Intl.DateTimeFormat('de-DE', {
11
+ day: '2-digit',
12
+ month: '2-digit',
13
+ year: 'numeric',
14
+ });
15
+
16
+ const HEADERS_HORIZONTAL: KoliBriTableHeaders = {
17
+ horizontal: [
18
+ [
19
+ {
20
+ label: 'order',
21
+ key: 'order',
22
+ textAlign: 'center',
23
+ compareFn: (data0: KoliBriTableDataType, data1: KoliBriTableDataType) => {
24
+ if ((data0 as Data).order < (data1 as Data).order) return -1;
25
+ else if ((data1 as Data).order < (data0 as Data).order) return 1;
26
+ else return 0;
27
+ },
28
+ },
29
+ {
30
+ label: 'date',
31
+ key: 'date',
32
+ textAlign: 'center',
33
+ render: (_el, _cell, tupel) => DATE_FORMATTER.format((tupel as Data).date),
34
+ compareFn: (data0: KoliBriTableDataType, data1: KoliBriTableDataType) => {
35
+ if ((data0 as Data).date < (data1 as Data).date) return -1;
36
+ else if ((data1 as Data).date < (data0 as Data).date) return 1;
37
+ else return 0;
38
+ },
39
+ },
40
+ ],
41
+ ],
42
+ };
43
+
44
+ const HEADERS_VERTICAL: KoliBriTableHeaders = {
45
+ vertical: [
46
+ [
47
+ {
48
+ label: 'order',
49
+ key: 'order',
50
+ textAlign: 'center',
51
+ compareFn: (data0: KoliBriTableDataType, data1: KoliBriTableDataType) => {
52
+ if ((data0 as Data).order < (data1 as Data).order) return -1;
53
+ else if ((data1 as Data).order < (data0 as Data).order) return 1;
54
+ else return 0;
55
+ },
56
+ },
57
+ {
58
+ label: 'date',
59
+ key: 'date',
60
+ textAlign: 'center',
61
+ render: (_el, _cell, tupel) => DATE_FORMATTER.format((tupel as Data).date),
62
+ compareFn: (data0: KoliBriTableDataType, data1: KoliBriTableDataType) => {
63
+ if ((data0 as Data).date < (data1 as Data).date) return -1;
64
+ else if ((data1 as Data).date < (data0 as Data).date) return 1;
65
+ else return 0;
66
+ },
67
+ },
68
+ ],
69
+ ],
70
+ };
71
+ export const MultiSortTable: FC = () => {
72
+ const [allowMultiSortVertical, setAllowMultiSortVertical] = useState(false);
73
+ const [allowMultiSortHorizontal, setAllowMultiSortHorizontal] = useState(true);
74
+ return (
75
+ <>
76
+ <SampleDescription>
77
+ <p>This sample shows KolTable with multi-sort functionality, allowing sorting by both &quot;order&quot; and &quot;date&quot; columns.</p>
78
+ </SampleDescription>
79
+
80
+ <section className="w-full grid gap-4">
81
+ <section className="grid gap-4">
82
+ <KolHeading _level={2} _label="Vertical" />
83
+ <KolInputCheckbox
84
+ _checked={allowMultiSortVertical}
85
+ _label="Allow Multi-Sort"
86
+ _variant="switch"
87
+ _on={{ onChange: (_, value) => setAllowMultiSortVertical(Boolean(value)) }}
88
+ ></KolInputCheckbox>
89
+ <KolTable
90
+ _label="Sort Table with Order and Date"
91
+ _data={DATA.slice(0, 10)}
92
+ _headers={HEADERS_VERTICAL}
93
+ className="block"
94
+ _allowMultiSort={allowMultiSortVertical}
95
+ />
96
+ </section>
97
+ <section className="grid gap-4">
98
+ <KolHeading _level={2} _label="Horizontal" />
99
+ <KolInputCheckbox
100
+ _checked={allowMultiSortHorizontal}
101
+ _label="Allow Multi-Sort"
102
+ _variant="switch"
103
+ _on={{ onChange: (_, value) => setAllowMultiSortHorizontal(Boolean(value)) }}
104
+ ></KolInputCheckbox>
105
+ <KolTable
106
+ _label="Sort Table with Order and Date"
107
+ _data={DATA}
108
+ _headers={HEADERS_HORIZONTAL}
109
+ className="block"
110
+ _allowMultiSort={allowMultiSortHorizontal}
111
+ />
112
+ </section>
113
+ </section>
114
+ </>
115
+ );
116
+ };
@@ -13,6 +13,7 @@ import { TableStatelessWithSelection } from './stateless-with-selection';
13
13
  import { TableStatelessWithSingleSelection } from './stateless-with-single-selection';
14
14
  import { TableWithPagination } from './with-pagination';
15
15
  import { InteractiveChildElements } from './interactive-child-elements';
16
+ import { MultiSortTable } from './multi-sort';
16
17
 
17
18
  export const TABLE_ROUTES: Routes = {
18
19
  table: {
@@ -30,5 +31,6 @@ export const TABLE_ROUTES: Routes = {
30
31
  'with-pagination': TableWithPagination,
31
32
  'interactive-child-elements': InteractiveChildElements,
32
33
  stateless: TableStateless,
34
+ 'multi-sort': MultiSortTable,
33
35
  },
34
36
  };
@@ -0,0 +1,57 @@
1
+ import type { FC } from 'react';
2
+ import React from 'react';
3
+
4
+ import { KolHeading, KolTabs } from '@public-ui/react';
5
+ import { SampleDescription } from '../SampleDescription';
6
+ import type { AlignPropType } from '@public-ui/components';
7
+
8
+ const tabs = [
9
+ {
10
+ _icons: 'codicon codicon-pie-chart',
11
+ _label: 'First tab',
12
+ _on: {
13
+ onSelect: (event: Event) => {
14
+ console.log('First tab selected', event);
15
+ },
16
+ },
17
+ },
18
+ {
19
+ _icons: 'codicon codicon-calendar',
20
+ _label: 'Second Tab',
21
+ },
22
+ {
23
+ _disabled: true,
24
+ _icons: 'codicon codicon-briefcase',
25
+ _label: 'Disabled Tab',
26
+ },
27
+ {
28
+ _icons: 'codicon codicon-telescope',
29
+ _label: 'Last tab',
30
+ },
31
+ ];
32
+
33
+ export const TabsAlign: FC = () => (
34
+ <>
35
+ <SampleDescription>
36
+ <p>
37
+ This sample shows KolTabs with the property <code>_align</code> set to <code>left</code>, <code>right</code>, <code>top</code> and <code>bottom</code>.
38
+ </p>
39
+ </SampleDescription>
40
+ <div className="grid gap-8">
41
+ {(['left', 'right', 'top', 'bottom'] as AlignPropType[]).map((align) => {
42
+ const text = `Tabs with ${align} align`;
43
+ return (
44
+ <div key={align} className="grid gap-4">
45
+ <KolHeading _level={2} _label={text} />
46
+ <KolTabs _tabs={tabs} _align={align} _label={text}>
47
+ <div slot="tab-0">Contents of Tab 1</div>
48
+ <div slot="tab-1">Contents of Tab 2</div>
49
+ <div slot="tab-2">Contents of Tab 3</div>
50
+ <div slot="tab-3">Contents of Tab 4</div>
51
+ </KolTabs>
52
+ </div>
53
+ );
54
+ })}
55
+ </div>
56
+ </>
57
+ );