@panneau/ui 5.0.0-alpha.1 → 5.0.0-alpha.3
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 +276 -13
- 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 +2 -1
- package/dist/checkbox/Checkbox.js.map +1 -1
- package/dist/checkbox/Checkbox.module.js +6 -6
- 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/lucideIconLoader.d.ts +9 -0
- package/dist/icon/lucideIconLoader.d.ts.map +1 -0
- package/dist/icon/lucideIconLoader.js +22 -0
- package/dist/icon/lucideIconLoader.js.map +1 -0
- package/dist/icon/namedIcons.d.ts +15 -8
- package/dist/icon/namedIcons.d.ts.map +1 -1
- package/dist/icon/namedIcons.js +43 -29
- package/dist/icon/namedIcons.js.map +1 -1
- 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 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -3
- 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/named-icons/index.d.ts +2 -0
- package/dist/named-icons/index.d.ts.map +1 -0
- package/dist/named-icons/index.js +1 -0
- 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 +35 -4
- package/dist/root/PanneauRoot.d.ts.map +1 -1
- package/dist/root/PanneauRoot.js +107 -20
- 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 +2 -1
- package/dist/switch/Switch.js.map +1 -1
- package/dist/switch/Switch.module.js +6 -5
- 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 +2 -2
- package/dist/text-area/TextArea.js.map +1 -1
- package/dist/text-area/TextArea.module.js +3 -3
- package/dist/text-area/TextArea.module.js.map +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 +20 -3
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Rich content: Panneau styles no element outside of this container, since it is often embedded in
|
|
3
|
+
* someone else's page. Rules use :where() on the elements, so a class on any of them wins.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
.panneau-prose {
|
|
7
|
+
line-height: var(--panneau-prose-line-height, 1.6);
|
|
8
|
+
overflow-wrap: break-word;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.panneau-prose > * + * {
|
|
12
|
+
margin-top: var(--panneau-prose-gap, var(--panneau-space-4));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.panneau-prose > :where(h1, h2, h3, h4, h5, h6):not(:first-child) {
|
|
16
|
+
margin-top: var(--panneau-prose-heading-gap, var(--panneau-space-6));
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.panneau-prose :where(h1, h2, h3, h4, h5, h6) {
|
|
20
|
+
font-family: var(--panneau-heading-font-family, var(--panneau-font-family-heading));
|
|
21
|
+
color: var(--panneau-heading-color, inherit);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.panneau-prose :where(h1) {
|
|
25
|
+
font-size: var(--panneau-heading-1-font-size, 1.75rem);
|
|
26
|
+
font-weight: var(--panneau-heading-1-font-weight, var(--panneau-font-weight-bold));
|
|
27
|
+
line-height: var(--panneau-heading-1-line-height, var(--panneau-line-height-tight));
|
|
28
|
+
letter-spacing: var(--panneau-heading-1-letter-spacing, -0.015em);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.panneau-prose :where(h2) {
|
|
32
|
+
font-size: var(--panneau-heading-2-font-size, 1.375rem);
|
|
33
|
+
font-weight: var(--panneau-heading-2-font-weight, var(--panneau-font-weight-bold));
|
|
34
|
+
line-height: var(--panneau-heading-2-line-height, var(--panneau-line-height-tight));
|
|
35
|
+
letter-spacing: var(--panneau-heading-2-letter-spacing, -0.01em);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.panneau-prose :where(h3) {
|
|
39
|
+
font-size: var(--panneau-heading-3-font-size, 1.125rem);
|
|
40
|
+
font-weight: var(--panneau-heading-3-font-weight, var(--panneau-font-weight-bold));
|
|
41
|
+
line-height: var(--panneau-heading-3-line-height, var(--panneau-line-height-tight));
|
|
42
|
+
letter-spacing: var(--panneau-heading-3-letter-spacing, normal);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.panneau-prose :where(h4, h5, h6) {
|
|
46
|
+
font-size: var(--panneau-heading-4-font-size, var(--panneau-font-size-lg));
|
|
47
|
+
font-weight: var(--panneau-heading-4-font-weight, var(--panneau-font-weight-bold));
|
|
48
|
+
line-height: var(--panneau-heading-4-line-height, var(--panneau-line-height-tight));
|
|
49
|
+
letter-spacing: var(--panneau-heading-4-letter-spacing, normal);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.panneau-prose :where(ul, ol) {
|
|
53
|
+
padding-inline-start: var(--panneau-prose-list-indent, 1.5em);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.panneau-prose :where(ul) {
|
|
57
|
+
list-style: disc;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.panneau-prose :where(ol) {
|
|
61
|
+
list-style: decimal;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.panneau-prose :where(li + li, li > ul, li > ol) {
|
|
65
|
+
margin-top: var(--panneau-space-1);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.panneau-prose :where(a) {
|
|
69
|
+
color: var(--panneau-prose-link-color, var(--panneau-color-link));
|
|
70
|
+
text-decoration: underline;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.panneau-prose :where(strong, b) {
|
|
74
|
+
font-weight: var(--panneau-font-weight-bold);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.panneau-prose :where(code, kbd, samp, pre) {
|
|
78
|
+
color: var(--panneau-prose-code-color, inherit);
|
|
79
|
+
font-family: var(--panneau-font-family-mono);
|
|
80
|
+
font-size: var(--panneau-prose-code-font-size, 0.875em);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.panneau-prose :where(:not(pre) > code) {
|
|
84
|
+
padding: 0.1em 0.3em;
|
|
85
|
+
border-radius: var(--panneau-prose-code-radius, var(--panneau-radius-sm));
|
|
86
|
+
background-color: var(--panneau-prose-code-bg, var(--panneau-color-surface-sunken));
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.panneau-prose :where(pre) {
|
|
90
|
+
overflow-x: auto;
|
|
91
|
+
padding: var(--panneau-space-3) var(--panneau-space-4);
|
|
92
|
+
border-radius: var(--panneau-prose-code-radius, var(--panneau-radius-sm));
|
|
93
|
+
background-color: var(--panneau-prose-code-bg, var(--panneau-color-surface-sunken));
|
|
94
|
+
line-height: var(--panneau-line-height);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.panneau-prose :where(pre code) {
|
|
98
|
+
font-size: inherit;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.panneau-prose :where(blockquote) {
|
|
102
|
+
margin-inline: 0;
|
|
103
|
+
padding-inline-start: var(--panneau-space-4);
|
|
104
|
+
border-inline-start: 3px solid
|
|
105
|
+
var(--panneau-prose-quote-border-color, var(--panneau-color-border));
|
|
106
|
+
color: var(--panneau-prose-quote-color, var(--panneau-color-text-muted));
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.panneau-prose :where(figcaption) {
|
|
110
|
+
margin-top: var(--panneau-space-2);
|
|
111
|
+
color: var(--panneau-prose-quote-color, var(--panneau-color-text-muted));
|
|
112
|
+
font-size: var(--panneau-font-size-sm);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.panneau-prose :where(hr) {
|
|
116
|
+
border: 0;
|
|
117
|
+
border-top: var(--panneau-border-width) solid
|
|
118
|
+
var(--panneau-prose-border-color, var(--panneau-color-border));
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.panneau-prose :where(table) {
|
|
122
|
+
width: 100%;
|
|
123
|
+
border-collapse: collapse;
|
|
124
|
+
font-variant-numeric: var(--panneau-font-numeric);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.panneau-prose :where(th, td) {
|
|
128
|
+
padding: var(--panneau-space-2) var(--panneau-space-3);
|
|
129
|
+
border-bottom: var(--panneau-border-width) solid
|
|
130
|
+
var(--panneau-prose-border-color, var(--panneau-color-border));
|
|
131
|
+
text-align: start;
|
|
132
|
+
vertical-align: top;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.panneau-prose :where(th) {
|
|
136
|
+
font-weight: var(--panneau-font-weight-bold);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.panneau-prose :where(img, video) {
|
|
140
|
+
height: auto;
|
|
141
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { HTMLAttributes } from 'react';
|
|
2
|
+
export interface ProseProps extends HTMLAttributes<HTMLElement> {
|
|
3
|
+
/** Element to render. Defaults to `div`. */
|
|
4
|
+
as?: 'div' | 'article' | 'section';
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Styles the elements of rich content (headings, paragraphs, lists, links, quotes, code, tables):
|
|
8
|
+
* the output of an editor, Markdown, or a help page. Outside of it, Panneau styles no element.
|
|
9
|
+
*/
|
|
10
|
+
export declare function Prose({ as: Element, className, ...props }: ProseProps): import("react").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=Prose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Prose.d.ts","sourceRoot":"","sources":["../../src/prose/Prose.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAK5C,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC3D,4CAA4C;IAC5C,EAAE,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,EAAE,OAAe,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,+BAE7E"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { cx } from "../utils/cx.js";
|
|
2
|
+
import Prose_module_default from "./Prose.module.js";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
//#region src/prose/Prose.tsx
|
|
5
|
+
/**
|
|
6
|
+
* Styles the elements of rich content (headings, paragraphs, lists, links, quotes, code, tables):
|
|
7
|
+
* the output of an editor, Markdown, or a help page. Outside of it, Panneau styles no element.
|
|
8
|
+
*/
|
|
9
|
+
function Prose({ as: Element = "div", className, ...props }) {
|
|
10
|
+
return /* @__PURE__ */ jsx(Element, {
|
|
11
|
+
...props,
|
|
12
|
+
className: cx("panneau-prose", Prose_module_default.prose, className)
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { Prose };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=Prose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Prose.js","names":["styles"],"sources":["../../src/prose/Prose.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\n\nimport { cx } from '../utils/cx';\nimport styles from './Prose.module.css';\n\nexport interface ProseProps extends HTMLAttributes<HTMLElement> {\n /** Element to render. Defaults to `div`. */\n as?: 'div' | 'article' | 'section';\n}\n\n/**\n * Styles the elements of rich content (headings, paragraphs, lists, links, quotes, code, tables):\n * the output of an editor, Markdown, or a help page. Outside of it, Panneau styles no element.\n */\nexport function Prose({ as: Element = 'div', className, ...props }: ProseProps) {\n return <Element {...props} className={cx('panneau-prose', styles.prose, className)} />;\n}\n"],"mappings":";;;;;;;;AAcA,SAAgB,MAAM,EAAE,IAAI,UAAU,OAAO,WAAW,GAAG,SAAqB;CAC5E,OAAO,oBAAC,SAAD;EAAS,GAAI;EAAO,WAAW,GAAG,iBAAiBA,qBAAO,OAAO,SAAS;CAAE,CAAA;AACvF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Prose.module.js","names":[],"sources":["../../src/prose/Prose.module.css"],"sourcesContent":["/*\n * Rich content: Panneau styles no element outside of this container, since it is often embedded in\n * someone else's page. Rules use :where() on the elements, so a class on any of them wins.\n */\n\n.prose {\n line-height: var(--panneau-prose-line-height, 1.6);\n overflow-wrap: break-word;\n}\n\n.prose > * + * {\n margin-top: var(--panneau-prose-gap, var(--panneau-space-4));\n}\n\n.prose > :where(h1, h2, h3, h4, h5, h6):not(:first-child) {\n margin-top: var(--panneau-prose-heading-gap, var(--panneau-space-6));\n}\n\n.prose :where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--panneau-heading-font-family, var(--panneau-font-family-heading));\n color: var(--panneau-heading-color, inherit);\n}\n\n.prose :where(h1) {\n font-size: var(--panneau-heading-1-font-size, 1.75rem);\n font-weight: var(--panneau-heading-1-font-weight, var(--panneau-font-weight-bold));\n line-height: var(--panneau-heading-1-line-height, var(--panneau-line-height-tight));\n letter-spacing: var(--panneau-heading-1-letter-spacing, -0.015em);\n}\n\n.prose :where(h2) {\n font-size: var(--panneau-heading-2-font-size, 1.375rem);\n font-weight: var(--panneau-heading-2-font-weight, var(--panneau-font-weight-bold));\n line-height: var(--panneau-heading-2-line-height, var(--panneau-line-height-tight));\n letter-spacing: var(--panneau-heading-2-letter-spacing, -0.01em);\n}\n\n.prose :where(h3) {\n font-size: var(--panneau-heading-3-font-size, 1.125rem);\n font-weight: var(--panneau-heading-3-font-weight, var(--panneau-font-weight-bold));\n line-height: var(--panneau-heading-3-line-height, var(--panneau-line-height-tight));\n letter-spacing: var(--panneau-heading-3-letter-spacing, normal);\n}\n\n.prose :where(h4, h5, h6) {\n font-size: var(--panneau-heading-4-font-size, var(--panneau-font-size-lg));\n font-weight: var(--panneau-heading-4-font-weight, var(--panneau-font-weight-bold));\n line-height: var(--panneau-heading-4-line-height, var(--panneau-line-height-tight));\n letter-spacing: var(--panneau-heading-4-letter-spacing, normal);\n}\n\n.prose :where(ul, ol) {\n padding-inline-start: var(--panneau-prose-list-indent, 1.5em);\n}\n\n.prose :where(ul) {\n list-style: disc;\n}\n\n.prose :where(ol) {\n list-style: decimal;\n}\n\n.prose :where(li + li, li > ul, li > ol) {\n margin-top: var(--panneau-space-1);\n}\n\n.prose :where(a) {\n color: var(--panneau-prose-link-color, var(--panneau-color-link));\n text-decoration: underline;\n}\n\n.prose :where(strong, b) {\n font-weight: var(--panneau-font-weight-bold);\n}\n\n.prose :where(code, kbd, samp, pre) {\n color: var(--panneau-prose-code-color, inherit);\n font-family: var(--panneau-font-family-mono);\n font-size: var(--panneau-prose-code-font-size, 0.875em);\n}\n\n.prose :where(:not(pre) > code) {\n padding: 0.1em 0.3em;\n border-radius: var(--panneau-prose-code-radius, var(--panneau-radius-sm));\n background-color: var(--panneau-prose-code-bg, var(--panneau-color-surface-sunken));\n}\n\n.prose :where(pre) {\n overflow-x: auto;\n padding: var(--panneau-space-3) var(--panneau-space-4);\n border-radius: var(--panneau-prose-code-radius, var(--panneau-radius-sm));\n background-color: var(--panneau-prose-code-bg, var(--panneau-color-surface-sunken));\n line-height: var(--panneau-line-height);\n}\n\n.prose :where(pre code) {\n font-size: inherit;\n}\n\n.prose :where(blockquote) {\n margin-inline: 0;\n padding-inline-start: var(--panneau-space-4);\n border-inline-start: 3px solid\n var(--panneau-prose-quote-border-color, var(--panneau-color-border));\n color: var(--panneau-prose-quote-color, var(--panneau-color-text-muted));\n}\n\n.prose :where(figcaption) {\n margin-top: var(--panneau-space-2);\n color: var(--panneau-prose-quote-color, var(--panneau-color-text-muted));\n font-size: var(--panneau-font-size-sm);\n}\n\n.prose :where(hr) {\n border: 0;\n border-top: var(--panneau-border-width) solid\n var(--panneau-prose-border-color, var(--panneau-color-border));\n}\n\n.prose :where(table) {\n width: 100%;\n border-collapse: collapse;\n font-variant-numeric: var(--panneau-font-numeric);\n}\n\n.prose :where(th, td) {\n padding: var(--panneau-space-2) var(--panneau-space-3);\n border-bottom: var(--panneau-border-width) solid\n var(--panneau-prose-border-color, var(--panneau-color-border));\n text-align: start;\n vertical-align: top;\n}\n\n.prose :where(th) {\n font-weight: var(--panneau-font-weight-bold);\n}\n\n.prose :where(img, video) {\n height: auto;\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Tokens of Prose. Its headings use the tokens of Heading. */
|
|
2
|
+
export declare const proseTokens: import("..").ComponentTokens<"prose", "panneau-prose-gap" | "panneau-prose-border-color" | "panneau-prose-line-height" | "panneau-prose-heading-gap" | "panneau-prose-list-indent" | "panneau-prose-link-color" | "panneau-prose-code-font-size" | "panneau-prose-code-color" | "panneau-prose-code-bg" | "panneau-prose-code-radius" | "panneau-prose-quote-border-color" | "panneau-prose-quote-color">;
|
|
3
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/prose/tokens.ts"],"names":[],"mappings":"AAEA,+DAA+D;AAC/D,eAAO,MAAM,WAAW,2YAyBtB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { defineComponentTokens } from "../theme/componentTokens.js";
|
|
2
|
+
//#region src/prose/tokens.ts
|
|
3
|
+
/** Tokens of Prose. Its headings use the tokens of Heading. */
|
|
4
|
+
var proseTokens = defineComponentTokens("prose", {
|
|
5
|
+
/** Line height of the content. */
|
|
6
|
+
"line-height": "1.6",
|
|
7
|
+
/** Space between blocks: paragraphs, lists, tables. */
|
|
8
|
+
gap: "var(--panneau-space-4)",
|
|
9
|
+
/** Space above a heading. */
|
|
10
|
+
"heading-gap": "var(--panneau-space-6)",
|
|
11
|
+
/** Indent of lists. */
|
|
12
|
+
"list-indent": "1.5em",
|
|
13
|
+
/** Color of links. */
|
|
14
|
+
"link-color": "var(--panneau-color-link)",
|
|
15
|
+
/** Font size of code, relative to the text around it. */
|
|
16
|
+
"code-font-size": "0.875em",
|
|
17
|
+
/** Text color of code: inherited, so that a site's global `code` color doesn't apply. */
|
|
18
|
+
"code-color": "inherit",
|
|
19
|
+
/** Background of code and code blocks. */
|
|
20
|
+
"code-bg": "var(--panneau-color-surface-sunken)",
|
|
21
|
+
/** Corner radius of code and code blocks. */
|
|
22
|
+
"code-radius": "var(--panneau-radius-sm)",
|
|
23
|
+
/** Border of quotes. */
|
|
24
|
+
"quote-border-color": "var(--panneau-color-border)",
|
|
25
|
+
/** Text color of quotes and captions. */
|
|
26
|
+
"quote-color": "var(--panneau-color-text-muted)",
|
|
27
|
+
/** Color of the borders of tables and of horizontal rules. */
|
|
28
|
+
"border-color": "var(--panneau-color-border)"
|
|
29
|
+
});
|
|
30
|
+
//#endregion
|
|
31
|
+
export { proseTokens };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","names":[],"sources":["../../src/prose/tokens.ts"],"sourcesContent":["import { defineComponentTokens } from '../theme/componentTokens';\n\n/** Tokens of Prose. Its headings use the tokens of Heading. */\nexport const proseTokens = defineComponentTokens('prose', {\n /** Line height of the content. */\n 'line-height': '1.6',\n /** Space between blocks: paragraphs, lists, tables. */\n gap: 'var(--panneau-space-4)',\n /** Space above a heading. */\n 'heading-gap': 'var(--panneau-space-6)',\n /** Indent of lists. */\n 'list-indent': '1.5em',\n /** Color of links. */\n 'link-color': 'var(--panneau-color-link)',\n /** Font size of code, relative to the text around it. */\n 'code-font-size': '0.875em',\n /** Text color of code: inherited, so that a site's global `code` color doesn't apply. */\n 'code-color': 'inherit',\n /** Background of code and code blocks. */\n 'code-bg': 'var(--panneau-color-surface-sunken)',\n /** Corner radius of code and code blocks. */\n 'code-radius': 'var(--panneau-radius-sm)',\n /** Border of quotes. */\n 'quote-border-color': 'var(--panneau-color-border)',\n /** Text color of quotes and captions. */\n 'quote-color': 'var(--panneau-color-text-muted)',\n /** Color of the borders of tables and of horizontal rules. */\n 'border-color': 'var(--panneau-color-border)',\n});\n"],"mappings":";;;AAGA,IAAa,cAAc,sBAAsB,SAAS;;CAEtD,eAAe;;CAEf,KAAK;;CAEL,eAAe;;CAEf,eAAe;;CAEf,cAAc;;CAEd,kBAAkB;;CAElB,cAAc;;CAEd,WAAW;;CAEX,eAAe;;CAEf,sBAAsB;;CAEtB,eAAe;;CAEf,gBAAgB;AACpB,CAAC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
.panneau-options
|
|
1
|
+
.panneau-radio-group-options {
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
gap: var(--panneau-space-1);
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
.panneau-horizontal
|
|
7
|
+
.panneau-radio-group-horizontal .panneau-radio-group-options {
|
|
8
8
|
flex-flow: row wrap;
|
|
9
9
|
gap: var(--panneau-space-1) var(--panneau-space-4);
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
.panneau-radio-
|
|
12
|
+
.panneau-radio-group-radio {
|
|
13
13
|
display: inline-flex;
|
|
14
14
|
align-items: flex-start;
|
|
15
15
|
gap: var(--panneau-space-2);
|
|
@@ -20,64 +20,65 @@
|
|
|
20
20
|
-webkit-tap-highlight-color: transparent;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
.panneau-radio-
|
|
23
|
+
.panneau-radio-group-radio[data-disabled] {
|
|
24
24
|
cursor: not-allowed;
|
|
25
25
|
opacity: 0.55;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
.panneau-radio-
|
|
28
|
+
.panneau-radio-group-radio[data-readonly] {
|
|
29
29
|
cursor: default;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
.panneau-circle
|
|
32
|
+
.panneau-radio-group-circle {
|
|
33
33
|
flex: 0 0 auto;
|
|
34
|
-
width: 1.125rem;
|
|
35
|
-
height: 1.125rem;
|
|
34
|
+
width: var(--panneau-radio-size, 1.125rem);
|
|
35
|
+
height: var(--panneau-radio-size, 1.125rem);
|
|
36
36
|
margin-top: 0.125rem;
|
|
37
|
-
background-color: var(--panneau-color-surface);
|
|
38
|
-
border: var(--panneau-border-width) solid
|
|
37
|
+
background-color: var(--panneau-radio-bg, var(--panneau-color-surface));
|
|
38
|
+
border: var(--panneau-border-width) solid
|
|
39
|
+
var(--panneau-radio-border-color, var(--panneau-color-border-control));
|
|
39
40
|
border-radius: var(--panneau-radius-full);
|
|
40
41
|
transition:
|
|
41
42
|
border-color var(--panneau-duration),
|
|
42
43
|
border-width var(--panneau-duration);
|
|
43
44
|
}
|
|
44
45
|
|
|
45
|
-
.panneau-radio-
|
|
46
|
+
.panneau-radio-group-radio[data-hovered] .panneau-radio-group-circle {
|
|
46
47
|
border-color: var(--panneau-color-text-muted);
|
|
47
48
|
}
|
|
48
49
|
|
|
49
|
-
.panneau-radio-
|
|
50
|
-
border-color: var(--panneau-color-accent);
|
|
51
|
-
border-width: 0.3125rem;
|
|
50
|
+
.panneau-radio-group-radio[data-selected] .panneau-radio-group-circle {
|
|
51
|
+
border-color: var(--panneau-radio-checked-color, var(--panneau-color-accent));
|
|
52
|
+
border-width: var(--panneau-radio-checked-border-width, 0.3125rem);
|
|
52
53
|
}
|
|
53
54
|
|
|
54
|
-
.panneau-radio-
|
|
55
|
+
.panneau-radio-group-radio[data-invalid] .panneau-radio-group-circle {
|
|
55
56
|
border-color: var(--panneau-color-danger);
|
|
56
57
|
}
|
|
57
58
|
|
|
58
|
-
.panneau-radio-
|
|
59
|
+
.panneau-radio-group-radio[data-focus-visible] .panneau-radio-group-circle {
|
|
59
60
|
outline: var(--panneau-focus-width) solid var(--panneau-color-focus);
|
|
60
61
|
outline-offset: 2px;
|
|
61
62
|
}
|
|
62
63
|
|
|
63
|
-
.panneau-text
|
|
64
|
+
.panneau-radio-group-text {
|
|
64
65
|
display: flex;
|
|
65
66
|
flex-direction: column;
|
|
66
67
|
min-width: 0;
|
|
67
68
|
}
|
|
68
69
|
|
|
69
|
-
.panneau-description
|
|
70
|
+
.panneau-radio-group-description {
|
|
70
71
|
font-size: var(--panneau-font-size-sm);
|
|
71
72
|
color: var(--panneau-color-text-muted);
|
|
72
73
|
}
|
|
73
74
|
|
|
74
75
|
@media (pointer: coarse) {
|
|
75
|
-
.panneau-radio-
|
|
76
|
+
.panneau-radio-group-radio {
|
|
76
77
|
min-height: 2.75rem;
|
|
77
78
|
align-items: center;
|
|
78
79
|
}
|
|
79
80
|
|
|
80
|
-
.panneau-circle
|
|
81
|
+
.panneau-radio-group-circle {
|
|
81
82
|
margin-top: 0;
|
|
82
83
|
}
|
|
83
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../src/radio-group/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,eAAe,IAAI,mBAAmB,EAE9C,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,KAAK,gBAAgB,EAKxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIlE,MAAM,WAAW,eACb,SACI,IAAI,CACA,mBAAmB,EACjB,WAAW,GACX,OAAO,GACP,UAAU,GACV,WAAW,GACX,UAAU,GACV,OAAO,GACP,cAAc,GACd,UAAU,CACf,EACD,gBAAgB;IACpB,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,EACvB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,MAAW,EACX,WAAwB,EACxB,UAAU,EACV,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,GAAG,KAAK,EACX,EAAE,eAAe,+
|
|
1
|
+
{"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../src/radio-group/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,eAAe,IAAI,mBAAmB,EAE9C,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,KAAK,gBAAgB,EAKxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIlE,MAAM,WAAW,eACb,SACI,IAAI,CACA,mBAAmB,EACjB,WAAW,GACX,OAAO,GACP,UAAU,GACV,WAAW,GACX,UAAU,GACV,OAAO,GACP,cAAc,GACd,UAAU,CACf,EACD,gBAAgB;IACpB,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,EACvB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,MAAW,EACX,WAAwB,EACxB,UAAU,EACV,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,GAAG,KAAK,EACX,EAAE,eAAe,+BAgDjB"}
|
|
@@ -19,7 +19,7 @@ function RadioGroup$1({ options, value, onChange, label, description, errors = [
|
|
|
19
19
|
},
|
|
20
20
|
isInvalid: errors.length > 0,
|
|
21
21
|
validationBehavior: "aria",
|
|
22
|
-
className: cx(Field_module_default.field, orientation === "horizontal" && RadioGroup_module_default.horizontal, className),
|
|
22
|
+
className: cx("panneau-radio-group", Field_module_default.field, orientation === "horizontal" && RadioGroup_module_default.horizontal, className),
|
|
23
23
|
children: [
|
|
24
24
|
/* @__PURE__ */ jsx(FieldLabel, {
|
|
25
25
|
isRequired,
|
|
@@ -31,7 +31,7 @@ function RadioGroup$1({ options, value, onChange, label, description, errors = [
|
|
|
31
31
|
children: options.map((option_0, position) => /* @__PURE__ */ jsxs(Radio, {
|
|
32
32
|
value: String(position),
|
|
33
33
|
isDisabled: option_0.disabled,
|
|
34
|
-
className: cx(RadioGroup_module_default.radio, radioClassName),
|
|
34
|
+
className: cx("panneau-radio", RadioGroup_module_default.radio, radioClassName),
|
|
35
35
|
children: [/* @__PURE__ */ jsx("span", {
|
|
36
36
|
className: RadioGroup_module_default.circle,
|
|
37
37
|
"aria-hidden": "true"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroup.js","names":["option","RadioGroup","AriaRadioGroup","fieldStyles","styles"],"sources":["../../src/radio-group/RadioGroup.tsx"],"sourcesContent":["import {\n RadioGroup as AriaRadioGroup,\n type RadioGroupProps as AriaRadioGroupProps,\n Radio,\n} from 'react-aria-components';\n\nimport {\n type FieldChromeProps,\n FieldDescription,\n FieldErrors,\n FieldLabel,\n fieldStyles,\n} from '../field/FieldParts';\nimport type { OptionValue, SelectOption } from '../select/Select';\nimport { cx } from '../utils/cx';\nimport styles from './RadioGroup.module.css';\n\nexport interface RadioGroupProps\n extends\n Omit<\n AriaRadioGroupProps,\n | 'className'\n | 'style'\n | 'children'\n | 'isInvalid'\n | 'validate'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n >,\n FieldChromeProps {\n options: readonly SelectOption[];\n value?: OptionValue | null;\n onChange?: (value: OptionValue) => void;\n radioClassName?: string;\n}\n\n/** A set of options where one can be picked, all visible at once. */\nexport function RadioGroup({\n options,\n value,\n onChange,\n label,\n description,\n errors = [],\n orientation = 'vertical',\n isRequired,\n className,\n labelClassName,\n descriptionClassName,\n errorsClassName,\n radioClassName,\n ...props\n}: RadioGroupProps) {\n const index = value === undefined ? undefined : options.findIndex((o) => o.value === value);\n return (\n <AriaRadioGroup\n {...props}\n orientation={orientation}\n isRequired={isRequired}\n value={index === undefined ? undefined : index === -1 ? null : String(index)}\n onChange={(key) => {\n const option = options[Number(key)];\n if (option !== undefined) {\n onChange?.(option.value);\n }\n }}\n isInvalid={errors.length > 0}\n validationBehavior=\"aria\"\n className={cx(\n fieldStyles.field,\n orientation === 'horizontal' && styles.horizontal,\n className,\n )}\n >\n <FieldLabel isRequired={isRequired} className={labelClassName}>\n {label}\n </FieldLabel>\n <div className={styles.options}>\n {options.map((option, position) => (\n <Radio\n key={position}\n value={String(position)}\n isDisabled={option.disabled}\n className={cx(styles.radio, radioClassName)}\n >\n <span className={styles.circle} aria-hidden=\"true\" />\n <span className={styles.text}>\n <span>{option.label}</span>\n {option.description !== undefined ? (\n <span className={styles.description}>{option.description}</span>\n ) : null}\n </span>\n </Radio>\n ))}\n </div>\n <FieldDescription className={descriptionClassName}>{description}</FieldDescription>\n <FieldErrors errors={errors} className={errorsClassName} />\n </AriaRadioGroup>\n );\n}\n"],"mappings":";;;;;;;;AAsCA,SAAgBC,aAAW,EACvB,SACA,OACA,UACA,OACA,aACA,SAAS,CAAA,GACT,cAAc,YACd,YACA,WACA,gBACA,sBACA,iBACA,gBACA,GAAG,SACa;CAChB,MAAM,QAAQ,UAAU,KAAA,IAAY,KAAA,IAAY,QAAQ,WAAW,MAAM,EAAE,UAAU,KAAK;CAC1F,OACI,qBAACC,YAAD;EACI,GAAI;EACS;EACD;EACZ,OAAO,UAAU,KAAA,IAAY,KAAA,IAAY,UAAU,KAAK,OAAO,OAAO,KAAK;EAC3E,WAAW,QAAQ;GACf,MAAM,SAAS,QAAQ,OAAO,GAAG;GACjC,IAAI,WAAW,KAAA,GACX,WAAW,OAAO,KAAK;EAE/B;EACA,WAAW,OAAO,SAAS;EAC3B,oBAAmB;EACnB,WAAW,
|
|
1
|
+
{"version":3,"file":"RadioGroup.js","names":["option","RadioGroup","AriaRadioGroup","fieldStyles","styles"],"sources":["../../src/radio-group/RadioGroup.tsx"],"sourcesContent":["import {\n RadioGroup as AriaRadioGroup,\n type RadioGroupProps as AriaRadioGroupProps,\n Radio,\n} from 'react-aria-components';\n\nimport {\n type FieldChromeProps,\n FieldDescription,\n FieldErrors,\n FieldLabel,\n fieldStyles,\n} from '../field/FieldParts';\nimport type { OptionValue, SelectOption } from '../select/Select';\nimport { cx } from '../utils/cx';\nimport styles from './RadioGroup.module.css';\n\nexport interface RadioGroupProps\n extends\n Omit<\n AriaRadioGroupProps,\n | 'className'\n | 'style'\n | 'children'\n | 'isInvalid'\n | 'validate'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n >,\n FieldChromeProps {\n options: readonly SelectOption[];\n value?: OptionValue | null;\n onChange?: (value: OptionValue) => void;\n radioClassName?: string;\n}\n\n/** A set of options where one can be picked, all visible at once. */\nexport function RadioGroup({\n options,\n value,\n onChange,\n label,\n description,\n errors = [],\n orientation = 'vertical',\n isRequired,\n className,\n labelClassName,\n descriptionClassName,\n errorsClassName,\n radioClassName,\n ...props\n}: RadioGroupProps) {\n const index = value === undefined ? undefined : options.findIndex((o) => o.value === value);\n return (\n <AriaRadioGroup\n {...props}\n orientation={orientation}\n isRequired={isRequired}\n value={index === undefined ? undefined : index === -1 ? null : String(index)}\n onChange={(key) => {\n const option = options[Number(key)];\n if (option !== undefined) {\n onChange?.(option.value);\n }\n }}\n isInvalid={errors.length > 0}\n validationBehavior=\"aria\"\n className={cx(\n 'panneau-radio-group',\n fieldStyles.field,\n orientation === 'horizontal' && styles.horizontal,\n className,\n )}\n >\n <FieldLabel isRequired={isRequired} className={labelClassName}>\n {label}\n </FieldLabel>\n <div className={styles.options}>\n {options.map((option, position) => (\n <Radio\n key={position}\n value={String(position)}\n isDisabled={option.disabled}\n className={cx('panneau-radio', styles.radio, radioClassName)}\n >\n <span className={styles.circle} aria-hidden=\"true\" />\n <span className={styles.text}>\n <span>{option.label}</span>\n {option.description !== undefined ? (\n <span className={styles.description}>{option.description}</span>\n ) : null}\n </span>\n </Radio>\n ))}\n </div>\n <FieldDescription className={descriptionClassName}>{description}</FieldDescription>\n <FieldErrors errors={errors} className={errorsClassName} />\n </AriaRadioGroup>\n );\n}\n"],"mappings":";;;;;;;;AAsCA,SAAgBC,aAAW,EACvB,SACA,OACA,UACA,OACA,aACA,SAAS,CAAA,GACT,cAAc,YACd,YACA,WACA,gBACA,sBACA,iBACA,gBACA,GAAG,SACa;CAChB,MAAM,QAAQ,UAAU,KAAA,IAAY,KAAA,IAAY,QAAQ,WAAW,MAAM,EAAE,UAAU,KAAK;CAC1F,OACI,qBAACC,YAAD;EACI,GAAI;EACS;EACD;EACZ,OAAO,UAAU,KAAA,IAAY,KAAA,IAAY,UAAU,KAAK,OAAO,OAAO,KAAK;EAC3E,WAAW,QAAQ;GACf,MAAM,SAAS,QAAQ,OAAO,GAAG;GACjC,IAAI,WAAW,KAAA,GACX,WAAW,OAAO,KAAK;EAE/B;EACA,WAAW,OAAO,SAAS;EAC3B,oBAAmB;EACnB,WAAW,GACP,uBACAC,qBAAY,OACZ,gBAAgB,gBAAgBC,0BAAO,YACvC,SACJ;EAlBJ,UAAA;GAoBI,oBAAC,YAAD;IAAwB;IAAY,WAAW;IAC1C,UAAA;GACO,CAAA;GACZ,oBAAC,OAAD;IAAK,WAAWA,0BAAO;IAClB,UAAA,QAAQ,KAAKJ,UAAQ,aAClB,qBAAC,OAAD;KAEI,OAAO,OAAO,QAAQ;KACtB,YAAYA,SAAO;KACnB,WAAW,GAAG,iBAAiBI,0BAAO,OAAO,cAAc;KAJ/D,UAAA,CAMI,oBAAC,QAAD;MAAM,WAAWA,0BAAO;MAAQ,eAAY;KAAM,CAAA,GAClD,qBAAC,QAAD;MAAM,WAAWA,0BAAO;MAAxB,UAAA,CACI,oBAAC,QAAD,EAAA,UAAOJ,SAAO,MAAY,CAAA,GACzBA,SAAO,gBAAgB,KAAA,IACpB,oBAAC,QAAD;OAAM,WAAWI,0BAAO;OAAcJ,UAAAA,SAAO;MAAkB,CAAA,IAC/D,IACF;KACH,CAAA,CAAA;IAZE,GAAA,QAYF,CACV;GACA,CAAA;GACL,oBAAC,kBAAD;IAAkB,WAAW;IAAuB,UAAA;GAA8B,CAAA;GAClF,oBAAC,aAAD;IAAqB;IAAQ,WAAW;GAAgB,CAAA;EAC5C;;AAExB"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import "./RadioGroup.css";
|
|
2
2
|
//#region src/radio-group/RadioGroup.module.css
|
|
3
|
-
var options = "panneau-options
|
|
4
|
-
var horizontal = "panneau-horizontal
|
|
5
|
-
var radio = "panneau-radio-
|
|
6
|
-
var circle = "panneau-circle
|
|
7
|
-
var text = "panneau-text
|
|
8
|
-
var description = "panneau-description
|
|
3
|
+
var options = "panneau-radio-group-options";
|
|
4
|
+
var horizontal = "panneau-radio-group-horizontal";
|
|
5
|
+
var radio = "panneau-radio-group-radio";
|
|
6
|
+
var circle = "panneau-radio-group-circle";
|
|
7
|
+
var text = "panneau-radio-group-text";
|
|
8
|
+
var description = "panneau-radio-group-description";
|
|
9
9
|
var RadioGroup_module_default = {
|
|
10
10
|
options,
|
|
11
11
|
horizontal,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroup.module.js","names":[],"sources":["../../src/radio-group/RadioGroup.module.css"],"sourcesContent":[".options {\n display: flex;\n flex-direction: column;\n gap: var(--panneau-space-1);\n}\n\n.horizontal .options {\n flex-flow: row wrap;\n gap: var(--panneau-space-1) var(--panneau-space-4);\n}\n\n.radio {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--panneau-space-2);\n min-height: 1.5rem;\n font-size: var(--panneau-font-size-md);\n color: var(--panneau-color-text);\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n}\n\n.radio[data-disabled] {\n cursor: not-allowed;\n opacity: 0.55;\n}\n\n.radio[data-readonly] {\n cursor: default;\n}\n\n.circle {\n flex: 0 0 auto;\n width: 1.125rem;\n height: 1.125rem;\n margin-top: 0.125rem;\n background-color: var(--panneau-color-surface);\n border: var(--panneau-border-width) solid var(--panneau-color-border-control);\n border-radius: var(--panneau-radius-full);\n transition:\n border-color var(--panneau-duration),\n border-width var(--panneau-duration);\n}\n\n.radio[data-hovered] .circle {\n border-color: var(--panneau-color-text-muted);\n}\n\n.radio[data-selected] .circle {\n border-color: var(--panneau-color-accent);\n border-width: 0.3125rem;\n}\n\n.radio[data-invalid] .circle {\n border-color: var(--panneau-color-danger);\n}\n\n.radio[data-focus-visible] .circle {\n outline: var(--panneau-focus-width) solid var(--panneau-color-focus);\n outline-offset: 2px;\n}\n\n.text {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.description {\n font-size: var(--panneau-font-size-sm);\n color: var(--panneau-color-text-muted);\n}\n\n@media (pointer: coarse) {\n .radio {\n min-height: 2.75rem;\n align-items: center;\n }\n\n .circle {\n margin-top: 0;\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"RadioGroup.module.js","names":[],"sources":["../../src/radio-group/RadioGroup.module.css"],"sourcesContent":[".options {\n display: flex;\n flex-direction: column;\n gap: var(--panneau-space-1);\n}\n\n.horizontal .options {\n flex-flow: row wrap;\n gap: var(--panneau-space-1) var(--panneau-space-4);\n}\n\n.radio {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--panneau-space-2);\n min-height: 1.5rem;\n font-size: var(--panneau-font-size-md);\n color: var(--panneau-color-text);\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n}\n\n.radio[data-disabled] {\n cursor: not-allowed;\n opacity: 0.55;\n}\n\n.radio[data-readonly] {\n cursor: default;\n}\n\n.circle {\n flex: 0 0 auto;\n width: var(--panneau-radio-size, 1.125rem);\n height: var(--panneau-radio-size, 1.125rem);\n margin-top: 0.125rem;\n background-color: var(--panneau-radio-bg, var(--panneau-color-surface));\n border: var(--panneau-border-width) solid\n var(--panneau-radio-border-color, var(--panneau-color-border-control));\n border-radius: var(--panneau-radius-full);\n transition:\n border-color var(--panneau-duration),\n border-width var(--panneau-duration);\n}\n\n.radio[data-hovered] .circle {\n border-color: var(--panneau-color-text-muted);\n}\n\n.radio[data-selected] .circle {\n border-color: var(--panneau-radio-checked-color, var(--panneau-color-accent));\n border-width: var(--panneau-radio-checked-border-width, 0.3125rem);\n}\n\n.radio[data-invalid] .circle {\n border-color: var(--panneau-color-danger);\n}\n\n.radio[data-focus-visible] .circle {\n outline: var(--panneau-focus-width) solid var(--panneau-color-focus);\n outline-offset: 2px;\n}\n\n.text {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.description {\n font-size: var(--panneau-font-size-sm);\n color: var(--panneau-color-text-muted);\n}\n\n@media (pointer: coarse) {\n .radio {\n min-height: 2.75rem;\n align-items: center;\n }\n\n .circle {\n margin-top: 0;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Tokens of RadioGroup. */
|
|
2
|
+
export declare const radioTokens: import("..").ComponentTokens<"radio", "panneau-radio-size" | "panneau-radio-bg" | "panneau-radio-border-color" | "panneau-radio-checked-color" | "panneau-radio-checked-border-width">;
|
|
3
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/radio-group/tokens.ts"],"names":[],"mappings":"AAEA,4BAA4B;AAC5B,eAAO,MAAM,WAAW,wLAWtB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { defineComponentTokens } from "../theme/componentTokens.js";
|
|
2
|
+
//#region src/radio-group/tokens.ts
|
|
3
|
+
/** Tokens of RadioGroup. */
|
|
4
|
+
var radioTokens = defineComponentTokens("radio", {
|
|
5
|
+
/** Size of the circle. */
|
|
6
|
+
size: "1.125rem",
|
|
7
|
+
/** Background of the circle. */
|
|
8
|
+
bg: "var(--panneau-color-surface)",
|
|
9
|
+
/** Border color of the circle. */
|
|
10
|
+
"border-color": "var(--panneau-color-border-control)",
|
|
11
|
+
/** Color of a selected circle. */
|
|
12
|
+
"checked-color": "var(--panneau-color-accent)",
|
|
13
|
+
/** Border width of a selected circle, which draws the dot. */
|
|
14
|
+
"checked-border-width": "0.3125rem"
|
|
15
|
+
});
|
|
16
|
+
//#endregion
|
|
17
|
+
export { radioTokens };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","names":[],"sources":["../../src/radio-group/tokens.ts"],"sourcesContent":["import { defineComponentTokens } from '../theme/componentTokens';\n\n/** Tokens of RadioGroup. */\nexport const radioTokens = defineComponentTokens('radio', {\n /** Size of the circle. */\n size: '1.125rem',\n /** Background of the circle. */\n bg: 'var(--panneau-color-surface)',\n /** Border color of the circle. */\n 'border-color': 'var(--panneau-color-border-control)',\n /** Color of a selected circle. */\n 'checked-color': 'var(--panneau-color-accent)',\n /** Border width of a selected circle, which draws the dot. */\n 'checked-border-width': '0.3125rem',\n});\n"],"mappings":";;;AAGA,IAAa,cAAc,sBAAsB,SAAS;;CAEtD,MAAM;;CAEN,IAAI;;CAEJ,gBAAgB;;CAEhB,iBAAiB;;CAEjB,wBAAwB;AAC5B,CAAC"}
|