themelia-ui 3.0.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/themelia-ui/SKILL.md +60 -33
- package/.agents/skills/themelia-ui/manifest.json +23 -0
- package/.agents/skills/themelia-ui/references/api-compatibility.md +5 -4
- package/.agents/skills/themelia-ui/references/blocks.md +123 -0
- package/.agents/skills/themelia-ui/references/composition-ladder.md +8 -8
- package/.agents/skills/themelia-ui/references/composition.md +100 -19
- package/.agents/skills/themelia-ui/references/forms.md +23 -3
- package/.agents/skills/themelia-ui/references/framework-wiring.md +41 -13
- package/.agents/skills/themelia-ui/references/i18n.md +4 -2
- package/.agents/skills/themelia-ui/references/imports.md +104 -104
- package/.agents/skills/themelia-ui/references/installation.md +60 -31
- package/.agents/skills/themelia-ui/references/migration.md +156 -5
- package/.agents/skills/themelia-ui/references/provider-and-scoping.md +37 -25
- package/.agents/skills/themelia-ui/references/reference-workflows.md +43 -0
- package/.agents/skills/themelia-ui/references/structure-and-spacing.md +147 -0
- package/.agents/skills/themelia-ui/references/theming.md +174 -131
- package/.agents/skills/themelia-ui/references/troubleshooting.md +88 -30
- package/.agents/skills/themelia-ui/references/verification.md +60 -5
- package/CHANGELOG.md +212 -0
- package/README.md +48 -60
- package/dist/accordion-CHuzMmWL.js +143 -0
- package/dist/{action-menu-BNLURfMK.js → action-menu-BwiL_F6I.js} +35 -33
- package/dist/{alert-dialog-BMVo6Z-8.js → alert-dialog-Cg2HhuBe.js} +1 -1
- package/dist/avatar-Dc_BNYfB.js +93 -0
- package/dist/badge-VlJVZjdm.js +45 -0
- package/dist/base/accordion.js +1 -1
- package/dist/base/action-menu.js +1 -1
- package/dist/base/alert-dialog.js +1 -1
- package/dist/base/aspect-ratio.js +3 -1
- package/dist/base/avatar.js +1 -1
- package/dist/base/badge.js +2 -2
- package/dist/base/batch-action-bar.js +1 -1
- package/dist/base/buttons.js +1 -1
- package/dist/base/cards.js +1 -1
- package/dist/base/carousel.js +6 -4
- package/dist/base/chart.js +1 -1
- package/dist/base/choice-inputs.js +1 -1
- package/dist/base/combobox.js +1 -1
- package/dist/base/command.js +1 -1
- package/dist/base/context-menu.js +22 -21
- package/dist/base/copyable.js +1 -1
- package/dist/base/date-pickers.js +1 -1
- package/dist/base/dialog.js +1 -1
- package/dist/base/display.js +1 -1
- package/dist/base/dropdown-menu.js +1 -1
- package/dist/base/feedback.js +1 -1
- package/dist/base/forms-numeric.js +1 -1
- package/dist/base/forms.js +1 -1
- package/dist/base/hover-card.js +26 -23
- package/dist/base/input-group.js +1 -1
- package/dist/base/item.js +1 -1
- package/dist/base/label.js +1 -1
- package/dist/base/menubar.js +20 -14
- package/dist/base/navigation-menu.js +47 -38
- package/dist/base/navigation.js +1 -1
- package/dist/base/otp-input.js +36 -30
- package/dist/base/overlay.js +1 -1
- package/dist/base/popover-menu.js +1 -1
- package/dist/base/popover.js +1 -1
- package/dist/base/qr-code.js +51 -47
- package/dist/base/repeaters.js +1 -1
- package/dist/base/resizable.js +2 -0
- package/dist/base/sheet.js +1 -1
- package/dist/base/sidebar.js +1 -1
- package/dist/base/skeleton.js +1 -1
- package/dist/base/spinner.js +1 -1
- package/dist/base/structure.js +1 -1
- package/dist/base/table.js +1 -1
- package/dist/base/text-inputs.js +1 -1
- package/dist/base/timeline.js +1 -1
- package/dist/base/toaster.js +1 -1
- package/dist/base/toggle.js +21 -15
- package/dist/base/toolbar.js +1 -1
- package/dist/base/tooltip.js +1 -1
- package/dist/base/typography.js +2 -2
- package/dist/base/upload.js +1 -1
- package/dist/base/value-inputs.js +1 -1
- package/dist/{batch-action-bar-BZYNKXdV.js → batch-action-bar-DZVMVW83.js} +11 -8
- package/dist/{admin/patterns → blocks/admin}/access.js +79 -76
- package/dist/blocks/admin/commerce.js +2493 -0
- package/dist/{patterns → blocks}/analytics.js +312 -303
- package/dist/{patterns → blocks}/onboarding.js +27 -23
- package/dist/{patterns → blocks}/timelines.js +1 -1
- package/dist/buttons-BX2JfL5X.js +173 -0
- package/dist/cards-Ddhz43Bz.js +279 -0
- package/dist/chart-BkK3Xm10.js +201 -0
- package/dist/choice-inputs-NwRxvmZN.js +694 -0
- package/dist/combobox-519ubijc.js +292 -0
- package/dist/command-JjApYFds.js +156 -0
- package/dist/comments-CCQ2QRaU.js +1443 -0
- package/dist/components/base/action-menu/action-menu.d.ts +1 -1
- package/dist/components/base/action-menu/action-menu.types.d.ts +2 -2
- package/dist/components/base/avatar/avatar.d.ts +5 -2
- package/dist/components/base/badge/badge.d.ts +10 -10
- package/dist/components/base/badge/badge.variants.d.ts +1 -2
- package/dist/components/base/badge/index.d.ts +1 -2
- package/dist/components/base/buttons/button.d.ts +9 -8
- package/dist/components/base/buttons/button.types.d.ts +2 -2
- package/dist/components/base/buttons/index.d.ts +1 -1
- package/dist/components/base/buttons/text-button.d.ts +1 -1
- package/dist/components/base/cards/card-actions.d.ts +1 -1
- package/dist/components/base/cards/card.d.ts +3 -1
- package/dist/components/base/cards/partials/card-header.d.ts +2 -1
- package/dist/components/base/choice-inputs/choice.types.d.ts +2 -2
- package/dist/components/base/choice-inputs/partials/choice-parts.d.ts +3 -3
- package/dist/components/base/command/command.d.ts +5 -2
- package/dist/components/base/display/icon-badge.d.ts +5 -3
- package/dist/components/base/display/index.d.ts +1 -1
- package/dist/components/base/display/metadata-list.d.ts +6 -6
- package/dist/components/base/display/metadata-value.d.ts +1 -1
- package/dist/components/base/display/separator.d.ts +2 -2
- package/dist/components/base/feedback/alert.d.ts +3 -2
- package/dist/components/base/feedback/empty.d.ts +5 -4
- package/dist/components/base/feedback/progress-circle.d.ts +2 -2
- package/dist/components/base/feedback/progress.d.ts +3 -1
- package/dist/components/base/forms/form-field.d.ts +2 -2
- package/dist/components/base/input-group/input-group.d.ts +8 -10
- package/dist/components/base/item/item.d.ts +2 -2
- package/dist/components/base/overlay/index.d.ts +1 -1
- package/dist/components/base/overlay/overlay.types.d.ts +7 -5
- package/dist/components/base/qr-code/qr-code.d.ts +4 -4
- package/dist/components/base/sheet/sheet.d.ts +1 -1
- package/dist/components/base/sidebar/sidebar.d.ts +9 -13
- package/dist/components/base/spinner/spinner.d.ts +2 -2
- package/dist/components/base/structure/adaptive-grid.d.ts +3 -3
- package/dist/components/base/structure/bleed.d.ts +4 -2
- package/dist/components/base/structure/grid.d.ts +10 -4
- package/dist/components/base/structure/index.d.ts +1 -1
- package/dist/components/base/structure/split.d.ts +4 -3
- package/dist/components/base/structure/stack.d.ts +5 -5
- package/dist/components/base/structure/structure.maps.d.ts +2 -1
- package/dist/components/base/structure/structure.types.d.ts +10 -4
- package/dist/components/base/toggle/toggle.d.ts +2 -2
- package/dist/components/base/toolbar/toolbar.d.ts +3 -3
- package/dist/components/base/typography/index.d.ts +2 -0
- package/dist/components/base/typography/rich-text/rich-text.variants.d.ts +9 -0
- package/dist/components/base/typography/text/index.d.ts +1 -0
- package/dist/components/base/typography/text/text.d.ts +15 -8
- package/dist/components/base/typography/text/text.variants.d.ts +41 -0
- package/dist/components/base/value-inputs/color-input.d.ts +1 -7
- package/dist/components/base/value-inputs/slider.d.ts +2 -7
- package/dist/components/{admin/patterns → blocks/admin}/commerce/vendor-profile.d.ts +2 -1
- package/dist/components/{patterns → blocks}/analytics/analytics.strings.d.ts +2 -5
- package/dist/components/features/actions/action-adapters.d.ts +3 -3
- package/dist/components/features/actions/actions.types.d.ts +3 -5
- package/dist/components/features/actions/index.d.ts +1 -1
- package/dist/components/features/activities/activities-feed.d.ts +1 -1
- package/dist/components/features/activities/activities.types.d.ts +4 -4
- package/dist/components/features/activities/activity-parts.d.ts +3 -3
- package/dist/components/features/activities/activity-row.d.ts +4 -4
- package/dist/components/features/activities/index.d.ts +1 -1
- package/dist/components/features/ai-chat/ai-chat.types.d.ts +10 -3
- package/dist/components/features/ai-chat/ai-message-surfaces.d.ts +1 -1
- package/dist/components/features/ai-chat/ai-work-surfaces.d.ts +1 -1
- package/dist/components/features/combobox/combobox.strings.d.ts +2 -2
- package/dist/components/features/combobox/fetching-combobox.d.ts +2 -1
- package/dist/components/features/combobox/resource-combobox.d.ts +3 -0
- package/dist/components/features/combobox/use-suggestions.d.ts +7 -0
- package/dist/components/features/event-calendar/event-calendar.types.d.ts +3 -0
- package/dist/components/features/media-library/index.d.ts +1 -1
- package/dist/components/features/media-library/media-library-parts.d.ts +4 -3
- package/dist/components/features/media-library/media-library-views.d.ts +4 -3
- package/dist/components/features/media-library/media-library.d.ts +1 -1
- package/dist/components/features/media-library/media-library.strings.d.ts +12 -13
- package/dist/components/features/media-library/media-library.types.d.ts +11 -9
- package/dist/components/features/media-library/media-resource-gallery.d.ts +1 -1
- package/dist/components/features/media-library/use-media-library.d.ts +1 -4
- package/dist/components/features/overlays/action-overlay-frame.d.ts +1 -1
- package/dist/components/features/overlays/index.d.ts +1 -1
- package/dist/components/features/overlays/overlay-parts.d.ts +3 -3
- package/dist/components/features/overlays/overlays.types.d.ts +8 -7
- package/dist/components/features/rich-text-editor/index.d.ts +0 -1
- package/dist/components/features/table/data-table-body.d.ts +1 -1
- package/dist/components/features/table/data-table-expanded-row.d.ts +27 -0
- package/dist/components/features/table/data-table-header.d.ts +1 -1
- package/dist/components/features/table/data-table-size.d.ts +1 -1
- package/dist/components/features/table/data-table.d.ts +1 -1
- package/dist/components/features/table/index.d.ts +1 -1
- package/dist/components/features/table/table-helpers.d.ts +9 -3
- package/dist/components/features/table/table.strings.d.ts +11 -0
- package/dist/components/features/table/table.types.d.ts +60 -2
- package/dist/components/features/theme-tweaker/index.d.ts +1 -1
- package/dist/components/features/theme-tweaker/theme-tweaker.strings.d.ts +1 -1
- package/dist/components/features/theme-tweaker/theme-tweaker.types.d.ts +6 -10
- package/dist/components/features/theme-tweaker/theme-tweaker.utils.d.ts +22 -6
- package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
- package/dist/components/layout/auth/auth.d.ts +1 -1
- package/dist/components/layout/auth/auth.types.d.ts +1 -1
- package/dist/components/primitives/value.d.ts +3 -1
- package/dist/containers-B8d8U9GS.js +2 -0
- package/dist/{copyable-H1TUEY-H.js → copyable-D9Okb1w6.js} +12 -11
- package/dist/core.css +2 -2
- package/dist/css/access.css +2 -1
- package/dist/css/accordion.css +2 -1
- package/dist/css/action-menu.css +2 -1
- package/dist/css/activities.css +2 -1
- package/dist/css/ai-chat.css +2 -1
- package/dist/css/analytics.css +2 -1
- package/dist/css/app-shell.css +2 -1
- package/dist/css/aspect-ratio.css +2 -1
- package/dist/css/async-preview.css +2 -1
- package/dist/css/auth.css +2 -1
- package/dist/css/avatar.css +2 -1
- package/dist/css/badge.css +2 -1
- package/dist/css/batch-action-bar.css +2 -1
- package/dist/css/buttons.css +2 -1
- package/dist/css/cards.css +2 -1
- package/dist/css/carousel.css +2 -1
- package/dist/css/chart.css +2 -1
- package/dist/css/choice-inputs.css +2 -1
- package/dist/css/combobox.css +2 -1
- package/dist/css/combobox2.css +2 -1
- package/dist/css/command.css +2 -1
- package/dist/css/comments.css +2 -1
- package/dist/css/commerce.css +2 -1
- package/dist/css/containers.css +2 -1
- package/dist/css/copyable.css +2 -1
- package/dist/css/data-view.css +2 -1
- package/dist/css/date-pickers.css +2 -1
- package/dist/css/display.css +2 -1
- package/dist/css/dropdown-menu.css +2 -1
- package/dist/css/event-calendar.css +2 -1
- package/dist/css/feedback.css +2 -1
- package/dist/css/filters.css +2 -1
- package/dist/css/forms-numeric.css +2 -1
- package/dist/css/forms.css +2 -1
- package/dist/css/global-search.css +2 -1
- package/dist/css/header.css +2 -1
- package/dist/css/hover-card.css +2 -1
- package/dist/css/input-group.css +2 -1
- package/dist/css/item.css +2 -1
- package/dist/css/kanban.css +2 -1
- package/dist/css/label.css +2 -1
- package/dist/css/map.css +2 -1
- package/dist/css/media-library.css +2 -1
- package/dist/css/mentions.css +2 -1
- package/dist/css/menubar.css +2 -1
- package/dist/css/navigation-menu.css +2 -1
- package/dist/css/navigation.css +2 -1
- package/dist/css/navigation2.css +2 -1
- package/dist/css/onboarding.css +2 -1
- package/dist/css/otp-input.css +2 -1
- package/dist/css/overlay.css +2 -1
- package/dist/css/overlays.css +2 -1
- package/dist/css/page.css +2 -1
- package/dist/css/popover-menu.css +2 -1
- package/dist/css/popover.css +2 -1
- package/dist/css/primitives.css +2 -1
- package/dist/css/products.css +2 -1
- package/dist/css/qr-code.css +2 -1
- package/dist/css/repeaters.css +2 -1
- package/dist/css/resizable.css +2 -1
- package/dist/css/resource-assignment.css +2 -1
- package/dist/css/resource.css +2 -1
- package/dist/css/rich-text-editor.css +2 -1
- package/dist/css/schema-form.css +2 -1
- package/dist/css/sidebar.css +2 -1
- package/dist/css/sidebar2.css +2 -1
- package/dist/css/skeleton.css +2 -1
- package/dist/css/spinner.css +2 -1
- package/dist/css/structure.css +2 -1
- package/dist/css/sync.css +2 -1
- package/dist/css/table.css +2 -1
- package/dist/css/table2.css +2 -1
- package/dist/css/text-inputs.css +2 -1
- package/dist/css/theme-tweaker.css +2 -1
- package/dist/css/timeline.css +2 -1
- package/dist/css/timelines.css +2 -1
- package/dist/css/toaster.css +2 -1
- package/dist/css/toggle.css +2 -1
- package/dist/css/toolbar.css +2 -1
- package/dist/css/tooltip.css +2 -1
- package/dist/css/typography.css +2 -1
- package/dist/css/upload.css +2 -1
- package/dist/css/value-inputs.css +2 -1
- package/dist/css/workspace.css +2 -1
- package/dist/css-graph.json +1027 -0
- package/dist/date-pickers-BwCwKIVM.js +685 -0
- package/dist/{dialog-CtFCuTUF.js → dialog-CAnwRNrm.js} +1 -1
- package/dist/display-a7AoX_u7.js +664 -0
- package/dist/dropdown-menu-Br8kvjrF.js +235 -0
- package/dist/empty.js +0 -0
- package/dist/features/actions.js +6 -6
- package/dist/features/activities.js +219 -216
- package/dist/features/ai-chat.js +593 -565
- package/dist/features/async-preview.js +105 -286
- package/dist/features/combobox.js +328 -314
- package/dist/features/comments.js +1 -1
- package/dist/features/data-view.js +56 -55
- package/dist/features/event-calendar.js +189 -185
- package/dist/features/filters.js +1 -1
- package/dist/features/global-search.js +259 -260
- package/dist/features/kanban.js +39 -37
- package/dist/features/map.js +357 -354
- package/dist/features/media-library.js +931 -931
- package/dist/features/mentions.js +1 -1
- package/dist/features/overlays.js +1 -1
- package/dist/features/products.js +950 -942
- package/dist/features/resource-assignment.js +39 -37
- package/dist/features/resource.js +70 -71
- package/dist/features/rich-text-editor.js +2 -2
- package/dist/features/schema-form.js +342 -338
- package/dist/features/sync.js +14 -12
- package/dist/features/table.js +1 -1
- package/dist/features/theme-tweaker.js +1002 -962
- package/dist/feedback-D4qVsKlD.js +430 -0
- package/dist/{filters-DOLKRSmb.js → filters-BhsTkWpZ.js} +386 -383
- package/dist/forms-C0WeNPFF.js +250 -0
- package/dist/forms-numeric-IwQ1ltNf.js +582 -0
- package/dist/hooks/use-native-dialog.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/input-group-HS_Z0Ei_.js +119 -0
- package/dist/item-M2pmpWXh.js +150 -0
- package/dist/{label-DumoMDm6.js → label-HOBXAscw.js} +7 -5
- package/dist/layout/app-shell.js +4 -2
- package/dist/layout/auth.js +102 -100
- package/dist/layout/header.js +190 -180
- package/dist/layout/navigation.js +1 -1
- package/dist/layout/page.js +18 -16
- package/dist/layout/settings.js +2 -2
- package/dist/layout/sidebar.js +50 -46
- package/dist/layout/workspace.js +71 -69
- package/dist/lib/action-presentation.d.ts +3 -3
- package/dist/lib/component-vocabulary.d.ts +2 -2
- package/dist/lib/css-length.d.ts +2 -0
- package/dist/lib/responsive.d.ts +1 -1
- package/dist/lib/theming/index.d.ts +1 -0
- package/dist/lib/theming/recipes.d.ts +2 -2
- package/dist/lib/theming/themes/dense.d.ts +3 -0
- package/dist/lib/theming/themes/editorial.d.ts +3 -0
- package/dist/lib/theming/themes/index.d.ts +8 -0
- package/dist/lib/theming/themes/pair.d.ts +7 -0
- package/dist/lib/theming/themes/sharp.d.ts +3 -0
- package/dist/lib/theming/themes/soft.d.ts +3 -0
- package/dist/lib/theming/themes/types.d.ts +12 -0
- package/dist/lib/ui-provider/index.d.ts +1 -1
- package/dist/lib/ui-provider/scope.d.ts +5 -8
- package/dist/lib/ui-provider/tokens.d.ts +11 -3
- package/dist/lib/ui-provider/tokens.generated.d.ts +6 -4
- package/dist/lib/ui-provider/types.d.ts +17 -19
- package/dist/lib/ui-provider/ui-scope.d.ts +1 -1
- package/dist/{mentions-BbsEHlcH.js → mentions-BOxbigwp.js} +113 -111
- package/dist/navigation-Bgu7Vc0M.js +622 -0
- package/dist/navigation-DiYACqpE.js +216 -0
- package/dist/overlay-BuQOl8aP.js +356 -0
- package/dist/{overlays-DvVoS3td.js → overlays-1sULyytH.js} +77 -75
- package/dist/popover-CA7SP_iz.js +127 -0
- package/dist/popover-menu-QXgQeWeG.js +192 -0
- package/dist/{primitives-D0bdDozz.js → primitives-BskKlf35.js} +181 -178
- package/dist/primitives.js +1 -1
- package/dist/profiles/admin.json +6 -36
- package/dist/profiles/general.json +6 -96
- package/dist/repeaters-CeH20dvr.js +445 -0
- package/dist/rich-text-editor-D_Ppm8yh.js +491 -0
- package/dist/{sheet-CKcmRbJ9.js → sheet-CJ1-OAla.js} +3 -3
- package/dist/sidebar-D8uGqxio.js +421 -0
- package/dist/skeleton-BTKNKTdj.js +173 -0
- package/dist/spinner-Tc1QCnxM.js +30 -0
- package/dist/{structure-D0WGQAP3.js → structure-CynEZ-OY.js} +15 -23
- package/dist/style.css +1 -1
- package/dist/styles/TOKENS.md +116 -275
- package/dist/styles/animation.css +114 -0
- package/dist/styles/base.css +7 -6
- package/dist/styles/fields.css +45 -63
- package/dist/styles/focus.css +12 -0
- package/dist/styles/forced-colors.css +11 -10
- package/dist/styles/index.css +23 -30
- package/dist/styles/map.css +45 -34
- package/dist/styles/mentions.css +14 -52
- package/dist/styles/overlays.css +7 -7
- package/dist/styles/tailwind.css +76 -127
- package/dist/styles/targets.css +3 -3
- package/dist/styles/theme/colour.css +86 -0
- package/dist/styles/theme/density.css +31 -0
- package/dist/styles/theme/elevation.css +9 -0
- package/dist/styles/theme/layout.css +18 -0
- package/dist/styles/theme/motion.css +18 -0
- package/dist/styles/theme/shape.css +12 -0
- package/dist/styles/theme/size.css +10 -0
- package/dist/styles/theme/spacing.css +11 -0
- package/dist/styles/theme/typography.css +20 -0
- package/dist/styles/tone.css +61 -0
- package/dist/table-B7dtIFUx.js +1262 -0
- package/dist/table-Ds_eO9av.js +191 -0
- package/dist/tailwind.css +76 -127
- package/dist/text-inputs-BboE77nZ.js +395 -0
- package/dist/theming-C5ygF5uf.js +292 -0
- package/dist/theming.js +2 -2
- package/dist/{timeline-BdaGRyj-.js → timeline-BR_jNgvz.js} +57 -49
- package/dist/{timelines-BB7550mz.js → timelines-DXG1BfIN.js} +69 -67
- package/dist/{toaster-bBMgXm8z.js → toaster-CXL8L7Mm.js} +106 -99
- package/dist/tokens.json +1027 -636
- package/dist/toolbar-DBK-c4yy.js +74 -0
- package/dist/tooltip-BPYP-jUm.js +76 -0
- package/dist/{typography-BkxEiwQ1.js → typography-DmeR05Er.js} +87 -53
- package/dist/{ui-provider-Cmoq6i_D.js → ui-provider-DpzLUD12.js} +117 -69
- package/dist/ui-provider.js +1 -1
- package/dist/upload-CYuoJykZ.js +968 -0
- package/dist/use-async-preview-BFwf9ElY.js +188 -0
- package/dist/value-inputs-ng8aVJJZ.js +728 -0
- package/docs/README.md +13 -3
- package/docs/build/browser-composition-fixture.ts +28 -0
- package/docs/build/recipes.md +11484 -10723
- package/docs/generated/component-index.json +9809 -9169
- package/docs/generated/components/INDEX.md +5 -5
- package/docs/generated/components/base--accordion.md +51 -2
- package/docs/generated/components/base--action-menu.md +14 -15
- package/docs/generated/components/base--alert-dialog.md +3 -4
- package/docs/generated/components/base--aspect-ratio.md +3 -4
- package/docs/generated/components/base--avatar.md +7 -7
- package/docs/generated/components/base--badge.md +159 -27
- package/docs/generated/components/base--batch-action-bar.md +6 -7
- package/docs/generated/components/base--buttons.md +151 -47
- package/docs/generated/components/base--cards.md +107 -14
- package/docs/generated/components/base--carousel.md +1 -2
- package/docs/generated/components/base--chart.md +44 -8
- package/docs/generated/components/base--choice-inputs.md +10 -11
- package/docs/generated/components/base--combobox.md +3 -4
- package/docs/generated/components/base--command.md +6 -6
- package/docs/generated/components/base--context-menu.md +1 -2
- package/docs/generated/components/base--copyable.md +6 -7
- package/docs/generated/components/base--date-pickers.md +6 -7
- package/docs/generated/components/base--dialog.md +6 -7
- package/docs/generated/components/base--direction.md +1 -1
- package/docs/generated/components/base--display.md +234 -54
- package/docs/generated/components/base--dropdown-menu.md +6 -7
- package/docs/generated/components/base--feedback.md +71 -18
- package/docs/generated/components/base--forms-numeric.md +6 -7
- package/docs/generated/components/base--forms.md +84 -14
- package/docs/generated/components/base--hover-card.md +3 -4
- package/docs/generated/components/base--input-group.md +27 -30
- package/docs/generated/components/base--item.md +8 -9
- package/docs/generated/components/base--label.md +2 -3
- package/docs/generated/components/base--menubar.md +2 -4
- package/docs/generated/components/base--navigation-menu.md +2 -3
- package/docs/generated/components/base--navigation.md +2 -3
- package/docs/generated/components/base--otp-input.md +3 -4
- package/docs/generated/components/base--overlay.md +56 -47
- package/docs/generated/components/base--popover-menu.md +7 -8
- package/docs/generated/components/base--popover.md +9 -10
- package/docs/generated/components/base--qr-code.md +7 -8
- package/docs/generated/components/base--repeaters.md +6 -7
- package/docs/generated/components/base--resizable.md +2 -3
- package/docs/generated/components/base--sheet.md +12 -13
- package/docs/generated/components/base--sidebar.md +9 -11
- package/docs/generated/components/base--skeleton.md +6 -7
- package/docs/generated/components/base--slot.md +1 -1
- package/docs/generated/components/base--spinner.md +5 -7
- package/docs/generated/components/base--structure.md +320 -70
- package/docs/generated/components/base--table.md +61 -3
- package/docs/generated/components/base--text-inputs.md +17 -18
- package/docs/generated/components/base--timeline.md +45 -4
- package/docs/generated/components/base--toaster.md +43 -12
- package/docs/generated/components/base--toggle.md +11 -12
- package/docs/generated/components/base--toolbar.md +7 -8
- package/docs/generated/components/base--tooltip.md +5 -6
- package/docs/generated/components/base--typography.md +317 -32
- package/docs/generated/components/base--upload.md +8 -9
- package/docs/generated/components/base--value-inputs.md +9 -38
- package/docs/generated/components/{admin--patterns--access.md → blocks--admin--access.md} +15 -6
- package/docs/generated/components/{admin--patterns--commerce.md → blocks--admin--commerce.md} +40 -41
- package/docs/generated/components/{patterns--analytics.md → blocks--analytics.md} +57 -14
- package/docs/generated/components/{patterns--onboarding.md → blocks--onboarding.md} +6 -7
- package/docs/generated/components/{patterns--timelines.md → blocks--timelines.md} +6 -7
- package/docs/generated/components/features--actions.md +8 -18
- package/docs/generated/components/features--activities.md +31 -32
- package/docs/generated/components/features--ai-chat.md +15 -15
- package/docs/generated/components/features--async-preview.md +5 -6
- package/docs/generated/components/features--combobox.md +71 -5
- package/docs/generated/components/features--comments.md +0 -1
- package/docs/generated/components/features--data-view.md +63 -8
- package/docs/generated/components/features--event-calendar.md +1 -2
- package/docs/generated/components/features--filters.md +11 -2
- package/docs/generated/components/features--global-search.md +1 -2
- package/docs/generated/components/features--kanban.md +1 -2
- package/docs/generated/components/features--map.md +1 -2
- package/docs/generated/components/features--media-library.md +105 -38
- package/docs/generated/components/features--mentions.md +7 -7
- package/docs/generated/components/features--overlays.md +75 -22
- package/docs/generated/components/features--products.md +10 -11
- package/docs/generated/components/features--resource-assignment.md +2 -3
- package/docs/generated/components/features--resource.md +3 -4
- package/docs/generated/components/features--rich-text-editor.md +42 -13
- package/docs/generated/components/features--schema-form.md +1 -2
- package/docs/generated/components/features--sync.md +2 -3
- package/docs/generated/components/features--table.md +162 -12
- package/docs/generated/components/features--theme-tweaker.md +30 -15
- package/docs/generated/components/forms.md +2 -2
- package/docs/generated/components/layout--app-shell.md +41 -11
- package/docs/generated/components/layout--auth.md +8 -9
- package/docs/generated/components/layout--containers.md +40 -1
- package/docs/generated/components/layout--header.md +2 -3
- package/docs/generated/components/layout--navigation.md +0 -1
- package/docs/generated/components/layout--page.md +33 -5
- package/docs/generated/components/layout--settings.md +0 -1
- package/docs/generated/components/layout--sidebar.md +47 -7
- package/docs/generated/components/layout--workspace.md +3 -4
- package/docs/generated/components/primitives.md +128 -17
- package/docs/generated/components/theming.md +147 -4
- package/docs/generated/components/ui-provider.md +96 -78
- package/docs/generated/composition-ladder.md +8 -8
- package/docs/generated/consumer-contract.json +5736 -0
- package/docs/generated/imports.md +104 -104
- package/docs/generated/migration-broad-imports.json +267 -90
- package/docs/generated/migration-broad-imports.md +266 -101
- package/docs/generated/migration-codemod.json +365 -70
- package/docs/generated/migration.md +665 -95
- package/docs/generated/profiles.md +27 -27
- package/docs/generated/public-api.md +104 -102
- package/docs/generated/recipes.json +755 -810
- package/docs/generated/workflows/communications-overview/analytics/communications-reference.tsx +19 -0
- package/docs/generated/workflows/index.json +691 -0
- package/docs/generated/workflows/media-picking/media-library/media-picking-reference.tsx +63 -0
- package/docs/generated/workflows/media-picking/media-library/reference-data.ts +3 -0
- package/docs/generated/workflows/multi-section-form/form-workflow/multi-section-reference.tsx +46 -0
- package/docs/generated/workflows/nested-action-flow/action-overlays/nested-action-reference.tsx +39 -0
- package/docs/generated/workflows/record-detail/page-layout/record-detail-reference.tsx +24 -0
- package/docs/generated/workflows/resource-index/data-view/resource-index-reference.tsx +51 -0
- package/docs/generated/workflows/scoped-resource-selection/combobox/scoped-resource-reference.tsx +50 -0
- package/docs/generated/workflows/website-content-editor/media-library/reference-data.ts +3 -0
- package/docs/generated/workflows/website-content-editor/rich-text-editor/website-content-reference.tsx +33 -0
- package/docs/generated/workflows/workspace-navigation/app-shell/workspace-navigation-reference.tsx +26 -0
- package/docs/learn/api-compatibility.md +5 -4
- package/docs/learn/blocks.md +123 -0
- package/docs/learn/composition.md +100 -19
- package/docs/learn/forms.md +23 -3
- package/docs/learn/framework-wiring.md +41 -13
- package/docs/learn/i18n.md +4 -2
- package/docs/learn/installation.md +60 -31
- package/docs/learn/migration.md +156 -5
- package/docs/learn/provider-and-scoping.md +37 -25
- package/docs/learn/reference-workflows.md +43 -0
- package/docs/learn/structure-and-spacing.md +147 -0
- package/docs/learn/theming.md +174 -131
- package/docs/learn/troubleshooting.md +88 -30
- package/docs/learn/verification.md +60 -5
- package/package.json +42 -473
- package/scripts/consumer/codemod.mjs +50 -32
- package/scripts/consumer/contract-reader.mjs +42 -0
- package/scripts/consumer/css-scan.mjs +51 -0
- package/scripts/consumer/diagnose.mjs +136 -0
- package/scripts/consumer/find-component.mjs +30 -17
- package/scripts/consumer/install-skill.mjs +93 -11
- package/src/styles/TOKENS.md +116 -275
- package/dist/accordion-6YPJ9XRO.js +0 -135
- package/dist/admin/patterns/access.css +0 -15
- package/dist/admin/patterns/commerce.css +0 -29
- package/dist/admin/patterns/commerce.js +0 -2493
- package/dist/avatar-CS7zow2q.js +0 -85
- package/dist/badge-CxOuTfVr.js +0 -63
- package/dist/base/accordion.css +0 -3
- package/dist/base/action-menu.css +0 -6
- package/dist/base/alert-dialog.css +0 -4
- package/dist/base/aspect-ratio.css +0 -2
- package/dist/base/avatar.css +0 -4
- package/dist/base/badge.css +0 -2
- package/dist/base/batch-action-bar.css +0 -5
- package/dist/base/buttons.css +0 -4
- package/dist/base/cards.css +0 -13
- package/dist/base/carousel.css +0 -5
- package/dist/base/chart.css +0 -2
- package/dist/base/choice-inputs.css +0 -10
- package/dist/base/combobox.css +0 -3
- package/dist/base/command.css +0 -9
- package/dist/base/context-menu.css +0 -2
- package/dist/base/copyable.css +0 -6
- package/dist/base/date-pickers.css +0 -11
- package/dist/base/dialog.css +0 -4
- package/dist/base/display.css +0 -8
- package/dist/base/dropdown-menu.css +0 -2
- package/dist/base/feedback.css +0 -5
- package/dist/base/forms-numeric.css +0 -12
- package/dist/base/forms.css +0 -14
- package/dist/base/hover-card.css +0 -2
- package/dist/base/input-group.css +0 -6
- package/dist/base/item.css +0 -9
- package/dist/base/label.css +0 -3
- package/dist/base/menubar.css +0 -2
- package/dist/base/navigation-menu.css +0 -2
- package/dist/base/navigation.css +0 -12
- package/dist/base/otp-input.css +0 -9
- package/dist/base/overlay.css +0 -4
- package/dist/base/popover-menu.css +0 -11
- package/dist/base/popover.css +0 -3
- package/dist/base/qr-code.css +0 -2
- package/dist/base/repeaters.css +0 -18
- package/dist/base/resizable.css +0 -2
- package/dist/base/sheet.css +0 -4
- package/dist/base/sidebar.css +0 -12
- package/dist/base/skeleton.css +0 -9
- package/dist/base/spinner.css +0 -2
- package/dist/base/structure.css +0 -2
- package/dist/base/table.css +0 -3
- package/dist/base/text-inputs.css +0 -2
- package/dist/base/timeline.css +0 -9
- package/dist/base/toaster.css +0 -2
- package/dist/base/toggle.css +0 -2
- package/dist/base/toolbar.css +0 -5
- package/dist/base/tooltip.css +0 -2
- package/dist/base/typography.css +0 -2
- package/dist/base/upload.css +0 -10
- package/dist/base/value-inputs.css +0 -14
- package/dist/buttons-CqXKWty3.js +0 -179
- package/dist/cards-C6Ulbkw7.js +0 -271
- package/dist/chart-nomhJ87z.js +0 -193
- package/dist/choice-inputs-OUDn0kQw.js +0 -680
- package/dist/combobox-C8oP92bT.js +0 -266
- package/dist/command-Bp3B6pUu.js +0 -143
- package/dist/comments-CAnDlyXO.js +0 -1438
- package/dist/components/admin/patterns/index.d.ts +0 -2
- package/dist/components/features/rich-text-editor/exec-command-engine.d.ts +0 -2
- package/dist/components/patterns/index.d.ts +0 -3
- package/dist/css/styles.css +0 -1
- package/dist/date-pickers-DOwIT-Nk.js +0 -661
- package/dist/display-B3Q17h5z.js +0 -645
- package/dist/dropdown-menu-TyNLCLML.js +0 -223
- package/dist/features/actions.css +0 -11
- package/dist/features/activities.css +0 -25
- package/dist/features/ai-chat.css +0 -14
- package/dist/features/async-preview.css +0 -10
- package/dist/features/combobox.css +0 -12
- package/dist/features/comments.css +0 -24
- package/dist/features/data-view.css +0 -31
- package/dist/features/event-calendar.css +0 -17
- package/dist/features/filters.css +0 -24
- package/dist/features/global-search.css +0 -19
- package/dist/features/kanban.css +0 -7
- package/dist/features/map.css +0 -15
- package/dist/features/media-library.css +0 -27
- package/dist/features/mentions.css +0 -17
- package/dist/features/overlays.css +0 -11
- package/dist/features/products.css +0 -29
- package/dist/features/resource-assignment.css +0 -14
- package/dist/features/resource.css +0 -15
- package/dist/features/rich-text-editor.css +0 -8
- package/dist/features/schema-form.css +0 -22
- package/dist/features/sync.css +0 -11
- package/dist/features/table.css +0 -20
- package/dist/features/theme-tweaker.css +0 -27
- package/dist/feedback-DRerHGuV.js +0 -469
- package/dist/forms-CPrGGif_.js +0 -242
- package/dist/forms-numeric-CPVsL7Vf.js +0 -569
- package/dist/index.css +0 -3
- package/dist/input-group-BYe0rhoB.js +0 -126
- package/dist/item-B3yQ26as.js +0 -146
- package/dist/layout/app-shell.css +0 -13
- package/dist/layout/auth.css +0 -14
- package/dist/layout/containers.css +0 -2
- package/dist/layout/header.css +0 -20
- package/dist/layout/navigation.css +0 -11
- package/dist/layout/page.css +0 -15
- package/dist/layout/settings.css +0 -16
- package/dist/layout/sidebar.css +0 -16
- package/dist/layout/workspace.css +0 -15
- package/dist/navigation-CsqTA16F.js +0 -614
- package/dist/navigation-DzxzPuwg.js +0 -202
- package/dist/overlay-WQOsLd69.js +0 -345
- package/dist/patterns/analytics.css +0 -15
- package/dist/patterns/onboarding.css +0 -11
- package/dist/patterns/timelines.css +0 -11
- package/dist/popover-DriLnIFc.js +0 -123
- package/dist/popover-menu-C2UCMAe7.js +0 -189
- package/dist/primitives.css +0 -3
- package/dist/repeaters-DuP1N0nw.js +0 -438
- package/dist/rich-text-editor-BQXFe9oN.js +0 -595
- package/dist/sidebar-D0N6ckJL.js +0 -412
- package/dist/skeleton-DGR9df28.js +0 -172
- package/dist/spinner-CUAVFecI.js +0 -52
- package/dist/styles/FACTORS.md +0 -36
- package/dist/styles/SCOPES.md +0 -86
- package/dist/styles/themes/default.css +0 -164
- package/dist/styles/theming/animation.css +0 -143
- package/dist/styles/theming/colors.css +0 -97
- package/dist/styles/theming/feedback.css +0 -17
- package/dist/styles/theming/field.css +0 -21
- package/dist/styles/theming/focus.css +0 -88
- package/dist/styles/theming/layers.css +0 -13
- package/dist/styles/theming/layout.css +0 -21
- package/dist/styles/theming/motion.css +0 -42
- package/dist/styles/theming/overlay.css +0 -52
- package/dist/styles/theming/sizing.css +0 -118
- package/dist/styles/theming/text.css +0 -30
- package/dist/styles/theming/typography.css +0 -26
- package/dist/styles/tokens/components.css +0 -22
- package/dist/styles/tokens/foundation.css +0 -80
- package/dist/styles/tokens/layout.css +0 -19
- package/dist/styles/tokens/palette.css +0 -88
- package/dist/styles/tokens/primitives.css +0 -18
- package/dist/styles/tokens/states.css +0 -77
- package/dist/table-BC4qqsUb.js +0 -180
- package/dist/table-BHDpjajL.js +0 -982
- package/dist/text-inputs-DF_lD7pA.js +0 -385
- package/dist/theming-D6KRU7hO.js +0 -104
- package/dist/toolbar-DWRywF0R.js +0 -68
- package/dist/tooltip-t1VQQ2tZ.js +0 -73
- package/dist/upload-B38YZeFJ.js +0 -938
- package/dist/value-inputs-Q4ymjXlV.js +0 -716
- package/src/styles/FACTORS.md +0 -36
- package/src/styles/SCOPES.md +0 -86
- /package/dist/components/{admin/patterns → blocks/admin}/access/admin.strings.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/access/credential-list.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/access/index.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/access/role-permissions.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/access/sensitive-action.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/account.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/address-lines.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/booking.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/cart.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/commerce.strings.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/commerce.types.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/format-amount.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/index.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/inventory-section.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/invoice.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/loyalty.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/order-customer.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/order-detail.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/order-line-item.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/order-transactions.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/order.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/seo-listing.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/seo-score.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/summary-panel.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/activity-heatmap.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/analytics.types.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/chart-card.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/format-metric-value.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/index.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/metric-bar.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/metric-comparison.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/metric-gradient.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/metric-grid.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/metric-micro-grid.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/metric-skeleton.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/metric-trend-chip.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/metric.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/time-ruler.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/onboarding/checklist.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/onboarding/index.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/onboarding/onboarding.strings.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/timelines/changelog-timeline.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/timelines/index.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/timelines/milestones-timeline.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/timelines/steps.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/timelines/timelines.strings.d.ts +0 -0
- /package/dist/styles/{theming/breakpoints.css → breakpoints.css} +0 -0
|
@@ -0,0 +1,968 @@
|
|
|
1
|
+
import "#core.css";
|
|
2
|
+
import { s as e } from "./typography-DmeR05Er.js";
|
|
3
|
+
import { t } from "./cx--CBrhWH0.js";
|
|
4
|
+
import { c as n } from "./buttons-BX2JfL5X.js";
|
|
5
|
+
import { t as r } from "./strings-Co9_qArR.js";
|
|
6
|
+
import { C as i, S as a } from "./primitives-BskKlf35.js";
|
|
7
|
+
import { t as o } from "./badge-VlJVZjdm.js";
|
|
8
|
+
import { h as s } from "./feedback-D4qVsKlD.js";
|
|
9
|
+
import { d as c } from "./display-a7AoX_u7.js";
|
|
10
|
+
import { CheckIcon as l, CircleAlertIcon as u, ClockIcon as d, FileIcon as f, ImageIcon as p, ImagePlusIcon as m, Loader2Icon as h, PaperclipIcon as g, PencilIcon as _, RotateCwIcon as v, TrashIcon as y, UploadCloudIcon as b, UserIcon as x, XIcon as S } from "lucide-react";
|
|
11
|
+
import { useCallback as C, useEffect as w, useId as T, useMemo as E, useRef as D, useState as O } from "react";
|
|
12
|
+
import { Fragment as k, jsx as A, jsxs as j } from "react/jsx-runtime";
|
|
13
|
+
import "#css/upload.css";
|
|
14
|
+
//#region src/hooks/use-object-urls.ts
|
|
15
|
+
function M(e) {
|
|
16
|
+
let [t, n] = O([]), r = D([]), i = D([]);
|
|
17
|
+
return w(() => {
|
|
18
|
+
if (e.length === r.current.length && e.every((e, t) => e === r.current[t])) return;
|
|
19
|
+
r.current = e;
|
|
20
|
+
let t = i.current;
|
|
21
|
+
i.current = e.map((e) => URL.createObjectURL(e)), n(i.current);
|
|
22
|
+
for (let e of t) URL.revokeObjectURL(e);
|
|
23
|
+
}, [e]), w(() => () => {
|
|
24
|
+
for (let e of i.current) URL.revokeObjectURL(e);
|
|
25
|
+
i.current = [], r.current = [];
|
|
26
|
+
}, []), t;
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/components/base/upload/preview-image.tsx
|
|
30
|
+
function N({ src: e, alt: n = "", fallback: r, className: i }) {
|
|
31
|
+
let [a, o] = O(!1), [s, c] = O(e);
|
|
32
|
+
return e !== s && (c(e), o(!1)), a ? /* @__PURE__ */ A(k, { children: r }) : /* @__PURE__ */ A("img", {
|
|
33
|
+
src: e,
|
|
34
|
+
alt: n,
|
|
35
|
+
className: t("preview-image--component", i),
|
|
36
|
+
onError: () => o(!0)
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
//#region src/components/base/upload/file-upload.strings.ts
|
|
41
|
+
var P = {
|
|
42
|
+
instruction: "Drop a file here, or browse",
|
|
43
|
+
instructionMultiple: "Drop files here, or browse",
|
|
44
|
+
uploading: (e) => `Uploading ${e}`,
|
|
45
|
+
remove: (e) => `Remove ${e}`,
|
|
46
|
+
rejection: ({ file: e, code: t, details: n }) => {
|
|
47
|
+
switch (t) {
|
|
48
|
+
case "invalid-type": return `${e.name} is not an accepted file type.`;
|
|
49
|
+
case "too-small": return `${e.name} is smaller than ${i(n.limitBytes ?? 0)}.`;
|
|
50
|
+
case "too-large": return `${e.name} is larger than ${i(n.limitBytes ?? 0)}.`;
|
|
51
|
+
case "duplicate": return `${e.name} has already been added.`;
|
|
52
|
+
case "too-many": return `${e.name} exceeds the limit of ${n.maxFiles ?? 0} file${n.maxFiles === 1 ? "" : "s"}.`;
|
|
53
|
+
default: return n.customMessage ?? `${e.name} was rejected.`;
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
constraintHint: ({ accept: e, maxSizeBytes: t }) => [e, t === void 0 ? void 0 : `up to ${Math.round(t / 1024 / 1024)} MB`].filter(Boolean).join(" · ")
|
|
57
|
+
}, F = {
|
|
58
|
+
cover: "Cover",
|
|
59
|
+
add: "Add images",
|
|
60
|
+
position: (e, t, n) => `${e}, position ${t} of ${n}. Use the arrow keys to reorder.`,
|
|
61
|
+
remove: (e) => `Remove ${e}`
|
|
62
|
+
}, I = {
|
|
63
|
+
empty: "Add a photo",
|
|
64
|
+
overlay: "Change photo",
|
|
65
|
+
remove: "Remove photo"
|
|
66
|
+
}, L = {
|
|
67
|
+
empty: "Drop an image here, or browse",
|
|
68
|
+
overlay: "Change image",
|
|
69
|
+
remove: "Remove image"
|
|
70
|
+
}, R = {
|
|
71
|
+
status: {
|
|
72
|
+
queued: "Queued",
|
|
73
|
+
uploading: "Uploading",
|
|
74
|
+
done: "Uploaded",
|
|
75
|
+
error: "Failed",
|
|
76
|
+
cancelled: "Cancelled"
|
|
77
|
+
},
|
|
78
|
+
cancel: (e) => `Cancel ${e}`,
|
|
79
|
+
retry: (e) => `Retry ${e}`,
|
|
80
|
+
remove: (e) => `Remove ${e}`,
|
|
81
|
+
uploading: (e) => `Uploading ${e}`,
|
|
82
|
+
settled: (e, t) => `${e}: ${t}`
|
|
83
|
+
}, z = {
|
|
84
|
+
...P,
|
|
85
|
+
...R,
|
|
86
|
+
clearAll: "Clear all"
|
|
87
|
+
}, B = {
|
|
88
|
+
instruction: "Drop a file here, or browse",
|
|
89
|
+
instructionMultiple: "Drop files here, or browse",
|
|
90
|
+
dragOver: "Release to add",
|
|
91
|
+
helper: ""
|
|
92
|
+
}, V = {
|
|
93
|
+
empty: "No file chosen",
|
|
94
|
+
clear: "Remove file"
|
|
95
|
+
};
|
|
96
|
+
//#endregion
|
|
97
|
+
//#region src/components/base/upload/use-file-drop-target.ts
|
|
98
|
+
function H({ disabled: e = !1, onFiles: t }) {
|
|
99
|
+
let n = D(0), [r, i] = O(!1), a = r && !e, o = C((e) => {
|
|
100
|
+
e.preventDefault(), e.stopPropagation();
|
|
101
|
+
}, []);
|
|
102
|
+
return {
|
|
103
|
+
isDragging: a,
|
|
104
|
+
dropTargetProps: {
|
|
105
|
+
onDragEnter: C((t) => {
|
|
106
|
+
if (o(t), e) {
|
|
107
|
+
n.current = 0;
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
n.current += 1, i(!0);
|
|
111
|
+
}, [e, o]),
|
|
112
|
+
onDragOver: C((t) => {
|
|
113
|
+
o(t), !e && (t.dataTransfer && (t.dataTransfer.dropEffect = "copy"), i(!0));
|
|
114
|
+
}, [e, o]),
|
|
115
|
+
onDragLeave: C((e) => {
|
|
116
|
+
o(e), n.current = Math.max(0, n.current - 1), n.current === 0 && i(!1);
|
|
117
|
+
}, [o]),
|
|
118
|
+
onDrop: C((r) => {
|
|
119
|
+
if (o(r), n.current = 0, i(!1), e) return;
|
|
120
|
+
let a = r.dataTransfer?.files;
|
|
121
|
+
a?.length && t(Array.from(a));
|
|
122
|
+
}, [
|
|
123
|
+
e,
|
|
124
|
+
t,
|
|
125
|
+
o
|
|
126
|
+
])
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
var U = {
|
|
131
|
+
dropzone: "upload__dropzone___18PHm",
|
|
132
|
+
dropzoneCompact: "upload__dropzoneCompact___lO1Y2",
|
|
133
|
+
dropzoneInput: "upload__dropzoneInput___OSLjX",
|
|
134
|
+
dropzoneIcon: "upload__dropzoneIcon___dEbuz",
|
|
135
|
+
dropzoneCopy: "upload__dropzoneCopy___FGRl_",
|
|
136
|
+
dropzoneHint: "upload__dropzoneHint____aACx",
|
|
137
|
+
list: "upload__list___54BTe",
|
|
138
|
+
row: "upload__row___6TE2T",
|
|
139
|
+
rowActions: "upload__rowActions___fgMkU",
|
|
140
|
+
thumb: "upload__thumb___I7oD7",
|
|
141
|
+
statusIcon: "upload__statusIcon___VRRk3",
|
|
142
|
+
rowBody: "upload__rowBody___51jrN",
|
|
143
|
+
rowName: "upload__rowName____3TMo",
|
|
144
|
+
progress: "upload__progress___sfhZY",
|
|
145
|
+
progressFill: "upload__progressFill___PXFlt",
|
|
146
|
+
root: "upload__root___TLif3",
|
|
147
|
+
rejections: "upload__rejections___VTeCm",
|
|
148
|
+
mediaRoot: "upload__mediaRoot___yS2ko",
|
|
149
|
+
mediaPicker: "upload__mediaPicker___eVcZk",
|
|
150
|
+
avatarPicker: "upload__avatarPicker___rAikO",
|
|
151
|
+
imagePicker: "upload__imagePicker___zDNWf",
|
|
152
|
+
mediaPreview: "upload__mediaPreview___BS0TO",
|
|
153
|
+
mediaOverlay: "upload__mediaOverlay___diadO",
|
|
154
|
+
mediaEmpty: "upload__mediaEmpty___5M65A",
|
|
155
|
+
tray: "upload__tray___u741N",
|
|
156
|
+
trayToolbar: "upload__trayToolbar___NmrU5",
|
|
157
|
+
trayCounts: "upload__trayCounts___hrAmS",
|
|
158
|
+
statusQueued: "upload__statusQueued___CMIPL",
|
|
159
|
+
statusUploading: "upload__statusUploading___ec2M2",
|
|
160
|
+
statusDone: "upload__statusDone___MW_Za",
|
|
161
|
+
statusError: "upload__statusError___kutx4",
|
|
162
|
+
statusCancelled: "upload__statusCancelled___JKMmC",
|
|
163
|
+
gallery: "upload__gallery___1UoHk",
|
|
164
|
+
tile: "upload__tile___8-XgU",
|
|
165
|
+
tileImage: "upload__tileImage___pT1Rk",
|
|
166
|
+
tileFallback: "upload__tileFallback___h-Jsc",
|
|
167
|
+
tileHandle: "upload__tileHandle___ulbFv",
|
|
168
|
+
tileRemove: "upload__tileRemove___JQHnl",
|
|
169
|
+
tileCover: "upload__tileCover___0TJt3",
|
|
170
|
+
galleryAdd: "upload__galleryAdd___CGqBt",
|
|
171
|
+
pickerShell: "upload__pickerShell___25oaj",
|
|
172
|
+
pickerIcon: "upload__pickerIcon___v0eFJ",
|
|
173
|
+
pickerLabel: "upload__pickerLabel___tY20Z",
|
|
174
|
+
pickerEmpty: "upload__pickerEmpty___Ql3p-",
|
|
175
|
+
pickerMeta: "upload__pickerMeta___0fZCN",
|
|
176
|
+
pickerClear: "upload__pickerClear___Rf83M",
|
|
177
|
+
dropzoneFooter: "upload__dropzoneFooter___q6ETS"
|
|
178
|
+
};
|
|
179
|
+
//#endregion
|
|
180
|
+
//#region src/components/base/upload/dropzone.tsx
|
|
181
|
+
function W({ onDrop: n, accept: r, multiple: i = !1, disabled: a = !1, invalid: o = !1, compact: s = !1, icon: c, inputProps: l, strings: u, label: d, hint: f, footer: p, className: m, ...h }) {
|
|
182
|
+
let g = {
|
|
183
|
+
...B,
|
|
184
|
+
...u
|
|
185
|
+
}, _ = T(), v = l?.id ?? _, y = `${_}-prompt`, { isDragging: x, dropTargetProps: S } = H({
|
|
186
|
+
disabled: a,
|
|
187
|
+
onFiles: n
|
|
188
|
+
}), C = x ? g.dragOver : d ?? (i ? g.instructionMultiple : g.instruction), w = f === void 0 ? g.helper : f, E = l?.["aria-labelledby"];
|
|
189
|
+
return /* @__PURE__ */ j("div", {
|
|
190
|
+
className: t("dropzone--component", m),
|
|
191
|
+
...h,
|
|
192
|
+
children: [/* @__PURE__ */ j("label", {
|
|
193
|
+
htmlFor: v,
|
|
194
|
+
...S,
|
|
195
|
+
"data-slot": "dropzone",
|
|
196
|
+
"data-dragging": x || void 0,
|
|
197
|
+
"data-disabled": a || void 0,
|
|
198
|
+
"data-invalid": o || void 0,
|
|
199
|
+
className: t(U.dropzone, s && U.dropzoneCompact),
|
|
200
|
+
children: [
|
|
201
|
+
/* @__PURE__ */ A("input", {
|
|
202
|
+
"aria-invalid": o || void 0,
|
|
203
|
+
...l,
|
|
204
|
+
"aria-labelledby": E ? `${E} ${y}` : void 0,
|
|
205
|
+
id: v,
|
|
206
|
+
type: "file",
|
|
207
|
+
accept: r,
|
|
208
|
+
multiple: i,
|
|
209
|
+
disabled: a,
|
|
210
|
+
className: t(U.dropzoneInput, l?.className),
|
|
211
|
+
onChange: (e) => {
|
|
212
|
+
let t = e.target.files;
|
|
213
|
+
t?.length && n(Array.from(t)), e.target.value = "";
|
|
214
|
+
}
|
|
215
|
+
}),
|
|
216
|
+
c ?? /* @__PURE__ */ A(b, {
|
|
217
|
+
"aria-hidden": !0,
|
|
218
|
+
className: U.dropzoneIcon
|
|
219
|
+
}),
|
|
220
|
+
/* @__PURE__ */ j("span", {
|
|
221
|
+
className: U.dropzoneCopy,
|
|
222
|
+
children: [/* @__PURE__ */ A(e, {
|
|
223
|
+
tag: "span",
|
|
224
|
+
id: y,
|
|
225
|
+
size: "sm",
|
|
226
|
+
children: C
|
|
227
|
+
}), w != null && w !== "" && /* @__PURE__ */ A(e, {
|
|
228
|
+
tag: "span",
|
|
229
|
+
size: "xs",
|
|
230
|
+
type: "secondary",
|
|
231
|
+
className: U.dropzoneHint,
|
|
232
|
+
children: w
|
|
233
|
+
})]
|
|
234
|
+
})
|
|
235
|
+
]
|
|
236
|
+
}), !!p && /* @__PURE__ */ A("div", {
|
|
237
|
+
className: U.dropzoneFooter,
|
|
238
|
+
children: p
|
|
239
|
+
})]
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
//#endregion
|
|
243
|
+
//#region src/components/base/upload/validate-files.ts
|
|
244
|
+
function G(e) {
|
|
245
|
+
return [
|
|
246
|
+
e.name,
|
|
247
|
+
e.size,
|
|
248
|
+
e.type,
|
|
249
|
+
e.lastModified
|
|
250
|
+
].join("|");
|
|
251
|
+
}
|
|
252
|
+
function K(e, t) {
|
|
253
|
+
if (!t?.trim()) return !0;
|
|
254
|
+
let n = e.name.toLowerCase(), r = e.type.toLowerCase();
|
|
255
|
+
return t.split(",").map((e) => e.trim().toLowerCase()).filter(Boolean).some((e) => e.startsWith(".") ? n.endsWith(e) : e.endsWith("/*") ? r.startsWith(e.slice(0, -1)) : r === e);
|
|
256
|
+
}
|
|
257
|
+
function q(e, t) {
|
|
258
|
+
let { accept: n, minSizeBytes: r, maxSizeBytes: i, validateFile: a } = t;
|
|
259
|
+
if (!K(e, n)) return {
|
|
260
|
+
file: e,
|
|
261
|
+
code: "invalid-type",
|
|
262
|
+
details: {}
|
|
263
|
+
};
|
|
264
|
+
if (r !== void 0 && e.size < r) return {
|
|
265
|
+
file: e,
|
|
266
|
+
code: "too-small",
|
|
267
|
+
details: { limitBytes: r }
|
|
268
|
+
};
|
|
269
|
+
if (i !== void 0 && e.size > i) return {
|
|
270
|
+
file: e,
|
|
271
|
+
code: "too-large",
|
|
272
|
+
details: { limitBytes: i }
|
|
273
|
+
};
|
|
274
|
+
if (a) {
|
|
275
|
+
let t;
|
|
276
|
+
try {
|
|
277
|
+
t = a(e);
|
|
278
|
+
} catch {
|
|
279
|
+
t = !1;
|
|
280
|
+
}
|
|
281
|
+
if (t !== !0) return {
|
|
282
|
+
file: e,
|
|
283
|
+
code: "custom",
|
|
284
|
+
details: { customMessage: typeof t == "string" ? t : void 0 }
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
function J({ incoming: e, current: t, maxFiles: n, append: r, ...i }) {
|
|
289
|
+
let a = r ? [...t] : [], o = new Set(a.map(G)), s = [], c = [];
|
|
290
|
+
for (let t of e) {
|
|
291
|
+
let e = q(t, i);
|
|
292
|
+
if (e) {
|
|
293
|
+
c.push(e);
|
|
294
|
+
continue;
|
|
295
|
+
}
|
|
296
|
+
let r = G(t);
|
|
297
|
+
if (o.has(r)) {
|
|
298
|
+
c.push({
|
|
299
|
+
file: t,
|
|
300
|
+
code: "duplicate",
|
|
301
|
+
details: {}
|
|
302
|
+
});
|
|
303
|
+
continue;
|
|
304
|
+
}
|
|
305
|
+
if (a.length >= n) {
|
|
306
|
+
c.push({
|
|
307
|
+
file: t,
|
|
308
|
+
code: "too-many",
|
|
309
|
+
details: { maxFiles: n }
|
|
310
|
+
});
|
|
311
|
+
continue;
|
|
312
|
+
}
|
|
313
|
+
s.push(t), a.push(t), o.add(r);
|
|
314
|
+
}
|
|
315
|
+
return {
|
|
316
|
+
accepted: s,
|
|
317
|
+
nextFiles: a,
|
|
318
|
+
rejections: c
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
//#endregion
|
|
322
|
+
//#region src/components/base/upload/file-upload.tsx
|
|
323
|
+
var ee = [];
|
|
324
|
+
function Y({ id: e, value: r, defaultValue: i, onValueChange: o, onRejectedFiles: c, multiple: l = !1, maxFiles: u, selectionMode: d, disabled: f = !1, invalid: p = !1, compact: m = !1, label: h, strings: g, hint: _, showList: v = !0, showRejections: y = !0, progress: b, name: x, className: E, "aria-labelledby": k, "aria-describedby": M, "aria-invalid": N, "aria-required": F, ...I }) {
|
|
325
|
+
let L = {
|
|
326
|
+
...P,
|
|
327
|
+
...g
|
|
328
|
+
}, R = T(), z = e ?? R, B = D(null), V = r !== void 0, [H, G] = O(i ?? []), K = V ? r ?? ee : H, [q, Y] = O([]), X = u ?? (l ? Infinity : 1), Z = (d ?? (l ? "append" : "replace")) === "append", ne = C((e) => {
|
|
329
|
+
let t = J({
|
|
330
|
+
incoming: e,
|
|
331
|
+
current: K,
|
|
332
|
+
maxFiles: X,
|
|
333
|
+
append: Z,
|
|
334
|
+
...I
|
|
335
|
+
});
|
|
336
|
+
Y(t.rejections), t.rejections.length > 0 && c?.(t.rejections), (t.accepted.length > 0 || !Z) && (V || G(t.nextFiles), o?.(t.nextFiles)), B.current && (B.current.value = "");
|
|
337
|
+
}, [
|
|
338
|
+
Z,
|
|
339
|
+
I,
|
|
340
|
+
K,
|
|
341
|
+
V,
|
|
342
|
+
c,
|
|
343
|
+
o,
|
|
344
|
+
X
|
|
345
|
+
]), re = D(null), Q = D(null), ie = C((e) => {
|
|
346
|
+
let t = K.filter((t, n) => n !== e);
|
|
347
|
+
Q.current = e, V || G(t), o?.(t);
|
|
348
|
+
}, [
|
|
349
|
+
K,
|
|
350
|
+
V,
|
|
351
|
+
o
|
|
352
|
+
]);
|
|
353
|
+
w(() => {
|
|
354
|
+
if (Q.current === null) return;
|
|
355
|
+
let e = Q.current;
|
|
356
|
+
Q.current = null;
|
|
357
|
+
let t = re.current?.querySelectorAll("[data-remove]") ?? [], n = t[Math.min(e, t.length - 1)];
|
|
358
|
+
n ? n.focus() : B.current?.focus();
|
|
359
|
+
}, [K]);
|
|
360
|
+
let $ = N ?? (p || void 0), ae = _ === void 0 ? L.constraintHint?.({
|
|
361
|
+
accept: I.accept,
|
|
362
|
+
maxSizeBytes: I.maxSizeBytes
|
|
363
|
+
}) || null : _;
|
|
364
|
+
return /* @__PURE__ */ j("div", {
|
|
365
|
+
className: t("file-upload--component", U.root, E),
|
|
366
|
+
children: [
|
|
367
|
+
/* @__PURE__ */ A(W, {
|
|
368
|
+
onDrop: ne,
|
|
369
|
+
accept: I.accept,
|
|
370
|
+
multiple: l,
|
|
371
|
+
disabled: f,
|
|
372
|
+
invalid: $ === !0 || $ === "true",
|
|
373
|
+
compact: m,
|
|
374
|
+
label: h,
|
|
375
|
+
hint: ae,
|
|
376
|
+
strings: {
|
|
377
|
+
instruction: L.instruction,
|
|
378
|
+
instructionMultiple: L.instructionMultiple,
|
|
379
|
+
...L.dragOver ? { dragOver: L.dragOver } : null
|
|
380
|
+
},
|
|
381
|
+
inputProps: {
|
|
382
|
+
ref: B,
|
|
383
|
+
id: z,
|
|
384
|
+
name: x,
|
|
385
|
+
"aria-labelledby": k,
|
|
386
|
+
"aria-describedby": M,
|
|
387
|
+
"aria-invalid": $,
|
|
388
|
+
"aria-required": F
|
|
389
|
+
}
|
|
390
|
+
}),
|
|
391
|
+
y && q.length > 0 && /* @__PURE__ */ A("div", {
|
|
392
|
+
className: U.rejections,
|
|
393
|
+
children: q.map((e) => /* @__PURE__ */ A(s, {
|
|
394
|
+
tone: "destructive",
|
|
395
|
+
children: L.rejection(e)
|
|
396
|
+
}, `${e.file.name}-${e.code}`))
|
|
397
|
+
}),
|
|
398
|
+
v && K.length > 0 && /* @__PURE__ */ A("ul", {
|
|
399
|
+
ref: re,
|
|
400
|
+
className: U.list,
|
|
401
|
+
children: K.map((e, t) => /* @__PURE__ */ j("li", {
|
|
402
|
+
className: U.row,
|
|
403
|
+
children: [
|
|
404
|
+
/* @__PURE__ */ A(te, { file: e }),
|
|
405
|
+
/* @__PURE__ */ j("div", {
|
|
406
|
+
className: U.rowBody,
|
|
407
|
+
children: [
|
|
408
|
+
/* @__PURE__ */ A("span", {
|
|
409
|
+
className: U.rowName,
|
|
410
|
+
children: e.name
|
|
411
|
+
}),
|
|
412
|
+
/* @__PURE__ */ A(a, {
|
|
413
|
+
value: e.size,
|
|
414
|
+
size: "xs",
|
|
415
|
+
type: "secondary"
|
|
416
|
+
}),
|
|
417
|
+
b?.[e.name] !== void 0 && /* @__PURE__ */ A("div", {
|
|
418
|
+
className: U.progress,
|
|
419
|
+
role: "progressbar",
|
|
420
|
+
"aria-valuenow": b[e.name],
|
|
421
|
+
"aria-valuemin": 0,
|
|
422
|
+
"aria-valuemax": 100,
|
|
423
|
+
"aria-label": L.uploading(e.name),
|
|
424
|
+
children: /* @__PURE__ */ A("div", {
|
|
425
|
+
className: U.progressFill,
|
|
426
|
+
style: { width: `${b[e.name]}%` }
|
|
427
|
+
})
|
|
428
|
+
})
|
|
429
|
+
]
|
|
430
|
+
}),
|
|
431
|
+
/* @__PURE__ */ A(n, {
|
|
432
|
+
tone: "neutral",
|
|
433
|
+
appearance: "ghost",
|
|
434
|
+
iconOnly: !0,
|
|
435
|
+
"aria-label": L.remove(e.name),
|
|
436
|
+
"data-remove": "",
|
|
437
|
+
disabled: f,
|
|
438
|
+
onClick: () => ie(t),
|
|
439
|
+
children: /* @__PURE__ */ A(S, {})
|
|
440
|
+
})
|
|
441
|
+
]
|
|
442
|
+
}, `${e.name}-${e.lastModified}`))
|
|
443
|
+
})
|
|
444
|
+
]
|
|
445
|
+
});
|
|
446
|
+
}
|
|
447
|
+
function te({ file: e }) {
|
|
448
|
+
let t = e.type.startsWith("image/"), [n] = M(t ? [e] : []);
|
|
449
|
+
return /* @__PURE__ */ A("span", {
|
|
450
|
+
className: U.thumb,
|
|
451
|
+
children: t && n ? /* @__PURE__ */ A(N, {
|
|
452
|
+
src: n,
|
|
453
|
+
fallback: /* @__PURE__ */ A(f, { "aria-hidden": !0 })
|
|
454
|
+
}) : /* @__PURE__ */ A(f, { "aria-hidden": !0 })
|
|
455
|
+
});
|
|
456
|
+
}
|
|
457
|
+
//#endregion
|
|
458
|
+
//#region src/components/base/upload/media-upload.tsx
|
|
459
|
+
function X({ value: e, onValueChange: t, onRejectedFiles: n, previewUrl: r, accept: i = "image/*", ...a }) {
|
|
460
|
+
let o = D(null), [s, c] = O(void 0), [l, u] = O(void 0), [d, f] = O(r);
|
|
461
|
+
d !== r && (f(r), u(void 0));
|
|
462
|
+
let p = e === void 0 ? s : e ?? void 0, [m] = M(p ? [p] : []);
|
|
463
|
+
return {
|
|
464
|
+
inputRef: o,
|
|
465
|
+
accepted: C((r) => {
|
|
466
|
+
let s = J({
|
|
467
|
+
incoming: r,
|
|
468
|
+
current: [],
|
|
469
|
+
maxFiles: 1,
|
|
470
|
+
append: !1,
|
|
471
|
+
accept: i,
|
|
472
|
+
...a
|
|
473
|
+
}), l = s.accepted[0];
|
|
474
|
+
l && (e === void 0 && c(l), t?.(l)), s.rejections.length > 0 && n?.(s.rejections), o.current && (o.current.value = "");
|
|
475
|
+
}, [
|
|
476
|
+
i,
|
|
477
|
+
a,
|
|
478
|
+
n,
|
|
479
|
+
t,
|
|
480
|
+
e
|
|
481
|
+
]),
|
|
482
|
+
clear: C(() => {
|
|
483
|
+
e === void 0 && (c(void 0), u(r)), t?.(void 0);
|
|
484
|
+
}, [
|
|
485
|
+
t,
|
|
486
|
+
r,
|
|
487
|
+
e
|
|
488
|
+
]),
|
|
489
|
+
shown: m ?? (e === void 0 && l === r ? null : r) ?? null,
|
|
490
|
+
accept: i
|
|
491
|
+
};
|
|
492
|
+
}
|
|
493
|
+
function Z({ shape: r, emptyIcon: i, emptyLabel: a, overlayLabel: o, removeLabel: s, props: c }) {
|
|
494
|
+
let { id: l, disabled: u, invalid: d, className: f, name: p, "aria-label": m, "aria-labelledby": h, "aria-describedby": g, "aria-invalid": v, "aria-required": b } = c, { inputRef: x, accepted: S, clear: C, shown: w, accept: E } = X(c), { isDragging: D, dropTargetProps: O } = H({
|
|
495
|
+
disabled: u,
|
|
496
|
+
onFiles: S
|
|
497
|
+
}), k = v ?? (d || void 0), M = T(), P = l ?? M;
|
|
498
|
+
return /* @__PURE__ */ j("div", {
|
|
499
|
+
className: t(r === "avatar" ? "avatar-upload--component" : "image-upload--component", U.mediaRoot, f),
|
|
500
|
+
children: [/* @__PURE__ */ j("div", {
|
|
501
|
+
...O,
|
|
502
|
+
"data-dragging": D || void 0,
|
|
503
|
+
"data-disabled": u || void 0,
|
|
504
|
+
"data-filled": w ? "" : void 0,
|
|
505
|
+
"data-invalid": k && k !== "false" || void 0,
|
|
506
|
+
className: t(U.mediaPicker, r === "avatar" ? U.avatarPicker : U.imagePicker),
|
|
507
|
+
children: [
|
|
508
|
+
/* @__PURE__ */ A("input", {
|
|
509
|
+
ref: x,
|
|
510
|
+
id: P,
|
|
511
|
+
type: "file",
|
|
512
|
+
name: p,
|
|
513
|
+
accept: E,
|
|
514
|
+
disabled: u,
|
|
515
|
+
"aria-label": m ?? (w ? o : a),
|
|
516
|
+
"aria-labelledby": h ? `${h} ${P}` : void 0,
|
|
517
|
+
"aria-describedby": g,
|
|
518
|
+
"aria-invalid": k,
|
|
519
|
+
"aria-required": b,
|
|
520
|
+
className: U.dropzoneInput,
|
|
521
|
+
onChange: (e) => {
|
|
522
|
+
let t = e.target.files;
|
|
523
|
+
t?.length && S(Array.from(t)), e.target.value = "";
|
|
524
|
+
}
|
|
525
|
+
}),
|
|
526
|
+
w ? /* @__PURE__ */ A(N, {
|
|
527
|
+
src: w,
|
|
528
|
+
fallback: /* @__PURE__ */ A("span", {
|
|
529
|
+
className: U.mediaEmpty,
|
|
530
|
+
children: i
|
|
531
|
+
}),
|
|
532
|
+
className: U.mediaPreview
|
|
533
|
+
}) : /* @__PURE__ */ j("span", {
|
|
534
|
+
className: U.mediaEmpty,
|
|
535
|
+
children: [i, r === "image" && /* @__PURE__ */ A(e, {
|
|
536
|
+
tag: "span",
|
|
537
|
+
size: "xs",
|
|
538
|
+
type: "inherit",
|
|
539
|
+
children: a
|
|
540
|
+
})]
|
|
541
|
+
}),
|
|
542
|
+
/* @__PURE__ */ j("span", {
|
|
543
|
+
className: U.mediaOverlay,
|
|
544
|
+
"aria-hidden": !0,
|
|
545
|
+
children: [/* @__PURE__ */ A(_, { "aria-hidden": !0 }), r === "image" && /* @__PURE__ */ A(e, {
|
|
546
|
+
tag: "span",
|
|
547
|
+
size: "xs",
|
|
548
|
+
type: "inherit",
|
|
549
|
+
children: o
|
|
550
|
+
})]
|
|
551
|
+
})
|
|
552
|
+
]
|
|
553
|
+
}), w && !u && /* @__PURE__ */ j(n, {
|
|
554
|
+
tone: "neutral",
|
|
555
|
+
appearance: "ghost",
|
|
556
|
+
onClick: () => {
|
|
557
|
+
C(), x.current?.focus();
|
|
558
|
+
},
|
|
559
|
+
children: [/* @__PURE__ */ A(y, {}), s]
|
|
560
|
+
})]
|
|
561
|
+
});
|
|
562
|
+
}
|
|
563
|
+
function ne({ strings: e, ...t }) {
|
|
564
|
+
let n = {
|
|
565
|
+
...I,
|
|
566
|
+
...e
|
|
567
|
+
};
|
|
568
|
+
return /* @__PURE__ */ A(Z, {
|
|
569
|
+
shape: "avatar",
|
|
570
|
+
emptyIcon: /* @__PURE__ */ A(x, { "aria-hidden": !0 }),
|
|
571
|
+
emptyLabel: n.empty,
|
|
572
|
+
overlayLabel: n.overlay,
|
|
573
|
+
removeLabel: n.remove,
|
|
574
|
+
props: t
|
|
575
|
+
});
|
|
576
|
+
}
|
|
577
|
+
function re({ strings: e, ...t }) {
|
|
578
|
+
let n = {
|
|
579
|
+
...L,
|
|
580
|
+
...e
|
|
581
|
+
};
|
|
582
|
+
return /* @__PURE__ */ A(Z, {
|
|
583
|
+
shape: "image",
|
|
584
|
+
emptyIcon: /* @__PURE__ */ A(p, { "aria-hidden": !0 }),
|
|
585
|
+
emptyLabel: n.empty,
|
|
586
|
+
overlayLabel: n.overlay,
|
|
587
|
+
removeLabel: n.remove,
|
|
588
|
+
props: t
|
|
589
|
+
});
|
|
590
|
+
}
|
|
591
|
+
//#endregion
|
|
592
|
+
//#region src/components/base/upload/upload-queue.tsx
|
|
593
|
+
var Q = {
|
|
594
|
+
queued: /* @__PURE__ */ A(d, { "aria-hidden": !0 }),
|
|
595
|
+
uploading: /* @__PURE__ */ A(h, { "aria-hidden": !0 }),
|
|
596
|
+
done: /* @__PURE__ */ A(l, { "aria-hidden": !0 }),
|
|
597
|
+
error: /* @__PURE__ */ A(u, { "aria-hidden": !0 }),
|
|
598
|
+
cancelled: /* @__PURE__ */ A(S, { "aria-hidden": !0 })
|
|
599
|
+
}, ie = {
|
|
600
|
+
queued: U.statusQueued,
|
|
601
|
+
uploading: U.statusUploading,
|
|
602
|
+
done: U.statusDone,
|
|
603
|
+
error: U.statusError,
|
|
604
|
+
cancelled: U.statusCancelled
|
|
605
|
+
};
|
|
606
|
+
function $({ items: i, onCancel: o, onRetry: s, onRemove: l, strings: u, className: d }) {
|
|
607
|
+
let p = r(R, u), m = D(/* @__PURE__ */ new Map()), [h, g] = O(""), _ = i.some((e) => e.status === "queued" || e.status === "uploading"), [y, b] = O(_);
|
|
608
|
+
return _ && !y && b(!0), w(() => {
|
|
609
|
+
let e = [];
|
|
610
|
+
for (let t of i) {
|
|
611
|
+
let n = m.current.get(t.id), r = t.status === "done" || t.status === "error" || t.status === "cancelled";
|
|
612
|
+
n !== void 0 && n !== t.status && r && e.push(p.settled?.(t.name, p.status[t.status]) ?? `${t.name}: ${p.status[t.status]}`);
|
|
613
|
+
}
|
|
614
|
+
m.current = new Map(i.map((e) => [e.id, e.status])), e.length > 0 && g(e.join(". "));
|
|
615
|
+
}, [i, p]), i.length === 0 ? null : /* @__PURE__ */ j(k, { children: [/* @__PURE__ */ A("ul", {
|
|
616
|
+
className: t("upload-progress-list--component", U.list, d),
|
|
617
|
+
children: i.map((r) => {
|
|
618
|
+
let i = {
|
|
619
|
+
key: "cancel",
|
|
620
|
+
label: p.cancel(r.name),
|
|
621
|
+
icon: /* @__PURE__ */ A(S, {}),
|
|
622
|
+
run: () => o?.(r.id)
|
|
623
|
+
}, c = {
|
|
624
|
+
key: "retry",
|
|
625
|
+
label: p.retry(r.name),
|
|
626
|
+
icon: /* @__PURE__ */ A(v, {}),
|
|
627
|
+
run: () => s?.(r.id)
|
|
628
|
+
}, u = {
|
|
629
|
+
key: "remove",
|
|
630
|
+
label: p.remove(r.name),
|
|
631
|
+
icon: /* @__PURE__ */ A(S, {}),
|
|
632
|
+
run: () => l?.(r.id)
|
|
633
|
+
}, d = r.status === "uploading" ? o ? [i] : [] : r.status === "queued" ? o ? [i] : l ? [u] : [] : r.status === "error" ? [...s ? [c] : [], ...l ? [u] : []] : l ? [u] : [];
|
|
634
|
+
return /* @__PURE__ */ j("li", {
|
|
635
|
+
className: U.row,
|
|
636
|
+
children: [
|
|
637
|
+
r.preview ? /* @__PURE__ */ A("span", {
|
|
638
|
+
className: U.thumb,
|
|
639
|
+
children: /* @__PURE__ */ A(N, {
|
|
640
|
+
src: r.preview,
|
|
641
|
+
fallback: /* @__PURE__ */ A(f, { "aria-hidden": !0 })
|
|
642
|
+
})
|
|
643
|
+
}) : /* @__PURE__ */ A("span", {
|
|
644
|
+
className: t(U.statusIcon, ie[r.status]),
|
|
645
|
+
"aria-hidden": !0,
|
|
646
|
+
children: Q[r.status]
|
|
647
|
+
}),
|
|
648
|
+
/* @__PURE__ */ j("div", {
|
|
649
|
+
className: U.rowBody,
|
|
650
|
+
children: [
|
|
651
|
+
/* @__PURE__ */ A("span", {
|
|
652
|
+
className: U.rowName,
|
|
653
|
+
children: r.name
|
|
654
|
+
}),
|
|
655
|
+
/* @__PURE__ */ j(e, {
|
|
656
|
+
tag: "span",
|
|
657
|
+
size: "xs",
|
|
658
|
+
type: "secondary",
|
|
659
|
+
children: [p.status[r.status], r.size !== void 0 && /* @__PURE__ */ j(k, { children: [" · ", /* @__PURE__ */ A(a, {
|
|
660
|
+
value: r.size,
|
|
661
|
+
size: "inherit",
|
|
662
|
+
type: "inherit"
|
|
663
|
+
})] })]
|
|
664
|
+
}),
|
|
665
|
+
r.status === "uploading" && /* @__PURE__ */ A("div", {
|
|
666
|
+
className: U.progress,
|
|
667
|
+
role: "progressbar",
|
|
668
|
+
"aria-valuenow": r.progress ?? 0,
|
|
669
|
+
"aria-valuemin": 0,
|
|
670
|
+
"aria-valuemax": 100,
|
|
671
|
+
"aria-label": p.uploading(r.name),
|
|
672
|
+
children: /* @__PURE__ */ A("div", {
|
|
673
|
+
className: U.progressFill,
|
|
674
|
+
style: { width: `${r.progress ?? 0}%` }
|
|
675
|
+
})
|
|
676
|
+
}),
|
|
677
|
+
r.status === "error" && !!r.error && /* @__PURE__ */ A(e, {
|
|
678
|
+
tag: "span",
|
|
679
|
+
size: "xs",
|
|
680
|
+
type: "error",
|
|
681
|
+
children: r.error
|
|
682
|
+
})
|
|
683
|
+
]
|
|
684
|
+
}),
|
|
685
|
+
d.length > 0 && /* @__PURE__ */ A("span", {
|
|
686
|
+
className: U.rowActions,
|
|
687
|
+
children: d.map((e) => /* @__PURE__ */ A(n, {
|
|
688
|
+
tone: "neutral",
|
|
689
|
+
appearance: "ghost",
|
|
690
|
+
iconOnly: !0,
|
|
691
|
+
"aria-label": e.label,
|
|
692
|
+
onClick: e.run,
|
|
693
|
+
children: e.icon
|
|
694
|
+
}, e.key))
|
|
695
|
+
})
|
|
696
|
+
]
|
|
697
|
+
}, r.id);
|
|
698
|
+
})
|
|
699
|
+
}), y && /* @__PURE__ */ A(c, {
|
|
700
|
+
"aria-live": "polite",
|
|
701
|
+
children: h
|
|
702
|
+
})] });
|
|
703
|
+
}
|
|
704
|
+
function ae({ items: e, onAddFiles: r, onCancel: i, onRetry: a, onRemove: s, onClearAll: c, strings: l, showSummary: u = !0, className: d, ...f }) {
|
|
705
|
+
let p = {
|
|
706
|
+
...z,
|
|
707
|
+
...l
|
|
708
|
+
}, m = E(() => {
|
|
709
|
+
let t = {};
|
|
710
|
+
for (let n of e) t[n.status] = (t[n.status] ?? 0) + 1;
|
|
711
|
+
return t;
|
|
712
|
+
}, [e]), h = [
|
|
713
|
+
"uploading",
|
|
714
|
+
"queued",
|
|
715
|
+
"done",
|
|
716
|
+
"error",
|
|
717
|
+
"cancelled"
|
|
718
|
+
].filter((e) => m[e]).map((e) => ({
|
|
719
|
+
status: e,
|
|
720
|
+
count: m[e]
|
|
721
|
+
}));
|
|
722
|
+
return /* @__PURE__ */ j("div", {
|
|
723
|
+
className: t("upload-tray--component", U.tray, d),
|
|
724
|
+
children: [
|
|
725
|
+
/* @__PURE__ */ A(Y, {
|
|
726
|
+
...f,
|
|
727
|
+
strings: l,
|
|
728
|
+
multiple: !0,
|
|
729
|
+
showList: !1,
|
|
730
|
+
value: [],
|
|
731
|
+
onValueChange: (e) => {
|
|
732
|
+
e.length > 0 && r(e);
|
|
733
|
+
}
|
|
734
|
+
}),
|
|
735
|
+
u && h.length > 0 && /* @__PURE__ */ j("div", {
|
|
736
|
+
className: U.trayToolbar,
|
|
737
|
+
children: [/* @__PURE__ */ A("div", {
|
|
738
|
+
className: U.trayCounts,
|
|
739
|
+
children: h.map(({ status: e, count: t }) => /* @__PURE__ */ j(o, {
|
|
740
|
+
tone: e === "error" ? "destructive" : "neutral",
|
|
741
|
+
children: [
|
|
742
|
+
p.status[e],
|
|
743
|
+
" ",
|
|
744
|
+
t
|
|
745
|
+
]
|
|
746
|
+
}, e))
|
|
747
|
+
}), !!c && /* @__PURE__ */ A(n, {
|
|
748
|
+
tone: "neutral",
|
|
749
|
+
appearance: "ghost",
|
|
750
|
+
onClick: c,
|
|
751
|
+
children: p.clearAll
|
|
752
|
+
})]
|
|
753
|
+
}),
|
|
754
|
+
/* @__PURE__ */ A($, {
|
|
755
|
+
items: e,
|
|
756
|
+
strings: l,
|
|
757
|
+
onCancel: i,
|
|
758
|
+
onRetry: a,
|
|
759
|
+
onRemove: s
|
|
760
|
+
})
|
|
761
|
+
]
|
|
762
|
+
});
|
|
763
|
+
}
|
|
764
|
+
//#endregion
|
|
765
|
+
//#region src/components/base/upload/media-gallery.tsx
|
|
766
|
+
var oe = [];
|
|
767
|
+
function se({ value: r, defaultValue: i, onValueChange: a, onRejectedFiles: s, maxFiles: c, disabled: l = !1, invalid: u = !1, showCover: d = !0, strings: f, accept: h = "image/*", ...g }) {
|
|
768
|
+
let _ = {
|
|
769
|
+
...F,
|
|
770
|
+
...f
|
|
771
|
+
}, v = r !== void 0, [y, b] = O(i ?? []), x = v ? r ?? oe : y, [w, T] = O(null), [D, k] = O(null), P = C((e) => {
|
|
772
|
+
v || b(e), a?.(e);
|
|
773
|
+
}, [v, a]), I = C((e) => {
|
|
774
|
+
let t = J({
|
|
775
|
+
incoming: e,
|
|
776
|
+
current: x,
|
|
777
|
+
maxFiles: c ?? Infinity,
|
|
778
|
+
append: !0,
|
|
779
|
+
accept: h,
|
|
780
|
+
...g
|
|
781
|
+
});
|
|
782
|
+
t.rejections.length > 0 && s?.(t.rejections), t.accepted.length > 0 && P(t.nextFiles);
|
|
783
|
+
}, [
|
|
784
|
+
h,
|
|
785
|
+
P,
|
|
786
|
+
g,
|
|
787
|
+
x,
|
|
788
|
+
c,
|
|
789
|
+
s
|
|
790
|
+
]), { isDragging: L, dropTargetProps: R } = H({
|
|
791
|
+
disabled: l,
|
|
792
|
+
onFiles: I
|
|
793
|
+
}), z = C((e, t) => {
|
|
794
|
+
if (e === t || t < 0 || t >= x.length) return;
|
|
795
|
+
let n = [...x], [r] = n.splice(e, 1);
|
|
796
|
+
r !== void 0 && (n.splice(t, 0, r), P(n));
|
|
797
|
+
}, [P, x]), B = M(x), V = (e, t) => {
|
|
798
|
+
let n = e.key === "ArrowLeft" ? -1 : +(e.key === "ArrowRight");
|
|
799
|
+
if (n === 0) return;
|
|
800
|
+
e.preventDefault();
|
|
801
|
+
let r = t + n;
|
|
802
|
+
z(t, r);
|
|
803
|
+
let i = e.currentTarget.closest("[data-gallery]")?.querySelectorAll("[data-gallery-tile]");
|
|
804
|
+
requestAnimationFrame(() => i?.[r]?.focus());
|
|
805
|
+
}, W = (e, t) => {
|
|
806
|
+
e.preventDefault(), w !== null && z(w, t), T(null), k(null);
|
|
807
|
+
}, G = c !== void 0 && x.length >= c, K = E(() => x.map((e, t) => ({
|
|
808
|
+
file: e,
|
|
809
|
+
url: B[t]
|
|
810
|
+
})), [x, B]);
|
|
811
|
+
return /* @__PURE__ */ j("div", {
|
|
812
|
+
"data-gallery": "",
|
|
813
|
+
className: t("media-gallery--component", U.gallery),
|
|
814
|
+
children: [K.map(({ file: e, url: t }, r) => /* @__PURE__ */ j("div", {
|
|
815
|
+
className: U.tile,
|
|
816
|
+
"data-dragging": w === r || void 0,
|
|
817
|
+
"data-drop": D === r && w !== null && w !== r || void 0,
|
|
818
|
+
onDragOver: (e) => {
|
|
819
|
+
w !== null && (e.preventDefault(), k(r));
|
|
820
|
+
},
|
|
821
|
+
onDrop: (e) => W(e, r),
|
|
822
|
+
onDragEnd: () => {
|
|
823
|
+
T(null), k(null);
|
|
824
|
+
},
|
|
825
|
+
children: [
|
|
826
|
+
!!t && /* @__PURE__ */ A(N, {
|
|
827
|
+
src: t,
|
|
828
|
+
fallback: /* @__PURE__ */ A(p, {
|
|
829
|
+
"aria-hidden": !0,
|
|
830
|
+
className: U.tileFallback
|
|
831
|
+
}),
|
|
832
|
+
className: U.tileImage
|
|
833
|
+
}),
|
|
834
|
+
/* @__PURE__ */ A("button", {
|
|
835
|
+
type: "button",
|
|
836
|
+
"data-gallery-tile": "",
|
|
837
|
+
className: U.tileHandle,
|
|
838
|
+
"aria-label": _.position(e.name, r + 1, x.length),
|
|
839
|
+
disabled: l,
|
|
840
|
+
draggable: !l,
|
|
841
|
+
onDragStart: (e) => {
|
|
842
|
+
T(r), e.dataTransfer.effectAllowed = "move", e.dataTransfer.setData("text/plain", String(r));
|
|
843
|
+
let t = e.currentTarget.closest("[data-drop], div");
|
|
844
|
+
t && e.dataTransfer.setDragImage(t, 20, 20);
|
|
845
|
+
},
|
|
846
|
+
onDragEnd: () => {
|
|
847
|
+
T(null), k(null);
|
|
848
|
+
},
|
|
849
|
+
onKeyDown: (e) => V(e, r)
|
|
850
|
+
}),
|
|
851
|
+
r === 0 && d && /* @__PURE__ */ A(o, {
|
|
852
|
+
tone: "neutral",
|
|
853
|
+
className: U.tileCover,
|
|
854
|
+
children: _.cover
|
|
855
|
+
}),
|
|
856
|
+
/* @__PURE__ */ A(n, {
|
|
857
|
+
tone: "neutral",
|
|
858
|
+
appearance: "solid",
|
|
859
|
+
iconOnly: !0,
|
|
860
|
+
className: U.tileRemove,
|
|
861
|
+
"aria-label": _.remove(e.name),
|
|
862
|
+
disabled: l,
|
|
863
|
+
onClick: () => P(x.filter((e, t) => t !== r)),
|
|
864
|
+
children: /* @__PURE__ */ A(S, {})
|
|
865
|
+
})
|
|
866
|
+
]
|
|
867
|
+
}, `${e.name}-${e.lastModified}-${r}`)), !G && /* @__PURE__ */ j("label", {
|
|
868
|
+
...R,
|
|
869
|
+
"data-dragging": L || void 0,
|
|
870
|
+
"data-disabled": l || void 0,
|
|
871
|
+
"aria-invalid": u || void 0,
|
|
872
|
+
className: U.galleryAdd,
|
|
873
|
+
children: [
|
|
874
|
+
/* @__PURE__ */ A("input", {
|
|
875
|
+
type: "file",
|
|
876
|
+
accept: h,
|
|
877
|
+
multiple: !0,
|
|
878
|
+
disabled: l,
|
|
879
|
+
className: U.dropzoneInput,
|
|
880
|
+
onChange: (e) => {
|
|
881
|
+
let t = e.target.files;
|
|
882
|
+
t?.length && I(Array.from(t)), e.target.value = "";
|
|
883
|
+
}
|
|
884
|
+
}),
|
|
885
|
+
/* @__PURE__ */ A(m, { "aria-hidden": !0 }),
|
|
886
|
+
/* @__PURE__ */ A(e, {
|
|
887
|
+
tag: "span",
|
|
888
|
+
size: "xs",
|
|
889
|
+
type: "inherit",
|
|
890
|
+
children: _.add
|
|
891
|
+
})
|
|
892
|
+
]
|
|
893
|
+
})]
|
|
894
|
+
});
|
|
895
|
+
}
|
|
896
|
+
//#endregion
|
|
897
|
+
//#region src/components/base/upload/file-picker-input.tsx
|
|
898
|
+
function ce({ value: e, onValueChange: r, onRejectedFiles: i, constraints: o = {}, disabled: s = !1, invalid: c = !1, name: l, strings: u, className: d, ...f }) {
|
|
899
|
+
let p = {
|
|
900
|
+
...V,
|
|
901
|
+
...u
|
|
902
|
+
}, m = D(null), [h, _] = O(void 0), v = e === void 0 ? h : e ?? void 0, y = C((t) => {
|
|
903
|
+
let n = J({
|
|
904
|
+
incoming: t,
|
|
905
|
+
current: [],
|
|
906
|
+
maxFiles: 1,
|
|
907
|
+
append: !1,
|
|
908
|
+
...o
|
|
909
|
+
});
|
|
910
|
+
n.rejections.length > 0 && i?.(n.rejections);
|
|
911
|
+
let a = n.accepted[0];
|
|
912
|
+
a && (e === void 0 && _(a), r?.(a)), m.current && (m.current.value = "");
|
|
913
|
+
}, [
|
|
914
|
+
o,
|
|
915
|
+
i,
|
|
916
|
+
r,
|
|
917
|
+
e
|
|
918
|
+
]);
|
|
919
|
+
return /* @__PURE__ */ j("div", {
|
|
920
|
+
"data-field-shell": "",
|
|
921
|
+
"data-disabled": s || void 0,
|
|
922
|
+
"aria-invalid": c || void 0,
|
|
923
|
+
className: t("file-picker-input--component", U.pickerShell, d),
|
|
924
|
+
...f,
|
|
925
|
+
children: [
|
|
926
|
+
/* @__PURE__ */ A("input", {
|
|
927
|
+
ref: m,
|
|
928
|
+
type: "file",
|
|
929
|
+
name: l,
|
|
930
|
+
accept: o.accept,
|
|
931
|
+
disabled: s,
|
|
932
|
+
"aria-label": v ? v.name : p.empty,
|
|
933
|
+
className: U.dropzoneInput,
|
|
934
|
+
onChange: (e) => {
|
|
935
|
+
let t = e.target.files;
|
|
936
|
+
t?.length && y(Array.from(t));
|
|
937
|
+
}
|
|
938
|
+
}),
|
|
939
|
+
/* @__PURE__ */ A(g, {
|
|
940
|
+
"aria-hidden": !0,
|
|
941
|
+
className: U.pickerIcon
|
|
942
|
+
}),
|
|
943
|
+
/* @__PURE__ */ A("span", {
|
|
944
|
+
className: t(U.pickerLabel, !v && U.pickerEmpty),
|
|
945
|
+
children: v ? v.name : p.empty
|
|
946
|
+
}),
|
|
947
|
+
!!v && /* @__PURE__ */ A(a, {
|
|
948
|
+
value: v.size,
|
|
949
|
+
size: "xs",
|
|
950
|
+
type: "secondary",
|
|
951
|
+
className: U.pickerMeta
|
|
952
|
+
}),
|
|
953
|
+
!!v && !s && /* @__PURE__ */ A(n, {
|
|
954
|
+
tone: "neutral",
|
|
955
|
+
appearance: "ghost",
|
|
956
|
+
iconOnly: !0,
|
|
957
|
+
"aria-label": p.clear,
|
|
958
|
+
className: U.pickerClear,
|
|
959
|
+
onClick: () => {
|
|
960
|
+
e === void 0 && _(void 0), r?.(void 0);
|
|
961
|
+
},
|
|
962
|
+
children: /* @__PURE__ */ A(S, {})
|
|
963
|
+
})
|
|
964
|
+
]
|
|
965
|
+
});
|
|
966
|
+
}
|
|
967
|
+
//#endregion
|
|
968
|
+
export { z as _, ne as a, J as c, I as d, B as f, R as g, F as h, ae as i, W as l, L as m, se as n, re as o, V as p, $ as r, Y as s, ce as t, H as u, P as v, N as y };
|