@techzyapp/ui-library 1.0.43 → 1.0.45

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 (625) hide show
  1. package/README.md +15 -14
  2. package/dist/{Accordion-B4vdZXIu.cjs → Accordion-CFyeLfPT.cjs} +2 -2
  3. package/dist/{Accordion-B4vdZXIu.cjs.map → Accordion-CFyeLfPT.cjs.map} +1 -1
  4. package/dist/{Accordion-DhFZ25KV.js → Accordion-DOrTQJB9.js} +2 -2
  5. package/dist/{Accordion-DhFZ25KV.js.map → Accordion-DOrTQJB9.js.map} +1 -1
  6. package/dist/{AdminRoot-BLHvXCvL.js → AdminRoot-BZ1v5vN9.js} +8 -8
  7. package/dist/{AdminRoot-BLHvXCvL.js.map → AdminRoot-BZ1v5vN9.js.map} +1 -1
  8. package/dist/{AdminRoot-D_g_TW30.cjs → AdminRoot-DJ4-UMAB.cjs} +2 -2
  9. package/dist/{AdminRoot-D_g_TW30.cjs.map → AdminRoot-DJ4-UMAB.cjs.map} +1 -1
  10. package/dist/Alert-BU7GlQna.js +70 -0
  11. package/dist/{Alert-D5E1PLkV.js.map → Alert-BU7GlQna.js.map} +1 -1
  12. package/dist/Alert-CVQOjuEq.cjs +2 -0
  13. package/dist/{Alert-B4XZDk16.cjs.map → Alert-CVQOjuEq.cjs.map} +1 -1
  14. package/dist/{AuthLayout-q8pbCGdt.js → AuthLayout-BI1wLuDl.js} +2 -2
  15. package/dist/{AuthLayout-q8pbCGdt.js.map → AuthLayout-BI1wLuDl.js.map} +1 -1
  16. package/dist/{AuthLayout-exuNQicH.cjs → AuthLayout-Bzlsvicf.cjs} +2 -2
  17. package/dist/{AuthLayout-exuNQicH.cjs.map → AuthLayout-Bzlsvicf.cjs.map} +1 -1
  18. package/dist/{Avatar-l48Ice6t.cjs → Avatar-BBqX1732.cjs} +2 -2
  19. package/dist/{Avatar-l48Ice6t.cjs.map → Avatar-BBqX1732.cjs.map} +1 -1
  20. package/dist/{Avatar-ClcmN0ba.js → Avatar-CaYyv5wk.js} +2 -2
  21. package/dist/{Avatar-ClcmN0ba.js.map → Avatar-CaYyv5wk.js.map} +1 -1
  22. package/dist/{AvatarGroup-l-KV3wdl.js → AvatarGroup-6fhm-van.js} +2 -2
  23. package/dist/{AvatarGroup-l-KV3wdl.js.map → AvatarGroup-6fhm-van.js.map} +1 -1
  24. package/dist/{AvatarGroup-CuvFX4di.cjs → AvatarGroup-DrkzAt1-.cjs} +2 -2
  25. package/dist/{AvatarGroup-CuvFX4di.cjs.map → AvatarGroup-DrkzAt1-.cjs.map} +1 -1
  26. package/dist/Breadcrumbs-BMz_YVPa.js +34 -0
  27. package/dist/{Breadcrumbs-M31xyok8.js.map → Breadcrumbs-BMz_YVPa.js.map} +1 -1
  28. package/dist/Breadcrumbs-BbC0o4JE.cjs +2 -0
  29. package/dist/{Breadcrumbs-DSUxcp6u.cjs.map → Breadcrumbs-BbC0o4JE.cjs.map} +1 -1
  30. package/dist/Button-C415LPw_.js +72 -0
  31. package/dist/{Button-CtADzomU.js.map → Button-C415LPw_.js.map} +1 -1
  32. package/dist/Button-mBZOvgyZ.cjs +2 -0
  33. package/dist/{Button-Q_5uA-zc.cjs.map → Button-mBZOvgyZ.cjs.map} +1 -1
  34. package/dist/{Calendar-CHLCv2s9.js → Calendar-B0f6h9-A.js} +5 -5
  35. package/dist/{Calendar-CHLCv2s9.js.map → Calendar-B0f6h9-A.js.map} +1 -1
  36. package/dist/{Calendar-BbbtMsZs.cjs → Calendar-hO051hfk.cjs} +2 -2
  37. package/dist/{Calendar-BbbtMsZs.cjs.map → Calendar-hO051hfk.cjs.map} +1 -1
  38. package/dist/{Card-CntRsQfm.cjs → Card-BdNr5row.cjs} +2 -2
  39. package/dist/{Card-CntRsQfm.cjs.map → Card-BdNr5row.cjs.map} +1 -1
  40. package/dist/{Card-Br9IB0yM.js → Card-ssUNaOF_.js} +4 -4
  41. package/dist/{Card-Br9IB0yM.js.map → Card-ssUNaOF_.js.map} +1 -1
  42. package/dist/Chip-BpJN4rzY.cjs +2 -0
  43. package/dist/{Chip-CrBizrvG.cjs.map → Chip-BpJN4rzY.cjs.map} +1 -1
  44. package/dist/Chip-C0x-6g2h.js +92 -0
  45. package/dist/{Chip-DYZ5w7VM.js.map → Chip-C0x-6g2h.js.map} +1 -1
  46. package/dist/ChoiceCardGroup-Cj_YFj6C.cjs +2 -0
  47. package/dist/{ChoiceCardGroup-C7Eengyd.cjs.map → ChoiceCardGroup-Cj_YFj6C.cjs.map} +1 -1
  48. package/dist/ChoiceCardGroup-D37XREKV.js +180 -0
  49. package/dist/{ChoiceCardGroup-q0yN-TeQ.js.map → ChoiceCardGroup-D37XREKV.js.map} +1 -1
  50. package/dist/CodeBlock-DKnWINdV.js +96 -0
  51. package/dist/{CodeBlock-B6Eqc4HR.js.map → CodeBlock-DKnWINdV.js.map} +1 -1
  52. package/dist/CodeBlock-DTrzN95i.cjs +2 -0
  53. package/dist/{CodeBlock-DW4uaZXM.cjs.map → CodeBlock-DTrzN95i.cjs.map} +1 -1
  54. package/dist/{ColorPicker-GsKIqJu8.js → ColorPicker-Bidev2DJ.js} +3 -3
  55. package/dist/{ColorPicker-GsKIqJu8.js.map → ColorPicker-Bidev2DJ.js.map} +1 -1
  56. package/dist/{ColorPicker-nhWd_nOW.cjs → ColorPicker-Doaegll4.cjs} +2 -2
  57. package/dist/{ColorPicker-nhWd_nOW.cjs.map → ColorPicker-Doaegll4.cjs.map} +1 -1
  58. package/dist/{ColorPickerPanel-BeAu83S6.cjs → ColorPickerPanel-048Fj7wv.cjs} +2 -2
  59. package/dist/{ColorPickerPanel-BeAu83S6.cjs.map → ColorPickerPanel-048Fj7wv.cjs.map} +1 -1
  60. package/dist/{ColorPickerPanel-BEcZePcT.js → ColorPickerPanel-DThSuUoz.js} +3 -3
  61. package/dist/{ColorPickerPanel-BEcZePcT.js.map → ColorPickerPanel-DThSuUoz.js.map} +1 -1
  62. package/dist/{ColorRamp-C-zRPhHj.cjs → ColorRamp-CGw4D9bf.cjs} +2 -2
  63. package/dist/{ColorRamp-C-zRPhHj.cjs.map → ColorRamp-CGw4D9bf.cjs.map} +1 -1
  64. package/dist/{ColorRamp-CeNgd8wF.js → ColorRamp-Reb0q69d.js} +2 -2
  65. package/dist/{ColorRamp-CeNgd8wF.js.map → ColorRamp-Reb0q69d.js.map} +1 -1
  66. package/dist/{ConfigProvider-Ci9Q2HLF.cjs → ConfigProvider-DBU6rOIA.cjs} +2 -2
  67. package/dist/{ConfigProvider-Ci9Q2HLF.cjs.map → ConfigProvider-DBU6rOIA.cjs.map} +1 -1
  68. package/dist/{ConfigProvider-Dqfu7UBU.js → ConfigProvider-DVDGtCUc.js} +2 -2
  69. package/dist/{ConfigProvider-Dqfu7UBU.js.map → ConfigProvider-DVDGtCUc.js.map} +1 -1
  70. package/dist/{CopyButton-Chr7SP5i.cjs → CopyButton-Cnab62vt.cjs} +2 -2
  71. package/dist/{CopyButton-Chr7SP5i.cjs.map → CopyButton-Cnab62vt.cjs.map} +1 -1
  72. package/dist/{CopyButton-Bidt2Vgp.js → CopyButton-Dm8-V4ku.js} +4 -4
  73. package/dist/{CopyButton-Bidt2Vgp.js.map → CopyButton-Dm8-V4ku.js.map} +1 -1
  74. package/dist/DashedButton-BX8hfY1x.cjs +2 -0
  75. package/dist/{DashedButton-Dw7xHgIp.cjs.map → DashedButton-BX8hfY1x.cjs.map} +1 -1
  76. package/dist/DashedButton-wcmXTYBw.js +58 -0
  77. package/dist/{DashedButton-csz6Jt_K.js.map → DashedButton-wcmXTYBw.js.map} +1 -1
  78. package/dist/{DatePicker-D7ZMOhWn.js → DatePicker-C4MTCmDn.js} +6 -6
  79. package/dist/{DatePicker-D7ZMOhWn.js.map → DatePicker-C4MTCmDn.js.map} +1 -1
  80. package/dist/{DatePicker-4rb34nPR.cjs → DatePicker-CaGeW_-j.cjs} +2 -2
  81. package/dist/{DatePicker-4rb34nPR.cjs.map → DatePicker-CaGeW_-j.cjs.map} +1 -1
  82. package/dist/DatePicker.module-BaQyKOUM.cjs +2 -0
  83. package/dist/{DatePicker.module-BDtTsg8M.cjs.map → DatePicker.module-BaQyKOUM.cjs.map} +1 -1
  84. package/dist/DatePicker.module-DoywSvLu.js +138 -0
  85. package/dist/{DatePicker.module-CMMQyEhG.js.map → DatePicker.module-DoywSvLu.js.map} +1 -1
  86. package/dist/{DateTimePicker-gDxM2CGy.js → DateTimePicker-B0CjHKPV.js} +9 -9
  87. package/dist/{DateTimePicker-gDxM2CGy.js.map → DateTimePicker-B0CjHKPV.js.map} +1 -1
  88. package/dist/{DateTimePicker-CVFzKzyA.cjs → DateTimePicker-DXKaAYey.cjs} +2 -2
  89. package/dist/{DateTimePicker-CVFzKzyA.cjs.map → DateTimePicker-DXKaAYey.cjs.map} +1 -1
  90. package/dist/DescriptionList-BSDwobDc.cjs +2 -0
  91. package/dist/{DescriptionList-BBvfABps.cjs.map → DescriptionList-BSDwobDc.cjs.map} +1 -1
  92. package/dist/{DescriptionList-Die3lRBW.js → DescriptionList-BkUS5egS.js} +69 -69
  93. package/dist/{DescriptionList-Die3lRBW.js.map → DescriptionList-BkUS5egS.js.map} +1 -1
  94. package/dist/Dropdown-C_y9_dVn.cjs +2 -0
  95. package/dist/Dropdown-C_y9_dVn.cjs.map +1 -0
  96. package/dist/Dropdown-D-D_Z1Jo.js +154 -0
  97. package/dist/Dropdown-D-D_Z1Jo.js.map +1 -0
  98. package/dist/{EmptyState-D5EKQjX1.cjs → EmptyState-CkkFHKrh.cjs} +2 -2
  99. package/dist/{EmptyState-D5EKQjX1.cjs.map → EmptyState-CkkFHKrh.cjs.map} +1 -1
  100. package/dist/{EmptyState-DRgER10x.js → EmptyState-DXoaPC7o.js} +3 -3
  101. package/dist/{EmptyState-DRgER10x.js.map → EmptyState-DXoaPC7o.js.map} +1 -1
  102. package/dist/{ErrorBoundary-CLfE2NjU.js → ErrorBoundary-CSP_Ctg6.js} +3 -3
  103. package/dist/{ErrorBoundary-CLfE2NjU.js.map → ErrorBoundary-CSP_Ctg6.js.map} +1 -1
  104. package/dist/{ErrorBoundary-DVcGWZd8.cjs → ErrorBoundary-tZjKtO28.cjs} +2 -2
  105. package/dist/{ErrorBoundary-DVcGWZd8.cjs.map → ErrorBoundary-tZjKtO28.cjs.map} +1 -1
  106. package/dist/{ErrorState-DJDQbHZY.cjs → ErrorState-JH4JdrTI.cjs} +2 -2
  107. package/dist/{ErrorState-DJDQbHZY.cjs.map → ErrorState-JH4JdrTI.cjs.map} +1 -1
  108. package/dist/{ErrorState-Dqw0AvmB.js → ErrorState-WYsly5-i.js} +8 -8
  109. package/dist/{ErrorState-Dqw0AvmB.js.map → ErrorState-WYsly5-i.js.map} +1 -1
  110. package/dist/FileCard-BIfPqeek.cjs +2 -0
  111. package/dist/{FileCard-BqMproT9.cjs.map → FileCard-BIfPqeek.cjs.map} +1 -1
  112. package/dist/{FileCard-kVnjcSlk.js → FileCard-D4TB3qGG.js} +33 -33
  113. package/dist/{FileCard-kVnjcSlk.js.map → FileCard-D4TB3qGG.js.map} +1 -1
  114. package/dist/FileUploader-DPVF76Ha.js +701 -0
  115. package/dist/FileUploader-DPVF76Ha.js.map +1 -0
  116. package/dist/FileUploader-YE_DfTNC.cjs +2 -0
  117. package/dist/FileUploader-YE_DfTNC.cjs.map +1 -0
  118. package/dist/{Flag-B1ZvZVXi.cjs → Flag-B6OhgwZr.cjs} +2 -2
  119. package/dist/{Flag-B1ZvZVXi.cjs.map → Flag-B6OhgwZr.cjs.map} +1 -1
  120. package/dist/{Flag-BEIqYQZg.js → Flag-Q3vI7cgt.js} +2 -2
  121. package/dist/{Flag-BEIqYQZg.js.map → Flag-Q3vI7cgt.js.map} +1 -1
  122. package/dist/{FullscreenToggle-BuQonKW8.js → FullscreenToggle-CxwGPLdd.js} +4 -4
  123. package/dist/{FullscreenToggle-BuQonKW8.js.map → FullscreenToggle-CxwGPLdd.js.map} +1 -1
  124. package/dist/{FullscreenToggle-CWlOXLss.cjs → FullscreenToggle-ipX55Nj4.cjs} +2 -2
  125. package/dist/{FullscreenToggle-CWlOXLss.cjs.map → FullscreenToggle-ipX55Nj4.cjs.map} +1 -1
  126. package/dist/Icon-B7DJn8Tw.js +5418 -0
  127. package/dist/Icon-B7DJn8Tw.js.map +1 -0
  128. package/dist/Icon-CBg21lKA.cjs +2 -0
  129. package/dist/Icon-CBg21lKA.cjs.map +1 -0
  130. package/dist/IconButton-U_sr2Ahy.cjs +2 -0
  131. package/dist/{IconButton-CiDPeKM4.cjs.map → IconButton-U_sr2Ahy.cjs.map} +1 -1
  132. package/dist/IconButton-re6xITGO.js +68 -0
  133. package/dist/{IconButton-BoURJOUD.js.map → IconButton-re6xITGO.js.map} +1 -1
  134. package/dist/ImageEditor-1n50vo_v.cjs +64 -0
  135. package/dist/ImageEditor-1n50vo_v.cjs.map +1 -0
  136. package/dist/ImageEditor-BwrG1fk7.js +2729 -0
  137. package/dist/ImageEditor-BwrG1fk7.js.map +1 -0
  138. package/dist/Link-BZjolIAF.js +48 -0
  139. package/dist/{Link-BQlvsu9V.js.map → Link-BZjolIAF.js.map} +1 -1
  140. package/dist/Link-CtttVM6w.cjs +2 -0
  141. package/dist/{Link-GZT51mKx.cjs.map → Link-CtttVM6w.cjs.map} +1 -1
  142. package/dist/{List-CKoNx21F.cjs → List-CLUXeaXS.cjs} +2 -2
  143. package/dist/{List-CKoNx21F.cjs.map → List-CLUXeaXS.cjs.map} +1 -1
  144. package/dist/{List-2Y3ktTcF.js → List-DS91CZUt.js} +2 -2
  145. package/dist/{List-2Y3ktTcF.js.map → List-DS91CZUt.js.map} +1 -1
  146. package/dist/ListItem-CguNjf-u.cjs +2 -0
  147. package/dist/{ListItem-DkCYXucd.cjs.map → ListItem-CguNjf-u.cjs.map} +1 -1
  148. package/dist/ListItem-Ezmdk7q-.js +76 -0
  149. package/dist/{ListItem-2Lr5_NRY.js.map → ListItem-Ezmdk7q-.js.map} +1 -1
  150. package/dist/{Loader-CnTuddK7.js → Loader-7v1QBvHY.js} +2 -2
  151. package/dist/{Loader-CnTuddK7.js.map → Loader-7v1QBvHY.js.map} +1 -1
  152. package/dist/{Loader-CAmRn8Oj.cjs → Loader-BE3SQr7W.cjs} +2 -2
  153. package/dist/{Loader-CAmRn8Oj.cjs.map → Loader-BE3SQr7W.cjs.map} +1 -1
  154. package/dist/{LocationPicker-Cns3fkYI.js → LocationPicker-BvKtZFq0.js} +8 -8
  155. package/dist/{LocationPicker-Cns3fkYI.js.map → LocationPicker-BvKtZFq0.js.map} +1 -1
  156. package/dist/{LocationPicker-BwQ6ULMF.cjs → LocationPicker-CVJ4jVn2.cjs} +2 -2
  157. package/dist/{LocationPicker-BwQ6ULMF.cjs.map → LocationPicker-CVJ4jVn2.cjs.map} +1 -1
  158. package/dist/Modal-CxODxl81.cjs +2 -0
  159. package/dist/Modal-CxODxl81.cjs.map +1 -0
  160. package/dist/Modal-DpoiMMM3.js +154 -0
  161. package/dist/Modal-DpoiMMM3.js.map +1 -0
  162. package/dist/MultiSelect-2GouMRTl.cjs +2 -0
  163. package/dist/{MultiSelect-DJ6tRseY.cjs.map → MultiSelect-2GouMRTl.cjs.map} +1 -1
  164. package/dist/MultiSelect-B7KwEhL5.js +219 -0
  165. package/dist/{MultiSelect-svEVZNbp.js.map → MultiSelect-B7KwEhL5.js.map} +1 -1
  166. package/dist/{NumberField-9ekoB1wS.js → NumberField-ThojS4K3.js} +4 -4
  167. package/dist/{NumberField-9ekoB1wS.js.map → NumberField-ThojS4K3.js.map} +1 -1
  168. package/dist/{NumberField-sokUuuBR.cjs → NumberField-o2z2QNK1.cjs} +2 -2
  169. package/dist/{NumberField-sokUuuBR.cjs.map → NumberField-o2z2QNK1.cjs.map} +1 -1
  170. package/dist/OtpField-BhZq44vV.cjs +2 -0
  171. package/dist/{OtpField-DlkGju72.cjs.map → OtpField-BhZq44vV.cjs.map} +1 -1
  172. package/dist/{OtpField-DA7zJwy9.js → OtpField-C3MlMZ2F.js} +61 -61
  173. package/dist/{OtpField-DA7zJwy9.js.map → OtpField-C3MlMZ2F.js.map} +1 -1
  174. package/dist/Overlay-CywFQfjm.cjs +2 -0
  175. package/dist/Overlay-CywFQfjm.cjs.map +1 -0
  176. package/dist/Overlay-DiL0ZARH.js +60 -0
  177. package/dist/Overlay-DiL0ZARH.js.map +1 -0
  178. package/dist/{PageError-vD8Dpfns.js → PageError-63Gk6fVC.js} +5 -5
  179. package/dist/{PageError-vD8Dpfns.js.map → PageError-63Gk6fVC.js.map} +1 -1
  180. package/dist/{PageError-DUN5PzDF.cjs → PageError-CCKWbrc5.cjs} +2 -2
  181. package/dist/{PageError-DUN5PzDF.cjs.map → PageError-CCKWbrc5.cjs.map} +1 -1
  182. package/dist/{PageLayout-CdObvxt7.js → PageLayout-BekkDBtT.js} +5 -5
  183. package/dist/{PageLayout-CdObvxt7.js.map → PageLayout-BekkDBtT.js.map} +1 -1
  184. package/dist/{PageLayout-BesuKuX6.cjs → PageLayout-CDPUYu6A.cjs} +2 -2
  185. package/dist/{PageLayout-BesuKuX6.cjs.map → PageLayout-CDPUYu6A.cjs.map} +1 -1
  186. package/dist/{PageNotFound-Cc5eZ6w3.js → PageNotFound-BD3zX3cd.js} +5 -5
  187. package/dist/{PageNotFound-Cc5eZ6w3.js.map → PageNotFound-BD3zX3cd.js.map} +1 -1
  188. package/dist/{PageNotFound-CfOAhmJ-.cjs → PageNotFound-CTR6htwa.cjs} +2 -2
  189. package/dist/{PageNotFound-CfOAhmJ-.cjs.map → PageNotFound-CTR6htwa.cjs.map} +1 -1
  190. package/dist/Pagination-BJvLUjQ0.cjs +2 -0
  191. package/dist/{Pagination-CAD9_Nr_.cjs.map → Pagination-BJvLUjQ0.cjs.map} +1 -1
  192. package/dist/Pagination-qKjISBJ9.js +139 -0
  193. package/dist/{Pagination-CX0S1RrF.js.map → Pagination-qKjISBJ9.js.map} +1 -1
  194. package/dist/{PaletteField-CpiEkXcB.cjs → PaletteField-CDS9CJW9.cjs} +2 -2
  195. package/dist/{PaletteField-CpiEkXcB.cjs.map → PaletteField-CDS9CJW9.cjs.map} +1 -1
  196. package/dist/{PaletteField-CVIwl2nV.js → PaletteField-y8KpR4Ap.js} +3 -3
  197. package/dist/{PaletteField-CVIwl2nV.js.map → PaletteField-y8KpR4Ap.js.map} +1 -1
  198. package/dist/PhoneField-Df3J6Hhg.cjs +2 -0
  199. package/dist/{PhoneField-Dlnnv4DU.cjs.map → PhoneField-Df3J6Hhg.cjs.map} +1 -1
  200. package/dist/{PhoneField-xHLTU-o5.js → PhoneField-OjsuevPx.js} +106 -106
  201. package/dist/{PhoneField-xHLTU-o5.js.map → PhoneField-OjsuevPx.js.map} +1 -1
  202. package/dist/{Popconfirm-Chlm_M5T.cjs → Popconfirm-BKzJ_EZy.cjs} +2 -2
  203. package/dist/{Popconfirm-Chlm_M5T.cjs.map → Popconfirm-BKzJ_EZy.cjs.map} +1 -1
  204. package/dist/{Popconfirm-DIlygJY8.js → Popconfirm-aCyniPnH.js} +4 -4
  205. package/dist/{Popconfirm-DIlygJY8.js.map → Popconfirm-aCyniPnH.js.map} +1 -1
  206. package/dist/{Progress-DqvKmyQW.cjs → Progress-DWOoLd8u.cjs} +2 -2
  207. package/dist/{Progress-DqvKmyQW.cjs.map → Progress-DWOoLd8u.cjs.map} +1 -1
  208. package/dist/{Progress-BAEhawtj.js → Progress-DzxbkcaD.js} +2 -2
  209. package/dist/{Progress-BAEhawtj.js.map → Progress-DzxbkcaD.js.map} +1 -1
  210. package/dist/{QrCode-Dqsk49vX.cjs → QrCode-C8uAPiHq.cjs} +2 -2
  211. package/dist/{QrCode-Dqsk49vX.cjs.map → QrCode-C8uAPiHq.cjs.map} +1 -1
  212. package/dist/{QrCode-D7BTYcW2.js → QrCode-DaJYqBc1.js} +2 -2
  213. package/dist/{QrCode-D7BTYcW2.js.map → QrCode-DaJYqBc1.js.map} +1 -1
  214. package/dist/{RemoveDialog-DZ-EqIfS.cjs → RemoveDialog-BnOtR6-q.cjs} +2 -2
  215. package/dist/{RemoveDialog-DZ-EqIfS.cjs.map → RemoveDialog-BnOtR6-q.cjs.map} +1 -1
  216. package/dist/{RemoveDialog-CQIm9GTH.js → RemoveDialog-MhEU5Zl3.js} +6 -6
  217. package/dist/{RemoveDialog-CQIm9GTH.js.map → RemoveDialog-MhEU5Zl3.js.map} +1 -1
  218. package/dist/RichTextEditor-Cnrnvv1f.cjs +2 -0
  219. package/dist/RichTextEditor-Cnrnvv1f.cjs.map +1 -0
  220. package/dist/RichTextEditor-zkoxujnO.js +1148 -0
  221. package/dist/RichTextEditor-zkoxujnO.js.map +1 -0
  222. package/dist/{RootLayout-Cl98ghy1.js → RootLayout-C4r9i5Go.js} +21 -21
  223. package/dist/{RootLayout-Cl98ghy1.js.map → RootLayout-C4r9i5Go.js.map} +1 -1
  224. package/dist/{RootLayout-s_Q_kSoS.cjs → RootLayout-Z9PuRfsa.cjs} +2 -2
  225. package/dist/{RootLayout-s_Q_kSoS.cjs.map → RootLayout-Z9PuRfsa.cjs.map} +1 -1
  226. package/dist/Select-CylqFHce.cjs +2 -0
  227. package/dist/{Select-BrjXCXtl.cjs.map → Select-CylqFHce.cjs.map} +1 -1
  228. package/dist/{Select-CG8UJL9R.js → Select-jT94L1vq.js} +47 -47
  229. package/dist/{Select-CG8UJL9R.js.map → Select-jT94L1vq.js.map} +1 -1
  230. package/dist/{Sidebar-CbPr34jd.js → Sidebar-B1O2RsbR.js} +59 -59
  231. package/dist/{Sidebar-CbPr34jd.js.map → Sidebar-B1O2RsbR.js.map} +1 -1
  232. package/dist/Sidebar-Bcm0fgVm.cjs +2 -0
  233. package/dist/{Sidebar-DLlqHvQJ.cjs.map → Sidebar-Bcm0fgVm.cjs.map} +1 -1
  234. package/dist/{Slider-DTnui01g.cjs → Slider-CV7ug0WF.cjs} +2 -2
  235. package/dist/{Slider-DTnui01g.cjs.map → Slider-CV7ug0WF.cjs.map} +1 -1
  236. package/dist/{Slider-B5iG-HSw.js → Slider-DC-ugZwT.js} +2 -2
  237. package/dist/{Slider-B5iG-HSw.js.map → Slider-DC-ugZwT.js.map} +1 -1
  238. package/dist/{SpeedDial-Be3SHkzw.js → SpeedDial-C6yiMUe8.js} +3 -3
  239. package/dist/{SpeedDial-Be3SHkzw.js.map → SpeedDial-C6yiMUe8.js.map} +1 -1
  240. package/dist/{SpeedDial-i5kxikmt.cjs → SpeedDial-DOgm2DDX.cjs} +2 -2
  241. package/dist/{SpeedDial-i5kxikmt.cjs.map → SpeedDial-DOgm2DDX.cjs.map} +1 -1
  242. package/dist/Stepper-BZdYGpBN.js +168 -0
  243. package/dist/{Stepper-BDQt-oVG.js.map → Stepper-BZdYGpBN.js.map} +1 -1
  244. package/dist/Stepper-DqM86TGV.cjs +2 -0
  245. package/dist/{Stepper-e8qBsKYW.cjs.map → Stepper-DqM86TGV.cjs.map} +1 -1
  246. package/dist/{SwatchPicker-0gnOvv7U.cjs → SwatchPicker-DCjE0T80.cjs} +2 -2
  247. package/dist/{SwatchPicker-0gnOvv7U.cjs.map → SwatchPicker-DCjE0T80.cjs.map} +1 -1
  248. package/dist/{SwatchPicker-BZHRELA-.js → SwatchPicker-DS4WY2eM.js} +2 -2
  249. package/dist/{SwatchPicker-BZHRELA-.js.map → SwatchPicker-DS4WY2eM.js.map} +1 -1
  250. package/dist/Table-BgaCwRDQ.cjs +2 -0
  251. package/dist/Table-BgaCwRDQ.cjs.map +1 -0
  252. package/dist/{Table-ChdM_vyi.js → Table-FZlVWoYi.js} +346 -346
  253. package/dist/Table-FZlVWoYi.js.map +1 -0
  254. package/dist/Tabs-BqQPkorY.js +193 -0
  255. package/dist/{Tabs-BxZrgozI.js.map → Tabs-BqQPkorY.js.map} +1 -1
  256. package/dist/Tabs-kGeyFhJ6.cjs +2 -0
  257. package/dist/{Tabs-C4kB1yfG.cjs.map → Tabs-kGeyFhJ6.cjs.map} +1 -1
  258. package/dist/{TagsField-Bg5BcQU-.cjs → TagsField-B_sjp48X.cjs} +2 -2
  259. package/dist/{TagsField-Bg5BcQU-.cjs.map → TagsField-B_sjp48X.cjs.map} +1 -1
  260. package/dist/{TagsField-DWlIt7XO.js → TagsField-ByTx9JXK.js} +5 -5
  261. package/dist/{TagsField-DWlIt7XO.js.map → TagsField-ByTx9JXK.js.map} +1 -1
  262. package/dist/{TextField-B-xqoDZR.cjs → TextField-CBYJIfau.cjs} +2 -2
  263. package/dist/{TextField-B-xqoDZR.cjs.map → TextField-CBYJIfau.cjs.map} +1 -1
  264. package/dist/{TextField-Dwx5GPxz.js → TextField-CyKIx-d-.js} +4 -4
  265. package/dist/{TextField-Dwx5GPxz.js.map → TextField-CyKIx-d-.js.map} +1 -1
  266. package/dist/{ThemeToggle-DFgv1bsh.cjs → ThemeToggle-D2dIqiBa.cjs} +2 -2
  267. package/dist/{ThemeToggle-DFgv1bsh.cjs.map → ThemeToggle-D2dIqiBa.cjs.map} +1 -1
  268. package/dist/{ThemeToggle-CK2USfgx.js → ThemeToggle-Dg6IishB.js} +4 -4
  269. package/dist/{ThemeToggle-CK2USfgx.js.map → ThemeToggle-Dg6IishB.js.map} +1 -1
  270. package/dist/TimeColumns-Cx8J5qzW.js +147 -0
  271. package/dist/{TimeColumns-BWcuu3l7.js.map → TimeColumns-Cx8J5qzW.js.map} +1 -1
  272. package/dist/TimeColumns-DVmK_T_P.cjs +2 -0
  273. package/dist/{TimeColumns-B8KTj-tc.cjs.map → TimeColumns-DVmK_T_P.cjs.map} +1 -1
  274. package/dist/{TimePicker-DjL15hz1.cjs → TimePicker-0nZOPRKp.cjs} +2 -2
  275. package/dist/{TimePicker-DjL15hz1.cjs.map → TimePicker-0nZOPRKp.cjs.map} +1 -1
  276. package/dist/{TimePicker-YMVHevpZ.js → TimePicker-sAhtvqQ4.js} +7 -7
  277. package/dist/{TimePicker-YMVHevpZ.js.map → TimePicker-sAhtvqQ4.js.map} +1 -1
  278. package/dist/Timeline-DOojNvLG.cjs +2 -0
  279. package/dist/Timeline-DOojNvLG.cjs.map +1 -0
  280. package/dist/Timeline-Dg03dwTN.js +87 -0
  281. package/dist/Timeline-Dg03dwTN.js.map +1 -0
  282. package/dist/{Toaster-pHN2pxrU.js → Toaster-BOW9rzLq.js} +3 -3
  283. package/dist/{Toaster-pHN2pxrU.js.map → Toaster-BOW9rzLq.js.map} +1 -1
  284. package/dist/{Toaster-9hZ5MuW7.cjs → Toaster-DYGo92ke.cjs} +2 -2
  285. package/dist/{Toaster-9hZ5MuW7.cjs.map → Toaster-DYGo92ke.cjs.map} +1 -1
  286. package/dist/ToggleButtonGroup-CGNRLxjg.cjs +2 -0
  287. package/dist/{ToggleButtonGroup-Ci_DFvdt.cjs.map → ToggleButtonGroup-CGNRLxjg.cjs.map} +1 -1
  288. package/dist/{ToggleButtonGroup-Mdskkjdh.js → ToggleButtonGroup-K6ZcrTZT.js} +37 -37
  289. package/dist/{ToggleButtonGroup-Mdskkjdh.js.map → ToggleButtonGroup-K6ZcrTZT.js.map} +1 -1
  290. package/dist/{TranslatedFields-SvS37hab.cjs → TranslatedFields-C_DuLotV.cjs} +2 -2
  291. package/dist/{TranslatedFields-SvS37hab.cjs.map → TranslatedFields-C_DuLotV.cjs.map} +1 -1
  292. package/dist/{TranslatedFields-BpWU5ZcG.js → TranslatedFields-CcE0td9p.js} +5 -5
  293. package/dist/{TranslatedFields-BpWU5ZcG.js.map → TranslatedFields-CcE0td9p.js.map} +1 -1
  294. package/dist/{UserCard-VPaexedS.cjs → UserCard-DLVptkLr.cjs} +2 -2
  295. package/dist/{UserCard-VPaexedS.cjs.map → UserCard-DLVptkLr.cjs.map} +1 -1
  296. package/dist/{UserCard-cmZrMvwL.js → UserCard-DeONbaKj.js} +5 -5
  297. package/dist/{UserCard-cmZrMvwL.js.map → UserCard-DeONbaKj.js.map} +1 -1
  298. package/dist/chunks/icons/{25-knEB8mSp.js → 25-BMMPtr_E.js} +4 -5
  299. package/dist/chunks/icons/{25-Dho_3EHD.cjs → 25-uATZNfXE.cjs} +1 -1
  300. package/dist/chunks/icons/{2b-CQJdcF1h.js → 2b-Brkug4c-.js} +10 -11
  301. package/dist/chunks/icons/{2b-C2_97u16.cjs → 2b-CIVRGp1R.cjs} +1 -1
  302. package/dist/chunks/icons/57-BLoIUlhF.js +27 -0
  303. package/dist/chunks/icons/57-D4zLdDZ1.cjs +1 -0
  304. package/dist/chunks/icons/{75-DqLkMUyj.cjs → 75-C2eJ2Tvr.cjs} +1 -1
  305. package/dist/chunks/icons/{75-D5RQw6IJ.js → 75-D16WojvG.js} +6 -7
  306. package/dist/chunks/icons/{7c-DpnA_JOJ.js → 7c-0j5Sno5_.js} +6 -7
  307. package/dist/chunks/icons/{7c-DEaFwltT.cjs → 7c-LUfAyp72.cjs} +1 -1
  308. package/dist/chunks/icons/8a-BJ_LOjmW.js +26 -0
  309. package/dist/chunks/icons/8a-CYkhOibI.cjs +1 -0
  310. package/dist/chunks/icons/97-Bx7FkkGJ.js +12 -0
  311. package/dist/chunks/icons/97-D7pUHrOX.cjs +1 -0
  312. package/dist/chunks/icons/{b7-BtHkI92Y.js → b7-DmmkevXf.js} +17 -18
  313. package/dist/chunks/icons/{b7-B-dB5jrV.cjs → b7-rI1GpsxW.cjs} +1 -1
  314. package/dist/chunks/icons/b8-De0yKEKv.js +28 -0
  315. package/dist/chunks/icons/b8-eR814BVJ.cjs +1 -0
  316. package/dist/chunks/icons/{b9-Bw942fE3.js → b9-CJO6ZdSw.js} +10 -11
  317. package/dist/chunks/icons/{b9-Be-J4RIp.cjs → b9-DZdWz9qg.cjs} +1 -1
  318. package/dist/chunks/icons/d5-BAPeb6B0.cjs +1 -0
  319. package/dist/chunks/icons/d5-BJJanOLe.js +21 -0
  320. package/dist/chunks/icons/d8--vRkIVal.js +19 -0
  321. package/dist/chunks/icons/d8-BfMys92X.cjs +1 -0
  322. package/dist/chunks/icons/dd-CARhkHmU.js +21 -0
  323. package/dist/chunks/icons/dd-D61yllMP.cjs +1 -0
  324. package/dist/components/Accordion/index.cjs +1 -1
  325. package/dist/components/Accordion/index.js +1 -1
  326. package/dist/components/Alert/index.cjs +1 -1
  327. package/dist/components/Alert/index.js +1 -1
  328. package/dist/components/AuthLayout/index.cjs +1 -1
  329. package/dist/components/AuthLayout/index.js +1 -1
  330. package/dist/components/Avatar/index.cjs +1 -1
  331. package/dist/components/Avatar/index.js +2 -2
  332. package/dist/components/Breadcrumbs/index.cjs +1 -1
  333. package/dist/components/Breadcrumbs/index.js +1 -1
  334. package/dist/components/Button/index.cjs +1 -1
  335. package/dist/components/Button/index.js +1 -1
  336. package/dist/components/Card/index.cjs +1 -1
  337. package/dist/components/Card/index.js +1 -1
  338. package/dist/components/Chip/index.cjs +1 -1
  339. package/dist/components/Chip/index.js +1 -1
  340. package/dist/components/ChoiceCard/index.cjs +1 -1
  341. package/dist/components/ChoiceCard/index.js +1 -1
  342. package/dist/components/CodeBlock/index.cjs +1 -1
  343. package/dist/components/CodeBlock/index.js +1 -1
  344. package/dist/components/ColorPicker/index.cjs +1 -1
  345. package/dist/components/ColorPicker/index.js +1 -1
  346. package/dist/components/ColorRamp/index.cjs +1 -1
  347. package/dist/components/ColorRamp/index.js +1 -1
  348. package/dist/components/CopyButton/index.cjs +1 -1
  349. package/dist/components/CopyButton/index.js +1 -1
  350. package/dist/components/DashedButton/index.cjs +1 -1
  351. package/dist/components/DashedButton/index.js +1 -1
  352. package/dist/components/DatePicker/index.cjs +1 -1
  353. package/dist/components/DatePicker/index.js +1 -1
  354. package/dist/components/DateTimePicker/index.cjs +1 -1
  355. package/dist/components/DateTimePicker/index.js +1 -1
  356. package/dist/components/DescriptionList/index.cjs +1 -1
  357. package/dist/components/DescriptionList/index.js +1 -1
  358. package/dist/components/Dropdown/index.cjs +1 -1
  359. package/dist/components/Dropdown/index.js +1 -1
  360. package/dist/components/EmptyState/index.cjs +1 -1
  361. package/dist/components/EmptyState/index.js +1 -1
  362. package/dist/components/ErrorState/index.cjs +1 -1
  363. package/dist/components/ErrorState/index.js +2 -2
  364. package/dist/components/FileCard/index.cjs +1 -1
  365. package/dist/components/FileCard/index.js +1 -1
  366. package/dist/components/FileUploader/FileUploader.d.cts +33 -5
  367. package/dist/components/FileUploader/FileUploader.d.ts +33 -5
  368. package/dist/components/FileUploader/FileUploaderEditDialog.d.cts +8 -18
  369. package/dist/components/FileUploader/FileUploaderEditDialog.d.ts +8 -18
  370. package/dist/components/FileUploader/index.cjs +1 -1
  371. package/dist/components/FileUploader/index.js +1 -1
  372. package/dist/components/Flag/index.cjs +1 -1
  373. package/dist/components/Flag/index.js +1 -1
  374. package/dist/components/FullscreenToggle/index.cjs +1 -1
  375. package/dist/components/FullscreenToggle/index.js +1 -1
  376. package/dist/components/Icon/index.cjs +1 -1
  377. package/dist/components/Icon/index.js +1 -1
  378. package/dist/components/IconButton/index.cjs +1 -1
  379. package/dist/components/IconButton/index.js +1 -1
  380. package/dist/components/ImageEditor/CropShapeMenu.d.cts +17 -0
  381. package/dist/components/ImageEditor/CropShapeMenu.d.ts +17 -0
  382. package/dist/components/ImageEditor/EditorStage.d.cts +27 -0
  383. package/dist/components/ImageEditor/EditorStage.d.ts +27 -0
  384. package/dist/components/ImageEditor/FilterStrip.d.cts +14 -0
  385. package/dist/components/ImageEditor/FilterStrip.d.ts +14 -0
  386. package/dist/components/ImageEditor/ImageEditor.d.cts +30 -0
  387. package/dist/components/ImageEditor/ImageEditor.d.ts +30 -0
  388. package/dist/components/ImageEditor/ResizePanel.d.cts +19 -0
  389. package/dist/components/ImageEditor/ResizePanel.d.ts +19 -0
  390. package/dist/components/ImageEditor/RulerSlider.d.cts +37 -0
  391. package/dist/components/ImageEditor/RulerSlider.d.ts +37 -0
  392. package/dist/components/ImageEditor/core/affine.d.cts +11 -0
  393. package/dist/components/ImageEditor/core/affine.d.ts +11 -0
  394. package/dist/components/ImageEditor/core/editor.d.cts +69 -0
  395. package/dist/components/ImageEditor/core/editor.d.ts +69 -0
  396. package/dist/components/ImageEditor/core/geometry.d.cts +112 -0
  397. package/dist/components/ImageEditor/core/geometry.d.ts +112 -0
  398. package/dist/components/ImageEditor/core/load.d.cts +26 -0
  399. package/dist/components/ImageEditor/core/load.d.ts +26 -0
  400. package/dist/components/ImageEditor/core/matrix.d.cts +55 -0
  401. package/dist/components/ImageEditor/core/matrix.d.ts +55 -0
  402. package/dist/components/ImageEditor/core/pixels.d.cts +24 -0
  403. package/dist/components/ImageEditor/core/pixels.d.ts +24 -0
  404. package/dist/components/ImageEditor/core/redact.d.cts +37 -0
  405. package/dist/components/ImageEditor/core/redact.d.ts +37 -0
  406. package/dist/components/ImageEditor/core/render.d.cts +19 -0
  407. package/dist/components/ImageEditor/core/render.d.ts +19 -0
  408. package/dist/components/ImageEditor/core/scene.d.cts +47 -0
  409. package/dist/components/ImageEditor/core/scene.d.ts +47 -0
  410. package/dist/components/ImageEditor/core/spring.d.cts +17 -0
  411. package/dist/components/ImageEditor/core/spring.d.ts +17 -0
  412. package/dist/components/ImageEditor/core/types.d.cts +104 -0
  413. package/dist/components/ImageEditor/core/types.d.ts +104 -0
  414. package/dist/components/ImageEditor/core/webgl.d.cts +55 -0
  415. package/dist/components/ImageEditor/core/webgl.d.ts +55 -0
  416. package/dist/components/ImageEditor/index.cjs +2 -0
  417. package/dist/components/ImageEditor/index.cjs.map +1 -0
  418. package/dist/components/ImageEditor/index.d.cts +6 -0
  419. package/dist/components/ImageEditor/index.d.ts +6 -0
  420. package/dist/components/ImageEditor/index.js +9 -0
  421. package/dist/components/ImageEditor/index.js.map +1 -0
  422. package/dist/components/Link/index.cjs +1 -1
  423. package/dist/components/Link/index.js +1 -1
  424. package/dist/components/List/index.cjs +1 -1
  425. package/dist/components/List/index.js +2 -2
  426. package/dist/components/Loader/index.cjs +1 -1
  427. package/dist/components/Loader/index.js +1 -1
  428. package/dist/components/LocationPicker/index.cjs +1 -1
  429. package/dist/components/LocationPicker/index.js +1 -1
  430. package/dist/components/Modal/index.cjs +1 -1
  431. package/dist/components/Modal/index.js +1 -1
  432. package/dist/components/MultiSelect/index.cjs +1 -1
  433. package/dist/components/MultiSelect/index.js +1 -1
  434. package/dist/components/NumberField/index.cjs +1 -1
  435. package/dist/components/NumberField/index.js +1 -1
  436. package/dist/components/OtpField/index.cjs +1 -1
  437. package/dist/components/OtpField/index.js +1 -1
  438. package/dist/components/PageError/index.cjs +1 -1
  439. package/dist/components/PageError/index.js +1 -1
  440. package/dist/components/PageLayout/index.cjs +1 -1
  441. package/dist/components/PageLayout/index.js +1 -1
  442. package/dist/components/PageNotFound/index.cjs +1 -1
  443. package/dist/components/PageNotFound/index.js +1 -1
  444. package/dist/components/Pagination/index.cjs +1 -1
  445. package/dist/components/Pagination/index.js +1 -1
  446. package/dist/components/PaletteField/index.cjs +1 -1
  447. package/dist/components/PaletteField/index.js +1 -1
  448. package/dist/components/PhoneField/index.cjs +1 -1
  449. package/dist/components/PhoneField/index.js +1 -1
  450. package/dist/components/Popconfirm/index.cjs +1 -1
  451. package/dist/components/Popconfirm/index.js +1 -1
  452. package/dist/components/Progress/index.cjs +1 -1
  453. package/dist/components/Progress/index.js +1 -1
  454. package/dist/components/QrCode/index.cjs +1 -1
  455. package/dist/components/QrCode/index.js +1 -1
  456. package/dist/components/RemoveDialog/index.cjs +1 -1
  457. package/dist/components/RemoveDialog/index.js +1 -1
  458. package/dist/components/RichTextEditor/RichTextEditor.d.cts +3 -2
  459. package/dist/components/RichTextEditor/RichTextEditor.d.ts +3 -2
  460. package/dist/components/RichTextEditor/index.cjs +1 -1
  461. package/dist/components/RichTextEditor/index.js +1 -1
  462. package/dist/components/RichTextEditor/nodes/ImageNode.d.cts +22 -7
  463. package/dist/components/RichTextEditor/nodes/ImageNode.d.ts +22 -7
  464. package/dist/components/RichTextEditor/nodes/VideoNode.d.cts +4 -4
  465. package/dist/components/RichTextEditor/nodes/VideoNode.d.ts +4 -4
  466. package/dist/components/RootLayout/index.cjs +1 -1
  467. package/dist/components/RootLayout/index.js +1 -1
  468. package/dist/components/Select/index.cjs +1 -1
  469. package/dist/components/Select/index.js +1 -1
  470. package/dist/components/Sidebar/index.cjs +1 -1
  471. package/dist/components/Sidebar/index.js +1 -1
  472. package/dist/components/Slider/index.cjs +1 -1
  473. package/dist/components/Slider/index.js +1 -1
  474. package/dist/components/SpeedDial/index.cjs +1 -1
  475. package/dist/components/SpeedDial/index.js +1 -1
  476. package/dist/components/Stepper/index.cjs +1 -1
  477. package/dist/components/Stepper/index.js +1 -1
  478. package/dist/components/SwatchPicker/index.cjs +1 -1
  479. package/dist/components/SwatchPicker/index.js +1 -1
  480. package/dist/components/Table/index.cjs +1 -1
  481. package/dist/components/Table/index.js +1 -1
  482. package/dist/components/Tabs/index.cjs +1 -1
  483. package/dist/components/Tabs/index.js +1 -1
  484. package/dist/components/TagsField/index.cjs +1 -1
  485. package/dist/components/TagsField/index.js +1 -1
  486. package/dist/components/TextField/index.cjs +1 -1
  487. package/dist/components/TextField/index.js +1 -1
  488. package/dist/components/ThemeToggle/index.cjs +1 -1
  489. package/dist/components/ThemeToggle/index.js +1 -1
  490. package/dist/components/TimePicker/index.cjs +1 -1
  491. package/dist/components/TimePicker/index.js +1 -1
  492. package/dist/components/Timeline/Timeline.d.cts +16 -4
  493. package/dist/components/Timeline/Timeline.d.ts +16 -4
  494. package/dist/components/Timeline/TimelineItem.d.cts +12 -6
  495. package/dist/components/Timeline/TimelineItem.d.ts +12 -6
  496. package/dist/components/Timeline/index.cjs +1 -1
  497. package/dist/components/Timeline/index.d.cts +1 -1
  498. package/dist/components/Timeline/index.d.ts +1 -1
  499. package/dist/components/Timeline/index.js +1 -1
  500. package/dist/components/Timeline/timelineContext.d.cts +3 -2
  501. package/dist/components/Timeline/timelineContext.d.ts +3 -2
  502. package/dist/components/Toast/index.cjs +1 -1
  503. package/dist/components/Toast/index.js +1 -1
  504. package/dist/components/ToggleButton/index.cjs +1 -1
  505. package/dist/components/ToggleButton/index.js +1 -1
  506. package/dist/components/TranslatedFields/index.cjs +1 -1
  507. package/dist/components/TranslatedFields/index.js +1 -1
  508. package/dist/components/UserCard/index.cjs +1 -1
  509. package/dist/components/UserCard/index.js +1 -1
  510. package/dist/components/index.d.cts +1 -0
  511. package/dist/components/index.d.ts +1 -0
  512. package/dist/entries/app.cjs +1 -1
  513. package/dist/entries/app.js +1 -1
  514. package/dist/entries/components.cjs +1 -1
  515. package/dist/entries/components.js +164 -159
  516. package/dist/entries/components.js.map +1 -1
  517. package/dist/entries/i18n.cjs +1 -1
  518. package/dist/entries/i18n.js +2 -2
  519. package/dist/entries/icons.cjs +1 -1
  520. package/dist/entries/icons.js +1 -1
  521. package/dist/entries/theme.cjs +1 -1
  522. package/dist/entries/theme.js +1 -1
  523. package/dist/i18n/messages.d.cts +66 -4
  524. package/dist/i18n/messages.d.ts +66 -4
  525. package/dist/icons/names.d.cts +3 -3
  526. package/dist/icons/names.d.ts +3 -3
  527. package/dist/index.cjs +1 -1
  528. package/dist/index.css +1 -1
  529. package/dist/index.js +161 -156
  530. package/dist/index.js.map +1 -1
  531. package/dist/{messages-BiRLMy1E.js → messages-DeQuvGln.js} +139 -47
  532. package/dist/messages-DeQuvGln.js.map +1 -0
  533. package/dist/{messages-C_fRRCg6.cjs → messages-dL9MkVze.cjs} +9 -9
  534. package/dist/messages-dL9MkVze.cjs.map +1 -0
  535. package/dist/{useHomeTo-DdmOGy09.js → useHomeTo-BL3e8Sc6.js} +2 -2
  536. package/dist/{useHomeTo-DdmOGy09.js.map → useHomeTo-BL3e8Sc6.js.map} +1 -1
  537. package/dist/{useHomeTo-HCkVzGTu.cjs → useHomeTo-W1PDW5CU.cjs} +2 -2
  538. package/dist/{useHomeTo-HCkVzGTu.cjs.map → useHomeTo-W1PDW5CU.cjs.map} +1 -1
  539. package/dist/{useOptionMenu-EiyIkC3E.js → useOptionMenu-BkKiZ6Ax.js} +6 -6
  540. package/dist/{useOptionMenu-EiyIkC3E.js.map → useOptionMenu-BkKiZ6Ax.js.map} +1 -1
  541. package/dist/{useOptionMenu-BqCj10_a.cjs → useOptionMenu-CVl7VHXl.cjs} +2 -2
  542. package/dist/{useOptionMenu-BqCj10_a.cjs.map → useOptionMenu-CVl7VHXl.cjs.map} +1 -1
  543. package/package.json +1 -6
  544. package/dist/Alert-B4XZDk16.cjs +0 -2
  545. package/dist/Alert-D5E1PLkV.js +0 -70
  546. package/dist/Breadcrumbs-DSUxcp6u.cjs +0 -2
  547. package/dist/Breadcrumbs-M31xyok8.js +0 -34
  548. package/dist/Button-CtADzomU.js +0 -72
  549. package/dist/Button-Q_5uA-zc.cjs +0 -2
  550. package/dist/Chip-CrBizrvG.cjs +0 -2
  551. package/dist/Chip-DYZ5w7VM.js +0 -92
  552. package/dist/ChoiceCardGroup-C7Eengyd.cjs +0 -2
  553. package/dist/ChoiceCardGroup-q0yN-TeQ.js +0 -180
  554. package/dist/CodeBlock-B6Eqc4HR.js +0 -96
  555. package/dist/CodeBlock-DW4uaZXM.cjs +0 -2
  556. package/dist/DashedButton-Dw7xHgIp.cjs +0 -2
  557. package/dist/DashedButton-csz6Jt_K.js +0 -58
  558. package/dist/DatePicker.module-BDtTsg8M.cjs +0 -2
  559. package/dist/DatePicker.module-CMMQyEhG.js +0 -138
  560. package/dist/DescriptionList-BBvfABps.cjs +0 -2
  561. package/dist/Dropdown-CMjURWYd.cjs +0 -2
  562. package/dist/Dropdown-CMjURWYd.cjs.map +0 -1
  563. package/dist/Dropdown-CnDBlB02.js +0 -146
  564. package/dist/Dropdown-CnDBlB02.js.map +0 -1
  565. package/dist/FileCard-BqMproT9.cjs +0 -2
  566. package/dist/FileUploader-BimFH5d8.cjs +0 -2
  567. package/dist/FileUploader-BimFH5d8.cjs.map +0 -1
  568. package/dist/FileUploader-LJIMh5_b.js +0 -707
  569. package/dist/FileUploader-LJIMh5_b.js.map +0 -1
  570. package/dist/Icon-B6lz-V0A.cjs +0 -2
  571. package/dist/Icon-B6lz-V0A.cjs.map +0 -1
  572. package/dist/Icon-D5TxgfCc.js +0 -5404
  573. package/dist/Icon-D5TxgfCc.js.map +0 -1
  574. package/dist/IconButton-BoURJOUD.js +0 -68
  575. package/dist/IconButton-CiDPeKM4.cjs +0 -2
  576. package/dist/Link-BQlvsu9V.js +0 -48
  577. package/dist/Link-GZT51mKx.cjs +0 -2
  578. package/dist/ListItem-2Lr5_NRY.js +0 -76
  579. package/dist/ListItem-DkCYXucd.cjs +0 -2
  580. package/dist/Modal-CYcVOzID.js +0 -206
  581. package/dist/Modal-CYcVOzID.js.map +0 -1
  582. package/dist/Modal-DwY3jGHE.cjs +0 -2
  583. package/dist/Modal-DwY3jGHE.cjs.map +0 -1
  584. package/dist/MultiSelect-DJ6tRseY.cjs +0 -2
  585. package/dist/MultiSelect-svEVZNbp.js +0 -219
  586. package/dist/OtpField-DlkGju72.cjs +0 -2
  587. package/dist/Pagination-CAD9_Nr_.cjs +0 -2
  588. package/dist/Pagination-CX0S1RrF.js +0 -139
  589. package/dist/PhoneField-Dlnnv4DU.cjs +0 -2
  590. package/dist/RichTextEditor-Ba1G_qXu.cjs +0 -2
  591. package/dist/RichTextEditor-Ba1G_qXu.cjs.map +0 -1
  592. package/dist/RichTextEditor-CJcbxQ6H.js +0 -916
  593. package/dist/RichTextEditor-CJcbxQ6H.js.map +0 -1
  594. package/dist/Select-BrjXCXtl.cjs +0 -2
  595. package/dist/Sidebar-DLlqHvQJ.cjs +0 -2
  596. package/dist/Stepper-BDQt-oVG.js +0 -168
  597. package/dist/Stepper-e8qBsKYW.cjs +0 -2
  598. package/dist/Table-C14fRX1U.cjs +0 -2
  599. package/dist/Table-C14fRX1U.cjs.map +0 -1
  600. package/dist/Table-ChdM_vyi.js.map +0 -1
  601. package/dist/Tabs-BxZrgozI.js +0 -193
  602. package/dist/Tabs-C4kB1yfG.cjs +0 -2
  603. package/dist/TimeColumns-B8KTj-tc.cjs +0 -2
  604. package/dist/TimeColumns-BWcuu3l7.js +0 -147
  605. package/dist/Timeline-Cb1krSlo.js +0 -70
  606. package/dist/Timeline-Cb1krSlo.js.map +0 -1
  607. package/dist/Timeline-CmluHBIT.cjs +0 -2
  608. package/dist/Timeline-CmluHBIT.cjs.map +0 -1
  609. package/dist/ToggleButtonGroup-Ci_DFvdt.cjs +0 -2
  610. package/dist/chunks/icons/57-Bxh2lSz-.cjs +0 -1
  611. package/dist/chunks/icons/57-CkmrDM9A.js +0 -28
  612. package/dist/chunks/icons/8a-CThAqelS.js +0 -27
  613. package/dist/chunks/icons/8a-DRBAtpxY.cjs +0 -1
  614. package/dist/chunks/icons/97-J9NBhX2o.js +0 -14
  615. package/dist/chunks/icons/97-r2YXIQ_T.cjs +0 -1
  616. package/dist/chunks/icons/b8-CyIivk3C.cjs +0 -1
  617. package/dist/chunks/icons/b8-DcK0w8WM.js +0 -29
  618. package/dist/chunks/icons/d5-3fWtNlXW.js +0 -20
  619. package/dist/chunks/icons/d5-CoG_Hfw9.cjs +0 -1
  620. package/dist/chunks/icons/d8-DsebfeMy.cjs +0 -1
  621. package/dist/chunks/icons/d8-DtOvDDrr.js +0 -20
  622. package/dist/chunks/icons/dd-BXVES9Ib.js +0 -22
  623. package/dist/chunks/icons/dd-beaqCKss.cjs +0 -1
  624. package/dist/messages-BiRLMy1E.js.map +0 -1
  625. package/dist/messages-C_fRRCg6.cjs.map +0 -1
