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,915 @@
|
|
|
1
|
+
import{n as e,r as t}from"./chunk-QTnfLwEv.js";import{t as n}from"./react-sKtkuLrH.js";import{n as r,p as i,t as a,x as o}from"./section-DuBNJP4P.js";import{t as s}from"./box-BeeoLlMd.js";import{t as c}from"./camera-BUoAyoZT.js";import{r as l,t as u}from"./example-6bZGEb3-.js";import{t as d}from"./circle-D9KiRp8C.js";import{t as f}from"./clock-DUqvfazQ.js";import{t as p}from"./dropzone-DLguWnmu.js";import{t as m}from"./password-input-CgZj1niQ.js";import{t as h}from"./globe-C92uBSrO.js";import{a as g,c as _,d as v,f as y,i as b,l as x,m as S,n as C,p as w,r as T,s as E,t as D}from"./sortable.esm-CM9VD5N4.js";import{t as O}from"./lock-Da21HhQx.js";import{t as k}from"./mail-Bamky-ti.js";import{t as A}from"./plus-CN2dzUxL.js";import{t as j}from"./shield-BboB3Zlo.js";import{t as M}from"./star-DleXDkCp.js";import{t as N}from"./trash-2-CXRm3lMl.js";import{t as P}from"./x-BJDvVLAz.js";import{t as ee}from"./zap-DYD_Ljkv.js";import{N as F,a as te,d as ne,n as I}from"./index-BjjNfnhP.js";import{a as re,i as ie,n as ae,o as oe,r as se,t as ce}from"./select-ZLaamXrm.js";import{t as L}from"./props-table-X9St7Q4m.js";import{t as R}from"./label-C3A4CjeG.js";import{t as le}from"./text-link-DkByVX4d.js";import{i as ue,n as de,r as fe,t as pe}from"./alert-WTKIdE4s.js";import{t as me}from"./smart-card-OExZHSsj.js";import{a as z,i as B,n as V,r as he}from"./index.esm-BXmcbSs7.js";import{t as ge}from"./checkbox-CSdEPNT5.js";import{c as _e,f as ve,u as ye}from"./form-sizing-Dltt6Fj-.js";import{t as H}from"./input-C8OfUHCK.js";import{t as U}from"./textarea-JCb0yhZ1.js";import{t as be}from"./select-CINVEIWn.js";import{i as W,n as xe,r as Se,t as Ce}from"./tags-input-Bms_Q5CE.js";import{t as we}from"./switch-DAPAgJbv.js";import{t as Te}from"./slider-zlE7nLrp.js";import{i as Ee,n as De,r as Oe,t as ke}from"./card-radio-group-1NMbocuG.js";import{n as Ae,r as je,t as Me}from"./RadioGroup-BzveyiIV.js";import{i as Ne,t as Pe}from"./popover-DILNXLWy.js";import{t as Fe}from"./popover-o1EO2yVS.js";import{n as Ie,t as Le}from"./date-picker-CK8llBIN.js";import{n as G,t as Re}from"./form-field-BaBeXn7a.js";var K=t(n(),1),q=ne();function ze(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 Be=K.forwardRef(function({value:e,slugify:t,separator:n=`-`,lowercase:r=!0,trim:i=!0,wrapperClassName:a,className:o,...s},c){let l=K.useMemo(()=>t?.(e)??ze(e,{separator:n,lowercase:r,trim:i}),[r,n,t,i,e]);return(0,q.jsx)(`div`,{className:I(`slug-field--component`,a),children:(0,q.jsx)(H,{ref:c,...s,type:`text`,value:l,readOnly:!0,className:o})})});Be.displayName=`SlugField`;var Ve={prefixPlaceholder:`Prefix`},He={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`}},Ue=[`US`,`CA`,`GB`,`DE`,`FR`,`IT`,`ES`,`AU`],We=e=>typeof e==`string`?He[e.toUpperCase()]??null:e,Ge=e=>e.map(We).filter(e=>e!==null),Ke=(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},qe=(e,t)=>e?e.startsWith(`+`)?e:He[e.toUpperCase()]?.value??e:t[0]?.value??``;function Je({normalizeOnBlur:e=!0,onBlur:t,onChange:n,prefix:r,defaultPrefix:a,prefixes:s=Ue,onPrefixChange:c,disablePrefixSelector:l=!1,prefixPlaceholder:u,prefixWidth:d=`w-30`,showCountryName:f=!0,showPrefixInDropdown:p=!0,invalid:m,disabled:h,className:g,size:_,strings:v,...y},b){let{defaultControlSize:x}=o(),S=ve(_,x),C=F(Ve,v),w=(0,K.useMemo)(()=>Ge(s),[s]),[T,E]=(0,K.useState)((0,K.useMemo)(()=>qe(a,w),[a,w])),D=r!==void 0,O=D?qe(r,w):T,k=(0,K.useMemo)(()=>w.find(e=>e.value===O),[w,O]),A=(0,K.useCallback)(e=>{e!==null&&(D||E(e),c?.(e))},[D,c]),j=(0,K.useCallback)(e=>{if(!n)return;let t=e.target.value;if(O&&t.startsWith(O)){let r=t.slice(O.length).replace(/^[\s-]+/,``),i=r.startsWith(`0`)?r.slice(1):r;if(i!==t){n({...e,target:{...e.target,value:i},currentTarget:{...e.currentTarget,value:i}});return}}n(e)},[n,O]),M=(0,K.useCallback)(r=>{if(e&&typeof n==`function`){let e=Ke(r.target.value,O);e!==r.target.value&&n({...r,target:{...r.target,value:e},currentTarget:{...r.currentTarget,value:e}})}t?.(r)},[e,n,t,O]);if(w.length===0||l){let e=O||a;return e?(0,q.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,q.jsx)(`div`,{"aria-invalid":m||void 0,className:I(`flex items-center justify-center rounded-md border border-input bg-muted px-3`,ye[S],h&&`opacity-50`,`aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20`),children:(0,q.jsx)(i,{tag:`span`,type:`secondary`,weight:`medium`,children:e})}),(0,q.jsx)(`div`,{className:`flex-1`,children:(0,q.jsx)(H,{ref:b,size:S,type:`tel`,autoComplete:`tel`,inputMode:`tel`,onChange:j,onBlur:M,invalid:m,disabled:h,className:g,...y})})]}):(0,q.jsx)(H,{ref:b,size:S,type:`tel`,autoComplete:`tel`,inputMode:`tel`,onChange:j,onBlur:M,invalid:m,disabled:h,className:I(`phone-input--component`,g),...y})}return(0,q.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,q.jsxs)(ce,{value:O,onValueChange:e=>A(e),disabled:h,children:[(0,q.jsx)(re,{"aria-invalid":m||void 0,className:I(`border-input bg-transparent shrink-0 !shadow-none`,ye[S],`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`,d,h&&`opacity-50 cursor-not-allowed`),children:(0,q.jsx)(oe,{placeholder:u??C.prefixPlaceholder,children:!!k&&(0,q.jsx)(i,{tag:`span`,children:k.value})})}),(0,q.jsx)(ae,{children:(0,q.jsx)(se,{children:w.map(e=>(0,q.jsx)(ie,{value:e.value,children:(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!!p&&(0,q.jsx)(i,{tag:`span`,weight:`medium`,className:`min-w-13`,children:e.value}),!!f&&(0,q.jsx)(i,{tag:`span`,type:`secondary`,lineHeight:`tight`,children:e.label})]})},e.value))})})]}),(0,q.jsx)(`div`,{className:`flex-1`,children:(0,q.jsx)(H,{ref:b,size:S,type:`tel`,autoComplete:`tel`,inputMode:`tel`,onChange:j,onBlur:M,invalid:m,disabled:h,className:g,...y})})]})}var Ye=(0,K.memo)(K.forwardRef(Je));Ye.displayName=`PhoneInput`;var Xe=(0,K.forwardRef)(function({decimalPlaces:e=2,min:t=0,max:n=100,step:r,...i},a){return(0,q.jsx)(W,{className:`percentage-input--component`,ref:a,decimalPlaces:e,allowNegative:!1,min:t,max:n,step:r,endAddon:`%`,...i})});Xe.displayName=`PercentageInput`;function Ze({name:e,id:t,value:n,defaultValue:r,min:a=0,max:o=100,step:s=1,disabled:c=!1,invalid:l=!1,onChange:u,onValueChange:d,onValueCommitted:f,showValue:p=!1,formatValue:m,unit:h,className:g,orientation:_=`horizontal`},v){let y=(0,K.useId)(),b=t??`slider-${y}`,x=e??b,S=(0,K.useCallback)(e=>{let t=Array.isArray(e)?e[0]:e;d?.(t),u?.({target:{name:x,value:t}})},[x,u,d]),C=(0,K.useCallback)(e=>{let t=Array.isArray(e)?e[0]:e;f?.(t)},[f]),w=(0,K.useMemo)(()=>{if(!p)return null;let e=n??r??a;return m?m(e):h?`${e}${h}`:String(e)},[p,n,r,a,m,h]),T=n===void 0?void 0:[n],E=r===void 0?[a]:[r];return(0,q.jsxs)(`div`,{className:I(`slider--component`,`flex items-center gap-3`,g),children:[(0,q.jsx)(Te,{ref:v,id:b,value:T,defaultValue:E,min:a,max:o,step:s,disabled:c,orientation:_,onValueChange:S,onValueCommitted:C,"aria-invalid":l||void 0,className:I(`min-w-0 flex-1`,l&&`[&_[data-slot=slider-range]]:bg-destructive [&_[data-slot=slider-thumb]]:border-destructive`)}),!!p&&w!==null&&(0,q.jsx)(i,{tag:`span`,type:l?`error`:`secondary`,className:`min-w-8 shrink-0 text-right tabular-nums`,children:w})]})}var Qe=K.forwardRef(Ze);Qe.displayName=`SliderField`;function $e({options:e,value:t,defaultValue:n,onChange:r,name:a,invalid:s,disabled:c,size:l,className:u}){let{defaultControlSize:f}=o(),p=Oe[ve(l,f)];return(0,q.jsx)(Me,{value:t,defaultValue:n,onValueChange:e=>e&&r?.(e),name:a,disabled:c,"aria-invalid":s||void 0,className:I(`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`,c&&`pointer-events-none opacity-50`,u),children:e.map(e=>(0,q.jsxs)(je,{value:e.value,disabled:c||e.disabled,className:I(`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`,p),children:[(0,q.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,q.jsx)(Ae,{render:(0,q.jsx)(d,{className:`h-2.5 w-2.5 fill-primary text-primary`})})}),(0,q.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,q.jsx)(i,{tag:`span`,weight:`medium`,lineHeight:`tight`,className:`block`,children:e.label}),!!e.description&&(0,q.jsx)(i,{tag:`span`,size:`xs`,type:`secondary`,className:`block mt-0.5`,children:e.description})]})]},e.value))})}$e.displayName=`ListRadioGroup`;var et={USD:`$`,EUR:`€`,GBP:`£`,BGN:`лв`,JPY:`¥`,CNY:`¥`,CHF:`CHF`,CAD:`C$`,AUD:`A$`},tt=e=>!e||e.length===0?[]:e.map(e=>typeof e==`string`?{value:e,label:`${et[e]||e} ${e}`}:e);function nt({currency:e,defaultCurrency:t,currencies:n,onCurrencyChange:r,currencyPosition:i=`start`,disableCurrencySelector:a=!1,currencyPlaceholder:s,currencyWidth:c=`w-28`,currencyLabel:l,invalid:u,disabled:d,onConfigError:f,size:p,...m},h){let{defaultControlSize:g}=o(),_=ve(p,g),v=(0,K.useMemo)(()=>tt(n),[n]),[y,b]=(0,K.useState)(t??v[0]?.value??``),x=e!==void 0,S=x?e:y;(0,K.useEffect)(()=>{let n={currency:e,defaultCurrency:t,disableCurrencySelector:a};a&&typeof e==`string`&&typeof t==`string`&&e.trim()!==``&&t.trim()!==``&&e!==t&&f?.(`[CurrencyInput] currency/defaultCurrency mismatch while selector is disabled.`,n),a&&(typeof S!=`string`||S.trim().length===0)&&f?.(`[CurrencyInput] disableCurrencySelector is enabled but no currency is provided.`,n)},[e,t,a,f,S]);let C=(0,K.useCallback)(e=>{e!==null&&(x||b(e),r?.(e))},[x,r]),w=(0,K.useMemo)(()=>I(`border-input bg-transparent !shadow-none`,ye[_],`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`,c,d&&`opacity-50 cursor-not-allowed`),[_,c,d]),T=(0,q.jsxs)(`div`,{className:`space-y-2`,children:[!!l&&(0,q.jsx)(R,{className:`leading-6`,children:l}),(0,q.jsxs)(ce,{value:S,onValueChange:e=>C(e),disabled:d||a,children:[(0,q.jsx)(re,{"aria-invalid":u||void 0,className:w,children:(0,q.jsx)(oe,{placeholder:s??``})}),(0,q.jsx)(ae,{children:(0,q.jsx)(se,{children:v.map(e=>(0,q.jsx)(ie,{value:e.value,children:e.label},e.value))})})]})]});return(0,q.jsxs)(`div`,{className:I(`currency-input--component`,`flex items-start gap-2`),children:[i===`start`&&T,(0,q.jsx)(`div`,{className:`flex-1`,children:(0,q.jsx)(W,{ref:h,size:_,decimalPlaces:2,allowNegative:!1,disabled:d,invalid:u,...m})}),i===`end`&&T]})}var rt=(0,K.memo)((0,K.forwardRef)(nt));rt.displayName=`CurrencyInput`;var it=[`USD`,`EUR`],at=(0,K.forwardRef)(function({currencies:e=it,onCurrencyChange:t,currency:n,defaultCurrency:r,...i},a){return(0,q.jsx)(rt,{className:`money-input--component`,ref:a,currencies:e,currency:n,defaultCurrency:r,onCurrencyChange:(0,K.useCallback)(e=>{t?.(e)},[t]),...i})});at.displayName=`MoneyInput`;var ot=[`floor`,`half_up`,`ceil`];function st({value:e,onChange:t,labels:n,placeholder:r,...i}){return(0,q.jsx)(be,{className:`rounding-mode-select--component`,options:(0,K.useMemo)(()=>ot.map(e=>({value:e,label:n?.[e]??e})),[n]),value:e,onChange:(0,K.useCallback)(e=>{t?.(e)},[t]),placeholder:r,...i})}st.displayName=`RoundingModeSelect`;var ct={placeholder:`Select an item`},lt=`__rich_select_empty__`,ut=(0,K.forwardRef)(({options:e,placeholder:t,strings:n,onChange:r,className:a,disabled:s,defaultOpen:c,open:l,onOpenChange:u,name:d,required:f,value:p,defaultValue:m,allowClear:h=!1,invalid:g,size:_},v)=>{let{defaultControlSize:y}=o(),b=ve(_,y),x=F(ct,n),S=t??x.placeholder,C=(0,K.useCallback)(e=>{if(e!==lt)return e===``||e==null?h?lt:void 0:e},[h]),w=(0,K.useCallback)(e=>{if(e!==lt)return e},[]),T=(0,K.useMemo)(()=>{let t=e.map(e=>({...e,value:C(e.value)??``}));return h&&(t.some(e=>e.label===S)||t.unshift({label:S,value:lt})),t},[e,h,S,C]),E=(0,K.useMemo)(()=>C(p??void 0),[p,C]),D=(0,K.useMemo)(()=>C(m??void 0),[m,C]),O=p!==void 0,[k,A]=(0,K.useState)(D),j=O?E:k,M=(0,K.useMemo)(()=>T.find(e=>e.value===j),[j,T]),N=(0,K.useCallback)(e=>{e!=null&&(O||A(e),r?.(w(e)))},[O,r,w]),P=I(`border-input bg-transparent w-full rounded-radius border outline-none transition-[color,box-shadow] !shadow-none`,ye[b],_e[b],`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`,a),ee=O?{value:E}:{};return(0,q.jsxs)(ce,{onValueChange:e=>N(e),disabled:s,defaultOpen:c,open:l,onOpenChange:u,name:d,required:f,defaultValue:D,...ee,children:[(0,q.jsx)(re,{ref:v,className:I(`rich-select--component`,P),"aria-invalid":g,children:M?(0,q.jsx)(i,{tag:`span`,className:`text-left break-words whitespace-normal`,children:M.label}):(0,q.jsx)(oe,{placeholder:S})}),(0,q.jsx)(ae,{children:(0,q.jsx)(se,{children:T.map(e=>(0,q.jsx)(ie,{value:e.value,disabled:e.disabled,children:(0,q.jsxs)(`div`,{className:`flex w-full items-center gap-2`,children:[!!e.icon&&(0,q.jsx)(`span`,{className:`w-4 h-4 shrink-0 flex items-center justify-center self-start mt-0.5`,children:e.icon}),(0,q.jsxs)(`div`,{className:`flex flex-col min-w-0 text-left flex-1`,children:[(0,q.jsx)(i,{tag:`span`,weight:`medium`,children:e.label}),!!e.description&&(0,q.jsx)(i,{tag:`span`,size:`xs`,type:`secondary`,lineHeight:`tight`,className:`mt-0.5 line-clamp-2`,children:e.description})]})]})},e.value))})})]})});ut.displayName=`RichSelect`;var dt={width:`Width`,height:`Height`,depth:`Depth`,unit:`Unit`,widthPlaceholder:`0.00`,heightPlaceholder:`0.00`,depthPlaceholder:`0.00`},ft=[{value:`g`,label:`g (grams)`},{value:`kg`,label:`kg (kilograms)`}],pt=(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:``}},mt=(e,t,n,r)=>r===`string`?`${e}x${t}x${n}`:{width:e,height:t,depth:n};function ht({value:e,defaultValue:t,format:n=`string`,unit:r,defaultUnit:a=`g`,widthLabel:s,heightLabel:c,depthLabel:l,unitLabel:u,unitPlaceholder:d,widthPlaceholder:f,heightPlaceholder:p,depthPlaceholder:m,onChange:h,onUnitChange:g,decimalPlaces:_=2,min:v=0,max:y,showUnitSelector:b=!0,disableUnitSelector:x=!1,layout:S=`horizontal`,invalid:C,disabled:w=!1,className:T,size:E,strings:D}){let{defaultControlSize:O}=o(),k=ve(E,O),A=F(dt,D),j=s??A.width,M=c??A.height,N=l??A.depth,P=d??A.unit,ee=f??A.widthPlaceholder,te=p??A.heightPlaceholder,ne=m??A.depthPlaceholder,L=S===`horizontal`,le=S===`vertical`,ue=b===!0,de=(u??``).length>0,fe=le?j:``,pe=le?M:``,me=le?N:``,z=e!==void 0,B=r!==void 0,V=pt(z?e:t,n),[he,ge]=(0,K.useState)(V.width),[_e,H]=(0,K.useState)(V.height),[U,be]=(0,K.useState)(V.depth),[xe,Se]=(0,K.useState)(r||a),Ce=pt(e,n),we=z?Ce.width:he,Te=z?Ce.height:_e,Ee=z?Ce.depth:U,De=B?r:xe;(0,K.useEffect)(()=>{if(z){let t=pt(e,n);ge(t.width),H(t.height),be(t.depth)}},[e,n,z]);let Oe=(0,K.useCallback)((e,t)=>{let r=we,i=Te,a=Ee;e===`width`&&(r=t),e===`height`&&(i=t),e===`depth`&&(a=t),z||(ge(r),H(i),be(a));let o=mt(r,i,a,n);h?.({target:{value:o}})},[we,Te,Ee,z,n,h]),ke=(0,K.useCallback)(e=>{if(e===null)return;let t=e;B||Se(t),g?.(t)},[B,g]),Ae=(0,q.jsxs)(`div`,{className:`space-y-2`,children:[!!de&&(0,q.jsx)(R,{className:`leading-6`,children:u}),(0,q.jsxs)(ce,{value:De,onValueChange:e=>ke(e),disabled:w||x,children:[(0,q.jsx)(re,{"aria-invalid":C||void 0,className:I(`border-input bg-transparent !shadow-none`,ye[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`,`w-32`,w&&`opacity-50 cursor-not-allowed`),children:(0,q.jsx)(oe,{placeholder:P})}),(0,q.jsx)(ae,{children:(0,q.jsx)(se,{children:ft.map(e=>(0,q.jsx)(ie,{value:e.value,children:e.label},e.value))})})]})]});return(0,q.jsx)(`div`,{className:I(`dimensions-input--component`,`space-y-2`,T),children:(0,q.jsxs)(`div`,{className:I(`flex gap-2`,S===`vertical`?`flex-col`:`flex-row items-start`),children:[(0,q.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[!!le&&!!fe&&(0,q.jsx)(R,{children:fe}),(0,q.jsx)(W,{size:k,value:we,onChange:e=>Oe(`width`,e.target.value),placeholder:ee,decimalPlaces:_,min:v,max:y,disabled:w,invalid:C,"aria-label":j}),!!L&&(0,q.jsx)(i,{size:`xs`,type:`secondary`,className:`text-center`,children:j})]}),S===`horizontal`&&(0,q.jsx)(`div`,{className:`flex items-center pt-2`,children:(0,q.jsx)(i,{tag:`span`,type:`secondary`,children:`×`})}),(0,q.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[!!le&&!!pe&&(0,q.jsx)(R,{children:pe}),(0,q.jsx)(W,{size:k,value:Te,onChange:e=>Oe(`height`,e.target.value),placeholder:te,decimalPlaces:_,min:v,max:y,disabled:w,invalid:C,"aria-label":M}),!!L&&(0,q.jsx)(i,{size:`xs`,type:`secondary`,className:`text-center`,children:M})]}),S===`horizontal`&&(0,q.jsx)(`div`,{className:`flex items-center pt-2`,children:(0,q.jsx)(i,{tag:`span`,type:`secondary`,children:`×`})}),(0,q.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[!!le&&!!me&&(0,q.jsx)(R,{children:me}),(0,q.jsx)(W,{size:k,value:Ee,onChange:e=>Oe(`depth`,e.target.value),placeholder:ne,decimalPlaces:_,min:v,max:y,disabled:w,invalid:C,"aria-label":N}),!!L&&(0,q.jsx)(i,{size:`xs`,type:`secondary`,className:`text-center`,children:N})]}),!!ue&&(0,q.jsxs)(`div`,{className:I(S===`vertical`?`w-full`:`w-32 pt-0`),children:[Ae,!!L&&!de&&(0,q.jsx)(i,{size:`xs`,type:`secondary`,className:`mt-1 text-center`,children:P})]})]})})}ht.displayName=`DimensionsInput`;var gt={unitLabel:``,unitPlaceholder:``},_t=[{value:`g`,label:`g`},{value:`kg`,label:`kg`},{value:`lb`,label:`lb`},{value:`oz`,label:`oz`}];function vt({value:e,defaultValue:t,unit:n,defaultUnit:r=`g`,onChange:i,onUnitChange:a,decimalPlaces:s=2,min:c=0,max:l,showUnitSelector:u=!0,disableUnitSelector:d=!1,unitLabel:f,unitPlaceholder:p,unitWidth:m=`w-24`,strings:h,invalid:g,disabled:_=!1,size:v,className:y}){let{defaultControlSize:b}=o(),x=ve(v,b),S=F(F(gt,f!==void 0||p!==void 0?{unitLabel:f,unitPlaceholder:p}:void 0),h),C=e!==void 0,w=n!==void 0,[T,E]=(0,K.useState)(t??``),[D,O]=(0,K.useState)(n??r),k=C?e??``:T,A=w?n??r:D,j=(0,K.useCallback)(e=>{C||E(e.target.value),i?.({target:{value:e.target.value}})},[C,i]),M=(0,K.useCallback)(e=>{if(e===null)return;let t=e;w||O(t),a?.(t)},[w,a]),N=(0,K.useMemo)(()=>_t,[]),P=S.unitLabel!==``;return(0,q.jsxs)(`div`,{className:I(`weight-input--component`,`flex items-start gap-2`,y),children:[(0,q.jsx)(`div`,{className:`flex-1`,children:(0,q.jsx)(W,{size:x,value:k,onChange:j,decimalPlaces:s,allowNegative:!1,min:c,max:l,disabled:_,invalid:g})}),!!u&&(0,q.jsxs)(`div`,{className:`space-y-2`,children:[!!P&&(0,q.jsx)(R,{className:`leading-6`,children:S.unitLabel}),(0,q.jsxs)(ce,{value:A,onValueChange:e=>M(e),disabled:_||d,children:[(0,q.jsx)(re,{"aria-invalid":g||void 0,className:I(`border-input bg-transparent !shadow-none`,ye[x],`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`,(_||d)&&`opacity-50 cursor-not-allowed`,m),children:(0,q.jsx)(oe,{placeholder:S.unitPlaceholder||void 0})}),(0,q.jsx)(ae,{children:(0,q.jsx)(se,{children:N.map(e=>(0,q.jsx)(ie,{value:e.value,children:e.label},e.value))})})]})]})]})}vt.displayName=`WeightInput`;var yt={latLabel:``,lngLabel:``,latPlaceholder:``,lngPlaceholder:``,previewLinkLabel:``},bt=(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:``}},xt=(e,t,n)=>n===`string`?`${e},${t}`:{lat:e,lng:t},St=(e,t,n)=>{if(!e)return!1;let r=Number(e);return Number.isFinite(r)&&r>=t&&r<=n};function Ct({value:e,defaultValue:t,format:n=`object`,onChange:r,latLabel:i,lngLabel:a,latPlaceholder:o,lngPlaceholder:s,decimalPlaces:c=6,showPreviewLink:l=!0,previewLinkLabel:u,strings:d,invalid:f,className:p,disabled:m}){let h=F(F(yt,i!==void 0||a!==void 0||o!==void 0||s!==void 0||u!==void 0?{latLabel:i,lngLabel:a,latPlaceholder:o,lngPlaceholder:s,previewLinkLabel:u}:void 0),d),g=e!==void 0,_=bt(g?e:t,n),[v,y]=(0,K.useState)(_.lat),[b,x]=(0,K.useState)(_.lng),S=bt(e,n),C=g?S.lat:v,w=g?S.lng:b;(0,K.useEffect)(()=>{g&&(y(S.lat),x(S.lng))},[g,S.lat,S.lng]);let T=(0,K.useCallback)((e,t)=>{g||(y(e),x(t)),r?.({target:{value:xt(e,t,n)}})},[g,r,n]),E=(0,K.useMemo)(()=>{let e=St(C,-90,90),t=St(w,-180,180);return!e||!t?null:`https://www.google.com/maps?q=${encodeURIComponent(`${C},${w}`)}`},[C,w]);return(0,q.jsxs)(`div`,{className:I(`coordinates-input--component`,`space-y-3`,p),children:[(0,q.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 md:grid-cols-2`,children:[(0,q.jsxs)(`div`,{className:`space-y-2`,children:[!!h.latLabel&&(0,q.jsx)(R,{children:h.latLabel}),(0,q.jsx)(W,{placeholder:h.latPlaceholder||void 0,value:C,onChange:e=>T(e.target.value,w),decimalPlaces:c,allowNegative:!0,min:-90,max:90,invalid:f,disabled:m})]}),(0,q.jsxs)(`div`,{className:`space-y-2`,children:[!!h.lngLabel&&(0,q.jsx)(R,{children:h.lngLabel}),(0,q.jsx)(W,{placeholder:h.lngPlaceholder||void 0,value:w,onChange:e=>T(C,e.target.value),decimalPlaces:c,allowNegative:!0,min:-180,max:180,invalid:f,disabled:m})]})]}),!!l&&!!E&&!!h.previewLinkLabel&&(0,q.jsx)(le,{href:E,type:`secondary`,underline:!1,children:h.previewLinkLabel})]})}Ct.displayName=`CoordinatesInput`;function wt({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,q.jsx)(Le,{className:`date-time-input--component`,mode:`single`,disabled:s,error:o?` `:void 0,placeholder:n,value:c,onChange:(0,K.useCallback)(e=>{t?.(e.date?e.date.toISOString():void 0)},[t]),readableFormat:r,withTime:{enabled:!0,format:`24`,step:i},modal:a})}wt.displayName=`DateTimeInput`;var Tt={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),Et=e=>(e??``).replace(/\D/g,``).slice(0,2),Dt=(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 Ot({className:e,value:t=`00:00:00`,onChange:n,invalid:r,disabled:a,placeholder:o,dialogTitle:s,hoursLabel:c,minutesLabel:u,secondsLabel:d,nowLabel:p,doneLabel:m,format:h=`24`,minuteStep:g=5,showSeconds:_=!0,strings:v}){let y=(0,K.useId)(),b=F(F(Tt,o!==void 0||s!==void 0||c!==void 0||u!==void 0||d!==void 0||p!==void 0||m!==void 0?{placeholder:o,dialogTitle:s,hours:c,minutes:u,seconds:d,now:p,done:m}:void 0),v),x=(0,K.useCallback)((e,t)=>{let n=Y(e??``)??0;return h===`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}},[h]),S=(0,K.useCallback)(e=>{let t=Y(e??``)??0;return t>59&&(t=0),t=Dt(X(t,0,59),g),J(t)},[g]),C=(0,K.useCallback)(e=>{let t=Y(e??``)??0;return t>59&&(t=0),t=X(t,0,59),J(t)},[]),w=(0,K.useCallback)((e,t,n,r)=>{let i=Y(e)??0,a=Y(t)??0;a>59&&(a=0),a=Dt(X(a,0,59),g);let o=_?Y(n)??0:0;if(o>59&&(o=0),o=_?X(o,0,59):0,h===`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)}`},[h,g,_]),T=(0,K.useCallback)(e=>{let[t=`00`,n=`00`,r=`00`]=(e??``).split(`:`),i=_?r:`00`;return{hours:Et(t),minutes:Et(n),seconds:Et(i)}},[_]),[E,D]=(0,K.useState)(!1),[O,k]=(0,K.useState)(()=>T(t)),[A,j]=(0,K.useState)(()=>{let[e=`00`]=(t??``).split(`:`);return(Y(e)??0)>=12?`PM`:`AM`}),M=(0,K.useRef)({});(0,K.useEffect)(()=>{if(E)return;k(T(t));let[e=`00`]=(t??``).split(`:`);j((Y(e)??0)>=12?`PM`:`AM`)},[E,T,t]);let N=(e,t)=>{let r=Et(t);k(t=>({...t,[e]:r})),M.current[e]&&window.clearTimeout(M.current[e]),M.current[e]=window.setTimeout(()=>{k(t=>{let r={...t};if(e===`hours`){let e=(r.hours??``).trim();e.length===1&&(r.hours=`0${e}`),(r.hours??``).trim().length===2&&(r.hours=x(r.hours,A).hours)}if(e===`minutes`){let e=(r.minutes??``).trim();e.length===1&&(r.minutes=`0${e}`),(r.minutes??``).trim().length===2&&(r.minutes=S(r.minutes))}if(e===`seconds`){let e=(r.seconds??``).trim();e.length===1&&(r.seconds=`0${e}`),(r.seconds??``).trim().length===2&&(r.seconds=C(r.seconds))}let i=w(r.hours,r.minutes,r.seconds,A);n?.(i);let[a=`00`,o=`00`,s=`00`]=i.split(`:`);return h===`12`?r.hours=J((Y(a)??0)%12||12):r.hours=a,r.minutes=o,r.seconds=s,r})},400)},P=e=>{M.current[e]&&window.clearTimeout(M.current[e]),k(e=>{let t={...e};t.hours=x(t.hours,A).hours,t.minutes=S(t.minutes),t.seconds=C(t.seconds);let r=w(t.hours,t.minutes,t.seconds,A);n?.(r);let[i=`00`,a=`00`,o=`00`]=r.split(`:`);return{hours:h===`12`?Et(String((Y(i)??0)%12||12)):i,minutes:a,seconds:o}})},ee=(0,K.useMemo)(()=>{let e=w(O.hours,O.minutes,O.seconds,A);if(!_){let[t=`00`,n=`00`]=e.split(`:`);return`${t}:${n}`}return e},[A,w,_,O.hours,O.minutes,O.seconds]);return(0,q.jsxs)(Pe,{open:E,onOpenChange:D,children:[(0,q.jsx)(Ne,{render:n=>(0,q.jsx)(l,{...n,id:y,variant:`secondary`,buttonStyle:`outline`,"aria-expanded":E,"aria-invalid":r,disabled:a,className:I(`time-picker--component`,Ie,`w-full justify-between text-left`,!t&&`!text-muted-foreground`,n.className,e),children:n.children}),children:(0,q.jsxs)(`div`,{className:`flex items-center gap-space-md`,children:[(0,q.jsx)(f,{className:`size-icon`}),(0,q.jsx)(`span`,{children:ee||b.placeholder})]})}),(0,q.jsx)(Fe,{className:`w-auto p-4`,align:`start`,children:(0,q.jsxs)(`div`,{className:`space-y-4`,children:[(0,q.jsx)(i,{tag:`div`,weight:`medium`,align:`center`,children:b.dialogTitle}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsxs)(`div`,{className:`text-center`,children:[(0,q.jsx)(R,{size:`small`,className:`text-muted-foreground`,children:b.hours}),(0,q.jsx)(H,{inputMode:`numeric`,value:O.hours,onChange:e=>N(`hours`,e.target.value),onFocus:e=>e.currentTarget.select(),onClick:e=>e.currentTarget.select(),onBlur:()=>P(`hours`),placeholder:b.hoursPlaceholder,className:`w-16 text-center`})]}),(0,q.jsx)(i,{tag:`div`,className:`text-2xl`,children:`:`}),(0,q.jsxs)(`div`,{className:`text-center`,children:[(0,q.jsx)(R,{size:`small`,className:`text-muted-foreground`,children:b.minutes}),(0,q.jsx)(H,{inputMode:`numeric`,value:O.minutes,onChange:e=>N(`minutes`,e.target.value),onFocus:e=>e.currentTarget.select(),onClick:e=>e.currentTarget.select(),onBlur:()=>P(`minutes`),placeholder:b.minutesPlaceholder,className:`w-16 text-center`})]}),!!_&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(i,{tag:`div`,className:`text-2xl`,children:`:`}),(0,q.jsxs)(`div`,{className:`text-center`,children:[(0,q.jsx)(R,{size:`small`,className:`text-muted-foreground`,children:b.seconds}),(0,q.jsx)(H,{inputMode:`numeric`,value:O.seconds,onChange:e=>N(`seconds`,e.target.value),onFocus:e=>e.currentTarget.select(),onClick:e=>e.currentTarget.select(),onBlur:()=>P(`seconds`),placeholder:b.secondsPlaceholder,className:`w-16 text-center`})]})]}),h===`12`&&(0,q.jsxs)(`div`,{className:`flex items-end gap-1 pb-0.5`,children:[(0,q.jsx)(l,{type:`button`,variant:A===`AM`?`primary`:`secondary`,buttonStyle:A===`AM`?`solid`:`outline`,onClick:()=>j(`AM`),children:b.am}),(0,q.jsx)(l,{type:`button`,variant:A===`PM`?`primary`:`secondary`,buttonStyle:A===`PM`?`solid`:`outline`,onClick:()=>j(`PM`),children:b.pm})]})]}),(0,q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,q.jsx)(l,{variant:`secondary`,buttonStyle:`outline`,className:`flex-1`,onClick:()=>{let e=new Date,t={hours:String(h===`12`?e.getHours()%12||12:e.getHours()),minutes:String(e.getMinutes()),seconds:``};k(t),j(e.getHours()>=12?`PM`:`AM`),n?.(w(t.hours,t.minutes,t.seconds,e.getHours()>=12?`PM`:`AM`))},children:b.now}),(0,q.jsx)(l,{variant:`primary`,buttonStyle:`solid`,className:`flex-1`,onClick:()=>{n?.(w(O.hours,O.minutes,O.seconds,A)),D(!1)},children:b.done})]})]})})]})}Ot.displayName=`TimePicker`;var kt=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]}`},At=0,jt=()=>`${Date.now().toString(36)}-${(At++).toString(36)}`,Mt=e=>{let[t,n]=(0,K.useState)([]),[r,i]=(0,K.useState)({}),a=(0,K.useCallback)(kt,[]),o=(0,K.useCallback)(t=>{if(e?.minSize!==void 0&&t.size<e.minSize)return`Size (${kt(t.size)}) is smaller than minimum (${kt(e.minSize)}).`;if(e?.maxSize!==void 0&&t.size>e.maxSize)return`Size (${kt(t.size)}) exceeds maximum (${kt(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,K.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:jt(),file:t,name:t.name,size:t.size,formattedSize:kt(t.size),type:t.type,extension:r,lastModified:t.lastModified};n.push(a)}),n}),i(s)},[e?.maxFiles,o]);return{files:t,addFiles:(0,K.useCallback)(e=>s(e,!1),[s]),setFiles:(0,K.useCallback)(e=>s(e,!0),[s]),remove:(0,K.useCallback)(e=>{n(t=>t.filter(t=>t.id!==e))},[]),removeAll:(0,K.useCallback)(()=>{n(e=>e.length===0?e:[]),i({})},[]),formatSize:a,validationErrors:r}},Nt={change:`Change photo`,remove:`Remove photo`,hint:`Click or drop an image`,dragOver:`Drop image to upload`},Pt={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`}},Ft=e=>e===`small`||e==="default"?e:e===`sm`?`small`:`default`;function It({value:e,onChange:t,defaultPreviewUrl:n,accept:r=`.png,.jpg,.jpeg,.gif,.webp`,disabled:a=!1,invalid:o=!1,size:s=`default`,className:l,strings:u,initials:d},f){let p=F(Nt,u),m=(0,K.useId)(),h=(0,K.useRef)(null),[g,_]=(0,K.useState)(!1),v=Ft(s),y=Pt[v],{files:b,setFiles:x,removeAll:S}=Mt({maxFiles:1,allowedExtensions:(0,K.useMemo)(()=>r.split(`,`).map(e=>e.trim().replace(/^\./,``).toLowerCase()).filter(Boolean),[r])});(0,K.useEffect)(()=>{e?x([e]):S()},[e]);let C=b[0],[w,T]=(0,K.useState)(void 0);(0,K.useEffect)(()=>{let t=C?.file??e;if(!t){T(void 0);return}let n=URL.createObjectURL(t);return T(n),()=>URL.revokeObjectURL(n)},[C,e]);let E=w??n,D=!!E,O=(0,K.useCallback)(e=>{let n=e.target.files;!n||n.length===0||(x(n),t?.(n[0]),h.current&&(h.current.value=``))},[t,x]),k=(0,K.useCallback)(()=>{a||h.current?.click()},[a]),A=(0,K.useCallback)(()=>{S(),t?.(void 0),h.current&&(h.current.value=``)},[t,S]),j=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),k())},M=(0,K.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),a||_(!0)},[a]),N=(0,K.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),_(!1)},[]),ee=(0,K.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),_(!1),a)return;let n=e.dataTransfer?.files;!n||n.length===0||(x(n),t?.(n[0]))},[a,t,x]);return(0,q.jsxs)(`div`,{className:I(`avatar-upload--component`,`inline-flex flex-col items-center gap-2`,l),children:[(0,q.jsxs)(`div`,{role:`button`,tabIndex:a?-1:0,"aria-label":p.change,"aria-disabled":a||void 0,"aria-invalid":o||void 0,onClick:k,onKeyDown:j,onDragEnter:M,onDragOver:M,onDragLeave:N,onDrop:ee,className:I(`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`,D?`border-border/60 bg-muted/20`:I(`bg-muted/30 hover:border-primary hover:bg-primary/5`,o?`border-destructive`:`border-muted-foreground/40`),a&&`cursor-not-allowed opacity-50`,!a&&g&&`border-primary bg-primary/10`,y.box),children:[(0,q.jsx)(`input`,{id:m,ref:e=>{h.current=e,typeof f==`function`?f(e):f&&(f.current=e)},type:`file`,className:`sr-only`,"aria-label":p.change,accept:r,disabled:a,onChange:O}),D&&E?(0,q.jsx)(`img`,{src:E,alt:p.change,className:`absolute inset-0 size-full object-cover`}):d?(0,q.jsx)(i,{size:v===`small`?`sm`:`base`,weight:`bold`,className:`leading-none`,children:d}):(0,q.jsx)(c,{className:I(y.icon,`text-muted-foreground`),"aria-hidden":`true`}),!a&&D&&(0,q.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,q.jsx)(c,{className:y.icon})}),!a&&D&&(0,q.jsx)(`button`,{type:`button`,"aria-label":p.remove,onClick:e=>{e.stopPropagation(),A()},className:I(`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`,y.remove),children:(0,q.jsx)(P,{className:`size-3`})}),!a&&!D&&g&&(0,q.jsx)(i,{size:`xs`,weight:`medium`,className:`absolute inset-x-0 bottom-1.5 text-center text-primary`,children:p.dragOver})]}),!D&&(0,q.jsx)(i,{size:`xs`,type:`secondary`,children:p.hint})]})}var Lt=K.forwardRef(It);Lt.displayName=`AvatarUpload`;var Z={emptyState:`No items added yet.`,addItem:`Add item`,removeAriaLabel:`Remove item`},Rt={emptyState:Z.emptyState,addButton:Z.addItem,removeAriaLabel:Z.removeAriaLabel,dragHandleAriaLabel:`Drag to reorder`};function zt({item:e,index:t,sortable:n,rowVariant:r,removeVariant:i,hideRemove:a,disabled:o,strings:s,onRemove:c,renderRow:u}){let d=T({id:e.id,disabled:o||!n}),f=n?d.isDragging:!1,p=n?{transform:w.Transform.toString(d.transform),transition:d.transition,opacity:f?.6:1}:void 0,m=n?d.setNodeRef:void 0,h=n?d.attributes:{},g=n?d.listeners:void 0,_=n?(0,q.jsx)(`button`,{type:`button`,"aria-label":s.dragHandleAriaLabel,className:I(`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`,o&&`pointer-events-none opacity-50`),...h,...g,children:(0,q.jsx)(S,{className:`size-4`,"aria-hidden":`true`})}):null,v=a?null:i===`icon-button`?(0,q.jsx)(l,{type:`button`,variant:`secondary`,buttonStyle:`outline`,size:`default`,"aria-label":s.removeAriaLabel,disabled:o,onClick:()=>c(t),className:`shrink-0`,children:(0,q.jsx)(N,{className:`size-4`,"aria-hidden":`true`})}):(0,q.jsx)(`button`,{type:`button`,"aria-label":s.removeAriaLabel,disabled:o,onClick:()=>c(t),className:I(`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,q.jsx)(P,{className:`size-4`,"aria-hidden":`true`})});return r===`card`?(0,q.jsx)(`div`,{ref:m,style:p,className:I(`repeater--component`,`relative rounded-md border border-input bg-card p-4`,n&&`pl-2`),children:(0,q.jsxs)(`div`,{className:`flex items-start gap-2`,children:[_,(0,q.jsx)(`div`,{className:`min-w-0 flex-1`,children:u(e,{index:t,isDragging:f})}),v]})}):(0,q.jsxs)(`div`,{ref:m,style:p,className:`flex items-start gap-2`,children:[_,(0,q.jsx)(`div`,{className:`min-w-0 flex-1`,children:u(e,{index:t,isDragging:f})}),v]})}function Bt({items:e,renderRow:t,onAdd:n,onRemove:r,onMove:a,sortable:o=!1,rowVariant:s=`inline`,removeVariant:c=`ghost`,hideRemove:u=!1,hideAdd:d=!1,disabled:f=!1,strings:p,className:m}){let h=F(Rt,p),S=y(v(_,{activationConstraint:{distance:4}}),v(E,{coordinateGetter:C})),w=(0,K.useCallback)(t=>{let{active:n,over:r}=t;if(!r||n.id===r.id)return;let i=e.findIndex(e=>e.id===n.id),o=e.findIndex(e=>e.id===r.id);i<0||o<0||a?.(i,o)},[e,a]),T=(0,K.useMemo)(()=>e.map(e=>e.id),[e]),O=(0,q.jsx)(`div`,{className:`space-y-2`,children:e.map((e,n)=>(0,q.jsx)(zt,{item:e,index:n,sortable:o,rowVariant:s,removeVariant:c,hideRemove:u,disabled:f,strings:h,onRemove:r,renderRow:t},e.id))});return(0,q.jsxs)(`div`,{className:I(`space-y-3`,m),children:[e.length===0?(0,q.jsx)(`div`,{className:`rounded-md border border-dashed border-input p-4`,children:(0,q.jsx)(i,{type:`secondary`,children:h.emptyState})}):o?(0,q.jsx)(g,{sensors:S,collisionDetection:x,onDragEnd:w,children:(0,q.jsx)(D,{items:T,strategy:b,children:O})}):O,!d&&(0,q.jsxs)(l,{type:`button`,variant:`secondary`,buttonStyle:`outline`,size:`default`,disabled:f,onClick:n,children:[(0,q.jsx)(A,{className:`size-4 mr-1.5`}),h.addButton]})]})}Bt.displayName=`Repeater`;var Vt={keyLabel:`Key`,valueLabel:`Value`,keyPlaceholder:`key`,valuePlaceholder:`value`,addButton:`Add row`,removeRowAriaLabel:`Remove row`,emptyState:`No rows yet.`},Ht=()=>typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():Math.random().toString(36).slice(2,10),Ut=(0,K.memo)(function({row:e,keyPlaceholder:t,valuePlaceholder:n,invalid:r,onKeyChange:i,onValueChange:a}){let{id:o,key:s,value:c}=e;return(0,q.jsxs)(`div`,{className:I(`key-value-editor--component`,`grid grid-cols-1 md:grid-cols-2 gap-2`),children:[(0,q.jsx)(H,{value:s??``,placeholder:t,onChange:e=>i(o,e.target.value),invalid:r}),(0,q.jsx)(H,{value:c??``,placeholder:n,onChange:e=>a(o,e.target.value),invalid:r})]})});function Wt({value:e,onChange:t,invalid:n,sortable:r=!1,keyPlaceholder:i,valuePlaceholder:a,keyLabel:o,valueLabel:s,addButtonText:c,strings:l}){let u=F(F(Vt,i!==void 0||a!==void 0||o!==void 0||s!==void 0||c!==void 0?{keyPlaceholder:i,valuePlaceholder:a,keyLabel:o,valueLabel:s,addButton:c}:void 0),l),d=(0,K.useRef)(!1),[f,p]=(0,K.useState)(()=>e&&Object.keys(e).length>0?Object.entries(e).map(([e,t])=>({id:Ht(),key:e,value:String(t??``)})):[{id:Ht(),key:``,value:``}]),m=(0,K.useCallback)(e=>{let n={};e.forEach(({key:e,value:t})=>{e.trim()!==``&&(n[e]=t??``)}),d.current=!0,t?.(n),queueMicrotask(()=>{d.current=!1})},[t]),h=(0,K.useCallback)((e,t)=>{p(n=>{let r=n.map(n=>n.id===e?{...n,key:t}:n);return m(r),r})},[m]),g=(0,K.useCallback)((e,t)=>{p(n=>{let r=n.map(n=>n.id===e?{...n,value:t}:n);return m(r),r})},[m]),_=(0,K.useCallback)(()=>{p(e=>{let t=[...e,{id:Ht(),key:``,value:``}];return m(t),t})},[m]),v=(0,K.useCallback)(e=>{p(t=>{let n=t.filter((t,n)=>n!==e),r=n.length?n:[{id:Ht(),key:``,value:``}];return m(r),r})},[m]),y=(0,K.useCallback)((e,t)=>{p(n=>{let r=[...n],[i]=r.splice(e,1);return r.splice(t,0,i),m(r),r})},[m]);return(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(!!u.keyLabel||!!u.valueLabel)&&(0,q.jsxs)(`div`,{className:I(`grid grid-cols-1 md:grid-cols-2 gap-2`,r?`pl-11`:``,`pr-11`),children:[!!u.keyLabel&&(0,q.jsx)(R,{className:`flex items-center`,children:u.keyLabel}),!!u.valueLabel&&(0,q.jsx)(R,{className:`flex items-center`,children:u.valueLabel})]}),(0,q.jsx)(Bt,{items:f,sortable:r,onAdd:_,onRemove:v,onMove:y,strings:{emptyState:u.emptyState,addButton:u.addButton,removeAriaLabel:u.removeRowAriaLabel},renderRow:e=>(0,q.jsx)(Ut,{row:e,keyPlaceholder:u.keyPlaceholder,valuePlaceholder:u.valuePlaceholder,invalid:n,onKeyChange:h,onValueChange:g})})]})}Wt.displayName=`KeyValueEditor`;var Gt={placeholder:`Enter value`,addButton:`Add item`,...Z};function Kt({name:e,placeholder:t,addButtonText:n,emptyMessage:r,invalid:i,sortable:a=!1,strings:o}){let s=F(F(Gt,t!==void 0||n!==void 0||r!==void 0?{placeholder:t,addButton:n,emptyState:r}:void 0),o),{control:c,register:l}=z(),{fields:u,append:d,remove:f,move:p}=he({control:c,name:e});return(0,q.jsx)(Bt,{className:`string-repeater--component`,items:u,sortable:a,onAdd:()=>d(``),onRemove:e=>f(e),onMove:(e,t)=>p(e,t),strings:{emptyState:s.emptyState,addButton:s.addButton,removeAriaLabel:s.removeAriaLabel},renderRow:(t,{index:n})=>(0,q.jsx)(H,{...l(`${e}.${n}`),placeholder:s.placeholder,invalid:i})})}Kt.displayName=`StringRepeater`;var qt={addButton:`Add item`,...Z};function Jt({name:e,fields:t,addButtonText:n,emptyMessage:r,invalid:i,sortable:a=!1,strings:o}){let s=F(F(qt,n!==void 0||r!==void 0?{addButton:n,emptyState:r}:void 0),o),{control:c,register:l}=z(),{fields:u,append:d,remove:f,move:p}=he({control:c,name:e}),m=(0,K.useCallback)(()=>t.reduce((e,t)=>(e[t.name]=``,e),{}),[t]);return(0,q.jsx)(Bt,{items:u,sortable:a,rowVariant:`card`,removeVariant:`ghost`,onAdd:()=>d(m()),onRemove:e=>f(e),onMove:(e,t)=>p(e,t),strings:{emptyState:s.emptyState,addButton:s.addButton,removeAriaLabel:s.removeAriaLabel},renderRow:(n,{index:r})=>(0,q.jsx)(`div`,{className:I(`object-repeater--component`,`space-y-3`),children:t.map(t=>{let n=`${e}.${r}.${t.name}`;return(0,q.jsx)(G,{label:t.label,required:t.required,hint:t.hint,htmlFor:n,children:t.type===`textarea`?(0,q.jsx)(U,{...l(n),id:n,placeholder:t.placeholder,minRows:3,invalid:i}):(0,q.jsx)(H,{...l(n),id:n,type:t.type||`text`,placeholder:t.placeholder,invalid:i})},t.name)})})})}Jt.displayName=`ObjectRepeater`;var Yt={addButton:`Add item`,emptyState:Z.emptyState,dragHandle:`Drag to reorder`,removeAriaLabel:Z.removeAriaLabel};function Xt({name:e,placeholder:t,addButtonText:n,emptyMessage:r,disableSort:i=!1,invalid:a,strings:o}){let s=F(F(Yt,n!==void 0||r!==void 0?{addButton:n,emptyState:r}:void 0),o),{control:c,register:l}=z(),{fields:u,append:d,remove:f,move:p}=he({control:c,name:e});return(0,q.jsx)(Bt,{className:`list--component`,items:u,sortable:!i,onAdd:()=>d(``),onRemove:e=>f(e),onMove:(e,t)=>p(e,t),strings:{emptyState:s.emptyState,addButton:s.addButton,removeAriaLabel:s.removeAriaLabel,dragHandleAriaLabel:s.dragHandle},renderRow:(n,{index:r})=>(0,q.jsx)(H,{...l(`${e}.${r}`),placeholder:t,invalid:a})})}Xt.displayName=`List`;function Zt({name:e,value:t,options:n,onChange:r,allowClear:i=!1,size:a,fullWidth:s=!1,disabled:c=!1,invalid:l=!1,className:u}){let{defaultControlSize:d}=o(),f=ve(a,d),p=K.useCallback(e=>{e===t?i&&r(null):r(e)},[i,r,t]);return(0,q.jsx)(`div`,{"data-name":e,role:`radiogroup`,"aria-invalid":l||void 0,className:I(`pill-radio-group--component`,`border-input inline-flex items-center overflow-hidden rounded-lg border`,s&&`w-full`,`aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20`,c&&`pointer-events-none opacity-50`,u),children:n.map((e,n)=>{let r=e.value===t,i=e.icon;return(0,q.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":r,"aria-label":(typeof e.label==`string`?e.label:void 0)||e.value,disabled:c||e.disabled,onClick:()=>p(e.value),className:I(`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`,Ee[f],s&&`flex-1`,n>0&&`border-input border-l`,r?`bg-primary text-primary-foreground`:`bg-background text-foreground hover:bg-muted`),children:[!!i&&(0,q.jsx)(i,{className:I(f===`small`?`size-icon-sm`:`size-icon`,e.label&&`mr-space-sm`)}),e.label]},e.value)})})}Zt.displayName=`PillRadioGroup`;function Qt({name:e,type:t=`text`,placeholder:n,primaryLocale:r,secondaryLocale:i,activeLocale:a,invalid:o,className:s}){let{register:c}=z(),l=`${e}.${a===`primary`?r:i}`;return t===`textarea`?(0,q.jsx)(U,{...c(l),placeholder:n,minRows:3,invalid:o,className:I(`localized-string-field--component`,s)}):(0,q.jsx)(H,{...c(l),type:t===`number`?`number`:`text`,placeholder:n,invalid:o,className:s})}Qt.displayName=`LocalizedStringField`;function $t({name:e,fields:t,primaryLocale:n,secondaryLocale:r,activeLocale:i,invalid:a,className:o}){let{register:s}=z(),c=i===`primary`?n:r;return(0,q.jsx)(`div`,{className:`w-full space-y-3 rounded-md border p-4 ${o??``}`,children:t.map(t=>{let n=`${e}.${c}.${t.name}`;return(0,q.jsxs)(`div`,{className:`w-full space-y-1.5`,children:[(0,q.jsxs)(R,{htmlFor:n,children:[t.label,!!t.required&&(0,q.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),t.type===`textarea`?(0,q.jsx)(U,{...s(n),id:n,placeholder:t.placeholder,minRows:3,invalid:a}):(0,q.jsx)(H,{...s(n),id:n,type:t.type===`number`?`number`:`text`,placeholder:t.placeholder,invalid:a})]},t.name)})})}$t.displayName=`LocalizedObjectField`;var en={placeholder:`Enter value`,addButton:Z.addItem,emptyState:Z.emptyState,removeAriaLabel:Z.removeAriaLabel};function tn({name:e,placeholder:t,addButtonText:n,emptyMessage:r,primaryLocale:i,secondaryLocale:a,activeLocale:o,invalid:s,sortable:c=!1,strings:l}){let u=F(F(en,t!==void 0||n!==void 0||r!==void 0?{placeholder:t,addButton:n,emptyState:r}:void 0),l),{control:d,register:f}=z(),p=`${e}.${o===`primary`?i:a}`,{fields:m,append:h,remove:g,move:_}=he({control:d,name:p});return(0,q.jsx)(Bt,{className:`localized-string-repeater--component`,items:m,sortable:c,onAdd:()=>h(``),onRemove:e=>g(e),onMove:(e,t)=>_(e,t),strings:{emptyState:u.emptyState,addButton:u.addButton,removeAriaLabel:u.removeAriaLabel},renderRow:(e,{index:t})=>(0,q.jsx)(U,{...f(`${p}.${t}`),placeholder:u.placeholder,minRows:2,invalid:s})})}tn.displayName=`LocalizedStringRepeater`;function nn({title:e,description:t,actions:n,children:r,footer:i,padding:a=`default`,surface:o=`card`,className:s,contentClassName:c}){return(0,q.jsx)(me,{"data-component":`form-section`,"data-slot":`form-section`,title:e,description:t,headerAction:n,footerSlot:i,padding:a,surface:o,className:I(`form-section--component`,s),contentClassName:I(`form-section--content grid gap-4`,c),children:r})}function rn({children:e,leading:t,trailing:n,sticky:r=!1,className:i}){return(0,q.jsxs)(`div`,{"data-component":`form-actions-bar`,"data-slot":`form-actions-bar`,className:I(`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`,r&&`sticky bottom-0 z-30`,i),children:[(0,q.jsx)(`div`,{"data-slot":`form-actions-leading`,className:`form-actions-bar--leading min-w-0 flex-1`,children:t}),(0,q.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 an({title:e,description:t,errors:n=[],action:r,className:i}){return(0,q.jsxs)(pe,{"data-component":`error-summary`,"data-slot":`error-summary`,variant:`destructive`,className:I(`error-summary--component`,i),children:[(0,q.jsx)(ue,{children:e}),!!t&&(0,q.jsx)(fe,{children:t}),n.length>0&&(0,q.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,q.jsx)(`li`,{children:e},t))}),!!r&&(0,q.jsx)(de,{children:r})]})}function on({title:e,description:t,actions:n,variant:r=`warning`,className:i}){return(0,q.jsxs)(pe,{"data-component":`dirty-state-banner`,"data-slot":`dirty-state-banner`,variant:r,className:I(`dirty-state-banner--component`,i),children:[(0,q.jsx)(ue,{children:e}),!!t&&(0,q.jsx)(fe,{children:t}),!!n&&(0,q.jsx)(de,{children:n})]})}function sn({isSubmitting:e=!1,isDirty:t=!0,disableWhenPristine:n=!1,disabled:r,children:i,...a}){return(0,q.jsx)(l,{...a,"data-component":`submit-state-button`,"data-slot":`submit-state-button`,type:a.type??`submit`,loading:e,disabled:r||n&&!t,className:I(`submit-state-button--component`,a.className),children:i})}var cn=e({AvatarUploadExample:()=>Zn,BasicField:()=>ln,CardCheckboxGroupExample:()=>Ln,CardRadioGroupExample:()=>In,CheckboxExample:()=>jn,CoordinatesInputExample:()=>Un,CurrencyInputExample:()=>Cn,DateTimeInputExample:()=>Rn,DecimalInputExample:()=>xn,DimensionsInputExample:()=>En,DropzoneExample:()=>Qn,InputBasic:()=>pn,InputCharacterCount:()=>yn,InputClearableLoading:()=>vn,InputWithAddons:()=>_n,InputWithIcons:()=>mn,KeyValueEditorExample:()=>Kn,ListExample:()=>qn,ListRadioGroupExample:()=>Fn,LocalizedObjectFieldExample:()=>Yn,LocalizedStringFieldExample:()=>Jn,LocalizedStringRepeaterExample:()=>Xn,MoneyInputExample:()=>wn,ObjectRepeaterExample:()=>Gn,PasswordInputExample:()=>hn,PercentageInputExample:()=>Sn,PhoneInputExample:()=>Hn,PillRadioGroupExample:()=>Pn,RichSelectExample:()=>On,RoundingModeSelectExample:()=>kn,SelectExample:()=>Dn,SliderExample:()=>Bn,SlugFieldExample:()=>gn,StringRepeaterExample:()=>Wn,SwitchCardExample:()=>Nn,SwitchExample:()=>An,TagsInputExample:()=>Vn,TextareaExample:()=>bn,TimePickerExample:()=>zn,ToggleFieldExample:()=>Mn,WeightInputExample:()=>Tn,WholeForm:()=>$n,WithError:()=>un,WithHelperText:()=>dn,WorkflowChrome:()=>fn});function ln(){let[e,t]=(0,K.useState)(``);return(0,q.jsx)(G,{label:`Full name`,hint:`As it appears on your ID`,required:!0,children:(0,q.jsx)(H,{value:e,onChange:e=>t(e.target.value),placeholder:`Sarah Smitha`})})}function un(){return(0,q.jsx)(G,{label:`Email`,error:`That doesn't look like a valid email.`,required:!0,children:(0,q.jsx)(H,{defaultValue:`not-an-email`,invalid:!0})})}function dn(){return(0,q.jsx)(G,{label:`API token`,helperText:`Stored encrypted at rest. Rotate every 90 days.`,children:(0,q.jsx)(H,{defaultValue:`sk_live_••••••••••••`})})}function fn(){return(0,q.jsxs)(`div`,{className:`grid gap-3`,children:[(0,q.jsx)(nn,{title:`Publishing`,description:`Section chrome, validation summary, dirty state, and submit state stay reusable across form libraries.`,actions:(0,q.jsx)(l,{variant:`secondary`,children:`Reset`}),children:(0,q.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,q.jsx)(G,{label:`Display title`,required:!0,children:(0,q.jsx)(H,{defaultValue:`Summer collection`})}),(0,q.jsx)(G,{label:`Status`,children:(0,q.jsx)(be,{defaultValue:`draft`,options:[{value:`draft`,label:`Draft`},{value:`published`,label:`Published`}]})})]})}),(0,q.jsx)(an,{title:`Fix publishing errors`,description:`Two fields need attention before this can publish.`,errors:[`Display title is required`,`Publish date must be in the future`]}),(0,q.jsx)(on,{title:`Unsaved changes`,description:`Save or discard before leaving this workflow.`,actions:(0,q.jsx)(l,{variant:`secondary`,children:`Discard`})}),(0,q.jsx)(rn,{leading:(0,q.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Last saved 2 minutes ago`}),trailing:(0,q.jsx)(sn,{isDirty:!0,children:`Save changes`})})]})}function pn(){return(0,q.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col gap-3`,children:[(0,q.jsx)(H,{placeholder:`Type something…`}),(0,q.jsx)(H,{"aria-label":`Pre-filled value`,defaultValue:`Pre-filled value`}),(0,q.jsx)(H,{"aria-label":`Disabled example`,disabled:!0,defaultValue:`Disabled`})]})}function mn(){return(0,q.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col gap-3`,children:[(0,q.jsx)(H,{startIcon:te,placeholder:`Search orders…`}),(0,q.jsx)(H,{endIcon:k,placeholder:`you@example.com`}),(0,q.jsx)(m,{"aria-label":`Password`,startIcon:O,defaultValue:`hunter2`})]})}function hn(){return(0,q.jsx)(`div`,{className:`w-full max-w-sm`,children:(0,q.jsx)(G,{label:`Password`,hint:`The reveal button is keyboard and screen-reader accessible.`,children:(0,q.jsx)(m,{placeholder:`Enter password`,autoComplete:`current-password`})})})}function gn(){let[e,t]=(0,K.useState)(`Summer Collection: Salt & Pepper Set`);return(0,q.jsxs)(`div`,{className:`grid w-full max-w-sm gap-3`,children:[(0,q.jsx)(G,{label:`Title`,hint:`The slug below updates from this value.`,children:(0,q.jsx)(H,{value:e,onChange:e=>t(e.target.value)})}),(0,q.jsx)(G,{label:`Slug`,hint:`Read-only value submitted with the form.`,children:(0,q.jsx)(Be,{name:`slug`,value:e,startAddon:`/`,"aria-label":`Generated slug`})})]})}function _n(){return(0,q.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col gap-3`,children:[(0,q.jsx)(H,{startAddon:`$`,placeholder:`0.00`}),(0,q.jsx)(H,{"aria-label":`Weight in kilograms`,endAddon:`kg`,defaultValue:`2.4`}),(0,q.jsx)(H,{"aria-label":`Amount in USD`,startAddon:`$`,endAddon:`USD`,defaultValue:`49.00`})]})}function vn(){let[e,t]=(0,K.useState)(`Click the × to clear`);return(0,q.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col gap-3`,children:[(0,q.jsx)(H,{clearable:!0,"aria-label":`Clearable value`,value:e,onChange:e=>t(e.target.value),onClear:()=>t(``)}),(0,q.jsx)(H,{"aria-label":`Loading value`,isLoading:!0,defaultValue:`Loading…`}),(0,q.jsx)(H,{"aria-label":`Invalid value`,invalid:!0,defaultValue:`Invalid value`})]})}function yn(){let[e,t]=(0,K.useState)(`A short bio`);return(0,q.jsx)(`div`,{className:`w-full max-w-sm`,children:(0,q.jsx)(H,{value:e,"aria-label":`Biography`,onChange:e=>t(e.target.value),maxLength:60,showCharacterCount:!0})})}function bn(){let[e,t]=(0,K.useState)(``);return(0,q.jsxs)(`div`,{className:`flex w-full max-w-md flex-col gap-3`,children:[(0,q.jsx)(G,{label:`Description`,hint:`Up to 200 characters.`,children:(0,q.jsx)(U,{value:e,onChange:e=>t(e.target.value),placeholder:`Write a description…`,maxLength:200,showCharacterCount:!0})}),(0,q.jsx)(G,{label:`Read-only field`,children:(0,q.jsx)(U,{defaultValue:`Read-only content the user cannot edit.`,disabled:!0,rows:2})}),(0,q.jsx)(G,{label:`Bio`,error:`Bio cannot be empty.`,required:!0,children:(0,q.jsx)(U,{invalid:!0,placeholder:`Tell us about yourself…`,rows:2})})]})}function xn(){return(0,q.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col gap-3`,children:[(0,q.jsx)(G,{label:`Free-form decimal`,children:(0,q.jsx)(W,{defaultValue:`1234.56`,decimalPlaces:2})}),(0,q.jsx)(G,{label:`With steppers (1–100)`,children:(0,q.jsx)(`div`,{className:`w-44`,children:(0,q.jsx)(W,{defaultValue:`10`,step:1,min:0,max:100})})}),(0,q.jsx)(G,{label:`Allows negative`,children:(0,q.jsx)(W,{placeholder:`0.00`,decimalPlaces:2,allowNegative:!0})})]})}function Sn(){return(0,q.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col gap-3`,children:[(0,q.jsx)(G,{label:`Discount`,children:(0,q.jsx)(Xe,{defaultValue:`12.5`})}),(0,q.jsx)(G,{label:`Tax rate (whole-number steppers)`,children:(0,q.jsx)(`div`,{className:`w-44`,children:(0,q.jsx)(Xe,{defaultValue:`20`,decimalPlaces:0,step:5})})})]})}function Cn(){return(0,q.jsx)(`div`,{className:`w-full max-w-sm`,children:(0,q.jsx)(rt,{defaultValue:`2450.00`,defaultCurrency:`USD`,currencies:[`USD`,`EUR`,`GBP`]})})}function wn(){return(0,q.jsx)(`div`,{className:`w-full max-w-sm`,children:(0,q.jsx)(at,{defaultValue:`49.99`,defaultCurrency:`USD`})})}function Tn(){return(0,q.jsx)(`div`,{className:`w-full max-w-sm`,children:(0,q.jsx)(vt,{defaultValue:`2.4`,defaultUnit:`kg`})})}function En(){return(0,q.jsx)(`div`,{className:`w-full max-w-md`,children:(0,q.jsx)(ht,{defaultValue:{width:`30`,height:`20`,depth:`10`},format:`object`,unit:`g`})})}function Dn(){return(0,q.jsx)(`div`,{className:`w-full max-w-sm`,children:(0,q.jsx)(be,{options:[{value:`paid`,label:`Paid`},{value:`pending`,label:`Pending`},{value:`overdue`,label:`Overdue`}],placeholder:`Pick a status…`,allowClear:!0})})}function On(){return(0,q.jsx)(`div`,{className:`w-full max-w-md`,children:(0,q.jsx)(ut,{options:[{value:`free`,label:`Free`,description:`Up to 3 projects, community support.`},{value:`pro`,label:`Pro`,description:`$12/mo — unlimited projects, email support.`},{value:`enterprise`,label:`Enterprise`,description:`Custom pricing, SAML SSO.`}],placeholder:`Choose a plan…`})})}function kn(){return(0,q.jsx)(`div`,{className:`w-full max-w-sm`,children:(0,q.jsx)(G,{label:`Rounding mode`,children:(0,q.jsx)(st,{defaultValue:`half_up`,labels:{floor:`Round down (floor)`,half_up:`Round half up`,ceil:`Round up (ceil)`}})})})}function An(){let[e,t]=(0,K.useState)(!0);return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,q.jsx)(we,{checked:e,onCheckedChange:e=>t(!!e.target.value)}),`Enable notifications`]}),(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,q.jsx)(we,{defaultChecked:!0,disabled:!0}),`Disabled (on)`]}),(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,q.jsx)(we,{invalid:!0}),`Invalid state`]})]})}function jn(){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,q.jsx)(ge,{defaultChecked:!0}),`I agree to the terms`]}),(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,q.jsx)(ge,{}),`Subscribe to the newsletter`]}),(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,q.jsx)(ge,{disabled:!0,defaultChecked:!0}),`Disabled (checked)`]})]})}function Mn(){return(0,q.jsxs)(`div`,{className:`flex w-full max-w-md flex-col gap-3`,children:[(0,q.jsx)(xe,{label:`Email digest`,description:`Receive a weekly summary every Monday.`,defaultValue:!0}),(0,q.jsx)(xe,{kind:`checkbox`,label:`Beta features`,description:`Opt in to in-progress experiments. May be unstable.`}),(0,q.jsx)(xe,{label:`Leading control`,controlPosition:`leading`,defaultValue:!0})]})}function Nn(){return(0,q.jsxs)(`div`,{className:`flex w-full max-w-md flex-col gap-3`,children:[(0,q.jsx)(Se,{icon:j,label:`Two-factor authentication`,description:`Require a one-time code on every sign-in.`,defaultValue:!0}),(0,q.jsx)(Se,{icon:ee,label:`Auto-deploy`,description:`Push to production on every merge to main.`})]})}function Pn(){let[e,t]=(0,K.useState)(`week`);return(0,q.jsx)(Zt,{name:`range`,value:e,onChange:t,options:[{value:`day`,label:`Day`},{value:`week`,label:`Week`},{value:`month`,label:`Month`},{value:`year`,label:`Year`}]})}function Fn(){return(0,q.jsx)(`div`,{className:`w-full max-w-md`,children:(0,q.jsx)($e,{name:`delivery`,defaultValue:`standard`,options:[{value:`standard`,label:`Standard`,description:`5–7 business days · Free`},{value:`express`,label:`Express`,description:`2–3 business days · $9.99`},{value:`overnight`,label:`Overnight`,description:`Next business day · $24.99`}]})})}function In(){return(0,q.jsx)(`div`,{className:`w-full max-w-2xl`,children:(0,q.jsx)(ke,{name:`plan`,defaultValue:`pro`,columns:3,options:[{value:`free`,label:`Free`,description:`3 projects`,icon:M},{value:`pro`,label:`Pro`,description:`Unlimited`,icon:ee},{value:`team`,label:`Team`,description:`Workspaces`,icon:h}]})})}function Ln(){return(0,q.jsx)(`div`,{className:`w-full max-w-2xl`,children:(0,q.jsx)(De,{name:`features`,defaultValue:[`analytics`],columns:3,options:[{value:`analytics`,label:`Analytics`,description:`Realtime dashboards`,icon:M},{value:`webhooks`,label:`Webhooks`,description:`Outbound events`,icon:ee},{value:`sso`,label:`SSO`,description:`SAML & SCIM`,icon:j}]})})}function Rn(){let[e,t]=(0,K.useState)(void 0);return(0,q.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col gap-2`,children:[(0,q.jsx)(wt,{value:e,onChange:t,placeholder:`Pick a date…`}),(0,q.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`value: `,e??`—`]})]})}function zn(){let[e,t]=(0,K.useState)(`09:30:00`);return(0,q.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col gap-2`,children:[(0,q.jsx)(Ot,{value:e,onChange:t}),(0,q.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`value: `,e]})]})}function Bn(){let[e,t]=(0,K.useState)(40);return(0,q.jsxs)(`div`,{className:`flex w-full max-w-md flex-col gap-2`,children:[(0,q.jsx)(Qe,{value:e,onValueChange:t,min:0,max:100,step:5}),(0,q.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`value: `,e]})]})}function Vn(){let[e,t]=(0,K.useState)([`design`,`systems`]);return(0,q.jsx)(`div`,{className:`w-full max-w-md`,children:(0,q.jsx)(Ce,{value:e,onChange:t,placeholder:`Add a tag…`,recommendations:[`typography`,`tokens`,`figma`,`a11y`]})})}function Hn(){let[e,t]=(0,K.useState)(`555 0100`);return(0,q.jsx)(`div`,{className:`w-full max-w-sm`,children:(0,q.jsx)(Ye,{"aria-label":`Phone number`,value:e,onChange:e=>t(e.target.value),defaultPrefix:`US`})})}function Un(){return(0,q.jsx)(`div`,{className:`w-full max-w-md`,children:(0,q.jsx)(Ct,{defaultValue:{lat:`37.7749`,lng:`-122.4194`},format:`object`})})}function Wn(){return(0,q.jsx)(V,{...B({defaultValues:{tags:[`alpha`,`beta`]}}),children:(0,q.jsx)(`form`,{className:`w-full max-w-md`,children:(0,q.jsx)(Kt,{name:`tags`,placeholder:`Tag name`,addButtonText:`Add tag`})})})}function Gn(){return(0,q.jsx)(V,{...B({defaultValues:{contacts:[{name:`Sarah Smitha`,email:`sarah@example.com`}]}}),children:(0,q.jsx)(`form`,{className:`w-full max-w-2xl`,children:(0,q.jsx)(Jt,{name:`contacts`,fields:[{name:`name`,label:`Name`,placeholder:`Full name`},{name:`email`,label:`Email`,placeholder:`name@example.com`}]})})})}function Kn(){let[e,t]=(0,K.useState)({env:`production`,region:`eu-west-1`});return(0,q.jsx)(`div`,{className:`w-full max-w-2xl`,children:(0,q.jsx)(Wt,{value:e,onChange:t})})}function qn(){return(0,q.jsx)(V,{...B({defaultValues:{aliases:[`acme`,`acme-corp`]}}),children:(0,q.jsx)(`form`,{className:`w-full max-w-md`,children:(0,q.jsx)(Xt,{name:`aliases`,placeholder:`Add an alias…`})})})}function Jn(){return(0,q.jsx)(V,{...B({defaultValues:{title:{en:`Welcome`,bg:`Добре дошли`}}}),children:(0,q.jsx)(`form`,{className:`w-full max-w-md`,children:(0,q.jsx)(Qt,{name:`title`,primaryLocale:`en`,secondaryLocale:`bg`,activeLocale:`primary`,placeholder:`Page title`})})})}function Yn(){return(0,q.jsx)(V,{...B({defaultValues:{seo:{en:{title:`About`,description:`About our company.`},bg:{title:`За нас`,description:`За нашата компания.`}}}}),children:(0,q.jsx)(`form`,{className:`w-full max-w-2xl`,children:(0,q.jsx)($t,{name:`seo`,primaryLocale:`en`,secondaryLocale:`bg`,activeLocale:`primary`,fields:[{name:`title`,label:`Title`},{name:`description`,label:`Description`,type:`textarea`}]})})})}function Xn(){return(0,q.jsx)(V,{...B({defaultValues:{tags:{en:[`systems`,`design`],bg:[`системи`,`дизайн`]}}}),children:(0,q.jsx)(`form`,{className:`w-full max-w-md`,children:(0,q.jsx)(tn,{name:`tags`,primaryLocale:`en`,secondaryLocale:`bg`,activeLocale:`primary`,placeholder:`Tag`})})})}function Zn(){return(0,q.jsx)(Lt,{defaultPreviewUrl:`https://api.dicebear.com/7.x/avataaars/svg?seed=sarah`})}function Qn(){return(0,q.jsx)(`div`,{className:`w-full max-w-md`,children:(0,q.jsx)(p,{accept:`image/*`,onDrop:()=>{}})})}function $n(){let e=B({defaultValues:{name:``,sku:``,price:``,currency:`USD`,description:``,category:``,published:!1}});return(0,q.jsxs)(`form`,{onSubmit:e.handleSubmit(()=>{}),className:`flex w-full max-w-xl flex-col gap-4 rounded-lg border border-border bg-card p-5`,children:[(0,q.jsx)(Re,{control:e.control,name:`name`,label:`Product name`,required:!0,rules:{required:!0},children:e=>(0,q.jsx)(H,{...e,placeholder:`Vintage leather wallet`})}),(0,q.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-2`,children:[(0,q.jsx)(Re,{control:e.control,name:`sku`,label:`SKU`,hint:`Inventory keeping unit.`,children:e=>(0,q.jsx)(H,{...e,placeholder:`LW-0021`,startIcon:s})}),(0,q.jsx)(Re,{control:e.control,name:`price`,label:`Price`,required:!0,rules:{required:!0},children:e=>(0,q.jsx)(at,{value:e.value,onChange:t=>e.onChange(t.target.value),defaultCurrency:`USD`})})]}),(0,q.jsx)(Re,{control:e.control,name:`category`,label:`Category`,children:e=>(0,q.jsx)(be,{options:[{value:`apparel`,label:`Apparel`},{value:`accessories`,label:`Accessories`},{value:`home`,label:`Home & living`}],value:e.value,onChange:e.onChange,placeholder:`Choose a category…`})}),(0,q.jsx)(Re,{control:e.control,name:`description`,label:`Description`,children:e=>(0,q.jsx)(U,{...e,rows:3,placeholder:`What makes it special?`})}),(0,q.jsx)(Re,{control:e.control,name:`published`,label:`Visibility`,children:e=>(0,q.jsx)(xe,{label:`Published`,description:`Visible in the storefront.`,value:!!e.value,onChange:e.onChange})}),(0,q.jsxs)(`div`,{className:`flex justify-end gap-2 pt-2`,children:[(0,q.jsx)(l,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,children:`Cancel`}),(0,q.jsx)(l,{type:`submit`,variant:`primary`,children:`Save product`})]})]})}var Q=`import { useState } from 'react';
|
|
2
|
+
import { useForm, FormProvider } from 'react-hook-form';
|
|
3
|
+
import { Mail, Search, Lock, Star, Zap, Box, Globe, Shield } from 'lucide-react';
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
ControlledFormField,
|
|
7
|
+
DirtyStateBanner,
|
|
8
|
+
ErrorSummary,
|
|
9
|
+
FormActionsBar,
|
|
10
|
+
FormField,
|
|
11
|
+
FormSection,
|
|
12
|
+
SubmitStateButton,
|
|
13
|
+
} from '@/components/base/forms';
|
|
14
|
+
import {
|
|
15
|
+
Input,
|
|
16
|
+
Textarea,
|
|
17
|
+
Select,
|
|
18
|
+
Checkbox,
|
|
19
|
+
PasswordInput,
|
|
20
|
+
SlugField,
|
|
21
|
+
Switch,
|
|
22
|
+
SwitchCard,
|
|
23
|
+
ToggleField,
|
|
24
|
+
TagsInput,
|
|
25
|
+
PhoneInput,
|
|
26
|
+
PercentageInput,
|
|
27
|
+
SliderField,
|
|
28
|
+
CardCheckboxGroup,
|
|
29
|
+
CardRadioGroup,
|
|
30
|
+
ListRadioGroup,
|
|
31
|
+
PillRadioGroup,
|
|
32
|
+
CurrencyInput,
|
|
33
|
+
MoneyInput,
|
|
34
|
+
RoundingModeSelect,
|
|
35
|
+
RichSelect,
|
|
36
|
+
DimensionsInput,
|
|
37
|
+
WeightInput,
|
|
38
|
+
CoordinatesInput,
|
|
39
|
+
DateTimeInput,
|
|
40
|
+
TimePicker,
|
|
41
|
+
DecimalInput,
|
|
42
|
+
StringRepeater,
|
|
43
|
+
ObjectRepeater,
|
|
44
|
+
KeyValueEditor,
|
|
45
|
+
LocalizedStringField,
|
|
46
|
+
LocalizedObjectField,
|
|
47
|
+
LocalizedStringRepeater,
|
|
48
|
+
List,
|
|
49
|
+
AvatarUpload,
|
|
50
|
+
Dropzone,
|
|
51
|
+
} from '@/components/base/forms/fields';
|
|
52
|
+
import { Button } from '@/components/base/buttons';
|
|
53
|
+
|
|
54
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
55
|
+
// FormField wrapper
|
|
56
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
57
|
+
|
|
58
|
+
export function BasicField() {
|
|
59
|
+
const [value, setValue] = useState('');
|
|
60
|
+
return (
|
|
61
|
+
<FormField label="Full name" hint="As it appears on your ID" required>
|
|
62
|
+
<Input
|
|
63
|
+
value={value}
|
|
64
|
+
onChange={(e) => setValue(e.target.value)}
|
|
65
|
+
placeholder="Sarah Smitha"
|
|
66
|
+
/>
|
|
67
|
+
</FormField>
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export function WithError() {
|
|
72
|
+
return (
|
|
73
|
+
<FormField label="Email" error="That doesn't look like a valid email." required>
|
|
74
|
+
<Input defaultValue="not-an-email" invalid />
|
|
75
|
+
</FormField>
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export function WithHelperText() {
|
|
80
|
+
return (
|
|
81
|
+
<FormField label="API token" helperText="Stored encrypted at rest. Rotate every 90 days.">
|
|
82
|
+
<Input defaultValue="sk_live_••••••••••••" />
|
|
83
|
+
</FormField>
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export function WorkflowChrome() {
|
|
88
|
+
return (
|
|
89
|
+
<div className="grid gap-3">
|
|
90
|
+
<FormSection
|
|
91
|
+
title="Publishing"
|
|
92
|
+
description="Section chrome, validation summary, dirty state, and submit state stay reusable across form libraries."
|
|
93
|
+
actions={<Button variant="secondary">Reset</Button>}
|
|
94
|
+
>
|
|
95
|
+
<div className="grid gap-3 sm:grid-cols-2">
|
|
96
|
+
<FormField label="Display title" required>
|
|
97
|
+
<Input defaultValue="Summer collection" />
|
|
98
|
+
</FormField>
|
|
99
|
+
<FormField label="Status">
|
|
100
|
+
<Select
|
|
101
|
+
defaultValue="draft"
|
|
102
|
+
options={[
|
|
103
|
+
{ value: 'draft', label: 'Draft' },
|
|
104
|
+
{ value: 'published', label: 'Published' },
|
|
105
|
+
]}
|
|
106
|
+
/>
|
|
107
|
+
</FormField>
|
|
108
|
+
</div>
|
|
109
|
+
</FormSection>
|
|
110
|
+
<ErrorSummary
|
|
111
|
+
title="Fix publishing errors"
|
|
112
|
+
description="Two fields need attention before this can publish."
|
|
113
|
+
errors={['Display title is required', 'Publish date must be in the future']}
|
|
114
|
+
/>
|
|
115
|
+
<DirtyStateBanner
|
|
116
|
+
title="Unsaved changes"
|
|
117
|
+
description="Save or discard before leaving this workflow."
|
|
118
|
+
actions={<Button variant="secondary">Discard</Button>}
|
|
119
|
+
/>
|
|
120
|
+
<FormActionsBar
|
|
121
|
+
leading={<span className="text-xs text-muted-foreground">Last saved 2 minutes ago</span>}
|
|
122
|
+
trailing={<SubmitStateButton isDirty>Save changes</SubmitStateButton>}
|
|
123
|
+
/>
|
|
124
|
+
</div>
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
129
|
+
// Text inputs
|
|
130
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
131
|
+
|
|
132
|
+
export function InputBasic() {
|
|
133
|
+
return (
|
|
134
|
+
<div className="flex w-full max-w-sm flex-col gap-3">
|
|
135
|
+
<Input placeholder="Type something…" />
|
|
136
|
+
<Input aria-label="Pre-filled value" defaultValue="Pre-filled value" />
|
|
137
|
+
<Input aria-label="Disabled example" disabled defaultValue="Disabled" />
|
|
138
|
+
</div>
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export function InputWithIcons() {
|
|
143
|
+
return (
|
|
144
|
+
<div className="flex w-full max-w-sm flex-col gap-3">
|
|
145
|
+
<Input startIcon={Search} placeholder="Search orders…" />
|
|
146
|
+
<Input endIcon={Mail} placeholder="you@example.com" />
|
|
147
|
+
<PasswordInput aria-label="Password" startIcon={Lock} defaultValue="hunter2" />
|
|
148
|
+
</div>
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export function PasswordInputExample() {
|
|
153
|
+
return (
|
|
154
|
+
<div className="w-full max-w-sm">
|
|
155
|
+
<FormField label="Password" hint="The reveal button is keyboard and screen-reader accessible.">
|
|
156
|
+
<PasswordInput placeholder="Enter password" autoComplete="current-password" />
|
|
157
|
+
</FormField>
|
|
158
|
+
</div>
|
|
159
|
+
);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
export function SlugFieldExample() {
|
|
163
|
+
const [title, setTitle] = useState('Summer Collection: Salt & Pepper Set');
|
|
164
|
+
|
|
165
|
+
return (
|
|
166
|
+
<div className="grid w-full max-w-sm gap-3">
|
|
167
|
+
<FormField label="Title" hint="The slug below updates from this value.">
|
|
168
|
+
<Input value={title} onChange={(event) => setTitle(event.target.value)} />
|
|
169
|
+
</FormField>
|
|
170
|
+
<FormField label="Slug" hint="Read-only value submitted with the form.">
|
|
171
|
+
<SlugField
|
|
172
|
+
name="slug"
|
|
173
|
+
value={title}
|
|
174
|
+
startAddon="/"
|
|
175
|
+
aria-label="Generated slug"
|
|
176
|
+
/>
|
|
177
|
+
</FormField>
|
|
178
|
+
</div>
|
|
179
|
+
);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export function InputWithAddons() {
|
|
183
|
+
return (
|
|
184
|
+
<div className="flex w-full max-w-sm flex-col gap-3">
|
|
185
|
+
<Input startAddon="$" placeholder="0.00" />
|
|
186
|
+
<Input aria-label="Weight in kilograms" endAddon="kg" defaultValue="2.4" />
|
|
187
|
+
<Input aria-label="Amount in USD" startAddon="$" endAddon="USD" defaultValue="49.00" />
|
|
188
|
+
</div>
|
|
189
|
+
);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
export function InputClearableLoading() {
|
|
193
|
+
const [val, setVal] = useState('Click the × to clear');
|
|
194
|
+
return (
|
|
195
|
+
<div className="flex w-full max-w-sm flex-col gap-3">
|
|
196
|
+
<Input
|
|
197
|
+
clearable
|
|
198
|
+
aria-label="Clearable value"
|
|
199
|
+
value={val}
|
|
200
|
+
onChange={(e) => setVal(e.target.value)}
|
|
201
|
+
onClear={() => setVal('')}
|
|
202
|
+
/>
|
|
203
|
+
<Input aria-label="Loading value" isLoading defaultValue="Loading…" />
|
|
204
|
+
<Input aria-label="Invalid value" invalid defaultValue="Invalid value" />
|
|
205
|
+
</div>
|
|
206
|
+
);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
export function InputCharacterCount() {
|
|
210
|
+
const [val, setVal] = useState('A short bio');
|
|
211
|
+
return (
|
|
212
|
+
<div className="w-full max-w-sm">
|
|
213
|
+
<Input
|
|
214
|
+
value={val}
|
|
215
|
+
aria-label="Biography"
|
|
216
|
+
onChange={(e) => setVal(e.target.value)}
|
|
217
|
+
maxLength={60}
|
|
218
|
+
showCharacterCount
|
|
219
|
+
/>
|
|
220
|
+
</div>
|
|
221
|
+
);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
export function TextareaExample() {
|
|
225
|
+
const [val, setVal] = useState('');
|
|
226
|
+
return (
|
|
227
|
+
<div className="flex w-full max-w-md flex-col gap-3">
|
|
228
|
+
<FormField label="Description" hint="Up to 200 characters.">
|
|
229
|
+
<Textarea
|
|
230
|
+
value={val}
|
|
231
|
+
onChange={(e) => setVal(e.target.value)}
|
|
232
|
+
placeholder="Write a description…"
|
|
233
|
+
maxLength={200}
|
|
234
|
+
showCharacterCount
|
|
235
|
+
/>
|
|
236
|
+
</FormField>
|
|
237
|
+
<FormField label="Read-only field">
|
|
238
|
+
<Textarea defaultValue="Read-only content the user cannot edit." disabled rows={2} />
|
|
239
|
+
</FormField>
|
|
240
|
+
<FormField label="Bio" error="Bio cannot be empty." required>
|
|
241
|
+
<Textarea invalid placeholder="Tell us about yourself…" rows={2} />
|
|
242
|
+
</FormField>
|
|
243
|
+
</div>
|
|
244
|
+
);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
248
|
+
// Numeric inputs
|
|
249
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
250
|
+
|
|
251
|
+
export function DecimalInputExample() {
|
|
252
|
+
return (
|
|
253
|
+
<div className="flex w-full max-w-sm flex-col gap-3">
|
|
254
|
+
<FormField label="Free-form decimal">
|
|
255
|
+
<DecimalInput defaultValue="1234.56" decimalPlaces={2} />
|
|
256
|
+
</FormField>
|
|
257
|
+
<FormField label="With steppers (1–100)">
|
|
258
|
+
<div className="w-44">
|
|
259
|
+
<DecimalInput defaultValue="10" step={1} min={0} max={100} />
|
|
260
|
+
</div>
|
|
261
|
+
</FormField>
|
|
262
|
+
<FormField label="Allows negative">
|
|
263
|
+
<DecimalInput placeholder="0.00" decimalPlaces={2} allowNegative />
|
|
264
|
+
</FormField>
|
|
265
|
+
</div>
|
|
266
|
+
);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
export function PercentageInputExample() {
|
|
270
|
+
return (
|
|
271
|
+
<div className="flex w-full max-w-sm flex-col gap-3">
|
|
272
|
+
<FormField label="Discount">
|
|
273
|
+
<PercentageInput defaultValue="12.5" />
|
|
274
|
+
</FormField>
|
|
275
|
+
<FormField label="Tax rate (whole-number steppers)">
|
|
276
|
+
<div className="w-44">
|
|
277
|
+
<PercentageInput defaultValue="20" decimalPlaces={0} step={5} />
|
|
278
|
+
</div>
|
|
279
|
+
</FormField>
|
|
280
|
+
</div>
|
|
281
|
+
);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
export function CurrencyInputExample() {
|
|
285
|
+
return (
|
|
286
|
+
<div className="w-full max-w-sm">
|
|
287
|
+
<CurrencyInput
|
|
288
|
+
defaultValue="2450.00"
|
|
289
|
+
defaultCurrency="USD"
|
|
290
|
+
currencies={['USD', 'EUR', 'GBP']}
|
|
291
|
+
/>
|
|
292
|
+
</div>
|
|
293
|
+
);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
export function MoneyInputExample() {
|
|
297
|
+
return (
|
|
298
|
+
<div className="w-full max-w-sm">
|
|
299
|
+
<MoneyInput defaultValue="49.99" defaultCurrency="USD" />
|
|
300
|
+
</div>
|
|
301
|
+
);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
export function WeightInputExample() {
|
|
305
|
+
return (
|
|
306
|
+
<div className="w-full max-w-sm">
|
|
307
|
+
<WeightInput defaultValue="2.4" defaultUnit="kg" />
|
|
308
|
+
</div>
|
|
309
|
+
);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
export function DimensionsInputExample() {
|
|
313
|
+
return (
|
|
314
|
+
<div className="w-full max-w-md">
|
|
315
|
+
<DimensionsInput defaultValue={{ width: '30', height: '20', depth: '10' }} format="object" unit="g" />
|
|
316
|
+
</div>
|
|
317
|
+
);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
321
|
+
// Selects
|
|
322
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
323
|
+
|
|
324
|
+
export function SelectExample() {
|
|
325
|
+
return (
|
|
326
|
+
<div className="w-full max-w-sm">
|
|
327
|
+
<Select
|
|
328
|
+
options={[
|
|
329
|
+
{ value: 'paid', label: 'Paid' },
|
|
330
|
+
{ value: 'pending', label: 'Pending' },
|
|
331
|
+
{ value: 'overdue', label: 'Overdue' },
|
|
332
|
+
]}
|
|
333
|
+
placeholder="Pick a status…"
|
|
334
|
+
allowClear
|
|
335
|
+
/>
|
|
336
|
+
</div>
|
|
337
|
+
);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
export function RichSelectExample() {
|
|
341
|
+
return (
|
|
342
|
+
<div className="w-full max-w-md">
|
|
343
|
+
<RichSelect
|
|
344
|
+
options={[
|
|
345
|
+
{ value: 'free', label: 'Free', description: 'Up to 3 projects, community support.' },
|
|
346
|
+
{ value: 'pro', label: 'Pro', description: '$12/mo — unlimited projects, email support.' },
|
|
347
|
+
{ value: 'enterprise', label: 'Enterprise', description: 'Custom pricing, SAML SSO.' },
|
|
348
|
+
]}
|
|
349
|
+
placeholder="Choose a plan…"
|
|
350
|
+
/>
|
|
351
|
+
</div>
|
|
352
|
+
);
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
export function RoundingModeSelectExample() {
|
|
356
|
+
return (
|
|
357
|
+
<div className="w-full max-w-sm">
|
|
358
|
+
<FormField label="Rounding mode">
|
|
359
|
+
<RoundingModeSelect
|
|
360
|
+
defaultValue="half_up"
|
|
361
|
+
labels={{ floor: 'Round down (floor)', half_up: 'Round half up', ceil: 'Round up (ceil)' }}
|
|
362
|
+
/>
|
|
363
|
+
</FormField>
|
|
364
|
+
</div>
|
|
365
|
+
);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
369
|
+
// Toggles & checkboxes
|
|
370
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
371
|
+
|
|
372
|
+
export function SwitchExample() {
|
|
373
|
+
const [on, setOn] = useState(true);
|
|
374
|
+
return (
|
|
375
|
+
<div className="flex flex-col gap-3">
|
|
376
|
+
<label className="flex items-center gap-2 text-sm">
|
|
377
|
+
<Switch checked={on} onCheckedChange={(e) => setOn(Boolean(e.target.value))} />
|
|
378
|
+
Enable notifications
|
|
379
|
+
</label>
|
|
380
|
+
<label className="flex items-center gap-2 text-sm">
|
|
381
|
+
<Switch defaultChecked disabled />
|
|
382
|
+
Disabled (on)
|
|
383
|
+
</label>
|
|
384
|
+
<label className="flex items-center gap-2 text-sm">
|
|
385
|
+
<Switch invalid />
|
|
386
|
+
Invalid state
|
|
387
|
+
</label>
|
|
388
|
+
</div>
|
|
389
|
+
);
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
export function CheckboxExample() {
|
|
393
|
+
return (
|
|
394
|
+
<div className="flex flex-col gap-3">
|
|
395
|
+
<label className="flex items-center gap-2 text-sm">
|
|
396
|
+
<Checkbox defaultChecked />
|
|
397
|
+
I agree to the terms
|
|
398
|
+
</label>
|
|
399
|
+
<label className="flex items-center gap-2 text-sm">
|
|
400
|
+
<Checkbox />
|
|
401
|
+
Subscribe to the newsletter
|
|
402
|
+
</label>
|
|
403
|
+
<label className="flex items-center gap-2 text-sm">
|
|
404
|
+
<Checkbox disabled defaultChecked />
|
|
405
|
+
Disabled (checked)
|
|
406
|
+
</label>
|
|
407
|
+
</div>
|
|
408
|
+
);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
export function ToggleFieldExample() {
|
|
412
|
+
return (
|
|
413
|
+
<div className="flex w-full max-w-md flex-col gap-3">
|
|
414
|
+
<ToggleField label="Email digest" description="Receive a weekly summary every Monday." defaultValue />
|
|
415
|
+
<ToggleField
|
|
416
|
+
kind="checkbox"
|
|
417
|
+
label="Beta features"
|
|
418
|
+
description="Opt in to in-progress experiments. May be unstable."
|
|
419
|
+
/>
|
|
420
|
+
<ToggleField label="Leading control" controlPosition="leading" defaultValue />
|
|
421
|
+
</div>
|
|
422
|
+
);
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
export function SwitchCardExample() {
|
|
426
|
+
return (
|
|
427
|
+
<div className="flex w-full max-w-md flex-col gap-3">
|
|
428
|
+
<SwitchCard
|
|
429
|
+
icon={Shield}
|
|
430
|
+
label="Two-factor authentication"
|
|
431
|
+
description="Require a one-time code on every sign-in."
|
|
432
|
+
defaultValue
|
|
433
|
+
/>
|
|
434
|
+
<SwitchCard
|
|
435
|
+
icon={Zap}
|
|
436
|
+
label="Auto-deploy"
|
|
437
|
+
description="Push to production on every merge to main."
|
|
438
|
+
/>
|
|
439
|
+
</div>
|
|
440
|
+
);
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
444
|
+
// Choice groups
|
|
445
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
446
|
+
|
|
447
|
+
export function PillRadioGroupExample() {
|
|
448
|
+
const [val, setVal] = useState<string | null>('week');
|
|
449
|
+
return (
|
|
450
|
+
<PillRadioGroup
|
|
451
|
+
name="range"
|
|
452
|
+
value={val}
|
|
453
|
+
onChange={setVal}
|
|
454
|
+
options={[
|
|
455
|
+
{ value: 'day', label: 'Day' },
|
|
456
|
+
{ value: 'week', label: 'Week' },
|
|
457
|
+
{ value: 'month', label: 'Month' },
|
|
458
|
+
{ value: 'year', label: 'Year' },
|
|
459
|
+
]}
|
|
460
|
+
/>
|
|
461
|
+
);
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
export function ListRadioGroupExample() {
|
|
465
|
+
return (
|
|
466
|
+
<div className="w-full max-w-md">
|
|
467
|
+
<ListRadioGroup
|
|
468
|
+
name="delivery"
|
|
469
|
+
defaultValue="standard"
|
|
470
|
+
options={[
|
|
471
|
+
{ value: 'standard', label: 'Standard', description: '5–7 business days · Free' },
|
|
472
|
+
{ value: 'express', label: 'Express', description: '2–3 business days · $9.99' },
|
|
473
|
+
{ value: 'overnight', label: 'Overnight', description: 'Next business day · $24.99' },
|
|
474
|
+
]}
|
|
475
|
+
/>
|
|
476
|
+
</div>
|
|
477
|
+
);
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
export function CardRadioGroupExample() {
|
|
481
|
+
return (
|
|
482
|
+
<div className="w-full max-w-2xl">
|
|
483
|
+
<CardRadioGroup
|
|
484
|
+
name="plan"
|
|
485
|
+
defaultValue="pro"
|
|
486
|
+
columns={3}
|
|
487
|
+
options={[
|
|
488
|
+
{ value: 'free', label: 'Free', description: '3 projects', icon: Star },
|
|
489
|
+
{ value: 'pro', label: 'Pro', description: 'Unlimited', icon: Zap },
|
|
490
|
+
{ value: 'team', label: 'Team', description: 'Workspaces', icon: Globe },
|
|
491
|
+
]}
|
|
492
|
+
/>
|
|
493
|
+
</div>
|
|
494
|
+
);
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
export function CardCheckboxGroupExample() {
|
|
498
|
+
return (
|
|
499
|
+
<div className="w-full max-w-2xl">
|
|
500
|
+
<CardCheckboxGroup
|
|
501
|
+
name="features"
|
|
502
|
+
defaultValue={['analytics']}
|
|
503
|
+
columns={3}
|
|
504
|
+
options={[
|
|
505
|
+
{ value: 'analytics', label: 'Analytics', description: 'Realtime dashboards', icon: Star },
|
|
506
|
+
{ value: 'webhooks', label: 'Webhooks', description: 'Outbound events', icon: Zap },
|
|
507
|
+
{ value: 'sso', label: 'SSO', description: 'SAML & SCIM', icon: Shield },
|
|
508
|
+
]}
|
|
509
|
+
/>
|
|
510
|
+
</div>
|
|
511
|
+
);
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
515
|
+
// Date & time
|
|
516
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
517
|
+
|
|
518
|
+
export function DateTimeInputExample() {
|
|
519
|
+
const [val, setVal] = useState<string | undefined>(undefined);
|
|
520
|
+
return (
|
|
521
|
+
<div className="flex w-full max-w-sm flex-col gap-2">
|
|
522
|
+
<DateTimeInput value={val} onChange={setVal} placeholder="Pick a date…" />
|
|
523
|
+
<div className="text-xs text-muted-foreground">value: {val ?? '—'}</div>
|
|
524
|
+
</div>
|
|
525
|
+
);
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
export function TimePickerExample() {
|
|
529
|
+
const [val, setVal] = useState('09:30:00');
|
|
530
|
+
return (
|
|
531
|
+
<div className="flex w-full max-w-sm flex-col gap-2">
|
|
532
|
+
<TimePicker value={val} onChange={setVal} />
|
|
533
|
+
<div className="text-xs text-muted-foreground">value: {val}</div>
|
|
534
|
+
</div>
|
|
535
|
+
);
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
539
|
+
// Other inputs
|
|
540
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
541
|
+
|
|
542
|
+
export function SliderExample() {
|
|
543
|
+
const [val, setVal] = useState(40);
|
|
544
|
+
return (
|
|
545
|
+
<div className="flex w-full max-w-md flex-col gap-2">
|
|
546
|
+
<SliderField value={val} onValueChange={setVal} min={0} max={100} step={5} />
|
|
547
|
+
<div className="text-xs text-muted-foreground">value: {val}</div>
|
|
548
|
+
</div>
|
|
549
|
+
);
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
export function TagsInputExample() {
|
|
553
|
+
const [tags, setTags] = useState<string[]>(['design', 'systems']);
|
|
554
|
+
return (
|
|
555
|
+
<div className="w-full max-w-md">
|
|
556
|
+
<TagsInput
|
|
557
|
+
value={tags}
|
|
558
|
+
onChange={setTags}
|
|
559
|
+
placeholder="Add a tag…"
|
|
560
|
+
recommendations={['typography', 'tokens', 'figma', 'a11y']}
|
|
561
|
+
/>
|
|
562
|
+
</div>
|
|
563
|
+
);
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
export function PhoneInputExample() {
|
|
567
|
+
const [val, setVal] = useState('555 0100');
|
|
568
|
+
return (
|
|
569
|
+
<div className="w-full max-w-sm">
|
|
570
|
+
<PhoneInput
|
|
571
|
+
aria-label="Phone number"
|
|
572
|
+
value={val}
|
|
573
|
+
onChange={(e) => setVal(e.target.value)}
|
|
574
|
+
defaultPrefix="US"
|
|
575
|
+
/>
|
|
576
|
+
</div>
|
|
577
|
+
);
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
export function CoordinatesInputExample() {
|
|
581
|
+
return (
|
|
582
|
+
<div className="w-full max-w-md">
|
|
583
|
+
<CoordinatesInput
|
|
584
|
+
defaultValue={{ lat: '37.7749', lng: '-122.4194' }}
|
|
585
|
+
format="object"
|
|
586
|
+
/>
|
|
587
|
+
</div>
|
|
588
|
+
);
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
592
|
+
// Repeaters (RHF-coupled)
|
|
593
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
594
|
+
|
|
595
|
+
export function StringRepeaterExample() {
|
|
596
|
+
const form = useForm({ defaultValues: { tags: ['alpha', 'beta'] } });
|
|
597
|
+
return (
|
|
598
|
+
<FormProvider {...form}>
|
|
599
|
+
<form className="w-full max-w-md">
|
|
600
|
+
<StringRepeater name="tags" placeholder="Tag name" addButtonText="Add tag" />
|
|
601
|
+
</form>
|
|
602
|
+
</FormProvider>
|
|
603
|
+
);
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
export function ObjectRepeaterExample() {
|
|
607
|
+
const form = useForm({
|
|
608
|
+
defaultValues: {
|
|
609
|
+
contacts: [
|
|
610
|
+
{ name: 'Sarah Smitha', email: 'sarah@example.com' },
|
|
611
|
+
],
|
|
612
|
+
},
|
|
613
|
+
});
|
|
614
|
+
return (
|
|
615
|
+
<FormProvider {...form}>
|
|
616
|
+
<form className="w-full max-w-2xl">
|
|
617
|
+
<ObjectRepeater
|
|
618
|
+
name="contacts"
|
|
619
|
+
fields={[
|
|
620
|
+
{ name: 'name', label: 'Name', placeholder: 'Full name' },
|
|
621
|
+
{ name: 'email', label: 'Email', placeholder: 'name@example.com' },
|
|
622
|
+
]}
|
|
623
|
+
/>
|
|
624
|
+
</form>
|
|
625
|
+
</FormProvider>
|
|
626
|
+
);
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
export function KeyValueEditorExample() {
|
|
630
|
+
const [val, setVal] = useState<Record<string, string>>({ env: 'production', region: 'eu-west-1' });
|
|
631
|
+
return (
|
|
632
|
+
<div className="w-full max-w-2xl">
|
|
633
|
+
<KeyValueEditor value={val} onChange={setVal} />
|
|
634
|
+
</div>
|
|
635
|
+
);
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
export function ListExample() {
|
|
639
|
+
const form = useForm({ defaultValues: { aliases: ['acme', 'acme-corp'] } });
|
|
640
|
+
return (
|
|
641
|
+
<FormProvider {...form}>
|
|
642
|
+
<form className="w-full max-w-md">
|
|
643
|
+
<List name="aliases" placeholder="Add an alias…" />
|
|
644
|
+
</form>
|
|
645
|
+
</FormProvider>
|
|
646
|
+
);
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
650
|
+
// Localized fields (RHF-coupled)
|
|
651
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
652
|
+
|
|
653
|
+
export function LocalizedStringFieldExample() {
|
|
654
|
+
const form = useForm({ defaultValues: { title: { en: 'Welcome', bg: 'Добре дошли' } } });
|
|
655
|
+
return (
|
|
656
|
+
<FormProvider {...form}>
|
|
657
|
+
<form className="w-full max-w-md">
|
|
658
|
+
<LocalizedStringField
|
|
659
|
+
name="title"
|
|
660
|
+
primaryLocale="en"
|
|
661
|
+
secondaryLocale="bg"
|
|
662
|
+
activeLocale="primary"
|
|
663
|
+
placeholder="Page title"
|
|
664
|
+
/>
|
|
665
|
+
</form>
|
|
666
|
+
</FormProvider>
|
|
667
|
+
);
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
export function LocalizedObjectFieldExample() {
|
|
671
|
+
const form = useForm({
|
|
672
|
+
defaultValues: {
|
|
673
|
+
seo: {
|
|
674
|
+
en: { title: 'About', description: 'About our company.' },
|
|
675
|
+
bg: { title: 'За нас', description: 'За нашата компания.' },
|
|
676
|
+
},
|
|
677
|
+
},
|
|
678
|
+
});
|
|
679
|
+
return (
|
|
680
|
+
<FormProvider {...form}>
|
|
681
|
+
<form className="w-full max-w-2xl">
|
|
682
|
+
<LocalizedObjectField
|
|
683
|
+
name="seo"
|
|
684
|
+
primaryLocale="en"
|
|
685
|
+
secondaryLocale="bg"
|
|
686
|
+
activeLocale="primary"
|
|
687
|
+
fields={[
|
|
688
|
+
{ name: 'title', label: 'Title' },
|
|
689
|
+
{ name: 'description', label: 'Description', type: 'textarea' },
|
|
690
|
+
]}
|
|
691
|
+
/>
|
|
692
|
+
</form>
|
|
693
|
+
</FormProvider>
|
|
694
|
+
);
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
export function LocalizedStringRepeaterExample() {
|
|
698
|
+
const form = useForm({
|
|
699
|
+
defaultValues: { tags: { en: ['systems', 'design'], bg: ['системи', 'дизайн'] } },
|
|
700
|
+
});
|
|
701
|
+
return (
|
|
702
|
+
<FormProvider {...form}>
|
|
703
|
+
<form className="w-full max-w-md">
|
|
704
|
+
<LocalizedStringRepeater
|
|
705
|
+
name="tags"
|
|
706
|
+
primaryLocale="en"
|
|
707
|
+
secondaryLocale="bg"
|
|
708
|
+
activeLocale="primary"
|
|
709
|
+
placeholder="Tag"
|
|
710
|
+
/>
|
|
711
|
+
</form>
|
|
712
|
+
</FormProvider>
|
|
713
|
+
);
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
717
|
+
// Uploads (focused field-shapes — full upload subsystem lives in \`base/upload-tray\`)
|
|
718
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
719
|
+
|
|
720
|
+
export function AvatarUploadExample() {
|
|
721
|
+
return (
|
|
722
|
+
<AvatarUpload defaultPreviewUrl="https://api.dicebear.com/7.x/avataaars/svg?seed=sarah" />
|
|
723
|
+
);
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
export function DropzoneExample() {
|
|
727
|
+
return (
|
|
728
|
+
<div className="w-full max-w-md">
|
|
729
|
+
<Dropzone accept="image/*" onDrop={() => {}} />
|
|
730
|
+
</div>
|
|
731
|
+
);
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
735
|
+
// Whole form — react-hook-form + ControlledFormField
|
|
736
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
737
|
+
|
|
738
|
+
type ProductFormValues = {
|
|
739
|
+
name: string;
|
|
740
|
+
sku: string;
|
|
741
|
+
price: string;
|
|
742
|
+
currency: string;
|
|
743
|
+
description: string;
|
|
744
|
+
category: string;
|
|
745
|
+
published: boolean;
|
|
746
|
+
};
|
|
747
|
+
|
|
748
|
+
export function WholeForm() {
|
|
749
|
+
const form = useForm<ProductFormValues>({
|
|
750
|
+
defaultValues: {
|
|
751
|
+
name: '',
|
|
752
|
+
sku: '',
|
|
753
|
+
price: '',
|
|
754
|
+
currency: 'USD',
|
|
755
|
+
description: '',
|
|
756
|
+
category: '',
|
|
757
|
+
published: false,
|
|
758
|
+
},
|
|
759
|
+
});
|
|
760
|
+
|
|
761
|
+
const onSubmit = form.handleSubmit(() => {
|
|
762
|
+
// no-op for showcase
|
|
763
|
+
});
|
|
764
|
+
|
|
765
|
+
return (
|
|
766
|
+
<form
|
|
767
|
+
onSubmit={onSubmit}
|
|
768
|
+
className="flex w-full max-w-xl flex-col gap-4 rounded-lg border border-border bg-card p-5"
|
|
769
|
+
>
|
|
770
|
+
<ControlledFormField
|
|
771
|
+
control={form.control}
|
|
772
|
+
name="name"
|
|
773
|
+
label="Product name"
|
|
774
|
+
required
|
|
775
|
+
rules={{ required: true }}
|
|
776
|
+
>
|
|
777
|
+
{(field) => <Input {...field} placeholder="Vintage leather wallet" />}
|
|
778
|
+
</ControlledFormField>
|
|
779
|
+
|
|
780
|
+
<div className="grid grid-cols-1 gap-4 md:grid-cols-2">
|
|
781
|
+
<ControlledFormField
|
|
782
|
+
control={form.control}
|
|
783
|
+
name="sku"
|
|
784
|
+
label="SKU"
|
|
785
|
+
hint="Inventory keeping unit."
|
|
786
|
+
>
|
|
787
|
+
{(field) => <Input {...field} placeholder="LW-0021" startIcon={Box} />}
|
|
788
|
+
</ControlledFormField>
|
|
789
|
+
|
|
790
|
+
<ControlledFormField
|
|
791
|
+
control={form.control}
|
|
792
|
+
name="price"
|
|
793
|
+
label="Price"
|
|
794
|
+
required
|
|
795
|
+
rules={{ required: true }}
|
|
796
|
+
>
|
|
797
|
+
{(field) => (
|
|
798
|
+
<MoneyInput
|
|
799
|
+
value={field.value}
|
|
800
|
+
onChange={(e) => field.onChange(e.target.value)}
|
|
801
|
+
defaultCurrency="USD"
|
|
802
|
+
/>
|
|
803
|
+
)}
|
|
804
|
+
</ControlledFormField>
|
|
805
|
+
</div>
|
|
806
|
+
|
|
807
|
+
<ControlledFormField
|
|
808
|
+
control={form.control}
|
|
809
|
+
name="category"
|
|
810
|
+
label="Category"
|
|
811
|
+
>
|
|
812
|
+
{(field) => (
|
|
813
|
+
<Select
|
|
814
|
+
options={[
|
|
815
|
+
{ value: 'apparel', label: 'Apparel' },
|
|
816
|
+
{ value: 'accessories', label: 'Accessories' },
|
|
817
|
+
{ value: 'home', label: 'Home & living' },
|
|
818
|
+
]}
|
|
819
|
+
value={field.value}
|
|
820
|
+
onChange={field.onChange}
|
|
821
|
+
placeholder="Choose a category…"
|
|
822
|
+
/>
|
|
823
|
+
)}
|
|
824
|
+
</ControlledFormField>
|
|
825
|
+
|
|
826
|
+
<ControlledFormField
|
|
827
|
+
control={form.control}
|
|
828
|
+
name="description"
|
|
829
|
+
label="Description"
|
|
830
|
+
>
|
|
831
|
+
{(field) => <Textarea {...field} rows={3} placeholder="What makes it special?" />}
|
|
832
|
+
</ControlledFormField>
|
|
833
|
+
|
|
834
|
+
<ControlledFormField
|
|
835
|
+
control={form.control}
|
|
836
|
+
name="published"
|
|
837
|
+
label="Visibility"
|
|
838
|
+
>
|
|
839
|
+
{(field) => (
|
|
840
|
+
<ToggleField
|
|
841
|
+
label="Published"
|
|
842
|
+
description="Visible in the storefront."
|
|
843
|
+
value={Boolean(field.value)}
|
|
844
|
+
onChange={field.onChange}
|
|
845
|
+
/>
|
|
846
|
+
)}
|
|
847
|
+
</ControlledFormField>
|
|
848
|
+
|
|
849
|
+
<div className="flex justify-end gap-2 pt-2">
|
|
850
|
+
<Button type="button" variant="secondary" buttonStyle="ghost">Cancel</Button>
|
|
851
|
+
<Button type="submit" variant="primary">Save product</Button>
|
|
852
|
+
</div>
|
|
853
|
+
</form>
|
|
854
|
+
);
|
|
855
|
+
}
|
|
856
|
+
`;function er(e){let t={a:`a`,code:`code`,h4:`h4`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...e.components};return cn||$(`Examples`,!1),Zn||$(`Examples.AvatarUploadExample`,!0),ln||$(`Examples.BasicField`,!0),Ln||$(`Examples.CardCheckboxGroupExample`,!0),In||$(`Examples.CardRadioGroupExample`,!0),jn||$(`Examples.CheckboxExample`,!0),Un||$(`Examples.CoordinatesInputExample`,!0),Cn||$(`Examples.CurrencyInputExample`,!0),Rn||$(`Examples.DateTimeInputExample`,!0),xn||$(`Examples.DecimalInputExample`,!0),En||$(`Examples.DimensionsInputExample`,!0),Qn||$(`Examples.DropzoneExample`,!0),pn||$(`Examples.InputBasic`,!0),yn||$(`Examples.InputCharacterCount`,!0),vn||$(`Examples.InputClearableLoading`,!0),_n||$(`Examples.InputWithAddons`,!0),mn||$(`Examples.InputWithIcons`,!0),Kn||$(`Examples.KeyValueEditorExample`,!0),qn||$(`Examples.ListExample`,!0),Fn||$(`Examples.ListRadioGroupExample`,!0),Yn||$(`Examples.LocalizedObjectFieldExample`,!0),Jn||$(`Examples.LocalizedStringFieldExample`,!0),Xn||$(`Examples.LocalizedStringRepeaterExample`,!0),wn||$(`Examples.MoneyInputExample`,!0),Gn||$(`Examples.ObjectRepeaterExample`,!0),hn||$(`Examples.PasswordInputExample`,!0),Sn||$(`Examples.PercentageInputExample`,!0),Hn||$(`Examples.PhoneInputExample`,!0),Pn||$(`Examples.PillRadioGroupExample`,!0),On||$(`Examples.RichSelectExample`,!0),kn||$(`Examples.RoundingModeSelectExample`,!0),Dn||$(`Examples.SelectExample`,!0),Bn||$(`Examples.SliderExample`,!0),gn||$(`Examples.SlugFieldExample`,!0),Wn||$(`Examples.StringRepeaterExample`,!0),Nn||$(`Examples.SwitchCardExample`,!0),An||$(`Examples.SwitchExample`,!0),Vn||$(`Examples.TagsInputExample`,!0),bn||$(`Examples.TextareaExample`,!0),zn||$(`Examples.TimePickerExample`,!0),Mn||$(`Examples.ToggleFieldExample`,!0),Tn||$(`Examples.WeightInputExample`,!0),$n||$(`Examples.WholeForm`,!0),un||$(`Examples.WithError`,!0),dn||$(`Examples.WithHelperText`,!0),fn||$(`Examples.WorkflowChrome`,!0),(0,q.jsxs)(r,{title:`Forms`,description:`The full form scope — FormField wrapper plus every field component exported from base/forms/fields: text inputs, numeric, selects, toggles, choice groups, date/time, repeaters, localized fields, and uploads.`,layer:`base`,status:`ready`,sourcePath:`src/components/base/forms`,children:[(0,q.jsxs)(a,{title:`Overview`,id:`overview`,children:[(0,q.jsxs)(t.p,{children:[`The `,(0,q.jsx)(t.code,{children:`forms/`}),` folder ships the canonical form-row wrapper (`,(0,q.jsx)(t.code,{children:`FormField`}),` /
|
|
857
|
+
`,(0,q.jsx)(t.code,{children:`ControlledFormField`}),`) plus every input primitive — `,(0,q.jsx)(t.code,{children:`Input`}),`, `,(0,q.jsx)(t.code,{children:`Textarea`}),`,
|
|
858
|
+
`,(0,q.jsx)(t.code,{children:`Select`}),`, numeric/money/dimension/weight inputs, choice groups, date & time
|
|
859
|
+
pickers, sliders, tag/phone/coordinates inputs, three repeater families, and
|
|
860
|
+
the localized field set. Most fields are framework-free and accept
|
|
861
|
+
value/onChange directly. The repeater and localized-* families opt into
|
|
862
|
+
`,(0,q.jsx)(t.code,{children:`react-hook-form`}),` — that coupling is intentional and contained to those files.`]}),(0,q.jsxs)(t.p,{children:[`Pair any field with `,(0,q.jsx)(t.code,{children:`FormField`}),` (or `,(0,q.jsx)(t.code,{children:`ControlledFormField`}),` for RHF) to inherit
|
|
863
|
+
the standard label / required asterisk / error / hint rhythm. Pass `,(0,q.jsx)(t.code,{children:`invalid`}),`
|
|
864
|
+
to the inner field to flip the destructive border + ring.`]}),(0,q.jsxs)(t.p,{children:[`Control height, padding, icon offsets, clear-button size, textarea minimums,
|
|
865
|
+
and action-bar rhythm are tokenized through `,(0,q.jsx)(t.code,{children:`--control-*`}),`, `,(0,q.jsx)(t.code,{children:`--row-*`}),`,
|
|
866
|
+
`,(0,q.jsx)(t.code,{children:`--surface-*`}),`, and the shared `,(0,q.jsx)(t.code,{children:`--space-*`}),` scale. Prefer CSS variables or
|
|
867
|
+
`,(0,q.jsx)(t.code,{children:`UIProvider.forms.defaultControlSize`}),` for global density changes instead of
|
|
868
|
+
pinning `,(0,q.jsx)(t.code,{children:`size`}),` props at every form field.`]})]}),(0,q.jsxs)(a,{title:`FormField wrapper`,id:`form-field`,children:[(0,q.jsx)(u,{name:`BasicField`,source:Q,children:(0,q.jsx)(ln,{})}),(0,q.jsx)(u,{name:`WithError`,source:Q,children:(0,q.jsx)(un,{})}),(0,q.jsx)(u,{name:`WithHelperText`,source:Q,children:(0,q.jsx)(dn,{})}),(0,q.jsx)(u,{name:`WorkflowChrome`,source:Q,children:(0,q.jsx)(fn,{})})]}),(0,q.jsxs)(a,{title:`Consumer usage`,id:`usage`,children:[(0,q.jsx)(t.p,{children:`Consumers import the form row wrappers and field primitives from the exact
|
|
869
|
+
package entrypoint:`}),(0,q.jsx)(t.pre,{children:(0,q.jsx)(t.code,{className:`language-tsx`,children:`import {
|
|
870
|
+
ControlledFormField,
|
|
871
|
+
FormField,
|
|
872
|
+
Input,
|
|
873
|
+
MoneyInput,
|
|
874
|
+
Select,
|
|
875
|
+
Textarea,
|
|
876
|
+
ToggleField,
|
|
877
|
+
} from 'admin-ui-starter-kit/base/forms';
|
|
878
|
+
`})}),(0,q.jsxs)(t.p,{children:[`Use `,(0,q.jsx)(t.code,{children:`FormField`}),` for presentational rows and custom controlled widgets. Use
|
|
879
|
+
`,(0,q.jsx)(t.code,{children:`ControlledFormField`}),` when a field is bound to `,(0,q.jsx)(t.code,{children:`react-hook-form`}),`; its children
|
|
880
|
+
render-prop receives `,(0,q.jsx)(t.code,{children:`(field, error, invalid, fieldState)`}),`. The wrapper already
|
|
881
|
+
renders the merged backend / validation error message, so pass
|
|
882
|
+
`,(0,q.jsx)(t.code,{children:`invalid={invalid}`}),` to the inner field and avoid duplicating error text inside
|
|
883
|
+
the control.`]}),(0,q.jsxs)(t.p,{children:[`Searchable selects live in `,(0,q.jsx)(t.code,{children:`admin-ui-starter-kit/base/combobox`}),`, but they still
|
|
884
|
+
belong inside `,(0,q.jsx)(t.code,{children:`ControlledFormField`}),` when used in forms.`]})]}),(0,q.jsxs)(a,{title:`Choosing field primitives`,id:`choosing`,children:[(0,q.jsxs)(t.ul,{children:[`
|
|
885
|
+
`,(0,q.jsxs)(t.li,{children:[`Use `,(0,q.jsx)(t.code,{children:`Input`}),` and `,(0,q.jsx)(t.code,{children:`Textarea`}),` for ordinary text entry.`]}),`
|
|
886
|
+
`,(0,q.jsxs)(t.li,{children:[`Use `,(0,q.jsx)(t.code,{children:`PasswordInput`}),` for password fields that need a show/hide visibility
|
|
887
|
+
control; it keeps the icon button, aria labels, and input sizing consistent.`]}),`
|
|
888
|
+
`,(0,q.jsxs)(t.li,{children:[`Use `,(0,q.jsx)(t.code,{children:`SlugField`}),` for generated read-only slugs derived from another form
|
|
889
|
+
value. It renders the package `,(0,q.jsx)(t.code,{children:`Input`}),` as read-only and submits the slug value
|
|
890
|
+
when a `,(0,q.jsx)(t.code,{children:`name`}),` is provided.`]}),`
|
|
891
|
+
`,(0,q.jsxs)(t.li,{children:[`Use `,(0,q.jsx)(t.code,{children:`DecimalInput`}),`, `,(0,q.jsx)(t.code,{children:`PercentageInput`}),`, `,(0,q.jsx)(t.code,{children:`MoneyInput`}),`, `,(0,q.jsx)(t.code,{children:`CurrencyInput`}),`,
|
|
892
|
+
`,(0,q.jsx)(t.code,{children:`WeightInput`}),`, and `,(0,q.jsx)(t.code,{children:`DimensionsInput`}),` when the value has numeric semantics.`]}),`
|
|
893
|
+
`,(0,q.jsxs)(t.li,{children:[`Use `,(0,q.jsx)(t.code,{children:`Select`}),` or `,(0,q.jsx)(t.code,{children:`RichSelect`}),` for finite option sets; use
|
|
894
|
+
`,(0,q.jsx)(t.code,{children:`EnhancedCombobox`}),` when options are searchable, async, grouped, or creatable.`]}),`
|
|
895
|
+
`,(0,q.jsxs)(t.li,{children:[`Use `,(0,q.jsx)(t.code,{children:`Switch`}),`, `,(0,q.jsx)(t.code,{children:`Checkbox`}),`, `,(0,q.jsx)(t.code,{children:`ToggleField`}),`, and `,(0,q.jsx)(t.code,{children:`SwitchCard`}),` for boolean state.`]}),`
|
|
896
|
+
`,(0,q.jsxs)(t.li,{children:[`Use `,(0,q.jsx)(t.code,{children:`PillRadioGroup`}),`, `,(0,q.jsx)(t.code,{children:`ListRadioGroup`}),`, `,(0,q.jsx)(t.code,{children:`CardRadioGroup`}),`, and
|
|
897
|
+
`,(0,q.jsx)(t.code,{children:`CardCheckboxGroup`}),` when options need richer scanning affordances.`]}),`
|
|
898
|
+
`,(0,q.jsxs)(t.li,{children:[`Use `,(0,q.jsx)(t.code,{children:`DateTimeInput`}),`, `,(0,q.jsx)(t.code,{children:`TimePicker`}),`, `,(0,q.jsx)(t.code,{children:`TagsInput`}),`, `,(0,q.jsx)(t.code,{children:`PhoneInput`}),`, and
|
|
899
|
+
`,(0,q.jsx)(t.code,{children:`CoordinatesInput`}),` for domain-specific values instead of reassembling those
|
|
900
|
+
behaviours from generic inputs.`]}),`
|
|
901
|
+
`,(0,q.jsxs)(t.li,{children:[`Use the repeater and localized-field families only when the form already uses
|
|
902
|
+
`,(0,q.jsx)(t.code,{children:`react-hook-form`}),`; they intentionally bind to RHF because they manage nested
|
|
903
|
+
arrays and locale-keyed objects.`]}),`
|
|
904
|
+
`]}),(0,q.jsxs)(t.p,{children:[`Do not use `,(0,q.jsx)(t.code,{children:`Item`}),` for form controls. `,(0,q.jsx)(t.code,{children:`Item`}),` is for display/action rows;
|
|
905
|
+
`,(0,q.jsx)(t.code,{children:`FormField`}),` is the canonical label + control + hint/error row.`]})]}),(0,q.jsxs)(a,{title:`Text inputs`,id:`text-inputs`,children:[(0,q.jsx)(u,{name:`InputBasic`,source:Q,children:(0,q.jsx)(pn,{})}),(0,q.jsx)(u,{name:`InputWithIcons`,source:Q,children:(0,q.jsx)(mn,{})}),(0,q.jsx)(u,{name:`PasswordInputExample`,source:Q,children:(0,q.jsx)(hn,{})}),(0,q.jsx)(u,{name:`SlugFieldExample`,source:Q,children:(0,q.jsx)(gn,{})}),(0,q.jsx)(u,{name:`InputWithAddons`,source:Q,children:(0,q.jsx)(_n,{})}),(0,q.jsx)(u,{name:`InputClearableLoading`,source:Q,children:(0,q.jsx)(vn,{})}),(0,q.jsx)(u,{name:`InputCharacterCount`,source:Q,children:(0,q.jsx)(yn,{})}),(0,q.jsx)(u,{name:`TextareaExample`,source:Q,children:(0,q.jsx)(bn,{})})]}),(0,q.jsxs)(a,{title:`Numeric inputs`,id:`numeric`,children:[(0,q.jsx)(u,{name:`DecimalInputExample`,source:Q,children:(0,q.jsx)(xn,{})}),(0,q.jsx)(u,{name:`PercentageInputExample`,source:Q,children:(0,q.jsx)(Sn,{})}),(0,q.jsx)(u,{name:`CurrencyInputExample`,source:Q,children:(0,q.jsx)(Cn,{})}),(0,q.jsx)(u,{name:`MoneyInputExample`,source:Q,children:(0,q.jsx)(wn,{})}),(0,q.jsx)(u,{name:`WeightInputExample`,source:Q,children:(0,q.jsx)(Tn,{})}),(0,q.jsx)(u,{name:`DimensionsInputExample`,source:Q,children:(0,q.jsx)(En,{})})]}),(0,q.jsxs)(a,{title:`Selects`,id:`selects`,children:[(0,q.jsx)(u,{name:`SelectExample`,source:Q,children:(0,q.jsx)(Dn,{})}),(0,q.jsx)(u,{name:`RichSelectExample`,source:Q,children:(0,q.jsx)(On,{})}),(0,q.jsx)(u,{name:`RoundingModeSelectExample`,source:Q,children:(0,q.jsx)(kn,{})})]}),(0,q.jsxs)(a,{title:`Toggles & checkboxes`,id:`toggles`,children:[(0,q.jsx)(u,{name:`SwitchExample`,source:Q,children:(0,q.jsx)(An,{})}),(0,q.jsx)(u,{name:`CheckboxExample`,source:Q,children:(0,q.jsx)(jn,{})}),(0,q.jsx)(u,{name:`ToggleFieldExample`,source:Q,children:(0,q.jsx)(Mn,{})}),(0,q.jsx)(u,{name:`SwitchCardExample`,source:Q,children:(0,q.jsx)(Nn,{})})]}),(0,q.jsxs)(a,{title:`Choice groups`,id:`choice-groups`,children:[(0,q.jsx)(u,{name:`PillRadioGroupExample`,source:Q,children:(0,q.jsx)(Pn,{})}),(0,q.jsx)(u,{name:`ListRadioGroupExample`,source:Q,children:(0,q.jsx)(Fn,{})}),(0,q.jsx)(u,{name:`CardRadioGroupExample`,source:Q,children:(0,q.jsx)(In,{})}),(0,q.jsx)(u,{name:`CardCheckboxGroupExample`,source:Q,children:(0,q.jsx)(Ln,{})})]}),(0,q.jsxs)(a,{title:`Date & time`,id:`date-time`,children:[(0,q.jsx)(u,{name:`DateTimeInputExample`,source:Q,children:(0,q.jsx)(Rn,{})}),(0,q.jsx)(u,{name:`TimePickerExample`,source:Q,children:(0,q.jsx)(zn,{})})]}),(0,q.jsxs)(a,{title:`Other inputs`,id:`other`,children:[(0,q.jsx)(u,{name:`SliderExample`,source:Q,children:(0,q.jsx)(Bn,{})}),(0,q.jsx)(u,{name:`TagsInputExample`,source:Q,children:(0,q.jsx)(Vn,{})}),(0,q.jsx)(u,{name:`PhoneInputExample`,source:Q,children:(0,q.jsx)(Hn,{})}),(0,q.jsx)(u,{name:`CoordinatesInputExample`,source:Q,children:(0,q.jsx)(Un,{})})]}),(0,q.jsxs)(a,{title:`Repeaters`,id:`repeaters`,children:[(0,q.jsxs)(t.p,{children:[`These four primitives — `,(0,q.jsx)(t.code,{children:`StringRepeater`}),`, `,(0,q.jsx)(t.code,{children:`ObjectRepeater`}),`, `,(0,q.jsx)(t.code,{children:`KeyValueEditor`}),`,
|
|
906
|
+
and `,(0,q.jsx)(t.code,{children:`List`}),` — share the underlying `,(0,q.jsx)(t.code,{children:`<Repeater>`}),` primitive (drag-to-reorder,
|
|
907
|
+
add/remove, empty state). They are the only fields here that hard-couple to
|
|
908
|
+
react-hook-form.`]}),(0,q.jsx)(u,{name:`StringRepeaterExample`,source:Q,children:(0,q.jsx)(Wn,{})}),(0,q.jsx)(u,{name:`ObjectRepeaterExample`,source:Q,children:(0,q.jsx)(Gn,{})}),(0,q.jsx)(u,{name:`KeyValueEditorExample`,source:Q,children:(0,q.jsx)(Kn,{})}),(0,q.jsx)(u,{name:`ListExample`,source:Q,children:(0,q.jsx)(qn,{})})]}),(0,q.jsxs)(a,{title:`Localized fields`,id:`localized`,children:[(0,q.jsxs)(t.p,{children:[`The localized field family edits per-locale objects (e.g. `,(0,q.jsx)(t.code,{children:`{ en: '…', bg: '…' }`}),`)
|
|
909
|
+
with a single field surface. Pass `,(0,q.jsx)(t.code,{children:`primaryLocale`}),` / `,(0,q.jsx)(t.code,{children:`secondaryLocale`}),` and the
|
|
910
|
+
currently `,(0,q.jsx)(t.code,{children:`activeLocale`}),`. RHF-coupled.`]}),(0,q.jsx)(u,{name:`LocalizedStringFieldExample`,source:Q,children:(0,q.jsx)(Jn,{})}),(0,q.jsx)(u,{name:`LocalizedObjectFieldExample`,source:Q,children:(0,q.jsx)(Yn,{})}),(0,q.jsx)(u,{name:`LocalizedStringRepeaterExample`,source:Q,children:(0,q.jsx)(Xn,{})})]}),(0,q.jsxs)(a,{title:`Uploads`,id:`uploads`,children:[(0,q.jsxs)(t.p,{children:[`The full upload subsystem (`,(0,q.jsx)(t.code,{children:`UploadTray`}),`, `,(0,q.jsx)(t.code,{children:`MediaGallery`}),`, `,(0,q.jsx)(t.code,{children:`FileUpload`}),`,
|
|
911
|
+
`,(0,q.jsx)(t.code,{children:`ImageUpload`}),`, `,(0,q.jsx)(t.code,{children:`UploadProgressList`}),`) lives on the dedicated
|
|
912
|
+
`,(0,q.jsx)(t.a,{href:`/base/upload-tray`,children:(0,q.jsx)(t.code,{children:`base/upload-tray`})}),` page. The two field-shaped
|
|
913
|
+
upload primitives appear here for completeness.`]}),(0,q.jsx)(u,{name:`AvatarUploadExample`,source:Q,children:(0,q.jsx)(Zn,{})}),(0,q.jsx)(u,{name:`DropzoneExample`,source:Q,children:(0,q.jsx)(Qn,{})})]}),(0,q.jsxs)(a,{title:`Whole form`,id:`whole-form`,children:[(0,q.jsxs)(t.p,{children:[`A realistic product form combining `,(0,q.jsx)(t.code,{children:`Input`}),`, `,(0,q.jsx)(t.code,{children:`MoneyInput`}),`, `,(0,q.jsx)(t.code,{children:`Select`}),`,
|
|
914
|
+
`,(0,q.jsx)(t.code,{children:`Textarea`}),`, and `,(0,q.jsx)(t.code,{children:`ToggleField`}),` behind `,(0,q.jsx)(t.code,{children:`ControlledFormField`}),` and
|
|
915
|
+
`,(0,q.jsx)(t.code,{children:`react-hook-form`}),`.`]}),(0,q.jsx)(u,{name:`WholeForm`,source:Q,children:(0,q.jsx)($n,{})})]}),(0,q.jsxs)(a,{title:`API`,id:`api`,children:[(0,q.jsx)(t.h4,{children:`FormField`}),(0,q.jsx)(L,{component:`FormField`}),(0,q.jsx)(t.h4,{children:`ControlledFormField`}),(0,q.jsx)(L,{component:`ControlledFormField`}),(0,q.jsx)(t.h4,{children:`Workflow chrome`}),(0,q.jsx)(L,{component:`FormSection`}),(0,q.jsx)(L,{component:`FormActionsBar`}),(0,q.jsx)(L,{component:`ErrorSummary`}),(0,q.jsx)(L,{component:`DirtyStateBanner`}),(0,q.jsx)(L,{component:`SubmitStateButton`}),(0,q.jsx)(t.h4,{children:`Text fields`}),(0,q.jsx)(L,{component:`Input`}),(0,q.jsx)(L,{component:`PasswordInput`}),(0,q.jsx)(L,{component:`SlugField`}),(0,q.jsx)(L,{component:`Textarea`}),(0,q.jsx)(t.h4,{children:`Select fields`}),(0,q.jsx)(L,{component:`Select`}),(0,q.jsx)(L,{component:`RichSelect`}),(0,q.jsx)(t.h4,{children:`Numeric fields`}),(0,q.jsx)(L,{component:`DecimalInput`}),(0,q.jsx)(L,{component:`PercentageInput`}),(0,q.jsx)(L,{component:`MoneyInput`}),(0,q.jsx)(L,{component:`CurrencyInput`}),(0,q.jsx)(t.h4,{children:`Boolean fields`}),(0,q.jsx)(L,{component:`Switch`}),(0,q.jsx)(L,{component:`Checkbox`}),(0,q.jsx)(L,{component:`ToggleField`}),(0,q.jsx)(t.h4,{children:`Choice groups`}),(0,q.jsx)(L,{component:`PillRadioGroup`}),(0,q.jsx)(L,{component:`ListRadioGroup`}),(0,q.jsx)(L,{component:`CardRadioGroup`}),(0,q.jsx)(L,{component:`CardCheckboxGroup`}),(0,q.jsx)(t.h4,{children:`Domain fields`}),(0,q.jsx)(L,{component:`DateTimeInput`}),(0,q.jsx)(L,{component:`TagsInput`}),(0,q.jsx)(L,{component:`PhoneInput`})]})]})}function tr(e={}){let{wrapper:t}=e.components||{};return t?(0,q.jsx)(t,{...e,children:(0,q.jsx)(er,{...e})}):er(e)}function $(e,t){throw Error(`Expected `+(t?`component`:`object`)+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}export{tr as default};
|