pentatrion-design 1.1.4 → 1.2.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 (426) hide show
  1. package/.claude/settings.local.json +21 -0
  2. package/.github/workflows/release.yml +12 -12
  3. package/bin/change-version-and-publish.sh +0 -0
  4. package/dist/{Button-BH3EFgdP.mjs → Button-CL7xvvey.mjs} +13 -6
  5. package/dist/{Button-BH3EFgdP.mjs.map → Button-CL7xvvey.mjs.map} +1 -1
  6. package/dist/Button-CVudu6dV.d.mts +31 -0
  7. package/dist/Button-CVudu6dV.d.mts.map +1 -0
  8. package/dist/{Dialog-CriZOfkd.mjs → Dialog-DeQv8OeS.mjs} +2 -3
  9. package/dist/{Dialog-CriZOfkd.mjs.map → Dialog-DeQv8OeS.mjs.map} +1 -1
  10. package/dist/Field-C0LPMoF4.mjs +180 -0
  11. package/dist/Field-C0LPMoF4.mjs.map +1 -0
  12. package/dist/Field-Cpsy6gP5.d.mts +19 -0
  13. package/dist/Field-Cpsy6gP5.d.mts.map +1 -0
  14. package/dist/{Input-DzDXg_MR.mjs → Input-B9HNBGpq.mjs} +3 -4
  15. package/dist/Input-B9HNBGpq.mjs.map +1 -0
  16. package/dist/{Scroll-r_7u__g1.mjs → Scroll-BSL6d8Ob.mjs} +3 -4
  17. package/dist/{Scroll-r_7u__g1.mjs.map → Scroll-BSL6d8Ob.mjs.map} +1 -1
  18. package/dist/{Snack-3FOmPHKW.mjs → Snack-B1Fa9Ofb.mjs} +8 -7
  19. package/dist/Snack-B1Fa9Ofb.mjs.map +1 -0
  20. package/dist/{TooltipTrigger-BG2Go5oG.mjs → TooltipTrigger-VrJxlxNx.mjs} +4 -9
  21. package/dist/{TooltipTrigger-BG2Go5oG.mjs.map → TooltipTrigger-VrJxlxNx.mjs.map} +1 -1
  22. package/dist/{badge-BxttxOuR.mjs → badge-CtcHuvQK.mjs} +3 -4
  23. package/dist/{badge-BxttxOuR.mjs.map → badge-CtcHuvQK.mjs.map} +1 -1
  24. package/dist/{button-UyAi1KTz.mjs → button-tAEodFUL.mjs} +4 -6
  25. package/dist/{button-UyAi1KTz.mjs.map → button-tAEodFUL.mjs.map} +1 -1
  26. package/dist/components/accordion/index.d.mts +3 -18
  27. package/dist/components/accordion/index.d.mts.map +1 -1
  28. package/dist/components/accordion/index.mjs +2 -6
  29. package/dist/components/accordion/index.mjs.map +1 -1
  30. package/dist/components/autocomplete/index.d.mts +7 -42
  31. package/dist/components/autocomplete/index.d.mts.map +1 -1
  32. package/dist/components/autocomplete/index.mjs +9 -17
  33. package/dist/components/autocomplete/index.mjs.map +1 -1
  34. package/dist/components/badge/index.d.mts +2 -12
  35. package/dist/components/badge/index.d.mts.map +1 -1
  36. package/dist/components/badge/index.mjs +2 -5
  37. package/dist/components/button/index.d.mts +3 -3
  38. package/dist/components/button/index.mjs +3 -8
  39. package/dist/components/card/index.d.mts.map +1 -1
  40. package/dist/components/card/index.mjs +1 -1
  41. package/dist/components/card/index.mjs.map +1 -1
  42. package/dist/components/code/index.d.mts +1 -6
  43. package/dist/components/code/index.d.mts.map +1 -1
  44. package/dist/components/code/index.mjs +1 -2
  45. package/dist/components/code/index.mjs.map +1 -1
  46. package/dist/components/context-menu/index.d.mts +2 -16
  47. package/dist/components/context-menu/index.d.mts.map +1 -1
  48. package/dist/components/context-menu/index.mjs +7 -6
  49. package/dist/components/context-menu/index.mjs.map +1 -1
  50. package/dist/components/dialog/index.d.mts +4 -16
  51. package/dist/components/dialog/index.d.mts.map +1 -1
  52. package/dist/components/dialog/index.mjs +2 -4
  53. package/dist/components/dropdown-menu/index.d.mts +6 -39
  54. package/dist/components/dropdown-menu/index.d.mts.map +1 -1
  55. package/dist/components/dropdown-menu/index.mjs +1 -293
  56. package/dist/components/dropdown-menu-nested/index.d.mts +4 -20
  57. package/dist/components/dropdown-menu-nested/index.d.mts.map +1 -1
  58. package/dist/components/dropdown-menu-nested/index.mjs +3 -11
  59. package/dist/components/dropdown-menu-nested/index.mjs.map +1 -1
  60. package/dist/components/fields/altcha/index.d.mts +20 -0
  61. package/dist/components/fields/altcha/index.d.mts.map +1 -0
  62. package/dist/components/fields/altcha/index.mjs +128 -0
  63. package/dist/components/fields/altcha/index.mjs.map +1 -0
  64. package/dist/components/fields/checkbox/index.d.mts +43 -0
  65. package/dist/components/fields/checkbox/index.d.mts.map +1 -0
  66. package/dist/components/fields/checkbox/index.mjs +318 -0
  67. package/dist/components/fields/checkbox/index.mjs.map +1 -0
  68. package/dist/components/fields/color/index.d.mts +24 -0
  69. package/dist/components/fields/color/index.d.mts.map +1 -0
  70. package/dist/components/fields/color/index.mjs +228 -0
  71. package/dist/components/fields/color/index.mjs.map +1 -0
  72. package/dist/components/fields/date/index.d.mts +10 -0
  73. package/dist/components/fields/date/index.d.mts.map +1 -0
  74. package/dist/components/fields/date/index.mjs +52 -0
  75. package/dist/components/fields/date/index.mjs.map +1 -0
  76. package/dist/components/fields/file/index.d.mts +30 -0
  77. package/dist/components/fields/file/index.d.mts.map +1 -0
  78. package/dist/components/fields/file/index.mjs +248 -0
  79. package/dist/components/fields/file/index.mjs.map +1 -0
  80. package/dist/components/fields/index.d.mts +9 -0
  81. package/dist/components/fields/index.d.mts.map +1 -0
  82. package/dist/components/fields/index.mjs +2 -0
  83. package/dist/components/fields/input-button/index.d.mts +22 -0
  84. package/dist/components/fields/input-button/index.d.mts.map +1 -0
  85. package/dist/components/fields/input-button/index.mjs +192 -0
  86. package/dist/components/fields/input-button/index.mjs.map +1 -0
  87. package/dist/components/fields/radio/index.d.mts +51 -0
  88. package/dist/components/fields/radio/index.d.mts.map +1 -0
  89. package/dist/components/fields/radio/index.mjs +450 -0
  90. package/dist/components/fields/radio/index.mjs.map +1 -0
  91. package/dist/components/fields/range/index.d.mts +36 -0
  92. package/dist/components/fields/range/index.d.mts.map +1 -0
  93. package/dist/components/fields/range/index.mjs +291 -0
  94. package/dist/components/fields/range/index.mjs.map +1 -0
  95. package/dist/components/fields/select/index.d.mts +39 -0
  96. package/dist/components/fields/select/index.d.mts.map +1 -0
  97. package/dist/components/fields/select/index.mjs +197 -0
  98. package/dist/components/fields/select/index.mjs.map +1 -0
  99. package/dist/components/fields/stars/index.d.mts +31 -0
  100. package/dist/components/fields/stars/index.d.mts.map +1 -0
  101. package/dist/components/fields/stars/index.mjs +361 -0
  102. package/dist/components/fields/stars/index.mjs.map +1 -0
  103. package/dist/components/fields/text/index.d.mts +48 -0
  104. package/dist/components/fields/text/index.d.mts.map +1 -0
  105. package/dist/components/fields/text/index.mjs +3 -0
  106. package/dist/components/fields/textarea/index.d.mts +13 -0
  107. package/dist/components/fields/textarea/index.d.mts.map +1 -0
  108. package/dist/components/{textarea → fields/textarea}/index.mjs +2 -3
  109. package/dist/components/fields/textarea/index.mjs.map +1 -0
  110. package/dist/components/fields/toggle/index.d.mts +12 -0
  111. package/dist/components/fields/toggle/index.d.mts.map +1 -0
  112. package/dist/components/fields/toggle/index.mjs +88 -0
  113. package/dist/components/fields/toggle/index.mjs.map +1 -0
  114. package/dist/components/fields/totp/index.d.mts +22 -0
  115. package/dist/components/fields/totp/index.d.mts.map +1 -0
  116. package/dist/components/fields/totp/index.mjs +194 -0
  117. package/dist/components/fields/totp/index.mjs.map +1 -0
  118. package/dist/components/fields/wysiwyg/index.d.mts +132 -0
  119. package/dist/components/fields/wysiwyg/index.d.mts.map +1 -0
  120. package/dist/components/fields/wysiwyg/index.mjs +2182 -0
  121. package/dist/components/fields/wysiwyg/index.mjs.map +1 -0
  122. package/dist/components/flash/index.d.mts +2 -8
  123. package/dist/components/flash/index.d.mts.map +1 -1
  124. package/dist/components/flash/index.mjs +1 -2
  125. package/dist/components/flash/index.mjs.map +1 -1
  126. package/dist/components/highlight/index.d.mts +1 -7
  127. package/dist/components/highlight/index.d.mts.map +1 -1
  128. package/dist/components/highlight/index.mjs +1 -2
  129. package/dist/components/highlight/index.mjs.map +1 -1
  130. package/dist/components/href/index.d.mts.map +1 -1
  131. package/dist/components/href/index.mjs +1 -1
  132. package/dist/components/loader/index.d.mts +2 -13
  133. package/dist/components/loader/index.d.mts.map +1 -1
  134. package/dist/components/loader/index.mjs +2 -3
  135. package/dist/components/media-preview/index.d.mts +2 -21
  136. package/dist/components/media-preview/index.d.mts.map +1 -1
  137. package/dist/components/media-preview/index.mjs +1 -366
  138. package/dist/components/modal/index.d.mts +11 -49
  139. package/dist/components/modal/index.d.mts.map +1 -1
  140. package/dist/components/modal/index.mjs +1 -422
  141. package/dist/components/notification/index.d.mts +7 -27
  142. package/dist/components/notification/index.d.mts.map +1 -1
  143. package/dist/components/notification/index.mjs +3 -14
  144. package/dist/components/notification/index.mjs.map +1 -1
  145. package/dist/components/popover/index.d.mts +10 -47
  146. package/dist/components/popover/index.d.mts.map +1 -1
  147. package/dist/components/popover/index.mjs +6 -16
  148. package/dist/components/popover/index.mjs.map +1 -1
  149. package/dist/components/portal/index.d.mts +1 -5
  150. package/dist/components/portal/index.d.mts.map +1 -1
  151. package/dist/components/portal/index.mjs +1 -2
  152. package/dist/components/portal/index.mjs.map +1 -1
  153. package/dist/components/resizable/index.d.mts +3 -18
  154. package/dist/components/resizable/index.d.mts.map +1 -1
  155. package/dist/components/resizable/index.mjs +2 -6
  156. package/dist/components/resizable/index.mjs.map +1 -1
  157. package/dist/components/resize-area/index.d.mts +1 -10
  158. package/dist/components/resize-area/index.d.mts.map +1 -1
  159. package/dist/components/resize-area/index.mjs +1 -2
  160. package/dist/components/resize-area/index.mjs.map +1 -1
  161. package/dist/components/scroll/index.d.mts +1 -8
  162. package/dist/components/scroll/index.d.mts.map +1 -1
  163. package/dist/components/scroll/index.mjs +2 -3
  164. package/dist/components/select-legacy/index.d.mts +2 -0
  165. package/dist/{select-DzzJJ1eF.mjs → components/select-legacy/index.mjs} +13 -17
  166. package/dist/components/select-legacy/index.mjs.map +1 -0
  167. package/dist/components/separator/index.d.mts.map +1 -1
  168. package/dist/components/separator/index.mjs +1 -1
  169. package/dist/components/slot/index.d.mts +0 -1
  170. package/dist/components/slot/index.d.mts.map +1 -1
  171. package/dist/components/slot/index.mjs +2 -4
  172. package/dist/components/snack/index.d.mts +2 -11
  173. package/dist/components/snack/index.d.mts.map +1 -1
  174. package/dist/components/snack/index.mjs +2 -12
  175. package/dist/components/steps/index.d.mts +2 -20
  176. package/dist/components/steps/index.d.mts.map +1 -1
  177. package/dist/components/steps/index.mjs +1 -3
  178. package/dist/components/steps/index.mjs.map +1 -1
  179. package/dist/components/table/index.d.mts +7 -35
  180. package/dist/components/table/index.d.mts.map +1 -1
  181. package/dist/components/table/index.mjs +1 -8
  182. package/dist/components/table/index.mjs.map +1 -1
  183. package/dist/components/tabs/index.d.mts +1 -13
  184. package/dist/components/tabs/index.d.mts.map +1 -1
  185. package/dist/components/tabs/index.mjs +7 -8
  186. package/dist/components/tabs/index.mjs.map +1 -1
  187. package/dist/components/toast/index.d.mts +2 -4
  188. package/dist/components/toast/index.d.mts.map +1 -1
  189. package/dist/components/toast/index.mjs +4 -13
  190. package/dist/components/toast/index.mjs.map +1 -1
  191. package/dist/components/tooltip/index.d.mts +7 -38
  192. package/dist/components/tooltip/index.d.mts.map +1 -1
  193. package/dist/components/tooltip/index.mjs +2 -4
  194. package/dist/components/tooltip/index.mjs.map +1 -1
  195. package/dist/dropdown-menu-Bk0Asqb4.mjs +288 -0
  196. package/dist/dropdown-menu-Bk0Asqb4.mjs.map +1 -0
  197. package/dist/hooks/index.d.mts +20 -6
  198. package/dist/hooks/index.d.mts.map +1 -1
  199. package/dist/hooks/index.mjs +2 -3
  200. package/dist/{hooks-DhLPp5ev.mjs → hooks-CBijm9RA.mjs} +82 -22
  201. package/dist/hooks-CBijm9RA.mjs.map +1 -0
  202. package/dist/{index-BOxDA6in.d.mts → index-BG1rgXFb.d.mts} +5 -26
  203. package/dist/index-BG1rgXFb.d.mts.map +1 -0
  204. package/dist/{index-Cq0SyjLB.d.mts → index-BPH0ele4.d.mts} +8 -6
  205. package/dist/index-BPH0ele4.d.mts.map +1 -0
  206. package/dist/{index-CA2KqK1H.d.mts → index-C03MgO8e.d.mts} +12 -47
  207. package/dist/index-C03MgO8e.d.mts.map +1 -0
  208. package/dist/index.d.mts.map +1 -1
  209. package/dist/index.mjs +1 -1
  210. package/dist/index.mjs.map +1 -1
  211. package/dist/lib/index.d.mts +2 -2
  212. package/dist/lib/index.mjs +137 -2
  213. package/dist/lib/index.mjs.map +1 -0
  214. package/dist/{loader-YlJGMiNg.mjs → loader-csj5qb99.mjs} +8 -3
  215. package/dist/{loader-YlJGMiNg.mjs.map → loader-csj5qb99.mjs.map} +1 -1
  216. package/dist/media-preview-DzVLd1Yz.mjs +363 -0
  217. package/dist/media-preview-DzVLd1Yz.mjs.map +1 -0
  218. package/dist/modal-DY7p5b0n.mjs +413 -0
  219. package/dist/modal-DY7p5b0n.mjs.map +1 -0
  220. package/dist/{slot-BRtSsS2H.mjs → slot-D8EJRq72.mjs} +17 -18
  221. package/dist/{slot-BRtSsS2H.mjs.map → slot-D8EJRq72.mjs.map} +1 -1
  222. package/dist/style.css +1 -0
  223. package/dist/text-C57IYu-q.mjs +271 -0
  224. package/dist/text-C57IYu-q.mjs.map +1 -0
  225. package/dist/{types-NxD0D2V5.d.mts → types-CbJroQxH.d.mts} +1 -1
  226. package/dist/types-CbJroQxH.d.mts.map +1 -0
  227. package/dist/types-yqikbbzR.d.mts +17 -0
  228. package/dist/types-yqikbbzR.d.mts.map +1 -0
  229. package/dist/types.d.mts +1 -1
  230. package/dist/types.mjs +1 -1
  231. package/dist/{util-Dsk1XpGU.mjs → util-CwC8vkQ9.mjs} +2 -2
  232. package/dist/{util-Dsk1XpGU.mjs.map → util-CwC8vkQ9.mjs.map} +1 -1
  233. package/package.json +191 -75
  234. package/src/components/autocomplete/Autocomplete.stories.tsx +1 -1
  235. package/src/components/autocomplete/Autocomplete.tsx +2 -2
  236. package/src/components/autocomplete/AutocompleteOption.tsx +1 -1
  237. package/src/components/autocomplete/LazyAutocomplete.tsx +1 -1
  238. package/src/components/autocomplete/SimpleAutocomplete.tsx +1 -1
  239. package/src/components/autocomplete/_fixtures.tsx +1 -1
  240. package/src/components/autocomplete/useAutocompleteContext.ts +1 -1
  241. package/src/components/autocomplete/util.ts +1 -1
  242. package/src/components/dropdown-menu/DropdownMenu.stories.tsx +2 -2
  243. package/src/components/fields/ErrorsFormatterContext.ts +11 -0
  244. package/src/components/{form/InputField.stories.tsx → fields/Field.stories.tsx} +50 -76
  245. package/src/components/{form/InputField.tsx → fields/Field.tsx} +7 -4
  246. package/src/components/fields/altcha/Altcha.stories.tsx +24 -0
  247. package/src/components/fields/altcha/Altcha.tsx +52 -0
  248. package/src/components/fields/altcha/AltchaField.stories.tsx +76 -0
  249. package/src/components/fields/altcha/AltchaField.tsx +24 -0
  250. package/src/components/fields/altcha/env.d.ts +21 -0
  251. package/src/components/fields/altcha/index.ts +2 -0
  252. package/src/components/fields/altcha/locales.fr.ts +18 -0
  253. package/src/components/{input → fields/checkbox}/Checkbox.stories.tsx +1 -1
  254. package/src/components/{input → fields/checkbox}/Checkbox.tsx +2 -2
  255. package/src/components/fields/checkbox/CheckboxField.stories.tsx +77 -0
  256. package/src/components/fields/checkbox/CheckboxField.tsx +20 -0
  257. package/src/components/fields/checkbox/CheckboxesField.stories.tsx +90 -0
  258. package/src/components/fields/checkbox/CheckboxesField.tsx +32 -0
  259. package/src/components/fields/checkbox/index.ts +3 -0
  260. package/src/components/{input → fields/color}/Color.stories.tsx +1 -1
  261. package/src/components/{input → fields/color}/Color.tsx +2 -2
  262. package/src/components/fields/color/ColorField.stories.tsx +66 -0
  263. package/src/components/fields/color/ColorField.tsx +123 -0
  264. package/src/components/fields/color/index.ts +2 -0
  265. package/src/components/fields/date/DateField.stories.tsx +78 -0
  266. package/src/components/fields/date/DateField.tsx +62 -0
  267. package/src/components/fields/date/index.ts +1 -0
  268. package/src/components/fields/file/FileField.stories.tsx +112 -0
  269. package/src/components/fields/file/FileField.tsx +124 -0
  270. package/src/components/fields/file/UploaderMock.tsx +120 -0
  271. package/src/components/fields/file/index.ts +1 -0
  272. package/src/components/fields/index.ts +6 -0
  273. package/src/components/{input → fields/input-button}/InputButton.stories.tsx +1 -1
  274. package/src/components/{input → fields/input-button}/InputButton.tsx +12 -6
  275. package/src/components/fields/input-button/index.ts +1 -0
  276. package/src/components/{input → fields/radio}/Radio.stories.tsx +2 -2
  277. package/src/components/{input → fields/radio}/Radio.tsx +2 -2
  278. package/src/components/fields/radio/RadioWithLegendField.stories.tsx +103 -0
  279. package/src/components/fields/radio/RadioWithLegendField.tsx +46 -0
  280. package/src/components/fields/radio/RadiosButtonIconField.stories.tsx +74 -0
  281. package/src/components/fields/radio/RadiosButtonIconField.tsx +39 -0
  282. package/src/components/fields/radio/RadiosField.stories.tsx +79 -0
  283. package/src/components/fields/radio/RadiosField.tsx +43 -0
  284. package/src/components/fields/radio/index.ts +3 -0
  285. package/src/components/{input → fields/range}/AudioRange.tsx +1 -1
  286. package/src/components/{input → fields/range}/Range.stories.tsx +1 -1
  287. package/src/components/{input → fields/range}/Range.tsx +1 -1
  288. package/src/components/fields/range/RangeField.stories.tsx +70 -0
  289. package/src/components/fields/range/RangeField.tsx +34 -0
  290. package/src/components/fields/range/index.ts +2 -0
  291. package/src/components/fields/select/Select.stories.tsx +37 -0
  292. package/src/components/fields/select/Select.tsx +250 -0
  293. package/src/components/fields/select/SelectField.stories.tsx +74 -0
  294. package/src/components/fields/select/SelectField.tsx +47 -0
  295. package/src/components/fields/select/_fixtures.tsx +50 -0
  296. package/src/components/fields/select/index.ts +3 -0
  297. package/src/components/fields/select/types.ts +15 -0
  298. package/src/components/{input → fields/stars}/MappedStars.stories.tsx +1 -1
  299. package/src/components/{input → fields/stars}/MappedStars.tsx +3 -3
  300. package/src/components/{input → fields/stars}/Stars.stories.tsx +1 -1
  301. package/src/components/{input → fields/stars}/Stars.tsx +5 -5
  302. package/src/components/fields/stars/index.ts +2 -0
  303. package/src/components/{input → fields/text}/Input.stories.tsx +6 -4
  304. package/src/components/{input → fields/text}/Input.tsx +1 -1
  305. package/src/components/fields/text/PasswordField.stories.tsx +80 -0
  306. package/src/components/fields/text/PasswordField.tsx +61 -0
  307. package/src/components/fields/text/SlugField.stories.tsx +67 -0
  308. package/src/components/fields/text/SlugField.tsx +42 -0
  309. package/src/components/fields/text/TextField.stories.tsx +80 -0
  310. package/src/components/fields/text/TextField.tsx +53 -0
  311. package/src/components/fields/text/index.ts +3 -0
  312. package/src/components/{textarea → fields/textarea}/Textarea.stories.tsx +2 -2
  313. package/src/components/{textarea → fields/textarea}/Textarea.tsx +1 -1
  314. package/src/components/fields/textarea/TextareaField.stories.tsx +67 -0
  315. package/src/components/fields/textarea/TextareaField.tsx +18 -0
  316. package/src/components/{input → fields/toggle}/Toggle.stories.tsx +1 -1
  317. package/src/components/{input → fields/toggle}/Toggle.tsx +1 -1
  318. package/src/components/fields/toggle/index.ts +1 -0
  319. package/src/components/fields/totp/TotpField.stories.tsx +72 -0
  320. package/src/components/fields/totp/TotpField.tsx +27 -0
  321. package/src/components/{input → fields/totp}/TotpInput.stories.tsx +1 -1
  322. package/src/components/{input → fields/totp}/TotpInput.tsx +1 -1
  323. package/src/components/fields/totp/index.ts +2 -0
  324. package/src/components/fields/wysiwyg/AUDIT-wysiwyg.md +80 -0
  325. package/src/components/fields/wysiwyg/AUDIT-wysiwygField.md +83 -0
  326. package/src/components/fields/wysiwyg/ToolbarContext.tsx +71 -0
  327. package/src/components/fields/wysiwyg/Wysiwyg.stories.tsx +83 -0
  328. package/src/components/fields/wysiwyg/Wysiwyg.tsx +219 -0
  329. package/src/components/fields/wysiwyg/WysiwygField.stories.tsx +112 -0
  330. package/src/components/fields/wysiwyg/WysiwygField.tsx +74 -0
  331. package/src/components/fields/wysiwyg/_fixtures.ts +50 -0
  332. package/src/components/fields/wysiwyg/components/BlockFormatDropdown.tsx +100 -0
  333. package/src/components/fields/wysiwyg/components/ElementFormatDropdown.tsx +81 -0
  334. package/src/components/fields/wysiwyg/config/html.ts +30 -0
  335. package/src/components/fields/wysiwyg/config/index.ts +29 -0
  336. package/src/components/fields/wysiwyg/i18n/WysiwygTranslationContext.tsx +28 -0
  337. package/src/components/fields/wysiwyg/i18n/en.ts +26 -0
  338. package/src/components/fields/wysiwyg/i18n/fr.ts +26 -0
  339. package/src/components/fields/wysiwyg/i18n/index.ts +7 -0
  340. package/src/components/fields/wysiwyg/index.ts +9 -0
  341. package/src/components/fields/wysiwyg/parsers/exportMap.ts +65 -0
  342. package/src/components/fields/wysiwyg/parsers/importMap.ts +90 -0
  343. package/src/components/fields/wysiwyg/plugins/AutoLinkPlugin.tsx +32 -0
  344. package/src/components/fields/wysiwyg/plugins/FloatingLinkEditorPlugin.tsx +455 -0
  345. package/src/components/fields/wysiwyg/plugins/LazyOnChangePlugin.tsx +37 -0
  346. package/src/components/fields/wysiwyg/plugins/LinkPlugin.tsx +22 -0
  347. package/src/components/fields/wysiwyg/plugins/SubmitOnEnterPlugin.tsx +51 -0
  348. package/src/components/fields/wysiwyg/plugins/ToolbarPlugin.tsx +263 -0
  349. package/src/components/fields/wysiwyg/plugins/index.css +1 -0
  350. package/src/components/fields/wysiwyg/style.ts +34 -0
  351. package/src/components/fields/wysiwyg/types.ts +34 -0
  352. package/src/components/fields/wysiwyg/utils/dom.ts +21 -0
  353. package/src/components/fields/wysiwyg/utils/formatters.ts +63 -0
  354. package/src/components/fields/wysiwyg/utils/getSelectedNode.ts +33 -0
  355. package/src/components/fields/wysiwyg/utils/setFloatingElemPositionForLinkEditor.ts +46 -0
  356. package/src/components/fields/wysiwyg/utils/url.ts +31 -0
  357. package/src/components/highlight/Highlight.stories.tsx +19 -19
  358. package/src/components/loader/Loader.stories.tsx +1 -1
  359. package/src/components/media-preview/MediaPreview.stories.tsx +12 -2
  360. package/src/components/modal/Components.tsx +1 -1
  361. package/src/components/quick-settings/QuickSettings.stories.tsx +11 -11
  362. package/src/components/{select → select-legacy}/Select.stories.tsx +28 -28
  363. package/src/components/{select → select-legacy}/Select.test.tsx +2 -2
  364. package/src/components/{select → select-legacy}/Select.tsx +2 -2
  365. package/src/components/{select → select-legacy}/index.ts +1 -1
  366. package/src/components/steps/Steps.stories.tsx +1 -1
  367. package/src/hooks/index.ts +1 -0
  368. package/src/hooks/useIntersectionObserver.ts +127 -0
  369. package/src/hooks/useIsClosing.ts +3 -1
  370. package/src/hooks/useRipple.test.tsx +1 -1
  371. package/src/lib/color.ts +17 -0
  372. package/src/lib/index.ts +1 -0
  373. package/src/lib/pass-checker.ts +34 -0
  374. package/src/lib/strUtil.ts +12 -0
  375. package/src/styles/Icons.stories.tsx +7 -7
  376. package/src/styles/Shadow.stories.tsx +3 -3
  377. package/src/styles/Themes.stories.tsx +3 -3
  378. package/src/styles/Typography.stories.tsx +3 -3
  379. package/src/tailwind/base.css +1 -3
  380. package/src/vite-env.d.ts +1 -0
  381. package/tsconfig.json +1 -1
  382. package/tsdown.config.ts +20 -12
  383. package/dist/Button-I8WN-D9m.d.mts +0 -50
  384. package/dist/Button-I8WN-D9m.d.mts.map +0 -1
  385. package/dist/Input-DzDXg_MR.mjs.map +0 -1
  386. package/dist/Snack-3FOmPHKW.mjs.map +0 -1
  387. package/dist/components/dropdown-menu/index.mjs.map +0 -1
  388. package/dist/components/form/index.d.mts +0 -53
  389. package/dist/components/form/index.d.mts.map +0 -1
  390. package/dist/components/form/index.mjs +0 -320
  391. package/dist/components/form/index.mjs.map +0 -1
  392. package/dist/components/input/index.d.mts +0 -325
  393. package/dist/components/input/index.d.mts.map +0 -1
  394. package/dist/components/input/index.mjs +0 -1628
  395. package/dist/components/input/index.mjs.map +0 -1
  396. package/dist/components/media-preview/index.mjs.map +0 -1
  397. package/dist/components/modal/index.mjs.map +0 -1
  398. package/dist/components/select/index.d.mts +0 -2
  399. package/dist/components/select/index.mjs +0 -12
  400. package/dist/components/textarea/index.d.mts +0 -24
  401. package/dist/components/textarea/index.d.mts.map +0 -1
  402. package/dist/components/textarea/index.mjs.map +0 -1
  403. package/dist/dialog-C5ScTy65.mjs +0 -1
  404. package/dist/hooks-DhLPp5ev.mjs.map +0 -1
  405. package/dist/index-BOxDA6in.d.mts.map +0 -1
  406. package/dist/index-CA2KqK1H.d.mts.map +0 -1
  407. package/dist/index-Cq0SyjLB.d.mts.map +0 -1
  408. package/dist/lib-BYj5usAj.mjs +0 -133
  409. package/dist/lib-BYj5usAj.mjs.map +0 -1
  410. package/dist/select-DzzJJ1eF.mjs.map +0 -1
  411. package/dist/snack-C5RcGkhi.mjs +0 -1
  412. package/dist/types-NxD0D2V5.d.mts.map +0 -1
  413. package/src/components/form/SelectField.stories.tsx +0 -77
  414. package/src/components/form/SelectField.tsx +0 -60
  415. package/src/components/form/form.stories.tsx +0 -63
  416. package/src/components/form/index.ts +0 -2
  417. package/src/components/input/index.ts +0 -11
  418. /package/src/components/{input → fields/range}/AudioRange.test.tsx +0 -0
  419. /package/src/components/{input → fields/text}/Input.test.tsx +0 -0
  420. /package/src/components/{textarea → fields/textarea}/index.ts +0 -0
  421. /package/src/components/{select → select-legacy}/SelectOption.tsx +0 -0
  422. /package/src/components/{select → select-legacy}/SelectSelection.tsx +0 -0
  423. /package/src/components/{select → select-legacy}/_fixtures.tsx +0 -0
  424. /package/src/components/{select → select-legacy}/interface.ts +0 -0
  425. /package/src/components/{select → select-legacy}/useSelectContext.ts +0 -0
  426. /package/src/components/{select → select-legacy}/util.ts +0 -0
