@powerhousedao/design-system 6.2.3-dev.7 → 6.2.3-dev.71

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 (405) hide show
  1. package/dist/PinFilled-cSbUqZCA.js +41 -0
  2. package/dist/PinFilled-cSbUqZCA.js.map +1 -0
  3. package/dist/{Removed-CO_5C1ce.js → Removed-OP4eTrAN.js} +1 -1
  4. package/dist/{Removed-CO_5C1ce.js.map → Removed-OP4eTrAN.js.map} +1 -1
  5. package/dist/{Tabler-FjvVqX5a.js → Tabler-rjLxlzUV.js} +1 -1
  6. package/dist/{Tabler-FjvVqX5a.js.map → Tabler-rjLxlzUV.js.map} +1 -1
  7. package/dist/add-local-drive-form.impl-xsC6R634.js +75 -0
  8. package/dist/add-local-drive-form.impl-xsC6R634.js.map +1 -0
  9. package/dist/add-remote-drive-form.impl-B2DxdWGF.js +114 -0
  10. package/dist/add-remote-drive-form.impl-B2DxdWGF.js.map +1 -0
  11. package/dist/address-DfZqD6IM.js +92 -0
  12. package/dist/address-DfZqD6IM.js.map +1 -0
  13. package/dist/button-BYcXvZXr.d.ts +13 -0
  14. package/dist/button-BYcXvZXr.d.ts.map +1 -0
  15. package/dist/{character-counter-BWoglM2P.d.ts → character-counter-BZmZZCHN.d.ts} +2 -1
  16. package/dist/character-counter-BZmZZCHN.d.ts.map +1 -0
  17. package/dist/{checkbox-CGBtXQnI.d.ts → checkbox-BIhO-KB2.d.ts} +4 -4
  18. package/dist/checkbox-BIhO-KB2.d.ts.map +1 -0
  19. package/dist/{checkbox-base-CZo-4eL0.d.ts → checkbox-base-Bm0GPWgm.d.ts} +2 -2
  20. package/dist/checkbox-base-Bm0GPWgm.d.ts.map +1 -0
  21. package/dist/combobox.impl-EqgAawKJ.js +144 -0
  22. package/dist/combobox.impl-EqgAawKJ.js.map +1 -0
  23. package/dist/{command-tFzjgzge.d.ts → command-DHHTsHfH.d.ts} +5 -5
  24. package/dist/command-DHHTsHfH.d.ts.map +1 -0
  25. package/dist/connect/components/toast/toast.d.ts +8 -10
  26. package/dist/connect/components/toast/toast.d.ts.map +1 -1
  27. package/dist/connect/components/toast/toast.js +4 -4
  28. package/dist/connect/components/toast/toast.js.map +1 -1
  29. package/dist/connect/index.d.ts +514 -364
  30. package/dist/connect/index.d.ts.map +1 -1
  31. package/dist/connect/index.js +963 -1605
  32. package/dist/connect/index.js.map +1 -1
  33. package/dist/{content-BHWIqmio.d.ts → content-Ch3oDYCL.d.ts} +3 -3
  34. package/dist/content-Ch3oDYCL.d.ts.map +1 -0
  35. package/dist/default-editor.impl-a6EOuEme.js +30 -0
  36. package/dist/default-editor.impl-a6EOuEme.js.map +1 -0
  37. package/dist/document-timeline.impl-CCkyXpt5.js +254 -0
  38. package/dist/document-timeline.impl-CCkyXpt5.js.map +1 -0
  39. package/dist/drive-settings-form.impl-Bwam9-CG.js +171 -0
  40. package/dist/drive-settings-form.impl-Bwam9-CG.js.map +1 -0
  41. package/dist/{enum-field-CwZVs3Ux.d.ts → enum-field-DsyC0ml7.d.ts} +4 -4
  42. package/dist/enum-field-DsyC0ml7.d.ts.map +1 -0
  43. package/dist/{form-CKRKn0TQ.d.ts → form-Brj5AQNr.d.ts} +3 -4
  44. package/dist/form-Brj5AQNr.d.ts.map +1 -0
  45. package/dist/{form-description-CYkcMEzm.d.ts → form-description-DJrDJzJi.d.ts} +2 -1
  46. package/dist/form-description-DJrDJzJi.d.ts.map +1 -0
  47. package/dist/{form-group-C8kL6pdZ.d.ts → form-group-Ckd28lpW.d.ts} +2 -1
  48. package/dist/form-group-Ckd28lpW.d.ts.map +1 -0
  49. package/dist/{form-label-b6nQi0XO.d.ts → form-label-C8ghd_lR.d.ts} +2 -1
  50. package/dist/form-label-C8ghd_lR.d.ts.map +1 -0
  51. package/dist/{form-message-Dq72nBXz.d.ts → form-message-CnKUkvlj.d.ts} +2 -1
  52. package/dist/form-message-CnKUkvlj.d.ts.map +1 -0
  53. package/dist/form-server-error-message-D2tFtDZ0.d.ts +6 -0
  54. package/dist/form-server-error-message-D2tFtDZ0.d.ts.map +1 -0
  55. package/dist/formatted-json-viewer.impl-DadZ5uvb.js +58 -0
  56. package/dist/formatted-json-viewer.impl-DadZ5uvb.js.map +1 -0
  57. package/dist/icon-CHR45tj_.js +358 -0
  58. package/dist/icon-CHR45tj_.js.map +1 -0
  59. package/dist/{icon-C4QOpsdI.js → icon-components-CJ4I3Y6Y.js} +7 -481
  60. package/dist/icon-components-CJ4I3Y6Y.js.map +1 -0
  61. package/dist/{id-autocomplete-C-hwriS5.d.ts → id-autocomplete-Cr7p129s.d.ts} +3 -3
  62. package/dist/id-autocomplete-Cr7p129s.d.ts.map +1 -0
  63. package/dist/{id-autocomplete-input-container-DFEyPh5p.d.ts → id-autocomplete-input-container-iTw9wYZn.d.ts} +3 -3
  64. package/dist/id-autocomplete-input-container-iTw9wYZn.d.ts.map +1 -0
  65. package/dist/{id-autocomplete-list-EzLpF23C.d.ts → id-autocomplete-list-BIC3RxOp.d.ts} +3 -3
  66. package/dist/id-autocomplete-list-BIC3RxOp.d.ts.map +1 -0
  67. package/dist/{id-autocomplete-list-option-CB5B07Hi.d.ts → id-autocomplete-list-option-DlpZer-2.d.ts} +4 -3
  68. package/dist/id-autocomplete-list-option-DlpZer-2.d.ts.map +1 -0
  69. package/dist/index-C-Tup7Br.d.ts +4 -0
  70. package/dist/{index--hDSfvJT.d.ts → index-Ck34z7kD.d.ts} +23 -59
  71. package/dist/index-Ck34z7kD.d.ts.map +1 -0
  72. package/dist/index-D6Zk5OLV.d.ts +4 -0
  73. package/dist/index-Ds9-qjjC.d.ts +30 -0
  74. package/dist/index-jfVVOU-H.d.ts +2 -0
  75. package/dist/index.d.ts +5 -3
  76. package/dist/index.js +2 -2
  77. package/dist/{input-BpEQjaWV.d.ts → input-WDvjJFqf.d.ts} +2 -2
  78. package/dist/input-WDvjJFqf.d.ts.map +1 -0
  79. package/dist/json-viewer-Kg0IBIt-.d.ts +7 -0
  80. package/dist/json-viewer-Kg0IBIt-.d.ts.map +1 -0
  81. package/dist/label-nH2HoKfI.js +15 -0
  82. package/dist/label-nH2HoKfI.js.map +1 -0
  83. package/dist/location-info-C3YbSsV0.js +47 -0
  84. package/dist/location-info-C3YbSsV0.js.map +1 -0
  85. package/dist/{message-list-C4mPpBBa.d.ts → message-list-D8d2ltLd.d.ts} +3 -3
  86. package/dist/message-list-D8d2ltLd.d.ts.map +1 -0
  87. package/dist/{popover-XSBOuSih.d.ts → popover-TvQxa0RU.d.ts} +2 -2
  88. package/dist/popover-TvQxa0RU.d.ts.map +1 -0
  89. package/dist/{radio-eL0Oy86J.d.ts → radio-CTS4WsNy.d.ts} +2 -2
  90. package/dist/radio-CTS4WsNy.d.ts.map +1 -0
  91. package/dist/{radio-group-Bkli6nUz.d.ts → radio-group-CROIwgYz.d.ts} +2 -2
  92. package/dist/radio-group-CROIwgYz.d.ts.map +1 -0
  93. package/dist/{radio-group-field-wlqeiLN3.d.ts → radio-group-field-0-cC_e65.d.ts} +5 -6
  94. package/dist/radio-group-field-0-cC_e65.d.ts.map +1 -0
  95. package/dist/revision-history.impl-CrtSnhXQ.js +642 -0
  96. package/dist/revision-history.impl-CrtSnhXQ.js.map +1 -0
  97. package/dist/{search-autocomplete-BJJkrZ1i.d.ts → search-autocomplete-COvFRZIb.d.ts} +3 -3
  98. package/dist/search-autocomplete-COvFRZIb.d.ts.map +1 -0
  99. package/dist/{select-field-C97QIhUL.d.ts → select-field-VZPf666l.d.ts} +5 -5
  100. package/dist/select-field-VZPf666l.d.ts.map +1 -0
  101. package/dist/{selected-content-CGsK5PR4.d.ts → selected-content-D6NWiceG.d.ts} +3 -3
  102. package/dist/selected-content-D6NWiceG.d.ts.map +1 -0
  103. package/dist/{sidebar-DOoE4krt.d.ts → sidebar-DFqreKf1.d.ts} +3 -3
  104. package/dist/sidebar-DFqreKf1.d.ts.map +1 -0
  105. package/dist/{sidebar-provider-C2eyz9TL.d.ts → sidebar-provider-CZHhqW5n.d.ts} +4 -8
  106. package/dist/sidebar-provider-CZHhqW5n.d.ts.map +1 -0
  107. package/dist/splitted-input-diff-Bkoi0Odc.d.ts +11 -0
  108. package/dist/splitted-input-diff-Bkoi0Odc.d.ts.map +1 -0
  109. package/dist/{src-CVV6HzQZ.js → src-CohvVFnR.js} +178 -22
  110. package/dist/src-CohvVFnR.js.map +1 -0
  111. package/dist/style.css +3 -6
  112. package/dist/text-field-CDYSwanK.d.ts +9 -0
  113. package/dist/text-field-CDYSwanK.d.ts.map +1 -0
  114. package/dist/{text-input-8zXIWHLi.d.ts → text-input-CFRCPYq6.d.ts} +5 -6
  115. package/dist/text-input-CFRCPYq6.d.ts.map +1 -0
  116. package/dist/text-input-diff-BgJAxPQV.d.ts +12 -0
  117. package/dist/text-input-diff-BgJAxPQV.d.ts.map +1 -0
  118. package/dist/{tooltip-BxS9HpML.d.ts → tooltip-B4uQJPUm.d.ts} +3 -4
  119. package/dist/tooltip-B4uQJPUm.d.ts.map +1 -0
  120. package/dist/{types-Bsn62tJB.d.ts → types-BNTIrhb5.d.ts} +2 -1
  121. package/dist/types-BNTIrhb5.d.ts.map +1 -0
  122. package/dist/{types-BTq-St7H.d.ts → types-CpFPFB1a.d.ts} +2 -1
  123. package/dist/types-CpFPFB1a.d.ts.map +1 -0
  124. package/dist/{types-C04Q_Fan.d.ts → types-D4CirgNk.d.ts} +2 -2
  125. package/dist/types-D4CirgNk.d.ts.map +1 -0
  126. package/dist/{types-CNbvfWjh.d.ts → types-FTqFl5du.d.ts} +3 -3
  127. package/dist/types-FTqFl5du.d.ts.map +1 -0
  128. package/dist/types-TZijOYrE.d.ts +17 -0
  129. package/dist/types-TZijOYrE.d.ts.map +1 -0
  130. package/dist/ui/components/button/button.d.ts +3 -2
  131. package/dist/ui/components/button/button.js +1 -1
  132. package/dist/ui/components/button/button.js.map +1 -1
  133. package/dist/ui/components/character-counter/character-counter.d.ts +3 -2
  134. package/dist/ui/components/character-counter/character-counter.js.map +1 -1
  135. package/dist/ui/components/checkbox/checkbox-base.d.ts +3 -2
  136. package/dist/ui/components/checkbox/checkbox-base.js +1 -1
  137. package/dist/ui/components/checkbox/checkbox-base.js.map +1 -1
  138. package/dist/ui/components/checkbox/checkbox.d.ts +3 -2
  139. package/dist/ui/components/checkbox/checkbox.js +1 -1
  140. package/dist/ui/components/checkbox/checkbox.js.map +1 -1
  141. package/dist/ui/components/command/command.d.ts +3 -2
  142. package/dist/ui/components/command/command.js +8 -8
  143. package/dist/ui/components/command/command.js.map +1 -1
  144. package/dist/ui/components/enum-field/enum-field.d.ts +3 -2
  145. package/dist/ui/components/enum-field/enum-field.js +1 -1
  146. package/dist/ui/components/enum-field/enum-field.js.map +1 -1
  147. package/dist/ui/components/enum-field/types.d.ts +3 -2
  148. package/dist/ui/components/form/form.d.ts +3 -2
  149. package/dist/ui/components/form/form.js +1 -1
  150. package/dist/ui/components/form/form.js.map +1 -1
  151. package/dist/ui/components/form/utils.d.ts +4 -4
  152. package/dist/ui/components/form/utils.d.ts.map +1 -1
  153. package/dist/ui/components/form/utils.js.map +1 -1
  154. package/dist/ui/components/form-description/form-description.d.ts +3 -2
  155. package/dist/ui/components/form-description/form-description.js.map +1 -1
  156. package/dist/ui/components/form-group/form-group.d.ts +3 -2
  157. package/dist/ui/components/form-group/form-group.js.map +1 -1
  158. package/dist/ui/components/form-label/form-label.d.ts +3 -2
  159. package/dist/ui/components/form-label/form-label.js +3 -2
  160. package/dist/ui/components/form-label/form-label.js.map +1 -1
  161. package/dist/ui/components/form-message/form-message.d.ts +3 -2
  162. package/dist/ui/components/form-message/form-message.js.map +1 -1
  163. package/dist/ui/components/form-message/form-server-error-message.d.ts +3 -2
  164. package/dist/ui/components/form-message/form-server-error-message.js.map +1 -1
  165. package/dist/ui/components/form-message/message-list.d.ts +3 -2
  166. package/dist/ui/components/form-message/message-list.js.map +1 -1
  167. package/dist/ui/components/id-autocomplete/id-autocomplete-context.d.ts +3 -5
  168. package/dist/ui/components/id-autocomplete/id-autocomplete-context.d.ts.map +1 -1
  169. package/dist/ui/components/id-autocomplete/id-autocomplete-context.js +1 -1
  170. package/dist/ui/components/id-autocomplete/id-autocomplete-context.js.map +1 -1
  171. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.d.ts +3 -2
  172. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js +2 -2
  173. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js.map +1 -1
  174. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.d.ts +3 -2
  175. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js +2 -2
  176. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js.map +1 -1
  177. package/dist/ui/components/id-autocomplete/id-autocomplete-list.d.ts +3 -2
  178. package/dist/ui/components/id-autocomplete/id-autocomplete-list.js.map +1 -1
  179. package/dist/ui/components/id-autocomplete/id-autocomplete.d.ts +3 -2
  180. package/dist/ui/components/id-autocomplete/id-autocomplete.js +1 -1
  181. package/dist/ui/components/id-autocomplete/id-autocomplete.js.map +1 -1
  182. package/dist/ui/components/id-autocomplete/types.d.ts +3 -2
  183. package/dist/ui/components/id-autocomplete/use-id-autocomplete.d.ts +3 -2
  184. package/dist/ui/components/id-autocomplete/use-id-autocomplete.js.map +1 -1
  185. package/dist/ui/components/index.d.ts +42 -40
  186. package/dist/ui/components/input/input.d.ts +3 -2
  187. package/dist/ui/components/input/input.js +1 -1
  188. package/dist/ui/components/input/input.js.map +1 -1
  189. package/dist/ui/components/input/splitted-input-diff.d.ts +3 -2
  190. package/dist/ui/components/input/splitted-input-diff.js +10 -9
  191. package/dist/ui/components/input/splitted-input-diff.js.map +1 -1
  192. package/dist/ui/components/input/subcomponent/input-diff.d.ts +2 -11
  193. package/dist/ui/components/input/subcomponent/input-diff.d.ts.map +1 -1
  194. package/dist/ui/components/input/subcomponent/input-diff.js.map +1 -1
  195. package/dist/ui/components/input/subcomponent/text-diff.d.ts +3 -12
  196. package/dist/ui/components/input/subcomponent/text-diff.d.ts.map +1 -1
  197. package/dist/ui/components/input/subcomponent/text-diff.js.map +1 -1
  198. package/dist/ui/components/json-viewer/json-viewer.d.ts +3 -2
  199. package/dist/ui/components/json-viewer/json-viewer.js +1 -1
  200. package/dist/ui/components/json-viewer/json-viewer.js.map +1 -1
  201. package/dist/ui/components/popover/popover.d.ts +3 -2
  202. package/dist/ui/components/popover/popover.js +1 -1
  203. package/dist/ui/components/popover/popover.js.map +1 -1
  204. package/dist/ui/components/radio-group-field/radio-group-field.d.ts +3 -2
  205. package/dist/ui/components/radio-group-field/radio-group-field.js +4 -3
  206. package/dist/ui/components/radio-group-field/radio-group-field.js.map +1 -1
  207. package/dist/ui/components/radio-group-field/radio-group.d.ts +3 -2
  208. package/dist/ui/components/radio-group-field/radio-group.js +1 -1
  209. package/dist/ui/components/radio-group-field/radio-group.js.map +1 -1
  210. package/dist/ui/components/radio-group-field/radio.d.ts +3 -2
  211. package/dist/ui/components/radio-group-field/radio.js +1 -1
  212. package/dist/ui/components/radio-group-field/radio.js.map +1 -1
  213. package/dist/ui/components/search-autocomplete/index.d.ts +6 -4
  214. package/dist/ui/components/search-autocomplete/search-autocomplete.d.ts +3 -2
  215. package/dist/ui/components/search-autocomplete/search-autocomplete.js.map +1 -1
  216. package/dist/ui/components/search-autocomplete/types.d.ts +3 -2
  217. package/dist/ui/components/search-autocomplete/use-search-autocomplete.d.ts +3 -2
  218. package/dist/ui/components/search-autocomplete/use-search-autocomplete.js.map +1 -1
  219. package/dist/ui/components/select-field/content.d.ts +3 -2
  220. package/dist/ui/components/select-field/content.js +1 -1
  221. package/dist/ui/components/select-field/content.js.map +1 -1
  222. package/dist/ui/components/select-field/select-field.d.ts +3 -2
  223. package/dist/ui/components/select-field/select-field.js +1 -1
  224. package/dist/ui/components/select-field/select-field.js.map +1 -1
  225. package/dist/ui/components/select-field/selected-content.d.ts +3 -2
  226. package/dist/ui/components/select-field/selected-content.js +1 -1
  227. package/dist/ui/components/select-field/selected-content.js.map +1 -1
  228. package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts +3 -4
  229. package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts.map +1 -1
  230. package/dist/ui/components/select-field/subcomponents/CommandItemList.js +1 -1
  231. package/dist/ui/components/select-field/subcomponents/CommandItemList.js.map +1 -1
  232. package/dist/ui/components/select-field/use-select-field.d.ts +4 -12
  233. package/dist/ui/components/select-field/use-select-field.d.ts.map +1 -1
  234. package/dist/ui/components/select-field/use-select-field.js.map +1 -1
  235. package/dist/ui/components/sidebar/index.d.ts +6 -4
  236. package/dist/ui/components/sidebar/sidebar.d.ts +3 -2
  237. package/dist/ui/components/sidebar/sidebar.js +1 -1
  238. package/dist/ui/components/sidebar/sidebar.js.map +1 -1
  239. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.d.ts +2 -7
  240. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.d.ts.map +1 -1
  241. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js +1 -1
  242. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js.map +1 -1
  243. package/dist/ui/components/sidebar/subcomponents/sidebar-header.d.ts +2 -2
  244. package/dist/ui/components/sidebar/subcomponents/sidebar-header.d.ts.map +1 -1
  245. package/dist/ui/components/sidebar/subcomponents/sidebar-header.js.map +1 -1
  246. package/dist/ui/components/sidebar/subcomponents/sidebar-item.d.ts +3 -18
  247. package/dist/ui/components/sidebar/subcomponents/sidebar-item.d.ts.map +1 -1
  248. package/dist/ui/components/sidebar/subcomponents/sidebar-item.js +4 -3
  249. package/dist/ui/components/sidebar/subcomponents/sidebar-item.js.map +1 -1
  250. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.d.ts +2 -4
  251. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.d.ts.map +1 -1
  252. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js.map +1 -1
  253. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/index.d.ts +4 -2
  254. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.d.ts +3 -2
  255. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.js +2 -2
  256. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.js.map +1 -1
  257. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts +7 -8
  258. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts.map +1 -1
  259. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.js +1 -1
  260. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.js.map +1 -1
  261. package/dist/ui/components/sidebar/subcomponents/sidebar-search/index.d.ts +2 -1
  262. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts +2 -2
  263. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts.map +1 -1
  264. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js.map +1 -1
  265. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts +2 -2
  266. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts.map +1 -1
  267. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js.map +1 -1
  268. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.d.ts +2 -2
  269. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.d.ts.map +1 -1
  270. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js +1 -1
  271. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js.map +1 -1
  272. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts +2 -8
  273. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts.map +1 -1
  274. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js +2 -1
  275. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js.map +1 -1
  276. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts +2 -4
  277. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts.map +1 -1
  278. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.js.map +1 -1
  279. package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts +3 -9
  280. package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts.map +1 -1
  281. package/dist/ui/components/sidebar/subcomponents/status-icon.js +1 -1
  282. package/dist/ui/components/sidebar/subcomponents/status-icon.js.map +1 -1
  283. package/dist/ui/components/sidebar/types.d.ts +3 -2
  284. package/dist/ui/components/sidebar/types.js +1 -1
  285. package/dist/ui/components/sidebar/types.js.map +1 -1
  286. package/dist/ui/components/sidebar/use-ellipsis.d.ts +2 -2
  287. package/dist/ui/components/sidebar/use-ellipsis.d.ts.map +1 -1
  288. package/dist/ui/components/sidebar/use-ellipsis.js.map +1 -1
  289. package/dist/ui/components/sidebar/use-sidebar-resize.d.ts +3 -9
  290. package/dist/ui/components/sidebar/use-sidebar-resize.d.ts.map +1 -1
  291. package/dist/ui/components/sidebar/use-sidebar-resize.js.map +1 -1
  292. package/dist/ui/components/sidebar/utils.d.ts +10 -11
  293. package/dist/ui/components/sidebar/utils.d.ts.map +1 -1
  294. package/dist/ui/components/sidebar/utils.js.map +1 -1
  295. package/dist/ui/components/text-field/text-field.d.ts +3 -2
  296. package/dist/ui/components/text-field/text-field.js +3 -2
  297. package/dist/ui/components/text-field/text-field.js.map +1 -1
  298. package/dist/ui/components/text-input/text-input-diff.d.ts +3 -2
  299. package/dist/ui/components/text-input/text-input-diff.js.map +1 -1
  300. package/dist/ui/components/text-input/text-input.d.ts +3 -2
  301. package/dist/ui/components/text-input/text-input.js +1 -1
  302. package/dist/ui/components/text-input/text-input.js.map +1 -1
  303. package/dist/ui/components/text-input/types.d.ts +3 -2
  304. package/dist/ui/components/tooltip/tooltip.d.ts +3 -2
  305. package/dist/ui/components/tooltip/tooltip.js +1 -1
  306. package/dist/ui/components/tooltip/tooltip.js.map +1 -1
  307. package/dist/ui/components/types.d.ts +3 -2
  308. package/dist/ui/components/value-transformer/value-transformer.d.ts +3 -2
  309. package/dist/ui/components/value-transformer/value-transformer.js +5 -3
  310. package/dist/ui/components/value-transformer/value-transformer.js.map +1 -1
  311. package/dist/ui/components/with-field-validation/with-field-validation.d.ts +3 -2
  312. package/dist/ui/components/with-field-validation/with-field-validation.js +1 -1
  313. package/dist/ui/components/with-field-validation/with-field-validation.js.map +1 -1
  314. package/dist/ui/index.d.ts +44 -42
  315. package/dist/ui/lib/date-picker.d.ts +4 -5
  316. package/dist/ui/lib/date-picker.d.ts.map +1 -1
  317. package/dist/ui/lib/date-picker.js +2 -1
  318. package/dist/ui/lib/date-picker.js.map +1 -1
  319. package/dist/ui/lib/date-time-picker.d.ts +6 -6
  320. package/dist/ui/lib/date-time-picker.d.ts.map +1 -1
  321. package/dist/ui/lib/date-time-picker.js.map +1 -1
  322. package/dist/ui/lib/deep-equal.d.ts +2 -2
  323. package/dist/ui/lib/deep-equal.d.ts.map +1 -1
  324. package/dist/ui/lib/deep-equal.js.map +1 -1
  325. package/dist/ui/lib/index.d.ts +2 -1
  326. package/dist/ui/lib/is-empty.d.ts +2 -2
  327. package/dist/ui/lib/is-empty.d.ts.map +1 -1
  328. package/dist/ui/lib/is-empty.js.map +1 -1
  329. package/dist/ui/lib/shared-value-transformers.d.ts +3 -4
  330. package/dist/ui/lib/shared-value-transformers.d.ts.map +1 -1
  331. package/dist/ui/lib/shared-value-transformers.js.map +1 -1
  332. package/dist/ui/lib/types.d.ts +3 -2
  333. package/dist/ui/lib/value-cast.d.ts +4 -4
  334. package/dist/ui/lib/value-cast.d.ts.map +1 -1
  335. package/dist/ui/lib/value-cast.js +10 -4
  336. package/dist/ui/lib/value-cast.js.map +1 -1
  337. package/dist/ui/types.d.ts +4 -3
  338. package/dist/{use-id-autocomplete-By7YSChC.d.ts → use-id-autocomplete-WH2ROfQn.d.ts} +5 -16
  339. package/dist/use-id-autocomplete-WH2ROfQn.d.ts.map +1 -0
  340. package/dist/{use-search-autocomplete-IfcQ_gKh.d.ts → use-search-autocomplete-vSvcsvcB.d.ts} +5 -6
  341. package/dist/use-search-autocomplete-vSvcsvcB.d.ts.map +1 -0
  342. package/dist/{value-transformer-DQjqtNih.d.ts → value-transformer-Cg5TEYP2.d.ts} +5 -7
  343. package/dist/value-transformer-Cg5TEYP2.d.ts.map +1 -0
  344. package/dist/{with-field-validation-Di5D8vU-.d.ts → with-field-validation-CObZoT4r.d.ts} +3 -3
  345. package/dist/with-field-validation-CObZoT4r.d.ts.map +1 -0
  346. package/package.json +17 -12
  347. package/plugins.css +6 -0
  348. package/tailwind.css +175 -0
  349. package/vendor.css +3 -0
  350. package/dist/button-C8doazjv.d.ts +0 -15
  351. package/dist/button-C8doazjv.d.ts.map +0 -1
  352. package/dist/character-counter-BWoglM2P.d.ts.map +0 -1
  353. package/dist/checkbox-CGBtXQnI.d.ts.map +0 -1
  354. package/dist/checkbox-base-CZo-4eL0.d.ts.map +0 -1
  355. package/dist/command-tFzjgzge.d.ts.map +0 -1
  356. package/dist/content-BHWIqmio.d.ts.map +0 -1
  357. package/dist/enum-field-CwZVs3Ux.d.ts.map +0 -1
  358. package/dist/form-CKRKn0TQ.d.ts.map +0 -1
  359. package/dist/form-description-CYkcMEzm.d.ts.map +0 -1
  360. package/dist/form-group-C8kL6pdZ.d.ts.map +0 -1
  361. package/dist/form-label-b6nQi0XO.d.ts.map +0 -1
  362. package/dist/form-message-Dq72nBXz.d.ts.map +0 -1
  363. package/dist/form-server-error-message-DXbaiTfF.d.ts +0 -7
  364. package/dist/form-server-error-message-DXbaiTfF.d.ts.map +0 -1
  365. package/dist/icon-C4QOpsdI.js.map +0 -1
  366. package/dist/id-autocomplete-C-hwriS5.d.ts.map +0 -1
  367. package/dist/id-autocomplete-input-container-DFEyPh5p.d.ts.map +0 -1
  368. package/dist/id-autocomplete-list-EzLpF23C.d.ts.map +0 -1
  369. package/dist/id-autocomplete-list-option-CB5B07Hi.d.ts.map +0 -1
  370. package/dist/index--hDSfvJT.d.ts.map +0 -1
  371. package/dist/index--okzibnx.d.ts +0 -1
  372. package/dist/index-BLwMeReG.d.ts +0 -1
  373. package/dist/index-Cw3C7_1f.d.ts +0 -1
  374. package/dist/index-E7Wvm5uX.d.ts +0 -1
  375. package/dist/index-J3R2mDFQ.d.ts +0 -1
  376. package/dist/input-BpEQjaWV.d.ts.map +0 -1
  377. package/dist/json-viewer-DaTgmzkS.d.ts +0 -8
  378. package/dist/json-viewer-DaTgmzkS.d.ts.map +0 -1
  379. package/dist/message-list-C4mPpBBa.d.ts.map +0 -1
  380. package/dist/popover-XSBOuSih.d.ts.map +0 -1
  381. package/dist/radio-eL0Oy86J.d.ts.map +0 -1
  382. package/dist/radio-group-Bkli6nUz.d.ts.map +0 -1
  383. package/dist/radio-group-field-wlqeiLN3.d.ts.map +0 -1
  384. package/dist/search-autocomplete-BJJkrZ1i.d.ts.map +0 -1
  385. package/dist/select-field-C97QIhUL.d.ts.map +0 -1
  386. package/dist/selected-content-CGsK5PR4.d.ts.map +0 -1
  387. package/dist/sidebar-DOoE4krt.d.ts.map +0 -1
  388. package/dist/sidebar-provider-C2eyz9TL.d.ts.map +0 -1
  389. package/dist/splitted-input-diff-CwPedpov.d.ts +0 -18
  390. package/dist/splitted-input-diff-CwPedpov.d.ts.map +0 -1
  391. package/dist/src-CVV6HzQZ.js.map +0 -1
  392. package/dist/text-field-DSInH67J.d.ts +0 -10
  393. package/dist/text-field-DSInH67J.d.ts.map +0 -1
  394. package/dist/text-input-8zXIWHLi.d.ts.map +0 -1
  395. package/dist/text-input-diff-B0vLSKQm.d.ts +0 -20
  396. package/dist/text-input-diff-B0vLSKQm.d.ts.map +0 -1
  397. package/dist/tooltip-BxS9HpML.d.ts.map +0 -1
  398. package/dist/types-BTq-St7H.d.ts.map +0 -1
  399. package/dist/types-Bsn62tJB.d.ts.map +0 -1
  400. package/dist/types-C04Q_Fan.d.ts.map +0 -1
  401. package/dist/types-CNbvfWjh.d.ts.map +0 -1
  402. package/dist/use-id-autocomplete-By7YSChC.d.ts.map +0 -1
  403. package/dist/use-search-autocomplete-IfcQ_gKh.d.ts.map +0 -1
  404. package/dist/value-transformer-DQjqtNih.d.ts.map +0 -1
  405. package/dist/with-field-validation-Di5D8vU-.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"text-input-diff.js","names":["FormGroup","FormLabel","SplittedInputDiff","TextInputDiff","value","label","required","baseValue","viewMode","diffMode"],"sources":["../../../../src/ui/components/text-input/text-input-diff.tsx"],"sourcesContent":["import type { WithDifference } from \"../../types.js\";\nimport { FormGroup } from \"../form-group/form-group.js\";\nimport { FormLabel } from \"../form-label/form-label.js\";\nimport { SplittedInputDiff } from \"../input/splitted-input-diff.js\";\n\ninterface TextInputDiffProps extends WithDifference<string> {\n value: string;\n label?: React.ReactNode;\n required?: boolean;\n}\nconst TextInputDiff = ({\n value,\n label,\n required,\n baseValue = \"\",\n viewMode = \"edition\",\n diffMode = \"sentences\",\n}: TextInputDiffProps) => {\n return (\n <FormGroup>\n {label && (\n <FormLabel disabled={true} required={required}>\n {label}\n </FormLabel>\n )}\n <SplittedInputDiff\n value={value}\n baseValue={baseValue}\n diffMode={diffMode}\n viewMode={viewMode}\n />\n </FormGroup>\n );\n};\n\nexport default TextInputDiff;\n"],"mappings":";;;;;AAUA,MAAMG,iBAAiB,EACrBC,OACAC,OACAC,UACAC,YAAY,IACZC,WAAW,WACXC,WAAW,kBACa;AACxB,QACE,qBAAC,WAAD,EAAA,UAAA,CACGJ,SACC,oBAAC,WAAD;EAAW,UAAU;EAAgBC;YAClCD;EAEJ,CAAA,EACD,oBAAC,mBAAD;EACSD;EACIG;EACDE;EACAD;EAAS,CAAA,CAEX,EAAA,CAAA"}
