@lucasbernardosn/react-ui 0.2.0 → 0.3.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 +141 -0
- package/dist/components/buttons/button/button-variants.js +2 -7
- package/dist/components/buttons/button/button-variants.js.map +1 -1
- package/dist/components/buttons/button/button.d.ts +1 -1
- package/dist/components/buttons/button/button.js +1 -1
- package/dist/components/buttons/button/button.js.map +1 -1
- package/dist/components/buttons/clipboard-button/clipboard-button.d.ts +1 -1
- package/dist/components/buttons/clipboard-button/clipboard-button.js +1 -1
- package/dist/components/buttons/clipboard-button/clipboard-button.js.map +1 -1
- package/dist/components/buttons/close-button/close-button.d.ts +1 -1
- package/dist/components/buttons/close-button/close-button.js.map +1 -1
- package/dist/components/buttons/icon-button/icon-button.d.ts +1 -1
- package/dist/components/buttons/icon-button/icon-button.js +1 -1
- package/dist/components/buttons/icon-button/icon-button.js.map +1 -1
- package/dist/components/buttons/responsive-button/responsive-button.d.ts +1 -1
- package/dist/components/buttons/responsive-button/responsive-button.js.map +1 -1
- package/dist/components/collections/async-select/async-select-aria-messages.d.ts +15 -0
- package/dist/components/collections/async-select/async-select-aria-messages.js +51 -0
- package/dist/components/collections/async-select/async-select-aria-messages.js.map +1 -0
- package/dist/components/collections/async-select/async-select-components.d.ts +5 -0
- package/dist/components/collections/async-select/async-select-components.js +67 -0
- package/dist/components/collections/async-select/async-select-components.js.map +1 -0
- package/dist/components/collections/async-select/async-select-variants.d.ts +23 -0
- package/dist/components/collections/async-select/async-select-variants.js +378 -0
- package/dist/components/collections/async-select/async-select-variants.js.map +1 -0
- package/dist/components/collections/async-select/async-select.d.ts +62 -0
- package/dist/components/collections/async-select/async-select.js +121 -0
- package/dist/components/collections/async-select/async-select.js.map +1 -0
- package/dist/components/collections/async-select/index.d.ts +3 -0
- package/dist/components/collections/async-select/index.js +2 -0
- package/dist/components/collections/async-select/use-async-select-load.d.ts +26 -0
- package/dist/components/collections/async-select/use-async-select-load.js +76 -0
- package/dist/components/collections/async-select/use-async-select-load.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-arrow.d.ts +14 -0
- package/dist/components/collections/autocomplete/autocomplete-arrow.js +43 -0
- package/dist/components/collections/autocomplete/autocomplete-arrow.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-backdrop.d.ts +16 -0
- package/dist/components/collections/autocomplete/autocomplete-backdrop.js +36 -0
- package/dist/components/collections/autocomplete/autocomplete-backdrop.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-clear.d.ts +17 -0
- package/dist/components/collections/autocomplete/autocomplete-clear.js +47 -0
- package/dist/components/collections/autocomplete/autocomplete-clear.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-collection.d.ts +14 -0
- package/dist/components/collections/autocomplete/autocomplete-collection.js +15 -0
- package/dist/components/collections/autocomplete/autocomplete-collection.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-empty.d.ts +14 -0
- package/dist/components/collections/autocomplete/autocomplete-empty.js +24 -0
- package/dist/components/collections/autocomplete/autocomplete-empty.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-group-label-variants.d.ts +12 -0
- package/dist/components/collections/autocomplete/autocomplete-group-label-variants.js +65 -0
- package/dist/components/collections/autocomplete/autocomplete-group-label-variants.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-group-label.d.ts +13 -0
- package/dist/components/collections/autocomplete/autocomplete-group-label.js +23 -0
- package/dist/components/collections/autocomplete/autocomplete-group-label.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-group.d.ts +14 -0
- package/dist/components/collections/autocomplete/autocomplete-group.js +18 -0
- package/dist/components/collections/autocomplete/autocomplete-group.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-icon.d.ts +13 -0
- package/dist/components/collections/autocomplete/autocomplete-icon.js +23 -0
- package/dist/components/collections/autocomplete/autocomplete-icon.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-input-group-variants.d.ts +18 -0
- package/dist/components/collections/autocomplete/autocomplete-input-group-variants.js +38 -0
- package/dist/components/collections/autocomplete/autocomplete-input-group-variants.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-input-group.d.ts +15 -0
- package/dist/components/collections/autocomplete/autocomplete-input-group.js +25 -0
- package/dist/components/collections/autocomplete/autocomplete-input-group.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-input-variants.d.ts +14 -0
- package/dist/components/collections/autocomplete/autocomplete-input-variants.js +123 -0
- package/dist/components/collections/autocomplete/autocomplete-input-variants.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-input.d.ts +16 -0
- package/dist/components/collections/autocomplete/autocomplete-input.js +29 -0
- package/dist/components/collections/autocomplete/autocomplete-input.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-item-variants.d.ts +12 -0
- package/dist/components/collections/autocomplete/autocomplete-item-variants.js +85 -0
- package/dist/components/collections/autocomplete/autocomplete-item-variants.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-item.d.ts +14 -0
- package/dist/components/collections/autocomplete/autocomplete-item.js +24 -0
- package/dist/components/collections/autocomplete/autocomplete-item.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-list.d.ts +14 -0
- package/dist/components/collections/autocomplete/autocomplete-list.js +31 -0
- package/dist/components/collections/autocomplete/autocomplete-list.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-message-variants.d.ts +13 -0
- package/dist/components/collections/autocomplete/autocomplete-message-variants.js +54 -0
- package/dist/components/collections/autocomplete/autocomplete-message-variants.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-popup-variants.d.ts +13 -0
- package/dist/components/collections/autocomplete/autocomplete-popup-variants.js +43 -0
- package/dist/components/collections/autocomplete/autocomplete-popup-variants.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-popup.d.ts +14 -0
- package/dist/components/collections/autocomplete/autocomplete-popup.js +22 -0
- package/dist/components/collections/autocomplete/autocomplete-popup.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-portal.d.ts +13 -0
- package/dist/components/collections/autocomplete/autocomplete-portal.js +17 -0
- package/dist/components/collections/autocomplete/autocomplete-portal.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-positioner.d.ts +16 -0
- package/dist/components/collections/autocomplete/autocomplete-positioner.js +28 -0
- package/dist/components/collections/autocomplete/autocomplete-positioner.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-root.d.ts +66 -0
- package/dist/components/collections/autocomplete/autocomplete-root.js +18 -0
- package/dist/components/collections/autocomplete/autocomplete-root.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-row.d.ts +14 -0
- package/dist/components/collections/autocomplete/autocomplete-row.js +18 -0
- package/dist/components/collections/autocomplete/autocomplete-row.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-separator.d.ts +16 -0
- package/dist/components/collections/autocomplete/autocomplete-separator.js +28 -0
- package/dist/components/collections/autocomplete/autocomplete-separator.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-status.d.ts +17 -0
- package/dist/components/collections/autocomplete/autocomplete-status.js +27 -0
- package/dist/components/collections/autocomplete/autocomplete-status.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-trigger.d.ts +14 -0
- package/dist/components/collections/autocomplete/autocomplete-trigger.js +37 -0
- package/dist/components/collections/autocomplete/autocomplete-trigger.js.map +1 -0
- package/dist/components/collections/autocomplete/autocomplete-value.d.ts +14 -0
- package/dist/components/collections/autocomplete/autocomplete-value.js +15 -0
- package/dist/components/collections/autocomplete/autocomplete-value.js.map +1 -0
- package/dist/components/collections/autocomplete/index.d.ts +2 -0
- package/dist/components/collections/autocomplete/index.js +2 -0
- package/dist/components/collections/autocomplete/index.parts.d.ts +29 -0
- package/dist/components/collections/autocomplete/index.parts.js +53 -0
- package/dist/components/collections/autocomplete/index.parts.js.map +1 -0
- package/dist/components/collections/autocomplete/use-autocomplete-context.d.ts +24 -0
- package/dist/components/collections/autocomplete/use-autocomplete-context.js +14 -0
- package/dist/components/collections/autocomplete/use-autocomplete-context.js.map +1 -0
- package/dist/components/collections/autocomplete/use-autocomplete-filter.d.ts +22 -0
- package/dist/components/collections/autocomplete/use-autocomplete-filter.js +22 -0
- package/dist/components/collections/autocomplete/use-autocomplete-filter.js.map +1 -0
- package/dist/components/collections/select/select-group-label-variants.d.ts +2 -2
- package/dist/components/collections/select/select-group-label-variants.js +2 -2
- package/dist/components/collections/select/select-group-label-variants.js.map +1 -1
- package/dist/components/collections/select/select-item-variants.d.ts +2 -2
- package/dist/components/collections/select/select-item-variants.js +2 -2
- package/dist/components/collections/select/select-item-variants.js.map +1 -1
- package/dist/components/collections/select/select-root.d.ts +1 -1
- package/dist/components/collections/select/select-root.js +1 -1
- package/dist/components/collections/select/select-root.js.map +1 -1
- package/dist/components/collections/select/select-separator.d.ts +2 -2
- package/dist/components/collections/select/select-separator.js +2 -2
- package/dist/components/collections/select/select-separator.js.map +1 -1
- package/dist/components/collections/select/select-trigger-variants.d.ts +2 -2
- package/dist/components/collections/select/select-trigger-variants.js +2 -2
- package/dist/components/collections/select/select-trigger-variants.js.map +1 -1
- package/dist/components/collections/select/select-value.js +1 -1
- package/dist/components/collections/select/select-value.js.map +1 -1
- package/dist/components/collections/tree-view/index.parts.d.ts +3 -3
- package/dist/components/collections/tree-view/index.parts.js.map +1 -1
- package/dist/components/collections/tree-view/tree-view-branch-content.d.ts +1 -1
- package/dist/components/collections/tree-view/tree-view-branch-content.js +1 -1
- package/dist/components/collections/tree-view/tree-view-branch-content.js.map +1 -1
- package/dist/components/collections/tree-view/tree-view-branch.d.ts +1 -1
- package/dist/components/collections/tree-view/tree-view-branch.js.map +1 -1
- package/dist/components/collections/tree-view/tree-view-node-provider.d.ts +1 -1
- package/dist/components/collections/tree-view/tree-view-node-provider.js +1 -1
- package/dist/components/collections/tree-view/tree-view-node-provider.js.map +1 -1
- package/dist/components/collections/tree-view/tree-view-node.js +5 -0
- package/dist/components/collections/tree-view/tree-view-node.js.map +1 -1
- package/dist/components/collections/tree-view/tree-view-root-provider.d.ts +1 -1
- package/dist/components/collections/tree-view/tree-view-root-provider.js +1 -1
- package/dist/components/collections/tree-view/tree-view-root-provider.js.map +1 -1
- package/dist/components/collections/tree-view/tree-view-root.d.ts +1 -1
- package/dist/components/collections/tree-view/tree-view-root.js +1 -1
- package/dist/components/collections/tree-view/tree-view-root.js.map +1 -1
- package/dist/components/collections/tree-view/use-tree-view.d.ts +1 -1
- package/dist/components/collections/tree-view/use-tree-view.js.map +1 -1
- package/dist/components/disclosure/breadcrumb/breadcrumb-ellipsis.d.ts +27 -0
- package/dist/components/disclosure/breadcrumb/breadcrumb-ellipsis.js +59 -0
- package/dist/components/disclosure/breadcrumb/breadcrumb-ellipsis.js.map +1 -0
- package/dist/components/disclosure/breadcrumb/breadcrumb-list.js +1 -1
- package/dist/components/disclosure/breadcrumb/breadcrumb-list.js.map +1 -1
- package/dist/components/disclosure/breadcrumb/breadcrumb-separator.d.ts +2 -2
- package/dist/components/disclosure/breadcrumb/breadcrumb-separator.js +4 -3
- package/dist/components/disclosure/breadcrumb/breadcrumb-separator.js.map +1 -1
- package/dist/components/disclosure/breadcrumb/index.parts.d.ts +3 -2
- package/dist/components/disclosure/breadcrumb/index.parts.js +3 -1
- package/dist/components/disclosure/breadcrumb/index.parts.js.map +1 -1
- package/dist/components/disclosure/collapsible/collapsible-panel-variants.d.ts +1 -1
- package/dist/components/disclosure/collapsible/collapsible-panel.d.ts +1 -1
- package/dist/components/disclosure/collapsible/collapsible-panel.js +1 -1
- package/dist/components/disclosure/collapsible/collapsible-panel.js.map +1 -1
- package/dist/components/disclosure/tabs/tabs-root.d.ts +1 -1
- package/dist/components/disclosure/tabs/tabs-root.js +1 -1
- package/dist/components/disclosure/tabs/tabs-root.js.map +1 -1
- package/dist/components/display/avatar/avatar-fallback.d.ts +17 -0
- package/dist/components/display/avatar/avatar-fallback.js +44 -0
- package/dist/components/display/avatar/avatar-fallback.js.map +1 -0
- package/dist/components/display/avatar/avatar-image.d.ts +18 -0
- package/dist/components/display/avatar/avatar-image.js +33 -0
- package/dist/components/display/avatar/avatar-image.js.map +1 -0
- package/dist/components/display/avatar/avatar-root-variants.d.ts +39 -0
- package/dist/components/display/avatar/avatar-root-variants.js +315 -0
- package/dist/components/display/avatar/avatar-root-variants.js.map +1 -0
- package/dist/components/display/avatar/avatar-root.d.ts +31 -0
- package/dist/components/display/avatar/avatar-root.js +52 -0
- package/dist/components/display/avatar/avatar-root.js.map +1 -0
- package/dist/components/display/avatar/get-avatar-color-scheme.d.ts +10 -0
- package/dist/components/display/avatar/get-avatar-color-scheme.js +45 -0
- package/dist/components/display/avatar/get-avatar-color-scheme.js.map +1 -0
- package/dist/components/display/avatar/index.d.ts +2 -0
- package/dist/components/display/avatar/index.js +2 -0
- package/dist/components/display/avatar/index.parts.d.ts +10 -0
- package/dist/components/display/avatar/index.parts.js +14 -0
- package/dist/components/display/avatar/index.parts.js.map +1 -0
- package/dist/components/display/avatar/use-avatar-context.d.ts +8 -0
- package/dist/components/display/avatar/use-avatar-context.js +10 -0
- package/dist/components/display/avatar/use-avatar-context.js.map +1 -0
- package/dist/components/display/badge/badge-variants.d.ts +41 -0
- package/dist/components/display/badge/badge-variants.js +330 -0
- package/dist/components/display/badge/badge-variants.js.map +1 -0
- package/dist/components/display/badge/badge.d.ts +23 -0
- package/dist/components/display/badge/badge.js +40 -0
- package/dist/components/display/badge/badge.js.map +1 -0
- package/dist/components/display/badge/index.d.ts +3 -0
- package/dist/components/display/badge/index.js +2 -0
- package/dist/components/display/card/card-root.d.ts +1 -1
- package/dist/components/display/card/card-root.js +1 -1
- package/dist/components/display/card/card-root.js.map +1 -1
- package/dist/components/display/card/card-title.d.ts +1 -1
- package/dist/components/display/card/card-title.js.map +1 -1
- package/dist/components/display/clipboard/clipboard-indicator.d.ts +1 -1
- package/dist/components/display/clipboard/clipboard-indicator.js.map +1 -1
- package/dist/components/display/clipboard/clipboard-root-provider.d.ts +1 -1
- package/dist/components/display/clipboard/clipboard-root-provider.js.map +1 -1
- package/dist/components/display/clipboard/clipboard-root.d.ts +1 -1
- package/dist/components/display/clipboard/clipboard-root.js +1 -1
- package/dist/components/display/clipboard/clipboard-root.js.map +1 -1
- package/dist/components/display/clipboard/use-clipboard.d.ts +1 -1
- package/dist/components/display/clipboard/use-clipboard.js.map +1 -1
- package/dist/components/display/data-list/data-list-item-value-variants.d.ts +1 -1
- package/dist/components/display/data-list/data-list-item-variants.d.ts +1 -1
- package/dist/components/display/data-list/data-list-root-variants.d.ts +1 -1
- package/dist/components/display/data-list/data-list-root.d.ts +1 -1
- package/dist/components/display/data-list/data-list-root.js +1 -1
- package/dist/components/display/data-list/data-list-root.js.map +1 -1
- package/dist/components/display/status/index.d.ts +3 -0
- package/dist/components/display/status/index.js +2 -0
- package/dist/components/display/status/status-variants.d.ts +31 -0
- package/dist/components/display/status/status-variants.js +46 -0
- package/dist/components/display/status/status-variants.js.map +1 -0
- package/dist/components/display/status/status.d.ts +23 -0
- package/dist/components/display/status/status.js +36 -0
- package/dist/components/display/status/status.js.map +1 -0
- package/dist/components/display/tag/index.d.ts +2 -0
- package/dist/components/display/tag/index.js +2 -0
- package/dist/components/display/tag/index.parts.d.ts +10 -0
- package/dist/components/display/tag/index.parts.js +14 -0
- package/dist/components/display/tag/index.parts.js.map +1 -0
- package/dist/components/display/tag/tag-close.d.ts +16 -0
- package/dist/components/display/tag/tag-close.js +44 -0
- package/dist/components/display/tag/tag-close.js.map +1 -0
- package/dist/components/display/tag/tag-label.d.ts +12 -0
- package/dist/components/display/tag/tag-label.js +23 -0
- package/dist/components/display/tag/tag-label.js.map +1 -0
- package/dist/components/display/tag/tag-root-variants.d.ts +39 -0
- package/dist/components/display/tag/tag-root-variants.js +333 -0
- package/dist/components/display/tag/tag-root-variants.js.map +1 -0
- package/dist/components/display/tag/tag-root.d.ts +29 -0
- package/dist/components/display/tag/tag-root.js +46 -0
- package/dist/components/display/tag/tag-root.js.map +1 -0
- package/dist/components/feedback/alert/alert-content.d.ts +13 -0
- package/dist/components/feedback/alert/alert-content.js +30 -0
- package/dist/components/feedback/alert/alert-content.js.map +1 -0
- package/dist/components/feedback/alert/alert-description.d.ts +17 -0
- package/dist/components/feedback/alert/alert-description.js +33 -0
- package/dist/components/feedback/alert/alert-description.js.map +1 -0
- package/dist/components/feedback/alert/alert-indicator.d.ts +21 -0
- package/dist/components/feedback/alert/alert-indicator.js +56 -0
- package/dist/components/feedback/alert/alert-indicator.js.map +1 -0
- package/dist/components/feedback/alert/alert-root-variants.d.ts +13 -0
- package/dist/components/feedback/alert/alert-root-variants.js +75 -0
- package/dist/components/feedback/alert/alert-root-variants.js.map +1 -0
- package/dist/components/feedback/alert/alert-root.d.ts +33 -0
- package/dist/components/feedback/alert/alert-root.js +52 -0
- package/dist/components/feedback/alert/alert-root.js.map +1 -0
- package/dist/components/feedback/alert/alert-title.d.ts +22 -0
- package/dist/components/feedback/alert/alert-title.js +39 -0
- package/dist/components/feedback/alert/alert-title.js.map +1 -0
- package/dist/components/feedback/alert/index.d.ts +2 -0
- package/dist/components/feedback/alert/index.js +2 -0
- package/dist/components/feedback/alert/index.parts.d.ts +12 -0
- package/dist/components/feedback/alert/index.parts.js +18 -0
- package/dist/components/feedback/alert/index.parts.js.map +1 -0
- package/dist/components/feedback/alert/use-alert-context.d.ts +23 -0
- package/dist/components/feedback/alert/use-alert-context.js +14 -0
- package/dist/components/feedback/alert/use-alert-context.js.map +1 -0
- package/dist/components/feedback/empty-state/empty-state-root.d.ts +1 -1
- package/dist/components/feedback/empty-state/empty-state-root.js +1 -1
- package/dist/components/feedback/empty-state/empty-state-root.js.map +1 -1
- package/dist/components/feedback/empty-state/empty-state-title.d.ts +1 -1
- package/dist/components/feedback/empty-state/empty-state-title.js.map +1 -1
- package/dist/components/feedback/skeleton/skeleton-text.d.ts +1 -1
- package/dist/components/feedback/skeleton/skeleton-text.js +1 -1
- package/dist/components/feedback/skeleton/skeleton-text.js.map +1 -1
- package/dist/components/feedback/skeleton/skeleton.d.ts +1 -1
- package/dist/components/feedback/skeleton/skeleton.js +1 -1
- package/dist/components/feedback/skeleton/skeleton.js.map +1 -1
- package/dist/components/feedback/spinner/spinner.d.ts +1 -1
- package/dist/components/feedback/spinner/spinner.js +1 -1
- package/dist/components/feedback/spinner/spinner.js.map +1 -1
- package/dist/components/feedback/toast/index.d.ts +2 -0
- package/dist/components/feedback/toast/index.js +2 -0
- package/dist/components/feedback/toast/index.parts.d.ts +20 -0
- package/dist/components/feedback/toast/index.parts.js +37 -0
- package/dist/components/feedback/toast/index.parts.js.map +1 -0
- package/dist/components/feedback/toast/toast-action.d.ts +14 -0
- package/dist/components/feedback/toast/toast-action.js +21 -0
- package/dist/components/feedback/toast/toast-action.js.map +1 -0
- package/dist/components/feedback/toast/toast-close.d.ts +13 -0
- package/dist/components/feedback/toast/toast-close.js +20 -0
- package/dist/components/feedback/toast/toast-close.js.map +1 -0
- package/dist/components/feedback/toast/toast-content.d.ts +18 -0
- package/dist/components/feedback/toast/toast-content.js +35 -0
- package/dist/components/feedback/toast/toast-content.js.map +1 -0
- package/dist/components/feedback/toast/toast-description.d.ts +17 -0
- package/dist/components/feedback/toast/toast-description.js +29 -0
- package/dist/components/feedback/toast/toast-description.js.map +1 -0
- package/dist/components/feedback/toast/toast-indicator-variants.d.ts +10 -0
- package/dist/components/feedback/toast/toast-indicator-variants.js +27 -0
- package/dist/components/feedback/toast/toast-indicator-variants.js.map +1 -0
- package/dist/components/feedback/toast/toast-indicator.d.ts +18 -0
- package/dist/components/feedback/toast/toast-indicator.js +45 -0
- package/dist/components/feedback/toast/toast-indicator.js.map +1 -0
- package/dist/components/feedback/toast/toast-manager.d.ts +80 -0
- package/dist/components/feedback/toast/toast-manager.js +138 -0
- package/dist/components/feedback/toast/toast-manager.js.map +1 -0
- package/dist/components/feedback/toast/toast-outlet.d.ts +28 -0
- package/dist/components/feedback/toast/toast-outlet.js +108 -0
- package/dist/components/feedback/toast/toast-outlet.js.map +1 -0
- package/dist/components/feedback/toast/toast-placement.d.ts +20 -0
- package/dist/components/feedback/toast/toast-placement.js +51 -0
- package/dist/components/feedback/toast/toast-placement.js.map +1 -0
- package/dist/components/feedback/toast/toast-portal.d.ts +13 -0
- package/dist/components/feedback/toast/toast-portal.js +17 -0
- package/dist/components/feedback/toast/toast-portal.js.map +1 -0
- package/dist/components/feedback/toast/toast-provider.d.ts +15 -0
- package/dist/components/feedback/toast/toast-provider.js +17 -0
- package/dist/components/feedback/toast/toast-provider.js.map +1 -0
- package/dist/components/feedback/toast/toast-root-variants.d.ts +47 -0
- package/dist/components/feedback/toast/toast-root-variants.js +142 -0
- package/dist/components/feedback/toast/toast-root-variants.js.map +1 -0
- package/dist/components/feedback/toast/toast-root.d.ts +34 -0
- package/dist/components/feedback/toast/toast-root.js +67 -0
- package/dist/components/feedback/toast/toast-root.js.map +1 -0
- package/dist/components/feedback/toast/toast-title.d.ts +18 -0
- package/dist/components/feedback/toast/toast-title.js +31 -0
- package/dist/components/feedback/toast/toast-title.js.map +1 -0
- package/dist/components/feedback/toast/toast-viewport-variants.d.ts +17 -0
- package/dist/components/feedback/toast/toast-viewport-variants.js +33 -0
- package/dist/components/feedback/toast/toast-viewport-variants.js.map +1 -0
- package/dist/components/feedback/toast/toast-viewport.d.ts +19 -0
- package/dist/components/feedback/toast/toast-viewport.js +39 -0
- package/dist/components/feedback/toast/toast-viewport.js.map +1 -0
- package/dist/components/feedback/toast/use-toast-context.d.ts +18 -0
- package/dist/components/feedback/toast/use-toast-context.js +11 -0
- package/dist/components/feedback/toast/use-toast-context.js.map +1 -0
- package/dist/components/feedback/toast/use-toast-manager.d.ts +10 -0
- package/dist/components/feedback/toast/use-toast-manager.js +12 -0
- package/dist/components/feedback/toast/use-toast-manager.js.map +1 -0
- package/dist/components/feedback/toast/use-toast-root-context.d.ts +9 -0
- package/dist/components/feedback/toast/use-toast-root-context.js +10 -0
- package/dist/components/feedback/toast/use-toast-root-context.js.map +1 -0
- package/dist/components/fields/checkbox/checkbox-root.d.ts +1 -1
- package/dist/components/fields/checkbox/checkbox-root.js +1 -1
- package/dist/components/fields/checkbox/checkbox-root.js.map +1 -1
- package/dist/components/fields/currency-brl-input/currency-brl-input-variants.js +2 -4
- package/dist/components/fields/currency-brl-input/currency-brl-input-variants.js.map +1 -1
- package/dist/components/fields/currency-brl-input/currency-brl-input.d.ts +1 -1
- package/dist/components/fields/currency-brl-input/currency-brl-input.js +1 -1
- package/dist/components/fields/currency-brl-input/currency-brl-input.js.map +1 -1
- package/dist/components/fields/field/field-root.d.ts +1 -1
- package/dist/components/fields/field/field-root.js +1 -1
- package/dist/components/fields/field/field-root.js.map +1 -1
- package/dist/components/fields/form/form.d.ts +1 -1
- package/dist/components/fields/form/form.js.map +1 -1
- package/dist/components/fields/input/input-variants.d.ts +5 -4
- package/dist/components/fields/input/input-variants.js +8 -9
- package/dist/components/fields/input/input-variants.js.map +1 -1
- package/dist/components/fields/input/input.d.ts +1 -1
- package/dist/components/fields/input/input.js +1 -1
- package/dist/components/fields/input/input.js.map +1 -1
- package/dist/components/fields/number-input/number-input-variants.js +2 -4
- package/dist/components/fields/number-input/number-input-variants.js.map +1 -1
- package/dist/components/fields/number-input/number-input.d.ts +1 -1
- package/dist/components/fields/number-input/number-input.js +1 -1
- package/dist/components/fields/number-input/number-input.js.map +1 -1
- package/dist/components/fields/password-input/password-input.d.ts +1 -1
- package/dist/components/fields/password-input/password-input.js +1 -1
- package/dist/components/fields/password-input/password-input.js.map +1 -1
- package/dist/components/fields/pattern-input/pattern-input-variants.js +2 -4
- package/dist/components/fields/pattern-input/pattern-input-variants.js.map +1 -1
- package/dist/components/fields/pattern-input/pattern-input.d.ts +1 -1
- package/dist/components/fields/pattern-input/pattern-input.js +1 -1
- package/dist/components/fields/pattern-input/pattern-input.js.map +1 -1
- package/dist/components/fields/switch/switch-root.d.ts +1 -1
- package/dist/components/fields/switch/switch-root.js +1 -1
- package/dist/components/fields/switch/switch-root.js.map +1 -1
- package/dist/components/fields/textarea/textarea-variants.js +2 -4
- package/dist/components/fields/textarea/textarea-variants.js.map +1 -1
- package/dist/components/fields/textarea/textarea.d.ts +1 -1
- package/dist/components/fields/textarea/textarea.js +1 -1
- package/dist/components/fields/textarea/textarea.js.map +1 -1
- package/dist/components/layout/center-absolute/center-absolute-variants.d.ts +1 -1
- package/dist/components/layout/center-absolute/center-absolute.d.ts +1 -1
- package/dist/components/layout/center-absolute/center-absolute.js +1 -1
- package/dist/components/layout/center-absolute/center-absolute.js.map +1 -1
- package/dist/components/layout/float/float-variants.d.ts +1 -1
- package/dist/components/layout/float/float.d.ts +1 -1
- package/dist/components/layout/float/float.js +1 -1
- package/dist/components/layout/float/float.js.map +1 -1
- package/dist/components/layout/scroll-area/scroll-area-viewport-variants.d.ts +1 -1
- package/dist/components/layout/scroll-area/scroll-area-viewport.d.ts +1 -1
- package/dist/components/layout/scroll-area/scroll-area-viewport.js +1 -1
- package/dist/components/layout/scroll-area/scroll-area-viewport.js.map +1 -1
- package/dist/components/layout/separator/separator.d.ts +1 -1
- package/dist/components/layout/separator/separator.js +1 -1
- package/dist/components/layout/separator/separator.js.map +1 -1
- package/dist/components/layout/splitter/splitter-panel.d.ts +1 -1
- package/dist/components/layout/splitter/splitter-panel.js +1 -1
- package/dist/components/layout/splitter/splitter-panel.js.map +1 -1
- package/dist/components/layout/splitter/splitter-resize-trigger.d.ts +1 -1
- package/dist/components/layout/splitter/splitter-resize-trigger.js +1 -1
- package/dist/components/layout/splitter/splitter-resize-trigger.js.map +1 -1
- package/dist/components/layout/splitter/splitter-root-provider.d.ts +1 -1
- package/dist/components/layout/splitter/splitter-root-provider.js.map +1 -1
- package/dist/components/layout/splitter/splitter-root.d.ts +1 -1
- package/dist/components/layout/splitter/splitter-root.js +1 -1
- package/dist/components/layout/splitter/splitter-root.js.map +1 -1
- package/dist/components/layout/splitter/use-splitter.d.ts +1 -1
- package/dist/components/layout/splitter/use-splitter.js.map +1 -1
- package/dist/components/layout/stack/stack.d.ts +1 -1
- package/dist/components/layout/stack/stack.js +1 -1
- package/dist/components/layout/stack/stack.js.map +1 -1
- package/dist/components/overlays/action-bar/action-bar-popup-variants.d.ts +1 -1
- package/dist/components/overlays/action-bar/action-bar-root.d.ts +1 -1
- package/dist/components/overlays/action-bar/action-bar-root.js +1 -1
- package/dist/components/overlays/action-bar/action-bar-root.js.map +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-imperative.d.ts +78 -0
- package/dist/components/overlays/alert-dialog/alert-dialog-imperative.js +172 -0
- package/dist/components/overlays/alert-dialog/alert-dialog-imperative.js.map +1 -0
- package/dist/components/overlays/alert-dialog/alert-dialog-outlet.d.ts +23 -0
- package/dist/components/overlays/alert-dialog/alert-dialog-outlet.js +28 -0
- package/dist/components/overlays/alert-dialog/alert-dialog-outlet.js.map +1 -0
- package/dist/components/overlays/alert-dialog/alert-dialog-popup-variants.js +2 -2
- package/dist/components/overlays/alert-dialog/alert-dialog-popup-variants.js.map +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-root.d.ts +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-root.js +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-root.js.map +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-store.d.ts +20 -0
- package/dist/components/overlays/alert-dialog/alert-dialog-store.js +75 -0
- package/dist/components/overlays/alert-dialog/alert-dialog-store.js.map +1 -0
- package/dist/components/overlays/alert-dialog/alert-dialog-trigger.js.map +1 -1
- package/dist/components/overlays/alert-dialog/index.parts.d.ts +5 -3
- package/dist/components/overlays/alert-dialog/index.parts.js +7 -2
- package/dist/components/overlays/alert-dialog/index.parts.js.map +1 -1
- package/dist/components/overlays/dialog/dialog-root.d.ts +1 -1
- package/dist/components/overlays/dialog/dialog-root.js +1 -1
- package/dist/components/overlays/dialog/dialog-root.js.map +1 -1
- package/dist/components/overlays/dialog/dialog-trigger.js.map +1 -1
- package/dist/components/overlays/drawer/drawer-backdrop.js +2 -3
- package/dist/components/overlays/drawer/drawer-backdrop.js.map +1 -1
- package/dist/components/overlays/drawer/drawer-indent-background.d.ts +17 -0
- package/dist/components/overlays/drawer/drawer-indent-background.js +28 -0
- package/dist/components/overlays/drawer/drawer-indent-background.js.map +1 -0
- package/dist/components/overlays/drawer/drawer-indent.d.ts +31 -0
- package/dist/components/overlays/drawer/drawer-indent.js +49 -0
- package/dist/components/overlays/drawer/drawer-indent.js.map +1 -0
- package/dist/components/overlays/drawer/drawer-popup-variants.d.ts +2 -26
- package/dist/components/overlays/drawer/drawer-popup-variants.js +101 -28
- package/dist/components/overlays/drawer/drawer-popup-variants.js.map +1 -1
- package/dist/components/overlays/drawer/drawer-popup.js +3 -2
- package/dist/components/overlays/drawer/drawer-popup.js.map +1 -1
- package/dist/components/overlays/drawer/drawer-provider.d.ts +17 -0
- package/dist/components/overlays/drawer/drawer-provider.js +18 -0
- package/dist/components/overlays/drawer/drawer-provider.js.map +1 -0
- package/dist/components/overlays/drawer/drawer-root.d.ts +1 -1
- package/dist/components/overlays/drawer/drawer-root.js +5 -2
- package/dist/components/overlays/drawer/drawer-root.js.map +1 -1
- package/dist/components/overlays/drawer/drawer-swipe-area.d.ts +27 -0
- package/dist/components/overlays/drawer/drawer-swipe-area.js +46 -0
- package/dist/components/overlays/drawer/drawer-swipe-area.js.map +1 -0
- package/dist/components/overlays/drawer/drawer-trigger.js.map +1 -1
- package/dist/components/overlays/drawer/drawer-viewport.d.ts +5 -0
- package/dist/components/overlays/drawer/drawer-viewport.js +13 -1
- package/dist/components/overlays/drawer/drawer-viewport.js.map +1 -1
- package/dist/components/overlays/drawer/drawer-virtual-keyboard-provider.d.ts +34 -0
- package/dist/components/overlays/drawer/drawer-virtual-keyboard-provider.js +35 -0
- package/dist/components/overlays/drawer/drawer-virtual-keyboard-provider.js.map +1 -0
- package/dist/components/overlays/drawer/index.parts.d.ts +7 -2
- package/dist/components/overlays/drawer/index.parts.js +11 -1
- package/dist/components/overlays/drawer/index.parts.js.map +1 -1
- package/dist/components/overlays/drawer/use-drawer-context.d.ts +8 -1
- package/dist/components/overlays/drawer/use-drawer-context.js.map +1 -1
- package/dist/components/overlays/menu/menu-item.d.ts +2 -2
- package/dist/components/overlays/menu/menu-item.js +2 -2
- package/dist/components/overlays/menu/menu-item.js.map +1 -1
- package/dist/components/overlays/menu/menu-root.js.map +1 -1
- package/dist/components/overlays/menu/menu-trigger.js.map +1 -1
- package/dist/components/overlays/popover/popover-backdrop.d.ts +1 -1
- package/dist/components/overlays/popover/popover-backdrop.js +1 -1
- package/dist/components/overlays/popover/popover-backdrop.js.map +1 -1
- package/dist/components/overlays/popover/popover-popup-variants.d.ts +3 -3
- package/dist/components/overlays/popover/popover-popup-variants.js +3 -3
- package/dist/components/overlays/popover/popover-popup-variants.js.map +1 -1
- package/dist/components/overlays/popover/popover-root.js.map +1 -1
- package/dist/components/overlays/popover/popover-trigger.js.map +1 -1
- package/dist/components/overlays/tooltip/simple-tooltip.d.ts +1 -1
- package/dist/components/overlays/tooltip/simple-tooltip.js +1 -1
- package/dist/components/overlays/tooltip/simple-tooltip.js.map +1 -1
- package/dist/components/overlays/tooltip/tooltip-root.js.map +1 -1
- package/dist/components/overlays/tooltip/tooltip-trigger.js.map +1 -1
- package/dist/components/typography/heading/heading.d.ts +1 -1
- package/dist/components/typography/heading/heading.js.map +1 -1
- package/dist/components/typography/kbd/kbd.d.ts +1 -1
- package/dist/components/typography/kbd/kbd.js +1 -1
- package/dist/components/typography/kbd/kbd.js.map +1 -1
- package/dist/components/typography/mark/mark.d.ts +1 -1
- package/dist/components/typography/mark/mark.js +1 -1
- package/dist/components/typography/mark/mark.js.map +1 -1
- package/dist/components/typography/pre/pre.d.ts +1 -1
- package/dist/components/typography/pre/pre.js +1 -1
- package/dist/components/typography/pre/pre.js.map +1 -1
- package/dist/components/utilities/for/for.d.ts +1 -1
- package/dist/components/utilities/for/for.js.map +1 -1
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.js +2 -2
- package/dist/hooks/use-breakpoint.d.ts +25 -12
- package/dist/hooks/use-breakpoint.js +44 -28
- package/dist/hooks/use-breakpoint.js.map +1 -1
- package/dist/hooks/use-pointer-type.d.ts +2 -6
- package/dist/hooks/use-pointer-type.js +4 -22
- package/dist/hooks/use-pointer-type.js.map +1 -1
- package/dist/types/color-scheme.d.ts +1 -1
- package/package.json +14 -13
- package/src/theme/theme.css +9 -0
- package/dist/components/buttons/button/button-variants.d.ts.map +0 -1
- package/dist/components/buttons/button/button.d.ts.map +0 -1
- package/dist/components/buttons/clipboard-button/clipboard-button.d.ts.map +0 -1
- package/dist/components/buttons/close-button/close-button.d.ts.map +0 -1
- package/dist/components/buttons/icon-button/icon-button-variants.d.ts.map +0 -1
- package/dist/components/buttons/icon-button/icon-button.d.ts.map +0 -1
- package/dist/components/buttons/responsive-button/responsive-button.d.ts.map +0 -1
- package/dist/components/collections/select/index.parts.d.ts.map +0 -1
- package/dist/components/collections/select/select-arrow.d.ts.map +0 -1
- package/dist/components/collections/select/select-backdrop.d.ts.map +0 -1
- package/dist/components/collections/select/select-context.d.ts.map +0 -1
- package/dist/components/collections/select/select-group-label-variants.d.ts.map +0 -1
- package/dist/components/collections/select/select-group-label.d.ts.map +0 -1
- package/dist/components/collections/select/select-group.d.ts.map +0 -1
- package/dist/components/collections/select/select-icon.d.ts.map +0 -1
- package/dist/components/collections/select/select-item-indicator.d.ts.map +0 -1
- package/dist/components/collections/select/select-item-text.d.ts.map +0 -1
- package/dist/components/collections/select/select-item-variants.d.ts.map +0 -1
- package/dist/components/collections/select/select-item.d.ts.map +0 -1
- package/dist/components/collections/select/select-label-variants.d.ts.map +0 -1
- package/dist/components/collections/select/select-label.d.ts.map +0 -1
- package/dist/components/collections/select/select-list.d.ts.map +0 -1
- package/dist/components/collections/select/select-popup-variants.d.ts.map +0 -1
- package/dist/components/collections/select/select-popup.d.ts.map +0 -1
- package/dist/components/collections/select/select-portal.d.ts.map +0 -1
- package/dist/components/collections/select/select-positioner.d.ts.map +0 -1
- package/dist/components/collections/select/select-root.d.ts.map +0 -1
- package/dist/components/collections/select/select-scroll-down-arrow-variants.d.ts.map +0 -1
- package/dist/components/collections/select/select-scroll-down-arrow.d.ts.map +0 -1
- package/dist/components/collections/select/select-scroll-up-arrow-variants.d.ts.map +0 -1
- package/dist/components/collections/select/select-scroll-up-arrow.d.ts.map +0 -1
- package/dist/components/collections/select/select-separator.d.ts.map +0 -1
- package/dist/components/collections/select/select-trigger-variants.d.ts.map +0 -1
- package/dist/components/collections/select/select-trigger.d.ts.map +0 -1
- package/dist/components/collections/select/select-value.d.ts.map +0 -1
- package/dist/components/collections/select/use-select-context.d.ts.map +0 -1
- package/dist/components/collections/tree-view/index.parts.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-collection.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-branch-content.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-branch-control.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-branch-indent-guide.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-branch-indicator.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-branch-text.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-branch-trigger.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-branch.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-context.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-item-indicator.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-item-text.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-item.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-label.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-node-checkbox-indicator.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-node-checkbox.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-node-context.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-node-provider.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-node-rename-input.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-node-variants.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-node.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-root-provider.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-root.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-text-class-names.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-tree-variants.d.ts.map +0 -1
- package/dist/components/collections/tree-view/tree-view-tree.d.ts.map +0 -1
- package/dist/components/collections/tree-view/use-tree-view-context.d.ts.map +0 -1
- package/dist/components/collections/tree-view/use-tree-view-node-context.d.ts.map +0 -1
- package/dist/components/collections/tree-view/use-tree-view-node-props-context.d.ts.map +0 -1
- package/dist/components/collections/tree-view/use-tree-view-render-strategy-context.d.ts.map +0 -1
- package/dist/components/collections/tree-view/use-tree-view-variants-context.d.ts.map +0 -1
- package/dist/components/collections/tree-view/use-tree-view.d.ts.map +0 -1
- package/dist/components/disclosure/breadcrumb/breadcrumb-current.d.ts.map +0 -1
- package/dist/components/disclosure/breadcrumb/breadcrumb-item.d.ts.map +0 -1
- package/dist/components/disclosure/breadcrumb/breadcrumb-link.d.ts.map +0 -1
- package/dist/components/disclosure/breadcrumb/breadcrumb-list.d.ts.map +0 -1
- package/dist/components/disclosure/breadcrumb/breadcrumb-root.d.ts.map +0 -1
- package/dist/components/disclosure/breadcrumb/breadcrumb-separator.d.ts.map +0 -1
- package/dist/components/disclosure/breadcrumb/index.parts.d.ts.map +0 -1
- package/dist/components/disclosure/collapsible/collapsible-indicator.d.ts.map +0 -1
- package/dist/components/disclosure/collapsible/collapsible-panel-variants.d.ts.map +0 -1
- package/dist/components/disclosure/collapsible/collapsible-panel.d.ts.map +0 -1
- package/dist/components/disclosure/collapsible/collapsible-root.d.ts.map +0 -1
- package/dist/components/disclosure/collapsible/collapsible-trigger.d.ts.map +0 -1
- package/dist/components/disclosure/collapsible/index.parts.d.ts.map +0 -1
- package/dist/components/disclosure/tabs/index.parts.d.ts.map +0 -1
- package/dist/components/disclosure/tabs/tabs-indicator-variants.d.ts.map +0 -1
- package/dist/components/disclosure/tabs/tabs-indicator.d.ts.map +0 -1
- package/dist/components/disclosure/tabs/tabs-list-variants.d.ts.map +0 -1
- package/dist/components/disclosure/tabs/tabs-list.d.ts.map +0 -1
- package/dist/components/disclosure/tabs/tabs-panel.d.ts.map +0 -1
- package/dist/components/disclosure/tabs/tabs-root-variants.d.ts.map +0 -1
- package/dist/components/disclosure/tabs/tabs-root.d.ts.map +0 -1
- package/dist/components/disclosure/tabs/tabs-tab-variants.d.ts.map +0 -1
- package/dist/components/disclosure/tabs/tabs-tab.d.ts.map +0 -1
- package/dist/components/disclosure/tabs/use-tabs-context.d.ts.map +0 -1
- package/dist/components/display/card/card-body.d.ts.map +0 -1
- package/dist/components/display/card/card-description.d.ts.map +0 -1
- package/dist/components/display/card/card-footer.d.ts.map +0 -1
- package/dist/components/display/card/card-header.d.ts.map +0 -1
- package/dist/components/display/card/card-root-variants.d.ts.map +0 -1
- package/dist/components/display/card/card-root.d.ts.map +0 -1
- package/dist/components/display/card/card-title.d.ts.map +0 -1
- package/dist/components/display/card/index.parts.d.ts.map +0 -1
- package/dist/components/display/clipboard/clipboard-announcer.d.ts.map +0 -1
- package/dist/components/display/clipboard/clipboard-context.d.ts.map +0 -1
- package/dist/components/display/clipboard/clipboard-control.d.ts.map +0 -1
- package/dist/components/display/clipboard/clipboard-copy-text.d.ts.map +0 -1
- package/dist/components/display/clipboard/clipboard-indicator.d.ts.map +0 -1
- package/dist/components/display/clipboard/clipboard-input.d.ts.map +0 -1
- package/dist/components/display/clipboard/clipboard-label.d.ts.map +0 -1
- package/dist/components/display/clipboard/clipboard-root-provider.d.ts.map +0 -1
- package/dist/components/display/clipboard/clipboard-root.d.ts.map +0 -1
- package/dist/components/display/clipboard/clipboard-trigger.d.ts.map +0 -1
- package/dist/components/display/clipboard/clipboard-value-text.d.ts.map +0 -1
- package/dist/components/display/clipboard/index.parts.d.ts.map +0 -1
- package/dist/components/display/clipboard/use-clipboard-context.d.ts.map +0 -1
- package/dist/components/display/clipboard/use-clipboard.d.ts.map +0 -1
- package/dist/components/display/data-list/data-list-item-label.d.ts.map +0 -1
- package/dist/components/display/data-list/data-list-item-value-variants.d.ts.map +0 -1
- package/dist/components/display/data-list/data-list-item-value.d.ts.map +0 -1
- package/dist/components/display/data-list/data-list-item-variants.d.ts.map +0 -1
- package/dist/components/display/data-list/data-list-item.d.ts.map +0 -1
- package/dist/components/display/data-list/data-list-root-variants.d.ts.map +0 -1
- package/dist/components/display/data-list/data-list-root.d.ts.map +0 -1
- package/dist/components/display/data-list/index.parts.d.ts.map +0 -1
- package/dist/components/display/data-list/use-data-list-context.d.ts.map +0 -1
- package/dist/components/display/icon/icon.d.ts.map +0 -1
- package/dist/components/feedback/empty-state/empty-state-content.d.ts.map +0 -1
- package/dist/components/feedback/empty-state/empty-state-description.d.ts.map +0 -1
- package/dist/components/feedback/empty-state/empty-state-indicator.d.ts.map +0 -1
- package/dist/components/feedback/empty-state/empty-state-root-variants.d.ts.map +0 -1
- package/dist/components/feedback/empty-state/empty-state-root.d.ts.map +0 -1
- package/dist/components/feedback/empty-state/empty-state-title.d.ts.map +0 -1
- package/dist/components/feedback/empty-state/index.parts.d.ts.map +0 -1
- package/dist/components/feedback/skeleton/skeleton-text.d.ts.map +0 -1
- package/dist/components/feedback/skeleton/skeleton-variants.d.ts.map +0 -1
- package/dist/components/feedback/skeleton/skeleton.d.ts.map +0 -1
- package/dist/components/feedback/spinner/spinner-variants.d.ts.map +0 -1
- package/dist/components/feedback/spinner/spinner.d.ts.map +0 -1
- package/dist/components/fields/checkbox/checkbox-group.d.ts.map +0 -1
- package/dist/components/fields/checkbox/checkbox-indicator.d.ts.map +0 -1
- package/dist/components/fields/checkbox/checkbox-root-variants.d.ts.map +0 -1
- package/dist/components/fields/checkbox/checkbox-root.d.ts.map +0 -1
- package/dist/components/fields/checkbox/index.parts.d.ts.map +0 -1
- package/dist/components/fields/currency-brl-input/currency-brl-input-variants.d.ts.map +0 -1
- package/dist/components/fields/currency-brl-input/currency-brl-input.d.ts.map +0 -1
- package/dist/components/fields/field/field-description.d.ts.map +0 -1
- package/dist/components/fields/field/field-error.d.ts.map +0 -1
- package/dist/components/fields/field/field-header.d.ts.map +0 -1
- package/dist/components/fields/field/field-item.d.ts.map +0 -1
- package/dist/components/fields/field/field-label.d.ts.map +0 -1
- package/dist/components/fields/field/field-required-indicator.d.ts.map +0 -1
- package/dist/components/fields/field/field-root-variants.d.ts.map +0 -1
- package/dist/components/fields/field/field-root.d.ts.map +0 -1
- package/dist/components/fields/field/field-validity.d.ts.map +0 -1
- package/dist/components/fields/field/index.parts.d.ts.map +0 -1
- package/dist/components/fields/fieldset/fieldset-legend.d.ts.map +0 -1
- package/dist/components/fields/fieldset/fieldset-root.d.ts.map +0 -1
- package/dist/components/fields/fieldset/index.parts.d.ts.map +0 -1
- package/dist/components/fields/form/form.d.ts.map +0 -1
- package/dist/components/fields/input/input-variants.d.ts.map +0 -1
- package/dist/components/fields/input/input.d.ts.map +0 -1
- package/dist/components/fields/number-input/number-input-variants.d.ts.map +0 -1
- package/dist/components/fields/number-input/number-input.d.ts.map +0 -1
- package/dist/components/fields/password-input/password-input-variants.d.ts.map +0 -1
- package/dist/components/fields/password-input/password-input.d.ts.map +0 -1
- package/dist/components/fields/pattern-input/pattern-input-masks.d.ts.map +0 -1
- package/dist/components/fields/pattern-input/pattern-input-variants.d.ts.map +0 -1
- package/dist/components/fields/pattern-input/pattern-input.d.ts.map +0 -1
- package/dist/components/fields/switch/index.parts.d.ts.map +0 -1
- package/dist/components/fields/switch/switch-root-variants.d.ts.map +0 -1
- package/dist/components/fields/switch/switch-root.d.ts.map +0 -1
- package/dist/components/fields/switch/switch-thumb.d.ts.map +0 -1
- package/dist/components/fields/textarea/textarea-variants.d.ts.map +0 -1
- package/dist/components/fields/textarea/textarea.d.ts.map +0 -1
- package/dist/components/layout/box/box.d.ts.map +0 -1
- package/dist/components/layout/center/center.d.ts.map +0 -1
- package/dist/components/layout/center-absolute/center-absolute-variants.d.ts.map +0 -1
- package/dist/components/layout/center-absolute/center-absolute.d.ts.map +0 -1
- package/dist/components/layout/circle/circle.d.ts.map +0 -1
- package/dist/components/layout/flex/flex.d.ts.map +0 -1
- package/dist/components/layout/float/float-variants.d.ts.map +0 -1
- package/dist/components/layout/float/float.d.ts.map +0 -1
- package/dist/components/layout/grid/grid.d.ts.map +0 -1
- package/dist/components/layout/scroll-area/index.parts.d.ts.map +0 -1
- package/dist/components/layout/scroll-area/scroll-area-bars.d.ts.map +0 -1
- package/dist/components/layout/scroll-area/scroll-area-content.d.ts.map +0 -1
- package/dist/components/layout/scroll-area/scroll-area-corner.d.ts.map +0 -1
- package/dist/components/layout/scroll-area/scroll-area-root.d.ts.map +0 -1
- package/dist/components/layout/scroll-area/scroll-area-scrollbar.d.ts.map +0 -1
- package/dist/components/layout/scroll-area/scroll-area-thumb.d.ts.map +0 -1
- package/dist/components/layout/scroll-area/scroll-area-viewport-variants.d.ts.map +0 -1
- package/dist/components/layout/scroll-area/scroll-area-viewport.d.ts.map +0 -1
- package/dist/components/layout/separator/separator-variants.d.ts.map +0 -1
- package/dist/components/layout/separator/separator.d.ts.map +0 -1
- package/dist/components/layout/splitter/index.parts.d.ts.map +0 -1
- package/dist/components/layout/splitter/splitter-context.d.ts.map +0 -1
- package/dist/components/layout/splitter/splitter-panel.d.ts.map +0 -1
- package/dist/components/layout/splitter/splitter-resize-trigger.d.ts.map +0 -1
- package/dist/components/layout/splitter/splitter-root-provider.d.ts.map +0 -1
- package/dist/components/layout/splitter/splitter-root.d.ts.map +0 -1
- package/dist/components/layout/splitter/use-splitter-context.d.ts.map +0 -1
- package/dist/components/layout/splitter/use-splitter.d.ts.map +0 -1
- package/dist/components/layout/stack/h-stack.d.ts.map +0 -1
- package/dist/components/layout/stack/stack-variants.d.ts.map +0 -1
- package/dist/components/layout/stack/stack.d.ts.map +0 -1
- package/dist/components/layout/stack/v-stack.d.ts.map +0 -1
- package/dist/components/layout/wrap/wrap.d.ts.map +0 -1
- package/dist/components/overlays/action-bar/action-bar-close.d.ts.map +0 -1
- package/dist/components/overlays/action-bar/action-bar-popup-variants.d.ts.map +0 -1
- package/dist/components/overlays/action-bar/action-bar-popup.d.ts.map +0 -1
- package/dist/components/overlays/action-bar/action-bar-portal.d.ts.map +0 -1
- package/dist/components/overlays/action-bar/action-bar-root.d.ts.map +0 -1
- package/dist/components/overlays/action-bar/action-bar-selection-trigger.d.ts.map +0 -1
- package/dist/components/overlays/action-bar/action-bar-separator.d.ts.map +0 -1
- package/dist/components/overlays/action-bar/index.parts.d.ts.map +0 -1
- package/dist/components/overlays/action-bar/use-action-bar-context.d.ts.map +0 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-backdrop.d.ts.map +0 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-body.d.ts.map +0 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-close.d.ts.map +0 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-description.d.ts.map +0 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-footer.d.ts.map +0 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-header.d.ts.map +0 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-popup-variants.d.ts.map +0 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-popup.d.ts.map +0 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-portal.d.ts.map +0 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-root.d.ts.map +0 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-title.d.ts.map +0 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-trigger.d.ts.map +0 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-viewport.d.ts.map +0 -1
- package/dist/components/overlays/alert-dialog/create-handle.d.ts.map +0 -1
- package/dist/components/overlays/alert-dialog/index.parts.d.ts.map +0 -1
- package/dist/components/overlays/alert-dialog/use-alert-dialog-context.d.ts.map +0 -1
- package/dist/components/overlays/dialog/create-handle.d.ts.map +0 -1
- package/dist/components/overlays/dialog/dialog-backdrop.d.ts.map +0 -1
- package/dist/components/overlays/dialog/dialog-body.d.ts.map +0 -1
- package/dist/components/overlays/dialog/dialog-close.d.ts.map +0 -1
- package/dist/components/overlays/dialog/dialog-description.d.ts.map +0 -1
- package/dist/components/overlays/dialog/dialog-footer.d.ts.map +0 -1
- package/dist/components/overlays/dialog/dialog-header.d.ts.map +0 -1
- package/dist/components/overlays/dialog/dialog-popup-variants.d.ts.map +0 -1
- package/dist/components/overlays/dialog/dialog-popup.d.ts.map +0 -1
- package/dist/components/overlays/dialog/dialog-portal.d.ts.map +0 -1
- package/dist/components/overlays/dialog/dialog-root.d.ts.map +0 -1
- package/dist/components/overlays/dialog/dialog-title.d.ts.map +0 -1
- package/dist/components/overlays/dialog/dialog-trigger.d.ts.map +0 -1
- package/dist/components/overlays/dialog/dialog-viewport.d.ts.map +0 -1
- package/dist/components/overlays/dialog/index.parts.d.ts.map +0 -1
- package/dist/components/overlays/dialog/use-dialog-context.d.ts.map +0 -1
- package/dist/components/overlays/drawer/create-handle.d.ts.map +0 -1
- package/dist/components/overlays/drawer/drawer-backdrop.d.ts.map +0 -1
- package/dist/components/overlays/drawer/drawer-body.d.ts.map +0 -1
- package/dist/components/overlays/drawer/drawer-close.d.ts.map +0 -1
- package/dist/components/overlays/drawer/drawer-description.d.ts.map +0 -1
- package/dist/components/overlays/drawer/drawer-footer.d.ts.map +0 -1
- package/dist/components/overlays/drawer/drawer-header.d.ts.map +0 -1
- package/dist/components/overlays/drawer/drawer-popup-variants.d.ts.map +0 -1
- package/dist/components/overlays/drawer/drawer-popup.d.ts.map +0 -1
- package/dist/components/overlays/drawer/drawer-portal.d.ts.map +0 -1
- package/dist/components/overlays/drawer/drawer-root.d.ts.map +0 -1
- package/dist/components/overlays/drawer/drawer-title.d.ts.map +0 -1
- package/dist/components/overlays/drawer/drawer-trigger.d.ts.map +0 -1
- package/dist/components/overlays/drawer/drawer-viewport.d.ts.map +0 -1
- package/dist/components/overlays/drawer/index.parts.d.ts.map +0 -1
- package/dist/components/overlays/drawer/use-drawer-context.d.ts.map +0 -1
- package/dist/components/overlays/menu/index.parts.d.ts.map +0 -1
- package/dist/components/overlays/menu/menu-group-label.d.ts.map +0 -1
- package/dist/components/overlays/menu/menu-group.d.ts.map +0 -1
- package/dist/components/overlays/menu/menu-item-variants.d.ts.map +0 -1
- package/dist/components/overlays/menu/menu-item.d.ts.map +0 -1
- package/dist/components/overlays/menu/menu-popup.d.ts.map +0 -1
- package/dist/components/overlays/menu/menu-portal.d.ts.map +0 -1
- package/dist/components/overlays/menu/menu-positioner.d.ts.map +0 -1
- package/dist/components/overlays/menu/menu-root.d.ts.map +0 -1
- package/dist/components/overlays/menu/menu-separator.d.ts.map +0 -1
- package/dist/components/overlays/menu/menu-trigger.d.ts.map +0 -1
- package/dist/components/overlays/overlay-manager/index.d.ts +0 -2
- package/dist/components/overlays/overlay-manager/index.js +0 -2
- package/dist/components/overlays/overlay-manager/overlay-manager.d.ts +0 -49
- package/dist/components/overlays/overlay-manager/overlay-manager.d.ts.map +0 -1
- package/dist/components/overlays/overlay-manager/overlay-manager.js +0 -182
- package/dist/components/overlays/overlay-manager/overlay-manager.js.map +0 -1
- package/dist/components/overlays/popover/create-handle.d.ts.map +0 -1
- package/dist/components/overlays/popover/index.parts.d.ts.map +0 -1
- package/dist/components/overlays/popover/popover-arrow.d.ts.map +0 -1
- package/dist/components/overlays/popover/popover-backdrop.d.ts.map +0 -1
- package/dist/components/overlays/popover/popover-body.d.ts.map +0 -1
- package/dist/components/overlays/popover/popover-close.d.ts.map +0 -1
- package/dist/components/overlays/popover/popover-description.d.ts.map +0 -1
- package/dist/components/overlays/popover/popover-footer.d.ts.map +0 -1
- package/dist/components/overlays/popover/popover-header.d.ts.map +0 -1
- package/dist/components/overlays/popover/popover-popup-variants.d.ts.map +0 -1
- package/dist/components/overlays/popover/popover-popup.d.ts.map +0 -1
- package/dist/components/overlays/popover/popover-portal.d.ts.map +0 -1
- package/dist/components/overlays/popover/popover-positioner.d.ts.map +0 -1
- package/dist/components/overlays/popover/popover-root.d.ts.map +0 -1
- package/dist/components/overlays/popover/popover-title.d.ts.map +0 -1
- package/dist/components/overlays/popover/popover-trigger.d.ts.map +0 -1
- package/dist/components/overlays/popover/popover-viewport.d.ts.map +0 -1
- package/dist/components/overlays/tooltip/create-handle.d.ts.map +0 -1
- package/dist/components/overlays/tooltip/index.parts.d.ts.map +0 -1
- package/dist/components/overlays/tooltip/simple-tooltip.d.ts.map +0 -1
- package/dist/components/overlays/tooltip/tooltip-arrow.d.ts.map +0 -1
- package/dist/components/overlays/tooltip/tooltip-popup.d.ts.map +0 -1
- package/dist/components/overlays/tooltip/tooltip-portal.d.ts.map +0 -1
- package/dist/components/overlays/tooltip/tooltip-positioner.d.ts.map +0 -1
- package/dist/components/overlays/tooltip/tooltip-provider.d.ts.map +0 -1
- package/dist/components/overlays/tooltip/tooltip-root.d.ts.map +0 -1
- package/dist/components/overlays/tooltip/tooltip-trigger.d.ts.map +0 -1
- package/dist/components/overlays/tooltip/tooltip-viewport.d.ts.map +0 -1
- package/dist/components/typography/heading/heading.d.ts.map +0 -1
- package/dist/components/typography/kbd/kbd-group.d.ts.map +0 -1
- package/dist/components/typography/kbd/kbd-variants.d.ts.map +0 -1
- package/dist/components/typography/kbd/kbd.d.ts.map +0 -1
- package/dist/components/typography/list/index.parts.d.ts.map +0 -1
- package/dist/components/typography/list/list-item.d.ts.map +0 -1
- package/dist/components/typography/list/list-ordered.d.ts.map +0 -1
- package/dist/components/typography/list/list-unordered.d.ts.map +0 -1
- package/dist/components/typography/list/list-unstyled.d.ts.map +0 -1
- package/dist/components/typography/mark/mark-variants.d.ts.map +0 -1
- package/dist/components/typography/mark/mark.d.ts.map +0 -1
- package/dist/components/typography/paragraph/paragraph.d.ts.map +0 -1
- package/dist/components/typography/pre/pre-variants.d.ts.map +0 -1
- package/dist/components/typography/pre/pre.d.ts.map +0 -1
- package/dist/components/typography/text/text.d.ts.map +0 -1
- package/dist/components/typography/truncate/truncate.d.ts.map +0 -1
- package/dist/components/utilities/for/for.d.ts.map +0 -1
- package/dist/components/utilities/interaction-shield/interaction-shield.d.ts.map +0 -1
- package/dist/components/utilities/show/show.d.ts.map +0 -1
- package/dist/hooks/use-breakpoint.d.ts.map +0 -1
- package/dist/hooks/use-pointer-type.d.ts.map +0 -1
- package/dist/hooks/use-responsive-breakpoint.d.ts +0 -18
- package/dist/hooks/use-responsive-breakpoint.d.ts.map +0 -1
- package/dist/hooks/use-responsive-breakpoint.js +0 -56
- package/dist/hooks/use-responsive-breakpoint.js.map +0 -1
- package/dist/types/color-scheme.d.ts.map +0 -1
- package/dist/utils/merge-class-names.d.ts.map +0 -1
- package/dist/utils/merge-state-class-names.d.ts.map +0 -1
- package/dist/utils/normalize-data-attr.d.ts.map +0 -1
- package/src/theme/tailwindcss-default-theme.css +0 -448
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ClassNamesConfig, GroupBase } from "react-select";
|
|
2
|
+
//#region src/components/collections/async-select/async-select-variants.d.ts
|
|
3
|
+
export type AsyncSelectVariants = {
|
|
4
|
+
/**
|
|
5
|
+
* Altura do campo, tamanho do texto e espaçamento do campo, dos chips e dos itens. `sm` = `h-9`,
|
|
6
|
+
* `md` = `h-10`, alinhado aos outros controles de formulário. Dentro de um `Field.Root`, use o
|
|
7
|
+
* mesmo `size` nos dois.
|
|
8
|
+
*
|
|
9
|
+
* @default 'sm'
|
|
10
|
+
*/
|
|
11
|
+
size?: '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
12
|
+
};
|
|
13
|
+
export declare const asyncSelectDefaultVariants: Required<AsyncSelectVariants>;
|
|
14
|
+
type GetAsyncSelectClassNamesOptions = {
|
|
15
|
+
size: Required<AsyncSelectVariants>['size'];
|
|
16
|
+
invalid: boolean;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Classes de cada parte do react-select (`classNames`), que roda em modo `unstyled`.
|
|
20
|
+
*/
|
|
21
|
+
export declare const getAsyncSelectClassNames: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(options: GetAsyncSelectClassNamesOptions) => ClassNamesConfig<Option, IsMulti, Group>;
|
|
22
|
+
//#endregion
|
|
23
|
+
//# sourceMappingURL=async-select-variants.d.ts.map
|
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
import { mergeTwClassNames } from "../../../utils/merge-class-names.js";
|
|
2
|
+
import { cva } from "class-variance-authority";
|
|
3
|
+
//#region src/components/collections/async-select/async-select-variants.ts
|
|
4
|
+
const asyncSelectDefaultVariants = { size: "sm" };
|
|
5
|
+
/**
|
|
6
|
+
* Cópia de `selectTriggerVariants` (a origem do visual dos campos é o `Input`, tabela no README de
|
|
7
|
+
* `fields`): o anel de foco e o inválido funcionam do mesmo jeito, explicados lá. As diferenças:
|
|
8
|
+
* - o react-select zera o `outline` do controle com `!important`, então o anel é um `ring-inset`
|
|
9
|
+
* de 1px com a borda na mesma cor, no lugar do `outline`;
|
|
10
|
+
* - foco, inválido e menu aberto vêm do estado do react-select, e não de `data-*`;
|
|
11
|
+
* - só a variante `outline`, sem mudança de fundo no hover nem com o menu aberto.
|
|
12
|
+
*/
|
|
13
|
+
const controlVariants = cva([
|
|
14
|
+
"w-full",
|
|
15
|
+
"min-w-0",
|
|
16
|
+
"border",
|
|
17
|
+
"rounded-md",
|
|
18
|
+
"corner-squircle",
|
|
19
|
+
"bg-white/90",
|
|
20
|
+
"dark:bg-black/90",
|
|
21
|
+
"border-gray-alpha-7",
|
|
22
|
+
"text-gray-12",
|
|
23
|
+
"font-normal",
|
|
24
|
+
"[--async-select-focus-color:var(--color-black)]",
|
|
25
|
+
"dark:[--async-select-focus-color:var(--color-white)]"
|
|
26
|
+
], {
|
|
27
|
+
variants: {
|
|
28
|
+
size: {
|
|
29
|
+
"2xs": [
|
|
30
|
+
"min-h-7",
|
|
31
|
+
"text-xs",
|
|
32
|
+
"any-pointer-coarse:text-base"
|
|
33
|
+
],
|
|
34
|
+
xs: [
|
|
35
|
+
"min-h-8",
|
|
36
|
+
"text-xs",
|
|
37
|
+
"any-pointer-coarse:text-base"
|
|
38
|
+
],
|
|
39
|
+
sm: [
|
|
40
|
+
"min-h-9",
|
|
41
|
+
"text-sm",
|
|
42
|
+
"any-pointer-coarse:text-base"
|
|
43
|
+
],
|
|
44
|
+
md: [
|
|
45
|
+
"min-h-10",
|
|
46
|
+
"text-sm",
|
|
47
|
+
"any-pointer-coarse:text-base"
|
|
48
|
+
],
|
|
49
|
+
lg: ["min-h-11", "text-base"],
|
|
50
|
+
xl: ["min-h-12", "text-base"],
|
|
51
|
+
"2xl": ["min-h-16", "text-lg"]
|
|
52
|
+
},
|
|
53
|
+
invalid: {
|
|
54
|
+
true: ["border-red-9", "[--async-select-focus-color:var(--color-red-9)]"],
|
|
55
|
+
false: []
|
|
56
|
+
},
|
|
57
|
+
focused: {
|
|
58
|
+
true: [
|
|
59
|
+
"ring-1",
|
|
60
|
+
"ring-inset",
|
|
61
|
+
"ring-(--async-select-focus-color)",
|
|
62
|
+
"border-(--async-select-focus-color)"
|
|
63
|
+
],
|
|
64
|
+
false: []
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
defaultVariants: { size: asyncSelectDefaultVariants.size }
|
|
68
|
+
});
|
|
69
|
+
const valueContainerVariants = cva(["gap-1", "py-0.5"], {
|
|
70
|
+
variants: { size: {
|
|
71
|
+
"2xs": ["ps-2"],
|
|
72
|
+
xs: ["ps-2"],
|
|
73
|
+
sm: ["ps-2.5"],
|
|
74
|
+
md: ["ps-3"],
|
|
75
|
+
lg: ["ps-4"],
|
|
76
|
+
xl: ["ps-4.5"],
|
|
77
|
+
"2xl": ["ps-5"]
|
|
78
|
+
} },
|
|
79
|
+
defaultVariants: { size: asyncSelectDefaultVariants.size }
|
|
80
|
+
});
|
|
81
|
+
const indicatorsContainerVariants = cva(["ps-1", "text-gray-11"], {
|
|
82
|
+
variants: { size: {
|
|
83
|
+
"2xs": ["pe-2", "gap-2"],
|
|
84
|
+
xs: ["pe-2", "gap-2"],
|
|
85
|
+
sm: ["pe-2.5", "gap-2.5"],
|
|
86
|
+
md: ["pe-3", "gap-3"],
|
|
87
|
+
lg: ["pe-4", "gap-4"],
|
|
88
|
+
xl: ["pe-4.5", "gap-4.5"],
|
|
89
|
+
"2xl": ["pe-5", "gap-5"]
|
|
90
|
+
} },
|
|
91
|
+
defaultVariants: { size: asyncSelectDefaultVariants.size }
|
|
92
|
+
});
|
|
93
|
+
const multiValueVariants = cva([
|
|
94
|
+
"flex",
|
|
95
|
+
"items-center",
|
|
96
|
+
"rounded-md",
|
|
97
|
+
"corner-squircle",
|
|
98
|
+
"bg-gray-alpha-4"
|
|
99
|
+
], {
|
|
100
|
+
variants: { size: {
|
|
101
|
+
"2xs": [
|
|
102
|
+
"py-0",
|
|
103
|
+
"ps-1.5",
|
|
104
|
+
"pe-1",
|
|
105
|
+
"gap-1",
|
|
106
|
+
"leading-4"
|
|
107
|
+
],
|
|
108
|
+
xs: [
|
|
109
|
+
"py-0",
|
|
110
|
+
"ps-1.5",
|
|
111
|
+
"pe-1",
|
|
112
|
+
"gap-1",
|
|
113
|
+
"leading-4"
|
|
114
|
+
],
|
|
115
|
+
sm: [
|
|
116
|
+
"py-0.5",
|
|
117
|
+
"ps-2",
|
|
118
|
+
"pe-1",
|
|
119
|
+
"gap-1.5",
|
|
120
|
+
"leading-5"
|
|
121
|
+
],
|
|
122
|
+
md: [
|
|
123
|
+
"py-0.5",
|
|
124
|
+
"ps-2",
|
|
125
|
+
"pe-1",
|
|
126
|
+
"gap-1.5",
|
|
127
|
+
"leading-5"
|
|
128
|
+
],
|
|
129
|
+
lg: [
|
|
130
|
+
"py-1",
|
|
131
|
+
"ps-2.5",
|
|
132
|
+
"pe-1",
|
|
133
|
+
"gap-2",
|
|
134
|
+
"leading-6"
|
|
135
|
+
],
|
|
136
|
+
xl: [
|
|
137
|
+
"py-1",
|
|
138
|
+
"ps-2.5",
|
|
139
|
+
"pe-1",
|
|
140
|
+
"gap-2",
|
|
141
|
+
"leading-6"
|
|
142
|
+
],
|
|
143
|
+
"2xl": [
|
|
144
|
+
"py-1",
|
|
145
|
+
"ps-2.5",
|
|
146
|
+
"pe-1",
|
|
147
|
+
"gap-2",
|
|
148
|
+
"leading-6"
|
|
149
|
+
]
|
|
150
|
+
} },
|
|
151
|
+
defaultVariants: { size: asyncSelectDefaultVariants.size }
|
|
152
|
+
});
|
|
153
|
+
/**
|
|
154
|
+
* Cópia de `popoverPopupVariants`, a origem da superfície dos popups (tabela no README de
|
|
155
|
+
* `overlays`), sem animação: o react-select monta e desmonta o menu sem estados de entrada e
|
|
156
|
+
* saída. O menu vai para o `body` pelo portal, então a cor do texto é declarada aqui.
|
|
157
|
+
*/
|
|
158
|
+
const menuClassNames = [
|
|
159
|
+
"my-2.5",
|
|
160
|
+
"py-1",
|
|
161
|
+
"overflow-hidden",
|
|
162
|
+
"rounded-md",
|
|
163
|
+
"corner-squircle",
|
|
164
|
+
"outline-1",
|
|
165
|
+
"outline-gray-6",
|
|
166
|
+
"bg-white",
|
|
167
|
+
"dark:bg-gray-2",
|
|
168
|
+
"shadow-md",
|
|
169
|
+
"shadow-black/12",
|
|
170
|
+
"dark:shadow-none",
|
|
171
|
+
"text-gray-12"
|
|
172
|
+
];
|
|
173
|
+
/**
|
|
174
|
+
* Cópia de `selectItemVariants`, a origem do item das listas em popup: o realce é um `::before`
|
|
175
|
+
* recuado das laterais. As diferenças:
|
|
176
|
+
* - o estado vem do react-select (`isFocused`, `isDisabled`), e não de `data-*`;
|
|
177
|
+
* - o realce vale também no toque: o react-select só marca o item focado por hover ou teclado.
|
|
178
|
+
*/
|
|
179
|
+
const optionVariants = cva([
|
|
180
|
+
"grid",
|
|
181
|
+
"items-start",
|
|
182
|
+
"relative",
|
|
183
|
+
"rounded",
|
|
184
|
+
"cursor-default",
|
|
185
|
+
"select-none"
|
|
186
|
+
], {
|
|
187
|
+
variants: {
|
|
188
|
+
size: {
|
|
189
|
+
"2xs": [
|
|
190
|
+
"grid-cols-[0.75rem_1fr]",
|
|
191
|
+
"px-2",
|
|
192
|
+
"gap-1",
|
|
193
|
+
"py-1",
|
|
194
|
+
"pointer-coarse:py-2.5",
|
|
195
|
+
"text-xs"
|
|
196
|
+
],
|
|
197
|
+
xs: [
|
|
198
|
+
"grid-cols-[0.75rem_1fr]",
|
|
199
|
+
"px-2",
|
|
200
|
+
"gap-1",
|
|
201
|
+
"py-1.25",
|
|
202
|
+
"pointer-coarse:py-2.5",
|
|
203
|
+
"text-xs"
|
|
204
|
+
],
|
|
205
|
+
sm: [
|
|
206
|
+
"grid-cols-[0.875rem_1fr]",
|
|
207
|
+
"px-2.5",
|
|
208
|
+
"gap-2",
|
|
209
|
+
"py-1.25",
|
|
210
|
+
"pointer-coarse:py-2.5",
|
|
211
|
+
"text-sm"
|
|
212
|
+
],
|
|
213
|
+
md: [
|
|
214
|
+
"grid-cols-[0.875rem_1fr]",
|
|
215
|
+
"px-3",
|
|
216
|
+
"gap-2",
|
|
217
|
+
"py-1.75",
|
|
218
|
+
"pointer-coarse:py-3",
|
|
219
|
+
"text-sm"
|
|
220
|
+
],
|
|
221
|
+
lg: [
|
|
222
|
+
"grid-cols-[1rem_1fr]",
|
|
223
|
+
"px-4",
|
|
224
|
+
"gap-3",
|
|
225
|
+
"py-1.75",
|
|
226
|
+
"pointer-coarse:py-3",
|
|
227
|
+
"text-base"
|
|
228
|
+
],
|
|
229
|
+
xl: [
|
|
230
|
+
"grid-cols-[1rem_1fr]",
|
|
231
|
+
"px-4.5",
|
|
232
|
+
"gap-3",
|
|
233
|
+
"py-2.25",
|
|
234
|
+
"pointer-coarse:py-4",
|
|
235
|
+
"text-base"
|
|
236
|
+
],
|
|
237
|
+
"2xl": [
|
|
238
|
+
"grid-cols-[1.125rem_1fr]",
|
|
239
|
+
"px-5",
|
|
240
|
+
"gap-3",
|
|
241
|
+
"py-3",
|
|
242
|
+
"pointer-coarse:py-5",
|
|
243
|
+
"text-lg"
|
|
244
|
+
]
|
|
245
|
+
},
|
|
246
|
+
focused: {
|
|
247
|
+
true: [
|
|
248
|
+
"z-0",
|
|
249
|
+
"before:absolute",
|
|
250
|
+
"before:inset-x-1",
|
|
251
|
+
"before:inset-y-0",
|
|
252
|
+
"before:z-[-1]",
|
|
253
|
+
"before:rounded",
|
|
254
|
+
"before:content-[\"\"]",
|
|
255
|
+
"before:bg-gray-4"
|
|
256
|
+
],
|
|
257
|
+
false: []
|
|
258
|
+
},
|
|
259
|
+
disabled: {
|
|
260
|
+
true: ["pointer-events-none", "opacity-50"],
|
|
261
|
+
false: []
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
defaultVariants: { size: asyncSelectDefaultVariants.size }
|
|
265
|
+
});
|
|
266
|
+
/**
|
|
267
|
+
* Cópia de `selectGroupLabelVariants`, a origem do rótulo de grupo das listas em popup. O recuo
|
|
268
|
+
* inicial de cada `size` é o recuo do texto do item (padding + coluna do check + gap): mudar o
|
|
269
|
+
* espaçamento de `optionVariants` pede recalcular estes valores.
|
|
270
|
+
*/
|
|
271
|
+
const groupHeadingVariants = cva([
|
|
272
|
+
"sticky",
|
|
273
|
+
"top-0",
|
|
274
|
+
"z-1",
|
|
275
|
+
"bg-white",
|
|
276
|
+
"dark:bg-gray-2",
|
|
277
|
+
"pt-2",
|
|
278
|
+
"pb-1",
|
|
279
|
+
"text-gray-11",
|
|
280
|
+
"font-bold",
|
|
281
|
+
"uppercase",
|
|
282
|
+
"tracking-wider"
|
|
283
|
+
], {
|
|
284
|
+
variants: { size: {
|
|
285
|
+
"2xs": [
|
|
286
|
+
"ps-6",
|
|
287
|
+
"pe-2",
|
|
288
|
+
"text-[0.6875rem]"
|
|
289
|
+
],
|
|
290
|
+
xs: [
|
|
291
|
+
"ps-6",
|
|
292
|
+
"pe-2",
|
|
293
|
+
"text-[0.6875rem]"
|
|
294
|
+
],
|
|
295
|
+
sm: [
|
|
296
|
+
"ps-8",
|
|
297
|
+
"pe-2.5",
|
|
298
|
+
"text-[0.6875rem]"
|
|
299
|
+
],
|
|
300
|
+
md: [
|
|
301
|
+
"ps-8.5",
|
|
302
|
+
"pe-3",
|
|
303
|
+
"text-[0.6875rem]"
|
|
304
|
+
],
|
|
305
|
+
lg: [
|
|
306
|
+
"ps-11",
|
|
307
|
+
"pe-4",
|
|
308
|
+
"text-[0.8125rem]"
|
|
309
|
+
],
|
|
310
|
+
xl: [
|
|
311
|
+
"ps-11.5",
|
|
312
|
+
"pe-4.5",
|
|
313
|
+
"text-[0.8125rem]"
|
|
314
|
+
],
|
|
315
|
+
"2xl": [
|
|
316
|
+
"ps-12.5",
|
|
317
|
+
"pe-5",
|
|
318
|
+
"text-sm"
|
|
319
|
+
]
|
|
320
|
+
} },
|
|
321
|
+
defaultVariants: { size: asyncSelectDefaultVariants.size }
|
|
322
|
+
});
|
|
323
|
+
const messageVariants = cva([
|
|
324
|
+
"py-2",
|
|
325
|
+
"text-start",
|
|
326
|
+
"text-gray-11"
|
|
327
|
+
], {
|
|
328
|
+
variants: { size: {
|
|
329
|
+
"2xs": ["px-2", "text-xs"],
|
|
330
|
+
xs: ["px-2", "text-xs"],
|
|
331
|
+
sm: ["px-2.5", "text-sm"],
|
|
332
|
+
md: ["px-3", "text-sm"],
|
|
333
|
+
lg: ["px-4", "text-base"],
|
|
334
|
+
xl: ["px-4.5", "text-base"],
|
|
335
|
+
"2xl": ["px-5", "text-lg"]
|
|
336
|
+
} },
|
|
337
|
+
defaultVariants: { size: asyncSelectDefaultVariants.size }
|
|
338
|
+
});
|
|
339
|
+
/**
|
|
340
|
+
* Classes de cada parte do react-select (`classNames`), que roda em modo `unstyled`.
|
|
341
|
+
*/
|
|
342
|
+
const getAsyncSelectClassNames = (options) => {
|
|
343
|
+
const { size, invalid } = options;
|
|
344
|
+
return {
|
|
345
|
+
container: ({ isDisabled }) => mergeTwClassNames([], isDisabled && "opacity-50"),
|
|
346
|
+
control: ({ isFocused }) => mergeTwClassNames(controlVariants({
|
|
347
|
+
size,
|
|
348
|
+
invalid,
|
|
349
|
+
focused: isFocused
|
|
350
|
+
})),
|
|
351
|
+
valueContainer: () => mergeTwClassNames(valueContainerVariants({ size })),
|
|
352
|
+
placeholder: () => mergeTwClassNames(["py-0.5", "text-gray-11/80"]),
|
|
353
|
+
input: () => mergeTwClassNames(["py-0.5"]),
|
|
354
|
+
singleValue: () => mergeTwClassNames(["text-gray-12"]),
|
|
355
|
+
multiValue: () => mergeTwClassNames(multiValueVariants({ size })),
|
|
356
|
+
multiValueLabel: () => mergeTwClassNames(["text-gray-12"]),
|
|
357
|
+
multiValueRemove: () => mergeTwClassNames([
|
|
358
|
+
"rounded",
|
|
359
|
+
"text-gray-11",
|
|
360
|
+
"hover:text-red-11"
|
|
361
|
+
]),
|
|
362
|
+
indicatorsContainer: () => mergeTwClassNames(indicatorsContainerVariants({ size })),
|
|
363
|
+
clearIndicator: () => mergeTwClassNames(["hover:text-red-11"]),
|
|
364
|
+
menu: () => mergeTwClassNames(menuClassNames),
|
|
365
|
+
groupHeading: () => mergeTwClassNames(groupHeadingVariants({ size })),
|
|
366
|
+
option: ({ isFocused, isDisabled }) => mergeTwClassNames(optionVariants({
|
|
367
|
+
size,
|
|
368
|
+
focused: isFocused,
|
|
369
|
+
disabled: isDisabled
|
|
370
|
+
})),
|
|
371
|
+
noOptionsMessage: () => mergeTwClassNames(messageVariants({ size })),
|
|
372
|
+
loadingMessage: () => mergeTwClassNames(messageVariants({ size }))
|
|
373
|
+
};
|
|
374
|
+
};
|
|
375
|
+
//#endregion
|
|
376
|
+
export { asyncSelectDefaultVariants, getAsyncSelectClassNames };
|
|
377
|
+
|
|
378
|
+
//# sourceMappingURL=async-select-variants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-select-variants.js","names":[],"sources":["../../../../src/components/collections/async-select/async-select-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { ClassNamesConfig, GroupBase } from 'react-select';\nimport { mergeTwClassNames } from '#utils';\n\nexport type AsyncSelectVariants = {\n /**\n * Altura do campo, tamanho do texto e espaçamento do campo, dos chips e dos itens. `sm` = `h-9`,\n * `md` = `h-10`, alinhado aos outros controles de formulário. Dentro de um `Field.Root`, use o\n * mesmo `size` nos dois.\n *\n * @default 'sm'\n */\n size?: '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n};\n\nexport const asyncSelectDefaultVariants: Required<AsyncSelectVariants> = {\n size: 'sm',\n};\n\n/**\n * Cópia de `selectTriggerVariants` (a origem do visual dos campos é o `Input`, tabela no README de\n * `fields`): o anel de foco e o inválido funcionam do mesmo jeito, explicados lá. As diferenças:\n * - o react-select zera o `outline` do controle com `!important`, então o anel é um `ring-inset`\n * de 1px com a borda na mesma cor, no lugar do `outline`;\n * - foco, inválido e menu aberto vêm do estado do react-select, e não de `data-*`;\n * - só a variante `outline`, sem mudança de fundo no hover nem com o menu aberto.\n */\nconst controlVariants = cva(\n [\n 'w-full',\n 'min-w-0',\n\n 'border',\n 'rounded-md',\n 'corner-squircle',\n\n 'bg-white/90',\n 'dark:bg-black/90',\n 'border-gray-alpha-7',\n 'text-gray-12',\n 'font-normal',\n\n '[--async-select-focus-color:var(--color-black)]',\n 'dark:[--async-select-focus-color:var(--color-white)]',\n ],\n {\n variants: {\n size: {\n '2xs': ['min-h-7', 'text-xs', 'any-pointer-coarse:text-base'],\n xs: ['min-h-8', 'text-xs', 'any-pointer-coarse:text-base'],\n sm: ['min-h-9', 'text-sm', 'any-pointer-coarse:text-base'],\n md: ['min-h-10', 'text-sm', 'any-pointer-coarse:text-base'],\n lg: ['min-h-11', 'text-base'],\n xl: ['min-h-12', 'text-base'],\n '2xl': ['min-h-16', 'text-lg'],\n },\n invalid: {\n true: [\n 'border-red-9',\n '[--async-select-focus-color:var(--color-red-9)]',\n ],\n false: [],\n },\n focused: {\n true: [\n 'ring-1',\n 'ring-inset',\n 'ring-(--async-select-focus-color)',\n 'border-(--async-select-focus-color)',\n ],\n false: [],\n },\n },\n defaultVariants: {\n size: asyncSelectDefaultVariants.size,\n },\n },\n);\n\nconst valueContainerVariants = cva(['gap-1', 'py-0.5'], {\n variants: {\n size: {\n '2xs': ['ps-2'],\n xs: ['ps-2'],\n sm: ['ps-2.5'],\n md: ['ps-3'],\n lg: ['ps-4'],\n xl: ['ps-4.5'],\n '2xl': ['ps-5'],\n },\n },\n defaultVariants: {\n size: asyncSelectDefaultVariants.size,\n },\n});\n\nconst indicatorsContainerVariants = cva(['ps-1', 'text-gray-11'], {\n variants: {\n size: {\n '2xs': ['pe-2', 'gap-2'],\n xs: ['pe-2', 'gap-2'],\n sm: ['pe-2.5', 'gap-2.5'],\n md: ['pe-3', 'gap-3'],\n lg: ['pe-4', 'gap-4'],\n xl: ['pe-4.5', 'gap-4.5'],\n '2xl': ['pe-5', 'gap-5'],\n },\n },\n defaultVariants: {\n size: asyncSelectDefaultVariants.size,\n },\n});\n\nconst multiValueVariants = cva(\n ['flex', 'items-center', 'rounded-md', 'corner-squircle', 'bg-gray-alpha-4'],\n {\n variants: {\n size: {\n '2xs': ['py-0', 'ps-1.5', 'pe-1', 'gap-1', 'leading-4'],\n xs: ['py-0', 'ps-1.5', 'pe-1', 'gap-1', 'leading-4'],\n sm: ['py-0.5', 'ps-2', 'pe-1', 'gap-1.5', 'leading-5'],\n md: ['py-0.5', 'ps-2', 'pe-1', 'gap-1.5', 'leading-5'],\n lg: ['py-1', 'ps-2.5', 'pe-1', 'gap-2', 'leading-6'],\n xl: ['py-1', 'ps-2.5', 'pe-1', 'gap-2', 'leading-6'],\n '2xl': ['py-1', 'ps-2.5', 'pe-1', 'gap-2', 'leading-6'],\n },\n },\n defaultVariants: {\n size: asyncSelectDefaultVariants.size,\n },\n },\n);\n\n/**\n * Cópia de `popoverPopupVariants`, a origem da superfície dos popups (tabela no README de\n * `overlays`), sem animação: o react-select monta e desmonta o menu sem estados de entrada e\n * saída. O menu vai para o `body` pelo portal, então a cor do texto é declarada aqui.\n */\nconst menuClassNames = [\n 'my-2.5',\n // O respiro vertical fica no menu, e não na lista: o padding da lista rola junto e o conteúdo\n // seria cortado rente à borda. O horizontal já vem do realce do item (`before:inset-x-1`).\n 'py-1',\n\n 'overflow-hidden',\n\n 'rounded-md',\n 'corner-squircle',\n 'outline-1',\n 'outline-gray-6',\n\n 'bg-white',\n 'dark:bg-gray-2',\n\n 'shadow-md',\n 'shadow-black/12',\n 'dark:shadow-none',\n\n 'text-gray-12',\n];\n\n/**\n * Cópia de `selectItemVariants`, a origem do item das listas em popup: o realce é um `::before`\n * recuado das laterais. As diferenças:\n * - o estado vem do react-select (`isFocused`, `isDisabled`), e não de `data-*`;\n * - o realce vale também no toque: o react-select só marca o item focado por hover ou teclado.\n */\nconst optionVariants = cva(\n [\n 'grid',\n 'items-start', // Texto que quebra a linha mantém o check na primeira\n\n 'relative',\n\n 'rounded',\n\n 'cursor-default',\n 'select-none',\n ],\n {\n variants: {\n size: {\n '2xs': [\n 'grid-cols-[0.75rem_1fr]',\n\n 'px-2',\n 'gap-1',\n 'py-1',\n 'pointer-coarse:py-2.5',\n\n 'text-xs',\n ],\n xs: [\n 'grid-cols-[0.75rem_1fr]',\n\n 'px-2',\n 'gap-1',\n 'py-1.25',\n 'pointer-coarse:py-2.5',\n\n 'text-xs',\n ],\n sm: [\n 'grid-cols-[0.875rem_1fr]',\n\n 'px-2.5',\n 'gap-2',\n 'py-1.25',\n 'pointer-coarse:py-2.5',\n\n 'text-sm',\n ],\n md: [\n 'grid-cols-[0.875rem_1fr]',\n\n 'px-3',\n 'gap-2',\n 'py-1.75',\n 'pointer-coarse:py-3',\n\n 'text-sm',\n ],\n lg: [\n 'grid-cols-[1rem_1fr]',\n\n 'px-4',\n 'gap-3',\n 'py-1.75',\n 'pointer-coarse:py-3',\n\n 'text-base',\n ],\n xl: [\n 'grid-cols-[1rem_1fr]',\n\n 'px-4.5',\n 'gap-3',\n 'py-2.25',\n 'pointer-coarse:py-4',\n\n 'text-base',\n ],\n '2xl': [\n 'grid-cols-[1.125rem_1fr]',\n\n 'px-5',\n 'gap-3',\n 'py-3',\n 'pointer-coarse:py-5',\n\n 'text-lg',\n ],\n },\n focused: {\n true: [\n 'z-0',\n 'before:absolute',\n 'before:inset-x-1',\n 'before:inset-y-0',\n 'before:z-[-1]',\n 'before:rounded',\n 'before:content-[\"\"]',\n 'before:bg-gray-4',\n ],\n false: [],\n },\n disabled: {\n true: ['pointer-events-none', 'opacity-50'],\n false: [],\n },\n },\n defaultVariants: {\n size: asyncSelectDefaultVariants.size,\n },\n },\n);\n\n/**\n * Cópia de `selectGroupLabelVariants`, a origem do rótulo de grupo das listas em popup. O recuo\n * inicial de cada `size` é o recuo do texto do item (padding + coluna do check + gap): mudar o\n * espaçamento de `optionVariants` pede recalcular estes valores.\n */\nconst groupHeadingVariants = cva(\n [\n 'sticky',\n 'top-0',\n 'z-1',\n // Mesmo fundo do menu: fixo no topo, o rótulo cobre os itens que rolam por baixo.\n 'bg-white',\n 'dark:bg-gray-2',\n 'pt-2',\n 'pb-1',\n 'text-gray-11',\n 'font-bold',\n 'uppercase',\n 'tracking-wider',\n ],\n {\n variants: {\n size: {\n '2xs': ['ps-6', 'pe-2', 'text-[0.6875rem]'],\n xs: ['ps-6', 'pe-2', 'text-[0.6875rem]'],\n sm: ['ps-8', 'pe-2.5', 'text-[0.6875rem]'],\n md: ['ps-8.5', 'pe-3', 'text-[0.6875rem]'],\n lg: ['ps-11', 'pe-4', 'text-[0.8125rem]'],\n xl: ['ps-11.5', 'pe-4.5', 'text-[0.8125rem]'],\n '2xl': ['ps-12.5', 'pe-5', 'text-sm'],\n },\n },\n defaultVariants: {\n size: asyncSelectDefaultVariants.size,\n },\n },\n);\n\nconst messageVariants = cva(['py-2', 'text-start', 'text-gray-11'], {\n variants: {\n size: {\n '2xs': ['px-2', 'text-xs'],\n xs: ['px-2', 'text-xs'],\n sm: ['px-2.5', 'text-sm'],\n md: ['px-3', 'text-sm'],\n lg: ['px-4', 'text-base'],\n xl: ['px-4.5', 'text-base'],\n '2xl': ['px-5', 'text-lg'],\n },\n },\n defaultVariants: {\n size: asyncSelectDefaultVariants.size,\n },\n});\n\ntype GetAsyncSelectClassNamesOptions = {\n size: Required<AsyncSelectVariants>['size'];\n invalid: boolean;\n};\n\n/**\n * Classes de cada parte do react-select (`classNames`), que roda em modo `unstyled`.\n */\nexport const getAsyncSelectClassNames = <\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>,\n>(\n options: GetAsyncSelectClassNamesOptions,\n): ClassNamesConfig<Option, IsMulti, Group> => {\n const { size, invalid } = options;\n\n return {\n container: ({ isDisabled }) =>\n mergeTwClassNames([], isDisabled && 'opacity-50'),\n control: ({ isFocused }) =>\n mergeTwClassNames(\n controlVariants({\n size,\n invalid,\n focused: isFocused,\n }),\n ),\n valueContainer: () => mergeTwClassNames(valueContainerVariants({ size })),\n placeholder: () => mergeTwClassNames(['py-0.5', 'text-gray-11/80']),\n input: () => mergeTwClassNames(['py-0.5']),\n singleValue: () => mergeTwClassNames(['text-gray-12']),\n multiValue: () => mergeTwClassNames(multiValueVariants({ size })),\n multiValueLabel: () => mergeTwClassNames(['text-gray-12']),\n multiValueRemove: () =>\n mergeTwClassNames(['rounded', 'text-gray-11', 'hover:text-red-11']),\n indicatorsContainer: () =>\n mergeTwClassNames(indicatorsContainerVariants({ size })),\n clearIndicator: () => mergeTwClassNames(['hover:text-red-11']),\n menu: () => mergeTwClassNames(menuClassNames),\n groupHeading: () => mergeTwClassNames(groupHeadingVariants({ size })),\n option: ({ isFocused, isDisabled }) =>\n mergeTwClassNames(\n optionVariants({ size, focused: isFocused, disabled: isDisabled }),\n ),\n noOptionsMessage: () => mergeTwClassNames(messageVariants({ size })),\n loadingMessage: () => mergeTwClassNames(messageVariants({ size })),\n };\n};\n"],"mappings":";;;AAeA,MAAa,6BAA4D,EACvE,MAAM,KACR;;;;;;;;;AAUA,MAAM,kBAAkB,IACtB;CACE;CACA;CAEA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CAEA;CACA;AACF,GACA;CACE,UAAU;EACR,MAAM;GACJ,OAAO;IAAC;IAAW;IAAW;GAA8B;GAC5D,IAAI;IAAC;IAAW;IAAW;GAA8B;GACzD,IAAI;IAAC;IAAW;IAAW;GAA8B;GACzD,IAAI;IAAC;IAAY;IAAW;GAA8B;GAC1D,IAAI,CAAC,YAAY,WAAW;GAC5B,IAAI,CAAC,YAAY,WAAW;GAC5B,OAAO,CAAC,YAAY,SAAS;EAC/B;EACA,SAAS;GACP,MAAM,CACJ,gBACA,iDACF;GACA,OAAO,CAAC;EACV;EACA,SAAS;GACP,MAAM;IACJ;IACA;IACA;IACA;GACF;GACA,OAAO,CAAC;EACV;CACF;CACA,iBAAiB,EACf,MAAM,2BAA2B,KACnC;AACF,CACF;AAEA,MAAM,yBAAyB,IAAI,CAAC,SAAS,QAAQ,GAAG;CACtD,UAAU,EACR,MAAM;EACJ,OAAO,CAAC,MAAM;EACd,IAAI,CAAC,MAAM;EACX,IAAI,CAAC,QAAQ;EACb,IAAI,CAAC,MAAM;EACX,IAAI,CAAC,MAAM;EACX,IAAI,CAAC,QAAQ;EACb,OAAO,CAAC,MAAM;CAChB,EACF;CACA,iBAAiB,EACf,MAAM,2BAA2B,KACnC;AACF,CAAC;AAED,MAAM,8BAA8B,IAAI,CAAC,QAAQ,cAAc,GAAG;CAChE,UAAU,EACR,MAAM;EACJ,OAAO,CAAC,QAAQ,OAAO;EACvB,IAAI,CAAC,QAAQ,OAAO;EACpB,IAAI,CAAC,UAAU,SAAS;EACxB,IAAI,CAAC,QAAQ,OAAO;EACpB,IAAI,CAAC,QAAQ,OAAO;EACpB,IAAI,CAAC,UAAU,SAAS;EACxB,OAAO,CAAC,QAAQ,OAAO;CACzB,EACF;CACA,iBAAiB,EACf,MAAM,2BAA2B,KACnC;AACF,CAAC;AAED,MAAM,qBAAqB,IACzB;CAAC;CAAQ;CAAgB;CAAc;CAAmB;AAAiB,GAC3E;CACE,UAAU,EACR,MAAM;EACJ,OAAO;GAAC;GAAQ;GAAU;GAAQ;GAAS;EAAW;EACtD,IAAI;GAAC;GAAQ;GAAU;GAAQ;GAAS;EAAW;EACnD,IAAI;GAAC;GAAU;GAAQ;GAAQ;GAAW;EAAW;EACrD,IAAI;GAAC;GAAU;GAAQ;GAAQ;GAAW;EAAW;EACrD,IAAI;GAAC;GAAQ;GAAU;GAAQ;GAAS;EAAW;EACnD,IAAI;GAAC;GAAQ;GAAU;GAAQ;GAAS;EAAW;EACnD,OAAO;GAAC;GAAQ;GAAU;GAAQ;GAAS;EAAW;CACxD,EACF;CACA,iBAAiB,EACf,MAAM,2BAA2B,KACnC;AACF,CACF;;;;;;AAOA,MAAM,iBAAiB;CACrB;CAGA;CAEA;CAEA;CACA;CACA;CACA;CAEA;CACA;CAEA;CACA;CACA;CAEA;AACF;;;;;;;AAQA,MAAM,iBAAiB,IACrB;CACE;CACA;CAEA;CAEA;CAEA;CACA;AACF,GACA;CACE,UAAU;EACR,MAAM;GACJ,OAAO;IACL;IAEA;IACA;IACA;IACA;IAEA;GACF;GACA,IAAI;IACF;IAEA;IACA;IACA;IACA;IAEA;GACF;GACA,IAAI;IACF;IAEA;IACA;IACA;IACA;IAEA;GACF;GACA,IAAI;IACF;IAEA;IACA;IACA;IACA;IAEA;GACF;GACA,IAAI;IACF;IAEA;IACA;IACA;IACA;IAEA;GACF;GACA,IAAI;IACF;IAEA;IACA;IACA;IACA;IAEA;GACF;GACA,OAAO;IACL;IAEA;IACA;IACA;IACA;IAEA;GACF;EACF;EACA,SAAS;GACP,MAAM;IACJ;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,OAAO,CAAC;EACV;EACA,UAAU;GACR,MAAM,CAAC,uBAAuB,YAAY;GAC1C,OAAO,CAAC;EACV;CACF;CACA,iBAAiB,EACf,MAAM,2BAA2B,KACnC;AACF,CACF;;;;;;AAOA,MAAM,uBAAuB,IAC3B;CACE;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,GACA;CACE,UAAU,EACR,MAAM;EACJ,OAAO;GAAC;GAAQ;GAAQ;EAAkB;EAC1C,IAAI;GAAC;GAAQ;GAAQ;EAAkB;EACvC,IAAI;GAAC;GAAQ;GAAU;EAAkB;EACzC,IAAI;GAAC;GAAU;GAAQ;EAAkB;EACzC,IAAI;GAAC;GAAS;GAAQ;EAAkB;EACxC,IAAI;GAAC;GAAW;GAAU;EAAkB;EAC5C,OAAO;GAAC;GAAW;GAAQ;EAAS;CACtC,EACF;CACA,iBAAiB,EACf,MAAM,2BAA2B,KACnC;AACF,CACF;AAEA,MAAM,kBAAkB,IAAI;CAAC;CAAQ;CAAc;AAAc,GAAG;CAClE,UAAU,EACR,MAAM;EACJ,OAAO,CAAC,QAAQ,SAAS;EACzB,IAAI,CAAC,QAAQ,SAAS;EACtB,IAAI,CAAC,UAAU,SAAS;EACxB,IAAI,CAAC,QAAQ,SAAS;EACtB,IAAI,CAAC,QAAQ,WAAW;EACxB,IAAI,CAAC,UAAU,WAAW;EAC1B,OAAO,CAAC,QAAQ,SAAS;CAC3B,EACF;CACA,iBAAiB,EACf,MAAM,2BAA2B,KACnC;AACF,CAAC;;;;AAUD,MAAa,4BAKX,YAC6C;CAC7C,MAAM,EAAE,MAAM,YAAY;CAE1B,OAAO;EACL,YAAY,EAAE,iBACZ,kBAAkB,CAAC,GAAG,cAAc,YAAY;EAClD,UAAU,EAAE,gBACV,kBACE,gBAAgB;GACd;GACA;GACA,SAAS;EACX,CAAC,CACH;EACF,sBAAsB,kBAAkB,uBAAuB,EAAE,KAAK,CAAC,CAAC;EACxE,mBAAmB,kBAAkB,CAAC,UAAU,iBAAiB,CAAC;EAClE,aAAa,kBAAkB,CAAC,QAAQ,CAAC;EACzC,mBAAmB,kBAAkB,CAAC,cAAc,CAAC;EACrD,kBAAkB,kBAAkB,mBAAmB,EAAE,KAAK,CAAC,CAAC;EAChE,uBAAuB,kBAAkB,CAAC,cAAc,CAAC;EACzD,wBACE,kBAAkB;GAAC;GAAW;GAAgB;EAAmB,CAAC;EACpE,2BACE,kBAAkB,4BAA4B,EAAE,KAAK,CAAC,CAAC;EACzD,sBAAsB,kBAAkB,CAAC,mBAAmB,CAAC;EAC7D,YAAY,kBAAkB,cAAc;EAC5C,oBAAoB,kBAAkB,qBAAqB,EAAE,KAAK,CAAC,CAAC;EACpE,SAAS,EAAE,WAAW,iBACpB,kBACE,eAAe;GAAE;GAAM,SAAS;GAAW,UAAU;EAAW,CAAC,CACnE;EACF,wBAAwB,kBAAkB,gBAAgB,EAAE,KAAK,CAAC,CAAC;EACnE,sBAAsB,kBAAkB,gBAAgB,EAAE,KAAK,CAAC,CAAC;CACnE;AACF"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { AsyncSelectVariants } from "./async-select-variants.js";
|
|
2
|
+
import { Ref } from "react";
|
|
3
|
+
import { MergeOverride } from "@lucasbernardosn/ts-utils";
|
|
4
|
+
import { ActionMeta, GroupBase, OnChangeValue, SelectInstance } from "react-select";
|
|
5
|
+
import { AsyncProps } from "react-select/async";
|
|
6
|
+
//#region src/components/collections/async-select/async-select.d.ts
|
|
7
|
+
export type AsyncSelectChangeValue<Option, IsMulti extends boolean = false> = OnChangeValue<Option, IsMulti>;
|
|
8
|
+
export type AsyncSelectActionMeta<Option> = ActionMeta<Option>;
|
|
9
|
+
export type AsyncSelectInstance<Option, IsMulti extends boolean = false, Group extends GroupBase<Option> = GroupBase<Option>> = SelectInstance<Option, IsMulti, Group>;
|
|
10
|
+
export type AsyncSelectProps<Option, IsMulti extends boolean = false, Group extends GroupBase<Option> = GroupBase<Option>> = MergeOverride<AsyncProps<Option, IsMulti, Group>, AsyncSelectVariants & {
|
|
11
|
+
ref?: Ref<AsyncSelectInstance<Option, IsMulti, Group>>;
|
|
12
|
+
/**
|
|
13
|
+
* Marca o campo como inválido: borda e anel de foco vermelhos e `aria-invalid` no input. O
|
|
14
|
+
* react-select não lê o contexto do `Field`, então o estado vem por esta prop.
|
|
15
|
+
*
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
invalid?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Espera, em milissegundos, depois da última tecla antes de chamar `loadOptions`.
|
|
21
|
+
*
|
|
22
|
+
* @default 300
|
|
23
|
+
*/
|
|
24
|
+
debounceMs?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Com `true`, `loadOptions('')` busca a lista inicial a cada abertura do menu. Com uma lista,
|
|
27
|
+
* ela é mostrada antes de a pessoa digitar; com `false`, o menu só busca depois da digitação.
|
|
28
|
+
*
|
|
29
|
+
* @default true
|
|
30
|
+
*/
|
|
31
|
+
defaultOptions?: AsyncProps<Option, IsMulti, Group>['defaultOptions'];
|
|
32
|
+
}>;
|
|
33
|
+
/**
|
|
34
|
+
* Seleção com busca assíncrona, sobre o `react-select/async`: a pessoa digita e as opções vêm de
|
|
35
|
+
* `loadOptions`. Aceita as props do react-select, mais `size`, `invalid` e `debounceMs`.
|
|
36
|
+
*
|
|
37
|
+
* O menu vai para o `body` por um portal. Dentro de um popup modal do Base UI (`Dialog`,
|
|
38
|
+
* `Drawer`), ele fica fora da área ativa e não recebe cliques: passe o `menuPortalTarget` com um
|
|
39
|
+
* elemento de dentro do popup.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```tsx
|
|
43
|
+
* <AsyncSelect
|
|
44
|
+
* aria-label="Cliente"
|
|
45
|
+
* loadOptions={async (search) => {
|
|
46
|
+
* const customers = await searchCustomers(search);
|
|
47
|
+
*
|
|
48
|
+
* return customers.map((customer) => ({
|
|
49
|
+
* value: customer.id,
|
|
50
|
+
* label: customer.name,
|
|
51
|
+
* }));
|
|
52
|
+
* }}
|
|
53
|
+
* onChange={(option) => setCustomerId(option?.value)}
|
|
54
|
+
* />
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare const AsyncSelect: {
|
|
58
|
+
<Option, IsMulti extends boolean = false, Group extends GroupBase<Option> = GroupBase<Option>>(props: AsyncSelectProps<Option, IsMulti, Group>): import("react").JSX.Element;
|
|
59
|
+
displayName: string;
|
|
60
|
+
};
|
|
61
|
+
//#endregion
|
|
62
|
+
//# sourceMappingURL=async-select.d.ts.map
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { normalizeDataAttr } from "../../../utils/normalize-data-attr.js";
|
|
2
|
+
import { getAsyncSelectAriaLiveMessages, getAsyncSelectScreenReaderStatus } from "./async-select-aria-messages.js";
|
|
3
|
+
import { getAsyncSelectComponents } from "./async-select-components.js";
|
|
4
|
+
import { asyncSelectDefaultVariants, getAsyncSelectClassNames } from "./async-select-variants.js";
|
|
5
|
+
import { useAsyncSelectLoad } from "./use-async-select-load.js";
|
|
6
|
+
import { useMemo } from "react";
|
|
7
|
+
import { createSplitProps } from "@lucasbernardosn/ts-utils";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
import ReactSelectAsync from "react-select/async";
|
|
10
|
+
//#region src/components/collections/async-select/async-select.tsx
|
|
11
|
+
const splitVariantProps = createSplitProps();
|
|
12
|
+
/**
|
|
13
|
+
* Seleção com busca assíncrona, sobre o `react-select/async`: a pessoa digita e as opções vêm de
|
|
14
|
+
* `loadOptions`. Aceita as props do react-select, mais `size`, `invalid` e `debounceMs`.
|
|
15
|
+
*
|
|
16
|
+
* O menu vai para o `body` por um portal. Dentro de um popup modal do Base UI (`Dialog`,
|
|
17
|
+
* `Drawer`), ele fica fora da área ativa e não recebe cliques: passe o `menuPortalTarget` com um
|
|
18
|
+
* elemento de dentro do popup.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* <AsyncSelect
|
|
23
|
+
* aria-label="Cliente"
|
|
24
|
+
* loadOptions={async (search) => {
|
|
25
|
+
* const customers = await searchCustomers(search);
|
|
26
|
+
*
|
|
27
|
+
* return customers.map((customer) => ({
|
|
28
|
+
* value: customer.id,
|
|
29
|
+
* label: customer.name,
|
|
30
|
+
* }));
|
|
31
|
+
* }}
|
|
32
|
+
* onChange={(option) => setCustomerId(option?.value)}
|
|
33
|
+
* />
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
const AsyncSelect = (props) => {
|
|
37
|
+
const [variantProps, elementProps] = splitVariantProps(props, ["size"]);
|
|
38
|
+
const { size = asyncSelectDefaultVariants.size } = variantProps;
|
|
39
|
+
const { invalid = false, debounceMs = 300, isMulti, closeMenuOnSelect = !isMulti, loadOptions, defaultOptions = true, onMenuOpen, isLoading, ...rest } = elementProps;
|
|
40
|
+
const load = useAsyncSelectLoad({
|
|
41
|
+
loadOptions,
|
|
42
|
+
defaultOptions,
|
|
43
|
+
debounceMs,
|
|
44
|
+
onMenuOpen
|
|
45
|
+
});
|
|
46
|
+
const classNames = useMemo(() => getAsyncSelectClassNames({
|
|
47
|
+
size,
|
|
48
|
+
invalid
|
|
49
|
+
}), [size, invalid]);
|
|
50
|
+
const styles = useMemo(() => getAsyncSelectStyles(), []);
|
|
51
|
+
const components = useMemo(() => getAsyncSelectComponents(), []);
|
|
52
|
+
const ariaLiveMessages = useMemo(() => getAsyncSelectAriaLiveMessages(), []);
|
|
53
|
+
return /* @__PURE__ */ jsx(ReactSelectAsync, {
|
|
54
|
+
unstyled: true,
|
|
55
|
+
isClearable: true,
|
|
56
|
+
hideSelectedOptions: false,
|
|
57
|
+
menuPlacement: "auto",
|
|
58
|
+
maxMenuHeight: 320,
|
|
59
|
+
menuPortalTarget: typeof document === "undefined" ? void 0 : document.body,
|
|
60
|
+
placeholder: "",
|
|
61
|
+
loadingMessage: () => "Buscando...",
|
|
62
|
+
noOptionsMessage: ({ inputValue }) => inputValue ? "Nenhuma opção encontrada" : "Digite para buscar",
|
|
63
|
+
screenReaderStatus: getAsyncSelectScreenReaderStatus,
|
|
64
|
+
ariaLiveMessages,
|
|
65
|
+
"aria-invalid": normalizeDataAttr(invalid),
|
|
66
|
+
classNames,
|
|
67
|
+
styles,
|
|
68
|
+
components,
|
|
69
|
+
isMulti,
|
|
70
|
+
closeMenuOnSelect,
|
|
71
|
+
loadOptions: load.loadOptions,
|
|
72
|
+
defaultOptions: load.defaultOptions,
|
|
73
|
+
onMenuOpen: load.onMenuOpen,
|
|
74
|
+
isLoading: load.isLoading || isLoading,
|
|
75
|
+
...rest
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
AsyncSelect.displayName = "AsyncSelect";
|
|
79
|
+
/**
|
|
80
|
+
* O react-select injeta alguns estilos mesmo em modo `unstyled`, por classes do emotion que
|
|
81
|
+
* empatam em especificidade com as do Tailwind. Cada override aqui desfaz um deles.
|
|
82
|
+
*/
|
|
83
|
+
const getAsyncSelectStyles = () => ({
|
|
84
|
+
control: (base) => ({
|
|
85
|
+
...base,
|
|
86
|
+
transition: void 0,
|
|
87
|
+
minHeight: void 0
|
|
88
|
+
}),
|
|
89
|
+
input: (base) => ({
|
|
90
|
+
...base,
|
|
91
|
+
"input:focus": { boxShadow: "none" }
|
|
92
|
+
}),
|
|
93
|
+
multiValueLabel: (base) => ({
|
|
94
|
+
...base,
|
|
95
|
+
whiteSpace: "normal",
|
|
96
|
+
overflow: "visible"
|
|
97
|
+
}),
|
|
98
|
+
option: (base) => ({
|
|
99
|
+
...base,
|
|
100
|
+
display: "grid",
|
|
101
|
+
fontSize: void 0
|
|
102
|
+
}),
|
|
103
|
+
menu: (base) => ({
|
|
104
|
+
...base,
|
|
105
|
+
marginTop: void 0,
|
|
106
|
+
marginBottom: void 0
|
|
107
|
+
}),
|
|
108
|
+
menuList: (base) => ({
|
|
109
|
+
...base,
|
|
110
|
+
paddingTop: void 0,
|
|
111
|
+
paddingBottom: void 0
|
|
112
|
+
}),
|
|
113
|
+
menuPortal: (base) => ({
|
|
114
|
+
...base,
|
|
115
|
+
zIndex: void 0
|
|
116
|
+
})
|
|
117
|
+
});
|
|
118
|
+
//#endregion
|
|
119
|
+
export { AsyncSelect };
|
|
120
|
+
|
|
121
|
+
//# sourceMappingURL=async-select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-select.js","names":[],"sources":["../../../../src/components/collections/async-select/async-select.tsx"],"sourcesContent":["import {\n createSplitProps,\n type MergeOverride,\n} from '@lucasbernardosn/ts-utils';\nimport { type Ref, useMemo } from 'react';\nimport type {\n ActionMeta,\n GroupBase,\n OnChangeValue,\n SelectInstance,\n StylesConfig,\n} from 'react-select';\nimport ReactSelectAsync, { type AsyncProps } from 'react-select/async';\nimport { normalizeDataAttr } from '#utils';\nimport {\n getAsyncSelectAriaLiveMessages,\n getAsyncSelectScreenReaderStatus,\n} from './async-select-aria-messages';\nimport { getAsyncSelectComponents } from './async-select-components';\nimport {\n type AsyncSelectVariants,\n asyncSelectDefaultVariants,\n getAsyncSelectClassNames,\n} from './async-select-variants';\nimport { useAsyncSelectLoad } from './use-async-select-load';\n\nexport type AsyncSelectChangeValue<\n Option,\n IsMulti extends boolean = false,\n> = OnChangeValue<Option, IsMulti>;\n\nexport type AsyncSelectActionMeta<Option> = ActionMeta<Option>;\n\nexport type AsyncSelectInstance<\n Option,\n IsMulti extends boolean = false,\n Group extends GroupBase<Option> = GroupBase<Option>,\n> = SelectInstance<Option, IsMulti, Group>;\n\nexport type AsyncSelectProps<\n Option,\n IsMulti extends boolean = false,\n Group extends GroupBase<Option> = GroupBase<Option>,\n> = MergeOverride<\n AsyncProps<Option, IsMulti, Group>,\n AsyncSelectVariants & {\n ref?: Ref<AsyncSelectInstance<Option, IsMulti, Group>>;\n /**\n * Marca o campo como inválido: borda e anel de foco vermelhos e `aria-invalid` no input. O\n * react-select não lê o contexto do `Field`, então o estado vem por esta prop.\n *\n * @default false\n */\n invalid?: boolean;\n /**\n * Espera, em milissegundos, depois da última tecla antes de chamar `loadOptions`.\n *\n * @default 300\n */\n debounceMs?: number;\n /**\n * Com `true`, `loadOptions('')` busca a lista inicial a cada abertura do menu. Com uma lista,\n * ela é mostrada antes de a pessoa digitar; com `false`, o menu só busca depois da digitação.\n *\n * @default true\n */\n defaultOptions?: AsyncProps<Option, IsMulti, Group>['defaultOptions'];\n }\n>;\n\nconst splitVariantProps = createSplitProps<AsyncSelectVariants>();\n\n/**\n * Seleção com busca assíncrona, sobre o `react-select/async`: a pessoa digita e as opções vêm de\n * `loadOptions`. Aceita as props do react-select, mais `size`, `invalid` e `debounceMs`.\n *\n * O menu vai para o `body` por um portal. Dentro de um popup modal do Base UI (`Dialog`,\n * `Drawer`), ele fica fora da área ativa e não recebe cliques: passe o `menuPortalTarget` com um\n * elemento de dentro do popup.\n *\n * @example\n * ```tsx\n * <AsyncSelect\n * aria-label=\"Cliente\"\n * loadOptions={async (search) => {\n * const customers = await searchCustomers(search);\n *\n * return customers.map((customer) => ({\n * value: customer.id,\n * label: customer.name,\n * }));\n * }}\n * onChange={(option) => setCustomerId(option?.value)}\n * />\n * ```\n */\nexport const AsyncSelect = <\n Option,\n IsMulti extends boolean = false,\n Group extends GroupBase<Option> = GroupBase<Option>,\n>(\n props: AsyncSelectProps<Option, IsMulti, Group>,\n) => {\n const [variantProps, elementProps] = splitVariantProps(props, ['size']);\n\n const { size = asyncSelectDefaultVariants.size } = variantProps;\n\n const {\n invalid = false,\n debounceMs = 300,\n isMulti,\n closeMenuOnSelect = !isMulti,\n loadOptions,\n defaultOptions = true,\n onMenuOpen,\n isLoading,\n ...rest\n } = elementProps;\n\n const load = useAsyncSelectLoad({\n loadOptions,\n defaultOptions,\n debounceMs,\n onMenuOpen,\n });\n\n const classNames = useMemo(\n () => getAsyncSelectClassNames<Option, IsMulti, Group>({ size, invalid }),\n [size, invalid],\n );\n\n const styles = useMemo(\n () => getAsyncSelectStyles<Option, IsMulti, Group>(),\n [],\n );\n\n const components = useMemo(\n () => getAsyncSelectComponents<Option, IsMulti, Group>(),\n [],\n );\n\n const ariaLiveMessages = useMemo(\n () => getAsyncSelectAriaLiveMessages<Option, IsMulti, Group>(),\n [],\n );\n\n return (\n <ReactSelectAsync\n unstyled={true}\n isClearable={true}\n hideSelectedOptions={false}\n menuPlacement=\"auto\"\n maxMenuHeight={320}\n menuPortalTarget={\n typeof document === 'undefined' ? undefined : document.body\n }\n placeholder=\"\"\n loadingMessage={() => 'Buscando...'}\n noOptionsMessage={({ inputValue }) =>\n inputValue ? 'Nenhuma opção encontrada' : 'Digite para buscar'\n }\n screenReaderStatus={getAsyncSelectScreenReaderStatus}\n ariaLiveMessages={ariaLiveMessages}\n aria-invalid={normalizeDataAttr(invalid)}\n classNames={classNames}\n styles={styles}\n components={components}\n isMulti={isMulti}\n closeMenuOnSelect={closeMenuOnSelect}\n loadOptions={load.loadOptions}\n defaultOptions={load.defaultOptions}\n onMenuOpen={load.onMenuOpen}\n isLoading={load.isLoading || isLoading}\n {...rest}\n />\n );\n};\n\nAsyncSelect.displayName = 'AsyncSelect';\n\n/**\n * O react-select injeta alguns estilos mesmo em modo `unstyled`, por classes do emotion que\n * empatam em especificidade com as do Tailwind. Cada override aqui desfaz um deles.\n */\nconst getAsyncSelectStyles = <\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>,\n>(): StylesConfig<Option, IsMulti, Group> => ({\n // `transition` e `min-height` fixos do controle: a altura vem do `size`.\n control: (base) => ({ ...base, transition: undefined, minHeight: undefined }),\n // `classNames.input` vai no wrapper, não no `<input>`; o `:focus` do input só entra por aqui.\n input: (base) => ({ ...base, 'input:focus': { boxShadow: 'none' } }),\n // O label do chip não quebra linha por padrão: texto longo precisa quebrar no `isMulti`.\n multiValueLabel: (base) => ({\n ...base,\n whiteSpace: 'normal',\n overflow: 'visible',\n }),\n // O react-select injeta `display: block` e `font-size: inherit` no item: o primeiro perderia\n // para o `grid` do check + texto, e o segundo faria o texto ignorar o `text-*` do tamanho.\n option: (base) => ({ ...base, display: 'grid', fontSize: undefined }),\n // O react-select injeta `margin` de 8px no menu e ele venceria o `my-*` do tamanho do respiro.\n menu: (base) => ({ ...base, marginTop: undefined, marginBottom: undefined }),\n // O react-select põe `padding` de 4px na lista: o respiro vem do menu (ver `menuClassNames`).\n menuList: (base) => ({\n ...base,\n paddingTop: undefined,\n paddingBottom: undefined,\n }),\n // Popup sem `z-index`: a ordem vem do portal (ver o `AGENTS.md` do `ui`).\n menuPortal: (base) => ({ ...base, zIndex: undefined }),\n});\n"],"mappings":";;;;;;;;;;AAsEA,MAAM,oBAAoB,iBAAsC;;;;;;;;;;;;;;;;;;;;;;;;;AA0BhE,MAAa,eAKX,UACG;CACH,MAAM,CAAC,cAAc,gBAAgB,kBAAkB,OAAO,CAAC,MAAM,CAAC;CAEtE,MAAM,EAAE,OAAO,2BAA2B,SAAS;CAEnD,MAAM,EACJ,UAAU,OACV,aAAa,KACb,SACA,oBAAoB,CAAC,SACrB,aACA,iBAAiB,MACjB,YACA,WACA,GAAG,SACD;CAEJ,MAAM,OAAO,mBAAmB;EAC9B;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,aAAa,cACX,yBAAiD;EAAE;EAAM;CAAQ,CAAC,GACxE,CAAC,MAAM,OAAO,CAChB;CAEA,MAAM,SAAS,cACP,qBAA6C,GACnD,CAAC,CACH;CAEA,MAAM,aAAa,cACX,yBAAiD,GACvD,CAAC,CACH;CAEA,MAAM,mBAAmB,cACjB,+BAAuD,GAC7D,CAAC,CACH;CAEA,OACE,oBAAC,kBAAD;EACE,UAAU;EACV,aAAa;EACb,qBAAqB;EACrB,eAAc;EACd,eAAe;EACf,kBACE,OAAO,aAAa,cAAc,KAAA,IAAY,SAAS;EAEzD,aAAY;EACZ,sBAAsB;EACtB,mBAAmB,EAAE,iBACnB,aAAa,6BAA6B;EAE5C,oBAAoB;EACF;EAClB,gBAAc,kBAAkB,OAAO;EAC3B;EACJ;EACI;EACH;EACU;EACnB,aAAa,KAAK;EAClB,gBAAgB,KAAK;EACrB,YAAY,KAAK;EACjB,WAAW,KAAK,aAAa;EAC7B,GAAI;CACL,CAAA;AAEL;AAEA,YAAY,cAAc;;;;;AAM1B,MAAM,8BAIwC;CAE5C,UAAU,UAAU;EAAE,GAAG;EAAM,YAAY,KAAA;EAAW,WAAW,KAAA;CAAU;CAE3E,QAAQ,UAAU;EAAE,GAAG;EAAM,eAAe,EAAE,WAAW,OAAO;CAAE;CAElE,kBAAkB,UAAU;EAC1B,GAAG;EACH,YAAY;EACZ,UAAU;CACZ;CAGA,SAAS,UAAU;EAAE,GAAG;EAAM,SAAS;EAAQ,UAAU,KAAA;CAAU;CAEnE,OAAO,UAAU;EAAE,GAAG;EAAM,WAAW,KAAA;EAAW,cAAc,KAAA;CAAU;CAE1E,WAAW,UAAU;EACnB,GAAG;EACH,YAAY,KAAA;EACZ,eAAe,KAAA;CACjB;CAEA,aAAa,UAAU;EAAE,GAAG;EAAM,QAAQ,KAAA;CAAU;AACtD"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AsyncSelectVariants } from "./async-select-variants.js";
|
|
2
|
+
import { AsyncSelect, AsyncSelectActionMeta, AsyncSelectChangeValue, AsyncSelectInstance, AsyncSelectProps } from "./async-select.js";
|
|
3
|
+
export { AsyncSelect, type AsyncSelectActionMeta, type AsyncSelectChangeValue, type AsyncSelectInstance, type AsyncSelectProps, type AsyncSelectVariants };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { GroupBase, OptionsOrGroups } from "react-select";
|
|
2
|
+
import { AsyncProps } from "react-select/async";
|
|
3
|
+
//#region src/components/collections/async-select/use-async-select-load.d.ts
|
|
4
|
+
type LoadOptions<Option, Group extends GroupBase<Option>> = NonNullable<AsyncProps<Option, boolean, Group>['loadOptions']>;
|
|
5
|
+
type UseAsyncSelectLoadProps<Option, Group extends GroupBase<Option>> = {
|
|
6
|
+
loadOptions?: LoadOptions<Option, Group>;
|
|
7
|
+
defaultOptions: OptionsOrGroups<Option, Group> | boolean;
|
|
8
|
+
debounceMs: number;
|
|
9
|
+
onMenuOpen?: () => void;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Carga das opções do `AsyncSelect`: o debounce da digitação e a busca da lista inicial a cada
|
|
13
|
+
* abertura do menu.
|
|
14
|
+
*
|
|
15
|
+
* Não há cache aqui de propósito: quem decide se uma busca vira requisição ou devolve dado em
|
|
16
|
+
* cache é a camada de query usada dentro de `loadOptions` (o `staleTime` do TanStack Query, por
|
|
17
|
+
* exemplo). Uma falha em `loadOptions` vira lista vazia.
|
|
18
|
+
*/
|
|
19
|
+
export declare const useAsyncSelectLoad: <Option, Group extends GroupBase<Option>>(props: UseAsyncSelectLoadProps<Option, Group>) => {
|
|
20
|
+
loadOptions: ((inputValue: string, callback: (options: OptionsOrGroups<Option, Group>) => void) => void | Promise<OptionsOrGroups<Option, Group>>) | undefined;
|
|
21
|
+
defaultOptions: boolean | OptionsOrGroups<Option, Group>;
|
|
22
|
+
isLoading: boolean;
|
|
23
|
+
onMenuOpen: () => Promise<void>;
|
|
24
|
+
};
|
|
25
|
+
//#endregion
|
|
26
|
+
//# sourceMappingURL=use-async-select-load.d.ts.map
|