@@ -1,15 +1,15 @@
1
1
  import { jsx as g, jsxs as A } from "react/jsx-runtime";
2
2
  import { forwardRef as fe, useId as De, useState as ee, useMemo as ue, useRef as B, useCallback as Re, useLayoutEffect as $e } from "react";
3
3
  import { clsx as ne } from "clsx";
4
- import { o as Ue, u as ke } from "./useOptionalPeer-49f3XcO5.js";
5
- import { u as Ee } from "./formContext-B7ln1Miy.js";
6
- import { b as Me } from "./Icon-D5TxgfCc.js";
7
- import { T as Ve } from "./TextField-Dwx5GPxz.js";
8
- import { u as We, O as je } from "./useOptionMenu-EiyIkC3E.js";
9
- import { T as pe } from "./Typography-ChSuxgkc.js";
4
+ import { o as je, u as Ue } from "./useOptionalPeer-49f3XcO5.js";
5
+ import { u as ke } from "./formContext-B7ln1Miy.js";
6
+ import { b as Ee } from "./Icon-B7DJn8Tw.js";
7
+ import { T as Me } from "./TextField-CyKIx-d-.js";
8
+ import { u as Ve, O as We } from "./useOptionMenu-BkKiZ6Ax.js";
9
+ import { T as de } from "./Typography-ChSuxgkc.js";
10
10
  import { f as y } from "./TextField.module-6gYcR9TL.js";