@@ -0,0 +1,21 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(sed -i 's#from \"../input/Input\"#from \"../fields/text/Input\"#' src/components/select-legacy/Select.tsx src/components/autocomplete/Autocomplete.tsx)",
5
+ "Bash(sed -i 's#from \"../components/input/Input\"#from \"../components/fields/text/Input\"#' src/styles/Icons.stories.tsx)",
6
+ "Bash(sed -i -e 's#from \"../input/Toggle\"#from \"../input/Toggle\"#' -e 's#from \"../input\"#from \"../fields/text\"#' src/components/highlight/Highlight.stories.tsx)",
7
+ "Bash(sed -i -e 's#from \"../input/Input\"#from \"../fields/text/Input\"#' -e 's#from \"../input/Checkbox\"#from \"../fields/checkbox/Checkbox\"#' src/components/quick-settings/QuickSettings.stories.tsx)",
8
+ "Bash(sed -i 's#from \"../input\"#from \"../fields/text\"#' src/components/steps/Steps.stories.tsx)",
9
+ "Bash(pnpm check:tsc)",
10
+ "Bash(pnpm build *)",
11
+ "Bash(pnpm check:lint)",
12
+ "Bash(pnpm check:format)",
13
+ "Bash(pnpm test-run *)",
14
+ "Bash(git stash *)",
15
+ "Bash(git rm *)",
16
+ "Bash(sed -i 's#from \"\\\\.\\\\./input/Toggle\"#from \"./toggle/Toggle\"#' src/components/fields/Field.stories.tsx)",
17
+ "Bash(sed -i 's#from \"\\\\.\\\\./input/Toggle\"#from \"../fields/toggle/Toggle\"#' src/components/highlight/Highlight.stories.tsx)",
18
+ "Bash(npx oxlint *)"
19
+ ]
20
+ }
21
+ }
@@ -37,15 +37,15 @@ jobs:
37
37
  # with:
38
38
  # token: ${{ secrets.DESIGN_RELEASE_GITHUB_TOKEN }}
39
39
 
40
- - name: Creating .npmrc
41
- run: |
42
- cat << EOF > "./.npmrc"
43
- //registry.npmjs.org/:_authToken=$NPM_TOKEN
44
- EOF
45
- env:
46
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
47
-
48
- - name: Publish package
49
- run: npm i -g npm@^11.5.2 && npm publish --provenance --access public
50
- env:
51
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
40
+ # - name: Creating .npmrc
41
+ # run: |
42
+ # cat << EOF > "./.npmrc"
43
+ # //registry.npmjs.org/:_authToken=$NPM_TOKEN
44
+ # EOF
45
+ # env:
46
+ # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
47
+
48
+ # - name: Publish package
49
+ # run: npm i -g npm@^11.5.2 && npm publish --provenance --access public
50
+ # env:
51
+ # NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
File without changes
@@ -1,12 +1,11 @@
1
- import { h as useRipple } from "./hooks-DhLPp5ev.mjs";
2
- import { t as Loader } from "./loader-YlJGMiNg.mjs";
3
- import { t as Slot } from "./slot-BRtSsS2H.mjs";
1
+ import { g as useRipple } from "./hooks-CBijm9RA.mjs";
2
+ import { t as Loader } from "./loader-csj5qb99.mjs";
3
+ import { t as Slot } from "./slot-D8EJRq72.mjs";
4
4
  import { c } from "react/compiler-runtime";
5
5
  import { useImperativeHandle, useRef } from "react";
6
6
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
7
7
  import clsx from "clsx";
8
8
  import { cva } from "class-variance-authority";
9
-
10
9
  //#region src/components/button/Button.tsx
