@vritti/quantum-ui 0.3.11 → 0.3.13

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 (484) hide show
  1. package/dist/Alert.js +1 -1
  2. package/dist/Alert.js.map +1 -1
  3. package/dist/Avatar.js +1 -1
  4. package/dist/Avatar.js.map +1 -1
  5. package/dist/Badge2.js +2 -2
  6. package/dist/BillingCycleSelector.js +37 -0
  7. package/dist/BillingCycleSelector.js.map +1 -0
  8. package/dist/Breadcrumb.js +1 -1
  9. package/dist/Breadcrumb.js.map +1 -1
  10. package/dist/Button.js +1 -1
  11. package/dist/Button.js.map +1 -1
  12. package/dist/Button2.js +2 -2
  13. package/dist/CardSkeleton.js.map +1 -1
  14. package/dist/CategoryFilter.js +6 -4
  15. package/dist/CategoryFilter.js.map +1 -1
  16. package/dist/Checkbox.js.map +1 -1
  17. package/dist/Checkbox2.js +4 -4
  18. package/dist/CheckboxGroup.js.map +1 -1
  19. package/dist/Collapsible.js.map +1 -1
  20. package/dist/Combination.js +1129 -0
  21. package/dist/Combination.js.map +1 -0
  22. package/dist/CompanySelector.js +20 -0
  23. package/dist/CompanySelector.js.map +1 -0
  24. package/dist/ConfirmHost.js.map +1 -1
  25. package/dist/CountrySelector.js +37 -0
  26. package/dist/CountrySelector.js.map +1 -0
  27. package/dist/CurrencyField.js +1 -0
  28. package/dist/CurrencyField.js.map +1 -1
  29. package/dist/CustomerSelector.js +2 -2
  30. package/dist/CustomerSelector.js.map +1 -1
  31. package/dist/DangerZoneSkeleton.js +21 -3
  32. package/dist/DangerZoneSkeleton.js.map +1 -1
  33. package/dist/DatePicker.js +3 -3
  34. package/dist/DatePicker.js.map +1 -1
  35. package/dist/DateTimePicker.js +2 -2
  36. package/dist/DetailSectionSkeleton.js.map +1 -1
  37. package/dist/Dialog.js.map +1 -1
  38. package/dist/DropdownMenu.js.map +1 -1
  39. package/dist/FeaturePermissionSelector.js +37 -0
  40. package/dist/FeaturePermissionSelector.js.map +1 -0
  41. package/dist/Form.js.map +1 -1
  42. package/dist/FormSection.js +4 -4
  43. package/dist/FormSection.js.map +1 -1
  44. package/dist/HierarchyGraph.js +5 -10621
  45. package/dist/HierarchyGraph.js.map +1 -1
  46. package/dist/ISOCountrySelect.js +283 -0
  47. package/dist/ISOCountrySelect.js.map +1 -0
  48. package/dist/IconSelect.js +1 -1
  49. package/dist/IconSelect.js.map +1 -1
  50. package/dist/InventoryItemSelector.js +2 -2
  51. package/dist/InventoryItemSelector.js.map +1 -1
  52. package/dist/Kbd.js +1 -1
  53. package/dist/Kbd.js.map +1 -1
  54. package/dist/Label.js +1 -1
  55. package/dist/LayoutModeContext.js.map +1 -1
  56. package/dist/LegalEntitySelector.js +37 -0
  57. package/dist/LegalEntitySelector.js.map +1 -0
  58. package/dist/LocationSelector.js +2 -2
  59. package/dist/LocationSelector.js.map +1 -1
  60. package/dist/LotSelector.js +2 -2
  61. package/dist/LotSelector.js.map +1 -1
  62. package/dist/OTPField.js.map +1 -1
  63. package/dist/PageContent.js.map +1 -1
  64. package/dist/PageHeaderSkeleton.js +21 -10
  65. package/dist/PageHeaderSkeleton.js.map +1 -1
  66. package/dist/PasswordField.js.map +1 -1
  67. package/dist/PermissionGate.js +49 -5
  68. package/dist/PermissionGate.js.map +1 -1
  69. package/dist/PersonSelector.js +20 -0
  70. package/dist/PersonSelector.js.map +1 -0
  71. package/dist/PhoneField.js.map +1 -1
  72. package/dist/PurchaseOrderSelector.js +2 -2
  73. package/dist/PurchaseOrderSelector.js.map +1 -1
  74. package/dist/QuantSelector.js +2 -2
  75. package/dist/QuantSelector.js.map +1 -1
  76. package/dist/RadioGroup.js +6 -6
  77. package/dist/RadioGroup.js.map +1 -1
  78. package/dist/RoleSelector.js +20 -0
  79. package/dist/RoleSelector.js.map +1 -0
  80. package/dist/Select.js +4 -1
  81. package/dist/Select.js.map +1 -1
  82. package/dist/SelectFilter.js.map +1 -1
  83. package/dist/Separator.js.map +1 -1
  84. package/dist/SerialSelector.js +2 -2
  85. package/dist/SerialSelector.js.map +1 -1
  86. package/dist/Sidebar.js +2 -2
  87. package/dist/Sidebar.js.map +1 -1
  88. package/dist/SingleSelect.js +2 -2
  89. package/dist/SingleSelect.js.map +1 -1
  90. package/dist/SiteGroupSelector.js +37 -0
  91. package/dist/SiteGroupSelector.js.map +1 -0
  92. package/dist/SiteSelector.js +37 -0
  93. package/dist/SiteSelector.js.map +1 -0
  94. package/dist/Sonner.js +1 -1
  95. package/dist/Sonner.js.map +1 -1
  96. package/dist/Sortable.js +4 -4417
  97. package/dist/Sortable.js.map +1 -1
  98. package/dist/StepProgressIndicator.js.map +1 -1
  99. package/dist/SupplierItemSelector.js +2 -2
  100. package/dist/SupplierItemSelector.js.map +1 -1
  101. package/dist/SupplierSelector.js +2 -2
  102. package/dist/SupplierSelector.js.map +1 -1
  103. package/dist/Switch.js +3 -3
  104. package/dist/Switch.js.map +1 -1
  105. package/dist/TabsSkeleton.js +101 -49
  106. package/dist/TabsSkeleton.js.map +1 -1
  107. package/dist/TaxClassSelector.js +20 -0
  108. package/dist/TaxClassSelector.js.map +1 -0
  109. package/dist/TextField.js.map +1 -1
  110. package/dist/ThemeContext.js.map +1 -1
  111. package/dist/ThemeToggle.js.map +1 -1
  112. package/dist/Toggle.js +1 -1
  113. package/dist/Toggle.js.map +1 -1
  114. package/dist/Tooltip.js.map +1 -1
  115. package/dist/Typography.js.map +1 -1
  116. package/dist/UomSelector.js +2 -2
  117. package/dist/UomSelector.js.map +1 -1
  118. package/dist/UploadFile.js.map +1 -1
  119. package/dist/assets/quantum-ui.css +25 -13
  120. package/dist/calendar2.js +1 -1
  121. package/dist/collapsible2.js +1 -1
  122. package/dist/components/CompanySelector.js +2 -0
  123. package/dist/components/CompanySelector.js.map +1 -0
  124. package/dist/components/FormattedDate.js +2 -2
  125. package/dist/components/HierarchyGraph.js +2 -1
  126. package/dist/components/HierarchyGraph.js.map +1 -1
  127. package/dist/components/PermissionGate.js +1 -1
  128. package/dist/components/PersonSelector.js +2 -0
  129. package/dist/components/PersonSelector.js.map +1 -0
  130. package/dist/components/ScanBarcodeButton.js.map +1 -1
  131. package/dist/components/TreeView.js +7 -7
  132. package/dist/components/TreeView.js.map +1 -1
  133. package/dist/core.esm.js +4025 -0
  134. package/dist/core.esm.js.map +1 -0
  135. package/dist/dropdown-menu.js +10 -10
  136. package/dist/field.js +1 -1
  137. package/dist/image-component.js.map +1 -1
  138. package/dist/index.js +15 -3
  139. package/dist/index.js.map +1 -1
  140. package/dist/index10.js +102 -1499
  141. package/dist/index10.js.map +1 -1
  142. package/dist/index11.js +1499 -37
  143. package/dist/index11.js.map +1 -1
  144. package/dist/index12.js +29 -477
  145. package/dist/index12.js.map +1 -1
  146. package/dist/index13.js +427 -231
  147. package/dist/index13.js.map +1 -1
  148. package/dist/index14.js +215 -1074
  149. package/dist/index14.js.map +1 -1
  150. package/dist/index15.js +1140 -14
  151. package/dist/index15.js.map +1 -1
  152. package/dist/index16.js +13 -19
  153. package/dist/index16.js.map +1 -1
  154. package/dist/index17.js +24 -172
  155. package/dist/index17.js.map +1 -1
  156. package/dist/index18.js +168 -175
  157. package/dist/index18.js.map +1 -1
  158. package/dist/index19.js +173 -201
  159. package/dist/index19.js.map +1 -1
  160. package/dist/index20.js +203 -69
  161. package/dist/index20.js.map +1 -1
  162. package/dist/index21.js +70 -211
  163. package/dist/index21.js.map +1 -1
  164. package/dist/index22.js +207 -117
  165. package/dist/index22.js.map +1 -1
  166. package/dist/index23.js +123 -71
  167. package/dist/index23.js.map +1 -1
  168. package/dist/index24.js +74 -11
  169. package/dist/index24.js.map +1 -1
  170. package/dist/index25.js +13 -1134
  171. package/dist/index25.js.map +1 -1
  172. package/dist/index26.js +1120 -219
  173. package/dist/index26.js.map +1 -1
  174. package/dist/index27.js +202 -2506
  175. package/dist/index27.js.map +1 -1
  176. package/dist/index28.js +2527 -23
  177. package/dist/index28.js.map +1 -1
  178. package/dist/index29.js +32 -4
  179. package/dist/index29.js.map +1 -1
  180. package/dist/index3.js +11543 -267
  181. package/dist/index3.js.map +1 -1
  182. package/dist/index30.js +3 -1124
  183. package/dist/index30.js.map +1 -1
  184. package/dist/index31.js +1 -1
  185. package/dist/index32.js +7 -7
  186. package/dist/index34.js +1 -1
  187. package/dist/index37.js +1 -1
  188. package/dist/index38.js +21 -42
  189. package/dist/index38.js.map +1 -1
  190. package/dist/index4.js +272 -132
  191. package/dist/index4.js.map +1 -1
  192. package/dist/index5.js +138 -388
  193. package/dist/index5.js.map +1 -1
  194. package/dist/index6.js +386 -7
  195. package/dist/index6.js.map +1 -1
  196. package/dist/index7.js +13 -92
  197. package/dist/index7.js.map +1 -1
  198. package/dist/index8.js +92 -43
  199. package/dist/index8.js.map +1 -1
  200. package/dist/index9.js +42 -102
  201. package/dist/index9.js.map +1 -1
  202. package/dist/lib/components/Alert/Alert.d.ts.map +1 -1
  203. package/dist/lib/components/Avatar/Avatar.d.ts.map +1 -1
  204. package/dist/lib/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  205. package/dist/lib/components/Button/Button.d.ts.map +1 -1
  206. package/dist/lib/components/Card/CardSkeleton.d.ts.map +1 -1
  207. package/dist/lib/components/Checkbox/Checkbox.d.ts.map +1 -1
  208. package/dist/lib/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -1
  209. package/dist/lib/components/Collapsible/Collapsible.d.ts.map +1 -1
  210. package/dist/lib/components/CompanySelector/CompanySelector.d.ts +4 -0
  211. package/dist/lib/components/CompanySelector/CompanySelector.d.ts.map +1 -0
  212. package/dist/lib/components/CompanySelector/index.d.ts +2 -0
  213. package/dist/lib/components/CompanySelector/index.d.ts.map +1 -0
  214. package/dist/lib/components/ConfirmHost/ConfirmHost.d.ts.map +1 -1
  215. package/dist/lib/components/CurrencyField/CurrencyField.d.ts.map +1 -1
  216. package/dist/lib/components/DangerZone/DangerZone.d.ts +3 -1
  217. package/dist/lib/components/DangerZone/DangerZone.d.ts.map +1 -1
  218. package/dist/lib/components/DataTable/CompactTableSkeleton.d.ts.map +1 -1
  219. package/dist/lib/components/DataTable/DataTable.d.ts +1 -1
  220. package/dist/lib/components/DataTable/DataTable.d.ts.map +1 -1
  221. package/dist/lib/components/DataTable/cells/cells.d.ts.map +1 -1
  222. package/dist/lib/components/DataTable/components/DataTableSelectionBar.d.ts +3 -1
  223. package/dist/lib/components/DataTable/components/DataTableSelectionBar.d.ts.map +1 -1
  224. package/dist/lib/components/DataTable/components/RowActions.d.ts.map +1 -1
  225. package/dist/lib/components/DataTable/hooks/useDataTable.d.ts.map +1 -1
  226. package/dist/lib/components/DataTable/store/store.d.ts.map +1 -1
  227. package/dist/lib/components/DataTable/types.d.ts +3 -0
  228. package/dist/lib/components/DataTable/types.d.ts.map +1 -1
  229. package/dist/lib/components/DatePicker/DatePicker.d.ts +2 -2
  230. package/dist/lib/components/DatePicker/DatePicker.d.ts.map +1 -1
  231. package/dist/lib/components/DetailField/DetailField.d.ts.map +1 -1
  232. package/dist/lib/components/DetailField/DetailHeader.d.ts.map +1 -1
  233. package/dist/lib/components/DetailField/DetailSectionSkeleton.d.ts.map +1 -1
  234. package/dist/lib/components/Dialog/Dialog.d.ts.map +1 -1
  235. package/dist/lib/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  236. package/dist/lib/components/DropdownMenu/types.d.ts.map +1 -1
  237. package/dist/lib/components/Editor/editor-ui/color-picker.d.ts.map +1 -1
  238. package/dist/lib/components/Editor/editor-ui/image-component.d.ts.map +1 -1
  239. package/dist/lib/components/Editor/nodes/autocomplete-node.d.ts.map +1 -1
  240. package/dist/lib/components/Editor/plugins/actions/max-length-plugin.d.ts.map +1 -1
  241. package/dist/lib/components/Editor/plugins/embeds/auto-embed-plugin.d.ts.map +1 -1
  242. package/dist/lib/components/Editor/plugins/embeds/youtube-plugin.d.ts.map +1 -1
  243. package/dist/lib/components/Editor/plugins/emojis-plugin.d.ts.map +1 -1
  244. package/dist/lib/components/Editor/plugins/floating-link-editor-plugin.d.ts.map +1 -1
  245. package/dist/lib/components/Editor/plugins/floating-text-format-plugin.d.ts.map +1 -1
  246. package/dist/lib/components/Editor/plugins/images-plugin.d.ts.map +1 -1
  247. package/dist/lib/components/Editor/plugins/keywords-plugin.d.ts.map +1 -1
  248. package/dist/lib/components/Editor/plugins/layout-plugin.d.ts.map +1 -1
  249. package/dist/lib/components/Editor/plugins/list-max-indent-level-plugin.d.ts.map +1 -1
  250. package/dist/lib/components/Editor/plugins/mentions-plugin.d.ts.map +1 -1
  251. package/dist/lib/components/Editor/plugins/picker/component-picker-option.d.ts.map +1 -1
  252. package/dist/lib/components/Editor/plugins/tab-focus-plugin.d.ts.map +1 -1
  253. package/dist/lib/components/Editor/plugins/table-plugin.d.ts.map +1 -1
  254. package/dist/lib/components/Editor/plugins/toolbar/clear-formatting-toolbar-plugin.d.ts.map +1 -1
  255. package/dist/lib/components/Editor/plugins/typing-pref-plugin.d.ts.map +1 -1
  256. package/dist/lib/components/Editor/shared/invariant.d.ts.map +1 -1
  257. package/dist/lib/components/Editor/shared/react-patches.d.ts.map +1 -1
  258. package/dist/lib/components/Editor/shared/react-test-utils.d.ts.map +1 -1
  259. package/dist/lib/components/Editor/shared/simple-diff-with-cursor.d.ts.map +1 -1
  260. package/dist/lib/components/Editor/shared/use-layout-effect.d.ts.map +1 -1
  261. package/dist/lib/components/Editor/transformers/markdown-table-transformer.d.ts.map +1 -1
  262. package/dist/lib/components/Editor/utils/collapsible.d.ts.map +1 -1
  263. package/dist/lib/components/Editor/utils/doc-serialization.d.ts.map +1 -1
  264. package/dist/lib/components/Editor/utils/emoji-list.d.ts.map +1 -1
  265. package/dist/lib/components/Editor/utils/get-dom-range-rect.d.ts.map +1 -1
  266. package/dist/lib/components/Editor/utils/get-selected-node.d.ts.map +1 -1
  267. package/dist/lib/components/Editor/utils/guard.d.ts.map +1 -1
  268. package/dist/lib/components/Editor/utils/set-floating-elem-position-for-link-editor.d.ts.map +1 -1
  269. package/dist/lib/components/Editor/utils/set-floating-elem-position.d.ts.map +1 -1
  270. package/dist/lib/components/Editor/utils/swipe.d.ts.map +1 -1
  271. package/dist/lib/components/Editor/utils/url.d.ts.map +1 -1
  272. package/dist/lib/components/Form/Form.d.ts.map +1 -1
  273. package/dist/lib/components/OTPField/OTPField.d.ts.map +1 -1
  274. package/dist/lib/components/PageContent/PageContent.d.ts.map +1 -1
  275. package/dist/lib/components/PageHeader/PageHeader.d.ts.map +1 -1
  276. package/dist/lib/components/PasswordField/PasswordField.d.ts.map +1 -1
  277. package/dist/lib/components/PermissionGate/PermissionGate.d.ts +15 -4
  278. package/dist/lib/components/PermissionGate/PermissionGate.d.ts.map +1 -1
  279. package/dist/lib/components/PermissionGate/index.d.ts +1 -1
  280. package/dist/lib/components/PermissionGate/index.d.ts.map +1 -1
  281. package/dist/lib/components/PersonSelector/PersonSelector.d.ts +4 -0
  282. package/dist/lib/components/PersonSelector/PersonSelector.d.ts.map +1 -0
  283. package/dist/lib/components/PersonSelector/index.d.ts +2 -0
  284. package/dist/lib/components/PersonSelector/index.d.ts.map +1 -0
  285. package/dist/lib/components/PhoneField/PhoneField.d.ts.map +1 -1
  286. package/dist/lib/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  287. package/dist/lib/components/ScanBarcodeButton/ScanBarcodeButton.d.ts.map +1 -1
  288. package/dist/lib/components/Select/SelectFilter.d.ts.map +1 -1
  289. package/dist/lib/components/Select/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  290. package/dist/lib/components/Select/components/MultiSelect/MultiSelectFilter.d.ts.map +1 -1
  291. package/dist/lib/components/Select/components/SingleSelect/SingleSelect.d.ts.map +1 -1
  292. package/dist/lib/components/Select/components/SingleSelect/SingleSelectFilter.d.ts.map +1 -1
  293. package/dist/lib/components/Select/hooks/useSelect.d.ts.map +1 -1
  294. package/dist/lib/components/Select/hooks/useSingleSelect.d.ts.map +1 -1
  295. package/dist/lib/components/Select/types.d.ts +1 -1
  296. package/dist/lib/components/Select/types.d.ts.map +1 -1
  297. package/dist/lib/components/Separator/Separator.d.ts.map +1 -1
  298. package/dist/lib/components/Sidebar/Sidebar.d.ts.map +1 -1
  299. package/dist/lib/components/Sonner/Sonner.d.ts.map +1 -1
  300. package/dist/lib/components/Sonner/toast.d.ts.map +1 -1
  301. package/dist/lib/components/StepProgressIndicator/StepProgressIndicator.d.ts.map +1 -1
  302. package/dist/lib/components/Switch/Switch.d.ts.map +1 -1
  303. package/dist/lib/components/Tabs/Tabs.d.ts +2 -0
  304. package/dist/lib/components/Tabs/Tabs.d.ts.map +1 -1
  305. package/dist/lib/components/Tabs/TabsSkeleton.d.ts.map +1 -1
  306. package/dist/lib/components/TextField/TextField.d.ts.map +1 -1
  307. package/dist/lib/components/ThemeToggle/ThemeToggle.d.ts.map +1 -1
  308. package/dist/lib/components/Toggle/Toggle.d.ts.map +1 -1
  309. package/dist/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
  310. package/dist/lib/components/TreeView/TreeView.d.ts.map +1 -1
  311. package/dist/lib/components/Typography/Typography.d.ts.map +1 -1
  312. package/dist/lib/components/UploadFile/UploadFile.d.ts.map +1 -1
  313. package/dist/lib/components/index.d.ts +2 -0
  314. package/dist/lib/components/index.d.ts.map +1 -1
  315. package/dist/lib/config/index.d.ts.map +1 -1
  316. package/dist/lib/context/LayoutModeContext.d.ts.map +1 -1
  317. package/dist/lib/context/ThemeContext.d.ts.map +1 -1
  318. package/dist/lib/hooks/useBUCurrency.d.ts.map +1 -1
  319. package/dist/lib/hooks/useBUTimezone.d.ts.map +1 -1
  320. package/dist/lib/hooks/useBarcodeScanner.d.ts.map +1 -1
  321. package/dist/lib/hooks/useFormatters.d.ts.map +1 -1
  322. package/dist/lib/hooks/useSSE.d.ts.map +1 -1
  323. package/dist/lib/hooks/useTheme.d.ts.map +1 -1
  324. package/dist/lib/index.d.ts.map +1 -1
  325. package/dist/lib/selects/billing-cycle/BillingCycleFilter.d.ts +12 -0
  326. package/dist/lib/selects/billing-cycle/BillingCycleFilter.d.ts.map +1 -0
  327. package/dist/lib/selects/billing-cycle/BillingCycleSelector.d.ts +4 -0
  328. package/dist/lib/selects/billing-cycle/BillingCycleSelector.d.ts.map +1 -0
  329. package/dist/lib/selects/billing-cycle/index.d.ts +3 -0
  330. package/dist/lib/selects/billing-cycle/index.d.ts.map +1 -0
  331. package/dist/lib/selects/category/CategoryFilter.d.ts.map +1 -1
  332. package/dist/lib/selects/category/CategorySelector.d.ts.map +1 -1
  333. package/dist/lib/selects/cost-category/CostCategorySelector.d.ts.map +1 -1
  334. package/dist/lib/selects/country/CountryFilter.d.ts +12 -0
  335. package/dist/lib/selects/country/CountryFilter.d.ts.map +1 -0
  336. package/dist/lib/selects/country/CountrySelector.d.ts +4 -0
  337. package/dist/lib/selects/country/CountrySelector.d.ts.map +1 -0
  338. package/dist/lib/selects/country/index.d.ts +3 -0
  339. package/dist/lib/selects/country/index.d.ts.map +1 -0
  340. package/dist/lib/selects/feature-permission/FeaturePermissionFilter.d.ts +12 -0
  341. package/dist/lib/selects/feature-permission/FeaturePermissionFilter.d.ts.map +1 -0
  342. package/dist/lib/selects/feature-permission/FeaturePermissionSelector.d.ts +4 -0
  343. package/dist/lib/selects/feature-permission/FeaturePermissionSelector.d.ts.map +1 -0
  344. package/dist/lib/selects/feature-permission/index.d.ts +3 -0
  345. package/dist/lib/selects/feature-permission/index.d.ts.map +1 -0
  346. package/dist/lib/selects/icon/IconSelect.d.ts.map +1 -1
  347. package/dist/lib/selects/index.d.ts +9 -0
  348. package/dist/lib/selects/index.d.ts.map +1 -1
  349. package/dist/lib/selects/inventory-item/InventoryItemSelector.d.ts +2 -2
  350. package/dist/lib/selects/inventory-item/InventoryItemSelector.d.ts.map +1 -1
  351. package/dist/lib/selects/iso-country/ISOCountrySelect.d.ts +15 -0
  352. package/dist/lib/selects/iso-country/ISOCountrySelect.d.ts.map +1 -0
  353. package/dist/lib/selects/iso-country/index.d.ts +3 -0
  354. package/dist/lib/selects/iso-country/index.d.ts.map +1 -0
  355. package/dist/lib/selects/iso-country/iso-countries.d.ts +7 -0
  356. package/dist/lib/selects/iso-country/iso-countries.d.ts.map +1 -0
  357. package/dist/lib/selects/legal-entity/LegalEntityFilter.d.ts +12 -0
  358. package/dist/lib/selects/legal-entity/LegalEntityFilter.d.ts.map +1 -0
  359. package/dist/lib/selects/legal-entity/LegalEntitySelector.d.ts +4 -0
  360. package/dist/lib/selects/legal-entity/LegalEntitySelector.d.ts.map +1 -0
  361. package/dist/lib/selects/legal-entity/index.d.ts +3 -0
  362. package/dist/lib/selects/legal-entity/index.d.ts.map +1 -0
  363. package/dist/lib/selects/location/LocationSelector.d.ts.map +1 -1
  364. package/dist/lib/selects/purchase-order/PurchaseOrderSelector.d.ts.map +1 -1
  365. package/dist/lib/selects/purchase-order-item/PurchaseOrderItemSelector.d.ts.map +1 -1
  366. package/dist/lib/selects/role/RoleSelector.d.ts +4 -0
  367. package/dist/lib/selects/role/RoleSelector.d.ts.map +1 -0
  368. package/dist/lib/selects/role/index.d.ts +2 -0
  369. package/dist/lib/selects/role/index.d.ts.map +1 -0
  370. package/dist/lib/selects/serial/SerialSelector.d.ts.map +1 -1
  371. package/dist/lib/selects/site/SiteFilter.d.ts +12 -0
  372. package/dist/lib/selects/site/SiteFilter.d.ts.map +1 -0
  373. package/dist/lib/selects/site/SiteSelector.d.ts +4 -0
  374. package/dist/lib/selects/site/SiteSelector.d.ts.map +1 -0
  375. package/dist/lib/selects/site/index.d.ts +3 -0
  376. package/dist/lib/selects/site/index.d.ts.map +1 -0
  377. package/dist/lib/selects/site-group/SiteGroupFilter.d.ts +12 -0
  378. package/dist/lib/selects/site-group/SiteGroupFilter.d.ts.map +1 -0
  379. package/dist/lib/selects/site-group/SiteGroupSelector.d.ts +4 -0
  380. package/dist/lib/selects/site-group/SiteGroupSelector.d.ts.map +1 -0
  381. package/dist/lib/selects/site-group/index.d.ts +3 -0
  382. package/dist/lib/selects/site-group/index.d.ts.map +1 -0
  383. package/dist/lib/selects/supplier/SupplierSelector.d.ts.map +1 -1
  384. package/dist/lib/selects/supplier-item/SupplierItemFilter.d.ts.map +1 -1
  385. package/dist/lib/selects/supplier-item/SupplierItemSelector.d.ts.map +1 -1
  386. package/dist/lib/selects/tax-class/TaxClassSelector.d.ts +4 -0
  387. package/dist/lib/selects/tax-class/TaxClassSelector.d.ts.map +1 -0
  388. package/dist/lib/selects/tax-class/index.d.ts +2 -0
  389. package/dist/lib/selects/tax-class/index.d.ts.map +1 -0
  390. package/dist/lib/theme/index.d.ts.map +1 -1
  391. package/dist/lib/types/catalog-resolver.d.ts +222 -0
  392. package/dist/lib/types/catalog-resolver.d.ts.map +1 -0
  393. package/dist/lib/utils/axios.d.ts.map +1 -1
  394. package/dist/lib/utils/cn.d.ts +3 -0
  395. package/dist/lib/utils/cn.d.ts.map +1 -0
  396. package/dist/lib/utils/dagre.d.ts +2 -0
  397. package/dist/lib/utils/dagre.d.ts.map +1 -0
  398. package/dist/lib/utils/dnd-kit/core.d.ts +2 -0
  399. package/dist/lib/utils/dnd-kit/core.d.ts.map +1 -0
  400. package/dist/lib/utils/dnd-kit/sortable.d.ts +2 -0
  401. package/dist/lib/utils/dnd-kit/sortable.d.ts.map +1 -0
  402. package/dist/lib/utils/dnd-kit/utilities.d.ts +2 -0
  403. package/dist/lib/utils/dnd-kit/utilities.d.ts.map +1 -0
  404. package/dist/lib/utils/formHelpers.d.ts.map +1 -1
  405. package/dist/lib/utils/format.d.ts.map +1 -1
  406. package/dist/lib/utils/permission-deps.d.ts +9 -0
  407. package/dist/lib/utils/permission-deps.d.ts.map +1 -0
  408. package/dist/lib/utils/react-flow.d.ts +2 -0
  409. package/dist/lib/utils/react-flow.d.ts.map +1 -0
  410. package/dist/lib/utils/zod.d.ts +9 -0
  411. package/dist/lib/utils/zod.d.ts.map +1 -1
  412. package/dist/popover.js +1 -1
  413. package/dist/select2.js +1 -1
  414. package/dist/selects/billing-cycle.js +2 -0
  415. package/dist/selects/billing-cycle.js.map +1 -0
  416. package/dist/selects/cost-category.js +2 -2
  417. package/dist/selects/cost-category.js.map +1 -1
  418. package/dist/selects/country.js +2 -0
  419. package/dist/selects/country.js.map +1 -0
  420. package/dist/selects/feature-permission.js +2 -0
  421. package/dist/selects/feature-permission.js.map +1 -0
  422. package/dist/selects/iso-country.js +2 -0
  423. package/dist/selects/iso-country.js.map +1 -0
  424. package/dist/selects/legal-entity.js +2 -0
  425. package/dist/selects/legal-entity.js.map +1 -0
  426. package/dist/selects/purchase-order-item.js +1 -1
  427. package/dist/selects/purchase-order-item.js.map +1 -1
  428. package/dist/selects/role.js +2 -0
  429. package/dist/selects/role.js.map +1 -0
  430. package/dist/selects/site-group.js +2 -0
  431. package/dist/selects/site-group.js.map +1 -0
  432. package/dist/selects/site.js +2 -0
  433. package/dist/selects/site.js.map +1 -0
  434. package/dist/selects/tax-class.js +2 -0
  435. package/dist/selects/tax-class.js.map +1 -0
  436. package/dist/selects/tax-group.js +2 -2
  437. package/dist/selects/tax-group.js.map +1 -1
  438. package/dist/separator2.js +1 -1
  439. package/dist/sortable.esm.js +780 -0
  440. package/dist/sortable.esm.js.map +1 -0
  441. package/dist/theme/index.js.map +1 -1
  442. package/dist/toast.js +2 -26
  443. package/dist/toast.js.map +1 -1
  444. package/dist/tooltip2.js +1 -1
  445. package/dist/types/api-response.js +2 -0
  446. package/dist/types/api-response.js.map +1 -0
  447. package/dist/types/catalog-resolver.js +8 -0
  448. package/dist/types/catalog-resolver.js.map +1 -0
  449. package/dist/types/table-filter.js +17 -0
  450. package/dist/types/table-filter.js.map +1 -0
  451. package/dist/useBUTimezone.js.map +1 -1
  452. package/dist/useDataTable.js +152 -119
  453. package/dist/useDataTable.js.map +1 -1
  454. package/dist/useFormatters.js.map +1 -1
  455. package/dist/useTheme.js.map +1 -1
  456. package/dist/useTimer.js +2 -2
  457. package/dist/useTimer.js.map +1 -1
  458. package/dist/utilities.esm.js +333 -0
  459. package/dist/utilities.esm.js.map +1 -0
  460. package/dist/utils/axios.js +1 -1
  461. package/dist/utils/axios.js.map +1 -1
  462. package/dist/utils/cn.js +6 -0
  463. package/dist/utils/cn.js.map +1 -0
  464. package/dist/utils/currency.js +2 -2
  465. package/dist/utils/dagre.js +4 -0
  466. package/dist/utils/dagre.js.map +1 -0
  467. package/dist/utils/dnd-kit/core.js +2 -0
  468. package/dist/utils/dnd-kit/core.js.map +1 -0
  469. package/dist/utils/dnd-kit/sortable.js +2 -0
  470. package/dist/utils/dnd-kit/sortable.js.map +1 -0
  471. package/dist/utils/dnd-kit/utilities.js +2 -0
  472. package/dist/utils/dnd-kit/utilities.js.map +1 -0
  473. package/dist/utils/format.js +2 -2
  474. package/dist/utils/format.js.map +1 -1
  475. package/dist/utils/hotkeys.js +1 -1
  476. package/dist/utils/money.js +1 -1
  477. package/dist/utils/permission-deps.js +64 -0
  478. package/dist/utils/permission-deps.js.map +1 -0
  479. package/dist/utils/react-flow.js +2 -0
  480. package/dist/utils/react-flow.js.map +1 -0
  481. package/dist/utils/timezone.js +1 -1
  482. package/dist/utils/zod.js +11 -1
  483. package/dist/utils/zod.js.map +1 -1
  484. package/package.json +79 -3