11
- import { a as Be, u as Ge } from "./ConfigProvider-Dqfu7UBU.js";
12
- const Y = Ue(
11
+ import { a as Be, u as Ge } from "./ConfigProvider-DVDGtCUc.js";
12
+ const Y = je(
13
13
  "libphonenumber-js",
14
14
  "PhoneField",
15
15
  () => import("libphonenumber-js")
@@ -23,14 +23,14 @@ function gn(t) {
23
23
  const e = Y.get();
24
24
  return e ? typeof t == "string" && t.trim() !== "" && e.isValidPhoneNumber(t) : (Y.load(), !1);
25
25
  }
26
- function de(t) {
26
+ function pe(t) {
27
27
  return String.fromCodePoint(
28
28
  ...[...t.toUpperCase()].map((e) => 127462 + e.charCodeAt(0) - 65)
29
29
  );
30
30
  }
31
31
  const G = /* @__PURE__ */ new Map();
32
32
  function he(t, e) {
33
- var s;
33
+ var i;
34
34
  if (!G.has(e))
35
35
  try {
36
36
  G.set(e, new Intl.DisplayNames([e], { type: "region" }));
@@ -38,7 +38,7 @@ function he(t, e) {
38
38
  G.set(e, null);
39
39
  }
40
40
  try {
41
- return ((s = G.get(e)) == null ? void 0 : s.of(t)) ?? t;
41
+ return ((i = G.get(e)) == null ? void 0 : i.of(t)) ?? t;
42
42
  } catch {
43
43
  return t;
44
44
  }
@@ -67,61 +67,61 @@ const qe = {
67
67
  };
68
68
  function Ke(t, e) {
69
69
  var c, a;
70
- const [s, r] = t.split("-"), i = typeof navigator < "u" ? (a = (c = navigator.language) == null ? void 0 : c.split("-")[1]) == null ? void 0 : a.toUpperCase() : void 0;
71
- return [r == null ? void 0 : r.toUpperCase(), He[s == null ? void 0 : s.toLowerCase()], i, "US"].find((p) => p && e.includes(p)) ?? e[0];
70
+ const [i, r] = t.split("-"), s = typeof navigator < "u" ? (a = (c = navigator.language) == null ? void 0 : c.split("-")[1]) == null ? void 0 : a.toUpperCase() : void 0;
71
+ return [r == null ? void 0 : r.toUpperCase(), He[i == null ? void 0 : i.toLowerCase()], s, "US"].find((d) => d && e.includes(d)) ?? e[0];
72
72
  }
73
73
  const Je = (t) => t.replace(/\D/g, "");
74
- function me(t, e, s, r) {
75
- return $(e) === t ? e : [s, qe[t], ...r.filter((o) => $(o) === t)].find((o) => o && r.includes(o)) ?? e;
74
+ function me(t, e, i, r) {
75
+ return $(e) === t ? e : [i, qe[t], ...r.filter((o) => $(o) === t)].find((o) => o && r.includes(o)) ?? e;
76
76
  }
77
- function L(t, e, s, r) {
78
- const i = t.trimStart(), o = Je(i);
77
+ function L(t, e, i, r) {
78
+ const s = t.trimStart(), o = Je(s);
79
79
  if (!o)
80
80
  return {
81
81
  e164: "",
82
82
  country: e,
83
83
  national: "",
84
84
  valid: !1,
85
- display: i.startsWith("+") ? "+" : ""
85
+ display: s.startsWith("+") ? "+" : ""
86
86
  };
87
- if (i.startsWith("+")) {
88
- const O = new (f()).AsYouType(), C = O.input(`+${o}`), S = O.getCallingCode(), v = f().parsePhoneNumberFromString(`+${o}`), I = S ? me(S, e, (v == null ? void 0 : v.country) ?? O.getCountry(), r) : e, U = `+${o}`;
87
+ if (s.startsWith("+")) {
88
+ const O = new (f()).AsYouType(), F = O.input(`+${o}`), S = O.getCallingCode(), v = f().parsePhoneNumberFromString(`+${o}`), I = S ? me(S, e, (v == null ? void 0 : v.country) ?? O.getCountry(), r) : e, j = `+${o}`;
89
89
  return {
90
- e164: U,
90
+ e164: j,
91
91
  country: I,
92
92
  national: S ? o.slice(S.length) : "",
93
- valid: f().isValidPhoneNumber(U),
94
- display: C
93
+ valid: f().isValidPhoneNumber(j),
94
+ display: F
95
95
  };
96
96
  }
97
- const c = $(e), a = f().parsePhoneNumberFromString(o, e), p = (a == null ? void 0 : a.nationalNumber) ?? o.replace(/^0+/, ""), P = p ? `+${c}${p}` : "", D = s === "international" ? new (f()).AsYouType(e).input(`+${c}${p}`) : new (f()).AsYouType(e).input(o);
97
+ const c = $(e), a = f().parsePhoneNumberFromString(o, e), d = (a == null ? void 0 : a.nationalNumber) ?? o.replace(/^0+/, ""), P = d ? `+${c}${d}` : "", D = i === "international" ? new (f()).AsYouType(e).input(`+${c}${d}`) : new (f()).AsYouType(e).input(o);
98
98
  return {
99
99
  e164: P,
100
100
  country: e,
101
- national: p,
101
+ national: d,
102
102
  valid: P !== "" && f().isValidPhoneNumber(P),
103
103
  display: D
104
104
  };
105
105
  }
106
- function te(t, e, s, r) {
106
+ function te(t, e, i, r) {
107
107
  if (!t) return { country: e, display: "" };
108
- const i = f().parsePhoneNumberFromString(t);
109
- if (i)
108
+ const s = f().parsePhoneNumberFromString(t);
109
+ if (s)
110
110
  return {
111
- country: me(i.countryCallingCode, e, i.country, r),
112
- display: s === "national" ? i.formatNational() : i.formatInternational()
111
+ country: me(s.countryCallingCode, e, s.country, r),
112
+ display: i === "national" ? s.formatNational() : s.formatInternational()
113
113
  };
114
- const o = L(t, e, "international", r), c = s === "national" && o.national ? new (f()).AsYouType(o.country).input(o.national) : o.display;
114
+ const o = L(t, e, "international", r), c = i === "national" && o.national ? new (f()).AsYouType(o.country).input(o.national) : o.display;
115
115
  return { country: o.country, display: c };
116
116
  }
117
117
  function Qe(t, e) {
118
118
  if (e <= 0) return t.startsWith("+") ? 1 : 0;
119
- let s = 0;
119
+ let i = 0;
120
120
  for (let r = 0; r < t.length; r++)
121
- if (/\d/.test(t[r]) && s++, s === e) return r + 1;
121
+ if (/\d/.test(t[r]) && i++, i === e) return r + 1;
122
122
  return t.length;
123
123
  }
124
- const Xe = "_phoneField_sbp1s_4", Ze = "_country_sbp1s_9", ze = "_flag_sbp1s_35", en = "_code_sbp1s_40", nn = "_chevron_sbp1s_44", tn = "_chevronOpen_sbp1s_48", on = "_dial_sbp1s_53", N = {
124
+ const Xe = "_phoneField_1eja1_4", Ze = "_country_1eja1_9", ze = "_flag_1eja1_37", en = "_code_1eja1_42", nn = "_chevron_1eja1_46", tn = "_chevronOpen_1eja1_50", on = "_dial_1eja1_55", C = {
125
125
  phoneField: Xe,
126
126
  country: Ze,
127
127
  flag: ze,
@@ -131,42 +131,42 @@ const Xe = "_phoneField_sbp1s_4", Ze = "_country_sbp1s_9", ze = "_flag_sbp1s_35"
131
131
  dial: on
132
132
  }, rn = fe(function({
133
133
  value: e,
134
- defaultValue: s,
134
+ defaultValue: i,
135
135
  onChange: r,
136
- defaultCountry: i,
136
+ defaultCountry: s,
137
137
  countries: o,
138
138
  preferredCountries: c = [],
139
139
  format: a = "national",
140
- label: p,
140
+ label: d,
141
141
  helperText: P,
142
142
  error: D,
143
143
  required: O,
144
- size: C = "md",
144
+ size: F = "md",
145
145
  fullWidth: S = !0,
146
146
  name: v,
147
147
  disabled: I = !1,
148
- id: U,
148
+ id: j,
149
149
  className: ye,
150
150
  style: ge,
151
151
  onBlur: q,
152
152
  placeholder: ve,
153
- ...be
153
+ ...Ne
154
154
  }, R) {
155
- const w = Be(), { language: T } = Ge(), d = o ?? Ye(), Ne = De(), k = U ?? Ne, oe = `${k}-helper`, E = Ee(), M = !!(E && v), b = M ? E.field(v) : void 0, [Ce, Fe] = ee(s ?? ""), x = e !== void 0 ? e : M ? E.values[v] ?? "" : Ce, H = D ?? (b == null ? void 0 : b.error) ?? !1, K = P ?? (b == null ? void 0 : b.helperText), re = ue(
156
- () => i && d.includes(i) ? i : Ke(T, d),
155
+ const w = Be(), { language: T } = Ge(), p = o ?? Ye(), Ce = De(), U = j ?? Ce, oe = `${U}-helper`, k = ke(), E = !!(k && v), N = E ? k.field(v) : void 0, [Fe, _e] = ee(i ?? ""), x = e !== void 0 ? e : E ? k.values[v] ?? "" : Fe, H = D ?? (N == null ? void 0 : N.error) ?? !1, K = P ?? (N == null ? void 0 : N.helperText), re = ue(
156
+ () => s && p.includes(s) ? s : Ke(T, p),
157
157
  // eslint-disable-next-line react-hooks/exhaustive-deps
158
- [i, T, d.join()]
159
- ), [F, J] = ee(
160
- () => te(x, re, a, d).country
161
- ), [V, se] = ee(
162
- () => te(x, re, a, d).display
158
+ [s, T, p.join()]
159
+ ), [_, J] = ee(
160
+ () => te(x, re, a, p).country
161
+ ), [M, ie] = ee(
162
+ () => te(x, re, a, p).display
163
163
  ), Q = B(x);
164
164
  if (Q.current !== x) {
165
165
  Q.current = x;
166
- const n = te(x, F, a, d);
167
- J(n.country), se(n.display);
166
+ const n = te(x, _, a, p);
167
+ J(n.country), ie(n.display);
168
168
  }
169
- const X = B(null), _e = Re(
169
+ const X = B(null), be = Re(
170
170
  (n) => {
171
171
  X.current = n, typeof R == "function" ? R(n) : R && (R.current = n);
172
172
  },
@@ -177,8 +177,8 @@ const Xe = "_phoneField_sbp1s_4", Ze = "_country_sbp1s_9", ze = "_flag_sbp1s_35"
177
177
  const n = Z.current;
178
178
  n != null && (Z.current = null, (h = X.current) == null || h.setSelectionRange(n, n));
179
179
  });
180
- const ie = (n) => {
181
- Q.current = n.e164, se(n.display), n.country !== F && J(n.country), e === void 0 && !M && Fe(n.e164), M && E.setValue(v, n.e164), r == null || r(n.e164, {
180
+ const se = (n) => {
181
+ Q.current = n.e164, ie(n.display), n.country !== _ && J(n.country), e === void 0 && !E && _e(n.e164), E && k.setValue(v, n.e164), r == null || r(n.e164, {
182
182
  country: n.country,
183
183
  national: n.national,
184
184
  valid: n.valid
@@ -188,95 +188,95 @@ const Xe = "_phoneField_sbp1s_4", Ze = "_country_sbp1s_9", ze = "_flag_sbp1s_35"
188
188
  let u = h.value;
189
189
  const l = h.selectionStart ?? u.length;
190
190
  let m = u.slice(0, l).replace(/\D/g, "").length;
191
- const xe = V.replace(/\D/g, "");
192
- if (u.length < V.length && u.replace(/\D/g, "") === xe && m > 0) {
193
- let Ae = 0, W = -1;
194
- for (let j = 0; j < u.length; j++)
195
- if (/\d/.test(u[j]) && ++Ae === m) {
196
- W = j;
191
+ const xe = M.replace(/\D/g, "");
192
+ if (u.length < M.length && u.replace(/\D/g, "") === xe && m > 0) {
193
+ let Ae = 0, V = -1;
194
+ for (let W = 0; W < u.length; W++)
195
+ if (/\d/.test(u[W]) && ++Ae === m) {
196
+ V = W;
197
197
  break;
198
198
  }
199
- W >= 0 && (u = u.slice(0, W) + u.slice(W + 1)), m -= 1;
199
+ V >= 0 && (u = u.slice(0, V) + u.slice(V + 1)), m -= 1;
200
200
  }
201
- const z = L(u, F, a, d);
202
- Z.current = l >= h.value.length ? z.display.length : Qe(z.display, m), ie(z);
201
+ const z = L(u, _, a, p);
202
+ Z.current = l >= h.value.length ? z.display.length : Qe(z.display, m), se(z);
203
203
  }, le = B(null), Oe = ue(() => {
204
204
  const n = (l) => {
205
205
  const m = $(l);
206
206
  return {
207
207
  value: l,
208
208
  label: he(l, T),
209
- icon: /* @__PURE__ */ g("span", { className: N.flag, "aria-hidden": "true", children: de(l) }),
209
+ icon: /* @__PURE__ */ g("span", { className: C.flag, "aria-hidden": "true", children: pe(l) }),
210
210
  keywords: [l, m, `+${m}`],
211
- trailing: /* @__PURE__ */ A("span", { className: N.dial, children: [
211
+ trailing: /* @__PURE__ */ A("span", { className: C.dial, children: [
212
212
  "+",
213
213
  m
214
214
  ] })
215
215
  };
216
- }, h = c.filter((l) => d.includes(l)).map(n), u = d.filter((l) => !c.includes(l)).map(n).sort((l, m) => l.label.localeCompare(m.label, T));
216
+ }, h = c.filter((l) => p.includes(l)).map(n), u = p.filter((l) => !c.includes(l)).map(n).sort((l, m) => l.label.localeCompare(m.label, T));
217
217
  return h.length === 0 ? u : [
218
218
  ...h.map((l) => ({ ...l, group: w("phoneField.suggested") })),
219
219
  ...u.map((l) => ({ ...l, group: w("phoneField.allCountries") }))
220
220
  ];
221
- }, [d, c, T, w]), Se = (n) => {
222
- const h = L(V, F, a, d).national;
223
- J(n), ie({ ...L(h, n, a, d), country: n });
224
- }, _ = We({
225
- idBase: `${k}-country`,
221
+ }, [p, c, T, w]), Se = (n) => {
222
+ const h = L(M, _, a, p).national;
223
+ J(n), se({ ...L(h, n, a, p), country: n });
224
+ }, b = Ve({
225
+ idBase: `${U}-country`,
226
226
  options: Oe,
227
- isSelected: (n) => n.value === F,
227
+ isSelected: (n) => n.value === _,
228
228
  onPick: (n) => Se(n.value),
229
229
  searchable: !0,
230
230
  disabled: I,
231
231
  // after a pick / Esc, typing continues in the number
232
232
  focusRef: X
233
233
  }), Ie = (n) => {
234
- b == null || b.onBlur(n), q == null || q(n);
235
- }, we = K != null ? oe : void 0, ae = C === "sm" ? 16 : C === "md" ? 14 : 12, ce = $(F), Te = he(F, T);
234
+ N == null || N.onBlur(n), q == null || q(n);
235
+ }, we = K != null ? oe : void 0, ae = F === "sm" ? 16 : F === "md" ? 14 : 12, ce = $(_), Te = he(_, T);
236
236
  return /* @__PURE__ */ A(
237
237
  "div",
238
238
  {
239
239
  className: ne(
240
240
  y.field,
241
- y[C],
241
+ y[F],
242
242
  S && y.fullWidth,
243
243
  H && y.error,
244
244
  I && y.disabled,
245
- N.phoneField,
245
+ C.phoneField,
246
246
  ye
247
247
  ),
248
248
  style: ge,
249
249
  children: [
250
- p != null && /* @__PURE__ */ A("label", { htmlFor: k, className: y.label, children: [
251
- /* @__PURE__ */ g(pe, { as: "span", variant: "bodySmall", color: "muted", children: p }),
250
+ d != null && /* @__PURE__ */ A("label", { htmlFor: U, className: y.label, children: [
251
+ /* @__PURE__ */ g(de, { as: "span", variant: "bodySmall", color: "muted", children: d }),
252
252
  O && /* @__PURE__ */ g("span", { className: y.required, "aria-hidden": "true", children: "*" })
253
253
  ] }),
254
- /* @__PURE__ */ A("div", { ref: le, className: ne(y.control, N.control), children: [
254
+ /* @__PURE__ */ A("div", { ref: le, className: ne(y.control, C.control), children: [
255
255
  /* @__PURE__ */ A(
256
256
  "button",
257
257
  {
258
258
  type: "button",
259
- className: N.country,
259
+ className: C.country,
260
260
  "aria-haspopup": "listbox",
261
- "aria-expanded": _.open,
262
- "aria-controls": _.open ? _.listboxId : void 0,
261
+ "aria-expanded": b.open,
262
+ "aria-controls": b.open ? b.listboxId : void 0,
263
263
  "aria-label": `${w("phoneField.country")}: ${Te} (+${ce})`,
264
264
  disabled: I,
265
- onClick: _.toggleMenu,
265
+ onClick: b.toggleMenu,
266
266
  onKeyDown: (n) => {
267
- (n.key === "ArrowDown" || n.key === "ArrowUp") && !_.open && (n.preventDefault(), _.openMenu());
267
+ (n.key === "ArrowDown" || n.key === "ArrowUp") && !b.open && (n.preventDefault(), b.openMenu());
268
268
  },
269
269
  children: [
270
- /* @__PURE__ */ g("span", { className: N.flag, "aria-hidden": "true", children: de(F) }),
271
- a === "national" && /* @__PURE__ */ A("span", { className: N.code, children: [
270
+ /* @__PURE__ */ g("span", { className: C.flag, "aria-hidden": "true", children: pe(_) }),
271
+ a === "national" && /* @__PURE__ */ A("span", { className: C.code, children: [
272
272
  "+",
273
273
  ce
274
274
  ] }),
275
275
  /* @__PURE__ */ g(
276
- Me,
276
+ Ee,
277
277
  {
278
278
  name: "ArrowDown4",
279
- className: ne(N.chevron, _.open && N.chevronOpen),
279
+ className: ne(C.chevron, b.open && C.chevronOpen),
280
280
  style: { width: ae, height: ae },
281
281
  "aria-hidden": "true"
282
282
  }
@@ -287,36 +287,36 @@ const Xe = "_phoneField_sbp1s_4", Ze = "_country_sbp1s_9", ze = "_flag_sbp1s_35"
287
287
  /* @__PURE__ */ g(
288
288
  "input",
289
289
  {
290
- ref: _e,
291
- id: k,
290
+ ref: be,
291
+ id: U,
292
292
  name: v,
293
293
  type: "tel",
294
294
  inputMode: "tel",
295
295
  autoComplete: "tel",
296
296
  className: y.input,
297
- value: V,
297
+ value: M,
298
298
  placeholder: ve,
299
299
  onChange: Pe,
300
300
  onBlur: Ie,
301
301
  disabled: I,
302
302
  "aria-invalid": H || void 0,
303
303
  "aria-describedby": we,
304
- ...be
304
+ ...Ne
305
305
  }
306
306
  )
307
307
  ] }),
308
308
  /* @__PURE__ */ g(
309
- je,
309
+ We,
310
310
  {
311
- menu: _,
311
+ menu: b,
312
312
  anchorRef: le,
313
- size: C,
313
+ size: F,
314
314
  searchPlaceholder: w("phoneField.search"),
315
315
  ariaLabel: w("phoneField.country")
316
316
  }
317
317
  ),
318
318
  K != null && /* @__PURE__ */ g(
319
- pe,
319
+ de,
320
320
  {
321
321
  as: "span",
322
322
  id: oe,
@@ -330,34 +330,34 @@ const Xe = "_phoneField_sbp1s_4", Ze = "_country_sbp1s_9", ze = "_flag_sbp1s_35"
330
330
  }
331
331
  );
332
332
  }), vn = fe(
333
- function(e, s) {
334
- const { module: r } = ke(Y);
335
- if (r) return /* @__PURE__ */ g(rn, { ref: s, ...e });
333
+ function(e, i) {
334
+ const { module: r } = Ue(Y);
335
+ if (r) return /* @__PURE__ */ g(rn, { ref: i, ...e });
336
336
  const {
337
- label: i,
337
+ label: s,
338
338
  helperText: o,
339
339
  error: c,
340
340
  required: a,
341
- size: p,
341
+ size: d,
342
342
  fullWidth: P = !0,
343
343
  className: D,
344
344
  style: O,
345
- placeholder: C
345
+ placeholder: F
346
346
  } = e;
347
347
  return /* @__PURE__ */ g(
348
- Ve,
348
+ Me,
349
349
  {
350
- ref: s,
350
+ ref: i,
351
351
  type: "tel",
352
- label: i,
352
+ label: s,
353
353
  helperText: o,
354
354
  error: c,
355
355
  required: a,
356
- size: p,
356
+ size: d,
357
357
  fullWidth: P,
358
358
  className: D,
359
359
  style: O,
360
- placeholder: C,
360
+ placeholder: F,
361
361
  value: e.value ?? e.defaultValue ?? "",
362
362
  readOnly: !0,
363
363
  disabled: !0
@@ -369,4 +369,4 @@ export {
369
369
  vn as P,
370
370
  gn as i
371
371
  };
372
- //# sourceMappingURL=PhoneField-xHLTU-o5.js.map
372
+ //# sourceMappingURL=PhoneField-OjsuevPx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneField-xHLTU-o5.js","sources":["../src/components/PhoneField/phone.ts","../src/components/PhoneField/PhoneField.tsx"],"sourcesContent":["import type * as PhoneLibModule from 'libphonenumber-js'\nimport type { CountryCode } from 'libphonenumber-js'\nimport { optionalPeer } from '../../hooks/useOptionalPeer'\n\n/**\n * `libphonenumber-js` is an optional peer, loaded **lazily** (see `optionalPeer`) — never imported\n * statically, so apps that don't install it still build + run when they import the barrel. PhoneField\n * waits for it on mount; the helpers below run only once it's loaded (`lib()`).\n */\nexport const phonePeer = optionalPeer<typeof PhoneLibModule>(\n 'libphonenumber-js',\n 'PhoneField',\n () => import('libphonenumber-js'),\n)\nconst lib = () => phonePeer.get()!\n\n/** An ISO-3166 alpha-2 country code, as `libphonenumber-js` knows it (`'GE'`, `'US'`, …). */\nexport type PhoneCountry = CountryCode\n/** How the number is shown in the input while typing (the value is always E.164). */\nexport type PhoneFormat = 'national' | 'international'\n\nlet allCountries: readonly PhoneCountry[] | undefined\n/** Every country `libphonenumber-js` has metadata for (once loaded). */\nexport function getPhoneCountries(): readonly PhoneCountry[] {\n return (allCountries ??= lib().getCountries())\n}\n\n/** The country's calling code without the `+` — `'GE'` → `'995'`. */\nexport const callingCodeOf = (country: PhoneCountry): string => lib().getCountryCallingCode(country)\n\n/**\n * `true` for a complete, valid number (E.164 or any parseable international form). Use it in a schema:\n * `phone: z.string().refine(isValidPhone, 'Enter a valid phone number')`. Needs `libphonenumber-js`\n * loaded — it is once any PhoneField has mounted; before that it starts the load and returns `false`.\n */\nexport function isValidPhone(value: unknown): boolean {\n const loaded = phonePeer.get()\n // not loaded yet (no PhoneField mounted so far) → start loading and report \"not valid\" for now\n if (!loaded) {\n void phonePeer.load()\n return false\n }\n return typeof value === 'string' && value.trim() !== '' && loaded.isValidPhoneNumber(value)\n}\n\n/** A flag emoji from the two regional-indicator letters — no image assets (Windows shows the letters). */\nexport function flagEmoji(country: string): string {\n return String.fromCodePoint(\n ...[...country.toUpperCase()].map((c) => 0x1f1e6 + c.charCodeAt(0) - 65),\n )\n}\n\nconst displayNamesCache = new Map<string, Intl.DisplayNames | null>()\n/** The country's name in `locale` via `Intl.DisplayNames` (no catalog to ship); falls back to the code. */\nexport function countryName(country: string, locale: string): string {\n if (!displayNamesCache.has(locale)) {\n try {\n displayNamesCache.set(locale, new Intl.DisplayNames([locale], { type: 'region' }))\n } catch {\n displayNamesCache.set(locale, null)\n }\n }\n try {\n return displayNamesCache.get(locale)?.of(country) ?? country\n } catch {\n return country\n }\n}\n\n// the main country for a calling code shared by several (a partial \"+44…\" parses as Guernsey otherwise)\nconst MAIN_FOR_CODE: Record<string, PhoneCountry> = {\n '1': 'US',\n '7': 'RU',\n '39': 'IT',\n '44': 'GB',\n '47': 'NO',\n '61': 'AU',\n '212': 'MA',\n '262': 'RE',\n '290': 'SH',\n '358': 'FI',\n '590': 'GP',\n '599': 'CW',\n}\n// base UI language → its usual country, for the default when the locale carries no region\nconst LANGUAGE_COUNTRY: Record<string, PhoneCountry> = {\n ka: 'GE',\n en: 'US',\n es: 'ES',\n de: 'DE',\n it: 'IT',\n fr: 'FR',\n ru: 'RU',\n}\n\n/** The default country: the locale's region → its language's usual country → the browser's region → US. */\nexport function detectCountry(locale: string, allowed: readonly PhoneCountry[]): PhoneCountry {\n const [base, region] = locale.split('-')\n const browser =\n typeof navigator !== 'undefined' ? navigator.language?.split('-')[1]?.toUpperCase() : undefined\n const candidates = [region?.toUpperCase(), LANGUAGE_COUNTRY[base?.toLowerCase()], browser, 'US']\n return (candidates.find((c) => c && allowed.includes(c as PhoneCountry)) ??\n allowed[0]) as PhoneCountry\n}\n\n/** The result of reading what's in the input. */\nexport interface PhoneReading {\n /** The canonical value — `'+995555123456'`, or `''` when empty. */\n e164: string\n /** The country the number belongs to (may switch when a `+code` is typed). */\n country: PhoneCountry\n /** The national significant number — digits only, no trunk `0`. */\n national: string\n /** A complete, valid number. */\n valid: boolean\n /** What the input should show (formatted as you type). */\n display: string\n}\n\nconst digitsOf = (s: string) => s.replace(/\\D/g, '')\n\n/** Which allowed country a `+code…` number belongs to — keep the current one when it shares the code. */\nfunction countryForCode(\n code: string,\n current: PhoneCountry,\n detected: PhoneCountry | undefined,\n allowed: readonly PhoneCountry[],\n): PhoneCountry {\n if (callingCodeOf(current) === code) return current\n const pick = [detected, MAIN_FOR_CODE[code], ...allowed.filter((c) => callingCodeOf(c) === code)]\n return (pick.find((c) => c && allowed.includes(c)) as PhoneCountry | undefined) ?? current\n}\n\n/** Read raw input text → the canonical value + the formatted display, as the user types. */\nexport function readPhoneInput(\n raw: string,\n country: PhoneCountry,\n format: PhoneFormat,\n allowed: readonly PhoneCountry[],\n): PhoneReading {\n const text = raw.trimStart()\n const digits = digitsOf(text)\n if (!digits) {\n return {\n e164: '',\n country,\n national: '',\n valid: false,\n display: text.startsWith('+') ? '+' : '',\n }\n }\n\n // an explicit \"+code…\" (typed or pasted) — the calling code decides the country\n if (text.startsWith('+')) {\n const typer = new (lib().AsYouType)()\n const display = typer.input(`+${digits}`)\n const code = typer.getCallingCode()\n const parsed = lib().parsePhoneNumberFromString(`+${digits}`)\n const next = code\n ? countryForCode(code, country, parsed?.country ?? typer.getCountry(), allowed)\n : country\n const e164 = `+${digits}`\n return {\n e164,\n country: next,\n national: code ? digits.slice(code.length) : '',\n valid: lib().isValidPhoneNumber(e164),\n display,\n }\n }\n\n // national digits under the selected country (a leading trunk \"0\" is dropped from the value)\n const code = callingCodeOf(country)\n const parsed = lib().parsePhoneNumberFromString(digits, country)\n const national = parsed?.nationalNumber ?? digits.replace(/^0+/, '')\n const e164 = national ? `+${code}${national}` : ''\n const display =\n format === 'international'\n ? new (lib().AsYouType)(country).input(`+${code}${national}`)\n : new (lib().AsYouType)(country).input(digits)\n return {\n e164,\n country,\n national,\n valid: e164 !== '' && lib().isValidPhoneNumber(e164),\n display,\n }\n}\n\n/** Derive the country + display from an E.164 value (initial / external value changes). */\nexport function phoneFromValue(\n value: string,\n fallback: PhoneCountry,\n format: PhoneFormat,\n allowed: readonly PhoneCountry[],\n): { country: PhoneCountry; display: string } {\n if (!value) return { country: fallback, display: '' }\n const parsed = lib().parsePhoneNumberFromString(value)\n if (parsed) {\n const country = countryForCode(parsed.countryCallingCode, fallback, parsed.country, allowed)\n return {\n country,\n display: format === 'national' ? parsed.formatNational() : parsed.formatInternational(),\n }\n }\n const reading = readPhoneInput(value, fallback, 'international', allowed)\n const display =\n format === 'national' && reading.national\n ? new (lib().AsYouType)(reading.country).input(reading.national)\n : reading.display\n return { country: reading.country, display }\n}\n\n/** Caret index in `display` right after its `n`-th digit — keeps the caret put while reformatting. */\nexport function caretAfterDigits(display: string, n: number): number {\n if (n <= 0) return display.startsWith('+') ? 1 : 0\n let seen = 0\n for (let i = 0; i < display.length; i++) {\n if (/\\d/.test(display[i])) seen++\n if (seen === n) return i + 1\n }\n return display.length\n}\n","import {\n forwardRef,\n useCallback,\n useId,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type ChangeEvent,\n type CSSProperties,\n type FocusEvent,\n type InputHTMLAttributes,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { useLanguage, useT } from '../../theme'\nimport { useOptionalPeer } from '../../hooks/useOptionalPeer'\nimport { useFormContext } from '../../form/formContext'\nimport { Icon } from '../Icon'\nimport { TextField } from '../TextField'\nimport { OptionMenu } from '../OptionMenu/OptionMenu'\nimport { useOptionMenu, type SelectOption } from '../OptionMenu/useOptionMenu'\nimport { Typography } from '../Typography'\nimport fieldStyles from '../TextField/TextField.module.css'\nimport {\n callingCodeOf,\n getPhoneCountries,\n caretAfterDigits,\n countryName,\n detectCountry,\n flagEmoji,\n phoneFromValue,\n phonePeer,\n readPhoneInput,\n type PhoneCountry,\n type PhoneFormat,\n} from './phone'\nimport styles from './PhoneField.module.css'\n\nexport type PhoneFieldSize = 'sm' | 'md' | 'lg'\n\n/** Extra details handed to `onChange` alongside the E.164 value. */\nexport interface PhoneFieldChangeMeta {\n /** The number's country (ISO alpha-2). */\n country: PhoneCountry\n /** The national significant number — digits only, no trunk `0`. */\n national: string\n /** A complete, valid number for that country. */\n valid: boolean\n}\n\nexport interface PhoneFieldProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'value' | 'defaultValue' | 'onChange' | 'type' | 'size' | 'color'\n> {\n /** The number in **E.164** (`'+995555123456'`) — the only form the field emits. `''` when empty. */\n value?: string\n /** Initial E.164 value for uncontrolled use. */\n defaultValue?: string\n /** Fires with the E.164 value (`''` when cleared) and `{ country, national, valid }`. */\n onChange?: (value: string, meta: PhoneFieldChangeMeta) => void\n /** The country to start with. Defaults to one derived from the UI language / browser locale. */\n defaultCountry?: PhoneCountry\n /** Restrict the selectable countries (e.g. only where you operate). Defaults to all. */\n countries?: readonly PhoneCountry[]\n /** Countries pinned to the top of the list, in this order. */\n preferredCountries?: readonly PhoneCountry[]\n /**\n * How the number reads while typing — `national` (default: `555 12 34 56`, the calling code lives in\n * the country button) or `international` (`+995 555 12 34 56`). The value is E.164 either way.\n */\n format?: PhoneFormat\n /** Field label. */\n label?: ReactNode\n /** Helper / validation text under the field. */\n helperText?: ReactNode\n /** Error state (red border + helper). */\n error?: boolean\n /** Shows a required asterisk. */\n required?: boolean\n /** `sm` / `md` / `lg` — control height + type. Defaults to `md`. */\n size?: PhoneFieldSize\n /** Stretch to the container. Defaults to `true`. */\n fullWidth?: boolean\n}\n\n/** The field itself — rendered once `libphonenumber-js` has loaded. */\nconst PhoneFieldInner = forwardRef<HTMLInputElement, PhoneFieldProps>(function PhoneFieldInner(\n {\n value,\n defaultValue,\n onChange,\n defaultCountry,\n countries: countriesProp,\n preferredCountries = [],\n format = 'national',\n label,\n helperText,\n error,\n required,\n size = 'md',\n fullWidth = true,\n name,\n disabled = false,\n id: idProp,\n className,\n style,\n onBlur,\n placeholder,\n ...props\n },\n ref,\n) {\n const t = useT()\n const { language } = useLanguage()\n const countries = countriesProp ?? getPhoneCountries()\n const reactId = useId()\n const id = idProp ?? reactId\n const helperId = `${id}-helper`\n\n // ── value: controlled / form-bound / uncontrolled — always E.164 ──\n const form = useFormContext()\n const isFormBound = Boolean(form && name)\n const bound = isFormBound ? form!.field(name!) : undefined\n const [internal, setInternal] = useState(defaultValue ?? '')\n const currentValue =\n value !== undefined\n ? value\n : isFormBound\n ? ((form!.values[name!] as string | undefined) ?? '')\n : internal\n const resolvedError = error ?? bound?.error ?? false\n const resolvedHelperText = helperText ?? bound?.helperText\n\n const fallbackCountry = useMemo<PhoneCountry>(\n () =>\n defaultCountry && countries.includes(defaultCountry)\n ? defaultCountry\n : detectCountry(language, countries),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [defaultCountry, language, countries.join()],\n )\n\n const [country, setCountry] = useState<PhoneCountry>(\n () => phoneFromValue(currentValue, fallbackCountry, format, countries).country,\n )\n const [display, setDisplay] = useState(\n () => phoneFromValue(currentValue, fallbackCountry, format, countries).display,\n )\n\n // re-derive the display when the value changes from OUTSIDE (a reset / a controlled update) — the\n // values we emit ourselves are skipped, so formatting never fights the user mid-typing\n const lastEmitted = useRef(currentValue)\n if (lastEmitted.current !== currentValue) {\n lastEmitted.current = currentValue\n const next = phoneFromValue(currentValue, country, format, countries)\n setCountry(next.country)\n setDisplay(next.display)\n }\n\n // caret restore after reformatting\n const innerRef = useRef<HTMLInputElement | null>(null)\n const setInputRef = useCallback(\n (node: HTMLInputElement | null) => {\n innerRef.current = node\n if (typeof ref === 'function') ref(node)\n else if (ref) (ref as { current: HTMLInputElement | null }).current = node\n },\n [ref],\n )\n const pendingCaret = useRef<number | null>(null)\n useLayoutEffect(() => {\n const pos = pendingCaret.current\n if (pos == null) return\n pendingCaret.current = null\n innerRef.current?.setSelectionRange(pos, pos)\n })\n\n const emit = (reading: ReturnType<typeof readPhoneInput>) => {\n lastEmitted.current = reading.e164\n setDisplay(reading.display)\n if (reading.country !== country) setCountry(reading.country)\n if (value === undefined && !isFormBound) setInternal(reading.e164)\n if (isFormBound) form!.setValue(name!, reading.e164)\n onChange?.(reading.e164, {\n country: reading.country,\n national: reading.national,\n valid: reading.valid,\n })\n }\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const el = event.target\n let raw = el.value\n const caret = el.selectionStart ?? raw.length\n let digitsBefore = raw.slice(0, caret).replace(/\\D/g, '').length\n // backspace over a formatting char (space / paren / dash) would be re-added by the formatter —\n // treat it as deleting the digit before it instead\n const prevDigits = display.replace(/\\D/g, '')\n if (raw.length < display.length && raw.replace(/\\D/g, '') === prevDigits && digitsBefore > 0) {\n let seen = 0\n let cut = -1\n for (let i = 0; i < raw.length; i++) {\n if (/\\d/.test(raw[i]) && ++seen === digitsBefore) {\n cut = i\n break\n }\n }\n if (cut >= 0) raw = raw.slice(0, cut) + raw.slice(cut + 1)\n digitsBefore -= 1\n }\n const reading = readPhoneInput(raw, country, format, countries)\n pendingCaret.current =\n caret >= el.value.length\n ? reading.display.length\n : caretAfterDigits(reading.display, digitsBefore)\n emit(reading)\n }\n\n // ── country picker — the shared option menu (search matches name, ISO code, calling code) ──\n const controlRef = useRef<HTMLDivElement | null>(null)\n const countryOptions = useMemo<SelectOption[]>(() => {\n const toOption = (c: PhoneCountry): SelectOption => {\n const dial = callingCodeOf(c)\n return {\n value: c,\n label: countryName(c, language),\n icon: (\n <span className={styles.flag} aria-hidden=\"true\">\n {flagEmoji(c)}\n </span>\n ),\n keywords: [c, dial, `+${dial}`],\n trailing: <span className={styles.dial}>+{dial}</span>,\n }\n }\n // preferred countries first (in the given order), then the rest A→Z by their localized name —\n // as two groups (\"Suggested\" / \"All Countries\") when there are preferred ones\n const pinned = preferredCountries.filter((c) => countries.includes(c)).map(toOption)\n const rest = countries\n .filter((c) => !preferredCountries.includes(c))\n .map(toOption)\n .sort((a, b) => a.label.localeCompare(b.label, language))\n if (pinned.length === 0) return rest\n return [\n ...pinned.map((o) => ({ ...o, group: t('phoneField.suggested') })),\n ...rest.map((o) => ({ ...o, group: t('phoneField.allCountries') })),\n ]\n }, [countries, preferredCountries, language, t])\n\n const pickCountry = (next: PhoneCountry) => {\n // keep the typed national digits, re-read under the new calling code\n const national = readPhoneInput(display, country, format, countries).national\n setCountry(next)\n emit({ ...readPhoneInput(national, next, format, countries), country: next })\n }\n\n const menu = useOptionMenu({\n idBase: `${id}-country`,\n options: countryOptions,\n isSelected: (o) => o.value === country,\n onPick: (o) => pickCountry(o.value as PhoneCountry),\n searchable: true,\n disabled,\n // after a pick / Esc, typing continues in the number\n focusRef: innerRef,\n })\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n bound?.onBlur(event)\n onBlur?.(event)\n }\n\n const describedBy = resolvedHelperText != null ? helperId : undefined\n const chevronPx = size === 'sm' ? 16 : size === 'md' ? 14 : 12\n const code = callingCodeOf(country)\n const name_ = countryName(country, language)\n\n return (\n <div\n className={clsx(\n fieldStyles.field,\n fieldStyles[size],\n fullWidth && fieldStyles.fullWidth,\n resolvedError && fieldStyles.error,\n disabled && fieldStyles.disabled,\n styles.phoneField,\n className,\n )}\n style={style as CSSProperties}\n >\n {label != null && (\n <label htmlFor={id} className={fieldStyles.label}>\n <Typography as=\"span\" variant=\"bodySmall\" color=\"muted\">\n {label}\n </Typography>\n {required && (\n <span className={fieldStyles.required} aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n )}\n\n <div ref={controlRef} className={clsx(fieldStyles.control, styles.control)}>\n <button\n type=\"button\"\n className={styles.country}\n aria-haspopup=\"listbox\"\n aria-expanded={menu.open}\n aria-controls={menu.open ? menu.listboxId : undefined}\n aria-label={`${t('phoneField.country')}: ${name_} (+${code})`}\n disabled={disabled}\n onClick={menu.toggleMenu}\n onKeyDown={(e) => {\n // ↓ / ↑ open the list (Enter / Space already click the button)\n if ((e.key === 'ArrowDown' || e.key === 'ArrowUp') && !menu.open) {\n e.preventDefault()\n menu.openMenu()\n }\n }}\n >\n <span className={styles.flag} aria-hidden=\"true\">\n {flagEmoji(country)}\n </span>\n {format === 'national' && <span className={styles.code}>+{code}</span>}\n {/* the same chevron as Select / MultiSelect (ArrowDown4, sized per field size: sm 16 · md 14 · lg 12) */}\n <Icon\n name=\"ArrowDown4\"\n className={clsx(styles.chevron, menu.open && styles.chevronOpen)}\n style={{ width: chevronPx, height: chevronPx }}\n aria-hidden=\"true\"\n />\n </button>\n <input\n ref={setInputRef}\n id={id}\n name={name}\n type=\"tel\"\n inputMode=\"tel\"\n autoComplete=\"tel\"\n className={fieldStyles.input}\n value={display}\n placeholder={placeholder}\n onChange={handleChange}\n onBlur={handleBlur}\n disabled={disabled}\n aria-invalid={resolvedError || undefined}\n aria-describedby={describedBy}\n {...props}\n />\n </div>\n\n <OptionMenu\n menu={menu}\n anchorRef={controlRef}\n size={size}\n searchPlaceholder={t('phoneField.search')}\n ariaLabel={t('phoneField.country')}\n />\n\n {resolvedHelperText != null && (\n <Typography\n as=\"span\"\n id={helperId}\n variant=\"bodySmall\"\n color={resolvedError ? 'error' : 'muted'}\n className={fieldStyles.helper}\n >\n {resolvedHelperText}\n </Typography>\n )}\n </div>\n )\n})\n\n/**\n * A phone-number field: a **country button** (flag + `+code`, opening a searchable, localized country\n * list) inside the input frame, and the number **formatted as you type** for that country. The value is\n * always **E.164** (`'+995555123456'`) — one canonical form for the backend. Typing or pasting `+44…`\n * switches the country by its calling code. `onChange(value, { country, national, valid })`; binds to a\n * `<Form>` by `name` (the form value is the E.164 string — validate with `isValidPhone`). Country names\n * come from `Intl.DisplayNames` in the active UI language; flags are emoji. Needs the optional peer\n * **`libphonenumber-js`** (formatting, parsing, validation metadata), loaded lazily on first mount — until\n * it's ready (or if it isn't installed) a disabled look-alike field renders. Reuses the `TextField` look.\n */\nexport const PhoneField = forwardRef<HTMLInputElement, PhoneFieldProps>(\n function PhoneField(props, ref) {\n const { module } = useOptionalPeer(phonePeer)\n if (module) return <PhoneFieldInner ref={ref} {...props} />\n // loading (a tick, first mount only) or the peer is missing: the same frame, disabled — never bound\n // to a <Form> (no `name`) so it can't write a value\n const {\n label,\n helperText,\n error,\n required,\n size,\n fullWidth = true,\n className,\n style,\n placeholder,\n } = props\n return (\n <TextField\n ref={ref}\n type=\"tel\"\n label={label}\n helperText={helperText}\n error={error}\n required={required}\n size={size}\n fullWidth={fullWidth}\n className={className}\n style={style}\n placeholder={placeholder}\n value={props.value ?? props.defaultValue ?? ''}\n readOnly\n disabled\n />\n )\n },\n)\n"],"names":["phonePeer","optionalPeer","lib","allCountries","getPhoneCountries","callingCodeOf","country","isValidPhone","value","loaded","flagEmoji","c","displayNamesCache","countryName","locale","_a","MAIN_FOR_CODE","LANGUAGE_COUNTRY","detectCountry","allowed","base","region","browser","_b","digitsOf","s","countryForCode","code","current","detected","readPhoneInput","raw","format","text","digits","typer","display","parsed","next","e164","national","phoneFromValue","fallback","reading","caretAfterDigits","n","seen","i","PhoneFieldInner","forwardRef","defaultValue","onChange","defaultCountry","countriesProp","preferredCountries","label","helperText","error","required","size","fullWidth","name","disabled","idProp","className","style","onBlur","placeholder","props","ref","t","useT","language","useLanguage","countries","reactId","useId","id","helperId","form","useFormContext","isFormBound","bound","internal","setInternal","useState","currentValue","resolvedError","resolvedHelperText","fallbackCountry","useMemo","setCountry","setDisplay","lastEmitted","useRef","innerRef","setInputRef","useCallback","node","pendingCaret","useLayoutEffect","pos","emit","handleChange","event","el","caret","digitsBefore","prevDigits","cut","controlRef","countryOptions","toOption","dial","jsx","styles","jsxs","pinned","rest","a","b","o","pickCountry","menu","useOptionMenu","handleBlur","describedBy","chevronPx","name_","clsx","fieldStyles","Typography","e","Icon","OptionMenu","PhoneField","module","useOptionalPeer","TextField"],"mappings":"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"}
1
+ {"version":3,"file":"PhoneField-OjsuevPx.js","sources":["../src/components/PhoneField/phone.ts","../src/components/PhoneField/PhoneField.tsx"],"sourcesContent":["import type * as PhoneLibModule from 'libphonenumber-js'\nimport type { CountryCode } from 'libphonenumber-js'\nimport { optionalPeer } from '../../hooks/useOptionalPeer'\n\n/**\n * `libphonenumber-js` is an optional peer, loaded **lazily** (see `optionalPeer`) — never imported\n * statically, so apps that don't install it still build + run when they import the barrel. PhoneField\n * waits for it on mount; the helpers below run only once it's loaded (`lib()`).\n */\nexport const phonePeer = optionalPeer<typeof PhoneLibModule>(\n 'libphonenumber-js',\n 'PhoneField',\n () => import('libphonenumber-js'),\n)\nconst lib = () => phonePeer.get()!\n\n/** An ISO-3166 alpha-2 country code, as `libphonenumber-js` knows it (`'GE'`, `'US'`, …). */\nexport type PhoneCountry = CountryCode\n/** How the number is shown in the input while typing (the value is always E.164). */\nexport type PhoneFormat = 'national' | 'international'\n\nlet allCountries: readonly PhoneCountry[] | undefined\n/** Every country `libphonenumber-js` has metadata for (once loaded). */\nexport function getPhoneCountries(): readonly PhoneCountry[] {\n return (allCountries ??= lib().getCountries())\n}\n\n/** The country's calling code without the `+` — `'GE'` → `'995'`. */\nexport const callingCodeOf = (country: PhoneCountry): string => lib().getCountryCallingCode(country)\n\n/**\n * `true` for a complete, valid number (E.164 or any parseable international form). Use it in a schema:\n * `phone: z.string().refine(isValidPhone, 'Enter a valid phone number')`. Needs `libphonenumber-js`\n * loaded — it is once any PhoneField has mounted; before that it starts the load and returns `false`.\n */\nexport function isValidPhone(value: unknown): boolean {\n const loaded = phonePeer.get()\n // not loaded yet (no PhoneField mounted so far) → start loading and report \"not valid\" for now\n if (!loaded) {\n void phonePeer.load()\n return false\n }\n return typeof value === 'string' && value.trim() !== '' && loaded.isValidPhoneNumber(value)\n}\n\n/** A flag emoji from the two regional-indicator letters — no image assets (Windows shows the letters). */\nexport function flagEmoji(country: string): string {\n return String.fromCodePoint(\n ...[...country.toUpperCase()].map((c) => 0x1f1e6 + c.charCodeAt(0) - 65),\n )\n}\n\nconst displayNamesCache = new Map<string, Intl.DisplayNames | null>()\n/** The country's name in `locale` via `Intl.DisplayNames` (no catalog to ship); falls back to the code. */\nexport function countryName(country: string, locale: string): string {\n if (!displayNamesCache.has(locale)) {\n try {\n displayNamesCache.set(locale, new Intl.DisplayNames([locale], { type: 'region' }))\n } catch {\n displayNamesCache.set(locale, null)\n }\n }\n try {\n return displayNamesCache.get(locale)?.of(country) ?? country\n } catch {\n return country\n }\n}\n\n// the main country for a calling code shared by several (a partial \"+44…\" parses as Guernsey otherwise)\nconst MAIN_FOR_CODE: Record<string, PhoneCountry> = {\n '1': 'US',\n '7': 'RU',\n '39': 'IT',\n '44': 'GB',\n '47': 'NO',\n '61': 'AU',\n '212': 'MA',\n '262': 'RE',\n '290': 'SH',\n '358': 'FI',\n '590': 'GP',\n '599': 'CW',\n}\n// base UI language → its usual country, for the default when the locale carries no region\nconst LANGUAGE_COUNTRY: Record<string, PhoneCountry> = {\n ka: 'GE',\n en: 'US',\n es: 'ES',\n de: 'DE',\n it: 'IT',\n fr: 'FR',\n ru: 'RU',\n}\n\n/** The default country: the locale's region → its language's usual country → the browser's region → US. */\nexport function detectCountry(locale: string, allowed: readonly PhoneCountry[]): PhoneCountry {\n const [base, region] = locale.split('-')\n const browser =\n typeof navigator !== 'undefined' ? navigator.language?.split('-')[1]?.toUpperCase() : undefined\n const candidates = [region?.toUpperCase(), LANGUAGE_COUNTRY[base?.toLowerCase()], browser, 'US']\n return (candidates.find((c) => c && allowed.includes(c as PhoneCountry)) ??\n allowed[0]) as PhoneCountry\n}\n\n/** The result of reading what's in the input. */\nexport interface PhoneReading {\n /** The canonical value — `'+995555123456'`, or `''` when empty. */\n e164: string\n /** The country the number belongs to (may switch when a `+code` is typed). */\n country: PhoneCountry\n /** The national significant number — digits only, no trunk `0`. */\n national: string\n /** A complete, valid number. */\n valid: boolean\n /** What the input should show (formatted as you type). */\n display: string\n}\n\nconst digitsOf = (s: string) => s.replace(/\\D/g, '')\n\n/** Which allowed country a `+code…` number belongs to — keep the current one when it shares the code. */\nfunction countryForCode(\n code: string,\n current: PhoneCountry,\n detected: PhoneCountry | undefined,\n allowed: readonly PhoneCountry[],\n): PhoneCountry {\n if (callingCodeOf(current) === code) return current\n const pick = [detected, MAIN_FOR_CODE[code], ...allowed.filter((c) => callingCodeOf(c) === code)]\n return (pick.find((c) => c && allowed.includes(c)) as PhoneCountry | undefined) ?? current\n}\n\n/** Read raw input text → the canonical value + the formatted display, as the user types. */\nexport function readPhoneInput(\n raw: string,\n country: PhoneCountry,\n format: PhoneFormat,\n allowed: readonly PhoneCountry[],\n): PhoneReading {\n const text = raw.trimStart()\n const digits = digitsOf(text)\n if (!digits) {\n return {\n e164: '',\n country,\n national: '',\n valid: false,\n display: text.startsWith('+') ? '+' : '',\n }\n }\n\n // an explicit \"+code…\" (typed or pasted) — the calling code decides the country\n if (text.startsWith('+')) {\n const typer = new (lib().AsYouType)()\n const display = typer.input(`+${digits}`)\n const code = typer.getCallingCode()\n const parsed = lib().parsePhoneNumberFromString(`+${digits}`)\n const next = code\n ? countryForCode(code, country, parsed?.country ?? typer.getCountry(), allowed)\n : country\n const e164 = `+${digits}`\n return {\n e164,\n country: next,\n national: code ? digits.slice(code.length) : '',\n valid: lib().isValidPhoneNumber(e164),\n display,\n }\n }\n\n // national digits under the selected country (a leading trunk \"0\" is dropped from the value)\n const code = callingCodeOf(country)\n const parsed = lib().parsePhoneNumberFromString(digits, country)\n const national = parsed?.nationalNumber ?? digits.replace(/^0+/, '')\n const e164 = national ? `+${code}${national}` : ''\n const display =\n format === 'international'\n ? new (lib().AsYouType)(country).input(`+${code}${national}`)\n : new (lib().AsYouType)(country).input(digits)\n return {\n e164,\n country,\n national,\n valid: e164 !== '' && lib().isValidPhoneNumber(e164),\n display,\n }\n}\n\n/** Derive the country + display from an E.164 value (initial / external value changes). */\nexport function phoneFromValue(\n value: string,\n fallback: PhoneCountry,\n format: PhoneFormat,\n allowed: readonly PhoneCountry[],\n): { country: PhoneCountry; display: string } {\n if (!value) return { country: fallback, display: '' }\n const parsed = lib().parsePhoneNumberFromString(value)\n if (parsed) {\n const country = countryForCode(parsed.countryCallingCode, fallback, parsed.country, allowed)\n return {\n country,\n display: format === 'national' ? parsed.formatNational() : parsed.formatInternational(),\n }\n }\n const reading = readPhoneInput(value, fallback, 'international', allowed)\n const display =\n format === 'national' && reading.national\n ? new (lib().AsYouType)(reading.country).input(reading.national)\n : reading.display\n return { country: reading.country, display }\n}\n\n/** Caret index in `display` right after its `n`-th digit — keeps the caret put while reformatting. */\nexport function caretAfterDigits(display: string, n: number): number {\n if (n <= 0) return display.startsWith('+') ? 1 : 0\n let seen = 0\n for (let i = 0; i < display.length; i++) {\n if (/\\d/.test(display[i])) seen++\n if (seen === n) return i + 1\n }\n return display.length\n}\n","import {\n forwardRef,\n useCallback,\n useId,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type ChangeEvent,\n type CSSProperties,\n type FocusEvent,\n type InputHTMLAttributes,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { useLanguage, useT } from '../../theme'\nimport { useOptionalPeer } from '../../hooks/useOptionalPeer'\nimport { useFormContext } from '../../form/formContext'\nimport { Icon } from '../Icon'\nimport { TextField } from '../TextField'\nimport { OptionMenu } from '../OptionMenu/OptionMenu'\nimport { useOptionMenu, type SelectOption } from '../OptionMenu/useOptionMenu'\nimport { Typography } from '../Typography'\nimport fieldStyles from '../TextField/TextField.module.css'\nimport {\n callingCodeOf,\n getPhoneCountries,\n caretAfterDigits,\n countryName,\n detectCountry,\n flagEmoji,\n phoneFromValue,\n phonePeer,\n readPhoneInput,\n type PhoneCountry,\n type PhoneFormat,\n} from './phone'\nimport styles from './PhoneField.module.css'\n\nexport type PhoneFieldSize = 'sm' | 'md' | 'lg'\n\n/** Extra details handed to `onChange` alongside the E.164 value. */\nexport interface PhoneFieldChangeMeta {\n /** The number's country (ISO alpha-2). */\n country: PhoneCountry\n /** The national significant number — digits only, no trunk `0`. */\n national: string\n /** A complete, valid number for that country. */\n valid: boolean\n}\n\nexport interface PhoneFieldProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'value' | 'defaultValue' | 'onChange' | 'type' | 'size' | 'color'\n> {\n /** The number in **E.164** (`'+995555123456'`) — the only form the field emits. `''` when empty. */\n value?: string\n /** Initial E.164 value for uncontrolled use. */\n defaultValue?: string\n /** Fires with the E.164 value (`''` when cleared) and `{ country, national, valid }`. */\n onChange?: (value: string, meta: PhoneFieldChangeMeta) => void\n /** The country to start with. Defaults to one derived from the UI language / browser locale. */\n defaultCountry?: PhoneCountry\n /** Restrict the selectable countries (e.g. only where you operate). Defaults to all. */\n countries?: readonly PhoneCountry[]\n /** Countries pinned to the top of the list, in this order. */\n preferredCountries?: readonly PhoneCountry[]\n /**\n * How the number reads while typing — `national` (default: `555 12 34 56`, the calling code lives in\n * the country button) or `international` (`+995 555 12 34 56`). The value is E.164 either way.\n */\n format?: PhoneFormat\n /** Field label. */\n label?: ReactNode\n /** Helper / validation text under the field. */\n helperText?: ReactNode\n /** Error state (red border + helper). */\n error?: boolean\n /** Shows a required asterisk. */\n required?: boolean\n /** `sm` / `md` / `lg` — control height + type. Defaults to `md`. */\n size?: PhoneFieldSize\n /** Stretch to the container. Defaults to `true`. */\n fullWidth?: boolean\n}\n\n/** The field itself — rendered once `libphonenumber-js` has loaded. */\nconst PhoneFieldInner = forwardRef<HTMLInputElement, PhoneFieldProps>(function PhoneFieldInner(\n {\n value,\n defaultValue,\n onChange,\n defaultCountry,\n countries: countriesProp,\n preferredCountries = [],\n format = 'national',\n label,\n helperText,\n error,\n required,\n size = 'md',\n fullWidth = true,\n name,\n disabled = false,\n id: idProp,\n className,\n style,\n onBlur,\n placeholder,\n ...props\n },\n ref,\n) {\n const t = useT()\n const { language } = useLanguage()\n const countries = countriesProp ?? getPhoneCountries()\n const reactId = useId()\n const id = idProp ?? reactId\n const helperId = `${id}-helper`\n\n // ── value: controlled / form-bound / uncontrolled — always E.164 ──\n const form = useFormContext()\n const isFormBound = Boolean(form && name)\n const bound = isFormBound ? form!.field(name!) : undefined\n const [internal, setInternal] = useState(defaultValue ?? '')\n const currentValue =\n value !== undefined\n ? value\n : isFormBound\n ? ((form!.values[name!] as string | undefined) ?? '')\n : internal\n const resolvedError = error ?? bound?.error ?? false\n const resolvedHelperText = helperText ?? bound?.helperText\n\n const fallbackCountry = useMemo<PhoneCountry>(\n () =>\n defaultCountry && countries.includes(defaultCountry)\n ? defaultCountry\n : detectCountry(language, countries),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [defaultCountry, language, countries.join()],\n )\n\n const [country, setCountry] = useState<PhoneCountry>(\n () => phoneFromValue(currentValue, fallbackCountry, format, countries).country,\n )\n const [display, setDisplay] = useState(\n () => phoneFromValue(currentValue, fallbackCountry, format, countries).display,\n )\n\n // re-derive the display when the value changes from OUTSIDE (a reset / a controlled update) — the\n // values we emit ourselves are skipped, so formatting never fights the user mid-typing\n const lastEmitted = useRef(currentValue)\n if (lastEmitted.current !== currentValue) {\n lastEmitted.current = currentValue\n const next = phoneFromValue(currentValue, country, format, countries)\n setCountry(next.country)\n setDisplay(next.display)\n }\n\n // caret restore after reformatting\n const innerRef = useRef<HTMLInputElement | null>(null)\n const setInputRef = useCallback(\n (node: HTMLInputElement | null) => {\n innerRef.current = node\n if (typeof ref === 'function') ref(node)\n else if (ref) (ref as { current: HTMLInputElement | null }).current = node\n },\n [ref],\n )\n const pendingCaret = useRef<number | null>(null)\n useLayoutEffect(() => {\n const pos = pendingCaret.current\n if (pos == null) return\n pendingCaret.current = null\n innerRef.current?.setSelectionRange(pos, pos)\n })\n\n const emit = (reading: ReturnType<typeof readPhoneInput>) => {\n lastEmitted.current = reading.e164\n setDisplay(reading.display)\n if (reading.country !== country) setCountry(reading.country)\n if (value === undefined && !isFormBound) setInternal(reading.e164)\n if (isFormBound) form!.setValue(name!, reading.e164)\n onChange?.(reading.e164, {\n country: reading.country,\n national: reading.national,\n valid: reading.valid,\n })\n }\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const el = event.target\n let raw = el.value\n const caret = el.selectionStart ?? raw.length\n let digitsBefore = raw.slice(0, caret).replace(/\\D/g, '').length\n // backspace over a formatting char (space / paren / dash) would be re-added by the formatter —\n // treat it as deleting the digit before it instead\n const prevDigits = display.replace(/\\D/g, '')\n if (raw.length < display.length && raw.replace(/\\D/g, '') === prevDigits && digitsBefore > 0) {\n let seen = 0\n let cut = -1\n for (let i = 0; i < raw.length; i++) {\n if (/\\d/.test(raw[i]) && ++seen === digitsBefore) {\n cut = i\n break\n }\n }\n if (cut >= 0) raw = raw.slice(0, cut) + raw.slice(cut + 1)\n digitsBefore -= 1\n }\n const reading = readPhoneInput(raw, country, format, countries)\n pendingCaret.current =\n caret >= el.value.length\n ? reading.display.length\n : caretAfterDigits(reading.display, digitsBefore)\n emit(reading)\n }\n\n // ── country picker — the shared option menu (search matches name, ISO code, calling code) ──\n const controlRef = useRef<HTMLDivElement | null>(null)\n const countryOptions = useMemo<SelectOption[]>(() => {\n const toOption = (c: PhoneCountry): SelectOption => {\n const dial = callingCodeOf(c)\n return {\n value: c,\n label: countryName(c, language),\n icon: (\n <span className={styles.flag} aria-hidden=\"true\">\n {flagEmoji(c)}\n </span>\n ),\n keywords: [c, dial, `+${dial}`],\n trailing: <span className={styles.dial}>+{dial}</span>,\n }\n }\n // preferred countries first (in the given order), then the rest A→Z by their localized name —\n // as two groups (\"Suggested\" / \"All Countries\") when there are preferred ones\n const pinned = preferredCountries.filter((c) => countries.includes(c)).map(toOption)\n const rest = countries\n .filter((c) => !preferredCountries.includes(c))\n .map(toOption)\n .sort((a, b) => a.label.localeCompare(b.label, language))\n if (pinned.length === 0) return rest\n return [\n ...pinned.map((o) => ({ ...o, group: t('phoneField.suggested') })),\n ...rest.map((o) => ({ ...o, group: t('phoneField.allCountries') })),\n ]\n }, [countries, preferredCountries, language, t])\n\n const pickCountry = (next: PhoneCountry) => {\n // keep the typed national digits, re-read under the new calling code\n const national = readPhoneInput(display, country, format, countries).national\n setCountry(next)\n emit({ ...readPhoneInput(national, next, format, countries), country: next })\n }\n\n const menu = useOptionMenu({\n idBase: `${id}-country`,\n options: countryOptions,\n isSelected: (o) => o.value === country,\n onPick: (o) => pickCountry(o.value as PhoneCountry),\n searchable: true,\n disabled,\n // after a pick / Esc, typing continues in the number\n focusRef: innerRef,\n })\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n bound?.onBlur(event)\n onBlur?.(event)\n }\n\n const describedBy = resolvedHelperText != null ? helperId : undefined\n const chevronPx = size === 'sm' ? 16 : size === 'md' ? 14 : 12\n const code = callingCodeOf(country)\n const name_ = countryName(country, language)\n\n return (\n <div\n className={clsx(\n fieldStyles.field,\n fieldStyles[size],\n fullWidth && fieldStyles.fullWidth,\n resolvedError && fieldStyles.error,\n disabled && fieldStyles.disabled,\n styles.phoneField,\n className,\n )}\n style={style as CSSProperties}\n >\n {label != null && (\n <label htmlFor={id} className={fieldStyles.label}>\n <Typography as=\"span\" variant=\"bodySmall\" color=\"muted\">\n {label}\n </Typography>\n {required && (\n <span className={fieldStyles.required} aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n )}\n\n <div ref={controlRef} className={clsx(fieldStyles.control, styles.control)}>\n <button\n type=\"button\"\n className={styles.country}\n aria-haspopup=\"listbox\"\n aria-expanded={menu.open}\n aria-controls={menu.open ? menu.listboxId : undefined}\n aria-label={`${t('phoneField.country')}: ${name_} (+${code})`}\n disabled={disabled}\n onClick={menu.toggleMenu}\n onKeyDown={(e) => {\n // ↓ / ↑ open the list (Enter / Space already click the button)\n if ((e.key === 'ArrowDown' || e.key === 'ArrowUp') && !menu.open) {\n e.preventDefault()\n menu.openMenu()\n }\n }}\n >\n <span className={styles.flag} aria-hidden=\"true\">\n {flagEmoji(country)}\n </span>\n {format === 'national' && <span className={styles.code}>+{code}</span>}\n {/* the same chevron as Select / MultiSelect (ArrowDown4, sized per field size: sm 16 · md 14 · lg 12) */}\n <Icon\n name=\"ArrowDown4\"\n className={clsx(styles.chevron, menu.open && styles.chevronOpen)}\n style={{ width: chevronPx, height: chevronPx }}\n aria-hidden=\"true\"\n />\n </button>\n <input\n ref={setInputRef}\n id={id}\n name={name}\n type=\"tel\"\n inputMode=\"tel\"\n autoComplete=\"tel\"\n className={fieldStyles.input}\n value={display}\n placeholder={placeholder}\n onChange={handleChange}\n onBlur={handleBlur}\n disabled={disabled}\n aria-invalid={resolvedError || undefined}\n aria-describedby={describedBy}\n {...props}\n />\n </div>\n\n <OptionMenu\n menu={menu}\n anchorRef={controlRef}\n size={size}\n searchPlaceholder={t('phoneField.search')}\n ariaLabel={t('phoneField.country')}\n />\n\n {resolvedHelperText != null && (\n <Typography\n as=\"span\"\n id={helperId}\n variant=\"bodySmall\"\n color={resolvedError ? 'error' : 'muted'}\n className={fieldStyles.helper}\n >\n {resolvedHelperText}\n </Typography>\n )}\n </div>\n )\n})\n\n/**\n * A phone-number field: a **country button** (flag + `+code`, opening a searchable, localized country\n * list) inside the input frame, and the number **formatted as you type** for that country. The value is\n * always **E.164** (`'+995555123456'`) — one canonical form for the backend. Typing or pasting `+44…`\n * switches the country by its calling code. `onChange(value, { country, national, valid })`; binds to a\n * `<Form>` by `name` (the form value is the E.164 string — validate with `isValidPhone`). Country names\n * come from `Intl.DisplayNames` in the active UI language; flags are emoji. Needs the optional peer\n * **`libphonenumber-js`** (formatting, parsing, validation metadata), loaded lazily on first mount — until\n * it's ready (or if it isn't installed) a disabled look-alike field renders. Reuses the `TextField` look.\n */\nexport const PhoneField = forwardRef<HTMLInputElement, PhoneFieldProps>(\n function PhoneField(props, ref) {\n const { module } = useOptionalPeer(phonePeer)\n if (module) return <PhoneFieldInner ref={ref} {...props} />\n // loading (a tick, first mount only) or the peer is missing: the same frame, disabled — never bound\n // to a <Form> (no `name`) so it can't write a value\n const {\n label,\n helperText,\n error,\n required,\n size,\n fullWidth = true,\n className,\n style,\n placeholder,\n } = props\n return (\n <TextField\n ref={ref}\n type=\"tel\"\n label={label}\n helperText={helperText}\n error={error}\n required={required}\n size={size}\n fullWidth={fullWidth}\n className={className}\n style={style}\n placeholder={placeholder}\n value={props.value ?? props.defaultValue ?? ''}\n readOnly\n disabled\n />\n )\n },\n)\n"],"names":["phonePeer","optionalPeer","lib","allCountries","getPhoneCountries","callingCodeOf","country","isValidPhone","value","loaded","flagEmoji","c","displayNamesCache","countryName","locale","_a","MAIN_FOR_CODE","LANGUAGE_COUNTRY","detectCountry","allowed","base","region","browser","_b","digitsOf","s","countryForCode","code","current","detected","readPhoneInput","raw","format","text","digits","typer","display","parsed","next","e164","national","phoneFromValue","fallback","reading","caretAfterDigits","n","seen","i","PhoneFieldInner","forwardRef","defaultValue","onChange","defaultCountry","countriesProp","preferredCountries","label","helperText","error","required","size","fullWidth","name","disabled","idProp","className","style","onBlur","placeholder","props","ref","t","useT","language","useLanguage","countries","reactId","useId","id","helperId","form","useFormContext","isFormBound","bound","internal","setInternal","useState","currentValue","resolvedError","resolvedHelperText","fallbackCountry","useMemo","setCountry","setDisplay","lastEmitted","useRef","innerRef","setInputRef","useCallback","node","pendingCaret","useLayoutEffect","pos","emit","handleChange","event","el","caret","digitsBefore","prevDigits","cut","controlRef","countryOptions","toOption","dial","jsx","styles","jsxs","pinned","rest","a","b","o","pickCountry","menu","useOptionMenu","handleBlur","describedBy","chevronPx","name_","clsx","fieldStyles","Typography","e","Icon","OptionMenu","PhoneField","module","useOptionalPeer","TextField"],"mappings":"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"}