1
+ {"version":3,"file":"text-input-diff.js","names":["FormGroup","FormLabel","SplittedInputDiff","TextInputDiff","value","label","required","baseValue","viewMode","diffMode"],"sources":["../../../../src/ui/components/text-input/text-input-diff.tsx"],"sourcesContent":["import type { WithDifference } from \"../../types.js\";\nimport { FormGroup } from \"../form-group/form-group.js\";\nimport { FormLabel } from \"../form-label/form-label.js\";\nimport { SplittedInputDiff } from \"../input/splitted-input-diff.js\";\n\ninterface TextInputDiffProps extends WithDifference<string> {\n value: string;\n label?: React.ReactNode;\n required?: boolean;\n}\nconst TextInputDiff = ({\n value,\n label,\n required,\n baseValue = \"\",\n viewMode = \"edition\",\n diffMode = \"sentences\",\n}: TextInputDiffProps) => {\n return (\n <FormGroup>\n {label && (\n <FormLabel disabled={true} required={required}>\n {label}\n </FormLabel>\n )}\n <SplittedInputDiff\n value={value}\n baseValue={baseValue}\n diffMode={diffMode}\n viewMode={viewMode}\n />\n </FormGroup>\n );\n};\n\nexport default TextInputDiff;\n"],"mappings":";;;;;AAUA,MAAMG,iBAAiB,EACrBC,OACAC,OACAC,UACAC,YAAY,IACZC,WAAW,WACXC,WAAW,kBACa;CACxB,OACE,qBAAC,WAAD,EAAA,UAAA,CACGJ,SACC,oBAAC,WAAD;EAAW,UAAU;EAAgBC;EAClCD,UAAAA;CACQ,CAAA,GAEb,oBAAC,mBAAD;EACSD;EACIG;EACDE;EACAD;CAAS,CAAA,CAEZ,EAAA,CAAA;AAEf"}
@@ -1,2 +1,3 @@
1
- import { n as TextInputProps, t as TextInput } from "../../../text-input-8zXIWHLi.js";
2
- export { TextInput, TextInputProps };
1
+ import { n as TextInputProps, t as TextInput } from "../../../text-input-CFRCPYq6.js";
2
+ export { TextInput, type TextInputProps };
3
+ export {};
@@ -11,7 +11,7 @@ import { forwardRef, useId, useMemo } from "react";
11
11
  import { twMerge } from "tailwind-merge";
12
12
  import { jsx, jsxs } from "react/jsx-runtime";
13
13
  //#region src/ui/components/text-input/text-input.tsx