@@ -11,7 +11,7 @@ const InventoryItemFilter = Object.assign(
11
11
  name: "inventoryItemId",
12
12
  label: "Inventory Item",
13
13
  placeholder: "Select inventory item",
14
- optionsEndpoint: "commerce-api/inventory-items/select",
14
+ optionsEndpoint: "commerce-api/select-api/inventory-items",
15
15
  fieldKeys: { valueKey: "id", labelKey: "name" },
16
16
  ...props
17
17
  }
@@ -28,7 +28,7 @@ const InventoryItemSelector = forwardRef(
28
28
  label: "Inventory Item",
29
29
  placeholder: "Select inventory item",
30
30
  searchable: true,
31
- optionsEndpoint: "commerce-api/inventory-items/select",
31
+ optionsEndpoint: "commerce-api/select-api/inventory-items",
32
32
  ...props,
33
33
  fieldKeys: { ...DEFAULT_FIELD_KEYS, ...fieldKeys }
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InventoryItemSelector.js","sources":["../lib/selects/inventory-item/InventoryItemFilter.tsx","../lib/selects/inventory-item/InventoryItemSelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { SelectFilter, type SelectFilterProps } from '../../components/Select/SelectFilter';\n\nexport type InventoryItemFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name'> & { name?: string };\n\n// Pre-configured SelectFilter for inventory item filtering with async search\nexport const InventoryItemFilter = Object.assign(\n forwardRef<HTMLButtonElement, InventoryItemFilterProps>((props, ref) => (\n <SelectFilter\n ref={ref}\n name=\"inventoryItemId\"\n label=\"Inventory Item\"\n placeholder=\"Select inventory item\"\n optionsEndpoint=\"commerce-api/inventory-items/select\"\n fieldKeys={{ valueKey: 'id', labelKey: 'name' }}\n {...props}\n />\n )),\n { displayName: 'InventoryItemFilter', defaultLabel: 'Inventory Item', defaultName: 'inventoryItemId' },\n);\n","import { forwardRef } from 'react';\nimport { Select, type SelectProps } from '../../components/Select/Select';\n\nexport type InventoryItemSelectorProps = Omit<SelectProps, 'optionsEndpoint'>;\n\nconst DEFAULT_FIELD_KEYS = { valueKey: 'id', labelKey: 'name', groupIdKey: 'categoryId' } as const;\n\n// Pre-configured Select for inventory item selection with async search, grouped by category\nexport const InventoryItemSelector = forwardRef<HTMLButtonElement, InventoryItemSelectorProps>(\n ({ fieldKeys, ...props }, ref) => (\n <Select\n ref={ref}\n label=\"Inventory Item\"\n placeholder=\"Select inventory item\"\n searchable\n optionsEndpoint=\"commerce-api/inventory-items/select\"\n {...props}\n fieldKeys={{ ...DEFAULT_FIELD_KEYS, ...fieldKeys }}\n />\n ),\n);\nInventoryItemSelector.displayName = 'InventoryItemSelector';\n"],"names":[],"mappings":";;;;;AAMO,MAAM,sBAAsB,MAAA,CAAO,MAAA;AAAA,EACxC,UAAA,CAAwD,CAAC,KAAA,EAAO,GAAA,qBAC9D,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,IAAA,EAAK,iBAAA;AAAA,MACL,KAAA,EAAM,gBAAA;AAAA,MACN,WAAA,EAAY,uBAAA;AAAA,MACZ,eAAA,EAAgB,qCAAA;AAAA,MAChB,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,MAAA,EAAO;AAAA,MAC7C,GAAG;AAAA;AAAA,GAEP,CAAA;AAAA,EACD,EAAE,WAAA,EAAa,qBAAA,EAAuB,YAAA,EAAc,gBAAA,EAAkB,aAAa,iBAAA;AACrF;;ACdA,MAAM,qBAAqB,EAAE,QAAA,EAAU,MAAM,QAAA,EAAU,MAAA,EAAQ,YAAY,YAAA,EAAa;AAGjF,MAAM,qBAAA,GAAwB,UAAA;AAAA,EACnC,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,IAAS,GAAA,qBACxB,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA,EAAM,gBAAA;AAAA,MACN,WAAA,EAAY,uBAAA;AAAA,MACZ,UAAA,EAAU,IAAA;AAAA,MACV,eAAA,EAAgB,qCAAA;AAAA,MACf,GAAG,KAAA;AAAA,MACJ,SAAA,EAAW,EAAE,GAAG,kBAAA,EAAoB,GAAG,SAAA;AAAU;AAAA;AAGvD;AACA,qBAAA,CAAsB,WAAA,GAAc,uBAAA;;;;"}
1
+ {"version":3,"file":"InventoryItemSelector.js","sources":["../lib/selects/inventory-item/InventoryItemFilter.tsx","../lib/selects/inventory-item/InventoryItemSelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { SelectFilter, type SelectFilterProps } from '../../components/Select/SelectFilter';\n\nexport type InventoryItemFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name'> & { name?: string };\n\n// Pre-configured SelectFilter for inventory item filtering with async search\nexport const InventoryItemFilter = Object.assign(\n forwardRef<HTMLButtonElement, InventoryItemFilterProps>((props, ref) => (\n <SelectFilter\n ref={ref}\n name=\"inventoryItemId\"\n label=\"Inventory Item\"\n placeholder=\"Select inventory item\"\n optionsEndpoint=\"commerce-api/select-api/inventory-items\"\n fieldKeys={{ valueKey: 'id', labelKey: 'name' }}\n {...props}\n />\n )),\n { displayName: 'InventoryItemFilter', defaultLabel: 'Inventory Item', defaultName: 'inventoryItemId' },\n);\n","import { forwardRef } from 'react';\nimport { Select, type SelectProps } from '../../components/Select/Select';\n\nexport type InventoryItemSelectorProps = SelectProps;\n\nconst DEFAULT_FIELD_KEYS = { valueKey: 'id', labelKey: 'name', groupIdKey: 'categoryId' } as const;\n\n// Pre-configured Select for inventory item selection with async search, grouped by category\nexport const InventoryItemSelector = forwardRef<HTMLButtonElement, InventoryItemSelectorProps>(\n ({ fieldKeys, ...props }, ref) => (\n <Select\n ref={ref}\n label=\"Inventory Item\"\n placeholder=\"Select inventory item\"\n searchable\n optionsEndpoint=\"commerce-api/select-api/inventory-items\"\n {...props}\n fieldKeys={{ ...DEFAULT_FIELD_KEYS, ...fieldKeys }}\n />\n ),\n);\nInventoryItemSelector.displayName = 'InventoryItemSelector';\n"],"names":[],"mappings":";;;;;AAMO,MAAM,sBAAsB,MAAA,CAAO,MAAA;AAAA,EACxC,UAAA,CAAwD,CAAC,KAAA,EAAO,GAAA,qBAC9D,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,IAAA,EAAK,iBAAA;AAAA,MACL,KAAA,EAAM,gBAAA;AAAA,MACN,WAAA,EAAY,uBAAA;AAAA,MACZ,eAAA,EAAgB,yCAAA;AAAA,MAChB,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,MAAA,EAAO;AAAA,MAC7C,GAAG;AAAA;AAAA,GAEP,CAAA;AAAA,EACD,EAAE,WAAA,EAAa,qBAAA,EAAuB,YAAA,EAAc,gBAAA,EAAkB,aAAa,iBAAA;AACrF;;ACdA,MAAM,qBAAqB,EAAE,QAAA,EAAU,MAAM,QAAA,EAAU,MAAA,EAAQ,YAAY,YAAA,EAAa;AAGjF,MAAM,qBAAA,GAAwB,UAAA;AAAA,EACnC,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,IAAS,GAAA,qBACxB,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA,EAAM,gBAAA;AAAA,MACN,WAAA,EAAY,uBAAA;AAAA,MACZ,UAAA,EAAU,IAAA;AAAA,MACV,eAAA,EAAgB,yCAAA;AAAA,MACf,GAAG,KAAA;AAAA,MACJ,SAAA,EAAW,EAAE,GAAG,kBAAA,EAAoB,GAAG,SAAA;AAAU;AAAA;AAGvD;AACA,qBAAA,CAAsB,WAAA,GAAc,uBAAA;;;;"}
package/dist/Kbd.js CHANGED
@@ -68,7 +68,7 @@ function KbdGroup({ shortcut, className, ...props }) {
68
68
  /* @__PURE__ */ jsx(
69
69
  Kbd,
70
70
  {
71
- className: "bg-current/10 text-current border-current/20 shadow-none h-[18px] min-w-[18px] rounded-[3px] px-1 text-[9px] leading-none",
71
+ className: "bg-current/10 text-current border-current/20 shadow-none h-4.5 min-w-4.5 rounded-[3px] px-1 text-[9px] leading-none",
72
72
  children: key
73
73
  },
74
74
  key
package/dist/Kbd.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Kbd.js","sources":["../shadcn/shadcnKbd/kbd.tsx","../lib/components/Kbd/Kbd.tsx"],"sourcesContent":["import { cn } from '../utils';\n\nexport function Kbd({ className, ...props }: React.ComponentProps<'kbd'>) {\n return (\n <kbd\n data-slot=\"kbd\"\n className={cn(\n 'pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none',\n className,\n )}\n {...props}\n />\n );\n}\n","import { Kbd } from '../../../shadcn/shadcnKbd/kbd';\nimport { cn } from '../../../shadcn/utils';\n\nfunction isMac(): boolean {\n if (typeof navigator === 'undefined') return false;\n return /Mac|iPhone|iPad|iPod/i.test(navigator.userAgent);\n}\n\nconst MAC_SYMBOLS: Record<string, string> = {\n mod: '⌘',\n meta: '⌘',\n cmd: '⌘',\n alt: '⌥',\n option: '⌥',\n shift: '⇧',\n ctrl: '⌃',\n control: '⌃',\n enter: '↵',\n return: '↵',\n escape: 'Esc',\n esc: 'Esc',\n backspace: '⌫',\n delete: '⌦',\n tab: '⇥',\n space: '␣',\n};\n\nconst WIN_SYMBOLS: Record<string, string> = {\n mod: 'Ctrl',\n meta: 'Win',\n cmd: 'Win',\n alt: 'Alt',\n option: 'Alt',\n shift: 'Shift',\n ctrl: 'Ctrl',\n control: 'Ctrl',\n enter: 'Enter',\n return: 'Enter',\n escape: 'Esc',\n esc: 'Esc',\n backspace: '⌫',\n delete: 'Del',\n tab: 'Tab',\n space: 'Space',\n};\n\nexport interface HotkeyDisplay {\n display: string;\n keys: string[];\n}\n\nexport function formatHotkey(shortcut: string): HotkeyDisplay {\n const mac = isMac();\n const table = mac ? MAC_SYMBOLS : WIN_SYMBOLS;\n const keys = shortcut\n .toLowerCase()\n .split('+')\n .map((part) => table[part] ?? part.toUpperCase());\n return { display: keys.join(''), keys };\n}\n\ninterface KbdGroupProps extends Omit<React.ComponentProps<'div'>, 'children'> {\n shortcut: string;\n}\n\nexport function KbdGroup({ shortcut, className, ...props }: KbdGroupProps) {\n const { keys } = formatHotkey(shortcut);\n return (\n <div data-slot=\"kbd-group\" className={cn('inline-flex items-center gap-0.5', className)} {...props}>\n {keys.map((key, i) => (\n <>\n {i > 0 && <span className=\"text-current/40 text-[9px] select-none leading-none\">+</span>}\n <Kbd\n key={key}\n className=\"bg-current/10 text-current border-current/20 shadow-none h-[18px] min-w-[18px] rounded-[3px] px-1 text-[9px] leading-none\"\n >\n {key}\n </Kbd>\n </>\n ))}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Kbd.js","sources":["../shadcn/shadcnKbd/kbd.tsx","../lib/components/Kbd/Kbd.tsx"],"sourcesContent":["import { cn } from '../utils';\n\nexport function Kbd({ className, ...props }: React.ComponentProps<'kbd'>) {\n return (\n <kbd\n data-slot=\"kbd\"\n className={cn(\n 'pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none',\n className,\n )}\n {...props}\n />\n );\n}\n","import { Kbd } from '../../../shadcn/shadcnKbd/kbd';\nimport { cn } from '../../../shadcn/utils';\n\nfunction isMac(): boolean {\n if (typeof navigator === 'undefined') return false;\n return /Mac|iPhone|iPad|iPod/i.test(navigator.userAgent);\n}\n\nconst MAC_SYMBOLS: Record<string, string> = {\n mod: '⌘',\n meta: '⌘',\n cmd: '⌘',\n alt: '⌥',\n option: '⌥',\n shift: '⇧',\n ctrl: '⌃',\n control: '⌃',\n enter: '↵',\n return: '↵',\n escape: 'Esc',\n esc: 'Esc',\n backspace: '⌫',\n delete: '⌦',\n tab: '⇥',\n space: '␣',\n};\n\nconst WIN_SYMBOLS: Record<string, string> = {\n mod: 'Ctrl',\n meta: 'Win',\n cmd: 'Win',\n alt: 'Alt',\n option: 'Alt',\n shift: 'Shift',\n ctrl: 'Ctrl',\n control: 'Ctrl',\n enter: 'Enter',\n return: 'Enter',\n escape: 'Esc',\n esc: 'Esc',\n backspace: '⌫',\n delete: 'Del',\n tab: 'Tab',\n space: 'Space',\n};\n\nexport interface HotkeyDisplay {\n display: string;\n keys: string[];\n}\n\nexport function formatHotkey(shortcut: string): HotkeyDisplay {\n const mac = isMac();\n const table = mac ? MAC_SYMBOLS : WIN_SYMBOLS;\n const keys = shortcut\n .toLowerCase()\n .split('+')\n .map((part) => table[part] ?? part.toUpperCase());\n return { display: keys.join(''), keys };\n}\n\ninterface KbdGroupProps extends Omit<React.ComponentProps<'div'>, 'children'> {\n shortcut: string;\n}\n\nexport function KbdGroup({ shortcut, className, ...props }: KbdGroupProps) {\n const { keys } = formatHotkey(shortcut);\n return (\n <div data-slot=\"kbd-group\" className={cn('inline-flex items-center gap-0.5', className)} {...props}>\n {keys.map((key, i) => (\n <>\n {i > 0 && <span className=\"text-current/40 text-[9px] select-none leading-none\">+</span>}\n <Kbd\n key={key}\n className=\"bg-current/10 text-current border-current/20 shadow-none h-4.5 min-w-4.5 rounded-[3px] px-1 text-[9px] leading-none\"\n >\n {key}\n </Kbd>\n </>\n ))}\n </div>\n );\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,GAAA,CAAI,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACxE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,KAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,8KAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;;ACVA,SAAS,KAAA,GAAiB;AACxB,EAAA,IAAI,OAAO,SAAA,KAAc,WAAA,EAAa,OAAO,KAAA;AAC7C,EAAA,OAAO,uBAAA,CAAwB,IAAA,CAAK,SAAA,CAAU,SAAS,CAAA;AACzD;AAEA,MAAM,WAAA,GAAsC;AAAA,EAC1C,GAAA,EAAK,GAAA;AAAA,EACL,IAAA,EAAM,GAAA;AAAA,EACN,GAAA,EAAK,GAAA;AAAA,EACL,GAAA,EAAK,GAAA;AAAA,EACL,MAAA,EAAQ,GAAA;AAAA,EACR,KAAA,EAAO,GAAA;AAAA,EACP,IAAA,EAAM,GAAA;AAAA,EACN,OAAA,EAAS,GAAA;AAAA,EACT,KAAA,EAAO,GAAA;AAAA,EACP,MAAA,EAAQ,GAAA;AAAA,EACR,MAAA,EAAQ,KAAA;AAAA,EACR,GAAA,EAAK,KAAA;AAAA,EACL,SAAA,EAAW,GAAA;AAAA,EACX,MAAA,EAAQ,GAAA;AAAA,EACR,GAAA,EAAK,GAAA;AAAA,EACL,KAAA,EAAO;AACT,CAAA;AAEA,MAAM,WAAA,GAAsC;AAAA,EAC1C,GAAA,EAAK,MAAA;AAAA,EACL,IAAA,EAAM,KAAA;AAAA,EACN,GAAA,EAAK,KAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA,EACL,MAAA,EAAQ,KAAA;AAAA,EACR,KAAA,EAAO,OAAA;AAAA,EACP,IAAA,EAAM,MAAA;AAAA,EACN,OAAA,EAAS,MAAA;AAAA,EACT,KAAA,EAAO,OAAA;AAAA,EACP,MAAA,EAAQ,OAAA;AAAA,EACR,MAAA,EAAQ,KAAA;AAAA,EACR,GAAA,EAAK,KAAA;AAAA,EACL,SAAA,EAAW,GAAA;AAAA,EACX,MAAA,EAAQ,KAAA;AAAA,EACR,GAAA,EAAK,KAAA;AAAA,EACL,KAAA,EAAO;AACT,CAAA;AAOO,SAAS,aAAa,QAAA,EAAiC;AAC5D,EAAA,MAAM,MAAM,KAAA,EAAM;AAClB,EAAA,MAAM,KAAA,GAAQ,MAAM,WAAA,GAAc,WAAA;AAClC,EAAA,MAAM,IAAA,GAAO,QAAA,CACV,WAAA,EAAY,CACZ,MAAM,GAAG,CAAA,CACT,GAAA,CAAI,CAAC,SAAS,KAAA,CAAM,IAAI,CAAA,IAAK,IAAA,CAAK,aAAa,CAAA;AAClD,EAAA,OAAO,EAAE,OAAA,EAAS,IAAA,CAAK,IAAA,CAAK,EAAE,GAAG,IAAA,EAAK;AACxC;AAMO,SAAS,SAAS,EAAE,QAAA,EAAU,SAAA,EAAW,GAAG,OAAM,EAAkB;AACzE,EAAA,MAAM,EAAE,IAAA,EAAK,GAAI,YAAA,CAAa,QAAQ,CAAA;AACtC,EAAA,2BACG,KAAA,EAAA,EAAI,WAAA,EAAU,WAAA,EAAY,SAAA,EAAW,GAAG,kCAAA,EAAoC,SAAS,CAAA,EAAI,GAAG,OAC1F,QAAA,EAAA,IAAA,CAAK,GAAA,CAAI,CAAC,GAAA,EAAK,sBACd,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,CAAA,GAAI,CAAA,oBAAK,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,uDAAsD,QAAA,EAAA,GAAA,EAAC,CAAA;AAAA,oBACjF,GAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QAEC,SAAA,EAAU,qHAAA;AAAA,QAET,QAAA,EAAA;AAAA,OAAA;AAAA,MAHI;AAAA;AAIP,GAAA,EACF,CACD,CAAA,EACH,CAAA;AAEJ;;;;"}
package/dist/Label.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { R as Root } from './index15.js';
2
+ import { R as Root } from './index16.js';
3
3
  import { c as cn } from './utils.js';
4
4
 
5
5
  function Label({ className, ...props }) {
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutModeContext.js","sources":["../lib/context/LayoutModeContext.tsx"],"sourcesContent":["import { createContext, type ReactNode, useContext, useMemo, useState } from 'react';\n\nexport type LayoutMode = 'padded' | 'full';\n\ninterface LayoutModeContextValue {\n mode: LayoutMode;\n setMode: (mode: LayoutMode) => void;\n}\n\nconst LayoutModeContext = createContext<LayoutModeContextValue>({\n mode: 'padded',\n setMode: () => {},\n});\n\nexport const LayoutModeProvider = ({ children }: { children: ReactNode }) => {\n const [mode, setMode] = useState<LayoutMode>('padded');\n const value = useMemo(() => ({ mode, setMode }), [mode]);\n return <LayoutModeContext.Provider value={value}>{children}</LayoutModeContext.Provider>;\n};\n\n// Returns current layout mode and a setter.\n// MF pages call setMode('full') on mount and reset to 'padded' on unmount.\nexport function useLayoutMode(): LayoutModeContextValue {\n return useContext(LayoutModeContext);\n}\n"],"names":[],"mappings":";;;AASA,MAAM,oBAAoB,aAAA,CAAsC;AAAA,EAC9D,IAAA,EAAM,QAAA;AAAA,EACN,SAAS,MAAM;AAAA,EAAC;AAClB,CAAC,CAAA;AAEM,MAAM,kBAAA,GAAqB,CAAC,EAAE,QAAA,EAAS,KAA+B;AAC3E,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAAqB,QAAQ,CAAA;AACrD,EAAA,MAAM,KAAA,GAAQ,QAAQ,OAAO,EAAE,MAAM,OAAA,EAAQ,CAAA,EAAI,CAAC,IAAI,CAAC,CAAA;AACvD,EAAA,uBAAO,GAAA,CAAC,iBAAA,CAAkB,QAAA,EAAlB,EAA2B,OAAe,QAAA,EAAS,CAAA;AAC7D;AAIO,SAAS,aAAA,GAAwC;AACtD,EAAA,OAAO,WAAW,iBAAiB,CAAA;AACrC;;;;"}
1
+ {"version":3,"file":"LayoutModeContext.js","sources":["../lib/context/LayoutModeContext.tsx"],"sourcesContent":["import { createContext, type ReactNode, useContext, useMemo, useState } from 'react';\n\nexport type LayoutMode = 'padded' | 'full';\n\ninterface LayoutModeContextValue {\n mode: LayoutMode;\n setMode: (mode: LayoutMode) => void;\n}\n\nconst LayoutModeContext = createContext<LayoutModeContextValue>({\n mode: 'padded',\n setMode: () => {},\n});\n\nexport const LayoutModeProvider = ({ children }: { children: ReactNode }) => {\n const [mode, setMode] = useState<LayoutMode>('padded');\n const value = useMemo(() => ({ mode, setMode }), [mode]);\n return <LayoutModeContext.Provider value={value}>{children}</LayoutModeContext.Provider>;\n};\n\n// Returns current layout mode and a setter; MF pages set 'full' on mount and reset to 'padded' on unmount.\nexport function useLayoutMode(): LayoutModeContextValue {\n return useContext(LayoutModeContext);\n}\n"],"names":[],"mappings":";;;AASA,MAAM,oBAAoB,aAAA,CAAsC;AAAA,EAC9D,IAAA,EAAM,QAAA;AAAA,EACN,SAAS,MAAM;AAAA,EAAC;AAClB,CAAC,CAAA;AAEM,MAAM,kBAAA,GAAqB,CAAC,EAAE,QAAA,EAAS,KAA+B;AAC3E,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAAqB,QAAQ,CAAA;AACrD,EAAA,MAAM,KAAA,GAAQ,QAAQ,OAAO,EAAE,MAAM,OAAA,EAAQ,CAAA,EAAI,CAAC,IAAI,CAAC,CAAA;AACvD,EAAA,uBAAO,GAAA,CAAC,iBAAA,CAAkB,QAAA,EAAlB,EAA2B,OAAe,QAAA,EAAS,CAAA;AAC7D;AAGO,SAAS,aAAA,GAAwC;AACtD,EAAA,OAAO,WAAW,iBAAiB,CAAA;AACrC;;;;"}
@@ -0,0 +1,37 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { S as SelectFilter } from './SelectFilter.js';
4
+ import { S as Select } from './Select.js';
5
+
6
+ const LegalEntityFilter = Object.assign(
7
+ forwardRef((props, ref) => /* @__PURE__ */ jsx(
8
+ SelectFilter,
9
+ {
10
+ ref,
11
+ name: "legalEntityId",
12
+ label: "Legal Entity",
13
+ placeholder: "Select legal entity",
14
+ optionsEndpoint: "select-api/legal-entities",
15
+ fieldKeys: { valueKey: "id", labelKey: "name", descriptionKey: "code" },
16
+ ...props
17
+ }
18
+ )),
19
+ { displayName: "LegalEntityFilter", defaultLabel: "Legal Entity", defaultName: "legalEntityId" }
20
+ );
21
+
22
+ const LegalEntitySelector = forwardRef((props, ref) => /* @__PURE__ */ jsx(
23
+ Select,
24
+ {
25
+ ref,
26
+ label: "Legal Entity",
27
+ placeholder: "Select legal entity",
28
+ searchable: true,
29
+ optionsEndpoint: "select-api/legal-entities",
30
+ fieldKeys: { valueKey: "id", labelKey: "name", descriptionKey: "code" },
31
+ ...props
32
+ }
33
+ ));
34
+ LegalEntitySelector.displayName = "LegalEntitySelector";
35
+
36
+ export { LegalEntityFilter as L, LegalEntitySelector as a };
37
+ //# sourceMappingURL=LegalEntitySelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegalEntitySelector.js","sources":["../lib/selects/legal-entity/LegalEntityFilter.tsx","../lib/selects/legal-entity/LegalEntitySelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { SelectFilter, type SelectFilterProps } from '../../components/Select/SelectFilter';\n\nexport type LegalEntityFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name'> & { name?: string };\n\n// Pre-configured SelectFilter for legal entity filtering with async search\nexport const LegalEntityFilter = Object.assign(\n forwardRef<HTMLButtonElement, LegalEntityFilterProps>((props, ref) => (\n <SelectFilter\n ref={ref}\n name=\"legalEntityId\"\n label=\"Legal Entity\"\n placeholder=\"Select legal entity\"\n optionsEndpoint=\"select-api/legal-entities\"\n fieldKeys={{ valueKey: 'id', labelKey: 'name', descriptionKey: 'code' }}\n {...props}\n />\n )),\n { displayName: 'LegalEntityFilter', defaultLabel: 'Legal Entity', defaultName: 'legalEntityId' },\n);\n","import { forwardRef } from 'react';\nimport { Select, type SelectProps } from '../../components/Select/Select';\n\nexport type LegalEntitySelectorProps = Omit<SelectProps, 'optionsEndpoint'>;\n\n// Pre-configured Select for legal entity selection with async search (supports single and multi-select)\nexport const LegalEntitySelector = forwardRef<HTMLButtonElement, LegalEntitySelectorProps>((props, ref) => (\n <Select\n ref={ref}\n label=\"Legal Entity\"\n placeholder=\"Select legal entity\"\n searchable\n optionsEndpoint=\"select-api/legal-entities\"\n fieldKeys={{ valueKey: 'id', labelKey: 'name', descriptionKey: 'code' }}\n {...props}\n />\n));\nLegalEntitySelector.displayName = 'LegalEntitySelector';\n"],"names":[],"mappings":";;;;;AAMO,MAAM,oBAAoB,MAAA,CAAO,MAAA;AAAA,EACtC,UAAA,CAAsD,CAAC,KAAA,EAAO,GAAA,qBAC5D,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,IAAA,EAAK,eAAA;AAAA,MACL,KAAA,EAAM,cAAA;AAAA,MACN,WAAA,EAAY,qBAAA;AAAA,MACZ,eAAA,EAAgB,2BAAA;AAAA,MAChB,WAAW,EAAE,QAAA,EAAU,MAAM,QAAA,EAAU,MAAA,EAAQ,gBAAgB,MAAA,EAAO;AAAA,MACrE,GAAG;AAAA;AAAA,GAEP,CAAA;AAAA,EACD,EAAE,WAAA,EAAa,mBAAA,EAAqB,YAAA,EAAc,cAAA,EAAgB,aAAa,eAAA;AACjF;;ACbO,MAAM,mBAAA,GAAsB,UAAA,CAAwD,CAAC,KAAA,EAAO,GAAA,qBACjG,GAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,KAAA,EAAM,cAAA;AAAA,IACN,WAAA,EAAY,qBAAA;AAAA,IACZ,UAAA,EAAU,IAAA;AAAA,IACV,eAAA,EAAgB,2BAAA;AAAA,IAChB,WAAW,EAAE,QAAA,EAAU,MAAM,QAAA,EAAU,MAAA,EAAQ,gBAAgB,MAAA,EAAO;AAAA,IACrE,GAAG;AAAA;AACN,CACD;AACD,mBAAA,CAAoB,WAAA,GAAc,qBAAA;;;;"}
@@ -11,7 +11,7 @@ const LocationFilter = Object.assign(
11
11
  name: "locationId",
12
12
  label: "Location",
13
13
  placeholder: "Select location",
14
- optionsEndpoint: "commerce-api/locations/select",
14
+ optionsEndpoint: "commerce-api/select-api/locations",
15
15
  fieldKeys: { valueKey: "id", labelKey: "name" },
16
16
  ...props
17
17
  }
@@ -33,7 +33,7 @@ const LocationSelector = forwardRef(({ fieldKeys, ...props }, ref) => /* @__PURE
33
33
  label: "Location",
34
34
  placeholder: "Select location",
35
35
  searchable: true,
36
- optionsEndpoint: "commerce-api/locations/select",
36
+ optionsEndpoint: "commerce-api/select-api/locations",
37
37
  transformDescription: formatLocationPath,
38
38
  ...props,
39
39
  fieldKeys: { ...DEFAULT_FIELD_KEYS, ...fieldKeys }
@@ -1 +1 @@
1
- {"version":3,"file":"LocationSelector.js","sources":["../lib/selects/location/LocationFilter.tsx","../lib/selects/location/LocationSelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { SelectFilter, type SelectFilterProps } from '../../components/Select/SelectFilter';\n\nexport type LocationFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name'> & { name?: string };\n\nexport const LocationFilter = Object.assign(\n forwardRef<HTMLButtonElement, LocationFilterProps>((props, ref) => (\n <SelectFilter\n ref={ref}\n name=\"locationId\"\n label=\"Location\"\n placeholder=\"Select location\"\n optionsEndpoint=\"commerce-api/locations/select\"\n fieldKeys={{ valueKey: 'id', labelKey: 'name' }}\n {...props}\n />\n )),\n { displayName: 'LocationFilter', defaultLabel: 'Location', defaultName: 'locationId' },\n);\n","import { forwardRef } from 'react';\nimport { Select, type SelectProps } from '../../components/Select/Select';\n\nexport type LocationSelectorProps = Omit<SelectProps, 'optionsEndpoint'>;\n\nconst DEFAULT_FIELD_KEYS = {\n valueKey: 'id',\n labelKey: 'name',\n descriptionKey: 'path',\n groupIdKey: 'locationRole',\n} as const;\n\n// Renders the parent breadcrumb from an ltree path: main.sales.sales_rack_a.bin_1 → \"Main › Sales › Sales Rack A\"\n// Drops the leaf segment because it's already shown as the option label.\nexport const formatLocationPath = (path: string): string =>\n path\n .split('.')\n .slice(0, -1)\n .map((segment) => segment.replace(/_/g, ' ').replace(/\\b\\w/g, (c) => c.toUpperCase()))\n .join(' › ');\n\n// Pre-configured Select for location selection — server returns full ltree path as description\nexport const LocationSelector = forwardRef<HTMLButtonElement, LocationSelectorProps>(({ fieldKeys, ...props }, ref) => (\n <Select\n ref={ref}\n label=\"Location\"\n placeholder=\"Select location\"\n searchable\n optionsEndpoint=\"commerce-api/locations/select\"\n transformDescription={formatLocationPath}\n {...props}\n fieldKeys={{ ...DEFAULT_FIELD_KEYS, ...fieldKeys }}\n />\n));\nLocationSelector.displayName = 'LocationSelector';\n"],"names":[],"mappings":";;;;;AAKO,MAAM,iBAAiB,MAAA,CAAO,MAAA;AAAA,EACnC,UAAA,CAAmD,CAAC,KAAA,EAAO,GAAA,qBACzD,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,IAAA,EAAK,YAAA;AAAA,MACL,KAAA,EAAM,UAAA;AAAA,MACN,WAAA,EAAY,iBAAA;AAAA,MACZ,eAAA,EAAgB,+BAAA;AAAA,MAChB,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,MAAA,EAAO;AAAA,MAC7C,GAAG;AAAA;AAAA,GAEP,CAAA;AAAA,EACD,EAAE,WAAA,EAAa,gBAAA,EAAkB,YAAA,EAAc,UAAA,EAAY,aAAa,YAAA;AAC1E;;ACbA,MAAM,kBAAA,GAAqB;AAAA,EACzB,QAAA,EAAU,IAAA;AAAA,EACV,QAAA,EAAU,MAAA;AAAA,EACV,cAAA,EAAgB,MAAA;AAAA,EAChB,UAAA,EAAY;AACd,CAAA;AAIO,MAAM,kBAAA,GAAqB,CAAC,IAAA,KACjC,IAAA,CACG,KAAA,CAAM,GAAG,CAAA,CACT,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA,CACX,GAAA,CAAI,CAAC,OAAA,KAAY,OAAA,CAAQ,OAAA,CAAQ,IAAA,EAAM,GAAG,CAAA,CAAE,OAAA,CAAQ,OAAA,EAAS,CAAC,CAAA,KAAM,CAAA,CAAE,WAAA,EAAa,CAAC,CAAA,CACpF,KAAK,KAAK;AAGR,MAAM,gBAAA,GAAmB,WAAqD,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC7G,GAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,KAAA,EAAM,UAAA;AAAA,IACN,WAAA,EAAY,iBAAA;AAAA,IACZ,UAAA,EAAU,IAAA;AAAA,IACV,eAAA,EAAgB,+BAAA;AAAA,IAChB,oBAAA,EAAsB,kBAAA;AAAA,IACrB,GAAG,KAAA;AAAA,IACJ,SAAA,EAAW,EAAE,GAAG,kBAAA,EAAoB,GAAG,SAAA;AAAU;AACnD,CACD;AACD,gBAAA,CAAiB,WAAA,GAAc,kBAAA;;;;"}
1
+ {"version":3,"file":"LocationSelector.js","sources":["../lib/selects/location/LocationFilter.tsx","../lib/selects/location/LocationSelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { SelectFilter, type SelectFilterProps } from '../../components/Select/SelectFilter';\n\nexport type LocationFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name'> & { name?: string };\n\nexport const LocationFilter = Object.assign(\n forwardRef<HTMLButtonElement, LocationFilterProps>((props, ref) => (\n <SelectFilter\n ref={ref}\n name=\"locationId\"\n label=\"Location\"\n placeholder=\"Select location\"\n optionsEndpoint=\"commerce-api/select-api/locations\"\n fieldKeys={{ valueKey: 'id', labelKey: 'name' }}\n {...props}\n />\n )),\n { displayName: 'LocationFilter', defaultLabel: 'Location', defaultName: 'locationId' },\n);\n","import { forwardRef } from 'react';\nimport { Select, type SelectProps } from '../../components/Select/Select';\n\nexport type LocationSelectorProps = Omit<SelectProps, 'optionsEndpoint'>;\n\nconst DEFAULT_FIELD_KEYS = {\n valueKey: 'id',\n labelKey: 'name',\n descriptionKey: 'path',\n groupIdKey: 'locationRole',\n} as const;\n\n// Renders the parent breadcrumb from an ltree path, dropping the leaf segment shown as the option label.\nexport const formatLocationPath = (path: string): string =>\n path\n .split('.')\n .slice(0, -1)\n .map((segment) => segment.replace(/_/g, ' ').replace(/\\b\\w/g, (c) => c.toUpperCase()))\n .join(' › ');\n\n// Pre-configured Select for location selection — server returns full ltree path as description\nexport const LocationSelector = forwardRef<HTMLButtonElement, LocationSelectorProps>(({ fieldKeys, ...props }, ref) => (\n <Select\n ref={ref}\n label=\"Location\"\n placeholder=\"Select location\"\n searchable\n optionsEndpoint=\"commerce-api/select-api/locations\"\n transformDescription={formatLocationPath}\n {...props}\n fieldKeys={{ ...DEFAULT_FIELD_KEYS, ...fieldKeys }}\n />\n));\nLocationSelector.displayName = 'LocationSelector';\n"],"names":[],"mappings":";;;;;AAKO,MAAM,iBAAiB,MAAA,CAAO,MAAA;AAAA,EACnC,UAAA,CAAmD,CAAC,KAAA,EAAO,GAAA,qBACzD,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,IAAA,EAAK,YAAA;AAAA,MACL,KAAA,EAAM,UAAA;AAAA,MACN,WAAA,EAAY,iBAAA;AAAA,MACZ,eAAA,EAAgB,mCAAA;AAAA,MAChB,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,MAAA,EAAO;AAAA,MAC7C,GAAG;AAAA;AAAA,GAEP,CAAA;AAAA,EACD,EAAE,WAAA,EAAa,gBAAA,EAAkB,YAAA,EAAc,UAAA,EAAY,aAAa,YAAA;AAC1E;;ACbA,MAAM,kBAAA,GAAqB;AAAA,EACzB,QAAA,EAAU,IAAA;AAAA,EACV,QAAA,EAAU,MAAA;AAAA,EACV,cAAA,EAAgB,MAAA;AAAA,EAChB,UAAA,EAAY;AACd,CAAA;AAGO,MAAM,kBAAA,GAAqB,CAAC,IAAA,KACjC,IAAA,CACG,KAAA,CAAM,GAAG,CAAA,CACT,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA,CACX,GAAA,CAAI,CAAC,OAAA,KAAY,OAAA,CAAQ,OAAA,CAAQ,IAAA,EAAM,GAAG,CAAA,CAAE,OAAA,CAAQ,OAAA,EAAS,CAAC,CAAA,KAAM,CAAA,CAAE,WAAA,EAAa,CAAC,CAAA,CACpF,KAAK,KAAK;AAGR,MAAM,gBAAA,GAAmB,WAAqD,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC7G,GAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,KAAA,EAAM,UAAA;AAAA,IACN,WAAA,EAAY,iBAAA;AAAA,IACZ,UAAA,EAAU,IAAA;AAAA,IACV,eAAA,EAAgB,mCAAA;AAAA,IAChB,oBAAA,EAAsB,kBAAA;AAAA,IACrB,GAAG,KAAA;AAAA,IACJ,SAAA,EAAW,EAAE,GAAG,kBAAA,EAAoB,GAAG,SAAA;AAAU;AACnD,CACD;AACD,gBAAA,CAAiB,WAAA,GAAc,kBAAA;;;;"}
@@ -11,7 +11,7 @@ const LotFilter = Object.assign(
11
11
  name: "lotId",
12
12
  label: "Lot",
13
13
  placeholder: "Select lot",
14
- optionsEndpoint: "commerce-api/inventory-item-lots/select",
14
+ optionsEndpoint: "commerce-api/select-api/inventory-item-lots",
15
15
  params,
16
16
  fieldKeys: { valueKey: "id", labelKey: "lotNumber" },
17
17
  ...props
@@ -27,7 +27,7 @@ const LotSelector = forwardRef(({ params, ...props }, ref) => /* @__PURE__ */ js
27
27
  label: "Lot",
28
28
  placeholder: "Select or type a lot number",
29
29
  searchable: true,
30
- optionsEndpoint: "commerce-api/inventory-item-lots/select",
30
+ optionsEndpoint: "commerce-api/select-api/inventory-item-lots",
31
31
  params,
32
32
  fieldKeys: { valueKey: "id", labelKey: "lotNumber" },
33
33
  ...props
@@ -1 +1 @@
1
- {"version":3,"file":"LotSelector.js","sources":["../lib/selects/lot/LotFilter.tsx","../lib/selects/lot/LotSelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { SelectFilter, type SelectFilterProps } from '../../components/Select/SelectFilter';\n\nexport type LotFilterParams = { inventoryItemId?: string };\n\nexport type LotFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name' | 'params'> & {\n name?: string;\n params?: LotFilterParams;\n};\n\n// Pre-configured SelectFilter for inventory item lot filtering\nexport const LotFilter = Object.assign(\n forwardRef<HTMLButtonElement, LotFilterProps>(({ params, ...props }, ref) => (\n <SelectFilter\n ref={ref}\n name=\"lotId\"\n label=\"Lot\"\n placeholder=\"Select lot\"\n optionsEndpoint=\"commerce-api/inventory-item-lots/select\"\n params={params}\n fieldKeys={{ valueKey: 'id', labelKey: 'lotNumber' }}\n {...props}\n />\n )),\n { displayName: 'LotFilter', defaultLabel: 'Lot', defaultName: 'lotId' },\n);\n","import { forwardRef } from 'react';\nimport { Select, type SelectProps } from '../../components/Select/Select';\n\nexport type LotSelectorParams = { inventoryItemId?: string };\n\nexport type LotSelectorProps = Omit<SelectProps, 'optionsEndpoint' | 'params'> & {\n params?: LotSelectorParams;\n};\n\n// Pre-configured Select for inventory item lot selection (scoped to a single item)\nexport const LotSelector = forwardRef<HTMLButtonElement, LotSelectorProps>(({ params, ...props }, ref) => (\n <Select\n ref={ref}\n label=\"Lot\"\n placeholder=\"Select or type a lot number\"\n searchable\n optionsEndpoint=\"commerce-api/inventory-item-lots/select\"\n params={params}\n fieldKeys={{ valueKey: 'id', labelKey: 'lotNumber' }}\n {...props}\n />\n));\nLotSelector.displayName = 'LotSelector';\n"],"names":[],"mappings":";;;;;AAWO,MAAM,YAAY,MAAA,CAAO,MAAA;AAAA,EAC9B,WAA8C,CAAC,EAAE,QAAQ,GAAG,KAAA,IAAS,GAAA,qBACnE,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,IAAA,EAAK,OAAA;AAAA,MACL,KAAA,EAAM,KAAA;AAAA,MACN,WAAA,EAAY,YAAA;AAAA,MACZ,eAAA,EAAgB,yCAAA;AAAA,MAChB,MAAA;AAAA,MACA,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,WAAA,EAAY;AAAA,MAClD,GAAG;AAAA;AAAA,GAEP,CAAA;AAAA,EACD,EAAE,WAAA,EAAa,WAAA,EAAa,YAAA,EAAc,KAAA,EAAO,aAAa,OAAA;AAChE;;ACfO,MAAM,WAAA,GAAc,WAAgD,CAAC,EAAE,QAAQ,GAAG,KAAA,IAAS,GAAA,qBAChG,GAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,KAAA,EAAM,KAAA;AAAA,IACN,WAAA,EAAY,6BAAA;AAAA,IACZ,UAAA,EAAU,IAAA;AAAA,IACV,eAAA,EAAgB,yCAAA;AAAA,IAChB,MAAA;AAAA,IACA,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,WAAA,EAAY;AAAA,IAClD,GAAG;AAAA;AACN,CACD;AACD,WAAA,CAAY,WAAA,GAAc,aAAA;;;;"}
1
+ {"version":3,"file":"LotSelector.js","sources":["../lib/selects/lot/LotFilter.tsx","../lib/selects/lot/LotSelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { SelectFilter, type SelectFilterProps } from '../../components/Select/SelectFilter';\n\nexport type LotFilterParams = { inventoryItemId?: string };\n\nexport type LotFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name' | 'params'> & {\n name?: string;\n params?: LotFilterParams;\n};\n\n// Pre-configured SelectFilter for inventory item lot filtering\nexport const LotFilter = Object.assign(\n forwardRef<HTMLButtonElement, LotFilterProps>(({ params, ...props }, ref) => (\n <SelectFilter\n ref={ref}\n name=\"lotId\"\n label=\"Lot\"\n placeholder=\"Select lot\"\n optionsEndpoint=\"commerce-api/select-api/inventory-item-lots\"\n params={params}\n fieldKeys={{ valueKey: 'id', labelKey: 'lotNumber' }}\n {...props}\n />\n )),\n { displayName: 'LotFilter', defaultLabel: 'Lot', defaultName: 'lotId' },\n);\n","import { forwardRef } from 'react';\nimport { Select, type SelectProps } from '../../components/Select/Select';\n\nexport type LotSelectorParams = { inventoryItemId?: string };\n\nexport type LotSelectorProps = Omit<SelectProps, 'optionsEndpoint' | 'params'> & {\n params?: LotSelectorParams;\n};\n\n// Pre-configured Select for inventory item lot selection (scoped to a single item)\nexport const LotSelector = forwardRef<HTMLButtonElement, LotSelectorProps>(({ params, ...props }, ref) => (\n <Select\n ref={ref}\n label=\"Lot\"\n placeholder=\"Select or type a lot number\"\n searchable\n optionsEndpoint=\"commerce-api/select-api/inventory-item-lots\"\n params={params}\n fieldKeys={{ valueKey: 'id', labelKey: 'lotNumber' }}\n {...props}\n />\n));\nLotSelector.displayName = 'LotSelector';\n"],"names":[],"mappings":";;;;;AAWO,MAAM,YAAY,MAAA,CAAO,MAAA;AAAA,EAC9B,WAA8C,CAAC,EAAE,QAAQ,GAAG,KAAA,IAAS,GAAA,qBACnE,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,IAAA,EAAK,OAAA;AAAA,MACL,KAAA,EAAM,KAAA;AAAA,MACN,WAAA,EAAY,YAAA;AAAA,MACZ,eAAA,EAAgB,6CAAA;AAAA,MAChB,MAAA;AAAA,MACA,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,WAAA,EAAY;AAAA,MAClD,GAAG;AAAA;AAAA,GAEP,CAAA;AAAA,EACD,EAAE,WAAA,EAAa,WAAA,EAAa,YAAA,EAAc,KAAA,EAAO,aAAa,OAAA;AAChE;;ACfO,MAAM,WAAA,GAAc,WAAgD,CAAC,EAAE,QAAQ,GAAG,KAAA,IAAS,GAAA,qBAChG,GAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,KAAA,EAAM,KAAA;AAAA,IACN,WAAA,EAAY,6BAAA;AAAA,IACZ,UAAA,EAAU,IAAA;AAAA,IACV,eAAA,EAAgB,6CAAA;AAAA,IAChB,MAAA;AAAA,IACA,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,WAAA,EAAY;AAAA,IAClD,GAAG;AAAA;AACN,CACD;AACD,WAAA,CAAY,WAAA,GAAc,aAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OTPField.js","sources":["../node_modules/.pnpm/input-otp@1.4.2_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/input-otp/dist/index.mjs","../shadcn/shadcnInputOTP/InputOTP.tsx","../lib/components/OTPField/OTPField.tsx"],"sourcesContent":["var Bt=Object.defineProperty,At=Object.defineProperties;var kt=Object.getOwnPropertyDescriptors;var Y=Object.getOwnPropertySymbols;var gt=Object.prototype.hasOwnProperty,Et=Object.prototype.propertyIsEnumerable;var vt=(r,s,e)=>s in r?Bt(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,St=(r,s)=>{for(var e in s||(s={}))gt.call(s,e)&&vt(r,e,s[e]);if(Y)for(var e of Y(s))Et.call(s,e)&&vt(r,e,s[e]);return r},bt=(r,s)=>At(r,kt(s));var Pt=(r,s)=>{var e={};for(var u in r)gt.call(r,u)&&s.indexOf(u)<0&&(e[u]=r[u]);if(r!=null&&Y)for(var u of Y(r))s.indexOf(u)<0&&Et.call(r,u)&&(e[u]=r[u]);return e};import*as n from\"react\";function ht(r){let s=setTimeout(r,0),e=setTimeout(r,10),u=setTimeout(r,50);return[s,e,u]}import*as U from\"react\";function _t(r){let s=U.useRef();return U.useEffect(()=>{s.current=r}),s.current}import*as S from\"react\";var Ot=18,wt=40,Gt=`${wt}px`,xt=[\"[data-lastpass-icon-root]\",\"com-1password-button\",\"[data-dashlanecreated]\",'[style$=\"2147483647 !important;\"]'].join(\",\");function Tt({containerRef:r,inputRef:s,pushPasswordManagerStrategy:e,isFocused:u}){let[P,D]=S.useState(!1),[G,H]=S.useState(!1),[F,W]=S.useState(!1),Z=S.useMemo(()=>e===\"none\"?!1:(e===\"increase-width\"||e===\"experimental-no-flickering\")&&P&&G,[P,G,e]),T=S.useCallback(()=>{let f=r.current,h=s.current;if(!f||!h||F||e===\"none\")return;let a=f,B=a.getBoundingClientRect().left+a.offsetWidth,A=a.getBoundingClientRect().top+a.offsetHeight/2,z=B-Ot,q=A;document.querySelectorAll(xt).length===0&&document.elementFromPoint(z,q)===f||(D(!0),W(!0))},[r,s,F,e]);return S.useEffect(()=>{let f=r.current;if(!f||e===\"none\")return;function h(){let A=window.innerWidth-f.getBoundingClientRect().right;H(A>=wt)}h();let a=setInterval(h,1e3);return()=>{clearInterval(a)}},[r,e]),S.useEffect(()=>{let f=u||document.activeElement===s.current;if(e===\"none\"||!f)return;let h=setTimeout(T,0),a=setTimeout(T,2e3),B=setTimeout(T,5e3),A=setTimeout(()=>{W(!0)},6e3);return()=>{clearTimeout(h),clearTimeout(a),clearTimeout(B),clearTimeout(A)}},[s,u,e,T]),{hasPWMBadge:P,willPushPWMBadge:Z,PWM_BADGE_SPACE_WIDTH:Gt}}var jt=n.createContext({}),Lt=n.forwardRef((A,B)=>{var z=A,{value:r,onChange:s,maxLength:e,textAlign:u=\"left\",pattern:P,placeholder:D,inputMode:G=\"numeric\",onComplete:H,pushPasswordManagerStrategy:F=\"increase-width\",pasteTransformer:W,containerClassName:Z,noScriptCSSFallback:T=Nt,render:f,children:h}=z,a=Pt(z,[\"value\",\"onChange\",\"maxLength\",\"textAlign\",\"pattern\",\"placeholder\",\"inputMode\",\"onComplete\",\"pushPasswordManagerStrategy\",\"pasteTransformer\",\"containerClassName\",\"noScriptCSSFallback\",\"render\",\"children\"]);var X,lt,ut,dt,ft;let[q,nt]=n.useState(typeof a.defaultValue==\"string\"?a.defaultValue:\"\"),i=r!=null?r:q,I=_t(i),x=n.useCallback(t=>{s==null||s(t),nt(t)},[s]),m=n.useMemo(()=>P?typeof P==\"string\"?new RegExp(P):P:null,[P]),l=n.useRef(null),K=n.useRef(null),J=n.useRef({value:i,onChange:x,isIOS:typeof window!=\"undefined\"&&((lt=(X=window==null?void 0:window.CSS)==null?void 0:X.supports)==null?void 0:lt.call(X,\"-webkit-touch-callout\",\"none\"))}),V=n.useRef({prev:[(ut=l.current)==null?void 0:ut.selectionStart,(dt=l.current)==null?void 0:dt.selectionEnd,(ft=l.current)==null?void 0:ft.selectionDirection]});n.useImperativeHandle(B,()=>l.current,[]),n.useEffect(()=>{let t=l.current,o=K.current;if(!t||!o)return;J.current.value!==t.value&&J.current.onChange(t.value),V.current.prev=[t.selectionStart,t.selectionEnd,t.selectionDirection];function d(){if(document.activeElement!==t){L(null),N(null);return}let c=t.selectionStart,b=t.selectionEnd,mt=t.selectionDirection,v=t.maxLength,C=t.value,_=V.current.prev,g=-1,E=-1,w;if(C.length!==0&&c!==null&&b!==null){let Dt=c===b,Ht=c===C.length&&C.length<v;if(Dt&&!Ht){let y=c;if(y===0)g=0,E=1,w=\"forward\";else if(y===v)g=y-1,E=y,w=\"backward\";else if(v>1&&C.length>1){let et=0;if(_[0]!==null&&_[1]!==null){w=y<_[1]?\"backward\":\"forward\";let Wt=_[0]===_[1]&&_[0]<v;w===\"backward\"&&!Wt&&(et=-1)}g=et+y,E=et+y+1}}g!==-1&&E!==-1&&g!==E&&l.current.setSelectionRange(g,E,w)}let pt=g!==-1?g:c,Rt=E!==-1?E:b,yt=w!=null?w:mt;L(pt),N(Rt),V.current.prev=[pt,Rt,yt]}if(document.addEventListener(\"selectionchange\",d,{capture:!0}),d(),document.activeElement===t&&Q(!0),!document.getElementById(\"input-otp-style\")){let c=document.createElement(\"style\");if(c.id=\"input-otp-style\",document.head.appendChild(c),c.sheet){let b=\"background: transparent !important; color: transparent !important; border-color: transparent !important; opacity: 0 !important; box-shadow: none !important; -webkit-box-shadow: none !important; -webkit-text-fill-color: transparent !important;\";$(c.sheet,\"[data-input-otp]::selection { background: transparent !important; color: transparent !important; }\"),$(c.sheet,`[data-input-otp]:autofill { ${b} }`),$(c.sheet,`[data-input-otp]:-webkit-autofill { ${b} }`),$(c.sheet,\"@supports (-webkit-touch-callout: none) { [data-input-otp] { letter-spacing: -.6em !important; font-weight: 100 !important; font-stretch: ultra-condensed; font-optical-sizing: none !important; left: -1px !important; right: 1px !important; } }\"),$(c.sheet,\"[data-input-otp] + * { pointer-events: all !important; }\")}}let R=()=>{o&&o.style.setProperty(\"--root-height\",`${t.clientHeight}px`)};R();let p=new ResizeObserver(R);return p.observe(t),()=>{document.removeEventListener(\"selectionchange\",d,{capture:!0}),p.disconnect()}},[]);let[ot,rt]=n.useState(!1),[j,Q]=n.useState(!1),[M,L]=n.useState(null),[k,N]=n.useState(null);n.useEffect(()=>{ht(()=>{var R,p,c,b;(R=l.current)==null||R.dispatchEvent(new Event(\"input\"));let t=(p=l.current)==null?void 0:p.selectionStart,o=(c=l.current)==null?void 0:c.selectionEnd,d=(b=l.current)==null?void 0:b.selectionDirection;t!==null&&o!==null&&(L(t),N(o),V.current.prev=[t,o,d])})},[i,j]),n.useEffect(()=>{I!==void 0&&i!==I&&I.length<e&&i.length===e&&(H==null||H(i))},[e,H,I,i]);let O=Tt({containerRef:K,inputRef:l,pushPasswordManagerStrategy:F,isFocused:j}),st=n.useCallback(t=>{let o=t.currentTarget.value.slice(0,e);if(o.length>0&&m&&!m.test(o)){t.preventDefault();return}typeof I==\"string\"&&o.length<I.length&&document.dispatchEvent(new Event(\"selectionchange\")),x(o)},[e,x,I,m]),at=n.useCallback(()=>{var t;if(l.current){let o=Math.min(l.current.value.length,e-1),d=l.current.value.length;(t=l.current)==null||t.setSelectionRange(o,d),L(o),N(d)}Q(!0)},[e]),ct=n.useCallback(t=>{var g,E;let o=l.current;if(!W&&(!J.current.isIOS||!t.clipboardData||!o))return;let d=t.clipboardData.getData(\"text/plain\"),R=W?W(d):d;t.preventDefault();let p=(g=l.current)==null?void 0:g.selectionStart,c=(E=l.current)==null?void 0:E.selectionEnd,v=(p!==c?i.slice(0,p)+R+i.slice(c):i.slice(0,p)+R+i.slice(p)).slice(0,e);if(v.length>0&&m&&!m.test(v))return;o.value=v,x(v);let C=Math.min(v.length,e-1),_=v.length;o.setSelectionRange(C,_),L(C),N(_)},[e,x,m,i]),It=n.useMemo(()=>({position:\"relative\",cursor:a.disabled?\"default\":\"text\",userSelect:\"none\",WebkitUserSelect:\"none\",pointerEvents:\"none\"}),[a.disabled]),it=n.useMemo(()=>({position:\"absolute\",inset:0,width:O.willPushPWMBadge?`calc(100% + ${O.PWM_BADGE_SPACE_WIDTH})`:\"100%\",clipPath:O.willPushPWMBadge?`inset(0 ${O.PWM_BADGE_SPACE_WIDTH} 0 0)`:void 0,height:\"100%\",display:\"flex\",textAlign:u,opacity:\"1\",color:\"transparent\",pointerEvents:\"all\",background:\"transparent\",caretColor:\"transparent\",border:\"0 solid transparent\",outline:\"0 solid transparent\",boxShadow:\"none\",lineHeight:\"1\",letterSpacing:\"-.5em\",fontSize:\"var(--root-height)\",fontFamily:\"monospace\",fontVariantNumeric:\"tabular-nums\"}),[O.PWM_BADGE_SPACE_WIDTH,O.willPushPWMBadge,u]),Mt=n.useMemo(()=>n.createElement(\"input\",bt(St({autoComplete:a.autoComplete||\"one-time-code\"},a),{\"data-input-otp\":!0,\"data-input-otp-placeholder-shown\":i.length===0||void 0,\"data-input-otp-mss\":M,\"data-input-otp-mse\":k,inputMode:G,pattern:m==null?void 0:m.source,\"aria-placeholder\":D,style:it,maxLength:e,value:i,ref:l,onPaste:t=>{var o;ct(t),(o=a.onPaste)==null||o.call(a,t)},onChange:st,onMouseOver:t=>{var o;rt(!0),(o=a.onMouseOver)==null||o.call(a,t)},onMouseLeave:t=>{var o;rt(!1),(o=a.onMouseLeave)==null||o.call(a,t)},onFocus:t=>{var o;at(),(o=a.onFocus)==null||o.call(a,t)},onBlur:t=>{var o;Q(!1),(o=a.onBlur)==null||o.call(a,t)}})),[st,at,ct,G,it,e,k,M,a,m==null?void 0:m.source,i]),tt=n.useMemo(()=>({slots:Array.from({length:e}).map((t,o)=>{var c;let d=j&&M!==null&&k!==null&&(M===k&&o===M||o>=M&&o<k),R=i[o]!==void 0?i[o]:null,p=i[0]!==void 0?null:(c=D==null?void 0:D[o])!=null?c:null;return{char:R,placeholderChar:p,isActive:d,hasFakeCaret:d&&R===null}}),isFocused:j,isHovering:!a.disabled&&ot}),[j,ot,e,k,M,a.disabled,i]),Ct=n.useMemo(()=>f?f(tt):n.createElement(jt.Provider,{value:tt},h),[h,tt,f]);return n.createElement(n.Fragment,null,T!==null&&n.createElement(\"noscript\",null,n.createElement(\"style\",null,T)),n.createElement(\"div\",{ref:K,\"data-input-otp-container\":!0,style:It,className:Z},Ct,n.createElement(\"div\",{style:{position:\"absolute\",inset:0,pointerEvents:\"none\"}},Mt)))});Lt.displayName=\"Input\";function $(r,s){try{r.insertRule(s)}catch(e){console.error(\"input-otp could not insert CSS rule:\",s)}}var Nt=`\n[data-input-otp] {\n --nojs-bg: white !important;\n --nojs-fg: black !important;\n\n background-color: var(--nojs-bg) !important;\n color: var(--nojs-fg) !important;\n caret-color: var(--nojs-fg) !important;\n letter-spacing: .25em !important;\n text-align: center !important;\n border: 1px solid var(--nojs-fg) !important;\n border-radius: 4px !important;\n width: 100% !important;\n}\n@media (prefers-color-scheme: dark) {\n [data-input-otp] {\n --nojs-bg: black !important;\n --nojs-fg: white !important;\n }\n}`;var Kt=\"^\\\\d+$\",Jt=\"^[a-zA-Z]+$\",Qt=\"^[a-zA-Z0-9]+$\";export{Lt as OTPInput,jt as OTPInputContext,Jt as REGEXP_ONLY_CHARS,Kt as REGEXP_ONLY_DIGITS,Qt as REGEXP_ONLY_DIGITS_AND_CHARS};\n//# sourceMappingURL=index.mjs.map","import { OTPInput, OTPInputContext } from 'input-otp';\nimport { Dot } from 'lucide-react';\nimport type React from 'react';\nimport { forwardRef, useContext } from 'react';\n\nimport { cn } from '../utils';\n\nconst InputOTP = forwardRef<React.ElementRef<typeof OTPInput>, React.ComponentPropsWithoutRef<typeof OTPInput>>(\n ({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn('flex items-center gap-2 has-[:disabled]:opacity-50', containerClassName)}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n ),\n);\nInputOTP.displayName = 'InputOTP';\n\nconst InputOTPGroup = forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, ref) => <div ref={ref} className={cn('flex items-center', className)} {...props} />,\n);\nInputOTPGroup.displayName = 'InputOTPGroup';\n\nconst InputOTPSlot = forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'> & { index: number }>(\n ({ index, className, ...props }, ref) => {\n const inputOTPContext = useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];\n\n return (\n <div\n ref={ref}\n className={cn(\n 'relative flex h-12 w-12 items-center justify-center border-y border-r border-input text-base transition-all first:rounded-l-md first:border-l last:rounded-r-md',\n 'bg-transparent dark:bg-input/30 text-foreground',\n 'focus-within:outline-none focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]',\n isActive && 'z-10 border-ring ring-ring/50 ring-[3px]',\n className,\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"h-4 w-px animate-caret-blink bg-foreground duration-1000\" />\n </div>\n )}\n </div>\n );\n },\n);\nInputOTPSlot.displayName = 'InputOTPSlot';\n\nconst InputOTPSeparator = forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'>>(\n ({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Dot />\n </div>\n ),\n);\nInputOTPSeparator.displayName = 'InputOTPSeparator';\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n","import React from 'react';\nimport { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from '../../../shadcn/shadcnField';\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from '../../../shadcn/shadcnInputOTP';\nimport { cn } from '../../../shadcn/utils';\n\nexport interface OTPFieldProps {\n /**\n * Field name for react-hook-form integration (used by Form component)\n */\n name?: string;\n\n /**\n * OTP value\n */\n value?: string;\n\n /**\n * Callback when OTP changes\n */\n onChange?: (value: string) => void;\n\n /**\n * Number of OTP digits\n * @default 6\n */\n length?: number;\n\n /**\n * Label for the field\n */\n label?: string;\n\n /**\n * Helper text or description to display below the field\n */\n description?: React.ReactNode;\n\n /**\n * Error message to display below the field\n */\n error?: string;\n\n /**\n * Whether the field is disabled\n */\n disabled?: boolean;\n\n /**\n * Whether the field is required\n */\n required?: boolean;\n\n /**\n * CSS class name for styling\n */\n className?: string;\n}\n\n// OTPField component - specialized input for one-time passwords with Field system\nexport const OTPField = React.forwardRef<HTMLInputElement, OTPFieldProps>(\n (\n {\n name: _name,\n value = '',\n onChange = () => {},\n length = 6,\n label,\n description,\n error,\n disabled,\n required,\n className,\n },\n _ref,\n ) => {\n const fieldId = React.useId();\n const hasError = !!error;\n\n return (\n <Field data-disabled={disabled}>\n {label && (\n <FieldLabel htmlFor={fieldId}>\n {label}\n {required && <span className=\"text-destructive ml-1\">*</span>}\n </FieldLabel>\n )}\n\n <FieldContent>\n <InputOTP\n maxLength={length}\n value={value}\n onChange={onChange}\n disabled={disabled}\n containerClassName={cn('justify-center', className)}\n aria-describedby={description || error ? `${fieldId}-description ${fieldId}-error` : undefined}\n aria-invalid={hasError}\n >\n <InputOTPGroup>\n {Array.from({ length }, (_, idx) => idx).map((position) => (\n <InputOTPSlot\n key={position}\n index={position}\n className={cn(\n hasError &&\n 'border-destructive focus-within:ring-destructive/20 dark:focus-within:ring-destructive/40',\n )}\n />\n ))}\n </InputOTPGroup>\n </InputOTP>\n\n {description && (\n <FieldDescription id={`${fieldId}-description`} className=\"text-center\">\n {description}\n </FieldDescription>\n )}\n\n {error && (\n <FieldError id={`${fieldId}-error`} className=\"text-center\">\n {error}\n </FieldError>\n )}\n </FieldContent>\n </Field>\n );\n },\n);\n\nOTPField.displayName = 'OTPField';\n"],"names":["U","S","n","OTPInput","OTPInputContext","React"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"OTPField.js","sources":["../node_modules/.pnpm/input-otp@1.4.2_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/input-otp/dist/index.mjs","../shadcn/shadcnInputOTP/InputOTP.tsx","../lib/components/OTPField/OTPField.tsx"],"sourcesContent":["var Bt=Object.defineProperty,At=Object.defineProperties;var kt=Object.getOwnPropertyDescriptors;var Y=Object.getOwnPropertySymbols;var gt=Object.prototype.hasOwnProperty,Et=Object.prototype.propertyIsEnumerable;var vt=(r,s,e)=>s in r?Bt(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,St=(r,s)=>{for(var e in s||(s={}))gt.call(s,e)&&vt(r,e,s[e]);if(Y)for(var e of Y(s))Et.call(s,e)&&vt(r,e,s[e]);return r},bt=(r,s)=>At(r,kt(s));var Pt=(r,s)=>{var e={};for(var u in r)gt.call(r,u)&&s.indexOf(u)<0&&(e[u]=r[u]);if(r!=null&&Y)for(var u of Y(r))s.indexOf(u)<0&&Et.call(r,u)&&(e[u]=r[u]);return e};import*as n from\"react\";function ht(r){let s=setTimeout(r,0),e=setTimeout(r,10),u=setTimeout(r,50);return[s,e,u]}import*as U from\"react\";function _t(r){let s=U.useRef();return U.useEffect(()=>{s.current=r}),s.current}import*as S from\"react\";var Ot=18,wt=40,Gt=`${wt}px`,xt=[\"[data-lastpass-icon-root]\",\"com-1password-button\",\"[data-dashlanecreated]\",'[style$=\"2147483647 !important;\"]'].join(\",\");function Tt({containerRef:r,inputRef:s,pushPasswordManagerStrategy:e,isFocused:u}){let[P,D]=S.useState(!1),[G,H]=S.useState(!1),[F,W]=S.useState(!1),Z=S.useMemo(()=>e===\"none\"?!1:(e===\"increase-width\"||e===\"experimental-no-flickering\")&&P&&G,[P,G,e]),T=S.useCallback(()=>{let f=r.current,h=s.current;if(!f||!h||F||e===\"none\")return;let a=f,B=a.getBoundingClientRect().left+a.offsetWidth,A=a.getBoundingClientRect().top+a.offsetHeight/2,z=B-Ot,q=A;document.querySelectorAll(xt).length===0&&document.elementFromPoint(z,q)===f||(D(!0),W(!0))},[r,s,F,e]);return S.useEffect(()=>{let f=r.current;if(!f||e===\"none\")return;function h(){let A=window.innerWidth-f.getBoundingClientRect().right;H(A>=wt)}h();let a=setInterval(h,1e3);return()=>{clearInterval(a)}},[r,e]),S.useEffect(()=>{let f=u||document.activeElement===s.current;if(e===\"none\"||!f)return;let h=setTimeout(T,0),a=setTimeout(T,2e3),B=setTimeout(T,5e3),A=setTimeout(()=>{W(!0)},6e3);return()=>{clearTimeout(h),clearTimeout(a),clearTimeout(B),clearTimeout(A)}},[s,u,e,T]),{hasPWMBadge:P,willPushPWMBadge:Z,PWM_BADGE_SPACE_WIDTH:Gt}}var jt=n.createContext({}),Lt=n.forwardRef((A,B)=>{var z=A,{value:r,onChange:s,maxLength:e,textAlign:u=\"left\",pattern:P,placeholder:D,inputMode:G=\"numeric\",onComplete:H,pushPasswordManagerStrategy:F=\"increase-width\",pasteTransformer:W,containerClassName:Z,noScriptCSSFallback:T=Nt,render:f,children:h}=z,a=Pt(z,[\"value\",\"onChange\",\"maxLength\",\"textAlign\",\"pattern\",\"placeholder\",\"inputMode\",\"onComplete\",\"pushPasswordManagerStrategy\",\"pasteTransformer\",\"containerClassName\",\"noScriptCSSFallback\",\"render\",\"children\"]);var X,lt,ut,dt,ft;let[q,nt]=n.useState(typeof a.defaultValue==\"string\"?a.defaultValue:\"\"),i=r!=null?r:q,I=_t(i),x=n.useCallback(t=>{s==null||s(t),nt(t)},[s]),m=n.useMemo(()=>P?typeof P==\"string\"?new RegExp(P):P:null,[P]),l=n.useRef(null),K=n.useRef(null),J=n.useRef({value:i,onChange:x,isIOS:typeof window!=\"undefined\"&&((lt=(X=window==null?void 0:window.CSS)==null?void 0:X.supports)==null?void 0:lt.call(X,\"-webkit-touch-callout\",\"none\"))}),V=n.useRef({prev:[(ut=l.current)==null?void 0:ut.selectionStart,(dt=l.current)==null?void 0:dt.selectionEnd,(ft=l.current)==null?void 0:ft.selectionDirection]});n.useImperativeHandle(B,()=>l.current,[]),n.useEffect(()=>{let t=l.current,o=K.current;if(!t||!o)return;J.current.value!==t.value&&J.current.onChange(t.value),V.current.prev=[t.selectionStart,t.selectionEnd,t.selectionDirection];function d(){if(document.activeElement!==t){L(null),N(null);return}let c=t.selectionStart,b=t.selectionEnd,mt=t.selectionDirection,v=t.maxLength,C=t.value,_=V.current.prev,g=-1,E=-1,w;if(C.length!==0&&c!==null&&b!==null){let Dt=c===b,Ht=c===C.length&&C.length<v;if(Dt&&!Ht){let y=c;if(y===0)g=0,E=1,w=\"forward\";else if(y===v)g=y-1,E=y,w=\"backward\";else if(v>1&&C.length>1){let et=0;if(_[0]!==null&&_[1]!==null){w=y<_[1]?\"backward\":\"forward\";let Wt=_[0]===_[1]&&_[0]<v;w===\"backward\"&&!Wt&&(et=-1)}g=et+y,E=et+y+1}}g!==-1&&E!==-1&&g!==E&&l.current.setSelectionRange(g,E,w)}let pt=g!==-1?g:c,Rt=E!==-1?E:b,yt=w!=null?w:mt;L(pt),N(Rt),V.current.prev=[pt,Rt,yt]}if(document.addEventListener(\"selectionchange\",d,{capture:!0}),d(),document.activeElement===t&&Q(!0),!document.getElementById(\"input-otp-style\")){let c=document.createElement(\"style\");if(c.id=\"input-otp-style\",document.head.appendChild(c),c.sheet){let b=\"background: transparent !important; color: transparent !important; border-color: transparent !important; opacity: 0 !important; box-shadow: none !important; -webkit-box-shadow: none !important; -webkit-text-fill-color: transparent !important;\";$(c.sheet,\"[data-input-otp]::selection { background: transparent !important; color: transparent !important; }\"),$(c.sheet,`[data-input-otp]:autofill { ${b} }`),$(c.sheet,`[data-input-otp]:-webkit-autofill { ${b} }`),$(c.sheet,\"@supports (-webkit-touch-callout: none) { [data-input-otp] { letter-spacing: -.6em !important; font-weight: 100 !important; font-stretch: ultra-condensed; font-optical-sizing: none !important; left: -1px !important; right: 1px !important; } }\"),$(c.sheet,\"[data-input-otp] + * { pointer-events: all !important; }\")}}let R=()=>{o&&o.style.setProperty(\"--root-height\",`${t.clientHeight}px`)};R();let p=new ResizeObserver(R);return p.observe(t),()=>{document.removeEventListener(\"selectionchange\",d,{capture:!0}),p.disconnect()}},[]);let[ot,rt]=n.useState(!1),[j,Q]=n.useState(!1),[M,L]=n.useState(null),[k,N]=n.useState(null);n.useEffect(()=>{ht(()=>{var R,p,c,b;(R=l.current)==null||R.dispatchEvent(new Event(\"input\"));let t=(p=l.current)==null?void 0:p.selectionStart,o=(c=l.current)==null?void 0:c.selectionEnd,d=(b=l.current)==null?void 0:b.selectionDirection;t!==null&&o!==null&&(L(t),N(o),V.current.prev=[t,o,d])})},[i,j]),n.useEffect(()=>{I!==void 0&&i!==I&&I.length<e&&i.length===e&&(H==null||H(i))},[e,H,I,i]);let O=Tt({containerRef:K,inputRef:l,pushPasswordManagerStrategy:F,isFocused:j}),st=n.useCallback(t=>{let o=t.currentTarget.value.slice(0,e);if(o.length>0&&m&&!m.test(o)){t.preventDefault();return}typeof I==\"string\"&&o.length<I.length&&document.dispatchEvent(new Event(\"selectionchange\")),x(o)},[e,x,I,m]),at=n.useCallback(()=>{var t;if(l.current){let o=Math.min(l.current.value.length,e-1),d=l.current.value.length;(t=l.current)==null||t.setSelectionRange(o,d),L(o),N(d)}Q(!0)},[e]),ct=n.useCallback(t=>{var g,E;let o=l.current;if(!W&&(!J.current.isIOS||!t.clipboardData||!o))return;let d=t.clipboardData.getData(\"text/plain\"),R=W?W(d):d;t.preventDefault();let p=(g=l.current)==null?void 0:g.selectionStart,c=(E=l.current)==null?void 0:E.selectionEnd,v=(p!==c?i.slice(0,p)+R+i.slice(c):i.slice(0,p)+R+i.slice(p)).slice(0,e);if(v.length>0&&m&&!m.test(v))return;o.value=v,x(v);let C=Math.min(v.length,e-1),_=v.length;o.setSelectionRange(C,_),L(C),N(_)},[e,x,m,i]),It=n.useMemo(()=>({position:\"relative\",cursor:a.disabled?\"default\":\"text\",userSelect:\"none\",WebkitUserSelect:\"none\",pointerEvents:\"none\"}),[a.disabled]),it=n.useMemo(()=>({position:\"absolute\",inset:0,width:O.willPushPWMBadge?`calc(100% + ${O.PWM_BADGE_SPACE_WIDTH})`:\"100%\",clipPath:O.willPushPWMBadge?`inset(0 ${O.PWM_BADGE_SPACE_WIDTH} 0 0)`:void 0,height:\"100%\",display:\"flex\",textAlign:u,opacity:\"1\",color:\"transparent\",pointerEvents:\"all\",background:\"transparent\",caretColor:\"transparent\",border:\"0 solid transparent\",outline:\"0 solid transparent\",boxShadow:\"none\",lineHeight:\"1\",letterSpacing:\"-.5em\",fontSize:\"var(--root-height)\",fontFamily:\"monospace\",fontVariantNumeric:\"tabular-nums\"}),[O.PWM_BADGE_SPACE_WIDTH,O.willPushPWMBadge,u]),Mt=n.useMemo(()=>n.createElement(\"input\",bt(St({autoComplete:a.autoComplete||\"one-time-code\"},a),{\"data-input-otp\":!0,\"data-input-otp-placeholder-shown\":i.length===0||void 0,\"data-input-otp-mss\":M,\"data-input-otp-mse\":k,inputMode:G,pattern:m==null?void 0:m.source,\"aria-placeholder\":D,style:it,maxLength:e,value:i,ref:l,onPaste:t=>{var o;ct(t),(o=a.onPaste)==null||o.call(a,t)},onChange:st,onMouseOver:t=>{var o;rt(!0),(o=a.onMouseOver)==null||o.call(a,t)},onMouseLeave:t=>{var o;rt(!1),(o=a.onMouseLeave)==null||o.call(a,t)},onFocus:t=>{var o;at(),(o=a.onFocus)==null||o.call(a,t)},onBlur:t=>{var o;Q(!1),(o=a.onBlur)==null||o.call(a,t)}})),[st,at,ct,G,it,e,k,M,a,m==null?void 0:m.source,i]),tt=n.useMemo(()=>({slots:Array.from({length:e}).map((t,o)=>{var c;let d=j&&M!==null&&k!==null&&(M===k&&o===M||o>=M&&o<k),R=i[o]!==void 0?i[o]:null,p=i[0]!==void 0?null:(c=D==null?void 0:D[o])!=null?c:null;return{char:R,placeholderChar:p,isActive:d,hasFakeCaret:d&&R===null}}),isFocused:j,isHovering:!a.disabled&&ot}),[j,ot,e,k,M,a.disabled,i]),Ct=n.useMemo(()=>f?f(tt):n.createElement(jt.Provider,{value:tt},h),[h,tt,f]);return n.createElement(n.Fragment,null,T!==null&&n.createElement(\"noscript\",null,n.createElement(\"style\",null,T)),n.createElement(\"div\",{ref:K,\"data-input-otp-container\":!0,style:It,className:Z},Ct,n.createElement(\"div\",{style:{position:\"absolute\",inset:0,pointerEvents:\"none\"}},Mt)))});Lt.displayName=\"Input\";function $(r,s){try{r.insertRule(s)}catch(e){console.error(\"input-otp could not insert CSS rule:\",s)}}var Nt=`\n[data-input-otp] {\n --nojs-bg: white !important;\n --nojs-fg: black !important;\n\n background-color: var(--nojs-bg) !important;\n color: var(--nojs-fg) !important;\n caret-color: var(--nojs-fg) !important;\n letter-spacing: .25em !important;\n text-align: center !important;\n border: 1px solid var(--nojs-fg) !important;\n border-radius: 4px !important;\n width: 100% !important;\n}\n@media (prefers-color-scheme: dark) {\n [data-input-otp] {\n --nojs-bg: black !important;\n --nojs-fg: white !important;\n }\n}`;var Kt=\"^\\\\d+$\",Jt=\"^[a-zA-Z]+$\",Qt=\"^[a-zA-Z0-9]+$\";export{Lt as OTPInput,jt as OTPInputContext,Jt as REGEXP_ONLY_CHARS,Kt as REGEXP_ONLY_DIGITS,Qt as REGEXP_ONLY_DIGITS_AND_CHARS};\n//# sourceMappingURL=index.mjs.map","import { OTPInput, OTPInputContext } from 'input-otp';\nimport { Dot } from 'lucide-react';\nimport type React from 'react';\nimport { forwardRef, useContext } from 'react';\n\nimport { cn } from '../utils';\n\nconst InputOTP = forwardRef<React.ElementRef<typeof OTPInput>, React.ComponentPropsWithoutRef<typeof OTPInput>>(\n ({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn('flex items-center gap-2 has-[:disabled]:opacity-50', containerClassName)}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n ),\n);\nInputOTP.displayName = 'InputOTP';\n\nconst InputOTPGroup = forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, ref) => <div ref={ref} className={cn('flex items-center', className)} {...props} />,\n);\nInputOTPGroup.displayName = 'InputOTPGroup';\n\nconst InputOTPSlot = forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'> & { index: number }>(\n ({ index, className, ...props }, ref) => {\n const inputOTPContext = useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];\n\n return (\n <div\n ref={ref}\n className={cn(\n 'relative flex h-12 w-12 items-center justify-center border-y border-r border-input text-base transition-all first:rounded-l-md first:border-l last:rounded-r-md',\n 'bg-transparent dark:bg-input/30 text-foreground',\n 'focus-within:outline-none focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]',\n isActive && 'z-10 border-ring ring-ring/50 ring-[3px]',\n className,\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"h-4 w-px animate-caret-blink bg-foreground duration-1000\" />\n </div>\n )}\n </div>\n );\n },\n);\nInputOTPSlot.displayName = 'InputOTPSlot';\n\nconst InputOTPSeparator = forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'>>(\n ({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Dot />\n </div>\n ),\n);\nInputOTPSeparator.displayName = 'InputOTPSeparator';\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n","import React from 'react';\nimport { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from '../../../shadcn/shadcnField';\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from '../../../shadcn/shadcnInputOTP';\nimport { cn } from '../../../shadcn/utils';\n\nexport interface OTPFieldProps {\n name?: string;\n\n value?: string;\n\n onChange?: (value: string) => void;\n\n length?: number;\n\n label?: string;\n\n description?: React.ReactNode;\n\n error?: string;\n\n disabled?: boolean;\n\n required?: boolean;\n\n className?: string;\n}\n\n// OTPField component - specialized input for one-time passwords with Field system\nexport const OTPField = React.forwardRef<HTMLInputElement, OTPFieldProps>(\n (\n {\n name: _name,\n value = '',\n onChange = () => {},\n length = 6,\n label,\n description,\n error,\n disabled,\n required,\n className,\n },\n _ref,\n ) => {\n const fieldId = React.useId();\n const hasError = !!error;\n\n return (\n <Field data-disabled={disabled}>\n {label && (\n <FieldLabel htmlFor={fieldId}>\n {label}\n {required && <span className=\"text-destructive ml-1\">*</span>}\n </FieldLabel>\n )}\n\n <FieldContent>\n <InputOTP\n maxLength={length}\n value={value}\n onChange={onChange}\n disabled={disabled}\n containerClassName={cn('justify-center', className)}\n aria-describedby={description || error ? `${fieldId}-description ${fieldId}-error` : undefined}\n aria-invalid={hasError}\n >\n <InputOTPGroup>\n {Array.from({ length }, (_, idx) => idx).map((position) => (\n <InputOTPSlot\n key={position}\n index={position}\n className={cn(\n hasError &&\n 'border-destructive focus-within:ring-destructive/20 dark:focus-within:ring-destructive/40',\n )}\n />\n ))}\n </InputOTPGroup>\n </InputOTP>\n\n {description && (\n <FieldDescription id={`${fieldId}-description`} className=\"text-center\">\n {description}\n </FieldDescription>\n )}\n\n {error && (\n <FieldError id={`${fieldId}-error`} className=\"text-center\">\n {error}\n </FieldError>\n )}\n </FieldContent>\n </Field>\n );\n },\n);\n\nOTPField.displayName = 'OTPField';\n"],"names":["U","S","n","OTPInput","OTPInputContext","React"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"PageContent.js","sources":["../lib/components/PageContent/PageContent.tsx"],"sourcesContent":["import type React from 'react';\nimport { cn } from '../../../shadcn/utils';\n\nexport interface PageContentProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n\nexport interface SidePanelListItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n active?: boolean;\n}\n\nexport interface PageContentPanelProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content'> {\n children?: React.ReactNode;\n header?: React.ReactNode;\n actions?: React.ReactNode;\n content?: React.ReactNode;\n headerClassName?: string;\n contentClassName?: string;\n isLoading?: boolean;\n loadingContent?: React.ReactNode;\n isEmpty?: boolean;\n emptyState?: React.ReactNode;\n}\n\nexport interface PageContentDetailsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content'> {\n children?: React.ReactNode;\n content?: React.ReactNode;\n isLoading?: boolean;\n loadingContent?: React.ReactNode;\n isEmpty?: boolean;\n emptyState?: React.ReactNode;\n}\n\nexport function PanelSkeleton() {\n return (\n <div className=\"p-3 space-y-2\">\n {Array.from({ length: 6 }).map((_, i) => (\n <div\n // biome-ignore lint/suspicious/noArrayIndexKey: <static list of skeletons, not dynamic>\n key={`panel-skeleton-${i}`}\n className=\"rounded-md border p-3 space-y-2\"\n >\n <div className=\"h-4 w-2/3 rounded bg-muted animate-pulse\" />\n <div className=\"h-3 w-1/2 rounded bg-muted animate-pulse\" />\n </div>\n ))}\n </div>\n );\n}\n\n/** Reusable selectable row button for side-panel lists. */\nexport function SidePanelListItem({ active = false, className, type = 'button', ...props }: SidePanelListItemProps) {\n return (\n <button\n type={type}\n className={cn(\n 'w-full rounded-md border px-3 py-2 text-left transition-colors',\n active ? 'bg-accent border-accent' : 'hover:bg-accent/40',\n className,\n )}\n {...props}\n />\n );\n}\n\n/** A bordered container that fills available viewport height, used for split-panel layouts. */\nexport function PageContent({ children, className, ...props }: PageContentProps) {\n return (\n <div\n className={cn('flex w-full overflow-hidden rounded-xl border bg-background', className)}\n style={{ height: 'calc(100vh - 220px)' }}\n {...props}\n >\n {children}\n </div>\n );\n}\n\n/** Left panel region inside PageContent. Supports standard header/actions/content layout. */\nexport function PageContentPanel({\n children,\n className,\n header,\n actions,\n content,\n headerClassName,\n contentClassName,\n isLoading,\n loadingContent,\n isEmpty,\n emptyState,\n ...props\n}: PageContentPanelProps) {\n const panelBody = content ?? children;\n const hasActions = Boolean(actions);\n\n const showEmpty = !isLoading && isEmpty;\n\n const resolvedBody = isLoading ? (loadingContent ?? <PanelSkeleton />) : showEmpty ? emptyState : panelBody;\n\n const resolvedContentClassName = showEmpty\n ? cn('flex-1 overflow-auto flex items-center justify-center', contentClassName)\n : cn('flex-1 overflow-auto', contentClassName);\n\n return (\n <div className={cn('w-72 border-r flex flex-col shrink-0 overflow-hidden', className)} {...props}>\n {(header || actions) && (\n <div\n className={cn('border-b p-3', hasActions ? 'flex items-center justify-between gap-2' : '', headerClassName)}\n >\n <div className={cn('min-w-0', hasActions ? 'flex-1' : '')}>\n {typeof header === 'string' ? <div className=\"text-sm font-medium\">{header}</div> : header}\n </div>\n {actions ? <div className=\"shrink-0\">{actions}</div> : null}\n </div>\n )}\n <div className={resolvedContentClassName}>{resolvedBody}</div>\n </div>\n );\n}\n\n/**\n * Right details region inside PageContent.\n *\n * State precedence: isLoading → loadingContent (or PanelSkeleton fallback)\n * isEmpty → emptyState (centered)\n * else → content || children\n *\n * Mirrors PageContentPanel's loading/empty API so callers can declaratively express\n * all three states without inline ternaries.\n */\nexport function PageContentDetails({\n children,\n className,\n content,\n isLoading,\n loadingContent,\n isEmpty,\n emptyState,\n ...props\n}: PageContentDetailsProps) {\n const body = content ?? children;\n const showEmpty = !isLoading && isEmpty;\n\n const resolved = isLoading ? (loadingContent ?? <PanelSkeleton />) : showEmpty ? emptyState : body;\n\n const layoutClass = showEmpty\n ? 'flex-1 overflow-auto p-6 min-w-0 flex items-center justify-center'\n : 'flex-1 overflow-auto p-6 min-w-0';\n\n return (\n <div className={cn(layoutClass, className)} {...props}>\n {resolved}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PageContent.js","sources":["../lib/components/PageContent/PageContent.tsx"],"sourcesContent":["import type React from 'react';\nimport { cn } from '../../../shadcn/utils';\n\nexport interface PageContentProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n\nexport interface SidePanelListItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n active?: boolean;\n}\n\nexport interface PageContentPanelProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content'> {\n children?: React.ReactNode;\n header?: React.ReactNode;\n actions?: React.ReactNode;\n content?: React.ReactNode;\n headerClassName?: string;\n contentClassName?: string;\n isLoading?: boolean;\n loadingContent?: React.ReactNode;\n isEmpty?: boolean;\n emptyState?: React.ReactNode;\n}\n\nexport interface PageContentDetailsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content'> {\n children?: React.ReactNode;\n content?: React.ReactNode;\n isLoading?: boolean;\n loadingContent?: React.ReactNode;\n isEmpty?: boolean;\n emptyState?: React.ReactNode;\n}\n\nexport function PanelSkeleton() {\n return (\n <div className=\"p-3 space-y-2\">\n {Array.from({ length: 6 }).map((_, i) => (\n <div\n // biome-ignore lint/suspicious/noArrayIndexKey: <static list of skeletons, not dynamic>\n key={`panel-skeleton-${i}`}\n className=\"rounded-md border p-3 space-y-2\"\n >\n <div className=\"h-4 w-2/3 rounded bg-muted animate-pulse\" />\n <div className=\"h-3 w-1/2 rounded bg-muted animate-pulse\" />\n </div>\n ))}\n </div>\n );\n}\n\n// Reusable selectable row button for side-panel lists.\nexport function SidePanelListItem({ active = false, className, type = 'button', ...props }: SidePanelListItemProps) {\n return (\n <button\n type={type}\n className={cn(\n 'w-full rounded-md border px-3 py-2 text-left transition-colors',\n active ? 'bg-accent border-accent' : 'hover:bg-accent/40',\n className,\n )}\n {...props}\n />\n );\n}\n\n// A bordered container that fills available viewport height, used for split-panel layouts.\nexport function PageContent({ children, className, ...props }: PageContentProps) {\n return (\n <div\n className={cn('flex w-full overflow-hidden rounded-xl border bg-background', className)}\n style={{ height: 'calc(100vh - 220px)' }}\n {...props}\n >\n {children}\n </div>\n );\n}\n\n// Left panel region inside PageContent. Supports standard header/actions/content layout.\nexport function PageContentPanel({\n children,\n className,\n header,\n actions,\n content,\n headerClassName,\n contentClassName,\n isLoading,\n loadingContent,\n isEmpty,\n emptyState,\n ...props\n}: PageContentPanelProps) {\n const panelBody = content ?? children;\n const hasActions = Boolean(actions);\n\n const showEmpty = !isLoading && isEmpty;\n\n const resolvedBody = isLoading ? (loadingContent ?? <PanelSkeleton />) : showEmpty ? emptyState : panelBody;\n\n const resolvedContentClassName = showEmpty\n ? cn('flex-1 overflow-auto flex items-center justify-center', contentClassName)\n : cn('flex-1 overflow-auto', contentClassName);\n\n return (\n <div className={cn('w-72 border-r flex flex-col shrink-0 overflow-hidden', className)} {...props}>\n {(header || actions) && (\n <div\n className={cn('border-b p-3', hasActions ? 'flex items-center justify-between gap-2' : '', headerClassName)}\n >\n <div className={cn('min-w-0', hasActions ? 'flex-1' : '')}>\n {typeof header === 'string' ? <div className=\"text-sm font-medium\">{header}</div> : header}\n </div>\n {actions ? <div className=\"shrink-0\">{actions}</div> : null}\n </div>\n )}\n <div className={resolvedContentClassName}>{resolvedBody}</div>\n </div>\n );\n}\n\n// Right details region inside PageContent — precedence isLoading → loadingContent, isEmpty → emptyState, else content||children\nexport function PageContentDetails({\n children,\n className,\n content,\n isLoading,\n loadingContent,\n isEmpty,\n emptyState,\n ...props\n}: PageContentDetailsProps) {\n const body = content ?? children;\n const showEmpty = !isLoading && isEmpty;\n\n const resolved = isLoading ? (loadingContent ?? <PanelSkeleton />) : showEmpty ? emptyState : body;\n\n const layoutClass = showEmpty\n ? 'flex-1 overflow-auto p-6 min-w-0 flex items-center justify-center'\n : 'flex-1 overflow-auto p-6 min-w-0';\n\n return (\n <div className={cn(layoutClass, className)} {...props}>\n {resolved}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -6,16 +6,27 @@ import { S as Skeleton } from './Skeleton.js';
6
6
 
7
7
  const PageHeader = React.forwardRef(
8
8
  ({ title, titleSlot, description, actions, className, ...props }, ref) => {
9
- return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex items-start justify-between gap-4", className), ...props, children: [
10
- /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
11
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
12
- /* @__PURE__ */ jsx(Typography, { variant: "h3", children: title }),
13
- titleSlot
14
- ] }),
15
- description && /* @__PURE__ */ jsx(Typography, { variant: "body2", intent: "muted", children: description })
16
- ] }),
17
- actions && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-2 self-center", children: actions })
18
- ] });
9
+ return /* @__PURE__ */ jsxs(
10
+ "div",
11
+ {
12
+ ref,
13
+ className: cn(
14
+ "flex items-start justify-between gap-4 animate-in fade-in slide-in-from-bottom-1 duration-300",
15
+ className
16
+ ),
17
+ ...props,
18
+ children: [
19
+ /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
20
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
21
+ /* @__PURE__ */ jsx(Typography, { variant: "h3", children: title }),
22
+ titleSlot
23
+ ] }),
24
+ /* @__PURE__ */ jsx(Typography, { variant: "body2", intent: "muted", children: description || " " })
25
+ ] }),
26
+ actions && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-2 self-center", children: actions })
27
+ ]
28
+ }
29
+ );
19
30
  }
