@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-root.js","names":["BaseField"],"sources":["../../../../src/components/fields/field/field-root.tsx"],"sourcesContent":["import { Field as BaseField } from '@base-ui/react/field';\nimport {\n createSplitProps,\n type MergeOverride,\n} from '@lucasbernardosn/ts-utils';\nimport { mergeStateClassNames } from '#utils';\nimport { type FieldVariants, fieldRootVariants } from './field-root-variants';\n\nexport type FieldRootProps = MergeOverride<BaseField.Root.Props, FieldVariants>;\n\nexport type FieldRootState = BaseField.Root.State;\n\nexport type FieldRootActions = BaseField.Root.Actions;\n\nconst splitVariantProps = createSplitProps<FieldVariants>();\n\n/**\n * Agrupa rótulo, controle, descrição e erro de um campo. Repassa ao controle dentro dele o\n * `name`, o `disabled` (inclusive o que vem de um `Fieldset` em volta) e a validação, e liga o\n * rótulo e a descrição ao controle por `id
|
|
1
|
+
{"version":3,"file":"field-root.js","names":["BaseField"],"sources":["../../../../src/components/fields/field/field-root.tsx"],"sourcesContent":["import { Field as BaseField } from '@base-ui/react/field';\nimport {\n createSplitProps,\n type MergeOverride,\n} from '@lucasbernardosn/ts-utils';\nimport { mergeStateClassNames } from '#utils';\nimport { type FieldVariants, fieldRootVariants } from './field-root-variants';\n\nexport type FieldRootProps = MergeOverride<BaseField.Root.Props, FieldVariants>;\n\nexport type FieldRootState = BaseField.Root.State;\n\nexport type FieldRootActions = BaseField.Root.Actions;\n\nconst splitVariantProps = createSplitProps<FieldVariants>();\n\n/**\n * Agrupa rótulo, controle, descrição e erro de um campo. Repassa ao controle dentro dele o\n * `name`, o `disabled` (inclusive o que vem de um `Fieldset` em volta) e a validação, e liga o\n * rótulo e a descrição ao controle por `id`. Não há `Field.Control`: o `Input` e os demais campos\n * da lib já se ligam ao `Field` sozinhos.\n *\n * O `size` vale só para os textos do campo: o controle recebe o próprio `size`, com o mesmo\n * valor.\n *\n * `invalid`, `dirty` e `touched` existem para uma lib de formulário externa (React Hook Form)\n * controlar o estado. Com `invalid` vindo de fora, o `Field.Error` só aparece com `match`.\n *\n * @example\n * ```tsx\n * <Field.Root name=\"email\">\n * <Field.Label>E-mail</Field.Label>\n * <Input\n * type=\"email\"\n * required\n * />\n * <Field.Description>Usado para recuperar a senha.</Field.Description>\n * <Field.Error />\n * </Field.Root>\n * ```\n */\nexport const FieldRoot = (props: FieldRootProps) => {\n const [variantProps, elementProps] = splitVariantProps(props, ['size']);\n\n const { className, ...rest } = elementProps;\n\n return (\n <BaseField.Root\n data-component=\"Field.Root\"\n className={mergeStateClassNames(\n fieldRootVariants(variantProps),\n className,\n )}\n {...rest}\n />\n );\n};\n\nFieldRoot.displayName = 'Field.Root';\n"],"mappings":";;;;;;AAcA,MAAM,oBAAoB,iBAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;AA2B1D,MAAa,aAAa,UAA0B;CAClD,MAAM,CAAC,cAAc,gBAAgB,kBAAkB,OAAO,CAAC,MAAM,CAAC;CAEtE,MAAM,EAAE,WAAW,GAAG,SAAS;CAE/B,OACE,oBAACA,MAAU,MAAX;EACE,kBAAe;EACf,WAAW,qBACT,kBAAkB,YAAY,GAC9B,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,UAAU,cAAc"}
|
|
@@ -18,9 +18,10 @@ export type InputVariants = {
|
|
|
18
18
|
export declare const inputDefaultVariants: Required<InputVariants>;
|
|
19
19
|
/**
|
|
20
20
|
* Origem do visual dos campos de formulário: o `Textarea`, o `NumberInput`, o `CurrencyBrlInput`, o
|
|
21
|
-
* `PatternInput`, o trigger do `Select
|
|
22
|
-
* (
|
|
23
|
-
*
|
|
21
|
+
* `PatternInput`, o trigger do `Select`, o `Autocomplete.Input`, o campo do `AsyncSelect` e o
|
|
22
|
+
* `InputGroup` (a caixa) copiam estas classes, cada um com as suas diferenças, explicadas no JSDoc
|
|
23
|
+
* de cada cópia. Uma mudança aqui vale para as cópias na mesma rodada. O `PasswordInput` usa o
|
|
24
|
+
* próprio `Input`, mas repete o padding horizontal de cada `size`.
|
|
24
25
|
*
|
|
25
26
|
* O anel de foco é um `outline` de 1px dentro da caixa, colado na borda, que também pinta a borda
|
|
26
27
|
* com `--input-focus-color`: preto no tema claro, branco no escuro. Ele vale para
|
|
@@ -6,9 +6,10 @@ const inputDefaultVariants = {
|
|
|
6
6
|
};
|
|
7
7
|
/**
|
|
8
8
|
* Origem do visual dos campos de formulário: o `Textarea`, o `NumberInput`, o `CurrencyBrlInput`, o
|
|
9
|
-
* `PatternInput`, o trigger do `Select
|
|
10
|
-
* (
|
|
11
|
-
*
|
|
9
|
+
* `PatternInput`, o trigger do `Select`, o `Autocomplete.Input`, o campo do `AsyncSelect` e o
|
|
10
|
+
* `InputGroup` (a caixa) copiam estas classes, cada um com as suas diferenças, explicadas no JSDoc
|
|
11
|
+
* de cada cópia. Uma mudança aqui vale para as cópias na mesma rodada. O `PasswordInput` usa o
|
|
12
|
+
* próprio `Input`, mas repete o padding horizontal de cada `size`.
|
|
12
13
|
*
|
|
13
14
|
* O anel de foco é um `outline` de 1px dentro da caixa, colado na borda, que também pinta a borda
|
|
14
15
|
* com `--input-focus-color`: preto no tema claro, branco no escuro. Ele vale para
|
|
@@ -50,16 +51,16 @@ const inputVariants = cva([
|
|
|
50
51
|
"data-disabled:opacity-50",
|
|
51
52
|
"data-disabled:cursor-not-allowed",
|
|
52
53
|
"data-invalid:border-red-9",
|
|
53
|
-
"data-invalid:[--input-focus-color:var(--
|
|
54
|
+
"data-invalid:[--input-focus-color:var(--red-9)]",
|
|
54
55
|
"aria-invalid:border-red-9",
|
|
55
|
-
"aria-invalid:[--input-focus-color:var(--
|
|
56
|
+
"aria-invalid:[--input-focus-color:var(--red-9)]"
|
|
56
57
|
], {
|
|
57
58
|
variants: {
|
|
58
59
|
variant: {
|
|
59
60
|
outline: [
|
|
60
61
|
"bg-white/90",
|
|
61
62
|
"dark:bg-black/90",
|
|
62
|
-
"border-gray-
|
|
63
|
+
"border-gray-7"
|
|
63
64
|
],
|
|
64
65
|
subtle: ["bg-gray-4", "border-transparent"]
|
|
65
66
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-variants.js","names":[],"sources":["../../../../src/components/fields/input/input-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport type InputVariants = {\n /**\n * Altura, padding e tamanho do texto. `sm` = `h-9`, `md` = `h-10`, alinhado aos outros\n * controles de formulário. Substitui o atributo nativo `size`: a largura vem do CSS. Em tela\n * de toque, do `2xs` ao `md` o texto sobe para 16px, para o iPhone não dar zoom no foco.\n *\n * @default 'sm'\n */\n size?: '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n /**\n * Fundo e borda do campo.\n *\n * @default 'outline'\n */\n variant?: 'outline' | 'subtle';\n};\n\nexport const inputDefaultVariants: Required<InputVariants> = {\n size: 'sm',\n variant: 'outline',\n};\n\n/**\n * Origem do visual dos campos de formulário: o `Textarea`, o `NumberInput`, o `CurrencyBrlInput`, o\n * `PatternInput`, o trigger do `Select
|
|
1
|
+
{"version":3,"file":"input-variants.js","names":[],"sources":["../../../../src/components/fields/input/input-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport type InputVariants = {\n /**\n * Altura, padding e tamanho do texto. `sm` = `h-9`, `md` = `h-10`, alinhado aos outros\n * controles de formulário. Substitui o atributo nativo `size`: a largura vem do CSS. Em tela\n * de toque, do `2xs` ao `md` o texto sobe para 16px, para o iPhone não dar zoom no foco.\n *\n * @default 'sm'\n */\n size?: '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n /**\n * Fundo e borda do campo.\n *\n * @default 'outline'\n */\n variant?: 'outline' | 'subtle';\n};\n\nexport const inputDefaultVariants: Required<InputVariants> = {\n size: 'sm',\n variant: 'outline',\n};\n\n/**\n * Origem do visual dos campos de formulário: o `Textarea`, o `NumberInput`, o `CurrencyBrlInput`, o\n * `PatternInput`, o trigger do `Select`, o `Autocomplete.Input`, o campo do `AsyncSelect` e o\n * `InputGroup` (a caixa) copiam estas classes, cada um com as suas diferenças, explicadas no JSDoc\n * de cada cópia. Uma mudança aqui vale para as cópias na mesma rodada. O `PasswordInput` usa o\n * próprio `Input`, mas repete o padding horizontal de cada `size`.\n *\n * O anel de foco é um `outline` de 1px dentro da caixa, colado na borda, que também pinta a borda\n * com `--input-focus-color`: preto no tema claro, branco no escuro. Ele vale para\n * `:focus-visible` e para o `data-focused` do `Field`, com as mesmas classes nos dois — o\n * `focus-ring-inside` do tema não reage a `data-focused`.\n *\n * Inválido troca `--input-focus-color` e a borda pelo vermelho, pelo `data-invalid` do `Field` ou\n * pelo `aria-invalid` de quem valida fora dele. O `:user-invalid` fica de fora: ele segue a\n * validação nativa por conta própria e pintaria o campo antes de quem valida mostrar o erro (num\n * `Field` com `validationMode=\"onSubmit\"` ou numa lib de formulário).\n */\nexport const inputVariants = 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 '[--input-focus-color:var(--color-black)]',\n 'dark:[--input-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-(--input-focus-color)',\n 'focus-visible:border-(--input-focus-color)',\n\n 'data-focused:outline-1',\n 'data-focused:outline-solid',\n 'data-focused:-outline-offset-2',\n 'data-focused:outline-(--input-focus-color)',\n 'data-focused:border-(--input-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:[--input-focus-color:var(--red-9)]',\n 'aria-invalid:border-red-9',\n 'aria-invalid:[--input-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\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\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\n 'text-sm',\n 'any-pointer-coarse:text-base',\n ],\n md: [\n 'h-10',\n 'min-w-10',\n\n 'px-3',\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\n 'text-base',\n ],\n xl: [\n 'h-12',\n 'min-w-12',\n\n 'px-4.5',\n\n 'text-base',\n ],\n '2xl': [\n 'h-16',\n 'min-w-16',\n\n 'px-5',\n\n 'text-lg',\n ],\n },\n },\n defaultVariants: {\n size: inputDefaultVariants.size,\n variant: inputDefaultVariants.variant,\n },\n },\n);\n"],"mappings":";;AAmBA,MAAa,uBAAgD;CAC3D,MAAM;CACN,SAAS;AACX;;;;;;;;;;;;;;;;;;AAmBA,MAAa,gBAAgB,IAC3B;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;IAEA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IAEA;GACF;GACA,OAAO;IACL;IACA;IAEA;IAEA;GACF;EACF;CACF;CACA,iBAAiB;EACf,MAAM,qBAAqB;EAC3B,SAAS,qBAAqB;CAChC;AACF,CACF"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
//#region src/components/fields/input-group/input-group-variants.d.ts
|
|
2
|
+
export type InputGroupVariants = {
|
|
3
|
+
/**
|
|
4
|
+
* Altura, padding e tamanho do texto, os mesmos do `Input`, e o tamanho do ícone e do texto dos
|
|
5
|
+
* elementos e addons. `sm` = `h-9`, `md` = `h-10`, alinhado aos outros controles de formulário.
|
|
6
|
+
* O campo de dentro recebe o mesmo `size`, para o texto bater com o dos elementos.
|
|
7
|
+
*
|
|
8
|
+
* @default 'sm'
|
|
9
|
+
*/
|
|
10
|
+
size?: '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
11
|
+
/**
|
|
12
|
+
* Fundo e borda da caixa, os mesmos do `Input`. O addon acompanha: sem fundo próprio no
|
|
13
|
+
* `outline`, mais escuro que a caixa no `subtle`.
|
|
14
|
+
*
|
|
15
|
+
* @default 'outline'
|
|
16
|
+
*/
|
|
17
|
+
variant?: 'outline' | 'subtle';
|
|
18
|
+
};
|
|
19
|
+
export declare const inputGroupDefaultVariants: Required<InputGroupVariants>;
|
|
20
|
+
/**
|
|
21
|
+
* Cópia de `inputVariants`, a origem do visual dos campos: o anel de foco e o inválido funcionam do
|
|
22
|
+
* mesmo jeito, explicados lá. A caixa (`data-slot="control"`) é quem desenha a borda, o raio, o
|
|
23
|
+
* fundo e o anel, e o `<input>` de dentro fica sem caixa. As diferenças:
|
|
24
|
+
* - `flex items-stretch overflow-hidden`: o campo e os elementos dividem a caixa;
|
|
25
|
+
* - o estado vem do `<input>` filho, por `has-[]`, porque é nele que o Base UI escreve o
|
|
26
|
+
* `data-focused`, o `data-invalid`, o `data-disabled` e o `disabled`. Só o filho direto conta:
|
|
27
|
+
* um botão com foco dentro de um elemento não acende o anel;
|
|
28
|
+
* - `--input-group-focus-color` no lugar de `--input-focus-color`;
|
|
29
|
+
* - sem `appearance-none`, `text-start` e `placeholder`, que são do `<input>`;
|
|
30
|
+
* - sem `text-*`: o texto é do campo e dos elementos.
|
|
31
|
+
*
|
|
32
|
+
* O campo de dentro (`Input`, `NumberInput`, `PatternInput`, `CurrencyBrlInput`, qualquer
|
|
33
|
+
* `<input>` filho direto) é neutralizado por seletor: sem borda, raio, fundo nem anel, ocupando o
|
|
34
|
+
* que sobra da linha (`flex-1 min-w-0`) na altura toda, e sem a opacidade do desabilitado, porque
|
|
35
|
+
* a caixa já esmaece e as duas juntas dariam 25%. Cada regra da caixa (`.caixa > input`, 0,1,1)
|
|
36
|
+
* vence a do campo (`.x`, 0,1,0), e as de estado (`.caixa > input:focus-visible`, 0,2,1) vencem as
|
|
37
|
+
* do campo (`.x:focus-visible`, 0,2,0). Uma classe nova no `inputVariants` que o campo escreva
|
|
38
|
+
* precisa de um par aqui, ou o campo volta a desenhar a própria caixa dentro do grupo.
|
|
39
|
+
*
|
|
40
|
+
* Os elementos ficam sem padding do lado do campo, e o campo reduz o padding daquele lado para
|
|
41
|
+
* 8px (`ps-2`, `pe-2`): a folga do elemento até o texto é um respiro curto, e não a soma do
|
|
42
|
+
* padding dos dois.
|
|
43
|
+
*
|
|
44
|
+
* O padding horizontal de cada `size` (`--input-group-px`) vem do `inputGroupPaddingVariants`,
|
|
45
|
+
* que fica no elemento de fora do componente: a própria caixa, ou o `Group` quando há addon, para
|
|
46
|
+
* o addon, irmão da caixa, ler o mesmo valor.
|
|
47
|
+
*/
|
|
48
|
+
export declare const inputGroupVariants: (props?: ({
|
|
49
|
+
variant?: "subtle" | "outline" | null | undefined;
|
|
50
|
+
size?: "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
|
|
51
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
52
|
+
/**
|
|
53
|
+
* O padding horizontal de cada `size`, lido pelos elementos e pelos addons. Fica no elemento de
|
|
54
|
+
* fora do componente (ver `inputGroupVariants`).
|
|
55
|
+
*/
|
|
56
|
+
export declare const inputGroupPaddingVariants: (props?: ({
|
|
57
|
+
size?: "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
|
|
58
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
59
|
+
/**
|
|
60
|
+
* O elemento (`startElement`, `endElement`) fica dentro da caixa, sem fundo nem borda. Tem padding
|
|
61
|
+
* só do lado de fora (`placement`): o respiro do lado do campo vem do `ps-2`/`pe-2` que a caixa dá
|
|
62
|
+
* ao campo, explicado no `inputGroupVariants`. Um botão ocupa o lugar de um ícone com 4px de folga
|
|
63
|
+
* do lado de fora e o anel de foco encostado nele (offset 0), sem passar da caixa, que corta o que
|
|
64
|
+
* sai dela.
|
|
65
|
+
*/
|
|
66
|
+
export declare const inputGroupElementVariants: (props?: ({
|
|
67
|
+
placement?: "start" | "end" | null | undefined;
|
|
68
|
+
size?: "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
|
|
69
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
70
|
+
/**
|
|
71
|
+
* O addon (`startAddon`, `endAddon`) é uma caixa irmã da caixa do campo, como o campo `outline`
|
|
72
|
+
* ou `subtle`, com a borda própria e o fundo um passo acima do da caixa para se distinguir dela.
|
|
73
|
+
* O `Group` tira os cantos de dentro e sobrepõe a borda; no foco, a caixa sobe e a borda dela
|
|
74
|
+
* aparece inteira sobre a do addon. O anel de foco fica só na caixa, e o inválido também.
|
|
75
|
+
*/
|
|
76
|
+
export declare const inputGroupAddonVariants: (props?: ({
|
|
77
|
+
variant?: "subtle" | "outline" | null | undefined;
|
|
78
|
+
size?: "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
|
|
79
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
80
|
+
//#endregion
|
|
81
|
+
//# sourceMappingURL=input-group-variants.d.ts.map
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { cva } from "class-variance-authority";
|
|
2
|
+
//#region src/components/fields/input-group/input-group-variants.ts
|
|
3
|
+
const inputGroupDefaultVariants = {
|
|
4
|
+
size: "sm",
|
|
5
|
+
variant: "outline"
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Cópia de `inputVariants`, a origem do visual dos campos: o anel de foco e o inválido funcionam do
|
|
9
|
+
* mesmo jeito, explicados lá. A caixa (`data-slot="control"`) é quem desenha a borda, o raio, o
|
|
10
|
+
* fundo e o anel, e o `<input>` de dentro fica sem caixa. As diferenças:
|
|
11
|
+
* - `flex items-stretch overflow-hidden`: o campo e os elementos dividem a caixa;
|
|
12
|
+
* - o estado vem do `<input>` filho, por `has-[]`, porque é nele que o Base UI escreve o
|
|
13
|
+
* `data-focused`, o `data-invalid`, o `data-disabled` e o `disabled`. Só o filho direto conta:
|
|
14
|
+
* um botão com foco dentro de um elemento não acende o anel;
|
|
15
|
+
* - `--input-group-focus-color` no lugar de `--input-focus-color`;
|
|
16
|
+
* - sem `appearance-none`, `text-start` e `placeholder`, que são do `<input>`;
|
|
17
|
+
* - sem `text-*`: o texto é do campo e dos elementos.
|
|
18
|
+
*
|
|
19
|
+
* O campo de dentro (`Input`, `NumberInput`, `PatternInput`, `CurrencyBrlInput`, qualquer
|
|
20
|
+
* `<input>` filho direto) é neutralizado por seletor: sem borda, raio, fundo nem anel, ocupando o
|
|
21
|
+
* que sobra da linha (`flex-1 min-w-0`) na altura toda, e sem a opacidade do desabilitado, porque
|
|
22
|
+
* a caixa já esmaece e as duas juntas dariam 25%. Cada regra da caixa (`.caixa > input`, 0,1,1)
|
|
23
|
+
* vence a do campo (`.x`, 0,1,0), e as de estado (`.caixa > input:focus-visible`, 0,2,1) vencem as
|
|
24
|
+
* do campo (`.x:focus-visible`, 0,2,0). Uma classe nova no `inputVariants` que o campo escreva
|
|
25
|
+
* precisa de um par aqui, ou o campo volta a desenhar a própria caixa dentro do grupo.
|
|
26
|
+
*
|
|
27
|
+
* Os elementos ficam sem padding do lado do campo, e o campo reduz o padding daquele lado para
|
|
28
|
+
* 8px (`ps-2`, `pe-2`): a folga do elemento até o texto é um respiro curto, e não a soma do
|
|
29
|
+
* padding dos dois.
|
|
30
|
+
*
|
|
31
|
+
* O padding horizontal de cada `size` (`--input-group-px`) vem do `inputGroupPaddingVariants`,
|
|
32
|
+
* que fica no elemento de fora do componente: a própria caixa, ou o `Group` quando há addon, para
|
|
33
|
+
* o addon, irmão da caixa, ler o mesmo valor.
|
|
34
|
+
*/
|
|
35
|
+
const inputGroupVariants = cva([
|
|
36
|
+
"relative",
|
|
37
|
+
"flex",
|
|
38
|
+
"items-stretch",
|
|
39
|
+
"w-full",
|
|
40
|
+
"overflow-hidden",
|
|
41
|
+
"outline-none",
|
|
42
|
+
"font-normal",
|
|
43
|
+
"text-gray-12",
|
|
44
|
+
"border",
|
|
45
|
+
"rounded-md",
|
|
46
|
+
"corner-squircle",
|
|
47
|
+
"[--input-group-focus-color:var(--color-black)]",
|
|
48
|
+
"dark:[--input-group-focus-color:var(--color-white)]",
|
|
49
|
+
"has-[>input:focus-visible]:outline-1",
|
|
50
|
+
"has-[>input:focus-visible]:outline-solid",
|
|
51
|
+
"has-[>input:focus-visible]:-outline-offset-2",
|
|
52
|
+
"has-[>input:focus-visible]:outline-(--input-group-focus-color)",
|
|
53
|
+
"has-[>input:focus-visible]:border-(--input-group-focus-color)",
|
|
54
|
+
"has-[>input[data-focused]]:outline-1",
|
|
55
|
+
"has-[>input[data-focused]]:outline-solid",
|
|
56
|
+
"has-[>input[data-focused]]:-outline-offset-2",
|
|
57
|
+
"has-[>input[data-focused]]:outline-(--input-group-focus-color)",
|
|
58
|
+
"has-[>input[data-focused]]:border-(--input-group-focus-color)",
|
|
59
|
+
"has-[>input:disabled]:opacity-50",
|
|
60
|
+
"has-[>input:disabled]:cursor-not-allowed",
|
|
61
|
+
"has-[>input[data-disabled]]:opacity-50",
|
|
62
|
+
"has-[>input[data-disabled]]:cursor-not-allowed",
|
|
63
|
+
"has-[>input[data-invalid]]:border-red-9",
|
|
64
|
+
"has-[>input[data-invalid]]:[--input-group-focus-color:var(--red-9)]",
|
|
65
|
+
"has-[>input[aria-invalid=true]]:border-red-9",
|
|
66
|
+
"has-[>input[aria-invalid=true]]:[--input-group-focus-color:var(--red-9)]",
|
|
67
|
+
"[&>input]:h-full",
|
|
68
|
+
"[&>input]:min-w-0",
|
|
69
|
+
"[&>input]:flex-1",
|
|
70
|
+
"[&>input]:border-0",
|
|
71
|
+
"[&>input]:rounded-none",
|
|
72
|
+
"[&>input]:bg-transparent",
|
|
73
|
+
"[&>input]:focus-visible:outline-none",
|
|
74
|
+
"[&>input]:data-focused:outline-none",
|
|
75
|
+
"[&>input]:disabled:opacity-100",
|
|
76
|
+
"[&>input]:data-disabled:opacity-100",
|
|
77
|
+
"has-[>[data-placement=start]]:[&>input]:ps-2",
|
|
78
|
+
"has-[>[data-placement=end]]:[&>input]:pe-2"
|
|
79
|
+
], {
|
|
80
|
+
variants: {
|
|
81
|
+
variant: {
|
|
82
|
+
outline: [
|
|
83
|
+
"bg-white/90",
|
|
84
|
+
"dark:bg-black/90",
|
|
85
|
+
"border-gray-7"
|
|
86
|
+
],
|
|
87
|
+
subtle: ["bg-gray-4", "border-transparent"]
|
|
88
|
+
},
|
|
89
|
+
size: {
|
|
90
|
+
"2xs": ["h-7", "min-w-7"],
|
|
91
|
+
xs: ["h-8", "min-w-8"],
|
|
92
|
+
sm: ["h-9", "min-w-9"],
|
|
93
|
+
md: ["h-10", "min-w-10"],
|
|
94
|
+
lg: ["h-11", "min-w-11"],
|
|
95
|
+
xl: ["h-12", "min-w-12"],
|
|
96
|
+
"2xl": ["h-16", "min-w-16"]
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
defaultVariants: {
|
|
100
|
+
size: inputGroupDefaultVariants.size,
|
|
101
|
+
variant: inputGroupDefaultVariants.variant
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
/**
|
|
105
|
+
* O padding horizontal de cada `size`, lido pelos elementos e pelos addons. Fica no elemento de
|
|
106
|
+
* fora do componente (ver `inputGroupVariants`).
|
|
107
|
+
*/
|
|
108
|
+
const inputGroupPaddingVariants = cva([], {
|
|
109
|
+
variants: { size: {
|
|
110
|
+
"2xs": ["[--input-group-px:--spacing(2)]"],
|
|
111
|
+
xs: ["[--input-group-px:--spacing(2)]"],
|
|
112
|
+
sm: ["[--input-group-px:--spacing(2.5)]"],
|
|
113
|
+
md: ["[--input-group-px:--spacing(3)]"],
|
|
114
|
+
lg: ["[--input-group-px:--spacing(4)]"],
|
|
115
|
+
xl: ["[--input-group-px:--spacing(4.5)]"],
|
|
116
|
+
"2xl": ["[--input-group-px:--spacing(5)]"]
|
|
117
|
+
} },
|
|
118
|
+
defaultVariants: { size: inputGroupDefaultVariants.size }
|
|
119
|
+
});
|
|
120
|
+
/**
|
|
121
|
+
* Tamanho do texto e do ícone, o mesmo no elemento e no addon. O ícone é o filho direto, para o
|
|
122
|
+
* `size-*` não alcançar o ícone de um botão dentro dele.
|
|
123
|
+
*/
|
|
124
|
+
const contentSizeClassNames = {
|
|
125
|
+
"2xs": [
|
|
126
|
+
"text-xs",
|
|
127
|
+
"any-pointer-coarse:text-base",
|
|
128
|
+
"[&>svg]:size-3"
|
|
129
|
+
],
|
|
130
|
+
xs: [
|
|
131
|
+
"text-xs",
|
|
132
|
+
"any-pointer-coarse:text-base",
|
|
133
|
+
"[&>svg]:size-3.5"
|
|
134
|
+
],
|
|
135
|
+
sm: [
|
|
136
|
+
"text-sm",
|
|
137
|
+
"any-pointer-coarse:text-base",
|
|
138
|
+
"[&>svg]:size-4"
|
|
139
|
+
],
|
|
140
|
+
md: [
|
|
141
|
+
"text-sm",
|
|
142
|
+
"any-pointer-coarse:text-base",
|
|
143
|
+
"[&>svg]:size-4"
|
|
144
|
+
],
|
|
145
|
+
lg: ["text-base", "[&>svg]:size-5"],
|
|
146
|
+
xl: ["text-base", "[&>svg]:size-5"],
|
|
147
|
+
"2xl": ["text-lg", "[&>svg]:size-6"]
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* O elemento (`startElement`, `endElement`) fica dentro da caixa, sem fundo nem borda. Tem padding
|
|
151
|
+
* só do lado de fora (`placement`): o respiro do lado do campo vem do `ps-2`/`pe-2` que a caixa dá
|
|
152
|
+
* ao campo, explicado no `inputGroupVariants`. Um botão ocupa o lugar de um ícone com 4px de folga
|
|
153
|
+
* do lado de fora e o anel de foco encostado nele (offset 0), sem passar da caixa, que corta o que
|
|
154
|
+
* sai dela.
|
|
155
|
+
*/
|
|
156
|
+
const inputGroupElementVariants = cva([
|
|
157
|
+
"flex",
|
|
158
|
+
"items-center",
|
|
159
|
+
"justify-center",
|
|
160
|
+
"shrink-0",
|
|
161
|
+
"whitespace-nowrap",
|
|
162
|
+
"select-none",
|
|
163
|
+
"text-gray-11",
|
|
164
|
+
"[--focus-ring-offset:0px]"
|
|
165
|
+
], {
|
|
166
|
+
variants: {
|
|
167
|
+
placement: {
|
|
168
|
+
start: ["ps-(--input-group-px)", "has-[>button]:ps-1"],
|
|
169
|
+
end: ["pe-(--input-group-px)", "has-[>button]:pe-1"]
|
|
170
|
+
},
|
|
171
|
+
size: contentSizeClassNames
|
|
172
|
+
},
|
|
173
|
+
defaultVariants: {
|
|
174
|
+
placement: "start",
|
|
175
|
+
size: inputGroupDefaultVariants.size
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
/**
|
|
179
|
+
* O addon (`startAddon`, `endAddon`) é uma caixa irmã da caixa do campo, como o campo `outline`
|
|
180
|
+
* ou `subtle`, com a borda própria e o fundo um passo acima do da caixa para se distinguir dela.
|
|
181
|
+
* O `Group` tira os cantos de dentro e sobrepõe a borda; no foco, a caixa sobe e a borda dela
|
|
182
|
+
* aparece inteira sobre a do addon. O anel de foco fica só na caixa, e o inválido também.
|
|
183
|
+
*/
|
|
184
|
+
const inputGroupAddonVariants = cva([
|
|
185
|
+
"flex",
|
|
186
|
+
"items-center",
|
|
187
|
+
"justify-center",
|
|
188
|
+
"shrink-0",
|
|
189
|
+
"px-(--input-group-px)",
|
|
190
|
+
"whitespace-nowrap",
|
|
191
|
+
"select-none",
|
|
192
|
+
"border",
|
|
193
|
+
"rounded-md",
|
|
194
|
+
"corner-squircle",
|
|
195
|
+
"text-gray-11"
|
|
196
|
+
], {
|
|
197
|
+
variants: {
|
|
198
|
+
variant: {
|
|
199
|
+
outline: ["bg-gray-3", "border-gray-7"],
|
|
200
|
+
subtle: ["bg-gray-5", "border-transparent"]
|
|
201
|
+
},
|
|
202
|
+
size: contentSizeClassNames
|
|
203
|
+
},
|
|
204
|
+
defaultVariants: {
|
|
205
|
+
variant: inputGroupDefaultVariants.variant,
|
|
206
|
+
size: inputGroupDefaultVariants.size
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
//#endregion
|
|
210
|
+
export { inputGroupAddonVariants, inputGroupDefaultVariants, inputGroupElementVariants, inputGroupPaddingVariants, inputGroupVariants };
|
|
211
|
+
|
|
212
|
+
//# sourceMappingURL=input-group-variants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-group-variants.js","names":[],"sources":["../../../../src/components/fields/input-group/input-group-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport type InputGroupVariants = {\n /**\n * Altura, padding e tamanho do texto, os mesmos do `Input`, e o tamanho do ícone e do texto dos\n * elementos e addons. `sm` = `h-9`, `md` = `h-10`, alinhado aos outros controles de formulário.\n * O campo de dentro recebe o mesmo `size`, para o texto bater com o dos elementos.\n *\n * @default 'sm'\n */\n size?: '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n /**\n * Fundo e borda da caixa, os mesmos do `Input`. O addon acompanha: sem fundo próprio no\n * `outline`, mais escuro que a caixa no `subtle`.\n *\n * @default 'outline'\n */\n variant?: 'outline' | 'subtle';\n};\n\nexport const inputGroupDefaultVariants: Required<InputGroupVariants> = {\n size: 'sm',\n variant: 'outline',\n};\n\n/**\n * Cópia de `inputVariants`, a origem do visual dos campos: o anel de foco e o inválido funcionam do\n * mesmo jeito, explicados lá. A caixa (`data-slot=\"control\"`) é quem desenha a borda, o raio, o\n * fundo e o anel, e o `<input>` de dentro fica sem caixa. As diferenças:\n * - `flex items-stretch overflow-hidden`: o campo e os elementos dividem a caixa;\n * - o estado vem do `<input>` filho, por `has-[]`, porque é nele que o Base UI escreve o\n * `data-focused`, o `data-invalid`, o `data-disabled` e o `disabled`. Só o filho direto conta:\n * um botão com foco dentro de um elemento não acende o anel;\n * - `--input-group-focus-color` no lugar de `--input-focus-color`;\n * - sem `appearance-none`, `text-start` e `placeholder`, que são do `<input>`;\n * - sem `text-*`: o texto é do campo e dos elementos.\n *\n * O campo de dentro (`Input`, `NumberInput`, `PatternInput`, `CurrencyBrlInput`, qualquer\n * `<input>` filho direto) é neutralizado por seletor: sem borda, raio, fundo nem anel, ocupando o\n * que sobra da linha (`flex-1 min-w-0`) na altura toda, e sem a opacidade do desabilitado, porque\n * a caixa já esmaece e as duas juntas dariam 25%. Cada regra da caixa (`.caixa > input`, 0,1,1)\n * vence a do campo (`.x`, 0,1,0), e as de estado (`.caixa > input:focus-visible`, 0,2,1) vencem as\n * do campo (`.x:focus-visible`, 0,2,0). Uma classe nova no `inputVariants` que o campo escreva\n * precisa de um par aqui, ou o campo volta a desenhar a própria caixa dentro do grupo.\n *\n * Os elementos ficam sem padding do lado do campo, e o campo reduz o padding daquele lado para\n * 8px (`ps-2`, `pe-2`): a folga do elemento até o texto é um respiro curto, e não a soma do\n * padding dos dois.\n *\n * O padding horizontal de cada `size` (`--input-group-px`) vem do `inputGroupPaddingVariants`,\n * que fica no elemento de fora do componente: a própria caixa, ou o `Group` quando há addon, para\n * o addon, irmão da caixa, ler o mesmo valor.\n */\nexport const inputGroupVariants = cva(\n [\n 'relative',\n 'flex',\n 'items-stretch',\n 'w-full',\n 'overflow-hidden',\n\n 'outline-none',\n\n 'font-normal', // Sem isto, herda o peso do `<label>` em volta\n 'text-gray-12',\n\n 'border',\n 'rounded-md',\n 'corner-squircle',\n\n '[--input-group-focus-color:var(--color-black)]',\n 'dark:[--input-group-focus-color:var(--color-white)]',\n\n 'has-[>input:focus-visible]:outline-1',\n 'has-[>input:focus-visible]:outline-solid',\n 'has-[>input:focus-visible]:-outline-offset-2', // Offset = borda + anel: o campo não cresce no foco\n 'has-[>input:focus-visible]:outline-(--input-group-focus-color)',\n 'has-[>input:focus-visible]:border-(--input-group-focus-color)',\n\n 'has-[>input[data-focused]]:outline-1',\n 'has-[>input[data-focused]]:outline-solid',\n 'has-[>input[data-focused]]:-outline-offset-2',\n 'has-[>input[data-focused]]:outline-(--input-group-focus-color)',\n 'has-[>input[data-focused]]:border-(--input-group-focus-color)',\n\n 'has-[>input:disabled]:opacity-50',\n 'has-[>input:disabled]:cursor-not-allowed',\n\n 'has-[>input[data-disabled]]:opacity-50',\n 'has-[>input[data-disabled]]:cursor-not-allowed',\n\n 'has-[>input[data-invalid]]:border-red-9',\n 'has-[>input[data-invalid]]:[--input-group-focus-color:var(--red-9)]',\n 'has-[>input[aria-invalid=true]]:border-red-9',\n 'has-[>input[aria-invalid=true]]:[--input-group-focus-color:var(--red-9)]',\n\n // O campo de dentro, sem a caixa que o grupo já desenha\n '[&>input]:h-full',\n '[&>input]:min-w-0',\n '[&>input]:flex-1',\n\n '[&>input]:border-0',\n '[&>input]:rounded-none',\n '[&>input]:bg-transparent',\n\n '[&>input]:focus-visible:outline-none',\n '[&>input]:data-focused:outline-none',\n\n '[&>input]:disabled:opacity-100',\n '[&>input]:data-disabled:opacity-100',\n\n // Elemento ao lado: o respiro até o texto é o do elemento, não a soma dos dois paddings\n 'has-[>[data-placement=start]]:[&>input]:ps-2',\n 'has-[>[data-placement=end]]:[&>input]:pe-2',\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': ['h-7', 'min-w-7'],\n xs: ['h-8', 'min-w-8'],\n sm: ['h-9', 'min-w-9'],\n md: ['h-10', 'min-w-10'],\n lg: ['h-11', 'min-w-11'],\n xl: ['h-12', 'min-w-12'],\n '2xl': ['h-16', 'min-w-16'],\n },\n },\n defaultVariants: {\n size: inputGroupDefaultVariants.size,\n variant: inputGroupDefaultVariants.variant,\n },\n },\n);\n\n/**\n * O padding horizontal de cada `size`, lido pelos elementos e pelos addons. Fica no elemento de\n * fora do componente (ver `inputGroupVariants`).\n */\nexport const inputGroupPaddingVariants = cva([], {\n variants: {\n size: {\n '2xs': ['[--input-group-px:--spacing(2)]'],\n xs: ['[--input-group-px:--spacing(2)]'],\n sm: ['[--input-group-px:--spacing(2.5)]'],\n md: ['[--input-group-px:--spacing(3)]'],\n lg: ['[--input-group-px:--spacing(4)]'],\n xl: ['[--input-group-px:--spacing(4.5)]'],\n '2xl': ['[--input-group-px:--spacing(5)]'],\n },\n },\n defaultVariants: {\n size: inputGroupDefaultVariants.size,\n },\n});\n\n/**\n * Tamanho do texto e do ícone, o mesmo no elemento e no addon. O ícone é o filho direto, para o\n * `size-*` não alcançar o ícone de um botão dentro dele.\n */\nconst contentSizeClassNames = {\n '2xs': ['text-xs', 'any-pointer-coarse:text-base', '[&>svg]:size-3'],\n xs: ['text-xs', 'any-pointer-coarse:text-base', '[&>svg]:size-3.5'],\n sm: ['text-sm', 'any-pointer-coarse:text-base', '[&>svg]:size-4'],\n md: ['text-sm', 'any-pointer-coarse:text-base', '[&>svg]:size-4'],\n lg: ['text-base', '[&>svg]:size-5'],\n xl: ['text-base', '[&>svg]:size-5'],\n '2xl': ['text-lg', '[&>svg]:size-6'],\n} satisfies Record<NonNullable<InputGroupVariants['size']>, string[]>;\n\n/**\n * O elemento (`startElement`, `endElement`) fica dentro da caixa, sem fundo nem borda. Tem padding\n * só do lado de fora (`placement`): o respiro do lado do campo vem do `ps-2`/`pe-2` que a caixa dá\n * ao campo, explicado no `inputGroupVariants`. Um botão ocupa o lugar de um ícone com 4px de folga\n * do lado de fora e o anel de foco encostado nele (offset 0), sem passar da caixa, que corta o que\n * sai dela.\n */\nexport const inputGroupElementVariants = cva(\n [\n 'flex',\n 'items-center',\n 'justify-center',\n 'shrink-0',\n\n 'whitespace-nowrap',\n 'select-none',\n\n 'text-gray-11',\n\n '[--focus-ring-offset:0px]',\n ],\n {\n variants: {\n placement: {\n start: ['ps-(--input-group-px)', 'has-[>button]:ps-1'],\n end: ['pe-(--input-group-px)', 'has-[>button]:pe-1'],\n },\n size: contentSizeClassNames,\n },\n defaultVariants: {\n placement: 'start',\n size: inputGroupDefaultVariants.size,\n },\n },\n);\n\n/**\n * O addon (`startAddon`, `endAddon`) é uma caixa irmã da caixa do campo, como o campo `outline`\n * ou `subtle`, com a borda própria e o fundo um passo acima do da caixa para se distinguir dela.\n * O `Group` tira os cantos de dentro e sobrepõe a borda; no foco, a caixa sobe e a borda dela\n * aparece inteira sobre a do addon. O anel de foco fica só na caixa, e o inválido também.\n */\nexport const inputGroupAddonVariants = cva(\n [\n 'flex',\n 'items-center',\n 'justify-center',\n 'shrink-0',\n 'px-(--input-group-px)',\n\n 'whitespace-nowrap',\n 'select-none',\n\n 'border',\n 'rounded-md',\n 'corner-squircle',\n\n 'text-gray-11',\n ],\n {\n variants: {\n variant: {\n outline: ['bg-gray-3', 'border-gray-7'],\n subtle: ['bg-gray-5', 'border-transparent'],\n },\n size: contentSizeClassNames,\n },\n defaultVariants: {\n variant: inputGroupDefaultVariants.variant,\n size: inputGroupDefaultVariants.size,\n },\n },\n);\n"],"mappings":";;AAoBA,MAAa,4BAA0D;CACrE,MAAM;CACN,SAAS;AACX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,MAAa,qBAAqB,IAChC;CACE;CACA;CACA;CACA;CACA;CAEA;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;CAGA;CACA;CACA;CAEA;CACA;CACA;CAEA;CACA;CAEA;CACA;CAGA;CACA;AACF,GACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;IACP;IACA;IAEA;GACF;GACA,QAAQ,CACN,aAEA,oBACF;EACF;EACA,MAAM;GACJ,OAAO,CAAC,OAAO,SAAS;GACxB,IAAI,CAAC,OAAO,SAAS;GACrB,IAAI,CAAC,OAAO,SAAS;GACrB,IAAI,CAAC,QAAQ,UAAU;GACvB,IAAI,CAAC,QAAQ,UAAU;GACvB,IAAI,CAAC,QAAQ,UAAU;GACvB,OAAO,CAAC,QAAQ,UAAU;EAC5B;CACF;CACA,iBAAiB;EACf,MAAM,0BAA0B;EAChC,SAAS,0BAA0B;CACrC;AACF,CACF;;;;;AAMA,MAAa,4BAA4B,IAAI,CAAC,GAAG;CAC/C,UAAU,EACR,MAAM;EACJ,OAAO,CAAC,iCAAiC;EACzC,IAAI,CAAC,iCAAiC;EACtC,IAAI,CAAC,mCAAmC;EACxC,IAAI,CAAC,iCAAiC;EACtC,IAAI,CAAC,iCAAiC;EACtC,IAAI,CAAC,mCAAmC;EACxC,OAAO,CAAC,iCAAiC;CAC3C,EACF;CACA,iBAAiB,EACf,MAAM,0BAA0B,KAClC;AACF,CAAC;;;;;AAMD,MAAM,wBAAwB;CAC5B,OAAO;EAAC;EAAW;EAAgC;CAAgB;CACnE,IAAI;EAAC;EAAW;EAAgC;CAAkB;CAClE,IAAI;EAAC;EAAW;EAAgC;CAAgB;CAChE,IAAI;EAAC;EAAW;EAAgC;CAAgB;CAChE,IAAI,CAAC,aAAa,gBAAgB;CAClC,IAAI,CAAC,aAAa,gBAAgB;CAClC,OAAO,CAAC,WAAW,gBAAgB;AACrC;;;;;;;;AASA,MAAa,4BAA4B,IACvC;CACE;CACA;CACA;CACA;CAEA;CACA;CAEA;CAEA;AACF,GACA;CACE,UAAU;EACR,WAAW;GACT,OAAO,CAAC,yBAAyB,oBAAoB;GACrD,KAAK,CAAC,yBAAyB,oBAAoB;EACrD;EACA,MAAM;CACR;CACA,iBAAiB;EACf,WAAW;EACX,MAAM,0BAA0B;CAClC;AACF,CACF;;;;;;;AAQA,MAAa,0BAA0B,IACrC;CACE;CACA;CACA;CACA;CACA;CAEA;CACA;CAEA;CACA;CACA;CAEA;AACF,GACA;CACE,UAAU;EACR,SAAS;GACP,SAAS,CAAC,aAAa,eAAe;GACtC,QAAQ,CAAC,aAAa,oBAAoB;EAC5C;EACA,MAAM;CACR;CACA,iBAAiB;EACf,SAAS,0BAA0B;EACnC,MAAM,0BAA0B;CAClC;AACF,CACF"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { InputGroupVariants } from "./input-group-variants.js";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { MergeOverride } from "@lucasbernardosn/ts-utils";
|
|
4
|
+
//#region src/components/fields/input-group/input-group.d.ts
|
|
5
|
+
export type InputGroupProps = MergeOverride<React.ComponentProps<'div'>, InputGroupVariants & {
|
|
6
|
+
/**
|
|
7
|
+
* O campo: qualquer componente da lib que renderiza um `<input>` direto (`Input`,
|
|
8
|
+
* `NumberInput`, `PatternInput`, `CurrencyBrlInput`).
|
|
9
|
+
*/
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Ícone, texto ou botão dentro da borda, antes do campo.
|
|
13
|
+
*/
|
|
14
|
+
startElement?: React.ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* Ícone, texto ou botão dentro da borda, depois do campo.
|
|
17
|
+
*/
|
|
18
|
+
endElement?: React.ReactNode;
|
|
19
|
+
/**
|
|
20
|
+
* Bloco colado ao campo, fora da borda dele, antes do campo.
|
|
21
|
+
*/
|
|
22
|
+
startAddon?: React.ReactNode;
|
|
23
|
+
/**
|
|
24
|
+
* Bloco colado ao campo, fora da borda dele, depois do campo.
|
|
25
|
+
*/
|
|
26
|
+
endAddon?: React.ReactNode;
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Um campo com ícone, texto ou botão junto dele. O elemento (`startElement`, `endElement`) fica
|
|
30
|
+
* dentro da borda do campo, como a lupa de uma busca ou a unidade de uma medida; o addon
|
|
31
|
+
* (`startAddon`, `endAddon`) é um bloco colado ao campo, com a borda própria, como o `https://` de
|
|
32
|
+
* uma URL.
|
|
33
|
+
*
|
|
34
|
+
* - O grupo desenha a borda, o fundo e o anel de foco do campo, e o `<input>` de dentro fica sem
|
|
35
|
+
* caixa. O foco, o inválido e o desabilitado vêm do campo: ele se liga ao `Field` como sempre,
|
|
36
|
+
* e o grupo reflete o estado dele. No addon, só a caixa do campo muda de cor; o desabilitado
|
|
37
|
+
* esmaece os dois.
|
|
38
|
+
* - O `size` dá a altura: passe o mesmo `size` ao campo, para o texto dele bater com o do elemento
|
|
39
|
+
* e do addon. O `variant` fica só no grupo: o campo é transparente e o fundo vem dele.
|
|
40
|
+
* - Um clique no elemento foca o campo, como no clique de um rótulo; um clique em `button`, `a`,
|
|
41
|
+
* `input`, `select` ou `textarea` dentro dele segue o próprio caminho.
|
|
42
|
+
* - Um botão entra por composição, um `IconButton` com `variant="ghost"` no elemento, um ou dois
|
|
43
|
+
* passos de `size` abaixo do grupo para sobrar folga até a borda (`3xs` num grupo `2xs`, `2xs`
|
|
44
|
+
* num `sm`, `xs` num `md`, `sm` num `lg`, `md` num `xl`, `xl` num `2xl`).
|
|
45
|
+
* - Com addon, o grupo é um `Group` com `attached` por fora, e a `className` e as demais props
|
|
46
|
+
* vão nele; sem addon, no `div` da caixa. Sem `role="group"`: o nome e a descrição acessíveis
|
|
47
|
+
* vêm do `Field` ligado ao `<input>`, e um grupo com nome próprio o anunciaria duas vezes.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```tsx
|
|
51
|
+
* <InputGroup startElement={<Icon render={<MagnifyingGlassIcon />} />}>
|
|
52
|
+
* <Input
|
|
53
|
+
* aria-label="Buscar"
|
|
54
|
+
* placeholder="Buscar pedido"
|
|
55
|
+
* />
|
|
56
|
+
* </InputGroup>
|
|
57
|
+
*
|
|
58
|
+
* <InputGroup endElement="kg">
|
|
59
|
+
* <NumberInput aria-label="Peso" />
|
|
60
|
+
* </InputGroup>
|
|
61
|
+
*
|
|
62
|
+
* <InputGroup
|
|
63
|
+
* startAddon="https://"
|
|
64
|
+
* endAddon=".com.br"
|
|
65
|
+
* >
|
|
66
|
+
* <Input aria-label="Subdomínio" />
|
|
67
|
+
* </InputGroup>
|
|
68
|
+
*
|
|
69
|
+
* <InputGroup
|
|
70
|
+
* endElement={
|
|
71
|
+
* <IconButton
|
|
72
|
+
* aria-label="Limpar"
|
|
73
|
+
* icon={<XIcon />}
|
|
74
|
+
* variant="ghost"
|
|
75
|
+
* size="2xs"
|
|
76
|
+
* />
|
|
77
|
+
* }
|
|
78
|
+
* >
|
|
79
|
+
* <Input aria-label="Endereço" />
|
|
80
|
+
* </InputGroup>
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export declare const InputGroup: {
|
|
84
|
+
(props: InputGroupProps): React.JSX.Element;
|
|
85
|
+
displayName: string;
|
|
86
|
+
};
|
|
87
|
+
//#endregion
|
|
88
|
+
//# sourceMappingURL=input-group.d.ts.map
|