14
- const TextInput = /* @__PURE__ */ forwardRef(({ label, description, value, defaultValue, onChange, errors, warnings, pattern, trim, uppercase, lowercase, maxLength, autoComplete, baseValue, viewMode = "edition", diffMode, ...props }, ref) => {
14
+ const TextInput = /*#__PURE__*/ forwardRef(({ label, description, value, defaultValue, onChange, errors, warnings, pattern, trim, uppercase, lowercase, maxLength, autoComplete, baseValue, viewMode = "edition", diffMode, ...props }, ref) => {
15
15
  const idGenerated = useId();
16
16
  const id = props.id ?? idGenerated;
17
17
  const autoCompleteValue = autoComplete === void 0 ? void 0 : autoComplete ? "on" : "off";
@@ -1 +1 @@
1
- {"version":3,"file":"text-input.js","names":["twMerge","forwardRef","useId","useMemo","sharedValueTransformers","CharacterCounter","FormDescription","FormGroup","FormLabel","FormMessageList","Input","ValueTransformer","TextInputDiff","TextInput","label","description","value","defaultValue","onChange","errors","warnings","pattern","trim","uppercase","lowercase","maxLength","autoComplete","baseValue","viewMode","diffMode","props","ref","idGenerated","id","autoCompleteValue","undefined","hasContentBelow","Array","isArray","length","transformers","trimOnBlur","lowercaseOnChange","uppercaseOnChange","trimOnEnter","required","disabled","toString","displayName"],"sources":["../../../../src/ui/components/text-input/text-input.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\nimport { forwardRef, useId, useMemo } from \"react\";\nimport { sharedValueTransformers } from \"#design-system/ui/lib\";\nimport type { DiffMode, InputBaseProps, WithDifference } from \"../../types.js\";\nimport { CharacterCounter } from \"../character-counter/character-counter.js\";\nimport { FormDescription } from \"../form-description/form-description.js\";\nimport { FormGroup } from \"../form-group/form-group.js\";\nimport { FormLabel } from \"../form-label/form-label.js\";\nimport { FormMessageList } from \"../form-message/message-list.js\";\nimport { Input } from \"../input/input.js\";\nimport type { TransformerType } from \"#design-system\";\nimport { ValueTransformer } from \"../value-transformer/value-transformer.js\";\nimport TextInputDiff from \"./text-input-diff.js\";\nimport type { CommonTextProps } from \"./types.js\";\n\ninterface TextInputProps\n extends\n Omit<\n InputBaseProps<string> &\n Omit<React.InputHTMLAttributes<HTMLInputElement>, \"pattern\"> &\n CommonTextProps,\n \"value\" | \"autoComplete\"\n >,\n Omit<WithDifference<string>, \"diffMode\"> {\n value?: string;\n autoComplete?: boolean;\n diffMode?: Extract<DiffMode, \"sentences\">;\n}\n\nconst TextInput = forwardRef<HTMLInputElement, TextInputProps>(\n (\n {\n label,\n description,\n value,\n defaultValue,\n onChange,\n errors,\n warnings,\n // TextProps\n pattern,\n trim,\n uppercase,\n lowercase,\n maxLength,\n autoComplete,\n // Difference Props\n baseValue,\n viewMode = \"edition\",\n diffMode,\n ...props\n },\n ref,\n ) => {\n const idGenerated = useId();\n const id = props.id ?? idGenerated;\n const autoCompleteValue =\n autoComplete === undefined ? undefined : autoComplete ? \"on\" : \"off\";\n const hasContentBelow =\n !!description ||\n (Array.isArray(warnings) && warnings.length > 0) ||\n (Array.isArray(errors) && errors.length > 0);\n\n const transformers: TransformerType = useMemo(\n () => [\n sharedValueTransformers.trimOnBlur(!!trim),\n sharedValueTransformers.lowercaseOnChange(!!lowercase),\n sharedValueTransformers.uppercaseOnChange(!!uppercase),\n sharedValueTransformers.trimOnEnter(!!trim),\n ],\n [trim, lowercase, uppercase],\n );\n\n if (viewMode === \"edition\") {\n return (\n <FormGroup>\n {label && (\n <FormLabel\n htmlFor={id}\n required={props.required}\n disabled={props.disabled}\n hasError={!!errors?.length}\n >\n {label}\n </FormLabel>\n )}\n <ValueTransformer transformers={transformers}>\n <Input\n id={id}\n value={value ?? defaultValue ?? \"\"}\n onChange={onChange}\n pattern={pattern?.toString()}\n autoComplete={autoCompleteValue}\n {...props}\n ref={ref}\n />\n </ValueTransformer>\n {typeof maxLength === \"number\" && maxLength > 0 && (\n <div\n className={twMerge(\n \"mt-[-6px] flex justify-end\",\n hasContentBelow && \"-mb-1\",\n )}\n >\n <CharacterCounter maxLength={maxLength} value={value ?? \"\"} />\n </div>\n )}\n {description && <FormDescription>{description}</FormDescription>}\n {warnings && <FormMessageList messages={warnings} type=\"warning\" />}\n {errors && <FormMessageList messages={errors} type=\"error\" />}\n </FormGroup>\n );\n }\n\n // Diff mode\n return (\n <TextInputDiff\n value={value ?? defaultValue ?? \"\"}\n viewMode={viewMode}\n diffMode={diffMode}\n baseValue={baseValue}\n label={label}\n required={props.required}\n />\n );\n },\n);\n\nTextInput.displayName = \"TextInput\";\n\nexport { TextInput, type TextInputProps };\n"],"mappings":";;;;;;;;;;;;;AA6BA,MAAMa,YAAYZ,4BAEd,EACEa,OACAC,aACAC,OACAC,cACAC,UACAC,QACAC,UAEAC,SACAC,MACAC,WACAC,WACAC,WACAC,cAEAC,WACAC,WAAW,WACXC,UACA,GAAGC,SAELC,QACG;CACH,MAAMC,cAAc9B,OAAO;CAC3B,MAAM+B,KAAKH,MAAMG,MAAMD;CACvB,MAAME,oBACJR,iBAAiBS,KAAAA,IAAYA,KAAAA,IAAYT,eAAe,OAAO;CACjE,MAAMU,kBACJ,CAAC,CAACrB,eACDsB,MAAMC,QAAQlB,SAAS,IAAIA,SAASmB,SAAS,KAC7CF,MAAMC,QAAQnB,OAAO,IAAIA,OAAOoB,SAAS;CAE5C,MAAMC,eAAgCrC,cAC9B;EACJC,wBAAwBqC,WAAW,CAAC,CAACnB,KAAK;EAC1ClB,wBAAwBsC,kBAAkB,CAAC,CAAClB,UAAU;EACtDpB,wBAAwBuC,kBAAkB,CAAC,CAACpB,UAAU;EACtDnB,wBAAwBwC,YAAY,CAAC,CAACtB,KAAK;EAC5C,EACD;EAACA;EAAME;EAAWD;EACpB,CAAC;AAED,KAAIK,aAAa,UACf,QACE,qBAAC,WAAD,EAAA,UAAA;EACGd,SACC,oBAAC,WAAD;GACE,SAASmB;GACT,UAAUH,MAAMe;GAChB,UAAUf,MAAMgB;GAChB,UAAU,CAAC,CAAC3B,QAAQoB;aAEnBzB;GAEJ,CAAA;EACD,oBAAC,kBAAD;GAAgC0B;aAC9B,oBAAC,OAAD;IACMP;IACJ,OAAOjB,SAASC,gBAAgB;IACtBC;IACV,SAASG,SAAS0B,UAAU;IAC5B,cAAcb;IACd,GAAIJ;IACCC;IAAI,CAAA;GAEK,CAAA;EACjB,OAAON,cAAc,YAAYA,YAAY,KAC5C,oBAAC,OAAD;GACE,WAAWzB,QACT,8BACAoC,mBAAmB,QACpB;aAED,oBAAC,kBAAD;IAA6BX;IAAW,OAAOT,SAAS;IAAG,CAAA;GAE9D,CAAA;EACAD,eAAe,oBAAC,iBAAD,EAAA,UAAkBA,aAA8B,CAAA;EAC/DK,YAAY,oBAAC,iBAAD;GAAiB,UAAUA;GAAU,MAAK;GAAY,CAAA;EAClED,UAAU,oBAAC,iBAAD;GAAiB,UAAUA;GAAQ,MAAK;GAAU,CAAA;EACnD,EAAA,CAAA;AAKhB,QACE,oBAAC,eAAD;EACE,OAAOH,SAASC,gBAAgB;EACtBW;EACAC;EACCF;EACJb;EACP,UAAUgB,MAAMe;EAChB,CAAA;EAGP;AAEDhC,UAAUmC,cAAc"}
1
+ {"version":3,"file":"text-input.js","names":["twMerge","forwardRef","useId","useMemo","sharedValueTransformers","CharacterCounter","FormDescription","FormGroup","FormLabel","FormMessageList","Input","ValueTransformer","TextInputDiff","TextInput","label","description","value","defaultValue","onChange","errors","warnings","pattern","trim","uppercase","lowercase","maxLength","autoComplete","baseValue","viewMode","diffMode","props","ref","idGenerated","id","autoCompleteValue","undefined","hasContentBelow","Array","isArray","length","transformers","trimOnBlur","lowercaseOnChange","uppercaseOnChange","trimOnEnter","required","disabled","toString","displayName"],"sources":["../../../../src/ui/components/text-input/text-input.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\nimport { forwardRef, useId, useMemo } from \"react\";\nimport { sharedValueTransformers } from \"#design-system/ui/lib\";\nimport type { DiffMode, InputBaseProps, WithDifference } from \"../../types.js\";\nimport { CharacterCounter } from \"../character-counter/character-counter.js\";\nimport { FormDescription } from \"../form-description/form-description.js\";\nimport { FormGroup } from \"../form-group/form-group.js\";\nimport { FormLabel } from \"../form-label/form-label.js\";\nimport { FormMessageList } from \"../form-message/message-list.js\";\nimport { Input } from \"../input/input.js\";\nimport type { TransformerType } from \"#design-system\";\nimport { ValueTransformer } from \"../value-transformer/value-transformer.js\";\nimport TextInputDiff from \"./text-input-diff.js\";\nimport type { CommonTextProps } from \"./types.js\";\n\ninterface TextInputProps\n extends\n Omit<\n InputBaseProps<string> &\n Omit<React.InputHTMLAttributes<HTMLInputElement>, \"pattern\"> &\n CommonTextProps,\n \"value\" | \"autoComplete\"\n >,\n Omit<WithDifference<string>, \"diffMode\"> {\n value?: string;\n autoComplete?: boolean;\n diffMode?: Extract<DiffMode, \"sentences\">;\n}\n\nconst TextInput = forwardRef<HTMLInputElement, TextInputProps>(\n (\n {\n label,\n description,\n value,\n defaultValue,\n onChange,\n errors,\n warnings,\n // TextProps\n pattern,\n trim,\n uppercase,\n lowercase,\n maxLength,\n autoComplete,\n // Difference Props\n baseValue,\n viewMode = \"edition\",\n diffMode,\n ...props\n },\n ref,\n ) => {\n const idGenerated = useId();\n const id = props.id ?? idGenerated;\n const autoCompleteValue =\n autoComplete === undefined ? undefined : autoComplete ? \"on\" : \"off\";\n const hasContentBelow =\n !!description ||\n (Array.isArray(warnings) && warnings.length > 0) ||\n (Array.isArray(errors) && errors.length > 0);\n\n const transformers: TransformerType = useMemo(\n () => [\n sharedValueTransformers.trimOnBlur(!!trim),\n sharedValueTransformers.lowercaseOnChange(!!lowercase),\n sharedValueTransformers.uppercaseOnChange(!!uppercase),\n sharedValueTransformers.trimOnEnter(!!trim),\n ],\n [trim, lowercase, uppercase],\n );\n\n if (viewMode === \"edition\") {\n return (\n <FormGroup>\n {label && (\n <FormLabel\n htmlFor={id}\n required={props.required}\n disabled={props.disabled}\n hasError={!!errors?.length}\n >\n {label}\n </FormLabel>\n )}\n <ValueTransformer transformers={transformers}>\n <Input\n id={id}\n value={value ?? defaultValue ?? \"\"}\n onChange={onChange}\n pattern={pattern?.toString()}\n autoComplete={autoCompleteValue}\n {...props}\n ref={ref}\n />\n </ValueTransformer>\n {typeof maxLength === \"number\" && maxLength > 0 && (\n <div\n className={twMerge(\n \"mt-[-6px] flex justify-end\",\n hasContentBelow && \"-mb-1\",\n )}\n >\n <CharacterCounter maxLength={maxLength} value={value ?? \"\"} />\n </div>\n )}\n {description && <FormDescription>{description}</FormDescription>}\n {warnings && <FormMessageList messages={warnings} type=\"warning\" />}\n {errors && <FormMessageList messages={errors} type=\"error\" />}\n </FormGroup>\n );\n }\n\n // Diff mode\n return (\n <TextInputDiff\n value={value ?? defaultValue ?? \"\"}\n viewMode={viewMode}\n diffMode={diffMode}\n baseValue={baseValue}\n label={label}\n required={props.required}\n />\n );\n },\n);\n\nTextInput.displayName = \"TextInput\";\n\nexport { TextInput, type TextInputProps };\n"],"mappings":";;;;;;;;;;;;;AA6BA,MAAMa,YAAYZ,0BAEd,EACEa,OACAC,aACAC,OACAC,cACAC,UACAC,QACAC,UAEAC,SACAC,MACAC,WACAC,WACAC,WACAC,cAEAC,WACAC,WAAW,WACXC,UACA,GAAGC,SAELC,QACG;CACH,MAAMC,cAAc9B,MAAM;CAC1B,MAAM+B,KAAKH,MAAMG,MAAMD;CACvB,MAAME,oBACJR,iBAAiBS,KAAAA,IAAYA,KAAAA,IAAYT,eAAe,OAAO;CACjE,MAAMU,kBACJ,CAAC,CAACrB,eACDsB,MAAMC,QAAQlB,QAAQ,KAAKA,SAASmB,SAAS,KAC7CF,MAAMC,QAAQnB,MAAM,KAAKA,OAAOoB,SAAS;CAE5C,MAAMC,eAAgCrC,cAC9B;EACJC,wBAAwBqC,WAAW,CAAC,CAACnB,IAAI;EACzClB,wBAAwBsC,kBAAkB,CAAC,CAAClB,SAAS;EACrDpB,wBAAwBuC,kBAAkB,CAAC,CAACpB,SAAS;EACrDnB,wBAAwBwC,YAAY,CAAC,CAACtB,IAAI;CAAC,GAE7C;EAACA;EAAME;EAAWD;CAAS,CAC7B;CAEA,IAAIK,aAAa,WACf,OACE,qBAAC,WAAD,EAAA,UAAA;EACGd,SACC,oBAAC,WAAD;GACE,SAASmB;GACT,UAAUH,MAAMe;GAChB,UAAUf,MAAMgB;GAChB,UAAU,CAAC,CAAC3B,QAAQoB;GAEnBzB,UAAAA;EACQ,CAAA;EAEb,oBAAC,kBAAD;GAAgC0B;GAC9B,UAAA,oBAAC,OAAD;IACMP;IACJ,OAAOjB,SAASC,gBAAgB;IACtBC;IACV,SAASG,SAAS0B,SAAS;IAC3B,cAAcb;IACd,GAAIJ;IACCC;GAAI,CAAA;EAEK,CAAA;EACjB,OAAON,cAAc,YAAYA,YAAY,KAC5C,oBAAC,OAAD;GACE,WAAWzB,QACT,8BACAoC,mBAAmB,OACrB;GAEA,UAAA,oBAAC,kBAAD;IAA6BX;IAAW,OAAOT,SAAS;GAAG,CAAA;EACxD,CAAA;EAEND,eAAe,oBAAC,iBAAD,EAAA,UAAkBA,YAA6B,CAAA;EAC9DK,YAAY,oBAAC,iBAAD;GAAiB,UAAUA;GAAU,MAAK;EAAS,CAAA;EAC/DD,UAAU,oBAAC,iBAAD;GAAiB,UAAUA;GAAQ,MAAK;EAAO,CAAA;CACjD,EAAA,CAAA;CAKf,OACE,oBAAC,eAAD;EACE,OAAOH,SAASC,gBAAgB;EACtBW;EACAC;EACCF;EACJb;EACP,UAAUgB,MAAMe;CAAS,CAAA;AAG/B,CACF;AAEAhC,UAAUmC,cAAc"}
@@ -1,2 +1,3 @@
1
- import { t as CommonTextProps } from "../../../types-Bsn62tJB.js";
2
- export { CommonTextProps };
1
+ import { t as CommonTextProps } from "../../../types-BNTIrhb5.js";
2
+ export { CommonTextProps };
3
+ export {};
@@ -1,2 +1,3 @@
1
- import { a as TooltipProps, i as TooltipContent, n as Root, o as Trigger, r as Tooltip, t as Provider } from "../../../tooltip-BxS9HpML.js";
2
- export { Tooltip, TooltipContent, TooltipProps, Provider as TooltipProvider, Root as TooltipRoot, Trigger as TooltipTrigger };
1
+ import { a as TooltipProps, i as TooltipContent, n as Root, o as Trigger, r as Tooltip, t as Provider } from "../../../tooltip-B4uQJPUm.js";
2
+ export { Tooltip, TooltipContent, type TooltipProps, Provider as TooltipProvider, Root as TooltipRoot, Trigger as TooltipTrigger };
3
+ export {};
@@ -3,7 +3,7 @@ import { twMerge } from "tailwind-merge";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { Content, Portal, Provider, Root, Trigger } from "@radix-ui/react-tooltip";
5
5
  //#region src/ui/components/tooltip/tooltip.tsx
6
- const TooltipContent = /* @__PURE__ */ forwardRef(({ children, className, ...props }, ref) => {
6
+ const TooltipContent = /*#__PURE__*/ forwardRef(({ children, className, ...props }, ref) => {
7
7
  return /* @__PURE__ */ jsx(Content, {
8
8
  ref,
9
9
  ...props,
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","names":["twMerge","Content","Portal","Provider","Root","Trigger","forwardRef","TooltipContent","children","className","props","ref","Tooltip","content","triggerAsChild","delayDuration","open","defaultOpen","onOpenChange","rest","undefined","TooltipProvider","TooltipRoot","TooltipTrigger"],"sources":["../../../../src/ui/components/tooltip/tooltip.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\nimport type {\n TooltipContentProps,\n TooltipProps as TooltipPrimitiveProps,\n} from \"@radix-ui/react-tooltip\";\nimport {\n Content,\n Portal,\n Provider,\n Root,\n Trigger,\n} from \"@radix-ui/react-tooltip\";\nimport { forwardRef } from \"react\";\n\ninterface TooltipProps\n extends TooltipPrimitiveProps, Omit<TooltipContentProps, \"content\"> {\n content: React.ReactNode;\n className?: string;\n triggerAsChild?: boolean;\n}\n\nconst TooltipContent = forwardRef<\n React.ElementRef<typeof Content>,\n TooltipContentProps\n>(({ children, className, ...props }, ref) => {\n return (\n <Content\n ref={ref}\n {...props}\n className={twMerge(\n // Base styles\n \"z-50 overflow-hidden rounded-md text-sm\",\n // Colors & Border\n \"border border-border bg-popover text-popover-foreground\",\n // Padding & Shadow\n \"px-3 py-1.5 shadow-md\",\n // Animations\n \"data-[state=open]:animate-zoom-in\",\n \"data-[state=closed]:animate-zoom-out\",\n // Slide animations based on position\n \"data-[side=bottom]:animate-slide-in-from-top\",\n \"data-[side=left]:animate-slide-in-from-right\",\n \"data-[side=right]:animate-slide-in-from-left\",\n \"data-[side=top]:animate-slide-in-from-bottom\",\n className,\n )}\n >\n {children}\n </Content>\n );\n});\n\nconst Tooltip: React.FC<TooltipProps> = ({\n content,\n children,\n triggerAsChild = false,\n delayDuration = 0,\n ...props\n}) => {\n const { open, defaultOpen, onOpenChange, ...rest } = props;\n\n return (\n <Root\n defaultOpen={defaultOpen}\n delayDuration={delayDuration}\n onOpenChange={onOpenChange}\n open={open}\n >\n <Trigger\n asChild={triggerAsChild}\n type={triggerAsChild ? undefined : \"button\"} // Prevent form submission when default trigger is clicked\n >\n {children}\n </Trigger>\n <Portal>\n <TooltipContent sideOffset={3} {...rest}>\n {content}\n </TooltipContent>\n </Portal>\n </Root>\n );\n};\n\nexport {\n Tooltip,\n TooltipContent,\n Provider as TooltipProvider,\n Root as TooltipRoot,\n Trigger as TooltipTrigger,\n type TooltipProps,\n};\n"],"mappings":";;;;;AAqBA,MAAMO,iBAAiBD,4BAGpB,EAAEE,UAAUC,WAAW,GAAGC,SAASC,QAAQ;AAC5C,QACE,oBAAC,SAAD;EACOA;EACL,GAAID;EACJ,WAAWV,QAET,2CAEA,2DAEA,yBAEA,qCACA,wCAEA,gDACA,gDACA,gDACA,gDACAS,UACD;EAEAD;EACO,CAAA;EAEZ;AAEF,MAAMI,WAAmC,EACvCC,SACAL,UACAM,iBAAiB,OACjBC,gBAAgB,GAChB,GAAGL,YACC;CACJ,MAAM,EAAEM,MAAMC,aAAaC,cAAc,GAAGC,SAAST;AAErD,QACE,qBAAC,MAAD;EACeO;EACEF;EACDG;EACRF;YAJR,CAME,oBAAC,SAAD;GACE,SAASF;GACT,MAAMA,iBAAiBM,KAAAA,IAAY;GAElCZ;GACM,CAAA,EACT,oBAAC,QAAD,EAAA,UACE,oBAAC,gBAAD;GAAgB,YAAY;GAAG,GAAIW;aAChCN;GACa,CAAA,EACV,CAAA,CACH"}
1
+ {"version":3,"file":"tooltip.js","names":["twMerge","Content","Portal","Provider","Root","Trigger","forwardRef","TooltipContent","children","className","props","ref","Tooltip","content","triggerAsChild","delayDuration","open","defaultOpen","onOpenChange","rest","undefined","TooltipProvider","TooltipRoot","TooltipTrigger"],"sources":["../../../../src/ui/components/tooltip/tooltip.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\nimport type {\n TooltipContentProps,\n TooltipProps as TooltipPrimitiveProps,\n} from \"@radix-ui/react-tooltip\";\nimport {\n Content,\n Portal,\n Provider,\n Root,\n Trigger,\n} from \"@radix-ui/react-tooltip\";\nimport { forwardRef } from \"react\";\n\ninterface TooltipProps\n extends TooltipPrimitiveProps, Omit<TooltipContentProps, \"content\"> {\n content: React.ReactNode;\n className?: string;\n triggerAsChild?: boolean;\n}\n\nconst TooltipContent = forwardRef<\n React.ElementRef<typeof Content>,\n TooltipContentProps\n>(({ children, className, ...props }, ref) => {\n return (\n <Content\n ref={ref}\n {...props}\n className={twMerge(\n // Base styles\n \"z-50 overflow-hidden rounded-md text-sm\",\n // Colors & Border\n \"border border-border bg-popover text-popover-foreground\",\n // Padding & Shadow\n \"px-3 py-1.5 shadow-md\",\n // Animations\n \"data-[state=open]:animate-zoom-in\",\n \"data-[state=closed]:animate-zoom-out\",\n // Slide animations based on position\n \"data-[side=bottom]:animate-slide-in-from-top\",\n \"data-[side=left]:animate-slide-in-from-right\",\n \"data-[side=right]:animate-slide-in-from-left\",\n \"data-[side=top]:animate-slide-in-from-bottom\",\n className,\n )}\n >\n {children}\n </Content>\n );\n});\n\nconst Tooltip: React.FC<TooltipProps> = ({\n content,\n children,\n triggerAsChild = false,\n delayDuration = 0,\n ...props\n}) => {\n const { open, defaultOpen, onOpenChange, ...rest } = props;\n\n return (\n <Root\n defaultOpen={defaultOpen}\n delayDuration={delayDuration}\n onOpenChange={onOpenChange}\n open={open}\n >\n <Trigger\n asChild={triggerAsChild}\n type={triggerAsChild ? undefined : \"button\"} // Prevent form submission when default trigger is clicked\n >\n {children}\n </Trigger>\n <Portal>\n <TooltipContent sideOffset={3} {...rest}>\n {content}\n </TooltipContent>\n </Portal>\n </Root>\n );\n};\n\nexport {\n Tooltip,\n TooltipContent,\n Provider as TooltipProvider,\n Root as TooltipRoot,\n Trigger as TooltipTrigger,\n type TooltipProps,\n};\n"],"mappings":";;;;;AAqBA,MAAMO,iBAAiBD,0BAGpB,EAAEE,UAAUC,WAAW,GAAGC,SAASC,QAAQ;CAC5C,OACE,oBAAC,SAAD;EACOA;EACL,GAAID;EACJ,WAAWV,QAET,2CAEA,2DAEA,yBAEA,qCACA,wCAEA,gDACA,gDACA,gDACA,gDACAS,SACF;EAECD;CACM,CAAA;AAEb,CAAC;AAED,MAAMI,WAAmC,EACvCC,SACAL,UACAM,iBAAiB,OACjBC,gBAAgB,GAChB,GAAGL,YACC;CACJ,MAAM,EAAEM,MAAMC,aAAaC,cAAc,GAAGC,SAAST;CAErD,OACE,qBAAC,MAAD;EACeO;EACEF;EACDG;EACRF;EAJR,UAAA,CAME,oBAAC,SAAD;GACE,SAASF;GACT,MAAMA,iBAAiBM,KAAAA,IAAY;GAElCZ;EACM,CAAA,GACT,oBAAC,QAAD,EAAA,UACE,oBAAC,gBAAD;GAAgB,YAAY;GAAG,GAAIW;GAChCN,UAAAA;EACa,CAAA,EACV,CAAA,CACJ;;AAEV"}
@@ -1,2 +1,3 @@
1
- import { C as SelectProps, S as SelectOption, b as RadioGroupProps, v as IdAutocompleteOption, x as SelectBaseProps, y as IdAutocompleteProps } from "../../index--hDSfvJT.js";
2
- export { IdAutocompleteOption, IdAutocompleteProps, RadioGroupProps, SelectBaseProps, SelectOption, SelectProps };
1
+ import { C as SelectProps, S as SelectOption, b as RadioGroupProps, v as IdAutocompleteOption, x as SelectBaseProps, y as IdAutocompleteProps } from "../../index-Ck34z7kD.js";
2
+ export type { IdAutocompleteOption, IdAutocompleteProps, RadioGroupProps, SelectBaseProps, SelectOption, SelectProps };
3
+ export {};
@@ -1,2 +1,3 @@
1
- import { t as ValueTransformer } from "../../../value-transformer-DQjqtNih.js";
2
- export { ValueTransformer };
1
+ import { t as ValueTransformer } from "../../../value-transformer-Cg5TEYP2.js";
2
+ export { ValueTransformer };
3
+ export {};
@@ -59,10 +59,12 @@ function ValueTransformer({ transformers, children }) {
59
59
  useEffect(() => {
60
60
  const value = children.props.value;
61
61
  const transformedValue = _applyTransformers(transformers, value, "all");
62
- if (!deepEqual(transformedValue, value)) if (typeof setValue === "function") setValue(children.props.name, transformedValue);
63
- else children.props.onChange?.({ target: { value: transformedValue } });
62
+ if (!deepEqual(transformedValue, value)) {
63
+ if (typeof setValue === "function") setValue(children.props.name, transformedValue);
64
+ else children.props.onChange?.({ target: { value: transformedValue } });
65
+ }
64
66
  }, [transformers, setValue]);
65
- return /* @__PURE__ */ React.cloneElement(children, {
67
+ return /*#__PURE__*/ React.cloneElement(children, {
66
68
  ...children.props,
67
69
  onChange: (event) => {
68
70
  const transformedValue = _applyTransformers(transformers, event.target.value, "change");
@@ -1 +1 @@
1
- {"version":3,"file":"value-transformer.js","names":["deepEqual","React","useEffect","useFormContext","setNativeValue","element","value","valueSetter","Object","getOwnPropertyDescriptor","set","prototype","getPrototypeOf","prototypeValueSetter","call","_applyTransformers","transformers","filter","reduce","transformer","options","trigger","if","undefined","ValueTransformer","children","formContext","setValue","props","transformedValue","name","onChange","target","cloneElement","event","onBlur","changeEvent","Event","bubbles","dispatchEvent","onKeyDown","key"],"sources":["../../../../src/ui/components/value-transformer/value-transformer.tsx"],"sourcesContent":["import type {\n TransformerTrigger,\n TransformerType,\n ValueTransformerProps,\n} from \"#design-system\";\nimport { deepEqual } from \"#design-system/ui/lib\";\nimport React, { useEffect } from \"react\";\nimport { useFormContext } from \"react-hook-form\";\n\n// Workaround to set the value of an input element\n// following react core team recommendation\n// https://github.com/facebook/react/issues/10135\nfunction setNativeValue(element: HTMLInputElement, value: any) {\n const valueSetter = Object.getOwnPropertyDescriptor(element, \"value\")?.set;\n const prototype = Object.getPrototypeOf(element) as HTMLInputElement;\n const prototypeValueSetter = Object.getOwnPropertyDescriptor(\n prototype,\n \"value\",\n )?.set;\n\n if (valueSetter && valueSetter !== prototypeValueSetter) {\n prototypeValueSetter?.call(element, value);\n } else {\n valueSetter?.call(element, value);\n }\n}\n\n// apply transformers to the value\nfunction _applyTransformers(\n transformers: TransformerType,\n value: unknown,\n filter: TransformerTrigger | \"all\" = \"blur\",\n) {\n return transformers.reduce<unknown>((value, transformer) => {\n if (typeof transformer === \"function\") {\n if (filter === \"blur\" || filter === \"all\") {\n // array of transformers are only applied on blur\n return transformer(value);\n }\n return value;\n }\n\n // it is a transformer object\n if (\n (transformer.options?.trigger ?? \"blur\") !== filter &&\n filter !== \"all\"\n ) {\n return value;\n }\n // if no set, we assume true\n if (transformer.options?.if === undefined || transformer.options.if) {\n return transformer.transformer(value);\n }\n return value;\n }, value);\n}\n\n/**\n * Apply transformers to the value of the input element. A transformer is a function that\n * will be applied to the value of the input element modifying the value.\n *\n * @param transformers - An array of transformers. A transformer is an object with a\n * `transformer` property, which is a function that will be applied to the value of\n * the input element, and an optional `options` property. The `options` property can\n * have a `trigger` property, which is the event that triggers the transformer, and\n * an `if` property, which is a boolean that indicates if the transformer should be\n * applied.\n * @param children - The input element to apply the transformers to as children\n *\n * @example\n * <ValueTransformer transformers={[\n * {\n * transformer: (value) => value.toUpperCase(),\n * options: {\n * trigger: \"change\",\n * },\n * },\n * ]}>\n * <Input />\n * </ValueTransformer>\n *\n * @example\n * <ValueTransformer transformers={[\n * {\n * // trim the value on blur\n * transformer: (value) => (value as string).trim(),\n * },\n * ]}>\n * <Input />\n * </ValueTransformer>\n */\nexport function ValueTransformer({\n transformers,\n children,\n}: ValueTransformerProps) {\n const formContext = useFormContext();\n const setValue = formContext?.setValue;\n\n useEffect(() => {\n // apply all the transformers on mount to prevent untransformed values\n // if the field is not touched by the user\n const value = (children.props as { value: unknown }).value;\n const transformedValue = _applyTransformers(transformers, value, \"all\");\n\n if (!deepEqual(transformedValue, value)) {\n if (typeof setValue === \"function\") {\n setValue((children.props as { name: string }).name, transformedValue);\n } else {\n // if setValue is not available, then we're not inside a form context\n // so we need to update the value using onChange if available\n (children.props as React.HTMLAttributes<HTMLInputElement>).onChange?.({\n target: { value: transformedValue },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n }\n }, [transformers, setValue]);\n\n return React.cloneElement(children, {\n // @ts-expect-error - React.HTMLAttributes is not typed\n ...children.props,\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => {\n // apply transformers on change\n const transformedValue = _applyTransformers(\n transformers,\n event.target.value,\n \"change\",\n );\n\n if (transformedValue !== event.target.value && setValue) {\n setValue((children.props as { name: string }).name, transformedValue);\n setNativeValue(event.target, transformedValue);\n }\n\n // call the original onChange\n (children.props as React.HTMLAttributes<HTMLInputElement>).onChange?.(\n event,\n );\n },\n // apply transformers on blur\n onBlur: (event: React.FocusEvent<HTMLInputElement>) => {\n // call the original onBlur\n (children.props as React.HTMLAttributes<HTMLInputElement>).onBlur?.(\n event,\n );\n\n // apply the transformers\n const target = event.target;\n const transformedValue = _applyTransformers(\n transformers,\n target.value,\n \"blur\",\n );\n\n if (!deepEqual(transformedValue, target.value)) {\n // only dispatch change if the value has changed\n setNativeValue(target, transformedValue);\n const changeEvent = new Event(\"change\", { bubbles: true });\n target.dispatchEvent(changeEvent);\n }\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => {\n // call the original onKeyDown\n (children.props as React.HTMLAttributes<HTMLInputElement>).onKeyDown?.(\n event,\n );\n\n // apply the transformers\n if (event.key === \"Enter\") {\n const target = event.target as HTMLInputElement;\n const transformedValue = _applyTransformers(\n transformers,\n target.value,\n \"keyDown\",\n );\n\n // only dispatch change if the value has changed\n if (!deepEqual(transformedValue, target.value)) {\n setNativeValue(target, transformedValue);\n const changeEvent = new Event(\"change\", { bubbles: true });\n target.dispatchEvent(changeEvent);\n }\n }\n },\n });\n}\n"],"mappings":";;;;AAYA,SAASI,eAAeC,SAA2BC,OAAY;CAC7D,MAAMC,cAAcC,OAAOC,yBAAyBJ,SAAS,QAAQ,EAAEK;CACvE,MAAMC,YAAYH,OAAOI,eAAeP,QAA4B;CACpE,MAAMQ,uBAAuBL,OAAOC,yBAClCE,WACA,QACD,EAAED;AAEH,KAAIH,eAAeA,gBAAgBM,qBACjCA,uBAAsBC,KAAKT,SAASC,MAAM;KAE1CC,cAAaO,KAAKT,SAASC,MAAM;;AAKrC,SAASS,mBACPC,cACAV,OACAW,SAAqC,QACrC;AACA,QAAOD,aAAaE,QAAiBZ,OAAOa,gBAAgB;AAC1D,MAAI,OAAOA,gBAAgB,YAAY;AACrC,OAAIF,WAAW,UAAUA,WAAW,MAElC,QAAOE,YAAYb,MAAM;AAE3B,UAAOA;;AAIT,OACGa,YAAYC,SAASC,WAAW,YAAYJ,UAC7CA,WAAW,MAEX,QAAOX;AAGT,MAAIa,YAAYC,SAASE,OAAOC,KAAAA,KAAaJ,YAAYC,QAAQE,GAC/D,QAAOH,YAAYA,YAAYb,MAAM;AAEvC,SAAOA;IACNA,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCX,SAAgBkB,iBAAiB,EAC/BR,cACAS,YACwB;CAExB,MAAME,WADcxB,gBAAgB,EACNwB;AAE9BzB,iBAAgB;EAGd,MAAMI,QAASmB,SAASG,MAA6BtB;EACrD,MAAMuB,mBAAmBd,mBAAmBC,cAAcV,OAAO,MAAM;AAEvE,MAAI,CAACN,UAAU6B,kBAAkBvB,MAAM,CACrC,KAAI,OAAOqB,aAAa,WACtBA,UAAUF,SAASG,MAA2BE,MAAMD,iBAAiB;MAIpEJ,UAASG,MAAiDG,WAAW,EACpEC,QAAQ,EAAE1B,OAAOuB,kBAAiB,EACI,CAAC;IAG5C,CAACb,cAAcW,SAAS,CAAC;AAE5B,QAAO1B,sBAAMgC,aAAaR,UAAU;EAElC,GAAGA,SAASG;EACZG,WAAWG,UAA+C;GAExD,MAAML,mBAAmBd,mBACvBC,cACAkB,MAAMF,OAAO1B,OACb,SACD;AAED,OAAIuB,qBAAqBK,MAAMF,OAAO1B,SAASqB,UAAU;AACvDA,aAAUF,SAASG,MAA2BE,MAAMD,iBAAiB;AACrEzB,mBAAe8B,MAAMF,QAAQH,iBAAiB;;AAI/CJ,YAASG,MAAiDG,WACzDG,MACD;;EAGHC,SAASD,UAA8C;AAEpDT,YAASG,MAAiDO,SACzDD,MACD;GAGD,MAAMF,SAASE,MAAMF;GACrB,MAAMH,mBAAmBd,mBACvBC,cACAgB,OAAO1B,OACP,OACD;AAED,OAAI,CAACN,UAAU6B,kBAAkBG,OAAO1B,MAAM,EAAE;AAE9CF,mBAAe4B,QAAQH,iBAAiB;IACxC,MAAMO,cAAc,IAAIC,MAAM,UAAU,EAAEC,SAAS,MAAM,CAAC;AAC1DN,WAAOO,cAAcH,YAAY;;;EAGrCI,YAAYN,UAAiD;AAE1DT,YAASG,MAAiDY,YACzDN,MACD;AAGD,OAAIA,MAAMO,QAAQ,SAAS;IACzB,MAAMT,SAASE,MAAMF;IACrB,MAAMH,mBAAmBd,mBACvBC,cACAgB,OAAO1B,OACP,UACD;AAGD,QAAI,CAACN,UAAU6B,kBAAkBG,OAAO1B,MAAM,EAAE;AAC9CF,oBAAe4B,QAAQH,iBAAiB;KACxC,MAAMO,cAAc,IAAIC,MAAM,UAAU,EAAEC,SAAS,MAAM,CAAC;AAC1DN,YAAOO,cAAcH,YAAY;;;;EAIxC,CAAC"}
1
+ {"version":3,"file":"value-transformer.js","names":["deepEqual","React","useEffect","useFormContext","setNativeValue","element","value","valueSetter","Object","getOwnPropertyDescriptor","set","prototype","getPrototypeOf","prototypeValueSetter","call","_applyTransformers","transformers","filter","reduce","transformer","options","trigger","if","undefined","ValueTransformer","children","formContext","setValue","props","transformedValue","name","onChange","target","cloneElement","event","onBlur","changeEvent","Event","bubbles","dispatchEvent","onKeyDown","key"],"sources":["../../../../src/ui/components/value-transformer/value-transformer.tsx"],"sourcesContent":["import type {\n TransformerTrigger,\n TransformerType,\n ValueTransformerProps,\n} from \"#design-system\";\nimport { deepEqual } from \"#design-system/ui/lib\";\nimport React, { useEffect } from \"react\";\nimport { useFormContext } from \"react-hook-form\";\n\n// Workaround to set the value of an input element\n// following react core team recommendation\n// https://github.com/facebook/react/issues/10135\nfunction setNativeValue(element: HTMLInputElement, value: any) {\n const valueSetter = Object.getOwnPropertyDescriptor(element, \"value\")?.set;\n const prototype = Object.getPrototypeOf(element) as HTMLInputElement;\n const prototypeValueSetter = Object.getOwnPropertyDescriptor(\n prototype,\n \"value\",\n )?.set;\n\n if (valueSetter && valueSetter !== prototypeValueSetter) {\n prototypeValueSetter?.call(element, value);\n } else {\n valueSetter?.call(element, value);\n }\n}\n\n// apply transformers to the value\nfunction _applyTransformers(\n transformers: TransformerType,\n value: unknown,\n filter: TransformerTrigger | \"all\" = \"blur\",\n) {\n return transformers.reduce<unknown>((value, transformer) => {\n if (typeof transformer === \"function\") {\n if (filter === \"blur\" || filter === \"all\") {\n // array of transformers are only applied on blur\n return transformer(value);\n }\n return value;\n }\n\n // it is a transformer object\n if (\n (transformer.options?.trigger ?? \"blur\") !== filter &&\n filter !== \"all\"\n ) {\n return value;\n }\n // if no set, we assume true\n if (transformer.options?.if === undefined || transformer.options.if) {\n return transformer.transformer(value);\n }\n return value;\n }, value);\n}\n\n/**\n * Apply transformers to the value of the input element. A transformer is a function that\n * will be applied to the value of the input element modifying the value.\n *\n * @param transformers - An array of transformers. A transformer is an object with a\n * `transformer` property, which is a function that will be applied to the value of\n * the input element, and an optional `options` property. The `options` property can\n * have a `trigger` property, which is the event that triggers the transformer, and\n * an `if` property, which is a boolean that indicates if the transformer should be\n * applied.\n * @param children - The input element to apply the transformers to as children\n *\n * @example\n * <ValueTransformer transformers={[\n * {\n * transformer: (value) => value.toUpperCase(),\n * options: {\n * trigger: \"change\",\n * },\n * },\n * ]}>\n * <Input />\n * </ValueTransformer>\n *\n * @example\n * <ValueTransformer transformers={[\n * {\n * // trim the value on blur\n * transformer: (value) => (value as string).trim(),\n * },\n * ]}>\n * <Input />\n * </ValueTransformer>\n */\nexport function ValueTransformer({\n transformers,\n children,\n}: ValueTransformerProps) {\n const formContext = useFormContext();\n const setValue = formContext?.setValue;\n\n useEffect(() => {\n // apply all the transformers on mount to prevent untransformed values\n // if the field is not touched by the user\n const value = (children.props as { value: unknown }).value;\n const transformedValue = _applyTransformers(transformers, value, \"all\");\n\n if (!deepEqual(transformedValue, value)) {\n if (typeof setValue === \"function\") {\n setValue((children.props as { name: string }).name, transformedValue);\n } else {\n // if setValue is not available, then we're not inside a form context\n // so we need to update the value using onChange if available\n (children.props as React.HTMLAttributes<HTMLInputElement>).onChange?.({\n target: { value: transformedValue },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n }\n }, [transformers, setValue]);\n\n return React.cloneElement(children, {\n // @ts-expect-error - React.HTMLAttributes is not typed\n ...children.props,\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => {\n // apply transformers on change\n const transformedValue = _applyTransformers(\n transformers,\n event.target.value,\n \"change\",\n );\n\n if (transformedValue !== event.target.value && setValue) {\n setValue((children.props as { name: string }).name, transformedValue);\n setNativeValue(event.target, transformedValue);\n }\n\n // call the original onChange\n (children.props as React.HTMLAttributes<HTMLInputElement>).onChange?.(\n event,\n );\n },\n // apply transformers on blur\n onBlur: (event: React.FocusEvent<HTMLInputElement>) => {\n // call the original onBlur\n (children.props as React.HTMLAttributes<HTMLInputElement>).onBlur?.(\n event,\n );\n\n // apply the transformers\n const target = event.target;\n const transformedValue = _applyTransformers(\n transformers,\n target.value,\n \"blur\",\n );\n\n if (!deepEqual(transformedValue, target.value)) {\n // only dispatch change if the value has changed\n setNativeValue(target, transformedValue);\n const changeEvent = new Event(\"change\", { bubbles: true });\n target.dispatchEvent(changeEvent);\n }\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => {\n // call the original onKeyDown\n (children.props as React.HTMLAttributes<HTMLInputElement>).onKeyDown?.(\n event,\n );\n\n // apply the transformers\n if (event.key === \"Enter\") {\n const target = event.target as HTMLInputElement;\n const transformedValue = _applyTransformers(\n transformers,\n target.value,\n \"keyDown\",\n );\n\n // only dispatch change if the value has changed\n if (!deepEqual(transformedValue, target.value)) {\n setNativeValue(target, transformedValue);\n const changeEvent = new Event(\"change\", { bubbles: true });\n target.dispatchEvent(changeEvent);\n }\n }\n },\n });\n}\n"],"mappings":";;;;AAYA,SAASI,eAAeC,SAA2BC,OAAY;CAC7D,MAAMC,cAAcC,OAAOC,yBAAyBJ,SAAS,OAAO,CAAC,EAAEK;CACvE,MAAMC,YAAYH,OAAOI,eAAeP,OAAO;CAC/C,MAAMQ,uBAAuBL,OAAOC,yBAClCE,WACA,OACF,CAAC,EAAED;CAEH,IAAIH,eAAeA,gBAAgBM,sBACjCA,sBAAsBC,KAAKT,SAASC,KAAK;MAEzCC,aAAaO,KAAKT,SAASC,KAAK;AAEpC;AAGA,SAASS,mBACPC,cACAV,OACAW,SAAqC,QACrC;CACA,OAAOD,aAAaE,QAAiBZ,OAAOa,gBAAgB;EAC1D,IAAI,OAAOA,gBAAgB,YAAY;GACrC,IAAIF,WAAW,UAAUA,WAAW,OAElC,OAAOE,YAAYb,KAAK;GAE1B,OAAOA;EACT;EAGA,KACGa,YAAYC,SAASC,WAAW,YAAYJ,UAC7CA,WAAW,OAEX,OAAOX;EAGT,IAAIa,YAAYC,SAASE,OAAOC,KAAAA,KAAaJ,YAAYC,QAAQE,IAC/D,OAAOH,YAAYA,YAAYb,KAAK;EAEtC,OAAOA;CACT,GAAGA,KAAK;AACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,SAAgBkB,iBAAiB,EAC/BR,cACAS,YACwB;CAExB,MAAME,WADcxB,eACHuB,CAAW,EAAEC;CAE9BzB,gBAAgB;EAGd,MAAMI,QAASmB,SAASG,MAA6BtB;EACrD,MAAMuB,mBAAmBd,mBAAmBC,cAAcV,OAAO,KAAK;EAEtE,IAAI,CAACN,UAAU6B,kBAAkBvB,KAAK,GAAG;GACvC,IAAI,OAAOqB,aAAa,YACtBA,SAAUF,SAASG,MAA2BE,MAAMD,gBAAgB;QAInEJ,SAASG,MAAiDG,WAAW,EACpEC,QAAQ,EAAE1B,OAAOuB,iBAAiB,EACpC,CAAwC;EAE5C;CACF,GAAG,CAACb,cAAcW,QAAQ,CAAC;CAE3B,OAAO1B,oBAAMgC,aAAaR,UAAU;EAElC,GAAGA,SAASG;EACZG,WAAWG,UAA+C;GAExD,MAAML,mBAAmBd,mBACvBC,cACAkB,MAAMF,OAAO1B,OACb,QACF;GAEA,IAAIuB,qBAAqBK,MAAMF,OAAO1B,SAASqB,UAAU;IACvDA,SAAUF,SAASG,MAA2BE,MAAMD,gBAAgB;IACpEzB,eAAe8B,MAAMF,QAAQH,gBAAgB;GAC/C;GAGCJ,SAASG,MAAiDG,WACzDG,KACF;EACF;EAEAC,SAASD,UAA8C;GAEpDT,SAASG,MAAiDO,SACzDD,KACF;GAGA,MAAMF,SAASE,MAAMF;GACrB,MAAMH,mBAAmBd,mBACvBC,cACAgB,OAAO1B,OACP,MACF;GAEA,IAAI,CAACN,UAAU6B,kBAAkBG,OAAO1B,KAAK,GAAG;IAE9CF,eAAe4B,QAAQH,gBAAgB;IACvC,MAAMO,cAAc,IAAIC,MAAM,UAAU,EAAEC,SAAS,KAAK,CAAC;IACzDN,OAAOO,cAAcH,WAAW;GAClC;EACF;EACAI,YAAYN,UAAiD;GAE1DT,SAASG,MAAiDY,YACzDN,KACF;GAGA,IAAIA,MAAMO,QAAQ,SAAS;IACzB,MAAMT,SAASE,MAAMF;IACrB,MAAMH,mBAAmBd,mBACvBC,cACAgB,OAAO1B,OACP,SACF;IAGA,IAAI,CAACN,UAAU6B,kBAAkBG,OAAO1B,KAAK,GAAG;KAC9CF,eAAe4B,QAAQH,gBAAgB;KACvC,MAAMO,cAAc,IAAIC,MAAM,UAAU,EAAEC,SAAS,KAAK,CAAC;KACzDN,OAAOO,cAAcH,WAAW;IAClC;GACF;EACF;CACF,CAAC;AACH"}
@@ -1,2 +1,3 @@
1
- import { n as withFieldValidation, t as ValidationOptions } from "../../../with-field-validation-Di5D8vU-.js";
2
- export { ValidationOptions, withFieldValidation };
1
+ import { n as withFieldValidation, t as ValidationOptions } from "../../../with-field-validation-CObZoT4r.js";
2
+ export { ValidationOptions, withFieldValidation };
3
+ export {};
@@ -3,7 +3,7 @@ import { jsx } from "react/jsx-runtime";
3
3
  import { Controller, useFormContext, useFormState } from "react-hook-form";
4
4
  //#region src/ui/components/with-field-validation/with-field-validation.tsx
5
5
  const withFieldValidation = (Component, options) => {
6
- return /* @__PURE__ */ forwardRef(({ value, name, showErrorOnBlur, showErrorOnChange, validators: customValidators, ...props }, ref) => {
6
+ return /*#__PURE__*/ forwardRef(({ value, name, showErrorOnBlur, showErrorOnChange, validators: customValidators, ...props }, ref) => {
7
7
  const { onChange: onChangeProp, onBlur: onBlurProp } = props;
8
8
  const { control, formState: { errors: formErrors, defaultValues: _defaultValues }, trigger, setValue, getValues } = useFormContext();
9
9
  const { submitCount } = useFormState();
@@ -1 +1 @@
1
- {"version":3,"file":"with-field-validation.js","names":["forwardRef","useEffect","useState","Controller","useFormContext","useFormState","withFieldValidation","Component","options","value","name","showErrorOnBlur","showErrorOnChange","validators","customValidators","props","ref","onChange","onChangeProp","onBlur","onBlurProp","control","formState","errors","formErrors","defaultValues","_defaultValues","trigger","setValue","getValues","submitCount","Error","displayName","types","Object","values","length","push","required","initialized","setInitialized","undefined","console","warn","defaultValue","disabled","field","_","onBlurController","internalValue","rest","onBlurCallback","event","onChangeCallback","hasOwn","target","Event","HTMLElement","formFieldRef","combinedRef","element","current","message","pattern","RegExp","maxLength","minLength","minValue","min","maxValue","max","validate","fromEntries","Array","isArray","map","error","index","validations","entries","key","validatorFactory","propsWithValues","validator"],"sources":["../../../../src/ui/components/with-field-validation/with-field-validation.tsx"],"sourcesContent":["import type {\n ChangeEvent,\n ComponentType,\n ElementRef,\n FocusEvent,\n ForwardRefExoticComponent,\n PropsWithoutRef,\n RefAttributes,\n} from \"react\";\nimport { forwardRef, useEffect, useState } from \"react\";\nimport { Controller, useFormContext, useFormState } from \"react-hook-form\";\nimport type {\n FieldErrorHandling,\n InputBaseProps,\n ValidatorHandler,\n} from \"../../types.js\";\n\ninterface PossibleProps extends InputBaseProps<unknown>, FieldErrorHandling {\n pattern?: RegExp;\n maxLength?: number;\n minLength?: number;\n minValue?: number;\n maxValue?: number;\n}\n\ninterface PossibleEventsProps {\n onChange?: (event: ChangeEvent<unknown>) => unknown;\n onBlur?: (event: FocusEvent<unknown>) => unknown;\n}\n\nexport interface ValidationOptions<T> {\n validations?: Record<string, (parentProps: T) => ValidatorHandler>;\n transformValue?: (value: any) => any;\n}\n\nexport const withFieldValidation = <\n T extends PossibleProps,\n R extends ElementRef<any> = ElementRef<any>,\n>(\n Component: ComponentType<T>,\n options?: ValidationOptions<T>,\n): ForwardRefExoticComponent<PropsWithoutRef<T> & RefAttributes<R>> => {\n return forwardRef<R, T>(\n (\n {\n value,\n name,\n showErrorOnBlur,\n showErrorOnChange,\n validators: customValidators,\n ...props\n },\n ref,\n ) => {\n const { onChange: onChangeProp, onBlur: onBlurProp } =\n props as PossibleEventsProps;\n const {\n control,\n formState: { errors: formErrors, defaultValues: _defaultValues },\n trigger,\n setValue,\n getValues,\n } = useFormContext();\n const { submitCount } = useFormState();\n\n if (!name) {\n throw new Error(\n `[Field: ${Component.displayName}] The name prop is required.`,\n );\n }\n\n const errors = [\n ...(formErrors[name]?.types\n ? (Object.values(formErrors[name].types ?? []) as string[])\n : []),\n ];\n if (errors.length === 0 && !!formErrors[name]) {\n // the field is invalid but no error message was provided\n errors.push(\"Invalid value\");\n }\n\n useEffect(() => {\n if (submitCount > 0) {\n void trigger(name);\n }\n // we should trigger a re-validation after the form is submitted, the errors are shown\n // and the required prop is changed. Other deps can not be added, otherwise a revalidation\n // will be triggered unnecessarily\n }, [props.required]);\n\n useEffect(() => {\n // if custom errors are provided, then we need to trigger the validation\n // otherwise the errors will not be shown till the form is submitted\n if (props.errors && props.errors.length > 0) {\n void trigger(name);\n }\n }, [name, props.errors, trigger]);\n\n const [initialized, setInitialized] = useState(false);\n useEffect(() => {\n if (initialized) {\n setValue(name, value);\n }\n setInitialized(true);\n // initialized can not be in the dependencies because it would cause\n // a change of the value on initial render\n }, [name, value]);\n\n if (value !== undefined && !onChangeProp) {\n console.warn(\n `[Field: ${name}] Value prop provided without onChange so it will be ignored. Use disabled/readOnly if you want to prevent changes.`,\n );\n }\n\n return (\n <Controller\n control={control}\n name={name}\n defaultValue={(value ?? props.defaultValue) as unknown}\n disabled={props.disabled}\n render={({\n field: {\n // just preventing that onChange is included in the rest of the props\n onChange: _,\n onBlur: onBlurController,\n value: internalValue,\n ...rest\n },\n }) => {\n // ignore eslint that flags an error here:\n // React Hook \"useCallback\" cannot be called inside a callback.\n // React Hooks must be called in a React function component or a custom React Hook function.\n\n const onBlurCallback = (event: FocusEvent<HTMLInputElement>) => {\n if (showErrorOnBlur) {\n void trigger(name);\n } else {\n onBlurController(); // default behavior\n }\n\n // trigger parent onBlur\n if (onBlurProp) {\n onBlurProp(event);\n }\n };\n\n // ignore eslint that flags an error here:\n // React Hook \"useCallback\" cannot be called inside a callback.\n // React Hooks must be called in a React function component or a custom React Hook function.\n\n const onChangeCallback = (event: ChangeEvent<HTMLInputElement>) => {\n // update value state\n if (onChangeProp) {\n if (Object.hasOwn(event, \"target\")) {\n // it is probably an actual event\n setValue(name, event.target.value);\n } else {\n // it is a custom onChange and it pass the value directly\n setValue(name, event);\n }\n\n // the fields is controlled by the parent\n onChangeProp(event);\n } else {\n // sometimes the onChange is overridden by the parent and use the new value as parameter instead of event\n let value: unknown = event;\n if (\n event instanceof Event ||\n event.target instanceof HTMLElement\n ) {\n value = event.target.value;\n }\n setValue(name, value); // default behavior\n }\n\n // now let's validate the field\n if (\n showErrorOnChange === undefined &&\n showErrorOnBlur === undefined\n ) {\n // use form validation mode...\n // if previously validated, then validate on change\n if (submitCount > 0) {\n void trigger(name);\n }\n } else {\n // default validation behavior was overridden\n if (showErrorOnChange) {\n void trigger(name);\n }\n }\n };\n\n // extract ref from rest\n const { ref: formFieldRef } = rest;\n\n // create a combined ref\n const combinedRef = (element: R) => {\n // apply external ref if exists\n if (typeof ref === \"function\") {\n ref(element);\n } else if (ref) {\n ref.current = element;\n }\n // apply field ref\n formFieldRef(element);\n };\n\n return (\n <Component\n {...(props as unknown as T)}\n {...rest}\n value={internalValue as unknown}\n onBlur={onBlurCallback}\n onChange={onChangeCallback}\n errors={errors}\n ref={combinedRef}\n />\n );\n }}\n rules={{\n ...(props.required\n ? {\n required: {\n value: props.required,\n message: \"This field is required\",\n },\n }\n : {\n required: undefined,\n }),\n ...(props.pattern && {\n pattern: {\n value: new RegExp(props.pattern),\n message: \"This field does not match the required pattern\",\n },\n }),\n ...(props.maxLength !== undefined && props.maxLength >= 0\n ? {\n maxLength: {\n value: props.maxLength,\n message: `This field must be at most ${props.maxLength} characters`,\n },\n }\n : {\n maxLength: undefined,\n }),\n ...(props.minLength !== undefined && props.minLength >= 0\n ? {\n minLength: {\n value: props.minLength,\n message: `This field must be at least ${props.minLength} characters`,\n },\n }\n : {\n minLength: undefined,\n }),\n ...(props.minValue && {\n min: {\n value: props.minValue,\n message: `This field must be greater than or equal to ${props.minValue}`,\n },\n }),\n ...(props.maxValue && {\n max: {\n value: props.maxValue,\n message: `This field must be less than or equal to ${props.maxValue}`,\n },\n }),\n validate: {\n // custom errors provided as props\n ...(props.errors\n ? Object.fromEntries(\n Array.isArray(props.errors)\n ? props.errors.map((error, index) => [\n `_propError${index}`,\n () => error,\n ])\n : [],\n )\n : {}),\n // built in validations by the field in the library\n ...(options?.validations\n ? Object.fromEntries(\n Object.entries(options.validations).map(\n ([key, validatorFactory]) => {\n const propsWithValues = {\n value: getValues(name) as unknown, // get the actual value of the field in the form\n name,\n showErrorOnBlur,\n showErrorOnChange,\n ...props,\n };\n return [\n key,\n validatorFactory(propsWithValues as unknown as T),\n ];\n },\n ),\n )\n : {}),\n // custom validations by the user/developer\n ...(customValidators !== undefined\n ? Object.fromEntries(\n (Array.isArray(customValidators)\n ? customValidators\n : [customValidators]\n ).map((validator, index) => [\n `customValidation${index}`,\n validator,\n ]),\n )\n : {}),\n },\n }}\n />\n );\n },\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"with-field-validation.js","names":["forwardRef","useEffect","useState","Controller","useFormContext","useFormState","withFieldValidation","Component","options","value","name","showErrorOnBlur","showErrorOnChange","validators","customValidators","props","ref","onChange","onChangeProp","onBlur","onBlurProp","control","formState","errors","formErrors","defaultValues","_defaultValues","trigger","setValue","getValues","submitCount","Error","displayName","types","Object","values","length","push","required","initialized","setInitialized","undefined","console","warn","defaultValue","disabled","field","_","onBlurController","internalValue","rest","onBlurCallback","event","onChangeCallback","hasOwn","target","Event","HTMLElement","formFieldRef","combinedRef","element","current","message","pattern","RegExp","maxLength","minLength","minValue","min","maxValue","max","validate","fromEntries","Array","isArray","map","error","index","validations","entries","key","validatorFactory","propsWithValues","validator"],"sources":["../../../../src/ui/components/with-field-validation/with-field-validation.tsx"],"sourcesContent":["import type {\n ChangeEvent,\n ComponentType,\n ElementRef,\n FocusEvent,\n ForwardRefExoticComponent,\n PropsWithoutRef,\n RefAttributes,\n} from \"react\";\nimport { forwardRef, useEffect, useState } from \"react\";\nimport { Controller, useFormContext, useFormState } from \"react-hook-form\";\nimport type {\n FieldErrorHandling,\n InputBaseProps,\n ValidatorHandler,\n} from \"../../types.js\";\n\ninterface PossibleProps extends InputBaseProps<unknown>, FieldErrorHandling {\n pattern?: RegExp;\n maxLength?: number;\n minLength?: number;\n minValue?: number;\n maxValue?: number;\n}\n\ninterface PossibleEventsProps {\n onChange?: (event: ChangeEvent<unknown>) => unknown;\n onBlur?: (event: FocusEvent<unknown>) => unknown;\n}\n\nexport interface ValidationOptions<T> {\n validations?: Record<string, (parentProps: T) => ValidatorHandler>;\n transformValue?: (value: any) => any;\n}\n\nexport const withFieldValidation = <\n T extends PossibleProps,\n R extends ElementRef<any> = ElementRef<any>,\n>(\n Component: ComponentType<T>,\n options?: ValidationOptions<T>,\n): ForwardRefExoticComponent<PropsWithoutRef<T> & RefAttributes<R>> => {\n return forwardRef<R, T>(\n (\n {\n value,\n name,\n showErrorOnBlur,\n showErrorOnChange,\n validators: customValidators,\n ...props\n },\n ref,\n ) => {\n const { onChange: onChangeProp, onBlur: onBlurProp } =\n props as PossibleEventsProps;\n const {\n control,\n formState: { errors: formErrors, defaultValues: _defaultValues },\n trigger,\n setValue,\n getValues,\n } = useFormContext();\n const { submitCount } = useFormState();\n\n if (!name) {\n throw new Error(\n `[Field: ${Component.displayName}] The name prop is required.`,\n );\n }\n\n const errors = [\n ...(formErrors[name]?.types\n ? (Object.values(formErrors[name].types ?? []) as string[])\n : []),\n ];\n if (errors.length === 0 && !!formErrors[name]) {\n // the field is invalid but no error message was provided\n errors.push(\"Invalid value\");\n }\n\n useEffect(() => {\n if (submitCount > 0) {\n void trigger(name);\n }\n // we should trigger a re-validation after the form is submitted, the errors are shown\n // and the required prop is changed. Other deps can not be added, otherwise a revalidation\n // will be triggered unnecessarily\n }, [props.required]);\n\n useEffect(() => {\n // if custom errors are provided, then we need to trigger the validation\n // otherwise the errors will not be shown till the form is submitted\n if (props.errors && props.errors.length > 0) {\n void trigger(name);\n }\n }, [name, props.errors, trigger]);\n\n const [initialized, setInitialized] = useState(false);\n useEffect(() => {\n if (initialized) {\n setValue(name, value);\n }\n setInitialized(true);\n // initialized can not be in the dependencies because it would cause\n // a change of the value on initial render\n }, [name, value]);\n\n if (value !== undefined && !onChangeProp) {\n console.warn(\n `[Field: ${name}] Value prop provided without onChange so it will be ignored. Use disabled/readOnly if you want to prevent changes.`,\n );\n }\n\n return (\n <Controller\n control={control}\n name={name}\n defaultValue={(value ?? props.defaultValue) as unknown}\n disabled={props.disabled}\n render={({\n field: {\n // just preventing that onChange is included in the rest of the props\n onChange: _,\n onBlur: onBlurController,\n value: internalValue,\n ...rest\n },\n }) => {\n // ignore eslint that flags an error here:\n // React Hook \"useCallback\" cannot be called inside a callback.\n // React Hooks must be called in a React function component or a custom React Hook function.\n\n const onBlurCallback = (event: FocusEvent<HTMLInputElement>) => {\n if (showErrorOnBlur) {\n void trigger(name);\n } else {\n onBlurController(); // default behavior\n }\n\n // trigger parent onBlur\n if (onBlurProp) {\n onBlurProp(event);\n }\n };\n\n // ignore eslint that flags an error here:\n // React Hook \"useCallback\" cannot be called inside a callback.\n // React Hooks must be called in a React function component or a custom React Hook function.\n\n const onChangeCallback = (event: ChangeEvent<HTMLInputElement>) => {\n // update value state\n if (onChangeProp) {\n if (Object.hasOwn(event, \"target\")) {\n // it is probably an actual event\n setValue(name, event.target.value);\n } else {\n // it is a custom onChange and it pass the value directly\n setValue(name, event);\n }\n\n // the fields is controlled by the parent\n onChangeProp(event);\n } else {\n // sometimes the onChange is overridden by the parent and use the new value as parameter instead of event\n let value: unknown = event;\n if (\n event instanceof Event ||\n event.target instanceof HTMLElement\n ) {\n value = event.target.value;\n }\n setValue(name, value); // default behavior\n }\n\n // now let's validate the field\n if (\n showErrorOnChange === undefined &&\n showErrorOnBlur === undefined\n ) {\n // use form validation mode...\n // if previously validated, then validate on change\n if (submitCount > 0) {\n void trigger(name);\n }\n } else {\n // default validation behavior was overridden\n if (showErrorOnChange) {\n void trigger(name);\n }\n }\n };\n\n // extract ref from rest\n const { ref: formFieldRef } = rest;\n\n // create a combined ref\n const combinedRef = (element: R) => {\n // apply external ref if exists\n if (typeof ref === \"function\") {\n ref(element);\n } else if (ref) {\n ref.current = element;\n }\n // apply field ref\n formFieldRef(element);\n };\n\n return (\n <Component\n {...(props as unknown as T)}\n {...rest}\n value={internalValue as unknown}\n onBlur={onBlurCallback}\n onChange={onChangeCallback}\n errors={errors}\n ref={combinedRef}\n />\n );\n }}\n rules={{\n ...(props.required\n ? {\n required: {\n value: props.required,\n message: \"This field is required\",\n },\n }\n : {\n required: undefined,\n }),\n ...(props.pattern && {\n pattern: {\n value: new RegExp(props.pattern),\n message: \"This field does not match the required pattern\",\n },\n }),\n ...(props.maxLength !== undefined && props.maxLength >= 0\n ? {\n maxLength: {\n value: props.maxLength,\n message: `This field must be at most ${props.maxLength} characters`,\n },\n }\n : {\n maxLength: undefined,\n }),\n ...(props.minLength !== undefined && props.minLength >= 0\n ? {\n minLength: {\n value: props.minLength,\n message: `This field must be at least ${props.minLength} characters`,\n },\n }\n : {\n minLength: undefined,\n }),\n ...(props.minValue && {\n min: {\n value: props.minValue,\n message: `This field must be greater than or equal to ${props.minValue}`,\n },\n }),\n ...(props.maxValue && {\n max: {\n value: props.maxValue,\n message: `This field must be less than or equal to ${props.maxValue}`,\n },\n }),\n validate: {\n // custom errors provided as props\n ...(props.errors\n ? Object.fromEntries(\n Array.isArray(props.errors)\n ? props.errors.map((error, index) => [\n `_propError${index}`,\n () => error,\n ])\n : [],\n )\n : {}),\n // built in validations by the field in the library\n ...(options?.validations\n ? Object.fromEntries(\n Object.entries(options.validations).map(\n ([key, validatorFactory]) => {\n const propsWithValues = {\n value: getValues(name) as unknown, // get the actual value of the field in the form\n name,\n showErrorOnBlur,\n showErrorOnChange,\n ...props,\n };\n return [\n key,\n validatorFactory(propsWithValues as unknown as T),\n ];\n },\n ),\n )\n : {}),\n // custom validations by the user/developer\n ...(customValidators !== undefined\n ? Object.fromEntries(\n (Array.isArray(customValidators)\n ? customValidators\n : [customValidators]\n ).map((validator, index) => [\n `customValidation${index}`,\n validator,\n ]),\n )\n : {}),\n },\n }}\n />\n );\n },\n );\n};\n"],"mappings":";;;;AAmCA,MAAaM,uBAIXC,WACAC,YACqE;CACrE,OAAOR,0BAEH,EACES,OACAC,MACAC,iBACAC,mBACAC,YAAYC,kBACZ,GAAGC,SAELC,QACG;EACH,MAAM,EAAEC,UAAUC,cAAcC,QAAQC,eACtCL;EACF,MAAM,EACJM,SACAC,WAAW,EAAEC,QAAQC,YAAYC,eAAeC,kBAChDC,SACAC,UACAC,cACEzB,eAAe;EACnB,MAAM,EAAE0B,gBAAgBzB,aAAa;EAErC,IAAI,CAACK,MACH,MAAM,IAAIqB,MACR,WAAWxB,UAAUyB,YAAW,6BAClC;EAGF,MAAMT,SAAS,CACb,GAAIC,WAAWd,KAAK,EAAEuB,QACjBC,OAAOC,OAAOX,WAAWd,KAAK,CAACuB,SAAS,CAAA,CAAE,IAC3C,CAAA,CAAG;EAET,IAAIV,OAAOa,WAAW,KAAK,CAAC,CAACZ,WAAWd,OAEtCa,OAAOc,KAAK,eAAe;EAG7BpC,gBAAgB;GACd,IAAI6B,cAAc,GAChB,QAAapB,IAAI;EAKrB,GAAG,CAACK,MAAMuB,QAAQ,CAAC;EAEnBrC,gBAAgB;GAGd,IAAIc,MAAMQ,UAAUR,MAAMQ,OAAOa,SAAS,GACxC,QAAa1B,IAAI;EAErB,GAAG;GAACA;GAAMK,MAAMQ;GAAQI;EAAO,CAAC;EAEhC,MAAM,CAACY,aAAaC,kBAAkBtC,SAAS,KAAK;EACpDD,gBAAgB;GACd,IAAIsC,aACFX,SAASlB,MAAMD,KAAK;GAEtB+B,eAAe,IAAI;EAGrB,GAAG,CAAC9B,MAAMD,KAAK,CAAC;EAEhB,IAAIA,UAAUgC,KAAAA,KAAa,CAACvB,cAC1BwB,QAAQC,KACN,WAAWjC,KAAI,oHACjB;EAGF,OACE,oBAAC,YAAD;GACWW;GACHX;GACN,cAAeD,SAASM,MAAM6B;GAC9B,UAAU7B,MAAM8B;GAChB,SAAS,EACPC,OAAO,EAEL7B,UAAU8B,GACV5B,QAAQ6B,kBACRvC,OAAOwC,eACP,GAAGC,aAED;IAKJ,MAAMC,kBAAkBC,UAAwC;KAC9D,IAAIzC,iBACF,QAAaD,IAAI;UAEjBsC,iBAAiB;KAInB,IAAI5B,YACFA,WAAWgC,KAAK;IAEpB;IAMA,MAAMC,oBAAoBD,UAAyC;KAEjE,IAAIlC,cAAc;MAChB,IAAIgB,OAAOoB,OAAOF,OAAO,QAAQ,GAE/BxB,SAASlB,MAAM0C,MAAMG,OAAO9C,KAAK;WAGjCmB,SAASlB,MAAM0C,KAAK;MAItBlC,aAAakC,KAAK;KACpB,OAAO;MAEL,IAAI3C,QAAiB2C;MACrB,IACEA,iBAAiBI,SACjBJ,MAAMG,kBAAkBE,aAExBhD,QAAQ2C,MAAMG,OAAO9C;MAEvBmB,SAASlB,MAAMD,KAAK;KACtB;KAGA,IACEG,sBAAsB6B,KAAAA,KACtB9B,oBAAoB8B,KAAAA,GAIhBX;UAAAA,cAAc,GAChB,QAAapB,IAAI;KAAA,OAInB,IAAIE,mBACF,QAAaF,IAAI;IAGvB;IAGA,MAAM,EAAEM,KAAK0C,iBAAiBR;IAG9B,MAAMS,eAAeC,YAAe;KAElC,IAAI,OAAO5C,QAAQ,YACjBA,IAAI4C,OAAO;UACN,IAAI5C,KACTA,IAAI6C,UAAUD;KAGhBF,aAAaE,OAAO;IACtB;IAEA,OACE,oBAAC,WAAD;KACE,GAAK7C;KACL,GAAImC;KACJ,OAAOD;KACP,QAAQE;KACR,UAAUE;KACF9B;KACR,KAAKoC;IAAY,CAAA;GAGvB;GACA,OAAO;IACL,GAAI5C,MAAMuB,WACN,EACEA,UAAU;KACR7B,OAAOM,MAAMuB;KACbwB,SAAS;IACX,EACF,IACA,EACExB,UAAUG,KAAAA,EACZ;IACJ,GAAI1B,MAAMgD,WAAW,EACnBA,SAAS;KACPtD,OAAO,IAAIuD,OAAOjD,MAAMgD,OAAO;KAC/BD,SAAS;IACX,EACF;IACA,GAAI/C,MAAMkD,cAAcxB,KAAAA,KAAa1B,MAAMkD,aAAa,IACpD,EACEA,WAAW;KACTxD,OAAOM,MAAMkD;KACbH,SAAS,8BAA8B/C,MAAMkD,UAAS;IACxD,EACF,IACA,EACEA,WAAWxB,KAAAA,EACb;IACJ,GAAI1B,MAAMmD,cAAczB,KAAAA,KAAa1B,MAAMmD,aAAa,IACpD,EACEA,WAAW;KACTzD,OAAOM,MAAMmD;KACbJ,SAAS,+BAA+B/C,MAAMmD,UAAS;IACzD,EACF,IACA,EACEA,WAAWzB,KAAAA,EACb;IACJ,GAAI1B,MAAMoD,YAAY,EACpBC,KAAK;KACH3D,OAAOM,MAAMoD;KACbL,SAAS,+CAA+C/C,MAAMoD;IAChE,EACF;IACA,GAAIpD,MAAMsD,YAAY,EACpBC,KAAK;KACH7D,OAAOM,MAAMsD;KACbP,SAAS,4CAA4C/C,MAAMsD;IAC7D,EACF;IACAE,UAAU;KAER,GAAIxD,MAAMQ,SACNW,OAAOsC,YACLC,MAAMC,QAAQ3D,MAAMQ,MAAM,IACtBR,MAAMQ,OAAOoD,KAAKC,OAAOC,UAAU,CACjC,aAAaA,eACPD,KAAK,CACZ,IACD,CAAA,CACN,IACA,CAAC;KAEL,GAAIpE,SAASsE,cACT5C,OAAOsC,YACLtC,OAAO6C,QAAQvE,QAAQsE,WAAW,CAAC,CAACH,KACjC,CAACK,KAAKC,sBAAsB;MAQ3B,OAAO,CACLD,KACAC,iBAAiBC;OARjBzE,OAAOoB,UAAUnB,IAAI;OACrBA;OACAC;OACAC;OACA,GAAGG;MAIcmE,CAA+B,CAAC;KAErD,CACF,CACF,IACA,CAAC;KAEL,GAAIpE,qBAAqB2B,KAAAA,IACrBP,OAAOsC,aACJC,MAAMC,QAAQ5D,gBAAgB,IAC3BA,mBACA,CAACA,gBAAgB,EAAA,CACnB6D,KAAKQ,WAAWN,UAAU,CAC1B,mBAAmBA,SACnBM,SAAS,CACV,CACH,IACA,CAAC;IACP;GACF;EAAE,CAAA;CAGR,CACF;AACF"}
@@ -1,42 +1,44 @@
1
- import { C as SelectProps, S as SelectOption, _ as WithDifference, a as AmountInputPropsGeneric, b as RadioGroupProps, c as Currency, d as ErrorMessage, f as FieldErrorHandling, g as ViewMode, h as ValidatorResult, i as AmountFiat, l as CurrencyTicker, m as ValidatorHandler, n as AmountCrypto, o as AmountPercentage, p as InputBaseProps, r as AmountCurrency, s as AmountValue, t as Amount, u as DiffMode, v as IdAutocompleteOption, x as SelectBaseProps, y as IdAutocompleteProps } from "../index--hDSfvJT.js";
2
- import { a as TransformerType, c as WeekStartDayNumber, i as TransformerTrigger, n as DatePickerView, o as ValueTransformerFn, r as TransformerObject, s as ValueTransformerProps, t as DateFieldValue } from "../types-BTq-St7H.js";
3
- import { n as ButtonProps, r as buttonVariants, t as Button } from "../button-C8doazjv.js";
4
- import { n as CharacterCounterProps, t as CharacterCounter } from "../character-counter-BWoglM2P.js";
5
- import { n as CheckboxValue, t as CheckboxBase } from "../checkbox-base-CZo-4eL0.js";
6
- import { n as CheckboxProps, t as Checkbox } from "../checkbox-CGBtXQnI.js";
7
- import { a as CommandItem, i as CommandInput, n as CommandEmpty, o as CommandList, r as CommandGroup, s as CommandLoading, t as Command } from "../command-tFzjgzge.js";
8
- import { n as RadioGroupFieldProps, t as RadioGroupField } from "../radio-group-field-wlqeiLN3.js";
9
- import { n as SelectFieldProps, r as SelectFieldRaw, t as SelectField } from "../select-field-C97QIhUL.js";
10
- import { n as EnumFieldProps, t as EnumField } from "../enum-field-CwZVs3Ux.js";
11
- import { n as FormDescriptionProps, t as FormDescription } from "../form-description-CYkcMEzm.js";
12
- import { t as FormGroup } from "../form-group-C8kL6pdZ.js";
13
- import { n as FormLabelProps, t as FormLabel } from "../form-label-b6nQi0XO.js";
14
- import { n as FormMessageProps, r as FormMessageType, t as FormMessage } from "../form-message-Dq72nBXz.js";
15
- import { t as FormServerErrorMessage } from "../form-server-error-message-DXbaiTfF.js";
16
- import { t as FormMessageList } from "../message-list-C4mPpBBa.js";
17
- import { t as Form } from "../form-CKRKn0TQ.js";
18
- import { n as IdAutocompleteInputContainerProps, t as IdAutocompleteInputContainer } from "../id-autocomplete-input-container-DFEyPh5p.js";
19
- import { n as IdAutocompleteListOptionProps, t as IdAutocompleteListOption } from "../id-autocomplete-list-option-CB5B07Hi.js";
20
- import { n as IdAutocompleteListProps, t as IdAutocompleteList } from "../id-autocomplete-list-EzLpF23C.js";
21
- import { t as IdAutocomplete } from "../id-autocomplete-C-hwriS5.js";
22
- import { t as useIdAutocomplete } from "../use-id-autocomplete-By7YSChC.js";
23
- import { n as InputProps, t as Input } from "../input-BpEQjaWV.js";
24
- import { t as SplittedInputDiff } from "../splitted-input-diff-CwPedpov.js";
25
- import { t as JsonViewer } from "../json-viewer-DaTgmzkS.js";
26
- import { i as PopoverTrigger, n as PopoverAnchor, r as PopoverContent, t as Popover } from "../popover-XSBOuSih.js";
27
- import { n as RadioGroup, t as CustomizableRadioGroupProps } from "../radio-group-Bkli6nUz.js";
28
- import { n as RadioProps, t as Radio } from "../radio-eL0Oy86J.js";
29
- import { n as SearchAutocompleteProps, r as SearchAutocompleteRowContext, t as SearchAutocompleteOption } from "../types-C04Q_Fan.js";
30
- import { t as SearchAutocomplete } from "../search-autocomplete-BJJkrZ1i.js";
31
- import { t as useSearchAutocomplete } from "../use-search-autocomplete-IfcQ_gKh.js";
32
- import { t as Content } from "../content-BHWIqmio.js";
33
- import { t as SelectedContent } from "../selected-content-CGsK5PR4.js";
34
- import { n as TextInputProps, t as TextInput } from "../text-input-8zXIWHLi.js";
35
- import { n as TextFieldProps, t as TextField } from "../text-field-DSInH67J.js";
36
- import { a as NodeStatus, i as NodeSortType, n as NodeSortComparisonFn, o as SidebarIcon, r as NodeSortOrder, s as SidebarNode, t as FlattenedNode } from "../types-CNbvfWjh.js";
37
- import { n as SidebarProps, t as Sidebar } from "../sidebar-DOoE4krt.js";
38
- import { n as useSidebar, t as SidebarProvider } from "../sidebar-provider-C2eyz9TL.js";
39
- import { a as TooltipProps, i as TooltipContent, n as Root, o as Trigger, r as Tooltip, t as Provider } from "../tooltip-BxS9HpML.js";
40
- import { t as ValueTransformer } from "../value-transformer-DQjqtNih.js";
41
- import { n as withFieldValidation, t as ValidationOptions } from "../with-field-validation-Di5D8vU-.js";
42
- export { Amount, AmountCrypto, AmountCurrency, AmountFiat, AmountInputPropsGeneric, AmountPercentage, AmountValue, Button, ButtonProps, CharacterCounter, CharacterCounterProps, Checkbox, CheckboxBase, CheckboxProps, CheckboxValue, Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandLoading, Content, Currency, CurrencyTicker, CustomizableRadioGroupProps, DateFieldValue, DatePickerView, DiffMode, EnumField, EnumFieldProps, ErrorMessage, FieldErrorHandling, FlattenedNode, Form, FormDescription, FormDescriptionProps, FormGroup, FormLabel, FormLabelProps, FormMessage, FormMessageList, FormMessageProps, FormMessageType, FormServerErrorMessage, IdAutocomplete, IdAutocompleteInputContainer, IdAutocompleteInputContainerProps, IdAutocompleteList, IdAutocompleteListOption, IdAutocompleteListOptionProps, IdAutocompleteListProps, IdAutocompleteOption, IdAutocompleteProps, Input, InputBaseProps, InputProps, JsonViewer, NodeSortComparisonFn, NodeSortOrder, NodeSortType, NodeStatus, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Radio, RadioGroup, RadioGroupField, RadioGroupFieldProps, RadioGroupProps, RadioProps, SearchAutocomplete, SearchAutocompleteOption, SearchAutocompleteProps, SearchAutocompleteRowContext, SelectBaseProps, SelectField, SelectFieldProps, SelectFieldRaw, SelectOption, SelectProps, SelectedContent, Sidebar, SidebarIcon, SidebarNode, SidebarProps, SidebarProvider, SplittedInputDiff, TextField, TextFieldProps, TextInput, TextInputProps, Tooltip, TooltipContent, TooltipProps, Provider as TooltipProvider, Root as TooltipRoot, Trigger as TooltipTrigger, TransformerObject, TransformerTrigger, TransformerType, ValidationOptions, ValidatorHandler, ValidatorResult, ValueTransformer, ValueTransformerFn, ValueTransformerProps, ViewMode, WeekStartDayNumber, WithDifference, buttonVariants, useIdAutocomplete, useSearchAutocomplete, useSidebar, withFieldValidation };
1
+ import { C as SelectProps, S as SelectOption, _ as WithDifference, a as AmountInputPropsGeneric, b as RadioGroupProps, c as Currency, d as ErrorMessage, f as FieldErrorHandling, g as ViewMode, h as ValidatorResult, i as AmountFiat, l as CurrencyTicker, m as ValidatorHandler, n as AmountCrypto, o as AmountPercentage, p as InputBaseProps, r as AmountCurrency, s as AmountValue, t as Amount, u as DiffMode, v as IdAutocompleteOption, x as SelectBaseProps, y as IdAutocompleteProps } from "../index-Ck34z7kD.js";
2
+ import { a as TransformerType, c as WeekStartDayNumber, i as TransformerTrigger, n as DatePickerView, o as ValueTransformerFn, r as TransformerObject, s as ValueTransformerProps, t as DateFieldValue } from "../types-CpFPFB1a.js";
3
+ import { n as ButtonProps, r as buttonVariants, t as Button } from "../button-BYcXvZXr.js";
4
+ import { n as CharacterCounterProps, t as CharacterCounter } from "../character-counter-BZmZZCHN.js";
5
+ import { n as CheckboxValue, t as CheckboxBase } from "../checkbox-base-Bm0GPWgm.js";
6
+ import { n as CheckboxProps, t as Checkbox } from "../checkbox-BIhO-KB2.js";
7
+ import { a as CommandItem, i as CommandInput, n as CommandEmpty, o as CommandList, r as CommandGroup, s as CommandLoading, t as Command } from "../command-DHHTsHfH.js";
8
+ import { n as RadioGroupFieldProps, t as RadioGroupField } from "../radio-group-field-0-cC_e65.js";
9
+ import { n as SelectFieldProps, r as SelectFieldRaw, t as SelectField } from "../select-field-VZPf666l.js";
10
+ import { n as EnumFieldProps, t as EnumField } from "../enum-field-DsyC0ml7.js";
11
+ import { n as FormDescriptionProps, t as FormDescription } from "../form-description-DJrDJzJi.js";
12
+ import { t as FormGroup } from "../form-group-Ckd28lpW.js";
13
+ import { n as FormLabelProps, t as FormLabel } from "../form-label-C8ghd_lR.js";
14
+ import { n as FormMessageProps, r as FormMessageType, t as FormMessage } from "../form-message-CnKUkvlj.js";
15
+ import { t as FormServerErrorMessage } from "../form-server-error-message-D2tFtDZ0.js";
16
+ import { t as FormMessageList } from "../message-list-D8d2ltLd.js";
17
+ import { t as Form } from "../form-Brj5AQNr.js";
18
+ import { n as IdAutocompleteInputContainerProps, t as IdAutocompleteInputContainer } from "../id-autocomplete-input-container-iTw9wYZn.js";
19
+ import { n as IdAutocompleteListOptionProps, t as IdAutocompleteListOption } from "../id-autocomplete-list-option-DlpZer-2.js";
20
+ import { n as IdAutocompleteListProps, t as IdAutocompleteList } from "../id-autocomplete-list-BIC3RxOp.js";
21
+ import { t as IdAutocomplete } from "../id-autocomplete-Cr7p129s.js";
22
+ import { t as useIdAutocomplete } from "../use-id-autocomplete-WH2ROfQn.js";
23
+ import { n as InputProps, t as Input } from "../input-WDvjJFqf.js";
24
+ import { t as SplittedInputDiff } from "../splitted-input-diff-Bkoi0Odc.js";
25
+ import { t as JsonViewer } from "../json-viewer-Kg0IBIt-.js";
26
+ import { i as PopoverTrigger, n as PopoverAnchor, r as PopoverContent, t as Popover } from "../popover-TvQxa0RU.js";
27
+ import { n as RadioGroup, t as CustomizableRadioGroupProps } from "../radio-group-CROIwgYz.js";
28
+ import { n as RadioProps, t as Radio } from "../radio-CTS4WsNy.js";
29
+ import { n as SearchAutocompleteProps, r as SearchAutocompleteRowContext, t as SearchAutocompleteOption } from "../types-D4CirgNk.js";
30
+ import { t as SearchAutocomplete } from "../search-autocomplete-COvFRZIb.js";
31
+ import { t as useSearchAutocomplete } from "../use-search-autocomplete-vSvcsvcB.js";
32
+ import { t as Content } from "../content-Ch3oDYCL.js";
33
+ import { t as SelectedContent } from "../selected-content-D6NWiceG.js";
34
+ import { n as TextInputProps, t as TextInput } from "../text-input-CFRCPYq6.js";
35
+ import { n as TextFieldProps, t as TextField } from "../text-field-CDYSwanK.js";
36
+ import { a as NodeStatus, i as NodeSortType, n as NodeSortComparisonFn, o as SidebarIcon, r as NodeSortOrder, s as SidebarNode, t as FlattenedNode } from "../types-FTqFl5du.js";
37
+ import { n as SidebarProps, t as Sidebar } from "../sidebar-DFqreKf1.js";
38
+ import { n as useSidebar, t as SidebarProvider } from "../sidebar-provider-CZHhqW5n.js";
39
+ import { a as TooltipProps, i as TooltipContent, n as Root, o as Trigger, r as Tooltip, t as Provider } from "../tooltip-B4uQJPUm.js";
40
+ import { t as ValueTransformer } from "../value-transformer-Cg5TEYP2.js";
41
+ import { n as withFieldValidation, t as ValidationOptions } from "../with-field-validation-CObZoT4r.js";
42
+ import "../index-Ds9-qjjC.js";
43
+ export { type Amount, type AmountCrypto, type AmountCurrency, type AmountFiat, type AmountInputPropsGeneric, type AmountPercentage, type AmountValue, Button, ButtonProps, CharacterCounter, CharacterCounterProps, Checkbox, CheckboxBase, CheckboxProps, type CheckboxValue, Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandLoading, Content, type Currency, type CurrencyTicker, CustomizableRadioGroupProps, type DateFieldValue, type DatePickerView, type DiffMode, EnumField, EnumFieldProps, type ErrorMessage, type FieldErrorHandling, type FlattenedNode, Form, FormDescription, FormDescriptionProps, FormGroup, FormLabel, FormLabelProps, FormMessage, FormMessageList, FormMessageProps, FormMessageType, FormServerErrorMessage, IdAutocomplete, IdAutocompleteInputContainer, type IdAutocompleteInputContainerProps, IdAutocompleteList, IdAutocompleteListOption, type IdAutocompleteListOptionProps, type IdAutocompleteListProps, type IdAutocompleteOption, type IdAutocompleteProps, Input, type InputBaseProps, InputProps, JsonViewer, type NodeSortComparisonFn, type NodeSortOrder, type NodeSortType, type NodeStatus, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Radio, RadioGroup, RadioGroupField, RadioGroupFieldProps, type RadioGroupProps, RadioProps, SearchAutocomplete, type SearchAutocompleteOption, type SearchAutocompleteProps, type SearchAutocompleteRowContext, type SelectBaseProps, SelectField, SelectFieldProps, SelectFieldRaw, type SelectOption, type SelectProps, SelectedContent, Sidebar, type SidebarIcon, type SidebarNode, SidebarProps, SidebarProvider, SplittedInputDiff, TextField, TextFieldProps, TextInput, type TextInputProps, Tooltip, TooltipContent, type TooltipProps, Provider as TooltipProvider, Root as TooltipRoot, Trigger as TooltipTrigger, type TransformerObject, type TransformerTrigger, type TransformerType, ValidationOptions, type ValidatorHandler, type ValidatorResult, ValueTransformer, type ValueTransformerFn, type ValueTransformerProps, type ViewMode, type WeekStartDayNumber, type WithDifference, buttonVariants, useIdAutocomplete, useSearchAutocomplete, useSidebar, withFieldValidation };
44
+ export {};
@@ -1,11 +1,10 @@
1
- import { t as DateFieldValue } from "../../types-BTq-St7H.js";
2
-
1
+ import { t as DateFieldValue } from "../../types-CpFPFB1a.js";
3
2
  //#region src/ui/lib/date-picker.d.ts
4
- declare const splitIso8601DateTime: (isoString: string) => {
3
+ export declare const splitIso8601DateTime: (isoString: string) => {
5
4
  date: string;
6
5
  time: string;
7
6
  };
8
- declare const getDateFromValue: (value: DateFieldValue) => string;
7
+ export declare const getDateFromValue: (value: DateFieldValue) => string;
9
8
  //#endregion
10
- export { getDateFromValue, splitIso8601DateTime };
9
+ export {};
11
10
  //# sourceMappingURL=date-picker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.d.ts","names":[],"sources":["../../../src/ui/lib/date-picker.ts"],"mappings":";;;cAGa,oBAAA,GAAwB,SAAA;;;;cAiCxB,gBAAA,GAAoB,KAAA,EAAO,cAAA"}
1
+ {"version":3,"file":"date-picker.d.ts","names":[],"sources":["../../../src/ui/lib/date-picker.ts"],"mappings":";;qBAGa,uBAAoB;EAI7B;EACA;;qBA4BS,mBAAgB,OAAW"}
@@ -21,7 +21,8 @@ const splitDateTime = (value) => {
21
21
  };
22
22
  }
23
23
  if (isValid(value)) {
24
- const { date, time } = splitIso8601DateTime(value.toISOString());
24
+ const dateString = value.toISOString();
25
+ const { date, time } = splitIso8601DateTime(dateString);
25
26
  return {
26
27
  date,
27
28
  time
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.js","names":["isValid","splitIso8601DateTime","isoString","datePart","timePart","split","date","time","splitDateTime","value","defaultResult","dateString","toISOString","getDateFromValue"],"sources":["../../../src/ui/lib/date-picker.ts"],"sourcesContent":["import { isValid } from \"date-fns\";\nimport type { DateFieldValue } from \"./types.js\";\n\nexport const splitIso8601DateTime = (isoString: string) => {\n const [datePart, timePart] = isoString.split(\"T\");\n\n return {\n date: datePart,\n time: timePart,\n };\n};\n\nconst splitDateTime = (\n value: DateFieldValue,\n): { date: string; time: string } => {\n const defaultResult = { date: \"\", time: \"\" };\n\n if (!value) {\n return defaultResult;\n }\n\n if (typeof value === \"string\") {\n const { date, time } = splitIso8601DateTime(value);\n\n return { date, time };\n }\n\n if (isValid(value)) {\n const dateString = value.toISOString();\n const { date, time } = splitIso8601DateTime(dateString);\n return { date, time };\n }\n\n return defaultResult;\n};\n\nexport const getDateFromValue = (value: DateFieldValue): string => {\n const { date } = splitDateTime(value);\n return date;\n};\n"],"mappings":";;AAGA,MAAaC,wBAAwBC,cAAsB;CACzD,MAAM,CAACC,UAAUC,YAAYF,UAAUG,MAAM,IAAI;AAEjD,QAAO;EACLC,MAAMH;EACNI,MAAMH;EACP;;AAGH,MAAMI,iBACJC,UACmC;CACnC,MAAMC,gBAAgB;EAAEJ,MAAM;EAAIC,MAAM;EAAI;AAE5C,KAAI,CAACE,MACH,QAAOC;AAGT,KAAI,OAAOD,UAAU,UAAU;EAC7B,MAAM,EAAEH,MAAMC,SAASN,qBAAqBQ,MAAM;AAElD,SAAO;GAAEH;GAAMC;GAAM;;AAGvB,KAAIP,QAAQS,MAAM,EAAE;EAElB,MAAM,EAAEH,MAAMC,SAASN,qBADJQ,MAAMG,aAAa,CACiB;AACvD,SAAO;GAAEN;GAAMC;GAAM;;AAGvB,QAAOG;;AAGT,MAAaG,oBAAoBJ,UAAkC;CACjE,MAAM,EAAEH,SAASE,cAAcC,MAAM;AACrC,QAAOH"}
1
+ {"version":3,"file":"date-picker.js","names":["isValid","splitIso8601DateTime","isoString","datePart","timePart","split","date","time","splitDateTime","value","defaultResult","dateString","toISOString","getDateFromValue"],"sources":["../../../src/ui/lib/date-picker.ts"],"sourcesContent":["import { isValid } from \"date-fns\";\nimport type { DateFieldValue } from \"./types.js\";\n\nexport const splitIso8601DateTime = (isoString: string) => {\n const [datePart, timePart] = isoString.split(\"T\");\n\n return {\n date: datePart,\n time: timePart,\n };\n};\n\nconst splitDateTime = (\n value: DateFieldValue,\n): { date: string; time: string } => {\n const defaultResult = { date: \"\", time: \"\" };\n\n if (!value) {\n return defaultResult;\n }\n\n if (typeof value === \"string\") {\n const { date, time } = splitIso8601DateTime(value);\n\n return { date, time };\n }\n\n if (isValid(value)) {\n const dateString = value.toISOString();\n const { date, time } = splitIso8601DateTime(dateString);\n return { date, time };\n }\n\n return defaultResult;\n};\n\nexport const getDateFromValue = (value: DateFieldValue): string => {\n const { date } = splitDateTime(value);\n return date;\n};\n"],"mappings":";;AAGA,MAAaC,wBAAwBC,cAAsB;CACzD,MAAM,CAACC,UAAUC,YAAYF,UAAUG,MAAM,GAAG;CAEhD,OAAO;EACLC,MAAMH;EACNI,MAAMH;CACR;AACF;AAEA,MAAMI,iBACJC,UACmC;CACnC,MAAMC,gBAAgB;EAAEJ,MAAM;EAAIC,MAAM;CAAG;CAE3C,IAAI,CAACE,OACH,OAAOC;CAGT,IAAI,OAAOD,UAAU,UAAU;EAC7B,MAAM,EAAEH,MAAMC,SAASN,qBAAqBQ,KAAK;EAEjD,OAAO;GAAEH;GAAMC;EAAK;CACtB;CAEA,IAAIP,QAAQS,KAAK,GAAG;EAClB,MAAME,aAAaF,MAAMG,YAAY;EACrC,MAAM,EAAEN,MAAMC,SAASN,qBAAqBU,UAAU;EACtD,OAAO;GAAEL;GAAMC;EAAK;CACtB;CAEA,OAAOG;AACT;AAEA,MAAaG,oBAAoBJ,UAAkC;CACjE,MAAM,EAAEH,SAASE,cAAcC,KAAK;CACpC,OAAOH;AACT"}
@@ -1,6 +1,6 @@
1
1
  //#region src/ui/lib/date-time-picker.d.ts
2
- declare const ALLOWED_FORMATS: string[];
3
- declare const dateFormatRegexes: {
2
+ export declare const ALLOWED_FORMATS: string[];
3
+ export declare const dateFormatRegexes: {
4
4
  "yyyy-MM-dd": RegExp;
5
5
  "dd/MM/yyyy": RegExp;
6
6
  "MM/dd/yyyy": RegExp;
@@ -26,9 +26,9 @@ declare const dateFormatRegexes: {
26
26
  * @example
27
27
  * parseInputString("2024-01-01 12:00:00", "yyyy-MM-dd HH:mm:ss") // "2024-01-01 12:00:00"
28
28
  */
29
- declare const parseInputString: (inputString: string, dateFormat?: string) => string;
30
- declare const getDateFormat: (displayFormat: string) => string | undefined;
31
- declare const normalizeMonthFormat: (dateString: string) => string;
29
+ export declare const parseInputString: (inputString: string, dateFormat?: string) => string;
30
+ export declare const getDateFormat: (displayFormat: string) => string | undefined;
31
+ export declare const normalizeMonthFormat: (dateString: string) => string;
32
32
  //#endregion
33
- export { ALLOWED_FORMATS, dateFormatRegexes, getDateFormat, normalizeMonthFormat, parseInputString };
33
+ export {};
34
34
  //# sourceMappingURL=date-time-picker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-time-picker.d.ts","names":[],"sources":["../../../src/ui/lib/date-time-picker.ts"],"mappings":";cAEa,eAAA;AAAA,cAQA,iBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;cA8BA,gBAAA,GACX,WAAA,UACA,UAAA;AAAA,cA4BW,aAAA,GAAiB,aAAA;AAAA,cAiBjB,oBAAA,GAAwB,UAAA"}
1
+ {"version":3,"file":"date-time-picker.d.ts","names":[],"sources":["../../../src/ui/lib/date-time-picker.ts"],"mappings":";qBAEa;qBAQA;EACX,cAAY;EACZ,cAAY;EACZ,cAAY;EACZ,eAAa;EAEb,eAAa;;;;;;;;;;;;;;;;;;;;;qBAwBF,mBAAgB,qBACR;qBA6BR,gBAAa;qBAiBb,uBAAoB"}
@@ -1 +1 @@
1
- {"version":3,"file":"date-time-picker.js","names":["format","isValid","parse","ALLOWED_FORMATS","dateFormatRegexes","parseInputString","inputString","dateFormat","newInputString","normalizeMonthFormat","specifiedFormatRegex","test","parsedDate","Date","formatStr","regex","Object","entries","newValue","getDateFormat","displayFormat","undefined","dateString","months","replace","month","upperMonth","toUpperCase","monthIndex","indexOf","charAt","slice","toLowerCase"],"sources":["../../../src/ui/lib/date-time-picker.ts"],"sourcesContent":["import { format, isValid, parse } from \"date-fns\";\n\nexport const ALLOWED_FORMATS = [\n \"yyyy-MM-dd\",\n \"dd/MM/yyyy\",\n \"MM/dd/yyyy\",\n \"dd-MMM-yyyy\",\n \"MMM-dd-yyyy\",\n];\n\nexport const dateFormatRegexes = {\n \"yyyy-MM-dd\": /^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$/,\n \"dd/MM/yyyy\": /^(0[1-9]|[12]\\d|3[01])\\/(0[1-9]|1[0-2])\\/\\d{4}$/,\n \"MM/dd/yyyy\": /^(0[1-9]|1[0-2])\\/(0[1-9]|[12]\\d|3[01])\\/\\d{4}$/,\n \"dd-MMM-yyyy\":\n /^(0[1-9]|[12]\\d|3[01])-(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-\\d{4}$/,\n \"MMM-dd-yyyy\":\n /^(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(0[1-9]|[12]\\d|3[01])-\\d{4}$/,\n};\n\n/**\n * Gets the current UTC offset for a specific time zone\n * @param timeZone - The IANA time zone name (e.g. \"America/New_York\", \"Europe/London\").\n * If not provided or invalid, falls back to local system timezone.\n * @returns The offset in ISO 8601 format (±HH:mm) based on current DST rules.\n * @example\n * getOffset(\"America/New_York\") // Returns \"-04:00\" (EDT) or \"-05:00\" (EST)\n * getOffset(\"Asia/Kolkata\") // Returns \"+05:30\" (IST - no DST)\n * getOffset(\"Invalid/Zone\") // Returns local system offset (e.g. \"-03:00\")\n * getOffset() // Returns local system offset\n */\n\n/**\n * Parse an input string to a valid date format\n * @param inputString - The input string to parse\n * @param dateFormat - The date format to use\n * @returns The parsed date string\n * @example\n * parseInputString(\"2024-01-01 12:00:00\", \"yyyy-MM-dd HH:mm:ss\") // \"2024-01-01 12:00:00\"\n */\nexport const parseInputString = (\n inputString: string,\n dateFormat = ALLOWED_FORMATS[0],\n): string => {\n const newInputString = normalizeMonthFormat(inputString);\n\n if (!dateFormat || !inputString) return inputString;\n\n // First check the specified format\n const specifiedFormatRegex =\n dateFormatRegexes[dateFormat as keyof typeof dateFormatRegexes];\n if (specifiedFormatRegex.test(newInputString)) {\n const parsedDate = parse(newInputString, dateFormat, new Date());\n if (isValid(parsedDate)) {\n return format(parsedDate, dateFormat);\n }\n }\n\n for (const [formatStr, regex] of Object.entries(dateFormatRegexes)) {\n if (regex.test(newInputString)) {\n const parsedDate = parse(newInputString, formatStr, new Date());\n if (isValid(parsedDate)) {\n const newValue = format(parsedDate, dateFormat || formatStr);\n return newValue;\n }\n }\n }\n return inputString;\n};\n\nexport const getDateFormat = (displayFormat: string): string | undefined => {\n switch (displayFormat) {\n case \"YYYY-MM-DD\":\n return \"yyyy-MM-dd\";\n case \"DD/MM/YYYY\":\n return \"dd/MM/yyyy\";\n case \"MM/DD/YYYY\":\n return \"MM/dd/yyyy\";\n case \"DD-MMM-YYYY\":\n return \"dd-MMM-yyyy\";\n case \"MMM-DD-YYYY\":\n return \"MMM-dd-yyyy\";\n default:\n return undefined;\n }\n};\n\nexport const normalizeMonthFormat = (dateString: string): string => {\n const months = [\n \"JAN\",\n \"FEB\",\n \"MAR\",\n \"APR\",\n \"MAY\",\n \"JUN\",\n \"JUL\",\n \"AUG\",\n \"SEP\",\n \"OCT\",\n \"NOV\",\n \"DEC\",\n ];\n\n return dateString.replace(\n /(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)/i,\n (month) => {\n const upperMonth = month.toUpperCase();\n const monthIndex = months.indexOf(upperMonth);\n if (monthIndex !== -1) {\n return (\n months[monthIndex].charAt(0) +\n months[monthIndex].slice(1).toLowerCase()\n );\n }\n return month;\n },\n );\n};\n"],"mappings":";;AAEA,MAAaG,kBAAkB;CAC7B;CACA;CACA;CACA;CACA;CACD;AAED,MAAaC,oBAAoB;CAC/B,cAAc;CACd,cAAc;CACd,cAAc;CACd,eACE;CACF,eACE;CACH;;;;;;;;;;;;;;;;;;;;AAsBD,MAAaC,oBACXC,aACAC,aAAaJ,gBAAgB,OAClB;CACX,MAAMK,iBAAiBC,qBAAqBH,YAAY;AAExD,KAAI,CAACC,cAAc,CAACD,YAAa,QAAOA;AAKxC,KADEF,kBAAkBG,YACKI,KAAKH,eAAe,EAAE;EAC7C,MAAMI,aAAaV,MAAMM,gBAAgBD,4BAAY,IAAIM,MAAM,CAAC;AAChE,MAAIZ,QAAQW,WAAW,CACrB,QAAOZ,OAAOY,YAAYL,WAAW;;AAIzC,MAAK,MAAM,CAACO,WAAWC,UAAUC,OAAOC,QAAQb,kBAAkB,CAChE,KAAIW,MAAMJ,KAAKH,eAAe,EAAE;EAC9B,MAAMI,aAAaV,MAAMM,gBAAgBM,2BAAW,IAAID,MAAM,CAAC;AAC/D,MAAIZ,QAAQW,WAAW,CAErB,QADiBZ,OAAOY,YAAYL,cAAcO,UAAU;;AAKlE,QAAOR;;AAGT,MAAaa,iBAAiBC,kBAA8C;AAC1E,SAAQA,eAAR;EACE,KAAK,aACH,QAAO;EACT,KAAK,aACH,QAAO;EACT,KAAK,aACH,QAAO;EACT,KAAK,cACH,QAAO;EACT,KAAK,cACH,QAAO;EACT,QACE;;;AAIN,MAAaX,wBAAwBa,eAA+B;CAClE,MAAMC,SAAS;EACb;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;AAED,QAAOD,WAAWE,QAChB,uDACCC,UAAU;EACT,MAAMC,aAAaD,MAAME,aAAa;EACtC,MAAMC,aAAaL,OAAOM,QAAQH,WAAW;AAC7C,MAAIE,eAAe,GACjB,QACEL,OAAOK,YAAYE,OAAO,EAAE,GAC5BP,OAAOK,YAAYG,MAAM,EAAE,CAACC,aAAa;AAG7C,SAAOP;GAEV"}
1
+ {"version":3,"file":"date-time-picker.js","names":["format","isValid","parse","ALLOWED_FORMATS","dateFormatRegexes","parseInputString","inputString","dateFormat","newInputString","normalizeMonthFormat","specifiedFormatRegex","test","parsedDate","Date","formatStr","regex","Object","entries","newValue","getDateFormat","displayFormat","undefined","dateString","months","replace","month","upperMonth","toUpperCase","monthIndex","indexOf","charAt","slice","toLowerCase"],"sources":["../../../src/ui/lib/date-time-picker.ts"],"sourcesContent":["import { format, isValid, parse } from \"date-fns\";\n\nexport const ALLOWED_FORMATS = [\n \"yyyy-MM-dd\",\n \"dd/MM/yyyy\",\n \"MM/dd/yyyy\",\n \"dd-MMM-yyyy\",\n \"MMM-dd-yyyy\",\n];\n\nexport const dateFormatRegexes = {\n \"yyyy-MM-dd\": /^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$/,\n \"dd/MM/yyyy\": /^(0[1-9]|[12]\\d|3[01])\\/(0[1-9]|1[0-2])\\/\\d{4}$/,\n \"MM/dd/yyyy\": /^(0[1-9]|1[0-2])\\/(0[1-9]|[12]\\d|3[01])\\/\\d{4}$/,\n \"dd-MMM-yyyy\":\n /^(0[1-9]|[12]\\d|3[01])-(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-\\d{4}$/,\n \"MMM-dd-yyyy\":\n /^(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(0[1-9]|[12]\\d|3[01])-\\d{4}$/,\n};\n\n/**\n * Gets the current UTC offset for a specific time zone\n * @param timeZone - The IANA time zone name (e.g. \"America/New_York\", \"Europe/London\").\n * If not provided or invalid, falls back to local system timezone.\n * @returns The offset in ISO 8601 format (±HH:mm) based on current DST rules.\n * @example\n * getOffset(\"America/New_York\") // Returns \"-04:00\" (EDT) or \"-05:00\" (EST)\n * getOffset(\"Asia/Kolkata\") // Returns \"+05:30\" (IST - no DST)\n * getOffset(\"Invalid/Zone\") // Returns local system offset (e.g. \"-03:00\")\n * getOffset() // Returns local system offset\n */\n\n/**\n * Parse an input string to a valid date format\n * @param inputString - The input string to parse\n * @param dateFormat - The date format to use\n * @returns The parsed date string\n * @example\n * parseInputString(\"2024-01-01 12:00:00\", \"yyyy-MM-dd HH:mm:ss\") // \"2024-01-01 12:00:00\"\n */\nexport const parseInputString = (\n inputString: string,\n dateFormat = ALLOWED_FORMATS[0],\n): string => {\n const newInputString = normalizeMonthFormat(inputString);\n\n if (!dateFormat || !inputString) return inputString;\n\n // First check the specified format\n const specifiedFormatRegex =\n dateFormatRegexes[dateFormat as keyof typeof dateFormatRegexes];\n if (specifiedFormatRegex.test(newInputString)) {\n const parsedDate = parse(newInputString, dateFormat, new Date());\n if (isValid(parsedDate)) {\n return format(parsedDate, dateFormat);\n }\n }\n\n for (const [formatStr, regex] of Object.entries(dateFormatRegexes)) {\n if (regex.test(newInputString)) {\n const parsedDate = parse(newInputString, formatStr, new Date());\n if (isValid(parsedDate)) {\n const newValue = format(parsedDate, dateFormat || formatStr);\n return newValue;\n }\n }\n }\n return inputString;\n};\n\nexport const getDateFormat = (displayFormat: string): string | undefined => {\n switch (displayFormat) {\n case \"YYYY-MM-DD\":\n return \"yyyy-MM-dd\";\n case \"DD/MM/YYYY\":\n return \"dd/MM/yyyy\";\n case \"MM/DD/YYYY\":\n return \"MM/dd/yyyy\";\n case \"DD-MMM-YYYY\":\n return \"dd-MMM-yyyy\";\n case \"MMM-DD-YYYY\":\n return \"MMM-dd-yyyy\";\n default:\n return undefined;\n }\n};\n\nexport const normalizeMonthFormat = (dateString: string): string => {\n const months = [\n \"JAN\",\n \"FEB\",\n \"MAR\",\n \"APR\",\n \"MAY\",\n \"JUN\",\n \"JUL\",\n \"AUG\",\n \"SEP\",\n \"OCT\",\n \"NOV\",\n \"DEC\",\n ];\n\n return dateString.replace(\n /(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)/i,\n (month) => {\n const upperMonth = month.toUpperCase();\n const monthIndex = months.indexOf(upperMonth);\n if (monthIndex !== -1) {\n return (\n months[monthIndex].charAt(0) +\n months[monthIndex].slice(1).toLowerCase()\n );\n }\n return month;\n },\n );\n};\n"],"mappings":";;AAEA,MAAaG,kBAAkB;CAC7B;CACA;CACA;CACA;CACA;AAAa;AAGf,MAAaC,oBAAoB;CAC/B,cAAc;CACd,cAAc;CACd,cAAc;CACd,eACE;CACF,eACE;AACJ;;;;;;;;;;;;;;;;;;;;AAsBA,MAAaC,oBACXC,aACAC,aAAaJ,gBAAgB,OAClB;CACX,MAAMK,iBAAiBC,qBAAqBH,WAAW;CAEvD,IAAI,CAACC,cAAc,CAACD,aAAa,OAAOA;CAKxC,IADEF,kBAAkBG,WACI,CAACI,KAAKH,cAAc,GAAG;EAC7C,MAAMI,aAAaV,MAAMM,gBAAgBD,4BAAY,IAAIM,KAAK,CAAC;EAC/D,IAAIZ,QAAQW,UAAU,GACpB,OAAOZ,OAAOY,YAAYL,UAAU;CAExC;CAEA,KAAK,MAAM,CAACO,WAAWC,UAAUC,OAAOC,QAAQb,iBAAiB,GAC/D,IAAIW,MAAMJ,KAAKH,cAAc,GAAG;EAC9B,MAAMI,aAAaV,MAAMM,gBAAgBM,2BAAW,IAAID,KAAK,CAAC;EAC9D,IAAIZ,QAAQW,UAAU,GAEpB,OADiBZ,OAAOY,YAAYL,cAAcO,SAC3CI;CAEX;CAEF,OAAOZ;AACT;AAEA,MAAaa,iBAAiBC,kBAA8C;CAC1E,QAAQA,eAAR;EACE,KAAK,cACH,OAAO;EACT,KAAK,cACH,OAAO;EACT,KAAK,cACH,OAAO;EACT,KAAK,eACH,OAAO;EACT,KAAK,eACH,OAAO;EACT,SACE;CACJ;AACF;AAEA,MAAaX,wBAAwBa,eAA+B;CAClE,MAAMC,SAAS;EACb;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAK;CAGP,OAAOD,WAAWE,QAChB,uDACCC,UAAU;EACT,MAAMC,aAAaD,MAAME,YAAY;EACrC,MAAMC,aAAaL,OAAOM,QAAQH,UAAU;EAC5C,IAAIE,eAAe,IACjB,OACEL,OAAOK,WAAW,CAACE,OAAO,CAAC,IAC3BP,OAAOK,WAAW,CAACG,MAAM,CAAC,CAAC,CAACC,YAAY;EAG5C,OAAOP;CACT,CACF;AACF"}
@@ -1,5 +1,5 @@
1
1
  //#region src/ui/lib/deep-equal.d.ts
2
- declare function deepEqual(a: unknown, b: unknown, visited?: Map<any, any>): boolean;
2
+ export declare function deepEqual(a: unknown, b: unknown, visited?: Map<any, any>): boolean;
3
3
  //#endregion
4
- export { deepEqual };
4
+ export {};
5
5
  //# sourceMappingURL=deep-equal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deep-equal.d.ts","names":[],"sources":["../../../src/ui/lib/deep-equal.ts"],"mappings":";iBAAgB,SAAA,CACd,CAAA,WACA,CAAA,WACA,OAAA,GAAO,GAAA"}
1
+ {"version":3,"file":"deep-equal.d.ts","names":[],"sources":["../../../src/ui/lib/deep-equal.ts"],"mappings":";wBAAgB,UACd,YACA,YACA,UAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"deep-equal.js","names":["deepEqual","a","b","visited","Map","undefined","Array","isArray","get","set","length","every","value","index","aKeys","Object","keys","bKeys","key"],"sources":["../../../src/ui/lib/deep-equal.ts"],"sourcesContent":["export function deepEqual(\n a: unknown,\n b: unknown,\n visited = new Map(),\n): boolean {\n if (a === b) {\n return true;\n }\n\n if (a === null || b === null || a === undefined || b === undefined) {\n return false;\n }\n\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (Array.isArray(a) && Array.isArray(b)) {\n if (visited.get(a) === b) {\n return true; // Same circular reference detected\n }\n visited.set(a, b);\n return (\n a.length === b.length &&\n a.every((value, index) => deepEqual(value, b[index], visited))\n );\n }\n\n if (\n typeof a === \"object\" &&\n typeof b === \"object\" &&\n !Array.isArray(a) &&\n !Array.isArray(b)\n ) {\n if (visited.get(a) === b) {\n return true; // Same circular reference detected\n }\n visited.set(a, b);\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n return (\n aKeys.length === bKeys.length &&\n aKeys.every((key) => {\n return (\n key in b &&\n deepEqual(\n (a as Record<string, unknown>)[key],\n (b as Record<string, unknown>)[key],\n visited,\n )\n );\n })\n );\n }\n\n return false;\n}\n"],"mappings":";AAAA,SAAgBA,UACdC,GACAC,GACAC,0BAAU,IAAIC,KAAK,EACV;AACT,KAAIH,MAAMC,EACR,QAAO;AAGT,KAAID,MAAM,QAAQC,MAAM,QAAQD,MAAMI,KAAAA,KAAaH,MAAMG,KAAAA,EACvD,QAAO;AAGT,KAAI,OAAOJ,MAAM,OAAOC,EACtB,QAAO;AAGT,KAAII,MAAMC,QAAQN,EAAE,IAAIK,MAAMC,QAAQL,EAAE,EAAE;AACxC,MAAIC,QAAQK,IAAIP,EAAE,KAAKC,EACrB,QAAO;AAETC,UAAQM,IAAIR,GAAGC,EAAE;AACjB,SACED,EAAES,WAAWR,EAAEQ,UACfT,EAAEU,OAAOC,OAAOC,UAAUb,UAAUY,OAAOV,EAAEW,QAAQV,QAAQ,CAAC;;AAIlE,KACE,OAAOF,MAAM,YACb,OAAOC,MAAM,YACb,CAACI,MAAMC,QAAQN,EAAE,IACjB,CAACK,MAAMC,QAAQL,EAAE,EACjB;AACA,MAAIC,QAAQK,IAAIP,EAAE,KAAKC,EACrB,QAAO;AAETC,UAAQM,IAAIR,GAAGC,EAAE;EACjB,MAAMY,QAAQC,OAAOC,KAAKf,EAAE;EAC5B,MAAMgB,QAAQF,OAAOC,KAAKd,EAAE;AAC5B,SACEY,MAAMJ,WAAWO,MAAMP,UACvBI,MAAMH,OAAOO,QAAQ;AACnB,UACEA,OAAOhB,KACPF,UACGC,EAA8BiB,MAC9BhB,EAA8BgB,MAC/Bf,QACD;IAEH;;AAIN,QAAO"}
1
+ {"version":3,"file":"deep-equal.js","names":["deepEqual","a","b","visited","Map","undefined","Array","isArray","get","set","length","every","value","index","aKeys","Object","keys","bKeys","key"],"sources":["../../../src/ui/lib/deep-equal.ts"],"sourcesContent":["export function deepEqual(\n a: unknown,\n b: unknown,\n visited = new Map(),\n): boolean {\n if (a === b) {\n return true;\n }\n\n if (a === null || b === null || a === undefined || b === undefined) {\n return false;\n }\n\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (Array.isArray(a) && Array.isArray(b)) {\n if (visited.get(a) === b) {\n return true; // Same circular reference detected\n }\n visited.set(a, b);\n return (\n a.length === b.length &&\n a.every((value, index) => deepEqual(value, b[index], visited))\n );\n }\n\n if (\n typeof a === \"object\" &&\n typeof b === \"object\" &&\n !Array.isArray(a) &&\n !Array.isArray(b)\n ) {\n if (visited.get(a) === b) {\n return true; // Same circular reference detected\n }\n visited.set(a, b);\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n return (\n aKeys.length === bKeys.length &&\n aKeys.every((key) => {\n return (\n key in b &&\n deepEqual(\n (a as Record<string, unknown>)[key],\n (b as Record<string, unknown>)[key],\n visited,\n )\n );\n })\n );\n }\n\n return false;\n}\n"],"mappings":";AAAA,SAAgBA,UACdC,GACAC,GACAC,0BAAU,IAAIC,IAAI,GACT;CACT,IAAIH,MAAMC,GACR,OAAO;CAGT,IAAID,MAAM,QAAQC,MAAM,QAAQD,MAAMI,KAAAA,KAAaH,MAAMG,KAAAA,GACvD,OAAO;CAGT,IAAI,OAAOJ,MAAM,OAAOC,GACtB,OAAO;CAGT,IAAII,MAAMC,QAAQN,CAAC,KAAKK,MAAMC,QAAQL,CAAC,GAAG;EACxC,IAAIC,QAAQK,IAAIP,CAAC,MAAMC,GACrB,OAAO;EAETC,QAAQM,IAAIR,GAAGC,CAAC;EAChB,OACED,EAAES,WAAWR,EAAEQ,UACfT,EAAEU,OAAOC,OAAOC,UAAUb,UAAUY,OAAOV,EAAEW,QAAQV,OAAO,CAAC;CAEjE;CAEA,IACE,OAAOF,MAAM,YACb,OAAOC,MAAM,YACb,CAACI,MAAMC,QAAQN,CAAC,KAChB,CAACK,MAAMC,QAAQL,CAAC,GAChB;EACA,IAAIC,QAAQK,IAAIP,CAAC,MAAMC,GACrB,OAAO;EAETC,QAAQM,IAAIR,GAAGC,CAAC;EAChB,MAAMY,QAAQC,OAAOC,KAAKf,CAAC;EAC3B,MAAMgB,QAAQF,OAAOC,KAAKd,CAAC;EAC3B,OACEY,MAAMJ,WAAWO,MAAMP,UACvBI,MAAMH,OAAOO,QAAQ;GACnB,OACEA,OAAOhB,KACPF,UACGC,EAA8BiB,MAC9BhB,EAA8BgB,MAC/Bf,OACF;EAEJ,CAAC;CAEL;CAEA,OAAO;AACT"}
@@ -4,4 +4,5 @@ import { deepEqual } from "./deep-equal.js";
4
4
  import { isEmpty } from "./is-empty.js";
5
5
  import { sharedValueTransformers } from "./shared-value-transformers.js";
6
6
  import { ValueCast, castFunctions, castValue } from "./value-cast.js";
7
- export { ALLOWED_FORMATS, ValueCast, castFunctions, castValue, dateFormatRegexes, deepEqual, getDateFormat, getDateFromValue, isEmpty, normalizeMonthFormat, parseInputString, sharedValueTransformers, splitIso8601DateTime };
7
+ export { ALLOWED_FORMATS, ValueCast, castFunctions, castValue, dateFormatRegexes, deepEqual, getDateFormat, getDateFromValue, isEmpty, normalizeMonthFormat, parseInputString, sharedValueTransformers, splitIso8601DateTime };
8
+ export {};
@@ -1,5 +1,5 @@
1
1
  //#region src/ui/lib/is-empty.d.ts
2
- declare function isEmpty(value: unknown): boolean;
2
+ export declare function isEmpty(value: unknown): boolean;
3
3
  //#endregion
4
- export { isEmpty };
4
+ export {};
5
5
  //# sourceMappingURL=is-empty.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-empty.d.ts","names":[],"sources":["../../../src/ui/lib/is-empty.ts"],"mappings":";iBAAgB,OAAA,CAAQ,KAAA"}
1
+ {"version":3,"file":"is-empty.d.ts","names":[],"sources":["../../../src/ui/lib/is-empty.ts"],"mappings":";wBAAgB,QAAQ"}