@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,34 @@
|
|
|
1
|
+
import { mergeTwClassNames } from "../../../utils/merge-class-names.js";
|
|
2
|
+
import { useRadioCardItemContext } from "./use-radio-card-item-context.js";
|
|
3
|
+
import { mergeProps, useRender } from "@base-ui/react";
|
|
4
|
+
//#region src/components/fields/radio-card/radio-card-title.tsx
|
|
5
|
+
/**
|
|
6
|
+
* O nome do cartão, em tamanho fixo. O `Item` o liga a si por `aria-labelledby`, usando o `id`
|
|
7
|
+
* que gera: sem esse título, o nome acessível seria o texto inteiro do cartão. Com um `id` próprio,
|
|
8
|
+
* passe o mesmo id ao `aria-labelledby` do `Item`.
|
|
9
|
+
*/
|
|
10
|
+
const RadioCardTitle = (props) => {
|
|
11
|
+
const { render, className, ...rest } = props;
|
|
12
|
+
const { titleId } = useRadioCardItemContext();
|
|
13
|
+
const baseProps = {
|
|
14
|
+
"data-component": "RadioCard.Title",
|
|
15
|
+
id: titleId,
|
|
16
|
+
className: mergeTwClassNames([
|
|
17
|
+
"text-sm",
|
|
18
|
+
"leading-5",
|
|
19
|
+
"font-medium",
|
|
20
|
+
"text-gray-12",
|
|
21
|
+
"text-balance"
|
|
22
|
+
], className)
|
|
23
|
+
};
|
|
24
|
+
return useRender({
|
|
25
|
+
render,
|
|
26
|
+
defaultTagName: "span",
|
|
27
|
+
props: mergeProps(baseProps, rest)
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
RadioCardTitle.displayName = "RadioCard.Title";
|
|
31
|
+
//#endregion
|
|
32
|
+
export { RadioCardTitle };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=radio-card-title.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio-card-title.js","names":[],"sources":["../../../../src/components/fields/radio-card/radio-card-title.tsx"],"sourcesContent":["import { mergeProps, useRender } from '@base-ui/react';\nimport { mergeTwClassNames } from '#utils';\nimport { useRadioCardItemContext } from './use-radio-card-item-context';\n\nexport type RadioCardTitleProps = useRender.ComponentProps<'span'>;\n\n/**\n * O nome do cartão, em tamanho fixo. O `Item` o liga a si por `aria-labelledby`, usando o `id`\n * que gera: sem esse título, o nome acessível seria o texto inteiro do cartão. Com um `id` próprio,\n * passe o mesmo id ao `aria-labelledby` do `Item`.\n */\nexport const RadioCardTitle = (props: RadioCardTitleProps) => {\n const { render, className, ...rest } = props;\n\n const { titleId } = useRadioCardItemContext();\n\n const baseProps = {\n 'data-component': 'RadioCard.Title',\n id: titleId,\n className: mergeTwClassNames(\n ['text-sm', 'leading-5', 'font-medium', 'text-gray-12', 'text-balance'],\n className,\n ),\n };\n\n return useRender({\n render,\n defaultTagName: 'span',\n props: mergeProps(baseProps, rest),\n });\n};\n\nRadioCardTitle.displayName = 'RadioCard.Title';\n"],"mappings":";;;;;;;;;AAWA,MAAa,kBAAkB,UAA+B;CAC5D,MAAM,EAAE,QAAQ,WAAW,GAAG,SAAS;CAEvC,MAAM,EAAE,YAAY,wBAAwB;CAE5C,MAAM,YAAY;EAChB,kBAAkB;EAClB,IAAI;EACJ,WAAW,kBACT;GAAC;GAAW;GAAa;GAAe;GAAgB;EAAc,GACtE,SACF;CACF;CAEA,OAAO,UAAU;EACf;EACA,gBAAgB;EAChB,OAAO,WAAW,WAAW,IAAI;CACnC,CAAC;AACH;AAEA,eAAe,cAAc"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ColorSchemeCore } from "../../../types/color-scheme.js";
|
|
2
|
+
//#region src/components/fields/radio-card/use-radio-card-context.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Variantes do RadioCard. Informadas no `RadioCard.Group` e repassadas aos `RadioCard.Item` por
|
|
5
|
+
* contexto.
|
|
6
|
+
*/
|
|
7
|
+
export type RadioCardVariants = {
|
|
8
|
+
/**
|
|
9
|
+
* Cor do cartão marcado, do `RadioCard.Indicator` e do anel de foco.
|
|
10
|
+
*
|
|
11
|
+
* @default 'gray'
|
|
12
|
+
*/
|
|
13
|
+
colorScheme?: ColorSchemeCore;
|
|
14
|
+
/**
|
|
15
|
+
* Desenho do cartão marcado: `outline` pinta a borda e um anel de 1px; `surface` pinta o fundo e
|
|
16
|
+
* a borda.
|
|
17
|
+
*
|
|
18
|
+
* @default 'outline'
|
|
19
|
+
*/
|
|
20
|
+
variant?: 'outline' | 'surface';
|
|
21
|
+
};
|
|
22
|
+
export declare const radioCardDefaultVariants: Required<RadioCardVariants>;
|
|
23
|
+
export declare const RadioCardContextProvider: import("react").Provider<RadioCardVariants>, useRadioCardContext: () => RadioCardVariants;
|
|
24
|
+
//#endregion
|
|
25
|
+
//# sourceMappingURL=use-radio-card-context.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createContext } from "@lucasbernardosn/react-utils";
|
|
2
|
+
//#region src/components/fields/radio-card/use-radio-card-context.ts
|
|
3
|
+
const radioCardDefaultVariants = {
|
|
4
|
+
colorScheme: "gray",
|
|
5
|
+
variant: "outline"
|
|
6
|
+
};
|
|
7
|
+
const [RadioCardContextProvider, useRadioCardContext] = createContext({
|
|
8
|
+
name: "RadioCardContext",
|
|
9
|
+
providers: ["RadioCard.Group"]
|
|
10
|
+
});
|
|
11
|
+
//#endregion
|
|
12
|
+
export { RadioCardContextProvider, radioCardDefaultVariants, useRadioCardContext };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=use-radio-card-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-radio-card-context.js","names":[],"sources":["../../../../src/components/fields/radio-card/use-radio-card-context.ts"],"sourcesContent":["import { createContext } from '@lucasbernardosn/react-utils';\nimport type { ColorSchemeCore } from '#types';\n\n/**\n * Variantes do RadioCard. Informadas no `RadioCard.Group` e repassadas aos `RadioCard.Item` por\n * contexto.\n */\nexport type RadioCardVariants = {\n /**\n * Cor do cartão marcado, do `RadioCard.Indicator` e do anel de foco.\n *\n * @default 'gray'\n */\n colorScheme?: ColorSchemeCore;\n /**\n * Desenho do cartão marcado: `outline` pinta a borda e um anel de 1px; `surface` pinta o fundo e\n * a borda.\n *\n * @default 'outline'\n */\n variant?: 'outline' | 'surface';\n};\n\nexport const radioCardDefaultVariants: Required<RadioCardVariants> = {\n colorScheme: 'gray',\n variant: 'outline',\n};\n\nexport const [RadioCardContextProvider, useRadioCardContext] =\n createContext<RadioCardVariants>({\n name: 'RadioCardContext',\n providers: ['RadioCard.Group'],\n });\n"],"mappings":";;AAuBA,MAAa,2BAAwD;CACnE,aAAa;CACb,SAAS;AACX;AAEA,MAAa,CAAC,0BAA0B,uBACtC,cAAiC;CAC/B,MAAM;CACN,WAAW,CAAC,iBAAiB;AAC/B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/components/fields/radio-card/use-radio-card-item-context.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Ids que o `RadioCard.Item` gera para nomear e descrever o cartão. O `Title` e o `Description`
|
|
4
|
+
* os lêem e os aplicam ao próprio elemento.
|
|
5
|
+
*/
|
|
6
|
+
export type RadioCardItemContextValue = {
|
|
7
|
+
descriptionId: string;
|
|
8
|
+
titleId: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const RadioCardItemContextProvider: import("react").Provider<RadioCardItemContextValue>, useRadioCardItemContext: () => RadioCardItemContextValue;
|
|
11
|
+
//#endregion
|
|
12
|
+
//# sourceMappingURL=use-radio-card-item-context.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createContext } from "@lucasbernardosn/react-utils";
|
|
2
|
+
//#region src/components/fields/radio-card/use-radio-card-item-context.ts
|
|
3
|
+
const [RadioCardItemContextProvider, useRadioCardItemContext] = createContext({
|
|
4
|
+
name: "RadioCardItemContext",
|
|
5
|
+
providers: ["RadioCard.Item"]
|
|
6
|
+
});
|
|
7
|
+
//#endregion
|
|
8
|
+
export { RadioCardItemContextProvider, useRadioCardItemContext };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=use-radio-card-item-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-radio-card-item-context.js","names":[],"sources":["../../../../src/components/fields/radio-card/use-radio-card-item-context.ts"],"sourcesContent":["import { createContext } from '@lucasbernardosn/react-utils';\n\n/**\n * Ids que o `RadioCard.Item` gera para nomear e descrever o cartão. O `Title` e o `Description`\n * os lêem e os aplicam ao próprio elemento.\n */\nexport type RadioCardItemContextValue = {\n descriptionId: string;\n titleId: string;\n};\n\nexport const [RadioCardItemContextProvider, useRadioCardItemContext] =\n createContext<RadioCardItemContextValue>({\n name: 'RadioCardItemContext',\n providers: ['RadioCard.Item'],\n });\n"],"mappings":";;AAWA,MAAa,CAAC,8BAA8B,2BAC1C,cAAyC;CACvC,MAAM;CACN,WAAW,CAAC,gBAAgB;AAC9B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SegmentedControlIndicator, SegmentedControlIndicatorProps } from "./segmented-control-indicator.js";
|
|
2
|
+
import { SegmentedControlItem, SegmentedControlItemProps, SegmentedControlItemState } from "./segmented-control-item.js";
|
|
3
|
+
import { SegmentedControlVariants } from "./use-segmented-control-context.js";
|
|
4
|
+
import { SegmentedControlRoot, SegmentedControlRootChangeEventDetails, SegmentedControlRootChangeEventReason, SegmentedControlRootProps, SegmentedControlRootState } from "./segmented-control-root.js";
|
|
5
|
+
declare namespace index_parts_d_exports {
|
|
6
|
+
export { SegmentedControlIndicator as Indicator, SegmentedControlIndicatorProps as IndicatorProps, SegmentedControlItem as Item, SegmentedControlItemProps as ItemProps, SegmentedControlItemState as ItemState, SegmentedControlRoot as Root, SegmentedControlRootChangeEventDetails as RootChangeEventDetails, SegmentedControlRootChangeEventReason as RootChangeEventReason, SegmentedControlRootProps as RootProps, SegmentedControlRootState as RootState, SegmentedControlVariants as Variants };
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { SegmentedControlIndicator as Indicator, type SegmentedControlIndicatorProps as IndicatorProps, SegmentedControlItem as Item, type SegmentedControlItemProps as ItemProps, type SegmentedControlItemState as ItemState, SegmentedControlRoot as Root, type SegmentedControlRootChangeEventDetails as RootChangeEventDetails, type SegmentedControlRootChangeEventReason as RootChangeEventReason, type SegmentedControlRootProps as RootProps, type SegmentedControlRootState as RootState, type SegmentedControlVariants as Variants, index_parts_d_exports };
|
|
10
|
+
//# sourceMappingURL=index.parts.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { __exportAll } from "../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { SegmentedControlIndicator } from "./segmented-control-indicator.js";
|
|
3
|
+
import { SegmentedControlItem } from "./segmented-control-item.js";
|
|
4
|
+
import { SegmentedControlRoot } from "./segmented-control-root.js";
|
|
5
|
+
//#region src/components/fields/segmented-control/index.parts.ts
|
|
6
|
+
var index_parts_exports = /* @__PURE__ */ __exportAll({
|
|
7
|
+
Indicator: () => SegmentedControlIndicator,
|
|
8
|
+
Item: () => SegmentedControlItem,
|
|
9
|
+
Root: () => SegmentedControlRoot
|
|
10
|
+
});
|
|
11
|
+
//#endregion
|
|
12
|
+
export { SegmentedControlIndicator as Indicator, SegmentedControlItem as Item, SegmentedControlRoot as Root, index_parts_exports };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=index.parts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.parts.js","names":[],"sources":["../../../../src/components/fields/segmented-control/index.parts.ts"],"sourcesContent":["export { SegmentedControlIndicator as Indicator } from './segmented-control-indicator';\nexport { SegmentedControlItem as Item } from './segmented-control-item';\nexport { SegmentedControlRoot as Root } from './segmented-control-root';\n\n/* types */\n\nexport type { SegmentedControlIndicatorProps as IndicatorProps } from './segmented-control-indicator';\nexport type {\n SegmentedControlItemProps as ItemProps,\n SegmentedControlItemState as ItemState,\n} from './segmented-control-item';\nexport type {\n SegmentedControlRootChangeEventDetails as RootChangeEventDetails,\n SegmentedControlRootChangeEventReason as RootChangeEventReason,\n SegmentedControlRootProps as RootProps,\n SegmentedControlRootState as RootState,\n} from './segmented-control-root';\nexport type { SegmentedControlVariants as Variants } from './use-segmented-control-context';\n"],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useRender } from "@base-ui/react";
|
|
2
|
+
//#region src/components/fields/segmented-control/segmented-control-indicator.d.ts
|
|
3
|
+
export type SegmentedControlIndicatorProps = useRender.ComponentProps<'span'>;
|
|
4
|
+
/**
|
|
5
|
+
* Camada que desliza atrás do item marcado. Monte dentro do `SegmentedControl.Root`, depois dos
|
|
6
|
+
* itens. Posição e tamanho vêm de `--segmented-control-indicator-*`, que o `Root` escreve a partir
|
|
7
|
+
* do item marcado. Fica escondido sem item marcado e até a primeira medida, e só anima depois
|
|
8
|
+
* dela (a transição fica sob `not-motion-reduced:`). Não entra na árvore de acessibilidade.
|
|
9
|
+
*
|
|
10
|
+
* Copia o `tabsIndicatorVariants` na `variant` `enclosed`, com a posição em
|
|
11
|
+
* `--segmented-control-indicator-*` no lugar das `--active-tab-*` do Base UI, a transição só
|
|
12
|
+
* depois da primeira medida, e o fundo `solid` do `colorScheme`, sem a sombra.
|
|
13
|
+
*
|
|
14
|
+
* O nome segue o `Tabs.Indicator`: não é o `Indicator` de ícone das outras partes da lib.
|
|
15
|
+
*/
|
|
16
|
+
export declare const SegmentedControlIndicator: {
|
|
17
|
+
(props: SegmentedControlIndicatorProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
18
|
+
displayName: string;
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
//# sourceMappingURL=segmented-control-indicator.d.ts.map
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { mergeTwClassNames } from "../../../utils/merge-class-names.js";
|
|
2
|
+
import { mergeProps, useRender } from "@base-ui/react";
|
|
3
|
+
//#region src/components/fields/segmented-control/segmented-control-indicator.tsx
|
|
4
|
+
/**
|
|
5
|
+
* Camada que desliza atrás do item marcado. Monte dentro do `SegmentedControl.Root`, depois dos
|
|
6
|
+
* itens. Posição e tamanho vêm de `--segmented-control-indicator-*`, que o `Root` escreve a partir
|
|
7
|
+
* do item marcado. Fica escondido sem item marcado e até a primeira medida, e só anima depois
|
|
8
|
+
* dela (a transição fica sob `not-motion-reduced:`). Não entra na árvore de acessibilidade.
|
|
9
|
+
*
|
|
10
|
+
* Copia o `tabsIndicatorVariants` na `variant` `enclosed`, com a posição em
|
|
11
|
+
* `--segmented-control-indicator-*` no lugar das `--active-tab-*` do Base UI, a transição só
|
|
12
|
+
* depois da primeira medida, e o fundo `solid` do `colorScheme`, sem a sombra.
|
|
13
|
+
*
|
|
14
|
+
* O nome segue o `Tabs.Indicator`: não é o `Indicator` de ícone das outras partes da lib.
|
|
15
|
+
*/
|
|
16
|
+
const SegmentedControlIndicator = (props) => {
|
|
17
|
+
const { render, className, ...rest } = props;
|
|
18
|
+
const baseProps = {
|
|
19
|
+
"data-component": "SegmentedControl.Indicator",
|
|
20
|
+
"aria-hidden": true,
|
|
21
|
+
className: mergeTwClassNames([
|
|
22
|
+
"absolute",
|
|
23
|
+
"top-0",
|
|
24
|
+
"left-0",
|
|
25
|
+
"-z-1",
|
|
26
|
+
"h-(--segmented-control-indicator-height)",
|
|
27
|
+
"w-(--segmented-control-indicator-width)",
|
|
28
|
+
"translate-x-(--segmented-control-indicator-left)",
|
|
29
|
+
"translate-y-(--segmented-control-indicator-top)",
|
|
30
|
+
"rounded-(--segmented-control-item-radius)",
|
|
31
|
+
"corner-squircle",
|
|
32
|
+
"bg-(--segmented-control-indicator-bg)",
|
|
33
|
+
"group-not-has-[[data-checked]]/segmented-control:hidden",
|
|
34
|
+
"group-not-data-measured/segmented-control:hidden",
|
|
35
|
+
"group-data-measured/segmented-control:not-motion-reduced:transition-[translate,width,height]",
|
|
36
|
+
"group-data-measured/segmented-control:not-motion-reduced:ease-move",
|
|
37
|
+
"group-data-measured/segmented-control:not-motion-reduced:duration-150"
|
|
38
|
+
], className)
|
|
39
|
+
};
|
|
40
|
+
return useRender({
|
|
41
|
+
render,
|
|
42
|
+
defaultTagName: "span",
|
|
43
|
+
props: mergeProps(baseProps, rest)
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
SegmentedControlIndicator.displayName = "SegmentedControl.Indicator";
|
|
47
|
+
//#endregion
|
|
48
|
+
export { SegmentedControlIndicator };
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=segmented-control-indicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segmented-control-indicator.js","names":[],"sources":["../../../../src/components/fields/segmented-control/segmented-control-indicator.tsx"],"sourcesContent":["import { mergeProps, useRender } from '@base-ui/react';\nimport { mergeTwClassNames } from '#utils';\n\nexport type SegmentedControlIndicatorProps = useRender.ComponentProps<'span'>;\n\n/**\n * Camada que desliza atrás do item marcado. Monte dentro do `SegmentedControl.Root`, depois dos\n * itens. Posição e tamanho vêm de `--segmented-control-indicator-*`, que o `Root` escreve a partir\n * do item marcado. Fica escondido sem item marcado e até a primeira medida, e só anima depois\n * dela (a transição fica sob `not-motion-reduced:`). Não entra na árvore de acessibilidade.\n *\n * Copia o `tabsIndicatorVariants` na `variant` `enclosed`, com a posição em\n * `--segmented-control-indicator-*` no lugar das `--active-tab-*` do Base UI, a transição só\n * depois da primeira medida, e o fundo `solid` do `colorScheme`, sem a sombra.\n *\n * O nome segue o `Tabs.Indicator`: não é o `Indicator` de ícone das outras partes da lib.\n */\nexport const SegmentedControlIndicator = (\n props: SegmentedControlIndicatorProps,\n) => {\n const { render, className, ...rest } = props;\n\n const baseProps = {\n 'data-component': 'SegmentedControl.Indicator',\n 'aria-hidden': true,\n className: mergeTwClassNames(\n [\n 'absolute',\n 'top-0',\n 'left-0',\n '-z-1',\n\n 'h-(--segmented-control-indicator-height)',\n 'w-(--segmented-control-indicator-width)',\n 'translate-x-(--segmented-control-indicator-left)',\n 'translate-y-(--segmented-control-indicator-top)',\n\n 'rounded-(--segmented-control-item-radius)',\n 'corner-squircle',\n\n 'bg-(--segmented-control-indicator-bg)',\n\n // Sem item marcado não há o que mostrar; antes da primeira medida, o item se pinta.\n 'group-not-has-[[data-checked]]/segmented-control:hidden',\n 'group-not-data-measured/segmented-control:hidden',\n\n // A transição só liga depois da primeira medida: sem ela, o indicador deslizaria da origem.\n 'group-data-measured/segmented-control:not-motion-reduced:transition-[translate,width,height]',\n 'group-data-measured/segmented-control:not-motion-reduced:ease-move',\n 'group-data-measured/segmented-control:not-motion-reduced:duration-150',\n ],\n className,\n ),\n };\n\n return useRender({\n render,\n defaultTagName: 'span',\n props: mergeProps(baseProps, rest),\n });\n};\n\nSegmentedControlIndicator.displayName = 'SegmentedControl.Indicator';\n"],"mappings":";;;;;;;;;;;;;;;AAiBA,MAAa,6BACX,UACG;CACH,MAAM,EAAE,QAAQ,WAAW,GAAG,SAAS;CAEvC,MAAM,YAAY;EAChB,kBAAkB;EAClB,eAAe;EACf,WAAW,kBACT;GACE;GACA;GACA;GACA;GAEA;GACA;GACA;GACA;GAEA;GACA;GAEA;GAGA;GACA;GAGA;GACA;GACA;EACF,GACA,SACF;CACF;CAEA,OAAO,UAAU;EACf;EACA,gBAAgB;EAChB,OAAO,WAAW,WAAW,IAAI;CACnC,CAAC;AACH;AAEA,0BAA0B,cAAc"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/components/fields/segmented-control/segmented-control-item-variants.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Copia o `tabsTabVariants` na `variant` `enclosed`. Diferenças:
|
|
4
|
+
*
|
|
5
|
+
* - a altura desconta o `p-1` da trilha de `--segmented-control-height`, e o `size` define o
|
|
6
|
+
* padding, o texto e o ícone;
|
|
7
|
+
* - o item marcado só pinta o próprio fundo enquanto o `Root` não mediu o `Indicator`
|
|
8
|
+
* (`data-measured` ausente): é o primeiro desenho, sem o salto do indicador chegando;
|
|
9
|
+
* - o item é um radio (`data-checked`), não uma tab (`data-active`);
|
|
10
|
+
* - o texto marcado inverte sobre o `solid` (`--segmented-control-checked-fg`).
|
|
11
|
+
*/
|
|
12
|
+
export declare const segmentedControlItemVariants: (props?: ({
|
|
13
|
+
size?: "xs" | "sm" | "md" | "lg" | null | undefined;
|
|
14
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
15
|
+
//#endregion
|
|
16
|
+
//# sourceMappingURL=segmented-control-item-variants.d.ts.map
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { segmentedControlDefaultVariants } from "./use-segmented-control-context.js";
|
|
2
|
+
import { cva } from "class-variance-authority";
|
|
3
|
+
//#region src/components/fields/segmented-control/segmented-control-item-variants.ts
|
|
4
|
+
/**
|
|
5
|
+
* Copia o `tabsTabVariants` na `variant` `enclosed`. Diferenças:
|
|
6
|
+
*
|
|
7
|
+
* - a altura desconta o `p-1` da trilha de `--segmented-control-height`, e o `size` define o
|
|
8
|
+
* padding, o texto e o ícone;
|
|
9
|
+
* - o item marcado só pinta o próprio fundo enquanto o `Root` não mediu o `Indicator`
|
|
10
|
+
* (`data-measured` ausente): é o primeiro desenho, sem o salto do indicador chegando;
|
|
11
|
+
* - o item é um radio (`data-checked`), não uma tab (`data-active`);
|
|
12
|
+
* - o texto marcado inverte sobre o `solid` (`--segmented-control-checked-fg`).
|
|
13
|
+
*/
|
|
14
|
+
const segmentedControlItemVariants = cva([
|
|
15
|
+
"relative",
|
|
16
|
+
"inline-flex",
|
|
17
|
+
"items-center",
|
|
18
|
+
"justify-center",
|
|
19
|
+
"shrink-0",
|
|
20
|
+
"h-[calc(var(--segmented-control-height)-0.5rem)]",
|
|
21
|
+
"min-w-[calc(var(--segmented-control-height)-0.5rem)]",
|
|
22
|
+
"rounded-(--segmented-control-item-radius)",
|
|
23
|
+
"whitespace-nowrap",
|
|
24
|
+
"font-medium",
|
|
25
|
+
"text-gray-11",
|
|
26
|
+
"data-checked:text-(--segmented-control-checked-fg)",
|
|
27
|
+
"corner-squircle",
|
|
28
|
+
"select-none",
|
|
29
|
+
"cursor-pointer",
|
|
30
|
+
"transition-[color]",
|
|
31
|
+
"ring-gray-9",
|
|
32
|
+
"focus-ring-inside",
|
|
33
|
+
"[--focus-ring-width:2px]",
|
|
34
|
+
"focus-visible:z-10",
|
|
35
|
+
"data-readonly:cursor-default",
|
|
36
|
+
"group-not-data-disabled/segmented-control:data-disabled:opacity-50",
|
|
37
|
+
"data-disabled:cursor-not-allowed",
|
|
38
|
+
"group-not-data-measured/segmented-control:data-checked:bg-(--segmented-control-indicator-bg)",
|
|
39
|
+
"[&_svg]:shrink-0"
|
|
40
|
+
], {
|
|
41
|
+
variants: { size: {
|
|
42
|
+
xs: [
|
|
43
|
+
"px-2.5",
|
|
44
|
+
"gap-1.5",
|
|
45
|
+
"text-xs",
|
|
46
|
+
"[&_svg]:size-3.5"
|
|
47
|
+
],
|
|
48
|
+
sm: [
|
|
49
|
+
"px-3",
|
|
50
|
+
"gap-2",
|
|
51
|
+
"text-sm",
|
|
52
|
+
"[&_svg]:size-4"
|
|
53
|
+
],
|
|
54
|
+
md: [
|
|
55
|
+
"px-4",
|
|
56
|
+
"gap-2",
|
|
57
|
+
"text-sm",
|
|
58
|
+
"[&_svg]:size-4"
|
|
59
|
+
],
|
|
60
|
+
lg: [
|
|
61
|
+
"px-4",
|
|
62
|
+
"gap-2.5",
|
|
63
|
+
"text-base",
|
|
64
|
+
"[&_svg]:size-5"
|
|
65
|
+
]
|
|
66
|
+
} },
|
|
67
|
+
defaultVariants: { size: segmentedControlDefaultVariants.size }
|
|
68
|
+
});
|
|
69
|
+
//#endregion
|
|
70
|
+
export { segmentedControlItemVariants };
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=segmented-control-item-variants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segmented-control-item-variants.js","names":[],"sources":["../../../../src/components/fields/segmented-control/segmented-control-item-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport { segmentedControlDefaultVariants } from './use-segmented-control-context';\n\n/**\n * Copia o `tabsTabVariants` na `variant` `enclosed`. Diferenças:\n *\n * - a altura desconta o `p-1` da trilha de `--segmented-control-height`, e o `size` define o\n * padding, o texto e o ícone;\n * - o item marcado só pinta o próprio fundo enquanto o `Root` não mediu o `Indicator`\n * (`data-measured` ausente): é o primeiro desenho, sem o salto do indicador chegando;\n * - o item é um radio (`data-checked`), não uma tab (`data-active`);\n * - o texto marcado inverte sobre o `solid` (`--segmented-control-checked-fg`).\n */\nexport const segmentedControlItemVariants = cva(\n [\n 'relative',\n\n 'inline-flex',\n 'items-center',\n 'justify-center',\n 'shrink-0',\n\n // A trilha tem `p-1`: o item desconta os dois lados para a trilha ficar na altura do campo.\n 'h-[calc(var(--segmented-control-height)-0.5rem)]',\n 'min-w-[calc(var(--segmented-control-height)-0.5rem)]',\n\n 'rounded-(--segmented-control-item-radius)',\n\n 'whitespace-nowrap',\n 'font-medium',\n 'text-gray-11',\n 'data-checked:text-(--segmented-control-checked-fg)',\n\n 'corner-squircle',\n\n 'select-none',\n 'cursor-pointer',\n 'transition-[color]',\n\n 'ring-gray-9',\n 'focus-ring-inside',\n '[--focus-ring-width:2px]',\n 'focus-visible:z-10',\n\n 'data-readonly:cursor-default',\n\n // O Root já esmaece tudo quando o grupo é desabilitado; só o item desabilitado esmaece sozinho.\n 'group-not-data-disabled/segmented-control:data-disabled:opacity-50',\n 'data-disabled:cursor-not-allowed',\n\n // Até o Root medir o Indicator, o item marcado se pinta.\n 'group-not-data-measured/segmented-control:data-checked:bg-(--segmented-control-indicator-bg)',\n\n '[&_svg]:shrink-0',\n ],\n {\n variants: {\n size: {\n xs: ['px-2.5', 'gap-1.5', 'text-xs', '[&_svg]:size-3.5'],\n sm: ['px-3', 'gap-2', 'text-sm', '[&_svg]:size-4'],\n md: ['px-4', 'gap-2', 'text-sm', '[&_svg]:size-4'],\n lg: ['px-4', 'gap-2.5', 'text-base', '[&_svg]:size-5'],\n },\n },\n defaultVariants: {\n size: segmentedControlDefaultVariants.size,\n },\n },\n);\n"],"mappings":";;;;;;;;;;;;;AAaA,MAAa,+BAA+B,IAC1C;CACE;CAEA;CACA;CACA;CACA;CAGA;CACA;CAEA;CAEA;CACA;CACA;CACA;CAEA;CAEA;CACA;CACA;CAEA;CACA;CACA;CACA;CAEA;CAGA;CACA;CAGA;CAEA;AACF,GACA;CACE,UAAU,EACR,MAAM;EACJ,IAAI;GAAC;GAAU;GAAW;GAAW;EAAkB;EACvD,IAAI;GAAC;GAAQ;GAAS;GAAW;EAAgB;EACjD,IAAI;GAAC;GAAQ;GAAS;GAAW;EAAgB;EACjD,IAAI;GAAC;GAAQ;GAAW;GAAa;EAAgB;CACvD,EACF;CACA,iBAAiB,EACf,MAAM,gCAAgC,KACxC;AACF,CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Radio } from "@base-ui/react/radio";
|
|
2
|
+
//#region src/components/fields/segmented-control/segmented-control-item.d.ts
|
|
3
|
+
export type SegmentedControlItemProps = Radio.Root.Props;
|
|
4
|
+
export type SegmentedControlItemState = Radio.Root.State;
|
|
5
|
+
/**
|
|
6
|
+
* Uma opção do controle: o próprio radio, com o texto (e o ícone) como filhos. Precisa de um
|
|
7
|
+
* `value` e fica dentro de um `SegmentedControl.Root`. Renderiza um `<button type="button">` com
|
|
8
|
+
* `role="radio"` (`nativeButton`), não o `<span>` do `Radio.Root`: o botão nativo dá o foco, o
|
|
9
|
+
* `:focus-visible` e o nome pelo conteúdo sem depender de um `<label>`, e o `type="button"` impede
|
|
10
|
+
* o envio do formulário. Com só um ícone, dê o nome com `aria-label`.
|
|
11
|
+
*/
|
|
12
|
+
export declare const SegmentedControlItem: {
|
|
13
|
+
(props: SegmentedControlItemProps): import("react").JSX.Element;
|
|
14
|
+
displayName: string;
|
|
15
|
+
};
|
|
16
|
+
//#endregion
|
|
17
|
+
//# sourceMappingURL=segmented-control-item.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { mergeStateClassNames } from "../../../utils/merge-state-class-names.js";
|
|
2
|
+
import { useSegmentedControlContext } from "./use-segmented-control-context.js";
|
|
3
|
+
import { segmentedControlItemVariants } from "./segmented-control-item-variants.js";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { Radio } from "@base-ui/react/radio";
|
|
6
|
+
//#region src/components/fields/segmented-control/segmented-control-item.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Uma opção do controle: o próprio radio, com o texto (e o ícone) como filhos. Precisa de um
|
|
9
|
+
* `value` e fica dentro de um `SegmentedControl.Root`. Renderiza um `<button type="button">` com
|
|
10
|
+
* `role="radio"` (`nativeButton`), não o `<span>` do `Radio.Root`: o botão nativo dá o foco, o
|
|
11
|
+
* `:focus-visible` e o nome pelo conteúdo sem depender de um `<label>`, e o `type="button"` impede
|
|
12
|
+
* o envio do formulário. Com só um ícone, dê o nome com `aria-label`.
|
|
13
|
+
*/
|
|
14
|
+
const SegmentedControlItem = (props) => {
|
|
15
|
+
const { className, ...rest } = props;
|
|
16
|
+
const { size } = useSegmentedControlContext();
|
|
17
|
+
return /* @__PURE__ */ jsx(Radio.Root, {
|
|
18
|
+
"data-component": "SegmentedControl.Item",
|
|
19
|
+
nativeButton: true,
|
|
20
|
+
render: /* @__PURE__ */ jsx("button", { type: "button" }),
|
|
21
|
+
className: mergeStateClassNames(segmentedControlItemVariants({ size }), className),
|
|
22
|
+
...rest
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
SegmentedControlItem.displayName = "SegmentedControl.Item";
|
|
26
|
+
//#endregion
|
|
27
|
+
export { SegmentedControlItem };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=segmented-control-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segmented-control-item.js","names":["BaseRadio"],"sources":["../../../../src/components/fields/segmented-control/segmented-control-item.tsx"],"sourcesContent":["import { Radio as BaseRadio } from '@base-ui/react/radio';\nimport { mergeStateClassNames } from '#utils';\nimport { segmentedControlItemVariants } from './segmented-control-item-variants';\nimport { useSegmentedControlContext } from './use-segmented-control-context';\n\nexport type SegmentedControlItemProps = BaseRadio.Root.Props;\n\nexport type SegmentedControlItemState = BaseRadio.Root.State;\n\n/**\n * Uma opção do controle: o próprio radio, com o texto (e o ícone) como filhos. Precisa de um\n * `value` e fica dentro de um `SegmentedControl.Root`. Renderiza um `<button type=\"button\">` com\n * `role=\"radio\"` (`nativeButton`), não o `<span>` do `Radio.Root`: o botão nativo dá o foco, o\n * `:focus-visible` e o nome pelo conteúdo sem depender de um `<label>`, e o `type=\"button\"` impede\n * o envio do formulário. Com só um ícone, dê o nome com `aria-label`.\n */\nexport const SegmentedControlItem = (props: SegmentedControlItemProps) => {\n const { className, ...rest } = props;\n\n const { size } = useSegmentedControlContext();\n\n return (\n <BaseRadio.Root\n data-component=\"SegmentedControl.Item\"\n nativeButton={true}\n render={<button type=\"button\" />}\n className={mergeStateClassNames(\n segmentedControlItemVariants({ size }),\n className,\n )}\n {...rest}\n />\n );\n};\n\nSegmentedControlItem.displayName = 'SegmentedControl.Item';\n"],"mappings":";;;;;;;;;;;;;AAgBA,MAAa,wBAAwB,UAAqC;CACxE,MAAM,EAAE,WAAW,GAAG,SAAS;CAE/B,MAAM,EAAE,SAAS,2BAA2B;CAE5C,OACE,oBAACA,MAAU,MAAX;EACE,kBAAe;EACf,cAAc;EACd,QAAQ,oBAAC,UAAD,EAAQ,MAAK,SAAU,CAAA;EAC/B,WAAW,qBACT,6BAA6B,EAAE,KAAK,CAAC,GACrC,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,qBAAqB,cAAc"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/components/fields/segmented-control/segmented-control-root-variants.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Copia o `tabsListVariants` na `variant` `enclosed` (a trilha) e declara as variáveis
|
|
4
|
+
* `--segmented-control-*` que o `Item` e o `Indicator` leem. Diferenças:
|
|
5
|
+
*
|
|
6
|
+
* - o `size` declara `--segmented-control-height`, a altura TOTAL do controle (a mesma do
|
|
7
|
+
* `Input` do mesmo `size`); o `Item` desconta o `p-1` da trilha;
|
|
8
|
+
* - não há `fitted` nem `justify`: o controle ocupa só o que os itens pedem;
|
|
9
|
+
* - o `colorScheme` declara a cor do item marcado, o `solid` do `Button` (no Tabs, ele é o fundo
|
|
10
|
+
* claro da `--tabs-enclosed-bg`, com sombra);
|
|
11
|
+
* - o estado desabilitado e o inválido pintam a trilha inteira (`opacity-50`, anel vermelho);
|
|
12
|
+
* - o `Root` escreve, a partir do item marcado, as variáveis `--segmented-control-indicator-*`
|
|
13
|
+
* (ver `useSegmentedControlIndicator`).
|
|
14
|
+
*/
|
|
15
|
+
export declare const segmentedControlRootVariants: (props?: ({
|
|
16
|
+
colorScheme?: "gray" | "accent" | null | undefined;
|
|
17
|
+
orientation?: "horizontal" | "vertical" | null | undefined;
|
|
18
|
+
size?: "xs" | "sm" | "md" | "lg" | null | undefined;
|
|
19
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
20
|
+
//#endregion
|
|
21
|
+
//# sourceMappingURL=segmented-control-root-variants.d.ts.map
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { segmentedControlDefaultVariants } from "./use-segmented-control-context.js";
|
|
2
|
+
import { cva } from "class-variance-authority";
|
|
3
|
+
//#region src/components/fields/segmented-control/segmented-control-root-variants.ts
|
|
4
|
+
/**
|
|
5
|
+
* Copia o `tabsListVariants` na `variant` `enclosed` (a trilha) e declara as variáveis
|
|
6
|
+
* `--segmented-control-*` que o `Item` e o `Indicator` leem. Diferenças:
|
|
7
|
+
*
|
|
8
|
+
* - o `size` declara `--segmented-control-height`, a altura TOTAL do controle (a mesma do
|
|
9
|
+
* `Input` do mesmo `size`); o `Item` desconta o `p-1` da trilha;
|
|
10
|
+
* - não há `fitted` nem `justify`: o controle ocupa só o que os itens pedem;
|
|
11
|
+
* - o `colorScheme` declara a cor do item marcado, o `solid` do `Button` (no Tabs, ele é o fundo
|
|
12
|
+
* claro da `--tabs-enclosed-bg`, com sombra);
|
|
13
|
+
* - o estado desabilitado e o inválido pintam a trilha inteira (`opacity-50`, anel vermelho);
|
|
14
|
+
* - o `Root` escreve, a partir do item marcado, as variáveis `--segmented-control-indicator-*`
|
|
15
|
+
* (ver `useSegmentedControlIndicator`).
|
|
16
|
+
*/
|
|
17
|
+
const segmentedControlRootVariants = cva([
|
|
18
|
+
"group/segmented-control",
|
|
19
|
+
"relative",
|
|
20
|
+
"isolate",
|
|
21
|
+
"inline-flex",
|
|
22
|
+
"rounded-md",
|
|
23
|
+
"corner-squircle",
|
|
24
|
+
"bg-gray-3",
|
|
25
|
+
"p-1",
|
|
26
|
+
"[--segmented-control-item-radius:var(--radius-md)]",
|
|
27
|
+
"data-disabled:opacity-50",
|
|
28
|
+
"data-disabled:cursor-not-allowed",
|
|
29
|
+
"data-invalid:ring-1",
|
|
30
|
+
"data-invalid:ring-inset",
|
|
31
|
+
"data-invalid:ring-red-9",
|
|
32
|
+
"aria-invalid:ring-1",
|
|
33
|
+
"aria-invalid:ring-inset",
|
|
34
|
+
"aria-invalid:ring-red-9"
|
|
35
|
+
], {
|
|
36
|
+
variants: {
|
|
37
|
+
colorScheme: {
|
|
38
|
+
gray: [
|
|
39
|
+
"[--segmented-control-indicator-bg:var(--color-black)]",
|
|
40
|
+
"dark:[--segmented-control-indicator-bg:var(--color-white)]",
|
|
41
|
+
"[--segmented-control-checked-fg:var(--color-white)]",
|
|
42
|
+
"dark:[--segmented-control-checked-fg:var(--color-black)]"
|
|
43
|
+
],
|
|
44
|
+
accent: ["[--segmented-control-indicator-bg:var(--accent-9)]", "[--segmented-control-checked-fg:var(--color-white)]"]
|
|
45
|
+
},
|
|
46
|
+
orientation: {
|
|
47
|
+
horizontal: ["flex-row", "items-center"],
|
|
48
|
+
vertical: ["flex-col", "items-stretch"]
|
|
49
|
+
},
|
|
50
|
+
size: {
|
|
51
|
+
xs: ["[--segmented-control-height:--spacing(8)]"],
|
|
52
|
+
sm: ["[--segmented-control-height:--spacing(9)]"],
|
|
53
|
+
md: ["[--segmented-control-height:--spacing(10)]"],
|
|
54
|
+
lg: ["[--segmented-control-height:--spacing(11)]"]
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
defaultVariants: {
|
|
58
|
+
colorScheme: segmentedControlDefaultVariants.colorScheme,
|
|
59
|
+
orientation: segmentedControlDefaultVariants.orientation,
|
|
60
|
+
size: segmentedControlDefaultVariants.size
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
//#endregion
|
|
64
|
+
export { segmentedControlRootVariants };
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=segmented-control-root-variants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segmented-control-root-variants.js","names":[],"sources":["../../../../src/components/fields/segmented-control/segmented-control-root-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport { segmentedControlDefaultVariants } from './use-segmented-control-context';\n\n/**\n * Copia o `tabsListVariants` na `variant` `enclosed` (a trilha) e declara as variáveis\n * `--segmented-control-*` que o `Item` e o `Indicator` leem. Diferenças:\n *\n * - o `size` declara `--segmented-control-height`, a altura TOTAL do controle (a mesma do\n * `Input` do mesmo `size`); o `Item` desconta o `p-1` da trilha;\n * - não há `fitted` nem `justify`: o controle ocupa só o que os itens pedem;\n * - o `colorScheme` declara a cor do item marcado, o `solid` do `Button` (no Tabs, ele é o fundo\n * claro da `--tabs-enclosed-bg`, com sombra);\n * - o estado desabilitado e o inválido pintam a trilha inteira (`opacity-50`, anel vermelho);\n * - o `Root` escreve, a partir do item marcado, as variáveis `--segmented-control-indicator-*`\n * (ver `useSegmentedControlIndicator`).\n */\nexport const segmentedControlRootVariants = cva(\n [\n // `group` lido pelo Item e pelo Indicator.\n 'group/segmented-control',\n\n 'relative',\n 'isolate',\n\n 'inline-flex',\n\n 'rounded-md',\n 'corner-squircle',\n\n 'bg-gray-3',\n 'p-1',\n\n '[--segmented-control-item-radius:var(--radius-md)]',\n\n 'data-disabled:opacity-50',\n 'data-disabled:cursor-not-allowed',\n\n // Anel por dentro: o controle não cresce, e o erro de um grupo não é de um item só.\n 'data-invalid:ring-1',\n 'data-invalid:ring-inset',\n 'data-invalid:ring-red-9',\n 'aria-invalid:ring-1',\n 'aria-invalid:ring-inset',\n 'aria-invalid:ring-red-9',\n ],\n {\n variants: {\n // A trilha é neutra nas duas cores; o item marcado é o `solid` do `Button` da cor.\n colorScheme: {\n gray: [\n '[--segmented-control-indicator-bg:var(--color-black)]',\n 'dark:[--segmented-control-indicator-bg:var(--color-white)]',\n '[--segmented-control-checked-fg:var(--color-white)]',\n 'dark:[--segmented-control-checked-fg:var(--color-black)]',\n ],\n accent: [\n '[--segmented-control-indicator-bg:var(--accent-9)]',\n '[--segmented-control-checked-fg:var(--color-white)]',\n ],\n },\n orientation: {\n horizontal: ['flex-row', 'items-center'],\n vertical: ['flex-col', 'items-stretch'],\n },\n size: {\n xs: ['[--segmented-control-height:--spacing(8)]'],\n sm: ['[--segmented-control-height:--spacing(9)]'],\n md: ['[--segmented-control-height:--spacing(10)]'],\n lg: ['[--segmented-control-height:--spacing(11)]'],\n },\n },\n defaultVariants: {\n colorScheme: segmentedControlDefaultVariants.colorScheme,\n orientation: segmentedControlDefaultVariants.orientation,\n size: segmentedControlDefaultVariants.size,\n },\n },\n);\n"],"mappings":";;;;;;;;;;;;;;;;AAgBA,MAAa,+BAA+B,IAC1C;CAEE;CAEA;CACA;CAEA;CAEA;CACA;CAEA;CACA;CAEA;CAEA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;AACF,GACA;CACE,UAAU;EAER,aAAa;GACX,MAAM;IACJ;IACA;IACA;IACA;GACF;GACA,QAAQ,CACN,sDACA,qDACF;EACF;EACA,aAAa;GACX,YAAY,CAAC,YAAY,cAAc;GACvC,UAAU,CAAC,YAAY,eAAe;EACxC;EACA,MAAM;GACJ,IAAI,CAAC,2CAA2C;GAChD,IAAI,CAAC,2CAA2C;GAChD,IAAI,CAAC,4CAA4C;GACjD,IAAI,CAAC,4CAA4C;EACnD;CACF;CACA,iBAAiB;EACf,aAAa,gCAAgC;EAC7C,aAAa,gCAAgC;EAC7C,MAAM,gCAAgC;CACxC;AACF,CACF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { SegmentedControlVariants } from "./use-segmented-control-context.js";
|
|
2
|
+
import { MergeOverride } from "@lucasbernardosn/ts-utils";
|
|
3
|
+
import { RadioGroup } from "@base-ui/react/radio-group";
|
|
4
|
+
//#region src/components/fields/segmented-control/segmented-control-root.d.ts
|
|
5
|
+
export type SegmentedControlRootProps = MergeOverride<RadioGroup.Props, SegmentedControlVariants>;
|
|
6
|
+
export type SegmentedControlRootState = RadioGroup.State;
|
|
7
|
+
export type SegmentedControlRootChangeEventDetails = RadioGroup.ChangeEventDetails;
|
|
8
|
+
export type SegmentedControlRootChangeEventReason = RadioGroup.ChangeEventReason;
|
|
9
|
+
/**
|
|
10
|
+
* Escolha de uma opção entre poucas, num controle segmentado: o `RadioGroup` do Base UI, com a
|
|
11
|
+
* mesma API do `Radio.Group` (`value`, `defaultValue`, `onValueChange`, `name`, `disabled`,
|
|
12
|
+
* `readOnly`, `required`) e a mesma integração com `Field` e `Fieldset`. O valor sai no
|
|
13
|
+
* `FormData` pelo `name`.
|
|
14
|
+
*
|
|
15
|
+
* O `Item` é o próprio radio, e o `Indicator` é a camada que desliza atrás do item marcado.
|
|
16
|
+
* O `Root` mede o item marcado e escreve a posição do indicador em
|
|
17
|
+
* `--segmented-control-indicator-*`, no próprio elemento. Dê o nome ao grupo com `aria-label`,
|
|
18
|
+
* `aria-labelledby` ou, num formulário, pelo `Fieldset.Root`
|
|
19
|
+
* (`<Fieldset.Root render={<SegmentedControl.Root />}>`, dentro de um `Field.Root` com `name`).
|
|
20
|
+
*
|
|
21
|
+
* O item marcado e o indicador são o `solid` do `Button` na cor do `colorScheme`, sobre a trilha
|
|
22
|
+
* `gray-3`; o texto marcado inverte para contrastar.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```tsx
|
|
26
|
+
* <SegmentedControl.Root
|
|
27
|
+
* aria-label="Tipo de pessoa"
|
|
28
|
+
* defaultValue="fisica"
|
|
29
|
+
* >
|
|
30
|
+
* <SegmentedControl.Item value="fisica">Pessoa física</SegmentedControl.Item>
|
|
31
|
+
* <SegmentedControl.Item value="juridica">Pessoa jurídica</SegmentedControl.Item>
|
|
32
|
+
* <SegmentedControl.Indicator />
|
|
33
|
+
* </SegmentedControl.Root>
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare const SegmentedControlRoot: {
|
|
37
|
+
(props: SegmentedControlRootProps): import("react").JSX.Element;
|
|
38
|
+
displayName: string;
|
|
39
|
+
};
|
|
40
|
+
//#endregion
|
|
41
|
+
//# sourceMappingURL=segmented-control-root.d.ts.map
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { mergeStateClassNames } from "../../../utils/merge-state-class-names.js";
|
|
2
|
+
import { SegmentedControlContextProvider, segmentedControlDefaultVariants } from "./use-segmented-control-context.js";
|
|
3
|
+
import { segmentedControlRootVariants } from "./segmented-control-root-variants.js";
|
|
4
|
+
import { useSegmentedControlIndicator } from "./use-segmented-control-indicator.js";
|
|
5
|
+
import { mergeRefs } from "@lucasbernardosn/react-utils";
|
|
6
|
+
import { useMemo } from "react";
|
|
7
|
+
import { createSplitProps } from "@lucasbernardosn/ts-utils";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
import { RadioGroup } from "@base-ui/react/radio-group";
|
|
10
|
+
//#region src/components/fields/segmented-control/segmented-control-root.tsx
|
|
11
|
+
const splitVariantProps = createSplitProps();
|
|
12
|
+
/**
|
|
13
|
+
* Escolha de uma opção entre poucas, num controle segmentado: o `RadioGroup` do Base UI, com a
|
|
14
|
+
* mesma API do `Radio.Group` (`value`, `defaultValue`, `onValueChange`, `name`, `disabled`,
|
|
15
|
+
* `readOnly`, `required`) e a mesma integração com `Field` e `Fieldset`. O valor sai no
|
|
16
|
+
* `FormData` pelo `name`.
|
|
17
|
+
*
|
|
18
|
+
* O `Item` é o próprio radio, e o `Indicator` é a camada que desliza atrás do item marcado.
|
|
19
|
+
* O `Root` mede o item marcado e escreve a posição do indicador em
|
|
20
|
+
* `--segmented-control-indicator-*`, no próprio elemento. Dê o nome ao grupo com `aria-label`,
|
|
21
|
+
* `aria-labelledby` ou, num formulário, pelo `Fieldset.Root`
|
|
22
|
+
* (`<Fieldset.Root render={<SegmentedControl.Root />}>`, dentro de um `Field.Root` com `name`).
|
|
23
|
+
*
|
|
24
|
+
* O item marcado e o indicador são o `solid` do `Button` na cor do `colorScheme`, sobre a trilha
|
|
25
|
+
* `gray-3`; o texto marcado inverte para contrastar.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```tsx
|
|
29
|
+
* <SegmentedControl.Root
|
|
30
|
+
* aria-label="Tipo de pessoa"
|
|
31
|
+
* defaultValue="fisica"
|
|
32
|
+
* >
|
|
33
|
+
* <SegmentedControl.Item value="fisica">Pessoa física</SegmentedControl.Item>
|
|
34
|
+
* <SegmentedControl.Item value="juridica">Pessoa jurídica</SegmentedControl.Item>
|
|
35
|
+
* <SegmentedControl.Indicator />
|
|
36
|
+
* </SegmentedControl.Root>
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
const SegmentedControlRoot = (props) => {
|
|
40
|
+
const [variantProps, elementProps] = splitVariantProps(props, [
|
|
41
|
+
"colorScheme",
|
|
42
|
+
"orientation",
|
|
43
|
+
"size"
|
|
44
|
+
]);
|
|
45
|
+
const { className, ref, ...rest } = elementProps;
|
|
46
|
+
const { rootRef, isMeasured } = useSegmentedControlIndicator();
|
|
47
|
+
/** Estável entre renders: a ref de quem usa não é desligada e religada a cada render. */
|
|
48
|
+
const mergedRef = useMemo(() => mergeRefs(rootRef, ref), [rootRef, ref]);
|
|
49
|
+
return /* @__PURE__ */ jsx(SegmentedControlContextProvider, {
|
|
50
|
+
value: variantProps,
|
|
51
|
+
children: /* @__PURE__ */ jsx(RadioGroup, {
|
|
52
|
+
ref: mergedRef,
|
|
53
|
+
"data-component": "SegmentedControl.Root",
|
|
54
|
+
"data-orientation": variantProps.orientation ?? segmentedControlDefaultVariants.orientation,
|
|
55
|
+
"data-measured": isMeasured ? "" : void 0,
|
|
56
|
+
className: mergeStateClassNames(segmentedControlRootVariants(variantProps), className),
|
|
57
|
+
...rest
|
|
58
|
+
})
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
SegmentedControlRoot.displayName = "SegmentedControl.Root";
|
|
62
|
+
//#endregion
|
|
63
|
+
export { SegmentedControlRoot };
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=segmented-control-root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segmented-control-root.js","names":["BaseRadioGroup"],"sources":["../../../../src/components/fields/segmented-control/segmented-control-root.tsx"],"sourcesContent":["import { RadioGroup as BaseRadioGroup } from '@base-ui/react/radio-group';\nimport { mergeRefs } from '@lucasbernardosn/react-utils';\nimport {\n createSplitProps,\n type MergeOverride,\n} from '@lucasbernardosn/ts-utils';\nimport { useMemo } from 'react';\nimport { mergeStateClassNames } from '#utils';\nimport { segmentedControlRootVariants } from './segmented-control-root-variants';\nimport {\n SegmentedControlContextProvider,\n type SegmentedControlVariants,\n segmentedControlDefaultVariants,\n} from './use-segmented-control-context';\nimport { useSegmentedControlIndicator } from './use-segmented-control-indicator';\n\nexport type SegmentedControlRootProps = MergeOverride<\n BaseRadioGroup.Props,\n SegmentedControlVariants\n>;\n\nexport type SegmentedControlRootState = BaseRadioGroup.State;\n\nexport type SegmentedControlRootChangeEventDetails =\n BaseRadioGroup.ChangeEventDetails;\n\nexport type SegmentedControlRootChangeEventReason =\n BaseRadioGroup.ChangeEventReason;\n\nconst splitVariantProps = createSplitProps<SegmentedControlVariants>();\n\n/**\n * Escolha de uma opção entre poucas, num controle segmentado: o `RadioGroup` do Base UI, com a\n * mesma API do `Radio.Group` (`value`, `defaultValue`, `onValueChange`, `name`, `disabled`,\n * `readOnly`, `required`) e a mesma integração com `Field` e `Fieldset`. O valor sai no\n * `FormData` pelo `name`.\n *\n * O `Item` é o próprio radio, e o `Indicator` é a camada que desliza atrás do item marcado.\n * O `Root` mede o item marcado e escreve a posição do indicador em\n * `--segmented-control-indicator-*`, no próprio elemento. Dê o nome ao grupo com `aria-label`,\n * `aria-labelledby` ou, num formulário, pelo `Fieldset.Root`\n * (`<Fieldset.Root render={<SegmentedControl.Root />}>`, dentro de um `Field.Root` com `name`).\n *\n * O item marcado e o indicador são o `solid` do `Button` na cor do `colorScheme`, sobre a trilha\n * `gray-3`; o texto marcado inverte para contrastar.\n *\n * @example\n * ```tsx\n * <SegmentedControl.Root\n * aria-label=\"Tipo de pessoa\"\n * defaultValue=\"fisica\"\n * >\n * <SegmentedControl.Item value=\"fisica\">Pessoa física</SegmentedControl.Item>\n * <SegmentedControl.Item value=\"juridica\">Pessoa jurídica</SegmentedControl.Item>\n * <SegmentedControl.Indicator />\n * </SegmentedControl.Root>\n * ```\n */\nexport const SegmentedControlRoot = (props: SegmentedControlRootProps) => {\n const [variantProps, elementProps] = splitVariantProps(props, [\n 'colorScheme',\n 'orientation',\n 'size',\n ]);\n\n const { className, ref, ...rest } = elementProps;\n\n const { rootRef, isMeasured } = useSegmentedControlIndicator();\n\n /** Estável entre renders: a ref de quem usa não é desligada e religada a cada render. */\n const mergedRef = useMemo(() => mergeRefs(rootRef, ref), [rootRef, ref]);\n\n return (\n <SegmentedControlContextProvider value={variantProps}>\n <BaseRadioGroup\n ref={mergedRef}\n data-component=\"SegmentedControl.Root\"\n data-orientation={\n variantProps.orientation ??\n segmentedControlDefaultVariants.orientation\n }\n data-measured={isMeasured ? '' : undefined}\n className={mergeStateClassNames(\n segmentedControlRootVariants(variantProps),\n className,\n )}\n {...rest}\n />\n </SegmentedControlContextProvider>\n );\n};\n\nSegmentedControlRoot.displayName = 'SegmentedControl.Root';\n"],"mappings":";;;;;;;;;;AA6BA,MAAM,oBAAoB,iBAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BrE,MAAa,wBAAwB,UAAqC;CACxE,MAAM,CAAC,cAAc,gBAAgB,kBAAkB,OAAO;EAC5D;EACA;EACA;CACF,CAAC;CAED,MAAM,EAAE,WAAW,KAAK,GAAG,SAAS;CAEpC,MAAM,EAAE,SAAS,eAAe,6BAA6B;;CAG7D,MAAM,YAAY,cAAc,UAAU,SAAS,GAAG,GAAG,CAAC,SAAS,GAAG,CAAC;CAEvE,OACE,oBAAC,iCAAD;EAAiC,OAAO;EACtC,UAAA,oBAACA,YAAD;GACE,KAAK;GACL,kBAAe;GACf,oBACE,aAAa,eACb,gCAAgC;GAElC,iBAAe,aAAa,KAAK,KAAA;GACjC,WAAW,qBACT,6BAA6B,YAAY,GACzC,SACF;GACA,GAAI;EACL,CAAA;CAC8B,CAAA;AAErC;AAEA,qBAAqB,cAAc"}
|