thread-ui 0.16.4 → 0.17.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/README.md +2 -2
- package/dist/components/content-display/carousel/carousel-context.d.ts +15 -15
- package/dist/components/content-display/carousel/carousel.types.d.ts +1 -1
- package/dist/components/content-display/carousel/components/carousel-header.js +1 -1
- package/dist/components/content-display/carousel/components/carousel-header.js.map +1 -1
- package/dist/components/content-display/gallery/components/gallery-content.js +1 -1
- package/dist/components/content-display/gallery/components/gallery-content.js.map +1 -1
- package/dist/components/content-display/gallery/gallery-context.d.ts +15 -15
- package/dist/components/content-display/gallery/gallery.types.d.ts +1 -1
- package/dist/components/content-display/lightbox/components/lightbox-title.js +2 -2
- package/dist/components/content-display/lightbox/components/lightbox-title.js.map +1 -1
- package/dist/components/content-display/lightbox/lightbox-context.d.ts +6 -6
- package/dist/components/content-display/lightbox/lightbox.js +1 -1
- package/dist/components/content-display/lightbox/lightbox.js.map +1 -1
- package/dist/components/content-display/tab-view/components/tab-item-content.js +1 -1
- package/dist/components/content-display/tab-view/components/tab-item-content.js.map +1 -1
- package/dist/components/data-display/filter-controls/variants/filter-controls.js +13 -2
- package/dist/components/data-display/filter-controls/variants/filter-controls.js.map +1 -1
- package/dist/components/data-display/filter-controls/variants/inline-filter-controls.js +1 -1
- package/dist/components/data-display/filter-controls/variants/inline-filter-controls.js.map +1 -1
- package/dist/components/data-display/sort-controls/sort-controls.js +1 -1
- package/dist/components/data-display/sort-controls/sort-controls.js.map +1 -1
- package/dist/components/data-input/dropdowns/dropdown/dropdown.d.ts +19 -0
- package/dist/components/data-input/dropdowns/dropdown/dropdown.js +22 -0
- package/dist/components/data-input/dropdowns/dropdown/dropdown.js.map +1 -0
- package/dist/components/data-input/dropdowns/dropdown/dropdown.types.d.ts +4 -0
- package/dist/components/data-input/dropdowns/dropdown/dropdown.types.js.map +1 -0
- package/dist/components/data-input/dropdowns/dropdown/index.js.map +1 -0
- package/dist/components/data-input/dropdowns/dropdown-base/dropdown-base.d.ts +42 -0
- package/dist/components/data-input/dropdowns/dropdown-base/dropdown-base.js +233 -0
- package/dist/components/data-input/dropdowns/dropdown-base/dropdown-base.js.map +1 -0
- package/dist/components/data-input/dropdowns/dropdown-base/dropdown-base.types.d.ts +36 -0
- package/dist/components/data-input/dropdowns/dropdown-base/dropdown-base.types.js.map +1 -0
- package/dist/components/data-input/dropdowns/dropdown-base/index.js.map +1 -0
- package/dist/components/data-input/dropdowns/index.js.map +1 -0
- package/dist/components/data-input/dropdowns/multi-dropdown/index.js.map +1 -0
- package/dist/components/data-input/dropdowns/multi-dropdown/multi-dropdown.d.ts +19 -0
- package/dist/components/data-input/dropdowns/multi-dropdown/multi-dropdown.js +21 -0
- package/dist/components/data-input/dropdowns/multi-dropdown/multi-dropdown.js.map +1 -0
- package/dist/components/data-input/dropdowns/multi-dropdown/multi-dropdown.types.d.ts +4 -0
- package/dist/components/data-input/dropdowns/multi-dropdown/multi-dropdown.types.js.map +1 -0
- package/dist/components/data-input/file-upload/components/dropzone.d.ts +8 -0
- package/dist/components/data-input/file-upload/components/dropzone.js +117 -0
- package/dist/components/data-input/file-upload/components/dropzone.js.map +1 -0
- package/dist/components/data-input/file-upload/components/file-item.d.ts +14 -0
- package/dist/components/data-input/file-upload/components/file-item.js +69 -0
- package/dist/components/data-input/file-upload/components/file-item.js.map +1 -0
- package/dist/components/data-input/file-upload/components/file-upload-content.d.ts +10 -0
- package/dist/components/data-input/file-upload/components/file-upload-content.js +55 -0
- package/dist/components/data-input/file-upload/components/file-upload-content.js.map +1 -0
- package/dist/components/data-input/file-upload/components/item-previews.d.ts +28 -0
- package/dist/components/data-input/file-upload/components/item-previews.js +95 -0
- package/dist/components/data-input/file-upload/components/item-previews.js.map +1 -0
- package/dist/components/data-input/file-upload/file-upload-context.js.map +1 -0
- package/dist/components/data-input/file-upload/file-upload.d.ts +23 -0
- package/dist/components/data-input/file-upload/file-upload.js +58 -0
- package/dist/components/data-input/file-upload/file-upload.js.map +1 -0
- package/dist/components/data-input/file-upload/file-upload.types.d.ts +54 -0
- package/dist/components/data-input/file-upload/file-upload.types.js.map +1 -0
- package/dist/components/data-input/file-upload/file-upload.utils.d.ts +21 -0
- package/dist/components/data-input/file-upload/file-upload.utils.js +86 -0
- package/dist/components/data-input/file-upload/file-upload.utils.js.map +1 -0
- package/dist/components/data-input/file-upload/index.d.ts +3 -0
- package/dist/components/data-input/file-upload/index.js.map +1 -0
- package/dist/components/data-input/file-upload/use-file-upload.d.ts +58 -0
- package/dist/components/data-input/file-upload/use-file-upload.js +154 -0
- package/dist/components/data-input/file-upload/use-file-upload.js.map +1 -0
- package/dist/components/data-input/file-upload/use-object-url.d.ts +9 -0
- package/dist/components/data-input/file-upload/use-object-url.js +24 -0
- package/dist/components/data-input/file-upload/use-object-url.js.map +1 -0
- package/dist/components/{form-elements → data-input}/index.d.ts +2 -1
- package/dist/components/{form-elements → data-input}/index.js +2 -1
- package/dist/components/data-input/index.js.map +1 -0
- package/dist/components/data-input/number-input/index.js.map +1 -0
- package/dist/components/{form-elements → data-input}/number-input/number-input.d.ts +5 -1
- package/dist/components/{form-elements → data-input}/number-input/number-input.js +48 -49
- package/dist/components/data-input/number-input/number-input.js.map +1 -0
- package/dist/components/{form-elements → data-input}/number-input/number-input.types.d.ts +1 -1
- package/dist/components/data-input/number-input/number-input.types.js.map +1 -0
- package/dist/components/data-input/reorderable/index.d.ts +4 -0
- package/dist/components/data-input/reorderable/index.js +4 -0
- package/dist/components/data-input/reorderable/index.js.map +1 -0
- package/dist/components/data-input/reorderable/reorderable-groups/group-title.d.ts +8 -0
- package/dist/components/data-input/reorderable/reorderable-groups/group-title.js +20 -0
- package/dist/components/data-input/reorderable/reorderable-groups/group-title.js.map +1 -0
- package/dist/components/data-input/reorderable/reorderable-groups/group-utils.d.ts +13 -0
- package/dist/components/data-input/reorderable/reorderable-groups/group-utils.js +26 -0
- package/dist/components/data-input/reorderable/reorderable-groups/group-utils.js.map +1 -0
- package/dist/components/data-input/reorderable/reorderable-groups/index.d.ts +2 -0
- package/dist/components/data-input/reorderable/reorderable-groups/index.js +2 -0
- package/dist/components/data-input/reorderable/reorderable-groups/index.js.map +1 -0
- package/dist/components/data-input/reorderable/reorderable-groups/reorderable-groups.d.ts +18 -0
- package/dist/components/data-input/reorderable/reorderable-groups/reorderable-groups.js +135 -0
- package/dist/components/data-input/reorderable/reorderable-groups/reorderable-groups.js.map +1 -0
- package/dist/components/data-input/reorderable/reorderable-groups/reorderable-groups.types.d.ts +66 -0
- package/dist/components/data-input/reorderable/reorderable-groups/reorderable-groups.types.js +2 -0
- package/dist/components/data-input/reorderable/reorderable-groups/reorderable-groups.types.js.map +1 -0
- package/dist/components/data-input/reorderable/reorderable-groups/sortable-group.d.ts +30 -0
- package/dist/components/data-input/reorderable/reorderable-groups/sortable-group.js +65 -0
- package/dist/components/data-input/reorderable/reorderable-groups/sortable-group.js.map +1 -0
- package/dist/components/data-input/reorderable/reorderable-groups/use-group-drag.d.ts +30 -0
- package/dist/components/data-input/reorderable/reorderable-groups/use-group-drag.js +186 -0
- package/dist/components/data-input/reorderable/reorderable-groups/use-group-drag.js.map +1 -0
- package/dist/components/data-input/reorderable/reorderable-list/index.d.ts +2 -0
- package/dist/components/data-input/reorderable/reorderable-list/index.js +2 -0
- package/dist/components/data-input/reorderable/reorderable-list/index.js.map +1 -0
- package/dist/components/data-input/reorderable/reorderable-list/reorderable-list.d.ts +19 -0
- package/dist/components/data-input/reorderable/reorderable-list/reorderable-list.js +95 -0
- package/dist/components/data-input/reorderable/reorderable-list/reorderable-list.js.map +1 -0
- package/dist/components/data-input/reorderable/reorderable-list/reorderable-list.types.d.ts +28 -0
- package/dist/components/data-input/reorderable/reorderable-list/reorderable-list.types.js +2 -0
- package/dist/components/data-input/reorderable/reorderable-list/reorderable-list.types.js.map +1 -0
- package/dist/components/data-input/reorderable/reorderable-list/sortable-item/index.d.ts +2 -0
- package/dist/components/data-input/reorderable/reorderable-list/sortable-item/index.js +2 -0
- package/dist/components/data-input/reorderable/reorderable-list/sortable-item/index.js.map +1 -0
- package/dist/components/data-input/reorderable/reorderable-list/sortable-item/sortable-item.d.ts +8 -0
- package/dist/components/data-input/reorderable/reorderable-list/sortable-item/sortable-item.js +66 -0
- package/dist/components/data-input/reorderable/reorderable-list/sortable-item/sortable-item.js.map +1 -0
- package/dist/components/data-input/reorderable/reorderable-list/sortable-item/sortable-item.types.d.ts +31 -0
- package/dist/components/data-input/reorderable/reorderable-list/sortable-item/sortable-item.types.js +2 -0
- package/dist/components/data-input/reorderable/reorderable-list/sortable-item/sortable-item.types.js.map +1 -0
- package/dist/components/data-input/reorderable/shared/components/drag-handle.d.ts +24 -0
- package/dist/components/data-input/reorderable/shared/components/drag-handle.js +50 -0
- package/dist/components/data-input/reorderable/shared/components/drag-handle.js.map +1 -0
- package/dist/components/data-input/reorderable/shared/components/sortable-item.d.ts +9 -0
- package/dist/components/data-input/reorderable/shared/components/sortable-item.js +42 -0
- package/dist/components/data-input/reorderable/shared/components/sortable-item.js.map +1 -0
- package/dist/components/data-input/reorderable/shared/functions/announcements.d.ts +4 -0
- package/dist/components/data-input/reorderable/shared/functions/announcements.js +20 -0
- package/dist/components/data-input/reorderable/shared/functions/announcements.js.map +1 -0
- package/dist/components/data-input/reorderable/shared/functions/apply-order.d.ts +2 -0
- package/dist/components/data-input/reorderable/shared/functions/apply-order.js +8 -0
- package/dist/components/data-input/reorderable/shared/functions/apply-order.js.map +1 -0
- package/dist/components/data-input/reorderable/shared/functions/form-value.d.ts +30 -0
- package/dist/components/data-input/reorderable/shared/functions/form-value.js +49 -0
- package/dist/components/data-input/reorderable/shared/functions/form-value.js.map +1 -0
- package/dist/components/data-input/reorderable/shared/functions/layout.d.ts +18 -0
- package/dist/components/data-input/reorderable/shared/functions/layout.js +27 -0
- package/dist/components/data-input/reorderable/shared/functions/layout.js.map +1 -0
- package/dist/components/data-input/reorderable/shared/index.d.ts +9 -0
- package/dist/components/data-input/reorderable/shared/index.js +7 -0
- package/dist/components/data-input/reorderable/shared/index.js.map +1 -0
- package/dist/components/data-input/reorderable/shared/types/reorderable.types.d.ts +45 -0
- package/dist/components/data-input/reorderable/shared/types/reorderable.types.js +2 -0
- package/dist/components/data-input/reorderable/shared/types/reorderable.types.js.map +1 -0
- package/dist/components/data-input/reorderable/shared/types/sortable-item.types.d.ts +14 -0
- package/dist/components/data-input/reorderable/shared/types/sortable-item.types.js +2 -0
- package/dist/components/data-input/reorderable/shared/types/sortable-item.types.js.map +1 -0
- package/dist/components/data-input/shared/form-label/form-label.d.ts +15 -0
- package/dist/components/data-input/shared/form-label/form-label.js +53 -0
- package/dist/components/data-input/shared/form-label/form-label.js.map +1 -0
- package/dist/components/data-input/shared/form-label/form-label.types.d.ts +10 -0
- package/dist/components/data-input/shared/form-label/form-label.types.js.map +1 -0
- package/dist/components/data-input/shared/form-label/index.js.map +1 -0
- package/dist/components/data-input/shared/input-props.types.d.ts +43 -0
- package/dist/components/data-input/shared/input-props.types.js.map +1 -0
- package/dist/components/data-input/shared/input-wrapper.d.ts +31 -0
- package/dist/components/data-input/shared/input-wrapper.js +50 -0
- package/dist/components/data-input/shared/input-wrapper.js.map +1 -0
- package/dist/components/{form-elements/styles/index.d.ts → data-input/shared/styles.d.ts} +26 -3
- package/dist/components/data-input/shared/styles.js +107 -0
- package/dist/components/data-input/shared/styles.js.map +1 -0
- package/dist/components/data-input/shared/use-field-error.d.ts +58 -0
- package/dist/components/data-input/shared/use-field-error.js +82 -0
- package/dist/components/data-input/shared/use-field-error.js.map +1 -0
- package/dist/components/data-input/shared/use-input-id.d.ts +8 -0
- package/dist/components/data-input/shared/use-input-id.js +14 -0
- package/dist/components/data-input/shared/use-input-id.js.map +1 -0
- package/dist/components/data-input/text-input/index.js.map +1 -0
- package/dist/components/data-input/text-input/text-input.d.ts +16 -0
- package/dist/components/data-input/text-input/text-input.js +37 -0
- package/dist/components/data-input/text-input/text-input.js.map +1 -0
- package/dist/components/{form-elements → data-input}/text-input/text-input.types.d.ts +1 -1
- package/dist/components/data-input/text-input/text-input.types.js.map +1 -0
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/layouts/column-layout/column-layout.js +1 -1
- package/dist/components/layouts/column-layout/column-layout.js.map +1 -1
- package/dist/components/layouts/column-layout/column-layout.types.d.ts +1 -1
- package/dist/components/layouts/footer/footer.js +1 -1
- package/dist/components/layouts/footer/footer.js.map +1 -1
- package/dist/components/layouts/index.d.ts +2 -0
- package/dist/components/layouts/index.js +2 -0
- package/dist/components/layouts/index.js.map +1 -1
- package/dist/components/layouts/layout-wrapper.js +1 -1
- package/dist/components/layouts/layout-wrapper.js.map +1 -1
- package/dist/components/layouts/masonry-layout/masonry-layout.js +1 -1
- package/dist/components/layouts/masonry-layout/masonry-layout.js.map +1 -1
- package/dist/components/layouts/masonry-layout/masonry-layout.types.d.ts +1 -1
- package/dist/components/layouts/split-navigator/index.d.ts +2 -0
- package/dist/components/layouts/split-navigator/index.js +2 -0
- package/dist/components/layouts/split-navigator/index.js.map +1 -0
- package/dist/components/layouts/split-navigator/split-navigator.d.ts +19 -0
- package/dist/components/layouts/split-navigator/split-navigator.js +91 -0
- package/dist/components/layouts/split-navigator/split-navigator.js.map +1 -0
- package/dist/components/layouts/split-navigator/split-navigator.types.d.ts +55 -0
- package/dist/components/layouts/split-navigator/split-navigator.types.js +2 -0
- package/dist/components/layouts/split-navigator/split-navigator.types.js.map +1 -0
- package/dist/components/layouts/split-view/components/split-view-back-button.d.ts +3 -0
- package/dist/components/layouts/split-view/components/split-view-back-button.js +18 -0
- package/dist/components/layouts/split-view/components/split-view-back-button.js.map +1 -0
- package/dist/components/layouts/split-view/components/split-view-column.d.ts +5 -0
- package/dist/components/layouts/split-view/components/split-view-column.js +204 -0
- package/dist/components/layouts/split-view/components/split-view-column.js.map +1 -0
- package/dist/components/layouts/split-view/components/split-view-header.d.ts +6 -0
- package/dist/components/layouts/split-view/components/split-view-header.js +44 -0
- package/dist/components/layouts/split-view/components/split-view-header.js.map +1 -0
- package/dist/components/layouts/split-view/components/split-view-item.d.ts +11 -0
- package/dist/components/layouts/split-view/components/split-view-item.js +19 -0
- package/dist/components/layouts/split-view/components/split-view-item.js.map +1 -0
- package/dist/components/layouts/split-view/components/split-view-panes.d.ts +7 -0
- package/dist/components/layouts/split-view/components/split-view-panes.js +10 -0
- package/dist/components/layouts/split-view/components/split-view-panes.js.map +1 -0
- package/dist/components/layouts/split-view/components/split-view-sidebar-toggle.d.ts +3 -0
- package/dist/components/layouts/split-view/components/split-view-sidebar-toggle.js +14 -0
- package/dist/components/layouts/split-view/components/split-view-sidebar-toggle.js.map +1 -0
- package/dist/components/layouts/split-view/index.d.ts +10 -0
- package/dist/components/layouts/split-view/index.js +15 -0
- package/dist/components/layouts/split-view/index.js.map +1 -0
- package/dist/components/layouts/split-view/split-view-context.d.ts +4 -0
- package/dist/components/layouts/split-view/split-view-context.js +6 -0
- package/dist/components/layouts/split-view/split-view-context.js.map +1 -0
- package/dist/components/layouts/split-view/split-view.d.ts +20 -0
- package/dist/components/layouts/split-view/split-view.js +153 -0
- package/dist/components/layouts/split-view/split-view.js.map +1 -0
- package/dist/components/layouts/split-view/split-view.types.d.ts +90 -0
- package/dist/components/layouts/split-view/split-view.types.js +2 -0
- package/dist/components/layouts/split-view/split-view.types.js.map +1 -0
- package/dist/components/media-display/image-panel/image-panel.js +1 -1
- package/dist/components/media-display/image-panel/image-panel.js.map +1 -1
- package/dist/components/media-display/info-card/info-card.js +2 -2
- package/dist/components/media-display/info-card/info-card.js.map +1 -1
- package/dist/components/media-display/info-card/info-card.types.d.ts +1 -1
- package/dist/components/media-display/media-card/media-card.js +2 -2
- package/dist/components/media-display/media-card/media-card.js.map +1 -1
- package/dist/components/navigation/nav-menu/components/nav-drop-down-item.js +1 -1
- package/dist/components/navigation/nav-menu/components/nav-drop-down-item.js.map +1 -1
- package/dist/components/navigation/nav-menu/components/nav-item.js +1 -1
- package/dist/components/navigation/nav-menu/components/nav-item.js.map +1 -1
- package/dist/components/navigation/nav-menu/components/nav-link.js +1 -1
- package/dist/components/navigation/nav-menu/components/nav-link.js.map +1 -1
- package/dist/components/navigation/side-nav/side-nav-item/side-nav-item.d.ts +1 -1
- package/dist/components/navigation/side-nav/side-nav-item/side-nav-item.js +5 -48
- package/dist/components/navigation/side-nav/side-nav-item/side-nav-item.js.map +1 -1
- package/dist/components/navigation/side-nav/side-nav-item/side-nav-item.types.d.ts +3 -0
- package/dist/components/navigation/side-nav/side-nav.d.ts +4 -2
- package/dist/components/navigation/side-nav/side-nav.js +27 -11
- package/dist/components/navigation/side-nav/side-nav.js.map +1 -1
- package/dist/components/navigation/side-nav/side-nav.types.d.ts +6 -1
- package/dist/components/typography/body/body.types.d.ts +8 -5
- package/dist/components/typography/body/text.d.ts +5 -3
- package/dist/components/typography/body/text.js +20 -6
- package/dist/components/typography/body/text.js.map +1 -1
- package/dist/components/typography/code/code.d.ts +8 -0
- package/dist/components/typography/code/code.js +12 -1
- package/dist/components/typography/code/code.js.map +1 -1
- package/dist/components/typography/code/code.types.d.ts +2 -2
- package/dist/components/typography/heading/heading.js +7 -2
- package/dist/components/typography/heading/heading.js.map +1 -1
- package/dist/components/typography/heading/heading.types.d.ts +3 -1
- package/dist/components/typography/heading/render-heading.d.ts +1 -1
- package/dist/components/typography/heading/render-heading.js +6 -4
- package/dist/components/typography/heading/render-heading.js.map +1 -1
- package/dist/components/typography/page-header/page-header.js +1 -1
- package/dist/components/typography/page-header/page-header.js.map +1 -1
- package/dist/components/typography/shared-utils/get-presentation-styles.js +8 -0
- package/dist/components/typography/shared-utils/get-presentation-styles.js.map +1 -1
- package/dist/components/typography/shared-utils/resolve-margin-bottom.d.ts +22 -0
- package/dist/components/typography/shared-utils/resolve-margin-bottom.js +25 -0
- package/dist/components/typography/shared-utils/resolve-margin-bottom.js.map +1 -0
- package/dist/components/typography/typography.types.d.ts +8 -3
- package/dist/components/ui/button/button-recipe.js +8 -0
- package/dist/components/ui/button/button-recipe.js.map +1 -1
- package/dist/components/ui/button/button.d.ts +7 -1
- package/dist/components/ui/button/button.js +8 -2
- package/dist/components/ui/button/button.js.map +1 -1
- package/dist/components/ui/button/button.types.d.ts +6 -6
- package/dist/components/ui/card/card.js +2 -2
- package/dist/components/ui/card/card.js.map +1 -1
- package/dist/components/ui/icon/icon.types.d.ts +1 -1
- package/dist/components/ui/icon-button/icon-button.js +2 -2
- package/dist/components/ui/icon-button/icon-button.js.map +1 -1
- package/dist/components/ui/icon-button/icon-button.types.d.ts +4 -3
- package/dist/components/ui/modal/components/modal-content.js +1 -1
- package/dist/components/ui/modal/components/modal-content.js.map +1 -1
- package/dist/components/ui/modal/modal.js +1 -1
- package/dist/components/ui/modal/modal.js.map +1 -1
- package/dist/components/ui/modal/modal.types.d.ts +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/use-media-query/index.d.ts +1 -0
- package/dist/hooks/use-media-query/index.js +2 -0
- package/dist/hooks/use-media-query/index.js.map +1 -0
- package/dist/hooks/use-media-query/use-media-query.d.ts +8 -0
- package/dist/hooks/use-media-query/use-media-query.js +22 -0
- package/dist/hooks/use-media-query/use-media-query.js.map +1 -0
- package/dist/hooks/use-pathname/use-pathname.d.ts +2 -1
- package/dist/hooks/use-pathname/use-pathname.js +28 -4
- package/dist/hooks/use-pathname/use-pathname.js.map +1 -1
- package/dist/internal/components/conditional-wrapper/conditional-wrapper.js.map +1 -0
- package/dist/internal/components/conditional-wrapper/conditional-wrapper.types.js.map +1 -0
- package/dist/internal/components/conditional-wrapper/index.js.map +1 -0
- package/dist/{internal-components → internal/components}/content-header/content-header.js +3 -3
- package/dist/internal/components/content-header/content-header.js.map +1 -0
- package/dist/{internal-components → internal/components}/content-header/content-header.types.d.ts +3 -3
- package/dist/internal/components/content-header/content-header.types.js.map +1 -0
- package/dist/internal/components/content-header/index.js.map +1 -0
- package/dist/{internal-components → internal/components}/dynamic-icon/dynamic-icon.js +1 -1
- package/dist/internal/components/dynamic-icon/dynamic-icon.js.map +1 -0
- package/dist/internal/components/dynamic-icon/dynamic-icon.types.d.ts +6 -0
- package/dist/internal/components/dynamic-icon/dynamic-icon.types.js.map +1 -0
- package/dist/internal/components/dynamic-icon/index.js.map +1 -0
- package/dist/internal/components/image/index.js.map +1 -0
- package/dist/{internal-components → internal/components}/image/is-html-image-props.d.ts +1 -1
- package/dist/internal/components/image/is-html-image-props.js.map +1 -0
- package/dist/{internal-components → internal/components}/image/render-image.d.ts +1 -1
- package/dist/{internal-components → internal/components}/image/render-image.js +1 -1
- package/dist/internal/components/image/render-image.js.map +1 -0
- package/dist/{internal-components → internal/components}/index.d.ts +1 -0
- package/dist/{internal-components → internal/components}/index.js +1 -0
- package/dist/internal/components/index.js.map +1 -0
- package/dist/internal/components/link/index.js.map +1 -0
- package/dist/{internal-components → internal/components}/link/link.js +1 -1
- package/dist/internal/components/link/link.js.map +1 -0
- package/dist/internal/components/link/link.types.js.map +1 -0
- package/dist/internal/components/modal-primitive/index.js.map +1 -0
- package/dist/{internal-components → internal/components}/modal-primitive/modal-primitive.js +1 -1
- package/dist/internal/components/modal-primitive/modal-primitive.js.map +1 -0
- package/dist/internal/components/modal-primitive/modal-primitive.types.js.map +1 -0
- package/dist/internal/components/nav-list-item/index.d.ts +2 -0
- package/dist/internal/components/nav-list-item/index.js +2 -0
- package/dist/internal/components/nav-list-item/index.js.map +1 -0
- package/dist/internal/components/nav-list-item/nav-list-item.d.ts +9 -0
- package/dist/internal/components/nav-list-item/nav-list-item.js +105 -0
- package/dist/internal/components/nav-list-item/nav-list-item.js.map +1 -0
- package/dist/internal/components/nav-list-item/nav-list-item.types.d.ts +24 -0
- package/dist/internal/components/nav-list-item/nav-list-item.types.js +2 -0
- package/dist/internal/components/nav-list-item/nav-list-item.types.js.map +1 -0
- package/dist/internal/components/optional-icon-button/index.js.map +1 -0
- package/dist/{internal-components → internal/components}/optional-icon-button/optional-icon-button.js +1 -1
- package/dist/internal/components/optional-icon-button/optional-icon-button.js.map +1 -0
- package/dist/{internal-components → internal/components}/optional-icon-button/optional-icon-button.types.d.ts +1 -1
- package/dist/internal/components/optional-icon-button/optional-icon-button.types.js.map +1 -0
- package/dist/internal/components/surface/index.js.map +1 -0
- package/dist/{internal-components → internal/components}/surface/surface.js +2 -2
- package/dist/internal/components/surface/surface.js.map +1 -0
- package/dist/{internal-components → internal/components}/surface/surface.types.d.ts +2 -2
- package/dist/internal/components/surface/surface.types.js.map +1 -0
- package/dist/internal/hooks/index.d.ts +2 -0
- package/dist/internal/hooks/index.js +3 -0
- package/dist/internal/hooks/index.js.map +1 -0
- package/dist/internal/hooks/use-controllable-state.d.ts +22 -0
- package/dist/internal/hooks/use-controllable-state.js +34 -0
- package/dist/internal/hooks/use-controllable-state.js.map +1 -0
- package/dist/internal/hooks/use-latest-ref.d.ts +7 -0
- package/dist/internal/hooks/use-latest-ref.js +16 -0
- package/dist/internal/hooks/use-latest-ref.js.map +1 -0
- package/dist/internal/index.d.ts +2 -0
- package/dist/internal/index.js +5 -0
- package/dist/internal/index.js.map +1 -0
- package/dist/styled-system/recipes/button.js +7 -0
- package/dist/styles/panda.css +1 -1
- package/package.json +4 -1
- package/dist/components/form-elements/dropdowns/dropdown/dropdown.d.ts +0 -13
- package/dist/components/form-elements/dropdowns/dropdown/dropdown.js +0 -41
- package/dist/components/form-elements/dropdowns/dropdown/dropdown.js.map +0 -1
- package/dist/components/form-elements/dropdowns/dropdown/dropdown.types.d.ts +0 -21
- package/dist/components/form-elements/dropdowns/dropdown/dropdown.types.js.map +0 -1
- package/dist/components/form-elements/dropdowns/dropdown/index.js.map +0 -1
- package/dist/components/form-elements/dropdowns/dropdown-base/dropdown-base.d.ts +0 -8
- package/dist/components/form-elements/dropdowns/dropdown-base/dropdown-base.js +0 -44
- package/dist/components/form-elements/dropdowns/dropdown-base/dropdown-base.js.map +0 -1
- package/dist/components/form-elements/dropdowns/dropdown-base/dropdown-base.types.d.ts +0 -26
- package/dist/components/form-elements/dropdowns/dropdown-base/dropdown-base.types.js.map +0 -1
- package/dist/components/form-elements/dropdowns/dropdown-base/index.js.map +0 -1
- package/dist/components/form-elements/dropdowns/index.js.map +0 -1
- package/dist/components/form-elements/dropdowns/multi-dropdown/index.js.map +0 -1
- package/dist/components/form-elements/dropdowns/multi-dropdown/multi-dropdown.d.ts +0 -15
- package/dist/components/form-elements/dropdowns/multi-dropdown/multi-dropdown.js +0 -55
- package/dist/components/form-elements/dropdowns/multi-dropdown/multi-dropdown.js.map +0 -1
- package/dist/components/form-elements/dropdowns/multi-dropdown/multi-dropdown.types.d.ts +0 -25
- package/dist/components/form-elements/dropdowns/multi-dropdown/multi-dropdown.types.js.map +0 -1
- package/dist/components/form-elements/file-upload/components/file-input.d.ts +0 -1
- package/dist/components/form-elements/file-upload/components/file-input.js +0 -95
- package/dist/components/form-elements/file-upload/components/file-input.js.map +0 -1
- package/dist/components/form-elements/file-upload/components/file-upload-content.d.ts +0 -1
- package/dist/components/form-elements/file-upload/components/file-upload-content.js +0 -29
- package/dist/components/form-elements/file-upload/components/file-upload-content.js.map +0 -1
- package/dist/components/form-elements/file-upload/components/file-upload-preview.d.ts +0 -1
- package/dist/components/form-elements/file-upload/components/file-upload-preview.js +0 -51
- package/dist/components/form-elements/file-upload/components/file-upload-preview.js.map +0 -1
- package/dist/components/form-elements/file-upload/components/item-previews.d.ts +0 -11
- package/dist/components/form-elements/file-upload/components/item-previews.js +0 -58
- package/dist/components/form-elements/file-upload/components/item-previews.js.map +0 -1
- package/dist/components/form-elements/file-upload/file-upload-context.js.map +0 -1
- package/dist/components/form-elements/file-upload/file-upload.d.ts +0 -19
- package/dist/components/form-elements/file-upload/file-upload.js +0 -149
- package/dist/components/form-elements/file-upload/file-upload.js.map +0 -1
- package/dist/components/form-elements/file-upload/file-upload.types.d.ts +0 -36
- package/dist/components/form-elements/file-upload/file-upload.types.js.map +0 -1
- package/dist/components/form-elements/file-upload/index.d.ts +0 -3
- package/dist/components/form-elements/file-upload/index.js.map +0 -1
- package/dist/components/form-elements/form-label/form-label.d.ts +0 -8
- package/dist/components/form-elements/form-label/form-label.js +0 -32
- package/dist/components/form-elements/form-label/form-label.js.map +0 -1
- package/dist/components/form-elements/form-label/form-label.types.d.ts +0 -11
- package/dist/components/form-elements/form-label/form-label.types.js.map +0 -1
- package/dist/components/form-elements/form-label/index.js.map +0 -1
- package/dist/components/form-elements/index.js.map +0 -1
- package/dist/components/form-elements/input-props.types.d.ts +0 -21
- package/dist/components/form-elements/input-props.types.js.map +0 -1
- package/dist/components/form-elements/input-wrapper.d.ts +0 -4
- package/dist/components/form-elements/input-wrapper.js +0 -13
- package/dist/components/form-elements/input-wrapper.js.map +0 -1
- package/dist/components/form-elements/number-input/index.js.map +0 -1
- package/dist/components/form-elements/number-input/number-input.js.map +0 -1
- package/dist/components/form-elements/number-input/number-input.types.js.map +0 -1
- package/dist/components/form-elements/styles/index.js +0 -74
- package/dist/components/form-elements/styles/index.js.map +0 -1
- package/dist/components/form-elements/text-input/index.js.map +0 -1
- package/dist/components/form-elements/text-input/text-input.d.ts +0 -8
- package/dist/components/form-elements/text-input/text-input.js +0 -19
- package/dist/components/form-elements/text-input/text-input.js.map +0 -1
- package/dist/components/form-elements/text-input/text-input.types.js.map +0 -1
- package/dist/components/typography/typography.d.ts +0 -116
- package/dist/components/typography/typography.js +0 -249
- package/dist/components/typography/typography.js.map +0 -1
- package/dist/internal-components/conditional-wrapper/conditional-wrapper.js.map +0 -1
- package/dist/internal-components/conditional-wrapper/conditional-wrapper.types.js.map +0 -1
- package/dist/internal-components/conditional-wrapper/index.js.map +0 -1
- package/dist/internal-components/content-header/content-header.js.map +0 -1
- package/dist/internal-components/content-header/content-header.types.js.map +0 -1
- package/dist/internal-components/content-header/index.js.map +0 -1
- package/dist/internal-components/dynamic-icon/dynamic-icon.js.map +0 -1
- package/dist/internal-components/dynamic-icon/dynamic-icon.types.d.ts +0 -6
- package/dist/internal-components/dynamic-icon/dynamic-icon.types.js.map +0 -1
- package/dist/internal-components/dynamic-icon/index.js.map +0 -1
- package/dist/internal-components/image/index.js.map +0 -1
- package/dist/internal-components/image/is-html-image-props.js.map +0 -1
- package/dist/internal-components/image/render-image.js.map +0 -1
- package/dist/internal-components/index.js.map +0 -1
- package/dist/internal-components/link/index.js.map +0 -1
- package/dist/internal-components/link/link.js.map +0 -1
- package/dist/internal-components/link/link.types.js.map +0 -1
- package/dist/internal-components/modal-primitive/index.js.map +0 -1
- package/dist/internal-components/modal-primitive/modal-primitive.js.map +0 -1
- package/dist/internal-components/modal-primitive/modal-primitive.types.js.map +0 -1
- package/dist/internal-components/optional-icon-button/index.js.map +0 -1
- package/dist/internal-components/optional-icon-button/optional-icon-button.js.map +0 -1
- package/dist/internal-components/optional-icon-button/optional-icon-button.types.js.map +0 -1
- package/dist/internal-components/surface/index.js.map +0 -1
- package/dist/internal-components/surface/surface.js.map +0 -1
- package/dist/internal-components/surface/surface.types.js.map +0 -1
- /package/dist/components/{form-elements → data-input}/dropdowns/dropdown/dropdown.types.js +0 -0
- /package/dist/components/{form-elements → data-input}/dropdowns/dropdown/index.d.ts +0 -0
- /package/dist/components/{form-elements → data-input}/dropdowns/dropdown/index.js +0 -0
- /package/dist/components/{form-elements → data-input}/dropdowns/dropdown-base/dropdown-base.types.js +0 -0
- /package/dist/components/{form-elements → data-input}/dropdowns/dropdown-base/index.d.ts +0 -0
- /package/dist/components/{form-elements → data-input}/dropdowns/dropdown-base/index.js +0 -0
- /package/dist/components/{form-elements → data-input}/dropdowns/index.d.ts +0 -0
- /package/dist/components/{form-elements → data-input}/dropdowns/index.js +0 -0
- /package/dist/components/{form-elements → data-input}/dropdowns/multi-dropdown/index.d.ts +0 -0
- /package/dist/components/{form-elements → data-input}/dropdowns/multi-dropdown/index.js +0 -0
- /package/dist/components/{form-elements → data-input}/dropdowns/multi-dropdown/multi-dropdown.types.js +0 -0
- /package/dist/components/{form-elements → data-input}/file-upload/file-upload-context.d.ts +0 -0
- /package/dist/components/{form-elements → data-input}/file-upload/file-upload-context.js +0 -0
- /package/dist/components/{form-elements → data-input}/file-upload/file-upload.types.js +0 -0
- /package/dist/components/{form-elements → data-input}/file-upload/index.js +0 -0
- /package/dist/components/{form-elements → data-input}/number-input/index.d.ts +0 -0
- /package/dist/components/{form-elements → data-input}/number-input/index.js +0 -0
- /package/dist/components/{form-elements → data-input}/number-input/number-input.types.js +0 -0
- /package/dist/components/{form-elements → data-input/shared}/form-label/form-label.types.js +0 -0
- /package/dist/components/{form-elements → data-input/shared}/form-label/index.d.ts +0 -0
- /package/dist/components/{form-elements → data-input/shared}/form-label/index.js +0 -0
- /package/dist/components/{form-elements → data-input/shared}/input-props.types.js +0 -0
- /package/dist/components/{form-elements → data-input}/text-input/index.d.ts +0 -0
- /package/dist/components/{form-elements → data-input}/text-input/index.js +0 -0
- /package/dist/components/{form-elements → data-input}/text-input/text-input.types.js +0 -0
- /package/dist/{internal-components → internal/components}/conditional-wrapper/conditional-wrapper.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/conditional-wrapper/conditional-wrapper.js +0 -0
- /package/dist/{internal-components → internal/components}/conditional-wrapper/conditional-wrapper.types.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/conditional-wrapper/conditional-wrapper.types.js +0 -0
- /package/dist/{internal-components → internal/components}/conditional-wrapper/index.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/conditional-wrapper/index.js +0 -0
- /package/dist/{internal-components → internal/components}/content-header/content-header.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/content-header/content-header.types.js +0 -0
- /package/dist/{internal-components → internal/components}/content-header/index.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/content-header/index.js +0 -0
- /package/dist/{internal-components → internal/components}/dynamic-icon/dynamic-icon.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/dynamic-icon/dynamic-icon.types.js +0 -0
- /package/dist/{internal-components → internal/components}/dynamic-icon/index.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/dynamic-icon/index.js +0 -0
- /package/dist/{internal-components → internal/components}/image/index.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/image/index.js +0 -0
- /package/dist/{internal-components → internal/components}/image/is-html-image-props.js +0 -0
- /package/dist/{internal-components → internal/components}/link/index.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/link/index.js +0 -0
- /package/dist/{internal-components → internal/components}/link/link.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/link/link.types.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/link/link.types.js +0 -0
- /package/dist/{internal-components → internal/components}/modal-primitive/index.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/modal-primitive/index.js +0 -0
- /package/dist/{internal-components → internal/components}/modal-primitive/modal-primitive.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/modal-primitive/modal-primitive.types.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/modal-primitive/modal-primitive.types.js +0 -0
- /package/dist/{internal-components → internal/components}/optional-icon-button/index.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/optional-icon-button/index.js +0 -0
- /package/dist/{internal-components → internal/components}/optional-icon-button/optional-icon-button.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/optional-icon-button/optional-icon-button.types.js +0 -0
- /package/dist/{internal-components → internal/components}/surface/index.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/surface/index.js +0 -0
- /package/dist/{internal-components → internal/components}/surface/surface.d.ts +0 -0
- /package/dist/{internal-components → internal/components}/surface/surface.types.js +0 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { useControllableState } from '../../../internal';
|
|
4
|
+
import { getErrorId, useFieldError } from '../shared/use-field-error';
|
|
5
|
+
import { formatBytes, isImageItem, isRemoteFile, matchesAccept, withFileMeta, } from './file-upload.utils';
|
|
6
|
+
/**
|
|
7
|
+
* State and form wiring for `FileUpload`: controllable value, validation of picked files,
|
|
8
|
+
* keys that survive renames, a native file input kept in sync via `DataTransfer`,
|
|
9
|
+
* and the metadata JSON submitted alongside the files.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const upload = useFileUpload({ id, name, value, onChange, accept: 'image/*', maxFiles: 3 });
|
|
13
|
+
*/
|
|
14
|
+
export const useFileUpload = ({ id, name, value, defaultValue, onChange, accept, maxSize, maxFiles, required, disabled, error, }) => {
|
|
15
|
+
const inputRef = useRef(null);
|
|
16
|
+
const browseRef = useRef(null);
|
|
17
|
+
// Stable keys for new files; carried over when a rename creates a new `File`
|
|
18
|
+
const keysRef = useRef(new WeakMap());
|
|
19
|
+
const keyCounter = useRef(0);
|
|
20
|
+
const [items, setItems] = useControllableState({
|
|
21
|
+
value,
|
|
22
|
+
defaultValue: defaultValue ?? [],
|
|
23
|
+
onChange,
|
|
24
|
+
elementRef: inputRef,
|
|
25
|
+
});
|
|
26
|
+
// Feedback for a rejected pick; describes the pick, not the value, so it never blocks submission
|
|
27
|
+
const [status, setStatus] = useState(null);
|
|
28
|
+
// First file of the latest add, focused by its editor in `on-add` mode
|
|
29
|
+
const [focusKey, setFocusKey] = useState(null);
|
|
30
|
+
const remoteFiles = items.filter(isRemoteFile);
|
|
31
|
+
const newFiles = items.filter((item) => !isRemoteFile(item));
|
|
32
|
+
const isFull = maxFiles !== undefined && items.length >= maxFiles;
|
|
33
|
+
const getKey = (item) => {
|
|
34
|
+
if (isRemoteFile(item))
|
|
35
|
+
return `remote-${item.id ?? item.src}`;
|
|
36
|
+
let key = keysRef.current.get(item);
|
|
37
|
+
if (!key) {
|
|
38
|
+
key = `file-${keyCounter.current++}`;
|
|
39
|
+
keysRef.current.set(item, key);
|
|
40
|
+
}
|
|
41
|
+
return key;
|
|
42
|
+
};
|
|
43
|
+
const syncInput = (files) => {
|
|
44
|
+
const input = inputRef.current;
|
|
45
|
+
if (!input)
|
|
46
|
+
return;
|
|
47
|
+
const transfer = new DataTransfer();
|
|
48
|
+
files.forEach((file) => transfer.items.add(file));
|
|
49
|
+
input.files = transfer.files;
|
|
50
|
+
};
|
|
51
|
+
// Mirror new files into the native input so they submit with the form and satisfy `required`.
|
|
52
|
+
// Declared before `useFieldError` so validity is current when it refreshes
|
|
53
|
+
useEffect(() => {
|
|
54
|
+
syncInput(newFiles);
|
|
55
|
+
}, [items]);
|
|
56
|
+
const { ref, message: fieldMessage, validationProps, ariaProps, } = useFieldError({
|
|
57
|
+
id,
|
|
58
|
+
error,
|
|
59
|
+
value: items.length,
|
|
60
|
+
elementRef: inputRef,
|
|
61
|
+
focusRef: browseRef,
|
|
62
|
+
});
|
|
63
|
+
const message = error || status || fieldMessage;
|
|
64
|
+
const addFiles = (files) => {
|
|
65
|
+
if (disabled)
|
|
66
|
+
return;
|
|
67
|
+
const accepted = [];
|
|
68
|
+
let rejection = null;
|
|
69
|
+
let remaining = maxFiles === undefined ? Infinity : maxFiles - items.length;
|
|
70
|
+
for (const file of Array.from(files)) {
|
|
71
|
+
if (!matchesAccept(file, accept)) {
|
|
72
|
+
rejection = `"${file.name}" isn't a supported file type`;
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
if (maxSize !== undefined && file.size > maxSize) {
|
|
76
|
+
rejection = `"${file.name}" is larger than ${formatBytes(maxSize)}`;
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
if (remaining <= 0) {
|
|
80
|
+
rejection = `You can add up to ${maxFiles} ${maxFiles === 1 ? 'file' : 'files'}`;
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
accepted.push(file);
|
|
84
|
+
remaining--;
|
|
85
|
+
}
|
|
86
|
+
setStatus(rejection);
|
|
87
|
+
if (accepted.length === 0)
|
|
88
|
+
return;
|
|
89
|
+
setItems([...items, ...accepted]);
|
|
90
|
+
setFocusKey(getKey(accepted[0]));
|
|
91
|
+
};
|
|
92
|
+
const removeItem = (key) => {
|
|
93
|
+
setItems(items.filter((item) => getKey(item) !== key));
|
|
94
|
+
setStatus(null);
|
|
95
|
+
};
|
|
96
|
+
const updateItem = (key, meta) => {
|
|
97
|
+
setItems(items.map((item) => {
|
|
98
|
+
if (isRemoteFile(item) || getKey(item) !== key)
|
|
99
|
+
return item;
|
|
100
|
+
const next = withFileMeta(item, meta);
|
|
101
|
+
keysRef.current.set(next, key);
|
|
102
|
+
return next;
|
|
103
|
+
}));
|
|
104
|
+
};
|
|
105
|
+
const openPicker = () => inputRef.current?.click();
|
|
106
|
+
const handleInputChange = (e) => {
|
|
107
|
+
const picked = Array.from(e.target.files ?? []);
|
|
108
|
+
// The picker replaced the input's files; restore ours so rejected picks never submit
|
|
109
|
+
syncInput(newFiles);
|
|
110
|
+
addFiles(picked);
|
|
111
|
+
};
|
|
112
|
+
// Metadata ordered to match `formData.getAll(name)`: existing files render first, then the file input
|
|
113
|
+
const meta = JSON.stringify([
|
|
114
|
+
...remoteFiles.map((file) => ({ id: file.id ?? file.src })),
|
|
115
|
+
...newFiles.map((file) => ({
|
|
116
|
+
name: file.name,
|
|
117
|
+
...(isImageItem(file) ? { alt: file.alt ?? '' } : {}),
|
|
118
|
+
})),
|
|
119
|
+
]);
|
|
120
|
+
const inputProps = {
|
|
121
|
+
ref,
|
|
122
|
+
...validationProps,
|
|
123
|
+
id,
|
|
124
|
+
name,
|
|
125
|
+
type: 'file',
|
|
126
|
+
accept,
|
|
127
|
+
multiple: maxFiles !== 1,
|
|
128
|
+
// Existing files can't live in a file input, so they satisfy `required` by switching it off
|
|
129
|
+
required: required && remoteFiles.length === 0,
|
|
130
|
+
disabled,
|
|
131
|
+
onChange: handleInputChange,
|
|
132
|
+
};
|
|
133
|
+
const browseAriaProps = {
|
|
134
|
+
'aria-invalid': ariaProps['aria-invalid'],
|
|
135
|
+
'aria-describedby': message ? getErrorId(id) : undefined,
|
|
136
|
+
};
|
|
137
|
+
return {
|
|
138
|
+
items,
|
|
139
|
+
remoteFiles,
|
|
140
|
+
isFull,
|
|
141
|
+
focusKey,
|
|
142
|
+
message,
|
|
143
|
+
meta,
|
|
144
|
+
inputProps,
|
|
145
|
+
browseRef,
|
|
146
|
+
browseAriaProps,
|
|
147
|
+
getKey,
|
|
148
|
+
addFiles,
|
|
149
|
+
removeItem,
|
|
150
|
+
updateItem,
|
|
151
|
+
openPicker,
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=use-file-upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-file-upload.js","sourceRoot":"","sources":["../../../../src/components/data-input/file-upload/use-file-upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Object URL for previewing a `File`, revoked when the file changes or the component unmounts.
|
|
3
|
+
* Returns `null` while no file is given.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* const url = useObjectUrl(file);
|
|
7
|
+
* return url && <img src={url} alt="" />;
|
|
8
|
+
*/
|
|
9
|
+
export declare const useObjectUrl: (file: File | null) => string | null;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Object URL for previewing a `File`, revoked when the file changes or the component unmounts.
|
|
5
|
+
* Returns `null` while no file is given.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* const url = useObjectUrl(file);
|
|
9
|
+
* return url && <img src={url} alt="" />;
|
|
10
|
+
*/
|
|
11
|
+
export const useObjectUrl = (file) => {
|
|
12
|
+
const [url, setUrl] = useState(null);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
if (!file) {
|
|
15
|
+
setUrl(null);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const next = URL.createObjectURL(file);
|
|
19
|
+
setUrl(next);
|
|
20
|
+
return () => URL.revokeObjectURL(next);
|
|
21
|
+
}, [file]);
|
|
22
|
+
return url;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=use-object-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-object-url.js","sourceRoot":"","sources":["../../../../src/components/data-input/file-upload/use-object-url.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAiB,EAAE,EAAE;IACjD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,CAAC;YACb,OAAO;QACR,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,CAAC;QACb,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './dropdowns';
|
|
2
2
|
export * from './file-upload';
|
|
3
|
-
export * from './form-label';
|
|
3
|
+
export * from './shared/form-label';
|
|
4
|
+
export * from './reorderable';
|
|
4
5
|
export * from './number-input';
|
|
5
6
|
export * from './text-input';
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/data-input/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/data-input/number-input/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { NumberInputProps } from './number-input.types';
|
|
|
2
2
|
/**
|
|
3
3
|
* Number input with increment/decrement buttons and optional min/max range enforcement.
|
|
4
4
|
* Blocks non-numeric keyboard input and respects range bounds on both direct input and stepping.
|
|
5
|
+
* Controlled when `value` is passed, uncontrolled otherwise.
|
|
5
6
|
*
|
|
6
7
|
* @example
|
|
7
8
|
* <NumberInput
|
|
@@ -12,5 +13,8 @@ import { NumberInputProps } from './number-input.types';
|
|
|
12
13
|
* max={99}
|
|
13
14
|
* onChange={handleChange}
|
|
14
15
|
* />
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* <NumberInput name="quantity" title="Quantity" defaultValue={1} min={1} max={99} />
|
|
15
19
|
*/
|
|
16
|
-
export declare const NumberInput: ({ name, id, title, value, placeholder, required, min, max, size, disabled, onChange, }: NumberInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export declare const NumberInput: ({ name, id: idProp, title, value, defaultValue, placeholder, required, min, max, size, disabled, divider, error, onChange, }: NumberInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Icon } from '../../../components';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { InputWrapper } from '../shared/input-wrapper';
|
|
5
|
+
import { useFieldError } from '../shared/use-field-error';
|
|
6
|
+
import { useControllableState } from '../../../internal';
|
|
7
|
+
import { useInputId } from '../shared/use-input-id';
|
|
8
|
+
import { inputIconSizes, inputSegmentStyles } from '../shared/styles';
|
|
9
|
+
import { useRef } from 'react';
|
|
8
10
|
import { cva, cx } from '../../../styled-system/css';
|
|
9
11
|
const styles = {
|
|
10
12
|
arrowButton: cva({
|
|
@@ -33,8 +35,6 @@ const styles = {
|
|
|
33
35
|
}),
|
|
34
36
|
centerSegment: cva({
|
|
35
37
|
base: {
|
|
36
|
-
color: 'text.standard',
|
|
37
|
-
backgroundColor: 'inset',
|
|
38
38
|
textAlign: 'center',
|
|
39
39
|
appearance: 'none',
|
|
40
40
|
'&::-webkit-outer-spin-button': {
|
|
@@ -43,10 +43,6 @@ const styles = {
|
|
|
43
43
|
'&::-webkit-inner-spin-button': {
|
|
44
44
|
appearance: 'none',
|
|
45
45
|
},
|
|
46
|
-
_focus: {
|
|
47
|
-
ringColor: 'info.main',
|
|
48
|
-
borderColor: 'info.main',
|
|
49
|
-
},
|
|
50
46
|
},
|
|
51
47
|
variants: {
|
|
52
48
|
size: {
|
|
@@ -72,15 +68,6 @@ const styles = {
|
|
|
72
68
|
alignItems: 'stretch',
|
|
73
69
|
alignSelf: 'start',
|
|
74
70
|
},
|
|
75
|
-
variants: {
|
|
76
|
-
disabled: {
|
|
77
|
-
true: { opacity: '0.5', cursor: 'not-allowed' },
|
|
78
|
-
false: {},
|
|
79
|
-
},
|
|
80
|
-
},
|
|
81
|
-
defaultVariants: {
|
|
82
|
-
disabled: false,
|
|
83
|
-
},
|
|
84
71
|
}),
|
|
85
72
|
};
|
|
86
73
|
const valueWithinRange = (value, min, max) => {
|
|
@@ -95,6 +82,7 @@ const valueWithinRange = (value, min, max) => {
|
|
|
95
82
|
/**
|
|
96
83
|
* Number input with increment/decrement buttons and optional min/max range enforcement.
|
|
97
84
|
* Blocks non-numeric keyboard input and respects range bounds on both direct input and stepping.
|
|
85
|
+
* Controlled when `value` is passed, uncontrolled otherwise.
|
|
98
86
|
*
|
|
99
87
|
* @example
|
|
100
88
|
* <NumberInput
|
|
@@ -105,14 +93,25 @@ const valueWithinRange = (value, min, max) => {
|
|
|
105
93
|
* max={99}
|
|
106
94
|
* onChange={handleChange}
|
|
107
95
|
* />
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* <NumberInput name="quantity" title="Quantity" defaultValue={1} min={1} max={99} />
|
|
108
99
|
*/
|
|
109
|
-
export const NumberInput = ({ name, id
|
|
110
|
-
|
|
111
|
-
const
|
|
112
|
-
//
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
100
|
+
export const NumberInput = ({ name, id: idProp, title, value, defaultValue, placeholder, required, min, max, size = 'md', disabled, divider, error, onChange, }) => {
|
|
101
|
+
const id = useInputId(idProp, name);
|
|
102
|
+
const inputRef = useRef(null);
|
|
103
|
+
// Internal state only backs the uncontrolled case; a controlled parent owns the value
|
|
104
|
+
const [num, setNum] = useControllableState({
|
|
105
|
+
value,
|
|
106
|
+
defaultValue: defaultValue ?? null,
|
|
107
|
+
elementRef: inputRef,
|
|
108
|
+
});
|
|
109
|
+
const { ref, message, fieldProps } = useFieldError({
|
|
110
|
+
id,
|
|
111
|
+
error,
|
|
112
|
+
value: num,
|
|
113
|
+
elementRef: inputRef,
|
|
114
|
+
});
|
|
116
115
|
// Handle Num Increment
|
|
117
116
|
const handleIncrement = (increment) => () => {
|
|
118
117
|
const newValue = (num ?? 0) + increment;
|
|
@@ -157,28 +156,28 @@ export const NumberInput = ({ name, id = name, title, value, placeholder, requir
|
|
|
157
156
|
}
|
|
158
157
|
}
|
|
159
158
|
};
|
|
160
|
-
return (
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
159
|
+
return (_jsx(InputWrapper, { id: id, title: title, size: size, divider: divider, error: message, children: _jsxs("div", { className: styles.container(), children: [_jsx("button", { type: "button", className: cx(styles.arrowButton({ direction: 'left' }), inputSegmentStyles({ size })), onClick: handleIncrement(-1), disabled: disabled, children: _jsx(Icon, { name: "CaretLeft", color: "gray", size: inputIconSizes[size] }) }), _jsx("input", { ref: ref, type: "number", id: id, name: name, placeholder: placeholder, value: num ?? '', onChange: handleInputChange, className: cx(inputSegmentStyles({ size, field: true }), styles.centerSegment({ size })), onKeyDown: (e) => {
|
|
160
|
+
// Allow minus sign as first character if negative values are allowed
|
|
161
|
+
if (e.key === '-' &&
|
|
162
|
+
e.currentTarget.value.length === 0 &&
|
|
163
|
+
(min === undefined || min < 0)) {
|
|
164
|
+
return; // Allow the minus sign
|
|
165
|
+
}
|
|
166
|
+
// Prevent non-numeric input except allowed control keys
|
|
167
|
+
if (!/[0-9]/.test(e.key) &&
|
|
168
|
+
!e.ctrlKey &&
|
|
169
|
+
!e.metaKey &&
|
|
170
|
+
![
|
|
171
|
+
'Backspace',
|
|
172
|
+
'Delete',
|
|
173
|
+
'ArrowLeft',
|
|
174
|
+
'ArrowRight',
|
|
175
|
+
'Tab',
|
|
176
|
+
'Home',
|
|
177
|
+
'End',
|
|
178
|
+
].includes(e.key)) {
|
|
179
|
+
e.preventDefault();
|
|
180
|
+
}
|
|
181
|
+
}, required: required, disabled: disabled, min: min, max: max, ...fieldProps }), _jsx("button", { type: "button", className: cx(styles.arrowButton({ direction: 'right' }), inputSegmentStyles({ size })), onClick: handleIncrement(1), disabled: disabled, children: _jsx(Icon, { name: "CaretRight", color: "gray", size: inputIconSizes[size] }) })] }) }));
|
|
183
182
|
};
|
|
184
183
|
//# sourceMappingURL=number-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-input.js","sourceRoot":"","sources":["../../../../src/components/data-input/number-input/number-input.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Prettify } from '../../../types';
|
|
2
|
-
import { InputProps } from '../input-props.types';
|
|
2
|
+
import { InputProps } from '../shared/input-props.types';
|
|
3
3
|
export type NumberInputProps = Prettify<InputProps<number | null> & {
|
|
4
4
|
/** Minimum allowed value */
|
|
5
5
|
min?: number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-input.types.js","sourceRoot":"","sources":["../../../../src/components/data-input/number-input/number-input.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './reorderable-list';
|
|
2
|
+
export * from './reorderable-groups';
|
|
3
|
+
export type { ReorderableItem, ReorderableLayout, ReorderableWrapperProps, ReorderableWrapper, DragHandleProps, ReorderableItemChangeHandler, ReorderableItemProps, ReorderableItemComponent, FormValueMode, ReorderableGroupsFormValue, } from './shared';
|
|
4
|
+
export { parseReorderableValue, parseReorderableGroups } from './shared';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/data-input/reorderable/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AAarC,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ReorderableGroup, ReorderableGroupTitleProps } from './reorderable-groups.types';
|
|
2
|
+
/**
|
|
3
|
+
* Default group title: the drag handle followed by the `title`. A string `title` renders as semibold `Text`; a node renders as-is.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* <GroupTitle group={group} dragHandle={dragHandle} isDragging={false} size="md" />
|
|
7
|
+
*/
|
|
8
|
+
export declare const GroupTitle: <G extends ReorderableGroup>({ group, dragHandle, size, }: ReorderableGroupTitleProps<G>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { css } from '../../../../styled-system/css';
|
|
4
|
+
import { Text } from '../../../../components/typography';
|
|
5
|
+
const styles = {
|
|
6
|
+
root: css({
|
|
7
|
+
display: 'flex',
|
|
8
|
+
alignItems: 'center',
|
|
9
|
+
gap: '1',
|
|
10
|
+
minWidth: '0',
|
|
11
|
+
}),
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Default group title: the drag handle followed by the `title`. A string `title` renders as semibold `Text`; a node renders as-is.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* <GroupTitle group={group} dragHandle={dragHandle} isDragging={false} size="md" />
|
|
18
|
+
*/
|
|
19
|
+
export const GroupTitle = ({ group, dragHandle, size, }) => (_jsxs("div", { className: styles.root, children: [dragHandle, typeof group.title === 'string' ? (_jsx(Text, { marginBottom: false, weight: "semibold", size: size, children: group.title })) : (group.title)] }));
|
|
20
|
+
//# sourceMappingURL=group-title.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-title.js","sourceRoot":"","sources":["../../../../../src/components/data-input/reorderable/reorderable-groups/group-title.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAG/C,MAAM,MAAM,GAAG;IACd,IAAI,EAAE,GAAG,CAAC;QACT,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,GAAG;QACR,QAAQ,EAAE,GAAG;KACb,CAAC;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAA6B,EACtD,KAAK,EACL,UAAU,EACV,IAAI,GAC2B,EAAE,EAAE,CAAC,CACpC,eAAK,SAAS,EAAE,MAAM,CAAC,IAAI,aACzB,UAAU,EACV,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAClC,KAAC,IAAI,IAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAC,UAAU,EAAC,IAAI,EAAE,IAAI,YACrD,KAAK,CAAC,KAAK,GACN,CACP,CAAC,CAAC,CAAC,CACH,KAAK,CAAC,KAAK,CACX,IACI,CACN,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { UniqueIdentifier } from '@dnd-kit/core';
|
|
2
|
+
import type { ReorderableItem } from '../shared';
|
|
3
|
+
import type { GroupItem, ReorderableGroup } from './reorderable-groups.types';
|
|
4
|
+
/** Kind of dnd-kit node, encoded as the key prefix. */
|
|
5
|
+
export type NodeKind = 'group' | 'item' | 'container';
|
|
6
|
+
export declare const groupKey: (id: ReorderableItem["id"]) => string;
|
|
7
|
+
export declare const itemKey: (id: ReorderableItem["id"]) => string;
|
|
8
|
+
export declare const containerKey: (id: ReorderableItem["id"]) => string;
|
|
9
|
+
export declare const nodeKind: (key: UniqueIdentifier) => NodeKind;
|
|
10
|
+
export declare const itemsOf: <G extends ReorderableGroup>(group: G) => GroupItem<G>[];
|
|
11
|
+
export declare const withItems: <G extends ReorderableGroup>(group: G, items: GroupItem<G>[]) => G;
|
|
12
|
+
export declare const findGroupIndex: <G extends ReorderableGroup>(groups: G[], key: UniqueIdentifier) => number;
|
|
13
|
+
export declare const defaultGetGroupLabel: (group: ReorderableGroup, index: number) => string;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Namespaced dnd-kit keys so group and item ids never collide
|
|
2
|
+
export const groupKey = (id) => `group:${id}`;
|
|
3
|
+
export const itemKey = (id) => `item:${id}`;
|
|
4
|
+
export const containerKey = (id) => `container:${id}`;
|
|
5
|
+
export const nodeKind = (key) => String(key).split(':', 1)[0];
|
|
6
|
+
// Typed item access for a generic group
|
|
7
|
+
export const itemsOf = (group) => group.items;
|
|
8
|
+
export const withItems = (group, items) => ({
|
|
9
|
+
...group,
|
|
10
|
+
items,
|
|
11
|
+
});
|
|
12
|
+
// Index of the group holding the node `key` points at
|
|
13
|
+
export const findGroupIndex = (groups, key) => {
|
|
14
|
+
switch (nodeKind(key)) {
|
|
15
|
+
case 'item':
|
|
16
|
+
return groups.findIndex((group) => group.items.some((item) => itemKey(item.id) === key));
|
|
17
|
+
case 'container':
|
|
18
|
+
return groups.findIndex((group) => containerKey(group.id) === key);
|
|
19
|
+
case 'group':
|
|
20
|
+
return groups.findIndex((group) => groupKey(group.id) === key);
|
|
21
|
+
default:
|
|
22
|
+
return -1;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
export const defaultGetGroupLabel = (group, index) => typeof group.title === 'string' ? group.title : `Group ${index + 1}`;
|
|
26
|
+
//# sourceMappingURL=group-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-utils.js","sourceRoot":"","sources":["../../../../../src/components/data-input/reorderable/reorderable-groups/group-utils.ts"],"names":[],"mappings":"AAOA,8DAA8D;AAC9D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAyB,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;AACrE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAyB,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;AACnE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAyB,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC;AAC7E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAqB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;AAE5F,wCAAwC;AACxC,MAAM,CAAC,MAAM,OAAO,GAAG,CAA6B,KAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,KAAuB,CAAC;AAC/F,MAAM,CAAC,MAAM,SAAS,GAAG,CAA6B,KAAQ,EAAE,KAAqB,EAAK,EAAE,CAAC,CAAC;IAC7F,GAAG,KAAK;IACR,KAAK;CACL,CAAC,CAAC;AAEH,sDAAsD;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,CAA6B,MAAW,EAAE,GAAqB,EAAE,EAAE;IAChG,QAAQ,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,MAAM;YACV,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CACjC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CACpD,CAAC;QACH,KAAK,WAAW;YACf,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;QACpE,KAAK,OAAO;YACX,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;QAChE;YACC,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAuB,EAAE,KAAa,EAAE,EAAE,CAC9E,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/data-input/reorderable/reorderable-groups/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ReorderableGroup, ReorderableGroupsProps } from './reorderable-groups.types';
|
|
2
|
+
/**
|
|
3
|
+
* Controlled input of titled groups whose items can be reordered within a group and moved between groups by pointer, touch, or keyboard. Groups can be reordered too unless `sortableGroups` is `false`. Set `name` to submit the structure as JSON.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* const [tiers, setTiers] = useState(initialTiers);
|
|
7
|
+
*
|
|
8
|
+
* <ReorderableGroups
|
|
9
|
+
* name="tiers"
|
|
10
|
+
* title="Tier List"
|
|
11
|
+
* value={tiers}
|
|
12
|
+
* onChange={setTiers}
|
|
13
|
+
* ItemComponent={TierTile}
|
|
14
|
+
* titlePosition="start"
|
|
15
|
+
* sortableGroups={false}
|
|
16
|
+
* />
|
|
17
|
+
*/
|
|
18
|
+
export declare const ReorderableGroups: <G extends ReorderableGroup>({ value, orderProperty, ItemComponent, onChange, getItemLabel, getGroupLabel, GroupTitleComponent, titlePosition, sortableGroups, layout, groupLayout, ItemsWrapper, GroupsWrapper, name, id: idProp, title, size, divider, secondaryContent, }: ReorderableGroupsProps<G>) => import("react/jsx-runtime").JSX.Element;
|