@lucasbernardosn/react-ui 0.4.0 → 0.5.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/dist/components/buttons/button/button-variants.d.ts +1 -1
- package/dist/components/buttons/button/button-variants.js +119 -119
- 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/icon-button/icon-button-variants.d.ts +3 -0
- package/dist/components/buttons/icon-button/icon-button-variants.js +3 -0
- package/dist/components/buttons/icon-button/icon-button-variants.js.map +1 -1
- package/dist/components/buttons/responsive-button/responsive-button.d.ts +2 -1
- package/dist/components/buttons/responsive-button/responsive-button.js +2 -1
- package/dist/components/buttons/responsive-button/responsive-button.js.map +1 -1
- package/dist/components/buttons/toggle/index.d.ts +3 -0
- package/dist/components/buttons/toggle/index.js +2 -0
- package/dist/components/buttons/toggle/toggle-variants.d.ts +47 -0
- package/dist/components/buttons/toggle/toggle-variants.js +97 -0
- package/dist/components/buttons/toggle/toggle-variants.js.map +1 -0
- package/dist/components/buttons/toggle/toggle.d.ts +61 -0
- package/dist/components/buttons/toggle/toggle.js +69 -0
- package/dist/components/buttons/toggle/toggle.js.map +1 -0
- package/dist/components/collections/async-select/async-select-variants.js +7 -8
- package/dist/components/collections/async-select/async-select-variants.js.map +1 -1
- package/dist/components/collections/autocomplete/autocomplete-backdrop.d.ts +1 -2
- package/dist/components/collections/autocomplete/autocomplete-backdrop.js +1 -2
- package/dist/components/collections/autocomplete/autocomplete-backdrop.js.map +1 -1
- package/dist/components/collections/autocomplete/autocomplete-group-label-variants.d.ts +4 -4
- package/dist/components/collections/autocomplete/autocomplete-group-label-variants.js +4 -4
- package/dist/components/collections/autocomplete/autocomplete-group-label-variants.js.map +1 -1
- package/dist/components/collections/autocomplete/autocomplete-input-variants.d.ts +5 -5
- package/dist/components/collections/autocomplete/autocomplete-input-variants.js +8 -8
- package/dist/components/collections/autocomplete/autocomplete-input-variants.js.map +1 -1
- package/dist/components/collections/autocomplete/autocomplete-item-variants.d.ts +1 -1
- package/dist/components/collections/autocomplete/autocomplete-item-variants.js +1 -1
- package/dist/components/collections/autocomplete/autocomplete-item-variants.js.map +1 -1
- package/dist/components/collections/autocomplete/autocomplete-popup-variants.d.ts +4 -2
- package/dist/components/collections/autocomplete/autocomplete-popup-variants.js +4 -2
- package/dist/components/collections/autocomplete/autocomplete-popup-variants.js.map +1 -1
- package/dist/components/collections/autocomplete/autocomplete-separator.d.ts +1 -2
- package/dist/components/collections/autocomplete/autocomplete-separator.js +1 -2
- package/dist/components/collections/autocomplete/autocomplete-separator.js.map +1 -1
- package/dist/components/collections/command/command-collection.d.ts +14 -0
- package/dist/components/collections/command/command-collection.js +15 -0
- package/dist/components/collections/command/command-collection.js.map +1 -0
- package/dist/components/collections/command/command-empty.d.ts +14 -0
- package/dist/components/collections/command/command-empty.js +28 -0
- package/dist/components/collections/command/command-empty.js.map +1 -0
- package/dist/components/collections/command/command-footer.d.ts +12 -0
- package/dist/components/collections/command/command-footer.js +33 -0
- package/dist/components/collections/command/command-footer.js.map +1 -0
- package/dist/components/collections/command/command-group-label.d.ts +15 -0
- package/dist/components/collections/command/command-group-label.js +31 -0
- package/dist/components/collections/command/command-group-label.js.map +1 -0
- package/dist/components/collections/command/command-group.d.ts +15 -0
- package/dist/components/collections/command/command-group.js +19 -0
- package/dist/components/collections/command/command-group.js.map +1 -0
- package/dist/components/collections/command/command-input.d.ts +20 -0
- package/dist/components/collections/command/command-input.js +75 -0
- package/dist/components/collections/command/command-input.js.map +1 -0
- package/dist/components/collections/command/command-item-text.d.ts +19 -0
- package/dist/components/collections/command/command-item-text.js +32 -0
- package/dist/components/collections/command/command-item-text.js.map +1 -0
- package/dist/components/collections/command/command-item-variants.d.ts +12 -0
- package/dist/components/collections/command/command-item-variants.js +39 -0
- package/dist/components/collections/command/command-item-variants.js.map +1 -0
- package/dist/components/collections/command/command-item.d.ts +17 -0
- package/dist/components/collections/command/command-item.js +25 -0
- package/dist/components/collections/command/command-item.js.map +1 -0
- package/dist/components/collections/command/command-list.d.ts +14 -0
- package/dist/components/collections/command/command-list.js +31 -0
- package/dist/components/collections/command/command-list.js.map +1 -0
- package/dist/components/collections/command/command-loading.d.ts +17 -0
- package/dist/components/collections/command/command-loading.js +30 -0
- package/dist/components/collections/command/command-loading.js.map +1 -0
- package/dist/components/collections/command/command-root.d.ts +91 -0
- package/dist/components/collections/command/command-root.js +50 -0
- package/dist/components/collections/command/command-root.js.map +1 -0
- package/dist/components/collections/command/command-separator.d.ts +15 -0
- package/dist/components/collections/command/command-separator.js +27 -0
- package/dist/components/collections/command/command-separator.js.map +1 -0
- package/dist/components/collections/command/index.d.ts +2 -0
- package/dist/components/collections/command/index.js +2 -0
- package/dist/components/collections/command/index.parts.d.ts +19 -0
- package/dist/components/collections/command/index.parts.js +35 -0
- package/dist/components/collections/command/index.parts.js.map +1 -0
- package/dist/components/collections/command/use-command-context.d.ts +10 -0
- package/dist/components/collections/command/use-command-context.js +10 -0
- package/dist/components/collections/command/use-command-context.js.map +1 -0
- package/dist/components/collections/command/use-command-filter.d.ts +27 -0
- package/dist/components/collections/command/use-command-filter.js +32 -0
- package/dist/components/collections/command/use-command-filter.js.map +1 -0
- package/dist/components/collections/select/select-backdrop.d.ts +1 -2
- package/dist/components/collections/select/select-backdrop.js +1 -2
- package/dist/components/collections/select/select-backdrop.js.map +1 -1
- 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 +3 -2
- package/dist/components/collections/select/select-item-variants.js +3 -2
- package/dist/components/collections/select/select-item-variants.js.map +1 -1
- package/dist/components/collections/select/select-popup-variants.d.ts +1 -1
- package/dist/components/collections/select/select-popup-variants.js +1 -1
- package/dist/components/collections/select/select-popup-variants.js.map +1 -1
- package/dist/components/collections/select/select-separator.d.ts +1 -1
- package/dist/components/collections/select/select-separator.js +1 -1
- 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 +5 -5
- package/dist/components/collections/select/select-trigger-variants.js.map +1 -1
- package/dist/components/collections/tree-view/tree-view-node-checkbox.js +1 -1
- package/dist/components/collections/tree-view/tree-view-node-checkbox.js.map +1 -1
- package/dist/components/collections/tree-view/tree-view-node-variants.d.ts +1 -1
- package/dist/components/collections/tree-view/tree-view-node-variants.js +6 -6
- package/dist/components/collections/tree-view/tree-view-node-variants.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/disclosure/tabs/tabs-indicator-variants.d.ts +6 -1
- package/dist/components/disclosure/tabs/tabs-indicator-variants.js +7 -2
- package/dist/components/disclosure/tabs/tabs-indicator-variants.js.map +1 -1
- package/dist/components/disclosure/tabs/tabs-list-variants.d.ts +6 -1
- package/dist/components/disclosure/tabs/tabs-list-variants.js +7 -2
- package/dist/components/disclosure/tabs/tabs-list-variants.js.map +1 -1
- package/dist/components/disclosure/tabs/tabs-root-variants.d.ts +1 -1
- package/dist/components/disclosure/tabs/tabs-root-variants.js +10 -8
- package/dist/components/disclosure/tabs/tabs-root-variants.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/disclosure/tabs/tabs-tab-variants.d.ts +5 -1
- package/dist/components/disclosure/tabs/tabs-tab-variants.js +6 -2
- package/dist/components/disclosure/tabs/tabs-tab-variants.js.map +1 -1
- package/dist/components/display/avatar/avatar-root-variants.d.ts +1 -1
- package/dist/components/display/avatar/avatar-root-variants.js +162 -162
- package/dist/components/display/avatar/avatar-root-variants.js.map +1 -1
- package/dist/components/display/badge/badge-variants.d.ts +5 -5
- package/dist/components/display/badge/badge-variants.js +166 -166
- package/dist/components/display/badge/badge-variants.js.map +1 -1
- package/dist/components/display/card/card-body.d.ts +2 -2
- package/dist/components/display/card/card-body.js +2 -2
- package/dist/components/display/card/card-body.js.map +1 -1
- package/dist/components/display/card/card-description.d.ts +1 -2
- package/dist/components/display/card/card-description.js +1 -2
- package/dist/components/display/card/card-description.js.map +1 -1
- package/dist/components/display/card/card-footer.d.ts +1 -1
- package/dist/components/display/card/card-footer.js +1 -1
- package/dist/components/display/card/card-footer.js.map +1 -1
- package/dist/components/display/card/card-header.d.ts +1 -2
- package/dist/components/display/card/card-header.js +1 -2
- package/dist/components/display/card/card-header.js.map +1 -1
- package/dist/components/display/card/card-title.d.ts +1 -2
- package/dist/components/display/card/card-title.js +1 -2
- package/dist/components/display/card/card-title.js.map +1 -1
- package/dist/components/display/clipboard/clipboard-indicator.js +2 -2
- package/dist/components/display/clipboard/clipboard-indicator.js.map +1 -1
- package/dist/components/display/status/status-variants.d.ts +2 -2
- package/dist/components/display/status/status-variants.js +6 -6
- package/dist/components/display/status/status-variants.js.map +1 -1
- package/dist/components/display/tag/tag-root-variants.d.ts +2 -2
- package/dist/components/display/tag/tag-root-variants.js +163 -163
- package/dist/components/display/tag/tag-root-variants.js.map +1 -1
- package/dist/components/feedback/alert/alert-description.d.ts +1 -2
- package/dist/components/feedback/alert/alert-description.js +2 -3
- package/dist/components/feedback/alert/alert-description.js.map +1 -1
- package/dist/components/feedback/alert/alert-indicator.d.ts +2 -2
- package/dist/components/feedback/alert/alert-indicator.js +2 -2
- package/dist/components/feedback/alert/alert-indicator.js.map +1 -1
- package/dist/components/feedback/alert/alert-root-variants.d.ts +3 -3
- package/dist/components/feedback/alert/alert-root-variants.js +28 -28
- package/dist/components/feedback/alert/alert-root-variants.js.map +1 -1
- package/dist/components/feedback/alert/alert-title.d.ts +1 -2
- package/dist/components/feedback/alert/alert-title.js +2 -3
- package/dist/components/feedback/alert/alert-title.js.map +1 -1
- package/dist/components/feedback/meter/index.d.ts +2 -0
- package/dist/components/feedback/meter/index.js +2 -0
- package/dist/components/feedback/meter/index.parts.d.ts +12 -0
- package/dist/components/feedback/meter/index.parts.js +18 -0
- package/dist/components/feedback/meter/index.parts.js.map +1 -0
- package/dist/components/feedback/meter/meter-indicator.d.ts +17 -0
- package/dist/components/feedback/meter/meter-indicator.js +31 -0
- package/dist/components/feedback/meter/meter-indicator.js.map +1 -0
- package/dist/components/feedback/meter/meter-label.d.ts +13 -0
- package/dist/components/feedback/meter/meter-label.js +20 -0
- package/dist/components/feedback/meter/meter-label.js.map +1 -0
- package/dist/components/feedback/meter/meter-root-variants.d.ts +14 -0
- package/dist/components/feedback/meter/meter-root-variants.js +42 -0
- package/dist/components/feedback/meter/meter-root-variants.js.map +1 -0
- package/dist/components/feedback/meter/meter-root.d.ts +37 -0
- package/dist/components/feedback/meter/meter-root.js +51 -0
- package/dist/components/feedback/meter/meter-root.js.map +1 -0
- package/dist/components/feedback/meter/meter-track-variants.d.ts +6 -0
- package/dist/components/feedback/meter/meter-track-variants.js +22 -0
- package/dist/components/feedback/meter/meter-track-variants.js.map +1 -0
- package/dist/components/feedback/meter/meter-track.d.ts +13 -0
- package/dist/components/feedback/meter/meter-track.js +23 -0
- package/dist/components/feedback/meter/meter-track.js.map +1 -0
- package/dist/components/feedback/meter/meter-value.d.ts +14 -0
- package/dist/components/feedback/meter/meter-value.js +25 -0
- package/dist/components/feedback/meter/meter-value.js.map +1 -0
- package/dist/components/feedback/meter/use-meter-context.d.ts +23 -0
- package/dist/components/feedback/meter/use-meter-context.js +14 -0
- package/dist/components/feedback/meter/use-meter-context.js.map +1 -0
- package/dist/components/feedback/progress/index.d.ts +2 -0
- package/dist/components/feedback/progress/index.js +2 -0
- package/dist/components/feedback/progress/index.parts.d.ts +12 -0
- package/dist/components/feedback/progress/index.parts.js +18 -0
- package/dist/components/feedback/progress/index.parts.js.map +1 -0
- package/dist/components/feedback/progress/progress-indicator.d.ts +16 -0
- package/dist/components/feedback/progress/progress-indicator.js +34 -0
- package/dist/components/feedback/progress/progress-indicator.js.map +1 -0
- package/dist/components/feedback/progress/progress-label.d.ts +13 -0
- package/dist/components/feedback/progress/progress-label.js +20 -0
- package/dist/components/feedback/progress/progress-label.js.map +1 -0
- package/dist/components/feedback/progress/progress-root-variants.d.ts +15 -0
- package/dist/components/feedback/progress/progress-root-variants.js +43 -0
- package/dist/components/feedback/progress/progress-root-variants.js.map +1 -0
- package/dist/components/feedback/progress/progress-root.d.ts +34 -0
- package/dist/components/feedback/progress/progress-root.js +48 -0
- package/dist/components/feedback/progress/progress-root.js.map +1 -0
- package/dist/components/feedback/progress/progress-track-variants.d.ts +6 -0
- package/dist/components/feedback/progress/progress-track-variants.js +22 -0
- package/dist/components/feedback/progress/progress-track-variants.js.map +1 -0
- package/dist/components/feedback/progress/progress-track.d.ts +13 -0
- package/dist/components/feedback/progress/progress-track.js +23 -0
- package/dist/components/feedback/progress/progress-track.js.map +1 -0
- package/dist/components/feedback/progress/progress-value.d.ts +14 -0
- package/dist/components/feedback/progress/progress-value.js +25 -0
- package/dist/components/feedback/progress/progress-value.js.map +1 -0
- package/dist/components/feedback/progress/use-progress-context.d.ts +23 -0
- package/dist/components/feedback/progress/use-progress-context.js +14 -0
- package/dist/components/feedback/progress/use-progress-context.js.map +1 -0
- package/dist/components/feedback/spinner/spinner-variants.d.ts +1 -1
- package/dist/components/feedback/spinner/spinner-variants.js +1 -1
- package/dist/components/feedback/spinner/spinner-variants.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/toast-description.d.ts +2 -2
- package/dist/components/feedback/toast/toast-description.js +3 -3
- package/dist/components/feedback/toast/toast-description.js.map +1 -1
- package/dist/components/feedback/toast/toast-indicator.d.ts +4 -4
- package/dist/components/feedback/toast/toast-indicator.js +4 -4
- package/dist/components/feedback/toast/toast-indicator.js.map +1 -1
- package/dist/components/feedback/toast/toast-root-variants.d.ts +1 -1
- package/dist/components/feedback/toast/toast-root-variants.js +15 -15
- package/dist/components/feedback/toast/toast-root-variants.js.map +1 -1
- package/dist/components/feedback/toast/toast-title.d.ts +3 -3
- package/dist/components/feedback/toast/toast-title.js +4 -4
- package/dist/components/feedback/toast/toast-title.js.map +1 -1
- package/dist/components/feedback/toast/toast-viewport-variants.d.ts +1 -1
- package/dist/components/fields/checkbox/checkbox-root-variants.d.ts +3 -1
- package/dist/components/fields/checkbox/checkbox-root-variants.js +11 -9
- package/dist/components/fields/checkbox/checkbox-root-variants.js.map +1 -1
- package/dist/components/fields/currency-brl-input/currency-brl-input-variants.js +3 -3
- package/dist/components/fields/currency-brl-input/currency-brl-input-variants.js.map +1 -1
- package/dist/components/fields/field/field-root.d.ts +2 -1
- package/dist/components/fields/field/field-root.js +2 -1
- package/dist/components/fields/field/field-root.js.map +1 -1
- package/dist/components/fields/input/input-variants.d.ts +4 -3
- package/dist/components/fields/input/input-variants.js +7 -6
- package/dist/components/fields/input/input-variants.js.map +1 -1
- package/dist/components/fields/input-group/index.d.ts +3 -0
- package/dist/components/fields/input-group/index.js +2 -0
- package/dist/components/fields/input-group/input-group-variants.d.ts +81 -0
- package/dist/components/fields/input-group/input-group-variants.js +212 -0
- package/dist/components/fields/input-group/input-group-variants.js.map +1 -0
- package/dist/components/fields/input-group/input-group.d.ts +88 -0
- package/dist/components/fields/input-group/input-group.js +164 -0
- package/dist/components/fields/input-group/input-group.js.map +1 -0
- package/dist/components/fields/number-input/number-input-variants.js +3 -3
- package/dist/components/fields/number-input/number-input-variants.js.map +1 -1
- package/dist/components/fields/pattern-input/pattern-input-variants.js +3 -3
- package/dist/components/fields/pattern-input/pattern-input-variants.js.map +1 -1
- package/dist/components/fields/radio/index.d.ts +2 -0
- package/dist/components/fields/radio/index.js +2 -0
- package/dist/components/fields/radio/index.parts.d.ts +10 -0
- package/dist/components/fields/radio/index.parts.js +14 -0
- package/dist/components/fields/radio/index.parts.js.map +1 -0
- package/dist/components/fields/radio/radio-group.d.ts +40 -0
- package/dist/components/fields/radio/radio-group.js +45 -0
- package/dist/components/fields/radio/radio-group.js.map +1 -0
- package/dist/components/fields/radio/radio-indicator.d.ts +14 -0
- package/dist/components/fields/radio/radio-indicator.js +33 -0
- package/dist/components/fields/radio/radio-indicator.js.map +1 -0
- package/dist/components/fields/radio/radio-root-variants.d.ts +41 -0
- package/dist/components/fields/radio/radio-root-variants.js +93 -0
- package/dist/components/fields/radio/radio-root-variants.js.map +1 -0
- package/dist/components/fields/radio/radio-root.d.ts +27 -0
- package/dist/components/fields/radio/radio-root.js +40 -0
- package/dist/components/fields/radio/radio-root.js.map +1 -0
- package/dist/components/fields/radio-card/index.d.ts +2 -0
- package/dist/components/fields/radio-card/index.js +2 -0
- package/dist/components/fields/radio-card/index.parts.d.ts +12 -0
- package/dist/components/fields/radio-card/index.parts.js +18 -0
- package/dist/components/fields/radio-card/index.parts.js.map +1 -0
- package/dist/components/fields/radio-card/radio-card-description.d.ts +14 -0
- package/dist/components/fields/radio-card/radio-card-description.js +34 -0
- package/dist/components/fields/radio-card/radio-card-description.js.map +1 -0
- package/dist/components/fields/radio-card/radio-card-group.d.ts +41 -0
- package/dist/components/fields/radio-card/radio-card-group.js +51 -0
- package/dist/components/fields/radio-card/radio-card-group.js.map +1 -0
- package/dist/components/fields/radio-card/radio-card-indicator.d.ts +24 -0
- package/dist/components/fields/radio-card/radio-card-indicator.js +67 -0
- package/dist/components/fields/radio-card/radio-card-indicator.js.map +1 -0
- package/dist/components/fields/radio-card/radio-card-item-variants.d.ts +25 -0
- package/dist/components/fields/radio-card/radio-card-item-variants.js +83 -0
- package/dist/components/fields/radio-card/radio-card-item-variants.js.map +1 -0
- package/dist/components/fields/radio-card/radio-card-item.d.ts +33 -0
- package/dist/components/fields/radio-card/radio-card-item.js +60 -0
- package/dist/components/fields/radio-card/radio-card-item.js.map +1 -0
- package/dist/components/fields/radio-card/radio-card-title.d.ts +14 -0
- package/dist/components/fields/radio-card/radio-card-title.js +34 -0
- package/dist/components/fields/radio-card/radio-card-title.js.map +1 -0
- package/dist/components/fields/radio-card/use-radio-card-context.d.ts +25 -0
- package/dist/components/fields/radio-card/use-radio-card-context.js +14 -0
- package/dist/components/fields/radio-card/use-radio-card-context.js.map +1 -0
- package/dist/components/fields/radio-card/use-radio-card-item-context.d.ts +12 -0
- package/dist/components/fields/radio-card/use-radio-card-item-context.js +10 -0
- package/dist/components/fields/radio-card/use-radio-card-item-context.js.map +1 -0
- package/dist/components/fields/segmented-control/index.d.ts +2 -0
- package/dist/components/fields/segmented-control/index.js +2 -0
- package/dist/components/fields/segmented-control/index.parts.d.ts +10 -0
- package/dist/components/fields/segmented-control/index.parts.js +14 -0
- package/dist/components/fields/segmented-control/index.parts.js.map +1 -0
- package/dist/components/fields/segmented-control/segmented-control-indicator.d.ts +21 -0
- package/dist/components/fields/segmented-control/segmented-control-indicator.js +50 -0
- package/dist/components/fields/segmented-control/segmented-control-indicator.js.map +1 -0
- package/dist/components/fields/segmented-control/segmented-control-item-variants.d.ts +16 -0
- package/dist/components/fields/segmented-control/segmented-control-item-variants.js +72 -0
- package/dist/components/fields/segmented-control/segmented-control-item-variants.js.map +1 -0
- package/dist/components/fields/segmented-control/segmented-control-item.d.ts +17 -0
- package/dist/components/fields/segmented-control/segmented-control-item.js +29 -0
- package/dist/components/fields/segmented-control/segmented-control-item.js.map +1 -0
- package/dist/components/fields/segmented-control/segmented-control-root-variants.d.ts +21 -0
- package/dist/components/fields/segmented-control/segmented-control-root-variants.js +66 -0
- package/dist/components/fields/segmented-control/segmented-control-root-variants.js.map +1 -0
- package/dist/components/fields/segmented-control/segmented-control-root.d.ts +41 -0
- package/dist/components/fields/segmented-control/segmented-control-root.js +65 -0
- package/dist/components/fields/segmented-control/segmented-control-root.js.map +1 -0
- package/dist/components/fields/segmented-control/use-segmented-control-context.d.ts +33 -0
- package/dist/components/fields/segmented-control/use-segmented-control-context.js +15 -0
- package/dist/components/fields/segmented-control/use-segmented-control-context.js.map +1 -0
- package/dist/components/fields/segmented-control/use-segmented-control-indicator.d.ts +22 -0
- package/dist/components/fields/segmented-control/use-segmented-control-indicator.js +67 -0
- package/dist/components/fields/segmented-control/use-segmented-control-indicator.js.map +1 -0
- package/dist/components/fields/switch/switch-root-variants.d.ts +1 -1
- package/dist/components/fields/switch/switch-root-variants.js +3 -3
- package/dist/components/fields/switch/switch-root-variants.js.map +1 -1
- package/dist/components/fields/textarea/textarea-variants.js +3 -3
- package/dist/components/fields/textarea/textarea-variants.js.map +1 -1
- package/dist/components/layout/group/group-variants.d.ts +43 -0
- package/dist/components/layout/group/group-variants.js +72 -0
- package/dist/components/layout/group/group-variants.js.map +1 -0
- package/dist/components/layout/group/group.d.ts +38 -0
- package/dist/components/layout/group/group.js +55 -0
- package/dist/components/layout/group/group.js.map +1 -0
- package/dist/components/layout/group/index.d.ts +3 -0
- package/dist/components/layout/group/index.js +2 -0
- package/dist/components/layout/scroll-area/scroll-area-thumb.js +3 -3
- package/dist/components/layout/scroll-area/scroll-area-thumb.js.map +1 -1
- package/dist/components/layout/separator/separator-variants.d.ts +1 -1
- package/dist/components/layout/separator/separator-variants.js +1 -1
- package/dist/components/layout/separator/separator-variants.js.map +1 -1
- package/dist/components/overlays/action-bar/action-bar-selection-trigger.js +2 -2
- package/dist/components/overlays/action-bar/action-bar-selection-trigger.js.map +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-backdrop.d.ts +1 -2
- package/dist/components/overlays/alert-dialog/alert-dialog-backdrop.js +1 -2
- package/dist/components/overlays/alert-dialog/alert-dialog-backdrop.js.map +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-body.d.ts +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-body.js +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-body.js.map +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-description.d.ts +1 -2
- package/dist/components/overlays/alert-dialog/alert-dialog-description.js +1 -2
- package/dist/components/overlays/alert-dialog/alert-dialog-description.js.map +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-footer.d.ts +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-footer.js +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-footer.js.map +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-header.d.ts +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-header.js +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-header.js.map +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-imperative.d.ts +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-imperative.js +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-imperative.js.map +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-indicator.d.ts +2 -2
- package/dist/components/overlays/alert-dialog/alert-dialog-indicator.js +2 -2
- package/dist/components/overlays/alert-dialog/alert-dialog-indicator.js.map +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-popup-variants.d.ts +4 -4
- package/dist/components/overlays/alert-dialog/alert-dialog-popup-variants.js +4 -4
- package/dist/components/overlays/alert-dialog/alert-dialog-popup-variants.js.map +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-title.d.ts +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-title.js +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-title.js.map +1 -1
- package/dist/components/overlays/alert-dialog/alert-dialog-viewport.d.ts +1 -2
- package/dist/components/overlays/alert-dialog/alert-dialog-viewport.js +1 -2
- package/dist/components/overlays/alert-dialog/alert-dialog-viewport.js.map +1 -1
- package/dist/components/overlays/dialog/dialog-backdrop.d.ts +1 -2
- package/dist/components/overlays/dialog/dialog-backdrop.js +1 -2
- package/dist/components/overlays/dialog/dialog-backdrop.js.map +1 -1
- package/dist/components/overlays/dialog/dialog-body.d.ts +5 -5
- package/dist/components/overlays/dialog/dialog-body.js +5 -5
- package/dist/components/overlays/dialog/dialog-body.js.map +1 -1
- package/dist/components/overlays/dialog/dialog-description.d.ts +4 -4
- package/dist/components/overlays/dialog/dialog-description.js +4 -4
- package/dist/components/overlays/dialog/dialog-description.js.map +1 -1
- package/dist/components/overlays/dialog/dialog-footer.d.ts +5 -6
- package/dist/components/overlays/dialog/dialog-footer.js +5 -6
- package/dist/components/overlays/dialog/dialog-footer.js.map +1 -1
- package/dist/components/overlays/dialog/dialog-header.d.ts +5 -6
- package/dist/components/overlays/dialog/dialog-header.js +5 -6
- package/dist/components/overlays/dialog/dialog-header.js.map +1 -1
- package/dist/components/overlays/dialog/dialog-popup-variants.d.ts +4 -4
- package/dist/components/overlays/dialog/dialog-popup-variants.js +4 -4
- package/dist/components/overlays/dialog/dialog-popup-variants.js.map +1 -1
- package/dist/components/overlays/dialog/dialog-title.d.ts +5 -5
- package/dist/components/overlays/dialog/dialog-title.js +5 -5
- package/dist/components/overlays/dialog/dialog-title.js.map +1 -1
- package/dist/components/overlays/dialog/dialog-viewport.d.ts +2 -2
- package/dist/components/overlays/dialog/dialog-viewport.js +2 -2
- package/dist/components/overlays/dialog/dialog-viewport.js.map +1 -1
- package/dist/components/overlays/drawer/drawer-backdrop.d.ts +1 -1
- package/dist/components/overlays/drawer/drawer-backdrop.js +1 -1
- package/dist/components/overlays/drawer/drawer-backdrop.js.map +1 -1
- package/dist/components/overlays/drawer/drawer-body.d.ts +3 -3
- package/dist/components/overlays/drawer/drawer-body.js +3 -3
- package/dist/components/overlays/drawer/drawer-body.js.map +1 -1
- package/dist/components/overlays/drawer/drawer-description.d.ts +1 -2
- package/dist/components/overlays/drawer/drawer-description.js +1 -2
- package/dist/components/overlays/drawer/drawer-description.js.map +1 -1
- package/dist/components/overlays/drawer/drawer-footer.d.ts +1 -2
- package/dist/components/overlays/drawer/drawer-footer.js +1 -2
- package/dist/components/overlays/drawer/drawer-footer.js.map +1 -1
- package/dist/components/overlays/drawer/drawer-header.d.ts +1 -2
- package/dist/components/overlays/drawer/drawer-header.js +1 -2
- package/dist/components/overlays/drawer/drawer-header.js.map +1 -1
- package/dist/components/overlays/drawer/drawer-popup-variants.d.ts +1 -1
- package/dist/components/overlays/drawer/drawer-popup-variants.js +1 -2
- package/dist/components/overlays/drawer/drawer-popup-variants.js.map +1 -1
- package/dist/components/overlays/drawer/drawer-title.d.ts +1 -2
- package/dist/components/overlays/drawer/drawer-title.js +1 -2
- package/dist/components/overlays/drawer/drawer-title.js.map +1 -1
- package/dist/components/overlays/menu/create-handle.d.ts +10 -0
- package/dist/components/overlays/menu/create-handle.js +11 -0
- package/dist/components/overlays/menu/create-handle.js.map +1 -0
- package/dist/components/overlays/menu/index.parts.d.ts +21 -3
- package/dist/components/overlays/menu/index.parts.js +38 -2
- package/dist/components/overlays/menu/index.parts.js.map +1 -1
- package/dist/components/overlays/menu/menu-arrow.d.ts +17 -0
- package/dist/components/overlays/menu/menu-arrow.js +48 -0
- package/dist/components/overlays/menu/menu-arrow.js.map +1 -0
- package/dist/components/overlays/menu/menu-backdrop.d.ts +16 -0
- package/dist/components/overlays/menu/menu-backdrop.js +36 -0
- package/dist/components/overlays/menu/menu-backdrop.js.map +1 -0
- package/dist/components/overlays/menu/menu-checkbox-item-indicator.d.ts +16 -0
- package/dist/components/overlays/menu/menu-checkbox-item-indicator.js +27 -0
- package/dist/components/overlays/menu/menu-checkbox-item-indicator.js.map +1 -0
- package/dist/components/overlays/menu/menu-checkbox-item.d.ts +24 -0
- package/dist/components/overlays/menu/menu-checkbox-item.js +31 -0
- package/dist/components/overlays/menu/menu-checkbox-item.js.map +1 -0
- package/dist/components/overlays/menu/menu-clear.d.ts +20 -0
- package/dist/components/overlays/menu/menu-clear.js +45 -0
- package/dist/components/overlays/menu/menu-clear.js.map +1 -0
- package/dist/components/overlays/menu/menu-empty.d.ts +18 -0
- package/dist/components/overlays/menu/menu-empty.js +32 -0
- package/dist/components/overlays/menu/menu-empty.js.map +1 -0
- package/dist/components/overlays/menu/menu-filter-provider.d.ts +43 -0
- package/dist/components/overlays/menu/menu-filter-provider.js +42 -0
- package/dist/components/overlays/menu/menu-filter-provider.js.map +1 -0
- package/dist/components/overlays/menu/menu-group-label.d.ts +1 -1
- package/dist/components/overlays/menu/menu-group-label.js +1 -1
- package/dist/components/overlays/menu/menu-group-label.js.map +1 -1
- package/dist/components/overlays/menu/menu-input.d.ts +22 -0
- package/dist/components/overlays/menu/menu-input.js +58 -0
- package/dist/components/overlays/menu/menu-input.js.map +1 -0
- package/dist/components/overlays/menu/menu-item-variants.d.ts +2 -2
- package/dist/components/overlays/menu/menu-item-variants.js +7 -7
- package/dist/components/overlays/menu/menu-item-variants.js.map +1 -1
- package/dist/components/overlays/menu/menu-link-item.d.ts +19 -0
- package/dist/components/overlays/menu/menu-link-item.js +28 -0
- package/dist/components/overlays/menu/menu-link-item.js.map +1 -0
- package/dist/components/overlays/menu/menu-list.d.ts +25 -0
- package/dist/components/overlays/menu/menu-list.js +43 -0
- package/dist/components/overlays/menu/menu-list.js.map +1 -0
- package/dist/components/overlays/menu/menu-popup.d.ts +7 -6
- package/dist/components/overlays/menu/menu-popup.js +9 -9
- package/dist/components/overlays/menu/menu-popup.js.map +1 -1
- package/dist/components/overlays/menu/menu-positioner.d.ts +5 -1
- package/dist/components/overlays/menu/menu-positioner.js +11 -2
- package/dist/components/overlays/menu/menu-positioner.js.map +1 -1
- package/dist/components/overlays/menu/menu-radio-group.d.ts +17 -0
- package/dist/components/overlays/menu/menu-radio-group.js +22 -0
- package/dist/components/overlays/menu/menu-radio-group.js.map +1 -0
- package/dist/components/overlays/menu/menu-radio-item-indicator.d.ts +16 -0
- package/dist/components/overlays/menu/menu-radio-item-indicator.js +34 -0
- package/dist/components/overlays/menu/menu-radio-item-indicator.js.map +1 -0
- package/dist/components/overlays/menu/menu-radio-item.d.ts +21 -0
- package/dist/components/overlays/menu/menu-radio-item.js +30 -0
- package/dist/components/overlays/menu/menu-radio-item.js.map +1 -0
- package/dist/components/overlays/menu/menu-root.d.ts +15 -6
- package/dist/components/overlays/menu/menu-root.js +15 -6
- package/dist/components/overlays/menu/menu-root.js.map +1 -1
- package/dist/components/overlays/menu/menu-separator.d.ts +6 -1
- package/dist/components/overlays/menu/menu-separator.js +6 -1
- package/dist/components/overlays/menu/menu-separator.js.map +1 -1
- package/dist/components/overlays/menu/menu-submenu-root.d.ts +39 -0
- package/dist/components/overlays/menu/menu-submenu-root.js +42 -0
- package/dist/components/overlays/menu/menu-submenu-root.js.map +1 -0
- package/dist/components/overlays/menu/menu-submenu-trigger.d.ts +21 -0
- package/dist/components/overlays/menu/menu-submenu-trigger.js +40 -0
- package/dist/components/overlays/menu/menu-submenu-trigger.js.map +1 -0
- package/dist/components/overlays/menu/menu-viewport.d.ts +19 -0
- package/dist/components/overlays/menu/menu-viewport.js +51 -0
- package/dist/components/overlays/menu/menu-viewport.js.map +1 -0
- package/dist/components/overlays/menu/use-filter.d.ts +19 -0
- package/dist/components/overlays/menu/use-filter.js +19 -0
- package/dist/components/overlays/menu/use-filter.js.map +1 -0
- package/dist/components/overlays/menu/use-menu-submenu-context.d.ts +9 -0
- package/dist/components/overlays/menu/use-menu-submenu-context.js +12 -0
- package/dist/components/overlays/menu/use-menu-submenu-context.js.map +1 -0
- package/dist/components/overlays/popover/popover-arrow.d.ts +2 -2
- package/dist/components/overlays/popover/popover-arrow.js +2 -2
- package/dist/components/overlays/popover/popover-arrow.js.map +1 -1
- package/dist/components/overlays/popover/popover-backdrop.d.ts +5 -4
- package/dist/components/overlays/popover/popover-backdrop.js +5 -4
- package/dist/components/overlays/popover/popover-backdrop.js.map +1 -1
- package/dist/components/overlays/popover/popover-popup-variants.d.ts +3 -2
- package/dist/components/overlays/popover/popover-popup-variants.js +3 -2
- package/dist/components/overlays/popover/popover-popup-variants.js.map +1 -1
- package/dist/components/overlays/popover/popover-positioner.d.ts +4 -3
- package/dist/components/overlays/popover/popover-positioner.js +4 -3
- package/dist/components/overlays/popover/popover-positioner.js.map +1 -1
- package/dist/components/overlays/popover/popover-viewport.d.ts +4 -4
- package/dist/components/overlays/popover/popover-viewport.js +4 -4
- package/dist/components/overlays/popover/popover-viewport.js.map +1 -1
- package/dist/components/typography/highlight/highlight.d.ts +35 -0
- package/dist/components/typography/highlight/highlight.js +43 -0
- package/dist/components/typography/highlight/highlight.js.map +1 -0
- package/dist/components/typography/highlight/index.d.ts +2 -0
- package/dist/components/typography/highlight/index.js +2 -0
- package/dist/components/typography/kbd/kbd-variants.d.ts +1 -1
- package/dist/components/typography/kbd/kbd-variants.js +9 -9
- package/dist/components/typography/kbd/kbd-variants.js.map +1 -1
- package/dist/components/typography/link/link-variants.d.ts +2 -2
- package/dist/components/typography/link/link-variants.js +24 -24
- package/dist/components/typography/link/link-variants.js.map +1 -1
- package/dist/components/typography/mark/mark-variants.d.ts +9 -3
- package/dist/components/typography/mark/mark-variants.js +25 -21
- package/dist/components/typography/mark/mark-variants.js.map +1 -1
- package/dist/components/typography/pre/pre-variants.d.ts +1 -1
- package/dist/components/typography/pre/pre-variants.js +25 -25
- package/dist/components/typography/pre/pre-variants.js.map +1 -1
- package/dist/types/color-scheme.d.ts +2 -2
- package/package.json +17 -5
- package/src/theme/theme.css +1268 -1228
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { cva } from "class-variance-authority";
|
|
2
|
+
//#region src/components/buttons/toggle/toggle-variants.ts
|
|
3
|
+
const toggleDefaultVariants = {
|
|
4
|
+
colorScheme: "gray",
|
|
5
|
+
size: "sm",
|
|
6
|
+
variant: "ghost"
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* No `ghost` e no `outline`, o Toggle troca a `variant` do `Button` para `solid` ao ligar (feito
|
|
10
|
+
* no componente), então o hover, o disabled e a cor do texto do ligado vêm do próprio `Button`. A
|
|
11
|
+
* `plain` mantém a `variant` nos dois estados: desligada, usa `text-gray-11`; ligada, pinta o
|
|
12
|
+
* texto com a variável `--button-solid-bg`, que o `colorScheme` do `Button` declara no mesmo
|
|
13
|
+
* elemento. Essas classes chegam ao `Button` como `className` e são mescladas por último, por isso
|
|
14
|
+
* vencem o `text-*` do `colorScheme`.
|
|
15
|
+
*
|
|
16
|
+
* O `iconOnly` (só `icon`, sem texto) copia do `IconButton` o `p-0` e o ajuste do ícone no toque
|
|
17
|
+
* por `size`; a origem é o `icon-button-variants.ts`.
|
|
18
|
+
*/
|
|
19
|
+
const toggleVariants = cva([], {
|
|
20
|
+
variants: {
|
|
21
|
+
variant: {
|
|
22
|
+
ghost: [],
|
|
23
|
+
outline: [],
|
|
24
|
+
plain: [
|
|
25
|
+
"text-gray-11",
|
|
26
|
+
"hover:text-gray-12",
|
|
27
|
+
"data-pressed:text-(--button-solid-bg)",
|
|
28
|
+
"data-pressed:hover:text-(--button-solid-bg)"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
iconOnly: {
|
|
32
|
+
true: ["p-0"],
|
|
33
|
+
false: []
|
|
34
|
+
},
|
|
35
|
+
size: {
|
|
36
|
+
"3xs": [],
|
|
37
|
+
"2xs": [],
|
|
38
|
+
xs: [],
|
|
39
|
+
sm: [],
|
|
40
|
+
md: [],
|
|
41
|
+
lg: [],
|
|
42
|
+
xl: [],
|
|
43
|
+
"2xl": []
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
compoundVariants: [
|
|
47
|
+
{
|
|
48
|
+
iconOnly: true,
|
|
49
|
+
size: "3xs",
|
|
50
|
+
className: ["pointer-coarse:[&_svg]:size-3"]
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
iconOnly: true,
|
|
54
|
+
size: "2xs",
|
|
55
|
+
className: ["pointer-coarse:[&_svg]:size-4"]
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
iconOnly: true,
|
|
59
|
+
size: "xs",
|
|
60
|
+
className: ["pointer-coarse:[&_svg]:size-4.5"]
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
iconOnly: true,
|
|
64
|
+
size: "sm",
|
|
65
|
+
className: ["pointer-coarse:[&_svg]:size-4.5"]
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
iconOnly: true,
|
|
69
|
+
size: "md",
|
|
70
|
+
className: ["pointer-coarse:[&_svg]:size-5.5"]
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
iconOnly: true,
|
|
74
|
+
size: "lg",
|
|
75
|
+
className: ["pointer-coarse:[&_svg]:size-5.5"]
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
iconOnly: true,
|
|
79
|
+
size: "xl",
|
|
80
|
+
className: ["pointer-coarse:[&_svg]:size-5.5"]
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
iconOnly: true,
|
|
84
|
+
size: "2xl",
|
|
85
|
+
className: ["pointer-coarse:[&_svg]:size-6.5"]
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
defaultVariants: {
|
|
89
|
+
variant: toggleDefaultVariants.variant,
|
|
90
|
+
size: toggleDefaultVariants.size,
|
|
91
|
+
iconOnly: false
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
//#endregion
|
|
95
|
+
export { toggleDefaultVariants, toggleVariants };
|
|
96
|
+
|
|
97
|
+
//# sourceMappingURL=toggle-variants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle-variants.js","names":[],"sources":["../../../../src/components/buttons/toggle/toggle-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { ButtonVariants } from '#components/buttons/button';\n\nexport type ToggleVariants = {\n /**\n * Cor do botão, a mesma do `Button`.\n *\n * @default 'gray'\n */\n colorScheme?: ButtonVariants['colorScheme'];\n /**\n * Altura, padding, tamanho do texto e do ícone, a mesma escala do `Button`. Só com `icon`, o\n * botão fica quadrado e, no toque, o ícone cresce um pouco para compensar a falta do texto.\n *\n * @default 'sm'\n */\n size?: ButtonVariants['size'];\n /**\n * Desenho do botão.\n * - `ghost`: sem fundo e sem borda; ligado, vira o `solid` do `Button`.\n * - `outline`: com borda; ligado, vira o `solid` do `Button`.\n * - `plain`: sem fundo nos dois estados; ligado, só o texto e o ícone ganham a cor de passo 9\n * do `colorScheme`. Pensado para o botão só com ícone (favorito, estrela).\n *\n * @default 'ghost'\n */\n variant?: 'ghost' | 'outline' | 'plain';\n};\n\nexport const toggleDefaultVariants: Required<ToggleVariants> = {\n colorScheme: 'gray',\n size: 'sm',\n variant: 'ghost',\n};\n\n/**\n * No `ghost` e no `outline`, o Toggle troca a `variant` do `Button` para `solid` ao ligar (feito\n * no componente), então o hover, o disabled e a cor do texto do ligado vêm do próprio `Button`. A\n * `plain` mantém a `variant` nos dois estados: desligada, usa `text-gray-11`; ligada, pinta o\n * texto com a variável `--button-solid-bg`, que o `colorScheme` do `Button` declara no mesmo\n * elemento. Essas classes chegam ao `Button` como `className` e são mescladas por último, por isso\n * vencem o `text-*` do `colorScheme`.\n *\n * O `iconOnly` (só `icon`, sem texto) copia do `IconButton` o `p-0` e o ajuste do ícone no toque\n * por `size`; a origem é o `icon-button-variants.ts`.\n */\nexport const toggleVariants = cva([], {\n variants: {\n variant: {\n ghost: [],\n outline: [],\n plain: [\n 'text-gray-11',\n 'hover:text-gray-12',\n 'data-pressed:text-(--button-solid-bg)',\n 'data-pressed:hover:text-(--button-solid-bg)',\n ],\n },\n iconOnly: {\n true: ['p-0'],\n false: [],\n },\n size: {\n '3xs': [],\n '2xs': [],\n xs: [],\n sm: [],\n md: [],\n lg: [],\n xl: [],\n '2xl': [],\n },\n },\n compoundVariants: [\n {\n iconOnly: true,\n size: '3xs',\n className: ['pointer-coarse:[&_svg]:size-3'],\n },\n {\n iconOnly: true,\n size: '2xs',\n className: ['pointer-coarse:[&_svg]:size-4'],\n },\n {\n iconOnly: true,\n size: 'xs',\n className: ['pointer-coarse:[&_svg]:size-4.5'],\n },\n {\n iconOnly: true,\n size: 'sm',\n className: ['pointer-coarse:[&_svg]:size-4.5'],\n },\n {\n iconOnly: true,\n size: 'md',\n className: ['pointer-coarse:[&_svg]:size-5.5'],\n },\n {\n iconOnly: true,\n size: 'lg',\n className: ['pointer-coarse:[&_svg]:size-5.5'],\n },\n {\n iconOnly: true,\n size: 'xl',\n className: ['pointer-coarse:[&_svg]:size-5.5'],\n },\n {\n iconOnly: true,\n size: '2xl',\n className: ['pointer-coarse:[&_svg]:size-6.5'],\n },\n ],\n defaultVariants: {\n variant: toggleDefaultVariants.variant,\n size: toggleDefaultVariants.size,\n iconOnly: false,\n },\n});\n"],"mappings":";;AA6BA,MAAa,wBAAkD;CAC7D,aAAa;CACb,MAAM;CACN,SAAS;AACX;;;;;;;;;;;;AAaA,MAAa,iBAAiB,IAAI,CAAC,GAAG;CACpC,UAAU;EACR,SAAS;GACP,OAAO,CAAC;GACR,SAAS,CAAC;GACV,OAAO;IACL;IACA;IACA;IACA;GACF;EACF;EACA,UAAU;GACR,MAAM,CAAC,KAAK;GACZ,OAAO,CAAC;EACV;EACA,MAAM;GACJ,OAAO,CAAC;GACR,OAAO,CAAC;GACR,IAAI,CAAC;GACL,IAAI,CAAC;GACL,IAAI,CAAC;GACL,IAAI,CAAC;GACL,IAAI,CAAC;GACL,OAAO,CAAC;EACV;CACF;CACA,kBAAkB;EAChB;GACE,UAAU;GACV,MAAM;GACN,WAAW,CAAC,+BAA+B;EAC7C;EACA;GACE,UAAU;GACV,MAAM;GACN,WAAW,CAAC,+BAA+B;EAC7C;EACA;GACE,UAAU;GACV,MAAM;GACN,WAAW,CAAC,iCAAiC;EAC/C;EACA;GACE,UAAU;GACV,MAAM;GACN,WAAW,CAAC,iCAAiC;EAC/C;EACA;GACE,UAAU;GACV,MAAM;GACN,WAAW,CAAC,iCAAiC;EAC/C;EACA;GACE,UAAU;GACV,MAAM;GACN,WAAW,CAAC,iCAAiC;EAC/C;EACA;GACE,UAAU;GACV,MAAM;GACN,WAAW,CAAC,iCAAiC;EAC/C;EACA;GACE,UAAU;GACV,MAAM;GACN,WAAW,CAAC,iCAAiC;EAC/C;CACF;CACA,iBAAiB;EACf,SAAS,sBAAsB;EAC/B,MAAM,sBAAsB;EAC5B,UAAU;CACZ;AACF,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { ButtonProps } from "../button/button.js";
|
|
2
|
+
import "../button/index.js";
|
|
3
|
+
import { ToggleVariants } from "./toggle-variants.js";
|
|
4
|
+
import { MergeOverride } from "@lucasbernardosn/ts-utils";
|
|
5
|
+
import { Toggle as Toggle$1 } from "@base-ui/react/toggle";
|
|
6
|
+
//#region src/components/buttons/toggle/toggle.d.ts
|
|
7
|
+
export type ToggleProps = MergeOverride<Toggle$1.Props, ToggleVariants & {
|
|
8
|
+
/**
|
|
9
|
+
* Ícone do botão, antes do texto, no tamanho definido pelo `size`. Só `icon`, sem `children`,
|
|
10
|
+
* deixa o botão quadrado.
|
|
11
|
+
*/
|
|
12
|
+
icon?: ButtonProps['icon'];
|
|
13
|
+
/**
|
|
14
|
+
* Ícone do botão ligado, no lugar do `icon`. Sem ele, o ícone é o mesmo nos dois estados.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* <Toggle icon={<HeartIcon />} pressedIcon={<HeartIcon weight="fill" />} />
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
pressedIcon?: ButtonProps['icon'];
|
|
22
|
+
}>;
|
|
23
|
+
export type ToggleState = Toggle$1.State;
|
|
24
|
+
export type ToggleChangeEventDetails = Toggle$1.ChangeEventDetails;
|
|
25
|
+
export type ToggleChangeEventReason = Toggle$1.ChangeEventReason;
|
|
26
|
+
/**
|
|
27
|
+
* Botão de dois estados (ligado e desligado), com `aria-pressed`. Renderiza o `Button` da lib, com
|
|
28
|
+
* a mesma `colorScheme` e `size`.
|
|
29
|
+
*
|
|
30
|
+
* Na `variant` `ghost` ou `outline`, o desligado é o `Button` com o mesmo nome e o ligado é o
|
|
31
|
+
* `solid`. Na `plain`, o botão não tem fundo: o ligado só pinta o texto e o ícone com a cor de
|
|
32
|
+
* passo 9 do `colorScheme`, o que serve ao caso só com ícone (favorito, estrela). Com texto, essa
|
|
33
|
+
* cor pode ficar sem contraste em cores claras (`yellow`, `amber`).
|
|
34
|
+
*
|
|
35
|
+
* O ícone só muda ao ligar se houver `pressedIcon`: ele entra no lugar do `icon`.
|
|
36
|
+
*
|
|
37
|
+
* Só com `icon`, sem `children`, o botão não tem texto: passe um `aria-label` que diga o que ele
|
|
38
|
+
* faz ("Negrito"), porque o ícone sai do leitor de tela.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```tsx
|
|
42
|
+
* <Toggle
|
|
43
|
+
* aria-label="Negrito"
|
|
44
|
+
* icon={<TextBIcon />}
|
|
45
|
+
* />
|
|
46
|
+
*
|
|
47
|
+
* <Toggle
|
|
48
|
+
* aria-label="Favorito"
|
|
49
|
+
* variant="plain"
|
|
50
|
+
* colorScheme="red"
|
|
51
|
+
* icon={<HeartIcon />}
|
|
52
|
+
* pressedIcon={<HeartIcon weight="fill" />}
|
|
53
|
+
* />
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
export declare const Toggle: {
|
|
57
|
+
(props: ToggleProps): import("react").JSX.Element;
|
|
58
|
+
displayName: string;
|
|
59
|
+
};
|
|
60
|
+
//#endregion
|
|
61
|
+
//# sourceMappingURL=toggle.d.ts.map
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { mergeStateClassNames } from "../../../utils/merge-state-class-names.js";
|
|
2
|
+
import { Button } from "../button/button.js";
|
|
3
|
+
import { toggleDefaultVariants, toggleVariants } from "./toggle-variants.js";
|
|
4
|
+
import { createSplitProps } from "@lucasbernardosn/ts-utils";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import { Toggle as Toggle$1 } from "@base-ui/react/toggle";
|
|
7
|
+
//#region src/components/buttons/toggle/toggle.tsx
|
|
8
|
+
const splitVariantProps = createSplitProps();
|
|
9
|
+
/**
|
|
10
|
+
* Botão de dois estados (ligado e desligado), com `aria-pressed`. Renderiza o `Button` da lib, com
|
|
11
|
+
* a mesma `colorScheme` e `size`.
|
|
12
|
+
*
|
|
13
|
+
* Na `variant` `ghost` ou `outline`, o desligado é o `Button` com o mesmo nome e o ligado é o
|
|
14
|
+
* `solid`. Na `plain`, o botão não tem fundo: o ligado só pinta o texto e o ícone com a cor de
|
|
15
|
+
* passo 9 do `colorScheme`, o que serve ao caso só com ícone (favorito, estrela). Com texto, essa
|
|
16
|
+
* cor pode ficar sem contraste em cores claras (`yellow`, `amber`).
|
|
17
|
+
*
|
|
18
|
+
* O ícone só muda ao ligar se houver `pressedIcon`: ele entra no lugar do `icon`.
|
|
19
|
+
*
|
|
20
|
+
* Só com `icon`, sem `children`, o botão não tem texto: passe um `aria-label` que diga o que ele
|
|
21
|
+
* faz ("Negrito"), porque o ícone sai do leitor de tela.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* <Toggle
|
|
26
|
+
* aria-label="Negrito"
|
|
27
|
+
* icon={<TextBIcon />}
|
|
28
|
+
* />
|
|
29
|
+
*
|
|
30
|
+
* <Toggle
|
|
31
|
+
* aria-label="Favorito"
|
|
32
|
+
* variant="plain"
|
|
33
|
+
* colorScheme="red"
|
|
34
|
+
* icon={<HeartIcon />}
|
|
35
|
+
* pressedIcon={<HeartIcon weight="fill" />}
|
|
36
|
+
* />
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
const Toggle = (props) => {
|
|
40
|
+
const [variantProps, elementProps] = splitVariantProps(props, [
|
|
41
|
+
"colorScheme",
|
|
42
|
+
"size",
|
|
43
|
+
"variant"
|
|
44
|
+
]);
|
|
45
|
+
const { className, children, icon, pressedIcon, ...rest } = elementProps;
|
|
46
|
+
const { colorScheme = toggleDefaultVariants.colorScheme, size = toggleDefaultVariants.size, variant = toggleDefaultVariants.variant } = variantProps;
|
|
47
|
+
return /* @__PURE__ */ jsx(Toggle$1, {
|
|
48
|
+
"data-component": "Toggle",
|
|
49
|
+
className: mergeStateClassNames(toggleVariants({
|
|
50
|
+
iconOnly: icon !== void 0 && !children,
|
|
51
|
+
size,
|
|
52
|
+
variant
|
|
53
|
+
}), className),
|
|
54
|
+
render: (renderProps, state) => /* @__PURE__ */ jsx(Button, {
|
|
55
|
+
...renderProps,
|
|
56
|
+
colorScheme,
|
|
57
|
+
size,
|
|
58
|
+
variant: state.pressed && variant !== "plain" ? "solid" : variant,
|
|
59
|
+
icon: state.pressed && pressedIcon ? pressedIcon : icon,
|
|
60
|
+
children
|
|
61
|
+
}),
|
|
62
|
+
...rest
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
Toggle.displayName = "Toggle";
|
|
66
|
+
//#endregion
|
|
67
|
+
export { Toggle };
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle.js","names":["BaseToggle"],"sources":["../../../../src/components/buttons/toggle/toggle.tsx"],"sourcesContent":["import { Toggle as BaseToggle } from '@base-ui/react/toggle';\nimport {\n createSplitProps,\n type MergeOverride,\n} from '@lucasbernardosn/ts-utils';\nimport { Button, type ButtonProps } from '#components/buttons/button';\nimport { mergeStateClassNames } from '#utils';\nimport {\n type ToggleVariants,\n toggleDefaultVariants,\n toggleVariants,\n} from './toggle-variants';\n\nexport type ToggleProps = MergeOverride<\n BaseToggle.Props,\n ToggleVariants & {\n /**\n * Ícone do botão, antes do texto, no tamanho definido pelo `size`. Só `icon`, sem `children`,\n * deixa o botão quadrado.\n */\n icon?: ButtonProps['icon'];\n /**\n * Ícone do botão ligado, no lugar do `icon`. Sem ele, o ícone é o mesmo nos dois estados.\n *\n * @example\n * ```tsx\n * <Toggle icon={<HeartIcon />} pressedIcon={<HeartIcon weight=\"fill\" />} />\n * ```\n */\n pressedIcon?: ButtonProps['icon'];\n }\n>;\n\nexport type ToggleState = BaseToggle.State;\n\nexport type ToggleChangeEventDetails = BaseToggle.ChangeEventDetails;\n\nexport type ToggleChangeEventReason = BaseToggle.ChangeEventReason;\n\nconst splitVariantProps = createSplitProps<ToggleVariants>();\n\n/**\n * Botão de dois estados (ligado e desligado), com `aria-pressed`. Renderiza o `Button` da lib, com\n * a mesma `colorScheme` e `size`.\n *\n * Na `variant` `ghost` ou `outline`, o desligado é o `Button` com o mesmo nome e o ligado é o\n * `solid`. Na `plain`, o botão não tem fundo: o ligado só pinta o texto e o ícone com a cor de\n * passo 9 do `colorScheme`, o que serve ao caso só com ícone (favorito, estrela). Com texto, essa\n * cor pode ficar sem contraste em cores claras (`yellow`, `amber`).\n *\n * O ícone só muda ao ligar se houver `pressedIcon`: ele entra no lugar do `icon`.\n *\n * Só com `icon`, sem `children`, o botão não tem texto: passe um `aria-label` que diga o que ele\n * faz (\"Negrito\"), porque o ícone sai do leitor de tela.\n *\n * @example\n * ```tsx\n * <Toggle\n * aria-label=\"Negrito\"\n * icon={<TextBIcon />}\n * />\n *\n * <Toggle\n * aria-label=\"Favorito\"\n * variant=\"plain\"\n * colorScheme=\"red\"\n * icon={<HeartIcon />}\n * pressedIcon={<HeartIcon weight=\"fill\" />}\n * />\n * ```\n */\nexport const Toggle = (props: ToggleProps) => {\n const [variantProps, elementProps] = splitVariantProps(props, [\n 'colorScheme',\n 'size',\n 'variant',\n ]);\n\n const { className, children, icon, pressedIcon, ...rest } = elementProps;\n\n const {\n colorScheme = toggleDefaultVariants.colorScheme,\n size = toggleDefaultVariants.size,\n variant = toggleDefaultVariants.variant,\n } = variantProps;\n\n const iconOnly = icon !== undefined && !children;\n\n return (\n <BaseToggle\n data-component=\"Toggle\"\n className={mergeStateClassNames(\n toggleVariants({ iconOnly, size, variant }),\n className,\n )}\n // Função, para a variant e o ícone seguirem o estado: sem estado duplicado, o `pressed` vale\n // para o modo controlado e para o não controlado.\n render={(renderProps, state) => (\n <Button\n {...renderProps}\n colorScheme={colorScheme}\n size={size}\n variant={state.pressed && variant !== 'plain' ? 'solid' : variant}\n icon={state.pressed && pressedIcon ? pressedIcon : icon}\n >\n {children}\n </Button>\n )}\n {...rest}\n />\n );\n};\n\nToggle.displayName = 'Toggle';\n"],"mappings":";;;;;;;AAuCA,MAAM,oBAAoB,iBAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgC3D,MAAa,UAAU,UAAuB;CAC5C,MAAM,CAAC,cAAc,gBAAgB,kBAAkB,OAAO;EAC5D;EACA;EACA;CACF,CAAC;CAED,MAAM,EAAE,WAAW,UAAU,MAAM,aAAa,GAAG,SAAS;CAE5D,MAAM,EACJ,cAAc,sBAAsB,aACpC,OAAO,sBAAsB,MAC7B,UAAU,sBAAsB,YAC9B;CAIJ,OACE,oBAACA,UAAD;EACE,kBAAe;EACf,WAAW,qBACT,eAAe;GAAE,UANN,SAAS,KAAA,KAAa,CAAC;GAMP;GAAM;EAAQ,CAAC,GAC1C,SACF;EAGA,SAAS,aAAa,UACpB,oBAAC,QAAD;GACE,GAAI;GACS;GACP;GACN,SAAS,MAAM,WAAW,YAAY,UAAU,UAAU;GAC1D,MAAM,MAAM,WAAW,cAAc,cAAc;GAElD;EACK,CAAA;EAEV,GAAI;CACL,CAAA;AAEL;AAEA,OAAO,cAAc"}
|
|
@@ -3,8 +3,8 @@ import { cva } from "class-variance-authority";
|
|
|
3
3
|
//#region src/components/collections/async-select/async-select-variants.ts
|
|
4
4
|
const asyncSelectDefaultVariants = { size: "sm" };
|
|
5
5
|
/**
|
|
6
|
-
* Cópia de `selectTriggerVariants` (a origem do visual dos campos é o `
|
|
7
|
-
*
|
|
6
|
+
* Cópia de `selectTriggerVariants` (a origem do visual dos campos é o `inputVariants`): o anel de
|
|
7
|
+
* foco e o inválido funcionam do mesmo jeito, explicados lá. As diferenças:
|
|
8
8
|
* - o react-select zera o `outline` do controle com `!important`, então o anel é um `ring-inset`
|
|
9
9
|
* de 1px com a borda na mesma cor, no lugar do `outline`;
|
|
10
10
|
* - foco, inválido e menu aberto vêm do estado do react-select, e não de `data-*`;
|
|
@@ -18,7 +18,7 @@ const controlVariants = cva([
|
|
|
18
18
|
"corner-squircle",
|
|
19
19
|
"bg-white/90",
|
|
20
20
|
"dark:bg-black/90",
|
|
21
|
-
"border-gray-
|
|
21
|
+
"border-gray-7",
|
|
22
22
|
"text-gray-12",
|
|
23
23
|
"font-normal",
|
|
24
24
|
"[--async-select-focus-color:var(--color-black)]",
|
|
@@ -51,7 +51,7 @@ const controlVariants = cva([
|
|
|
51
51
|
"2xl": ["min-h-16", "text-lg"]
|
|
52
52
|
},
|
|
53
53
|
invalid: {
|
|
54
|
-
true: ["border-red-9", "[--async-select-focus-color:var(--
|
|
54
|
+
true: ["border-red-9", "[--async-select-focus-color:var(--red-9)]"],
|
|
55
55
|
false: []
|
|
56
56
|
},
|
|
57
57
|
focused: {
|
|
@@ -95,7 +95,7 @@ const multiValueVariants = cva([
|
|
|
95
95
|
"items-center",
|
|
96
96
|
"rounded-md",
|
|
97
97
|
"corner-squircle",
|
|
98
|
-
"bg-gray-
|
|
98
|
+
"bg-gray-a4"
|
|
99
99
|
], {
|
|
100
100
|
variants: { size: {
|
|
101
101
|
"2xs": [
|
|
@@ -151,9 +151,8 @@ const multiValueVariants = cva([
|
|
|
151
151
|
defaultVariants: { size: asyncSelectDefaultVariants.size }
|
|
152
152
|
});
|
|
153
153
|
/**
|
|
154
|
-
* Cópia de `popoverPopupVariants`, a origem da superfície dos popups
|
|
155
|
-
*
|
|
156
|
-
* saída. O menu vai para o `body` pelo portal, então a cor do texto é declarada aqui.
|
|
154
|
+
* Cópia de `popoverPopupVariants`, a origem da superfície dos popups, sem animação: o react-select
|
|
155
|
+
* monta e desmonta o menu sem estados de entrada e saída. O menu vai para o `body` pelo portal, então a cor do texto é declarada aqui.
|
|
157
156
|
*/
|
|
158
157
|
const menuClassNames = [
|
|
159
158
|
"my-2.5",
|
|
@@ -1 +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":"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"}
|
|
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 `inputVariants`): o anel de\n * 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-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: ['border-red-9', '[--async-select-focus-color:var(--red-9)]'],\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-a4'],\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, sem animação: o react-select\n * monta e desmonta o menu sem estados de entrada e 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":"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"}
|
|
@@ -5,8 +5,7 @@ export type AutocompleteBackdropState = Autocomplete.Backdrop.State;
|
|
|
5
5
|
/**
|
|
6
6
|
* Camada atrás do popup que cobre e escurece a página.
|
|
7
7
|
*
|
|
8
|
-
* Cópia de `PopoverBackdrop`, a origem do backdrop dos popups, sem diferenças
|
|
9
|
-
* de `overlays`).
|
|
8
|
+
* Cópia de `PopoverBackdrop`, a origem do backdrop dos popups, sem diferenças.
|
|
10
9
|
*/
|
|
11
10
|
export declare const AutocompleteBackdrop: {
|
|
12
11
|
(props: AutocompleteBackdropProps): import("react").JSX.Element;
|
|
@@ -5,8 +5,7 @@ import { Autocomplete } from "@base-ui/react/autocomplete";
|
|
|
5
5
|
/**
|
|
6
6
|
* Camada atrás do popup que cobre e escurece a página.
|
|
7
7
|
*
|
|
8
|
-
* Cópia de `PopoverBackdrop`, a origem do backdrop dos popups, sem diferenças
|
|
9
|
-
* de `overlays`).
|
|
8
|
+
* Cópia de `PopoverBackdrop`, a origem do backdrop dos popups, sem diferenças.
|
|
10
9
|
*/
|
|
11
10
|
const AutocompleteBackdrop = (props) => {
|
|
12
11
|
const { className, ...rest } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete-backdrop.js","names":["BaseAutocomplete"],"sources":["../../../../src/components/collections/autocomplete/autocomplete-backdrop.tsx"],"sourcesContent":["import { Autocomplete as BaseAutocomplete } from '@base-ui/react/autocomplete';\nimport { mergeStateClassNames } from '#utils';\n\nexport type AutocompleteBackdropProps = BaseAutocomplete.Backdrop.Props;\n\nexport type AutocompleteBackdropState = BaseAutocomplete.Backdrop.State;\n\n/**\n * Camada atrás do popup que cobre e escurece a página.\n *\n * Cópia de `PopoverBackdrop`, a origem do backdrop dos popups, sem diferenças
|
|
1
|
+
{"version":3,"file":"autocomplete-backdrop.js","names":["BaseAutocomplete"],"sources":["../../../../src/components/collections/autocomplete/autocomplete-backdrop.tsx"],"sourcesContent":["import { Autocomplete as BaseAutocomplete } from '@base-ui/react/autocomplete';\nimport { mergeStateClassNames } from '#utils';\n\nexport type AutocompleteBackdropProps = BaseAutocomplete.Backdrop.Props;\n\nexport type AutocompleteBackdropState = BaseAutocomplete.Backdrop.State;\n\n/**\n * Camada atrás do popup que cobre e escurece a página.\n *\n * Cópia de `PopoverBackdrop`, a origem do backdrop dos popups, sem diferenças.\n */\nexport const AutocompleteBackdrop = (props: AutocompleteBackdropProps) => {\n const { className, ...rest } = props;\n\n return (\n <BaseAutocomplete.Backdrop\n data-component=\"Autocomplete.Backdrop\"\n className={mergeStateClassNames(\n [\n 'fixed',\n 'inset-0',\n 'min-h-dvh',\n 'supports-[-webkit-touch-callout:none]:absolute',\n\n 'bg-black/40',\n\n 'not-motion-reduced:transition-opacity',\n 'not-motion-reduced:ease-enter',\n // Mesma duração e curva do `Popup` em cada sentido, para os dois sumirem juntos.\n 'not-motion-reduced:duration-150',\n 'not-motion-reduced:data-ending-style:duration-100',\n 'not-motion-reduced:data-ending-style:ease-exit',\n\n 'data-ending-style:opacity-0',\n 'data-starting-style:opacity-0',\n ],\n className,\n )}\n {...rest}\n />\n );\n};\n\nAutocompleteBackdrop.displayName = 'Autocomplete.Backdrop';\n"],"mappings":";;;;;;;;;AAYA,MAAa,wBAAwB,UAAqC;CACxE,MAAM,EAAE,WAAW,GAAG,SAAS;CAE/B,OACE,oBAACA,aAAiB,UAAlB;EACE,kBAAe;EACf,WAAW,qBACT;GACE;GACA;GACA;GACA;GAEA;GAEA;GACA;GAEA;GACA;GACA;GAEA;GACA;EACF,GACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,qBAAqB,cAAc"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
//#region src/components/collections/autocomplete/autocomplete-group-label-variants.d.ts
|
|
2
2
|
/**
|
|
3
|
-
* Cópia de `selectGroupLabelVariants`, a origem do rótulo de grupo das listas em popup
|
|
4
|
-
*
|
|
5
|
-
* `
|
|
6
|
-
*
|
|
3
|
+
* Cópia de `selectGroupLabelVariants`, a origem do rótulo de grupo das listas em popup. A
|
|
4
|
+
* diferença é o recuo: sem a coluna do check, ele é o padding do `Autocomplete.Item` em cada
|
|
5
|
+
* `size`, e o texto do rótulo alinha com o dos itens. Mudar o espaçamento do item pede mudar
|
|
6
|
+
* estes valores.
|
|
7
7
|
*/
|
|
8
8
|
export declare const autocompleteGroupLabelVariants: (props?: ({
|
|
9
9
|
size?: "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
|
|
@@ -2,10 +2,10 @@ import { autocompleteDefaultVariants } from "./use-autocomplete-context.js";
|
|
|
2
2
|
import { cva } from "class-variance-authority";
|
|
3
3
|
//#region src/components/collections/autocomplete/autocomplete-group-label-variants.ts
|
|
4
4
|
/**
|
|
5
|
-
* Cópia de `selectGroupLabelVariants`, a origem do rótulo de grupo das listas em popup
|
|
6
|
-
*
|
|
7
|
-
* `
|
|
8
|
-
*
|
|
5
|
+
* Cópia de `selectGroupLabelVariants`, a origem do rótulo de grupo das listas em popup. A
|
|
6
|
+
* diferença é o recuo: sem a coluna do check, ele é o padding do `Autocomplete.Item` em cada
|
|
7
|
+
* `size`, e o texto do rótulo alinha com o dos itens. Mudar o espaçamento do item pede mudar
|
|
8
|
+
* estes valores.
|
|
9
9
|
*/
|
|
10
10
|
const autocompleteGroupLabelVariants = cva([
|
|
11
11
|
"sticky",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete-group-label-variants.js","names":[],"sources":["../../../../src/components/collections/autocomplete/autocomplete-group-label-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport { autocompleteDefaultVariants } from './use-autocomplete-context';\n\n/**\n * Cópia de `selectGroupLabelVariants`, a origem do rótulo de grupo das listas em popup
|
|
1
|
+
{"version":3,"file":"autocomplete-group-label-variants.js","names":[],"sources":["../../../../src/components/collections/autocomplete/autocomplete-group-label-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport { autocompleteDefaultVariants } from './use-autocomplete-context';\n\n/**\n * Cópia de `selectGroupLabelVariants`, a origem do rótulo de grupo das listas em popup. A\n * diferença é o recuo: sem a coluna do check, ele é o padding do `Autocomplete.Item` em cada\n * `size`, e o texto do rótulo alinha com o dos itens. Mudar o espaçamento do item pede mudar\n * estes valores.\n */\nexport const autocompleteGroupLabelVariants = cva(\n [\n 'sticky',\n 'top-0',\n 'z-1',\n\n // Mesmo fundo do popup: fixo no topo, o rótulo cobre os itens que rolam por baixo.\n 'bg-white',\n 'dark:bg-gray-2',\n\n 'pt-2',\n 'pb-1',\n\n 'text-gray-11',\n 'font-medium',\n 'uppercase',\n 'tracking-wider',\n ],\n {\n variants: {\n size: {\n '2xs': [\n 'ps-2',\n 'pe-2',\n\n 'text-[0.6875rem]', // 11px\n ],\n xs: [\n 'ps-2',\n 'pe-2',\n\n 'text-[0.6875rem]', // 11px\n ],\n sm: [\n 'ps-2.5',\n 'pe-2.5',\n\n 'text-[0.6875rem]', // 11px\n ],\n md: [\n 'ps-3',\n 'pe-3',\n\n 'text-[0.6875rem]', // 11px\n ],\n lg: [\n 'ps-4',\n 'pe-4',\n\n 'text-[0.8125rem]', // 13px\n ],\n xl: [\n 'ps-4.5',\n 'pe-4.5',\n\n 'text-[0.8125rem]', // 13px\n ],\n '2xl': [\n 'ps-5',\n 'pe-5',\n\n 'text-sm',\n ],\n },\n },\n defaultVariants: {\n size: autocompleteDefaultVariants.size,\n },\n },\n);\n"],"mappings":";;;;;;;;;AASA,MAAa,iCAAiC,IAC5C;CACE;CACA;CACA;CAGA;CACA;CAEA;CACA;CAEA;CACA;CACA;CACA;AACF,GACA;CACE,UAAU,EACR,MAAM;EACJ,OAAO;GACL;GACA;GAEA;EACF;EACA,IAAI;GACF;GACA;GAEA;EACF;EACA,IAAI;GACF;GACA;GAEA;EACF;EACA,IAAI;GACF;GACA;GAEA;EACF;EACA,IAAI;GACF;GACA;GAEA;EACF;EACA,IAAI;GACF;GACA;GAEA;EACF;EACA,OAAO;GACL;GACA;GAEA;EACF;CACF,EACF;CACA,iBAAiB,EACf,MAAM,4BAA4B,KACpC;AACF,CACF"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
//#region src/components/collections/autocomplete/autocomplete-input-variants.d.ts
|
|
2
2
|
/**
|
|
3
|
-
* Cópia de `inputVariants`, a origem do visual dos campos
|
|
4
|
-
*
|
|
5
|
-
* `Autocomplete.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
3
|
+
* Cópia de `inputVariants`, a origem do visual dos campos: o anel de foco e o inválido funcionam
|
|
4
|
+
* do mesmo jeito, explicados lá. A diferença é o padding do fim: o `Autocomplete.Clear` e o
|
|
5
|
+
* `Autocomplete.Trigger` ficam sobre o campo, e o texto reserva a largura de cada um que existe
|
|
6
|
+
* (`--autocomplete-clear-width` e `--autocomplete-trigger-width`, declaradas por
|
|
7
|
+
* `autocompleteInputGroupVariants`), sem passar por baixo deles.
|
|
8
8
|
*/
|
|
9
9
|
export declare const autocompleteInputVariants: (props?: ({
|
|
10
10
|
variant?: "subtle" | "outline" | null | undefined;
|
|
@@ -7,11 +7,11 @@ import { cva } from "class-variance-authority";
|
|
|
7
7
|
*/
|
|
8
8
|
const trailingPadding = "pe-[max(var(--autocomplete-px),calc(var(--autocomplete-clear-width)+var(--autocomplete-trigger-width)))]";
|
|
9
9
|
/**
|
|
10
|
-
* Cópia de `inputVariants`, a origem do visual dos campos
|
|
11
|
-
*
|
|
12
|
-
* `Autocomplete.
|
|
13
|
-
*
|
|
14
|
-
*
|
|
10
|
+
* Cópia de `inputVariants`, a origem do visual dos campos: o anel de foco e o inválido funcionam
|
|
11
|
+
* do mesmo jeito, explicados lá. A diferença é o padding do fim: o `Autocomplete.Clear` e o
|
|
12
|
+
* `Autocomplete.Trigger` ficam sobre o campo, e o texto reserva a largura de cada um que existe
|
|
13
|
+
* (`--autocomplete-clear-width` e `--autocomplete-trigger-width`, declaradas por
|
|
14
|
+
* `autocompleteInputGroupVariants`), sem passar por baixo deles.
|
|
15
15
|
*/
|
|
16
16
|
const autocompleteInputVariants = cva([
|
|
17
17
|
"relative",
|
|
@@ -43,16 +43,16 @@ const autocompleteInputVariants = cva([
|
|
|
43
43
|
"data-disabled:opacity-50",
|
|
44
44
|
"data-disabled:cursor-not-allowed",
|
|
45
45
|
"data-invalid:border-red-9",
|
|
46
|
-
"data-invalid:[--autocomplete-focus-color:var(--
|
|
46
|
+
"data-invalid:[--autocomplete-focus-color:var(--red-9)]",
|
|
47
47
|
"aria-invalid:border-red-9",
|
|
48
|
-
"aria-invalid:[--autocomplete-focus-color:var(--
|
|
48
|
+
"aria-invalid:[--autocomplete-focus-color:var(--red-9)]"
|
|
49
49
|
], {
|
|
50
50
|
variants: {
|
|
51
51
|
variant: {
|
|
52
52
|
outline: [
|
|
53
53
|
"bg-white/90",
|
|
54
54
|
"dark:bg-black/90",
|
|
55
|
-
"border-gray-
|
|
55
|
+
"border-gray-7"
|
|
56
56
|
],
|
|
57
57
|
subtle: ["bg-gray-4", "border-transparent"]
|
|
58
58
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete-input-variants.js","names":[],"sources":["../../../../src/components/collections/autocomplete/autocomplete-input-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport { autocompleteDefaultVariants } from './use-autocomplete-context';\n\n/**\n * O texto não passa por baixo do `Clear` nem do `Trigger`, quando existem. Entra em cada `size`,\n * depois do `px-*`: o `tailwind-merge` descarta um `pe-*` que vem antes do `px-*`.\n */\nconst trailingPadding =\n 'pe-[max(var(--autocomplete-px),calc(var(--autocomplete-clear-width)+var(--autocomplete-trigger-width)))]';\n\n/**\n * Cópia de `inputVariants`, a origem do visual dos campos
|
|
1
|
+
{"version":3,"file":"autocomplete-input-variants.js","names":[],"sources":["../../../../src/components/collections/autocomplete/autocomplete-input-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport { autocompleteDefaultVariants } from './use-autocomplete-context';\n\n/**\n * O texto não passa por baixo do `Clear` nem do `Trigger`, quando existem. Entra em cada `size`,\n * depois do `px-*`: o `tailwind-merge` descarta um `pe-*` que vem antes do `px-*`.\n */\nconst trailingPadding =\n 'pe-[max(var(--autocomplete-px),calc(var(--autocomplete-clear-width)+var(--autocomplete-trigger-width)))]';\n\n/**\n * Cópia de `inputVariants`, a origem do visual dos campos: o anel de foco e o inválido funcionam\n * do mesmo jeito, explicados lá. A diferença é o padding do fim: o `Autocomplete.Clear` e o\n * `Autocomplete.Trigger` ficam sobre o campo, e o texto reserva a largura de cada um que existe\n * (`--autocomplete-clear-width` e `--autocomplete-trigger-width`, declaradas por\n * `autocompleteInputGroupVariants`), sem passar por baixo deles.\n */\nexport const autocompleteInputVariants = cva(\n [\n 'relative',\n 'w-full',\n\n 'appearance-none',\n 'outline-none',\n\n 'text-start',\n 'font-normal', // Sem isto, herda o peso do `<label>` em volta\n 'text-gray-12',\n\n 'placeholder:text-gray-11/80',\n 'data-placeholder:text-gray-11/80',\n\n 'border',\n 'rounded-md',\n 'corner-squircle',\n\n '[--autocomplete-focus-color:var(--color-black)]',\n 'dark:[--autocomplete-focus-color:var(--color-white)]',\n\n 'focus-visible:outline-1',\n 'focus-visible:outline-solid',\n 'focus-visible:-outline-offset-2', // Offset = borda + anel: o campo não cresce no foco\n 'focus-visible:outline-(--autocomplete-focus-color)',\n 'focus-visible:border-(--autocomplete-focus-color)',\n\n 'data-focused:outline-1',\n 'data-focused:outline-solid',\n 'data-focused:-outline-offset-2',\n 'data-focused:outline-(--autocomplete-focus-color)',\n 'data-focused:border-(--autocomplete-focus-color)',\n\n 'disabled:opacity-50',\n 'disabled:cursor-not-allowed',\n\n 'data-disabled:opacity-50',\n 'data-disabled:cursor-not-allowed',\n\n 'data-invalid:border-red-9',\n 'data-invalid:[--autocomplete-focus-color:var(--red-9)]',\n 'aria-invalid:border-red-9',\n 'aria-invalid:[--autocomplete-focus-color:var(--red-9)]',\n ],\n {\n variants: {\n variant: {\n outline: [\n 'bg-white/90',\n 'dark:bg-black/90',\n\n 'border-gray-7',\n ],\n subtle: [\n 'bg-gray-4',\n\n 'border-transparent',\n ],\n },\n size: {\n '2xs': [\n 'h-7',\n 'min-w-7',\n\n 'px-2',\n trailingPadding,\n\n 'text-xs',\n // Em tela de toque, 16px: abaixo disso o Safari do iPhone dá zoom ao focar o campo.\n 'any-pointer-coarse:text-base',\n ],\n xs: [\n 'h-8',\n 'min-w-8',\n\n 'px-2',\n trailingPadding,\n\n 'text-xs',\n 'any-pointer-coarse:text-base',\n ],\n sm: [\n 'h-9',\n 'min-w-9',\n\n 'px-2.5',\n trailingPadding,\n\n 'text-sm',\n 'any-pointer-coarse:text-base',\n ],\n md: [\n 'h-10',\n 'min-w-10',\n\n 'px-3',\n trailingPadding,\n\n 'text-sm',\n 'any-pointer-coarse:text-base',\n ],\n lg: [\n 'h-11',\n 'min-w-11',\n\n 'px-4',\n trailingPadding,\n\n 'text-base',\n ],\n xl: [\n 'h-12',\n 'min-w-12',\n\n 'px-4.5',\n trailingPadding,\n\n 'text-base',\n ],\n '2xl': [\n 'h-16',\n 'min-w-16',\n\n 'px-5',\n trailingPadding,\n\n 'text-lg',\n ],\n },\n },\n defaultVariants: {\n size: autocompleteDefaultVariants.size,\n variant: autocompleteDefaultVariants.variant,\n },\n },\n);\n"],"mappings":";;;;;;;AAOA,MAAM,kBACJ;;;;;;;;AASF,MAAa,4BAA4B,IACvC;CACE;CACA;CAEA;CACA;CAEA;CACA;CACA;CAEA;CACA;CAEA;CACA;CACA;CAEA;CACA;CAEA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CAEA;CACA;CAEA;CACA;CAEA;CACA;CACA;CACA;AACF,GACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;IACP;IACA;IAEA;GACF;GACA,QAAQ,CACN,aAEA,oBACF;EACF;EACA,MAAM;GACJ,OAAO;IACL;IACA;IAEA;IACA;IAEA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;IAEA;GACF;GACA,OAAO;IACL;IACA;IAEA;IACA;IAEA;GACF;EACF;CACF;CACA,iBAAiB;EACf,MAAM,4BAA4B;EAClC,SAAS,4BAA4B;CACvC;AACF,CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
//#region src/components/collections/autocomplete/autocomplete-item-variants.d.ts
|
|
2
2
|
/**
|
|
3
3
|
* Cópia de `selectItemVariants`, a origem do item das listas em popup, onde o realce está
|
|
4
|
-
* explicado
|
|
4
|
+
* explicado. As diferenças:
|
|
5
5
|
* - `flex` em linha, sem a coluna do check: o Autocomplete não marca item escolhido;
|
|
6
6
|
* - o realce aparece também no toque: o clique no item fecha o popup, e não sobra realce preso.
|
|
7
7
|
*/
|
|
@@ -3,7 +3,7 @@ import { cva } from "class-variance-authority";
|
|
|
3
3
|
//#region src/components/collections/autocomplete/autocomplete-item-variants.ts
|
|
4
4
|
/**
|
|
5
5
|
* Cópia de `selectItemVariants`, a origem do item das listas em popup, onde o realce está
|
|
6
|
-
* explicado
|
|
6
|
+
* explicado. As diferenças:
|
|
7
7
|
* - `flex` em linha, sem a coluna do check: o Autocomplete não marca item escolhido;
|
|
8
8
|
* - o realce aparece também no toque: o clique no item fecha o popup, e não sobra realce preso.
|
|
9
9
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete-item-variants.js","names":[],"sources":["../../../../src/components/collections/autocomplete/autocomplete-item-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport { autocompleteDefaultVariants } from './use-autocomplete-context';\n\n/**\n * Cópia de `selectItemVariants`, a origem do item das listas em popup, onde o realce está\n * explicado
|
|
1
|
+
{"version":3,"file":"autocomplete-item-variants.js","names":[],"sources":["../../../../src/components/collections/autocomplete/autocomplete-item-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport { autocompleteDefaultVariants } from './use-autocomplete-context';\n\n/**\n * Cópia de `selectItemVariants`, a origem do item das listas em popup, onde o realce está\n * explicado. As diferenças:\n * - `flex` em linha, sem a coluna do check: o Autocomplete não marca item escolhido;\n * - o realce aparece também no toque: o clique no item fecha o popup, e não sobra realce preso.\n */\nexport const autocompleteItemVariants = cva(\n [\n 'flex',\n 'items-start', // Texto que quebra a linha mantém o ícone na primeira\n\n 'relative',\n\n 'rounded',\n\n 'cursor-default',\n 'select-none',\n 'outline-none',\n\n 'data-disabled:pointer-events-none',\n 'data-disabled:opacity-50',\n\n 'data-highlighted:z-0',\n 'data-highlighted:before:absolute',\n 'data-highlighted:before:inset-x-1',\n 'data-highlighted:before:inset-y-0',\n 'data-highlighted:before:z-[-1]',\n 'data-highlighted:before:rounded',\n 'data-highlighted:before:content-[\"\"]',\n 'data-highlighted:before:bg-gray-4',\n ],\n {\n variants: {\n size: {\n '2xs': ['px-2', 'gap-1', 'py-1', 'pointer-coarse:py-2', 'text-xs'],\n xs: ['px-2', 'gap-1', 'py-1.25', 'pointer-coarse:py-2', 'text-xs'],\n sm: ['px-2.5', 'gap-2', 'py-1.25', 'pointer-coarse:py-2', 'text-sm'],\n md: ['px-3', 'gap-2', 'py-1.75', 'pointer-coarse:py-3', 'text-sm'],\n lg: ['px-4', 'gap-3', 'py-1.75', 'pointer-coarse:py-3', 'text-base'],\n xl: ['px-4.5', 'gap-3', 'py-2.25', 'pointer-coarse:py-4', 'text-base'],\n '2xl': ['px-5', 'gap-3', 'py-4', 'pointer-coarse:py-4', 'text-lg'],\n },\n },\n defaultVariants: {\n size: autocompleteDefaultVariants.size,\n },\n },\n);\n"],"mappings":";;;;;;;;;AASA,MAAa,2BAA2B,IACtC;CACE;CACA;CAEA;CAEA;CAEA;CACA;CACA;CAEA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,GACA;CACE,UAAU,EACR,MAAM;EACJ,OAAO;GAAC;GAAQ;GAAS;GAAQ;GAAuB;EAAS;EACjE,IAAI;GAAC;GAAQ;GAAS;GAAW;GAAuB;EAAS;EACjE,IAAI;GAAC;GAAU;GAAS;GAAW;GAAuB;EAAS;EACnE,IAAI;GAAC;GAAQ;GAAS;GAAW;GAAuB;EAAS;EACjE,IAAI;GAAC;GAAQ;GAAS;GAAW;GAAuB;EAAW;EACnE,IAAI;GAAC;GAAU;GAAS;GAAW;GAAuB;EAAW;EACrE,OAAO;GAAC;GAAQ;GAAS;GAAQ;GAAuB;EAAS;CACnE,EACF;CACA,iBAAiB,EACf,MAAM,4BAA4B,KACpC;AACF,CACF"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
//#region src/components/collections/autocomplete/autocomplete-popup-variants.d.ts
|
|
2
2
|
/**
|
|
3
3
|
* Cópia de `popoverPopupVariants`, a origem da superfície dos popups, onde fundo, contorno, sombra,
|
|
4
|
-
* cor do texto e animação estão explicados
|
|
4
|
+
* cor do texto e animação estão explicados. As diferenças:
|
|
5
5
|
* - largura a partir da do campo (`--anchor-width`) e altura até `max-h-80`, sem animação de
|
|
6
6
|
* tamanho;
|
|
7
|
-
* - o tamanho do texto vem dos itens, e não do popup
|
|
7
|
+
* - o tamanho do texto vem dos itens, e não do popup;
|
|
8
|
+
* - sem modo sobreposto, o do `Select` que alinha o item ao trigger: o popup sempre abre junto ao
|
|
9
|
+
* campo.
|
|
8
10
|
*
|
|
9
11
|
* A altura máxima fica no popup, e a lista (`min-h-0`) encolhe até caber, como no `Select`.
|
|
10
12
|
*/
|
|
@@ -2,10 +2,12 @@ import { cva } from "class-variance-authority";
|
|
|
2
2
|
//#region src/components/collections/autocomplete/autocomplete-popup-variants.ts
|
|
3
3
|
/**
|
|
4
4
|
* Cópia de `popoverPopupVariants`, a origem da superfície dos popups, onde fundo, contorno, sombra,
|
|
5
|
-
* cor do texto e animação estão explicados
|
|
5
|
+
* cor do texto e animação estão explicados. As diferenças:
|
|
6
6
|
* - largura a partir da do campo (`--anchor-width`) e altura até `max-h-80`, sem animação de
|
|
7
7
|
* tamanho;
|
|
8
|
-
* - o tamanho do texto vem dos itens, e não do popup
|
|
8
|
+
* - o tamanho do texto vem dos itens, e não do popup;
|
|
9
|
+
* - sem modo sobreposto, o do `Select` que alinha o item ao trigger: o popup sempre abre junto ao
|
|
10
|
+
* campo.
|
|
9
11
|
*
|
|
10
12
|
* A altura máxima fica no popup, e a lista (`min-h-0`) encolhe até caber, como no `Select`.
|
|
11
13
|
*/
|