@panneau/ui 5.0.0-alpha.0 → 5.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +280 -6
- package/bin/check-theme.js +5 -0
- package/dist/alert/Alert.css +28 -42
- package/dist/alert/Alert.d.ts +18 -4
- package/dist/alert/Alert.d.ts.map +1 -1
- package/dist/alert/Alert.js +4 -3
- package/dist/alert/Alert.js.map +1 -1
- package/dist/alert/Alert.module.js +14 -16
- package/dist/alert/Alert.module.js.map +1 -1
- package/dist/alert/tokens.d.ts +3 -0
- package/dist/alert/tokens.d.ts.map +1 -0
- package/dist/alert/tokens.js +21 -0
- package/dist/alert/tokens.js.map +1 -0
- package/dist/badge/Badge.css +24 -36
- package/dist/badge/Badge.d.ts +18 -3
- package/dist/badge/Badge.d.ts.map +1 -1
- package/dist/badge/Badge.js +3 -2
- package/dist/badge/Badge.js.map +1 -1
- package/dist/badge/Badge.module.js +9 -13
- package/dist/badge/Badge.module.js.map +1 -1
- package/dist/badge/tokens.d.ts +3 -0
- package/dist/badge/tokens.d.ts.map +1 -0
- package/dist/badge/tokens.js +23 -0
- package/dist/badge/tokens.js.map +1 -0
- package/dist/button/Button.css +58 -42
- package/dist/button/Button.d.ts +30 -3
- package/dist/button/Button.d.ts.map +1 -1
- package/dist/button/Button.js +27 -2
- package/dist/button/Button.js.map +1 -1
- package/dist/button/Button.module.js +14 -14
- package/dist/button/Button.module.js.map +1 -1
- package/dist/button/tokens.d.ts +3 -0
- package/dist/button/tokens.d.ts.map +1 -0
- package/dist/button/tokens.js +25 -0
- package/dist/button/tokens.js.map +1 -0
- package/dist/card/Card.css +27 -20
- package/dist/card/Card.js +1 -1
- package/dist/card/Card.js.map +1 -1
- package/dist/card/Card.module.js +5 -5
- package/dist/card/Card.module.js.map +1 -1
- package/dist/card/tokens.d.ts +3 -0
- package/dist/card/tokens.d.ts.map +1 -0
- package/dist/card/tokens.js +31 -0
- package/dist/card/tokens.js.map +1 -0
- package/dist/checkbox/Checkbox.css +22 -21
- package/dist/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/checkbox/Checkbox.js +1 -0
- package/dist/checkbox/Checkbox.js.map +1 -1
- package/dist/checkbox/Checkbox.module.js +4 -4
- package/dist/checkbox/Checkbox.module.js.map +1 -1
- package/dist/checkbox/ChoiceChrome.d.ts +3 -1
- package/dist/checkbox/ChoiceChrome.d.ts.map +1 -1
- package/dist/checkbox/ChoiceChrome.js +2 -2
- package/dist/checkbox/ChoiceChrome.js.map +1 -1
- package/dist/checkbox/tokens.d.ts +3 -0
- package/dist/checkbox/tokens.d.ts.map +1 -0
- package/dist/checkbox/tokens.js +21 -0
- package/dist/checkbox/tokens.js.map +1 -0
- package/dist/combo-box/ComboBox.css +4 -4
- package/dist/combo-box/ComboBox.js +1 -1
- package/dist/combo-box/ComboBox.js.map +1 -1
- package/dist/combo-box/ComboBox.module.js +3 -3
- package/dist/container/Container.css +32 -0
- package/dist/container/Container.d.ts +15 -0
- package/dist/container/Container.d.ts.map +1 -0
- package/dist/container/Container.js +18 -0
- package/dist/container/Container.js.map +1 -0
- package/dist/container/Container.module.js +20 -0
- package/dist/container/Container.module.js.map +1 -0
- package/dist/container/tokens.d.ts +3 -0
- package/dist/container/tokens.d.ts.map +1 -0
- package/dist/container/tokens.js +19 -0
- package/dist/container/tokens.js.map +1 -0
- package/dist/date-picker/DatePicker.css +30 -30
- package/dist/date-picker/DatePicker.js +1 -1
- package/dist/date-picker/DatePicker.js.map +1 -1
- package/dist/date-picker/DatePicker.module.js +11 -11
- package/dist/date-picker/DatePicker.module.js.map +1 -1
- package/dist/date-picker/calendarTokens.d.ts +3 -0
- package/dist/date-picker/calendarTokens.d.ts.map +1 -0
- package/dist/date-picker/calendarTokens.js +17 -0
- package/dist/date-picker/calendarTokens.js.map +1 -0
- package/dist/dialog/Dialog.css +40 -36
- package/dist/dialog/Dialog.js +1 -1
- package/dist/dialog/Dialog.js.map +1 -1
- package/dist/dialog/Dialog.module.js +11 -11
- package/dist/dialog/Dialog.module.js.map +1 -1
- package/dist/dialog/tokens.d.ts +3 -0
- package/dist/dialog/tokens.d.ts.map +1 -0
- package/dist/dialog/tokens.js +29 -0
- package/dist/dialog/tokens.js.map +1 -0
- package/dist/disclosure/Disclosure.css +12 -12
- package/dist/disclosure/Disclosure.d.ts.map +1 -1
- package/dist/disclosure/Disclosure.js +1 -1
- package/dist/disclosure/Disclosure.js.map +1 -1
- package/dist/disclosure/Disclosure.module.js +7 -7
- package/dist/disclosure/Disclosure.module.js.map +1 -1
- package/dist/disclosure/tokens.d.ts +3 -0
- package/dist/disclosure/tokens.d.ts.map +1 -0
- package/dist/disclosure/tokens.js +15 -0
- package/dist/disclosure/tokens.js.map +1 -0
- package/dist/divider/Divider.css +17 -0
- package/dist/divider/Divider.d.ts +8 -0
- package/dist/divider/Divider.d.ts.map +1 -0
- package/dist/divider/Divider.js +21 -0
- package/dist/divider/Divider.js.map +1 -0
- package/dist/divider/Divider.module.js +12 -0
- package/dist/divider/Divider.module.js.map +1 -0
- package/dist/divider/tokens.d.ts +3 -0
- package/dist/divider/tokens.d.ts.map +1 -0
- package/dist/divider/tokens.js +13 -0
- package/dist/divider/tokens.js.map +1 -0
- package/dist/field/Field.css +40 -37
- package/dist/field/Field.module.js +11 -11
- package/dist/field/Field.module.js.map +1 -1
- package/dist/field/Fieldset.js +1 -1
- package/dist/field/Fieldset.js.map +1 -1
- package/dist/field/inputTokens.d.ts +3 -0
- package/dist/field/inputTokens.d.ts.map +1 -0
- package/dist/field/inputTokens.js +21 -0
- package/dist/field/inputTokens.js.map +1 -0
- package/dist/field/tokens.d.ts +3 -0
- package/dist/field/tokens.d.ts.map +1 -0
- package/dist/field/tokens.js +15 -0
- package/dist/field/tokens.js.map +1 -0
- package/dist/grid/Grid.css +174 -0
- package/dist/grid/Grid.d.ts +28 -0
- package/dist/grid/Grid.d.ts.map +1 -0
- package/dist/grid/Grid.js +31 -0
- package/dist/grid/Grid.js.map +1 -0
- package/dist/grid/Grid.module.js +12 -0
- package/dist/grid/Grid.module.js.map +1 -0
- package/dist/grid/GridItem.css +59 -0
- package/dist/grid/GridItem.module.js +7 -0
- package/dist/grid/GridItem.module.js.map +1 -0
- package/dist/grid/tokens.d.ts +3 -0
- package/dist/grid/tokens.d.ts.map +1 -0
- package/dist/grid/tokens.js +10 -0
- package/dist/grid/tokens.js.map +1 -0
- package/dist/heading/Heading.css +52 -0
- package/dist/heading/Heading.d.ts +17 -0
- package/dist/heading/Heading.d.ts.map +1 -0
- package/dist/heading/Heading.js +17 -0
- package/dist/heading/Heading.js.map +1 -0
- package/dist/heading/Heading.module.js +16 -0
- package/dist/heading/Heading.module.js.map +1 -0
- package/dist/heading/tokens.d.ts +6 -0
- package/dist/heading/tokens.d.ts.map +1 -0
- package/dist/heading/tokens.js +66 -0
- package/dist/heading/tokens.js.map +1 -0
- package/dist/icon/Icon.css +1 -1
- package/dist/icon/Icon.js +1 -1
- package/dist/icon/Icon.js.map +1 -1
- package/dist/icon/Icon.module.js +1 -1
- package/dist/icon/namedIcons.d.ts +16 -0
- package/dist/icon/namedIcons.d.ts.map +1 -0
- package/dist/icon/namedIcons.js +90 -0
- package/dist/icon/namedIcons.js.map +1 -0
- package/dist/icon-button/IconButton.css +2 -2
- package/dist/icon-button/IconButton.d.ts +1 -1
- package/dist/icon-button/IconButton.d.ts.map +1 -1
- package/dist/icon-button/IconButton.js +3 -3
- package/dist/icon-button/IconButton.js.map +1 -1
- package/dist/icon-button/IconButton.module.js +2 -2
- package/dist/index.d.ts +26 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -2
- package/dist/inline/Inline.css +142 -0
- package/dist/inline/Inline.d.ts +17 -0
- package/dist/inline/Inline.d.ts.map +1 -0
- package/dist/inline/Inline.js +21 -0
- package/dist/inline/Inline.js.map +1 -0
- package/dist/inline/Inline.module.js +12 -0
- package/dist/inline/Inline.module.js.map +1 -0
- package/dist/inline/tokens.d.ts +3 -0
- package/dist/inline/tokens.d.ts.map +1 -0
- package/dist/inline/tokens.js +10 -0
- package/dist/inline/tokens.js.map +1 -0
- package/dist/layout/responsive.d.ts +38 -0
- package/dist/layout/responsive.d.ts.map +1 -0
- package/dist/layout/responsive.js +49 -0
- package/dist/layout/responsive.js.map +1 -0
- package/dist/menu/Menu.js +2 -2
- package/dist/menu/Menu.js.map +1 -1
- package/dist/number-input/NumberInput.css +12 -12
- package/dist/number-input/NumberInput.js +1 -1
- package/dist/number-input/NumberInput.js.map +1 -1
- package/dist/number-input/NumberInput.module.js +4 -4
- package/dist/number-input/NumberInput.module.js.map +1 -1
- package/dist/number-input/tokens.d.ts +3 -0
- package/dist/number-input/tokens.d.ts.map +1 -0
- package/dist/number-input/tokens.js +10 -0
- package/dist/number-input/tokens.js.map +1 -0
- package/dist/popover/Popover.css +13 -12
- package/dist/popover/Popover.js +2 -2
- package/dist/popover/Popover.js.map +1 -1
- package/dist/popover/Popover.module.js +3 -3
- package/dist/popover/Popover.module.js.map +1 -1
- package/dist/popover/tokens.d.ts +3 -0
- package/dist/popover/tokens.d.ts.map +1 -0
- package/dist/popover/tokens.js +19 -0
- package/dist/popover/tokens.js.map +1 -0
- package/dist/prose/Prose.css +141 -0
- package/dist/prose/Prose.d.ts +11 -0
- package/dist/prose/Prose.d.ts.map +1 -0
- package/dist/prose/Prose.js +18 -0
- package/dist/prose/Prose.js.map +1 -0
- package/dist/prose/Prose.module.js +8 -0
- package/dist/prose/Prose.module.js.map +1 -0
- package/dist/prose/tokens.d.ts +3 -0
- package/dist/prose/tokens.d.ts.map +1 -0
- package/dist/prose/tokens.js +33 -0
- package/dist/prose/tokens.js.map +1 -0
- package/dist/radio-group/RadioGroup.css +21 -20
- package/dist/radio-group/RadioGroup.d.ts.map +1 -1
- package/dist/radio-group/RadioGroup.js +2 -2
- package/dist/radio-group/RadioGroup.js.map +1 -1
- package/dist/radio-group/RadioGroup.module.js +6 -6
- package/dist/radio-group/RadioGroup.module.js.map +1 -1
- package/dist/radio-group/tokens.d.ts +3 -0
- package/dist/radio-group/tokens.d.ts.map +1 -0
- package/dist/radio-group/tokens.js +19 -0
- package/dist/radio-group/tokens.js.map +1 -0
- package/dist/root/PanneauRoot.css +243 -20
- package/dist/root/PanneauRoot.d.ts +28 -4
- package/dist/root/PanneauRoot.d.ts.map +1 -1
- package/dist/root/PanneauRoot.js +104 -21
- package/dist/root/PanneauRoot.js.map +1 -1
- package/dist/root/PanneauRoot.module.js +11 -3
- package/dist/root/PanneauRoot.module.js.map +1 -1
- package/dist/root/ThemeScope.d.ts +24 -0
- package/dist/root/ThemeScope.d.ts.map +1 -0
- package/dist/root/ThemeScope.js +49 -0
- package/dist/root/ThemeScope.js.map +1 -0
- package/dist/select/ListBox.css +23 -22
- package/dist/select/ListBox.module.js +12 -12
- package/dist/select/ListBox.module.js.map +1 -1
- package/dist/select/Select.js +1 -1
- package/dist/select/Select.js.map +1 -1
- package/dist/select/listBoxTokens.d.ts +3 -0
- package/dist/select/listBoxTokens.d.ts.map +1 -0
- package/dist/select/listBoxTokens.js +19 -0
- package/dist/select/listBoxTokens.js.map +1 -0
- package/dist/spinner/Spinner.css +8 -8
- package/dist/spinner/Spinner.js +1 -1
- package/dist/spinner/Spinner.js.map +1 -1
- package/dist/spinner/Spinner.module.js +5 -5
- package/dist/spinner/Spinner.module.js.map +1 -1
- package/dist/spinner/tokens.d.ts +3 -0
- package/dist/spinner/tokens.d.ts.map +1 -0
- package/dist/spinner/tokens.js +10 -0
- package/dist/spinner/tokens.js.map +1 -0
- package/dist/stack/Stack.css +135 -0
- package/dist/stack/Stack.d.ts +15 -0
- package/dist/stack/Stack.d.ts.map +1 -0
- package/dist/stack/Stack.js +21 -0
- package/dist/stack/Stack.js.map +1 -0
- package/dist/stack/Stack.module.js +8 -0
- package/dist/stack/Stack.module.js.map +1 -0
- package/dist/stack/tokens.d.ts +3 -0
- package/dist/stack/tokens.d.ts.map +1 -0
- package/dist/stack/tokens.js +10 -0
- package/dist/stack/tokens.js.map +1 -0
- package/dist/switch/Switch.css +34 -25
- package/dist/switch/Switch.d.ts.map +1 -1
- package/dist/switch/Switch.js +1 -0
- package/dist/switch/Switch.js.map +1 -1
- package/dist/switch/Switch.module.js +4 -4
- package/dist/switch/Switch.module.js.map +1 -1
- package/dist/switch/tokens.d.ts +3 -0
- package/dist/switch/tokens.d.ts.map +1 -0
- package/dist/switch/tokens.js +25 -0
- package/dist/switch/tokens.js.map +1 -0
- package/dist/tabs/Tabs.css +24 -23
- package/dist/tabs/Tabs.js +4 -4
- package/dist/tabs/Tabs.js.map +1 -1
- package/dist/tabs/Tabs.module.js +4 -4
- package/dist/tabs/Tabs.module.js.map +1 -1
- package/dist/tabs/tokens.d.ts +3 -0
- package/dist/tabs/tokens.d.ts.map +1 -0
- package/dist/tabs/tokens.js +25 -0
- package/dist/tabs/tokens.js.map +1 -0
- package/dist/text/Text.css +74 -0
- package/dist/text/Text.d.ts +27 -0
- package/dist/text/Text.d.ts.map +1 -0
- package/dist/text/Text.js +16 -0
- package/dist/text/Text.js.map +1 -0
- package/dist/text/Text.module.js +30 -0
- package/dist/text/Text.module.js.map +1 -0
- package/dist/text/tokens.d.ts +3 -0
- package/dist/text/tokens.d.ts.map +1 -0
- package/dist/text/tokens.js +10 -0
- package/dist/text/tokens.js.map +1 -0
- package/dist/text-area/TextArea.css +1 -1
- package/dist/text-area/TextArea.js +1 -1
- package/dist/text-area/TextArea.js.map +1 -1
- package/dist/text-area/TextArea.module.js +1 -1
- package/dist/text-input/TextInput.js +1 -1
- package/dist/text-input/TextInput.js.map +1 -1
- package/dist/theme/Tone.css +70 -0
- package/dist/theme/Tone.module.js +20 -0
- package/dist/theme/Tone.module.js.map +1 -0
- package/dist/theme/bootstrap.d.ts +10 -0
- package/dist/theme/bootstrap.d.ts.map +1 -1
- package/dist/theme/bootstrap.js +48 -5
- package/dist/theme/bootstrap.js.map +1 -1
- package/dist/theme/chartColors.d.ts +23 -0
- package/dist/theme/chartColors.d.ts.map +1 -0
- package/dist/theme/chartColors.js +27 -0
- package/dist/theme/chartColors.js.map +1 -0
- package/dist/theme/checkTheme.d.ts +39 -0
- package/dist/theme/checkTheme.d.ts.map +1 -0
- package/dist/theme/checkTheme.js +132 -0
- package/dist/theme/checkTheme.js.map +1 -0
- package/dist/theme/cli.d.ts +14 -0
- package/dist/theme/cli.d.ts.map +1 -0
- package/dist/theme/cli.js +61 -0
- package/dist/theme/cli.js.map +1 -0
- package/dist/theme/color.d.ts +30 -0
- package/dist/theme/color.d.ts.map +1 -0
- package/dist/theme/color.js +94 -0
- package/dist/theme/color.js.map +1 -0
- package/dist/theme/colorVision.d.ts +23 -0
- package/dist/theme/colorVision.d.ts.map +1 -0
- package/dist/theme/colorVision.js +140 -0
- package/dist/theme/colorVision.js.map +1 -0
- package/dist/theme/componentTokens.d.ts +24 -0
- package/dist/theme/componentTokens.d.ts.map +1 -0
- package/dist/theme/componentTokens.js +20 -0
- package/dist/theme/componentTokens.js.map +1 -0
- package/dist/theme/components.d.ts +38 -0
- package/dist/theme/components.d.ts.map +1 -0
- package/dist/theme/components.js +65 -0
- package/dist/theme/components.js.map +1 -0
- package/dist/theme/defineTheme.d.ts +85 -0
- package/dist/theme/defineTheme.d.ts.map +1 -0
- package/dist/theme/defineTheme.js +130 -0
- package/dist/theme/defineTheme.js.map +1 -0
- package/dist/theme/fonts.d.ts +32 -0
- package/dist/theme/fonts.d.ts.map +1 -0
- package/dist/theme/fonts.js +36 -0
- package/dist/theme/fonts.js.map +1 -0
- package/dist/theme/index.d.ts +13 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +10 -0
- package/dist/theme/semanticTokens.d.ts +9 -0
- package/dist/theme/semanticTokens.d.ts.map +1 -0
- package/dist/theme/semanticTokens.js +110 -0
- package/dist/theme/semanticTokens.js.map +1 -0
- package/dist/theme/theme.d.ts +61 -7
- package/dist/theme/theme.d.ts.map +1 -1
- package/dist/theme/theme.js +100 -10
- package/dist/theme/theme.js.map +1 -1
- package/dist/theme/toneClass.d.ts +8 -0
- package/dist/theme/toneClass.d.ts.map +1 -0
- package/dist/theme/toneClass.js +15 -0
- package/dist/theme/toneClass.js.map +1 -0
- package/dist/theme/tones.d.ts +89 -0
- package/dist/theme/tones.d.ts.map +1 -0
- package/dist/theme/tones.js +127 -0
- package/dist/theme/tones.js.map +1 -0
- package/dist/time-input/TimeInput.js +1 -1
- package/dist/time-input/TimeInput.js.map +1 -1
- package/dist/toast/Toast.css +22 -44
- package/dist/toast/Toast.d.ts +5 -3
- package/dist/toast/Toast.d.ts.map +1 -1
- package/dist/toast/Toast.js +4 -3
- package/dist/toast/Toast.js.map +1 -1
- package/dist/toast/Toast.module.js +10 -16
- package/dist/toast/Toast.module.js.map +1 -1
- package/dist/toast/tokens.d.ts +3 -0
- package/dist/toast/tokens.d.ts.map +1 -0
- package/dist/toast/tokens.js +21 -0
- package/dist/toast/tokens.js.map +1 -0
- package/dist/tooltip/Tooltip.css +12 -11
- package/dist/tooltip/Tooltip.js +1 -1
- package/dist/tooltip/Tooltip.js.map +1 -1
- package/dist/tooltip/Tooltip.module.js +2 -2
- package/dist/tooltip/Tooltip.module.js.map +1 -1
- package/dist/tooltip/tokens.d.ts +3 -0
- package/dist/tooltip/tokens.d.ts.map +1 -0
- package/dist/tooltip/tokens.js +21 -0
- package/dist/tooltip/tokens.js.map +1 -0
- package/dist/utils/cx.d.ts +1 -1
- package/dist/utils/cx.d.ts.map +1 -1
- package/dist/utils/cx.js +2 -2
- package/dist/utils/cx.js.map +1 -1
- package/package.json +15 -3
package/dist/badge/Badge.css
CHANGED
|
@@ -1,53 +1,41 @@
|
|
|
1
|
-
.panneau-badge
|
|
1
|
+
.panneau-badge {
|
|
2
2
|
display: inline-flex;
|
|
3
3
|
align-items: center;
|
|
4
4
|
justify-content: center;
|
|
5
|
-
gap: var(--panneau-space-1);
|
|
6
|
-
min-width: 1.25rem;
|
|
7
|
-
height: 1.25rem;
|
|
8
|
-
padding: 0 var(--panneau-space-2);
|
|
9
|
-
font-size: var(--panneau-font-size-xs);
|
|
10
|
-
font-weight: var(--panneau-font-weight-medium);
|
|
11
|
-
font-variant-numeric:
|
|
5
|
+
gap: var(--panneau-badge-gap, var(--panneau-space-1));
|
|
6
|
+
min-width: var(--panneau-badge-height, 1.25rem);
|
|
7
|
+
height: var(--panneau-badge-height, 1.25rem);
|
|
8
|
+
padding: 0 var(--panneau-badge-padding-x, var(--panneau-space-2));
|
|
9
|
+
font-size: var(--panneau-badge-font-size, var(--panneau-font-size-xs));
|
|
10
|
+
font-weight: var(--panneau-badge-font-weight, var(--panneau-font-weight-medium));
|
|
11
|
+
font-variant-numeric: var(--panneau-font-numeric);
|
|
12
12
|
line-height: 1;
|
|
13
13
|
white-space: nowrap;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
border: var(--panneau-border-width) solid var(--panneau-color-border);
|
|
17
|
-
border-radius: var(--panneau-radius-full);
|
|
14
|
+
border: var(--panneau-badge-border-width, var(--panneau-border-width)) solid transparent;
|
|
15
|
+
border-radius: var(--panneau-badge-radius, var(--panneau-radius-full));
|
|
18
16
|
}
|
|
19
17
|
|
|
20
|
-
|
|
21
|
-
color: var(--panneau-color-success);
|
|
22
|
-
background-color: var(--panneau-color-success-subtle);
|
|
23
|
-
border-color: var(--panneau-color-success-border);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.panneau-danger-NLo-wP {
|
|
27
|
-
color: var(--panneau-color-danger);
|
|
28
|
-
background-color: var(--panneau-color-danger-subtle);
|
|
29
|
-
border-color: var(--panneau-color-danger-border);
|
|
30
|
-
}
|
|
18
|
+
/* Appearances: they read the --panneau-tone-* variables of the tone class (decision 0024). */
|
|
31
19
|
|
|
32
|
-
.panneau-
|
|
33
|
-
color: var(--panneau-
|
|
34
|
-
background-color: var(--panneau-
|
|
35
|
-
border-color: var(--panneau-
|
|
20
|
+
.panneau-badge-subtle {
|
|
21
|
+
color: var(--panneau-tone-text);
|
|
22
|
+
background-color: var(--panneau-tone-subtle);
|
|
23
|
+
border-color: var(--panneau-tone-border);
|
|
36
24
|
}
|
|
37
25
|
|
|
38
|
-
.panneau-
|
|
39
|
-
color: var(--panneau-
|
|
40
|
-
background-color: var(--panneau-
|
|
41
|
-
border-color: var(--panneau-
|
|
26
|
+
.panneau-badge-solid {
|
|
27
|
+
color: var(--panneau-tone-solid-text);
|
|
28
|
+
background-color: var(--panneau-tone-solid);
|
|
29
|
+
border-color: var(--panneau-tone-solid);
|
|
42
30
|
}
|
|
43
31
|
|
|
44
|
-
.panneau-
|
|
45
|
-
color: var(--panneau-
|
|
46
|
-
background-color:
|
|
47
|
-
border-color: var(--panneau-
|
|
32
|
+
.panneau-badge-outline {
|
|
33
|
+
color: var(--panneau-tone-text);
|
|
34
|
+
background-color: transparent;
|
|
35
|
+
border-color: var(--panneau-tone-outline);
|
|
48
36
|
}
|
|
49
37
|
|
|
50
|
-
.panneau-
|
|
38
|
+
.panneau-badge-visually-hidden {
|
|
51
39
|
position: absolute;
|
|
52
40
|
width: 1px;
|
|
53
41
|
height: 1px;
|
package/dist/badge/Badge.d.ts
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
|
|
2
|
+
import type { Tone } from '../theme/tones';
|
|
3
|
+
/** @deprecated Use `Tone`. */
|
|
4
|
+
export type BadgeTone = Tone;
|
|
5
|
+
/** How a badge uses its tone. */
|
|
6
|
+
export type BadgeAppearance = 'subtle' | 'solid' | 'outline';
|
|
7
|
+
/**
|
|
8
|
+
* Named variants of `Badge`, registered by a theme (`components.badge.variants`). Declare them
|
|
9
|
+
* here so that `variant="tag"` type-checks.
|
|
10
|
+
*/
|
|
11
|
+
export interface BadgeVariants {
|
|
12
|
+
}
|
|
3
13
|
export interface BadgeProps {
|
|
4
|
-
|
|
14
|
+
/** Defaults to `neutral`. */
|
|
15
|
+
tone?: Tone;
|
|
16
|
+
/** Defaults to `subtle`. */
|
|
17
|
+
appearance?: BadgeAppearance;
|
|
18
|
+
/** A named variant of the theme. */
|
|
19
|
+
variant?: keyof BadgeVariants & string;
|
|
5
20
|
children?: ReactNode;
|
|
6
21
|
/**
|
|
7
22
|
* Accessible text, when the visible content isn't enough on its own (a count of errors: "2
|
|
@@ -11,5 +26,5 @@ export interface BadgeProps {
|
|
|
11
26
|
className?: string;
|
|
12
27
|
}
|
|
13
28
|
/** A short status or a count. */
|
|
14
|
-
export declare function Badge({ tone, children, label, className }: BadgeProps): import("react").JSX.Element;
|
|
29
|
+
export declare function Badge({ tone, appearance, variant, children, label, className, }: BadgeProps): import("react").JSX.Element;
|
|
15
30
|
//# sourceMappingURL=Badge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAI3C,8BAA8B;AAC9B,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC;AAE7B,iCAAiC;AACjC,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE7D;;;GAGG;AAEH,MAAM,WAAW,aAAa;CAAG;AAEjC,MAAM,WAAW,UAAU;IACvB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,4BAA4B;IAC5B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,aAAa,GAAG,MAAM,CAAC;IACvC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,iCAAiC;AACjC,wBAAgB,KAAK,CAAC,EAClB,IAAgB,EAChB,UAAqB,EACrB,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,GACZ,EAAE,UAAU,+BAsBZ"}
|
package/dist/badge/Badge.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { cx } from "../utils/cx.js";
|
|
2
|
+
import { toneClass } from "../theme/toneClass.js";
|
|
2
3
|
import Badge_module_default from "./Badge.module.js";
|
|
3
4
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
5
|
//#region src/badge/Badge.tsx
|
|
5
6
|
/** A short status or a count. */
|
|
6
|
-
function Badge({ tone = "neutral", children, label, className }) {
|
|
7
|
+
function Badge({ tone = "neutral", appearance = "subtle", variant, children, label, className }) {
|
|
7
8
|
return /* @__PURE__ */ jsx("span", {
|
|
8
|
-
className: cx(Badge_module_default.badge, Badge_module_default[
|
|
9
|
+
className: cx("panneau-badge", Badge_module_default.badge, toneClass(tone), Badge_module_default[appearance], variant !== void 0 && `panneau-badge-variant-${variant}`, className),
|
|
9
10
|
children: label !== void 0 ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", {
|
|
10
11
|
"aria-hidden": "true",
|
|
11
12
|
children
|
package/dist/badge/Badge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.js","names":["styles","_Fragment"],"sources":["../../src/badge/Badge.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '../utils/cx';\nimport styles from './Badge.module.css';\n\nexport type BadgeTone =
|
|
1
|
+
{"version":3,"file":"Badge.js","names":["styles","_Fragment"],"sources":["../../src/badge/Badge.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { toneClass } from '../theme/toneClass';\nimport type { Tone } from '../theme/tones';\nimport { cx } from '../utils/cx';\nimport styles from './Badge.module.css';\n\n/** @deprecated Use `Tone`. */\nexport type BadgeTone = Tone;\n\n/** How a badge uses its tone. */\nexport type BadgeAppearance = 'subtle' | 'solid' | 'outline';\n\n/**\n * Named variants of `Badge`, registered by a theme (`components.badge.variants`). Declare them\n * here so that `variant=\"tag\"` type-checks.\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type -- extended by projects\nexport interface BadgeVariants {}\n\nexport interface BadgeProps {\n /** Defaults to `neutral`. */\n tone?: Tone;\n /** Defaults to `subtle`. */\n appearance?: BadgeAppearance;\n /** A named variant of the theme. */\n variant?: keyof BadgeVariants & string;\n children?: ReactNode;\n /**\n * Accessible text, when the visible content isn't enough on its own (a count of errors: \"2\n * errors\"). The visible content is then hidden from assistive technologies.\n */\n label?: string;\n className?: string;\n}\n\n/** A short status or a count. */\nexport function Badge({\n tone = 'neutral',\n appearance = 'subtle',\n variant,\n children,\n label,\n className,\n}: BadgeProps) {\n return (\n <span\n className={cx(\n 'panneau-badge',\n styles.badge,\n toneClass(tone),\n styles[appearance],\n variant !== undefined && `panneau-badge-variant-${variant}`,\n className,\n )}\n >\n {label !== undefined ? (\n <>\n <span aria-hidden=\"true\">{children}</span>\n <span className={styles.visuallyHidden}>{label}</span>\n </>\n ) : (\n children\n )}\n </span>\n );\n}\n"],"mappings":";;;;;;AAqCA,SAAgB,MAAM,EAClB,OAAO,WACP,aAAa,UACb,SACA,UACA,OACA,aACW;CACX,OACI,oBAAC,QAAD;EACI,WAAW,GACP,iBACAA,qBAAO,OACP,UAAU,IAAI,GACdA,qBAAO,aACP,YAAY,KAAA,KAAa,yBAAyB,WAClD,SACJ;EAEC,UAAA,UAAU,KAAA,IACP,qBAAAC,UAAA,EAAA,UAAA,CACI,oBAAC,QAAD;GAAM,eAAY;GAAQ;EAAe,CAAA,GACzC,oBAAC,QAAD;GAAM,WAAWD,qBAAO;GAAiB,UAAA;EAAY,CAAA,CACzD,EAAA,CAAA,IAEA;CAEF,CAAA;AAEd"}
|
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
import "./Badge.css";
|
|
2
2
|
//#region src/badge/Badge.module.css
|
|
3
|
-
var badge = "panneau-badge
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var accent = "panneau-accent-cGs8f8";
|
|
9
|
-
var visuallyHidden = "panneau-visuallyHidden-YMPDBq";
|
|
3
|
+
var badge = "panneau-badge";
|
|
4
|
+
var subtle = "panneau-badge-subtle";
|
|
5
|
+
var solid = "panneau-badge-solid";
|
|
6
|
+
var outline = "panneau-badge-outline";
|
|
7
|
+
var visuallyHidden = "panneau-badge-visually-hidden";
|
|
10
8
|
var Badge_module_default = {
|
|
11
9
|
badge,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
info,
|
|
16
|
-
accent,
|
|
10
|
+
subtle,
|
|
11
|
+
solid,
|
|
12
|
+
outline,
|
|
17
13
|
visuallyHidden
|
|
18
14
|
};
|
|
19
15
|
//#endregion
|
|
20
|
-
export {
|
|
16
|
+
export { badge, Badge_module_default as default, outline, solid, subtle, visuallyHidden };
|
|
21
17
|
|
|
22
18
|
//# sourceMappingURL=Badge.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.module.js","names":[],"sources":["../../src/badge/Badge.module.css"],"sourcesContent":[".badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--panneau-space-1);\n min-width: 1.25rem;\n height: 1.25rem;\n padding: 0 var(--panneau-space-2);\n font-size: var(--panneau-font-size-xs);\n font-weight: var(--panneau-font-weight-medium);\n font-variant-numeric:
|
|
1
|
+
{"version":3,"file":"Badge.module.js","names":[],"sources":["../../src/badge/Badge.module.css"],"sourcesContent":[".badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--panneau-badge-gap, var(--panneau-space-1));\n min-width: var(--panneau-badge-height, 1.25rem);\n height: var(--panneau-badge-height, 1.25rem);\n padding: 0 var(--panneau-badge-padding-x, var(--panneau-space-2));\n font-size: var(--panneau-badge-font-size, var(--panneau-font-size-xs));\n font-weight: var(--panneau-badge-font-weight, var(--panneau-font-weight-medium));\n font-variant-numeric: var(--panneau-font-numeric);\n line-height: 1;\n white-space: nowrap;\n border: var(--panneau-badge-border-width, var(--panneau-border-width)) solid transparent;\n border-radius: var(--panneau-badge-radius, var(--panneau-radius-full));\n}\n\n/* Appearances: they read the --panneau-tone-* variables of the tone class (decision 0024). */\n\n.subtle {\n color: var(--panneau-tone-text);\n background-color: var(--panneau-tone-subtle);\n border-color: var(--panneau-tone-border);\n}\n\n.solid {\n color: var(--panneau-tone-solid-text);\n background-color: var(--panneau-tone-solid);\n border-color: var(--panneau-tone-solid);\n}\n\n.outline {\n color: var(--panneau-tone-text);\n background-color: transparent;\n border-color: var(--panneau-tone-outline);\n}\n\n.visuallyHidden {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Tokens of Badge. */
|
|
2
|
+
export declare const badgeTokens: import("..").ComponentTokens<"badge", "panneau-badge-height" | "panneau-badge-radius" | "panneau-badge-gap" | "panneau-badge-padding-x" | "panneau-badge-border-width" | "panneau-badge-font-size" | "panneau-badge-font-weight">;
|
|
3
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/badge/tokens.ts"],"names":[],"mappings":"AAEA,uBAAuB;AACvB,eAAO,MAAM,WAAW,mOAetB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { defineComponentTokens } from "../theme/componentTokens.js";
|
|
2
|
+
//#region src/badge/tokens.ts
|
|
3
|
+
/** Tokens of Badge. */
|
|
4
|
+
var badgeTokens = defineComponentTokens("badge", {
|
|
5
|
+
/** Space between an icon and the text. */
|
|
6
|
+
gap: "var(--panneau-space-1)",
|
|
7
|
+
/** Height, and minimum width. */
|
|
8
|
+
height: "1.25rem",
|
|
9
|
+
/** Horizontal padding. */
|
|
10
|
+
"padding-x": "var(--panneau-space-2)",
|
|
11
|
+
/** Font size. */
|
|
12
|
+
"font-size": "var(--panneau-font-size-xs)",
|
|
13
|
+
/** Font weight. */
|
|
14
|
+
"font-weight": "var(--panneau-font-weight-medium)",
|
|
15
|
+
/** Width of the border. */
|
|
16
|
+
"border-width": "var(--panneau-border-width)",
|
|
17
|
+
/** Corner radius: a pill by default. */
|
|
18
|
+
radius: "var(--panneau-radius-full)"
|
|
19
|
+
});
|
|
20
|
+
//#endregion
|
|
21
|
+
export { badgeTokens };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","names":[],"sources":["../../src/badge/tokens.ts"],"sourcesContent":["import { defineComponentTokens } from '../theme/componentTokens';\n\n/** Tokens of Badge. */\nexport const badgeTokens = defineComponentTokens('badge', {\n /** Space between an icon and the text. */\n gap: 'var(--panneau-space-1)',\n /** Height, and minimum width. */\n height: '1.25rem',\n /** Horizontal padding. */\n 'padding-x': 'var(--panneau-space-2)',\n /** Font size. */\n 'font-size': 'var(--panneau-font-size-xs)',\n /** Font weight. */\n 'font-weight': 'var(--panneau-font-weight-medium)',\n /** Width of the border. */\n 'border-width': 'var(--panneau-border-width)',\n /** Corner radius: a pill by default. */\n radius: 'var(--panneau-radius-full)',\n});\n"],"mappings":";;;AAGA,IAAa,cAAc,sBAAsB,SAAS;;CAEtD,KAAK;;CAEL,QAAQ;;CAER,aAAa;;CAEb,aAAa;;CAEb,eAAe;;CAEf,gBAAgB;;CAEhB,QAAQ;AACZ,CAAC"}
|
package/dist/button/Button.css
CHANGED
|
@@ -1,21 +1,25 @@
|
|
|
1
|
-
.panneau-button
|
|
1
|
+
.panneau-button {
|
|
2
2
|
position: relative;
|
|
3
3
|
display: inline-flex;
|
|
4
4
|
flex: 0 0 auto;
|
|
5
5
|
align-items: center;
|
|
6
6
|
justify-content: center;
|
|
7
|
-
gap: var(--panneau-space-2);
|
|
7
|
+
gap: var(--panneau-button-gap, var(--panneau-space-2));
|
|
8
8
|
min-height: var(--panneau-control-height);
|
|
9
|
-
padding: 0
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
padding: 0
|
|
10
|
+
var(
|
|
11
|
+
--panneau-button-padding-x,
|
|
12
|
+
calc(var(--panneau-control-padding-x) + var(--panneau-space-1))
|
|
13
|
+
);
|
|
14
|
+
font-size: var(--panneau-button-font-size, var(--panneau-font-size-md));
|
|
15
|
+
font-weight: var(--panneau-button-font-weight, var(--panneau-font-weight-medium));
|
|
12
16
|
line-height: var(--panneau-line-height-tight);
|
|
13
17
|
text-decoration: none;
|
|
14
18
|
white-space: nowrap;
|
|
15
19
|
cursor: pointer;
|
|
16
20
|
user-select: none;
|
|
17
|
-
border: var(--panneau-border-width) solid transparent;
|
|
18
|
-
border-radius: var(--panneau-radius-md);
|
|
21
|
+
border: var(--panneau-button-border-width, var(--panneau-border-width)) solid transparent;
|
|
22
|
+
border-radius: var(--panneau-button-radius, var(--panneau-radius-md));
|
|
19
23
|
transition:
|
|
20
24
|
background-color var(--panneau-duration),
|
|
21
25
|
border-color var(--panneau-duration),
|
|
@@ -23,86 +27,98 @@
|
|
|
23
27
|
-webkit-tap-highlight-color: transparent;
|
|
24
28
|
}
|
|
25
29
|
|
|
26
|
-
.panneau-button
|
|
30
|
+
.panneau-button[data-focus-visible] {
|
|
27
31
|
outline: var(--panneau-focus-width) solid var(--panneau-color-focus);
|
|
28
32
|
outline-offset: 2px;
|
|
29
33
|
}
|
|
30
34
|
|
|
31
|
-
.panneau-button
|
|
35
|
+
.panneau-button[data-disabled] {
|
|
32
36
|
cursor: not-allowed;
|
|
33
37
|
opacity: 0.55;
|
|
34
38
|
}
|
|
35
39
|
|
|
36
|
-
.panneau-sm
|
|
40
|
+
.panneau-button-sm {
|
|
37
41
|
min-height: var(--panneau-control-height-sm);
|
|
38
|
-
padding: 0 var(--panneau-
|
|
39
|
-
font-size: var(--panneau-font-size-sm);
|
|
42
|
+
padding: 0 var(--panneau-button-padding-x-sm, var(--panneau-control-padding-x));
|
|
43
|
+
font-size: var(--panneau-button-font-size-sm, var(--panneau-font-size-sm));
|
|
40
44
|
}
|
|
41
45
|
|
|
42
|
-
.panneau-
|
|
46
|
+
.panneau-button-full-width {
|
|
43
47
|
display: flex;
|
|
44
48
|
width: 100%;
|
|
45
49
|
}
|
|
46
50
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
51
|
+
/*
|
|
52
|
+
* Appearances (decision 0024): each one reads the --panneau-tone-* variables of the tone class on
|
|
53
|
+
* the same element, so every tone, built-in or added by a theme, works with every appearance.
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
.panneau-button-solid {
|
|
57
|
+
color: var(--panneau-tone-solid-text);
|
|
58
|
+
background-color: var(--panneau-tone-solid);
|
|
50
59
|
}
|
|
51
60
|
|
|
52
|
-
.panneau-
|
|
53
|
-
.panneau-
|
|
54
|
-
background-color: var(--panneau-
|
|
61
|
+
.panneau-button-solid[data-hovered],
|
|
62
|
+
.panneau-button-solid[data-pressed] {
|
|
63
|
+
background-color: var(--panneau-tone-solid-hover);
|
|
55
64
|
}
|
|
56
65
|
|
|
57
|
-
.panneau-
|
|
58
|
-
color: var(--panneau-
|
|
66
|
+
.panneau-button-outline {
|
|
67
|
+
color: var(--panneau-tone-text);
|
|
59
68
|
background-color: var(--panneau-color-surface);
|
|
60
|
-
border-color: var(--panneau-
|
|
69
|
+
border-color: var(--panneau-tone-outline);
|
|
61
70
|
}
|
|
62
71
|
|
|
63
|
-
.panneau-
|
|
64
|
-
background-color: var(--panneau-color-
|
|
72
|
+
.panneau-button-outline[data-hovered] {
|
|
73
|
+
background-color: color-mix(in srgb, var(--panneau-tone-text) 6%, var(--panneau-color-surface));
|
|
65
74
|
}
|
|
66
75
|
|
|
67
|
-
.panneau-
|
|
68
|
-
background-color:
|
|
76
|
+
.panneau-button-outline[data-pressed] {
|
|
77
|
+
background-color: color-mix(
|
|
78
|
+
in srgb,
|
|
79
|
+
var(--panneau-tone-text) 10%,
|
|
80
|
+
var(--panneau-color-surface)
|
|
81
|
+
);
|
|
69
82
|
}
|
|
70
83
|
|
|
71
|
-
.panneau-
|
|
72
|
-
color: var(--panneau-
|
|
73
|
-
background-color:
|
|
84
|
+
.panneau-button-subtle {
|
|
85
|
+
color: var(--panneau-tone-text);
|
|
86
|
+
background-color: var(--panneau-tone-subtle);
|
|
74
87
|
}
|
|
75
88
|
|
|
76
|
-
.panneau-
|
|
77
|
-
background-color: var(--panneau-
|
|
89
|
+
.panneau-button-subtle[data-hovered] {
|
|
90
|
+
background-color: color-mix(in srgb, var(--panneau-tone-text) 8%, var(--panneau-tone-subtle));
|
|
78
91
|
}
|
|
79
92
|
|
|
80
|
-
.panneau-
|
|
81
|
-
background-color: var(--panneau-
|
|
93
|
+
.panneau-button-subtle[data-pressed] {
|
|
94
|
+
background-color: color-mix(in srgb, var(--panneau-tone-text) 14%, var(--panneau-tone-subtle));
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.panneau-button-ghost {
|
|
98
|
+
color: var(--panneau-tone-text);
|
|
99
|
+
background-color: transparent;
|
|
82
100
|
}
|
|
83
101
|
|
|
84
|
-
.panneau-
|
|
85
|
-
color: var(--panneau-
|
|
86
|
-
background-color: var(--panneau-color-danger-solid);
|
|
102
|
+
.panneau-button-ghost[data-hovered] {
|
|
103
|
+
background-color: color-mix(in srgb, var(--panneau-tone-text) 6%, transparent);
|
|
87
104
|
}
|
|
88
105
|
|
|
89
|
-
.panneau-
|
|
90
|
-
|
|
91
|
-
background-color: var(--panneau-color-danger-solid-hover);
|
|
106
|
+
.panneau-button-ghost[data-pressed] {
|
|
107
|
+
background-color: color-mix(in srgb, var(--panneau-tone-text) 10%, transparent);
|
|
92
108
|
}
|
|
93
109
|
|
|
94
|
-
.panneau-content
|
|
110
|
+
.panneau-button-content {
|
|
95
111
|
display: inline-flex;
|
|
96
112
|
align-items: center;
|
|
97
113
|
gap: inherit;
|
|
98
114
|
min-width: 0;
|
|
99
115
|
}
|
|
100
116
|
|
|
101
|
-
.panneau-pending
|
|
117
|
+
.panneau-button-pending .panneau-button-content {
|
|
102
118
|
visibility: hidden;
|
|
103
119
|
}
|
|
104
120
|
|
|
105
|
-
.panneau-spinner
|
|
121
|
+
.panneau-button-spinner {
|
|
106
122
|
position: absolute;
|
|
107
123
|
inset: 0;
|
|
108
124
|
display: flex;
|
package/dist/button/Button.d.ts
CHANGED
|
@@ -1,11 +1,38 @@
|
|
|
1
1
|
import type { CSSProperties, ReactNode } from 'react';
|
|
2
2
|
import { type ButtonProps as AriaButtonProps } from 'react-aria-components';
|
|
3
3
|
import { type IconComponent } from '../icon/Icon';
|
|
4
|
+
import type { Tone } from '../theme/tones';
|
|
4
5
|
import styles from './Button.module.css';
|
|
6
|
+
/** How a button uses its tone, like Bootstrap's `.btn-*` and `.btn-outline-*`. */
|
|
7
|
+
export type ButtonAppearance = 'solid' | 'outline' | 'subtle' | 'ghost';
|
|
8
|
+
/**
|
|
9
|
+
* Named variants of `Button`, registered by a theme (`components.button.variants`). Declare them
|
|
10
|
+
* here so that `variant="pill"` type-checks:
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* declare module '@panneau/ui' {
|
|
14
|
+
* interface ButtonVariants {
|
|
15
|
+
* pill: true;
|
|
16
|
+
* }
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export interface ButtonVariants {
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The variants of the first alpha, kept as aliases of a tone and an appearance: `primary` is
|
|
24
|
+
* accent solid, `secondary` neutral outline, `ghost` neutral ghost, `danger` danger solid.
|
|
25
|
+
*
|
|
26
|
+
* @deprecated Use `tone` and `appearance`.
|
|
27
|
+
*/
|
|
5
28
|
export type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger';
|
|
6
29
|
export interface ButtonProps extends Omit<AriaButtonProps, 'className' | 'style' | 'children'> {
|
|
7
|
-
/** Defaults to `
|
|
8
|
-
|
|
30
|
+
/** Defaults to `neutral`. */
|
|
31
|
+
tone?: Tone;
|
|
32
|
+
/** Defaults to `outline` for the neutral tone, and `solid` for the others. */
|
|
33
|
+
appearance?: ButtonAppearance;
|
|
34
|
+
/** A named variant of the theme, or one of the deprecated aliases (`primary`…). */
|
|
35
|
+
variant?: ButtonVariant | (keyof ButtonVariants & string);
|
|
9
36
|
size?: 'sm' | 'md';
|
|
10
37
|
/** Icon before the label. */
|
|
11
38
|
icon?: IconComponent;
|
|
@@ -21,6 +48,6 @@ export interface ButtonProps extends Omit<AriaButtonProps, 'className' | 'style'
|
|
|
21
48
|
* A button. With `isPending`, it shows a spinner, keeps its size and focus, and ignores presses
|
|
22
49
|
* while assistive technologies announce the pending state.
|
|
23
50
|
*/
|
|
24
|
-
export declare function Button({ variant, size, icon, iconEnd, fullWidth, isPending, children, className, ...props }: ButtonProps): import("react").JSX.Element;
|
|
51
|
+
export declare function Button({ tone, appearance, variant, size, icon, iconEnd, fullWidth, isPending, children, className, ...props }: ButtonProps): import("react").JSX.Element;
|
|
25
52
|
export { styles as buttonStyles };
|
|
26
53
|
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAwB,KAAK,WAAW,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAElG,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAGxD,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAEzC,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAwB,KAAK,WAAW,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAElG,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAGxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAEzC,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExE;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,cAAc;CAAG;AAElC;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAazE,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC;IAC1F,6BAA6B;IAC7B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,8EAA8E;IAC9E,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,mFAAmF;IACnF,OAAO,CAAC,EAAE,aAAa,GAAG,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC;IAC1D,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EACnB,IAAI,EACJ,UAAU,EACV,OAAO,EACP,IAAW,EACX,IAAI,EACJ,OAAO,EACP,SAAiB,EACjB,SAAiB,EACjB,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACX,EAAE,WAAW,+BAqCb;AAED,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,CAAC"}
|
package/dist/button/Button.js
CHANGED
|
@@ -1,19 +1,44 @@
|
|
|
1
1
|
import { cx } from "../utils/cx.js";
|
|
2
2
|
import { Icon } from "../icon/Icon.js";
|
|
3
3
|
import { Spinner } from "../spinner/Spinner.js";
|
|
4
|
+
import { toneClass } from "../theme/toneClass.js";
|
|
4
5
|
import Button_module_default from "./Button.module.js";
|
|
5
6
|
import { Button } from "react-aria-components";
|
|
6
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
8
|
//#region src/button/Button.tsx
|
|
9
|
+
var ALIASES = {
|
|
10
|
+
primary: {
|
|
11
|
+
tone: "accent",
|
|
12
|
+
appearance: "solid"
|
|
13
|
+
},
|
|
14
|
+
secondary: {
|
|
15
|
+
tone: "neutral",
|
|
16
|
+
appearance: "outline"
|
|
17
|
+
},
|
|
18
|
+
ghost: {
|
|
19
|
+
tone: "neutral",
|
|
20
|
+
appearance: "ghost"
|
|
21
|
+
},
|
|
22
|
+
danger: {
|
|
23
|
+
tone: "danger",
|
|
24
|
+
appearance: "solid"
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
function isAlias(variant) {
|
|
28
|
+
return Object.hasOwn(ALIASES, variant);
|
|
29
|
+
}
|
|
8
30
|
/**
|
|
9
31
|
* A button. With `isPending`, it shows a spinner, keeps its size and focus, and ignores presses
|
|
10
32
|
* while assistive technologies announce the pending state.
|
|
11
33
|
*/
|
|
12
|
-
function Button$1({
|
|
34
|
+
function Button$1({ tone, appearance, variant, size = "md", icon, iconEnd, fullWidth = false, isPending = false, children, className, ...props }) {
|
|
35
|
+
const alias = variant !== void 0 && isAlias(variant) ? ALIASES[variant] : void 0;
|
|
36
|
+
const resolvedTone = tone ?? alias?.tone ?? "neutral";
|
|
37
|
+
const resolvedAppearance = appearance ?? alias?.appearance ?? (resolvedTone === "neutral" ? "outline" : "solid");
|
|
13
38
|
return /* @__PURE__ */ jsxs(Button, {
|
|
14
39
|
...props,
|
|
15
40
|
isPending,
|
|
16
|
-
className: cx(Button_module_default.button, Button_module_default[
|
|
41
|
+
className: cx("panneau-button", Button_module_default.button, toneClass(resolvedTone), Button_module_default[resolvedAppearance], variant !== void 0 && alias === void 0 && `panneau-button-variant-${variant}`, size === "sm" && Button_module_default.sm, fullWidth && Button_module_default.fullWidth, isPending && Button_module_default.pending, className),
|
|
17
42
|
children: [/* @__PURE__ */ jsxs("span", {
|
|
18
43
|
className: Button_module_default.content,
|
|
19
44
|
children: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","names":["Button","AriaButton","styles"],"sources":["../../src/button/Button.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from 'react';\nimport { Button as AriaButton, type ButtonProps as AriaButtonProps } from 'react-aria-components';\n\nimport { Icon, type IconComponent } from '../icon/Icon';\nimport { Spinner } from '../spinner/Spinner';\nimport { cx } from '../utils/cx';\nimport styles from './Button.module.css';\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger';\n\nexport interface ButtonProps extends Omit<AriaButtonProps, 'className' | 'style' | 'children'> {\n /** Defaults to `
|
|
1
|
+
{"version":3,"file":"Button.js","names":["Button","AriaButton","styles"],"sources":["../../src/button/Button.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from 'react';\nimport { Button as AriaButton, type ButtonProps as AriaButtonProps } from 'react-aria-components';\n\nimport { Icon, type IconComponent } from '../icon/Icon';\nimport { Spinner } from '../spinner/Spinner';\nimport { toneClass } from '../theme/toneClass';\nimport type { Tone } from '../theme/tones';\nimport { cx } from '../utils/cx';\nimport styles from './Button.module.css';\n\n/** How a button uses its tone, like Bootstrap's `.btn-*` and `.btn-outline-*`. */\nexport type ButtonAppearance = 'solid' | 'outline' | 'subtle' | 'ghost';\n\n/**\n * Named variants of `Button`, registered by a theme (`components.button.variants`). Declare them\n * here so that `variant=\"pill\"` type-checks:\n *\n * ```ts\n * declare module '@panneau/ui' {\n * interface ButtonVariants {\n * pill: true;\n * }\n * }\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type -- extended by projects\nexport interface ButtonVariants {}\n\n/**\n * The variants of the first alpha, kept as aliases of a tone and an appearance: `primary` is\n * accent solid, `secondary` neutral outline, `ghost` neutral ghost, `danger` danger solid.\n *\n * @deprecated Use `tone` and `appearance`.\n */\nexport type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger';\n\nconst ALIASES: Record<ButtonVariant, { tone: Tone; appearance: ButtonAppearance }> = {\n primary: { tone: 'accent', appearance: 'solid' },\n secondary: { tone: 'neutral', appearance: 'outline' },\n ghost: { tone: 'neutral', appearance: 'ghost' },\n danger: { tone: 'danger', appearance: 'solid' },\n};\n\nfunction isAlias(variant: string): variant is ButtonVariant {\n return Object.hasOwn(ALIASES, variant);\n}\n\nexport interface ButtonProps extends Omit<AriaButtonProps, 'className' | 'style' | 'children'> {\n /** Defaults to `neutral`. */\n tone?: Tone;\n /** Defaults to `outline` for the neutral tone, and `solid` for the others. */\n appearance?: ButtonAppearance;\n /** A named variant of the theme, or one of the deprecated aliases (`primary`…). */\n variant?: ButtonVariant | (keyof ButtonVariants & string);\n size?: 'sm' | 'md';\n /** Icon before the label. */\n icon?: IconComponent;\n /** Icon after the label. */\n iconEnd?: IconComponent;\n /** Takes the full width of its container. */\n fullWidth?: boolean;\n children?: ReactNode;\n className?: string;\n style?: CSSProperties;\n}\n\n/**\n * A button. With `isPending`, it shows a spinner, keeps its size and focus, and ignores presses\n * while assistive technologies announce the pending state.\n */\nexport function Button({\n tone,\n appearance,\n variant,\n size = 'md',\n icon,\n iconEnd,\n fullWidth = false,\n isPending = false,\n children,\n className,\n ...props\n}: ButtonProps) {\n const alias = variant !== undefined && isAlias(variant) ? ALIASES[variant] : undefined;\n const resolvedTone = tone ?? alias?.tone ?? 'neutral';\n const resolvedAppearance =\n appearance ?? alias?.appearance ?? (resolvedTone === 'neutral' ? 'outline' : 'solid');\n return (\n <AriaButton\n {...props}\n isPending={isPending}\n className={cx(\n 'panneau-button',\n styles.button,\n toneClass(resolvedTone),\n styles[resolvedAppearance],\n variant !== undefined && alias === undefined && `panneau-button-variant-${variant}`,\n size === 'sm' && styles.sm,\n fullWidth && styles.fullWidth,\n isPending && styles.pending,\n className,\n )}\n >\n <span className={styles.content}>\n {icon !== undefined ? (\n <Icon icon={icon} size={size === 'sm' ? 'sm' : 'md'} />\n ) : null}\n {children}\n {iconEnd !== undefined ? (\n <Icon icon={iconEnd} size={size === 'sm' ? 'sm' : 'md'} />\n ) : null}\n </span>\n {isPending ? (\n <span className={styles.spinner}>\n <Spinner size=\"sm\" />\n </span>\n ) : null}\n </AriaButton>\n );\n}\n\nexport { styles as buttonStyles };\n"],"mappings":";;;;;;;;AAoCA,IAAM,UAA+E;CACjF,SAAS;EAAE,MAAM;EAAU,YAAY;CAAQ;CAC/C,WAAW;EAAE,MAAM;EAAW,YAAY;CAAU;CACpD,OAAO;EAAE,MAAM;EAAW,YAAY;CAAQ;CAC9C,QAAQ;EAAE,MAAM;EAAU,YAAY;CAAQ;AAClD;AAEA,SAAS,QAAQ,SAA2C;CACxD,OAAO,OAAO,OAAO,SAAS,OAAO;AACzC;;;;;AAyBA,SAAgBA,SAAO,EACnB,MACA,YACA,SACA,OAAO,MACP,MACA,SACA,YAAY,OACZ,YAAY,OACZ,UACA,WACA,GAAG,SACS;CACZ,MAAM,QAAQ,YAAY,KAAA,KAAa,QAAQ,OAAO,IAAI,QAAQ,WAAW,KAAA;CAC7E,MAAM,eAAe,QAAQ,OAAO,QAAQ;CAC5C,MAAM,qBACF,cAAc,OAAO,eAAe,iBAAiB,YAAY,YAAY;CACjF,OACI,qBAACC,QAAD;EACI,GAAI;EACO;EACX,WAAW,GACP,kBACAC,sBAAO,QACP,UAAU,YAAY,GACtBA,sBAAO,qBACP,YAAY,KAAA,KAAa,UAAU,KAAA,KAAa,0BAA0B,WAC1E,SAAS,QAAQA,sBAAO,IACxB,aAAaA,sBAAO,WACpB,aAAaA,sBAAO,SACpB,SACJ;EAbJ,UAAA,CAeI,qBAAC,QAAD;GAAM,WAAWA,sBAAO;GAAxB,UAAA;IACK,SAAS,KAAA,IACN,oBAAC,MAAD;KAAY;KAAM,MAAM,SAAS,OAAO,OAAO;IAAK,CAAA,IACpD;IACH;IACA,YAAY,KAAA,IACT,oBAAC,MAAD;KAAM,MAAM;KAAS,MAAM,SAAS,OAAO,OAAO;IAAK,CAAA,IACvD;GACF;EACL,CAAA,GAAA,YACG,oBAAC,QAAD;GAAM,WAAWA,sBAAO;GACpB,UAAA,oBAAC,SAAD,EAAS,MAAK,KAAI,CAAA;EAChB,CAAA,IACN,IACI;;AAEpB"}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import "./Button.css";
|
|
2
2
|
//#region src/button/Button.module.css
|
|
3
|
-
var button = "panneau-button
|
|
4
|
-
var sm = "panneau-sm
|
|
5
|
-
var fullWidth = "panneau-
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var content = "panneau-content
|
|
11
|
-
var pending = "panneau-pending
|
|
12
|
-
var spinner = "panneau-spinner
|
|
3
|
+
var button = "panneau-button";
|
|
4
|
+
var sm = "panneau-button-sm";
|
|
5
|
+
var fullWidth = "panneau-button-full-width";
|
|
6
|
+
var solid = "panneau-button-solid";
|
|
7
|
+
var outline = "panneau-button-outline";
|
|
8
|
+
var subtle = "panneau-button-subtle";
|
|
9
|
+
var ghost = "panneau-button-ghost";
|
|
10
|
+
var content = "panneau-button-content";
|
|
11
|
+
var pending = "panneau-button-pending";
|
|
12
|
+
var spinner = "panneau-button-spinner";
|
|
13
13
|
var Button_module_default = {
|
|
14
14
|
button,
|
|
15
15
|
sm,
|
|
16
16
|
fullWidth,
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
solid,
|
|
18
|
+
outline,
|
|
19
|
+
subtle,
|
|
19
20
|
ghost,
|
|
20
|
-
danger,
|
|
21
21
|
content,
|
|
22
22
|
pending,
|
|
23
23
|
spinner
|
|
24
24
|
};
|
|
25
25
|
//#endregion
|
|
26
|
-
export { button, content,
|
|
26
|
+
export { button, content, Button_module_default as default, fullWidth, ghost, outline, pending, sm, solid, spinner, subtle };
|
|
27
27
|
|
|
28
28
|
//# sourceMappingURL=Button.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.module.js","names":[],"sources":["../../src/button/Button.module.css"],"sourcesContent":[".button {\n position: relative;\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n gap: var(--panneau-space-2);\n min-height: var(--panneau-control-height);\n padding: 0 var(--panneau-space-
|
|
1
|
+
{"version":3,"file":"Button.module.js","names":[],"sources":["../../src/button/Button.module.css"],"sourcesContent":[".button {\n position: relative;\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n gap: var(--panneau-button-gap, var(--panneau-space-2));\n min-height: var(--panneau-control-height);\n padding: 0\n var(\n --panneau-button-padding-x,\n calc(var(--panneau-control-padding-x) + var(--panneau-space-1))\n );\n font-size: var(--panneau-button-font-size, var(--panneau-font-size-md));\n font-weight: var(--panneau-button-font-weight, var(--panneau-font-weight-medium));\n line-height: var(--panneau-line-height-tight);\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n border: var(--panneau-button-border-width, var(--panneau-border-width)) solid transparent;\n border-radius: var(--panneau-button-radius, var(--panneau-radius-md));\n transition:\n background-color var(--panneau-duration),\n border-color var(--panneau-duration),\n color var(--panneau-duration);\n -webkit-tap-highlight-color: transparent;\n}\n\n.button[data-focus-visible] {\n outline: var(--panneau-focus-width) solid var(--panneau-color-focus);\n outline-offset: 2px;\n}\n\n.button[data-disabled] {\n cursor: not-allowed;\n opacity: 0.55;\n}\n\n.sm {\n min-height: var(--panneau-control-height-sm);\n padding: 0 var(--panneau-button-padding-x-sm, var(--panneau-control-padding-x));\n font-size: var(--panneau-button-font-size-sm, var(--panneau-font-size-sm));\n}\n\n.fullWidth {\n display: flex;\n width: 100%;\n}\n\n/*\n * Appearances (decision 0024): each one reads the --panneau-tone-* variables of the tone class on\n * the same element, so every tone, built-in or added by a theme, works with every appearance.\n */\n\n.solid {\n color: var(--panneau-tone-solid-text);\n background-color: var(--panneau-tone-solid);\n}\n\n.solid[data-hovered],\n.solid[data-pressed] {\n background-color: var(--panneau-tone-solid-hover);\n}\n\n.outline {\n color: var(--panneau-tone-text);\n background-color: var(--panneau-color-surface);\n border-color: var(--panneau-tone-outline);\n}\n\n.outline[data-hovered] {\n background-color: color-mix(in srgb, var(--panneau-tone-text) 6%, var(--panneau-color-surface));\n}\n\n.outline[data-pressed] {\n background-color: color-mix(\n in srgb,\n var(--panneau-tone-text) 10%,\n var(--panneau-color-surface)\n );\n}\n\n.subtle {\n color: var(--panneau-tone-text);\n background-color: var(--panneau-tone-subtle);\n}\n\n.subtle[data-hovered] {\n background-color: color-mix(in srgb, var(--panneau-tone-text) 8%, var(--panneau-tone-subtle));\n}\n\n.subtle[data-pressed] {\n background-color: color-mix(in srgb, var(--panneau-tone-text) 14%, var(--panneau-tone-subtle));\n}\n\n.ghost {\n color: var(--panneau-tone-text);\n background-color: transparent;\n}\n\n.ghost[data-hovered] {\n background-color: color-mix(in srgb, var(--panneau-tone-text) 6%, transparent);\n}\n\n.ghost[data-pressed] {\n background-color: color-mix(in srgb, var(--panneau-tone-text) 10%, transparent);\n}\n\n.content {\n display: inline-flex;\n align-items: center;\n gap: inherit;\n min-width: 0;\n}\n\n.pending .content {\n visibility: hidden;\n}\n\n.spinner {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: inherit;\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Tokens of Button. */
|
|
2
|
+
export declare const buttonTokens: import("..").ComponentTokens<"button", "panneau-button-radius" | "panneau-button-gap" | "panneau-button-padding-x" | "panneau-button-border-width" | "panneau-button-font-size" | "panneau-button-font-weight" | "panneau-button-padding-x-sm" | "panneau-button-font-size-sm">;
|
|
3
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/button/tokens.ts"],"names":[],"mappings":"AAEA,wBAAwB;AACxB,eAAO,MAAM,YAAY,iRAiBvB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { defineComponentTokens } from "../theme/componentTokens.js";
|
|
2
|
+
//#region src/button/tokens.ts
|
|
3
|
+
/** Tokens of Button. */
|
|
4
|
+
var buttonTokens = defineComponentTokens("button", {
|
|
5
|
+
/** Space between the icon and the label. */
|
|
6
|
+
gap: "var(--panneau-space-2)",
|
|
7
|
+
/** Horizontal padding. */
|
|
8
|
+
"padding-x": "calc(var(--panneau-control-padding-x) + var(--panneau-space-1))",
|
|
9
|
+
/** Font size of the label. */
|
|
10
|
+
"font-size": "var(--panneau-font-size-md)",
|
|
11
|
+
/** Font weight of the label. */
|
|
12
|
+
"font-weight": "var(--panneau-font-weight-medium)",
|
|
13
|
+
/** Width of the border. */
|
|
14
|
+
"border-width": "var(--panneau-border-width)",
|
|
15
|
+
/** Corner radius. */
|
|
16
|
+
radius: "var(--panneau-radius-md)",
|
|
17
|
+
/** Horizontal padding of the small size. */
|
|
18
|
+
"padding-x-sm": "var(--panneau-control-padding-x)",
|
|
19
|
+
/** Font size of the small size. */
|
|
20
|
+
"font-size-sm": "var(--panneau-font-size-sm)"
|
|
21
|
+
});
|
|
22
|
+
//#endregion
|
|
23
|
+
export { buttonTokens };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=tokens.js.map
|