@od-oneapp/uni-ui 2026.1.1301
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/README.md +753 -0
- package/dist/actions-C-SEx2GS.mjs +180 -0
- package/dist/actions-C-SEx2GS.mjs.map +1 -0
- package/dist/actions-Ch7h6cYC.d.mts +50 -0
- package/dist/actions-Cnupw96c.d.mts +50 -0
- package/dist/alert-BVUF7Xzb.d.mts +22 -0
- package/dist/alert-BuPyEXF-.mjs +206 -0
- package/dist/alert-BuPyEXF-.mjs.map +1 -0
- package/dist/alert-CfjDnZpm.d.mts +22 -0
- package/dist/animated-size-container-DSKNt1Cn.mjs +106 -0
- package/dist/animated-size-container-DSKNt1Cn.mjs.map +1 -0
- package/dist/areas-CtE8w69A.mjs +144 -0
- package/dist/areas-CtE8w69A.mjs.map +1 -0
- package/dist/areas-DtGnjGuX.d.mts +22 -0
- package/dist/auth-nav-user-CRxDpY_7.d.mts +30 -0
- package/dist/auth-nav-user-DPFv8dTp.mjs +181 -0
- package/dist/auth-nav-user-DPFv8dTp.mjs.map +1 -0
- package/dist/avatar-DjiX7nT8.mjs +202 -0
- package/dist/avatar-DjiX7nT8.mjs.map +1 -0
- package/dist/badge-CGTN2VG0.d.mts +25 -0
- package/dist/badge-CVoIuyYX.mjs +242 -0
- package/dist/badge-CVoIuyYX.mjs.map +1 -0
- package/dist/badge-DH0tY3wJ.d.mts +25 -0
- package/dist/bars-CWTAPKgm.d.mts +20 -0
- package/dist/bars-DOLvecrq.mjs +125 -0
- package/dist/bars-DOLvecrq.mjs.map +1 -0
- package/dist/branch-BEl6eS77.mjs +323 -0
- package/dist/branch-BEl6eS77.mjs.map +1 -0
- package/dist/branch-BtdY_TLE.d.mts +58 -0
- package/dist/branch-Duq6cW0s.d.mts +58 -0
- package/dist/button-BAdq0gBE.d.mts +31 -0
- package/dist/button-DVOrrZLw.mjs +632 -0
- package/dist/button-DVOrrZLw.mjs.map +1 -0
- package/dist/button-DnjeAftr.d.mts +31 -0
- package/dist/carousel-D-J1Zgn1.d.mts +49 -0
- package/dist/carousel-Dx5AOW5k.mjs +345 -0
- package/dist/carousel-Dx5AOW5k.mjs.map +1 -0
- package/dist/carousel-sY0y1-or.d.mts +49 -0
- package/dist/chart-context-CLV35VLJ.mjs +27 -0
- package/dist/chart-context-CLV35VLJ.mjs.map +1 -0
- package/dist/checkbox-wiF-DV6q.mjs +194 -0
- package/dist/checkbox-wiF-DV6q.mjs.map +1 -0
- package/dist/code-block-Cg_XtPH7.mjs +243 -0
- package/dist/code-block-Cg_XtPH7.mjs.map +1 -0
- package/dist/collapsible-CRgTpRfr.d.mts +46 -0
- package/dist/collapsible-CXy4T04n.mjs +239 -0
- package/dist/collapsible-CXy4T04n.mjs.map +1 -0
- package/dist/combobox-DSrxSkSl.d.mts +79 -0
- package/dist/combobox-DYFh2eZf.d.mts +79 -0
- package/dist/combobox-uEKksQFR.mjs +410 -0
- package/dist/combobox-uEKksQFR.mjs.map +1 -0
- package/dist/command-xK3X_A9t.mjs +206 -0
- package/dist/command-xK3X_A9t.mjs.map +1 -0
- package/dist/components-ai-elements/actions/index.d.mts +5 -0
- package/dist/components-ai-elements/actions/index.mjs +4 -0
- package/dist/components-ai-elements/agent-step/index.d.mts +32 -0
- package/dist/components-ai-elements/agent-step/index.mjs +183 -0
- package/dist/components-ai-elements/agent-step/index.mjs.map +1 -0
- package/dist/components-ai-elements/artifact/index.d.mts +81 -0
- package/dist/components-ai-elements/artifact/index.mjs +153 -0
- package/dist/components-ai-elements/artifact/index.mjs.map +1 -0
- package/dist/components-ai-elements/branch/index.d.mts +5 -0
- package/dist/components-ai-elements/branch/index.mjs +4 -0
- package/dist/components-ai-elements/chain-of-thought/index.d.mts +90 -0
- package/dist/components-ai-elements/chain-of-thought/index.mjs +338 -0
- package/dist/components-ai-elements/chain-of-thought/index.mjs.map +1 -0
- package/dist/components-ai-elements/chat-input/index.d.mts +21 -0
- package/dist/components-ai-elements/chat-input/index.mjs +137 -0
- package/dist/components-ai-elements/chat-input/index.mjs.map +1 -0
- package/dist/components-ai-elements/checkpoint/index.d.mts +46 -0
- package/dist/components-ai-elements/checkpoint/index.mjs +161 -0
- package/dist/components-ai-elements/checkpoint/index.mjs.map +1 -0
- package/dist/components-ai-elements/code-block/index.d.mts +39 -0
- package/dist/components-ai-elements/code-block/index.mjs +4 -0
- package/dist/components-ai-elements/confirmation/index.d.mts +96 -0
- package/dist/components-ai-elements/confirmation/index.mjs +295 -0
- package/dist/components-ai-elements/confirmation/index.mjs.map +1 -0
- package/dist/components-ai-elements/context/index.d.mts +83 -0
- package/dist/components-ai-elements/context/index.mjs +456 -0
- package/dist/components-ai-elements/context/index.mjs.map +1 -0
- package/dist/components-ai-elements/conversation/index.d.mts +46 -0
- package/dist/components-ai-elements/conversation/index.mjs +180 -0
- package/dist/components-ai-elements/conversation/index.mjs.map +1 -0
- package/dist/components-ai-elements/custom/index.d.mts +1142 -0
- package/dist/components-ai-elements/custom/index.mjs +5578 -0
- package/dist/components-ai-elements/custom/index.mjs.map +1 -0
- package/dist/components-ai-elements/generative-ui/index.d.mts +4 -0
- package/dist/components-ai-elements/generative-ui/index.mjs +4 -0
- package/dist/components-ai-elements/image/index.d.mts +20 -0
- package/dist/components-ai-elements/image/index.mjs +121 -0
- package/dist/components-ai-elements/image/index.mjs.map +1 -0
- package/dist/components-ai-elements/inline-citation/index.d.mts +94 -0
- package/dist/components-ai-elements/inline-citation/index.mjs +371 -0
- package/dist/components-ai-elements/inline-citation/index.mjs.map +1 -0
- package/dist/components-ai-elements/loader/index.d.mts +24 -0
- package/dist/components-ai-elements/loader/index.mjs +4 -0
- package/dist/components-ai-elements/message/index.d.mts +153 -0
- package/dist/components-ai-elements/message/index.mjs +597 -0
- package/dist/components-ai-elements/message/index.mjs.map +1 -0
- package/dist/components-ai-elements/model-selector/index.d.mts +72 -0
- package/dist/components-ai-elements/model-selector/index.mjs +224 -0
- package/dist/components-ai-elements/model-selector/index.mjs.map +1 -0
- package/dist/components-ai-elements/open-in-chat/index.d.mts +64 -0
- package/dist/components-ai-elements/open-in-chat/index.mjs +502 -0
- package/dist/components-ai-elements/open-in-chat/index.mjs.map +1 -0
- package/dist/components-ai-elements/plan/index.d.mts +71 -0
- package/dist/components-ai-elements/plan/index.mjs +219 -0
- package/dist/components-ai-elements/plan/index.mjs.map +1 -0
- package/dist/components-ai-elements/prompt-char-counter/index.d.mts +19 -0
- package/dist/components-ai-elements/prompt-char-counter/index.mjs +116 -0
- package/dist/components-ai-elements/prompt-char-counter/index.mjs.map +1 -0
- package/dist/components-ai-elements/prompt-input/index.d.mts +386 -0
- package/dist/components-ai-elements/prompt-input/index.mjs +4 -0
- package/dist/components-ai-elements/queue/index.d.mts +121 -0
- package/dist/components-ai-elements/queue/index.mjs +284 -0
- package/dist/components-ai-elements/queue/index.mjs.map +1 -0
- package/dist/components-ai-elements/reasoning/index.d.mts +42 -0
- package/dist/components-ai-elements/reasoning/index.mjs +241 -0
- package/dist/components-ai-elements/reasoning/index.mjs.map +1 -0
- package/dist/components-ai-elements/shimmer/index.d.mts +23 -0
- package/dist/components-ai-elements/shimmer/index.mjs +4 -0
- package/dist/components-ai-elements/sources/index.d.mts +56 -0
- package/dist/components-ai-elements/sources/index.mjs +211 -0
- package/dist/components-ai-elements/sources/index.mjs.map +1 -0
- package/dist/components-ai-elements/suggestion/index.d.mts +40 -0
- package/dist/components-ai-elements/suggestion/index.mjs +145 -0
- package/dist/components-ai-elements/suggestion/index.mjs.map +1 -0
- package/dist/components-ai-elements/task/index.d.mts +70 -0
- package/dist/components-ai-elements/task/index.mjs +218 -0
- package/dist/components-ai-elements/task/index.mjs.map +1 -0
- package/dist/components-ai-elements/tool/index.d.mts +78 -0
- package/dist/components-ai-elements/tool/index.mjs +370 -0
- package/dist/components-ai-elements/tool/index.mjs.map +1 -0
- package/dist/components-ai-elements/tool-approval/index.d.mts +20 -0
- package/dist/components-ai-elements/tool-approval/index.mjs +252 -0
- package/dist/components-ai-elements/tool-approval/index.mjs.map +1 -0
- package/dist/components-ai-elements/web-preview/index.d.mts +136 -0
- package/dist/components-ai-elements/web-preview/index.mjs +773 -0
- package/dist/components-ai-elements/web-preview/index.mjs.map +1 -0
- package/dist/components-ai-elements-constants.d.mts +207 -0
- package/dist/components-ai-elements-constants.mjs +301 -0
- package/dist/components-ai-elements-constants.mjs.map +1 -0
- package/dist/components-ai-workflows/canvas/index.d.mts +22 -0
- package/dist/components-ai-workflows/canvas/index.mjs +135 -0
- package/dist/components-ai-workflows/canvas/index.mjs.map +1 -0
- package/dist/components-ai-workflows/connection/index.d.mts +22 -0
- package/dist/components-ai-workflows/connection/index.mjs +4 -0
- package/dist/components-ai-workflows/controls/index.d.mts +14 -0
- package/dist/components-ai-workflows/controls/index.mjs +89 -0
- package/dist/components-ai-workflows/controls/index.mjs.map +1 -0
- package/dist/components-ai-workflows/edge/index.d.mts +20 -0
- package/dist/components-ai-workflows/edge/index.mjs +102 -0
- package/dist/components-ai-workflows/edge/index.mjs.map +1 -0
- package/dist/components-ai-workflows/node/index.d.mts +3 -0
- package/dist/components-ai-workflows/node/index.mjs +4 -0
- package/dist/components-ai-workflows/panel/index.d.mts +15 -0
- package/dist/components-ai-workflows/panel/index.mjs +89 -0
- package/dist/components-ai-workflows/panel/index.mjs.map +1 -0
- package/dist/components-ai-workflows/resizable-node/index.d.mts +30 -0
- package/dist/components-ai-workflows/resizable-node/index.mjs +164 -0
- package/dist/components-ai-workflows/resizable-node/index.mjs.map +1 -0
- package/dist/components-ai-workflows/toolbar/index.d.mts +19 -0
- package/dist/components-ai-workflows/toolbar/index.mjs +91 -0
- package/dist/components-ai-workflows/toolbar/index.mjs.map +1 -0
- package/dist/components-auth-client-nav-user.d.mts +3 -0
- package/dist/components-auth-client-nav-user.mjs +4 -0
- package/dist/components-auth-client-providers.d.mts +13 -0
- package/dist/components-auth-client-providers.mjs +89 -0
- package/dist/components-auth-client-providers.mjs.map +1 -0
- package/dist/components-auth-client.d.mts +5 -0
- package/dist/components-auth-client.mjs +5 -0
- package/dist/components-auth-server.d.mts +1878 -0
- package/dist/components-auth-server.mjs +32769 -0
- package/dist/components-auth-server.mjs.map +1 -0
- package/dist/components-auth.d.mts +5 -0
- package/dist/components-auth.mjs +5 -0
- package/dist/components-charts/areas/index.d.mts +3 -0
- package/dist/components-charts/areas/index.mjs +4 -0
- package/dist/components-charts/bars/index.d.mts +3 -0
- package/dist/components-charts/bars/index.mjs +4 -0
- package/dist/components-charts/funnel-chart/index.d.mts +3 -0
- package/dist/components-charts/funnel-chart/index.mjs +4 -0
- package/dist/components-charts/mini-area-chart/index.d.mts +3 -0
- package/dist/components-charts/mini-area-chart/index.mjs +4 -0
- package/dist/components-charts/time-series-chart/index.d.mts +3 -0
- package/dist/components-charts/time-series-chart/index.mjs +4 -0
- package/dist/components-charts/tooltip-sync/index.d.mts +3 -0
- package/dist/components-charts/tooltip-sync/index.mjs +4 -0
- package/dist/components-charts/x-axis/index.d.mts +3 -0
- package/dist/components-charts/x-axis/index.mjs +4 -0
- package/dist/components-charts/y-axis/index.d.mts +3 -0
- package/dist/components-charts/y-axis/index.mjs +4 -0
- package/dist/components-elements-accordion.d.mts +59 -0
- package/dist/components-elements-accordion.mjs +275 -0
- package/dist/components-elements-accordion.mjs.map +1 -0
- package/dist/components-elements-alert.d.mts +3 -0
- package/dist/components-elements-alert.mjs +4 -0
- package/dist/components-elements-avatar.d.mts +24 -0
- package/dist/components-elements-avatar.mjs +4 -0
- package/dist/components-elements-badge.d.mts +4 -0
- package/dist/components-elements-badge.mjs +4 -0
- package/dist/components-elements-button.d.mts +4 -0
- package/dist/components-elements-button.mjs +4 -0
- package/dist/components-elements-card.d.mts +3 -0
- package/dist/components-elements-card.mjs +4 -0
- package/dist/components-elements-carousel.d.mts +5 -0
- package/dist/components-elements-carousel.mjs +4 -0
- package/dist/components-elements-chart.d.mts +24 -0
- package/dist/components-elements-chart.mjs +226 -0
- package/dist/components-elements-chart.mjs.map +1 -0
- package/dist/components-elements-collapsible.d.mts +3 -0
- package/dist/components-elements-collapsible.mjs +4 -0
- package/dist/components-elements-dialog.d.mts +3 -0
- package/dist/components-elements-dialog.mjs +4 -0
- package/dist/components-elements-dropdown-menu.d.mts +3 -0
- package/dist/components-elements-dropdown-menu.mjs +4 -0
- package/dist/components-elements-dynamic-breadcrumb.d.mts +16 -0
- package/dist/components-elements-dynamic-breadcrumb.mjs +4 -0
- package/dist/components-elements-empty.d.mts +18 -0
- package/dist/components-elements-empty.mjs +199 -0
- package/dist/components-elements-empty.mjs.map +1 -0
- package/dist/components-elements-hover-card.d.mts +3 -0
- package/dist/components-elements-hover-card.mjs +4 -0
- package/dist/components-elements-loading-dots.d.mts +3 -0
- package/dist/components-elements-loading-dots.mjs +4 -0
- package/dist/components-elements-pagination-controls.d.mts +28 -0
- package/dist/components-elements-pagination-controls.mjs +4 -0
- package/dist/components-elements-progress.d.mts +28 -0
- package/dist/components-elements-progress.mjs +4 -0
- package/dist/components-elements-resizable.d.mts +31 -0
- package/dist/components-elements-resizable.mjs +4 -0
- package/dist/components-elements-scroll-area.d.mts +3 -0
- package/dist/components-elements-scroll-area.mjs +4 -0
- package/dist/components-elements-separator.d.mts +3 -0
- package/dist/components-elements-separator.mjs +4 -0
- package/dist/components-elements-skeleton.d.mts +3 -0
- package/dist/components-elements-skeleton.mjs +4 -0
- package/dist/components-elements-status-badge.d.mts +22 -0
- package/dist/components-elements-status-badge.mjs +174 -0
- package/dist/components-elements-status-badge.mjs.map +1 -0
- package/dist/components-elements-table.d.mts +44 -0
- package/dist/components-elements-table.mjs +4 -0
- package/dist/components-elements-tabs.d.mts +43 -0
- package/dist/components-elements-tabs.mjs +435 -0
- package/dist/components-elements-tabs.mjs.map +1 -0
- package/dist/components-elements-tooltip.d.mts +3 -0
- package/dist/components-elements-tooltip.mjs +4 -0
- package/dist/components-filter/filter-list/index.d.mts +4 -0
- package/dist/components-filter/filter-list/index.mjs +4 -0
- package/dist/components-filter/filter-select/index.d.mts +4 -0
- package/dist/components-filter/filter-select/index.mjs +4 -0
- package/dist/components-forms/checkbox/index.d.mts +27 -0
- package/dist/components-forms/checkbox/index.mjs +4 -0
- package/dist/components-forms/combobox/index.d.mts +5 -0
- package/dist/components-forms/combobox/index.mjs +4 -0
- package/dist/components-forms/date-picker/index.d.mts +3 -0
- package/dist/components-forms/date-picker/index.mjs +4 -0
- package/dist/components-forms/file-upload/index.d.mts +49 -0
- package/dist/components-forms/file-upload/index.mjs +323 -0
- package/dist/components-forms/file-upload/index.mjs.map +1 -0
- package/dist/components-forms/input/index.d.mts +3 -0
- package/dist/components-forms/input/index.mjs +4 -0
- package/dist/components-forms/input-group/index.d.mts +5 -0
- package/dist/components-forms/input-group/index.mjs +4 -0
- package/dist/components-forms/label/index.d.mts +23 -0
- package/dist/components-forms/label/index.mjs +4 -0
- package/dist/components-forms/radio-group/index.d.mts +29 -0
- package/dist/components-forms/radio-group/index.mjs +215 -0
- package/dist/components-forms/radio-group/index.mjs.map +1 -0
- package/dist/components-forms/select/index.d.mts +3 -0
- package/dist/components-forms/select/index.mjs +4 -0
- package/dist/components-forms/switch/index.d.mts +30 -0
- package/dist/components-forms/switch/index.mjs +4 -0
- package/dist/components-forms/textarea/index.d.mts +19 -0
- package/dist/components-forms/textarea/index.mjs +4 -0
- package/dist/components-layout/app-sidebar/index.d.mts +47 -0
- package/dist/components-layout/app-sidebar/index.mjs +340 -0
- package/dist/components-layout/app-sidebar/index.mjs.map +1 -0
- package/dist/components-layout/artifact-panel/index.d.mts +3 -0
- package/dist/components-layout/artifact-panel/index.mjs +4 -0
- package/dist/components-layout/content-sidebar/index.d.mts +89 -0
- package/dist/components-layout/content-sidebar/index.mjs +202 -0
- package/dist/components-layout/content-sidebar/index.mjs.map +1 -0
- package/dist/components-layout/nav-app-switcher/index.d.mts +3 -0
- package/dist/components-layout/nav-app-switcher/index.mjs +4 -0
- package/dist/components-layout/nav-main/index.d.mts +30 -0
- package/dist/components-layout/nav-main/index.mjs +4 -0
- package/dist/components-layout/nav-projects/index.d.mts +18 -0
- package/dist/components-layout/nav-projects/index.mjs +153 -0
- package/dist/components-layout/nav-projects/index.mjs.map +1 -0
- package/dist/components-layout/nav-secondary/index.d.mts +31 -0
- package/dist/components-layout/nav-secondary/index.mjs +4 -0
- package/dist/components-layout/nav-user/index.d.mts +17 -0
- package/dist/components-layout/nav-user/index.mjs +4 -0
- package/dist/components-layout/oneapp/index.mjs +4 -0
- package/dist/components-layout/sidebar/index.d.mts +8 -0
- package/dist/components-layout/sidebar/index.mjs +4 -0
- package/dist/components-layout/sidebar-inset-header-portal/index.d.mts +3 -0
- package/dist/components-layout/sidebar-inset-header-portal/index.mjs +4 -0
- package/dist/components-layout/sidebar-slots/index.d.mts +3 -0
- package/dist/components-layout/sidebar-slots/index.mjs +4 -0
- package/dist/components-layout/theme-provider/index.d.mts +15 -0
- package/dist/components-layout/theme-provider/index.mjs +4 -0
- package/dist/components-layout-app-shell.d.mts +83 -0
- package/dist/components-layout-app-shell.mjs +185 -0
- package/dist/components-layout-app-shell.mjs.map +1 -0
- package/dist/components-layout-oneapp.d.mts +84 -0
- package/dist/components-layout-oneapp.mjs +4 -0
- package/dist/components-overlays-confirm-dialog.d.mts +38 -0
- package/dist/components-overlays-confirm-dialog.mjs +145 -0
- package/dist/components-overlays-confirm-dialog.mjs.map +1 -0
- package/dist/components-overlays-toast.d.mts +16 -0
- package/dist/components-overlays-toast.mjs +127 -0
- package/dist/components-overlays-toast.mjs.map +1 -0
- package/dist/connection-D_kWZtAX.mjs +105 -0
- package/dist/connection-D_kWZtAX.mjs.map +1 -0
- package/dist/dark-mode-B4L-MZr7.mjs +288 -0
- package/dist/dark-mode-B4L-MZr7.mjs.map +1 -0
- package/dist/dark-mode-CYb7lJ6G.d.mts +191 -0
- package/dist/date-range-picker-CdemRFs_.mjs +676 -0
- package/dist/date-range-picker-CdemRFs_.mjs.map +1 -0
- package/dist/dialog-Di5QhIga.d.mts +31 -0
- package/dist/dialog-DuluSpxA.mjs +293 -0
- package/dist/dialog-DuluSpxA.mjs.map +1 -0
- package/dist/dropdown-menu-91g1g_Cl.mjs +379 -0
- package/dist/dropdown-menu-91g1g_Cl.mjs.map +1 -0
- package/dist/dropdown-menu-CwRZCnNs.d.mts +91 -0
- package/dist/dynamic-breadcrumb-33t_hdEI.mjs +385 -0
- package/dist/dynamic-breadcrumb-33t_hdEI.mjs.map +1 -0
- package/dist/error-boundary-Ggc5btkU.mjs +297 -0
- package/dist/error-boundary-Ggc5btkU.mjs.map +1 -0
- package/dist/filter-list-BMT7Nrli.d.mts +27 -0
- package/dist/filter-list-B_9aV5Lp.mjs +279 -0
- package/dist/filter-list-B_9aV5Lp.mjs.map +1 -0
- package/dist/filter-select-COLb1S5z.d.mts +34 -0
- package/dist/filter-select-CYfBhJ_E.mjs +341 -0
- package/dist/filter-select-CYfBhJ_E.mjs.map +1 -0
- package/dist/fonts.d.mts +22 -0
- package/dist/fonts.mjs +104 -0
- package/dist/fonts.mjs.map +1 -0
- package/dist/funnel-chart-CUpUr1pl.d.mts +22 -0
- package/dist/funnel-chart-fdwagDvc.mjs +318 -0
- package/dist/funnel-chart-fdwagDvc.mjs.map +1 -0
- package/dist/generative-ui-renderer-D0ZgNRZF.mjs +484 -0
- package/dist/generative-ui-renderer-D0ZgNRZF.mjs.map +1 -0
- package/dist/generative-ui-renderer-D69qYK0D.d.mts +32 -0
- package/dist/hooks/index.d.mts +5 -0
- package/dist/hooks/index.mjs +6 -0
- package/dist/hooks/use-mobile.d.mts +6 -0
- package/dist/hooks/use-mobile.mjs +45 -0
- package/dist/hooks/use-mobile.mjs.map +1 -0
- package/dist/hooks/use-responsive.d.mts +13 -0
- package/dist/hooks/use-responsive.mjs +50 -0
- package/dist/hooks/use-responsive.mjs.map +1 -0
- package/dist/hooks/use-scroll-progress.d.mts +17 -0
- package/dist/hooks/use-scroll-progress.mjs +62 -0
- package/dist/hooks/use-scroll-progress.mjs.map +1 -0
- package/dist/hooks/use-toast.d.mts +21 -0
- package/dist/hooks/use-toast.mjs +40 -0
- package/dist/hooks/use-toast.mjs.map +1 -0
- package/dist/hover-card-BqEpbXMp.d.mts +31 -0
- package/dist/hover-card-nn4fjJOh.mjs +161 -0
- package/dist/hover-card-nn4fjJOh.mjs.map +1 -0
- package/dist/index-AwyfWaOP.d.mts +60 -0
- package/dist/index.d.mts +503 -0
- package/dist/index.mjs +2158 -0
- package/dist/index.mjs.map +1 -0
- package/dist/input-CT1C9DMs.d.mts +19 -0
- package/dist/input-D0T5jbR6.d.mts +19 -0
- package/dist/input-DhpkXN3J.mjs +176 -0
- package/dist/input-DhpkXN3J.mjs.map +1 -0
- package/dist/input-group-CTBpkGI9.mjs +231 -0
- package/dist/input-group-CTBpkGI9.mjs.map +1 -0
- package/dist/input-group-DcDPUaQ3.d.mts +20 -0
- package/dist/input-group-VSZJM_on.d.mts +20 -0
- package/dist/integrations-COjiOhkd.d.mts +60 -0
- package/dist/integrations-Doz6nfxm.d.mts +60 -0
- package/dist/integrations-lBG309ZD.mjs +471 -0
- package/dist/integrations-lBG309ZD.mjs.map +1 -0
- package/dist/label-DnUThLUR.mjs +148 -0
- package/dist/label-DnUThLUR.mjs.map +1 -0
- package/dist/lib/export-csv.d.mts +12 -0
- package/dist/lib/export-csv.mjs +63 -0
- package/dist/lib/export-csv.mjs.map +1 -0
- package/dist/lib/index.d.mts +6 -0
- package/dist/lib/index.mjs +7 -0
- package/dist/lib/resize-image.d.mts +11 -0
- package/dist/lib/resize-image.mjs +66 -0
- package/dist/lib/resize-image.mjs.map +1 -0
- package/dist/lib/stable-sort.d.mts +6 -0
- package/dist/lib/stable-sort.mjs +33 -0
- package/dist/lib/stable-sort.mjs.map +1 -0
- package/dist/lib/utils.d.mts +8 -0
- package/dist/lib/utils.mjs +4 -0
- package/dist/lib-utils.mjs +4 -0
- package/dist/loader-B2SF0yPJ.mjs +168 -0
- package/dist/loader-B2SF0yPJ.mjs.map +1 -0
- package/dist/loading-dots-DJfxDgv3.mjs +119 -0
- package/dist/loading-dots-DJfxDgv3.mjs.map +1 -0
- package/dist/loading-dots-DvR1lwC-.d.mts +11 -0
- package/dist/mini-area-chart-GIUU-ZLo.d.mts +30 -0
- package/dist/mini-area-chart-s5ItHBk8.mjs +225 -0
- package/dist/mini-area-chart-s5ItHBk8.mjs.map +1 -0
- package/dist/motion-DLlwbMJ0.d.mts +33 -0
- package/dist/motion-zelaDelJ.mjs +47 -0
- package/dist/motion-zelaDelJ.mjs.map +1 -0
- package/dist/nav-app-switcher-B1NTlYrm.d.mts +43 -0
- package/dist/nav-app-switcher-V7aJAC18.mjs +235 -0
- package/dist/nav-app-switcher-V7aJAC18.mjs.map +1 -0
- package/dist/nav-main-BscfzNoi.mjs +105 -0
- package/dist/nav-main-BscfzNoi.mjs.map +1 -0
- package/dist/nav-secondary-t-xeA0I4.mjs +51 -0
- package/dist/nav-secondary-t-xeA0I4.mjs.map +1 -0
- package/dist/nav-user-A4YHm3-O.mjs +193 -0
- package/dist/nav-user-A4YHm3-O.mjs.map +1 -0
- package/dist/node-BKXOPjw9.d.mts +100 -0
- package/dist/node-CdmDD4k-.mjs +116 -0
- package/dist/node-CdmDD4k-.mjs.map +1 -0
- package/dist/oneapp-CfwhNatF.mjs +322 -0
- package/dist/oneapp-CfwhNatF.mjs.map +1 -0
- package/dist/pagination-controls-CE3-eCxI.mjs +135 -0
- package/dist/pagination-controls-CE3-eCxI.mjs.map +1 -0
- package/dist/popover-DmWxl2lW.mjs +198 -0
- package/dist/popover-DmWxl2lW.mjs.map +1 -0
- package/dist/preview.d.mts +6 -0
- package/dist/progress-BWxdthl4.mjs +230 -0
- package/dist/progress-BWxdthl4.mjs.map +1 -0
- package/dist/prompt-input-SFJ9_lNw.mjs +1149 -0
- package/dist/prompt-input-SFJ9_lNw.mjs.map +1 -0
- package/dist/resizable--DaTse0W.mjs +124 -0
- package/dist/resizable--DaTse0W.mjs.map +1 -0
- package/dist/scroll-area-Bxi-Edjc.mjs +139 -0
- package/dist/scroll-area-Bxi-Edjc.mjs.map +1 -0
- package/dist/scroll-area-CDRGG59G.d.mts +19 -0
- package/dist/select-DI6PzHN3.mjs +411 -0
- package/dist/select-DI6PzHN3.mjs.map +1 -0
- package/dist/select-csqviwUw.d.mts +44 -0
- package/dist/separator-BG9BqZqg.d.mts +20 -0
- package/dist/separator-CNQqqwfO.d.mts +20 -0
- package/dist/separator-veJJBul5.mjs +118 -0
- package/dist/separator-veJJBul5.mjs.map +1 -0
- package/dist/shared-BqVcofZN.d.mts +91 -0
- package/dist/shared-auth.d.mts +5 -0
- package/dist/shared-auth.mjs +6 -0
- package/dist/shimmer-BLRAD4VL.mjs +102 -0
- package/dist/shimmer-BLRAD4VL.mjs.map +1 -0
- package/dist/sidebar-CPteoqnB.d.mts +163 -0
- package/dist/sidebar-CdWE7H3R.mjs +814 -0
- package/dist/sidebar-CdWE7H3R.mjs.map +1 -0
- package/dist/sidebar-DYgXCHqQ.d.mts +163 -0
- package/dist/sidebar-inset-header-portal-CIRN-lKw.mjs +153 -0
- package/dist/sidebar-inset-header-portal-CIRN-lKw.mjs.map +1 -0
- package/dist/sidebar-inset-header-portal-DjfK7xCt.d.mts +24 -0
- package/dist/sidebar-slots-DNCEnx5L.mjs +135 -0
- package/dist/sidebar-slots-DNCEnx5L.mjs.map +1 -0
- package/dist/sidebar-slots-OqNmzlIk.d.mts +47 -0
- package/dist/skeleton-ByXUFNDF.d.mts +35 -0
- package/dist/skeleton-aXwA3YID.mjs +211 -0
- package/dist/skeleton-aXwA3YID.mjs.map +1 -0
- package/dist/sources.css +16 -0
- package/dist/storybook-preview.mjs +184 -0
- package/dist/storybook-preview.mjs.map +1 -0
- package/dist/styles/colors.css +166 -0
- package/dist/styles/index.css +2 -0
- package/dist/styles/mantine.css +1024 -0
- package/dist/styles/spacing.css +62 -0
- package/dist/styles/theme.css +1687 -0
- package/dist/styles/typography.css +59 -0
- package/dist/styles/variables.css +998 -0
- package/dist/styles.css +1 -0
- package/dist/switch-BFct1r4a.mjs +223 -0
- package/dist/switch-BFct1r4a.mjs.map +1 -0
- package/dist/table-DNkLM1TB.mjs +261 -0
- package/dist/table-DNkLM1TB.mjs.map +1 -0
- package/dist/textarea-MpLFc9sB.mjs +173 -0
- package/dist/textarea-MpLFc9sB.mjs.map +1 -0
- package/dist/theme-provider-4D34sBmG.mjs +83 -0
- package/dist/theme-provider-4D34sBmG.mjs.map +1 -0
- package/dist/time-series-chart-B66xH88w.d.mts +69 -0
- package/dist/time-series-chart-DxnknDhW.mjs +400 -0
- package/dist/time-series-chart-DxnknDhW.mjs.map +1 -0
- package/dist/tokens/tokens.dtcg.json +4353 -0
- package/dist/tokens/tokens.json +895 -0
- package/dist/tokens-mantine-types.d.mts +3 -0
- package/dist/tokens-mantine-types.mjs +4 -0
- package/dist/tokens.css +2 -0
- package/dist/tokens.d.mts +9398 -0
- package/dist/tokens.mjs +9311 -0
- package/dist/tokens.mjs.map +1 -0
- package/dist/tooltip-B8_zKnHC.mjs +301 -0
- package/dist/tooltip-B8_zKnHC.mjs.map +1 -0
- package/dist/tooltip-BA27ygge.d.mts +44 -0
- package/dist/tooltip-FqB3srL-.d.mts +44 -0
- package/dist/tooltip-sync-Ax1GmpjC.d.mts +17 -0
- package/dist/tooltip-sync-DzJUgiTM.mjs +85 -0
- package/dist/tooltip-sync-DzJUgiTM.mjs.map +1 -0
- package/dist/types-B8z57DW2.d.mts +41 -0
- package/dist/use-artifact-panel-state-CUQTn2Uq.mjs +346 -0
- package/dist/use-artifact-panel-state-CUQTn2Uq.mjs.map +1 -0
- package/dist/use-artifact-panel-state-DPZC--sz.d.mts +150 -0
- package/dist/utils-BJGrUJ6T.mjs +77 -0
- package/dist/utils-BJGrUJ6T.mjs.map +1 -0
- package/dist/utils-D2bGp2p_.mjs +33 -0
- package/dist/utils-D2bGp2p_.mjs.map +1 -0
- package/dist/x-axis-BY00htJY.mjs +137 -0
- package/dist/x-axis-BY00htJY.mjs.map +1 -0
- package/dist/x-axis-Dh66iD8l.d.mts +21 -0
- package/dist/y-axis-DgHlVHRG.mjs +118 -0
- package/dist/y-axis-DgHlVHRG.mjs.map +1 -0
- package/dist/y-axis-DocBbrSp.d.mts +23 -0
- package/dist/z-index-BlBlZL-F.d.mts +10775 -0
- package/package.json +429 -0
- package/src/ai-oneapp/flow-chat/index.ts +3 -0
- package/src/ai-oneapp/flow-chat/node-suggestion-card.tsx +37 -0
- package/src/ai-oneapp/flow-chat/template-suggestion-card.tsx +49 -0
- package/src/ai-oneapp/flow-chat/workflow-action-toast.tsx +55 -0
- package/src/components/.gitkeep +0 -0
- package/src/components/ai-elements/__tests__/test-utils.tsx +12 -0
- package/src/components/ai-elements/actions/actions.stories.tsx +288 -0
- package/src/components/ai-elements/actions/actions.test.tsx +60 -0
- package/src/components/ai-elements/actions/actions.tsx +286 -0
- package/src/components/ai-elements/actions/index.ts +7 -0
- package/src/components/ai-elements/agent-step/agent-step.stories.tsx +167 -0
- package/src/components/ai-elements/agent-step/agent-step.tsx +206 -0
- package/src/components/ai-elements/agent-step/index.ts +7 -0
- package/src/components/ai-elements/ai-elements.constants.ts +516 -0
- package/src/components/ai-elements/artifact/artifact.stories.tsx +199 -0
- package/src/components/ai-elements/artifact/artifact.tsx +277 -0
- package/src/components/ai-elements/artifact/index.ts +7 -0
- package/src/components/ai-elements/branch/branch.stories.tsx +212 -0
- package/src/components/ai-elements/branch/branch.test.tsx +148 -0
- package/src/components/ai-elements/branch/branch.tsx +502 -0
- package/src/components/ai-elements/branch/index.ts +7 -0
- package/src/components/ai-elements/chain-of-thought/chain-of-thought.stories.tsx +172 -0
- package/src/components/ai-elements/chain-of-thought/chain-of-thought.tsx +505 -0
- package/src/components/ai-elements/chain-of-thought/index.ts +7 -0
- package/src/components/ai-elements/chat-input/chat-input.stories.tsx +185 -0
- package/src/components/ai-elements/chat-input/chat-input.tsx +201 -0
- package/src/components/ai-elements/chat-input/index.ts +7 -0
- package/src/components/ai-elements/checkpoint/checkpoint.stories.tsx +171 -0
- package/src/components/ai-elements/checkpoint/checkpoint.tsx +256 -0
- package/src/components/ai-elements/checkpoint/index.ts +7 -0
- package/src/components/ai-elements/code-block/code-block.stories.tsx +317 -0
- package/src/components/ai-elements/code-block/code-block.tsx +366 -0
- package/src/components/ai-elements/code-block/index.ts +7 -0
- package/src/components/ai-elements/confirmation/confirmation.stories.tsx +236 -0
- package/src/components/ai-elements/confirmation/confirmation.tsx +465 -0
- package/src/components/ai-elements/confirmation/index.ts +7 -0
- package/src/components/ai-elements/context/context.stories.tsx +80 -0
- package/src/components/ai-elements/context/context.tsx +585 -0
- package/src/components/ai-elements/context/index.ts +7 -0
- package/src/components/ai-elements/conversation/__tests__/conversation.test.tsx +402 -0
- package/src/components/ai-elements/conversation/conversation.stories.tsx +1019 -0
- package/src/components/ai-elements/conversation/conversation.tsx +260 -0
- package/src/components/ai-elements/conversation/index.ts +7 -0
- package/src/components/ai-elements/custom/__tests__/accessibility.test.tsx +27 -0
- package/src/components/ai-elements/custom/__tests__/chat-container.test.tsx +30 -0
- package/src/components/ai-elements/custom/__tests__/conversation-history.test.tsx +100 -0
- package/src/components/ai-elements/custom/__tests__/export-dropdown.test.tsx +60 -0
- package/src/components/ai-elements/custom/ai-label/ai-label.stories.tsx +86 -0
- package/src/components/ai-elements/custom/ai-label/ai-label.tsx +291 -0
- package/src/components/ai-elements/custom/ai-label/index.ts +7 -0
- package/src/components/ai-elements/custom/artifact-skeleton/artifact-skeleton.stories.tsx +155 -0
- package/src/components/ai-elements/custom/artifact-skeleton/artifact-skeleton.tsx +269 -0
- package/src/components/ai-elements/custom/artifact-skeleton/index.ts +18 -0
- package/src/components/ai-elements/custom/audio-player/audio-player.stories.tsx +50 -0
- package/src/components/ai-elements/custom/audio-player/audio-player.tsx +296 -0
- package/src/components/ai-elements/custom/audio-player/index.ts +1 -0
- package/src/components/ai-elements/custom/button-group/button-group.stories.tsx +108 -0
- package/src/components/ai-elements/custom/button-group/button-group.tsx +142 -0
- package/src/components/ai-elements/custom/button-group/index.ts +15 -0
- package/src/components/ai-elements/custom/chat-container/chat-container.stories.tsx +143 -0
- package/src/components/ai-elements/custom/chat-container/chat-container.tsx +406 -0
- package/src/components/ai-elements/custom/chat-container/index.ts +9 -0
- package/src/components/ai-elements/custom/collapsible/collapsible.stories.tsx +130 -0
- package/src/components/ai-elements/custom/collapsible/index.ts +11 -0
- package/src/components/ai-elements/custom/collapsible/use-collapsible.tsx +240 -0
- package/src/components/ai-elements/custom/collapsible-content/collapsible-content.stories.tsx +113 -0
- package/src/components/ai-elements/custom/collapsible-content/collapsible-content.tsx +141 -0
- package/src/components/ai-elements/custom/collapsible-content/index.ts +7 -0
- package/src/components/ai-elements/custom/content-placeholder/content-placeholder.stories.tsx +82 -0
- package/src/components/ai-elements/custom/content-placeholder/content-placeholder.tsx +319 -0
- package/src/components/ai-elements/custom/content-placeholder/index.ts +10 -0
- package/src/components/ai-elements/custom/conversation-header/conversation-header.stories.tsx +102 -0
- package/src/components/ai-elements/custom/conversation-header/conversation-header.tsx +202 -0
- package/src/components/ai-elements/custom/conversation-header/index.ts +12 -0
- package/src/components/ai-elements/custom/conversation-history/conversation-history.stories.tsx +191 -0
- package/src/components/ai-elements/custom/conversation-history/conversation-history.tsx +515 -0
- package/src/components/ai-elements/custom/conversation-history/index.ts +16 -0
- package/src/components/ai-elements/custom/diff-view/diff-view.stories.tsx +173 -0
- package/src/components/ai-elements/custom/diff-view/diff-view.tsx +261 -0
- package/src/components/ai-elements/custom/diff-view/index.ts +7 -0
- package/src/components/ai-elements/custom/draggable-tabs/draggable-tabs.stories.tsx +157 -0
- package/src/components/ai-elements/custom/draggable-tabs/draggable-tabs.tsx +311 -0
- package/src/components/ai-elements/custom/draggable-tabs/index.ts +7 -0
- package/src/components/ai-elements/custom/export-conversation/export-conversation.stories.tsx +73 -0
- package/src/components/ai-elements/custom/export-conversation/export-conversation.tsx +405 -0
- package/src/components/ai-elements/custom/export-conversation/index.ts +10 -0
- package/src/components/ai-elements/custom/export-dropdown/export-dropdown.stories.tsx +121 -0
- package/src/components/ai-elements/custom/export-dropdown/export-dropdown.tsx +315 -0
- package/src/components/ai-elements/custom/export-dropdown/index.ts +11 -0
- package/src/components/ai-elements/custom/feedback/feedback.stories.tsx +85 -0
- package/src/components/ai-elements/custom/feedback/feedback.tsx +425 -0
- package/src/components/ai-elements/custom/feedback/index.ts +13 -0
- package/src/components/ai-elements/custom/file-card/file-card.stories.tsx +65 -0
- package/src/components/ai-elements/custom/file-card/file-card.tsx +249 -0
- package/src/components/ai-elements/custom/file-card/index.ts +1 -0
- package/src/components/ai-elements/custom/file-tree/file-tree.stories.tsx +96 -0
- package/src/components/ai-elements/custom/file-tree/file-tree.tsx +266 -0
- package/src/components/ai-elements/custom/file-tree/index.ts +7 -0
- package/src/components/ai-elements/custom/index.ts +73 -0
- package/src/components/ai-elements/custom/keyboard-shortcut/index.ts +14 -0
- package/src/components/ai-elements/custom/keyboard-shortcut/keyboard-shortcut.stories.tsx +118 -0
- package/src/components/ai-elements/custom/keyboard-shortcut/keyboard-shortcut.tsx +292 -0
- package/src/components/ai-elements/custom/message-edit/index.ts +1 -0
- package/src/components/ai-elements/custom/message-edit/message-edit.stories.tsx +88 -0
- package/src/components/ai-elements/custom/message-edit/message-edit.tsx +225 -0
- package/src/components/ai-elements/custom/message-error/index.ts +7 -0
- package/src/components/ai-elements/custom/message-error/message-error.stories.tsx +85 -0
- package/src/components/ai-elements/custom/message-error/message-error.tsx +301 -0
- package/src/components/ai-elements/custom/message-group/index.ts +1 -0
- package/src/components/ai-elements/custom/message-group/message-group.stories.tsx +82 -0
- package/src/components/ai-elements/custom/message-group/message-group.tsx +77 -0
- package/src/components/ai-elements/custom/message-separator/index.ts +1 -0
- package/src/components/ai-elements/custom/message-separator/message-separator.stories.tsx +65 -0
- package/src/components/ai-elements/custom/message-separator/message-separator.tsx +132 -0
- package/src/components/ai-elements/custom/scroll-to-bottom/index.ts +11 -0
- package/src/components/ai-elements/custom/scroll-to-bottom/scroll-to-bottom.stories.tsx +116 -0
- package/src/components/ai-elements/custom/scroll-to-bottom/use-scroll-to-bottom.tsx +215 -0
- package/src/components/ai-elements/custom/snippet/index.ts +1 -0
- package/src/components/ai-elements/custom/snippet/snippet.stories.tsx +59 -0
- package/src/components/ai-elements/custom/snippet/snippet.tsx +158 -0
- package/src/components/ai-elements/custom/stack-trace/index.ts +1 -0
- package/src/components/ai-elements/custom/stack-trace/stack-trace.stories.tsx +112 -0
- package/src/components/ai-elements/custom/stack-trace/stack-trace.tsx +368 -0
- package/src/components/ai-elements/custom/terminal/index.ts +9 -0
- package/src/components/ai-elements/custom/terminal/terminal.stories.tsx +92 -0
- package/src/components/ai-elements/custom/terminal/terminal.tsx +233 -0
- package/src/components/ai-elements/custom/test-results/test-results.tsx +438 -0
- package/src/components/ai-elements/custom/thought-chain/index.ts +7 -0
- package/src/components/ai-elements/custom/thought-chain/thought-chain.stories.tsx +123 -0
- package/src/components/ai-elements/custom/thought-chain/thought-chain.tsx +246 -0
- package/src/components/ai-elements/custom/token-usage/index.ts +6 -0
- package/src/components/ai-elements/custom/token-usage/token-usage.stories.tsx +104 -0
- package/src/components/ai-elements/custom/token-usage/token-usage.tsx +236 -0
- package/src/components/ai-elements/custom/transcription/index.ts +1 -0
- package/src/components/ai-elements/custom/transcription/transcription.stories.tsx +80 -0
- package/src/components/ai-elements/custom/transcription/transcription.tsx +163 -0
- package/src/components/ai-elements/custom/typing-indicator/index.ts +1 -0
- package/src/components/ai-elements/custom/typing-indicator/typing-indicator.stories.tsx +71 -0
- package/src/components/ai-elements/custom/typing-indicator/typing-indicator.tsx +126 -0
- package/src/components/ai-elements/custom/undo-redo/index.ts +12 -0
- package/src/components/ai-elements/custom/undo-redo/undo-redo.stories.tsx +145 -0
- package/src/components/ai-elements/custom/undo-redo/use-undo-redo.tsx +324 -0
- package/src/components/ai-elements/custom/voice-selector/index.ts +7 -0
- package/src/components/ai-elements/custom/voice-selector/voice-selector.stories.tsx +67 -0
- package/src/components/ai-elements/custom/voice-selector/voice-selector.tsx +301 -0
- package/src/components/ai-elements/custom/welcome/index.ts +1 -0
- package/src/components/ai-elements/custom/welcome/welcome.stories.tsx +92 -0
- package/src/components/ai-elements/custom/welcome/welcome.tsx +213 -0
- package/src/components/ai-elements/generative-ui/generative-ui-renderer.stories.tsx +451 -0
- package/src/components/ai-elements/generative-ui/generative-ui-renderer.test.tsx +383 -0
- package/src/components/ai-elements/generative-ui/generative-ui-renderer.tsx +668 -0
- package/src/components/ai-elements/generative-ui/index.ts +21 -0
- package/src/components/ai-elements/image/image.stories.tsx +179 -0
- package/src/components/ai-elements/image/image.tsx +178 -0
- package/src/components/ai-elements/image/index.ts +7 -0
- package/src/components/ai-elements/index.ts +195 -0
- package/src/components/ai-elements/inline-citation/index.ts +7 -0
- package/src/components/ai-elements/inline-citation/inline-citation.stories.tsx +331 -0
- package/src/components/ai-elements/inline-citation/inline-citation.tsx +595 -0
- package/src/components/ai-elements/loader/index.ts +7 -0
- package/src/components/ai-elements/loader/loader.stories.tsx +185 -0
- package/src/components/ai-elements/loader/loader.tsx +177 -0
- package/src/components/ai-elements/message/__tests__/message.test.tsx +352 -0
- package/src/components/ai-elements/message/index.ts +7 -0
- package/src/components/ai-elements/message/message-actions.test.tsx +51 -0
- package/src/components/ai-elements/message/message.stories.tsx +609 -0
- package/src/components/ai-elements/message/message.test.tsx +52 -0
- package/src/components/ai-elements/message/message.tsx +1125 -0
- package/src/components/ai-elements/message/response.test.tsx +18 -0
- package/src/components/ai-elements/model-selector/index.ts +7 -0
- package/src/components/ai-elements/model-selector/model-selector.stories.tsx +198 -0
- package/src/components/ai-elements/model-selector/model-selector.tsx +406 -0
- package/src/components/ai-elements/modernization_walkthrough.md +51 -0
- package/src/components/ai-elements/open-in-chat/index.ts +7 -0
- package/src/components/ai-elements/open-in-chat/open-in-chat.stories.tsx +221 -0
- package/src/components/ai-elements/open-in-chat/open-in-chat.tsx +606 -0
- package/src/components/ai-elements/plan/index.ts +7 -0
- package/src/components/ai-elements/plan/plan.stories.tsx +233 -0
- package/src/components/ai-elements/plan/plan.tsx +337 -0
- package/src/components/ai-elements/prompt-char-counter/index.ts +7 -0
- package/src/components/ai-elements/prompt-char-counter/prompt-char-counter.stories.tsx +98 -0
- package/src/components/ai-elements/prompt-char-counter/prompt-char-counter.tsx +159 -0
- package/src/components/ai-elements/prompt-input/index.ts +7 -0
- package/src/components/ai-elements/prompt-input/prompt-input.stories.tsx +548 -0
- package/src/components/ai-elements/prompt-input/prompt-input.test.tsx +22 -0
- package/src/components/ai-elements/prompt-input/prompt-input.tsx +2112 -0
- package/src/components/ai-elements/queue/index.ts +7 -0
- package/src/components/ai-elements/queue/queue.stories.tsx +249 -0
- package/src/components/ai-elements/queue/queue.tsx +456 -0
- package/src/components/ai-elements/reasoning/index.ts +7 -0
- package/src/components/ai-elements/reasoning/reasoning.stories.tsx +147 -0
- package/src/components/ai-elements/reasoning/reasoning.tsx +356 -0
- package/src/components/ai-elements/shimmer/index.ts +7 -0
- package/src/components/ai-elements/shimmer/shimmer.stories.tsx +240 -0
- package/src/components/ai-elements/shimmer/shimmer.tsx +150 -0
- package/src/components/ai-elements/sources/index.ts +7 -0
- package/src/components/ai-elements/sources/sources.stories.tsx +259 -0
- package/src/components/ai-elements/sources/sources.test.tsx +40 -0
- package/src/components/ai-elements/sources/sources.tsx +327 -0
- package/src/components/ai-elements/suggestion/index.ts +7 -0
- package/src/components/ai-elements/suggestion/suggestion.stories.tsx +207 -0
- package/src/components/ai-elements/suggestion/suggestion.tsx +229 -0
- package/src/components/ai-elements/task/index.ts +7 -0
- package/src/components/ai-elements/task/task.stories.tsx +213 -0
- package/src/components/ai-elements/task/task.tsx +356 -0
- package/src/components/ai-elements/test-utils.tsx +28 -0
- package/src/components/ai-elements/tool/index.ts +7 -0
- package/src/components/ai-elements/tool/tool.stories.tsx +195 -0
- package/src/components/ai-elements/tool/tool.test.tsx +160 -0
- package/src/components/ai-elements/tool/tool.tsx +537 -0
- package/src/components/ai-elements/tool-approval/index.ts +7 -0
- package/src/components/ai-elements/tool-approval/tool-approval.stories.tsx +260 -0
- package/src/components/ai-elements/tool-approval/tool-approval.tsx +423 -0
- package/src/components/ai-elements/vitest.config.ts +17 -0
- package/src/components/ai-elements/vitest.setup.ts +6 -0
- package/src/components/ai-elements/web-preview/index.ts +7 -0
- package/src/components/ai-elements/web-preview/web-preview.stories.tsx +202 -0
- package/src/components/ai-elements/web-preview/web-preview.tsx +1166 -0
- package/src/components/ai-workflows/canvas/canvas.stories.tsx +120 -0
- package/src/components/ai-workflows/canvas/canvas.tsx +173 -0
- package/src/components/ai-workflows/canvas/index.ts +7 -0
- package/src/components/ai-workflows/connection/connection.stories.tsx +66 -0
- package/src/components/ai-workflows/connection/connection.tsx +119 -0
- package/src/components/ai-workflows/connection/index.ts +7 -0
- package/src/components/ai-workflows/controls/controls.stories.tsx +72 -0
- package/src/components/ai-workflows/controls/controls.tsx +132 -0
- package/src/components/ai-workflows/controls/index.ts +7 -0
- package/src/components/ai-workflows/edge/edge.stories.tsx +120 -0
- package/src/components/ai-workflows/edge/edge.test.tsx +47 -0
- package/src/components/ai-workflows/edge/edge.tsx +136 -0
- package/src/components/ai-workflows/edge/index.ts +7 -0
- package/src/components/ai-workflows/flow-constants.ts +11 -0
- package/src/components/ai-workflows/node/index.ts +7 -0
- package/src/components/ai-workflows/node/node.stories.tsx +111 -0
- package/src/components/ai-workflows/node/node.tsx +227 -0
- package/src/components/ai-workflows/panel/index.ts +7 -0
- package/src/components/ai-workflows/panel/panel.stories.tsx +102 -0
- package/src/components/ai-workflows/panel/panel.tsx +106 -0
- package/src/components/ai-workflows/resizable-node/index.ts +7 -0
- package/src/components/ai-workflows/resizable-node/resizable-node.stories.tsx +93 -0
- package/src/components/ai-workflows/resizable-node/resizable-node.tsx +228 -0
- package/src/components/ai-workflows/toolbar/index.ts +7 -0
- package/src/components/ai-workflows/toolbar/toolbar.stories.tsx +99 -0
- package/src/components/ai-workflows/toolbar/toolbar.tsx +130 -0
- package/src/components/auth/client/index.ts +12 -0
- package/src/components/auth/client/nav-user/auth-nav-user.tsx +237 -0
- package/src/components/auth/client/nav-user/index.ts +11 -0
- package/src/components/auth/client/providers/ThemeProvider.stories.tsx +59 -0
- package/src/components/auth/client/providers/ThemeProvider.tsx +39 -0
- package/src/components/auth/client/providers/index.ts +7 -0
- package/src/components/auth/client/providers.tsx +129 -0
- package/src/components/auth/index.ts +14 -0
- package/src/components/auth/server/account/ProfileForm.stories.tsx +105 -0
- package/src/components/auth/server/account/ProfileForm.tsx +236 -0
- package/src/components/auth/server/account/index.ts +7 -0
- package/src/components/auth/server/actions/index.ts +11 -0
- package/src/components/auth/server/actions.ts +88 -0
- package/src/components/auth/server/admin/AdminBulkUserActions.stories.tsx +129 -0
- package/src/components/auth/server/admin/AdminBulkUserActions.tsx +649 -0
- package/src/components/auth/server/admin/AdminDashboard.stories.tsx +215 -0
- package/src/components/auth/server/admin/AdminDashboard.tsx +785 -0
- package/src/components/auth/server/admin/AdminDevicesManager.tsx +411 -0
- package/src/components/auth/server/admin/AdminImpersonation.stories.tsx +121 -0
- package/src/components/auth/server/admin/AdminImpersonation.tsx +569 -0
- package/src/components/auth/server/admin/AdminPasskeysManager.tsx +393 -0
- package/src/components/auth/server/admin/AdminSecurityEventsViewer.tsx +395 -0
- package/src/components/auth/server/admin/AdminServiceAccountsManager.tsx +454 -0
- package/src/components/auth/server/admin/AdminSessionsManager.tsx +664 -0
- package/src/components/auth/server/admin/AdminTwoFactorManager.tsx +431 -0
- package/src/components/auth/server/admin/AdminUserCreation.stories.tsx +87 -0
- package/src/components/auth/server/admin/AdminUserCreation.tsx +777 -0
- package/src/components/auth/server/admin/AdminUserDetail.stories.tsx +178 -0
- package/src/components/auth/server/admin/AdminUserDetail.tsx +1044 -0
- package/src/components/auth/server/admin/AdminUsersList.stories.tsx +228 -0
- package/src/components/auth/server/admin/AdminUsersList.tsx +859 -0
- package/src/components/auth/server/admin/index.ts +59 -0
- package/src/components/auth/server/advanced/PasskeySetup.stories.tsx +70 -0
- package/src/components/auth/server/advanced/PasskeySetup.tsx +383 -0
- package/src/components/auth/server/advanced/TwoFactorSetup.stories.tsx +79 -0
- package/src/components/auth/server/advanced/TwoFactorSetup.tsx +459 -0
- package/src/components/auth/server/advanced/TwoFactorVerify.stories.tsx +69 -0
- package/src/components/auth/server/advanced/TwoFactorVerify.tsx +323 -0
- package/src/components/auth/server/advanced/index.ts +10 -0
- package/src/components/auth/server/api-keys/APIKeysList.stories.tsx +95 -0
- package/src/components/auth/server/api-keys/APIKeysList.tsx +470 -0
- package/src/components/auth/server/api-keys/CreateAPIKeyForm.stories.tsx +79 -0
- package/src/components/auth/server/api-keys/CreateAPIKeyForm.tsx +501 -0
- package/src/components/auth/server/api-keys/index.ts +9 -0
- package/src/components/auth/server/enhanced/AccountDeletionFlow.stories.tsx +115 -0
- package/src/components/auth/server/enhanced/AccountDeletionFlow.tsx +733 -0
- package/src/components/auth/server/enhanced/AnonymousSessionCreator.stories.tsx +80 -0
- package/src/components/auth/server/enhanced/AnonymousSessionCreator.tsx +398 -0
- package/src/components/auth/server/enhanced/AnonymousToAccountConverter.stories.tsx +61 -0
- package/src/components/auth/server/enhanced/AnonymousToAccountConverter.tsx +538 -0
- package/src/components/auth/server/enhanced/BackupCodesManager.stories.tsx +108 -0
- package/src/components/auth/server/enhanced/BackupCodesManager.tsx +718 -0
- package/src/components/auth/server/enhanced/BearerTokenGenerator.stories.tsx +85 -0
- package/src/components/auth/server/enhanced/BearerTokenGenerator.tsx +618 -0
- package/src/components/auth/server/enhanced/ChangePasswordForm.stories.tsx +108 -0
- package/src/components/auth/server/enhanced/ChangePasswordForm.tsx +313 -0
- package/src/components/auth/server/enhanced/DataExportRequest.stories.tsx +84 -0
- package/src/components/auth/server/enhanced/DataExportRequest.tsx +734 -0
- package/src/components/auth/server/enhanced/DeviceManagement.stories.tsx +161 -0
- package/src/components/auth/server/enhanced/DeviceManagement.tsx +700 -0
- package/src/components/auth/server/enhanced/EmailChangeVerification.stories.tsx +94 -0
- package/src/components/auth/server/enhanced/EmailChangeVerification.tsx +421 -0
- package/src/components/auth/server/enhanced/EmailOTPSignIn.stories.tsx +68 -0
- package/src/components/auth/server/enhanced/EmailOTPSignIn.tsx +516 -0
- package/src/components/auth/server/enhanced/EmailOTPVerification.stories.tsx +95 -0
- package/src/components/auth/server/enhanced/EmailOTPVerification.tsx +610 -0
- package/src/components/auth/server/enhanced/EmailVerificationRequest.stories.tsx +97 -0
- package/src/components/auth/server/enhanced/EmailVerificationRequest.tsx +461 -0
- package/src/components/auth/server/enhanced/EmailVerificationStatus.stories.tsx +96 -0
- package/src/components/auth/server/enhanced/EmailVerificationStatus.tsx +631 -0
- package/src/components/auth/server/enhanced/MagicLinkRequestForm.stories.tsx +88 -0
- package/src/components/auth/server/enhanced/MagicLinkRequestForm.tsx +439 -0
- package/src/components/auth/server/enhanced/MagicLinkStatusIndicator.stories.tsx +101 -0
- package/src/components/auth/server/enhanced/MagicLinkStatusIndicator.tsx +610 -0
- package/src/components/auth/server/enhanced/MultiSessionDashboard.stories.tsx +101 -0
- package/src/components/auth/server/enhanced/MultiSessionDashboard.tsx +996 -0
- package/src/components/auth/server/enhanced/OrganizationAuditLog.stories.tsx +86 -0
- package/src/components/auth/server/enhanced/OrganizationAuditLog.tsx +1006 -0
- package/src/components/auth/server/enhanced/PasskeyManagement.stories.tsx +102 -0
- package/src/components/auth/server/enhanced/PasskeyManagement.tsx +705 -0
- package/src/components/auth/server/enhanced/PasskeyRegistrationWizard.stories.tsx +83 -0
- package/src/components/auth/server/enhanced/PasskeyRegistrationWizard.tsx +566 -0
- package/src/components/auth/server/enhanced/PasskeySignInInterface.stories.tsx +90 -0
- package/src/components/auth/server/enhanced/PasskeySignInInterface.tsx +792 -0
- package/src/components/auth/server/enhanced/PasswordStrengthIndicator.stories.tsx +129 -0
- package/src/components/auth/server/enhanced/PasswordStrengthIndicator.tsx +539 -0
- package/src/components/auth/server/enhanced/PhoneNumberManagement.stories.tsx +103 -0
- package/src/components/auth/server/enhanced/PhoneNumberManagement.tsx +594 -0
- package/src/components/auth/server/enhanced/PhoneNumberSetupForm.stories.tsx +91 -0
- package/src/components/auth/server/enhanced/PhoneNumberSetupForm.tsx +518 -0
- package/src/components/auth/server/enhanced/PhoneSignInForm.stories.tsx +63 -0
- package/src/components/auth/server/enhanced/PhoneSignInForm.tsx +801 -0
- package/src/components/auth/server/enhanced/PhoneSignInWithSMS.stories.tsx +87 -0
- package/src/components/auth/server/enhanced/PhoneSignInWithSMS.tsx +886 -0
- package/src/components/auth/server/enhanced/PhoneVerificationForm.stories.tsx +81 -0
- package/src/components/auth/server/enhanced/PhoneVerificationForm.tsx +306 -0
- package/src/components/auth/server/enhanced/ResendVerificationEmail.stories.tsx +84 -0
- package/src/components/auth/server/enhanced/ResendVerificationEmail.tsx +407 -0
- package/src/components/auth/server/enhanced/SMSVerificationForm.stories.tsx +92 -0
- package/src/components/auth/server/enhanced/SMSVerificationForm.tsx +521 -0
- package/src/components/auth/server/enhanced/SecurityEventLog.stories.tsx +115 -0
- package/src/components/auth/server/enhanced/SecurityEventLog.tsx +916 -0
- package/src/components/auth/server/enhanced/TeamCreationWizard.stories.tsx +85 -0
- package/src/components/auth/server/enhanced/TeamCreationWizard.tsx +1023 -0
- package/src/components/auth/server/enhanced/__tests__/actions.test.ts +388 -0
- package/src/components/auth/server/enhanced/__tests__/more-actions.test.ts +139 -0
- package/src/components/auth/server/enhanced/actions.ts +1199 -0
- package/src/components/auth/server/enhanced/auth-enhanced-actions.ts +936 -0
- package/src/components/auth/server/enhanced/index.ts +37 -0
- package/src/components/auth/server/forms/ForgotPasswordForm.stories.tsx +82 -0
- package/src/components/auth/server/forms/ForgotPasswordForm.tsx +287 -0
- package/src/components/auth/server/forms/ResetPasswordForm.stories.tsx +79 -0
- package/src/components/auth/server/forms/ResetPasswordForm.tsx +217 -0
- package/src/components/auth/server/forms/SignInForm.stories.tsx +113 -0
- package/src/components/auth/server/forms/SignInForm.tsx +211 -0
- package/src/components/auth/server/forms/SignUpForm.stories.tsx +130 -0
- package/src/components/auth/server/forms/SignUpForm.tsx +243 -0
- package/src/components/auth/server/forms/index.ts +10 -0
- package/src/components/auth/server/index.ts +22 -0
- package/src/components/auth/server/jwt/JWTTokenManager.tsx +315 -0
- package/src/components/auth/server/jwt/index.ts +7 -0
- package/src/components/auth/server/organization/AuditLogViewer.tsx +288 -0
- package/src/components/auth/server/organization/CreateRoleDialog.tsx +540 -0
- package/src/components/auth/server/organization/EditRoleDialog.tsx +487 -0
- package/src/components/auth/server/organization/InviteMembers.stories.tsx +82 -0
- package/src/components/auth/server/organization/InviteMembers.tsx +264 -0
- package/src/components/auth/server/organization/MembersList.stories.tsx +117 -0
- package/src/components/auth/server/organization/MembersList.tsx +425 -0
- package/src/components/auth/server/organization/OrganizationCreation.stories.tsx +99 -0
- package/src/components/auth/server/organization/OrganizationCreation.tsx +293 -0
- package/src/components/auth/server/organization/OrganizationSettings.stories.tsx +99 -0
- package/src/components/auth/server/organization/OrganizationSettings.tsx +494 -0
- package/src/components/auth/server/organization/OrganizationSwitcher.stories.tsx +98 -0
- package/src/components/auth/server/organization/OrganizationSwitcher.tsx +308 -0
- package/src/components/auth/server/organization/PermissionMatrix.tsx +366 -0
- package/src/components/auth/server/organization/RoleManagement.stories.tsx +120 -0
- package/src/components/auth/server/organization/RoleManagement.tsx +318 -0
- package/src/components/auth/server/organization/index.ts +16 -0
- package/src/components/auth/server/session/SessionsList.stories.tsx +81 -0
- package/src/components/auth/server/session/SessionsList.tsx +274 -0
- package/src/components/auth/server/session/index.ts +7 -0
- package/src/components/auth/server/social/SocialLoginButtons.stories.tsx +139 -0
- package/src/components/auth/server/social/SocialLoginButtons.tsx +292 -0
- package/src/components/auth/server/social/index.ts +7 -0
- package/src/components/auth/server/ui/Alert.stories.tsx +97 -0
- package/src/components/auth/server/ui/Alert.tsx +159 -0
- package/src/components/auth/server/ui/Button.stories.tsx +149 -0
- package/src/components/auth/server/ui/Button.tsx +221 -0
- package/src/components/auth/server/ui/Card.stories.tsx +80 -0
- package/src/components/auth/server/ui/Card.tsx +51 -0
- package/src/components/auth/server/ui/Input.stories.tsx +143 -0
- package/src/components/auth/server/ui/Input.tsx +195 -0
- package/src/components/auth/server/ui/index.ts +18 -0
- package/src/components/charts/areas/areas.stories.tsx +113 -0
- package/src/components/charts/areas/areas.tsx +185 -0
- package/src/components/charts/areas/index.ts +11 -0
- package/src/components/charts/bars/bars.stories.tsx +109 -0
- package/src/components/charts/bars/bars.tsx +164 -0
- package/src/components/charts/bars/index.ts +11 -0
- package/src/components/charts/chart-context.ts +35 -0
- package/src/components/charts/funnel-chart/funnel-chart.stories.tsx +111 -0
- package/src/components/charts/funnel-chart/funnel-chart.tsx +392 -0
- package/src/components/charts/funnel-chart/index.ts +11 -0
- package/src/components/charts/index.ts +45 -0
- package/src/components/charts/mini-area-chart/index.ts +11 -0
- package/src/components/charts/mini-area-chart/mini-area-chart.stories.tsx +100 -0
- package/src/components/charts/mini-area-chart/mini-area-chart.tsx +244 -0
- package/src/components/charts/time-series-chart/index.ts +11 -0
- package/src/components/charts/time-series-chart/time-series-chart.stories.tsx +140 -0
- package/src/components/charts/time-series-chart/time-series-chart.tsx +337 -0
- package/src/components/charts/tooltip-sync/index.ts +11 -0
- package/src/components/charts/tooltip-sync/tooltip-sync.stories.tsx +89 -0
- package/src/components/charts/tooltip-sync/tooltip-sync.tsx +91 -0
- package/src/components/charts/types.ts +93 -0
- package/src/components/charts/use-tooltip.ts +230 -0
- package/src/components/charts/utils.ts +69 -0
- package/src/components/charts/x-axis/index.ts +11 -0
- package/src/components/charts/x-axis/x-axis.stories.tsx +94 -0
- package/src/components/charts/x-axis/x-axis.tsx +176 -0
- package/src/components/charts/y-axis/index.ts +7 -0
- package/src/components/charts/y-axis/y-axis.stories.tsx +110 -0
- package/src/components/charts/y-axis/y-axis.tsx +139 -0
- package/src/components/elements/atoms/alert/alert.stories.tsx +234 -0
- package/src/components/elements/atoms/alert/alert.tsx +293 -0
- package/src/components/elements/atoms/alert/index.ts +7 -0
- package/src/components/elements/atoms/avatar/avatar.stories.tsx +174 -0
- package/src/components/elements/atoms/avatar/avatar.tsx +274 -0
- package/src/components/elements/atoms/avatar/index.ts +7 -0
- package/src/components/elements/atoms/badge/badge.stories.tsx +186 -0
- package/src/components/elements/atoms/badge/badge.tsx +333 -0
- package/src/components/elements/atoms/badge/index.ts +7 -0
- package/src/components/elements/atoms/blur-image/blur-image.stories.tsx +140 -0
- package/src/components/elements/atoms/blur-image/blur-image.tsx +102 -0
- package/src/components/elements/atoms/blur-image/index.ts +7 -0
- package/src/components/elements/atoms/button/button.stories.tsx +776 -0
- package/src/components/elements/atoms/button/button.tsx +878 -0
- package/src/components/elements/atoms/button/index.ts +7 -0
- package/src/components/elements/atoms/copy-button/copy-button.stories.tsx +162 -0
- package/src/components/elements/atoms/copy-button/copy-button.tsx +232 -0
- package/src/components/elements/atoms/copy-button/index.ts +7 -0
- package/src/components/elements/atoms/copy-text/copy-text.stories.tsx +128 -0
- package/src/components/elements/atoms/copy-text/copy-text.tsx +201 -0
- package/src/components/elements/atoms/copy-text/index.ts +7 -0
- package/src/components/elements/atoms/empty-state/empty-state.stories.tsx +410 -0
- package/src/components/elements/atoms/empty-state/empty-state.tsx +338 -0
- package/src/components/elements/atoms/empty-state/index.ts +1 -0
- package/src/components/elements/atoms/go-back-button/go-back-button.stories.tsx +83 -0
- package/src/components/elements/atoms/go-back-button/go-back-button.tsx +104 -0
- package/src/components/elements/atoms/go-back-button/index.ts +7 -0
- package/src/components/elements/atoms/inline-snippet/index.ts +7 -0
- package/src/components/elements/atoms/inline-snippet/inline-snippet.stories.tsx +130 -0
- package/src/components/elements/atoms/inline-snippet/inline-snippet.tsx +140 -0
- package/src/components/elements/atoms/loading-dots/index.ts +1 -0
- package/src/components/elements/atoms/loading-dots/loading-dots.stories.tsx +274 -0
- package/src/components/elements/atoms/loading-dots/loading-dots.tsx +138 -0
- package/src/components/elements/atoms/mode-toggle/index.ts +7 -0
- package/src/components/elements/atoms/mode-toggle/mode-toggle.stories.tsx +67 -0
- package/src/components/elements/atoms/mode-toggle/mode-toggle.tsx +163 -0
- package/src/components/elements/atoms/progress/index.ts +7 -0
- package/src/components/elements/atoms/progress/progress.stories.tsx +141 -0
- package/src/components/elements/atoms/progress/progress.tsx +314 -0
- package/src/components/elements/atoms/progress-circle/index.ts +7 -0
- package/src/components/elements/atoms/progress-circle/progress-circle.stories.tsx +185 -0
- package/src/components/elements/atoms/progress-circle/progress-circle.tsx +207 -0
- package/src/components/elements/atoms/separator/index.ts +7 -0
- package/src/components/elements/atoms/separator/separator.stories.tsx +154 -0
- package/src/components/elements/atoms/separator/separator.tsx +169 -0
- package/src/components/elements/atoms/skeleton/index.ts +7 -0
- package/src/components/elements/atoms/skeleton/skeleton.stories.tsx +152 -0
- package/src/components/elements/atoms/skeleton/skeleton.tsx +336 -0
- package/src/components/elements/atoms/slider/index.ts +7 -0
- package/src/components/elements/atoms/slider/slider.stories.tsx +199 -0
- package/src/components/elements/atoms/slider/slider.tsx +487 -0
- package/src/components/elements/atoms/sonner/index.ts +7 -0
- package/src/components/elements/atoms/sonner/sonner.stories.tsx +408 -0
- package/src/components/elements/atoms/sonner/sonner.tsx +131 -0
- package/src/components/elements/atoms/status-badge/index.ts +7 -0
- package/src/components/elements/atoms/status-badge/status-badge.stories.tsx +166 -0
- package/src/components/elements/atoms/status-badge/status-badge.tsx +262 -0
- package/src/components/elements/atoms/timestamp-tooltip/index.ts +7 -0
- package/src/components/elements/atoms/timestamp-tooltip/timestamp-tooltip.stories.tsx +127 -0
- package/src/components/elements/atoms/timestamp-tooltip/timestamp-tooltip.tsx +404 -0
- package/src/components/elements/molecules/animated-size-container/animated-size-container.stories.tsx +165 -0
- package/src/components/elements/molecules/animated-size-container/animated-size-container.tsx +125 -0
- package/src/components/elements/molecules/animated-size-container/index.ts +7 -0
- package/src/components/elements/molecules/avatar-stack/avatar-stack.stories.tsx +179 -0
- package/src/components/elements/molecules/avatar-stack/avatar-stack.tsx +258 -0
- package/src/components/elements/molecules/avatar-stack/index.ts +7 -0
- package/src/components/elements/molecules/breadcrumb/breadcrumb.stories.tsx +273 -0
- package/src/components/elements/molecules/breadcrumb/breadcrumb.tsx +299 -0
- package/src/components/elements/molecules/breadcrumb/index.ts +7 -0
- package/src/components/elements/molecules/button-group/button-group.stories.tsx +267 -0
- package/src/components/elements/molecules/button-group/button-group.tsx +244 -0
- package/src/components/elements/molecules/button-group/index.ts +7 -0
- package/src/components/elements/molecules/collapsible/collapsible.stories.tsx +186 -0
- package/src/components/elements/molecules/collapsible/collapsible.tsx +362 -0
- package/src/components/elements/molecules/collapsible/index.ts +7 -0
- package/src/components/elements/molecules/empty/empty.stories.tsx +182 -0
- package/src/components/elements/molecules/empty/empty.tsx +230 -0
- package/src/components/elements/molecules/empty/index.ts +7 -0
- package/src/components/elements/molecules/pagination-controls/index.ts +8 -0
- package/src/components/elements/molecules/pagination-controls/pagination-controls.stories.tsx +193 -0
- package/src/components/elements/molecules/pagination-controls/pagination-controls.tsx +174 -0
- package/src/components/elements/molecules/tab-select/index.ts +7 -0
- package/src/components/elements/molecules/tab-select/tab-select.stories.tsx +175 -0
- package/src/components/elements/molecules/tab-select/tab-select.tsx +261 -0
- package/src/components/elements/molecules/tabs/index.ts +7 -0
- package/src/components/elements/molecules/tabs/tabs.stories.tsx +198 -0
- package/src/components/elements/molecules/tabs/tabs.tsx +744 -0
- package/src/components/elements/molecules/toggle-group/index.ts +7 -0
- package/src/components/elements/molecules/toggle-group/toggle-group.stories.tsx +201 -0
- package/src/components/elements/molecules/toggle-group/toggle-group.tsx +236 -0
- package/src/components/elements/organisms/accordion/accordion.stories.tsx +217 -0
- package/src/components/elements/organisms/accordion/accordion.tsx +456 -0
- package/src/components/elements/organisms/accordion/index.ts +7 -0
- package/src/components/elements/organisms/card/card.stories.tsx +406 -0
- package/src/components/elements/organisms/card/card.tsx +437 -0
- package/src/components/elements/organisms/card/index.ts +8 -0
- package/src/components/elements/organisms/card/integration-card.stories.tsx +348 -0
- package/src/components/elements/organisms/card/integration-compact.stories.tsx +310 -0
- package/src/components/elements/organisms/card/integrations.tsx +356 -0
- package/src/components/elements/organisms/carousel/carousel.stories.tsx +182 -0
- package/src/components/elements/organisms/carousel/carousel.tsx +537 -0
- package/src/components/elements/organisms/carousel/index.ts +7 -0
- package/src/components/elements/organisms/chart/chart.stories.tsx +147 -0
- package/src/components/elements/organisms/chart/chart.tsx +317 -0
- package/src/components/elements/organisms/chart/index.ts +7 -0
- package/src/components/elements/organisms/command/command.stories.tsx +246 -0
- package/src/components/elements/organisms/command/command.tsx +284 -0
- package/src/components/elements/organisms/command/index.ts +7 -0
- package/src/components/elements/organisms/dialog/dialog.stories.tsx +266 -0
- package/src/components/elements/organisms/dialog/dialog.tsx +366 -0
- package/src/components/elements/organisms/dialog/index.ts +7 -0
- package/src/components/elements/organisms/dropdown-menu/dropdown-menu.stories.tsx +334 -0
- package/src/components/elements/organisms/dropdown-menu/dropdown-menu.tsx +611 -0
- package/src/components/elements/organisms/dropdown-menu/index.ts +7 -0
- package/src/components/elements/organisms/dynamic-breadcrumb/dynamic-breadcrumb.stories.tsx +50 -0
- package/src/components/elements/organisms/dynamic-breadcrumb/dynamic-breadcrumb.tsx +257 -0
- package/src/components/elements/organisms/dynamic-breadcrumb/index.ts +7 -0
- package/src/components/elements/organisms/error-boundary/error-boundary.stories.tsx +142 -0
- package/src/components/elements/organisms/error-boundary/error-boundary.tsx +408 -0
- package/src/components/elements/organisms/error-boundary/index.ts +7 -0
- package/src/components/elements/organisms/hover-card/hover-card.stories.tsx +245 -0
- package/src/components/elements/organisms/hover-card/hover-card.tsx +370 -0
- package/src/components/elements/organisms/hover-card/index.ts +7 -0
- package/src/components/elements/organisms/modal/index.ts +7 -0
- package/src/components/elements/organisms/modal/modal.stories.tsx +189 -0
- package/src/components/elements/organisms/modal/modal.tsx +266 -0
- package/src/components/elements/organisms/popover/index.ts +7 -0
- package/src/components/elements/organisms/popover/popover.stories.tsx +200 -0
- package/src/components/elements/organisms/popover/popover.tsx +302 -0
- package/src/components/elements/organisms/resizable/index.ts +7 -0
- package/src/components/elements/organisms/resizable/resizable.stories.tsx +204 -0
- package/src/components/elements/organisms/resizable/resizable.tsx +178 -0
- package/src/components/elements/organisms/scroll-area/index.ts +7 -0
- package/src/components/elements/organisms/scroll-area/scroll-area.stories.tsx +170 -0
- package/src/components/elements/organisms/scroll-area/scroll-area.tsx +167 -0
- package/src/components/elements/organisms/sheet/index.ts +7 -0
- package/src/components/elements/organisms/sheet/sheet.stories.tsx +235 -0
- package/src/components/elements/organisms/sheet/sheet.tsx +381 -0
- package/src/components/elements/organisms/table/index.ts +7 -0
- package/src/components/elements/organisms/table/table.stories.tsx +238 -0
- package/src/components/elements/organisms/table/table.tsx +392 -0
- package/src/components/elements/organisms/tooltip/index.ts +7 -0
- package/src/components/elements/organisms/tooltip/tooltip.stories.tsx +205 -0
- package/src/components/elements/organisms/tooltip/tooltip.tsx +547 -0
- package/src/components/filter/filter-list/filter-list.stories.tsx +157 -0
- package/src/components/filter/filter-list/filter-list.tsx +435 -0
- package/src/components/filter/filter-list/index.ts +7 -0
- package/src/components/filter/filter-select/filter-select.stories.tsx +124 -0
- package/src/components/filter/filter-select/filter-select.tsx +558 -0
- package/src/components/filter/filter-select/index.ts +7 -0
- package/src/components/filter/index.ts +9 -0
- package/src/components/filter/types.ts +70 -0
- package/src/components/forms/checkbox/checkbox.stories.tsx +177 -0
- package/src/components/forms/checkbox/checkbox.tsx +332 -0
- package/src/components/forms/checkbox/index.ts +11 -0
- package/src/components/forms/combobox/combobox.stories.tsx +224 -0
- package/src/components/forms/combobox/combobox.tsx +679 -0
- package/src/components/forms/combobox/index.ts +7 -0
- package/src/components/forms/date-picker/calendar/calendar.stories.tsx +78 -0
- package/src/components/forms/date-picker/calendar/calendar.tsx +271 -0
- package/src/components/forms/date-picker/calendar/index.ts +7 -0
- package/src/components/forms/date-picker/date-range-picker/date-range-picker.stories.tsx +108 -0
- package/src/components/forms/date-picker/date-range-picker/date-range-picker.tsx +334 -0
- package/src/components/forms/date-picker/date-range-picker/index.ts +7 -0
- package/src/components/forms/date-picker/index.ts +10 -0
- package/src/components/forms/date-picker/presets/index.ts +7 -0
- package/src/components/forms/date-picker/presets/presets.stories.tsx +105 -0
- package/src/components/forms/date-picker/presets/presets.tsx +196 -0
- package/src/components/forms/date-picker/shared.ts +109 -0
- package/src/components/forms/date-picker/trigger/index.ts +7 -0
- package/src/components/forms/date-picker/trigger/trigger.stories.tsx +78 -0
- package/src/components/forms/date-picker/trigger/trigger.tsx +195 -0
- package/src/components/forms/date-picker/types.ts +63 -0
- package/src/components/forms/file-upload/file-upload.stories.tsx +145 -0
- package/src/components/forms/file-upload/file-upload.tsx +504 -0
- package/src/components/forms/file-upload/index.ts +7 -0
- package/src/components/forms/input/index.ts +7 -0
- package/src/components/forms/input/input.stories.tsx +185 -0
- package/src/components/forms/input/input.tsx +228 -0
- package/src/components/forms/input-group/index.ts +11 -0
- package/src/components/forms/input-group/input-group.stories.tsx +146 -0
- package/src/components/forms/input-group/input-group.tsx +344 -0
- package/src/components/forms/label/index.ts +7 -0
- package/src/components/forms/label/label.stories.tsx +140 -0
- package/src/components/forms/label/label.tsx +189 -0
- package/src/components/forms/radio-group/index.ts +7 -0
- package/src/components/forms/radio-group/radio-group.stories.tsx +233 -0
- package/src/components/forms/radio-group/radio-group.tsx +476 -0
- package/src/components/forms/select/index.ts +7 -0
- package/src/components/forms/select/select.stories.tsx +274 -0
- package/src/components/forms/select/select.tsx +654 -0
- package/src/components/forms/switch/index.ts +11 -0
- package/src/components/forms/switch/switch.stories.tsx +166 -0
- package/src/components/forms/switch/switch.tsx +362 -0
- package/src/components/forms/textarea/index.ts +7 -0
- package/src/components/forms/textarea/textarea.stories.tsx +176 -0
- package/src/components/forms/textarea/textarea.tsx +225 -0
- package/src/components/layout/app-shell.tsx +363 -0
- package/src/components/layout/app-sidebar/app-sidebar.stories.tsx +68 -0
- package/src/components/layout/app-sidebar/app-sidebar.tsx +418 -0
- package/src/components/layout/app-sidebar/index.ts +11 -0
- package/src/components/layout/artifact-panel/artifact-panel-header.tsx +89 -0
- package/src/components/layout/artifact-panel/expandable-panel.stories.tsx +484 -0
- package/src/components/layout/artifact-panel/expandable-panel.tsx +289 -0
- package/src/components/layout/artifact-panel/index.ts +23 -0
- package/src/components/layout/artifact-panel/split-panel-layout.tsx +70 -0
- package/src/components/layout/artifact-panel/types.ts +63 -0
- package/src/components/layout/artifact-panel/use-artifact-panel-state.ts +101 -0
- package/src/components/layout/content-sidebar/content-sidebar.stories.tsx +490 -0
- package/src/components/layout/content-sidebar/content-sidebar.tsx +337 -0
- package/src/components/layout/content-sidebar/index.ts +17 -0
- package/src/components/layout/nav-app-switcher/index.ts +7 -0
- package/src/components/layout/nav-app-switcher/nav-app-switcher.stories.tsx +138 -0
- package/src/components/layout/nav-app-switcher/nav-app-switcher.tsx +282 -0
- package/src/components/layout/nav-main/index.ts +11 -0
- package/src/components/layout/nav-main/nav-main.stories.tsx +103 -0
- package/src/components/layout/nav-main/nav-main.tsx +259 -0
- package/src/components/layout/nav-projects/index.ts +11 -0
- package/src/components/layout/nav-projects/nav-projects.stories.tsx +82 -0
- package/src/components/layout/nav-projects/nav-projects.tsx +218 -0
- package/src/components/layout/nav-secondary/index.ts +11 -0
- package/src/components/layout/nav-secondary/nav-secondary.stories.tsx +81 -0
- package/src/components/layout/nav-secondary/nav-secondary.tsx +145 -0
- package/src/components/layout/nav-user/index.ts +11 -0
- package/src/components/layout/nav-user/nav-user.stories.tsx +80 -0
- package/src/components/layout/nav-user/nav-user.tsx +226 -0
- package/src/components/layout/oneapp/auth-context.tsx +74 -0
- package/src/components/layout/oneapp/ensure-anonymous-session.tsx +218 -0
- package/src/components/layout/oneapp/index.ts +37 -0
- package/src/components/layout/oneapp/microfrontend-layout.tsx +191 -0
- package/src/components/layout/oneapp/types.ts +98 -0
- package/src/components/layout/sidebar/index.ts +7 -0
- package/src/components/layout/sidebar/sidebar.stories.tsx +170 -0
- package/src/components/layout/sidebar/sidebar.tsx +945 -0
- package/src/components/layout/sidebar-inset-header-portal/index.ts +8 -0
- package/src/components/layout/sidebar-inset-header-portal/sidebar-inset-header-portal.stories.tsx +355 -0
- package/src/components/layout/sidebar-inset-header-portal/sidebar-inset-header-portal.tsx +179 -0
- package/src/components/layout/sidebar-slots/USAGE.md +163 -0
- package/src/components/layout/sidebar-slots/__tests__/sidebar-slots.test.tsx +239 -0
- package/src/components/layout/sidebar-slots/index.ts +9 -0
- package/src/components/layout/sidebar-slots/sidebar-slots.stories.tsx +525 -0
- package/src/components/layout/sidebar-slots/sidebar-slots.tsx +205 -0
- package/src/components/layout/theme-provider/index.ts +11 -0
- package/src/components/layout/theme-provider/theme-provider.stories.tsx +82 -0
- package/src/components/layout/theme-provider/theme-provider.tsx +101 -0
- package/src/components/overlays/confirm-dialog.stories.tsx +371 -0
- package/src/components/overlays/confirm-dialog.tsx +201 -0
- package/src/components/overlays/toast.stories.tsx +373 -0
- package/src/components/overlays/toast.tsx +115 -0
- package/src/constants/container.ts +183 -0
- package/src/constants/index.ts +38 -0
- package/src/constants/motion.ts +104 -0
- package/src/fonts/Satoshi-Variable.woff2 +0 -0
- package/src/fonts/Satoshi-VariableItalic.woff2 +0 -0
- package/src/fonts/fonts.css +41 -0
- package/src/fonts/index.ts +106 -0
- package/src/hooks/.gitkeep +0 -0
- package/src/hooks/ai-chat/context.tsx +294 -0
- package/src/hooks/ai-chat/hooks.ts +297 -0
- package/src/hooks/ai-chat/index.ts +35 -0
- package/src/hooks/ai-chat/utils.ts +65 -0
- package/src/hooks/index.ts +18 -0
- package/src/hooks/use-mobile.ts +45 -0
- package/src/hooks/use-responsive.ts +64 -0
- package/src/hooks/use-scroll-progress.ts +101 -0
- package/src/hooks/use-toast.ts +65 -0
- package/src/index.ts +857 -0
- package/src/lib/export-csv.ts +107 -0
- package/src/lib/index.ts +10 -0
- package/src/lib/resize-image.ts +109 -0
- package/src/lib/stable-sort.ts +29 -0
- package/src/lib/utils.ts +28 -0
- package/src/react-19-compat.d.ts +28 -0
- package/src/shared/auth/index.ts +8 -0
- package/src/shared/auth/types/index.ts +163 -0
- package/src/shared/auth/types.ts +196 -0
- package/src/shared/auth/utils/dark-mode.ts +336 -0
- package/src/shared/index.ts +5 -0
- package/src/styles/_tokens.generated.scss +84 -0
- package/src/styles/ai-elements.scss +9 -0
- package/src/styles/base.scss +44 -0
- package/src/styles/flows.scss +62 -0
- package/src/styles/globals.css +627 -0
- package/src/styles/index.scss +9 -0
- package/src/styles/shadcn.scss +16 -0
- package/src/styles/sources.css +16 -0
- package/src/styles/theme.css +1687 -0
- package/src/styles/theme.template.css +95 -0
- package/src/tokens/accessibility.ts +494 -0
- package/src/tokens/animations.ts +305 -0
- package/src/tokens/aspect-ratio.ts +89 -0
- package/src/tokens/blur.ts +82 -0
- package/src/tokens/border-width.ts +86 -0
- package/src/tokens/breakpoints.ts +150 -0
- package/src/tokens/colors.ts +1199 -0
- package/src/tokens/component.ts +362 -0
- package/src/tokens/container.ts +42 -0
- package/src/tokens/focus.ts +266 -0
- package/src/tokens/form-states.ts +521 -0
- package/src/tokens/grid.ts +258 -0
- package/src/tokens/index.ts +1175 -0
- package/src/tokens/interactions.ts +558 -0
- package/src/tokens/mantine-types.ts +68 -0
- package/src/tokens/opacity.ts +139 -0
- package/src/tokens/palette.ts +854 -0
- package/src/tokens/pseudo-elements.ts +508 -0
- package/src/tokens/radius.ts +57 -0
- package/src/tokens/shadows.ts +313 -0
- package/src/tokens/spacing.ts +95 -0
- package/src/tokens/states.ts +392 -0
- package/src/tokens/structural.ts +589 -0
- package/src/tokens/timing.ts +224 -0
- package/src/tokens/typography.ts +242 -0
- package/src/tokens/z-index.ts +184 -0
- package/storybook/preview.tsx +201 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { t as cn } from "./utils-D2bGp2p_.mjs";
|
|
3
|
+
import { a as SPRING_TACTILE } from "./motion-zelaDelJ.mjs";
|
|
4
|
+
import { memo, useMemo } from "react";
|
|
5
|
+
import { useMediaQuery, useReducedMotion } from "@mantine/hooks";
|
|
6
|
+
import { cva } from "class-variance-authority";
|
|
7
|
+
import { motion } from "motion/react";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
10
|
+
|
|
11
|
+
//#region src/components/elements/atoms/avatar/avatar.tsx
|
|
12
|
+
/**
|
|
13
|
+
* @fileoverview Avatar Component - Premium Harmony V2
|
|
14
|
+
*
|
|
15
|
+
* A circular avatar image component with fallback support and size variants.
|
|
16
|
+
* Built on Radix UI Avatar primitives for accessibility and flexibility.
|
|
17
|
+
* Features Premium Harmony V2 design standards for high-quality user identity display.
|
|
18
|
+
*
|
|
19
|
+
* Features:
|
|
20
|
+
* - ES2023 syntax with modern patterns
|
|
21
|
+
* - Tailwind v4 CSS-first theming with CSS variables
|
|
22
|
+
* - Complete size variants (xs, sm, default, lg, touch, xl, 2xl)
|
|
23
|
+
* - Super light/dark mode with seamless switching
|
|
24
|
+
* - Radix UI primitives for accessibility
|
|
25
|
+
* - Smooth fade-in animation on image load
|
|
26
|
+
* - Premium Harmony V2 spring physics (SPRING_TACTILE for interactions)
|
|
27
|
+
* - Touch-optimized with 44px minimum target (WCAG 2.5.5)
|
|
28
|
+
* - Reduced motion support
|
|
29
|
+
* - Data attributes for state tracking
|
|
30
|
+
*
|
|
31
|
+
* @module @od-oneapp/uni-ui/components/elements/avatar
|
|
32
|
+
* @component Avatar
|
|
33
|
+
*
|
|
34
|
+
* @useCases
|
|
35
|
+
* - User profiles: Displaying user photos with initials fallback in headers or cards
|
|
36
|
+
* - Messaging: Identifying authors in chat bubbles or comment sections
|
|
37
|
+
* - Directories: Listing team members or contacts in a grid or list view
|
|
38
|
+
* - Selection: Selecting users from a menu or dropdown interface
|
|
39
|
+
* - Identity: Showing current user in account switcher or profile menus
|
|
40
|
+
* - Social: Displaying follower or following lists with presence indicators
|
|
41
|
+
* - Grouping: Presenting multiple users in an avatar stack (see AvatarStack)
|
|
42
|
+
*
|
|
43
|
+
* @subcomponents
|
|
44
|
+
* - Avatar - Root container with size variants
|
|
45
|
+
* - AvatarImage - Image element with loading animation
|
|
46
|
+
* - AvatarFallback - Fallback content (initials/icon)
|
|
47
|
+
*
|
|
48
|
+
* @variants
|
|
49
|
+
* - size: xs, sm, default, lg, touch, xl, 2xl
|
|
50
|
+
* - ring: boolean (adds border/ring)
|
|
51
|
+
* - interactive: boolean (enables cursor and focus styles)
|
|
52
|
+
*
|
|
53
|
+
* @example <Avatar size="default"><AvatarImage src="/avatar.jpg" alt="User" /><AvatarFallback>JD</AvatarFallback></Avatar>
|
|
54
|
+
* @example <Avatar size="lg" ring><AvatarImage src="/profile.jpg" alt="Profile" /><AvatarFallback>JD</AvatarFallback></Avatar>
|
|
55
|
+
* @example <Avatar size="touch" onClick={() => {}}><AvatarImage src="/contact.jpg" alt="Contact" /><AvatarFallback>TC</AvatarFallback></Avatar>
|
|
56
|
+
*/
|
|
57
|
+
/**
|
|
58
|
+
* Avatar variant definitions using CVA
|
|
59
|
+
*
|
|
60
|
+
* Base styles include:
|
|
61
|
+
* - Circular shape with overflow hidden
|
|
62
|
+
* - Flex container for content alignment
|
|
63
|
+
* - Multiple size options (xs through 2xl, with 'touch' for 44px WCAG compliance)
|
|
64
|
+
* - Focus-visible ring for keyboard navigation
|
|
65
|
+
*/
|
|
66
|
+
const avatarVariants = cva([
|
|
67
|
+
"relative flex shrink-0 overflow-hidden",
|
|
68
|
+
"rounded-full",
|
|
69
|
+
"aspect-square"
|
|
70
|
+
], {
|
|
71
|
+
variants: {
|
|
72
|
+
size: {
|
|
73
|
+
xs: "size-5 text-[10px]",
|
|
74
|
+
sm: "size-6 text-xs",
|
|
75
|
+
default: "size-8 text-sm",
|
|
76
|
+
lg: "size-10 text-base",
|
|
77
|
+
touch: "size-11 text-base",
|
|
78
|
+
xl: "size-12 text-lg",
|
|
79
|
+
"2xl": "size-16 text-xl"
|
|
80
|
+
},
|
|
81
|
+
ring: {
|
|
82
|
+
true: ["ring-2 ring-border ring-offset-2 ring-offset-background", "dark:ring-border dark:ring-offset-background"],
|
|
83
|
+
false: ""
|
|
84
|
+
},
|
|
85
|
+
interactive: {
|
|
86
|
+
true: [
|
|
87
|
+
"cursor-pointer",
|
|
88
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
89
|
+
"transition-transform"
|
|
90
|
+
],
|
|
91
|
+
false: ""
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
defaultVariants: {
|
|
95
|
+
size: "default",
|
|
96
|
+
ring: false,
|
|
97
|
+
interactive: false
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
/**
|
|
101
|
+
* Avatar Component - Premium Harmony V2
|
|
102
|
+
*
|
|
103
|
+
* Root container for avatar with size variants and spring physics.
|
|
104
|
+
* Wraps Radix UI Avatar.Root for accessibility.
|
|
105
|
+
*
|
|
106
|
+
* Features:
|
|
107
|
+
* - Auto-detects touch devices and adjusts tap feedback
|
|
108
|
+
* - Respects reduced motion preferences
|
|
109
|
+
* - Uses SPRING_TACTILE physics for natural feel
|
|
110
|
+
* - Adds focus-visible ring for keyboard navigation
|
|
111
|
+
* - Supports data attributes for state tracking
|
|
112
|
+
*/
|
|
113
|
+
const Avatar = memo(function Avatar({ className, size, ring, ...props }) {
|
|
114
|
+
const isTouchDevice = useMediaQuery("(pointer: coarse)");
|
|
115
|
+
const shouldReduceMotion = useReducedMotion();
|
|
116
|
+
const isInteractive = Boolean(props.onClick || props.onMouseDown || props.onKeyDown);
|
|
117
|
+
const Comp = isInteractive ? motion(AvatarPrimitive.Root) : AvatarPrimitive.Root;
|
|
118
|
+
const avatarClassName = useMemo(() => cn(avatarVariants({
|
|
119
|
+
size,
|
|
120
|
+
ring,
|
|
121
|
+
interactive: isInteractive
|
|
122
|
+
}), className), [
|
|
123
|
+
size,
|
|
124
|
+
ring,
|
|
125
|
+
isInteractive,
|
|
126
|
+
className
|
|
127
|
+
]);
|
|
128
|
+
const motionProps = isInteractive ? {
|
|
129
|
+
whileTap: shouldReduceMotion ? void 0 : { scale: .98 },
|
|
130
|
+
whileHover: shouldReduceMotion || isTouchDevice ? void 0 : { scale: 1.02 },
|
|
131
|
+
transition: shouldReduceMotion ? { duration: 0 } : SPRING_TACTILE
|
|
132
|
+
} : {};
|
|
133
|
+
return /* @__PURE__ */ jsx(Comp, {
|
|
134
|
+
"data-slot": "avatar",
|
|
135
|
+
"data-interactive": isInteractive ? "true" : void 0,
|
|
136
|
+
className: avatarClassName,
|
|
137
|
+
...motionProps,
|
|
138
|
+
...props
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
Avatar.displayName = "Avatar";
|
|
142
|
+
/**
|
|
143
|
+
* AvatarImage variant definitions
|
|
144
|
+
*/
|
|
145
|
+
const avatarImageVariants = cva([
|
|
146
|
+
"aspect-square size-full",
|
|
147
|
+
"object-cover",
|
|
148
|
+
"animate-avatar-fade-in"
|
|
149
|
+
]);
|
|
150
|
+
/**
|
|
151
|
+
* AvatarImage Component - Premium Harmony V2
|
|
152
|
+
*
|
|
153
|
+
* Image element with fade-in animation on load.
|
|
154
|
+
* Falls back to AvatarFallback if image fails to load.
|
|
155
|
+
*
|
|
156
|
+
* Features:
|
|
157
|
+
* - Automatic data-state tracking (loading/loaded)
|
|
158
|
+
* - Fade-in animation respects reduced motion preferences
|
|
159
|
+
* - Semantic color tokens for consistent theming
|
|
160
|
+
*/
|
|
161
|
+
const AvatarImage = memo(function AvatarImage({ className, ...props }) {
|
|
162
|
+
return /* @__PURE__ */ jsx(AvatarPrimitive.Image, {
|
|
163
|
+
"data-slot": "avatar-image",
|
|
164
|
+
className: cn(avatarImageVariants(), className),
|
|
165
|
+
...props
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
AvatarImage.displayName = "AvatarImage";
|
|
169
|
+
/**
|
|
170
|
+
* AvatarFallback variant definitions
|
|
171
|
+
*/
|
|
172
|
+
const avatarFallbackVariants = cva([
|
|
173
|
+
"flex size-full items-center justify-center rounded-full",
|
|
174
|
+
"bg-muted text-muted-foreground",
|
|
175
|
+
"font-medium uppercase",
|
|
176
|
+
"select-none",
|
|
177
|
+
"dark:bg-muted/80 dark:text-muted-foreground"
|
|
178
|
+
]);
|
|
179
|
+
/**
|
|
180
|
+
* AvatarFallback Component - Premium Harmony V2
|
|
181
|
+
*
|
|
182
|
+
* Fallback content shown when image is loading or fails to load.
|
|
183
|
+
* Typically displays initials or a placeholder icon.
|
|
184
|
+
*
|
|
185
|
+
* Features:
|
|
186
|
+
* - Semantic color tokens for consistent theming
|
|
187
|
+
* - Automatic delay support via Radix UI
|
|
188
|
+
* - Uppercase initials with medium weight
|
|
189
|
+
* - Proper dark mode support
|
|
190
|
+
*/
|
|
191
|
+
const AvatarFallback = memo(function AvatarFallback({ className, ...props }) {
|
|
192
|
+
return /* @__PURE__ */ jsx(AvatarPrimitive.Fallback, {
|
|
193
|
+
"data-slot": "avatar-fallback",
|
|
194
|
+
className: cn(avatarFallbackVariants(), className),
|
|
195
|
+
...props
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
AvatarFallback.displayName = "AvatarFallback";
|
|
199
|
+
|
|
200
|
+
//#endregion
|
|
201
|
+
export { avatarImageVariants as a, avatarFallbackVariants as i, AvatarFallback as n, avatarVariants as o, AvatarImage as r, Avatar as t };
|
|
202
|
+
//# sourceMappingURL=avatar-DjiX7nT8.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-DjiX7nT8.mjs","names":[],"sources":["../src/components/elements/atoms/avatar/avatar.tsx"],"sourcesContent":["/**\n * @fileoverview Avatar Component - Premium Harmony V2\n *\n * A circular avatar image component with fallback support and size variants.\n * Built on Radix UI Avatar primitives for accessibility and flexibility.\n * Features Premium Harmony V2 design standards for high-quality user identity display.\n *\n * Features:\n * - ES2023 syntax with modern patterns\n * - Tailwind v4 CSS-first theming with CSS variables\n * - Complete size variants (xs, sm, default, lg, touch, xl, 2xl)\n * - Super light/dark mode with seamless switching\n * - Radix UI primitives for accessibility\n * - Smooth fade-in animation on image load\n * - Premium Harmony V2 spring physics (SPRING_TACTILE for interactions)\n * - Touch-optimized with 44px minimum target (WCAG 2.5.5)\n * - Reduced motion support\n * - Data attributes for state tracking\n *\n * @module @od-oneapp/uni-ui/components/elements/avatar\n * @component Avatar\n *\n * @useCases\n * - User profiles: Displaying user photos with initials fallback in headers or cards\n * - Messaging: Identifying authors in chat bubbles or comment sections\n * - Directories: Listing team members or contacts in a grid or list view\n * - Selection: Selecting users from a menu or dropdown interface\n * - Identity: Showing current user in account switcher or profile menus\n * - Social: Displaying follower or following lists with presence indicators\n * - Grouping: Presenting multiple users in an avatar stack (see AvatarStack)\n *\n * @subcomponents\n * - Avatar - Root container with size variants\n * - AvatarImage - Image element with loading animation\n * - AvatarFallback - Fallback content (initials/icon)\n *\n * @variants\n * - size: xs, sm, default, lg, touch, xl, 2xl\n * - ring: boolean (adds border/ring)\n * - interactive: boolean (enables cursor and focus styles)\n *\n * @example <Avatar size=\"default\"><AvatarImage src=\"/avatar.jpg\" alt=\"User\" /><AvatarFallback>JD</AvatarFallback></Avatar>\n * @example <Avatar size=\"lg\" ring><AvatarImage src=\"/profile.jpg\" alt=\"Profile\" /><AvatarFallback>JD</AvatarFallback></Avatar>\n * @example <Avatar size=\"touch\" onClick={() => {}}><AvatarImage src=\"/contact.jpg\" alt=\"Contact\" /><AvatarFallback>TC</AvatarFallback></Avatar>\n */\n\n'use client';\n\nimport type { ComponentProps } from 'react';\nimport { memo, useMemo } from 'react';\n\nimport { useMediaQuery, useReducedMotion } from '@mantine/hooks';\nimport * as AvatarPrimitive from '@radix-ui/react-avatar';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { motion } from 'motion/react';\n\nimport { cn } from '../../../../lib/utils';\nimport { SPRING_TACTILE } from '../../../ai-elements/ai-elements.constants';\n\n/**\n * Avatar variant definitions using CVA\n *\n * Base styles include:\n * - Circular shape with overflow hidden\n * - Flex container for content alignment\n * - Multiple size options (xs through 2xl, with 'touch' for 44px WCAG compliance)\n * - Focus-visible ring for keyboard navigation\n */\nconst avatarVariants = cva(\n [\n // Layout\n 'relative flex shrink-0 overflow-hidden',\n // Shape\n 'rounded-full',\n // Ensure aspect ratio\n 'aspect-square',\n ],\n {\n variants: {\n /**\n * Size variants from extra-small to 2x-large\n * 'touch' variant ensures 44px minimum for WCAG 2.5.5 Level AAA\n */\n size: {\n xs: 'size-5 text-[10px]',\n sm: 'size-6 text-xs',\n default: 'size-8 text-sm',\n lg: 'size-10 text-base',\n touch: 'size-11 text-base', // 44px minimum for touch targets\n xl: 'size-12 text-lg',\n '2xl': 'size-16 text-xl',\n },\n /**\n * Optional ring/border style\n */\n ring: {\n true: [\n 'ring-2 ring-border ring-offset-2 ring-offset-background',\n 'dark:ring-border dark:ring-offset-background',\n ],\n false: '',\n },\n /**\n * Interactive state styling\n */\n interactive: {\n true: [\n 'cursor-pointer',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n 'transition-transform',\n ],\n false: '',\n },\n },\n defaultVariants: {\n size: 'default',\n ring: false,\n interactive: false,\n },\n },\n);\n\n/**\n * Avatar component props\n */\ninterface AvatarProps\n extends ComponentProps<typeof AvatarPrimitive.Root>, VariantProps<typeof avatarVariants> {}\n\n/**\n * Avatar Component - Premium Harmony V2\n *\n * Root container for avatar with size variants and spring physics.\n * Wraps Radix UI Avatar.Root for accessibility.\n *\n * Features:\n * - Auto-detects touch devices and adjusts tap feedback\n * - Respects reduced motion preferences\n * - Uses SPRING_TACTILE physics for natural feel\n * - Adds focus-visible ring for keyboard navigation\n * - Supports data attributes for state tracking\n */\nconst Avatar = memo(function Avatar({ className, size, ring, ...props }: AvatarProps) {\n // Premium Harmony V2: Detect touch capability and motion preferences\n const isTouchDevice = useMediaQuery('(pointer: coarse)');\n const shouldReduceMotion = useReducedMotion();\n\n // Determine if interactive (wrapped in button/anchor or has click handlers)\n const isInteractive = Boolean(props.onClick || props.onMouseDown || props.onKeyDown);\n\n const Comp = isInteractive ? motion(AvatarPrimitive.Root) : AvatarPrimitive.Root;\n\n // Memoize className computation for performance\n const avatarClassName = useMemo(\n () => cn(avatarVariants({ size, ring, interactive: isInteractive }), className),\n [size, ring, isInteractive, className],\n );\n\n // Premium Harmony V2: Spring physics with reduced motion support\n const motionProps = isInteractive\n ? {\n whileTap: shouldReduceMotion ? undefined : { scale: 0.98 },\n whileHover: shouldReduceMotion || isTouchDevice ? undefined : { scale: 1.02 },\n transition: shouldReduceMotion ? { duration: 0 } : SPRING_TACTILE, // Use Premium Harmony V2 constant\n }\n : {};\n\n return (\n // eslint-disable-next-line react-hooks/static-components -- Dynamic component selection is intentional\n <Comp\n data-slot=\"avatar\"\n data-interactive={isInteractive ? 'true' : undefined}\n className={avatarClassName}\n {...(motionProps as any)}\n {...(props as any)}\n />\n );\n});\n\nAvatar.displayName = 'Avatar';\n\n/**\n * AvatarImage variant definitions\n */\nconst avatarImageVariants = cva([\n // Size and aspect ratio\n 'aspect-square size-full',\n // Object fit\n 'object-cover',\n // Animation on load (respects prefers-reduced-motion)\n 'animate-avatar-fade-in',\n]);\n\n/**\n * AvatarImage component props\n */\ninterface AvatarImageProps extends ComponentProps<typeof AvatarPrimitive.Image> {}\n\n/**\n * AvatarImage Component - Premium Harmony V2\n *\n * Image element with fade-in animation on load.\n * Falls back to AvatarFallback if image fails to load.\n *\n * Features:\n * - Automatic data-state tracking (loading/loaded)\n * - Fade-in animation respects reduced motion preferences\n * - Semantic color tokens for consistent theming\n */\nconst AvatarImage = memo(function AvatarImage({ className, ...props }: AvatarImageProps) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(avatarImageVariants(), className)}\n {...props}\n />\n );\n});\n\nAvatarImage.displayName = 'AvatarImage';\n\n/**\n * AvatarFallback variant definitions\n */\nconst avatarFallbackVariants = cva([\n // Size and shape\n 'flex size-full items-center justify-center rounded-full',\n // Background and text (semantic color tokens)\n 'bg-muted text-muted-foreground',\n // Typography\n 'font-medium uppercase',\n // Selection\n 'select-none',\n // Dark mode\n 'dark:bg-muted/80 dark:text-muted-foreground',\n]);\n\n/**\n * AvatarFallback component props\n */\ninterface AvatarFallbackProps extends ComponentProps<typeof AvatarPrimitive.Fallback> {}\n\n/**\n * AvatarFallback Component - Premium Harmony V2\n *\n * Fallback content shown when image is loading or fails to load.\n * Typically displays initials or a placeholder icon.\n *\n * Features:\n * - Semantic color tokens for consistent theming\n * - Automatic delay support via Radix UI\n * - Uppercase initials with medium weight\n * - Proper dark mode support\n */\nconst AvatarFallback = memo(function AvatarFallback({ className, ...props }: AvatarFallbackProps) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(avatarFallbackVariants(), className)}\n {...props}\n />\n );\n});\n\nAvatarFallback.displayName = 'AvatarFallback';\n\nexport {\n Avatar,\n AvatarFallback,\n avatarFallbackVariants,\n AvatarImage,\n avatarImageVariants,\n avatarVariants,\n};\nexport type { AvatarFallbackProps, AvatarImageProps, AvatarProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEA,MAAM,iBAAiB,IACrB;CAEE;CAEA;CAEA;CACD,EACD;CACE,UAAU;EAKR,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,OAAO;GACP,IAAI;GACJ,OAAO;GACR;EAID,MAAM;GACJ,MAAM,CACJ,2DACA,+CACD;GACD,OAAO;GACR;EAID,aAAa;GACX,MAAM;IACJ;IACA;IACA;IACD;GACD,OAAO;GACR;EACF;CACD,iBAAiB;EACf,MAAM;EACN,MAAM;EACN,aAAa;EACd;CACF,CACF;;;;;;;;;;;;;;AAqBD,MAAM,SAAS,KAAK,SAAS,OAAO,EAAE,WAAW,MAAM,MAAM,GAAG,SAAsB;CAEpF,MAAM,gBAAgB,cAAc,oBAAoB;CACxD,MAAM,qBAAqB,kBAAkB;CAG7C,MAAM,gBAAgB,QAAQ,MAAM,WAAW,MAAM,eAAe,MAAM,UAAU;CAEpF,MAAM,OAAO,gBAAgB,OAAO,gBAAgB,KAAK,GAAG,gBAAgB;CAG5E,MAAM,kBAAkB,cAChB,GAAG,eAAe;EAAE;EAAM;EAAM,aAAa;EAAe,CAAC,EAAE,UAAU,EAC/E;EAAC;EAAM;EAAM;EAAe;EAAU,CACvC;CAGD,MAAM,cAAc,gBAChB;EACE,UAAU,qBAAqB,SAAY,EAAE,OAAO,KAAM;EAC1D,YAAY,sBAAsB,gBAAgB,SAAY,EAAE,OAAO,MAAM;EAC7E,YAAY,qBAAqB,EAAE,UAAU,GAAG,GAAG;EACpD,GACD,EAAE;AAEN,QAEE,oBAAC;EACC,aAAU;EACV,oBAAkB,gBAAgB,SAAS;EAC3C,WAAW;EACX,GAAK;EACL,GAAK;GACL;EAEJ;AAEF,OAAO,cAAc;;;;AAKrB,MAAM,sBAAsB,IAAI;CAE9B;CAEA;CAEA;CACD,CAAC;;;;;;;;;;;;AAkBF,MAAM,cAAc,KAAK,SAAS,YAAY,EAAE,WAAW,GAAG,SAA2B;AACvF,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GAAG,qBAAqB,EAAE,UAAU;EAC/C,GAAI;GACJ;EAEJ;AAEF,YAAY,cAAc;;;;AAK1B,MAAM,yBAAyB,IAAI;CAEjC;CAEA;CAEA;CAEA;CAEA;CACD,CAAC;;;;;;;;;;;;;AAmBF,MAAM,iBAAiB,KAAK,SAAS,eAAe,EAAE,WAAW,GAAG,SAA8B;AAChG,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GAAG,wBAAwB,EAAE,UAAU;EAClD,GAAI;GACJ;EAEJ;AAEF,eAAe,cAAc"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
import { i as SkeletonProps } from "./skeleton-ByXUFNDF.mjs";
|
|
3
|
+
import * as React$1 from "react";
|
|
4
|
+
import { ComponentProps } from "react";
|
|
5
|
+
import { VariantProps } from "class-variance-authority";
|
|
6
|
+
import * as class_variance_authority_types0 from "class-variance-authority/types";
|
|
7
|
+
|
|
8
|
+
//#region src/components/elements/atoms/badge/badge.d.ts
|
|
9
|
+
declare const badgeVariants: (props?: ({
|
|
10
|
+
variant?: "default" | "neutral" | "outline" | "success" | "info" | "warning" | "destructive" | "secondary" | null | undefined;
|
|
11
|
+
size?: "default" | "sm" | "lg" | "touch" | null | undefined;
|
|
12
|
+
} & class_variance_authority_types0.ClassProp) | undefined) => string;
|
|
13
|
+
declare const BadgeSkeleton: React$1.NamedExoticComponent<VariantProps<(props?: ({
|
|
14
|
+
variant?: "default" | "neutral" | "outline" | "success" | "info" | "warning" | "destructive" | "secondary" | null | undefined;
|
|
15
|
+
size?: "default" | "sm" | "lg" | "touch" | null | undefined;
|
|
16
|
+
} & class_variance_authority_types0.ClassProp) | undefined) => string> & SkeletonProps>;
|
|
17
|
+
interface BadgeProps extends ComponentProps<'span'>, VariantProps<typeof badgeVariants> {
|
|
18
|
+
asChild?: boolean;
|
|
19
|
+
pulse?: boolean;
|
|
20
|
+
disableEntranceAnimation?: boolean;
|
|
21
|
+
}
|
|
22
|
+
declare const Badge: React$1.NamedExoticComponent<BadgeProps>;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { badgeVariants as i, BadgeProps as n, BadgeSkeleton as r, Badge as t };
|
|
25
|
+
//# sourceMappingURL=badge-CGTN2VG0.d.mts.map
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { t as cn } from "./utils-D2bGp2p_.mjs";
|
|
3
|
+
import { a as SPRING_TACTILE } from "./motion-zelaDelJ.mjs";
|
|
4
|
+
import { t as Skeleton } from "./skeleton-aXwA3YID.mjs";
|
|
5
|
+
import * as React$1 from "react";
|
|
6
|
+
import { memo } from "react";
|
|
7
|
+
import { useMediaQuery, useReducedMotion } from "@mantine/hooks";
|
|
8
|
+
import { cva } from "class-variance-authority";
|
|
9
|
+
import { motion } from "motion/react";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
12
|
+
|
|
13
|
+
//#region src/components/elements/atoms/badge/badge.tsx
|
|
14
|
+
/**
|
|
15
|
+
* @fileoverview Badge Component - Premium Harmony V2
|
|
16
|
+
*
|
|
17
|
+
* A small label component for displaying status, categories, or counts.
|
|
18
|
+
* Supports polymorphic rendering via `asChild` prop and multiple variants.
|
|
19
|
+
* Features Premium Harmony V2 design standards for subtle but effective visual cues.
|
|
20
|
+
*
|
|
21
|
+
* Features:
|
|
22
|
+
* - Premium Harmony V2 spring physics for tactile feedback
|
|
23
|
+
* - Touch vs desktop detection for adaptive sizing
|
|
24
|
+
* - 44px minimum touch targets on touch devices (WCAG 2.5.5)
|
|
25
|
+
* - Respects reduced motion preferences
|
|
26
|
+
* - ES2023 syntax with modern patterns
|
|
27
|
+
* - Tailwind v4 CSS-first theming with CSS variables
|
|
28
|
+
* - Complete pseudo-state coverage (:hover, :active, :focus-visible, :disabled)
|
|
29
|
+
* - Super light/dark mode with seamless switching
|
|
30
|
+
* - Full accessibility support (ARIA, keyboard navigation)
|
|
31
|
+
* - Data attributes for state management
|
|
32
|
+
* - Semantic color tokens for theme adaptation
|
|
33
|
+
* - [Pillar 1: Loading & Skeletons] Integrated BadgeSkeleton for improved perceived performance
|
|
34
|
+
* - [Pillar 4: Micro-moments] Added entrance animations and tactile scale-95 feedback for interactive states
|
|
35
|
+
*
|
|
36
|
+
* @module @od-oneapp/uni-ui/components/elements/badge
|
|
37
|
+
* @component Badge
|
|
38
|
+
*
|
|
39
|
+
* @useCases
|
|
40
|
+
* - Status indicators: Online, offline, busy, away status for users or systems
|
|
41
|
+
* - Notification counts: Unread message counts on buttons or icons
|
|
42
|
+
* - Category labels: Tagging content for organization and filtering
|
|
43
|
+
* - Severity levels: Indicating error, warning, success, or info states
|
|
44
|
+
* - User roles: Displaying admin, editor, or viewer permissions
|
|
45
|
+
* - Feature flags: Labeling beta, new, or deprecated features
|
|
46
|
+
* - Priority markers: Flagging high, medium, or low priority tasks
|
|
47
|
+
* - Tag clouds: Grouping related topics or interests
|
|
48
|
+
* - Pre-loading: Use BadgeSkeleton to reserve space during page transitions
|
|
49
|
+
*
|
|
50
|
+
* @variants
|
|
51
|
+
* - variant: default | secondary | destructive | outline | success | warning | info | neutral
|
|
52
|
+
* - size: sm | default | lg | touch
|
|
53
|
+
*
|
|
54
|
+
* @example <Badge variant="success">Active</Badge>
|
|
55
|
+
* @example <Badge pulse>3</Badge>
|
|
56
|
+
* @example <Badge variant="secondary" size="sm">Draft</Badge>
|
|
57
|
+
* @example <Badge variant="destructive">Error</Badge>
|
|
58
|
+
* @example <BadgeSkeleton size="default" />
|
|
59
|
+
*/
|
|
60
|
+
/**
|
|
61
|
+
* Motion-enhanced Slot for polymorphic animations
|
|
62
|
+
* Defined outside render to prevent component recreation
|
|
63
|
+
*/
|
|
64
|
+
const MotionSlot = motion.create(Slot);
|
|
65
|
+
/**
|
|
66
|
+
* Badge variant definitions using CVA
|
|
67
|
+
*
|
|
68
|
+
* Base styles include:
|
|
69
|
+
* - Inline-flex layout with centered content
|
|
70
|
+
* - Rounded pill shape with configurable border
|
|
71
|
+
* - Typography and spacing
|
|
72
|
+
* - Icon sizing and alignment
|
|
73
|
+
* - Focus-visible ring for accessibility
|
|
74
|
+
* - Smooth color transitions
|
|
75
|
+
*/
|
|
76
|
+
const badgeVariants = cva([
|
|
77
|
+
"inline-flex items-center justify-center gap-1 shrink-0 w-fit",
|
|
78
|
+
"whitespace-nowrap overflow-hidden",
|
|
79
|
+
"text-xs font-medium leading-tight",
|
|
80
|
+
"rounded-full border",
|
|
81
|
+
"[&>svg]:size-3 [&>svg]:shrink-0 [&>svg]:pointer-events-none",
|
|
82
|
+
"transition-[color,background-color,border-color,box-shadow,transform] duration-150 ease-out",
|
|
83
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
|
|
84
|
+
"aria-invalid:ring-2 aria-invalid:ring-destructive/20 aria-invalid:border-destructive",
|
|
85
|
+
"dark:aria-invalid:ring-destructive/40"
|
|
86
|
+
], {
|
|
87
|
+
variants: {
|
|
88
|
+
variant: {
|
|
89
|
+
default: [
|
|
90
|
+
"border-transparent",
|
|
91
|
+
"bg-primary text-primary-foreground",
|
|
92
|
+
"[a&]:hover:bg-primary/85 [button&]:hover:bg-primary/85",
|
|
93
|
+
"[a&]:active:bg-primary/75 [button&]:active:bg-primary/75 [a&]:active:scale-95 [button&]:active:scale-95",
|
|
94
|
+
"dark:bg-primary/90 dark:text-primary-foreground",
|
|
95
|
+
"dark:[a&]:hover:bg-primary/80 dark:[button&]:hover:bg-primary/80"
|
|
96
|
+
],
|
|
97
|
+
secondary: [
|
|
98
|
+
"border-transparent",
|
|
99
|
+
"bg-secondary text-secondary-foreground",
|
|
100
|
+
"[a&]:hover:bg-secondary/80 [button&]:hover:bg-secondary/80",
|
|
101
|
+
"[a&]:active:bg-secondary/70 [button&]:active:bg-secondary/70 [a&]:active:scale-95 [button&]:active:scale-95",
|
|
102
|
+
"dark:bg-secondary/80 dark:text-secondary-foreground"
|
|
103
|
+
],
|
|
104
|
+
destructive: [
|
|
105
|
+
"border-transparent",
|
|
106
|
+
"bg-destructive text-destructive-foreground",
|
|
107
|
+
"[a&]:hover:bg-destructive/85 [button&]:hover:bg-destructive/85",
|
|
108
|
+
"[a&]:active:bg-destructive/75 [button&]:active:bg-destructive/75 [a&]:active:scale-95 [button&]:active:scale-95",
|
|
109
|
+
"focus-visible:ring-destructive/20",
|
|
110
|
+
"dark:bg-destructive/80 dark:text-destructive-foreground",
|
|
111
|
+
"dark:focus-visible:ring-destructive/40"
|
|
112
|
+
],
|
|
113
|
+
outline: [
|
|
114
|
+
"border-border bg-transparent",
|
|
115
|
+
"text-foreground",
|
|
116
|
+
"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
|
|
117
|
+
"[button&]:hover:bg-accent [button&]:hover:text-accent-foreground",
|
|
118
|
+
"[a&]:active:bg-accent/80 [button&]:active:bg-accent/80 [a&]:active:scale-95 [button&]:active:scale-95",
|
|
119
|
+
"dark:border-border/80 dark:text-foreground",
|
|
120
|
+
"dark:[a&]:hover:bg-accent/50 dark:[button&]:hover:bg-accent/50"
|
|
121
|
+
],
|
|
122
|
+
success: [
|
|
123
|
+
"border-transparent",
|
|
124
|
+
"bg-success/15 text-success",
|
|
125
|
+
"[a&]:hover:bg-success/25 [button&]:hover:bg-success/25",
|
|
126
|
+
"[a&]:active:bg-success/30 [button&]:active:bg-success/30 [a&]:active:scale-95 [button&]:active:scale-95",
|
|
127
|
+
"dark:bg-success/20 dark:text-success",
|
|
128
|
+
"dark:[a&]:hover:bg-success/30 dark:[button&]:hover:bg-success/30"
|
|
129
|
+
],
|
|
130
|
+
warning: [
|
|
131
|
+
"border-transparent",
|
|
132
|
+
"bg-warning/15 text-warning",
|
|
133
|
+
"[a&]:hover:bg-warning/25 [button&]:hover:bg-warning/25",
|
|
134
|
+
"[a&]:active:bg-warning/30 [button&]:active:bg-warning/30 [a&]:active:scale-95 [button&]:active:scale-95",
|
|
135
|
+
"dark:bg-warning/20 dark:text-warning",
|
|
136
|
+
"dark:[a&]:hover:bg-warning/30 dark:[button&]:hover:bg-warning/30"
|
|
137
|
+
],
|
|
138
|
+
info: [
|
|
139
|
+
"border-transparent",
|
|
140
|
+
"bg-info/15 text-info",
|
|
141
|
+
"[a&]:hover:bg-info/25 [button&]:hover:bg-info/25",
|
|
142
|
+
"[a&]:active:bg-info/30 [button&]:active:bg-info/30 [a&]:active:scale-95 [button&]:active:scale-95",
|
|
143
|
+
"dark:bg-info/20 dark:text-info",
|
|
144
|
+
"dark:[a&]:hover:bg-info/30 dark:[button&]:hover:bg-info/30"
|
|
145
|
+
],
|
|
146
|
+
neutral: [
|
|
147
|
+
"border-border",
|
|
148
|
+
"bg-muted text-muted-foreground",
|
|
149
|
+
"[a&]:hover:bg-muted/80 [button&]:hover:bg-muted/80",
|
|
150
|
+
"[a&]:active:bg-muted/70 [button&]:active:bg-muted/70 [a&]:active:scale-95 [button&]:active:scale-95",
|
|
151
|
+
"dark:bg-muted/80 dark:border-border/80"
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
size: {
|
|
155
|
+
sm: "px-1.5 py-0.5 text-2xs [&>svg]:size-2.5",
|
|
156
|
+
default: "px-2 py-0.5 text-xs [&>svg]:size-3",
|
|
157
|
+
lg: "px-2.5 py-1 text-sm [&>svg]:size-3.5",
|
|
158
|
+
touch: "px-3 py-1.5 text-sm min-h-[44px] min-w-[44px] [&>svg]:size-4"
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
defaultVariants: {
|
|
162
|
+
variant: "default",
|
|
163
|
+
size: "default"
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
/**
|
|
167
|
+
* [Pillar 1: Loading & Skeletons] BadgeSkeleton Component
|
|
168
|
+
* Perfectly mirrors Badge dimensions and variants for seamless loading transitions.
|
|
169
|
+
*/
|
|
170
|
+
const BadgeSkeleton = React$1.memo(function BadgeSkeleton({ className, variant, size, ...props }) {
|
|
171
|
+
return /* @__PURE__ */ jsx(Skeleton, {
|
|
172
|
+
"data-slot": "badge-skeleton",
|
|
173
|
+
shape: "pill",
|
|
174
|
+
className: cn(badgeVariants({
|
|
175
|
+
variant,
|
|
176
|
+
size
|
|
177
|
+
}), "animate-pulse opacity-50", className),
|
|
178
|
+
...props
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
/**
|
|
182
|
+
* Badge Component
|
|
183
|
+
*
|
|
184
|
+
* A versatile badge/label component for displaying status, categories, or counts.
|
|
185
|
+
* Supports polymorphic rendering for use as links or buttons.
|
|
186
|
+
*
|
|
187
|
+
* Premium Harmony V2 features:
|
|
188
|
+
* - Automatic touch size detection and application
|
|
189
|
+
* - Spring physics for tactile feedback on interactive badges
|
|
190
|
+
* - Respects user's reduced motion preferences
|
|
191
|
+
* - Data attributes for state-driven styling
|
|
192
|
+
*/
|
|
193
|
+
const Badge = memo(function Badge({ className, variant, size: sizeProp, asChild = false, pulse = false, disableEntranceAnimation = false, ...props }) {
|
|
194
|
+
const [mounted, setMounted] = React$1.useState(false);
|
|
195
|
+
React$1.useEffect(() => {
|
|
196
|
+
setMounted(true);
|
|
197
|
+
}, []);
|
|
198
|
+
const reducedMotion = useReducedMotion() ?? false;
|
|
199
|
+
const isTouch = useMediaQuery("(pointer: coarse)");
|
|
200
|
+
const touchActive = mounted && isTouch;
|
|
201
|
+
const motionReduced = mounted && reducedMotion;
|
|
202
|
+
const isInteractive = props.onClick || props.onMouseDown || asChild;
|
|
203
|
+
const Comp = asChild ? MotionSlot : isInteractive ? motion.span : "span";
|
|
204
|
+
const size = touchActive && !sizeProp ? "touch" : sizeProp;
|
|
205
|
+
const state = pulse ? "pulsing" : isInteractive ? "interactive" : "default";
|
|
206
|
+
const badgeClassName = cn(badgeVariants({
|
|
207
|
+
variant,
|
|
208
|
+
size
|
|
209
|
+
}), pulse && !motionReduced && "animate-badge-pulse", className);
|
|
210
|
+
const entranceProps = disableEntranceAnimation || motionReduced ? {} : {
|
|
211
|
+
initial: {
|
|
212
|
+
opacity: 0,
|
|
213
|
+
scale: .95
|
|
214
|
+
},
|
|
215
|
+
animate: {
|
|
216
|
+
opacity: 1,
|
|
217
|
+
scale: 1
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
const motionProps = (() => {
|
|
221
|
+
if (isInteractive && !motionReduced && !asChild) return {
|
|
222
|
+
whileTap: { scale: .95 },
|
|
223
|
+
transition: SPRING_TACTILE,
|
|
224
|
+
...entranceProps
|
|
225
|
+
};
|
|
226
|
+
if (motionReduced) return {};
|
|
227
|
+
return { ...entranceProps };
|
|
228
|
+
})();
|
|
229
|
+
const { onDrag: _onDrag, onDragStart: _onDragStart, onDragEnd: _onDragEnd, onAnimationStart: _onAnimationStart, onAnimationIteration: _onAnimationIteration, onAnimationCancel: _onAnimationCancel, onAnimationComplete: _onAnimationComplete, ...domProps } = props;
|
|
230
|
+
return /* @__PURE__ */ jsx(Comp, {
|
|
231
|
+
"data-slot": "badge",
|
|
232
|
+
"data-state": state,
|
|
233
|
+
className: badgeClassName,
|
|
234
|
+
...motionProps,
|
|
235
|
+
...domProps
|
|
236
|
+
});
|
|
237
|
+
});
|
|
238
|
+
Badge.displayName = "Badge";
|
|
239
|
+
|
|
240
|
+
//#endregion
|
|
241
|
+
export { BadgeSkeleton as n, badgeVariants as r, Badge as t };
|
|
242
|
+
//# sourceMappingURL=badge-CVoIuyYX.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge-CVoIuyYX.mjs","names":["React"],"sources":["../src/components/elements/atoms/badge/badge.tsx"],"sourcesContent":["/**\n * @fileoverview Badge Component - Premium Harmony V2\n *\n * A small label component for displaying status, categories, or counts.\n * Supports polymorphic rendering via `asChild` prop and multiple variants.\n * Features Premium Harmony V2 design standards for subtle but effective visual cues.\n *\n * Features:\n * - Premium Harmony V2 spring physics for tactile feedback\n * - Touch vs desktop detection for adaptive sizing\n * - 44px minimum touch targets on touch devices (WCAG 2.5.5)\n * - Respects reduced motion preferences\n * - ES2023 syntax with modern patterns\n * - Tailwind v4 CSS-first theming with CSS variables\n * - Complete pseudo-state coverage (:hover, :active, :focus-visible, :disabled)\n * - Super light/dark mode with seamless switching\n * - Full accessibility support (ARIA, keyboard navigation)\n * - Data attributes for state management\n * - Semantic color tokens for theme adaptation\n * - [Pillar 1: Loading & Skeletons] Integrated BadgeSkeleton for improved perceived performance\n * - [Pillar 4: Micro-moments] Added entrance animations and tactile scale-95 feedback for interactive states\n *\n * @module @od-oneapp/uni-ui/components/elements/badge\n * @component Badge\n *\n * @useCases\n * - Status indicators: Online, offline, busy, away status for users or systems\n * - Notification counts: Unread message counts on buttons or icons\n * - Category labels: Tagging content for organization and filtering\n * - Severity levels: Indicating error, warning, success, or info states\n * - User roles: Displaying admin, editor, or viewer permissions\n * - Feature flags: Labeling beta, new, or deprecated features\n * - Priority markers: Flagging high, medium, or low priority tasks\n * - Tag clouds: Grouping related topics or interests\n * - Pre-loading: Use BadgeSkeleton to reserve space during page transitions\n *\n * @variants\n * - variant: default | secondary | destructive | outline | success | warning | info | neutral\n * - size: sm | default | lg | touch\n *\n * @example <Badge variant=\"success\">Active</Badge>\n * @example <Badge pulse>3</Badge>\n * @example <Badge variant=\"secondary\" size=\"sm\">Draft</Badge>\n * @example <Badge variant=\"destructive\">Error</Badge>\n * @example <BadgeSkeleton size=\"default\" />\n */\n\n'use client';\n\nimport type { ComponentProps } from 'react';\nimport * as React from 'react';\nimport { memo } from 'react';\n\nimport { useMediaQuery, useReducedMotion } from '@mantine/hooks';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { motion } from 'motion/react';\n\nimport { SPRING_TACTILE } from '../../../../constants/motion';\nimport { cn } from '../../../../lib/utils';\nimport { Skeleton } from '../skeleton/skeleton';\n\n/**\n * Motion-enhanced Slot for polymorphic animations\n * Defined outside render to prevent component recreation\n */\nconst MotionSlot = motion.create(Slot);\n\n/**\n * Badge variant definitions using CVA\n *\n * Base styles include:\n * - Inline-flex layout with centered content\n * - Rounded pill shape with configurable border\n * - Typography and spacing\n * - Icon sizing and alignment\n * - Focus-visible ring for accessibility\n * - Smooth color transitions\n */\nconst badgeVariants = cva(\n [\n // Layout & sizing\n 'inline-flex items-center justify-center gap-1 shrink-0 w-fit',\n 'whitespace-nowrap overflow-hidden',\n // Typography\n 'text-xs font-medium leading-tight',\n // Shape\n 'rounded-full border',\n // Icon handling\n '[&>svg]:size-3 [&>svg]:shrink-0 [&>svg]:pointer-events-none',\n // Transitions (smooth color/shadow changes)\n 'transition-[color,background-color,border-color,box-shadow,transform] duration-150 ease-out',\n // [Pillar 3: Pseudo-states] Enhanced focus ring using ring-primary token\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2',\n // Invalid state (form validation)\n 'aria-invalid:ring-2 aria-invalid:ring-destructive/20 aria-invalid:border-destructive',\n 'dark:aria-invalid:ring-destructive/40',\n ],\n {\n variants: {\n /**\n * Visual variant styles\n * Each variant includes complete pseudo-state coverage:\n * - Default state\n * - Hover state (for interactive badges)\n * - Active/pressed state\n * - Dark mode overrides\n */\n variant: {\n default: [\n 'border-transparent',\n 'bg-primary text-primary-foreground',\n // Hover state (only for anchor/button badges)\n '[a&]:hover:bg-primary/85 [button&]:hover:bg-primary/85',\n '[a&]:active:bg-primary/75 [button&]:active:bg-primary/75 [a&]:active:scale-95 [button&]:active:scale-95',\n // Dark mode refinements\n 'dark:bg-primary/90 dark:text-primary-foreground',\n 'dark:[a&]:hover:bg-primary/80 dark:[button&]:hover:bg-primary/80',\n ],\n secondary: [\n 'border-transparent',\n 'bg-secondary text-secondary-foreground',\n '[a&]:hover:bg-secondary/80 [button&]:hover:bg-secondary/80',\n '[a&]:active:bg-secondary/70 [button&]:active:bg-secondary/70 [a&]:active:scale-95 [button&]:active:scale-95',\n 'dark:bg-secondary/80 dark:text-secondary-foreground',\n ],\n destructive: [\n 'border-transparent',\n 'bg-destructive text-destructive-foreground',\n '[a&]:hover:bg-destructive/85 [button&]:hover:bg-destructive/85',\n '[a&]:active:bg-destructive/75 [button&]:active:bg-destructive/75 [a&]:active:scale-95 [button&]:active:scale-95',\n 'focus-visible:ring-destructive/20',\n // Dark mode: slightly muted destructive\n 'dark:bg-destructive/80 dark:text-destructive-foreground',\n 'dark:focus-visible:ring-destructive/40',\n ],\n outline: [\n 'border-border bg-transparent',\n 'text-foreground',\n '[a&]:hover:bg-accent [a&]:hover:text-accent-foreground',\n '[button&]:hover:bg-accent [button&]:hover:text-accent-foreground',\n '[a&]:active:bg-accent/80 [button&]:active:bg-accent/80 [a&]:active:scale-95 [button&]:active:scale-95',\n // Dark mode\n 'dark:border-border/80 dark:text-foreground',\n 'dark:[a&]:hover:bg-accent/50 dark:[button&]:hover:bg-accent/50',\n ],\n // Semantic variants with translucent backgrounds\n success: [\n 'border-transparent',\n 'bg-success/15 text-success',\n '[a&]:hover:bg-success/25 [button&]:hover:bg-success/25',\n '[a&]:active:bg-success/30 [button&]:active:bg-success/30 [a&]:active:scale-95 [button&]:active:scale-95',\n // Dark mode: slightly more opaque for visibility\n 'dark:bg-success/20 dark:text-success',\n 'dark:[a&]:hover:bg-success/30 dark:[button&]:hover:bg-success/30',\n ],\n warning: [\n 'border-transparent',\n 'bg-warning/15 text-warning',\n '[a&]:hover:bg-warning/25 [button&]:hover:bg-warning/25',\n '[a&]:active:bg-warning/30 [button&]:active:bg-warning/30 [a&]:active:scale-95 [button&]:active:scale-95',\n 'dark:bg-warning/20 dark:text-warning',\n 'dark:[a&]:hover:bg-warning/30 dark:[button&]:hover:bg-warning/30',\n ],\n info: [\n 'border-transparent',\n 'bg-info/15 text-info',\n '[a&]:hover:bg-info/25 [button&]:hover:bg-info/25',\n '[a&]:active:bg-info/30 [button&]:active:bg-info/30 [a&]:active:scale-95 [button&]:active:scale-95',\n 'dark:bg-info/20 dark:text-info',\n 'dark:[a&]:hover:bg-info/30 dark:[button&]:hover:bg-info/30',\n ],\n neutral: [\n 'border-border',\n 'bg-muted text-muted-foreground',\n '[a&]:hover:bg-muted/80 [button&]:hover:bg-muted/80',\n '[a&]:active:bg-muted/70 [button&]:active:bg-muted/70 [a&]:active:scale-95 [button&]:active:scale-95',\n 'dark:bg-muted/80 dark:border-border/80',\n ],\n },\n /**\n * Size variants for different contexts\n */\n size: {\n sm: 'px-1.5 py-0.5 text-2xs [&>svg]:size-2.5',\n default: 'px-2 py-0.5 text-xs [&>svg]:size-3',\n lg: 'px-2.5 py-1 text-sm [&>svg]:size-3.5',\n touch: 'px-3 py-1.5 text-sm min-h-[44px] min-w-[44px] [&>svg]:size-4',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\n/**\n * [Pillar 1: Loading & Skeletons] BadgeSkeleton Component\n * Perfectly mirrors Badge dimensions and variants for seamless loading transitions.\n */\nexport const BadgeSkeleton = React.memo(function BadgeSkeleton({\n className,\n variant,\n size,\n ...props\n}: VariantProps<typeof badgeVariants> & React.ComponentProps<typeof Skeleton>) {\n return (\n <Skeleton\n data-slot=\"badge-skeleton\"\n shape=\"pill\"\n className={cn(badgeVariants({ variant, size }), 'animate-pulse opacity-50', className)}\n {...props}\n />\n );\n});\n\n/**\n * Badge component props\n */\ninterface BadgeProps extends ComponentProps<'span'>, VariantProps<typeof badgeVariants> {\n /** Render as child element (polymorphic) */\n asChild?: boolean;\n /** Enable pulse animation for notification badges */\n pulse?: boolean;\n /** [Pillar 4: Micro-moments] Disable entrance animation */\n disableEntranceAnimation?: boolean;\n}\n\n/**\n * Badge Component\n *\n * A versatile badge/label component for displaying status, categories, or counts.\n * Supports polymorphic rendering for use as links or buttons.\n *\n * Premium Harmony V2 features:\n * - Automatic touch size detection and application\n * - Spring physics for tactile feedback on interactive badges\n * - Respects user's reduced motion preferences\n * - Data attributes for state-driven styling\n */\nconst Badge = memo(function Badge({\n className,\n variant,\n size: sizeProp,\n asChild = false,\n pulse = false,\n disableEntranceAnimation = false,\n ...props\n}: BadgeProps) {\n const [mounted, setMounted] = React.useState(false);\n\n React.useEffect(() => {\n setMounted(true);\n }, []);\n\n // Premium Harmony V2: Accessibility & Device Detection\n const reducedMotion = useReducedMotion() ?? false;\n const isTouch = useMediaQuery('(pointer: coarse)');\n\n // Avoid hydration mismatch by only applying client-specific attributes on the client\n const touchActive = mounted && isTouch;\n const motionReduced = mounted && reducedMotion;\n\n // Determine component type - use motion(Slot) for polymorphic rendering to support animations\n const isInteractive = props.onClick || props.onMouseDown || asChild;\n const Comp = asChild ? MotionSlot : (isInteractive ? motion.span : 'span');\n\n // Auto-apply touch size on touch devices for accessibility (WCAG 2.5.5)\n const size = touchActive && !sizeProp ? 'touch' : sizeProp;\n\n // Determine state for data attribute\n const state = pulse ? 'pulsing' : (isInteractive ? 'interactive' : 'default');\n\n // className computation\n const badgeClassName = cn(\n badgeVariants({ variant, size }),\n // Pulse animation for notification badges (only if motion is allowed)\n pulse && !motionReduced && 'animate-badge-pulse',\n className,\n );\n\n // [Pillar 4: Micro-moments] Entrance animations\n const entranceProps =\n disableEntranceAnimation || motionReduced\n ? {}\n : {\n initial: { opacity: 0, scale: 0.95 },\n animate: { opacity: 1, scale: 1 },\n };\n\n // Motion props for interactive badges - use Premium Harmony V2 spring physics\n const motionProps = (() => {\n if (isInteractive && !motionReduced && !asChild) {\n return {\n whileTap: { scale: 0.95 },\n transition: SPRING_TACTILE,\n ...entranceProps,\n };\n }\n if (motionReduced) {\n return {};\n }\n return { ...entranceProps };\n })();\n\n // Filter out props that conflict between HTML attributes and Motion/Slot types\n const {\n onDrag: _onDrag,\n onDragStart: _onDragStart,\n onDragEnd: _onDragEnd,\n onAnimationStart: _onAnimationStart,\n onAnimationIteration: _onAnimationIteration,\n onAnimationCancel: _onAnimationCancel,\n onAnimationComplete: _onAnimationComplete,\n ...domProps\n } = props as any;\n\n return (\n <Comp\n data-slot=\"badge\"\n data-state={state}\n className={badgeClassName}\n {...motionProps}\n {...domProps}\n />\n );\n});\n\nBadge.displayName = 'Badge';\n\nexport { Badge, badgeVariants };\nexport type { BadgeProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,MAAM,aAAa,OAAO,OAAO,KAAK;;;;;;;;;;;;AAatC,MAAM,gBAAgB,IACpB;CAEE;CACA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CACA;CACD,EACD;CACE,UAAU;EASR,SAAS;GACP,SAAS;IACP;IACA;IAEA;IACA;IAEA;IACA;IACD;GACD,WAAW;IACT;IACA;IACA;IACA;IACA;IACD;GACD,aAAa;IACX;IACA;IACA;IACA;IACA;IAEA;IACA;IACD;GACD,SAAS;IACP;IACA;IACA;IACA;IACA;IAEA;IACA;IACD;GAED,SAAS;IACP;IACA;IACA;IACA;IAEA;IACA;IACD;GACD,SAAS;IACP;IACA;IACA;IACA;IACA;IACA;IACD;GACD,MAAM;IACJ;IACA;IACA;IACA;IACA;IACA;IACD;GACD,SAAS;IACP;IACA;IACA;IACA;IACA;IACD;GACF;EAID,MAAM;GACJ,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,OAAO;GACR;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CACF;;;;;AAMD,MAAa,gBAAgBA,QAAM,KAAK,SAAS,cAAc,EAC7D,WACA,SACA,MACA,GAAG,SAC0E;AAC7E,QACE,oBAAC;EACC,aAAU;EACV,OAAM;EACN,WAAW,GAAG,cAAc;GAAE;GAAS;GAAM,CAAC,EAAE,4BAA4B,UAAU;EACtF,GAAI;GACJ;EAEJ;;;;;;;;;;;;;AA0BF,MAAM,QAAQ,KAAK,SAAS,MAAM,EAChC,WACA,SACA,MAAM,UACN,UAAU,OACV,QAAQ,OACR,2BAA2B,OAC3B,GAAG,SACU;CACb,MAAM,CAAC,SAAS,cAAcA,QAAM,SAAS,MAAM;AAEnD,SAAM,gBAAgB;AACpB,aAAW,KAAK;IACf,EAAE,CAAC;CAGN,MAAM,gBAAgB,kBAAkB,IAAI;CAC5C,MAAM,UAAU,cAAc,oBAAoB;CAGlD,MAAM,cAAc,WAAW;CAC/B,MAAM,gBAAgB,WAAW;CAGjC,MAAM,gBAAgB,MAAM,WAAW,MAAM,eAAe;CAC5D,MAAM,OAAO,UAAU,aAAc,gBAAgB,OAAO,OAAO;CAGnE,MAAM,OAAO,eAAe,CAAC,WAAW,UAAU;CAGlD,MAAM,QAAQ,QAAQ,YAAa,gBAAgB,gBAAgB;CAGnE,MAAM,iBAAiB,GACrB,cAAc;EAAE;EAAS;EAAM,CAAC,EAEhC,SAAS,CAAC,iBAAiB,uBAC3B,UACD;CAGD,MAAM,gBACJ,4BAA4B,gBACxB,EAAE,GACF;EACE,SAAS;GAAE,SAAS;GAAG,OAAO;GAAM;EACpC,SAAS;GAAE,SAAS;GAAG,OAAO;GAAG;EAClC;CAGP,MAAM,qBAAqB;AACzB,MAAI,iBAAiB,CAAC,iBAAiB,CAAC,QACtC,QAAO;GACL,UAAU,EAAE,OAAO,KAAM;GACzB,YAAY;GACZ,GAAG;GACJ;AAEH,MAAI,cACF,QAAO,EAAE;AAEX,SAAO,EAAE,GAAG,eAAe;KACzB;CAGJ,MAAM,EACJ,QAAQ,SACR,aAAa,cACb,WAAW,YACX,kBAAkB,mBAClB,sBAAsB,uBACtB,mBAAmB,oBACnB,qBAAqB,sBACrB,GAAG,aACD;AAEJ,QACE,oBAAC;EACC,aAAU;EACV,cAAY;EACZ,WAAW;EACX,GAAI;EACJ,GAAI;GACJ;EAEJ;AAEF,MAAM,cAAc"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
import { i as SkeletonProps } from "./skeleton-ByXUFNDF.mjs";
|
|
3
|
+
import * as React$1 from "react";
|
|
4
|
+
import { ComponentProps } from "react";
|
|
5
|
+
import { VariantProps } from "class-variance-authority";
|
|
6
|
+
import * as class_variance_authority_types0 from "class-variance-authority/types";
|
|
7
|
+
|
|
8
|
+
//#region src/components/elements/atoms/badge/badge.d.ts
|
|
9
|
+
declare const badgeVariants: (props?: ({
|
|
10
|
+
variant?: "success" | "info" | "warning" | "default" | "destructive" | "outline" | "secondary" | "neutral" | null | undefined;
|
|
11
|
+
size?: "default" | "sm" | "lg" | "touch" | null | undefined;
|
|
12
|
+
} & class_variance_authority_types0.ClassProp) | undefined) => string;
|
|
13
|
+
declare const BadgeSkeleton: React$1.NamedExoticComponent<VariantProps<(props?: ({
|
|
14
|
+
variant?: "success" | "info" | "warning" | "default" | "destructive" | "outline" | "secondary" | "neutral" | null | undefined;
|
|
15
|
+
size?: "default" | "sm" | "lg" | "touch" | null | undefined;
|
|
16
|
+
} & class_variance_authority_types0.ClassProp) | undefined) => string> & SkeletonProps>;
|
|
17
|
+
interface BadgeProps extends ComponentProps<'span'>, VariantProps<typeof badgeVariants> {
|
|
18
|
+
asChild?: boolean;
|
|
19
|
+
pulse?: boolean;
|
|
20
|
+
disableEntranceAnimation?: boolean;
|
|
21
|
+
}
|
|
22
|
+
declare const Badge: React$1.NamedExoticComponent<BadgeProps>;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { badgeVariants as i, BadgeProps as n, BadgeSkeleton as r, Badge as t };
|
|
25
|
+
//# sourceMappingURL=badge-DH0tY3wJ.d.mts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/components/charts/bars/bars.d.ts
|
|
5
|
+
interface BarSeriesStyle {
|
|
6
|
+
id: string;
|
|
7
|
+
barClassName?: string;
|
|
8
|
+
barFill?: string;
|
|
9
|
+
}
|
|
10
|
+
interface BarsProps {
|
|
11
|
+
seriesStyles?: BarSeriesStyle[];
|
|
12
|
+
radius?: number;
|
|
13
|
+
}
|
|
14
|
+
declare function Bars({
|
|
15
|
+
seriesStyles,
|
|
16
|
+
radius
|
|
17
|
+
}: BarsProps): react_jsx_runtime0.JSX.Element;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { Bars as n, BarsProps as r, BarSeriesStyle as t };
|
|
20
|
+
//# sourceMappingURL=bars-CWTAPKgm.d.mts.map
|