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,22 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Returns whether `query` currently matches, updating as the viewport changes.
|
|
5
|
+
* Initializes as `false` on the server and before mount to avoid hydration mismatches.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* const isWide = useMediaQuery('(min-width: 1024px)');
|
|
9
|
+
*/
|
|
10
|
+
export const useMediaQuery = (query) => {
|
|
11
|
+
const [matches, setMatches] = useState(false); // Safe initial state
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
const mediaQueryList = window.matchMedia(query);
|
|
14
|
+
const handleChange = () => setMatches(mediaQueryList.matches);
|
|
15
|
+
// Set initial match after mount
|
|
16
|
+
handleChange();
|
|
17
|
+
mediaQueryList.addEventListener('change', handleChange);
|
|
18
|
+
return () => mediaQueryList.removeEventListener('change', handleChange);
|
|
19
|
+
}, [query]);
|
|
20
|
+
return matches;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=use-media-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-media-query.js","sourceRoot":"","sources":["../../../src/hooks/use-media-query/use-media-query.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB;IAEpE,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE9D,gCAAgC;QAChC,YAAY,EAAE,CAAC;QAEf,cAAc,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACxD,OAAO,GAAG,EAAE,CAAC,cAAc,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACzE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Returns the current `window.location.pathname
|
|
2
|
+
* Returns the current `window.location.pathname`, updating on back/forward (`popstate`)
|
|
3
|
+
* and client-side navigations (`history.pushState` / `replaceState`).
|
|
3
4
|
* Initializes as an empty string on the server to avoid hydration mismatches.
|
|
4
5
|
*
|
|
5
6
|
* @example
|
|
@@ -1,7 +1,26 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { useState, useEffect } from 'react';
|
|
3
|
+
const LOCATION_CHANGE_EVENT = 'thread:locationchange';
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
+
* Client-side routers (Next.js, React Router, etc.) navigate with `history.pushState` /
|
|
6
|
+
* `replaceState`, which don't fire `popstate`. Wrap them once so we can hear those navigations too.
|
|
7
|
+
*/
|
|
8
|
+
const patchHistory = () => {
|
|
9
|
+
const history = window.history;
|
|
10
|
+
if (history.__threadPatched)
|
|
11
|
+
return;
|
|
12
|
+
history.__threadPatched = true;
|
|
13
|
+
for (const method of ['pushState', 'replaceState']) {
|
|
14
|
+
const original = history[method].bind(history);
|
|
15
|
+
history[method] = (...args) => {
|
|
16
|
+
original(...args);
|
|
17
|
+
window.dispatchEvent(new Event(LOCATION_CHANGE_EVENT));
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Returns the current `window.location.pathname`, updating on back/forward (`popstate`)
|
|
23
|
+
* and client-side navigations (`history.pushState` / `replaceState`).
|
|
5
24
|
* Initializes as an empty string on the server to avoid hydration mismatches.
|
|
6
25
|
*
|
|
7
26
|
* @example
|
|
@@ -10,13 +29,18 @@ import { useState, useEffect } from 'react';
|
|
|
10
29
|
export const usePathname = () => {
|
|
11
30
|
const [pathname, setPathname] = useState(''); // Safe initial state
|
|
12
31
|
useEffect(() => {
|
|
13
|
-
|
|
14
|
-
setPathname(window.location.pathname);
|
|
32
|
+
patchHistory();
|
|
15
33
|
const handleLocationChange = () => {
|
|
16
34
|
setPathname(window.location.pathname);
|
|
17
35
|
};
|
|
36
|
+
// Set initial pathname after mount
|
|
37
|
+
handleLocationChange();
|
|
18
38
|
window.addEventListener('popstate', handleLocationChange);
|
|
19
|
-
|
|
39
|
+
window.addEventListener(LOCATION_CHANGE_EVENT, handleLocationChange);
|
|
40
|
+
return () => {
|
|
41
|
+
window.removeEventListener('popstate', handleLocationChange);
|
|
42
|
+
window.removeEventListener(LOCATION_CHANGE_EVENT, handleLocationChange);
|
|
43
|
+
};
|
|
20
44
|
}, []);
|
|
21
45
|
return pathname;
|
|
22
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-pathname.js","sourceRoot":"","sources":["../../../src/hooks/use-pathname/use-pathname.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C
|
|
1
|
+
{"version":3,"file":"use-pathname.js","sourceRoot":"","sources":["../../../src/hooks/use-pathname/use-pathname.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD;;;GAGG;AACH,MAAM,YAAY,GAAG,GAAG,EAAE;IACzB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAkD,CAAC;IAC1E,IAAI,OAAO,CAAC,eAAe;QAAE,OAAO;IACpC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAE/B,KAAK,MAAM,MAAM,IAAI,CAAC,WAAW,EAAE,cAAc,CAAU,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAsC,EAAE,EAAE;YAC/D,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YAClB,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC;IACH,CAAC;AACF,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC/B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB;IAEnE,SAAS,CAAC,GAAG,EAAE;QACd,YAAY,EAAE,CAAC;QAEf,MAAM,oBAAoB,GAAG,GAAG,EAAE;YACjC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,mCAAmC;QACnC,oBAAoB,EAAE,CAAC;QAEvB,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QAC1D,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;QACrE,OAAO,GAAG,EAAE;YACX,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;YAC7D,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;QACzE,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conditional-wrapper.js","sourceRoot":"","sources":["../../../../src/internal/components/conditional-wrapper/conditional-wrapper.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAClC,QAAQ,EACR,OAAO,EACP,YAAY,GAAG,EAAE,EACjB,eAAe,GACU,EAAE,EAAE;IAC7B,MAAM,QAAQ,GAAG,OAAO,IAAI,eAAe,EAAE,OAAO,IAAI,UAAU,CAAC;IACnE,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;IAErF,IAAI,QAAQ,KAAK,UAAU;QAAE,OAAO,4BAAG,QAAQ,GAAI,CAAC;IACpD,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,iBAAS,aAAa,YAAG,QAAQ,GAAO,CAAC;IACxE,MAAM,OAAO,GAAG,QAAQ,CAAC;IACzB,OAAO,KAAC,OAAO,OAAM,aAAqB,YAAG,QAAQ,GAAW,CAAC;AAClE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conditional-wrapper.types.js","sourceRoot":"","sources":["../../../../src/internal/components/conditional-wrapper/conditional-wrapper.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/components/conditional-wrapper/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { css, cx } from '
|
|
3
|
-
import { H2, Text } from '
|
|
2
|
+
import { css, cx } from '../../../styled-system/css';
|
|
3
|
+
import { H2, Text } from '../../../components';
|
|
4
4
|
const styles = {
|
|
5
5
|
defaultContainer: css({
|
|
6
6
|
marginBottom: '2',
|
|
@@ -26,7 +26,7 @@ const styles = {
|
|
|
26
26
|
* Returns `null` when neither `title` nor `secondaryContent` is provided.
|
|
27
27
|
*/
|
|
28
28
|
export const ContentHeader = ({ title, subtitle, secondaryContent, className, description, }) => {
|
|
29
|
-
const titleDisplay = typeof title === 'string' ? (_jsx(H2, { subtitle: subtitle,
|
|
29
|
+
const titleDisplay = typeof title === 'string' ? (_jsx(H2, { subtitle: subtitle, marginBottom: false, children: title })) : (title);
|
|
30
30
|
if (typeof title !== 'string' && subtitle) {
|
|
31
31
|
console.warn('Thread UI - ContentHeader: `subtitle` prop is ignored when `title` is a ReactElement. ' +
|
|
32
32
|
'Use the `subtitle` prop on your heading component directly.');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-header.js","sourceRoot":"","sources":["../../../../src/internal/components/content-header/content-header.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,MAAM,GAAG;IACd,gBAAgB,EAAE,GAAG,CAAC;QACrB,YAAY,EAAE,GAAG;KACjB,CAAC;IACF,MAAM,EAAE,GAAG,CAAC;QACX,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,eAAe;QAC/B,UAAU,EAAE,QAAQ;KACpB,CAAC;IACF,gBAAgB,EAAE,GAAG,CAAC;QACrB,UAAU,EAAE,MAAM;KAClB,CAAC;CACF,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACT,WAAW,GACS,EAAE,EAAE;IACxB,MAAM,YAAY,GACjB,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC3B,KAAC,EAAE,IAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,YACzC,KAAK,GACF,CACL,CAAC,CAAC,CAAC,CACH,KAAK,CACL,CAAC;IAEH,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,CACX,wFAAwF;YACvF,6DAA6D,CAC9D,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,CACN,eAAK,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,aACpD,CAAC,KAAK,IAAI,gBAAgB,CAAC,IAAI,CAC/B,eAAK,SAAS,EAAE,MAAM,CAAC,MAAM,aAC3B,KAAK,IAAI,YAAY,EACrB,gBAAgB,IAAI,CACpB,cAAK,SAAS,EAAE,MAAM,CAAC,gBAAgB,YAAG,gBAAgB,GAAO,CACjE,IACI,CACN,EACA,WAAW,IAAI,KAAC,IAAI,cAAE,WAAW,GAAQ,IACrC,CACN,CAAC;AACH,CAAC,CAAC"}
|
package/dist/{internal-components → internal/components}/content-header/content-header.types.d.ts
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactElement, ReactNode } from 'react';
|
|
2
|
-
import { Title, H1, H2, H3 } from '
|
|
3
|
-
import { TypographyHeadingProps } from '
|
|
4
|
-
import { Prettify } from '
|
|
2
|
+
import { Title, H1, H2, H3 } from '../../../components/typography';
|
|
3
|
+
import { TypographyHeadingProps } from '../../../components/typography/heading/heading.types';
|
|
4
|
+
import { Prettify } from '../../../types';
|
|
5
5
|
type HeadingElement = ReactElement<TypographyHeadingProps, typeof Title | typeof H1 | typeof H2 | typeof H3>;
|
|
6
6
|
/** Accepted title values: a plain string or a Thread UI heading element */
|
|
7
7
|
type TitleType = string | HeadingElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-header.types.js","sourceRoot":"","sources":["../../../../src/internal/components/content-header/content-header.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/components/content-header/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-icon.js","sourceRoot":"","sources":["../../../../src/internal/components/dynamic-icon/dynamic-icon.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE;IAC9B,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAE,GAAG,GAAG;QAAE,OAAO,IAAI,CAAC;IAC5C,OAAO,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAoB,EAAE,EAAE;IACpE,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;IACzC,CAAC;SAAM,CAAC;QACP,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,OAAO,CACN,eAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,YACrD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GACZ,CACP,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,CACN,cACC,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,IAAI,EACX,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EACtB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACd,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACxC,CAAC,GACA,CACF,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;IAClC,CAAC;AACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-icon.types.js","sourceRoot":"","sources":["../../../../src/internal/components/dynamic-icon/dynamic-icon.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/components/dynamic-icon/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/components/image/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { HtmlImageProps } from '
|
|
1
|
+
import { HtmlImageProps } from '../../../types';
|
|
2
2
|
export declare const isHtmlImageProps: (value: any) => value is HtmlImageProps;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-html-image-props.js","sourceRoot":"","sources":["../../../../src/internal/components/image/is-html-image-props.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAU,EAA2B,EAAE;IACvE,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,KAAK,IAAI,KAAK;QACd,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAC7B,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CACpD,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import React, { isValidElement } from 'react';
|
|
3
3
|
import { isHtmlImageProps } from './is-html-image-props';
|
|
4
|
-
import { cx } from '
|
|
4
|
+
import { cx } from '../../../styled-system/css'; // Add this import
|
|
5
5
|
export const renderImage = (imageInput, styles, className) => {
|
|
6
6
|
if (isValidElement(imageInput)) {
|
|
7
7
|
const prevProps = imageInput.props;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-image.js","sourceRoot":"","sources":["../../../../src/internal/components/image/render-image.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAiB,cAAc,EAAgB,MAAM,OAAO,CAAC;AAE3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC,CAAC,kBAAkB;AAE5D,MAAM,CAAC,MAAM,WAAW,GAAG,CAC1B,UAAsB,EACtB,MAAsB,EACtB,SAAkB,EACH,EAAE;IACjB,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,UAAU,CAAC,KAA0C,CAAC;QACxE,MAAM,QAAQ,GAAsC;YACnD,GAAG,SAAS;YACZ,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;YAC7C,KAAK,EAAE;gBACN,GAAG,SAAS,CAAC,KAAK;gBAClB,GAAG,MAAM;aACT;SACD,CAAC;QACF,OAAO,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,GAAG,UAAU,CAAC;QACtF,OAAO,CACN,cACC,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,EACtC,KAAK,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,KACrC,SAAS,GACZ,CACF,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC5D,OAAO,cAAK,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,eAAe,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAI,CAAC;AACvE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/components/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/components/link/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { useLinkComponent } from '
|
|
3
|
+
import { useLinkComponent } from '../../../foundation';
|
|
4
4
|
export const Link = ({ children, ...anchorProps }) => {
|
|
5
5
|
const LinkComponent = useLinkComponent();
|
|
6
6
|
return _jsx(LinkComponent, { ...anchorProps, children: children });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../../src/internal/components/link/link.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAa,EAAE,EAAE;IAC/D,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,OAAO,KAAC,aAAa,OAAK,WAAW,YAAG,QAAQ,GAAiB,CAAC;AACnE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.types.js","sourceRoot":"","sources":["../../../../src/internal/components/link/link.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/components/modal-primitive/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { useEffect, useRef } from 'react';
|
|
4
4
|
import { createPortal } from 'react-dom';
|
|
5
|
-
import { useDismiss } from '
|
|
5
|
+
import { useDismiss } from '../../../hooks';
|
|
6
6
|
const FOCUSABLE_SELECTOR = 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])';
|
|
7
7
|
export const ModalPrimitive = ({ autoFocus = true, children, closeOnEsc = true, closeOnOverlayClick = true, dismissRef, isOpen, onClose, overlayClassName, portalTarget, preventScroll = true, }) => {
|
|
8
8
|
const internalRef = useRef(null);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal-primitive.js","sourceRoot":"","sources":["../../../../src/internal/components/modal-primitive/modal-primitive.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,MAAM,kBAAkB,GACvB,0EAA0E,CAAC;AAE5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC9B,SAAS,GAAG,IAAI,EAChB,QAAQ,EACR,UAAU,GAAG,IAAI,EACjB,mBAAmB,GAAG,IAAI,EAC1B,UAAU,EACV,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,aAAa,GAAG,IAAI,GACC,EAAE,EAAE;IACzB,MAAM,WAAW,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,UAAU,IAAI,WAAW,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAEpD,UAAU,CAAC;QACV,UAAU,EAAE,YAAY;QACxB,MAAM;QACN,OAAO;QACP,cAAc,EAAE,mBAAmB;QACnC,YAAY,EAAE,UAAU;KACxB,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzC,CAAC;QACD,OAAO,GAAG,EAAE;YACX,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnC,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;YAAE,OAAO;QAElC,yEAAyE;QACzE,UAAU,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAmC,CAAC;QAElE,oEAAoE;QACpE,MAAM,GAAG,GAAG,qBAAqB,CAAC,GAAG,EAAE;YACtC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,aAAa,CAAc,kBAAkB,CAAC,CAAC;YACnF,KAAK,EAAE,KAAK,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACX,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC1B,qDAAqD;YACrD,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAEtC,IAAI,MAAM,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,YAAY,IAAI,QAAQ,CAAC,IAAI,CAAC;QAC7C,OAAO,YAAY,CAClB,cAAK,SAAS,EAAE,gBAAgB,YAC/B,cAAK,GAAG,EAAE,YAAY,YAAG,QAAQ,GAAO,GACnC,EACN,MAAM,CACN,CAAC;IACH,CAAC;AACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal-primitive.types.js","sourceRoot":"","sources":["../../../../src/internal/components/modal-primitive/modal-primitive.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/components/nav-list-item/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NavListItemProps } from './nav-list-item.types';
|
|
2
|
+
/**
|
|
3
|
+
* Selectable navigation row shared by `SideNav` and `SplitView`: rest, hover, active fill,
|
|
4
|
+
* and a darker fill when hovering the active item.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* <NavItem href="/inbox" icon="Tray" active>Inbox</NavItem>
|
|
8
|
+
*/
|
|
9
|
+
export declare const NavItem: ({ children, active, icon, href, onClick, activeColor, shape, collapse, }: NavListItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cva } from '../../../styled-system/css';
|
|
4
|
+
import { Icon } from '../../../components/ui';
|
|
5
|
+
import { Link } from '../link';
|
|
6
|
+
const styles = {
|
|
7
|
+
item: cva({
|
|
8
|
+
base: {
|
|
9
|
+
position: 'relative',
|
|
10
|
+
display: 'flex',
|
|
11
|
+
alignItems: 'center',
|
|
12
|
+
gap: '2',
|
|
13
|
+
width: 'calc(100% - token(spacing.4))',
|
|
14
|
+
marginX: '2',
|
|
15
|
+
marginY: '0.5',
|
|
16
|
+
paddingX: '3',
|
|
17
|
+
paddingY: '2',
|
|
18
|
+
border: 'none',
|
|
19
|
+
backgroundColor: 'transparent',
|
|
20
|
+
color: 'text.secondary',
|
|
21
|
+
fontSize: 'body.sm',
|
|
22
|
+
textAlign: 'left',
|
|
23
|
+
textDecoration: 'none',
|
|
24
|
+
cursor: 'pointer',
|
|
25
|
+
transition: 'background-color 150ms ease-in-out, color 150ms ease-in-out',
|
|
26
|
+
'&:not([data-active]):hover': { backgroundColor: 'hover', color: 'text.standard' },
|
|
27
|
+
// Colors set `--nav-item-fill` (and `--nav-item-text` when inverted text won't do),
|
|
28
|
+
// so hover-while-active darkens every fill the same way
|
|
29
|
+
'&[data-active]': {
|
|
30
|
+
backgroundColor: 'var(--nav-item-fill)',
|
|
31
|
+
color: 'var(--nav-item-text, token(colors.text.inverted))',
|
|
32
|
+
},
|
|
33
|
+
'&[data-active]:hover': {
|
|
34
|
+
backgroundColor: 'color-mix(in srgb, var(--nav-item-fill), black 12%)',
|
|
35
|
+
},
|
|
36
|
+
_focusVisible: {
|
|
37
|
+
outline: '2px solid',
|
|
38
|
+
outlineColor: 'primary.main',
|
|
39
|
+
outlineOffset: '-2px',
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
variants: {
|
|
43
|
+
shape: {
|
|
44
|
+
pill: { borderRadius: 'full' },
|
|
45
|
+
row: { borderRadius: 'md' },
|
|
46
|
+
},
|
|
47
|
+
activeColor: {
|
|
48
|
+
primary: { '--nav-item-fill': 'token(colors.primary.main)' },
|
|
49
|
+
secondary: { '--nav-item-fill': 'token(colors.secondary.main)' },
|
|
50
|
+
tertiary: { '--nav-item-fill': 'token(colors.tertiary.main)' },
|
|
51
|
+
// Inverted text turns dark in dark mode, which would vanish on black
|
|
52
|
+
black: {
|
|
53
|
+
'--nav-item-fill': 'token(colors.black)',
|
|
54
|
+
'--nav-item-text': 'token(colors.white)',
|
|
55
|
+
},
|
|
56
|
+
gray: { '--nav-item-fill': 'token(colors.gray.main)' },
|
|
57
|
+
success: { '--nav-item-fill': 'token(colors.success.main)' },
|
|
58
|
+
error: { '--nav-item-fill': 'token(colors.error.main)' },
|
|
59
|
+
warning: { '--nav-item-fill': 'token(colors.warning.main)' },
|
|
60
|
+
info: { '--nav-item-fill': 'token(colors.info.main)' },
|
|
61
|
+
text: { '--nav-item-fill': 'token(colors.text.standard)' },
|
|
62
|
+
neutral: {
|
|
63
|
+
'--nav-item-fill': 'token(colors.active)',
|
|
64
|
+
'--nav-item-text': 'token(colors.text.standard)',
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
collapse: {
|
|
68
|
+
never: {},
|
|
69
|
+
responsive: {
|
|
70
|
+
width: { base: 'auto', lg: 'calc(100% - token(spacing.4))' },
|
|
71
|
+
marginX: { base: 'auto', lg: '2' },
|
|
72
|
+
paddingX: { base: '2', lg: '3' },
|
|
73
|
+
},
|
|
74
|
+
always: { width: 'auto', marginX: 'auto', paddingX: '2' },
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
}),
|
|
78
|
+
label: cva({
|
|
79
|
+
base: { flex: 1, minWidth: 0 },
|
|
80
|
+
variants: {
|
|
81
|
+
// Visually hidden rather than removed, so collapsed links keep their accessible name
|
|
82
|
+
collapse: {
|
|
83
|
+
never: {},
|
|
84
|
+
responsive: { srOnly: { base: true, lg: false } },
|
|
85
|
+
always: { srOnly: true },
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
}),
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Selectable navigation row shared by `SideNav` and `SplitView`: rest, hover, active fill,
|
|
92
|
+
* and a darker fill when hovering the active item.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* <NavItem href="/inbox" icon="Tray" active>Inbox</NavItem>
|
|
96
|
+
*/
|
|
97
|
+
export const NavItem = ({ children, active = false, icon, href, onClick, activeColor = 'primary', shape = 'pill', collapse = 'never', }) => {
|
|
98
|
+
const className = styles.item({ shape, activeColor, collapse });
|
|
99
|
+
const content = (_jsxs(_Fragment, { children: [icon && _jsx(Icon, { name: icon, size: 16, filled: active }), _jsx("span", { className: styles.label({ collapse }), children: children })] }));
|
|
100
|
+
if (href) {
|
|
101
|
+
return (_jsx(Link, { href: href, onClick: onClick, className: className, "data-active": active || undefined, "aria-current": active ? 'page' : undefined, children: content }));
|
|
102
|
+
}
|
|
103
|
+
return (_jsx("button", { type: "button", onClick: onClick, className: className, "data-active": active || undefined, "aria-current": active || undefined, children: content }));
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=nav-list-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nav-list-item.js","sourceRoot":"","sources":["../../../../src/internal/components/nav-list-item/nav-list-item.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,MAAM,MAAM,GAAG;IACd,IAAI,EAAE,GAAG,CAAC;QACT,IAAI,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,+BAA+B;YACtC,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,GAAG;YACb,MAAM,EAAE,MAAM;YACd,eAAe,EAAE,aAAa;YAC9B,KAAK,EAAE,gBAAgB;YACvB,QAAQ,EAAE,SAAS;YACnB,SAAS,EAAE,MAAM;YACjB,cAAc,EAAE,MAAM;YACtB,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,6DAA6D;YACzE,4BAA4B,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;YAClF,oFAAoF;YACpF,wDAAwD;YACxD,gBAAgB,EAAE;gBACjB,eAAe,EAAE,sBAAsB;gBACvC,KAAK,EAAE,mDAAmD;aAC1D;YACD,sBAAsB,EAAE;gBACvB,eAAe,EAAE,qDAAqD;aACtE;YACD,aAAa,EAAE;gBACd,OAAO,EAAE,WAAW;gBACpB,YAAY,EAAE,cAAc;gBAC5B,aAAa,EAAE,MAAM;aACrB;SACD;QACD,QAAQ,EAAE;YACT,KAAK,EAAE;gBACN,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;gBAC9B,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;aAC3B;YACD,WAAW,EAAE;gBACZ,OAAO,EAAE,EAAE,iBAAiB,EAAE,4BAA4B,EAAE;gBAC5D,SAAS,EAAE,EAAE,iBAAiB,EAAE,8BAA8B,EAAE;gBAChE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,6BAA6B,EAAE;gBAC9D,qEAAqE;gBACrE,KAAK,EAAE;oBACN,iBAAiB,EAAE,qBAAqB;oBACxC,iBAAiB,EAAE,qBAAqB;iBACxC;gBACD,IAAI,EAAE,EAAE,iBAAiB,EAAE,yBAAyB,EAAE;gBACtD,OAAO,EAAE,EAAE,iBAAiB,EAAE,4BAA4B,EAAE;gBAC5D,KAAK,EAAE,EAAE,iBAAiB,EAAE,0BAA0B,EAAE;gBACxD,OAAO,EAAE,EAAE,iBAAiB,EAAE,4BAA4B,EAAE;gBAC5D,IAAI,EAAE,EAAE,iBAAiB,EAAE,yBAAyB,EAAE;gBACtD,IAAI,EAAE,EAAE,iBAAiB,EAAE,6BAA6B,EAAE;gBAC1D,OAAO,EAAE;oBACR,iBAAiB,EAAE,sBAAsB;oBACzC,iBAAiB,EAAE,6BAA6B;iBAChD;aACD;YACD,QAAQ,EAAE;gBACT,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE;oBACX,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,+BAA+B,EAAE;oBAC5D,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE;oBAClC,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE;iBAChC;gBACD,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE;aACzD;SACD;KACD,CAAC;IACF,KAAK,EAAE,GAAG,CAAC;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;QAC9B,QAAQ,EAAE;YACT,qFAAqF;YACrF,QAAQ,EAAE;gBACT,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;gBACjD,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACxB;SACD;KACD,CAAC;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACvB,QAAQ,EACR,MAAM,GAAG,KAAK,EACd,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,WAAW,GAAG,SAAS,EACvB,KAAK,GAAG,MAAM,EACd,QAAQ,GAAG,OAAO,GACA,EAAE,EAAE;IACtB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,CACf,8BACE,IAAI,IAAI,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAI,EACvD,eAAM,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,YAAG,QAAQ,GAAQ,IAC5D,CACH,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACV,OAAO,CACN,KAAC,IAAI,IACJ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,iBACP,MAAM,IAAI,SAAS,kBAClB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,YAExC,OAAO,GACF,CACP,CAAC;IACH,CAAC;IAED,OAAO,CACN,iBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,iBACP,MAAM,IAAI,SAAS,kBAClB,MAAM,IAAI,SAAS,YAEhC,OAAO,GACA,CACT,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { IconNames } from '../../../components/ui';
|
|
3
|
+
import { UtilityColorOptions } from '../../../types';
|
|
4
|
+
/** Fill of the active item. `neutral` uses the theme's `active` highlight */
|
|
5
|
+
export type NavListItemActiveColor = UtilityColorOptions | 'neutral';
|
|
6
|
+
export type NavListItemCollapse = 'never' | 'responsive' | 'always';
|
|
7
|
+
export type NavListItemProps = {
|
|
8
|
+
/** Item label */
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
/** Shows the active fill @default `false` */
|
|
11
|
+
active?: boolean;
|
|
12
|
+
/** Leading icon, filled while active */
|
|
13
|
+
icon?: IconNames;
|
|
14
|
+
/** Renders the item as a link */
|
|
15
|
+
href?: string;
|
|
16
|
+
/** Click handler */
|
|
17
|
+
onClick?: () => void;
|
|
18
|
+
/** Active fill color @default `'primary'` */
|
|
19
|
+
activeColor?: NavListItemActiveColor;
|
|
20
|
+
/** `pill` for navigation, `row` for list selections @default `'pill'` */
|
|
21
|
+
shape?: 'pill' | 'row';
|
|
22
|
+
/** When to collapse to an icon-only circle; `responsive` collapses below `lg` @default `'never'` */
|
|
23
|
+
collapse?: NavListItemCollapse;
|
|
24
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nav-list-item.types.js","sourceRoot":"","sources":["../../../../src/internal/components/nav-list-item/nav-list-item.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/components/optional-icon-button/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Button, IconButton } from '
|
|
2
|
+
import { Button, IconButton } from '../../../components';
|
|
3
3
|
import { ConditionalWrapper } from '../conditional-wrapper';
|
|
4
4
|
export const OptionalIconButton = (props) => {
|
|
5
5
|
const { name, children, ...buttonProps } = props;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optional-icon-button.js","sourceRoot":"","sources":["../../../../src/internal/components/optional-icon-button/optional-icon-button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAE,EAAE;IACpE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAC;IAEjD,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpE,OAAO,CACN,KAAC,kBAAkB,IAClB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EACjD,YAAY,EAAE,eAAe,EAC7B,eAAe,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,YAE9D,QAAQ,GACW,CACrB,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optional-icon-button.types.js","sourceRoot":"","sources":["../../../../src/internal/components/optional-icon-button/optional-icon-button.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/components/surface/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { cx } from '
|
|
3
|
-
import { getResolvedLayerValues, getSurfaceStyles } from '
|
|
2
|
+
import { cx } from '../../../styled-system/css';
|
|
3
|
+
import { getResolvedLayerValues, getSurfaceStyles } from '../../../utils';
|
|
4
4
|
export const Surface = (props) => {
|
|
5
5
|
const { as, surfaceConfig, className, children, ...rest } = props;
|
|
6
6
|
const { layer = 'surface', bg, shadow, structure } = surfaceConfig ?? {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../../../../src/internal/components/surface/surface.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGnE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAgC,KAAsB,EAAE,EAAE;IAChF,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAElE,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,IAAI,EAAE,CAAC;IACzE,MAAM,SAAS,GAAG,CAAC,EAAE,IAAI,KAAK,CAAgB,CAAC;IAC/C,MAAM,WAAW,GAAG,sBAAsB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAE7E,OAAO,CACN,KAAC,SAAS,IAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,KAAM,IAAI,YAC1E,QAAQ,GACE,CACZ,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ElementType, ComponentPropsWithoutRef } from 'react';
|
|
2
|
-
import { SurfaceConfigOverrides } from '
|
|
3
|
-
import { Prettify, SurfaceLayerOptions } from '
|
|
2
|
+
import { SurfaceConfigOverrides } from '../../../theme/theme-surface-system';
|
|
3
|
+
import { Prettify, SurfaceLayerOptions } from '../../../types';
|
|
4
4
|
export type SurfaceInput = Prettify<SurfaceConfigOverrides & {
|
|
5
5
|
layer?: SurfaceLayerOptions | 'none';
|
|
6
6
|
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface.types.js","sourceRoot":"","sources":["../../../../src/internal/components/surface/surface.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
import type { InputElement } from '../../components/data-input/shared/input-props.types';
|
|
3
|
+
/** Props for `useControllableState`. */
|
|
4
|
+
type UseControllableStateProps<T> = {
|
|
5
|
+
/** Controlled value; the hook is uncontrolled while this is `undefined` */
|
|
6
|
+
value?: T;
|
|
7
|
+
/** Initial value for uncontrolled use; restored when the parent form resets */
|
|
8
|
+
defaultValue: T;
|
|
9
|
+
/** Called with the next value on every change */
|
|
10
|
+
onChange?: (value: T) => void | Promise<void>;
|
|
11
|
+
/** Control inside the form whose `reset` event restores `defaultValue` */
|
|
12
|
+
elementRef?: RefObject<InputElement | null>;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Value state that works controlled or uncontrolled.
|
|
16
|
+
* Internal state only backs the uncontrolled case, and a native form `reset` restores `defaultValue`.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* const [selected, setSelected] = useControllableState({ value, defaultValue: [], onChange, elementRef });
|
|
20
|
+
*/
|
|
21
|
+
export declare const useControllableState: <T>({ value, defaultValue, onChange, elementRef, }: UseControllableStateProps<T>) => readonly [T, (next: T) => void];
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useEffect, useRef, useState } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Value state that works controlled or uncontrolled.
|
|
5
|
+
* Internal state only backs the uncontrolled case, and a native form `reset` restores `defaultValue`.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* const [selected, setSelected] = useControllableState({ value, defaultValue: [], onChange, elementRef });
|
|
9
|
+
*/
|
|
10
|
+
export const useControllableState = ({ value, defaultValue, onChange, elementRef, }) => {
|
|
11
|
+
const isControlled = value !== undefined;
|
|
12
|
+
const [internalValue, setInternalValue] = useState(defaultValue);
|
|
13
|
+
const current = isControlled ? value : internalValue;
|
|
14
|
+
// Latest default, so a reset restores what the parent passes now rather than on mount
|
|
15
|
+
const defaultValueRef = useRef(defaultValue);
|
|
16
|
+
defaultValueRef.current = defaultValue;
|
|
17
|
+
const setValue = (next) => {
|
|
18
|
+
if (!isControlled) {
|
|
19
|
+
setInternalValue(next);
|
|
20
|
+
}
|
|
21
|
+
onChange?.(next);
|
|
22
|
+
};
|
|
23
|
+
// Mirror native form reset; a controlled parent owns its own reset
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
const form = elementRef?.current?.form;
|
|
26
|
+
if (!form || isControlled)
|
|
27
|
+
return;
|
|
28
|
+
const handleReset = () => setInternalValue(defaultValueRef.current);
|
|
29
|
+
form.addEventListener('reset', handleReset);
|
|
30
|
+
return () => form.removeEventListener('reset', handleReset);
|
|
31
|
+
}, [elementRef, isControlled]);
|
|
32
|
+
return [current, setValue];
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=use-controllable-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-controllable-state.js","sourceRoot":"","sources":["../../../src/internal/hooks/use-controllable-state.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAa,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAe/D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAI,EACvC,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,UAAU,GACoB,EAAE,EAAE;IAClC,MAAM,YAAY,GAAG,KAAK,KAAK,SAAS,CAAC;IACzC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;IAErD,sFAAsF;IACtF,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAC7C,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;IAEvC,MAAM,QAAQ,GAAG,CAAC,IAAO,EAAE,EAAE;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,mEAAmE;IACnE,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,IAAI,GAAG,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC;QACvC,IAAI,CAAC,IAAI,IAAI,YAAY;YAAE,OAAO;QAElC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC5C,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAE/B,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAU,CAAC;AACrC,CAAC,CAAC"}
|