20
31
  );
21
32
  PageHeader.displayName = "PageHeader";
@@ -1 +1 @@
1
- {"version":3,"file":"PageHeaderSkeleton.js","sources":["../lib/components/PageHeader/PageHeader.tsx","../lib/components/PageHeader/PageHeaderSkeleton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '../../../shadcn/utils';\nimport { Typography } from '../Typography';\n\nexport interface PageHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n title: string;\n titleSlot?: React.ReactNode;\n description?: string;\n actions?: React.ReactNode;\n}\n\nexport const PageHeader = React.forwardRef<HTMLDivElement, PageHeaderProps>(\n ({ title, titleSlot, description, actions, className, ...props }, ref) => {\n return (\n <div ref={ref} className={cn('flex items-start justify-between gap-4', className)} {...props}>\n <div className=\"space-y-1\">\n <div className=\"flex items-center gap-2\">\n <Typography variant=\"h3\">{title}</Typography>\n {titleSlot}\n </div>\n {description && (\n <Typography variant=\"body2\" intent=\"muted\">\n {description}\n </Typography>\n )}\n </div>\n {actions && <div className=\"flex shrink-0 items-center gap-2 self-center\">{actions}</div>}\n </div>\n );\n },\n);\n\nPageHeader.displayName = 'PageHeader';\n","import type * as React from 'react';\nimport { cn } from '../../../shadcn/utils';\nimport { Skeleton } from '../Skeleton';\n\nexport interface PageHeaderSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n showDescription?: boolean;\n showActions?: boolean;\n}\n\nexport const PageHeaderSkeleton = ({\n showDescription = true,\n showActions = true,\n className,\n ...props\n}: PageHeaderSkeletonProps) => (\n <div className={cn('flex items-start justify-between gap-4', className)} {...props}>\n <div className=\"space-y-1\">\n <Skeleton className=\"h-7 w-40\" />\n {showDescription && <Skeleton className=\"h-5 w-80\" />}\n </div>\n {showActions && <Skeleton className=\"h-8 w-14 rounded-md\" />}\n </div>\n);\n\nPageHeaderSkeleton.displayName = 'PageHeaderSkeleton';\n"],"names":[],"mappings":";;;;;;AAWO,MAAM,aAAa,KAAA,CAAM,UAAA;AAAA,EAC9B,CAAC,EAAE,KAAA,EAAO,SAAA,EAAW,WAAA,EAAa,SAAS,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACxE,IAAA,uBACE,IAAA,CAAC,SAAI,GAAA,EAAU,SAAA,EAAW,GAAG,wCAAA,EAA0C,SAAS,CAAA,EAAI,GAAG,KAAA,EACrF,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,WAAA,EACb,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAQ,IAAA,EAAM,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,UAC/B;AAAA,SAAA,EACH,CAAA;AAAA,QACC,+BACC,GAAA,CAAC,UAAA,EAAA,EAAW,SAAQ,OAAA,EAAQ,MAAA,EAAO,SAChC,QAAA,EAAA,WAAA,EACH;AAAA,OAAA,EAEJ,CAAA;AAAA,MACC,OAAA,oBAAW,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gDAAgD,QAAA,EAAA,OAAA,EAAQ;AAAA,KAAA,EACrF,CAAA;AAAA,EAEJ;AACF;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA;;ACvBlB,MAAM,qBAAqB,CAAC;AAAA,EACjC,eAAA,GAAkB,IAAA;AAAA,EAClB,WAAA,GAAc,IAAA;AAAA,EACd,SAAA;AAAA,EACA,GAAG;AACL,CAAA,qBACE,IAAA,CAAC,SAAI,SAAA,EAAW,EAAA,CAAG,0CAA0C,SAAS,CAAA,EAAI,GAAG,KAAA,EAC3E,QAAA,EAAA;AAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,WAAA,EACb,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,WAAU,UAAA,EAAW,CAAA;AAAA,IAC9B,eAAA,oBAAmB,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,UAAA,EAAW;AAAA,GAAA,EACrD,CAAA;AAAA,EACC,WAAA,oBAAe,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,qBAAA,EAAsB;AAAA,CAAA,EAC5D;AAGF,kBAAA,CAAmB,WAAA,GAAc,oBAAA;;;;"}
1
+ {"version":3,"file":"PageHeaderSkeleton.js","sources":["../lib/components/PageHeader/PageHeader.tsx","../lib/components/PageHeader/PageHeaderSkeleton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '../../../shadcn/utils';\nimport { Typography } from '../Typography';\n\nexport interface PageHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n title: string;\n titleSlot?: React.ReactNode;\n description?: string;\n actions?: React.ReactNode;\n}\n\nexport const PageHeader = React.forwardRef<HTMLDivElement, PageHeaderProps>(\n ({ title, titleSlot, description, actions, className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'flex items-start justify-between gap-4 animate-in fade-in slide-in-from-bottom-1 duration-300',\n className,\n )}\n {...props}\n >\n <div className=\"space-y-1\">\n <div className=\"flex items-center gap-2\">\n <Typography variant=\"h3\">{title}</Typography>\n {titleSlot}\n </div>\n {/* Always render the description line (non-breaking space when empty) so the header height is stable */}\n <Typography variant=\"body2\" intent=\"muted\">\n {description || '\\u00A0'}\n </Typography>\n </div>\n {actions && <div className=\"flex shrink-0 items-center gap-2 self-center\">{actions}</div>}\n </div>\n );\n },\n);\n\nPageHeader.displayName = 'PageHeader';\n","import type * as React from 'react';\nimport { cn } from '../../../shadcn/utils';\nimport { Skeleton } from '../Skeleton';\n\nexport interface PageHeaderSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n showDescription?: boolean;\n showActions?: boolean;\n}\n\nexport const PageHeaderSkeleton = ({\n showDescription = true,\n showActions = true,\n className,\n ...props\n}: PageHeaderSkeletonProps) => (\n <div className={cn('flex items-start justify-between gap-4', className)} {...props}>\n <div className=\"space-y-1\">\n <Skeleton className=\"h-7 w-40\" />\n {showDescription && <Skeleton className=\"h-5 w-80\" />}\n </div>\n {showActions && <Skeleton className=\"h-8 w-14 rounded-md\" />}\n </div>\n);\n\nPageHeaderSkeleton.displayName = 'PageHeaderSkeleton';\n"],"names":[],"mappings":";;;;;;AAWO,MAAM,aAAa,KAAA,CAAM,UAAA;AAAA,EAC9B,CAAC,EAAE,KAAA,EAAO,SAAA,EAAW,WAAA,EAAa,SAAS,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACxE,IAAA,uBACE,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAW,EAAA;AAAA,UACT,+FAAA;AAAA,UACA;AAAA,SACF;AAAA,QACC,GAAG,KAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,WAAA,EACb,QAAA,EAAA;AAAA,4BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACb,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAQ,IAAA,EAAM,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,cAC/B;AAAA,aAAA,EACH,CAAA;AAAA,gCAEC,UAAA,EAAA,EAAW,OAAA,EAAQ,SAAQ,MAAA,EAAO,OAAA,EAChC,yBAAe,GAAA,EAClB;AAAA,WAAA,EACF,CAAA;AAAA,UACC,OAAA,oBAAW,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gDAAgD,QAAA,EAAA,OAAA,EAAQ;AAAA;AAAA;AAAA,KACrF;AAAA,EAEJ;AACF;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA;;AC7BlB,MAAM,qBAAqB,CAAC;AAAA,EACjC,eAAA,GAAkB,IAAA;AAAA,EAClB,WAAA,GAAc,IAAA;AAAA,EACd,SAAA;AAAA,EACA,GAAG;AACL,CAAA,qBACE,IAAA,CAAC,SAAI,SAAA,EAAW,EAAA,CAAG,0CAA0C,SAAS,CAAA,EAAI,GAAG,KAAA,EAC3E,QAAA,EAAA;AAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,WAAA,EACb,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,WAAU,UAAA,EAAW,CAAA;AAAA,IAC9B,eAAA,oBAAmB,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,UAAA,EAAW;AAAA,GAAA,EACrD,CAAA;AAAA,EACC,WAAA,oBAAe,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,qBAAA,EAAsB;AAAA,CAAA,EAC5D;AAGF,kBAAA,CAAmB,WAAA,GAAc,oBAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordField.js","sources":["../lib/components/PasswordField/PasswordField.tsx"],"sourcesContent":["import { CheckCircle, Eye, EyeOff } from 'lucide-react';\nimport React, { useState } from 'react';\nimport { cn } from '../../../shadcn/utils';\nimport { TextField, type TextFieldProps } from '../TextField/TextField';\n\nexport interface PasswordFieldProps extends Omit<TextFieldProps, 'type' | 'endAdornment'> {\n /**\n * Whether to show password strength indicator\n */\n showStrengthIndicator?: boolean;\n\n /**\n * Whether to show password match indicator\n */\n showMatchIndicator?: boolean;\n\n /**\n * Password to match against (for confirm password fields)\n */\n matchPassword?: string;\n\n /**\n * Custom aria-label for the visibility toggle button\n */\n toggleAriaLabel?: string;\n}\n\n// Helper function to calculate password strength\nconst getPasswordStrength = (password: string) => {\n let strength = 0;\n if (password.length >= 8) strength += 1;\n if (/[A-Z]/.test(password)) strength += 1;\n if (/[a-z]/.test(password)) strength += 1;\n if (/[0-9]/.test(password)) strength += 1;\n if (/[^A-Za-z0-9]/.test(password)) strength += 1;\n\n if (strength < 2) return { label: 'Weak', color: 'text-destructive', bgColor: 'bg-destructive', width: '25%' };\n if (strength < 4) return { label: 'Fair', color: 'text-warning', bgColor: 'bg-warning', width: '60%' };\n return { label: 'Strong', color: 'text-success', bgColor: 'bg-success', width: '100%' };\n};\n\n// PasswordField component - specialized TextField for password inputs\nexport const PasswordField = React.forwardRef<HTMLInputElement, PasswordFieldProps>(\n (\n {\n showStrengthIndicator = false,\n showMatchIndicator = false,\n matchPassword,\n toggleAriaLabel,\n value = '',\n description,\n error,\n ...props\n },\n ref,\n ) => {\n const [showPassword, setShowPassword] = useState(false);\n\n const togglePasswordVisibility = () => {\n setShowPassword(!showPassword);\n };\n\n const passwordStrength = getPasswordStrength(String(value));\n const passwordsMatch = matchPassword !== undefined && value !== '' && value === matchPassword;\n\n // Build enhanced description by stacking indicators and description separately\n const enhancedDescription = (\n <>\n {/* Password strength indicator */}\n {showStrengthIndicator && value && !error && (\n <div className=\"space-y-1\">\n <div className=\"flex justify-between items-center text-[10px]\">\n <span className=\"text-muted-foreground\">Strength:</span>\n <span className={passwordStrength.color}>{passwordStrength.label}</span>\n </div>\n <div className=\"w-full bg-muted rounded-full h-1\">\n <div\n className={cn('h-1 rounded-full transition-all duration-300', passwordStrength.bgColor)}\n style={{ width: passwordStrength.width }}\n />\n </div>\n </div>\n )}\n\n {/* Password match indicator */}\n {showMatchIndicator && passwordsMatch && !error && (\n <div className=\"flex items-center gap-1\">\n <CheckCircle className=\"h-3 w-3 text-success\" />\n <span className=\"text-[10px] text-success\">Passwords match</span>\n </div>\n )}\n\n {/* Original description (e.g., from zod schema) */}\n {description}\n </>\n );\n\n const eyeIcon = (\n <button\n type=\"button\"\n onClick={togglePasswordVisibility}\n aria-label={toggleAriaLabel || (showPassword ? 'Hide password' : 'Show password')}\n className=\"cursor-pointer\"\n >\n {showPassword ? (\n <EyeOff className=\"h-3.5 w-3.5 text-muted-foreground\" />\n ) : (\n <Eye className=\"h-3.5 w-3.5 text-muted-foreground\" />\n )}\n </button>\n );\n\n return (\n <TextField\n ref={ref}\n {...props}\n type={showPassword ? 'text' : 'password'}\n value={value}\n description={enhancedDescription}\n error={error}\n endAdornment={eyeIcon}\n />\n );\n },\n);\n\nPasswordField.displayName = 'PasswordField';\n"],"names":["React","CheckCircle"],"mappings":"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"}
1
+ {"version":3,"file":"PasswordField.js","sources":["../lib/components/PasswordField/PasswordField.tsx"],"sourcesContent":["import { CheckCircle, Eye, EyeOff } from 'lucide-react';\nimport React, { useState } from 'react';\nimport { cn } from '../../../shadcn/utils';\nimport { TextField, type TextFieldProps } from '../TextField/TextField';\n\nexport interface PasswordFieldProps extends Omit<TextFieldProps, 'type' | 'endAdornment'> {\n showStrengthIndicator?: boolean;\n\n showMatchIndicator?: boolean;\n\n matchPassword?: string;\n\n toggleAriaLabel?: string;\n}\n\n// Helper function to calculate password strength\nconst getPasswordStrength = (password: string) => {\n let strength = 0;\n if (password.length >= 8) strength += 1;\n if (/[A-Z]/.test(password)) strength += 1;\n if (/[a-z]/.test(password)) strength += 1;\n if (/[0-9]/.test(password)) strength += 1;\n if (/[^A-Za-z0-9]/.test(password)) strength += 1;\n\n if (strength < 2) return { label: 'Weak', color: 'text-destructive', bgColor: 'bg-destructive', width: '25%' };\n if (strength < 4) return { label: 'Fair', color: 'text-warning', bgColor: 'bg-warning', width: '60%' };\n return { label: 'Strong', color: 'text-success', bgColor: 'bg-success', width: '100%' };\n};\n\n// PasswordField component - specialized TextField for password inputs\nexport const PasswordField = React.forwardRef<HTMLInputElement, PasswordFieldProps>(\n (\n {\n showStrengthIndicator = false,\n showMatchIndicator = false,\n matchPassword,\n toggleAriaLabel,\n value = '',\n description,\n error,\n ...props\n },\n ref,\n ) => {\n const [showPassword, setShowPassword] = useState(false);\n\n const togglePasswordVisibility = () => {\n setShowPassword(!showPassword);\n };\n\n const passwordStrength = getPasswordStrength(String(value));\n const passwordsMatch = matchPassword !== undefined && value !== '' && value === matchPassword;\n\n // Build enhanced description by stacking indicators and description separately\n const enhancedDescription = (\n <>\n {/* Password strength indicator */}\n {showStrengthIndicator && value && !error && (\n <div className=\"space-y-1\">\n <div className=\"flex justify-between items-center text-[10px]\">\n <span className=\"text-muted-foreground\">Strength:</span>\n <span className={passwordStrength.color}>{passwordStrength.label}</span>\n </div>\n <div className=\"w-full bg-muted rounded-full h-1\">\n <div\n className={cn('h-1 rounded-full transition-all duration-300', passwordStrength.bgColor)}\n style={{ width: passwordStrength.width }}\n />\n </div>\n </div>\n )}\n\n {/* Password match indicator */}\n {showMatchIndicator && passwordsMatch && !error && (\n <div className=\"flex items-center gap-1\">\n <CheckCircle className=\"h-3 w-3 text-success\" />\n <span className=\"text-[10px] text-success\">Passwords match</span>\n </div>\n )}\n\n {/* Original description (e.g., from zod schema) */}\n {description}\n </>\n );\n\n const eyeIcon = (\n <button\n type=\"button\"\n onClick={togglePasswordVisibility}\n aria-label={toggleAriaLabel || (showPassword ? 'Hide password' : 'Show password')}\n className=\"cursor-pointer\"\n >\n {showPassword ? (\n <EyeOff className=\"h-3.5 w-3.5 text-muted-foreground\" />\n ) : (\n <Eye className=\"h-3.5 w-3.5 text-muted-foreground\" />\n )}\n </button>\n );\n\n return (\n <TextField\n ref={ref}\n {...props}\n type={showPassword ? 'text' : 'password'}\n value={value}\n description={enhancedDescription}\n error={error}\n endAdornment={eyeIcon}\n />\n );\n },\n);\n\nPasswordField.displayName = 'PasswordField';\n"],"names":["React","CheckCircle"],"mappings":"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"}