admin-ui-starter-kit 0.6.8 → 0.6.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/component-library-rules/references/components/base__display-utilities.md +15 -8
- package/dist/_shared/ai-artifact-Cv8VBibf.cjs +3 -0
- package/dist/_shared/ai-artifact-Cv8VBibf.cjs.map +1 -0
- package/dist/_shared/ai-artifact-DwfXQuh4.js +1099 -0
- package/dist/_shared/ai-artifact-DwfXQuh4.js.map +1 -0
- package/dist/_shared/auth-Cz5ci18c.cjs +2 -0
- package/dist/_shared/auth-Cz5ci18c.cjs.map +1 -0
- package/dist/_shared/auth-DDWsgFUL.js +643 -0
- package/dist/_shared/auth-DDWsgFUL.js.map +1 -0
- package/dist/_shared/badge-C65rt1M9.cjs +2 -0
- package/dist/_shared/badge-C65rt1M9.cjs.map +1 -0
- package/dist/_shared/badge-r8ae66Vd.js +110 -0
- package/dist/_shared/badge-r8ae66Vd.js.map +1 -0
- package/dist/_shared/comments-DAzpeuQq.cjs +2 -0
- package/dist/_shared/comments-DAzpeuQq.cjs.map +1 -0
- package/dist/_shared/comments-DzZaKP9x.js +952 -0
- package/dist/_shared/comments-DzZaKP9x.js.map +1 -0
- package/dist/_shared/data-display-DQUUEzCx.cjs +2 -0
- package/dist/_shared/data-display-DQUUEzCx.cjs.map +1 -0
- package/dist/_shared/data-display-LlvMEFTK.js +1878 -0
- package/dist/_shared/data-display-LlvMEFTK.js.map +1 -0
- package/dist/_shared/date-picker-CrC-lHyF.cjs +2 -0
- package/dist/_shared/date-picker-CrC-lHyF.cjs.map +1 -0
- package/dist/_shared/date-picker-DbYBek-b.js +1361 -0
- package/dist/_shared/date-picker-DbYBek-b.js.map +1 -0
- package/dist/_shared/date-pickers-9AU8YQK2.js +329 -0
- package/dist/_shared/date-pickers-9AU8YQK2.js.map +1 -0
- package/dist/_shared/date-pickers-DUEwCWig.cjs +2 -0
- package/dist/_shared/date-pickers-DUEwCWig.cjs.map +1 -0
- package/dist/_shared/display-BqoPOdof.cjs +2 -0
- package/dist/_shared/display-BqoPOdof.cjs.map +1 -0
- package/dist/_shared/display-CQoSwU74.js +986 -0
- package/dist/_shared/display-CQoSwU74.js.map +1 -0
- package/dist/_shared/forms-CNh-S9FK.cjs +2 -0
- package/dist/_shared/forms-CNh-S9FK.cjs.map +1 -0
- package/dist/_shared/forms-DIz3SCA9.js +3534 -0
- package/dist/_shared/forms-DIz3SCA9.js.map +1 -0
- package/dist/_shared/header-Bs61tQla.js +447 -0
- package/dist/_shared/header-Bs61tQla.js.map +1 -0
- package/dist/_shared/header-D01oOxna.cjs +2 -0
- package/dist/_shared/header-D01oOxna.cjs.map +1 -0
- package/dist/_shared/hooks-ACnpaIli.js +95 -0
- package/dist/_shared/hooks-ACnpaIli.js.map +1 -0
- package/dist/_shared/hooks-B7khuHkk.cjs +2 -0
- package/dist/_shared/hooks-B7khuHkk.cjs.map +1 -0
- package/dist/_shared/layout-CGi5w1mo.js +268 -0
- package/dist/_shared/layout-CGi5w1mo.js.map +1 -0
- package/dist/_shared/layout-ccVwjUG8.cjs +2 -0
- package/dist/_shared/layout-ccVwjUG8.cjs.map +1 -0
- package/dist/_shared/mentions-Cg_4vFxd.cjs +2 -0
- package/dist/_shared/mentions-Cg_4vFxd.cjs.map +1 -0
- package/dist/_shared/mentions-Ci9RFTfw.js +506 -0
- package/dist/_shared/mentions-Ci9RFTfw.js.map +1 -0
- package/dist/_shared/navigation-C1QN2-Vq.cjs +2 -0
- package/dist/_shared/navigation-C1QN2-Vq.cjs.map +1 -0
- package/dist/_shared/navigation-CMrLO8v5.js +436 -0
- package/dist/_shared/navigation-CMrLO8v5.js.map +1 -0
- package/dist/_shared/separator-BXn_fnly.cjs +2 -0
- package/dist/_shared/separator-BXn_fnly.cjs.map +1 -0
- package/dist/_shared/separator-DiH-j--f.js +20 -0
- package/dist/_shared/separator-DiH-j--f.js.map +1 -0
- package/dist/_shared/settings-CgtcSI8L.js +143 -0
- package/dist/_shared/settings-CgtcSI8L.js.map +1 -0
- package/dist/_shared/settings-csNmeT7b.cjs +2 -0
- package/dist/_shared/settings-csNmeT7b.cjs.map +1 -0
- package/dist/_shared/sidebar-DyGIcJd9.cjs +2 -0
- package/dist/_shared/sidebar-DyGIcJd9.cjs.map +1 -0
- package/dist/_shared/sidebar-OT-xIguQ.js +548 -0
- package/dist/_shared/sidebar-OT-xIguQ.js.map +1 -0
- package/dist/_shared/table-BVWemr79.cjs +2 -0
- package/dist/_shared/table-BVWemr79.cjs.map +1 -0
- package/dist/_shared/table-WYSjfQRr.js +1377 -0
- package/dist/_shared/table-WYSjfQRr.js.map +1 -0
- package/dist/_shared/workspace-BkwsqTrc.cjs +2 -0
- package/dist/_shared/workspace-BkwsqTrc.cjs.map +1 -0
- package/dist/_shared/workspace-DpU1YG1t.js +357 -0
- package/dist/_shared/workspace-DpU1YG1t.js.map +1 -0
- package/dist/components/base/badge/index.cjs +1 -1
- package/dist/components/base/badge/index.js +1 -1
- package/dist/components/base/date-pickers/index.cjs +1 -1
- package/dist/components/base/date-pickers/index.js +2 -2
- package/dist/components/base/display/index.cjs +1 -1
- package/dist/components/base/display/index.js +2 -2
- package/dist/components/base/display/separator.d.ts +10 -1
- package/dist/components/base/display/separator.d.ts.map +1 -1
- package/dist/components/base/event-calendar/index.cjs +1 -1
- package/dist/components/base/event-calendar/index.js +1 -1
- package/dist/components/base/forms/index.cjs +1 -1
- package/dist/components/base/forms/index.js +2 -2
- package/dist/components/base/navigation/index.cjs +1 -1
- package/dist/components/base/navigation/index.js +1 -1
- package/dist/components/base/table/index.cjs +1 -1
- package/dist/components/base/table/index.js +1 -1
- package/dist/components/composed/admin/index.cjs +1 -1
- package/dist/components/composed/admin/index.js +3 -3
- package/dist/components/composed/ai/index.cjs +1 -1
- package/dist/components/composed/ai/index.js +4 -4
- package/dist/components/composed/cards/index.cjs +1 -1
- package/dist/components/composed/cards/index.js +3 -3
- package/dist/components/composed/commerce/index.cjs +1 -1
- package/dist/components/composed/commerce/index.js +4 -4
- package/dist/components/composed/dark-surfaces/index.cjs +1 -1
- package/dist/components/composed/dark-surfaces/index.js +2 -2
- package/dist/components/composed/data-display/index.cjs +1 -1
- package/dist/components/composed/data-display/index.js +1 -1
- package/dist/components/composed/navigation/index.cjs +1 -1
- package/dist/components/composed/navigation/index.js +1 -1
- package/dist/components/composed/timelines/index.cjs +1 -1
- package/dist/components/composed/timelines/index.js +1 -1
- package/dist/components/features/activities/index.cjs +1 -1
- package/dist/components/features/activities/index.js +1 -1
- package/dist/components/features/ai-chat/index.cjs +1 -1
- package/dist/components/features/ai-chat/index.js +2 -2
- package/dist/components/features/comments/index.cjs +1 -1
- package/dist/components/features/comments/index.js +2 -2
- package/dist/components/features/event-log/index.cjs +1 -1
- package/dist/components/features/event-log/index.js +2 -2
- package/dist/components/features/filters/index.cjs +1 -1
- package/dist/components/features/filters/index.js +2 -2
- package/dist/components/features/global-search/index.cjs +1 -1
- package/dist/components/features/global-search/index.js +1 -1
- package/dist/components/features/media-library/index.cjs +1 -1
- package/dist/components/features/media-library/index.js +3 -3
- package/dist/components/features/mentions/index.cjs +1 -1
- package/dist/components/features/mentions/index.js +1 -1
- package/dist/components/features/products/index.cjs +1 -1
- package/dist/components/features/products/index.js +5 -5
- package/dist/components/features/resource/index.cjs +1 -1
- package/dist/components/features/resource/index.js +2 -2
- package/dist/components/features/schema-form/index.cjs +1 -1
- package/dist/components/features/schema-form/index.js +2 -2
- package/dist/components/layout/auth/index.cjs +1 -1
- package/dist/components/layout/auth/index.js +1 -1
- package/dist/components/layout/header/index.cjs +1 -1
- package/dist/components/layout/header/index.js +1 -1
- package/dist/components/layout/hooks/index.cjs +1 -1
- package/dist/components/layout/hooks/index.js +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +7 -7
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +1 -1
- package/dist/components/layout/settings/index.cjs +1 -1
- package/dist/components/layout/settings/index.js +1 -1
- package/dist/components/layout/sidebar/index.cjs +1 -1
- package/dist/components/layout/sidebar/index.js +2 -2
- package/dist/components/layout/workspace/index.cjs +1 -1
- package/dist/components/layout/workspace/index.js +1 -1
- package/dist/showcase/assets/AreaChart-DxDBymDt.js +6 -0
- package/dist/showcase/assets/CompositeItem-owAA4Ah3.js +1 -0
- package/dist/showcase/assets/CompositeRoot-DzHTtLBs.js +1 -0
- package/dist/showcase/assets/DialogTrigger-OUBMI353.js +1 -0
- package/dist/showcase/assets/LabelableContext-Cd9Gf7TR.js +1 -0
- package/dist/showcase/assets/PreviewLayout-X_NxjYOV.js +1 -0
- package/dist/showcase/assets/RadioGroup-BzveyiIV.js +1 -0
- package/dist/showcase/assets/ScrollAreaCorner-IZFF348L.js +1 -0
- package/dist/showcase/assets/Separator-CSYYEo-X.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-BYSKM0e8.js +1 -0
- package/dist/showcase/assets/accordion-B9VkLXiy.js +171 -0
- package/dist/showcase/assets/accordion-variants-g7lk5hEX.js +1 -0
- package/dist/showcase/assets/action-menu-CWIvuiLO.js +1 -0
- package/dist/showcase/assets/actions-BuwzXYEF.js +310 -0
- package/dist/showcase/assets/activities-BTBlr1G4.js +500 -0
- package/dist/showcase/assets/activities-feed-card-C5lcwUFk.js +1 -0
- package/dist/showcase/assets/admin-kbK6nUjx.js +140 -0
- package/dist/showcase/assets/ai-CKu9EGmA.js +207 -0
- package/dist/showcase/assets/ai-artifact-Bg1MFGeF.js +2 -0
- package/dist/showcase/assets/ai-chat-DEntRhJD.js +568 -0
- package/dist/showcase/assets/ai-elements-DyKRCWiS.js +387 -0
- package/dist/showcase/assets/ai-tool-call-DFrTelEX.js +1 -0
- package/dist/showcase/assets/alert-C0wSpBYn.js +93 -0
- package/dist/showcase/assets/alert-CZ4rgwPr.js +62 -0
- package/dist/showcase/assets/alert-WTKIdE4s.js +1 -0
- package/dist/showcase/assets/api-key-list-BnrUT9Uf.js +1 -0
- package/dist/showcase/assets/api-key-list-bQ6QzFhA.js +73 -0
- package/dist/showcase/assets/app-sidebar-B3veRbac.js +1 -0
- package/dist/showcase/assets/arrow-down-CEXJx115.js +1 -0
- package/dist/showcase/assets/arrow-left-Ca6ri5q0.js +1 -0
- package/dist/showcase/assets/arrow-right-a3STqWgx.js +1 -0
- package/dist/showcase/assets/arrow-up-CCU1MaGq.js +1 -0
- package/dist/showcase/assets/arrow-up-right-BDImqvM2.js +1 -0
- package/dist/showcase/assets/avatar-Bwgai0SK.js +67 -0
- package/dist/showcase/assets/avatar-DSmL52Us.js +57 -0
- package/dist/showcase/assets/avatar-kK9n1a25.js +1 -0
- package/dist/showcase/assets/avatar-nb7MgV_x.js +1 -0
- package/dist/showcase/assets/badge-CTGPRSXm.js +31 -0
- package/dist/showcase/assets/badge-check-zqoYYrVj.js +1 -0
- package/dist/showcase/assets/bell-D7HWGStL.js +1 -0
- package/dist/showcase/assets/boolean-indicator-CqwlV0cf.js +1 -0
- package/dist/showcase/assets/bot-Owx4SMiU.js +1 -0
- package/dist/showcase/assets/box-BeeoLlMd.js +1 -0
- package/dist/showcase/assets/braces-fzrExVIx.js +1 -0
- package/dist/showcase/assets/brain-Da2fsBjd.js +1 -0
- package/dist/showcase/assets/brand-Bo6uwdGf.js +36 -0
- package/dist/showcase/assets/breadcrumb-B-K-6dtd.js +1 -0
- package/dist/showcase/assets/breadcrumb-B6lR9Cq2.js +52 -0
- package/dist/showcase/assets/breadcrumbs-Bamog6P5.js +1 -0
- package/dist/showcase/assets/briefcase-DQjbh28E.js +1 -0
- package/dist/showcase/assets/building-2-DaQW5yJa.js +1 -0
- package/dist/showcase/assets/button-D3skvyQS.js +44 -0
- package/dist/showcase/assets/button-group-BYtbrhme.js +1 -0
- package/dist/showcase/assets/buttons-B3IkMmNQ.js +272 -0
- package/dist/showcase/assets/calendar-C4fCDK3O.js +1 -0
- package/dist/showcase/assets/calendar-CcwkVxCK.js +16 -0
- package/dist/showcase/assets/calendar-DBkwxV9H.js +1 -0
- package/dist/showcase/assets/calendar-days-BWed1W3Z.js +1 -0
- package/dist/showcase/assets/camera-BUoAyoZT.js +1 -0
- package/dist/showcase/assets/card-7DBPqWuv.js +1 -0
- package/dist/showcase/assets/card-ClwyNDHJ.js +188 -0
- package/dist/showcase/assets/card-primitives-BE1YpEQW.js +1 -0
- package/dist/showcase/assets/card-radio-group-1NMbocuG.js +1 -0
- package/dist/showcase/assets/cards-Bu8uaGSU.js +354 -0
- package/dist/showcase/assets/carousel-dTTRRSQg.js +449 -0
- package/dist/showcase/assets/cell-renderers-CcyBuUsC.js +1 -0
- package/dist/showcase/assets/chart-BSboeIO6.js +358 -0
- package/dist/showcase/assets/chart-column-CCzA6B9l.js +1 -0
- package/dist/showcase/assets/checkbox-CSdEPNT5.js +1 -0
- package/dist/showcase/assets/checkbox-CqNLi9Q3.js +1 -0
- package/dist/showcase/assets/chevron-down-C91gNQdT.js +1 -0
- package/dist/showcase/assets/chevron-left-SiAoYFSo.js +1 -0
- package/dist/showcase/assets/chevron-up-Beb1_ET_.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-DaST4VKL.js +1 -0
- package/dist/showcase/assets/circle-D9KiRp8C.js +1 -0
- package/dist/showcase/assets/circle-alert-BQkAwFkl.js +1 -0
- package/dist/showcase/assets/circle-check-big-CN5YOJqq.js +1 -0
- package/dist/showcase/assets/circle-check-dqmKTiDe.js +1 -0
- package/dist/showcase/assets/circle-dot-B7LPN_0V.js +1 -0
- package/dist/showcase/assets/circle-question-mark-yTRkQO3d.js +1 -0
- package/dist/showcase/assets/circle-x-CW2dFcX-.js +1 -0
- package/dist/showcase/assets/clock-3-CXJ_JotW.js +1 -0
- package/dist/showcase/assets/clock-DUqvfazQ.js +1 -0
- package/dist/showcase/assets/code-xml-BmdQDeID.js +1 -0
- package/dist/showcase/assets/collapsible-C-WYhJxn.js +1 -0
- package/dist/showcase/assets/collapsible-CL37AlCX.js +27 -0
- package/dist/showcase/assets/collapsible-uGO5Rj8q.js +1 -0
- package/dist/showcase/assets/combobox-CFh5kUzj.js +685 -0
- package/dist/showcase/assets/command-CtpLaHjh.js +1 -0
- package/dist/showcase/assets/command-DSlK-QAE.js +1 -0
- package/dist/showcase/assets/comment-composer-Rr_a5tZQ.js +1 -0
- package/dist/showcase/assets/comment-item-Dme2o2KI.js +1 -0
- package/dist/showcase/assets/comments-CW2nz465.js +357 -0
- package/dist/showcase/assets/commerce-bwcq6oPn.js +267 -0
- package/dist/showcase/assets/composite-DMIR0vmP.js +1 -0
- package/dist/showcase/assets/conditional-rendering-Bk6AC76c.js +1 -0
- package/dist/showcase/assets/contact-card-BCXS9tWq.js +65 -0
- package/dist/showcase/assets/content-container-b1dC2caJ.js +1 -0
- package/dist/showcase/assets/copyable-BIABx-Vv.js +96 -0
- package/dist/showcase/assets/copyable-Ic9wzVaj.js +1 -0
- package/dist/showcase/assets/course-card-Bo5P3TYv.js +77 -0
- package/dist/showcase/assets/cpu-_VqU6yRO.js +1 -0
- package/dist/showcase/assets/credit-card-BbxO8xLo.js +1 -0
- package/dist/showcase/assets/css-variables-zqpBgnS1.js +1205 -0
- package/dist/showcase/assets/currency-Cjvt4F0b.js +149 -0
- package/dist/showcase/assets/dark-surfaces-CLwERt1f.js +90 -0
- package/dist/showcase/assets/data-view-AtyUp7b-.js +124 -0
- package/dist/showcase/assets/data-view-cnEmgP1C.js +4 -0
- package/dist/showcase/assets/database-TbVXEw7v.js +1 -0
- package/dist/showcase/assets/date-block-CDHemKnP.js +1 -0
- package/dist/showcase/assets/date-block-COb89Y_-.js +1 -0
- package/dist/showcase/assets/date-picker-CK8llBIN.js +1 -0
- package/dist/showcase/assets/date-pickers-DFfDnW9w.js +73 -0
- package/dist/showcase/assets/dense-info-CaFVDE90.js +106 -0
- package/dist/showcase/assets/design-system-consistency-CeSMuTuu.js +264 -0
- package/dist/showcase/assets/dialog-CRQNEK2K.js +1 -0
- package/dist/showcase/assets/dialog-CsCLDb0G.js +1 -0
- package/dist/showcase/assets/dialog-Qh3EHEKq.js +1 -0
- package/dist/showcase/assets/display-utilities-rP3hb4FK.js +4 -0
- package/dist/showcase/assets/display-utilities.examples-BwbvHOcx.js +309 -0
- package/dist/showcase/assets/dist-CbqRct9s.js +1 -0
- package/dist/showcase/assets/dist-iivamCjp.js +45 -0
- package/dist/showcase/assets/dollar-sign-COaRmdJE.js +1 -0
- package/dist/showcase/assets/download-yCcb4rfH.js +1 -0
- package/dist/showcase/assets/dropdown-menu-KoFNw-fX.js +1 -0
- package/dist/showcase/assets/dropzone-DLguWnmu.js +1 -0
- package/dist/showcase/assets/earth-TDRqTA4S.js +1 -0
- package/dist/showcase/assets/ellipsis-Q_fBbRE9.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-Bh8t3Z1g.js +1 -0
- package/dist/showcase/assets/empty-DvmDTSAj.js +1 -0
- package/dist/showcase/assets/empty-item-C3HP5nuw.js +49 -0
- package/dist/showcase/assets/empty-state-Dcin4cOt.js +190 -0
- package/dist/showcase/assets/empty-state-IV_GTNEI.js +1 -0
- package/dist/showcase/assets/enhanced-activities-BLf2gpes.js +357 -0
- package/dist/showcase/assets/enhanced-combobox-ClZcVnhv.js +1 -0
- package/dist/showcase/assets/esm-Cf6QQstQ.js +2 -0
- package/dist/showcase/assets/event-calendar-zrfI_3AM.js +138 -0
- package/dist/showcase/assets/event-log-D-_CViAw.js +330 -0
- package/dist/showcase/assets/example-6bZGEb3-.js +1 -0
- package/dist/showcase/assets/external-link-7ldgjHZM.js +1 -0
- package/dist/showcase/assets/eye-pXVkim6z.js +1 -0
- package/dist/showcase/assets/feature-announcement-CFcGj3ge.js +34 -0
- package/dist/showcase/assets/file-Bn9sAGaT.js +1 -0
- package/dist/showcase/assets/file-text-Cvxg6pjh.js +1 -0
- package/dist/showcase/assets/filter-layout-DqNRRzDU.js +1 -0
- package/dist/showcase/assets/filters-CQMI_T63.js +139 -0
- package/dist/showcase/assets/flag-vI_WJ-BU.js +1 -0
- package/dist/showcase/assets/folder-open-0AyKSRQS.js +1 -0
- package/dist/showcase/assets/form-field-BaBeXn7a.js +1 -0
- package/dist/showcase/assets/format-DLLMyN-3.js +1 -0
- package/dist/showcase/assets/forms-gPD-Caru.js +915 -0
- package/dist/showcase/assets/funnel-Ca9nWMHm.js +1 -0
- package/dist/showcase/assets/generic-AAssz0h7.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-fbxSMOsb.js +1 -0
- package/dist/showcase/assets/gift-BC42Oxfz.js +1 -0
- package/dist/showcase/assets/giftcard-cards-CFKnYe0c.js +85 -0
- package/dist/showcase/assets/git-branch-B-nF8w-J.js +1 -0
- package/dist/showcase/assets/global-search-D6Gxw0G3.js +1 -0
- package/dist/showcase/assets/global-search-jsb_4idg.js +215 -0
- package/dist/showcase/assets/globe-C92uBSrO.js +1 -0
- package/dist/showcase/assets/gradient-card-D4ly60sD.js +58 -0
- package/dist/showcase/assets/hash-BShTbxlR.js +1 -0
- package/dist/showcase/assets/header-CSiNqg9Q.js +1 -0
- package/dist/showcase/assets/header-notifications-CpHeFPQF.js +1 -0
- package/dist/showcase/assets/heart-B3hXs7fr.js +1 -0
- package/dist/showcase/assets/hooks-CamAqFFh.js +220 -0
- package/dist/showcase/assets/house-4_CouE-Y.js +1 -0
- package/dist/showcase/assets/icon-badge-CePIZqWR.js +1 -0
- package/dist/showcase/assets/icon-badge-DSbvvnxh.js +37 -0
- package/dist/showcase/assets/image-BxbFIbVJ.js +1 -0
- package/dist/showcase/assets/inbox-BXab1SM6.js +1 -0
- package/dist/showcase/assets/index-BPUtPJjB.css +2 -0
- package/dist/showcase/assets/index-BjjNfnhP.js +10 -0
- package/dist/showcase/assets/inertValue-CZOzgsmF.js +1 -0
- package/dist/showcase/assets/info-DzqwCq93.js +1 -0
- package/dist/showcase/assets/inline-stat-D5ybpUh-.js +15 -0
- package/dist/showcase/assets/inline-stat-Dq34wv-6.js +1 -0
- package/dist/showcase/assets/input-C8OfUHCK.js +1 -0
- package/dist/showcase/assets/input-D34Ge3rh.js +1 -0
- package/dist/showcase/assets/input-group-BCPZ6Pwq.js +1 -0
- package/dist/showcase/assets/input-group-CySTANka.js +47 -0
- package/dist/showcase/assets/inputs-CnmHo_lj.js +155 -0
- package/dist/showcase/assets/installation-BPvseS46.js +134 -0
- package/dist/showcase/assets/invoice-header-C9JjJWQX.js +36 -0
- package/dist/showcase/assets/invoice-items-DB8tbCv9.js +36 -0
- package/dist/showcase/assets/invoice-mini-Q_PnimKL.js +14 -0
- package/dist/showcase/assets/invoice-table-CLDvpLib.js +30 -0
- package/dist/showcase/assets/isSameDay-D8bDebyL.js +1 -0
- package/dist/showcase/assets/isToday-XVjRuMtp.js +1 -0
- package/dist/showcase/assets/italic-Cm13b8qb.js +1 -0
- package/dist/showcase/assets/item-C07859JQ.js +1 -0
- package/dist/showcase/assets/item-LinnMxvu.js +1 -0
- package/dist/showcase/assets/item-i7ZUMs5t.js +140 -0
- package/dist/showcase/assets/kanban-CIMTpuN5.js +188 -0
- package/dist/showcase/assets/key-round-Bh7EzOyR.js +1 -0
- package/dist/showcase/assets/label-C3A4CjeG.js +1 -0
- package/dist/showcase/assets/languages-C37jhetw.js +1 -0
- package/dist/showcase/assets/layers-Lyr6p-Nt.js +1 -0
- package/dist/showcase/assets/layout-app-shell-BWAkl9gq.js +608 -0
- package/dist/showcase/assets/layout-auth-y1alnhc8.js +790 -0
- package/dist/showcase/assets/layout-containers-B6c-uvil.js +101 -0
- package/dist/showcase/assets/layout-header-DNhJHWNw.js +203 -0
- package/dist/showcase/assets/layout-page-CXU7CnQK.js +315 -0
- package/dist/showcase/assets/layout-primitives-StuFwfwh.js +34 -0
- package/dist/showcase/assets/layout-sidebar-D-QjnZPh.js +224 -0
- package/dist/showcase/assets/layout-users-D7KMzs3-.js +117 -0
- package/dist/showcase/assets/layout-workspace-Butr7CL5.js +191 -0
- package/dist/showcase/assets/lib-D5nOMXIt.js +1 -0
- package/dist/showcase/assets/list-checks-Cg9HZf4W.js +1 -0
- package/dist/showcase/assets/lock-Da21HhQx.js +1 -0
- package/dist/showcase/assets/lock-keyhole-DNTfa9e3.js +1 -0
- package/dist/showcase/assets/mail-Bamky-ti.js +1 -0
- package/dist/showcase/assets/mail-check-BfVYPC42.js +1 -0
- package/dist/showcase/assets/map-BTlWnRAQ.js +124 -0
- package/dist/showcase/assets/map-pin-BU2RBuvC.js +1 -0
- package/dist/showcase/assets/media-library-DJxgoGAF.js +699 -0
- package/dist/showcase/assets/mention-inline-suggestions-CbXVAvbK.js +1 -0
- package/dist/showcase/assets/mentions-kMT-Z3qU.js +138 -0
- package/dist/showcase/assets/menus-bhp_n9PT.js +171 -0
- package/dist/showcase/assets/message-square-DC5Bb9Zs.js +1 -0
- package/dist/showcase/assets/metadata-list-DGr729EW.js +286 -0
- package/dist/showcase/assets/metadata-list-DyjhZi6d.js +1 -0
- package/dist/showcase/assets/metric-DRDok6Ci.js +1 -0
- package/dist/showcase/assets/metric-bar-DZsH4Q3U.js +1 -0
- package/dist/showcase/assets/metric-grid-BlFXTrid.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-oEihbEK8.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-BovaXHQX.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-CeX9Skmd.js +50 -0
- package/dist/showcase/assets/metrics-comparison-DFPSmREl.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-CXzfZwe_.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-DQJaNpYH.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-BIpv8CPU.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-EOCkRI5Z.js +42 -0
- package/dist/showcase/assets/metrics-overview-BD4s9H2T.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-t7asN5nA.js +54 -0
- package/dist/showcase/assets/minus-Dr1iTc_q.js +1 -0
- package/dist/showcase/assets/money-display-B5_VqQC0.js +1 -0
- package/dist/showcase/assets/money-display-bU2_cVGX.js +1 -0
- package/dist/showcase/assets/month-year-picker-DVRuYbLm.js +1 -0
- package/dist/showcase/assets/navigation-DBKvJoe-.js +231 -0
- package/dist/showcase/assets/navigation-DOhfmtgy.js +90 -0
- package/dist/showcase/assets/navigation-extras-BkO2TZP7.js +43 -0
- package/dist/showcase/assets/notification-banner-CE1Ei_ZT.js +1 -0
- package/dist/showcase/assets/onboarding-checklist-Bf0aoBoa.js +119 -0
- package/dist/showcase/assets/overflow-tab-bar-B2RXtyMP.js +1 -0
- package/dist/showcase/assets/overlays-4E_sUgkz.js +408 -0
- package/dist/showcase/assets/overlays-ulNl-Vhr.js +159 -0
- package/dist/showcase/assets/overview-CgymfIBq.js +184 -0
- package/dist/showcase/assets/package-CADuUP1u.js +1 -0
- package/dist/showcase/assets/package-check-O7MD6XE_.js +1 -0
- package/dist/showcase/assets/page-GB6OIgID.js +1 -0
- package/dist/showcase/assets/page-action-button-Dpprot7y.js +1 -0
- package/dist/showcase/assets/page-header-2VEUPx67.js +1 -0
- package/dist/showcase/assets/pagination-BBuRtAX9.js +1 -0
- package/dist/showcase/assets/pagination-C4mt4Q4l.js +42 -0
- package/dist/showcase/assets/paperclip-Cmyh3Bhf.js +1 -0
- package/dist/showcase/assets/password-input-CgZj1niQ.js +1 -0
- package/dist/showcase/assets/pencil-CtdXjogr.js +1 -0
- package/dist/showcase/assets/phone-CAFMH1vV.js +1 -0
- package/dist/showcase/assets/placeholder-pattern-DHKm-uYV.js +1 -0
- package/dist/showcase/assets/plus-CN2dzUxL.js +1 -0
- package/dist/showcase/assets/popover-DILNXLWy.js +1 -0
- package/dist/showcase/assets/popover-menu-Bp08xxOf.js +1 -0
- package/dist/showcase/assets/popover-o1EO2yVS.js +1 -0
- package/dist/showcase/assets/products-CCLAbHBN.js +423 -0
- package/dist/showcase/assets/progress-BGna-ZmU.js +18 -0
- package/dist/showcase/assets/progress-BSYlNLIJ.js +1 -0
- package/dist/showcase/assets/progress-CZVy3LGB.js +1 -0
- package/dist/showcase/assets/props-table-X9St7Q4m.js +1 -0
- package/dist/showcase/assets/props.generated-f_jHBhPb.json +41753 -0
- package/dist/showcase/assets/qr-code-CEmKf9xU.js +1 -0
- package/dist/showcase/assets/quote-IH6r-rlY.js +1 -0
- package/dist/showcase/assets/receipt-m9rOe5lY.js +1 -0
- package/dist/showcase/assets/receipt-text-C0TobatH.js +1 -0
- package/dist/showcase/assets/refinement-guide-t9T7iAS2.js +189 -0
- package/dist/showcase/assets/refresh-cw-Dy_Nc4jA.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-DR7LgQP5.js +1 -0
- package/dist/showcase/assets/resource-BcJ8O6uj.js +1 -0
- package/dist/showcase/assets/resource-_zDXez77.js +139 -0
- package/dist/showcase/assets/resource-selector-card-CCAEF-AT.js +43 -0
- package/dist/showcase/assets/rich-text-editor-BJG_ECJp.js +143 -0
- package/dist/showcase/assets/rich-text-editor-fbgVfyEH.js +124 -0
- package/dist/showcase/assets/rotate-ccw-CGuTkHQ3.js +1 -0
- package/dist/showcase/assets/route-C7EZ2Njy.js +1 -0
- package/dist/showcase/assets/save-fKrt-yFG.js +1 -0
- package/dist/showcase/assets/schema-form-k7TXeirD.js +327 -0
- package/dist/showcase/assets/scroll-area-CqNwdlI6.js +32 -0
- package/dist/showcase/assets/scroll-area-UVtlGOgx.js +1 -0
- package/dist/showcase/assets/section-DuBNJP4P.js +1 -0
- package/dist/showcase/assets/select-CINVEIWn.js +1 -0
- package/dist/showcase/assets/select-ZLaamXrm.js +1 -0
- package/dist/showcase/assets/send-DBvt_4jT.js +1 -0
- package/dist/showcase/assets/separator-BdBXRpc3.js +28 -0
- package/dist/showcase/assets/separator-CkJjJQWW.js +1 -0
- package/dist/showcase/assets/separator-CxOeStjL.js +1 -0
- package/dist/showcase/assets/separator-O-VQMSf_.js +1 -0
- package/dist/showcase/assets/settings-2-BWjMVlyS.js +1 -0
- package/dist/showcase/assets/settings-D9Z79UcG.js +1 -0
- package/dist/showcase/assets/sheet-CK9C6r7_.js +1 -0
- package/dist/showcase/assets/shield-BboB3Zlo.js +1 -0
- package/dist/showcase/assets/shield-alert-CAAobStl.js +1 -0
- package/dist/showcase/assets/shield-check-Rfyzz9bK.js +1 -0
- package/dist/showcase/assets/shopping-bag-5hLD82YW.js +1 -0
- package/dist/showcase/assets/showcase-DhOQXB5E.js +132 -0
- package/dist/showcase/assets/sidebar-ZTUACc0t.js +1 -0
- package/dist/showcase/assets/sidebar.context-BiNOpG5W.js +1 -0
- package/dist/showcase/assets/skeleton-BZUSoHbk.js +1 -0
- package/dist/showcase/assets/skeleton-BZkYzAdq.js +1 -0
- package/dist/showcase/assets/skeleton-CrOp8tx3.js +29 -0
- package/dist/showcase/assets/skeleton-P5GXAj4U.js +1 -0
- package/dist/showcase/assets/slider-zlE7nLrp.js +1 -0
- package/dist/showcase/assets/smart-card-OExZHSsj.js +1 -0
- package/dist/showcase/assets/sonner-eMphKM9E.js +22 -0
- package/dist/showcase/assets/sortable.esm-CM9VD5N4.js +5 -0
- package/dist/showcase/assets/sparkles-CIB5irID.js +1 -0
- package/dist/showcase/assets/spinner-11-kP-Ob.js +1 -0
- package/dist/showcase/assets/spinner-D4G5TFSm.js +49 -0
- package/dist/showcase/assets/spinner-DKGukuFV.js +30 -0
- package/dist/showcase/assets/square-pen-zflKy9oX.js +1 -0
- package/dist/showcase/assets/stacked-avatars-Cve1Y6GY.js +1 -0
- package/dist/showcase/assets/star-DleXDkCp.js +1 -0
- package/dist/showcase/assets/startOfDay-TDP2erzM.js +1 -0
- package/dist/showcase/assets/styles-BKlX_Ipc.js +1 -0
- package/dist/showcase/assets/suggestions-Dt2hm1NY.js +126 -0
- package/dist/showcase/assets/switch-DAPAgJbv.js +1 -0
- package/dist/showcase/assets/switch-fQpP2tJl.js +1 -0
- package/dist/showcase/assets/sync-BRcK160D.js +124 -0
- package/dist/showcase/assets/table-Dhmbe1yN.js +686 -0
- package/dist/showcase/assets/table-actions-GGrPOQcv.js +1 -0
- package/dist/showcase/assets/table-v0Eu5yZn.js +1 -0
- package/dist/showcase/assets/tabs-DmaXB1aF.js +19 -0
- package/dist/showcase/assets/tabs-vbNIJ-eo.js +1 -0
- package/dist/showcase/assets/tags-input-Bms_Q5CE.js +1 -0
- package/dist/showcase/assets/text-button-gvJCzaXS.js +1 -0
- package/dist/showcase/assets/text-link-DkByVX4d.js +1 -0
- package/dist/showcase/assets/textarea-B6Ho29y3.js +1 -0
- package/dist/showcase/assets/textarea-JCb0yhZ1.js +1 -0
- package/dist/showcase/assets/throttle-alert-CPU-u6Rs.js +1 -0
- package/dist/showcase/assets/timelines-Bw7mvAdx.js +200 -0
- package/dist/showcase/assets/toggle-group-jlIGX1zh.js +1 -0
- package/dist/showcase/assets/toggles-DV6V9vj-.js +71 -0
- package/dist/showcase/assets/toggles-group-C-Y3dG8q.js +32 -0
- package/dist/showcase/assets/tooltip-CDtPyNOv.js +31 -0
- package/dist/showcase/assets/trash-2-CXRm3lMl.js +1 -0
- package/dist/showcase/assets/trending-up-Bcyp9cw8.js +1 -0
- package/dist/showcase/assets/truck-DVgzuKLP.js +1 -0
- package/dist/showcase/assets/typography-BKPf4j85.js +223 -0
- package/dist/showcase/assets/ui-badge-D-Ud2MES.js +28 -0
- package/dist/showcase/assets/ui-card-gGqI2cfr.js +30 -0
- package/dist/showcase/assets/ui-table-Bqcab_kq.js +42 -0
- package/dist/showcase/assets/upload-tray-BFh6twLE.js +138 -0
- package/dist/showcase/assets/use-layout-link-e9jr981L.js +1 -0
- package/dist/showcase/assets/useAriaLabelledBy-ByBTPUi3.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-Bx_-SRtw.js +1 -0
- package/dist/showcase/assets/useCompositeItem-Dmih9c3W.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-C0QJgAKb.js +1 -0
- package/dist/showcase/assets/useLabelableId-COfjI9qt.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-CRefmlni.js +1 -0
- package/dist/showcase/assets/useRender-Bgu76j1u.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-B2fPZeWf.js +1 -0
- package/dist/showcase/assets/useValueChanged-CNjJ-spo.js +1 -0
- package/dist/showcase/assets/user-CmkLnMh9.js +1 -0
- package/dist/showcase/assets/user-plus-3CGFNUf0.js +1 -0
- package/dist/showcase/assets/users-CuO8W7wn.js +1 -0
- package/dist/showcase/assets/vendor-profile-HLMsE22G.js +37 -0
- package/dist/showcase/assets/video-CoHnn0fp.js +1 -0
- package/dist/showcase/assets/visually-hidden-D5bPAL7Q.js +1 -0
- package/dist/showcase/assets/wrench-C93IxaGt.js +1 -0
- package/dist/showcase/assets/x-BJDvVLAz.js +1 -0
- package/dist/showcase/assets/zap-DYD_Ljkv.js +1 -0
- package/dist/showcase/index.html +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/css/themes/shadcn.default.css +2 -2
- package/dist/_shared/ai-artifact-BylloxGO.js +0 -1099
- package/dist/_shared/ai-artifact-BylloxGO.js.map +0 -1
- package/dist/_shared/ai-artifact-DfT97Mpi.cjs +0 -3
- package/dist/_shared/ai-artifact-DfT97Mpi.cjs.map +0 -1
- package/dist/_shared/auth-1Ht9Kevx.js +0 -643
- package/dist/_shared/auth-1Ht9Kevx.js.map +0 -1
- package/dist/_shared/auth-DTN6sFXM.cjs +0 -2
- package/dist/_shared/auth-DTN6sFXM.cjs.map +0 -1
- package/dist/_shared/badge-LSAgdmGt.cjs +0 -2
- package/dist/_shared/badge-LSAgdmGt.cjs.map +0 -1
- package/dist/_shared/badge-nZ2zbAV4.js +0 -110
- package/dist/_shared/badge-nZ2zbAV4.js.map +0 -1
- package/dist/_shared/comments-B_WKQUol.js +0 -952
- package/dist/_shared/comments-B_WKQUol.js.map +0 -1
- package/dist/_shared/comments-DMHMNObS.cjs +0 -2
- package/dist/_shared/comments-DMHMNObS.cjs.map +0 -1
- package/dist/_shared/data-display-4E_irfF2.js +0 -1878
- package/dist/_shared/data-display-4E_irfF2.js.map +0 -1
- package/dist/_shared/data-display-BPn-7qFO.cjs +0 -2
- package/dist/_shared/data-display-BPn-7qFO.cjs.map +0 -1
- package/dist/_shared/date-picker-CvqLnlxm.js +0 -1361
- package/dist/_shared/date-picker-CvqLnlxm.js.map +0 -1
- package/dist/_shared/date-picker-D83fCi2g.cjs +0 -2
- package/dist/_shared/date-picker-D83fCi2g.cjs.map +0 -1
- package/dist/_shared/date-pickers-C6ku2BPp.cjs +0 -2
- package/dist/_shared/date-pickers-C6ku2BPp.cjs.map +0 -1
- package/dist/_shared/date-pickers-RdbwIhdY.js +0 -329
- package/dist/_shared/date-pickers-RdbwIhdY.js.map +0 -1
- package/dist/_shared/display-DFVeSuWL.js +0 -986
- package/dist/_shared/display-DFVeSuWL.js.map +0 -1
- package/dist/_shared/display-Lr3xTd4a.cjs +0 -2
- package/dist/_shared/display-Lr3xTd4a.cjs.map +0 -1
- package/dist/_shared/forms-BA8Aa_fi.js +0 -3534
- package/dist/_shared/forms-BA8Aa_fi.js.map +0 -1
- package/dist/_shared/forms-CNjjdFcf.cjs +0 -2
- package/dist/_shared/forms-CNjjdFcf.cjs.map +0 -1
- package/dist/_shared/header-BEsz1_so.cjs +0 -2
- package/dist/_shared/header-BEsz1_so.cjs.map +0 -1
- package/dist/_shared/header-bJx8z6zT.js +0 -447
- package/dist/_shared/header-bJx8z6zT.js.map +0 -1
- package/dist/_shared/hooks-gRgVhyY2.js +0 -95
- package/dist/_shared/hooks-gRgVhyY2.js.map +0 -1
- package/dist/_shared/hooks-nFiRfUxX.cjs +0 -2
- package/dist/_shared/hooks-nFiRfUxX.cjs.map +0 -1
- package/dist/_shared/layout-C_dYiKtE.cjs +0 -2
- package/dist/_shared/layout-C_dYiKtE.cjs.map +0 -1
- package/dist/_shared/layout-nigj488k.js +0 -268
- package/dist/_shared/layout-nigj488k.js.map +0 -1
- package/dist/_shared/mentions-BE51BNeq.cjs +0 -2
- package/dist/_shared/mentions-BE51BNeq.cjs.map +0 -1
- package/dist/_shared/mentions-CBhP29St.js +0 -506
- package/dist/_shared/mentions-CBhP29St.js.map +0 -1
- package/dist/_shared/navigation-CWK_YQ5Y.js +0 -436
- package/dist/_shared/navigation-CWK_YQ5Y.js.map +0 -1
- package/dist/_shared/navigation-DTBMb7-M.cjs +0 -2
- package/dist/_shared/navigation-DTBMb7-M.cjs.map +0 -1
- package/dist/_shared/settings-D-HAOE3R.js +0 -143
- package/dist/_shared/settings-D-HAOE3R.js.map +0 -1
- package/dist/_shared/settings-DkL3bOk0.cjs +0 -2
- package/dist/_shared/settings-DkL3bOk0.cjs.map +0 -1
- package/dist/_shared/sidebar-BTyx7ipN.cjs +0 -2
- package/dist/_shared/sidebar-BTyx7ipN.cjs.map +0 -1
- package/dist/_shared/sidebar-DkBNualh.js +0 -548
- package/dist/_shared/sidebar-DkBNualh.js.map +0 -1
- package/dist/_shared/table-Cq0jkSm5.js +0 -1377
- package/dist/_shared/table-Cq0jkSm5.js.map +0 -1
- package/dist/_shared/table-GqTKCC8F.cjs +0 -2
- package/dist/_shared/table-GqTKCC8F.cjs.map +0 -1
- package/dist/_shared/workspace-5UId04M9.js +0 -357
- package/dist/_shared/workspace-5UId04M9.js.map +0 -1
- package/dist/_shared/workspace-BMws_rFf.cjs +0 -2
- package/dist/_shared/workspace-BMws_rFf.cjs.map +0 -1
- package/dist/showcase/assets/AreaChart-oKO7Ng_P.js +0 -6
- package/dist/showcase/assets/CompositeItem-CK7jBYU8.js +0 -1
- package/dist/showcase/assets/CompositeRoot-_AuToqhT.js +0 -1
- package/dist/showcase/assets/DialogTrigger-C44ZZXQ9.js +0 -1
- package/dist/showcase/assets/LabelableContext-DLVZlnur.js +0 -1
- package/dist/showcase/assets/PreviewLayout-Oik7TDHN.js +0 -1
- package/dist/showcase/assets/RadioGroup-DeYb8CGE.js +0 -1
- package/dist/showcase/assets/ScrollAreaCorner-BZlE_Bil.js +0 -1
- package/dist/showcase/assets/Separator-uiIktHzk.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-CEzj5dKk.js +0 -1
- package/dist/showcase/assets/accordion-B_wg_YOp.js +0 -171
- package/dist/showcase/assets/accordion-variants-O6U7E38x.js +0 -1
- package/dist/showcase/assets/action-menu-D_wGvb_o.js +0 -1
- package/dist/showcase/assets/actions-u4Fl4zm1.js +0 -310
- package/dist/showcase/assets/activities-C6iITHzB.js +0 -500
- package/dist/showcase/assets/activities-feed-card-OpYs16UV.js +0 -1
- package/dist/showcase/assets/admin-Bq15E5Wd.js +0 -140
- package/dist/showcase/assets/ai-DcUzGTlb.js +0 -207
- package/dist/showcase/assets/ai-artifact-BUAu1_jV.js +0 -2
- package/dist/showcase/assets/ai-chat-C6OWWBqh.js +0 -568
- package/dist/showcase/assets/ai-elements-CCe4Aqj_.js +0 -387
- package/dist/showcase/assets/ai-tool-call-B_NF1ePn.js +0 -1
- package/dist/showcase/assets/alert-B4VWkFPE.js +0 -1
- package/dist/showcase/assets/alert-BDIqciKo.js +0 -62
- package/dist/showcase/assets/alert-jvCEGWe6.js +0 -93
- package/dist/showcase/assets/api-key-list-BH8mde9A.js +0 -1
- package/dist/showcase/assets/api-key-list-CA6O3hsc.js +0 -73
- package/dist/showcase/assets/app-sidebar-DsMTwSAB.js +0 -1
- package/dist/showcase/assets/arrow-down-BzPC0rON.js +0 -1
- package/dist/showcase/assets/arrow-left-DNehZvF-.js +0 -1
- package/dist/showcase/assets/arrow-right-CKIgWncF.js +0 -1
- package/dist/showcase/assets/arrow-up-YjujZi8v.js +0 -1
- package/dist/showcase/assets/arrow-up-right-KnVxFmw9.js +0 -1
- package/dist/showcase/assets/avatar-BBLri7tX.js +0 -57
- package/dist/showcase/assets/avatar-BeFx8JQd.js +0 -1
- package/dist/showcase/assets/avatar-CFWUZzaF.js +0 -67
- package/dist/showcase/assets/avatar-D6exHRSK.js +0 -1
- package/dist/showcase/assets/badge-check-BfY3RIjR.js +0 -1
- package/dist/showcase/assets/badge-jGj2HQsg.js +0 -31
- package/dist/showcase/assets/bell-CTDSIOv8.js +0 -1
- package/dist/showcase/assets/boolean-indicator-C1u7OFcR.js +0 -1
- package/dist/showcase/assets/bot-D-iqtYiQ.js +0 -1
- package/dist/showcase/assets/box-DxjjLEh2.js +0 -1
- package/dist/showcase/assets/braces-B6XLlZwJ.js +0 -1
- package/dist/showcase/assets/brain-BdNpswBH.js +0 -1
- package/dist/showcase/assets/brand-C6srYuIa.js +0 -36
- package/dist/showcase/assets/breadcrumb-BaeV7C4t.js +0 -52
- package/dist/showcase/assets/breadcrumb-jKu4EUFo.js +0 -1
- package/dist/showcase/assets/breadcrumbs-D7vYX_5y.js +0 -1
- package/dist/showcase/assets/briefcase-cs9wyoxL.js +0 -1
- package/dist/showcase/assets/building-2-rcMEYcbf.js +0 -1
- package/dist/showcase/assets/button-group-D1oXfasP.js +0 -1
- package/dist/showcase/assets/button-oBRwhAhs.js +0 -44
- package/dist/showcase/assets/buttons-D_SDu9w3.js +0 -272
- package/dist/showcase/assets/calendar-CGTiVckW.js +0 -1
- package/dist/showcase/assets/calendar-ChLkVME0.js +0 -16
- package/dist/showcase/assets/calendar-CjMPvWfI.js +0 -1
- package/dist/showcase/assets/calendar-days-CNom8Y38.js +0 -1
- package/dist/showcase/assets/camera-D0rjOOcs.js +0 -1
- package/dist/showcase/assets/card-CYz4UxYz.js +0 -1
- package/dist/showcase/assets/card-D9updr3B.js +0 -188
- package/dist/showcase/assets/card-primitives-BQ0hSEWX.js +0 -1
- package/dist/showcase/assets/card-radio-group-CrNG04Bl.js +0 -1
- package/dist/showcase/assets/cards-D4Lw-AI6.js +0 -354
- package/dist/showcase/assets/carousel-C6Mmapzw.js +0 -449
- package/dist/showcase/assets/cell-renderers-BF80Z3jW.js +0 -1
- package/dist/showcase/assets/chart-BHgMfUB5.js +0 -358
- package/dist/showcase/assets/chart-column-CE_VhlUz.js +0 -1
- package/dist/showcase/assets/checkbox-CDLT09vU.js +0 -1
- package/dist/showcase/assets/checkbox-Dj24Tegr.js +0 -1
- package/dist/showcase/assets/chevron-down-1GeJ4hOO.js +0 -1
- package/dist/showcase/assets/chevron-left-wqlWv2Qy.js +0 -1
- package/dist/showcase/assets/chevron-up-CZAm-2rZ.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-DgysGYWR.js +0 -1
- package/dist/showcase/assets/circle-C9Ooo8Lv.js +0 -1
- package/dist/showcase/assets/circle-alert-C6XBfkf2.js +0 -1
- package/dist/showcase/assets/circle-check-DvCYlVmL.js +0 -1
- package/dist/showcase/assets/circle-check-big-C8o9clAE.js +0 -1
- package/dist/showcase/assets/circle-dot-BoYf3vOR.js +0 -1
- package/dist/showcase/assets/circle-question-mark-DYPX0qe9.js +0 -1
- package/dist/showcase/assets/circle-x-GosnT0l7.js +0 -1
- package/dist/showcase/assets/clock-3-DklFhayq.js +0 -1
- package/dist/showcase/assets/clock-BvwTkk1w.js +0 -1
- package/dist/showcase/assets/code-xml-AGOwtN8Z.js +0 -1
- package/dist/showcase/assets/collapsible-CBkbr3ho.js +0 -1
- package/dist/showcase/assets/collapsible-CmY1SA28.js +0 -27
- package/dist/showcase/assets/collapsible-DfDnQ_t_.js +0 -1
- package/dist/showcase/assets/combobox-BsZQo7hF.js +0 -685
- package/dist/showcase/assets/command-B0Q84gg6.js +0 -1
- package/dist/showcase/assets/command-BtADdA65.js +0 -1
- package/dist/showcase/assets/comment-composer-BmBnkba9.js +0 -1
- package/dist/showcase/assets/comment-item-y5mTfSmU.js +0 -1
- package/dist/showcase/assets/comments-BuYiGPxI.js +0 -357
- package/dist/showcase/assets/commerce-21Ef_rsW.js +0 -267
- package/dist/showcase/assets/composite-fKT6fZFs.js +0 -1
- package/dist/showcase/assets/conditional-rendering-DsTG0sOE.js +0 -1
- package/dist/showcase/assets/contact-card-S8koA9Sr.js +0 -65
- package/dist/showcase/assets/content-container-B4gW5fmA.js +0 -1
- package/dist/showcase/assets/copyable-D2xL2rMm.js +0 -96
- package/dist/showcase/assets/copyable-gLrmPayI.js +0 -1
- package/dist/showcase/assets/course-card-B8eEvF7a.js +0 -77
- package/dist/showcase/assets/cpu-Cp1On3tr.js +0 -1
- package/dist/showcase/assets/credit-card-QbZMZB90.js +0 -1
- package/dist/showcase/assets/css-variables-BXICo9fV.js +0 -1205
- package/dist/showcase/assets/currency-D2MSLjLt.js +0 -149
- package/dist/showcase/assets/dark-surfaces-CJsxuvQU.js +0 -90
- package/dist/showcase/assets/data-view-syhKhdz9.js +0 -124
- package/dist/showcase/assets/data-view-znnAeb6b.js +0 -4
- package/dist/showcase/assets/database-isLkCvDd.js +0 -1
- package/dist/showcase/assets/date-block-BDn9lGVM.js +0 -1
- package/dist/showcase/assets/date-block-CqRL1xfo.js +0 -1
- package/dist/showcase/assets/date-picker-DNcmSgQk.js +0 -1
- package/dist/showcase/assets/date-pickers-3lQUDDS7.js +0 -73
- package/dist/showcase/assets/dense-info-CfvqiIpM.js +0 -106
- package/dist/showcase/assets/design-system-consistency-C3yRhKwF.js +0 -264
- package/dist/showcase/assets/dialog-DiAkrPHO.js +0 -1
- package/dist/showcase/assets/dialog-feUFM03m.js +0 -1
- package/dist/showcase/assets/dialog-ruVOqJnB.js +0 -1
- package/dist/showcase/assets/display-utilities-SPJxlrkp.js +0 -4
- package/dist/showcase/assets/display-utilities.examples-ByRydMl0.js +0 -302
- package/dist/showcase/assets/dist-C9DVZddl.js +0 -45
- package/dist/showcase/assets/dist-DNARKM_B.js +0 -1
- package/dist/showcase/assets/dollar-sign-CUDuWyun.js +0 -1
- package/dist/showcase/assets/download-CIbh9VUU.js +0 -1
- package/dist/showcase/assets/dropdown-menu-MoIAG0ES.js +0 -1
- package/dist/showcase/assets/dropzone-D0kHIUuh.js +0 -1
- package/dist/showcase/assets/earth-BpNTeF25.js +0 -1
- package/dist/showcase/assets/ellipsis-B9w0cuoH.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-DHbOsjTF.js +0 -1
- package/dist/showcase/assets/empty-DvYVgcNF.js +0 -1
- package/dist/showcase/assets/empty-item-oFM5kPCp.js +0 -49
- package/dist/showcase/assets/empty-state-DTq86muv.js +0 -1
- package/dist/showcase/assets/empty-state-De7XCht-.js +0 -190
- package/dist/showcase/assets/enhanced-activities--XHjx99M.js +0 -357
- package/dist/showcase/assets/enhanced-combobox-CX_mTkei.js +0 -1
- package/dist/showcase/assets/esm-XXqBjGGF.js +0 -2
- package/dist/showcase/assets/event-calendar-zTiCWOF5.js +0 -138
- package/dist/showcase/assets/event-log-C_zSlY6y.js +0 -330
- package/dist/showcase/assets/example-Cv05rz75.js +0 -1
- package/dist/showcase/assets/external-link-DaR-AMyf.js +0 -1
- package/dist/showcase/assets/eye-CDSbB0kZ.js +0 -1
- package/dist/showcase/assets/feature-announcement-DJ26ZDVB.js +0 -34
- package/dist/showcase/assets/file-DPSK5cGC.js +0 -1
- package/dist/showcase/assets/file-text-BBWpAppG.js +0 -1
- package/dist/showcase/assets/filter-layout-CZRGcd6Z.js +0 -1
- package/dist/showcase/assets/filters-Bn7hYUeq.js +0 -139
- package/dist/showcase/assets/flag-BRs-GTCx.js +0 -1
- package/dist/showcase/assets/folder-open-DnFjlB3X.js +0 -1
- package/dist/showcase/assets/form-field-SW-Yp7H7.js +0 -1
- package/dist/showcase/assets/format-Bki5m7M3.js +0 -1
- package/dist/showcase/assets/forms-CAUL2gGq.js +0 -915
- package/dist/showcase/assets/funnel-D6g2Suhd.js +0 -1
- package/dist/showcase/assets/generic-CU6JNqKO.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-yqDwWA_y.js +0 -1
- package/dist/showcase/assets/gift-B2Qp9Vqt.js +0 -1
- package/dist/showcase/assets/giftcard-cards-Dk0DYoN2.js +0 -85
- package/dist/showcase/assets/git-branch-CPtvCNGc.js +0 -1
- package/dist/showcase/assets/global-search-D1ow01VA.js +0 -1
- package/dist/showcase/assets/global-search-DQR2AgDO.js +0 -215
- package/dist/showcase/assets/globe-BiZgUZFZ.js +0 -1
- package/dist/showcase/assets/gradient-card-D5isLy3_.js +0 -58
- package/dist/showcase/assets/hash-NJ5ohGOa.js +0 -1
- package/dist/showcase/assets/header-Df9uYSSH.js +0 -1
- package/dist/showcase/assets/header-notifications-sPR5NuON.js +0 -1
- package/dist/showcase/assets/heart-C4t7PVKW.js +0 -1
- package/dist/showcase/assets/hooks-0TKg0ZAK.js +0 -220
- package/dist/showcase/assets/house-CuLXFtjd.js +0 -1
- package/dist/showcase/assets/icon-badge-Cr6DD-_7.js +0 -1
- package/dist/showcase/assets/icon-badge-DMdMSSRL.js +0 -37
- package/dist/showcase/assets/image-DYjJaO0i.js +0 -1
- package/dist/showcase/assets/inbox-DGF8FgvV.js +0 -1
- package/dist/showcase/assets/index-ATou_nFA.js +0 -10
- package/dist/showcase/assets/index-C8U-r6l7.css +0 -2
- package/dist/showcase/assets/inertValue-CBi0sj8C.js +0 -1
- package/dist/showcase/assets/info-DLaTRPUT.js +0 -1
- package/dist/showcase/assets/inline-stat-DGpunTNF.js +0 -1
- package/dist/showcase/assets/inline-stat-rUaaOSmR.js +0 -15
- package/dist/showcase/assets/input-Cmrgo51H.js +0 -1
- package/dist/showcase/assets/input-CnmnWnGb.js +0 -1
- package/dist/showcase/assets/input-group-BwujFvXM.js +0 -1
- package/dist/showcase/assets/input-group-DvXgZtra.js +0 -47
- package/dist/showcase/assets/inputs-CjzW_R8z.js +0 -155
- package/dist/showcase/assets/installation-2dW-rmF2.js +0 -134
- package/dist/showcase/assets/invoice-header-DeWxMKCe.js +0 -36
- package/dist/showcase/assets/invoice-items-Dxb95w0e.js +0 -36
- package/dist/showcase/assets/invoice-mini-EMzCkmR7.js +0 -14
- package/dist/showcase/assets/invoice-table-ClWJaclJ.js +0 -30
- package/dist/showcase/assets/isSameDay-BNPzVySj.js +0 -1
- package/dist/showcase/assets/isToday-D6n7oLej.js +0 -1
- package/dist/showcase/assets/italic-B8w3dpYw.js +0 -1
- package/dist/showcase/assets/item-B8_dwOlT.js +0 -1
- package/dist/showcase/assets/item-Baq-Mmy2.js +0 -1
- package/dist/showcase/assets/item-BtMuqGwy.js +0 -140
- package/dist/showcase/assets/kanban-B-QxvKMg.js +0 -188
- package/dist/showcase/assets/key-round-CrBIyzIa.js +0 -1
- package/dist/showcase/assets/label-VWe_nbHh.js +0 -1
- package/dist/showcase/assets/languages-N0uGt5nC.js +0 -1
- package/dist/showcase/assets/layers-DEZvT5cX.js +0 -1
- package/dist/showcase/assets/layout-app-shell-T9UqKX2o.js +0 -608
- package/dist/showcase/assets/layout-auth-IVC4DuU3.js +0 -790
- package/dist/showcase/assets/layout-containers-naBpuH05.js +0 -101
- package/dist/showcase/assets/layout-header-9i_7ygKU.js +0 -203
- package/dist/showcase/assets/layout-page-CrEUiJpW.js +0 -315
- package/dist/showcase/assets/layout-primitives-DPrVHpu3.js +0 -34
- package/dist/showcase/assets/layout-sidebar-D7z6-kPu.js +0 -224
- package/dist/showcase/assets/layout-users-Cov9D84d.js +0 -117
- package/dist/showcase/assets/layout-workspace-Czlmi8gY.js +0 -191
- package/dist/showcase/assets/lib-DNMH46Rn.js +0 -1
- package/dist/showcase/assets/list-checks-DygDRIGi.js +0 -1
- package/dist/showcase/assets/lock-DqEahakB.js +0 -1
- package/dist/showcase/assets/lock-keyhole-CETEK3R0.js +0 -1
- package/dist/showcase/assets/mail-LKhBlrEc.js +0 -1
- package/dist/showcase/assets/mail-check-BOTjWQJf.js +0 -1
- package/dist/showcase/assets/map-0vJT2r8C.js +0 -124
- package/dist/showcase/assets/map-pin-D0qrpDJI.js +0 -1
- package/dist/showcase/assets/media-library-Bp99WaS9.js +0 -699
- package/dist/showcase/assets/mention-inline-suggestions-mlV7LRvD.js +0 -1
- package/dist/showcase/assets/mentions-Cmd1zxOR.js +0 -138
- package/dist/showcase/assets/menus-CtjFPoDr.js +0 -171
- package/dist/showcase/assets/message-square-BXyvikcZ.js +0 -1
- package/dist/showcase/assets/metadata-list-DLUBcy7E.js +0 -286
- package/dist/showcase/assets/metadata-list-F3bWXtZB.js +0 -1
- package/dist/showcase/assets/metric-CXPRptlh.js +0 -1
- package/dist/showcase/assets/metric-bar-BY25WVZ0.js +0 -1
- package/dist/showcase/assets/metric-grid-DQtf9y6E.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-CXHpkj3U.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-BIuwiVrn.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-yx5lMGQf.js +0 -50
- package/dist/showcase/assets/metrics-comparison-BC_7jLXf.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-C_nhCljz.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-3oySQnoR.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-zS4-oiTO.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-UJkA2LNR.js +0 -42
- package/dist/showcase/assets/metrics-overview-DQFr22ol.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-DnBirxKV.js +0 -54
- package/dist/showcase/assets/minus-BOVQEx6C.js +0 -1
- package/dist/showcase/assets/money-display-DV7xlrNV.js +0 -1
- package/dist/showcase/assets/money-display-DxnM5--7.js +0 -1
- package/dist/showcase/assets/month-year-picker-BzRXCrQ7.js +0 -1
- package/dist/showcase/assets/navigation-ChJKLv4Y.js +0 -90
- package/dist/showcase/assets/navigation-D7VJsKrP.js +0 -231
- package/dist/showcase/assets/navigation-extras-BVc1xQuB.js +0 -43
- package/dist/showcase/assets/notification-banner-1ivcmPLe.js +0 -1
- package/dist/showcase/assets/onboarding-checklist-CbARgwpX.js +0 -119
- package/dist/showcase/assets/overflow-tab-bar-DlqMmyTx.js +0 -1
- package/dist/showcase/assets/overlays-DkWO50b8.js +0 -159
- package/dist/showcase/assets/overlays-KKZpxWjt.js +0 -408
- package/dist/showcase/assets/overview-BjQe-YZE.js +0 -184
- package/dist/showcase/assets/package-DhQRoFDo.js +0 -1
- package/dist/showcase/assets/package-check-CBgGiccG.js +0 -1
- package/dist/showcase/assets/page-BWTmyV5J.js +0 -1
- package/dist/showcase/assets/page-action-button-DV-YYRA4.js +0 -1
- package/dist/showcase/assets/page-header-Bmg4NU_P.js +0 -1
- package/dist/showcase/assets/pagination-ByQ_OXRU.js +0 -1
- package/dist/showcase/assets/pagination-Db5CuoBb.js +0 -42
- package/dist/showcase/assets/paperclip-BQNPUzG_.js +0 -1
- package/dist/showcase/assets/password-input-CPvjzM1f.js +0 -1
- package/dist/showcase/assets/pencil-DuBakHme.js +0 -1
- package/dist/showcase/assets/phone-t94LTB1m.js +0 -1
- package/dist/showcase/assets/placeholder-pattern-BNou2ep-.js +0 -1
- package/dist/showcase/assets/plus-BRcp6JhT.js +0 -1
- package/dist/showcase/assets/popover-CVuJP03o.js +0 -1
- package/dist/showcase/assets/popover-D_P2gTn8.js +0 -1
- package/dist/showcase/assets/popover-menu-DGY5jEk4.js +0 -1
- package/dist/showcase/assets/products-8sUfDMPU.js +0 -423
- package/dist/showcase/assets/progress-BrMvIZIz.js +0 -1
- package/dist/showcase/assets/progress-CSXZAavT.js +0 -18
- package/dist/showcase/assets/progress-Dvqpf_O0.js +0 -1
- package/dist/showcase/assets/props-table-BAfz1Zc6.js +0 -1
- package/dist/showcase/assets/props.generated-CuVoOKYT.json +0 -41746
- package/dist/showcase/assets/qr-code-C-CaHJQ2.js +0 -1
- package/dist/showcase/assets/quote-Ci80eS0u.js +0 -1
- package/dist/showcase/assets/receipt-jvwbPuE3.js +0 -1
- package/dist/showcase/assets/receipt-text-CT0GiMQm.js +0 -1
- package/dist/showcase/assets/refinement-guide-BnCQ9-6f.js +0 -189
- package/dist/showcase/assets/refresh-cw-CXDARnCe.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-DJanfUim.js +0 -1
- package/dist/showcase/assets/resource-Bir-z7ie.js +0 -139
- package/dist/showcase/assets/resource-D19qhfYP.js +0 -1
- package/dist/showcase/assets/resource-selector-card-BUbuu-QH.js +0 -43
- package/dist/showcase/assets/rich-text-editor-BCtz589M.js +0 -124
- package/dist/showcase/assets/rich-text-editor-uu9FmB8B.js +0 -143
- package/dist/showcase/assets/rotate-ccw-DEIVfiHA.js +0 -1
- package/dist/showcase/assets/route-B5vtDLsE.js +0 -1
- package/dist/showcase/assets/save-DQ4Up8ZB.js +0 -1
- package/dist/showcase/assets/schema-form-D7wbdl5u.js +0 -327
- package/dist/showcase/assets/scroll-area-B0QD6o1Y.js +0 -32
- package/dist/showcase/assets/scroll-area-BoZ1SrfI.js +0 -1
- package/dist/showcase/assets/section-BXsVHOsI.js +0 -1
- package/dist/showcase/assets/select-CW8SYsOY.js +0 -1
- package/dist/showcase/assets/select-DmRqLSoG.js +0 -1
- package/dist/showcase/assets/send-Dxs1-xSj.js +0 -1
- package/dist/showcase/assets/separator-BLOG_8oO.js +0 -1
- package/dist/showcase/assets/separator-DZC_uQU-.js +0 -1
- package/dist/showcase/assets/separator-OlLHRN7k.js +0 -28
- package/dist/showcase/assets/settings-2-BSpgytsy.js +0 -1
- package/dist/showcase/assets/settings-CCNP7XOu.js +0 -1
- package/dist/showcase/assets/sheet-DIfJjbgA.js +0 -1
- package/dist/showcase/assets/shield-D2gTWkwA.js +0 -1
- package/dist/showcase/assets/shield-alert-C-3oWpoe.js +0 -1
- package/dist/showcase/assets/shield-check-D11r1eJ8.js +0 -1
- package/dist/showcase/assets/shopping-bag-DAeaVQ5O.js +0 -1
- package/dist/showcase/assets/showcase-GdZcH6OR.js +0 -132
- package/dist/showcase/assets/sidebar-RBzHNuB7.js +0 -1
- package/dist/showcase/assets/sidebar.context-Dyw470Qp.js +0 -1
- package/dist/showcase/assets/skeleton-B7crngMw.js +0 -1
- package/dist/showcase/assets/skeleton-BwEVNdGJ.js +0 -1
- package/dist/showcase/assets/skeleton-DM73_ueB.js +0 -1
- package/dist/showcase/assets/skeleton-cHsWJOtO.js +0 -29
- package/dist/showcase/assets/slider-DRPnIs0S.js +0 -1
- package/dist/showcase/assets/smart-card-DER7dpD9.js +0 -1
- package/dist/showcase/assets/sonner-Go1YsPBH.js +0 -22
- package/dist/showcase/assets/sortable.esm-q6LdsxSr.js +0 -5
- package/dist/showcase/assets/sparkles-DqH40POl.js +0 -1
- package/dist/showcase/assets/spinner-C0YWWxyj.js +0 -1
- package/dist/showcase/assets/spinner-CpHNR13f.js +0 -30
- package/dist/showcase/assets/spinner-Dwvf24e9.js +0 -49
- package/dist/showcase/assets/square-pen-D-xHmIA0.js +0 -1
- package/dist/showcase/assets/stacked-avatars-C92NYKIa.js +0 -1
- package/dist/showcase/assets/star-dD4CAJ83.js +0 -1
- package/dist/showcase/assets/startOfDay-BXZshd4g.js +0 -1
- package/dist/showcase/assets/styles-BPJdkO_3.js +0 -1
- package/dist/showcase/assets/suggestions-CyhKme4Q.js +0 -126
- package/dist/showcase/assets/switch-C7DVTgQd.js +0 -1
- package/dist/showcase/assets/switch-LU6nljdS.js +0 -1
- package/dist/showcase/assets/sync-bERw1shm.js +0 -124
- package/dist/showcase/assets/table-BuIv4nqB.js +0 -686
- package/dist/showcase/assets/table-CDMDtBgJ.js +0 -1
- package/dist/showcase/assets/table-actions-DsK7d8Yb.js +0 -1
- package/dist/showcase/assets/tabs-BDryywGb.js +0 -19
- package/dist/showcase/assets/tabs-BNaZmM48.js +0 -1
- package/dist/showcase/assets/tags-input-CzE_5BJl.js +0 -1
- package/dist/showcase/assets/text-button-B1m5cpX_.js +0 -1
- package/dist/showcase/assets/text-link-CqjW10Ce.js +0 -1
- package/dist/showcase/assets/textarea-xJ3EE8R9.js +0 -1
- package/dist/showcase/assets/textarea-xOekToAG.js +0 -1
- package/dist/showcase/assets/throttle-alert-BH1HMiaI.js +0 -1
- package/dist/showcase/assets/timelines-DjWkuOz3.js +0 -200
- package/dist/showcase/assets/toggle-group-Css6pfUI.js +0 -1
- package/dist/showcase/assets/toggles-DhDrn3YH.js +0 -71
- package/dist/showcase/assets/toggles-group-e4xtKzkl.js +0 -32
- package/dist/showcase/assets/tooltip-DMvMUrGe.js +0 -31
- package/dist/showcase/assets/trash-2-zILxQmtX.js +0 -1
- package/dist/showcase/assets/trending-up-CRH278ig.js +0 -1
- package/dist/showcase/assets/truck-At9CEKg7.js +0 -1
- package/dist/showcase/assets/typography-B0ehvSV4.js +0 -223
- package/dist/showcase/assets/ui-badge-CyLWYf3f.js +0 -28
- package/dist/showcase/assets/ui-card-BPnLZmkJ.js +0 -30
- package/dist/showcase/assets/ui-table-C-zXhcOm.js +0 -42
- package/dist/showcase/assets/upload-tray-IyQJEM9n.js +0 -138
- package/dist/showcase/assets/use-layout-link-Cux4giQO.js +0 -1
- package/dist/showcase/assets/useAriaLabelledBy-Bo0rTGvc.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-CzU-1LY3.js +0 -1
- package/dist/showcase/assets/useCompositeItem-CJFNnVql.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-BAuO9hue.js +0 -1
- package/dist/showcase/assets/useLabelableId-HuACs9ba.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-MEUfJuxN.js +0 -1
- package/dist/showcase/assets/useRender-B-6DpRfj.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-B-mRyUJJ.js +0 -1
- package/dist/showcase/assets/useValueChanged-CVn_Rfso.js +0 -1
- package/dist/showcase/assets/user-eelwPGBI.js +0 -1
- package/dist/showcase/assets/user-plus-DhswMZvb.js +0 -1
- package/dist/showcase/assets/users-BVMmaveS.js +0 -1
- package/dist/showcase/assets/vendor-profile-FHaiInTe.js +0 -37
- package/dist/showcase/assets/video-C42fxAyj.js +0 -1
- package/dist/showcase/assets/visually-hidden-BwzlEinj.js +0 -1
- package/dist/showcase/assets/wrench-EKI7PaKp.js +0 -1
- package/dist/showcase/assets/x--LIqlhum.js +0 -1
- package/dist/showcase/assets/zap-C1fX30vt.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-CQoSwU74.js","names":[],"sources":["../../src/components/base/forms/fields/decimal-input.tsx","../../src/components/base/forms/fields/currency-input.tsx","../../src/components/base/forms/fields/money-input.tsx","../../src/components/base/forms/form-field.tsx","../../src/components/base/display/notification-banner.tsx","../../src/components/base/display/placeholder-pattern.tsx","../../src/components/base/display/show-if.tsx","../../src/components/base/display/throttle-alert.tsx","../../src/components/base/display/visually-hidden.tsx","../../src/components/base/display/stacked-avatars.tsx","../../src/components/base/display/date-block.tsx","../../src/components/ui/collapsible.tsx","../../src/components/base/display/money-input.tsx","../../src/components/base/display/boolean-indicator.tsx","../../src/components/ui/empty.tsx","../../src/components/ui/progress.tsx","../../src/components/base/display/qr-code.tsx"],"sourcesContent":["/**\n * DecimalInput — text-based numeric input with decimal-place enforcement,\n * locale-friendly comma → dot normalisation, optional min/max clamping,\n * rounding mode (`round` / `floor` / `ceil` / `half-even`), and optional\n * stepper buttons when `step` is set.\n *\n * Wraps the base `Input` so all add-on / icon / clear / loading features\n * still work. Extra features layered on top:\n *\n * - `step` — when set, renders − / + stepper buttons that snap the value\n * to a multiple of `step` (anchored at `min` if provided, else 0).\n * - `roundingMode` — controls how stepper / blur normalisation rounds\n * half values; default `'round'` (round-half-up).\n * - `normalizeOnBlur` (default `true`) — pads the displayed value to the\n * full `decimalPlaces` count and clamps to `[min, max]` when the field\n * loses focus.\n *\n * The `value` prop is always a plain string (consumers parse it as needed)\n * so RHF / Inertia can treat it like any other input.\n */\nimport * as React from 'react';\nimport { useCallback } from 'react';\nimport { Minus, Plus } from 'lucide-react';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { useFormsConfig, type FormControlSize } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\nimport { resolveFormControlSize } from '../form-sizing';\nimport { Input, type InputProps } from './input';\n\nexport type DecimalRoundingMode = 'round' | 'floor' | 'ceil' | 'half-even';\n\nexport interface DecimalInputStrings {\n\tdecrement: string;\n\tincrement: string;\n}\n\nexport const defaultDecimalInputStrings: DecimalInputStrings = {\n\tdecrement: 'Decrement',\n\tincrement: 'Increment',\n};\n\nexport interface DecimalInputProps extends Omit<InputProps, 'type' | 'inputMode' | 'strings'> {\n\tdecimalPlaces?: number;\n\tmin?: number;\n\tmax?: number;\n\tallowNegative?: boolean;\n\tallowEmpty?: boolean;\n\t/** When set, renders − / + steppers and snaps the value to multiples of `step`. */\n\tstep?: number;\n\t/** How to round when normalising on blur or stepping. Default `'round'`. */\n\troundingMode?: DecimalRoundingMode;\n\t/** Pad to full decimalPlaces and clamp to [min, max] on blur. Default `true`. */\n\tnormalizeOnBlur?: boolean;\n\t/** String overrides for stepper aria-labels. */\n\tstrings?: StringsProp<DecimalInputStrings>;\n}\n\nconst formatDecimalValue = (\n\tvalue: string,\n\tdecimalPlaces: number,\n\tallowNegative: boolean,\n): string => {\n\tif (!value) return '';\n\n\tlet formatted = value;\n\tformatted = formatted.replace(/,/g, '.');\n\n\tif (allowNegative) {\n\t\tformatted = formatted.replace(/[^\\d.-]/g, '');\n\t} else {\n\t\tformatted = formatted.replace(/[^\\d.]/g, '');\n\t}\n\n\tif (allowNegative && formatted.includes('-')) {\n\t\tconst hasLeadingMinus = formatted.startsWith('-');\n\t\tformatted = formatted.replace(/-/g, '');\n\t\tif (hasLeadingMinus) formatted = '-' + formatted;\n\t}\n\n\tconst parts = formatted.split('.');\n\tif (parts.length > 2) {\n\t\tformatted = parts[0] + '.' + parts.slice(1).join('');\n\t}\n\n\tif (parts.length === 2 && parts[1].length > decimalPlaces) {\n\t\tformatted = parts[0] + '.' + parts[1].substring(0, decimalPlaces);\n\t}\n\n\treturn formatted;\n};\n\nconst isWithinBounds = (value: string, min?: number, max?: number): boolean => {\n\tif (!value || value === '-') return true;\n\tconst numValue = parseFloat(value);\n\tif (Number.isNaN(numValue)) return true;\n\tif (min !== undefined && numValue < min) return false;\n\tif (max !== undefined && numValue > max) return false;\n\treturn true;\n};\n\nfunction applyRounding(value: number, decimals: number, mode: DecimalRoundingMode): number {\n\tconst factor = Math.pow(10, decimals);\n\tconst shifted = value * factor;\n\tswitch (mode) {\n\t\tcase 'floor':\n\t\t\treturn Math.floor(shifted) / factor;\n\t\tcase 'ceil':\n\t\t\treturn Math.ceil(shifted) / factor;\n\t\tcase 'half-even': {\n\t\t\tconst floor = Math.floor(shifted);\n\t\t\tconst diff = shifted - floor;\n\t\t\tif (diff > 0.5) return (floor + 1) / factor;\n\t\t\tif (diff < 0.5) return floor / factor;\n\t\t\treturn (floor % 2 === 0 ? floor : floor + 1) / factor;\n\t\t}\n\t\tcase 'round':\n\t\tdefault:\n\t\t\treturn Math.round(shifted) / factor;\n\t}\n}\n\nfunction clamp(n: number, min?: number, max?: number): number {\n\tlet next = n;\n\tif (min !== undefined) next = Math.max(min, next);\n\tif (max !== undefined) next = Math.min(max, next);\n\treturn next;\n}\n\nfunction snapToStep(\n\tcurrent: number,\n\tdelta: number,\n\tstep: number,\n\tmin?: number,\n\tmode: DecimalRoundingMode = 'round',\n): number {\n\tconst anchor = min ?? 0;\n\tconst stepsFromAnchor = (current - anchor) / step;\n\tconst rounded =\n\t\tmode === 'floor'\n\t\t\t? Math.floor(stepsFromAnchor)\n\t\t\t: mode === 'ceil'\n\t\t\t\t? Math.ceil(stepsFromAnchor)\n\t\t\t\t: Math.round(stepsFromAnchor);\n\tconst stepped = anchor + (rounded + delta) * step;\n\treturn Number(stepped.toFixed(12));\n}\n\nfunction fireChange(\n\ttarget: HTMLInputElement,\n\tvalue: string,\n\tonChange?: InputProps['onChange'],\n) {\n\t// Write the value to the DOM first so UNCONTROLLED inputs actually reflect\n\t// stepper clicks and blur-normalisation. (Previously this only called\n\t// onChange, so steppers were a no-op on uncontrolled fields.) Use the native\n\t// value setter so React's input value-tracker stays in sync for controlled\n\t// consumers, which then reconcile through their onChange + re-render.\n\tconst nativeSetter = Object.getOwnPropertyDescriptor(\n\t\twindow.HTMLInputElement.prototype,\n\t\t'value',\n\t)?.set;\n\tif (nativeSetter) nativeSetter.call(target, value);\n\telse target.value = value;\n\n\tif (!onChange) return;\n\tconst event = {\n\t\ttarget,\n\t\tcurrentTarget: target,\n\t\ttype: 'change',\n\t\tbubbles: false,\n\t\tcancelable: false,\n\t} as unknown as React.ChangeEvent<HTMLInputElement>;\n\tonChange(event);\n}\n\nconst STEPPER_SIZE_CLASS: Record<FormControlSize, string> = {\n\tsmall: 'w-control-small',\n\tdefault: 'w-control',\n};\n\nfunction DecimalInputImpl(\n\t{\n\t\tdecimalPlaces = 2,\n\t\tmin,\n\t\tmax,\n\t\tallowNegative = true,\n\t\tallowEmpty = true,\n\t\tstep,\n\t\troundingMode = 'round',\n\t\tnormalizeOnBlur = true,\n\t\tonChange,\n\t\tonBlur,\n\t\tplaceholder,\n\t\tclassName,\n\t\tvalue: controlledValue,\n\t\tdefaultValue,\n\t\tdisabled,\n\t\tsize: sizeProp,\n\t\tstrings: stringsProp,\n\t\t...props\n\t}: DecimalInputProps,\n\tforwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n\tconst { defaultControlSize } = useFormsConfig();\n\tconst size: FormControlSize = resolveFormControlSize(sizeProp, defaultControlSize);\n\tconst strings = useStrings(defaultDecimalInputStrings, stringsProp);\n\tconst validDecimalPlaces = Math.min(12, Math.max(0, decimalPlaces));\n\tconst inputRef = React.useRef<HTMLInputElement | null>(null);\n\n\tconst handleChange = useCallback(\n\t\t(e: React.ChangeEvent<HTMLInputElement>) => {\n\t\t\tconst newValue = e.target.value;\n\n\t\t\tif (!newValue && allowEmpty) {\n\t\t\t\tonChange?.(e);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst formatted = formatDecimalValue(newValue, validDecimalPlaces, allowNegative);\n\t\t\tif (!isWithinBounds(formatted, min, max)) return;\n\n\t\t\tif (formatted !== newValue) {\n\t\t\t\tconst modifiedEvent = {\n\t\t\t\t\t...e,\n\t\t\t\t\ttarget: { ...e.target, value: formatted },\n\t\t\t\t\tcurrentTarget: { ...e.currentTarget, value: formatted },\n\t\t\t\t} as React.ChangeEvent<HTMLInputElement>;\n\t\t\t\tonChange?.(modifiedEvent);\n\t\t\t} else {\n\t\t\t\tonChange?.(e);\n\t\t\t}\n\t\t},\n\t\t[onChange, validDecimalPlaces, allowNegative, allowEmpty, min, max],\n\t);\n\n\tconst handleBlur = useCallback(\n\t\t(e: React.FocusEvent<HTMLInputElement>) => {\n\t\t\tonBlur?.(e);\n\t\t\tif (!normalizeOnBlur) return;\n\t\t\tconst raw = e.target.value;\n\t\t\tif (!raw && allowEmpty) return;\n\t\t\tconst num = Number.parseFloat(raw.replace(',', '.'));\n\t\t\tif (!Number.isFinite(num)) return;\n\t\t\tconst clamped = clamp(num, min, max);\n\t\t\tconst rounded = applyRounding(clamped, validDecimalPlaces, roundingMode);\n\t\t\tconst next = rounded.toFixed(validDecimalPlaces);\n\t\t\tif (next !== raw && inputRef.current) {\n\t\t\t\tfireChange(inputRef.current, next, onChange);\n\t\t\t}\n\t\t},\n\t\t[onBlur, onChange, normalizeOnBlur, allowEmpty, min, max, validDecimalPlaces, roundingMode],\n\t);\n\n\tconst adjust = useCallback(\n\t\t(delta: number) => {\n\t\t\tif (disabled || step === undefined) return;\n\t\t\tconst target = inputRef.current;\n\t\t\tif (!target) return;\n\t\t\tconst raw = target.value;\n\t\t\tconst current = Number.parseFloat(raw.replace(',', '.'));\n\t\t\tconst base = Number.isFinite(current) ? current : (min ?? 0);\n\t\t\tconst snapped = clamp(snapToStep(base, delta, step, min, roundingMode), min, max);\n\t\t\tconst next = applyRounding(snapped, validDecimalPlaces, roundingMode).toFixed(validDecimalPlaces);\n\t\t\tfireChange(target, next, onChange);\n\t\t},\n\t\t[disabled, step, min, max, roundingMode, validDecimalPlaces, onChange],\n\t);\n\n\tconst showSteppers = typeof step === 'number' && step > 0;\n\tconst placeholderResolved =\n\t\tplaceholder ?? (validDecimalPlaces > 0 ? `0.${'0'.repeat(validDecimalPlaces)}` : '0');\n\n\tif (showSteppers) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cn('decimal-input--component', \n\t\t\t\t\t// Stepper segmented group — input + adjacent − / + buttons\n\t\t\t\t\t// share a single border radius so the group reads as one\n\t\t\t\t\t// control instead of three loose chips.\n\t\t\t\t\t'flex items-stretch overflow-hidden rounded-radius border border-input bg-transparent',\n\t\t\t\t\t'focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]',\n\t\t\t\t\tprops['aria-invalid'] && 'border-destructive ring-destructive/20',\n\t\t\t\t\tdisabled && 'opacity-50 cursor-not-allowed',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\taria-label={strings.decrement}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tonClick={() => adjust(-1)}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'inline-flex shrink-0 items-center justify-center border-r border-input text-muted-foreground transition-colors',\n\t\t\t\t\t\tSTEPPER_SIZE_CLASS[size],\n\t\t\t\t\t\t'hover:bg-muted hover:text-foreground',\n\t\t\t\t\t\t'disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<Minus className={size === 'small' ? 'size-icon-sm' : 'size-icon'} />\n\t\t\t\t</button>\n\t\t\t\t<Input\n\t\t\t\t\tsize={size}\n\t\t\t\t\tref={(node) => { inputRef.current = node; if (typeof forwardedRef === \"function\") forwardedRef(node); else if (forwardedRef) forwardedRef.current = node; }}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tinputMode={validDecimalPlaces > 0 ? 'decimal' : 'numeric'}\n\t\t\t\t\tplaceholder={placeholderResolved}\n\t\t\t\t\tonChange={handleChange}\n\t\t\t\t\tonBlur={handleBlur}\n\t\t\t\t\tvalue={controlledValue}\n\t\t\t\t\tdefaultValue={defaultValue}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'flex-1 tabular-nums text-center border-0 shadow-none rounded-none focus-visible:ring-0 focus-visible:border-0',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\taria-label={strings.increment}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tonClick={() => adjust(1)}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'inline-flex shrink-0 items-center justify-center border-l border-input text-muted-foreground transition-colors',\n\t\t\t\t\t\tSTEPPER_SIZE_CLASS[size],\n\t\t\t\t\t\t'hover:bg-muted hover:text-foreground',\n\t\t\t\t\t\t'disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<Plus className={size === 'small' ? 'size-icon-sm' : 'size-icon'} />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Input\n\t\t\tsize={size}\n\t\t\tref={(node) => { inputRef.current = node; if (typeof forwardedRef === \"function\") forwardedRef(node); else if (forwardedRef) forwardedRef.current = node; }}\n\t\t\ttype=\"text\"\n\t\t\tinputMode={validDecimalPlaces > 0 ? 'decimal' : 'numeric'}\n\t\t\tplaceholder={placeholderResolved}\n\t\t\tonChange={handleChange}\n\t\t\tonBlur={handleBlur}\n\t\t\tvalue={controlledValue}\n\t\t\tdefaultValue={defaultValue}\n\t\t\tdisabled={disabled}\n\t\t\tclassName={cn('tabular-nums text-end', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nconst DecimalInput = React.forwardRef<HTMLInputElement, DecimalInputProps>(DecimalInputImpl);\nDecimalInput.displayName = 'DecimalInput';\n\nexport { DecimalInput };\n","import { useState, useCallback, useEffect, useMemo, memo, forwardRef, type ForwardedRef } from 'react';\nimport * as baseui from '@/components/ui/select';\nimport { Label } from '@/components/typography';\nimport { useFormsConfig } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\nimport { formControlSizeClasses, resolveFormControlSize } from '../form-sizing';\nimport { DecimalInput, type DecimalInputProps } from './decimal-input';\n\nexport interface CurrencyOption {\n value: string;\n label: string;\n}\n\nexport interface CurrencyInputProps extends Omit<DecimalInputProps, 'label' | 'hint' | 'helperText' | 'error'> {\n /** Current currency value */\n currency?: string;\n\n /** Default currency if uncontrolled */\n defaultCurrency?: string;\n\n /** List of available currencies (simple strings or objects with value/label) */\n currencies?: (string | CurrencyOption)[];\n\n /** Callback when currency changes */\n onCurrencyChange?: (currency: string) => void;\n\n /** Position of currency dropdown */\n currencyPosition?: 'start' | 'end';\n\n /** Disable currency selection */\n disableCurrencySelector?: boolean;\n\n /** Placeholder for currency dropdown */\n currencyPlaceholder?: string;\n\n /** Width of the currency dropdown */\n currencyWidth?: string;\n\n /** Label for currency field (sub-label) */\n currencyLabel?: string;\n\n /** Error state for styling (passed from FormField) */\n invalid?: boolean;\n\n /** Called when the input is misconfigured (mismatched currency/defaultCurrency\n * while the selector is disabled, missing currency, etc.). The library\n * also DEV-logs the same message to the console. */\n onConfigError?: (\n message: string,\n details: { currency?: string; defaultCurrency?: string; disableCurrencySelector?: boolean },\n ) => void;\n}\n\n// Common currency symbols\nconst CURRENCY_SYMBOLS: Record<string, string> = {\n USD: '$',\n EUR: '€',\n GBP: '£',\n BGN: 'лв',\n JPY: '¥',\n CNY: '¥',\n CHF: 'CHF',\n CAD: 'C$',\n AUD: 'A$',\n};\n\nconst normalizeCurrencies = (currencies?: (string | CurrencyOption)[]): CurrencyOption[] => {\n if (!currencies || currencies.length === 0) return [];\n\n return currencies.map((currency) => {\n if (typeof currency === 'string') {\n const symbol = CURRENCY_SYMBOLS[currency] || currency;\n return {\n value: currency,\n label: `${symbol} ${currency}`,\n };\n }\n return currency;\n });\n};\n\nfunction CurrencyInputImpl(\n {\n currency: controlledCurrency,\n defaultCurrency,\n currencies,\n onCurrencyChange,\n currencyPosition = 'start',\n disableCurrencySelector = false,\n currencyPlaceholder,\n currencyWidth = 'w-28',\n currencyLabel,\n invalid,\n disabled,\n onConfigError,\n size: sizeProp,\n ...decimalInputProps\n }: CurrencyInputProps,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n const { defaultControlSize } = useFormsConfig();\n const size = resolveFormControlSize(sizeProp, defaultControlSize);\n\n // Memoize normalized currencies\n const normalizedCurrencies = useMemo(() => normalizeCurrencies(currencies), [currencies]);\n\n // Internal state for uncontrolled currency\n const [internalCurrency, setInternalCurrency] = useState(\n defaultCurrency ?? normalizedCurrencies[0]?.value ?? ''\n );\n\n // Determine if currency is controlled\n const isCurrencyControlled = controlledCurrency !== undefined;\n const selectedCurrency = isCurrencyControlled ? controlledCurrency : internalCurrency;\n\n useEffect(() => {\n const details = { currency: controlledCurrency, defaultCurrency, disableCurrencySelector };\n if (\n disableCurrencySelector &&\n typeof controlledCurrency === 'string' &&\n typeof defaultCurrency === 'string' &&\n controlledCurrency.trim() !== '' &&\n defaultCurrency.trim() !== '' &&\n controlledCurrency !== defaultCurrency\n ) {\n const message = '[CurrencyInput] currency/defaultCurrency mismatch while selector is disabled.';\n if (import.meta.env?.DEV) {\n console.warn(message, { currency: controlledCurrency, defaultCurrency });\n }\n onConfigError?.(message, details);\n }\n\n if (\n disableCurrencySelector &&\n (typeof selectedCurrency !== 'string' || selectedCurrency.trim().length === 0)\n ) {\n const message = '[CurrencyInput] disableCurrencySelector is enabled but no currency is provided.';\n if (import.meta.env?.DEV) {\n console.warn(message);\n }\n onConfigError?.(message, details);\n }\n }, [controlledCurrency, defaultCurrency, disableCurrencySelector, onConfigError, selectedCurrency]);\n\n // Handle currency change\n const handleCurrencyChange = useCallback(\n (newCurrency: string | null) => {\n if (newCurrency === null) return;\n if (!isCurrencyControlled) {\n setInternalCurrency(newCurrency);\n }\n onCurrencyChange?.(newCurrency);\n },\n [isCurrencyControlled, onCurrencyChange]\n );\n\n // Memoize trigger class names. Size flows through `formControlSizeClasses[size]`\n // so the trigger height matches the inner DecimalInput when a consumer sets\n // `<UIProvider forms={{ defaultControlSize }}>`.\n const triggerClassName = useMemo(\n () =>\n cn(\n 'border-input bg-transparent !shadow-none',\n formControlSizeClasses[size],\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n currencyWidth,\n disabled && 'opacity-50 cursor-not-allowed'\n ),\n [size, currencyWidth, disabled]\n );\n\n // Currency selector component\n const currencySelector = (\n <div className=\"space-y-2\">\n {!!currencyLabel && <Label className=\"leading-6\">{currencyLabel}</Label>}\n <baseui.Select\n value={selectedCurrency}\n onValueChange={(value) => handleCurrencyChange(value)}\n disabled={disabled || disableCurrencySelector}\n >\n <baseui.SelectTrigger aria-invalid={invalid || undefined} className={triggerClassName}>\n <baseui.SelectValue placeholder={currencyPlaceholder ?? ''} />\n </baseui.SelectTrigger>\n <baseui.SelectContent>\n <baseui.SelectGroup>\n {normalizedCurrencies.map((curr) => (\n <baseui.SelectItem key={curr.value} value={curr.value}>\n {curr.label}\n </baseui.SelectItem>\n ))}\n </baseui.SelectGroup>\n </baseui.SelectContent>\n </baseui.Select>\n </div>\n );\n\n return (\n <div className={cn('currency-input--component', 'flex items-start gap-2')}>\n {currencyPosition === 'start' && currencySelector}\n\n <div className=\"flex-1\">\n <DecimalInput\n ref={forwardedRef}\n size={size}\n decimalPlaces={2}\n allowNegative={false}\n disabled={disabled}\n invalid={invalid}\n {...decimalInputProps}\n />\n </div>\n\n {currencyPosition === 'end' && currencySelector}\n </div>\n );\n}\n\n// forwardRef + memo: forward to the underlying decimal input so consumers\n// can focus/measure programmatically.\nexport const CurrencyInput = memo(forwardRef<HTMLInputElement, CurrencyInputProps>(CurrencyInputImpl));\nCurrencyInput.displayName = 'CurrencyInput';\n","/**\n * MoneyInput (forms/fields) — `CurrencyInput` preset with a small default\n * currency list for back-compat and a callback shape that matches the\n * library's `CurrencyCode` typing.\n *\n * For the richer `MoneyInputData`-shaped helper with migration warnings and\n * form-field chrome, use `@/components/base/display/money-input` instead.\n */\nimport { forwardRef, useCallback } from 'react';\n\nimport { CurrencyInput, type CurrencyInputProps } from './currency-input';\nimport type { CurrencyCode } from '@/lib/ui-provider';\n\nexport interface MoneyInputProps extends Omit<CurrencyInputProps, 'currency' | 'defaultCurrency' | 'currencies' | 'onCurrencyChange'> {\n /** Current currency value (ISO 4217 code, e.g. 'USD'). */\n currency?: CurrencyCode;\n /** Default currency if uncontrolled. */\n defaultCurrency?: CurrencyCode;\n /** Available currencies for the inline picker. Defaults to `['USD', 'EUR']`\n * — pass your own list or wire `useMoneyConfig` at the consumer site for\n * real production use. */\n currencies?: CurrencyCode[];\n /** Callback when the user changes the currency in the inline picker. */\n onCurrencyChange?: (currency: CurrencyCode) => void;\n}\n\nconst DEFAULT_CURRENCIES: CurrencyCode[] = ['USD', 'EUR'];\n\nexport const MoneyInput = forwardRef<HTMLInputElement, MoneyInputProps>(function MoneyInput(\n { currencies = DEFAULT_CURRENCIES, onCurrencyChange, currency, defaultCurrency, ...props },\n ref,\n) {\n const handleCurrencyChange = useCallback(\n (nextCurrency: string) => {\n onCurrencyChange?.(nextCurrency);\n },\n [onCurrencyChange]\n );\n\n return (\n <CurrencyInput className=\"money-input--component\"\n ref={ref}\n currencies={currencies}\n currency={currency}\n defaultCurrency={defaultCurrency}\n onCurrencyChange={handleCurrencyChange}\n {...props}\n />\n );\n});\n\nMoneyInput.displayName = 'MoneyInput';\n","/**\n * Unified Form Field Components\n * =============================\n *\n * Two components sharing the same visual structure for field chrome:\n *\n * 1. `FormField` - Pure presentation wrapper (label, hint, error, required indicator)\n * 2. `ControlledFormField` - FormField + react-hook-form Controller integration\n *\n * ## FormField\n * Use for custom components or non-controlled inputs.\n *\n * ```tsx\n * <FormField label={t('label')} error={error} required hint={t('hint')}>\n * <CustomAutocomplete value={value} onSelect={onSelect} />\n * </FormField>\n * ```\n *\n * ## ControlledFormField\n * Use with react-hook-form. Auto-merges backend (Inertia) + validation errors.\n *\n * ```tsx\n * <ControlledFormField\n * name=\"email\"\n * control={control}\n * error={getError}\n * label={t('fields.email.label')}\n * required\n * rules={{ required: true, pattern: /^\\\\S+@\\\\S+$/i }}\n * >\n * {(field, error, invalid) => (\n * <Input\n * placeholder={t('fields.email.placeholder')}\n * value={field.value ?? ''}\n * onChange={field.onChange}\n * onBlur={field.onBlur}\n * invalid={invalid}\n * />\n * )}\n * </ControlledFormField>\n * ```\n *\n * ## Render Function Parameters\n * - `field` - Controller props: value, onChange, onBlur, name, ref\n * - `error` - Merged error string (backend || validation) or undefined\n * - `invalid` - Boolean for input styling (border color, etc.)\n * - `fieldState` - Escape hatch: touched, dirty, isTouched, isDirty, etc.\n *\n * ## Error Priority\n * Backend errors (via `error` getter) take priority over validation errors.\n * This ensures server-side validation is authoritative.\n *\n * ## Chrome Props (shared by both components)\n * - `label` - Field label text\n * - `required` - Shows red asterisk after label\n * - `hint` - Secondary text shown below the field when there is no error\n * - `error` - Error message (red text below input)\n * - `helperText` - Helper text (shown when no error)\n * - `className` - Additional wrapper classes\n */\n\nimport * as React from 'react';\nimport { type ReactNode } from 'react';\nimport {\n\tController,\n\ttype Control,\n\ttype ControllerFieldState,\n\ttype ControllerRenderProps,\n\ttype FieldPath,\n\ttype FieldValues,\n\ttype RegisterOptions,\n} from 'react-hook-form';\n\nimport { Label, Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\ninterface FieldChromeProps {\n\tlabel?: string;\n\tisRequired?: boolean;\n\trequired?: boolean;\n\thint?: string;\n\terror?: string;\n\thelperText?: string;\n\tclassName?: string;\n}\n\ninterface FormFieldProps extends FieldChromeProps {\n\tchildren: ReactNode;\n\thtmlFor?: string;\n}\n\nexport function FormField({\n\tchildren,\n\tlabel,\n\tisRequired,\n\trequired,\n\thint,\n\terror,\n\thelperText,\n\thtmlFor,\n\tclassName,\n}: FormFieldProps) {\n\tconst hasError = Boolean(error);\n\tconst supportingText = error || helperText || (!hasError ? hint : undefined);\n\tconst showBottomText = Boolean(supportingText);\n\tconst resolvedRequired = isRequired ?? required;\n\tconst generatedId = React.useId();\n\tconst childId =\n\t\tReact.isValidElement(children)\n\t\t\t? (children.props as { id?: string }).id\n\t\t\t: undefined;\n\tconst resolvedHtmlFor = htmlFor ?? childId ?? (label && React.isValidElement(children) ? `form-field-${generatedId}` : undefined);\n\tconst resolvedChildren =\n\t\tresolvedHtmlFor && React.isValidElement(children) && !childId\n\t\t\t? React.cloneElement(children as React.ReactElement<{ id?: string }>, { id: resolvedHtmlFor })\n\t\t\t: children;\n\n\treturn (\n\t\t<div className={cn('form-field--component', 'space-y-1', className)}>\n\t\t\t{!!label && (\n\t\t\t\t<Label htmlFor={resolvedHtmlFor} className=\"flex items-center leading-6\">\n\t\t\t\t\t{label}\n\t\t\t\t\t{!!resolvedRequired && (\n\t\t\t\t\t\t<span className=\"ml-1 text-destructive\">*</span>\n\t\t\t\t\t)}\n\t\t\t\t</Label>\n\t\t\t)}\n\n\t\t\t{resolvedChildren}\n\n\t\t\t{!!showBottomText && (\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"p\"\n\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\ttype={hasError ? 'error' : 'secondary'}\n\t\t\t\t\t{...(hasError ? { role: 'alert', 'aria-live': 'polite' } : {})}\n\t\t\t\t>\n\t\t\t\t\t{supportingText}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\ntype ErrorGetter<TName extends string> = (field: TName) => string | undefined;\n\ninterface ControlledFormFieldProps<\n\tTFieldValues extends FieldValues,\n\tTName extends FieldPath<TFieldValues>,\n> extends Omit<FieldChromeProps, 'error'> {\n\tname: TName;\n\tcontrol: Control<TFieldValues>;\n\trules?: RegisterOptions<TFieldValues, TName>;\n\terror?: ErrorGetter<TName>;\n\tchildren: (\n\t\tfield: ControllerRenderProps<TFieldValues, TName>,\n\t\terror: string | undefined,\n\t\tinvalid: boolean,\n\t\tfieldState: ControllerFieldState,\n\t) => ReactNode;\n}\n\nexport function ControlledFormField<\n\tTFieldValues extends FieldValues,\n\tTName extends FieldPath<TFieldValues>,\n>({\n\tname,\n\tcontrol,\n\trules,\n\terror: errorGetter,\n\tchildren,\n\t...chromeProps\n}: ControlledFormFieldProps<TFieldValues, TName>) {\n\treturn (\n\t\t<Controller\n\t\t\tname={name}\n\t\t\tcontrol={control}\n\t\t\trules={rules}\n\t\t\trender={({ field, fieldState }) => {\n\t\t\t\tconst validationError = fieldState.error?.message\n\t\t\t\t\t|| (fieldState.error ? (fieldState.error.type === 'required' ? (chromeProps.label ? `${chromeProps.label} is required` : 'This field is required') : 'Invalid value') : undefined);\n\t\t\t\tconst resolvedError = errorGetter?.(name) || validationError || undefined;\n\t\t\t\tconst invalid = Boolean(resolvedError);\n\n\t\t\t\treturn (\n\t\t\t\t\t<FormField {...chromeProps} error={resolvedError} htmlFor={name}>\n\t\t\t\t\t\t{children(field, resolvedError, invalid, fieldState)}\n\t\t\t\t\t</FormField>\n\t\t\t\t);\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nFormField.displayName = 'FormField';\nControlledFormField.displayName = 'ControlledFormField';\n","/**\n * NotificationBanner — full-width inline notification with type-specific\n * styling (info / success / error / warning). The icon sits in a soft circle\n * for clear hierarchy, the title (when present) reads at full strength, and\n * the message uses the muted secondary tone so the type colour highlights\n * without overwhelming. Optional dismiss button on the trailing edge.\n *\n * Use inside page bodies for non-blocking notices; reach for `Alert` when\n * the affordance is structural (e.g. inside a form), and Toast for transient\n * feedback.\n */\nimport { AlertTriangle, BadgeCheck, CircleAlert, Info, X } from 'lucide-react';\nimport React from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { sanitizeHtml } from '@/lib/sanitize-html';\nimport { cn } from '@/lib/utils';\n\nexport type NotificationType = 'info' | 'success' | 'error' | 'warning';\n\nexport interface NotificationBannerProps {\n\ttype?: NotificationType;\n\tdismissible?: boolean;\n\ttitle?: string;\n\tmessage?: string;\n\tonDismiss?: () => void;\n\tchildren?: React.ReactNode;\n\tasHTML?: boolean;\n\tdismissAriaLabel?: string;\n\tclassName?: string;\n}\n\ninterface BannerTone {\n\twrapper: string;\n\ticonRing: string;\n\ticonColor: string;\n\ttitle: string;\n\tclose: string;\n}\n\nconst TONES: Record<NotificationType, BannerTone> = {\n\tinfo: {\n\t\twrapper: 'border-info/30 bg-info/5',\n\t\ticonRing: 'bg-info/15',\n\t\ticonColor: 'text-info',\n\t\ttitle: 'text-info',\n\t\tclose: 'text-info/70 hover:text-info hover:bg-info/10',\n\t},\n\tsuccess: {\n\t\twrapper: 'border-success/30 bg-success/5',\n\t\ticonRing: 'bg-success/15',\n\t\ticonColor: 'text-success',\n\t\ttitle: 'text-success',\n\t\tclose: 'text-success/70 hover:text-success hover:bg-success/10',\n\t},\n\terror: {\n\t\twrapper: 'border-destructive/30 bg-destructive/5',\n\t\ticonRing: 'bg-destructive/15',\n\t\ticonColor: 'text-destructive',\n\t\ttitle: 'text-destructive',\n\t\tclose: 'text-destructive/70 hover:text-destructive hover:bg-destructive/10',\n\t},\n\twarning: {\n\t\twrapper: 'border-warning/40 bg-warning/10',\n\t\ticonRing: 'bg-warning/20',\n\t\ticonColor: 'text-warning-foreground',\n\t\ttitle: 'text-warning-foreground',\n\t\tclose: 'text-warning-foreground/70 hover:text-warning-foreground hover:bg-warning/20',\n\t},\n};\n\nconst ICONS: Record<NotificationType, React.ElementType> = {\n\tinfo: Info,\n\tsuccess: BadgeCheck,\n\terror: CircleAlert,\n\twarning: AlertTriangle,\n};\n\nfunction SanitizedSpan({ html }: { html: string }) {\n\treturn React.createElement('span', { dangerouslySetInnerHTML: { __html: html } });\n}\n\nexport function NotificationBanner({\n\ttype = 'info',\n\tdismissible = false,\n\ttitle,\n\tmessage,\n\tonDismiss,\n\tchildren,\n\tasHTML = false,\n\tdismissAriaLabel = 'Dismiss notification',\n\tclassName,\n}: NotificationBannerProps) {\n\tconst tone = TONES[type];\n\tconst IconComponent = ICONS[type];\n\tconst sanitizedHtml = React.useMemo(\n\t\t() => sanitizeHtml(message ?? (typeof children === 'string' ? children : '')),\n\t\t[children, message],\n\t);\n\tconst hasTitle = !!title;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"status\"\n\t\t\tclassName={cn('notification-banner--component', \n\t\t\t\t'flex w-full items-start gap-3 rounded-lg border px-4 py-3',\n\t\t\t\t'animate-in fade-in-0 slide-in-from-bottom-1 duration-200',\n\t\t\t\ttone.wrapper,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<span\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'mt-0.5 inline-flex size-8 shrink-0 items-center justify-center rounded-full',\n\t\t\t\t\ttone.iconRing,\n\t\t\t\t\ttone.iconColor,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<IconComponent className=\"size-4\" />\n\t\t\t</span>\n\n\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t{hasTitle && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\ttag=\"div\"\n\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\tclassName=\"leading-snug text-foreground\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"div\"\n\t\t\t\t\ttype={hasTitle ? 'secondary' : 'main'}\n\t\t\t\t\tclassName={cn('break-words leading-snug', hasTitle && 'mt-0.5')}\n\t\t\t\t>\n\t\t\t\t\t{!!asHTML && <SanitizedSpan html={sanitizedHtml} />}\n\t\t\t\t\t{!asHTML && (message ?? children)}\n\t\t\t\t</Text>\n\t\t\t</div>\n\n\t\t\t{!!dismissible && (\n\t\t\t\t<Button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\tsize=\"icon-small\"\n\t\t\t\t\taria-label={dismissAriaLabel}\n\t\t\t\t\tonClick={onDismiss}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'-mr-1 inline-flex size-7 shrink-0 items-center justify-center rounded-md transition-colors',\n\t\t\t\t\t\t'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40',\n\t\t\t\t\t\ttone.close,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<X className=\"size-4\" />\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nNotificationBanner.displayName = 'NotificationBanner';\n\nexport default NotificationBanner;\n","/**\n * PlaceholderPattern — diagonal-stripe SVG fill suitable as a skeleton or\n * empty-region indicator. Uses a unique pattern id per instance so multiple\n * copies on the same page don't collide.\n */\nimport { useId } from 'react';\n\nimport { cn } from '@/lib/utils';\nexport interface PlaceholderPatternProps {\n\tclassName?: string;\n}\n\nexport function PlaceholderPattern({ className }: PlaceholderPatternProps) {\n\tconst patternId = useId();\n\n\treturn (\n\t\t<svg\n\t\t\tclassName={cn('placeholder-pattern--component', className)}\n\t\t\tfill=\"none\"\n\t\t\tstroke=\"currentColor\"\n\t\t\taria-hidden=\"true\"\n\t\t>\n\t\t\t<defs>\n\t\t\t\t<pattern\n\t\t\t\t\tid={patternId}\n\t\t\t\t\tx=\"0\"\n\t\t\t\t\ty=\"0\"\n\t\t\t\t\twidth=\"10\"\n\t\t\t\t\theight=\"10\"\n\t\t\t\t\tpatternUnits=\"userSpaceOnUse\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M-3 13 15-5M-5 5l18-18M-1 21 17 3\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstrokeWidth=\"0.75\"\n\t\t\t\t\t\tstrokeLinecap=\"square\"\n\t\t\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t\t\t/>\n\t\t\t\t</pattern>\n\t\t\t</defs>\n\t\t\t<rect\n\t\t\t\tstroke=\"none\"\n\t\t\t\tfill={`url(#${patternId})`}\n\t\t\t\twidth=\"100%\"\n\t\t\t\theight=\"100%\"\n\t\t\t/>\n\t\t</svg>\n\t);\n}\n\nPlaceholderPattern.displayName = 'PlaceholderPattern';\n\n","/**\n * ShowIf — conditional render gate. Returns `children` when `when` is truthy,\n * otherwise the optional `fallback`. Useful for inline presentation logic\n * where a ternary would be noisier than a self-explanatory tag.\n */\nimport type { ReactNode } from 'react';\n\nexport type ShowIfProps = { when: boolean; children: ReactNode; fallback?: ReactNode };\n\nexport function ShowIf({ when, children, fallback = null }: ShowIfProps) {\n\tif (when) return children;\n\tif (fallback) return fallback;\n\treturn null;\n}\n\nShowIf.displayName = 'ShowIf';\n\nexport default ShowIf;\n\n","/**\n * ThrottleAlert — destructive alert for rate-limit / throttling errors.\n *\n * Single header icon, primary message, and a tight inline meta row showing\n * `attempts` and `remaining`. Use as a banner above a form when a request\n * has been blocked and the user must wait. Strings overridable for i18n.\n */\nimport { ShieldAlert, Clock, RotateCcw } from 'lucide-react';\n\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nexport interface ThrottleAlertStrings {\n\tmaxAttempts: string;\n\ttryAgainIn: string;\n}\n\nexport const defaultThrottleAlertStrings: ThrottleAlertStrings = {\n\tmaxAttempts: 'Max attempts',\n\ttryAgainIn: 'Try again in',\n};\n\nexport interface ThrottleAlertProps {\n\tmessage: string;\n\tattempts: number;\n\tremaining: string;\n\tclassName?: string;\n\tstrings?: StringsProp<ThrottleAlertStrings>;\n}\n\nexport function ThrottleAlert({\n\tmessage,\n\tattempts,\n\tremaining,\n\tclassName,\n\tstrings: stringsProp,\n}: ThrottleAlertProps) {\n\tconst strings = useStrings(defaultThrottleAlertStrings, stringsProp);\n\n\treturn (\n\t\t<div\n\t\t\trole=\"alert\"\n\t\t\tclassName={cn('throttle-alert--component', \n\t\t\t\t'flex items-start gap-3 rounded-lg border border-destructive/30 bg-destructive/5 px-4 py-3',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<span\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName=\"mt-0.5 inline-flex size-8 shrink-0 items-center justify-center rounded-full bg-destructive/15 text-destructive\"\n\t\t\t>\n\t\t\t\t<ShieldAlert className=\"size-4\" />\n\t\t\t</span>\n\t\t\t<div className=\"min-w-0 flex-1 space-y-1.5\">\n\t\t\t\t<Text weight=\"medium\" className=\"text-destructive leading-snug\">\n\t\t\t\t\t{message}\n\t\t\t\t</Text>\n\t\t\t\t<div className=\"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-destructive/80\">\n\t\t\t\t\t<span className=\"inline-flex items-center gap-1.5\">\n\t\t\t\t\t\t<RotateCcw className=\"size-3\" aria-hidden=\"true\" />\n\t\t\t\t\t\t<span>{strings.maxAttempts}</span>\n\t\t\t\t\t\t<span className=\"font-semibold tabular-nums text-destructive\">{attempts}</span>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"inline-flex items-center gap-1.5\">\n\t\t\t\t\t\t<Clock className=\"size-3\" aria-hidden=\"true\" />\n\t\t\t\t\t\t<span>{strings.tryAgainIn}</span>\n\t\t\t\t\t\t<span className=\"font-semibold tabular-nums text-destructive\">{remaining}</span>\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nThrottleAlert.displayName = 'ThrottleAlert';\n","/**\n * VisuallyHidden — hides content from sighted users while keeping it readable\n * by assistive tech (screen readers, voice). Use to label icon-only buttons,\n * give context to status changes, or expose extra structure for AT users.\n */\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport interface VisuallyHiddenProps {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport function VisuallyHidden({ children, className }: VisuallyHiddenProps) {\n\treturn (\n\t\t<span\n\t\t\tclassName={cn('visually-hidden--component', \n\t\t\t\t'absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0',\n\t\t\t\t'[clip:rect(0,0,0,0)]',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{children}\n\t\t</span>\n\t);\n}\n\nVisuallyHidden.displayName = 'VisuallyHidden';\n","/**\n * StackedAvatars — overlapping avatar group with optional `+N` overflow chip,\n * configurable size, and an optional semantic `tone` for fallbacks (initials)\n * when the consumer hasn't passed `imageUrl`.\n *\n * Wraps the shadcn AvatarGroup primitive with library-default sizes and a\n * deterministic tone picker so fallbacks stay stable without raw hue utilities.\n */\nimport * as React from 'react';\nimport {\n\tAvatar,\n\tAvatarFallback,\n\tAvatarGroup,\n\tAvatarGroupCount,\n\tAvatarImage,\n} from './avatar';\nimport { Text } from '@/components/typography';\nimport type { ComponentScale } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\n\nexport type StackedAvatarsSize = ComponentScale;\nexport type StackedAvatarTone =\n\t| 'muted'\n\t| 'primary'\n\t| 'secondary'\n\t| 'info'\n\t| 'success'\n\t| 'warning'\n\t| 'destructive';\n\nexport interface StackedAvatarUser {\n\tid?: string;\n\tname: string;\n\timageUrl?: string;\n\t/** Optional semantic tone override for this user's fallback. Numeric values map to the token set. */\n\ttone?: StackedAvatarTone | number;\n}\n\nexport interface StackedAvatarsProps {\n\tusers: StackedAvatarUser[];\n\tmax?: number;\n\tsize?: StackedAvatarsSize;\n\tclassName?: string;\n\t/** Whether to render a `+N` count when `users.length > max`. Default `true`. */\n\tshowOverflow?: boolean;\n\t/** Provide custom overflow text (e.g. \"+12 more\"). Default `+N`. */\n\toverflowFormatter?: (overflow: number) => React.ReactNode;\n\t/** Extra class names applied to each avatar root. */\n\tavatarClassName?: string;\n}\n\nconst FALLBACK_TONES: StackedAvatarTone[] = [\n\t'muted',\n\t'primary',\n\t'secondary',\n\t'info',\n\t'success',\n];\n\nconst FALLBACK_TONE_CLASSNAMES: Record<StackedAvatarTone, string> = {\n\tmuted: 'bg-muted text-muted-foreground',\n\tprimary: 'bg-primary/10 text-primary',\n\tsecondary: 'bg-secondary text-secondary-foreground',\n\tinfo: 'bg-info/10 text-info',\n\tsuccess: 'bg-success/10 text-success',\n\twarning: 'bg-warning/15 text-warning',\n\tdestructive: 'bg-destructive/10 text-destructive',\n};\n\nfunction getInitials(name: string, compact = false): string {\n\tconst parts = name.trim().split(/\\s+/);\n\tif (parts.length === 0) return '?';\n\tif (compact) return parts[0].slice(0, 1).toUpperCase();\n\tif (parts.length === 1) return parts[0].slice(0, 2).toUpperCase();\n\treturn (parts[0][0] + parts[parts.length - 1][0]).toUpperCase();\n}\n\nfunction pickFallbackTone(seed: string | number, override?: StackedAvatarTone | number) {\n\tif (typeof override === 'string') {\n\t\treturn override;\n\t}\n\tif (typeof override === 'number') {\n\t\treturn FALLBACK_TONES[Math.abs(override) % FALLBACK_TONES.length];\n\t}\n\tconst key = typeof seed === 'number' ? seed : Array.from(seed).reduce((s, c) => s + c.charCodeAt(0), 0);\n\treturn FALLBACK_TONES[key % FALLBACK_TONES.length];\n}\n\nfunction normalizeStackedAvatarsSize(size: StackedAvatarsSize | string | undefined): StackedAvatarsSize {\n\tif (size === 'small' || size === 'default') return size;\n\tif (size === 'xs' || size === 'sm') return 'small';\n\treturn 'default';\n}\n\nexport function StackedAvatars({\n\tusers,\n\tmax = 4,\n\tsize = 'default',\n\tclassName,\n\tshowOverflow = true,\n\toverflowFormatter,\n\tavatarClassName,\n}: StackedAvatarsProps) {\n\tconst visible = users.slice(0, max);\n\tconst overflow = Math.max(0, users.length - max);\n\tconst resolvedSize = normalizeStackedAvatarsSize(size);\n\n\treturn (\n\t\t<AvatarGroup className={cn('stacked-avatars--component', className)}>\n\t\t\t{visible.map((user, index) => {\n\t\t\t\tconst initials = getInitials(user.name, resolvedSize === 'small');\n\t\t\t\tconst fallbackTone = pickFallbackTone(user.id ?? user.name ?? index, user.tone);\n\t\t\t\treturn (\n\t\t\t\t\t<Avatar\n\t\t\t\t\t\tkey={user.id ?? `${user.name}-${index}`}\n\t\t\t\t\t\tsize={resolvedSize}\n\t\t\t\t\t\tclassName={cn('ring-background', avatarClassName)}\n\t\t\t\t\t\ttitle={user.name}\n\t\t\t\t\t>\n\t\t\t\t\t\t{user.imageUrl ? (\n\t\t\t\t\t\t\t<AvatarImage src={user.imageUrl} alt={user.name} />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<AvatarFallback\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'font-semibold',\n\t\t\t\t\t\t\t\tFALLBACK_TONE_CLASSNAMES[fallbackTone],\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{initials}\n\t\t\t\t\t\t</AvatarFallback>\n\t\t\t\t\t</Avatar>\n\t\t\t\t);\n\t\t\t})}\n\t\t\t{!!showOverflow && overflow > 0 && (\n\t\t\t\t<AvatarGroupCount>\n\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\">\n\t\t\t\t\t\t{overflowFormatter ? overflowFormatter(overflow) : `+${overflow}`}\n\t\t\t\t\t</Text>\n\t\t\t\t</AvatarGroupCount>\n\t\t\t)}\n\t\t</AvatarGroup>\n\t);\n}\n\nStackedAvatars.displayName = 'StackedAvatars';\n","/**\n * DateBlock — compact \"boxed\" date display showing weekday + day-of-month\n * + optional month and time. Built on `date-fns` so locales propagate\n * naturally (`enGB`, `bg`, …).\n *\n * Two layouts:\n * - `stacked` (default) — three lines: weekday / day / month\n * - `inline` — single row: weekday + day + month + optional time\n *\n * Time can render `inline` (right of the date), `below` (under the date\n * block), or `hidden`. Compact rooms (booking lists) typically use\n * `stacked` with `time=\"below\"`.\n */\nimport { format, type Locale } from 'date-fns';\n\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nexport type DateBlockLayout = 'stacked' | 'inline';\nexport type DateBlockTimePlacement = 'inline' | 'below' | 'hidden';\nexport type DateBlockTone = 'default' | 'muted' | 'primary' | 'inverse' | 'success' | 'warning' | 'destructive' | 'info';\n\nexport interface DateBlockStrings {\n\t/** Used by `inline` layout when month is hidden (e.g. \"Apr 30 · 14:00\"). */\n\tseparator: string;\n}\n\nexport const defaultDateBlockStrings: DateBlockStrings = {\n\tseparator: '·',\n};\n\nexport interface DateBlockProps {\n\t/** Date instance, ISO string, or unix timestamp. */\n\tdate: Date | string | number;\n\t/** ISO time string (`HH:mm`) or already-formatted time string. */\n\ttime?: string | null;\n\t/** date-fns `Locale` (e.g. `enGB`, `bg`). Defaults to user-agent. */\n\tlocale?: Locale;\n\t/** Layout. Default `stacked`. */\n\tlayout?: DateBlockLayout;\n\t/** Where to place the time. Default `inline` for `inline` layout, `below` for `stacked`. */\n\ttimePlacement?: DateBlockTimePlacement;\n\t/** Tone of the boxed block. Default `default` (card surface). */\n\ttone?: DateBlockTone;\n\t/** Whether to render a card-like box around the block. Default `true` for stacked, `false` for inline. */\n\tboxed?: boolean;\n\t/** Show month label. Default `true`. */\n\tshowMonth?: boolean;\n\t/** Custom format for the day-of-month token (date-fns format). Default `'d'`. */\n\tdayFormat?: string;\n\t/** Custom format for the weekday token. Default `'EEE'`. */\n\tweekdayFormat?: string;\n\t/** Custom format for the month token. Default `'MMM'`. */\n\tmonthFormat?: string;\n\tclassName?: string;\n\tstrings?: StringsProp<DateBlockStrings>;\n}\n\nconst toneClassMap: Record<DateBlockTone, { bg: string; text: string; border: string; accent: string; subtle: string }> = {\n\tdefault: { bg: 'bg-card', text: 'text-foreground', border: 'border-border', accent: 'text-foreground', subtle: 'text-muted-foreground' },\n\tinverse: { bg: 'bg-primary', text: 'text-background', border: 'border-primary', accent: 'text-background/80', subtle: 'text-background/65' },\n\tmuted: { bg: 'bg-muted/50', text: 'text-foreground', border: 'border-border', accent: 'text-foreground', subtle: 'text-muted-foreground' },\n\tprimary: { bg: 'bg-primary/10', text: 'text-foreground', border: 'border-primary/30', accent: 'text-primary', subtle: 'text-muted-foreground' },\n\tsuccess: { bg: 'bg-success/10', text: 'text-foreground', border: 'border-success/30', accent: 'text-success', subtle: 'text-muted-foreground' },\n\twarning: { bg: 'bg-warning/15', text: 'text-foreground', border: 'border-warning/40', accent: 'text-warning-foreground', subtle: 'text-muted-foreground' },\n\tdestructive: { bg: 'bg-destructive/10', text: 'text-foreground', border: 'border-destructive/30', accent: 'text-destructive', subtle: 'text-muted-foreground' },\n\tinfo: { bg: 'bg-info/10', text: 'text-foreground', border: 'border-info/30', accent: 'text-info', subtle: 'text-muted-foreground' },\n};\n\nfunction resolveDate(input: Date | string | number): Date {\n\tif (input instanceof Date) return input;\n\tconst d = typeof input === 'number' ? new Date(input) : new Date(input);\n\treturn d;\n}\n\nexport function DateBlock({\n\tdate,\n\ttime,\n\tlocale,\n\tlayout = 'stacked',\n\ttimePlacement,\n\ttone = 'default',\n\tboxed,\n\tshowMonth = true,\n\tdayFormat = 'd',\n\tweekdayFormat = 'EEE',\n\tmonthFormat = 'MMM',\n\tclassName,\n\tstrings: stringsProp,\n}: DateBlockProps) {\n\tconst resolved = resolveDate(date);\n\tconst strings = useStrings(defaultDateBlockStrings, stringsProp);\n\tconst tones = toneClassMap[tone];\n\tconst dateValid = !Number.isNaN(resolved.getTime());\n\n\tconst weekday = dateValid ? format(resolved, weekdayFormat, locale ? { locale } : undefined) : '';\n\tconst day = dateValid ? format(resolved, dayFormat, locale ? { locale } : undefined) : '';\n\tconst month = dateValid ? format(resolved, monthFormat, locale ? { locale } : undefined) : '';\n\n\tconst resolvedTimePlacement: DateBlockTimePlacement =\n\t\ttimePlacement ?? (layout === 'inline' ? 'inline' : 'below');\n\tconst useBox = boxed ?? layout === 'stacked';\n\n\tif (layout === 'inline') {\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName={cn('date-block--component', \n\t\t\t\t\t'inline-flex items-center gap-1.5 tabular-nums',\n\t\t\t\t\tuseBox && cn('rounded-md border px-2 py-1', tones.bg, tones.border),\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<Text size=\"xs\" weight=\"semibold\" className={cn(tones.accent, 'uppercase tracking-wide')}>\n\t\t\t\t\t{weekday}\n\t\t\t\t</Text>\n\t\t\t\t<Text weight=\"semibold\">{day}</Text>\n\t\t\t\t{!!showMonth && (\n\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"uppercase tracking-wide\">\n\t\t\t\t\t\t{month}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t\t{!!time && resolvedTimePlacement === 'inline' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Text size=\"xs\" type=\"discrete\" aria-hidden>\n\t\t\t\t\t\t\t{strings.separator}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\">{time}</Text>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={cn('inline-flex flex-col items-center gap-0.5', className)}>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'flex flex-col items-center justify-center gap-1 tabular-nums',\n\t\t\t\t\tuseBox && cn('w-14 min-h-14 rounded-md border px-1.5 py-1.5', tones.bg, tones.border),\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\tstyle={{ lineHeight: 1 }}\n\t\t\t\t\tclassName={cn(tones.accent, 'uppercase tracking-wider')}\n\t\t\t\t>\n\t\t\t\t\t{weekday}\n\t\t\t\t</Text>\n\t\t\t\t<Text size=\"lg\" weight=\"bold\" style={{ lineHeight: 1 }} className={tones.text}>\n\t\t\t\t\t{day}\n\t\t\t\t</Text>\n\t\t\t\t{!!showMonth && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\tstyle={{ lineHeight: 1 }}\n\t\t\t\t\t\tclassName={cn(tones.subtle, 'uppercase tracking-wider')}\n\t\t\t\t\t>\n\t\t\t\t\t\t{month}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{!!time && resolvedTimePlacement === 'below' && (\n\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"tabular-nums\">\n\t\t\t\t\t{time}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t\t{!!time && resolvedTimePlacement === 'inline' && (\n\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"tabular-nums\">\n\t\t\t\t\t{time}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nDateBlock.displayName = 'DateBlock';\n","import { Collapsible as CollapsiblePrimitive } from \"@base-ui/react/collapsible\"\nimport * as React from \"react\"\n\nimport { Slot } from \"@/components/ui/slot\"\n\nfunction Collapsible({ ...props }: CollapsiblePrimitive.Root.Props) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />\n}\n\nfunction CollapsibleTrigger({\n asChild = false,\n nativeButton,\n render,\n children,\n ...props\n}: CollapsiblePrimitive.Trigger.Props & { asChild?: boolean; nativeButton?: boolean }) {\n const slotRender = asChild ? <Slot /> : undefined\n const safeRender: CollapsiblePrimitive.Trigger.Props[\"render\"] = typeof render === \"function\"\n ? ((renderProps, state) => {\n const { nativeButton: _nativeButton, ...rest } = renderProps as Record<string, unknown>\n void _nativeButton\n return render(rest as typeof renderProps, state)\n })\n : render\n let inferredNativeButton = true\n if (asChild && React.isValidElement(children)) {\n if (typeof children.type === \"string\") {\n inferredNativeButton = children.type === \"button\"\n } else {\n const childProps = (children.props ?? {}) as Record<string, unknown>\n inferredNativeButton = !(\"href\" in childProps)\n }\n }\n const resolvedNativeButton = nativeButton ?? (asChild ? inferredNativeButton : true)\n return (\n <CollapsiblePrimitive.Trigger\n data-slot=\"collapsible-trigger\"\n render={slotRender ?? safeRender}\n nativeButton={resolvedNativeButton}\n {...props}\n >\n {children}\n </CollapsiblePrimitive.Trigger>\n )\n}\n\nfunction CollapsibleContent({ ...props }: CollapsiblePrimitive.Panel.Props) {\n return (\n <CollapsiblePrimitive.Panel data-slot=\"collapsible-content\" {...props} />\n )\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n","import { AlertTriangle, Info } from 'lucide-react';\nimport { useCallback, useMemo, type ReactNode } from 'react';\n\nimport { MoneyInput as BaseMoneyInput, type MoneyInputProps as BaseMoneyInputProps } from '@/components/base/forms/fields/money-input';\nimport { FormField } from '@/components/base/forms/form-field';\nimport { Text } from '@/components/typography';\nimport { Alert, AlertDescription } from '@/components/base/display/alert';\nimport { cn } from '@/lib/utils';\nimport type { CurrencyCode } from '@/lib/ui-provider';\n\n/** Optional money payload for migration hints. Consumers map their domain\n * shape into this — `formatted` is the consumer's pre-rendered display\n * string for the alternate currency leg. */\nexport interface MoneyData {\n amount?: number | string | null;\n currency?: string | null;\n /** Optional original/record currency that triggered a migration warning. */\n recordCurrency?: string | null;\n /** Optional secondary leg the consumer formatted for display. */\n pair?: { formatted?: string | null } | null;\n}\n\nexport interface MoneyInputData {\n amount: number;\n currency: CurrencyCode;\n}\n\nexport interface MoneyInputProps extends Omit<BaseMoneyInputProps, 'invalid'> {\n /** Optional money payload for migration hints */\n money?: MoneyData | null;\n /** Display label */\n label?: string;\n /** Hint next to label */\n hint?: string;\n /** Helper text below input */\n helperText?: string;\n /** Error message */\n error?: string;\n /** Required indicator */\n required?: boolean;\n /** Invalid state override */\n invalid?: boolean;\n /** Optional change handler for combined data */\n onChangeData?: (data: MoneyInputData) => void;\n /** Record currency for migration detection */\n recordCurrency?: CurrencyCode;\n /** Show migration warning block */\n showMigrationWarning?: boolean;\n /** Custom migration warning message */\n migrationWarningMessage?: ReactNode;\n /** Show original currency hint */\n showOriginalHint?: boolean;\n}\n\nconst defaultEmptyFormatted = '—';\n\nconst resolveFormatted = (formatted: unknown): string =>\n typeof formatted === 'string' ? formatted.trim() : '';\n\nexport function MoneyInput({\n money,\n currency = 'EUR',\n onChangeData,\n recordCurrency: recordCurrencyProp,\n label,\n hint,\n helperText,\n error,\n required,\n invalid,\n showMigrationWarning = true,\n migrationWarningMessage,\n showOriginalHint = true,\n className,\n onChange,\n onCurrencyChange,\n ...props\n}: MoneyInputProps) {\n const recordCurrency = recordCurrencyProp ?? money?.recordCurrency ?? undefined;\n\n const willMigrate = useMemo(\n () => recordCurrency !== undefined && recordCurrency !== currency,\n [recordCurrency, currency],\n );\n\n const otherFormatted = useMemo(() => {\n if (!showOriginalHint) return '';\n return resolveFormatted(money?.pair?.formatted);\n }, [showOriginalHint, money?.pair?.formatted]);\n\n const showOriginalHintBlock = otherFormatted.length > 0 && !error;\n const showMigrationBlock = willMigrate && showMigrationWarning;\n\n const handleAmountChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e);\n const parsed = Number.parseFloat(e.target.value);\n const safeAmount = Number.isFinite(parsed) ? parsed : 0;\n onChangeData?.({ amount: safeAmount, currency });\n },\n [onChange, onChangeData, currency],\n );\n\n const handleCurrencyChange = useCallback(\n (nextCurrency: CurrencyCode) => {\n onCurrencyChange?.(nextCurrency);\n const parsedValue = Number.parseFloat(String(props.value ?? ''));\n const safeAmount = Number.isFinite(parsedValue) ? parsedValue : 0;\n onChangeData?.({ amount: safeAmount, currency: nextCurrency });\n },\n [onCurrencyChange, onChangeData, props.value],\n );\n\n const isInvalid = invalid ?? Boolean(error);\n\n const inputNode = (\n <BaseMoneyInput\n {...props}\n currency={currency}\n onChange={handleAmountChange}\n onCurrencyChange={handleCurrencyChange}\n invalid={isInvalid}\n />\n );\n\n const hasChrome = Boolean(label || hint || helperText || error || required);\n const renderedInput = hasChrome ? (\n <FormField\n label={label}\n hint={hint}\n helperText={helperText}\n error={error}\n required={required}\n >\n {inputNode}\n </FormField>\n ) : inputNode;\n\n return (\n <div className={cn('money-input--component', 'space-y-2', className)}>\n {renderedInput}\n\n {!!showOriginalHintBlock && (\n <div className=\"flex items-center gap-1.5 text-muted-foreground\">\n <Info className=\"h-3.5 w-3.5 shrink-0\" />\n <Text size=\"xs\" type=\"secondary\">\n {otherFormatted || defaultEmptyFormatted}\n </Text>\n </div>\n )}\n\n {!!showMigrationBlock && (\n <Alert className=\"border-warning/50 bg-warning/5 py-2\">\n <AlertTriangle className=\"h-4 w-4 text-warning\" />\n <AlertDescription className=\"text-warning-foreground text-xs\">\n {migrationWarningMessage ??\n `Currency will be converted from ${recordCurrency ?? ''} to ${currency}.`}\n </AlertDescription>\n </Alert>\n )}\n </div>\n );\n}\n\nMoneyInput.displayName = 'MoneyInput';\n","/**\n * BooleanIndicator — labelled yes/no chip showing the truth of a value with an\n * optional check/cross icon. Use for compact metadata grids where each row\n * answers a single boolean question. Strings overridable for i18n.\n */\nimport { CheckCircle2, XCircle } from 'lucide-react';\nimport React from 'react';\nimport { Badge, type ComposedBadgeVariant } from '@/components/base/badge';\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nexport interface BooleanIndicatorStrings {\n\ttrue: string;\n\tfalse: string;\n}\n\nexport const defaultBooleanIndicatorStrings: BooleanIndicatorStrings = {\n\ttrue: 'Yes',\n\tfalse: 'No',\n};\n\nexport type BooleanIndicatorProps = {\n\tlabel: React.ReactNode;\n\tvalue?: boolean | null;\n\tshowIcon?: boolean;\n\ttrueVariant?: ComposedBadgeVariant;\n\tfalseVariant?: ComposedBadgeVariant;\n\tclassName?: string;\n\tbadgeClassName?: string;\n\tstrings?: StringsProp<BooleanIndicatorStrings>;\n\t/** @deprecated Use `strings.true` instead. */\n\ttrueLabel?: React.ReactNode;\n\t/** @deprecated Use `strings.false` instead. */\n\tfalseLabel?: React.ReactNode;\n};\n\nexport function BooleanIndicator({\n\tlabel,\n\tvalue = false,\n\ttrueLabel,\n\tfalseLabel,\n\tshowIcon = true,\n\ttrueVariant = 'success',\n\tfalseVariant = 'secondary',\n\tclassName,\n\tbadgeClassName,\n\tstrings: stringsProp,\n}: BooleanIndicatorProps) {\n\tconst strings = useStrings(defaultBooleanIndicatorStrings, stringsProp);\n\tconst isTrue = Boolean(value);\n\tconst Icon = isTrue ? CheckCircle2 : XCircle;\n\tconst badgeVariant = isTrue ? trueVariant : falseVariant;\n\tconst fallback = isTrue ? trueLabel : falseLabel;\n\tconst content = fallback ?? (isTrue ? strings.true : strings.false);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn('boolean-indicator--component', \n\t\t\t\t'flex items-center justify-between gap-space-md rounded-radius border border-border/60 bg-muted/30 px-row-x py-row-y',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<Text size=\"inherit\" type=\"secondary\" className=\"text-xs uppercase tracking-wide\">\n\t\t\t\t{label}\n\t\t\t</Text>\n\t\t\t<Badge\n\t\t\t\tvariant={badgeVariant}\n\t\t\t\tclassName={cn('whitespace-nowrap', badgeClassName)}\n\t\t\t>\n\t\t\t\t{!!showIcon && <Icon className=\"size-icon\" />}\n\t\t\t\t{content}\n\t\t\t</Badge>\n\t\t</div>\n\t);\n}\n\nBooleanIndicator.displayName = 'BooleanIndicator';\n\nexport default BooleanIndicator;\n","import { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Empty({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty\"\n className={cn(\n \"gap-4 rounded-lg border-dashed p-12 flex w-full min-w-0 flex-1 flex-col items-center justify-center text-center text-balance\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-header\"\n className={cn(\n \"gap-2 flex max-w-sm flex-col items-center\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst emptyMediaVariants = cva(\n \"mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction EmptyMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof emptyMediaVariants>) {\n return (\n <div\n data-slot=\"empty-icon\"\n data-variant={variant}\n className={cn(emptyMediaVariants({ variant, className }))}\n {...props}\n />\n )\n}\n\nfunction EmptyTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-title\"\n className={cn(\"text-lg font-medium tracking-tight\", className)}\n {...props}\n />\n )\n}\n\nfunction EmptyDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <div\n data-slot=\"empty-description\"\n className={cn(\n \"text-sm/relaxed text-muted-foreground [&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-content\"\n className={cn(\n \"gap-4 text-sm flex w-full max-w-sm min-w-0 flex-col items-center text-balance\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Empty,\n EmptyHeader,\n EmptyTitle,\n EmptyDescription,\n EmptyContent,\n EmptyMedia,\n}\n","import { Progress as ProgressPrimitive } from \"@base-ui/react/progress\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Progress({\n className,\n children,\n value,\n ...props\n}: ProgressPrimitive.Root.Props) {\n return (\n <ProgressPrimitive.Root\n value={value}\n data-slot=\"progress\"\n className={cn(\"flex flex-wrap gap-3\", className)}\n {...props}\n >\n {children}\n <ProgressTrack>\n <ProgressIndicator />\n </ProgressTrack>\n </ProgressPrimitive.Root>\n )\n}\n\nfunction ProgressTrack({ className, ...props }: ProgressPrimitive.Track.Props) {\n return (\n <ProgressPrimitive.Track\n className={cn(\n \"bg-muted h-1.5 rounded-full relative flex w-full items-center overflow-x-hidden\",\n className\n )}\n data-slot=\"progress-track\"\n {...props}\n />\n )\n}\n\nfunction ProgressIndicator({\n className,\n ...props\n}: ProgressPrimitive.Indicator.Props) {\n return (\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className={cn(\"bg-primary h-full transition-all\", className)}\n {...props}\n />\n )\n}\n\nfunction ProgressLabel({ className, ...props }: ProgressPrimitive.Label.Props) {\n return (\n <ProgressPrimitive.Label\n className={cn(\"text-sm font-medium\", className)}\n data-slot=\"progress-label\"\n {...props}\n />\n )\n}\n\nfunction ProgressValue({ className, ...props }: ProgressPrimitive.Value.Props) {\n return (\n <ProgressPrimitive.Value\n className={cn(\"text-muted-foreground ml-auto text-sm tabular-nums\", className)}\n data-slot=\"progress-value\"\n {...props}\n />\n )\n}\n\nexport {\n Progress,\n ProgressTrack,\n ProgressIndicator,\n ProgressLabel,\n ProgressValue,\n}\n","import { formatHex, oklch } from 'culori';\nimport QR from 'qrcode';\nimport type { HTMLAttributes } from 'react';\nimport { useEffect, useState } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type QRCodeProps = HTMLAttributes<HTMLDivElement> & {\n\tdata: string;\n\tforeground?: string;\n\tbackground?: string;\n\trobustness?: 'L' | 'M' | 'Q' | 'H';\n};\n\nconst oklchRegex = /oklch\\\\(([.\\\\d-]+)\\\\s+([.\\\\d]+)\\\\s+([.\\\\d]+)\\\\)/;\n\nfunction getOklch(color: string, fallback: [number, number, number]) {\n\tconst oklchMatch = color.match(oklchRegex);\n\n\tif (!oklchMatch) {\n\t\treturn { l: fallback[0], c: fallback[1], h: fallback[2] };\n\t}\n\n\treturn {\n\t\tl: Number.parseFloat(oklchMatch[1]),\n\t\tc: Number.parseFloat(oklchMatch[2]),\n\t\th: Number.parseFloat(oklchMatch[3]),\n\t};\n}\n\nexport function QRCode({\n\tdata,\n\tforeground,\n\tbackground,\n\trobustness = 'M',\n\tclassName,\n\t...props\n}: QRCodeProps) {\n\tconst [svg, setSvg] = useState<string | null>(null);\n\n\tuseEffect(() => {\n\t\tconst generateQR = async () => {\n\t\t\ttry {\n\t\t\t\tconst text = String(data ?? '').trim();\n\t\t\t\tif (!text) {\n\t\t\t\t\tsetSvg(null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst styles = getComputedStyle(document.documentElement);\n\t\t\t\tconst foregroundColor =\n\t\t\t\t\tforeground ?? styles.getPropertyValue('--foreground');\n\t\t\t\tconst backgroundColor =\n\t\t\t\t\tbackground ?? styles.getPropertyValue('--background');\n\n\t\t\t\tconst foregroundOklch = getOklch(foregroundColor, [\n\t\t\t\t\t0.21, 0.006, 285.885,\n\t\t\t\t]);\n\t\t\t\tconst backgroundOklch = getOklch(backgroundColor, [0.985, 0, 0]);\n\n\t\t\t\tconst newSvg = await QR.toString(text, {\n\t\t\t\t\ttype: 'svg',\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tdark: formatHex(\n\t\t\t\t\t\t\toklch({ mode: 'oklch', ...foregroundOklch }),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tlight: formatHex(\n\t\t\t\t\t\t\toklch({ mode: 'oklch', ...backgroundOklch }),\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t\twidth: 200,\n\t\t\t\t\terrorCorrectionLevel: robustness,\n\t\t\t\t\tmargin: 0,\n\t\t\t\t});\n\n\t\t\t\tsetSvg(newSvg);\n\t\t\t} catch {\n\t\t\t\t// QR generation failure (invalid data, oversized payload) — render falls\n\t\t\t\t// back to empty SVG; consumer can surface their own error from the parent.\n\t\t\t\tsetSvg('');\n\t\t\t}\n\t\t};\n\n\t\tvoid generateQR();\n\t}, [data, foreground, background, robustness]);\n\n\tif (!svg) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn('qr-code--component', 'size-full', '[&_svg]:size-full', className)}\n\t\t\tdangerouslySetInnerHTML={{ __html: svg }}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport default QRCode;\n\nQRCode.displayName = 'QRCode';\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./chunk-CMqjfN_6.cjs"),t=require("../lib/strings.cjs"),n=require("./ui-provider-CrsJ_dGn.cjs"),r=require("../lib/utils.cjs"),i=require("./button-CfQtOuBK.cjs"),a=require("./buttons-DABiSx6N.cjs"),o=require("./typography-CWEobAJV.cjs"),s=require("./icon-badge-CU6ZkcER.cjs"),c=require("./badge-C65rt1M9.cjs"),l=require("./cards-m03XN10f.cjs"),u=require("./input-Dvvmn96E.cjs"),d=require("./checkbox-ECGg8wjW.cjs"),f=require("./form-sizing-DJus3nK3.cjs"),p=require("./textarea-bHFAtwYd.cjs"),m=require("./select-CG5Yq-6A.cjs"),h=require("./display-BqoPOdof.cjs"),g=require("./card-radio-group-DKhZhBFV.cjs"),_=require("./date-picker-CrC-lHyF.cjs"),v=require("./popover-dWR7-MzY.cjs");let y=require("react");y=e.t(y,1);let b=require("react/jsx-runtime"),x=require("lucide-react"),S=require("@base-ui/react/switch"),C=require("@base-ui/react/slider"),w=require("@base-ui/react/radio"),T=require("@base-ui/react/radio-group"),E=require("@dnd-kit/core"),D=require("@dnd-kit/sortable"),O=require("@dnd-kit/utilities"),k=require("react-hook-form");var A={showPassword:`Show password`,hidePassword:`Hide password`},j=y.forwardRef(function({visible:e,defaultVisible:n=!1,onVisibilityChange:i,revealable:a=!0,wrapperClassName:o,visibilityButtonClassName:s,className:c,disabled:l,isLoading:d,inputStrings:f,strings:p,...m},h){let g=t.useStrings(A,p),[_,v]=y.useState(n),S=e!==void 0,C=S?e:_,w=l||d,T=y.useCallback(()=>{let e=!C;S||v(e),i?.(e)},[S,C,i]);return(0,b.jsxs)(`div`,{className:r.cn(`password-input--component`,`relative`,o),children:[(0,b.jsx)(u.t,{ref:h,type:C?`text`:`password`,disabled:l,isLoading:d,className:r.cn(a&&`pe-10`,c),strings:f,...m}),!!a&&(0,b.jsx)(`button`,{type:`button`,className:r.cn(`password-input--toggle`,`text-muted-foreground/80 hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md transition-[color,box-shadow] outline-none focus-visible:z-10 focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,s),"aria-label":C?g.hidePassword:g.showPassword,"aria-pressed":C,disabled:w,onMouseDown:e=>e.preventDefault(),onClick:T,children:C?(0,b.jsx)(x.EyeOff,{className:`size-4`,"aria-hidden":`true`}):(0,b.jsx)(x.Eye,{className:`size-4`,"aria-hidden":`true`})})]})});j.displayName=`PasswordInput`;function M(e,{separator:t=`-`,lowercase:n=!0,trim:r=!0}={}){let i=t||`-`,a=i.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),o=String(e??``).normalize(`NFKD`).replace(/[\u0300-\u036f]/g,``).replace(/&/g,` and `).replace(/['’]/g,``);return n&&(o=o.toLowerCase()),o=o.replace(/[^\p{Letter}\p{Number}]+/gu,i).replace(RegExp(`${a}{2,}`,`g`),i),r&&(o=o.replace(RegExp(`^${a}|${a}$`,`g`),``)),o}var N=y.forwardRef(function({value:e,slugify:t,separator:n=`-`,lowercase:i=!0,trim:a=!0,wrapperClassName:o,className:s,...c},l){let d=y.useMemo(()=>t?.(e)??M(e,{separator:n,lowercase:i,trim:a}),[i,n,t,a,e]);return(0,b.jsx)(`div`,{className:r.cn(`slug-field--component`,o),children:(0,b.jsx)(u.t,{ref:l,...c,type:`text`,value:d,readOnly:!0,className:s})})});N.displayName=`SlugField`;var P={placeholder:`Select an option`},F=`__select_empty__`,I=e=>e===``||e===null?F:e??void 0,L=e=>{if(e!==F)return e},R=(0,y.memo)((0,y.forwardRef)(({options:e,placeholder:i,strings:a,allowClear:o=!1,invalid:s,size:c,className:l,onChange:u,disabled:d,defaultOpen:p,open:h,onOpenChange:g,name:_,required:v,"aria-label":x,value:S,defaultValue:C},w)=>{let T=t.useStrings(P,a),{defaultControlSize:E}=n.o(),D=f.f(c,E),O=i??T.placeholder,k=(0,y.useMemo)(()=>{let t=e.map(e=>({...e,value:I(e.value)??``}));return o&&(t.some(e=>e.value===F)||t.unshift({label:O,value:F})),t},[e,o,O]),A=(0,y.useMemo)(()=>I(S),[S]),j=(0,y.useMemo)(()=>I(C),[C]),M=(0,y.useMemo)(()=>{let e=A??j;if(e!==void 0)return k.find(t=>t.value===e)?.label},[j,k,A]),N=(0,y.useCallback)(e=>{e!==null&&u?.(L(e))},[u]),R=!!s;return(0,b.jsxs)(m.t,{onValueChange:e=>N(e),disabled:d,defaultOpen:p,open:h,onOpenChange:g,name:_,required:v,value:A,defaultValue:j,children:[(0,b.jsx)(m.a,{ref:w,"aria-label":x,"aria-invalid":R||void 0,className:r.cn(`select--component`,`flex w-full items-center justify-between rounded-radius border !shadow-none`,`transition-[color,box-shadow] outline-none`,f.u[D],f.l[D],f.s[D],`bg-transparent dark:bg-input/30`,`data-[placeholder]:text-muted-foreground`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,`disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,l),children:(0,b.jsx)(m.o,{placeholder:O,children:M})}),(0,b.jsx)(m.n,{children:(0,b.jsx)(m.r,{children:k.map(e=>(0,b.jsxs)(m.i,{value:e.value,disabled:e.disabled,children:[!!e.icon&&(0,b.jsxs)(`div`,{className:r.cn(`flex items-center`,f.s[D]),children:[(0,b.jsx)(`span`,{className:r.cn(f.a[D],`shrink-0`),children:e.icon}),e.label]}),!e.icon&&e.label]},e.value))})})]})}));R.displayName=`Select`;function z({className:e,size:t=`default`,...n}){return(0,b.jsx)(S.Switch.Root,{"data-slot":`switch`,"data-size":t,className:r.cn(`data-checked:bg-primary data-unchecked:bg-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 aria-invalid:border-destructive shrink-0 rounded-full border border-transparent focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-5 data-[size=default]:w-9 data-[size=sm]:h-4 data-[size=sm]:w-7 peer group/switch relative inline-flex items-center transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 data-disabled:cursor-not-allowed data-disabled:opacity-50`,e),...n,children:(0,b.jsx)(S.Switch.Thumb,{"data-slot":`switch-thumb`,className:`bg-background rounded-full shadow-sm group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[16px] group-data-[size=sm]/switch:data-checked:translate-x-[12px] group-data-[size=default]/switch:data-unchecked:translate-x-0.5 group-data-[size=sm]/switch:data-unchecked:translate-x-0.5 pointer-events-none block ring-0 transition-transform`})})}var B=(0,y.forwardRef)(function({onCheckedChange:e,invalid:t,className:n,...i},a){let o=(0,y.useId)(),s=(0,y.useMemo)(()=>i.name?String(i.name):i.id?String(i.id):`switch-${o}`,[o,i.id,i.name]),c=i.id??s,l=(0,y.useCallback)(t=>{e?.({target:{name:s,value:t}})},[s,e]);return(0,b.jsx)(z,{ref:a,...i,onCheckedChange:l,id:c,name:s,"aria-invalid":t||void 0,className:r.cn(`switch--component`,t&&`data-[state=unchecked]:border-destructive`,n)})});B.displayName=`Switch`;var V=(0,y.forwardRef)(function({onCheckedChange:e,invalid:t,className:n,...i},a){return(0,b.jsx)(z,{ref:a,...i,onCheckedChange:t=>e?.(t),"aria-invalid":t||void 0,className:r.cn(t&&`data-[state=unchecked]:border-destructive`,n)})});V.displayName=`ToggleSwitch`;function H({label:e,description:t,hint:n,icon:i,name:a,value:s,defaultValue:c,onChange:l,disabled:u=!1,invalid:d,className:f}){let p=s!==void 0,[m,h]=(0,y.useState)(c??!1),g=p?s??!1:m,_=(0,y.useId)(),v=(0,y.useMemo)(()=>a??_,[a,_]),x=typeof t==`string`&&t.trim()!==``,S=x?`${v}-description`:void 0,C=(0,y.useCallback)(e=>{u||(p||h(e),l?.(e))},[u,p,l]),w=(0,y.useCallback)(e=>{e.target.closest(`[role="switch"]`)||C(!g)},[g,C]);return(0,b.jsxs)(`div`,{"aria-invalid":d||void 0,onClick:w,className:r.cn(`switch-card--component`,`group relative flex items-start gap-3 rounded-lg border bg-card p-4 transition-[background,border-color,box-shadow] duration-150`,`border-border`,g&&`border-primary bg-primary/[0.04]`,`aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20`,!u&&`cursor-pointer hover:border-foreground/20 hover:bg-muted/30`,u&&`cursor-not-allowed opacity-50`,f),children:[!!a&&(0,b.jsx)(`input`,{type:`hidden`,name:a,value:g?`1`:`0`,"aria-hidden":`true`}),!!i&&(0,b.jsx)(`span`,{className:r.cn(`mt-0.5 inline-flex size-9 shrink-0 items-center justify-center rounded-md transition-colors`,g?`bg-primary/10 text-primary`:`bg-muted/50 text-muted-foreground group-hover:bg-muted group-hover:text-foreground`),children:(0,b.jsx)(i,{className:`size-4`})}),(0,b.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,b.jsx)(o.a,{htmlFor:v,className:r.cn(`block font-semibold tracking-tight`,u?`cursor-not-allowed`:`cursor-pointer`),children:e}),!!x&&(0,b.jsx)(o.s,{type:`secondary`,className:`leading-snug`,children:t}),!!n&&(0,b.jsx)(o.s,{size:`xs`,type:`discrete`,className:`leading-snug`,children:n})]}),(0,b.jsx)(`div`,{className:`mt-1 flex shrink-0 items-center`,children:(0,b.jsx)(z,{id:v,checked:g,onCheckedChange:e=>C(e),disabled:u,"aria-label":e,"aria-describedby":S})}),!!x&&(0,b.jsx)(`span`,{id:`${v}-description`,className:`sr-only`,children:t})]})}H.displayName=`SwitchCard`;function U({label:e,description:t,kind:n=`switch`,value:i,defaultValue:a,onChange:s,disabled:c=!1,invalid:l=!1,name:u,className:f,controlPosition:p=`trailing`}){let m=i!==void 0,[h,g]=(0,y.useState)(a??!1),_=m?i??!1:h,v=(0,y.useId)(),x=(0,y.useCallback)(e=>{c||(m||g(e),s?.(e))},[c,m,s]),S=e=>{e.target.closest(`[role="switch"], [role="checkbox"], input[type="checkbox"]`)||x(!_)},C=n===`switch`?(0,b.jsx)(z,{id:v,name:u,checked:_,onCheckedChange:e=>x(e),disabled:c,"aria-invalid":l||void 0}):(0,b.jsx)(d.n,{id:v,name:u,checked:_,onCheckedChange:e=>x(e===!0),disabled:c,"aria-invalid":l||void 0}),w=(0,b.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,b.jsx)(o.a,{htmlFor:v,className:r.cn(`block leading-snug`,c?`cursor-not-allowed opacity-50`:`cursor-pointer`),children:e}),!!t&&(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,className:`mt-0.5 leading-snug`,children:t})]});return(0,b.jsxs)(`div`,{role:`group`,onClick:S,className:r.cn(`toggle-field--component`,`flex items-start gap-3 rounded-md py-1`,c&&`pointer-events-none`,f),children:[p===`leading`&&(0,b.jsx)(`div`,{className:`mt-0.5 flex shrink-0`,children:C}),w,p===`trailing`&&(0,b.jsx)(`div`,{className:`mt-0.5 flex shrink-0`,children:C})]})}U.displayName=`ToggleField`;var ee={placeholder:`Add a tag…`,emptyRecommendations:`No recommendations found.`,clearAll:`Clear all`,summary:(e,t)=>`${e} / ${t} tags`};function W({value:e=[],onChange:n,placeholder:i,recommendations:s,maxTags:l,showMaxTags:d=!1,allowDuplicates:f=!1,validate:p,disabled:m=!1,showClearAll:h=!1,renderTag:g,delimiter:_=/[\n,]/,addOnBlur:v=!0,minLength:S=1,maxLength:C,emptyMessage:w,sortTags:T=!1,caseSensitive:E=!1,field:D,invalid:O,className:k,strings:A}){let j=t.useStrings(t.useStrings(ee,i!==void 0||w!==void 0?{placeholder:i,emptyRecommendations:w}:void 0),A),[M,N]=(0,y.useState)(``),[P,F]=(0,y.useState)(!1),[I,L]=(0,y.useState)(-1),R=(0,y.useRef)(null),z=(0,y.useCallback)(e=>{if(typeof e==`string`)return e;if(D&&typeof e==`object`&&e){let t=e[D];return typeof t==`string`?t:t==null?``:String(t)}return String(e)},[D]),B=(0,y.useCallback)(t=>typeof e[0]==`string`||e.length===0?t:D?{[D]:t}:t,[D,e]),V=(0,y.useMemo)(()=>s?s.map(e=>e&&typeof e==`object`&&`value`in e&&`label`in e?e:{value:e,label:z(e)}):[],[s,z]),H=(0,y.useMemo)(()=>{if(!V.length||!M)return V;let t=E?M:M.toLowerCase(),n=new Set(e.map(e=>{let t=z(e);return E?t:t.toLowerCase()}));return V.filter(e=>{let r=E?e.label:e.label.toLowerCase(),i=z(e.value),a=E?i:i.toLowerCase();return(r.includes(t)||a.includes(t))&&(f||!n.has(a))})},[V,M,e,f,E,z]),U=(0,y.useMemo)(()=>T?[...e].sort((e,t)=>{let n=z(e),r=z(t);return n.localeCompare(r)}):e,[e,T,z]),W=(0,y.useCallback)(t=>{let r=typeof t==`string`?B(t):t,i=z(r).trim();if(!i||i.length<S||C&&i.length>C||l&&e.length>=l||!f&&e.some(e=>{let t=z(e);return E?t===i:t.toLowerCase()===i.toLowerCase()})||p&&!p(r))return;let a=[...e,r];n?.(a),N(``),F(!1),L(-1)},[e,n,l,f,p,S,C,E,z,B]),G=(0,y.useCallback)(t=>{let r=e.filter((e,n)=>n!==t);n?.(r)},[e,n]),te=(0,y.useCallback)(e=>{let t=e.target.value;N(t),L(-1),s&&s.length>0&&F(!0)},[s]),ne=(0,y.useCallback)(t=>{m||(t.key===`Enter`?(t.preventDefault(),P&&I>=0&&I<H.length?(W(H[I].value),L(-1)):M.trim()&&W(M)):t.key===`Tab`?M&&(t.preventDefault(),W(M)):t.key===`ArrowDown`?(t.preventDefault(),P&&L(e=>e<H.length-1?e+1:e)):t.key===`ArrowUp`?(t.preventDefault(),P&&L(e=>e>0?e-1:0)):t.key===`Escape`?(F(!1),L(-1)):t.key===`Backspace`&&!M&&e.length>0&&G(e.length-1))},[m,P,I,H,M,W,G,e.length]),re=(0,y.useCallback)(e=>{m||(e.preventDefault(),e.clipboardData.getData(`text`).split(_).map(e=>e.trim()).filter(Boolean).forEach(e=>W(e)))},[m,_,W]),ie=(0,y.useCallback)(()=>{setTimeout(()=>{F(!1),v&&M&&W(M)},200)},[v,M,W]),ae=(0,y.useCallback)(()=>{n?.([]),N(``)},[n]),K=(0,y.useCallback)((e,t,n)=>{let i=`${z(e)}-${t}`;return(0,b.jsxs)(c.t,{variant:`secondary`,className:r.cn(`tags-input--component`,`gap-1 pr-1 font-normal`),children:[z(e),(0,b.jsx)(`button`,{type:`button`,"aria-label":`Remove ${z(e)}`,className:r.cn(`inline-flex size-icon items-center justify-center rounded-full`,`text-muted-foreground/70 hover:bg-foreground/10 hover:text-foreground`,`outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,`disabled:opacity-50 disabled:pointer-events-none`),onClick:()=>n(t),disabled:m,children:(0,b.jsx)(x.X,{className:`size-icon-sm`,"aria-hidden":`true`})})]},i)},[z,m]),oe=!!O;return(0,b.jsxs)(`div`,{className:r.cn(`w-full relative`,k),children:[(0,b.jsxs)(`div`,{className:`relative`,children:[(0,b.jsx)(u.t,{ref:R,type:`text`,placeholder:j.placeholder,value:M,onChange:te,onKeyDown:ne,onPaste:re,onBlur:ie,onFocus:()=>{s&&H.length>0&&F(!0)},disabled:m||l!==void 0&&e.length>=l,invalid:oe,maxLength:C,className:`w-full`}),!!s&&!!P&&(0,b.jsx)(`div`,{className:`absolute top-full left-0 right-0 z-50 mt-1 max-h-[200px] overflow-y-auto rounded-md bg-popover p-1 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10`,children:H.length>0?H.map((t,n)=>{let i=z(t.value),a=e.some(e=>z(e)===z(t.value));return(0,b.jsxs)(`button`,{type:`button`,onMouseDown:e=>{e.preventDefault(),W(t.value),L(-1),R.current?.focus()},onMouseEnter:()=>L(n),className:r.cn(`relative flex w-full cursor-pointer items-center justify-between gap-space-sm rounded-md px-control-sm py-row-y text-sm`,`hover:bg-accent hover:text-accent-foreground`,`focus-visible:outline-none`,I===n&&`bg-accent text-accent-foreground`),children:[(0,b.jsx)(`span`,{children:t.label}),(0,b.jsx)(x.Check,{className:r.cn(`ml-auto size-icon-sm`,a?`opacity-100`:`opacity-0`)})]},i)}):(0,b.jsx)(o.s,{tag:`div`,size:`xs`,type:`secondary`,className:`px-2 py-row-y`,children:j.emptyRecommendations})})]}),U.length>0&&(0,b.jsxs)(`div`,{className:`mt-space-md flex flex-wrap items-center gap-space-sm`,children:[U.map((e,t)=>g?g(e,t,G):K(e,t,G)),!!h&&e.length>0&&!m&&(0,b.jsx)(a.n,{type:`button`,size:`small`,onClick:ae,className:`ml-auto`,children:j.clearAll})]}),!!l&&!!d&&(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,className:`mt-1`,children:j.summary(e.length,l)})]})}W.displayName=`TagsInput`;var G={prefixPlaceholder:`Prefix`},te={US:{value:`+1`,label:`United States`,iso:`US`},CA:{value:`+1`,label:`Canada`,iso:`CA`},AU:{value:`+61`,label:`Australia`,iso:`AU`},BG:{value:`+359`,label:`Bulgaria`,iso:`BG`},GR:{value:`+30`,label:`Greece`,iso:`GR`},GB:{value:`+44`,label:`United Kingdom`,iso:`GB`},DE:{value:`+49`,label:`Germany`,iso:`DE`},FR:{value:`+33`,label:`France`,iso:`FR`},IT:{value:`+39`,label:`Italy`,iso:`IT`},ES:{value:`+34`,label:`Spain`,iso:`ES`},NL:{value:`+31`,label:`Netherlands`,iso:`NL`},BE:{value:`+32`,label:`Belgium`,iso:`BE`},AT:{value:`+43`,label:`Austria`,iso:`AT`},CH:{value:`+41`,label:`Switzerland`,iso:`CH`},PL:{value:`+48`,label:`Poland`,iso:`PL`},RO:{value:`+40`,label:`Romania`,iso:`RO`},RS:{value:`+381`,label:`Serbia`,iso:`RS`},HR:{value:`+385`,label:`Croatia`,iso:`HR`},SI:{value:`+386`,label:`Slovenia`,iso:`SI`},MK:{value:`+389`,label:`North Macedonia`,iso:`MK`},TR:{value:`+90`,label:`Turkey`,iso:`TR`},RU:{value:`+7`,label:`Russia`,iso:`RU`},UA:{value:`+380`,label:`Ukraine`,iso:`UA`},SK:{value:`+421`,label:`Slovakia`,iso:`SK`},CZ:{value:`+420`,label:`Czech Republic`,iso:`CZ`},HU:{value:`+36`,label:`Hungary`,iso:`HU`},PT:{value:`+351`,label:`Portugal`,iso:`PT`},IE:{value:`+353`,label:`Ireland`,iso:`IE`},SE:{value:`+46`,label:`Sweden`,iso:`SE`},NO:{value:`+47`,label:`Norway`,iso:`NO`},DK:{value:`+45`,label:`Denmark`,iso:`DK`},FI:{value:`+358`,label:`Finland`,iso:`FI`},CY:{value:`+357`,label:`Cyprus`,iso:`CY`},AL:{value:`+355`,label:`Albania`,iso:`AL`},ME:{value:`+382`,label:`Montenegro`,iso:`ME`},BA:{value:`+387`,label:`Bosnia and Herzegovina`,iso:`BA`},XK:{value:`+383`,label:`Kosovo`,iso:`XK`},MD:{value:`+373`,label:`Moldova`,iso:`MD`},BY:{value:`+375`,label:`Belarus`,iso:`BY`},LT:{value:`+370`,label:`Lithuania`,iso:`LT`},LV:{value:`+371`,label:`Latvia`,iso:`LV`},EE:{value:`+372`,label:`Estonia`,iso:`EE`}},ne=[`US`,`CA`,`GB`,`DE`,`FR`,`IT`,`ES`,`AU`],re=e=>typeof e==`string`?te[e.toUpperCase()]??null:e,ie=e=>e.map(re).filter(e=>e!==null),ae=(e,t)=>{let n=e.trim().replace(/\s+/g,` `).replace(/[^\d ()+-]/g,``);return t&&n.startsWith(t)&&(n=n.slice(t.length).replace(/^[\s-]+/,``)),t&&n.startsWith(`0`)&&(n=n.slice(1)),n},K=(e,t)=>e?e.startsWith(`+`)?e:te[e.toUpperCase()]?.value??e:t[0]?.value??``;function oe({normalizeOnBlur:e=!0,onBlur:i,onChange:a,prefix:s,defaultPrefix:c,prefixes:l=ne,onPrefixChange:d,disablePrefixSelector:p=!1,prefixPlaceholder:h,prefixWidth:g=`w-30`,showCountryName:_=!0,showPrefixInDropdown:v=!0,invalid:x,disabled:S,className:C,size:w,strings:T,...E},D){let{defaultControlSize:O}=n.o(),k=f.f(w,O),A=t.useStrings(G,T),j=(0,y.useMemo)(()=>ie(l),[l]),[M,N]=(0,y.useState)((0,y.useMemo)(()=>K(c,j),[c,j])),P=s!==void 0,F=P?K(s,j):M,I=(0,y.useMemo)(()=>j.find(e=>e.value===F),[j,F]),L=(0,y.useCallback)(e=>{e!==null&&(P||N(e),d?.(e))},[P,d]),R=(0,y.useCallback)(e=>{if(!a)return;let t=e.target.value;if(F&&t.startsWith(F)){let n=t.slice(F.length).replace(/^[\s-]+/,``),r=n.startsWith(`0`)?n.slice(1):n;if(r!==t){a({...e,target:{...e.target,value:r},currentTarget:{...e.currentTarget,value:r}});return}}a(e)},[a,F]),z=(0,y.useCallback)(t=>{if(e&&typeof a==`function`){let e=ae(t.target.value,F);e!==t.target.value&&a({...t,target:{...t.target,value:e},currentTarget:{...t.currentTarget,value:e}})}i?.(t)},[e,a,i,F]);if(j.length===0||p){let e=F||c;return e?(0,b.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,b.jsx)(`div`,{"aria-invalid":x||void 0,className:r.cn(`flex items-center justify-center rounded-md border border-input bg-muted px-3`,f.u[k],S&&`opacity-50`,`aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20`),children:(0,b.jsx)(o.s,{tag:`span`,type:`secondary`,weight:`medium`,children:e})}),(0,b.jsx)(`div`,{className:`flex-1`,children:(0,b.jsx)(u.t,{ref:D,size:k,type:`tel`,autoComplete:`tel`,inputMode:`tel`,onChange:R,onBlur:z,invalid:x,disabled:S,className:C,...E})})]}):(0,b.jsx)(u.t,{ref:D,size:k,type:`tel`,autoComplete:`tel`,inputMode:`tel`,onChange:R,onBlur:z,invalid:x,disabled:S,className:r.cn(`phone-input--component`,C),...E})}return(0,b.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,b.jsxs)(m.t,{value:F,onValueChange:e=>L(e),disabled:S,children:[(0,b.jsx)(m.a,{"aria-invalid":x||void 0,className:r.cn(`border-input bg-transparent shrink-0 !shadow-none`,f.u[k],`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,g,S&&`opacity-50 cursor-not-allowed`),children:(0,b.jsx)(m.o,{placeholder:h??A.prefixPlaceholder,children:!!I&&(0,b.jsx)(o.s,{tag:`span`,children:I.value})})}),(0,b.jsx)(m.n,{children:(0,b.jsx)(m.r,{children:j.map(e=>(0,b.jsx)(m.i,{value:e.value,children:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!!v&&(0,b.jsx)(o.s,{tag:`span`,weight:`medium`,className:`min-w-13`,children:e.value}),!!_&&(0,b.jsx)(o.s,{tag:`span`,type:`secondary`,lineHeight:`tight`,children:e.label})]})},e.value))})})]}),(0,b.jsx)(`div`,{className:`flex-1`,children:(0,b.jsx)(u.t,{ref:D,size:k,type:`tel`,autoComplete:`tel`,inputMode:`tel`,onChange:R,onBlur:z,invalid:x,disabled:S,className:C,...E})})]})}var se=(0,y.memo)(y.forwardRef(oe));se.displayName=`PhoneInput`;var ce=(0,y.forwardRef)(function({decimalPlaces:e=2,min:t=0,max:n=100,step:r,...i},a){return(0,b.jsx)(h.A,{className:`percentage-input--component`,ref:a,decimalPlaces:e,allowNegative:!1,min:t,max:n,step:r,endAddon:`%`,...i})});ce.displayName=`PercentageInput`;function le({className:e,defaultValue:t,value:n,min:i=0,max:a=100,...o}){let s=y.useMemo(()=>Array.isArray(n)?n:Array.isArray(t)?t:[i,a],[n,t,i,a]);return(0,b.jsx)(C.Slider.Root,{className:r.cn(`data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full`,e),"data-slot":`slider`,defaultValue:t,value:n,min:i,max:a,thumbAlignment:`edge`,...o,children:(0,b.jsxs)(C.Slider.Control,{className:`relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-40 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col`,children:[(0,b.jsx)(C.Slider.Track,{"data-slot":`slider-track`,className:`relative grow overflow-hidden rounded-full bg-muted select-none data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5`,children:(0,b.jsx)(C.Slider.Indicator,{"data-slot":`slider-range`,className:`absolute bg-primary select-none data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full`})}),Array.from({length:s.length},(e,t)=>(0,b.jsx)(C.Slider.Thumb,{"data-slot":`slider-thumb`,className:`block size-4 shrink-0 rounded-full border border-primary bg-white shadow-sm ring-ring/50 transition-[color,box-shadow] select-none hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50`},t))]})})}function ue({name:e,id:t,value:n,defaultValue:i,min:a=0,max:s=100,step:c=1,disabled:l=!1,invalid:u=!1,onChange:d,onValueChange:f,onValueCommitted:p,showValue:m=!1,formatValue:h,unit:g,className:_,orientation:v=`horizontal`},x){let S=(0,y.useId)(),C=t??`slider-${S}`,w=e??C,T=(0,y.useCallback)(e=>{let t=Array.isArray(e)?e[0]:e;f?.(t),d?.({target:{name:w,value:t}})},[w,d,f]),E=(0,y.useCallback)(e=>{let t=Array.isArray(e)?e[0]:e;p?.(t)},[p]),D=(0,y.useMemo)(()=>{if(!m)return null;let e=n??i??a;return h?h(e):g?`${e}${g}`:String(e)},[m,n,i,a,h,g]),O=n===void 0?void 0:[n],k=i===void 0?[a]:[i];return(0,b.jsxs)(`div`,{className:r.cn(`slider--component`,`flex items-center gap-3`,_),children:[(0,b.jsx)(le,{ref:x,id:C,value:O,defaultValue:k,min:a,max:s,step:c,disabled:l,orientation:v,onValueChange:T,onValueCommitted:E,"aria-invalid":u||void 0,className:r.cn(`min-w-0 flex-1`,u&&`[&_[data-slot=slider-range]]:bg-destructive [&_[data-slot=slider-thumb]]:border-destructive`)}),!!m&&D!==null&&(0,b.jsx)(o.s,{tag:`span`,type:u?`error`:`secondary`,className:`min-w-8 shrink-0 text-right tabular-nums`,children:D})]})}var de=y.forwardRef(ue);de.displayName=`SliderField`;function fe({options:e,value:t,defaultValue:i,onChange:a,name:s,invalid:c,disabled:l,size:u,className:d}){let{defaultControlSize:p}=n.o(),m=g.r[f.f(u,p)];return(0,b.jsx)(T.RadioGroup,{value:t,defaultValue:i,onValueChange:e=>e&&a?.(e),name:s,disabled:l,"aria-invalid":c||void 0,className:r.cn(`list-radio-group--component`,`overflow-hidden rounded-md border [&>[role=radio]~[role=radio]]:border-t`,`aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20`,l&&`pointer-events-none opacity-50`,d),children:e.map(e=>(0,b.jsxs)(w.Radio.Root,{value:e.value,disabled:l||e.disabled,className:r.cn(`group flex w-full items-start gap-3 text-start outline-none cursor-pointer`,`transition-colors hover:bg-muted/40 focus-visible:bg-muted/40`,`data-[checked]:bg-primary/10`,`disabled:cursor-not-allowed disabled:opacity-50`,m),children:[(0,b.jsx)(`div`,{className:`mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-primary group-data-[checked]:border-primary group-not-data-[checked]:border-muted-foreground/50`,children:(0,b.jsx)(w.Radio.Indicator,{render:(0,b.jsx)(x.Circle,{className:`h-2.5 w-2.5 fill-primary text-primary`})})}),(0,b.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,b.jsx)(o.s,{tag:`span`,weight:`medium`,lineHeight:`tight`,className:`block`,children:e.label}),!!e.description&&(0,b.jsx)(o.s,{tag:`span`,size:`xs`,type:`secondary`,className:`block mt-0.5`,children:e.description})]})]},e.value))})}fe.displayName=`ListRadioGroup`;var pe=[`floor`,`half_up`,`ceil`];function me({value:e,onChange:t,labels:n,placeholder:r,...i}){return(0,b.jsx)(R,{className:`rounding-mode-select--component`,options:(0,y.useMemo)(()=>pe.map(e=>({value:e,label:n?.[e]??e})),[n]),value:e,onChange:(0,y.useCallback)(e=>{t?.(e)},[t]),placeholder:r,...i})}me.displayName=`RoundingModeSelect`;var he={placeholder:`Select an item`},q=`__rich_select_empty__`,ge=(0,y.forwardRef)(({options:e,placeholder:i,strings:a,onChange:s,className:c,disabled:l,defaultOpen:u,open:d,onOpenChange:p,name:h,required:g,value:_,defaultValue:v,allowClear:x=!1,invalid:S,size:C},w)=>{let{defaultControlSize:T}=n.o(),E=f.f(C,T),D=t.useStrings(he,a),O=i??D.placeholder,k=(0,y.useCallback)(e=>{if(e!==q)return e===``||e==null?x?q:void 0:e},[x]),A=(0,y.useCallback)(e=>{if(e!==q)return e},[]),j=(0,y.useMemo)(()=>{let t=e.map(e=>({...e,value:k(e.value)??``}));return x&&(t.some(e=>e.label===O)||t.unshift({label:O,value:q})),t},[e,x,O,k]),M=(0,y.useMemo)(()=>k(_??void 0),[_,k]),N=(0,y.useMemo)(()=>k(v??void 0),[v,k]),P=_!==void 0,[F,I]=(0,y.useState)(N),L=P?M:F,R=(0,y.useMemo)(()=>j.find(e=>e.value===L),[L,j]),z=(0,y.useCallback)(e=>{e!=null&&(P||I(e),s?.(A(e)))},[P,s,A]),B=r.cn(`border-input bg-transparent w-full rounded-radius border outline-none transition-[color,box-shadow] !shadow-none`,f.u[E],f.c[E],`h-auto py-2`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive aria-invalid:text-destructive`,`disabled:cursor-not-allowed disabled:opacity-50`,c),V=P?{value:M}:{};return(0,b.jsxs)(m.t,{onValueChange:e=>z(e),disabled:l,defaultOpen:u,open:d,onOpenChange:p,name:h,required:g,defaultValue:N,...V,children:[(0,b.jsx)(m.a,{ref:w,className:r.cn(`rich-select--component`,B),"aria-invalid":S,children:R?(0,b.jsx)(o.s,{tag:`span`,className:`text-left break-words whitespace-normal`,children:R.label}):(0,b.jsx)(m.o,{placeholder:O})}),(0,b.jsx)(m.n,{children:(0,b.jsx)(m.r,{children:j.map(e=>(0,b.jsx)(m.i,{value:e.value,disabled:e.disabled,children:(0,b.jsxs)(`div`,{className:`flex w-full items-center gap-2`,children:[!!e.icon&&(0,b.jsx)(`span`,{className:`w-4 h-4 shrink-0 flex items-center justify-center self-start mt-0.5`,children:e.icon}),(0,b.jsxs)(`div`,{className:`flex flex-col min-w-0 text-left flex-1`,children:[(0,b.jsx)(o.s,{tag:`span`,weight:`medium`,children:e.label}),!!e.description&&(0,b.jsx)(o.s,{tag:`span`,size:`xs`,type:`secondary`,lineHeight:`tight`,className:`mt-0.5 line-clamp-2`,children:e.description})]})]})},e.value))})})]})});ge.displayName=`RichSelect`;var _e={width:`Width`,height:`Height`,depth:`Depth`,unit:`Unit`,widthPlaceholder:`0.00`,heightPlaceholder:`0.00`,depthPlaceholder:`0.00`},ve=[{value:`g`,label:`g (grams)`},{value:`kg`,label:`kg (kilograms)`}],ye=(e,t)=>{if(!e)return{width:``,height:``,depth:``};if(t===`string`&&typeof e==`string`){let t=e.split(`x`).map(e=>e.trim());return{width:t[0]||``,height:t[1]||``,depth:t[2]||``}}return t===`object`&&typeof e==`object`?{width:e.width||``,height:e.height||``,depth:e.depth||``}:{width:``,height:``,depth:``}},be=(e,t,n,r)=>r===`string`?`${e}x${t}x${n}`:{width:e,height:t,depth:n};function xe({value:e,defaultValue:i,format:a=`string`,unit:s,defaultUnit:c=`g`,widthLabel:l,heightLabel:u,depthLabel:d,unitLabel:p,unitPlaceholder:g,widthPlaceholder:_,heightPlaceholder:v,depthPlaceholder:x,onChange:S,onUnitChange:C,decimalPlaces:w=2,min:T=0,max:E,showUnitSelector:D=!0,disableUnitSelector:O=!1,layout:k=`horizontal`,invalid:A,disabled:j=!1,className:M,size:N,strings:P}){let{defaultControlSize:F}=n.o(),I=f.f(N,F),L=t.useStrings(_e,P),R=l??L.width,z=u??L.height,B=d??L.depth,V=g??L.unit,H=_??L.widthPlaceholder,U=v??L.heightPlaceholder,ee=x??L.depthPlaceholder,W=k===`horizontal`,G=k===`vertical`,te=D===!0,ne=(p??``).length>0,re=G?R:``,ie=G?z:``,ae=G?B:``,K=e!==void 0,oe=s!==void 0,se=ye(K?e:i,a),[ce,le]=(0,y.useState)(se.width),[ue,de]=(0,y.useState)(se.height),[fe,pe]=(0,y.useState)(se.depth),[me,he]=(0,y.useState)(s||c),q=ye(e,a),ge=K?q.width:ce,xe=K?q.height:ue,Se=K?q.depth:fe,Ce=oe?s:me;(0,y.useEffect)(()=>{if(K){let t=ye(e,a);le(t.width),de(t.height),pe(t.depth)}},[e,a,K]);let we=(0,y.useCallback)((e,t)=>{let n=ge,r=xe,i=Se;e===`width`&&(n=t),e===`height`&&(r=t),e===`depth`&&(i=t),K||(le(n),de(r),pe(i));let o=be(n,r,i,a);S?.({target:{value:o}})},[ge,xe,Se,K,a,S]),Te=(0,y.useCallback)(e=>{if(e===null)return;let t=e;oe||he(t),C?.(t)},[oe,C]),Ee=(0,b.jsxs)(`div`,{className:`space-y-2`,children:[!!ne&&(0,b.jsx)(o.a,{className:`leading-6`,children:p}),(0,b.jsxs)(m.t,{value:Ce,onValueChange:e=>Te(e),disabled:j||O,children:[(0,b.jsx)(m.a,{"aria-invalid":A||void 0,className:r.cn(`border-input bg-transparent !shadow-none`,f.u[I],`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,`w-32`,j&&`opacity-50 cursor-not-allowed`),children:(0,b.jsx)(m.o,{placeholder:V})}),(0,b.jsx)(m.n,{children:(0,b.jsx)(m.r,{children:ve.map(e=>(0,b.jsx)(m.i,{value:e.value,children:e.label},e.value))})})]})]});return(0,b.jsx)(`div`,{className:r.cn(`dimensions-input--component`,`space-y-2`,M),children:(0,b.jsxs)(`div`,{className:r.cn(`flex gap-2`,k===`vertical`?`flex-col`:`flex-row items-start`),children:[(0,b.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[!!G&&!!re&&(0,b.jsx)(o.a,{children:re}),(0,b.jsx)(h.A,{size:I,value:ge,onChange:e=>we(`width`,e.target.value),placeholder:H,decimalPlaces:w,min:T,max:E,disabled:j,invalid:A,"aria-label":R}),!!W&&(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,className:`text-center`,children:R})]}),k===`horizontal`&&(0,b.jsx)(`div`,{className:`flex items-center pt-2`,children:(0,b.jsx)(o.s,{tag:`span`,type:`secondary`,children:`×`})}),(0,b.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[!!G&&!!ie&&(0,b.jsx)(o.a,{children:ie}),(0,b.jsx)(h.A,{size:I,value:xe,onChange:e=>we(`height`,e.target.value),placeholder:U,decimalPlaces:w,min:T,max:E,disabled:j,invalid:A,"aria-label":z}),!!W&&(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,className:`text-center`,children:z})]}),k===`horizontal`&&(0,b.jsx)(`div`,{className:`flex items-center pt-2`,children:(0,b.jsx)(o.s,{tag:`span`,type:`secondary`,children:`×`})}),(0,b.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[!!G&&!!ae&&(0,b.jsx)(o.a,{children:ae}),(0,b.jsx)(h.A,{size:I,value:Se,onChange:e=>we(`depth`,e.target.value),placeholder:ee,decimalPlaces:w,min:T,max:E,disabled:j,invalid:A,"aria-label":B}),!!W&&(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,className:`text-center`,children:B})]}),!!te&&(0,b.jsxs)(`div`,{className:r.cn(k===`vertical`?`w-full`:`w-32 pt-0`),children:[Ee,!!W&&!ne&&(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,className:`mt-1 text-center`,children:V})]})]})})}xe.displayName=`DimensionsInput`;var Se={unitLabel:``,unitPlaceholder:``},Ce=[{value:`g`,label:`g`},{value:`kg`,label:`kg`},{value:`lb`,label:`lb`},{value:`oz`,label:`oz`}];function we({value:e,defaultValue:i,unit:a,defaultUnit:s=`g`,onChange:c,onUnitChange:l,decimalPlaces:u=2,min:d=0,max:p,showUnitSelector:g=!0,disableUnitSelector:_=!1,unitLabel:v,unitPlaceholder:x,unitWidth:S=`w-24`,strings:C,invalid:w,disabled:T=!1,size:E,className:D}){let{defaultControlSize:O}=n.o(),k=f.f(E,O),A=t.useStrings(t.useStrings(Se,v!==void 0||x!==void 0?{unitLabel:v,unitPlaceholder:x}:void 0),C),j=e!==void 0,M=a!==void 0,[N,P]=(0,y.useState)(i??``),[F,I]=(0,y.useState)(a??s),L=j?e??``:N,R=M?a??s:F,z=(0,y.useCallback)(e=>{j||P(e.target.value),c?.({target:{value:e.target.value}})},[j,c]),B=(0,y.useCallback)(e=>{if(e===null)return;let t=e;M||I(t),l?.(t)},[M,l]),V=(0,y.useMemo)(()=>Ce,[]),H=A.unitLabel!==``;return(0,b.jsxs)(`div`,{className:r.cn(`weight-input--component`,`flex items-start gap-2`,D),children:[(0,b.jsx)(`div`,{className:`flex-1`,children:(0,b.jsx)(h.A,{size:k,value:L,onChange:z,decimalPlaces:u,allowNegative:!1,min:d,max:p,disabled:T,invalid:w})}),!!g&&(0,b.jsxs)(`div`,{className:`space-y-2`,children:[!!H&&(0,b.jsx)(o.a,{className:`leading-6`,children:A.unitLabel}),(0,b.jsxs)(m.t,{value:R,onValueChange:e=>B(e),disabled:T||_,children:[(0,b.jsx)(m.a,{"aria-invalid":w||void 0,className:r.cn(`border-input bg-transparent !shadow-none`,f.u[k],`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,(T||_)&&`opacity-50 cursor-not-allowed`,S),children:(0,b.jsx)(m.o,{placeholder:A.unitPlaceholder||void 0})}),(0,b.jsx)(m.n,{children:(0,b.jsx)(m.r,{children:V.map(e=>(0,b.jsx)(m.i,{value:e.value,children:e.label},e.value))})})]})]})]})}we.displayName=`WeightInput`;var Te={latLabel:``,lngLabel:``,latPlaceholder:``,lngPlaceholder:``,previewLinkLabel:``},Ee=(e,t)=>{if(!e)return{lat:``,lng:``};if(t===`string`&&typeof e==`string`){let[t,n]=e.split(`,`).map(e=>e.trim());return{lat:t??``,lng:n??``}}return t===`object`&&typeof e==`object`?{lat:e.lat??``,lng:e.lng??``}:{lat:``,lng:``}},De=(e,t,n)=>n===`string`?`${e},${t}`:{lat:e,lng:t},Oe=(e,t,n)=>{if(!e)return!1;let r=Number(e);return Number.isFinite(r)&&r>=t&&r<=n};function ke({value:e,defaultValue:n,format:i=`object`,onChange:a,latLabel:s,lngLabel:c,latPlaceholder:l,lngPlaceholder:u,decimalPlaces:d=6,showPreviewLink:f=!0,previewLinkLabel:p,strings:m,invalid:g,className:_,disabled:v}){let x=t.useStrings(t.useStrings(Te,s!==void 0||c!==void 0||l!==void 0||u!==void 0||p!==void 0?{latLabel:s,lngLabel:c,latPlaceholder:l,lngPlaceholder:u,previewLinkLabel:p}:void 0),m),S=e!==void 0,C=Ee(S?e:n,i),[w,T]=(0,y.useState)(C.lat),[E,D]=(0,y.useState)(C.lng),O=Ee(e,i),k=S?O.lat:w,A=S?O.lng:E;(0,y.useEffect)(()=>{S&&(T(O.lat),D(O.lng))},[S,O.lat,O.lng]);let j=(0,y.useCallback)((e,t)=>{S||(T(e),D(t)),a?.({target:{value:De(e,t,i)}})},[S,a,i]),M=(0,y.useMemo)(()=>{let e=Oe(k,-90,90),t=Oe(A,-180,180);return!e||!t?null:`https://www.google.com/maps?q=${encodeURIComponent(`${k},${A}`)}`},[k,A]);return(0,b.jsxs)(`div`,{className:r.cn(`coordinates-input--component`,`space-y-3`,_),children:[(0,b.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 md:grid-cols-2`,children:[(0,b.jsxs)(`div`,{className:`space-y-2`,children:[!!x.latLabel&&(0,b.jsx)(o.a,{children:x.latLabel}),(0,b.jsx)(h.A,{placeholder:x.latPlaceholder||void 0,value:k,onChange:e=>j(e.target.value,A),decimalPlaces:d,allowNegative:!0,min:-90,max:90,invalid:g,disabled:v})]}),(0,b.jsxs)(`div`,{className:`space-y-2`,children:[!!x.lngLabel&&(0,b.jsx)(o.a,{children:x.lngLabel}),(0,b.jsx)(h.A,{placeholder:x.lngPlaceholder||void 0,value:A,onChange:e=>j(k,e.target.value),decimalPlaces:d,allowNegative:!0,min:-180,max:180,invalid:g,disabled:v})]})]}),!!f&&!!M&&!!x.previewLinkLabel&&(0,b.jsx)(o.i,{href:M,type:`secondary`,underline:!1,children:x.previewLinkLabel})]})}ke.displayName=`CoordinatesInput`;function Ae({value:e,onChange:t,placeholder:n,readableFormat:r=`dd-MM-yyyy HH:mm`,stepMinutes:i=30,modal:a=!0,invalid:o,disabled:s}){let c=e?new Date(e):void 0;return(0,b.jsx)(_.t,{className:`date-time-input--component`,mode:`single`,disabled:s,error:o?` `:void 0,placeholder:n,value:c,onChange:(0,y.useCallback)(e=>{t?.(e.date?e.date.toISOString():void 0)},[t]),readableFormat:r,withTime:{enabled:!0,format:`24`,step:i},modal:a})}Ae.displayName=`DateTimeInput`;var je={placeholder:`Select time`,dialogTitle:`Select Time`,hours:`Hours`,minutes:`Minutes`,seconds:`Seconds`,now:`Now`,done:`Done`,hoursPlaceholder:`HH`,minutesPlaceholder:`MM`,secondsPlaceholder:`SS`,am:`AM`,pm:`PM`},J=e=>String(e).padStart(2,`0`),Y=e=>{let t=e.trim();if(t===``)return null;let n=Number.parseInt(t,10);return Number.isFinite(n)?n:null},X=(e,t,n)=>Math.min(Math.max(e,t),n),Me=e=>(e??``).replace(/\D/g,``).slice(0,2),Ne=(e,t)=>{if(!Number.isFinite(t)||t<=0||t===1)return e;let n=e%t,r=n>=Math.max(1,Math.floor(t*.8)),i=e-n,a=r?i+t:i;return a>=60?0:a};function Pe({className:e,value:n=`00:00:00`,onChange:a,invalid:s,disabled:c,placeholder:l,dialogTitle:d,hoursLabel:f,minutesLabel:p,secondsLabel:m,nowLabel:h,doneLabel:g,format:S=`24`,minuteStep:C=5,showSeconds:w=!0,strings:T}){let E=(0,y.useId)(),D=t.useStrings(t.useStrings(je,l!==void 0||d!==void 0||f!==void 0||p!==void 0||m!==void 0||h!==void 0||g!==void 0?{placeholder:l,dialogTitle:d,hours:f,minutes:p,seconds:m,now:h,done:g}:void 0),T),O=(0,y.useCallback)((e,t)=>{let n=Y(e??``)??0;return S===`12`?{hours:J(n>12?12:X(n===0?12:n,1,12)),meridiem:t}:{hours:J(n>24?24:X(n,0,24)),meridiem:t}},[S]),k=(0,y.useCallback)(e=>{let t=Y(e??``)??0;return t>59&&(t=0),t=Ne(X(t,0,59),C),J(t)},[C]),A=(0,y.useCallback)(e=>{let t=Y(e??``)??0;return t>59&&(t=0),t=X(t,0,59),J(t)},[]),j=(0,y.useCallback)((e,t,n,r)=>{let i=Y(e)??0,a=Y(t)??0;a>59&&(a=0),a=Ne(X(a,0,59),C);let o=w?Y(n)??0:0;if(o>59&&(o=0),o=w?X(o,0,59):0,S===`12`){let e=i>12?12:X(i===0?12:i,1,12);return`${J(r===`AM`?e===12?0:e:e===12?12:e+12)}:${J(a)}:${J(o)}`}return`${J(i>24?24:X(i,0,24))}:${J(a)}:${J(o)}`},[S,C,w]),M=(0,y.useCallback)(e=>{let[t=`00`,n=`00`,r=`00`]=(e??``).split(`:`),i=w?r:`00`;return{hours:Me(t),minutes:Me(n),seconds:Me(i)}},[w]),[N,P]=(0,y.useState)(!1),[F,I]=(0,y.useState)(()=>M(n)),[L,R]=(0,y.useState)(()=>{let[e=`00`]=(n??``).split(`:`);return(Y(e)??0)>=12?`PM`:`AM`}),z=(0,y.useRef)({});(0,y.useEffect)(()=>{if(N)return;I(M(n));let[e=`00`]=(n??``).split(`:`);R((Y(e)??0)>=12?`PM`:`AM`)},[N,M,n]);let B=(e,t)=>{let n=Me(t);I(t=>({...t,[e]:n})),z.current[e]&&window.clearTimeout(z.current[e]),z.current[e]=window.setTimeout(()=>{I(t=>{let n={...t};if(e===`hours`){let e=(n.hours??``).trim();e.length===1&&(n.hours=`0${e}`),(n.hours??``).trim().length===2&&(n.hours=O(n.hours,L).hours)}if(e===`minutes`){let e=(n.minutes??``).trim();e.length===1&&(n.minutes=`0${e}`),(n.minutes??``).trim().length===2&&(n.minutes=k(n.minutes))}if(e===`seconds`){let e=(n.seconds??``).trim();e.length===1&&(n.seconds=`0${e}`),(n.seconds??``).trim().length===2&&(n.seconds=A(n.seconds))}let r=j(n.hours,n.minutes,n.seconds,L);a?.(r);let[i=`00`,o=`00`,s=`00`]=r.split(`:`);return S===`12`?n.hours=J((Y(i)??0)%12||12):n.hours=i,n.minutes=o,n.seconds=s,n})},400)},V=e=>{z.current[e]&&window.clearTimeout(z.current[e]),I(e=>{let t={...e};t.hours=O(t.hours,L).hours,t.minutes=k(t.minutes),t.seconds=A(t.seconds);let n=j(t.hours,t.minutes,t.seconds,L);a?.(n);let[r=`00`,i=`00`,o=`00`]=n.split(`:`);return{hours:S===`12`?Me(String((Y(r)??0)%12||12)):r,minutes:i,seconds:o}})},H=(0,y.useMemo)(()=>{let e=j(F.hours,F.minutes,F.seconds,L);if(!w){let[t=`00`,n=`00`]=e.split(`:`);return`${t}:${n}`}return e},[L,j,w,F.hours,F.minutes,F.seconds]);return(0,b.jsxs)(v.n,{open:N,onOpenChange:P,children:[(0,b.jsx)(v.s,{render:t=>(0,b.jsx)(i.t,{...t,id:E,variant:`secondary`,buttonStyle:`outline`,"aria-expanded":N,"aria-invalid":s,disabled:c,className:r.cn(`time-picker--component`,_.n,`w-full justify-between text-left`,!n&&`!text-muted-foreground`,t.className,e),children:t.children}),children:(0,b.jsxs)(`div`,{className:`flex items-center gap-space-md`,children:[(0,b.jsx)(x.Clock,{className:`size-icon`}),(0,b.jsx)(`span`,{children:H||D.placeholder})]})}),(0,b.jsx)(v.t,{className:`w-auto p-4`,align:`start`,children:(0,b.jsxs)(`div`,{className:`space-y-4`,children:[(0,b.jsx)(o.s,{tag:`div`,weight:`medium`,align:`center`,children:D.dialogTitle}),(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(`div`,{className:`text-center`,children:[(0,b.jsx)(o.a,{size:`small`,className:`text-muted-foreground`,children:D.hours}),(0,b.jsx)(u.t,{inputMode:`numeric`,value:F.hours,onChange:e=>B(`hours`,e.target.value),onFocus:e=>e.currentTarget.select(),onClick:e=>e.currentTarget.select(),onBlur:()=>V(`hours`),placeholder:D.hoursPlaceholder,className:`w-16 text-center`})]}),(0,b.jsx)(o.s,{tag:`div`,className:`text-2xl`,children:`:`}),(0,b.jsxs)(`div`,{className:`text-center`,children:[(0,b.jsx)(o.a,{size:`small`,className:`text-muted-foreground`,children:D.minutes}),(0,b.jsx)(u.t,{inputMode:`numeric`,value:F.minutes,onChange:e=>B(`minutes`,e.target.value),onFocus:e=>e.currentTarget.select(),onClick:e=>e.currentTarget.select(),onBlur:()=>V(`minutes`),placeholder:D.minutesPlaceholder,className:`w-16 text-center`})]}),!!w&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(o.s,{tag:`div`,className:`text-2xl`,children:`:`}),(0,b.jsxs)(`div`,{className:`text-center`,children:[(0,b.jsx)(o.a,{size:`small`,className:`text-muted-foreground`,children:D.seconds}),(0,b.jsx)(u.t,{inputMode:`numeric`,value:F.seconds,onChange:e=>B(`seconds`,e.target.value),onFocus:e=>e.currentTarget.select(),onClick:e=>e.currentTarget.select(),onBlur:()=>V(`seconds`),placeholder:D.secondsPlaceholder,className:`w-16 text-center`})]})]}),S===`12`&&(0,b.jsxs)(`div`,{className:`flex items-end gap-1 pb-0.5`,children:[(0,b.jsx)(i.t,{type:`button`,variant:L===`AM`?`primary`:`secondary`,buttonStyle:L===`AM`?`solid`:`outline`,onClick:()=>R(`AM`),children:D.am}),(0,b.jsx)(i.t,{type:`button`,variant:L===`PM`?`primary`:`secondary`,buttonStyle:L===`PM`?`solid`:`outline`,onClick:()=>R(`PM`),children:D.pm})]})]}),(0,b.jsxs)(`div`,{className:`flex gap-2`,children:[(0,b.jsx)(i.t,{variant:`secondary`,buttonStyle:`outline`,className:`flex-1`,onClick:()=>{let e=new Date,t={hours:String(S===`12`?e.getHours()%12||12:e.getHours()),minutes:String(e.getMinutes()),seconds:``};I(t),R(e.getHours()>=12?`PM`:`AM`),a?.(j(t.hours,t.minutes,t.seconds,e.getHours()>=12?`PM`:`AM`))},children:D.now}),(0,b.jsx)(i.t,{variant:`primary`,buttonStyle:`solid`,className:`flex-1`,onClick:()=>{a?.(j(F.hours,F.minutes,F.seconds,L)),P(!1)},children:D.done})]})]})})]})}Pe.displayName=`TimePicker`;var Z=e=>{if(e===0)return`0 Bytes`;let t=1024,n=[`Bytes`,`KB`,`MB`,`GB`,`TB`],r=Math.floor(Math.log(e)/Math.log(t));return`${(e/t**r).toFixed(2)} ${n[r]}`},Fe=0,Ie=()=>`${Date.now().toString(36)}-${(Fe++).toString(36)}`,Le=e=>{let[t,n]=(0,y.useState)([]),[r,i]=(0,y.useState)({}),a=(0,y.useCallback)(Z,[]),o=(0,y.useCallback)(t=>{if(e?.minSize!==void 0&&t.size<e.minSize)return`Size (${Z(t.size)}) is smaller than minimum (${Z(e.minSize)}).`;if(e?.maxSize!==void 0&&t.size>e.maxSize)return`Size (${Z(t.size)}) exceeds maximum (${Z(e.maxSize)}).`;let n=t.name.split(`.`).pop()?.toLowerCase()||``;if(e?.allowedExtensions&&!e.allowedExtensions.map(e=>e.toLowerCase()).includes(n))return`Extension (.${n}) is not allowed.`;if(e?.customValidator){let n=e.customValidator(t);if(n!==!0)return typeof n==`string`?n:`Custom validation failed.`}return null},[e]),s=(0,y.useCallback)((t,r=!1)=>{let a=Array.isArray(t)?t:Array.from(t),s={};n(t=>{let n=r?[]:[...t];return a.forEach(t=>{let r=t.name.split(`.`).pop()?.toLowerCase()||``;if(n.some(e=>e.name===t.name&&e.size===t.size&&e.extension===r))return;let i=o(t);if(i){s[t.name]=i;return}if(e?.maxFiles!==void 0&&n.length+1>e.maxFiles){s[t.name]=`Cannot exceed max files limit of ${e.maxFiles}.`;return}let a={id:Ie(),file:t,name:t.name,size:t.size,formattedSize:Z(t.size),type:t.type,extension:r,lastModified:t.lastModified};n.push(a)}),n}),i(s)},[e?.maxFiles,o]);return{files:t,addFiles:(0,y.useCallback)(e=>s(e,!1),[s]),setFiles:(0,y.useCallback)(e=>s(e,!0),[s]),remove:(0,y.useCallback)(e=>{n(t=>t.filter(t=>t.id!==e))},[]),removeAll:(0,y.useCallback)(()=>{n(e=>e.length===0?e:[]),i({})},[]),formatSize:a,validationErrors:r}},Re={instruction:`Drag a file here or click to browse`,helper:``,browse:`Browse files`,remove:`Remove`};function ze({accept:e,multiple:n=!1,value:a,onChange:c,onChangeFiles:l,disabled:u,invalid:d,instructionText:f,browseButtonText:p,removeButtonText:m,helperText:h,strings:g},_){let v=t.useStrings(t.useStrings(Re,f!==void 0||h!==void 0||p!==void 0||m!==void 0?{instruction:f,helper:h,browse:p,remove:m}:void 0),g),{files:S,setFiles:C,remove:w,removeAll:T,validationErrors:E}=Le({maxFiles:n?void 0:1}),D=(0,y.useRef)(null),[O,k]=(0,y.useState)(!1);(0,y.useEffect)(()=>{if(n){Array.isArray(a)&&a.length>0?C(a):a||T();return}a instanceof File?C([a]):a||T()},[a,n]);let A=S[0],j=A?.name??(a instanceof File?a.name:``),M=A?.formattedSize??(a instanceof File?`${Math.round(a.size/1024*100)/100} KB`:``),N=n&&S.length>0,P=!n&&j.length>0,F=(0,y.useCallback)(()=>{u||D.current?.click()},[u]),I=(0,y.useCallback)(e=>{if(!e||e.length===0){T(),n?l?.([]):c?.(void 0);return}let t=Array.from(e);C(e),n?l?.(t):c?.(t[0])},[n,c,l,T,C]),L=(0,y.useCallback)(e=>{let t=e.target.files;if(!t||t.length===0){D.current&&(D.current.value=``);return}I(t),D.current&&(D.current.value=``)},[I]),R=(0,y.useCallback)(()=>{A&&w(A.id),D.current&&(D.current.value=``),c?.(void 0)},[c,w,A]),z=(0,y.useCallback)(e=>{let t=S.filter(t=>t.id!==e).map(e=>e.file);w(e),l?.(t),D.current&&(D.current.value=``)},[S,l,w]),B=(0,y.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),V=(0,y.useCallback)(e=>{B(e),u||k(!0)},[u,B]),H=(0,y.useCallback)(e=>{B(e),k(!1)},[B]),U=(0,y.useCallback)(e=>{if(B(e),k(!1),u)return;let t=e.dataTransfer?.files;!t||t.length===0||(I(t),D.current&&(D.current.value=``))},[u,I,B]),ee=(0,y.useMemo)(()=>r.cn(`relative flex min-h-45 flex-col items-center justify-center gap-4 rounded-xl border border-dashed px-6 py-10 text-center transition-colors duration-150`,d?`border-destructive`:`border-muted-foreground/60`,`bg-muted/40`,`hover:border-primary hover:bg-primary/5 hover:text-primary`,u?`cursor-not-allowed opacity-50 hover:border-muted-foreground/60 hover:bg-muted/40 hover:text-muted-foreground`:``,!u&&O?`border-primary bg-primary/10 text-primary`:``),[u,O,d]);return(0,b.jsxs)(`div`,{className:r.cn(`file-upload--component`,`space-y-3`),children:[(0,b.jsxs)(`div`,{role:`button`,tabIndex:u?-1:0,className:ee,onClick:e=>{e.defaultPrevented||F()},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),F())},onDragEnter:V,onDragOver:V,onDragLeave:H,onDrop:U,"aria-disabled":u,"aria-invalid":d||void 0,children:[(0,b.jsx)(`input`,{ref:e=>{D.current=e,typeof _==`function`?_(e):_&&(_.current=e)},type:`file`,className:`hidden`,accept:e,multiple:n,onChange:L,onClick:e=>{e.stopPropagation()},disabled:u}),(0,b.jsx)(s.t,{icon:x.UploadIcon,tone:`primary`,shape:`circle`,className:`size-avatar-lg [&>svg]:size-icon-lg`}),(0,b.jsxs)(`div`,{className:`space-y-1`,children:[(0,b.jsx)(o.s,{weight:`medium`,children:v.instruction}),!!v.helper&&(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,children:v.helper})]}),(0,b.jsx)(i.t,{type:`button`,variant:`secondary`,buttonStyle:`outline`,onClick:e=>{e.preventDefault(),e.stopPropagation(),F()},disabled:u,children:v.browse})]}),!!N&&(0,b.jsx)(`div`,{className:`space-y-2`,children:S.map(e=>(0,b.jsxs)(`div`,{className:`flex items-center gap-3 rounded-radius border bg-card p-surface-sm`,children:[(0,b.jsx)(s.t,{icon:x.File,tone:`muted`,shape:`square`}),(0,b.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,b.jsx)(o.s,{tag:`div`,weight:`medium`,className:`truncate`,title:e.name,children:e.name}),(0,b.jsx)(o.s,{tag:`div`,size:`xs`,type:`secondary`,children:e.formattedSize})]}),(0,b.jsx)(i.t,{type:`button`,variant:`error`,buttonStyle:`ghost`,size:`small`,icon:x.Trash2Icon,onClick:()=>z(e.id),children:v.remove})]},e.id))}),!!P&&(0,b.jsxs)(`div`,{className:`flex items-center gap-3 rounded-radius border bg-card p-surface-sm`,children:[(0,b.jsx)(s.t,{icon:x.File,tone:`muted`,shape:`square`}),(0,b.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,b.jsx)(o.s,{tag:`div`,weight:`medium`,className:`truncate`,title:j,children:j}),(0,b.jsx)(o.s,{tag:`div`,size:`xs`,type:`secondary`,children:M})]}),(0,b.jsx)(i.t,{type:`button`,variant:`error`,buttonStyle:`ghost`,size:`small`,icon:x.Trash2Icon,onClick:R,children:v.remove})]}),Object.keys(E).length>0&&(0,b.jsx)(`ul`,{className:`space-y-1.5`,children:Object.entries(E).map(([e,t])=>(0,b.jsxs)(`li`,{role:`alert`,className:`flex items-start gap-2 rounded-md border border-destructive/30 bg-destructive/5 px-3 py-2`,children:[(0,b.jsx)(`span`,{"aria-hidden":`true`,className:`mt-0.5 inline-flex size-4 shrink-0 items-center justify-center rounded-full bg-destructive/15 text-destructive`,children:(0,b.jsx)(`span`,{className:`size-1.5 rounded-full bg-destructive`})}),(0,b.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,b.jsx)(o.s,{size:`xs`,weight:`medium`,className:`truncate text-destructive`,children:e}),(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,className:`text-destructive/80`,children:t})]})]},e))})]})}var Be=y.default.forwardRef(ze);Be.displayName=`FileUpload`;var Ve=2,He={square:`aspect-square`,standard:`aspect-[4/3]`,widescreen:`aspect-[16/9]`,portrait:`aspect-[9/16]`},Ue={select:`Select image`,change:`Change image`,remove:`Remove`,noSelection:`No file selected yet.`,keepCurrent:`Current image stays until you upload a new one.`,supportsTemplate:`Supports {ext} files up to {size} MB.`,moreFiles:e=>`+ ${e} more file${e===1?``:`s`}`};function We({accept:e=`.png,.jpg,.jpeg,.gif,.svg`,multiple:n=!1,value:a,onChange:s,disabled:c,defaultPreviewUrl:l,aspectRatio:u=`square`,fit:d=`cover`,maxWidth:f,layout:p=`stacked`,invalid:m,selectButtonText:h,changeButtonText:g,removeButtonText:_,strings:v},S){let C=t.useStrings(t.useStrings(Ue,h!==void 0||g!==void 0||_!==void 0?{select:h,change:g,remove:_}:void 0),v),w=(0,y.useId)(),T=(0,y.useRef)(null),E=(0,y.useMemo)(()=>{if(!e)return[`png`,`jpg`,`jpeg`,`gif`,`svg`];let t=e.split(`,`).map(e=>e.trim()).map(e=>{if(!e)return null;if(e.startsWith(`.`))return e.slice(1).toLowerCase();if(e.includes(`/`)){let t=e.split(`/`)[1]??``;return t===`*`||t.length===0?null:t.replace(/\+.*/,``).toLowerCase()}return e.toLowerCase()}).filter(e=>!!e);if(t.length!==0)return Array.from(new Set(t))},[e]),{files:D,setFiles:O,remove:k,removeAll:A,validationErrors:j}=Le((0,y.useMemo)(()=>({maxFiles:n?void 0:1,allowedExtensions:E}),[n,E]));(0,y.useEffect)(()=>{a?O([a]):(A(),T.current&&(T.current.value=``))},[a,O,A]);let M=D[0],N=M?C.change:C.select,[P,F]=(0,y.useState)(void 0),I=(0,y.useMemo)(()=>!E||E.length===0?null:E.map(e=>e.toUpperCase()).join(`, `),[E]);(0,y.useEffect)(()=>{let e=M?.file??a;if(!e){F(void 0);return}let t=URL.createObjectURL(e);return F(t),()=>URL.revokeObjectURL(t)},[M,a]);let L=P??l,R=!!L,z=He[u]??He.square,B=d===`contain`?`object-contain p-3`:`object-cover`,V=f?typeof f==`number`?`${f}px`:f:`240px`,H=p===`inline`?void 0:{maxWidth:V},U=p===`inline`?{maxWidth:f?V:`185px`,width:`100%`}:void 0,ee=(0,y.useCallback)(e=>{let t=e.target.files;if(!t||t.length===0){A(),s?.(void 0),T.current&&(T.current.value=``);return}O(t),s?.(t[0])},[A,O,s]),W=(0,y.useCallback)(()=>{c||T.current?.click()},[c]),G=(0,y.useCallback)(()=>{M&&k(M.id),s?.(void 0),T.current&&(T.current.value=``)},[M,k,s]);return(0,b.jsxs)(`div`,{className:r.cn(`image-upload--component`,`space-y-3`),style:H,children:[(0,b.jsx)(`input`,{ref:e=>{T.current=e,typeof S==`function`?S(e):S&&(S.current=e)},id:w,type:`file`,className:`sr-only`,accept:e,multiple:n,disabled:c,onChange:ee}),(0,b.jsxs)(`div`,{className:r.cn(p===`inline`?`flex items-start gap-4`:`space-y-3`),children:[(0,b.jsx)(`div`,{className:r.cn(`relative overflow-hidden rounded-md border transition-colors`,p===`inline`?`flex-shrink-0 w-full`:`w-full`,z,R?`border-border bg-muted/20`:r.cn(`border-dashed bg-background text-muted-foreground dark:bg-foreground`,m?`border-destructive`:`border-muted-foreground/60`)),style:U,children:R&&L?(0,b.jsx)(`img`,{src:L,alt:M?.name||`Selected image`,className:r.cn(`absolute inset-0 h-full w-full`,B)}):(0,b.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,b.jsx)(x.ImageIcon,{"aria-hidden":!0,className:`size-icon-lg`})})}),(0,b.jsxs)(`div`,{className:r.cn(`space-y-2`,p===`inline`&&`flex-1 min-w-0`),children:[(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,b.jsx)(i.t,{type:`button`,variant:`secondary`,buttonStyle:`outline`,onClick:W,disabled:c,children:N}),!M&&!!R&&(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,children:C.keepCurrent})]}),!!I&&(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,children:C.supportsTemplate.replace(`{ext}`,I).replace(`{size}`,String(Ve))}),!!M&&(0,b.jsxs)(`div`,{className:`space-y-1`,children:[(0,b.jsx)(o.s,{weight:`medium`,title:M.name,className:`truncate`,children:M.name}),(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,children:M.formattedSize}),!!n&&D.length>1&&(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,children:C.moreFiles(D.length-1)}),(0,b.jsx)(i.t,{type:`button`,variant:`error`,buttonStyle:`ghost`,size:`small`,icon:x.Trash2,onClick:G,children:C.remove})]}),!M&&!R&&(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,children:C.noSelection})]})]}),Object.keys(j).length>0&&(0,b.jsx)(`div`,{className:`space-y-1`,children:Object.entries(j).map(([e,t])=>(0,b.jsxs)(o.s,{size:`xs`,type:`error`,children:[e,`: `,t]},e))})]})}var Ge=y.default.forwardRef(We);Ge.displayName=`ImageUpload`;var Ke={instruction:`Drag files here or click to browse`,helper:``,dragOver:`Release to upload`},qe={small:{padding:`px-surface py-surface`,minH:`min-h-24`,iconBox:`size-avatar-lg`,iconSize:`size-icon`},default:{padding:`px-surface py-space-2xl`,minH:`min-h-32`,iconBox:`size-avatar-lg`,iconSize:`size-icon-lg`}},Je=e=>e===`small`||e==="default"?e:e===`compact`?`small`:`default`;function Ye({onDrop:e,accept:n,multiple:i=!1,disabled:a=!1,invalid:s=!1,size:c=`default`,icon:l,className:u,children:d,strings:f},p){let m=t.useStrings(Ke,f),h=(0,y.useRef)(null),[g,_]=(0,y.useState)(!1),v=Je(c),S=qe[v],C=(0,y.useCallback)(()=>{a||h.current?.click()},[a]),w=(0,y.useCallback)(t=>{let n=t.target.files;!n||n.length===0||(e(Array.from(n)),h.current&&(h.current.value=``))},[e]),T=(0,y.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),a||_(!0)},[a]),E=(0,y.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),_(!1)},[]),D=(0,y.useCallback)(t=>{if(t.preventDefault(),t.stopPropagation(),_(!1),a)return;let n=t.dataTransfer?.files;!n||n.length===0||e(Array.from(n))},[a,e]);return(0,b.jsxs)(`div`,{role:`button`,tabIndex:a?-1:0,"aria-disabled":a||void 0,"aria-invalid":s||void 0,onClick:e=>{e.defaultPrevented||C()},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),C())},onDragEnter:T,onDragOver:T,onDragLeave:E,onDrop:D,className:r.cn(`dropzone--component`,`relative flex flex-col items-center justify-center gap-3 rounded-xl border border-dashed text-center transition-colors duration-150`,S.minH,S.padding,s?`border-destructive`:`border-muted-foreground/40`,`bg-muted/30 hover:border-primary hover:bg-primary/5 hover:text-primary`,a&&`cursor-not-allowed opacity-50 hover:border-muted-foreground/40 hover:bg-muted/30 hover:text-muted-foreground`,!a&&g&&`border-primary bg-primary/10 text-primary`,u),children:[(0,b.jsx)(`input`,{ref:e=>{h.current=e,typeof p==`function`?p(e):p&&(p.current=e)},type:`file`,className:`hidden`,accept:n,multiple:i,disabled:a,onChange:w,onClick:e=>e.stopPropagation()}),(0,b.jsx)(`span`,{className:r.cn(`inline-flex items-center justify-center rounded-full bg-primary/10 text-primary`,S.iconBox),"aria-hidden":`true`,children:l??(0,b.jsx)(x.UploadCloud,{className:S.iconSize})}),(0,b.jsxs)(`div`,{className:`space-y-1`,children:[(0,b.jsx)(o.s,{size:v===`small`?`xs`:`sm`,weight:`medium`,children:g?m.dragOver:m.instruction}),!!m.helper&&(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,children:m.helper})]}),!!d&&(0,b.jsx)(`div`,{onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:d})]})}var Xe=y.forwardRef(Ye);Xe.displayName=`Dropzone`;var Ze={change:`Change photo`,remove:`Remove photo`,hint:`Click or drop an image`,dragOver:`Drop image to upload`},Qe={small:{box:`size-upload-avatar-small`,icon:`size-icon`,remove:`size-control-clear`},default:{box:`size-upload-avatar`,icon:`size-icon-lg`,remove:`size-control`}},$e=e=>e===`small`||e==="default"?e:e===`sm`?`small`:`default`;function et({value:e,onChange:n,defaultPreviewUrl:i,accept:a=`.png,.jpg,.jpeg,.gif,.webp`,disabled:s=!1,invalid:c=!1,size:l=`default`,className:u,strings:d,initials:f},p){let m=t.useStrings(Ze,d),h=(0,y.useId)(),g=(0,y.useRef)(null),[_,v]=(0,y.useState)(!1),S=$e(l),C=Qe[S],{files:w,setFiles:T,removeAll:E}=Le({maxFiles:1,allowedExtensions:(0,y.useMemo)(()=>a.split(`,`).map(e=>e.trim().replace(/^\./,``).toLowerCase()).filter(Boolean),[a])});(0,y.useEffect)(()=>{e?T([e]):E()},[e]);let D=w[0],[O,k]=(0,y.useState)(void 0);(0,y.useEffect)(()=>{let t=D?.file??e;if(!t){k(void 0);return}let n=URL.createObjectURL(t);return k(n),()=>URL.revokeObjectURL(n)},[D,e]);let A=O??i,j=!!A,M=(0,y.useCallback)(e=>{let t=e.target.files;!t||t.length===0||(T(t),n?.(t[0]),g.current&&(g.current.value=``))},[n,T]),N=(0,y.useCallback)(()=>{s||g.current?.click()},[s]),P=(0,y.useCallback)(()=>{E(),n?.(void 0),g.current&&(g.current.value=``)},[n,E]),F=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),N())},I=(0,y.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),s||v(!0)},[s]),L=(0,y.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),v(!1)},[]),R=(0,y.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),v(!1),s)return;let t=e.dataTransfer?.files;!t||t.length===0||(T(t),n?.(t[0]))},[s,n,T]);return(0,b.jsxs)(`div`,{className:r.cn(`avatar-upload--component`,`inline-flex flex-col items-center gap-2`,u),children:[(0,b.jsxs)(`div`,{role:`button`,tabIndex:s?-1:0,"aria-label":m.change,"aria-disabled":s||void 0,"aria-invalid":c||void 0,onClick:N,onKeyDown:F,onDragEnter:I,onDragOver:I,onDragLeave:L,onDrop:R,className:r.cn(`group relative flex shrink-0 items-center justify-center overflow-hidden rounded-full`,`border border-dashed transition-colors duration-150 outline-none`,`focus-visible:ring-2 focus-visible:ring-ring/50`,j?`border-border/60 bg-muted/20`:r.cn(`bg-muted/30 hover:border-primary hover:bg-primary/5`,c?`border-destructive`:`border-muted-foreground/40`),s&&`cursor-not-allowed opacity-50`,!s&&_&&`border-primary bg-primary/10`,C.box),children:[(0,b.jsx)(`input`,{id:h,ref:e=>{g.current=e,typeof p==`function`?p(e):p&&(p.current=e)},type:`file`,className:`sr-only`,"aria-label":m.change,accept:a,disabled:s,onChange:M}),j&&A?(0,b.jsx)(`img`,{src:A,alt:m.change,className:`absolute inset-0 size-full object-cover`}):f?(0,b.jsx)(o.s,{size:S===`small`?`sm`:`base`,weight:`bold`,className:`leading-none`,children:f}):(0,b.jsx)(x.Camera,{className:r.cn(C.icon,`text-muted-foreground`),"aria-hidden":`true`}),!s&&j&&(0,b.jsx)(`div`,{className:`pointer-events-none absolute inset-0 hidden items-center justify-center bg-foreground/50 text-background backdrop-blur-[1px] group-hover:flex`,"aria-hidden":`true`,children:(0,b.jsx)(x.Camera,{className:C.icon})}),!s&&j&&(0,b.jsx)(`button`,{type:`button`,"aria-label":m.remove,onClick:e=>{e.stopPropagation(),P()},className:r.cn(`absolute right-0.5 top-0.5 inline-flex items-center justify-center rounded-full bg-card text-foreground shadow ring-1 ring-border`,`opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100`,C.remove),children:(0,b.jsx)(x.X,{className:`size-3`})}),!s&&!j&&_&&(0,b.jsx)(o.s,{size:`xs`,weight:`medium`,className:`absolute inset-x-0 bottom-1.5 text-center text-primary`,children:m.dragOver})]}),!j&&(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,children:m.hint})]})}var tt=y.forwardRef(et);tt.displayName=`AvatarUpload`;var nt={addInstruction:`Drop or click to add images`,helper:``,dragOver:`Release to upload`,cover:`Cover`,removeAria:`Remove image`,maxReached:`You have reached the maximum number of images.`},rt=0,it=()=>`media-${Date.now().toString(36)}-${(rt++).toString(36)}`;function at({item:e,isFirst:t,disabled:n,onRemove:i,strings:a,tileClassName:o}){let{attributes:s,listeners:c,setNodeRef:l,transform:u,transition:d,isDragging:f}=(0,D.useSortable)({id:e.id,disabled:n});return(0,b.jsxs)(`div`,{ref:l,style:{transform:O.CSS.Transform.toString(u),transition:d},className:r.cn(`media-gallery--component`,`group relative aspect-square overflow-hidden rounded-lg border border-border/60 bg-muted/30`,`cursor-grab active:cursor-grabbing`,f&&`z-10 shadow-lg ring-2 ring-primary/40`,n&&`pointer-events-none opacity-50`,o),...s,...c,children:[(0,b.jsx)(`img`,{src:e.previewUrl,alt:e.file.name,className:`absolute inset-0 size-full object-cover`,draggable:!1}),t&&(0,b.jsx)(`span`,{className:`absolute left-1.5 top-1.5 rounded-full bg-card/90 px-1.5 py-0.5 text-xs font-semibold text-foreground shadow ring-1 ring-border`,children:a.cover}),(0,b.jsx)(`button`,{type:`button`,"aria-label":a.removeAria,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),i()},className:r.cn(`absolute right-1.5 top-1.5 inline-flex size-6 items-center justify-center rounded-full bg-card text-foreground shadow ring-1 ring-border`,`opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100`),children:(0,b.jsx)(x.X,{className:`size-3.5`})})]})}function ot({value:e,onChange:n,accept:i=`.png,.jpg,.jpeg,.gif,.webp`,maxFiles:a,disabled:s=!1,invalid:c=!1,className:l,tileClassName:u,strings:d}){let f=t.useStrings(nt,d),p=(0,y.useId)(),m=(0,y.useRef)(null),[h,g]=(0,y.useState)([]),[_,v]=(0,y.useState)(!1),S=(0,E.useSensors)((0,E.useSensor)(E.PointerSensor,{activationConstraint:{distance:6}})),C=(0,y.useRef)([]);C.current=h,(0,y.useEffect)(()=>{e&&g(t=>t.length===e.length&&t.every((t,n)=>t.file===e[n])?t:(t.forEach(e=>URL.revokeObjectURL(e.previewUrl)),e.map(e=>({id:it(),file:e,previewUrl:URL.createObjectURL(e)}))))},[e]),(0,y.useEffect)(()=>()=>{C.current.forEach(e=>URL.revokeObjectURL(e.previewUrl))},[]);let w=(0,y.useCallback)(e=>{n?.(e.map(e=>e.file))},[n]),T=(0,y.useCallback)(e=>{s||g(t=>{let n=a===void 0?e.length:Math.max(0,a-t.length),r=e.slice(0,n).map(e=>({id:it(),file:e,previewUrl:URL.createObjectURL(e)})),i=[...t,...r];return w(i),i})},[s,w,a]),O=(0,y.useCallback)(e=>{g(t=>{let n=t.find(t=>t.id===e);n&&URL.revokeObjectURL(n.previewUrl);let r=t.filter(t=>t.id!==e);return w(r),r})},[w]),k=(0,y.useCallback)(e=>{let t=e.target.files;!t||t.length===0||(T(Array.from(t)),m.current&&(m.current.value=``))},[T]),A=(0,y.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),s||v(!0)},[s]),j=(0,y.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),v(!1)},[]),M=(0,y.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),v(!1),s)return;let t=e.dataTransfer?.files;!t||t.length===0||T(Array.from(t))},[T,s]),N=(0,y.useCallback)(e=>{let{active:t,over:n}=e;!n||t.id===n.id||g(e=>{let r=e.findIndex(e=>e.id===t.id),i=e.findIndex(e=>e.id===n.id);if(r===-1||i===-1)return e;let a=[...e],[o]=a.splice(r,1);return a.splice(i,0,o),w(a),a})},[w]),P=(0,y.useMemo)(()=>h.map(e=>e.id),[h]),F=a!==void 0&&h.length>=a;return(0,b.jsxs)(`div`,{className:r.cn(`space-y-3`,l),children:[(0,b.jsx)(E.DndContext,{sensors:S,onDragEnd:N,children:(0,b.jsx)(D.SortableContext,{items:P,strategy:D.rectSortingStrategy,children:(0,b.jsxs)(`div`,{className:r.cn(`grid grid-cols-2 gap-2`,`sm:grid-cols-3 md:grid-cols-4`),children:[h.map((e,t)=>(0,b.jsx)(at,{item:e,isFirst:t===0,disabled:s,onRemove:()=>O(e.id),strings:f,tileClassName:u},e.id)),!F&&(0,b.jsxs)(`div`,{role:`button`,tabIndex:s?-1:0,"aria-disabled":s||void 0,"aria-invalid":c||void 0,onClick:()=>!s&&m.current?.click(),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),m.current?.click())},onDragEnter:A,onDragOver:A,onDragLeave:j,onDrop:M,className:r.cn(`flex aspect-square items-center justify-center rounded-lg border border-dashed text-center outline-none transition-colors`,`hover:border-primary hover:bg-primary/5 hover:text-primary focus-visible:ring-2 focus-visible:ring-ring/50`,c?`border-destructive`:`border-muted-foreground/40`,s&&`cursor-not-allowed opacity-50`,!s&&_&&`border-primary bg-primary/10 text-primary`),children:[(0,b.jsx)(`input`,{id:p,ref:m,type:`file`,className:`sr-only`,accept:i,multiple:!0,disabled:s,onChange:k}),(0,b.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-2`,children:[(0,b.jsx)(x.ImagePlus,{className:`size-5 text-muted-foreground`,"aria-hidden":`true`}),(0,b.jsx)(o.s,{size:`xs`,weight:`medium`,children:_?f.dragOver:f.addInstruction})]})]})]})})}),!!F&&(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,children:f.maxReached}),!F&&!!f.helper&&(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,children:f.helper})]})}ot.displayName=`MediaGallery`;var st={queued:`Queued`,uploading:`Uploading`,done:`Uploaded`,error:`Failed`,cancelled:`Cancelled`,cancel:`Cancel`,retry:`Retry`,remove:`Remove`},ct={queued:{icon:x.Clock,bg:`bg-muted`,fg:`text-muted-foreground`,bar:`bg-muted-foreground/30`},uploading:{icon:x.UploadCloud,bg:`bg-primary/15`,fg:`text-primary`,bar:`bg-primary`},done:{icon:x.Check,bg:`bg-success/15`,fg:`text-success`,bar:`bg-success`},error:{icon:x.AlertCircle,bg:`bg-destructive/15`,fg:`text-destructive`,bar:`bg-destructive`},cancelled:{icon:x.X,bg:`bg-muted`,fg:`text-muted-foreground`,bar:`bg-muted-foreground/30`}};function lt({items:e,onCancel:n,onRetry:a,onRemove:s,className:c,strings:l}){let u=t.useStrings(st,l),d={queued:u.queued,uploading:u.uploading,done:u.done,error:u.error,cancelled:u.cancelled};return e.length===0?null:(0,b.jsx)(`ul`,{className:r.cn(`upload-progress-list--component`,`space-y-2`,c),children:e.map(e=>{let t=ct[e.status],c=t.icon,l=e.status===`done`?100:e.status===`cancelled`||e.status===`error`?e.progress??0:Math.max(0,Math.min(100,e.progress??0)),f=e.status===`uploading`||e.status===`queued`;return(0,b.jsx)(`li`,{className:`rounded-md border border-border/60 bg-card px-3 py-2`,children:(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(`span`,{className:r.cn(`inline-flex size-7 shrink-0 items-center justify-center rounded-md`,t.bg,t.fg),children:(0,b.jsx)(c,{className:r.cn(`size-3.5`,e.status===`uploading`&&`animate-pulse`)})}),(0,b.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,b.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2`,children:[(0,b.jsx)(o.s,{weight:`medium`,className:`truncate`,children:e.name}),(0,b.jsx)(o.s,{size:`xs`,type:`secondary`,className:`shrink-0 tabular-nums`,children:e.size})]}),f?(0,b.jsx)(`div`,{className:`mt-1.5 h-1 w-full overflow-hidden rounded-full bg-muted`,children:(0,b.jsx)(`div`,{className:r.cn(`h-full rounded-full transition-[width] duration-200`,t.bar),style:{width:`${l}%`}})}):(0,b.jsxs)(o.s,{size:`xs`,type:e.status===`error`?`error`:`secondary`,children:[d[e.status],e.status===`error`&&!!e.error&&` — ${e.error}`]})]}),(0,b.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[e.status===`uploading`&&!!n&&(0,b.jsx)(i.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,"aria-label":u.cancel,onClick:()=>n(e.id),children:(0,b.jsx)(x.X,{className:`size-3.5`})}),e.status===`error`&&!!a&&(0,b.jsx)(i.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,"aria-label":u.retry,onClick:()=>a(e.id),children:(0,b.jsx)(x.RefreshCw,{className:`size-3.5`})}),(e.status===`done`||e.status===`error`||e.status===`cancelled`)&&!!s&&(0,b.jsx)(i.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,"aria-label":u.remove,onClick:()=>s(e.id),children:(0,b.jsx)(x.X,{className:`size-3.5`})})]})]})},e.id)})})}lt.displayName=`UploadProgressList`;var ut={heading:`Upload progress`,completedLabel:`Completed`,failedLabel:`Failed`,uploadingLabel:`Uploading`,queuedLabel:`Queued`,clearAll:`Clear all`};function dt(e){let t=0,n=0,r=0,i=0;for(let a of e)a.status===`done`?t+=1:a.status===`error`?n+=1:a.status===`uploading`?r+=1:a.status===`queued`&&(i+=1);return{completed:t,failed:n,uploading:r,queued:i}}var ft=(0,y.forwardRef)(function({items:e,onAddFiles:n,onCancel:a,onRetry:s,onRemove:l,onClearAll:u,dropzone:d,className:f,strings:p,listStrings:m},h){let g=t.useStrings(ut,p),{completed:_,failed:v,uploading:x,queued:S}=dt(e),C=(0,y.useCallback)(e=>{e.length>0&&n(e)},[n]),w=e.length>0;return(0,b.jsxs)(`div`,{ref:h,className:r.cn(`upload-tray--component`,`flex flex-col gap-4`,f),children:[(0,b.jsx)(Xe,{onDrop:C,accept:d?.accept,multiple:d?.multiple,size:d?.size,disabled:d?.disabled,invalid:d?.invalid,strings:d?.strings}),!!w&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,b.jsx)(o.s,{tag:`span`,weight:`semibold`,children:g.heading}),_>0&&(0,b.jsxs)(c.t,{variant:`success`,children:[g.completedLabel,`: `,_]}),v>0&&(0,b.jsxs)(c.t,{variant:`destructive`,children:[g.failedLabel,`: `,v]}),x>0&&(0,b.jsxs)(c.t,{variant:`info`,children:[g.uploadingLabel,`: `,x]}),S>0&&(0,b.jsxs)(c.t,{variant:`secondary`,children:[g.queuedLabel,`: `,S]})]}),!!u&&(0,b.jsx)(i.t,{variant:`secondary`,buttonStyle:`ghost`,onClick:u,children:g.clearAll})]}),(0,b.jsx)(lt,{items:e,onCancel:a,onRetry:s,onRemove:l,strings:m})]})]})});ft.displayName=`UploadTray`;var Q={emptyState:`No items added yet.`,addItem:`Add item`,removeAriaLabel:`Remove item`},pt={emptyState:Q.emptyState,addButton:Q.addItem,removeAriaLabel:Q.removeAriaLabel,dragHandleAriaLabel:`Drag to reorder`};function mt({item:e,index:t,sortable:n,rowVariant:a,removeVariant:o,hideRemove:s,disabled:c,strings:l,onRemove:u,renderRow:d}){let f=(0,D.useSortable)({id:e.id,disabled:c||!n}),p=n?f.isDragging:!1,m=n?{transform:O.CSS.Transform.toString(f.transform),transition:f.transition,opacity:p?.6:1}:void 0,h=n?f.setNodeRef:void 0,g=n?f.attributes:{},_=n?f.listeners:void 0,v=n?(0,b.jsx)(`button`,{type:`button`,"aria-label":l.dragHandleAriaLabel,className:r.cn(`inline-flex size-9 shrink-0 items-center justify-center rounded-md`,`text-muted-foreground/50 hover:text-foreground hover:bg-muted`,`cursor-grab active:cursor-grabbing`,`outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,`transition-colors`,c&&`pointer-events-none opacity-50`),...g,..._,children:(0,b.jsx)(x.GripVertical,{className:`size-4`,"aria-hidden":`true`})}):null,y=s?null:o===`icon-button`?(0,b.jsx)(i.t,{type:`button`,variant:`secondary`,buttonStyle:`outline`,size:`default`,"aria-label":l.removeAriaLabel,disabled:c,onClick:()=>u(t),className:`shrink-0`,children:(0,b.jsx)(x.Trash2,{className:`size-4`,"aria-hidden":`true`})}):(0,b.jsx)(`button`,{type:`button`,"aria-label":l.removeAriaLabel,disabled:c,onClick:()=>u(t),className:r.cn(`inline-flex size-9 shrink-0 items-center justify-center rounded-md`,`text-muted-foreground/70 hover:bg-destructive/10 hover:text-destructive`,`outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,`transition-colors`,`disabled:pointer-events-none disabled:opacity-50`),children:(0,b.jsx)(x.X,{className:`size-4`,"aria-hidden":`true`})});return a===`card`?(0,b.jsx)(`div`,{ref:h,style:m,className:r.cn(`repeater--component`,`relative rounded-md border border-input bg-card p-4`,n&&`pl-2`),children:(0,b.jsxs)(`div`,{className:`flex items-start gap-2`,children:[v,(0,b.jsx)(`div`,{className:`min-w-0 flex-1`,children:d(e,{index:t,isDragging:p})}),y]})}):(0,b.jsxs)(`div`,{ref:h,style:m,className:`flex items-start gap-2`,children:[v,(0,b.jsx)(`div`,{className:`min-w-0 flex-1`,children:d(e,{index:t,isDragging:p})}),y]})}function $({items:e,renderRow:n,onAdd:a,onRemove:s,onMove:c,sortable:l=!1,rowVariant:u=`inline`,removeVariant:d=`ghost`,hideRemove:f=!1,hideAdd:p=!1,disabled:m=!1,strings:h,className:g}){let _=t.useStrings(pt,h),v=(0,E.useSensors)((0,E.useSensor)(E.PointerSensor,{activationConstraint:{distance:4}}),(0,E.useSensor)(E.KeyboardSensor,{coordinateGetter:D.sortableKeyboardCoordinates})),S=(0,y.useCallback)(t=>{let{active:n,over:r}=t;if(!r||n.id===r.id)return;let i=e.findIndex(e=>e.id===n.id),a=e.findIndex(e=>e.id===r.id);i<0||a<0||c?.(i,a)},[e,c]),C=(0,y.useMemo)(()=>e.map(e=>e.id),[e]),w=(0,b.jsx)(`div`,{className:`space-y-2`,children:e.map((e,t)=>(0,b.jsx)(mt,{item:e,index:t,sortable:l,rowVariant:u,removeVariant:d,hideRemove:f,disabled:m,strings:_,onRemove:s,renderRow:n},e.id))});return(0,b.jsxs)(`div`,{className:r.cn(`space-y-3`,g),children:[e.length===0?(0,b.jsx)(`div`,{className:`rounded-md border border-dashed border-input p-4`,children:(0,b.jsx)(o.s,{type:`secondary`,children:_.emptyState})}):l?(0,b.jsx)(E.DndContext,{sensors:v,collisionDetection:E.closestCenter,onDragEnd:S,children:(0,b.jsx)(D.SortableContext,{items:C,strategy:D.verticalListSortingStrategy,children:w})}):w,!p&&(0,b.jsxs)(i.t,{type:`button`,variant:`secondary`,buttonStyle:`outline`,size:`default`,disabled:m,onClick:a,children:[(0,b.jsx)(x.Plus,{className:`size-4 mr-1.5`}),_.addButton]})]})}$.displayName=`Repeater`;var ht={keyLabel:`Key`,valueLabel:`Value`,keyPlaceholder:`key`,valuePlaceholder:`value`,addButton:`Add row`,removeRowAriaLabel:`Remove row`,emptyState:`No rows yet.`},gt=()=>typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():Math.random().toString(36).slice(2,10),_t=(0,y.memo)(function({row:e,keyPlaceholder:t,valuePlaceholder:n,invalid:i,onKeyChange:a,onValueChange:o}){let{id:s,key:c,value:l}=e;return(0,b.jsxs)(`div`,{className:r.cn(`key-value-editor--component`,`grid grid-cols-1 md:grid-cols-2 gap-2`),children:[(0,b.jsx)(u.t,{value:c??``,placeholder:t,onChange:e=>a(s,e.target.value),invalid:i}),(0,b.jsx)(u.t,{value:l??``,placeholder:n,onChange:e=>o(s,e.target.value),invalid:i})]})});function vt({value:e,onChange:n,invalid:i,sortable:a=!1,keyPlaceholder:s,valuePlaceholder:c,keyLabel:l,valueLabel:u,addButtonText:d,strings:f}){let p=t.useStrings(t.useStrings(ht,s!==void 0||c!==void 0||l!==void 0||u!==void 0||d!==void 0?{keyPlaceholder:s,valuePlaceholder:c,keyLabel:l,valueLabel:u,addButton:d}:void 0),f),m=(0,y.useRef)(!1),[h,g]=(0,y.useState)(()=>e&&Object.keys(e).length>0?Object.entries(e).map(([e,t])=>({id:gt(),key:e,value:String(t??``)})):[{id:gt(),key:``,value:``}]),_=(0,y.useCallback)(e=>{let t={};e.forEach(({key:e,value:n})=>{e.trim()!==``&&(t[e]=n??``)}),m.current=!0,n?.(t),queueMicrotask(()=>{m.current=!1})},[n]),v=(0,y.useCallback)((e,t)=>{g(n=>{let r=n.map(n=>n.id===e?{...n,key:t}:n);return _(r),r})},[_]),x=(0,y.useCallback)((e,t)=>{g(n=>{let r=n.map(n=>n.id===e?{...n,value:t}:n);return _(r),r})},[_]),S=(0,y.useCallback)(()=>{g(e=>{let t=[...e,{id:gt(),key:``,value:``}];return _(t),t})},[_]),C=(0,y.useCallback)(e=>{g(t=>{let n=t.filter((t,n)=>n!==e),r=n.length?n:[{id:gt(),key:``,value:``}];return _(r),r})},[_]),w=(0,y.useCallback)((e,t)=>{g(n=>{let r=[...n],[i]=r.splice(e,1);return r.splice(t,0,i),_(r),r})},[_]);return(0,b.jsxs)(`div`,{className:`space-y-2`,children:[(!!p.keyLabel||!!p.valueLabel)&&(0,b.jsxs)(`div`,{className:r.cn(`grid grid-cols-1 md:grid-cols-2 gap-2`,a?`pl-11`:``,`pr-11`),children:[!!p.keyLabel&&(0,b.jsx)(o.a,{className:`flex items-center`,children:p.keyLabel}),!!p.valueLabel&&(0,b.jsx)(o.a,{className:`flex items-center`,children:p.valueLabel})]}),(0,b.jsx)($,{items:h,sortable:a,onAdd:S,onRemove:C,onMove:w,strings:{emptyState:p.emptyState,addButton:p.addButton,removeAriaLabel:p.removeRowAriaLabel},renderRow:e=>(0,b.jsx)(_t,{row:e,keyPlaceholder:p.keyPlaceholder,valuePlaceholder:p.valuePlaceholder,invalid:i,onKeyChange:v,onValueChange:x})})]})}vt.displayName=`KeyValueEditor`;var yt={placeholder:`Enter value`,addButton:`Add item`,...Q};function bt({name:e,placeholder:n,addButtonText:r,emptyMessage:i,invalid:a,sortable:o=!1,strings:s}){let c=t.useStrings(t.useStrings(yt,n!==void 0||r!==void 0||i!==void 0?{placeholder:n,addButton:r,emptyState:i}:void 0),s),{control:l,register:d}=(0,k.useFormContext)(),{fields:f,append:p,remove:m,move:h}=(0,k.useFieldArray)({control:l,name:e});return(0,b.jsx)($,{className:`string-repeater--component`,items:f,sortable:o,onAdd:()=>p(``),onRemove:e=>m(e),onMove:(e,t)=>h(e,t),strings:{emptyState:c.emptyState,addButton:c.addButton,removeAriaLabel:c.removeAriaLabel},renderRow:(t,{index:n})=>(0,b.jsx)(u.t,{...d(`${e}.${n}`),placeholder:c.placeholder,invalid:a})})}bt.displayName=`StringRepeater`;var xt={addButton:`Add item`,...Q};function St({name:e,fields:n,addButtonText:i,emptyMessage:a,invalid:o,sortable:s=!1,strings:c}){let l=t.useStrings(t.useStrings(xt,i!==void 0||a!==void 0?{addButton:i,emptyState:a}:void 0),c),{control:d,register:f}=(0,k.useFormContext)(),{fields:m,append:g,remove:_,move:v}=(0,k.useFieldArray)({control:d,name:e}),x=(0,y.useCallback)(()=>n.reduce((e,t)=>(e[t.name]=``,e),{}),[n]);return(0,b.jsx)($,{items:m,sortable:s,rowVariant:`card`,removeVariant:`ghost`,onAdd:()=>g(x()),onRemove:e=>_(e),onMove:(e,t)=>v(e,t),strings:{emptyState:l.emptyState,addButton:l.addButton,removeAriaLabel:l.removeAriaLabel},renderRow:(t,{index:i})=>(0,b.jsx)(`div`,{className:r.cn(`object-repeater--component`,`space-y-3`),children:n.map(t=>{let n=`${e}.${i}.${t.name}`;return(0,b.jsx)(h.D,{label:t.label,required:t.required,hint:t.hint,htmlFor:n,children:t.type===`textarea`?(0,b.jsx)(p.t,{...f(n),id:n,placeholder:t.placeholder,minRows:3,invalid:o}):(0,b.jsx)(u.t,{...f(n),id:n,type:t.type||`text`,placeholder:t.placeholder,invalid:o})},t.name)})})})}St.displayName=`ObjectRepeater`;var Ct={addButton:`Add item`,emptyState:Q.emptyState,dragHandle:`Drag to reorder`,removeAriaLabel:Q.removeAriaLabel};function wt({name:e,placeholder:n,addButtonText:r,emptyMessage:i,disableSort:a=!1,invalid:o,strings:s}){let c=t.useStrings(t.useStrings(Ct,r!==void 0||i!==void 0?{addButton:r,emptyState:i}:void 0),s),{control:l,register:d}=(0,k.useFormContext)(),{fields:f,append:p,remove:m,move:h}=(0,k.useFieldArray)({control:l,name:e});return(0,b.jsx)($,{className:`list--component`,items:f,sortable:!a,onAdd:()=>p(``),onRemove:e=>m(e),onMove:(e,t)=>h(e,t),strings:{emptyState:c.emptyState,addButton:c.addButton,removeAriaLabel:c.removeAriaLabel,dragHandleAriaLabel:c.dragHandle},renderRow:(t,{index:r})=>(0,b.jsx)(u.t,{...d(`${e}.${r}`),placeholder:n,invalid:o})})}wt.displayName=`List`;function Tt({name:e,value:t,options:i,onChange:a,allowClear:o=!1,size:s,fullWidth:c=!1,disabled:l=!1,invalid:u=!1,className:d}){let{defaultControlSize:p}=n.o(),m=f.f(s,p),h=y.useCallback(e=>{e===t?o&&a(null):a(e)},[o,a,t]);return(0,b.jsx)(`div`,{"data-name":e,role:`radiogroup`,"aria-invalid":u||void 0,className:r.cn(`pill-radio-group--component`,`border-input inline-flex items-center overflow-hidden rounded-lg border`,c&&`w-full`,`aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20`,l&&`pointer-events-none opacity-50`,d),children:i.map((e,n)=>{let i=e.value===t,a=e.icon;return(0,b.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":i,"aria-label":(typeof e.label==`string`?e.label:void 0)||e.value,disabled:l||e.disabled,onClick:()=>h(e.value),className:r.cn(`inline-flex select-none items-center justify-center font-medium transition-colors`,`focus-visible:ring-ring/50 outline-none focus-visible:z-10 focus-visible:ring-2`,`disabled:pointer-events-none disabled:opacity-50`,g.i[m],c&&`flex-1`,n>0&&`border-input border-l`,i?`bg-primary text-primary-foreground`:`bg-background text-foreground hover:bg-muted`),children:[!!a&&(0,b.jsx)(a,{className:r.cn(m===`small`?`size-icon-sm`:`size-icon`,e.label&&`mr-space-sm`)}),e.label]},e.value)})})}Tt.displayName=`PillRadioGroup`;function Et({name:e,type:t=`text`,placeholder:n,primaryLocale:i,secondaryLocale:a,activeLocale:o,invalid:s,className:c}){let{register:l}=(0,k.useFormContext)(),d=`${e}.${o===`primary`?i:a}`;return t===`textarea`?(0,b.jsx)(p.t,{...l(d),placeholder:n,minRows:3,invalid:s,className:r.cn(`localized-string-field--component`,c)}):(0,b.jsx)(u.t,{...l(d),type:t===`number`?`number`:`text`,placeholder:n,invalid:s,className:c})}Et.displayName=`LocalizedStringField`;function Dt({name:e,fields:t,primaryLocale:n,secondaryLocale:r,activeLocale:i,invalid:a,className:s}){let{register:c}=(0,k.useFormContext)(),l=i===`primary`?n:r;return(0,b.jsx)(`div`,{className:`w-full space-y-3 rounded-md border p-4 ${s??``}`,children:t.map(t=>{let n=`${e}.${l}.${t.name}`;return(0,b.jsxs)(`div`,{className:`w-full space-y-1.5`,children:[(0,b.jsxs)(o.a,{htmlFor:n,children:[t.label,!!t.required&&(0,b.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),t.type===`textarea`?(0,b.jsx)(p.t,{...c(n),id:n,placeholder:t.placeholder,minRows:3,invalid:a}):(0,b.jsx)(u.t,{...c(n),id:n,type:t.type===`number`?`number`:`text`,placeholder:t.placeholder,invalid:a})]},t.name)})})}Dt.displayName=`LocalizedObjectField`;var Ot={placeholder:`Enter value`,addButton:Q.addItem,emptyState:Q.emptyState,removeAriaLabel:Q.removeAriaLabel};function kt({name:e,placeholder:n,addButtonText:r,emptyMessage:i,primaryLocale:a,secondaryLocale:o,activeLocale:s,invalid:c,sortable:l=!1,strings:u}){let d=t.useStrings(t.useStrings(Ot,n!==void 0||r!==void 0||i!==void 0?{placeholder:n,addButton:r,emptyState:i}:void 0),u),{control:f,register:m}=(0,k.useFormContext)(),h=`${e}.${s===`primary`?a:o}`,{fields:g,append:_,remove:v,move:y}=(0,k.useFieldArray)({control:f,name:h});return(0,b.jsx)($,{className:`localized-string-repeater--component`,items:g,sortable:l,onAdd:()=>_(``),onRemove:e=>v(e),onMove:(e,t)=>y(e,t),strings:{emptyState:d.emptyState,addButton:d.addButton,removeAriaLabel:d.removeAriaLabel},renderRow:(e,{index:t})=>(0,b.jsx)(p.t,{...m(`${h}.${t}`),placeholder:d.placeholder,minRows:2,invalid:c})})}kt.displayName=`LocalizedStringRepeater`;function At({title:e,description:t,actions:n,children:i,footer:a,padding:o=`default`,surface:s=`card`,className:c,contentClassName:u}){return(0,b.jsx)(l.t,{"data-component":`form-section`,"data-slot":`form-section`,title:e,description:t,headerAction:n,footerSlot:a,padding:o,surface:s,className:r.cn(`form-section--component`,c),contentClassName:r.cn(`form-section--content grid gap-4`,u),children:i})}function jt({children:e,leading:t,trailing:n,sticky:i=!1,className:a}){return(0,b.jsxs)(`div`,{"data-component":`form-actions-bar`,"data-slot":`form-actions-bar`,className:r.cn(`form-actions-bar--component flex min-w-0 flex-col gap-3 border-t border-border bg-background/95 px-4 py-3 backdrop-blur sm:flex-row sm:items-center sm:justify-between`,i&&`sticky bottom-0 z-30`,a),children:[(0,b.jsx)(`div`,{"data-slot":`form-actions-leading`,className:`form-actions-bar--leading min-w-0 flex-1`,children:t}),(0,b.jsx)(`div`,{"data-slot":`form-actions-trailing`,className:`form-actions-bar--trailing flex shrink-0 flex-wrap items-center gap-2`,children:n??e})]})}function Mt({title:e,description:t,errors:n=[],action:i,className:a}){return(0,b.jsxs)(l.i,{"data-component":`error-summary`,"data-slot":`error-summary`,variant:`destructive`,className:r.cn(`error-summary--component`,a),children:[(0,b.jsx)(l.s,{children:e}),!!t&&(0,b.jsx)(l.o,{children:t}),n.length>0&&(0,b.jsx)(`ul`,{"data-slot":`error-summary-list`,className:`error-summary--list col-start-2 m-0 list-disc space-y-1 pl-4 text-sm text-muted-foreground`,children:n.map((e,t)=>(0,b.jsx)(`li`,{children:e},t))}),!!i&&(0,b.jsx)(l.a,{children:i})]})}function Nt({title:e,description:t,actions:n,variant:i=`warning`,className:a}){return(0,b.jsxs)(l.i,{"data-component":`dirty-state-banner`,"data-slot":`dirty-state-banner`,variant:i,className:r.cn(`dirty-state-banner--component`,a),children:[(0,b.jsx)(l.s,{children:e}),!!t&&(0,b.jsx)(l.o,{children:t}),!!n&&(0,b.jsx)(l.a,{children:n})]})}function Pt({isSubmitting:e=!1,isDirty:t=!0,disableWhenPristine:n=!1,disabled:a,children:o,...s}){return(0,b.jsx)(i.t,{...s,"data-component":`submit-state-button`,"data-slot":`submit-state-button`,type:s.type??`submit`,loading:e,disabled:a||n&&!t,className:r.cn(`submit-state-button--component`,s.className),children:o})}function Ft(e){let{formId:t,onSubmit:n,errors:i,isLoading:a,label:s}=e,c=(e=>{let t=i?.[e];return Array.isArray(t)?t[0]:t})(`password`),l=c?()=>c:void 0,d=(Array.isArray(i?.general)?i.general[0]:i?.general)||(Array.isArray(i?.server)?i.server[0]:i?.server),{handleSubmit:f,control:p}=(0,k.useForm)({defaultValues:(0,y.useMemo)(()=>({password:``}),[])}),m=async e=>{await n({password:e.password})},g=!!a;return(0,b.jsxs)(`form`,{id:t,onSubmit:f(m),className:r.cn(`operation-password-form--component`,`space-y-4`),children:[!!d&&(0,b.jsx)(o.s,{type:`error`,children:d}),(0,b.jsx)(h.E,{name:`password`,control:p,error:l,label:s,required:!0,children:(e,t,n)=>(0,b.jsx)(u.t,{type:`password`,value:e.value??``,onChange:e.onChange,onBlur:e.onBlur,name:e.name,invalid:n,disabled:g,autoFocus:!0})})]})}Ft.displayName=`OperationPasswordForm`,Object.defineProperty(exports,"$",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return tt}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return Ke}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,"G",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"H",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,"J",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"K",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,"Q",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return Xe}}),Object.defineProperty(exports,"U",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"V",{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,"W",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"X",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"Y",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"Z",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return ft}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return At}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Dt}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return wt}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return St}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return pt}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return jt}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Et}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return vt}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Nt}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Pt}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return bt}}),Object.defineProperty(exports,"q",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return kt}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Ft}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Tt}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return ut}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return Ze}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return ot}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return lt}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return de}});
|
|
2
|
+
//# sourceMappingURL=forms-CNh-S9FK.cjs.map
|