11
10
  function loaderColor(color) {
12
11
  switch (color) {
@@ -40,6 +39,14 @@ const buttonVariants = cva("relative box-border inline-flex items-center leading
40
39
  custom: ""
41
40
  },
42
41
  variant: {
42
+ /**
43
+ * src/tailwind/plugin.ts
44
+ * addVariant("current", [
45
+ * `&[aria-checked="true"]`,
46
+ * `&[aria-current="page"]`,
47
+ * `&:has(:checked)`
48
+ * ])
49
+ */
43
50
  contained: "shadow-sm hover:shadow-md active:shadow-md-active outline-offset-0 text-custom-text bg-custom-3 hover:bg-custom-4 current:bg-custom-4 focus-visible-has:outline-custom-5",
44
51
  light: "shadow-sm hover:shadow-md has-checked:shadow-md focus:shadow-md active:shadow-md-active outline-offset-0 bg-custom-1 text-gray-text hover:text-custom-text hover:bg-custom-3 current:bg-custom-3 focus-visible-has:outline-custom-4",
45
52
  outlined: "bg-custom-0 hover:shadow-xs active:shadow-xs-active text-gray-7 outline-offset-0 border-1 hover:bg-custom-1 border-custom-border focus-visible-has:outline-custom-5 current:bg-custom-3 focus-visible-has:border-transparent",
@@ -198,7 +205,7 @@ function Button(t0) {
198
205
  } else t17 = $[41];
199
206
  return t17;
200
207
  }
201
-
202
208
  //#endregion
203
209
  export { buttonVariants as n, Button as t };
204
- //# sourceMappingURL=Button-BH3EFgdP.mjs.map
210
+
211
+ //# sourceMappingURL=Button-CL7xvvey.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button-BH3EFgdP.mjs","names":["ComponentProps","RefObject","useImperativeHandle","useRef","clsx","Loader","useRipple","Slot","cva","ThemeColor","loaderColor","color","ButtonProps","Omit","withRipple","variant","size","width","loading","disabled","focusable","selected","icon","asChild","ref","HTMLButtonElement","buttonVariants","variants","clickable","true","false","small","medium","large","input","custom","scalable","fit","full","contained","light","outlined","text","ghost","defaultVariants","Button","t0","$","_c","children","className","props","t1","t10","t11","t2","t3","t4","t5","t6","t7","t8","t9","undefined","inputRef","t12","Symbol","for","current","rippleEnabled","includes","Comp","t13","t14","t15","t16","t17"],"sources":["../src/components/button/Button.tsx"],"sourcesContent":["import { ComponentProps, RefObject, useImperativeHandle, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { Loader } from \"../loader\";\nimport { useRipple } from \"../../hooks\";\nimport { Slot } from \"../slot\";\nimport { cva } from \"class-variance-authority\";\nimport { ThemeColor } from \"../../types\";\n\nfunction loaderColor(color: ThemeColor): ThemeColor {\n switch (color) {\n case \"yellow-alpha\":\n return \"yellow\";\n case \"gray-alpha\":\n return \"gray\";\n default:\n return color;\n }\n}\n\nexport interface ButtonProps extends Omit<ComponentProps<\"button\">, \"color\"> {\n withRipple?: boolean;\n\n variant?: \"contained\" | \"light\" | \"outlined\" | \"text\" | \"ghost\";\n\n size?: \"small\" | \"medium\" | \"large\" | \"custom\" | \"input\" | \"scalable\";\n\n color?: ThemeColor;\n\n width?: \"fit\" | \"full\" | \"custom\";\n\n loading?: boolean;\n\n disabled?: boolean;\n\n focusable?: boolean;\n /**\n * For a selected item inside a group.\n */\n selected?: boolean;\n\n icon?: boolean;\n\n asChild?: boolean;\n\n ref?: RefObject<HTMLButtonElement>;\n}\n\nexport const buttonVariants = cva(\n \"relative box-border inline-flex items-center leading-5 no-underline focus-visible-has:outline-2\",\n {\n variants: {\n clickable: {\n true: \"cursor-pointer active:translate-y-px focus-visible-has:z-10\",\n false: \"pointer-events-none\",\n },\n size: {\n small: \"[--h-button:1.5rem] h-(--h-button) truncate\",\n medium: \"[--h-button:2rem] h-(--h-button) truncate\",\n large: \"[--h-button:3rem] h-(--h-button) truncate\",\n input: \"[--h-button:calc(var(--h-input)-2px)] h-(--h-button) truncate\",\n custom: \"truncate\",\n scalable: \"\",\n },\n icon: {\n true: \"rounded-[calc(var(--h-button)/2)] min-w-(--h-button) [&_i,&_img,&_svg]:w-(--h-button) justify-center [&_:last-child:not(i,img,svg,strong)]:pr-4\",\n false: \"rounded-2xl px-4\",\n custom: \"\",\n },\n width: {\n fit: \"w-full max-w-fit\",\n full: \"w-full justify-center\",\n custom: \"\",\n },\n variant: {\n /**\n * src/tailwind/plugin.ts\n * addVariant(\"current\", [\n * `&[aria-checked=\"true\"]`,\n * `&[aria-current=\"page\"]`,\n * `&:has(:checked)`\n * ])\n */\n contained:\n \"shadow-sm hover:shadow-md active:shadow-md-active outline-offset-0 text-custom-text bg-custom-3 hover:bg-custom-4 current:bg-custom-4 focus-visible-has:outline-custom-5\",\n light:\n \"shadow-sm hover:shadow-md has-checked:shadow-md focus:shadow-md active:shadow-md-active outline-offset-0 bg-custom-1 text-gray-text hover:text-custom-text hover:bg-custom-3 current:bg-custom-3 focus-visible-has:outline-custom-4\",\n outlined:\n \"bg-custom-0 hover:shadow-xs active:shadow-xs-active text-gray-7 outline-offset-0 border-1 hover:bg-custom-1 border-custom-border focus-visible-has:outline-custom-5 current:bg-custom-3 focus-visible-has:border-transparent\",\n text: \"bg-transparent hover:shadow-xs active:shadow-xs-active outline-offset-0 hover:bg-custom-1 dark:hover:bg-custom-1/50 text-gray-7 hover:text-gray-8 current:bg-custom-3 focus-visible-has:outline-custom-5\",\n ghost: \"outline-offset-0 current:bg-custom-1 focus-visible-has:outline-custom-5\",\n },\n },\n defaultVariants: {\n size: \"medium\",\n icon: false,\n variant: \"contained\",\n clickable: true,\n width: \"fit\",\n },\n },\n);\n\nexport function Button({\n withRipple = true,\n variant = \"contained\",\n loading = false,\n color = \"yellow\",\n size = \"medium\",\n focusable = true,\n className,\n disabled = false,\n children,\n selected = false,\n icon = false,\n asChild = false,\n width = \"fit\",\n ref,\n ...props\n}: ButtonProps) {\n const inputRef = useRef<HTMLButtonElement>(null!);\n\n useImperativeHandle<HTMLButtonElement | null, HTMLButtonElement | null>(\n ref,\n () => inputRef.current,\n );\n\n const rippleEnabled = !loading && !disabled && withRipple;\n\n useRipple(\n inputRef,\n [\"text\", \"outlined\", \"ghost\"].includes(variant) ? true : false,\n rippleEnabled,\n );\n\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n tabIndex={focusable ? 0 : -1}\n role=\"button\"\n ref={inputRef}\n className={clsx(\n buttonVariants({\n variant,\n size,\n width,\n icon: width === \"custom\" && !icon ? \"custom\" : icon,\n }),\n className,\n loading && !icon && \"text-transparent\",\n )}\n data-color={color}\n data-variant={variant}\n aria-checked={selected}\n suppressHydrationWarning\n aria-busy={loading}\n {...(disabled ? { disabled } : {})}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {/* {!notClickable && withRipple && ripples} */}\n {children}\n {loading && (\n <Loader\n color={loaderColor(color)}\n className={clsx(\"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2\")}\n position=\"absolute\"\n />\n )}\n </>\n )}\n </Comp>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Button-CL7xvvey.mjs","names":["ComponentProps","RefObject","useImperativeHandle","useRef","clsx","Loader","useRipple","Slot","cva","ThemeColor","loaderColor","color","ButtonProps","Omit","withRipple","variant","size","width","loading","disabled","focusable","selected","icon","asChild","ref","HTMLButtonElement","buttonVariants","variants","clickable","true","false","small","medium","large","input","custom","scalable","fit","full","contained","light","outlined","text","ghost","defaultVariants","Button","t0","$","_c","children","className","props","t1","t10","t11","t2","t3","t4","t5","t6","t7","t8","t9","undefined","inputRef","t12","Symbol","for","current","rippleEnabled","includes","Comp","t13","t14","t15","t16","t17"],"sources":["../src/components/button/Button.tsx"],"sourcesContent":["import { ComponentProps, RefObject, useImperativeHandle, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { Loader } from \"../loader\";\nimport { useRipple } from \"../../hooks\";\nimport { Slot } from \"../slot\";\nimport { cva } from \"class-variance-authority\";\nimport { ThemeColor } from \"../../types\";\n\nfunction loaderColor(color: ThemeColor): ThemeColor {\n switch (color) {\n case \"yellow-alpha\":\n return \"yellow\";\n case \"gray-alpha\":\n return \"gray\";\n default:\n return color;\n }\n}\n\nexport interface ButtonProps extends Omit<ComponentProps<\"button\">, \"color\"> {\n withRipple?: boolean;\n\n variant?: \"contained\" | \"light\" | \"outlined\" | \"text\" | \"ghost\";\n\n size?: \"small\" | \"medium\" | \"large\" | \"custom\" | \"input\" | \"scalable\";\n\n color?: ThemeColor;\n\n width?: \"fit\" | \"full\" | \"custom\";\n\n loading?: boolean;\n\n disabled?: boolean;\n\n focusable?: boolean;\n /**\n * For a selected item inside a group.\n */\n selected?: boolean;\n\n icon?: boolean;\n\n asChild?: boolean;\n\n ref?: RefObject<HTMLButtonElement>;\n}\n\nexport const buttonVariants = cva(\n \"relative box-border inline-flex items-center leading-5 no-underline focus-visible-has:outline-2\",\n {\n variants: {\n clickable: {\n true: \"cursor-pointer active:translate-y-px focus-visible-has:z-10\",\n false: \"pointer-events-none\",\n },\n size: {\n small: \"[--h-button:1.5rem] h-(--h-button) truncate\",\n medium: \"[--h-button:2rem] h-(--h-button) truncate\",\n large: \"[--h-button:3rem] h-(--h-button) truncate\",\n input: \"[--h-button:calc(var(--h-input)-2px)] h-(--h-button) truncate\",\n custom: \"truncate\",\n scalable: \"\",\n },\n icon: {\n true: \"rounded-[calc(var(--h-button)/2)] min-w-(--h-button) [&_i,&_img,&_svg]:w-(--h-button) justify-center [&_:last-child:not(i,img,svg,strong)]:pr-4\",\n false: \"rounded-2xl px-4\",\n custom: \"\",\n },\n width: {\n fit: \"w-full max-w-fit\",\n full: \"w-full justify-center\",\n custom: \"\",\n },\n variant: {\n /**\n * src/tailwind/plugin.ts\n * addVariant(\"current\", [\n * `&[aria-checked=\"true\"]`,\n * `&[aria-current=\"page\"]`,\n * `&:has(:checked)`\n * ])\n */\n contained:\n \"shadow-sm hover:shadow-md active:shadow-md-active outline-offset-0 text-custom-text bg-custom-3 hover:bg-custom-4 current:bg-custom-4 focus-visible-has:outline-custom-5\",\n light:\n \"shadow-sm hover:shadow-md has-checked:shadow-md focus:shadow-md active:shadow-md-active outline-offset-0 bg-custom-1 text-gray-text hover:text-custom-text hover:bg-custom-3 current:bg-custom-3 focus-visible-has:outline-custom-4\",\n outlined:\n \"bg-custom-0 hover:shadow-xs active:shadow-xs-active text-gray-7 outline-offset-0 border-1 hover:bg-custom-1 border-custom-border focus-visible-has:outline-custom-5 current:bg-custom-3 focus-visible-has:border-transparent\",\n text: \"bg-transparent hover:shadow-xs active:shadow-xs-active outline-offset-0 hover:bg-custom-1 dark:hover:bg-custom-1/50 text-gray-7 hover:text-gray-8 current:bg-custom-3 focus-visible-has:outline-custom-5\",\n ghost: \"outline-offset-0 current:bg-custom-1 focus-visible-has:outline-custom-5\",\n },\n },\n defaultVariants: {\n size: \"medium\",\n icon: false,\n variant: \"contained\",\n clickable: true,\n width: \"fit\",\n },\n },\n);\n\nexport function Button({\n withRipple = true,\n variant = \"contained\",\n loading = false,\n color = \"yellow\",\n size = \"medium\",\n focusable = true,\n className,\n disabled = false,\n children,\n selected = false,\n icon = false,\n asChild = false,\n width = \"fit\",\n ref,\n ...props\n}: ButtonProps) {\n const inputRef = useRef<HTMLButtonElement>(null!);\n\n useImperativeHandle<HTMLButtonElement | null, HTMLButtonElement | null>(\n ref,\n () => inputRef.current,\n );\n\n const rippleEnabled = !loading && !disabled && withRipple;\n\n useRipple(\n inputRef,\n [\"text\", \"outlined\", \"ghost\"].includes(variant) ? true : false,\n rippleEnabled,\n );\n\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n tabIndex={focusable ? 0 : -1}\n role=\"button\"\n ref={inputRef}\n className={clsx(\n buttonVariants({\n variant,\n size,\n width,\n icon: width === \"custom\" && !icon ? \"custom\" : icon,\n }),\n className,\n loading && !icon && \"text-transparent\",\n )}\n data-color={color}\n data-variant={variant}\n aria-checked={selected}\n suppressHydrationWarning\n aria-busy={loading}\n {...(disabled ? { disabled } : {})}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {/* {!notClickable && withRipple && ripples} */}\n {children}\n {loading && (\n <Loader\n color={loaderColor(color)}\n className={clsx(\"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2\")}\n position=\"absolute\"\n />\n )}\n </>\n )}\n </Comp>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { i as ThemeColor } from "./types-CbJroQxH.mjs";
2
+ import { ComponentProps, RefObject } from "react";
3
+ //#region src/components/button/Button.d.ts
4
+ interface ButtonProps extends Omit<ComponentProps<"button">, "color"> {
5
+ withRipple?: boolean;
6
+ variant?: "contained" | "light" | "outlined" | "text" | "ghost";
7
+ size?: "small" | "medium" | "large" | "custom" | "input" | "scalable";
8
+ color?: ThemeColor;
9
+ width?: "fit" | "full" | "custom";
10
+ loading?: boolean;
11
+ disabled?: boolean;
12
+ focusable?: boolean;
13
+ /**
14
+ * For a selected item inside a group.
15
+ */
16
+ selected?: boolean;
17
+ icon?: boolean;
18
+ asChild?: boolean;
19
+ ref?: RefObject<HTMLButtonElement>;
20
+ }
21
+ declare const buttonVariants: (props?: ({
22
+ clickable?: boolean | null | undefined;
23
+ size?: "custom" | "input" | "large" | "medium" | "scalable" | "small" | null | undefined;
24
+ icon?: "custom" | boolean | null | undefined;
25
+ width?: "custom" | "fit" | "full" | null | undefined;
26
+ variant?: "contained" | "ghost" | "light" | "outlined" | "text" | null | undefined;
27
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
28
+ declare function Button({ withRipple, variant, loading, color, size, focusable, className, disabled, children, selected, icon, asChild, width, ref, ...props }: ButtonProps): import("react").JSX.Element;
29
+ //#endregion
30
+ export { ButtonProps as n, buttonVariants as r, Button as t };
31
+ //# sourceMappingURL=Button-CVudu6dV.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button-CVudu6dV.d.mts","names":[],"sources":["../src/components/button/Button.tsx"],"mappings":";;;UAmBiB,oBAAoB,KAAK;EACxC;EAEA;EAEA;EAEA,QAAQ;EAER;EAEA;EAEA;EAEA;;;;EAIA;EAEA;EAEA;EAEA,MAAM,UAAU;;cAGL,iBAAc;;;;;;;iBAuDX,SACd,YACA,SACA,SACA,OACA,MACA,WACA,WACA,UACA,UACA,UACA,MACA,SACA,OACA,QACG,SACF,8BAAW,IAAA"}
@@ -2,7 +2,6 @@ import { c } from "react/compiler-runtime";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import clsx from "clsx";
4
4
  import { cva } from "class-variance-authority";
5
-
6
5
  //#region src/components/dialog/Dialog.tsx
7
6
  const dialogVariants = cva("relative", {
8
7
  variants: {
@@ -96,7 +95,7 @@ function Dialog(t0) {
96
95
  } else t4 = $[20];
97
96
  return t4;
98
97
  }
99
-
100
98
  //#endregion
101
99
  export { dialogVariants as n, Dialog as t };
102
- //# sourceMappingURL=Dialog-CriZOfkd.mjs.map
100
+
101
+ //# sourceMappingURL=Dialog-DeQv8OeS.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog-CriZOfkd.mjs","names":["Placement","clsx","ComponentProps","ReactNode","ThemeBaseColor","cva","Props","color","shadow","rounded","placement","children","dialogVariants","variants","yellow","gray","red","blue","green","orange","default","true","false","defaultVariants","Dialog","t0","$","_c","className","rest","t1","role","undefined","t2","t3","t4"],"sources":["../src/components/dialog/Dialog.tsx"],"sourcesContent":["import { Placement } from \"@floating-ui/react\";\nimport clsx from \"clsx\";\nimport { ComponentProps, ReactNode } from \"react\";\nimport type { ThemeBaseColor } from \"../../types\";\nimport { cva } from \"class-variance-authority\";\n\ninterface Props extends ComponentProps<\"div\"> {\n color?: ThemeBaseColor;\n shadow?: boolean;\n rounded?: boolean;\n placement?: Placement;\n children: ReactNode;\n}\n\nexport const dialogVariants = cva(\"relative\", {\n variants: {\n color: {\n yellow: \"border-t-4 border-t-yellow-3 bg-gray-0\",\n gray: \"border-t-4 border-t-gray-3 bg-gray-0\",\n red: \"border-t-4 border-t-red-3 bg-red-1\",\n blue: \"border-t-4 border-t-blue-3 bg-blue-1\",\n green: \"border-t-4 border-t-green-3 bg-green-1\",\n orange: \"border-t-4 border-t-orange-3 bg-orange-1\",\n default: \"bg-gray-0\",\n },\n shadow: {\n true: \"shadow-sm dark:shadow-dark\",\n false: \"border border-gray-2\",\n },\n rounded: {\n true: \"rounded-2xl\",\n false: \"\",\n },\n },\n defaultVariants: {\n color: \"default\",\n shadow: true,\n rounded: true,\n },\n});\n\nexport function Dialog({\n placement,\n color,\n rounded,\n shadow,\n children,\n className,\n role = \"dialog\",\n ...rest\n}: Props) {\n return (\n <div\n role={role}\n className={clsx(dialogVariants({ color, rounded, shadow }), className)}\n data-placement={placement}\n data-color={color ?? \"gray\"}\n {...rest}\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;AAcA,MAAaY,iBAAiBP,IAAI,YAAY;CAC5CQ,UAAU;EACRN,OAAO;GACLO,QAAQ;GACRC,MAAM;GACNC,KAAK;GACLC,MAAM;GACNC,OAAO;GACPC,QAAQ;GACRC,SAAS;GACV;EACDZ,QAAQ;GACNa,MAAM;GACNC,OAAO;GACR;EACDb,SAAS;GACPY,MAAM;GACNC,OAAO;GACT;EACD;CACDC,iBAAiB;EACfhB,OAAO;EACPC,QAAQ;EACRC,SAAS;EACX;CACD,CAAC;AAEF,SAAOe,OAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAhB;CAAA,IAAAiB;CAAA,IAAArB;CAAA,IAAAG;CAAA,IAAAmB;CAAA,IAAApB;CAAA,IAAAD;CAAA,IAAAsB;AAAA,KAAAJ,EAAA,OAAAD,IAAA;AAAgB,GAAA,CAAAf,WAAAH,OAAAE,SAAAD,QAAAG,UAAAiB,WAAAG,MAAAD,OAAAD,QAAAJ;AASfC,IAAA,KAAAD;AAAAC,IAAA,KAAAf;AAAAe,IAAA,KAAAE;AAAAF,IAAA,KAAAnB;AAAAmB,IAAA,KAAAhB;AAAAgB,IAAA,KAAAG;AAAAH,IAAA,KAAAjB;AAAAiB,IAAA,KAAAlB;AAAAkB,IAAA,KAAAI;QAAA;AAAAnB,aAAAe,EAAA;AAAAE,cAAAF,EAAA;AAAAnB,UAAAmB,EAAA;AAAAhB,cAAAgB,EAAA;AAAAG,SAAAH,EAAA;AAAAjB,YAAAiB,EAAA;AAAAlB,WAAAkB,EAAA;AAAAI,OAAAJ,EAAA;;CAFN,MAAAK,OAAAD,OAAAE,SAAA,WAAAF;CAAe,IAAAG;AAAA,KAAAP,EAAA,OAAAE,aAAAF,EAAA,QAAAnB,SAAAmB,EAAA,QAAAjB,WAAAiB,EAAA,QAAAlB,QAAA;AAMAyB,OAAAhC,KAAKW,eAAe;GAAAL;GAAAE;GAAAD;GAA0B,CAAC,EAAEoB,UAAU;AAAAF,IAAA,KAAAE;AAAAF,IAAA,MAAAnB;AAAAmB,IAAA,MAAAjB;AAAAiB,IAAA,MAAAlB;AAAAkB,IAAA,MAAAO;OAAAA,MAAAP,EAAA;CAE1D,MAAAQ,KAAA3B,SAAA;CAAe,IAAA4B;AAAA,KAAAT,EAAA,QAAAf,YAAAe,EAAA,QAAAhB,aAAAgB,EAAA,QAAAG,QAAAH,EAAA,QAAAK,QAAAL,EAAA,QAAAO,MAAAP,EAAA,QAAAQ,IAAA;AAJ7BC,OAAA,oBAAA;GACQJ;GACK,WAAAE;GACKvB,kBAAAA;GACJ,cAAAwB;GAAe,GACvBL;GAEHlB;IACG;AAAAe,IAAA,MAAAf;AAAAe,IAAA,MAAAhB;AAAAgB,IAAA,MAAAG;AAAAH,IAAA,MAAAK;AAAAL,IAAA,MAAAO;AAAAP,IAAA,MAAAQ;AAAAR,IAAA,MAAAS;OAAAA,MAAAT,EAAA;AAAA,QARNS"}
1
+ {"version":3,"file":"Dialog-DeQv8OeS.mjs","names":["Placement","clsx","ComponentProps","ReactNode","ThemeBaseColor","cva","Props","color","shadow","rounded","placement","children","dialogVariants","variants","yellow","gray","red","blue","green","orange","default","true","false","defaultVariants","Dialog","t0","$","_c","className","rest","t1","role","undefined","t2","t3","t4"],"sources":["../src/components/dialog/Dialog.tsx"],"sourcesContent":["import { Placement } from \"@floating-ui/react\";\nimport clsx from \"clsx\";\nimport { ComponentProps, ReactNode } from \"react\";\nimport type { ThemeBaseColor } from \"../../types\";\nimport { cva } from \"class-variance-authority\";\n\ninterface Props extends ComponentProps<\"div\"> {\n color?: ThemeBaseColor;\n shadow?: boolean;\n rounded?: boolean;\n placement?: Placement;\n children: ReactNode;\n}\n\nexport const dialogVariants = cva(\"relative\", {\n variants: {\n color: {\n yellow: \"border-t-4 border-t-yellow-3 bg-gray-0\",\n gray: \"border-t-4 border-t-gray-3 bg-gray-0\",\n red: \"border-t-4 border-t-red-3 bg-red-1\",\n blue: \"border-t-4 border-t-blue-3 bg-blue-1\",\n green: \"border-t-4 border-t-green-3 bg-green-1\",\n orange: \"border-t-4 border-t-orange-3 bg-orange-1\",\n default: \"bg-gray-0\",\n },\n shadow: {\n true: \"shadow-sm dark:shadow-dark\",\n false: \"border border-gray-2\",\n },\n rounded: {\n true: \"rounded-2xl\",\n false: \"\",\n },\n },\n defaultVariants: {\n color: \"default\",\n shadow: true,\n rounded: true,\n },\n});\n\nexport function Dialog({\n placement,\n color,\n rounded,\n shadow,\n children,\n className,\n role = \"dialog\",\n ...rest\n}: Props) {\n return (\n <div\n role={role}\n className={clsx(dialogVariants({ color, rounded, shadow }), className)}\n data-placement={placement}\n data-color={color ?? \"gray\"}\n {...rest}\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;AAcA,MAAaY,iBAAiBP,IAAI,YAAY;CAC5CQ,UAAU;EACRN,OAAO;GACLO,QAAQ;GACRC,MAAM;GACNC,KAAK;GACLC,MAAM;GACNC,OAAO;GACPC,QAAQ;GACRC,SAAS;EACX;EACAZ,QAAQ;GACNa,MAAM;GACNC,OAAO;EACT;EACAb,SAAS;GACPY,MAAM;GACNC,OAAO;EACT;CACF;CACAC,iBAAiB;EACfhB,OAAO;EACPC,QAAQ;EACRC,SAAS;CACX;AACF,CAAC;AAED,SAAOe,OAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAhB;CAAA,IAAAiB;CAAA,IAAArB;CAAA,IAAAG;CAAA,IAAAmB;CAAA,IAAApB;CAAA,IAAAD;CAAA,IAAAsB;CAAA,IAAAJ,EAAA,OAAAD,IAAA;EAAgB,CAAA,CAAAf,WAAAH,OAAAE,SAAAD,QAAAG,UAAAiB,WAAAG,MAAAD,OAAAD,QAAAJ;EASfC,EAAA,KAAAD;EAAAC,EAAA,KAAAf;EAAAe,EAAA,KAAAE;EAAAF,EAAA,KAAAnB;EAAAmB,EAAA,KAAAhB;EAAAgB,EAAA,KAAAG;EAAAH,EAAA,KAAAjB;EAAAiB,EAAA,KAAAlB;EAAAkB,EAAA,KAAAI;CAAA,OAAA;EAAAnB,WAAAe,EAAA;EAAAE,YAAAF,EAAA;EAAAnB,QAAAmB,EAAA;EAAAhB,YAAAgB,EAAA;EAAAG,OAAAH,EAAA;EAAAjB,UAAAiB,EAAA;EAAAlB,SAAAkB,EAAA;EAAAI,KAAAJ,EAAA;CAAA;CAFN,MAAAK,OAAAD,OAAAE,KAAAA,IAAA,WAAAF;CAAe,IAAAG;CAAA,IAAAP,EAAA,OAAAE,aAAAF,EAAA,QAAAnB,SAAAmB,EAAA,QAAAjB,WAAAiB,EAAA,QAAAlB,QAAA;EAMAyB,KAAAhC,KAAKW,eAAe;GAAAL;GAAAE;GAAAD;EAAyB,CAAC,GAAGoB,SAAS;EAACF,EAAA,KAAAE;EAAAF,EAAA,MAAAnB;EAAAmB,EAAA,MAAAjB;EAAAiB,EAAA,MAAAlB;EAAAkB,EAAA,MAAAO;CAAA,OAAAA,KAAAP,EAAA;CAE1D,MAAAQ,KAAA3B,SAAA;CAAe,IAAA4B;CAAA,IAAAT,EAAA,QAAAf,YAAAe,EAAA,QAAAhB,aAAAgB,EAAA,QAAAG,QAAAH,EAAA,QAAAK,QAAAL,EAAA,QAAAO,MAAAP,EAAA,QAAAQ,IAAA;EAJ7BC,KAAA,oBAAA,OAAA;GACQJ;GACK,WAAAE;GACKvB,kBAAAA;GACJ,cAAAwB;GAAe,GACvBL;GAEHlB;EACG,CAAA;EAAAe,EAAA,MAAAf;EAAAe,EAAA,MAAAhB;EAAAgB,EAAA,MAAAG;EAAAH,EAAA,MAAAK;EAAAL,EAAA,MAAAO;EAAAP,EAAA,MAAAQ;EAAAR,EAAA,MAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,OARNS;AAQM"}
@@ -0,0 +1,180 @@
1
+ import { t as Slot } from "./slot-D8EJRq72.mjs";
2
+ import { c } from "react/compiler-runtime";
3
+ import { createContext, isValidElement, useContext, useId } from "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ //#region src/components/fields/ErrorsFormatterContext.ts
6
+ const ErrorsFormatterContext = createContext(void 0);
7
+ const ErrorsFormatterProvider = ErrorsFormatterContext.Provider;
8
+ function useErrorsFormatter() {
9
+ return useContext(ErrorsFormatterContext);
10
+ }
11
+ //#endregion
12
+ //#region src/components/fields/Field.tsx
13
+ function Field(t0) {
14
+ const $ = c(46);
15
+ const { label, hint, description, footerDescription, errors: rawErrors, warning, id: providedId, children, preventLayerShift: t1, "data-testid": dataTestId, className } = t0;
16
+ const preventLayerShift = t1 === void 0 ? true : t1;
17
+ const formatErrors = useErrorsFormatter();
18
+ let t2;
19
+ if ($[0] !== formatErrors || $[1] !== rawErrors) {
20
+ t2 = formatErrors ? formatErrors(rawErrors) : rawErrors;
21
+ $[0] = formatErrors;
22
+ $[1] = rawErrors;
23
+ $[2] = t2;
24
+ } else t2 = $[2];
25
+ const errors = t2;
26
+ const internalId = useId();
27
+ let t3;
28
+ if ($[3] !== children || $[4] !== internalId || $[5] !== providedId) {
29
+ t3 = isValidElement(children) ? children?.props.id : providedId ?? internalId;
30
+ $[3] = children;
31
+ $[4] = internalId;
32
+ $[5] = providedId;
33
+ $[6] = t3;
34
+ } else t3 = $[6];
35
+ const id = t3;
36
+ let t4;
37
+ if ($[7] !== label) {
38
+ t4 = label && /* @__PURE__ */ jsx("span", { children: label });
39
+ $[7] = label;
40
+ $[8] = t4;
41
+ } else t4 = $[8];
42
+ const labelElement = t4;
43
+ let t5;
44
+ if ($[9] !== hint) {
45
+ t5 = hint && /* @__PURE__ */ jsx("span", {
46
+ className: "text-body-sm text-gray-6",
47
+ children: hint
48
+ });
49
+ $[9] = hint;
50
+ $[10] = t5;
51
+ } else t5 = $[10];
52
+ const hintElement = t5;
53
+ let t6;
54
+ if ($[11] !== dataTestId || $[12] !== errors) {
55
+ t6 = errors && typeof errors !== "boolean" && /* @__PURE__ */ jsxs("span", {
56
+ className: "text-red-4 dark:text-red-2 font-medium",
57
+ "aria-live": "polite",
58
+ role: "status",
59
+ "data-testid": dataTestId ? `input-field/alert/${dataTestId}` : void 0,
60
+ children: [/* @__PURE__ */ jsx("i", { className: "fe-circle-exclamation" }), /* @__PURE__ */ jsx("span", { children: errors })]
61
+ });
62
+ $[11] = dataTestId;
63
+ $[12] = errors;
64
+ $[13] = t6;
65
+ } else t6 = $[13];
66
+ const errorsElement = t6;
67
+ let t7;
68
+ if ($[14] !== dataTestId || $[15] !== warning) {
69
+ t7 = warning && typeof warning !== "boolean" && /* @__PURE__ */ jsxs("span", {
70
+ className: "text-orange-4 dark:text-orange-2 font-medium",
71
+ "aria-live": "polite",
72
+ role: "status",
73
+ children: [/* @__PURE__ */ jsx("i", { className: "fe-circle-exclamation" }), /* @__PURE__ */ jsx("span", {
74
+ "data-testid": dataTestId ? `input-field/warning/${dataTestId}` : void 0,
75
+ children: warning
76
+ })]
77
+ });
78
+ $[14] = dataTestId;
79
+ $[15] = warning;
80
+ $[16] = t7;
81
+ } else t7 = $[16];
82
+ const warningElement = t7;
83
+ const color = errors ? "red" : warning ? "orange" : "yellow";
84
+ const showLabel = preventLayerShift || label || hint;
85
+ const showFooter = preventLayerShift || errorsElement || warningElement;
86
+ let t8;
87
+ if ($[17] !== dataTestId) {
88
+ t8 = dataTestId ? { "data-testid": `input-field-${dataTestId}` } : {};
89
+ $[17] = dataTestId;
90
+ $[18] = t8;
91
+ } else t8 = $[18];
92
+ const testIdProp = t8;
93
+ let t9;
94
+ if ($[19] !== hint || $[20] !== hintElement || $[21] !== id || $[22] !== label || $[23] !== labelElement || $[24] !== showLabel) {
95
+ t9 = showLabel && (label || hint ? /* @__PURE__ */ jsxs("label", {
96
+ className: "mb-1 flex flex-wrap items-center justify-between",
97
+ htmlFor: id,
98
+ children: [labelElement, hintElement]
99
+ }) : /* @__PURE__ */ jsx("label", {
100
+ htmlFor: id,
101
+ className: "invisible"
102
+ }));
103
+ $[19] = hint;
104
+ $[20] = hintElement;
105
+ $[21] = id;
106
+ $[22] = label;
107
+ $[23] = labelElement;
108
+ $[24] = showLabel;
109
+ $[25] = t9;
110
+ } else t9 = $[25];
111
+ let t10;
112
+ if ($[26] !== description) {
113
+ t10 = description && /* @__PURE__ */ jsx("div", {
114
+ className: "text-body-sm text-gray-6 mb-2",
115
+ children: description
116
+ });
117
+ $[26] = description;
118
+ $[27] = t10;
119
+ } else t10 = $[27];
120
+ let t11;
121
+ if ($[28] !== children || $[29] !== color || $[30] !== id) {
122
+ t11 = /* @__PURE__ */ jsx(Slot, {
123
+ id,
124
+ color,
125
+ children
126
+ });
127
+ $[28] = children;
128
+ $[29] = color;
129
+ $[30] = id;
130
+ $[31] = t11;
131
+ } else t11 = $[31];
132
+ let t12;
133
+ if ($[32] !== errorsElement || $[33] !== showFooter || $[34] !== warningElement) {
134
+ t12 = showFooter && /* @__PURE__ */ jsx("div", {
135
+ className: "text-body-sm text-gray-6 mt-1 min-h-5",
136
+ children: errorsElement || warningElement
137
+ });
138
+ $[32] = errorsElement;
139
+ $[33] = showFooter;
140
+ $[34] = warningElement;
141
+ $[35] = t12;
142
+ } else t12 = $[35];
143
+ let t13;
144
+ if ($[36] !== footerDescription) {
145
+ t13 = footerDescription && /* @__PURE__ */ jsx("div", {
146
+ className: "text-body-sm text-gray-6 mb-2",
147
+ children: footerDescription
148
+ });
149
+ $[36] = footerDescription;
150
+ $[37] = t13;
151
+ } else t13 = $[37];
152
+ let t14;
153
+ if ($[38] !== className || $[39] !== t10 || $[40] !== t11 || $[41] !== t12 || $[42] !== t13 || $[43] !== t9 || $[44] !== testIdProp) {
154
+ t14 = /* @__PURE__ */ jsxs("div", {
155
+ role: "group",
156
+ className,
157
+ ...testIdProp,
158
+ children: [
159
+ t9,
160
+ t10,
161
+ t11,
162
+ t12,
163
+ t13
164
+ ]
165
+ });
166
+ $[38] = className;
167
+ $[39] = t10;
168
+ $[40] = t11;
169
+ $[41] = t12;
170
+ $[42] = t13;
171
+ $[43] = t9;
172
+ $[44] = testIdProp;
173
+ $[45] = t14;
174
+ } else t14 = $[45];
175
+ return t14;
176
+ }
177
+ //#endregion
178
+ export { ErrorsFormatterProvider as n, useErrorsFormatter as r, Field as t };
179
+
180
+ //# sourceMappingURL=Field-C0LPMoF4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Field-C0LPMoF4.mjs","names":["createContext","ReactNode","useContext","ErrorsFormatter","errors","ErrorsFormatterContext","undefined","ErrorsFormatterProvider","Provider","useErrorsFormatter","isValidElement","ReactNode","useId","ThemeColor","Slot","useErrorsFormatter","FieldProps","label","hint","description","footerDescription","errors","warning","children","id","preventLayerShift","className","Field","t0","$","_c","rawErrors","providedId","t1","dataTestId","undefined","formatErrors","t2","internalId","t3","props","t4","labelElement","t5","hintElement","t6","errorsElement","t7","warningElement","color","showLabel","showFooter","t8","testIdProp","t9","t10","t11","t12","t13","t14"],"sources":["../src/components/fields/ErrorsFormatterContext.ts","../src/components/fields/Field.tsx"],"sourcesContent":["import { createContext, ReactNode, useContext } from \"react\";\n\nexport type ErrorsFormatter = (errors: ReactNode | boolean) => ReactNode | boolean;\n\nconst ErrorsFormatterContext = createContext<ErrorsFormatter | undefined>(undefined);\n\nexport const ErrorsFormatterProvider = ErrorsFormatterContext.Provider;\n\nexport function useErrorsFormatter() {\n return useContext(ErrorsFormatterContext);\n}\n","import { isValidElement, ReactNode, useId } from \"react\";\nimport { type ThemeColor } from \"../../types\";\nimport { Slot } from \"../slot\";\nimport { useErrorsFormatter } from \"./ErrorsFormatterContext\";\n\nexport interface FieldProps {\n label?: ReactNode;\n hint?: ReactNode;\n description?: ReactNode;\n footerDescription?: ReactNode;\n errors?: ReactNode | boolean;\n warning?: ReactNode | boolean;\n children: ReactNode;\n id?: string;\n preventLayerShift?: boolean;\n \"data-testid\"?: string;\n className?: string;\n}\n\nexport function Field({\n label,\n hint,\n description,\n footerDescription,\n errors: rawErrors,\n warning,\n id: providedId,\n children,\n preventLayerShift = true,\n \"data-testid\": dataTestId,\n className,\n}: FieldProps) {\n const formatErrors = useErrorsFormatter();\n const errors = formatErrors ? formatErrors(rawErrors) : rawErrors;\n const internalId = useId();\n const id = isValidElement<{ id?: string }>(children)\n ? children?.props.id\n : (providedId ?? internalId);\n\n const labelElement = label && <span>{label}</span>;\n const hintElement = hint && <span className=\"text-body-sm text-gray-6\">{hint}</span>;\n const errorsElement = errors && typeof errors !== \"boolean\" && (\n <span\n className=\"text-red-4 dark:text-red-2 font-medium\"\n aria-live=\"polite\"\n role=\"status\"\n data-testid={dataTestId ? `input-field/alert/${dataTestId}` : undefined}\n >\n <i className=\"fe-circle-exclamation\"></i>\n <span>{errors}</span>\n </span>\n );\n const warningElement = warning && typeof warning !== \"boolean\" && (\n <span className=\"text-orange-4 dark:text-orange-2 font-medium\" aria-live=\"polite\" role=\"status\">\n <i className=\"fe-circle-exclamation\"></i>\n <span data-testid={dataTestId ? `input-field/warning/${dataTestId}` : undefined}>\n {warning}\n </span>\n </span>\n );\n\n const color: ThemeColor = errors ? \"red\" : warning ? \"orange\" : \"yellow\";\n\n const showLabel = preventLayerShift || label || hint;\n const showFooter = preventLayerShift || errorsElement || warningElement;\n\n const testIdProp = dataTestId ? { \"data-testid\": `input-field-${dataTestId}` } : {};\n\n return (\n <div role=\"group\" className={className} {...testIdProp}>\n {showLabel &&\n (label || hint ? (\n <label className=\"mb-1 flex flex-wrap items-center justify-between\" htmlFor={id}>\n {labelElement}\n {hintElement}\n </label>\n ) : (\n <label htmlFor={id} className=\"invisible\"></label>\n ))}\n {description && <div className=\"text-body-sm text-gray-6 mb-2\">{description}</div>}\n <Slot id={id} color={color}>\n {children}\n </Slot>\n {showFooter && (\n <div className=\"text-body-sm text-gray-6 mt-1 min-h-5\">\n {errorsElement || warningElement}\n </div>\n )}\n {footerDescription && (\n <div className=\"text-body-sm text-gray-6 mb-2\">{footerDescription}</div>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;AAIA,MAAMK,yBAAyBL,cAA2CM,KAAAA,CAAS;AAEnF,MAAaC,0BAA0BF,uBAAuBG;AAE9D,SAAOC,qBAAA;CAAA,OACEP,WAAWG,sBAAsB;AAAC;;;ACU3C,SAAOsB,MAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAe,MAAA,EAAAb,OAAAC,MAAAC,aAAAC,mBAAAC,QAAAU,WAAAT,SAAAE,IAAAQ,YAAAT,UAAAE,mBAAAQ,IAAA,eAAAC,YAAAR,cAAAE;CASpB,MAAAH,oBAAAQ,OAAAE,KAAAA,IAAA,OAAAF;CAIA,MAAAG,eAAqBrB,mBAAmB;CAAE,IAAAsB;CAAA,IAAAR,EAAA,OAAAO,gBAAAP,EAAA,OAAAE,WAAA;EAC3BM,KAAAD,eAAeA,aAAaL,SAAqB,IAAjDA;EAAkDF,EAAA,KAAAO;EAAAP,EAAA,KAAAE;EAAAF,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAjE,MAAAR,SAAegB;CACf,MAAAC,aAAmB1B,MAAM;CAAE,IAAA2B;CAAA,IAAAV,EAAA,OAAAN,YAAAM,EAAA,OAAAS,cAAAT,EAAA,OAAAG,YAAA;EAChBO,KAAA7B,eAAgCa,QAEd,IADzBA,UAAQiB,MAAUhB,KACjBQ,cAAAM;EAAyBT,EAAA,KAAAN;EAAAM,EAAA,KAAAS;EAAAT,EAAA,KAAAG;EAAAH,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAF9B,MAAAL,KAAWe;CAEoB,IAAAE;CAAA,IAAAZ,EAAA,OAAAZ,OAAA;EAEVwB,KAAAxB,SAAS,oBAAA,QAAA,EAAA,UAAOA,MAAa,CAAA;EAAAY,EAAA,KAAAZ;EAAAY,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAlD,MAAAa,eAAqBD;CAA8B,IAAAE;CAAA,IAAAd,EAAA,OAAAX,MAAA;EAC/ByB,KAAAzB,QAAQ,oBAAA,QAAA;GAAgB,WAAA;aAA4BA;EAAY,CAAA;EAAAW,EAAA,KAAAX;EAAAW,EAAA,MAAAc;CAAA,OAAAA,KAAAd,EAAA;CAApF,MAAAe,cAAoBD;CAAiE,IAAAE;CAAA,IAAAhB,EAAA,QAAAK,cAAAL,EAAA,QAAAR,QAAA;EAC/DwB,KAAAxB,UAAU,OAAOA,WAAW,aAChD,qBAAA,QAAA;GACY,WAAA;GACA,aAAA;GACL,MAAA;GACQ,eAAAa,aAAA,qBAAkCA,eAAlCC,KAAAA;aAJf,CAME,oBAAA,KAAA,EAAa,WAAA,wBAAuB,CAAA,GACpC,oBAAA,QAAA,EAAA,UAAOd,OAAc,CAAA,CAChB;;EACRQ,EAAA,MAAAK;EAAAL,EAAA,MAAAR;EAAAQ,EAAA,MAAAgB;CAAA,OAAAA,KAAAhB,EAAA;CAVD,MAAAiB,gBAAsBD;CAUpB,IAAAE;CAAA,IAAAlB,EAAA,QAAAK,cAAAL,EAAA,QAAAP,SAAA;EACqByB,KAAAzB,WAAW,OAAOA,YAAY,aACnD,qBAAA,QAAA;GAAgB,WAAA;GAAyD,aAAA;GAAc,MAAA;aAAvF,CACE,oBAAA,KAAA,EAAa,WAAA,wBAAuB,CAAA,GACpC,oBAAA,QAAA;IAAmB,eAAAY,aAAA,uBAAoCA,eAApCC,KAAAA;cAChBb;GACI,CAAA,CACF;;EACRO,EAAA,MAAAK;EAAAL,EAAA,MAAAP;EAAAO,EAAA,MAAAkB;CAAA,OAAAA,KAAAlB,EAAA;CAPD,MAAAmB,iBAAuBD;CASvB,MAAAE,QAA0B5B,SAAA,QAAiBC,UAAA,WAAA;CAE3C,MAAA4B,YAAkBzB,qBAAAR,SAAAC;CAClB,MAAAiC,aAAmB1B,qBAAAqB,iBAAAE;CAAqD,IAAAI;CAAA,IAAAvB,EAAA,QAAAK,YAAA;EAErDkB,KAAAlB,aAAA,EAAA,eAA8B,eAAeA,aAAkB,IAA/D,CAA+D;EAACL,EAAA,MAAAK;EAAAL,EAAA,MAAAuB;CAAA,OAAAA,KAAAvB,EAAA;CAAnF,MAAAwB,aAAmBD;CAAiE,IAAAE;CAAA,IAAAzB,EAAA,QAAAX,QAAAW,EAAA,QAAAe,eAAAf,EAAA,QAAAL,MAAAK,EAAA,QAAAZ,SAAAY,EAAA,QAAAa,gBAAAb,EAAA,QAAAqB,WAAA;EAI/EI,KAAAJ,cACEjC,SAAAC,OACC,qBAAA,SAAA;GAAiB,WAAA;GAA4DM,SAAAA;aAA7E,CACGkB,cACAE,WACK;OAER,oBAAA,SAAA;GAAgBpB,SAAAA;GAAc,WAAA;EAAW,CAAA;EACzCK,EAAA,MAAAX;EAAAW,EAAA,MAAAe;EAAAf,EAAA,MAAAL;EAAAK,EAAA,MAAAZ;EAAAY,EAAA,MAAAa;EAAAb,EAAA,MAAAqB;EAAArB,EAAA,MAAAyB;CAAA,OAAAA,KAAAzB,EAAA;CAAA,IAAA0B;CAAA,IAAA1B,EAAA,QAAAV,aAAA;EACHoC,MAAApC,eAAe,oBAAA,OAAA;GAAe,WAAA;aAAiCA;EAAkB,CAAA;EAAAU,EAAA,MAAAV;EAAAU,EAAA,MAAA0B;CAAA,OAAAA,MAAA1B,EAAA;CAAA,IAAA2B;CAAA,IAAA3B,EAAA,QAAAN,YAAAM,EAAA,QAAAoB,SAAApB,EAAA,QAAAL,IAAA;EAClFgC,MAAA,oBAAC,MAAD;GAAUhC;GAAWyB;GAClB1B;EADE,CAAA;EAEEM,EAAA,MAAAN;EAAAM,EAAA,MAAAoB;EAAApB,EAAA,MAAAL;EAAAK,EAAA,MAAA2B;CAAA,OAAAA,MAAA3B,EAAA;CAAA,IAAA4B;CAAA,IAAA5B,EAAA,QAAAiB,iBAAAjB,EAAA,QAAAsB,cAAAtB,EAAA,QAAAmB,gBAAA;EACNS,MAAAN,cACC,oBAAA,OAAA;GAAe,WAAA;aACZL,iBAAAE;EACG,CAAA;EACPnB,EAAA,MAAAiB;EAAAjB,EAAA,MAAAsB;EAAAtB,EAAA,MAAAmB;EAAAnB,EAAA,MAAA4B;CAAA,OAAAA,MAAA5B,EAAA;CAAA,IAAA6B;CAAA,IAAA7B,EAAA,QAAAT,mBAAA;EACAsC,MAAAtC,qBACC,oBAAA,OAAA;GAAe,WAAA;aAAiCA;EAAwB,CAAA;EACzES,EAAA,MAAAT;EAAAS,EAAA,MAAA6B;CAAA,OAAAA,MAAA7B,EAAA;CAAA,IAAA8B;CAAA,IAAA9B,EAAA,QAAAH,aAAAG,EAAA,QAAA0B,OAAA1B,EAAA,QAAA2B,OAAA3B,EAAA,QAAA4B,OAAA5B,EAAA,QAAA6B,OAAA7B,EAAA,QAAAyB,MAAAzB,EAAA,QAAAwB,YAAA;EArBHM,MAAA,qBAAA,OAAA;GAAU,MAAA;GAAmBjC;GAAS,GAAM2B;aAA5C;IACGC;IASAC;IACDC;IAGCC;IAKAC;GAGG;;EAAA7B,EAAA,MAAAH;EAAAG,EAAA,MAAA0B;EAAA1B,EAAA,MAAA2B;EAAA3B,EAAA,MAAA4B;EAAA5B,EAAA,MAAA6B;EAAA7B,EAAA,MAAAyB;EAAAzB,EAAA,MAAAwB;EAAAxB,EAAA,MAAA8B;CAAA,OAAAA,MAAA9B,EAAA;CAAA,OAtBN8B;AAsBM"}
@@ -0,0 +1,19 @@
1
+ import { ReactNode } from "react";
2
+ //#region src/components/fields/Field.d.ts
3
+ interface FieldProps {
4
+ label?: ReactNode;
5
+ hint?: ReactNode;
6
+ description?: ReactNode;
7
+ footerDescription?: ReactNode;
8
+ errors?: ReactNode | boolean;
9
+ warning?: ReactNode | boolean;
10
+ children: ReactNode;
11
+ id?: string;
12
+ preventLayerShift?: boolean;
13
+ "data-testid"?: string;
14
+ className?: string;
15
+ }
16
+ declare function Field({ label, hint, description, footerDescription, errors: rawErrors, warning, id: providedId, children, preventLayerShift, "data-testid": dataTestId, className }: FieldProps): import("react").JSX.Element;
17
+ //#endregion
18
+ export { FieldProps as n, Field as t };
19
+ //# sourceMappingURL=Field-Cpsy6gP5.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Field-Cpsy6gP5.d.mts","names":[],"sources":["../src/components/fields/Field.tsx"],"mappings":";;UAKiB;EACf,QAAQ;EACR,OAAO;EACP,cAAc;EACd,oBAAoB;EACpB,SAAS;EACT,UAAU;EACV,UAAU;EACV;EACA;EACA;EACA;;iBAGc,QACd,OACA,MACA,aACA,mBACA,QAAQ,WACR,SACA,IAAI,YACJ,UACA,kCACe,YACf,aACC,6BAAU,IAAA"}
@@ -1,8 +1,7 @@
1
1
  import { c } from "react/compiler-runtime";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import clsx from "clsx";
4
-
5
- //#region src/components/input/Input.tsx
4
+ //#region src/components/fields/text/Input.tsx
6
5
  const sizeVariant = {
7
6
  small: "[--h-input:24px] h-(--h-input)",
8
7
  medium: "[--h-input:32px] h-(--h-input)",
@@ -168,7 +167,7 @@ function Input(t0) {
168
167
  } else t17 = $[48];
169
168
  return t17;
170
169
  }
171
-
172
170
  //#endregion
173
171
  export { inputConfig as n, sizeVariant as r, Input as t };
174
- //# sourceMappingURL=Input-DzDXg_MR.mjs.map
172
+
173
+ //# sourceMappingURL=Input-B9HNBGpq.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input-B9HNBGpq.mjs","names":["ComponentPropsWithRef","ReactNode","clsx","ThemeColor","InputProps","Omit","variant","disabled","prefix","suffix","color","size","flexibleWidth","children","inputClassName","sizeVariant","small","medium","large","custom","inputConfig","container","input","icon","Input","t0","$","_c","className","readOnly","ref","rest","t1","t2","t3","t4","t5","type","undefined","t6","t7","t8","t9","t10","t11","t12","t13","e","target","HTMLInputElement","select","t14","t15","t16","t17"],"sources":["../src/components/fields/text/Input.tsx"],"sourcesContent":["import { ComponentPropsWithRef, ReactNode } from \"react\";\nimport clsx from \"clsx\";\nimport type { ThemeColor } from \"../../../types\";\n\nexport interface InputProps extends Omit<ComponentPropsWithRef<\"input\">, \"prefix\" | \"size\"> {\n variant?: \"normal\" | \"ghost\";\n disabled?: boolean;\n prefix?: ReactNode;\n suffix?: ReactNode;\n color?: ThemeColor;\n size?: \"small\" | \"medium\" | \"large\" | \"custom\";\n flexibleWidth?: boolean;\n children?: ReactNode;\n inputClassName?: string;\n}\n\nexport const sizeVariant = {\n small: \"[--h-input:24px] h-(--h-input)\",\n medium: \"[--h-input:32px] h-(--h-input)\",\n large: \"[--h-input:48px] h-(--h-input)\",\n custom: \"\",\n};\n\nexport const inputConfig = {\n container: \"p8n-input-text rounded-full flex box-border\",\n input: \"h-full flex-1 appearance-none outline-hidden filter-none min-w-0 bg-transparent\",\n icon: \"[--h-icon:calc(var(--h-input)-2px)] h-(--h-icon) w-(--h-icon) inline-flex-center\",\n};\n\nexport function Input({\n variant = \"normal\",\n color = \"yellow\",\n disabled = false,\n prefix,\n suffix,\n className,\n inputClassName,\n readOnly,\n size = \"medium\",\n flexibleWidth = true,\n type,\n children,\n ref,\n ...rest\n}: InputProps) {\n return (\n <div\n aria-disabled={disabled}\n aria-readonly={readOnly}\n data-color={color}\n data-variant={variant}\n className={clsx(inputConfig.container, sizeVariant[size], className)}\n >\n {prefix && (\n <div\n className={clsx([\n \"flex-center relative\",\n typeof prefix === \"string\" && \"text-gray-6 mx-2 select-none\",\n ])}\n >\n {prefix}\n </div>\n )}\n <input\n type={type}\n ref={ref}\n className={clsx(\n inputConfig.input,\n size !== \"custom\" && !prefix && \"pl-4\",\n size !== \"custom\" && type !== \"date\" && type !== \"datetime-local\"\n ? !suffix && \"pr-4\"\n : \"pr-1\",\n flexibleWidth && \"w-0\",\n inputClassName,\n )}\n readOnly={readOnly}\n onClick={(e) => {\n if (readOnly) {\n (e.target as HTMLInputElement)?.select();\n }\n }}\n {...(disabled ? { disabled } : {})}\n {...rest}\n />\n {suffix && (\n <div\n className={clsx([\n \"flex-center relative\",\n typeof suffix === \"string\" && \"text-gray-6 mx-2 select-none\",\n ])}\n >\n {suffix}\n </div>\n )}\n {children}\n </div>\n );\n}\n"],"mappings":"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"}
@@ -2,7 +2,6 @@ import { c } from "react/compiler-runtime";
2
2
  import { useEffect, useRef, useState } from "react";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import clsx from "clsx";
5
-
6
5
  //#region src/components/scroll/Scroll.tsx
7
6
  const TOLERANCE = 5;
8
7
  const scrollVariants = {
@@ -79,7 +78,7 @@ function Scroll(t0) {
79
78
  useEffect(t3);
80
79
  let t4;
81
80
  if ($[9] !== setShadows) {
82
- t4 = function handleScroll$1(event) {
81
+ t4 = function handleScroll(event) {
83
82
  if (!scrollChildRef?.current) return;
84
83
  setShadows(event.currentTarget, scrollChildRef.current);
85
84
  };
@@ -173,7 +172,7 @@ function Scroll(t0) {
173
172
  } else t20 = $[37];
174
173
  return t20;
175
174
  }
176
-
177
175
  //#endregion
178
176
  export { Scroll as t };
179
- //# sourceMappingURL=Scroll-r_7u__g1.mjs.map
177
+
178
+ //# sourceMappingURL=Scroll-BSL6d8Ob.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Scroll-r_7u__g1.mjs","names":["ComponentPropsWithoutRef","useEffect","useRef","useState","clsx","TOLERANCE","Props","horizontal","scrollVariants","vertical","inner","shadow","shadowStart","shadowEnd","child","Scroll","t0","$","_c","children","className","rest","t1","undefined","showStartShadow","setShowStartShadow","showEndShadow","setShowEndShadow","scrollChildRef","scrollContainerRef","position","t2","container","containerRect","getBoundingClientRect","childRect","isOnStartEdge","left","top","isOnEndEdge","right","bottom","previousShowStartShadow","previousShowEndShadow","setShadows","t3","resizeObserver","ResizeObserver","current","observe","disconnect","t4","handleScroll","event","currentTarget","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20"],"sources":["../src/components/scroll/Scroll.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, useEffect, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\n\nconst TOLERANCE = 5;\n\ninterface Props extends ComponentPropsWithoutRef<\"div\"> {\n horizontal?: boolean;\n}\n\nexport const scrollVariants = {\n vertical: {\n inner: \"overflow-y-auto h-full\",\n shadow: \"h-1 left-0 right-0\",\n shadowStart: \"top-0 bg-linear-to-b from-gray-8/10\",\n shadowEnd: \"bottom-0 bg-linear-to-t from-gray-8/10\",\n child: \"\",\n },\n horizontal: {\n inner: \"overflow-x-auto\",\n shadow: \"w-1 top-0 bottom-0\",\n shadowStart: \"left-0 bg-linear-to-r from-gray-8/10\",\n shadowEnd: \"right-0 bg-linear-to-l from-gray-8/10\",\n child: \"inline-block\",\n },\n};\n\nexport function Scroll({ horizontal = false, className, children, ...rest }: Props) {\n const [showStartShadow, setShowStartShadow] = useState(false);\n const [showEndShadow, setShowEndShadow] = useState(false);\n const scrollChildRef = useRef<HTMLDivElement>(null);\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n\n const position = horizontal ? \"horizontal\" : \"vertical\";\n\n const setShadows = (container: HTMLDivElement | null, child: HTMLDivElement | null) => {\n if (!container || !child) {\n return;\n }\n\n const containerRect = container.getBoundingClientRect();\n\n const childRect = child.getBoundingClientRect();\n\n const isOnStartEdge = horizontal\n ? containerRect.left - childRect.left < TOLERANCE\n : containerRect.top - childRect.top < TOLERANCE;\n\n const isOnEndEdge = horizontal\n ? childRect.right - containerRect.right < TOLERANCE\n : childRect.bottom - containerRect.bottom < TOLERANCE;\n\n setShowStartShadow((previousShowStartShadow) =>\n isOnStartEdge === previousShowStartShadow\n ? !previousShowStartShadow\n : previousShowStartShadow,\n );\n\n setShowEndShadow((previousShowEndShadow) =>\n isOnEndEdge === previousShowEndShadow ? !previousShowEndShadow : previousShowEndShadow,\n );\n };\n\n useEffect(() => {\n const resizeObserver = new ResizeObserver(() => {\n setShadows(scrollContainerRef.current, scrollChildRef.current);\n });\n resizeObserver.observe(scrollChildRef.current!);\n resizeObserver.observe(scrollContainerRef.current!);\n\n return () => {\n resizeObserver.disconnect();\n };\n });\n\n function handleScroll(event: React.UIEvent<HTMLDivElement, UIEvent>) {\n if (!scrollChildRef?.current) {\n return;\n }\n setShadows(event.currentTarget, scrollChildRef.current);\n }\n\n return (\n <div className={clsx(\"ll-scroll-zone\", \"relative\", className)} {...rest}>\n <div\n className={clsx(\n \"scroll-shadow-sm absolute z-1 opacity-0 transition-all\",\n scrollVariants[position].shadow,\n scrollVariants[position].shadowStart,\n showStartShadow && \"opacity-100\",\n )}\n ></div>\n <div\n className={clsx(\n \"scroll-shadow-sm absolute z-1 opacity-0 transition-all\",\n scrollVariants[position].shadow,\n scrollVariants[position].shadowEnd,\n showEndShadow && \"opacity-100\",\n )}\n ></div>\n <div\n className={scrollVariants[position].inner}\n ref={scrollContainerRef}\n onScroll={handleScroll}\n >\n <div className={scrollVariants[position].child} ref={scrollChildRef}>\n {children}\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;AAGA,MAAMK,YAAY;AAMlB,MAAaG,iBAAiB;CAC5BC,UAAU;EACRC,OAAO;EACPC,QAAQ;EACRC,aAAa;EACbC,WAAW;EACXC,OAAO;EACR;CACDP,YAAY;EACVG,OAAO;EACPC,QAAQ;EACRC,aAAa;EACbC,WAAW;EACXC,OAAO;EACT;CACD;AAED,SAAOC,OAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;AAAA,KAAAL,EAAA,OAAAD,IAAA;AAAgB,GAAA,CAAAT,YAAAe,IAAAF,WAAAD,aAAAE,QAAAL;AAA2DC,IAAA,KAAAD;AAAAC,IAAA,KAAAE;AAAAF,IAAA,KAAAG;AAAAH,IAAA,KAAAI;AAAAJ,IAAA,KAAAK;QAAA;AAAAH,aAAAF,EAAA;AAAAG,cAAAH,EAAA;AAAAI,SAAAJ,EAAA;AAAAK,OAAAL,EAAA;;CAAzD,MAAAV,aAAAe,OAAAC,SAAA,QAAAD;CACvB,MAAA,CAAAE,iBAAAC,sBAA8CtB,SAAS,MAAM;CAC7D,MAAA,CAAAuB,eAAAC,oBAA0CxB,SAAS,MAAM;CACzD,MAAAyB,iBAAuB1B,OAAuB,KAAK;CACnD,MAAA2B,qBAA2B3B,OAAuB,KAAK;CAEvD,MAAA4B,WAAiBvB,aAAA,eAAA;CAAuC,IAAAwB;AAAA,KAAAd,EAAA,OAAAV,YAAA;AAErCwB,QAAAC,WAAAlB,UAAA;AACjB,OAAI,CAACkB,aAAD,CAAelB,MAAK;GAIxB,MAAAmB,gBAAsBD,UAASE,uBAAwB;GAEvD,MAAAC,YAAkBrB,MAAKoB,uBAAwB;GAE/C,MAAAE,gBAAsB7B,aAClB0B,cAAaI,OAAQF,UAASE,OAAQhC,YACtC4B,cAAaK,MAAOH,UAASG,MAAOjC;GAExC,MAAAkC,cAAoBhC,aAChB4B,UAASK,QAASP,cAAaO,QAASnC,YACxC8B,UAASM,SAAUR,cAAaQ,SAAUpC;AAE9CoB,uBAAmBiB,4BACjBN,kBAAkBM,0BAAlB,CACKA,0BADLA,wBAGD;AAEDf,qBAAiBgB,0BACfJ,gBAAgBI,wBAAhB,CAAyCA,wBAAzCA,sBACD;;AACF1B,IAAA,KAAAV;AAAAU,IAAA,KAAAc;OAAAA,MAAAd,EAAA;CA1BD,MAAA2B,aAAmBb;CA0BjB,IAAAc;AAAA,KAAA5B,EAAA,OAAA2B,YAAA;AAEQC,aAAA;GACR,MAAAC,iBAAuB,IAAIC,qBAAe;AACxCH,eAAWf,mBAAkBmB,SAAUpB,eAAcoB,QAAS;KAC9D;AACFF,kBAAcG,QAASrB,eAAcoB,QAAU;AAC/CF,kBAAcG,QAASpB,mBAAkBmB,QAAU;AAAA,gBAE5C;AACLF,mBAAcI,YAAa;;;AAE9BjC,IAAA,KAAA2B;AAAA3B,IAAA,KAAA4B;OAAAA,MAAA5B,EAAA;AAVDhB,WAAU4C,GAUR;CAAA,IAAAM;AAAA,KAAAlC,EAAA,OAAA2B,YAAA;AAEFO,OAAA,SAAAC,eAAAC,OAAA;AACE,OAAI,CAACzB,gBAAcoB,QAAS;AAG5BJ,cAAWS,MAAKC,eAAgB1B,eAAcoB,QAAS;;AACxD/B,IAAA,KAAA2B;AAAA3B,IAAA,MAAAkC;OAAAA,MAAAlC,EAAA;CALD,MAAAmC,eAAAD;CAKC,IAAAI;AAAA,KAAAtC,EAAA,QAAAG,WAAA;AAGiBmC,OAAAnD,KAAK,kBAAkB,YAAYgB,UAAU;AAAAH,IAAA,MAAAG;AAAAH,IAAA,MAAAsC;OAAAA,MAAAtC,EAAA;CAIvD,MAAAuC,KAAAhD,eAAesB;CACf,MAAA2B,KAAAjD,eAAesB;CACf,MAAA4B,KAAAlC,mBAAA;CAAgC,IAAAmC;AAAA,KAAA1C,EAAA,QAAAuC,GAAA7C,UAAAM,EAAA,QAAAwC,GAAA7C,eAAAK,EAAA,QAAAyC,IAAA;AAJvBC,OAAAvD,KACT,0DACAoD,GAAwB7C,QACxB8C,GAAwB7C,aACxB8C,GACD;AAAAzC,IAAA,MAAAuC,GAAA7C;AAAAM,IAAA,MAAAwC,GAAA7C;AAAAK,IAAA,MAAAyC;AAAAzC,IAAA,MAAA0C;OAAAA,MAAA1C,EAAA;CAAA,IAAA2C;AAAA,KAAA3C,EAAA,QAAA0C,IAAA;AANHC,QAAA,oBAAA,SACa,WAAAD,KAMN;AAAA1C,IAAA,MAAA0C;AAAA1C,IAAA,MAAA2C;OAAAA,OAAA3C,EAAA;CAIH,MAAA4C,MAAArD,eAAesB;CACf,MAAAgC,MAAAtD,eAAesB;CACf,MAAAiC,MAAArC,iBAAA;CAA8B,IAAAsC;AAAA,KAAA/C,EAAA,QAAA4C,IAAAlD,UAAAM,EAAA,QAAA6C,IAAAjD,aAAAI,EAAA,QAAA8C,KAAA;AAJrBC,QAAA5D,KACT,0DACAyD,IAAwBlD,QACxBmD,IAAwBjD,WACxBkD,IACD;AAAA9C,IAAA,MAAA4C,IAAAlD;AAAAM,IAAA,MAAA6C,IAAAjD;AAAAI,IAAA,MAAA8C;AAAA9C,IAAA,MAAA+C;OAAAA,OAAA/C,EAAA;CAAA,IAAAgD;AAAA,KAAAhD,EAAA,QAAA+C,KAAA;AANHC,QAAA,oBAAA,SACa,WAAAD,MAMN;AAAA/C,IAAA,MAAA+C;AAAA/C,IAAA,MAAAgD;OAAAA,OAAAhD,EAAA;CAEM,MAAAiD,MAAA1D,eAAesB;CAIV,MAAAqC,MAAA3D,eAAesB;CAAS,IAAAsC;AAAA,KAAAnD,EAAA,QAAAE,YAAAF,EAAA,QAAAkD,IAAArD,OAAA;AAAxCsD,QAAA,oBAAA;GAAgB,WAAAD,IAAwBrD;GAAac,KAAAA;GAClDT;IACG;AAAAF,IAAA,MAAAE;AAAAF,IAAA,MAAAkD,IAAArD;AAAAG,IAAA,MAAAmD;OAAAA,OAAAnD,EAAA;CAAA,IAAAoD;AAAA,KAAApD,EAAA,QAAAmC,gBAAAnC,EAAA,QAAAiD,IAAAxD,SAAAO,EAAA,QAAAmD,KAAA;AAPRC,QAAA,oBAAA;GACa,WAAAH,IAAwBxD;GAC9BmB,KAAAA;GACKuB,UAAAA;aAEVgB;IAGI;AAAAnD,IAAA,MAAAmC;AAAAnC,IAAA,MAAAiD,IAAAxD;AAAAO,IAAA,MAAAmD;AAAAnD,IAAA,MAAAoD;OAAAA,OAAApD,EAAA;CAAA,IAAAqD;AAAA,KAAArD,EAAA,QAAAI,QAAAJ,EAAA,QAAA2C,OAAA3C,EAAA,QAAAgD,OAAAhD,EAAA,QAAAoD,OAAApD,EAAA,QAAAsC,IAAA;AAzBRe,QAAA,qBAAA;GAAgB,WAAAf;GAA6C,GAAMlC;;IACjEuC;IAQAK;IAQAI;;IASI;AAAApD,IAAA,MAAAI;AAAAJ,IAAA,MAAA2C;AAAA3C,IAAA,MAAAgD;AAAAhD,IAAA,MAAAoD;AAAApD,IAAA,MAAAsC;AAAAtC,IAAA,MAAAqD;OAAAA,OAAArD,EAAA;AAAA,QA1BNqD"}
1
+ {"version":3,"file":"Scroll-BSL6d8Ob.mjs","names":["ComponentPropsWithoutRef","useEffect","useRef","useState","clsx","TOLERANCE","Props","horizontal","scrollVariants","vertical","inner","shadow","shadowStart","shadowEnd","child","Scroll","t0","$","_c","children","className","rest","t1","undefined","showStartShadow","setShowStartShadow","showEndShadow","setShowEndShadow","scrollChildRef","scrollContainerRef","position","t2","container","containerRect","getBoundingClientRect","childRect","isOnStartEdge","left","top","isOnEndEdge","right","bottom","previousShowStartShadow","previousShowEndShadow","setShadows","t3","resizeObserver","ResizeObserver","current","observe","disconnect","t4","handleScroll","event","currentTarget","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20"],"sources":["../src/components/scroll/Scroll.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, useEffect, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\n\nconst TOLERANCE = 5;\n\ninterface Props extends ComponentPropsWithoutRef<\"div\"> {\n horizontal?: boolean;\n}\n\nexport const scrollVariants = {\n vertical: {\n inner: \"overflow-y-auto h-full\",\n shadow: \"h-1 left-0 right-0\",\n shadowStart: \"top-0 bg-linear-to-b from-gray-8/10\",\n shadowEnd: \"bottom-0 bg-linear-to-t from-gray-8/10\",\n child: \"\",\n },\n horizontal: {\n inner: \"overflow-x-auto\",\n shadow: \"w-1 top-0 bottom-0\",\n shadowStart: \"left-0 bg-linear-to-r from-gray-8/10\",\n shadowEnd: \"right-0 bg-linear-to-l from-gray-8/10\",\n child: \"inline-block\",\n },\n};\n\nexport function Scroll({ horizontal = false, className, children, ...rest }: Props) {\n const [showStartShadow, setShowStartShadow] = useState(false);\n const [showEndShadow, setShowEndShadow] = useState(false);\n const scrollChildRef = useRef<HTMLDivElement>(null);\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n\n const position = horizontal ? \"horizontal\" : \"vertical\";\n\n const setShadows = (container: HTMLDivElement | null, child: HTMLDivElement | null) => {\n if (!container || !child) {\n return;\n }\n\n const containerRect = container.getBoundingClientRect();\n\n const childRect = child.getBoundingClientRect();\n\n const isOnStartEdge = horizontal\n ? containerRect.left - childRect.left < TOLERANCE\n : containerRect.top - childRect.top < TOLERANCE;\n\n const isOnEndEdge = horizontal\n ? childRect.right - containerRect.right < TOLERANCE\n : childRect.bottom - containerRect.bottom < TOLERANCE;\n\n setShowStartShadow((previousShowStartShadow) =>\n isOnStartEdge === previousShowStartShadow\n ? !previousShowStartShadow\n : previousShowStartShadow,\n );\n\n setShowEndShadow((previousShowEndShadow) =>\n isOnEndEdge === previousShowEndShadow ? !previousShowEndShadow : previousShowEndShadow,\n );\n };\n\n useEffect(() => {\n const resizeObserver = new ResizeObserver(() => {\n setShadows(scrollContainerRef.current, scrollChildRef.current);\n });\n resizeObserver.observe(scrollChildRef.current!);\n resizeObserver.observe(scrollContainerRef.current!);\n\n return () => {\n resizeObserver.disconnect();\n };\n });\n\n function handleScroll(event: React.UIEvent<HTMLDivElement, UIEvent>) {\n if (!scrollChildRef?.current) {\n return;\n }\n setShadows(event.currentTarget, scrollChildRef.current);\n }\n\n return (\n <div className={clsx(\"ll-scroll-zone\", \"relative\", className)} {...rest}>\n <div\n className={clsx(\n \"scroll-shadow-sm absolute z-1 opacity-0 transition-all\",\n scrollVariants[position].shadow,\n scrollVariants[position].shadowStart,\n showStartShadow && \"opacity-100\",\n )}\n ></div>\n <div\n className={clsx(\n \"scroll-shadow-sm absolute z-1 opacity-0 transition-all\",\n scrollVariants[position].shadow,\n scrollVariants[position].shadowEnd,\n showEndShadow && \"opacity-100\",\n )}\n ></div>\n <div\n className={scrollVariants[position].inner}\n ref={scrollContainerRef}\n onScroll={handleScroll}\n >\n <div className={scrollVariants[position].child} ref={scrollChildRef}>\n {children}\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -1,12 +1,13 @@
1
- import { d as useEffectEvent } from "./hooks-DhLPp5ev.mjs";
2
- import { t as Loader } from "./loader-YlJGMiNg.mjs";
3
- import { t as Button } from "./Button-BH3EFgdP.mjs";
4
- import { t as Dialog } from "./Dialog-CriZOfkd.mjs";
1
+ import { f as useEffectEvent } from "./hooks-CBijm9RA.mjs";
2
+ import { t as Loader } from "./loader-csj5qb99.mjs";
3
+ import { t as Button } from "./Button-CL7xvvey.mjs";
4
+ import "./button-tAEodFUL.mjs";
5
+ import { t as Dialog } from "./Dialog-DeQv8OeS.mjs";
6
+ import "./components/dialog/index.mjs";
5
7
  import { c } from "react/compiler-runtime";
6
8
  import { useEffect } from "react";
7
9
  import { jsx, jsxs } from "react/jsx-runtime";
8
10
  import clsx from "clsx";
9
-
10
11
  //#region src/components/snack/Snack.tsx
11
12
  function Snack(t0) {
12
13
  const $ = c(20);
@@ -105,7 +106,7 @@ function Snack(t0) {
105
106
  return t15;
106
107
  }
107
108
  function _temp() {}
108
-
109
109
  //#endregion
110
110
  export { Snack as t };
111
- //# sourceMappingURL=Snack-3FOmPHKW.mjs.map
111
+
112
+ //# sourceMappingURL=Snack-B1Fa9Ofb.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Snack-B1Fa9Ofb.mjs","names":["clsx","useEffect","Button","useEffectEvent","Dialog","Loader","Message","SnackProps","Partial","onRemove","Snack","t0","$","_c","expiration","t1","content","t2","color","t3","withLoader","t4","canClose","t5","t6","undefined","_temp","onRemoveStable","t7","t8","timeoutId","setTimeout","clearTimeout","t9","Symbol","for","t10","t11","t12","t13","t14","t15"],"sources":["../src/components/snack/Snack.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { useEffect } from \"react\";\n\nimport { Button } from \"../button\";\nimport { useEffectEvent } from \"../../hooks\";\nimport { Dialog } from \"../dialog\";\nimport { Loader } from \"../loader\";\nimport { Message } from \"../../types\";\n\nexport type SnackProps = Partial<Message> & {\n onRemove?: () => void;\n};\n\nexport function Snack({\n expiration = 5000,\n content = \"\",\n color = \"yellow\",\n withLoader = false,\n canClose = false,\n onRemove = () => {},\n}: SnackProps) {\n const onRemoveStable = useEffectEvent(onRemove);\n\n useEffect(() => {\n if (expiration === -1) {\n return;\n }\n\n const timeoutId = setTimeout(() => onRemoveStable(), expiration);\n return () => void clearTimeout(timeoutId);\n }, [onRemoveStable, expiration]);\n\n return (\n <Dialog\n className={clsx(\"motion-safe:animate-fade-in pointer-events-auto\", \"ll-snack\")}\n placement=\"top\"\n color={color}\n role={color !== \"red\" ? \"status\" : \"alertdialog\"}\n >\n <div className=\"flex w-fit min-w-60 items-center px-2 py-1\">\n <span className=\"flex-1 pr-4\">{content}</span>\n {withLoader && <Loader size=\"small\" color=\"gray\" />}\n\n {canClose && (\n <Button icon variant=\"text\" color=\"gray\" onClick={onRemove}>\n <i className=\"fe-cancel\"></i>\n </Button>\n )}\n </div>\n </Dialog>\n );\n}\n"],"mappings":"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"}