@pearpages/pulp-react 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/dist/accordion.css +2 -0
- package/dist/accordion.css.map +1 -1
- package/dist/accordion.js +2 -2
- package/dist/alert.css +24 -0
- package/dist/alert.css.map +1 -1
- package/dist/alert.js +7 -7
- package/dist/avatar.css +46 -0
- package/dist/avatar.css.map +1 -0
- package/dist/avatar.d.ts +41 -0
- package/dist/avatar.js +5 -0
- package/dist/avatar.js.map +1 -0
- package/dist/badge.css +39 -0
- package/dist/badge.css.map +1 -1
- package/dist/badge.d.ts +22 -5
- package/dist/badge.js +3 -2
- package/dist/button.css +22 -0
- package/dist/button.css.map +1 -1
- package/dist/button.d.ts +11 -2
- package/dist/button.js +5 -5
- package/dist/calendar.css +2 -0
- package/dist/calendar.css.map +1 -1
- package/dist/calendar.js +3 -3
- package/dist/card.css +1 -0
- package/dist/card.css.map +1 -1
- package/dist/card.js +2 -2
- package/dist/checkbox.css +2 -0
- package/dist/checkbox.css.map +1 -1
- package/dist/checkbox.js +4 -4
- package/dist/chip.css +95 -0
- package/dist/chip.css.map +1 -0
- package/dist/chip.d.ts +43 -0
- package/dist/chip.js +4 -0
- package/dist/chip.js.map +1 -0
- package/dist/{chunk-7DS4I7OJ.js → chunk-2E2ESMS2.js} +2 -2
- package/dist/chunk-2E2ESMS2.js.map +1 -0
- package/dist/{chunk-FH54XQ35.js → chunk-2IYYES7V.js} +2 -2
- package/dist/chunk-2IYYES7V.js.map +1 -0
- package/dist/{chunk-XDVS7HX7.js → chunk-2NVC3C7K.js} +3 -3
- package/dist/chunk-2NVC3C7K.js.map +1 -0
- package/dist/{chunk-IDNGNQNV.js → chunk-55QUKGK2.js} +2 -2
- package/dist/chunk-55QUKGK2.js.map +1 -0
- package/dist/{chunk-DVM37MEK.js → chunk-56RSH7GQ.js} +4 -4
- package/dist/chunk-56RSH7GQ.js.map +1 -0
- package/dist/chunk-5TYCIBLW.js +27 -0
- package/dist/chunk-5TYCIBLW.js.map +1 -0
- package/dist/chunk-7O6FTCZL.js +101 -0
- package/dist/chunk-7O6FTCZL.js.map +1 -0
- package/dist/{chunk-XXC34COT.js → chunk-A7TMFEQ2.js} +4 -4
- package/dist/chunk-A7TMFEQ2.js.map +1 -0
- package/dist/{chunk-GTTXRDXV.js → chunk-AZAI4OVR.js} +4 -4
- package/dist/chunk-AZAI4OVR.js.map +1 -0
- package/dist/{chunk-ASOQ2MVR.js → chunk-BR2EH4TK.js} +2 -2
- package/dist/chunk-BR2EH4TK.js.map +1 -0
- package/dist/{chunk-OUFAFINB.js → chunk-CLE2QGCU.js} +3 -3
- package/dist/chunk-CLE2QGCU.js.map +1 -0
- package/dist/{chunk-VSDEQHG4.js → chunk-DE67ECD7.js} +7 -5
- package/dist/chunk-DE67ECD7.js.map +1 -0
- package/dist/{chunk-YUHS5S5Y.js → chunk-DGIXNUNI.js} +2 -2
- package/dist/chunk-DGIXNUNI.js.map +1 -0
- package/dist/{chunk-T76YSNTZ.js → chunk-EDTA65L5.js} +3 -3
- package/dist/chunk-EDTA65L5.js.map +1 -0
- package/dist/{chunk-WDWTQKIJ.js → chunk-F2YI5N4L.js} +5 -5
- package/dist/chunk-F2YI5N4L.js.map +1 -0
- package/dist/{chunk-3GWESUGD.js → chunk-F3S5BHX2.js} +2 -2
- package/dist/chunk-F3S5BHX2.js.map +1 -0
- package/dist/{chunk-4DER5LHM.js → chunk-FFCEY76B.js} +10 -5
- package/dist/chunk-FFCEY76B.js.map +1 -0
- package/dist/{chunk-Y4TZA77G.js → chunk-GWTHITZO.js} +3 -3
- package/dist/chunk-GWTHITZO.js.map +1 -0
- package/dist/chunk-HDC2IQV2.js +34 -0
- package/dist/chunk-HDC2IQV2.js.map +1 -0
- package/dist/{chunk-2KG43BOT.js → chunk-HKNIEQ2V.js} +4 -4
- package/dist/chunk-HKNIEQ2V.js.map +1 -0
- package/dist/{chunk-MRQWUCBA.js → chunk-HPQ462R5.js} +3 -3
- package/dist/chunk-HPQ462R5.js.map +1 -0
- package/dist/{chunk-Z4PN6B2C.js → chunk-IB5UUE3S.js} +2 -2
- package/dist/chunk-IB5UUE3S.js.map +1 -0
- package/dist/{chunk-4HRNRTXI.js → chunk-IRNTXAA7.js} +3 -3
- package/dist/{chunk-4HRNRTXI.js.map → chunk-IRNTXAA7.js.map} +1 -1
- package/dist/{chunk-OXYP34CG.js → chunk-JOGIN4SS.js} +3 -3
- package/dist/chunk-JOGIN4SS.js.map +1 -0
- package/dist/chunk-KSLKNWWM.js +28 -0
- package/dist/chunk-KSLKNWWM.js.map +1 -0
- package/dist/{chunk-2ZP4ZBI5.js → chunk-LKWZZIRZ.js} +2 -2
- package/dist/chunk-LKWZZIRZ.js.map +1 -0
- package/dist/{chunk-ASNTNTJW.js → chunk-O5LII5XP.js} +2 -2
- package/dist/chunk-O5LII5XP.js.map +1 -0
- package/dist/chunk-OKA2PLDV.js +85 -0
- package/dist/chunk-OKA2PLDV.js.map +1 -0
- package/dist/{chunk-BBV4L5WO.js → chunk-Q6SYKNZ5.js} +3 -3
- package/dist/{chunk-BBV4L5WO.js.map → chunk-Q6SYKNZ5.js.map} +1 -1
- package/dist/chunk-QID6YYFF.js +33 -0
- package/dist/chunk-QID6YYFF.js.map +1 -0
- package/dist/{chunk-ZVDN3GRI.js → chunk-QJG5ILK5.js} +3 -3
- package/dist/{chunk-ZVDN3GRI.js.map → chunk-QJG5ILK5.js.map} +1 -1
- package/dist/chunk-QXHSA4QD.js +43 -0
- package/dist/chunk-QXHSA4QD.js.map +1 -0
- package/dist/chunk-S632WN4W.js +106 -0
- package/dist/chunk-S632WN4W.js.map +1 -0
- package/dist/{chunk-N7L66GMG.js → chunk-SDIK6VSC.js} +3 -3
- package/dist/chunk-SDIK6VSC.js.map +1 -0
- package/dist/{chunk-2PXTVZ7H.js → chunk-SXMORGSG.js} +3 -3
- package/dist/chunk-SXMORGSG.js.map +1 -0
- package/dist/{chunk-DWE374JX.js → chunk-UMK4D234.js} +3 -3
- package/dist/chunk-UMK4D234.js.map +1 -0
- package/dist/{chunk-AWQHULJC.js → chunk-VIGD7KHC.js} +2 -2
- package/dist/chunk-VIGD7KHC.js.map +1 -0
- package/dist/{chunk-TGMDOQCL.js → chunk-VS2HPJIX.js} +3 -3
- package/dist/chunk-VS2HPJIX.js.map +1 -0
- package/dist/{chunk-O6OBFL3Q.js → chunk-W2UUZ2DC.js} +3 -3
- package/dist/chunk-W2UUZ2DC.js.map +1 -0
- package/dist/{chunk-5SBKZS56.js → chunk-W6HEBHA7.js} +3 -3
- package/dist/{chunk-5SBKZS56.js.map → chunk-W6HEBHA7.js.map} +1 -1
- package/dist/{chunk-GUZMLYST.js → chunk-WDIFWMKE.js} +6 -6
- package/dist/chunk-WDIFWMKE.js.map +1 -0
- package/dist/{chunk-TVI5AXLE.js → chunk-WJDDKNE7.js} +3 -3
- package/dist/{chunk-TVI5AXLE.js.map → chunk-WJDDKNE7.js.map} +1 -1
- package/dist/{chunk-7RQQASKS.js → chunk-XGWFTFGR.js} +3 -3
- package/dist/chunk-XGWFTFGR.js.map +1 -0
- package/dist/{chunk-UX42PQLT.js → chunk-Y4YVAHD2.js} +5 -5
- package/dist/chunk-Y4YVAHD2.js.map +1 -0
- package/dist/chunk-Y7KC2FDU.js +88 -0
- package/dist/chunk-Y7KC2FDU.js.map +1 -0
- package/dist/{chunk-P5C2U5ZF.js → chunk-YBECKOVP.js} +3 -3
- package/dist/chunk-YBECKOVP.js.map +1 -0
- package/dist/{chunk-75GTNRBH.js → chunk-YK2OOM56.js} +3 -3
- package/dist/chunk-YK2OOM56.js.map +1 -0
- package/dist/{chunk-OGIQRHNF.js → chunk-ZEVQQQOA.js} +3 -3
- package/dist/chunk-ZEVQQQOA.js.map +1 -0
- package/dist/{chunk-I4KC4V6A.js → chunk-ZL5MMRLG.js} +3 -3
- package/dist/chunk-ZL5MMRLG.js.map +1 -0
- package/dist/combobox.css +9 -0
- package/dist/combobox.css.map +1 -1
- package/dist/combobox.js +7 -7
- package/dist/component-manifest.json +679 -8
- package/dist/date-picker.css +4 -0
- package/dist/date-picker.css.map +1 -1
- package/dist/date-picker.js +5 -5
- package/dist/dialog.css +1 -0
- package/dist/dialog.css.map +1 -1
- package/dist/dialog.js +1 -1
- package/dist/divider.css +37 -0
- package/dist/divider.css.map +1 -0
- package/dist/divider.d.ts +35 -0
- package/dist/divider.js +4 -0
- package/dist/divider.js.map +1 -0
- package/dist/empty-state.css +175 -0
- package/dist/empty-state.css.map +1 -0
- package/dist/empty-state.d.ts +40 -0
- package/dist/empty-state.js +7 -0
- package/dist/empty-state.js.map +1 -0
- package/dist/field.css +1 -0
- package/dist/field.css.map +1 -1
- package/dist/field.js +2 -2
- package/dist/heading.css +1 -0
- package/dist/heading.css.map +1 -1
- package/dist/heading.js +1 -1
- package/dist/icon-button.css +23 -0
- package/dist/icon-button.css.map +1 -1
- package/dist/icon-button.js +6 -6
- package/dist/icon.css +1 -0
- package/dist/icon.css.map +1 -1
- package/dist/icon.js +1 -1
- package/dist/index.css +527 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.js +49 -43
- package/dist/inline.css +1 -0
- package/dist/inline.css.map +1 -1
- package/dist/inline.js +1 -1
- package/dist/link.css +35 -0
- package/dist/link.css.map +1 -0
- package/dist/link.d.ts +37 -0
- package/dist/link.js +5 -0
- package/dist/link.js.map +1 -0
- package/dist/listbox.css +2 -0
- package/dist/listbox.css.map +1 -1
- package/dist/listbox.js +3 -3
- package/dist/menu.css +2 -0
- package/dist/menu.css.map +1 -1
- package/dist/menu.js +3 -3
- package/dist/pagination.css +24 -0
- package/dist/pagination.css.map +1 -1
- package/dist/pagination.js +7 -7
- package/dist/picker.css +7 -0
- package/dist/picker.css.map +1 -1
- package/dist/picker.js +5 -5
- package/dist/popover.css +1 -0
- package/dist/popover.css.map +1 -1
- package/dist/popover.js +2 -2
- package/dist/progress.css +2 -0
- package/dist/progress.css.map +1 -1
- package/dist/progress.js +2 -2
- package/dist/radio.css +2 -0
- package/dist/radio.css.map +1 -1
- package/dist/radio.js +3 -3
- package/dist/segmented-control.css +111 -0
- package/dist/segmented-control.css.map +1 -0
- package/dist/segmented-control.d.ts +90 -0
- package/dist/segmented-control.js +5 -0
- package/dist/segmented-control.js.map +1 -0
- package/dist/select.css +2 -0
- package/dist/select.css.map +1 -1
- package/dist/select.js +3 -3
- package/dist/sheet.css +30 -0
- package/dist/sheet.css.map +1 -1
- package/dist/sheet.d.ts +9 -2
- package/dist/sheet.js +2 -2
- package/dist/skeleton.css +1 -0
- package/dist/skeleton.css.map +1 -1
- package/dist/skeleton.js +1 -1
- package/dist/slider.css +2 -0
- package/dist/slider.css.map +1 -1
- package/dist/slider.js +2 -2
- package/dist/spinner.css +2 -0
- package/dist/spinner.css.map +1 -1
- package/dist/spinner.js +2 -2
- package/dist/stack.css +1 -0
- package/dist/stack.css.map +1 -1
- package/dist/stack.js +1 -1
- package/dist/switch.css +2 -0
- package/dist/switch.css.map +1 -1
- package/dist/switch.js +4 -4
- package/dist/table.css +2 -0
- package/dist/table.css.map +1 -1
- package/dist/table.js +2 -2
- package/dist/tabs.css +1 -0
- package/dist/tabs.css.map +1 -1
- package/dist/tabs.js +1 -1
- package/dist/text-field.css +65 -0
- package/dist/text-field.css.map +1 -1
- package/dist/text-field.d.ts +15 -2
- package/dist/text-field.js +3 -3
- package/dist/text.css +1 -0
- package/dist/text.css.map +1 -1
- package/dist/text.js +1 -1
- package/dist/textarea.css +2 -0
- package/dist/textarea.css.map +1 -1
- package/dist/textarea.js +3 -3
- package/dist/toast.css +25 -0
- package/dist/toast.css.map +1 -1
- package/dist/toast.d.ts +21 -3
- package/dist/toast.js +8 -8
- package/dist/tooltip.css +1 -0
- package/dist/tooltip.css.map +1 -1
- package/dist/tooltip.js +2 -2
- package/dist/visually-hidden.css +1 -0
- package/dist/visually-hidden.css.map +1 -1
- package/dist/visually-hidden.js +1 -1
- package/package.json +36 -6
- package/dist/chunk-2KG43BOT.js.map +0 -1
- package/dist/chunk-2PXTVZ7H.js.map +0 -1
- package/dist/chunk-2ZP4ZBI5.js.map +0 -1
- package/dist/chunk-3GWESUGD.js.map +0 -1
- package/dist/chunk-4DER5LHM.js.map +0 -1
- package/dist/chunk-6I26MMQF.js +0 -19
- package/dist/chunk-6I26MMQF.js.map +0 -1
- package/dist/chunk-75GTNRBH.js.map +0 -1
- package/dist/chunk-7DS4I7OJ.js.map +0 -1
- package/dist/chunk-7RQQASKS.js.map +0 -1
- package/dist/chunk-ASNTNTJW.js.map +0 -1
- package/dist/chunk-ASOQ2MVR.js.map +0 -1
- package/dist/chunk-AWQHULJC.js.map +0 -1
- package/dist/chunk-DVM37MEK.js.map +0 -1
- package/dist/chunk-DWE374JX.js.map +0 -1
- package/dist/chunk-FH54XQ35.js.map +0 -1
- package/dist/chunk-GTTXRDXV.js.map +0 -1
- package/dist/chunk-GUZMLYST.js.map +0 -1
- package/dist/chunk-I4KC4V6A.js.map +0 -1
- package/dist/chunk-IDNGNQNV.js.map +0 -1
- package/dist/chunk-MRQWUCBA.js.map +0 -1
- package/dist/chunk-MXWXJZFS.js +0 -48
- package/dist/chunk-MXWXJZFS.js.map +0 -1
- package/dist/chunk-N7L66GMG.js.map +0 -1
- package/dist/chunk-O6OBFL3Q.js.map +0 -1
- package/dist/chunk-OGIQRHNF.js.map +0 -1
- package/dist/chunk-OUFAFINB.js.map +0 -1
- package/dist/chunk-OXYP34CG.js.map +0 -1
- package/dist/chunk-P5C2U5ZF.js.map +0 -1
- package/dist/chunk-T76YSNTZ.js.map +0 -1
- package/dist/chunk-TGMDOQCL.js.map +0 -1
- package/dist/chunk-UX42PQLT.js.map +0 -1
- package/dist/chunk-VSDEQHG4.js.map +0 -1
- package/dist/chunk-WDWTQKIJ.js.map +0 -1
- package/dist/chunk-XDVS7HX7.js.map +0 -1
- package/dist/chunk-XUROYTJ7.js +0 -28
- package/dist/chunk-XUROYTJ7.js.map +0 -1
- package/dist/chunk-XXC34COT.js.map +0 -1
- package/dist/chunk-Y4TZA77G.js.map +0 -1
- package/dist/chunk-YUHS5S5Y.js.map +0 -1
- package/dist/chunk-Z4PN6B2C.js.map +0 -1
package/dist/popover.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { Popover } from './chunk-
|
|
1
|
+
"use client";export { Popover } from './chunk-SDIK6VSC.js';
|
|
2
2
|
import './chunk-NAYFLTK6.js';
|
|
3
3
|
import './chunk-U6QRAD73.js';
|
|
4
|
-
import './chunk-
|
|
4
|
+
import './chunk-QJG5ILK5.js';
|
|
5
5
|
import './chunk-MI4QUKQS.js';
|
|
6
6
|
//# sourceMappingURL=popover.js.map
|
|
7
7
|
//# sourceMappingURL=popover.js.map
|
package/dist/progress.css
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* src/visually-hidden/VisuallyHidden.module.css */
|
|
2
|
+
@layer reset, tokens, vendor, base, components, utilities;
|
|
2
3
|
@layer components {
|
|
3
4
|
.VisuallyHidden_root {
|
|
4
5
|
position: absolute;
|
|
@@ -14,6 +15,7 @@
|
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
/* src/progress/Progress.module.css */
|
|
18
|
+
@layer reset, tokens, vendor, base, components, utilities;
|
|
17
19
|
@layer components {
|
|
18
20
|
.Progress_progress {
|
|
19
21
|
--_height: var(--progress-height-md);
|
package/dist/progress.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/visually-hidden/VisuallyHidden.module.css","../src/progress/Progress.module.css"],"sourcesContent":["/* The clip-path technique: present in the accessibility tree, absent from the layout. */\n\n@layer components {\n .root {\n position: absolute;\n inline-size: var(--visually-hidden-size);\n block-size: var(--visually-hidden-size);\n padding: 0;\n margin: 0;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n}\n","/* Every value is a token (--progress-*). The fill width is the per-instance --_value custom property. */\n\n@layer components {\n .progress {\n --_height: var(--progress-height-md);\n --_indicator: var(--progress-indicator-primary);\n\n display: flex;\n flex-direction: column;\n gap: var(--progress-gap);\n font-family: var(--font-family-body);\n\n &[data-size=\"sm\"] { --_height: var(--progress-height-sm); }\n &[data-tone=\"success\"] { --_indicator: var(--progress-indicator-success); }\n &[data-tone=\"warning\"] { --_indicator: var(--progress-indicator-warning); }\n &[data-tone=\"error\"] { --_indicator: var(--progress-indicator-error); }\n }\n\n .header {\n display: flex;\n justify-content: space-between;\n gap: var(--space-3);\n font-size: var(--progress-label-font-size);\n }\n\n .label {\n color: var(--progress-label-fg);\n }\n\n .value {\n color: var(--progress-value-fg);\n font-variant-numeric: tabular-nums;\n }\n\n .track {\n overflow: hidden;\n block-size: var(--_height);\n border-radius: var(--progress-radius);\n background-color: var(--progress-track);\n }\n\n .indicator {\n block-size: 100%;\n inline-size: var(--_value, 0%);\n border-radius: var(--progress-radius);\n background-color: var(--_indicator);\n transition: inline-size var(--progress-duration) var(--motion-easing-standard);\n }\n\n .progress[data-indeterminate] .indicator {\n inline-size: 40%;\n animation: slide calc(4 * var(--progress-duration)) var(--motion-easing-standard) infinite;\n }\n\n @keyframes slide {\n from {\n translate: -100% 0;\n }\n\n to {\n translate: 250% 0;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .progress[data-indeterminate] .indicator {\n inline-size: 50%;\n animation: none;\n }\n }\n}\n"],"mappings":";AAEA;AACE,GAACA;AACC,cAAU;AACV,iBAAa,IAAI;AACjB,gBAAY,IAAI;AAChB,aAAS;AACT,YAAQ;AACR,cAAU;AACV,eAAW,MAAM;AACjB,iBAAa;AACb,YAAQ;AACV;AACF;;;
|
|
1
|
+
{"version":3,"sources":["../src/visually-hidden/VisuallyHidden.module.css","../src/progress/Progress.module.css"],"sourcesContent":["/* The clip-path technique: present in the accessibility tree, absent from the layout. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .root {\n position: absolute;\n inline-size: var(--visually-hidden-size);\n block-size: var(--visually-hidden-size);\n padding: 0;\n margin: 0;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n}\n","/* Every value is a token (--progress-*). The fill width is the per-instance --_value custom property. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .progress {\n --_height: var(--progress-height-md);\n --_indicator: var(--progress-indicator-primary);\n\n display: flex;\n flex-direction: column;\n gap: var(--progress-gap);\n font-family: var(--font-family-body);\n\n &[data-size=\"sm\"] { --_height: var(--progress-height-sm); }\n &[data-tone=\"success\"] { --_indicator: var(--progress-indicator-success); }\n &[data-tone=\"warning\"] { --_indicator: var(--progress-indicator-warning); }\n &[data-tone=\"error\"] { --_indicator: var(--progress-indicator-error); }\n }\n\n .header {\n display: flex;\n justify-content: space-between;\n gap: var(--space-3);\n font-size: var(--progress-label-font-size);\n }\n\n .label {\n color: var(--progress-label-fg);\n }\n\n .value {\n color: var(--progress-value-fg);\n font-variant-numeric: tabular-nums;\n }\n\n .track {\n overflow: hidden;\n block-size: var(--_height);\n border-radius: var(--progress-radius);\n background-color: var(--progress-track);\n }\n\n .indicator {\n block-size: 100%;\n inline-size: var(--_value, 0%);\n border-radius: var(--progress-radius);\n background-color: var(--_indicator);\n transition: inline-size var(--progress-duration) var(--motion-easing-standard);\n }\n\n .progress[data-indeterminate] .indicator {\n inline-size: 40%;\n animation: slide calc(4 * var(--progress-duration)) var(--motion-easing-standard) infinite;\n }\n\n @keyframes slide {\n from {\n translate: -100% 0;\n }\n\n to {\n translate: 250% 0;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .progress[data-indeterminate] .indicator {\n inline-size: 50%;\n animation: none;\n }\n }\n}\n"],"mappings":";AAEA;AAEA;AACE,GAACA;AACC,cAAU;AACV,iBAAa,IAAI;AACjB,gBAAY,IAAI;AAChB,aAAS;AACT,YAAQ;AACR,cAAU;AACV,eAAW,MAAM;AACjB,iBAAa;AACb,YAAQ;AACV;AACF;;;ACdA;AAEA;AACE,GAACC;AACC,eAAW,IAAI;AACf,kBAAc,IAAI;AAElB,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACT,iBAAa,IAAI;AAEjB,KAAC,CAAC;AAAkB,iBAAW,IAAI;AAAuB;AAC1D,KAAC,CAAC;AAAuB,oBAAc,IAAI;AAA+B;AAC1E,KAAC,CAAC;AAAuB,oBAAc,IAAI;AAA+B;AAC1E,KAAC,CAAC;AAAqB,oBAAc,IAAI;AAA6B;AACxE;AAEA,GAACC;AACC,aAAS;AACT,qBAAiB;AACjB,SAAK,IAAI;AACT,eAAW,IAAI;AACjB;AAEA,GAACC;AACC,WAAO,IAAI;AACb;AAEA,GAACC;AACC,WAAO,IAAI;AACX,0BAAsB;AACxB;AAEA,GAACC;AACC,cAAU;AACV,gBAAY,IAAI;AAChB,mBAAe,IAAI;AACnB,sBAAkB,IAAI;AACxB;AAEA,GAACC;AACC,gBAAY;AACZ,iBAAa,IAAI,QAAQ,EAAE;AAC3B,mBAAe,IAAI;AACnB,sBAAkB,IAAI;AACtB,gBAAY,YAAY,IAAI,qBAAqB,IAAI;AACvD;AAEA,GA9CCL,iBA8CQ,CAAC,oBAAoB,CAR7BK;AASC,iBAAa;AACb,eAAW,eAAM,KAAK,EAAE,EAAE,IAAI,sBAAsB,IAAI,0BAA0B;AACpF;AAEA,aAHaC;AAIX;AACE,iBAAW,MAAM;AACnB;AAEA;AACE,iBAAW,KAAK;AAClB;AACF;AAEA,UAAO,wBAAyB;AAC9B,KA9DDN,iBA8DU,CAAC,oBAAoB,CAxB/BK;AAyBG,mBAAa;AACb,iBAAW;AACb;AACF;AACF;","names":["root","progress","header","label","value","track","indicator","slide"]}
|
package/dist/progress.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { Progress } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { Progress } from './chunk-YK2OOM56.js';
|
|
2
|
+
import './chunk-IB5UUE3S.js';
|
|
3
3
|
import './chunk-MI4QUKQS.js';
|
|
4
4
|
//# sourceMappingURL=progress.js.map
|
|
5
5
|
//# sourceMappingURL=progress.js.map
|
package/dist/radio.css
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* src/field/Field.module.css */
|
|
2
|
+
@layer reset, tokens, vendor, base, components, utilities;
|
|
2
3
|
@layer components {
|
|
3
4
|
.Field_field {
|
|
4
5
|
display: flex;
|
|
@@ -27,6 +28,7 @@
|
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
/* src/radio/Radio.module.css */
|
|
31
|
+
@layer reset, tokens, vendor, base, components, utilities;
|
|
30
32
|
@layer components {
|
|
31
33
|
.Radio_group {
|
|
32
34
|
--_size: var(--radio-size-md);
|
package/dist/radio.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/field/Field.module.css","../src/radio/Radio.module.css"],"sourcesContent":["/* Every value is a token (--field-*). The control itself brings its own styles. */\n\n@layer components {\n .field {\n display: flex;\n flex-direction: column;\n gap: var(--field-gap);\n }\n\n .label {\n font-size: var(--field-label-font-size);\n font-weight: var(--field-label-font-weight);\n color: var(--field-label-fg);\n }\n\n .required {\n margin-inline-start: var(--field-required-gap);\n color: var(--field-required-fg);\n }\n\n .description {\n margin: 0;\n font-size: var(--field-description-font-size);\n color: var(--field-description-fg);\n }\n\n .error {\n margin: 0;\n font-size: var(--field-error-font-size);\n color: var(--field-error-fg);\n }\n}\n","/* Every value is a token (--radio-*). The input draws itself; the dot is its ::after. */\n\n@layer components {\n .group {\n --_size: var(--radio-size-md);\n --_border: var(--radio-border);\n\n font-family: var(--font-family-body);\n\n &[data-size=\"sm\"] { --_size: var(--radio-size-sm); }\n &[data-size=\"lg\"] { --_size: var(--radio-size-lg); }\n &[data-invalid] { --_border: var(--radio-border-invalid); }\n }\n\n .items {\n display: flex;\n flex-direction: column;\n gap: var(--radio-group-gap);\n\n &[data-orientation=\"horizontal\"] {\n flex-flow: row wrap;\n gap: var(--radio-group-gap) var(--space-4);\n }\n }\n\n .radio {\n display: inline-flex;\n align-items: center;\n gap: var(--radio-gap);\n cursor: pointer;\n\n &[data-disabled] {\n cursor: not-allowed;\n }\n }\n\n .label {\n font-size: var(--field-label-font-size);\n color: var(--field-label-fg);\n }\n\n .input {\n display: grid;\n flex: none;\n place-content: center;\n inline-size: var(--_size);\n block-size: var(--_size);\n margin: 0;\n border: var(--size-hairline) solid var(--_border);\n border-radius: var(--radio-radius);\n background-color: var(--radio-bg);\n appearance: none;\n cursor: inherit;\n transition: border-color var(--radio-motion-duration) var(--motion-easing-standard);\n\n /* Sized from the box, not in percent: a grid item's percentage resolves against an auto area and collapses. */\n &::after {\n content: \"\";\n inline-size: calc(var(--_size) / 2);\n block-size: calc(var(--_size) / 2);\n border-radius: var(--radio-radius);\n background-color: var(--radio-dot);\n scale: 0;\n transition: scale var(--radio-motion-duration) var(--motion-easing-standard);\n }\n\n &:checked {\n border-color: var(--radio-border-checked);\n\n &::after {\n scale: 1;\n }\n }\n\n &:focus-visible {\n outline: var(--radio-focus-ring-width) solid var(--radio-focus-ring);\n outline-offset: var(--radio-focus-ring-offset);\n }\n\n &:disabled {\n opacity: 0.55;\n }\n\n &:hover:not(:disabled, :checked) {\n border-color: var(--radio-border-hover);\n }\n }\n}\n"],"mappings":";AAEA;AACE,GAACA;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACX;AAEA,GAACC;AACC,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,yBAAqB,IAAI;AACzB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AACF;;;
|
|
1
|
+
{"version":3,"sources":["../src/field/Field.module.css","../src/radio/Radio.module.css"],"sourcesContent":["/* Every value is a token (--field-*). The control itself brings its own styles. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .field {\n display: flex;\n flex-direction: column;\n gap: var(--field-gap);\n }\n\n .label {\n font-size: var(--field-label-font-size);\n font-weight: var(--field-label-font-weight);\n color: var(--field-label-fg);\n }\n\n .required {\n margin-inline-start: var(--field-required-gap);\n color: var(--field-required-fg);\n }\n\n .description {\n margin: 0;\n font-size: var(--field-description-font-size);\n color: var(--field-description-fg);\n }\n\n .error {\n margin: 0;\n font-size: var(--field-error-font-size);\n color: var(--field-error-fg);\n }\n}\n","/* Every value is a token (--radio-*). The input draws itself; the dot is its ::after. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .group {\n --_size: var(--radio-size-md);\n --_border: var(--radio-border);\n\n font-family: var(--font-family-body);\n\n &[data-size=\"sm\"] { --_size: var(--radio-size-sm); }\n &[data-size=\"lg\"] { --_size: var(--radio-size-lg); }\n &[data-invalid] { --_border: var(--radio-border-invalid); }\n }\n\n .items {\n display: flex;\n flex-direction: column;\n gap: var(--radio-group-gap);\n\n &[data-orientation=\"horizontal\"] {\n flex-flow: row wrap;\n gap: var(--radio-group-gap) var(--space-4);\n }\n }\n\n .radio {\n display: inline-flex;\n align-items: center;\n gap: var(--radio-gap);\n cursor: pointer;\n\n &[data-disabled] {\n cursor: not-allowed;\n }\n }\n\n .label {\n font-size: var(--field-label-font-size);\n color: var(--field-label-fg);\n }\n\n .input {\n display: grid;\n flex: none;\n place-content: center;\n inline-size: var(--_size);\n block-size: var(--_size);\n margin: 0;\n border: var(--size-hairline) solid var(--_border);\n border-radius: var(--radio-radius);\n background-color: var(--radio-bg);\n appearance: none;\n cursor: inherit;\n transition: border-color var(--radio-motion-duration) var(--motion-easing-standard);\n\n /* Sized from the box, not in percent: a grid item's percentage resolves against an auto area and collapses. */\n &::after {\n content: \"\";\n inline-size: calc(var(--_size) / 2);\n block-size: calc(var(--_size) / 2);\n border-radius: var(--radio-radius);\n background-color: var(--radio-dot);\n scale: 0;\n transition: scale var(--radio-motion-duration) var(--motion-easing-standard);\n }\n\n &:checked {\n border-color: var(--radio-border-checked);\n\n &::after {\n scale: 1;\n }\n }\n\n &:focus-visible {\n outline: var(--radio-focus-ring-width) solid var(--radio-focus-ring);\n outline-offset: var(--radio-focus-ring-offset);\n }\n\n &:disabled {\n opacity: 0.55;\n }\n\n &:hover:not(:disabled, :checked) {\n border-color: var(--radio-border-hover);\n }\n }\n}\n"],"mappings":";AAEA;AAEA;AACE,GAACA;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACX;AAEA,GAACC;AACC,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,yBAAqB,IAAI;AACzB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AACF;;;AC/BA;AAEA;AACE,GAACC;AACC,aAAS,IAAI;AACb,eAAW,IAAI;AAEf,iBAAa,IAAI;AAEjB,KAAC,CAAC;AAAkB,eAAS,IAAI;AAAkB;AACnD,KAAC,CAAC;AAAkB,eAAS,IAAI;AAAkB;AACnD,KAAC,CAAC;AAAgB,iBAAW,IAAI;AAAyB;AAC5D;AAEA,GAACC;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AAET,KAAC,CAAC;AACA,iBAAW,IAAI;AACf,WAAK,IAAI,mBAAmB,IAAI;AAClC;AACF;AAEA,GAACC;AACC,aAAS;AACT,iBAAa;AACb,SAAK,IAAI;AACT,YAAQ;AAER,KAAC,CAAC;AACA,cAAQ;AACV;AACF;AAEA,GAACC;AACC,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AAEA,GAACC;AACC,aAAS;AACT,UAAM;AACN,mBAAe;AACf,iBAAa,IAAI;AACjB,gBAAY,IAAI;AAChB,YAAQ;AACR,YAAQ,IAAI,iBAAiB,MAAM,IAAI;AACvC,mBAAe,IAAI;AACnB,sBAAkB,IAAI;AACtB,gBAAY;AACZ,YAAQ;AACR,gBAAY,aAAa,IAAI,yBAAyB,IAAI;AAG1D,KAAC;AACC,eAAS;AACT,mBAAa,KAAK,IAAI,SAAS,EAAE;AACjC,kBAAY,KAAK,IAAI,SAAS,EAAE;AAChC,qBAAe,IAAI;AACnB,wBAAkB,IAAI;AACtB,aAAO;AACP,kBAAY,MAAM,IAAI,yBAAyB,IAAI;AACrD;AAEA,KAAC;AACC,oBAAc,IAAI;AAElB,OAAC;AACC,eAAO;AACT;AACF;AAEA,KAAC;AACC,eAAS,IAAI,0BAA0B,MAAM,IAAI;AACjD,sBAAgB,IAAI;AACtB;AAEA,KAAC;AACC,eAAS;AACX;AAEA,KAAC,MAAM,KAAK,WAAW;AACrB,oBAAc,IAAI;AACpB;AACF;AACF;","names":["field","label","required","description","error","group","items","radio","label","input"]}
|
package/dist/radio.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { Radio, RadioGroup } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
1
|
+
"use client";export { Radio, RadioGroup } from './chunk-2NVC3C7K.js';
|
|
2
|
+
import './chunk-SXMORGSG.js';
|
|
3
|
+
import './chunk-QJG5ILK5.js';
|
|
4
4
|
import './chunk-MI4QUKQS.js';
|
|
5
5
|
//# sourceMappingURL=radio.js.map
|
|
6
6
|
//# sourceMappingURL=radio.js.map
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/* src/segmented-control/SegmentedControl.module.css */
|
|
2
|
+
@layer reset, tokens, vendor, base, components, utilities;
|
|
3
|
+
@layer components {
|
|
4
|
+
.SegmentedControl_root {
|
|
5
|
+
--_height: var(--segmented-control-height-md);
|
|
6
|
+
--_padding: var(--segmented-control-padding-x-md);
|
|
7
|
+
display: inline-flex;
|
|
8
|
+
box-sizing: border-box;
|
|
9
|
+
max-inline-size: 100%;
|
|
10
|
+
color: var(--segmented-control-fg);
|
|
11
|
+
font-family: var(--font-family-body);
|
|
12
|
+
font-size: var(--segmented-control-font-size-md);
|
|
13
|
+
font-weight: var(--segmented-control-weight);
|
|
14
|
+
line-height: 1;
|
|
15
|
+
&[data-size=sm] {
|
|
16
|
+
--_height: var(--segmented-control-height-sm);
|
|
17
|
+
--_padding: var(--segmented-control-padding-x-sm);
|
|
18
|
+
font-size: var(--segmented-control-font-size-sm);
|
|
19
|
+
}
|
|
20
|
+
&[data-look=segmented] {
|
|
21
|
+
padding: var(--segmented-control-inset);
|
|
22
|
+
border: var(--segmented-control-border-width) solid var(--segmented-control-track-border);
|
|
23
|
+
border-radius: var(--segmented-control-track-radius);
|
|
24
|
+
background: var(--segmented-control-track-bg);
|
|
25
|
+
}
|
|
26
|
+
&[data-look=chips] {
|
|
27
|
+
flex-wrap: wrap;
|
|
28
|
+
gap: var(--segmented-control-gap);
|
|
29
|
+
}
|
|
30
|
+
&[data-full-width][data-look=segmented] {
|
|
31
|
+
display: flex;
|
|
32
|
+
}
|
|
33
|
+
&[aria-disabled=true] {
|
|
34
|
+
opacity: 0.55;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
.SegmentedControl_list {
|
|
38
|
+
display: contents;
|
|
39
|
+
}
|
|
40
|
+
.SegmentedControl_option {
|
|
41
|
+
display: inline-flex;
|
|
42
|
+
position: relative;
|
|
43
|
+
min-inline-size: 0;
|
|
44
|
+
.SegmentedControl_root[data-full-width] & {
|
|
45
|
+
flex: 1;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
.SegmentedControl_input {
|
|
49
|
+
position: absolute;
|
|
50
|
+
inset: 0;
|
|
51
|
+
inline-size: 100%;
|
|
52
|
+
block-size: 100%;
|
|
53
|
+
margin: 0;
|
|
54
|
+
opacity: 0;
|
|
55
|
+
cursor: pointer;
|
|
56
|
+
&:disabled {
|
|
57
|
+
cursor: not-allowed;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
.SegmentedControl_segment {
|
|
61
|
+
display: inline-flex;
|
|
62
|
+
flex: 1;
|
|
63
|
+
align-items: center;
|
|
64
|
+
justify-content: center;
|
|
65
|
+
gap: var(--segmented-control-gap);
|
|
66
|
+
box-sizing: border-box;
|
|
67
|
+
min-block-size: calc(var(--_height) - 2 * var(--segmented-control-inset) - 2 * var(--segmented-control-border-width));
|
|
68
|
+
padding-block: 0;
|
|
69
|
+
padding-inline: var(--_padding);
|
|
70
|
+
border: var(--segmented-control-border-width) solid transparent;
|
|
71
|
+
border-radius: var(--segmented-control-segment-radius);
|
|
72
|
+
color: inherit;
|
|
73
|
+
text-decoration: none;
|
|
74
|
+
white-space: nowrap;
|
|
75
|
+
transition: background-color var(--motion-duration-fast) var(--motion-easing-standard), color var(--motion-duration-fast) var(--motion-easing-standard);
|
|
76
|
+
.SegmentedControl_root[data-look=chips] & {
|
|
77
|
+
min-block-size: var(--_height);
|
|
78
|
+
border-color: var(--segmented-control-chip-border);
|
|
79
|
+
border-radius: var(--segmented-control-chip-radius);
|
|
80
|
+
background: var(--segmented-control-chip-bg);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
.SegmentedControl_option:hover .SegmentedControl_segment,
|
|
84
|
+
a.SegmentedControl_segment:hover {
|
|
85
|
+
color: var(--segmented-control-fg-hover);
|
|
86
|
+
}
|
|
87
|
+
.SegmentedControl_option[data-selected] .SegmentedControl_segment {
|
|
88
|
+
border-color: var(--segmented-control-segment-selected-border);
|
|
89
|
+
background: var(--segmented-control-segment-selected-bg);
|
|
90
|
+
box-shadow: var(--segmented-control-segment-selected-shadow);
|
|
91
|
+
color: var(--segmented-control-segment-selected-fg);
|
|
92
|
+
.SegmentedControl_root[data-look=chips] & {
|
|
93
|
+
border-color: var(--segmented-control-chip-selected-border);
|
|
94
|
+
background: var(--segmented-control-chip-selected-bg);
|
|
95
|
+
box-shadow: none;
|
|
96
|
+
color: var(--segmented-control-chip-selected-fg);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
.SegmentedControl_input:focus-visible + .SegmentedControl_segment,
|
|
100
|
+
a.SegmentedControl_segment:focus-visible {
|
|
101
|
+
outline: var(--segmented-control-focus-ring-width) solid var(--segmented-control-focus-ring);
|
|
102
|
+
outline-offset: var(--segmented-control-focus-ring-offset);
|
|
103
|
+
}
|
|
104
|
+
.SegmentedControl_input:disabled + .SegmentedControl_segment {
|
|
105
|
+
opacity: 0.55;
|
|
106
|
+
}
|
|
107
|
+
.SegmentedControl_icon {
|
|
108
|
+
display: inline-flex;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/*# sourceMappingURL=segmented-control.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/segmented-control/SegmentedControl.module.css"],"sourcesContent":["/* Every value is a token: --segmented-control-* in packages/tokens/tokens/component/segmented-control.json */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .root {\n --_height: var(--segmented-control-height-md);\n --_padding: var(--segmented-control-padding-x-md);\n\n display: inline-flex;\n box-sizing: border-box;\n max-inline-size: 100%;\n color: var(--segmented-control-fg);\n font-family: var(--font-family-body);\n font-size: var(--segmented-control-font-size-md);\n font-weight: var(--segmented-control-weight);\n line-height: 1;\n\n &[data-size='sm'] {\n --_height: var(--segmented-control-height-sm);\n --_padding: var(--segmented-control-padding-x-sm);\n\n font-size: var(--segmented-control-font-size-sm);\n }\n\n &[data-look='segmented'] {\n padding: var(--segmented-control-inset);\n border: var(--segmented-control-border-width) solid var(--segmented-control-track-border);\n border-radius: var(--segmented-control-track-radius);\n background: var(--segmented-control-track-bg);\n }\n\n &[data-look='chips'] {\n flex-wrap: wrap;\n gap: var(--segmented-control-gap);\n }\n\n &[data-full-width][data-look='segmented'] {\n display: flex;\n }\n\n &[aria-disabled='true'] {\n opacity: 0.55;\n }\n }\n\n /* The Nav flavour: the list is the flex row the root is for the radios. */\n .list {\n display: contents;\n }\n\n .option {\n display: inline-flex;\n position: relative;\n min-inline-size: 0;\n\n .root[data-full-width] & {\n flex: 1;\n }\n }\n\n /* Visually hidden, still focusable and still in the form: the segment draws its state. */\n .input {\n position: absolute;\n inset: 0;\n inline-size: 100%;\n block-size: 100%;\n margin: 0;\n opacity: 0;\n cursor: pointer;\n\n &:disabled {\n cursor: not-allowed;\n }\n }\n\n .segment {\n display: inline-flex;\n flex: 1;\n align-items: center;\n justify-content: center;\n gap: var(--segmented-control-gap);\n box-sizing: border-box;\n min-block-size: calc(var(--_height) - 2 * var(--segmented-control-inset) - 2 * var(--segmented-control-border-width));\n padding-block: 0;\n padding-inline: var(--_padding);\n border: var(--segmented-control-border-width) solid transparent;\n border-radius: var(--segmented-control-segment-radius);\n color: inherit;\n text-decoration: none;\n white-space: nowrap;\n transition:\n background-color var(--motion-duration-fast) var(--motion-easing-standard),\n color var(--motion-duration-fast) var(--motion-easing-standard);\n\n .root[data-look='chips'] & {\n min-block-size: var(--_height);\n border-color: var(--segmented-control-chip-border);\n border-radius: var(--segmented-control-chip-radius);\n background: var(--segmented-control-chip-bg);\n }\n }\n\n .option:hover .segment,\n a.segment:hover {\n color: var(--segmented-control-fg-hover);\n }\n\n .option[data-selected] .segment {\n border-color: var(--segmented-control-segment-selected-border);\n background: var(--segmented-control-segment-selected-bg);\n box-shadow: var(--segmented-control-segment-selected-shadow);\n color: var(--segmented-control-segment-selected-fg);\n\n .root[data-look='chips'] & {\n border-color: var(--segmented-control-chip-selected-border);\n background: var(--segmented-control-chip-selected-bg);\n box-shadow: none;\n color: var(--segmented-control-chip-selected-fg);\n }\n }\n\n .input:focus-visible + .segment,\n a.segment:focus-visible {\n outline: var(--segmented-control-focus-ring-width) solid var(--segmented-control-focus-ring);\n outline-offset: var(--segmented-control-focus-ring-offset);\n }\n\n .input:disabled + .segment {\n opacity: 0.55;\n }\n\n .icon {\n display: inline-flex;\n }\n}\n"],"mappings":";AAEA;AAEA;AACE,GAACA;AACC,eAAW,IAAI;AACf,gBAAY,IAAI;AAEhB,aAAS;AACT,gBAAY;AACZ,qBAAiB;AACjB,WAAO,IAAI;AACX,iBAAa,IAAI;AACjB,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,iBAAa;AAEb,KAAC,CAAC;AACA,iBAAW,IAAI;AACf,kBAAY,IAAI;AAEhB,iBAAW,IAAI;AACjB;AAEA,KAAC,CAAC;AACA,eAAS,IAAI;AACb,cAAQ,IAAI,kCAAkC,MAAM,IAAI;AACxD,qBAAe,IAAI;AACnB,kBAAY,IAAI;AAClB;AAEA,KAAC,CAAC;AACA,iBAAW;AACX,WAAK,IAAI;AACX;AAEA,KAAC,CAAC,gBAAgB,CAAC;AACjB,eAAS;AACX;AAEA,KAAC,CAAC;AACA,eAAS;AACX;AACF;AAGA,GAACC;AACC,aAAS;AACX;AAEA,GAACC;AACC,aAAS;AACT,cAAU;AACV,qBAAiB;AAEjB,KAnDDF,qBAmDM,CAAC,iBAAiB;AACrB,YAAM;AACR;AACF;AAGA,GAACG;AACC,cAAU;AACV,WAAO;AACP,iBAAa;AACb,gBAAY;AACZ,YAAQ;AACR,aAAS;AACT,YAAQ;AAER,KAAC;AACC,cAAQ;AACV;AACF;AAEA,GAACC;AACC,aAAS;AACT,UAAM;AACN,iBAAa;AACb,qBAAiB;AACjB,SAAK,IAAI;AACT,gBAAY;AACZ,oBAAgB,KAAK,IAAI,WAAW,EAAE,EAAE,EAAE,IAAI,2BAA2B,EAAE,EAAE,EAAE,IAAI;AACnF,mBAAe;AACf,oBAAgB,IAAI;AACpB,YAAQ,IAAI,kCAAkC,MAAM;AACpD,mBAAe,IAAI;AACnB,WAAO;AACP,qBAAiB;AACjB,iBAAa;AACb,gBACE,iBAAiB,IAAI,wBAAwB,IAAI,yBAAyB,EAC1E,MAAM,IAAI,wBAAwB,IAAI;AAExC,KA1FDJ,qBA0FM,CAAC,iBAAmB;AACvB,sBAAgB,IAAI;AACpB,oBAAc,IAAI;AAClB,qBAAe,IAAI;AACnB,kBAAY,IAAI;AAClB;AACF;AAEA,GApDCE,uBAoDM,OAAO,CA3BbE;AAAA,EA4BD,CAAC,CA5BAA,wBA4BQ;AACP,WAAO,IAAI;AACb;AAEA,GAzDCF,uBAyDM,CAAC,eAAe,CAhCtBE;AAiCC,kBAAc,IAAI;AAClB,gBAAY,IAAI;AAChB,gBAAY,IAAI;AAChB,WAAO,IAAI;AAEX,KA7GDJ,qBA6GM,CAAC,iBAAmB;AACvB,oBAAc,IAAI;AAClB,kBAAY,IAAI;AAChB,kBAAY;AACZ,aAAO,IAAI;AACb;AACF;AAEA,GA5DCG,sBA4DK,eAAe,EAAE,CA9CtBC;AAAA,EA+CD,CAAC,CA/CAA,wBA+CQ;AACP,aAAS,IAAI,sCAAsC,MAAM,IAAI;AAC7D,oBAAgB,IAAI;AACtB;AAEA,GAlECD,sBAkEK,UAAU,EAAE,CApDjBC;AAqDC,aAAS;AACX;AAEA,GAACC;AACC,aAAS;AACX;AACF;","names":["root","list","option","input","segment","icon"]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { HTMLAttributes, ReactNode, Ref, AnchorHTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
type SegmentedControlSize = 'sm' | 'md';
|
|
5
|
+
type SegmentedControlLook = 'segmented' | 'chips';
|
|
6
|
+
interface SegmentedControlOption<T extends string = string> {
|
|
7
|
+
value: T;
|
|
8
|
+
label: ReactNode;
|
|
9
|
+
/** Decorative: hidden from assistive technology, so the label must stand on its own. */
|
|
10
|
+
icon?: ReactNode;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
}
|
|
13
|
+
interface SegmentedControlProps<T extends string = string> extends Omit<HTMLAttributes<HTMLDivElement>, 'defaultValue' | 'onChange' | 'children'> {
|
|
14
|
+
/** Names the group for assistive technology. Not rendered; label it visibly with `aria-labelledby` instead when there is a heading. */
|
|
15
|
+
label?: string;
|
|
16
|
+
options: ReadonlyArray<SegmentedControlOption<T>>;
|
|
17
|
+
/** Controlled selected value. */
|
|
18
|
+
value?: T;
|
|
19
|
+
/** Initially selected value when uncontrolled. */
|
|
20
|
+
defaultValue?: T;
|
|
21
|
+
onValueChange?: (value: T) => void;
|
|
22
|
+
/** Form field name shared by the radios. Generated when omitted. */
|
|
23
|
+
name?: string;
|
|
24
|
+
/** `segmented` is one track with a raised thumb; `chips` is separate pills that wrap. @default 'segmented' */
|
|
25
|
+
look?: SegmentedControlLook;
|
|
26
|
+
/** @default 'md' */
|
|
27
|
+
size?: SegmentedControlSize;
|
|
28
|
+
/** Segments share the container's width equally. `segmented` look only. @default false */
|
|
29
|
+
fullWidth?: boolean;
|
|
30
|
+
disabled?: boolean;
|
|
31
|
+
ref?: Ref<HTMLDivElement>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* One choice out of a few, all visible, switching what is shown in place: a
|
|
35
|
+
* view mode, a unit, a sort order. Generic over a string union, so `value`
|
|
36
|
+
* and `onValueChange` are typed by the options. For links that navigate to
|
|
37
|
+
* another page use `SegmentedControl.Nav`, which looks the same and is a `nav`.
|
|
38
|
+
*
|
|
39
|
+
* @status experimental
|
|
40
|
+
* @category Forms
|
|
41
|
+
* @accessibility A `radiogroup` of native radio inputs, exactly as RadioGroup: the keyboard is the browser's own (arrows move and select, Tab enters on the checked radio and leaves the group), nothing is re-implemented. Name the group with `label` or `aria-labelledby`. The inputs are visually hidden, not removed, so the focus ring is drawn on the visible segment and the control takes part in a form (`name`). Icons are decorative.
|
|
42
|
+
* @do Use it for two to five short options that change the view in place.
|
|
43
|
+
* @do Use `SegmentedControl.Nav` when each option is a URL.
|
|
44
|
+
* @dont Use it for on/off; that is a Switch. For several at once, toggle Chips.
|
|
45
|
+
* @dont Use it for a form question with longer labels or a description; that is a RadioGroup.
|
|
46
|
+
*/
|
|
47
|
+
declare function SegmentedControl<T extends string = string>({ label, options, value, defaultValue, onValueChange, name, look, size, fullWidth, disabled, className, ref, ...rest }: SegmentedControlProps<T>): react.JSX.Element;
|
|
48
|
+
declare namespace SegmentedControl {
|
|
49
|
+
var displayName: string;
|
|
50
|
+
var Nav: typeof SegmentedControlNav;
|
|
51
|
+
var NavItem: typeof SegmentedControlNavItem;
|
|
52
|
+
}
|
|
53
|
+
interface SegmentedControlNavProps extends HTMLAttributes<HTMLElement> {
|
|
54
|
+
/** Names the landmark ("Feed view"). Required: a page with several `nav`s needs them told apart. */
|
|
55
|
+
label: string;
|
|
56
|
+
/** @default 'segmented' */
|
|
57
|
+
look?: SegmentedControlLook;
|
|
58
|
+
/** @default 'md' */
|
|
59
|
+
size?: SegmentedControlSize;
|
|
60
|
+
/** @default false */
|
|
61
|
+
fullWidth?: boolean;
|
|
62
|
+
ref?: Ref<HTMLElement>;
|
|
63
|
+
/** `SegmentedControl.NavItem`s. */
|
|
64
|
+
children: ReactNode;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* The same look for links that navigate: a labelled `nav` with a list of
|
|
68
|
+
* links, the current one marked `aria-current="page"`. Not a radiogroup and
|
|
69
|
+
* not tabs: following a link loads another page, and a screen reader user
|
|
70
|
+
* should be told so.
|
|
71
|
+
*/
|
|
72
|
+
declare function SegmentedControlNav({ label, look, size, fullWidth, className, ref, children, ...rest }: SegmentedControlNavProps): react.JSX.Element;
|
|
73
|
+
declare namespace SegmentedControlNav {
|
|
74
|
+
var displayName: string;
|
|
75
|
+
}
|
|
76
|
+
interface SegmentedControlNavItemProps<E extends HTMLElement = HTMLAnchorElement> extends AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
77
|
+
/** This link is the page being shown: `aria-current="page"` and the selected look. @default false */
|
|
78
|
+
current?: boolean;
|
|
79
|
+
/** Render the single child instead of an `a`: a router's link component. @default false */
|
|
80
|
+
asChild?: boolean;
|
|
81
|
+
ref?: Ref<E>;
|
|
82
|
+
children: ReactNode;
|
|
83
|
+
}
|
|
84
|
+
/** One link of a `SegmentedControl.Nav`. With `asChild`, the router's own link takes the styles. */
|
|
85
|
+
declare function SegmentedControlNavItem<E extends HTMLElement = HTMLAnchorElement>({ current, asChild, className, ref, children, ...rest }: SegmentedControlNavItemProps<E>): react.JSX.Element;
|
|
86
|
+
declare namespace SegmentedControlNavItem {
|
|
87
|
+
var displayName: string;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export { SegmentedControl, type SegmentedControlProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"segmented-control.js"}
|
package/dist/select.css
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* src/field/Field.module.css */
|
|
2
|
+
@layer reset, tokens, vendor, base, components, utilities;
|
|
2
3
|
@layer components {
|
|
3
4
|
.Field_field {
|
|
4
5
|
display: flex;
|
|
@@ -27,6 +28,7 @@
|
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
/* src/select/Select.module.css */
|
|
31
|
+
@layer reset, tokens, vendor, base, components, utilities;
|
|
30
32
|
@layer components {
|
|
31
33
|
.Select_field {
|
|
32
34
|
--_height: var(--select-height-md);
|
package/dist/select.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/field/Field.module.css","../src/select/Select.module.css"],"sourcesContent":["/* Every value is a token (--field-*). The control itself brings its own styles. */\n\n@layer components {\n .field {\n display: flex;\n flex-direction: column;\n gap: var(--field-gap);\n }\n\n .label {\n font-size: var(--field-label-font-size);\n font-weight: var(--field-label-font-weight);\n color: var(--field-label-fg);\n }\n\n .required {\n margin-inline-start: var(--field-required-gap);\n color: var(--field-required-fg);\n }\n\n .description {\n margin: 0;\n font-size: var(--field-description-font-size);\n color: var(--field-description-fg);\n }\n\n .error {\n margin: 0;\n font-size: var(--field-error-font-size);\n color: var(--field-error-fg);\n }\n}\n","/*\n * Every value is a token (--select-*). The chevron is the wrapper's ::after,\n * sharing the select's grid cell. Size and invalid state resolve into private\n * custom properties on the root.\n */\n\n@layer components {\n .field {\n --_height: var(--select-height-md);\n --_font-size: var(--select-font-size-md);\n --_border: var(--select-border-default);\n\n font-family: var(--select-font-family);\n\n &[data-size=\"sm\"] {\n --_height: var(--select-height-sm);\n --_font-size: var(--select-font-size-sm);\n }\n\n &[data-size=\"lg\"] {\n --_height: var(--select-height-lg);\n --_font-size: var(--select-font-size-lg);\n }\n\n &[data-invalid] { --_border: var(--select-border-invalid); }\n }\n\n .control {\n display: grid;\n align-items: center;\n\n & > * {\n grid-area: 1 / 1;\n }\n\n &::after {\n content: \"\";\n inline-size: var(--space-2);\n block-size: var(--space-2);\n margin-inline-end: var(--select-chevron-inset);\n border-inline-end: var(--select-chevron-width) solid var(--select-chevron);\n border-block-end: var(--select-chevron-width) solid var(--select-chevron);\n justify-self: end;\n rotate: 45deg;\n translate: 0 -25%;\n pointer-events: none;\n grid-area: 1 / 1;\n }\n }\n\n .select {\n inline-size: 100%;\n min-block-size: var(--_height);\n padding-block: 0;\n padding-inline: var(--select-padding-inline) var(--select-chevron-gap);\n border: var(--size-hairline) solid var(--_border);\n border-radius: var(--select-radius);\n background-color: var(--select-bg);\n color: var(--select-fg);\n font-size: var(--_font-size);\n appearance: none;\n cursor: pointer;\n transition: border-color var(--select-motion-duration) var(--motion-easing-standard);\n\n &:focus-visible {\n border-color: var(--select-border-focus);\n outline: var(--select-focus-ring-width) solid var(--select-focus-ring);\n outline-offset: var(--select-focus-ring-offset);\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.55;\n }\n\n &:hover:not(:disabled, :focus-visible) {\n border-color: var(--select-border-hover);\n }\n\n &:has(option[value=\"\"]:checked) {\n color: var(--select-placeholder);\n }\n }\n}\n"],"mappings":";AAEA;AACE,GAACA;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACX;AAEA,GAACC;AACC,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,yBAAqB,IAAI;AACzB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AACF;;;
|
|
1
|
+
{"version":3,"sources":["../src/field/Field.module.css","../src/select/Select.module.css"],"sourcesContent":["/* Every value is a token (--field-*). The control itself brings its own styles. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .field {\n display: flex;\n flex-direction: column;\n gap: var(--field-gap);\n }\n\n .label {\n font-size: var(--field-label-font-size);\n font-weight: var(--field-label-font-weight);\n color: var(--field-label-fg);\n }\n\n .required {\n margin-inline-start: var(--field-required-gap);\n color: var(--field-required-fg);\n }\n\n .description {\n margin: 0;\n font-size: var(--field-description-font-size);\n color: var(--field-description-fg);\n }\n\n .error {\n margin: 0;\n font-size: var(--field-error-font-size);\n color: var(--field-error-fg);\n }\n}\n","/*\n * Every value is a token (--select-*). The chevron is the wrapper's ::after,\n * sharing the select's grid cell. Size and invalid state resolve into private\n * custom properties on the root.\n */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .field {\n --_height: var(--select-height-md);\n --_font-size: var(--select-font-size-md);\n --_border: var(--select-border-default);\n\n font-family: var(--select-font-family);\n\n &[data-size=\"sm\"] {\n --_height: var(--select-height-sm);\n --_font-size: var(--select-font-size-sm);\n }\n\n &[data-size=\"lg\"] {\n --_height: var(--select-height-lg);\n --_font-size: var(--select-font-size-lg);\n }\n\n &[data-invalid] { --_border: var(--select-border-invalid); }\n }\n\n .control {\n display: grid;\n align-items: center;\n\n & > * {\n grid-area: 1 / 1;\n }\n\n &::after {\n content: \"\";\n inline-size: var(--space-2);\n block-size: var(--space-2);\n margin-inline-end: var(--select-chevron-inset);\n border-inline-end: var(--select-chevron-width) solid var(--select-chevron);\n border-block-end: var(--select-chevron-width) solid var(--select-chevron);\n justify-self: end;\n rotate: 45deg;\n translate: 0 -25%;\n pointer-events: none;\n grid-area: 1 / 1;\n }\n }\n\n .select {\n inline-size: 100%;\n min-block-size: var(--_height);\n padding-block: 0;\n padding-inline: var(--select-padding-inline) var(--select-chevron-gap);\n border: var(--size-hairline) solid var(--_border);\n border-radius: var(--select-radius);\n background-color: var(--select-bg);\n color: var(--select-fg);\n font-size: var(--_font-size);\n appearance: none;\n cursor: pointer;\n transition: border-color var(--select-motion-duration) var(--motion-easing-standard);\n\n &:focus-visible {\n border-color: var(--select-border-focus);\n outline: var(--select-focus-ring-width) solid var(--select-focus-ring);\n outline-offset: var(--select-focus-ring-offset);\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.55;\n }\n\n &:hover:not(:disabled, :focus-visible) {\n border-color: var(--select-border-hover);\n }\n\n &:has(option[value=\"\"]:checked) {\n color: var(--select-placeholder);\n }\n }\n}\n"],"mappings":";AAEA;AAEA;AACE,GAACA;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACX;AAEA,GAACC;AACC,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,yBAAqB,IAAI;AACzB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AACF;;;AC3BA;AAEA;AACE,GAACC;AACC,eAAW,IAAI;AACf,kBAAc,IAAI;AAClB,eAAW,IAAI;AAEf,iBAAa,IAAI;AAEjB,KAAC,CAAC;AACA,iBAAW,IAAI;AACf,oBAAc,IAAI;AACpB;AAEA,KAAC,CAAC;AACA,iBAAW,IAAI;AACf,oBAAc,IAAI;AACpB;AAEA,KAAC,CAAC;AAAgB,iBAAW,IAAI;AAA0B;AAC7D;AAEA,GAACC;AACC,aAAS;AACT,iBAAa;AAEb,MAAE,EAAE;AACF,iBAAW,EAAE,EAAE;AACjB;AAEA,KAAC;AACC,eAAS;AACT,mBAAa,IAAI;AACjB,kBAAY,IAAI;AAChB,yBAAmB,IAAI;AACvB,yBAAmB,IAAI,wBAAwB,MAAM,IAAI;AACzD,wBAAkB,IAAI,wBAAwB,MAAM,IAAI;AACxD,oBAAc;AACd,cAAQ;AACR,iBAAW,EAAE;AACb,sBAAgB;AAChB,iBAAW,EAAE,EAAE;AACjB;AACF;AAEA,GAACC;AACC,iBAAa;AACb,oBAAgB,IAAI;AACpB,mBAAe;AACf,oBAAgB,IAAI,yBAAyB,IAAI;AACjD,YAAQ,IAAI,iBAAiB,MAAM,IAAI;AACvC,mBAAe,IAAI;AACnB,sBAAkB,IAAI;AACtB,WAAO,IAAI;AACX,eAAW,IAAI;AACf,gBAAY;AACZ,YAAQ;AACR,gBAAY,aAAa,IAAI,0BAA0B,IAAI;AAE3D,KAAC;AACC,oBAAc,IAAI;AAClB,eAAS,IAAI,2BAA2B,MAAM,IAAI;AAClD,sBAAgB,IAAI;AACtB;AAEA,KAAC;AACC,cAAQ;AACR,eAAS;AACX;AAEA,KAAC,MAAM,KAAK,WAAW;AACrB,oBAAc,IAAI;AACpB;AAEA,KAAC,KAAK,MAAM,CAAC,SAAS;AACpB,aAAO,IAAI;AACb;AACF;AACF;","names":["field","label","required","description","error","field","control","select"]}
|
package/dist/select.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { Select } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
1
|
+
"use client";export { Select } from './chunk-ZEVQQQOA.js';
|
|
2
|
+
import './chunk-SXMORGSG.js';
|
|
3
|
+
import './chunk-QJG5ILK5.js';
|
|
4
4
|
import './chunk-MI4QUKQS.js';
|
|
5
5
|
//# sourceMappingURL=select.js.map
|
|
6
6
|
//# sourceMappingURL=select.js.map
|
package/dist/sheet.css
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* src/dialog/Dialog.module.css */
|
|
2
|
+
@layer reset, tokens, vendor, base, components, utilities;
|
|
2
3
|
@layer components {
|
|
3
4
|
.Dialog_root {
|
|
4
5
|
--modal-bg: var(--dialog-surface);
|
|
@@ -61,11 +62,40 @@
|
|
|
61
62
|
}
|
|
62
63
|
|
|
63
64
|
/* src/sheet/Sheet.module.css */
|
|
65
|
+
@layer reset, tokens, vendor, base, components, utilities;
|
|
64
66
|
@layer components {
|
|
65
67
|
.Sheet_content {
|
|
66
68
|
--modal-width-sheet: var(--sheet-width);
|
|
67
69
|
--modal-height-sheet: var(--sheet-height);
|
|
68
70
|
--modal-animation-translate-sheet: var(--sheet-motion-translate);
|
|
69
71
|
}
|
|
72
|
+
.Sheet_content[data-draggable] {
|
|
73
|
+
translate: 0 var(--_drag, 0);
|
|
74
|
+
transition: translate var(--sheet-handle-snap-duration) var(--motion-easing-standard);
|
|
75
|
+
&[data-dragging] {
|
|
76
|
+
transition: none;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
.Sheet_handle {
|
|
80
|
+
display: grid;
|
|
81
|
+
flex: none;
|
|
82
|
+
place-items: center;
|
|
83
|
+
block-size: var(--sheet-handle-hit-height);
|
|
84
|
+
cursor: grab;
|
|
85
|
+
touch-action: none;
|
|
86
|
+
&::before {
|
|
87
|
+
inline-size: var(--sheet-handle-width);
|
|
88
|
+
block-size: var(--sheet-handle-height);
|
|
89
|
+
border-radius: var(--sheet-handle-radius);
|
|
90
|
+
background: var(--sheet-handle-bg);
|
|
91
|
+
content: "";
|
|
92
|
+
}
|
|
93
|
+
[data-dragging] > & {
|
|
94
|
+
cursor: grabbing;
|
|
95
|
+
}
|
|
96
|
+
@media (prefers-reduced-motion: reduce) {
|
|
97
|
+
display: none;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
70
100
|
}
|
|
71
101
|
/*# sourceMappingURL=sheet.css.map */
|
package/dist/sheet.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/dialog/Dialog.module.css","../src/sheet/Sheet.module.css"],"sourcesContent":["/*\n * The vendor (@pearpages/modals) reads --modal-* custom properties. This class\n * goes on the portal element pulp owns, so every dialog inherits pulp's\n * --dialog-* tokens and the vendor's :root defaults never apply.\n */\n\n@layer components {\n .root {\n --modal-bg: var(--dialog-surface);\n --modal-surface-elevated: var(--dialog-surface);\n --modal-surface-subtle: var(--dialog-surface-subtle);\n --modal-color: var(--dialog-fg);\n --modal-text-secondary: var(--dialog-fg-muted);\n --modal-text-muted: var(--dialog-fg-muted);\n --modal-backdrop-bg: var(--dialog-backdrop);\n --modal-border-primary-color: var(--dialog-border);\n --modal-border-hover-color: var(--dialog-border-hover);\n --modal-border-focus-color: var(--dialog-focus);\n --modal-border-accent-color: var(--dialog-border);\n --modal-radius: var(--dialog-radius);\n --modal-radius-md: var(--dialog-radius);\n --modal-radius-sm: var(--radius-control);\n --modal-button-radius: var(--radius-control);\n --modal-shadow: var(--dialog-shadow);\n --modal-padding: var(--dialog-padding);\n --modal-spacing-xs: var(--space-1);\n --modal-spacing-sm: var(--space-2);\n --modal-spacing-md: var(--dialog-gap);\n --modal-spacing-lg: var(--space-4);\n --modal-spacing-xl: var(--space-5);\n --modal-font-family: var(--dialog-font-family);\n --modal-font-family-mono: var(--font-family-mono);\n --modal-font-size-title: var(--dialog-title-font-size);\n --modal-font-size-title-mobile: var(--dialog-title-font-size);\n --modal-font-weight-title: var(--dialog-title-font-weight);\n --modal-font-size-description: var(--dialog-description-font-size);\n --modal-font-size-description-mobile: var(--dialog-description-font-size);\n --modal-font-size-button: var(--font-size-sm);\n --modal-close-bg: var(--dialog-close-bg);\n --modal-close-hover-bg: var(--dialog-close-bg-hover);\n --modal-close-text: var(--dialog-close-fg);\n --modal-close-hover-text: var(--dialog-close-fg-hover);\n --modal-interactive-hover: var(--color-action-secondary-hover);\n --modal-interactive-active: var(--color-action-secondary-hover);\n --modal-interactive-focus: var(--color-action-primary-quiet);\n --modal-transition-duration: var(--dialog-motion-duration);\n --modal-transition-easing: var(--dialog-motion-easing);\n --modal-outline-width: var(--focus-ring-width);\n --modal-outline-offset: var(--focus-ring-offset);\n --modal-button-focus-color: var(--dialog-focus);\n --modal-button-primary-bg: var(--color-action-primary);\n --modal-button-primary-border: var(--color-action-primary);\n --modal-button-primary-color: var(--color-text-on-action);\n --modal-button-primary-hover-bg: var(--color-action-primary-hover);\n --modal-button-primary-hover-border: var(--color-action-primary-hover);\n --modal-button-primary-active-bg: var(--color-action-primary-active);\n --modal-button-primary-active-border: var(--color-action-primary-active);\n --modal-button-secondary-bg: var(--color-action-secondary);\n --modal-button-secondary-border: var(--color-border-default);\n --modal-button-secondary-color: var(--color-text-default);\n --modal-button-secondary-hover-bg: var(--color-action-secondary-hover);\n --modal-button-secondary-hover-border: var(--color-border-strong);\n --modal-button-secondary-active-bg: var(--color-action-secondary-hover);\n --modal-button-secondary-active-border: var(--color-border-strong);\n }\n}\n","/*\n * The vendor (@pearpages/modals) docks the dialog and sizes it from three variables it declares on\n * :root. This class sits on the dialog element itself, so its own declarations beat the inherited\n * :root defaults whatever the cascade layer or import order: no specificity fight with the\n * vendor's unlayered rules, which only *read* these. Colour, type and motion timing come from\n * Dialog's mapping on the portal root.\n */\n\n@layer components {\n .content {\n --modal-width-sheet: var(--sheet-width);\n --modal-height-sheet: var(--sheet-height);\n --modal-animation-translate-sheet: var(--sheet-motion-translate);\n }\n}\n"],"mappings":";AAMA;AACE,GAACA;AACC,gBAAY,IAAI;AAChB,8BAA0B,IAAI;AAC9B,4BAAwB,IAAI;AAC5B,mBAAe,IAAI;AACnB,4BAAwB,IAAI;AAC5B,wBAAoB,IAAI;AACxB,yBAAqB,IAAI;AACzB,kCAA8B,IAAI;AAClC,gCAA4B,IAAI;AAChC,gCAA4B,IAAI;AAChC,iCAA6B,IAAI;AACjC,oBAAgB,IAAI;AACpB,uBAAmB,IAAI;AACvB,uBAAmB,IAAI;AACvB,2BAAuB,IAAI;AAC3B,oBAAgB,IAAI;AACpB,qBAAiB,IAAI;AACrB,wBAAoB,IAAI;AACxB,wBAAoB,IAAI;AACxB,wBAAoB,IAAI;AACxB,wBAAoB,IAAI;AACxB,wBAAoB,IAAI;AACxB,yBAAqB,IAAI;AACzB,8BAA0B,IAAI;AAC9B,6BAAyB,IAAI;AAC7B,oCAAgC,IAAI;AACpC,+BAA2B,IAAI;AAC/B,mCAA+B,IAAI;AACnC,0CAAsC,IAAI;AAC1C,8BAA0B,IAAI;AAC9B,sBAAkB,IAAI;AACtB,4BAAwB,IAAI;AAC5B,wBAAoB,IAAI;AACxB,8BAA0B,IAAI;AAC9B,+BAA2B,IAAI;AAC/B,gCAA4B,IAAI;AAChC,+BAA2B,IAAI;AAC/B,iCAA6B,IAAI;AACjC,+BAA2B,IAAI;AAC/B,2BAAuB,IAAI;AAC3B,4BAAwB,IAAI;AAC5B,gCAA4B,IAAI;AAChC,+BAA2B,IAAI;AAC/B,mCAA+B,IAAI;AACnC,kCAA8B,IAAI;AAClC,qCAAiC,IAAI;AACrC,yCAAqC,IAAI;AACzC,sCAAkC,IAAI;AACtC,0CAAsC,IAAI;AAC1C,iCAA6B,IAAI;AACjC,qCAAiC,IAAI;AACrC,oCAAgC,IAAI;AACpC,uCAAmC,IAAI;AACvC,2CAAuC,IAAI;AAC3C,wCAAoC,IAAI;AACxC,4CAAwC,IAAI;AAC9C;AACF;;;
|
|
1
|
+
{"version":3,"sources":["../src/dialog/Dialog.module.css","../src/sheet/Sheet.module.css"],"sourcesContent":["/*\n * The vendor (@pearpages/modals) reads --modal-* custom properties. This class\n * goes on the portal element pulp owns, so every dialog inherits pulp's\n * --dialog-* tokens and the vendor's :root defaults never apply.\n */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .root {\n --modal-bg: var(--dialog-surface);\n --modal-surface-elevated: var(--dialog-surface);\n --modal-surface-subtle: var(--dialog-surface-subtle);\n --modal-color: var(--dialog-fg);\n --modal-text-secondary: var(--dialog-fg-muted);\n --modal-text-muted: var(--dialog-fg-muted);\n --modal-backdrop-bg: var(--dialog-backdrop);\n --modal-border-primary-color: var(--dialog-border);\n --modal-border-hover-color: var(--dialog-border-hover);\n --modal-border-focus-color: var(--dialog-focus);\n --modal-border-accent-color: var(--dialog-border);\n --modal-radius: var(--dialog-radius);\n --modal-radius-md: var(--dialog-radius);\n --modal-radius-sm: var(--radius-control);\n --modal-button-radius: var(--radius-control);\n --modal-shadow: var(--dialog-shadow);\n --modal-padding: var(--dialog-padding);\n --modal-spacing-xs: var(--space-1);\n --modal-spacing-sm: var(--space-2);\n --modal-spacing-md: var(--dialog-gap);\n --modal-spacing-lg: var(--space-4);\n --modal-spacing-xl: var(--space-5);\n --modal-font-family: var(--dialog-font-family);\n --modal-font-family-mono: var(--font-family-mono);\n --modal-font-size-title: var(--dialog-title-font-size);\n --modal-font-size-title-mobile: var(--dialog-title-font-size);\n --modal-font-weight-title: var(--dialog-title-font-weight);\n --modal-font-size-description: var(--dialog-description-font-size);\n --modal-font-size-description-mobile: var(--dialog-description-font-size);\n --modal-font-size-button: var(--font-size-sm);\n --modal-close-bg: var(--dialog-close-bg);\n --modal-close-hover-bg: var(--dialog-close-bg-hover);\n --modal-close-text: var(--dialog-close-fg);\n --modal-close-hover-text: var(--dialog-close-fg-hover);\n --modal-interactive-hover: var(--color-action-secondary-hover);\n --modal-interactive-active: var(--color-action-secondary-hover);\n --modal-interactive-focus: var(--color-action-primary-quiet);\n --modal-transition-duration: var(--dialog-motion-duration);\n --modal-transition-easing: var(--dialog-motion-easing);\n --modal-outline-width: var(--focus-ring-width);\n --modal-outline-offset: var(--focus-ring-offset);\n --modal-button-focus-color: var(--dialog-focus);\n --modal-button-primary-bg: var(--color-action-primary);\n --modal-button-primary-border: var(--color-action-primary);\n --modal-button-primary-color: var(--color-text-on-action);\n --modal-button-primary-hover-bg: var(--color-action-primary-hover);\n --modal-button-primary-hover-border: var(--color-action-primary-hover);\n --modal-button-primary-active-bg: var(--color-action-primary-active);\n --modal-button-primary-active-border: var(--color-action-primary-active);\n --modal-button-secondary-bg: var(--color-action-secondary);\n --modal-button-secondary-border: var(--color-border-default);\n --modal-button-secondary-color: var(--color-text-default);\n --modal-button-secondary-hover-bg: var(--color-action-secondary-hover);\n --modal-button-secondary-hover-border: var(--color-border-strong);\n --modal-button-secondary-active-bg: var(--color-action-secondary-hover);\n --modal-button-secondary-active-border: var(--color-border-strong);\n }\n}\n","/*\n * The vendor (@pearpages/modals) docks the dialog and sizes it from three variables it declares on\n * :root. This class sits on the dialog element itself, so its own declarations beat the inherited\n * :root defaults whatever the cascade layer or import order: no specificity fight with the\n * vendor's unlayered rules, which only *read* these. Colour, type and motion timing come from\n * Dialog's mapping on the portal root.\n */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .content {\n --modal-width-sheet: var(--sheet-width);\n --modal-height-sheet: var(--sheet-height);\n --modal-animation-translate-sheet: var(--sheet-motion-translate);\n }\n\n /*\n * Drag to dismiss (bottom sheets). The vendor moves the sheet with `transform`; the drag uses\n * the separate `translate` property, so the two never fight. --_drag is set by the handle while\n * the pointer is down: the one per-instance value, like Progress's --_value.\n */\n .content[data-draggable] {\n translate: 0 var(--_drag, 0);\n transition: translate var(--sheet-handle-snap-duration) var(--motion-easing-standard);\n\n &[data-dragging] {\n transition: none;\n }\n }\n\n .handle {\n display: grid;\n flex: none;\n place-items: center;\n block-size: var(--sheet-handle-hit-height);\n cursor: grab;\n touch-action: none;\n\n &::before {\n inline-size: var(--sheet-handle-width);\n block-size: var(--sheet-handle-height);\n border-radius: var(--sheet-handle-radius);\n background: var(--sheet-handle-bg);\n content: \"\";\n }\n\n [data-dragging] > & {\n cursor: grabbing;\n }\n\n /* Following the finger is motion: without it there is no handle to offer. */\n @media (prefers-reduced-motion: reduce) {\n display: none;\n }\n }\n}\n"],"mappings":";AAMA;AAEA;AACE,GAACA;AACC,gBAAY,IAAI;AAChB,8BAA0B,IAAI;AAC9B,4BAAwB,IAAI;AAC5B,mBAAe,IAAI;AACnB,4BAAwB,IAAI;AAC5B,wBAAoB,IAAI;AACxB,yBAAqB,IAAI;AACzB,kCAA8B,IAAI;AAClC,gCAA4B,IAAI;AAChC,gCAA4B,IAAI;AAChC,iCAA6B,IAAI;AACjC,oBAAgB,IAAI;AACpB,uBAAmB,IAAI;AACvB,uBAAmB,IAAI;AACvB,2BAAuB,IAAI;AAC3B,oBAAgB,IAAI;AACpB,qBAAiB,IAAI;AACrB,wBAAoB,IAAI;AACxB,wBAAoB,IAAI;AACxB,wBAAoB,IAAI;AACxB,wBAAoB,IAAI;AACxB,wBAAoB,IAAI;AACxB,yBAAqB,IAAI;AACzB,8BAA0B,IAAI;AAC9B,6BAAyB,IAAI;AAC7B,oCAAgC,IAAI;AACpC,+BAA2B,IAAI;AAC/B,mCAA+B,IAAI;AACnC,0CAAsC,IAAI;AAC1C,8BAA0B,IAAI;AAC9B,sBAAkB,IAAI;AACtB,4BAAwB,IAAI;AAC5B,wBAAoB,IAAI;AACxB,8BAA0B,IAAI;AAC9B,+BAA2B,IAAI;AAC/B,gCAA4B,IAAI;AAChC,+BAA2B,IAAI;AAC/B,iCAA6B,IAAI;AACjC,+BAA2B,IAAI;AAC/B,2BAAuB,IAAI;AAC3B,4BAAwB,IAAI;AAC5B,gCAA4B,IAAI;AAChC,+BAA2B,IAAI;AAC/B,mCAA+B,IAAI;AACnC,kCAA8B,IAAI;AAClC,qCAAiC,IAAI;AACrC,yCAAqC,IAAI;AACzC,sCAAkC,IAAI;AACtC,0CAAsC,IAAI;AAC1C,iCAA6B,IAAI;AACjC,qCAAiC,IAAI;AACrC,oCAAgC,IAAI;AACpC,uCAAmC,IAAI;AACvC,2CAAuC,IAAI;AAC3C,wCAAoC,IAAI;AACxC,4CAAwC,IAAI;AAC9C;AACF;;;AC3DA;AAEA;AACE,GAACC;AACC,yBAAqB,IAAI;AACzB,0BAAsB,IAAI;AAC1B,uCAAmC,IAAI;AACzC;AAOA,GAXCA,aAWO,CAAC;AACP,eAAW,EAAE,IAAI,OAAO,EAAE;AAC1B,gBAAY,UAAU,IAAI,8BAA8B,IAAI;AAE5D,KAAC,CAAC;AACA,kBAAY;AACd;AACF;AAEA,GAACC;AACC,aAAS;AACT,UAAM;AACN,iBAAa;AACb,gBAAY,IAAI;AAChB,YAAQ;AACR,kBAAc;AAEd,KAAC;AACC,mBAAa,IAAI;AACjB,kBAAY,IAAI;AAChB,qBAAe,IAAI;AACnB,kBAAY,IAAI;AAChB,eAAS;AACX;AAEA,KAAC,eAAe,EAAE;AAChB,cAAQ;AACV;AAGA,YAAO,wBAAyB;AAC9B,eAAS;AACX;AACF;AACF;","names":["root","content","handle"]}
|
package/dist/sheet.d.ts
CHANGED
|
@@ -14,6 +14,13 @@ interface SheetContentProps extends Omit<ComponentProps<typeof Dialog.Content>,
|
|
|
14
14
|
* @default 'end'
|
|
15
15
|
*/
|
|
16
16
|
placement?: SheetPlacement;
|
|
17
|
+
/**
|
|
18
|
+
* `placement="bottom"` only: a grab handle at the top of the sheet that can be dragged down to
|
|
19
|
+
* close it (past a quarter of the sheet's height, or with a flick). Pointer and touch only, and
|
|
20
|
+
* off under `prefers-reduced-motion`; Escape, the backdrop and `Sheet.Close` are unchanged.
|
|
21
|
+
* @default true
|
|
22
|
+
*/
|
|
23
|
+
dragToDismiss?: boolean;
|
|
17
24
|
}
|
|
18
25
|
/**
|
|
19
26
|
* A dialog docked to an edge of the viewport: a side panel for detail or settings that keeps the
|
|
@@ -28,7 +35,7 @@ interface SheetContentProps extends Omit<ComponentProps<typeof Dialog.Content>,
|
|
|
28
35
|
*
|
|
29
36
|
* @status experimental
|
|
30
37
|
* @category Overlays
|
|
31
|
-
* @accessibility Dialog's: `role="dialog"` with `aria-modal`, named by `Sheet.Title` and described by `Sheet.Description`; focus moves in on open, is trapped, and returns to the trigger on close; Escape and the backdrop dismiss it; the page behind is inert. Docking changes the layout only, never the semantics.
|
|
38
|
+
* @accessibility The drag handle of a bottom sheet is a pointer and touch shortcut, hidden from assistive technology and not focusable: it adds no keyboard stop, and closing by keyboard stays Escape or `Sheet.Close`, so always render a `Sheet.Close` in a sheet that can be dragged. Otherwise Dialog's: `role="dialog"` with `aria-modal`, named by `Sheet.Title` and described by `Sheet.Description`; focus moves in on open, is trapped, and returns to the trigger on close; Escape and the backdrop dismiss it; the page behind is inert. Docking changes the layout only, never the semantics.
|
|
32
39
|
* @do Always render a `Sheet.Title`.
|
|
33
40
|
* @do Dock to `end` for detail and settings beside the page, and to `bottom` for choices on a narrow screen.
|
|
34
41
|
* @dont Use it for a short confirmation; a centred Dialog reads as more urgent and takes less room.
|
|
@@ -50,7 +57,7 @@ declare namespace Sheet {
|
|
|
50
57
|
* The docked dialog element. Dialog's `Content`, with `placement` and the class that maps pulp's
|
|
51
58
|
* `--sheet-*` tokens onto the vendor's sheet variables.
|
|
52
59
|
*/
|
|
53
|
-
declare function SheetContent({ placement, className, ...rest }: SheetContentProps): react.JSX.Element;
|
|
60
|
+
declare function SheetContent({ placement, dragToDismiss, className, children, ...rest }: SheetContentProps): react.JSX.Element;
|
|
54
61
|
declare namespace SheetContent {
|
|
55
62
|
var displayName: string;
|
|
56
63
|
}
|
package/dist/sheet.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { Sheet } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
"use client";export { Sheet } from './chunk-7O6FTCZL.js';
|
|
2
|
+
import './chunk-55QUKGK2.js';
|
|
3
3
|
import './chunk-MI4QUKQS.js';
|
|
4
4
|
//# sourceMappingURL=sheet.js.map
|
|
5
5
|
//# sourceMappingURL=sheet.js.map
|
package/dist/skeleton.css
CHANGED
package/dist/skeleton.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/skeleton/Skeleton.module.css"],"sourcesContent":["/* Every value is a token (--skeleton-*). Shimmer is a moving background-image; off under reduced motion. */\n\n@layer components {\n .skeleton {\n --_size: var(--skeleton-circle-md);\n\n display: block;\n inline-size: 100%;\n border-radius: var(--skeleton-radius);\n background-color: var(--skeleton-base);\n background-image: linear-gradient(90deg, var(--skeleton-base), var(--skeleton-highlight), var(--skeleton-base));\n background-size: 200% 100%;\n animation: shimmer calc(6 * var(--skeleton-duration)) linear infinite;\n\n &[data-shape=\"text\"] {\n block-size: var(--skeleton-text-height);\n }\n\n &[data-shape=\"rect\"] {\n block-size: var(--skeleton-circle-lg);\n }\n\n &[data-shape=\"circle\"] {\n inline-size: var(--_size);\n block-size: var(--_size);\n border-radius: var(--radius-full);\n }\n\n &[data-size=\"sm\"] { --_size: var(--skeleton-circle-sm); }\n &[data-size=\"lg\"] { --_size: var(--skeleton-circle-lg); }\n\n &[data-last] {\n inline-size: 60%;\n }\n }\n\n .lines {\n display: flex;\n flex-direction: column;\n gap: var(--skeleton-gap);\n inline-size: 100%;\n }\n\n @keyframes shimmer {\n from {\n background-position: 200% 0;\n }\n\n to {\n background-position: -200% 0;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .skeleton {\n animation: none;\n background-image: none;\n }\n }\n}\n"],"mappings":";AAEA;AACE,GAACA;AACC,aAAS,IAAI;AAEb,aAAS;AACT,iBAAa;AACb,mBAAe,IAAI;AACnB,sBAAkB,IAAI;AACtB;AAAA,MAAkB;AAAA,QAAgB,KAAK;AAAA,QAAE,IAAI,gBAAgB;AAAA,QAAE,IAAI,qBAAqB;AAAA,QAAE,IAAI;AAC9F,qBAAiB,KAAK;AACtB,eAAW,iBAAQ,KAAK,EAAE,EAAE,IAAI,sBAAsB,OAAO;AAE7D,KAAC,CAAC;AACA,kBAAY,IAAI;AAClB;AAEA,KAAC,CAAC;AACA,kBAAY,IAAI;AAClB;AAEA,KAAC,CAAC;AACA,mBAAa,IAAI;AACjB,kBAAY,IAAI;AAChB,qBAAe,IAAI;AACrB;AAEA,KAAC,CAAC;AAAkB,eAAS,IAAI;AAAuB;AACxD,KAAC,CAAC;AAAkB,eAAS,IAAI;AAAuB;AAExD,KAAC,CAAC;AACA,mBAAa;AACf;AACF;AAEA,GAACC;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACT,iBAAa;AACf;AAEA,aA/BaC;AAgCX;AACE,2BAAqB,KAAK;AAC5B;AAEA;AACE,2BAAqB,MAAM;AAC7B;AACF;AAEA,UAAO,wBAAyB;AAC9B,KAnDDF;AAoDG,iBAAW;AACX,wBAAkB;AACpB;AACF;AACF;","names":["skeleton","lines","shimmer"]}
|
|
1
|
+
{"version":3,"sources":["../src/skeleton/Skeleton.module.css"],"sourcesContent":["/* Every value is a token (--skeleton-*). Shimmer is a moving background-image; off under reduced motion. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .skeleton {\n --_size: var(--skeleton-circle-md);\n\n display: block;\n inline-size: 100%;\n border-radius: var(--skeleton-radius);\n background-color: var(--skeleton-base);\n background-image: linear-gradient(90deg, var(--skeleton-base), var(--skeleton-highlight), var(--skeleton-base));\n background-size: 200% 100%;\n animation: shimmer calc(6 * var(--skeleton-duration)) linear infinite;\n\n &[data-shape=\"text\"] {\n block-size: var(--skeleton-text-height);\n }\n\n &[data-shape=\"rect\"] {\n block-size: var(--skeleton-circle-lg);\n }\n\n &[data-shape=\"circle\"] {\n inline-size: var(--_size);\n block-size: var(--_size);\n border-radius: var(--radius-full);\n }\n\n &[data-size=\"sm\"] { --_size: var(--skeleton-circle-sm); }\n &[data-size=\"lg\"] { --_size: var(--skeleton-circle-lg); }\n\n &[data-last] {\n inline-size: 60%;\n }\n }\n\n .lines {\n display: flex;\n flex-direction: column;\n gap: var(--skeleton-gap);\n inline-size: 100%;\n }\n\n @keyframes shimmer {\n from {\n background-position: 200% 0;\n }\n\n to {\n background-position: -200% 0;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .skeleton {\n animation: none;\n background-image: none;\n }\n }\n}\n"],"mappings":";AAEA;AAEA;AACE,GAACA;AACC,aAAS,IAAI;AAEb,aAAS;AACT,iBAAa;AACb,mBAAe,IAAI;AACnB,sBAAkB,IAAI;AACtB;AAAA,MAAkB;AAAA,QAAgB,KAAK;AAAA,QAAE,IAAI,gBAAgB;AAAA,QAAE,IAAI,qBAAqB;AAAA,QAAE,IAAI;AAC9F,qBAAiB,KAAK;AACtB,eAAW,iBAAQ,KAAK,EAAE,EAAE,IAAI,sBAAsB,OAAO;AAE7D,KAAC,CAAC;AACA,kBAAY,IAAI;AAClB;AAEA,KAAC,CAAC;AACA,kBAAY,IAAI;AAClB;AAEA,KAAC,CAAC;AACA,mBAAa,IAAI;AACjB,kBAAY,IAAI;AAChB,qBAAe,IAAI;AACrB;AAEA,KAAC,CAAC;AAAkB,eAAS,IAAI;AAAuB;AACxD,KAAC,CAAC;AAAkB,eAAS,IAAI;AAAuB;AAExD,KAAC,CAAC;AACA,mBAAa;AACf;AACF;AAEA,GAACC;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACT,iBAAa;AACf;AAEA,aA/BaC;AAgCX;AACE,2BAAqB,KAAK;AAC5B;AAEA;AACE,2BAAqB,MAAM;AAC7B;AACF;AAEA,UAAO,wBAAyB;AAC9B,KAnDDF;AAoDG,iBAAW;AACX,wBAAkB;AACpB;AACF;AACF;","names":["skeleton","lines","shimmer"]}
|
package/dist/skeleton.js
CHANGED
package/dist/slider.css
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* src/internal/AriaField.module.css */
|
|
2
|
+
@layer reset, tokens, vendor, base, components, utilities;
|
|
2
3
|
@layer components {
|
|
3
4
|
.AriaField_field {
|
|
4
5
|
display: flex;
|
|
@@ -28,6 +29,7 @@
|
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
/* src/slider/Slider.module.css */
|
|
32
|
+
@layer reset, tokens, vendor, base, components, utilities;
|
|
31
33
|
@layer components {
|
|
32
34
|
.Slider_root {
|
|
33
35
|
--_thumb: var(--slider-thumb-size);
|
package/dist/slider.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/internal/AriaField.module.css","../src/slider/Slider.module.css"],"sourcesContent":["/* The same --field-* tokens Field reads, on React Aria's label, description and error parts. */\n\n@layer components {\n .field {\n display: flex;\n flex-direction: column;\n gap: var(--field-gap);\n font-family: var(--font-family-body);\n }\n\n .label {\n font-size: var(--field-label-font-size);\n font-weight: var(--field-label-font-weight);\n color: var(--field-label-fg);\n }\n\n .required {\n margin-inline-start: var(--field-required-gap);\n color: var(--field-required-fg);\n }\n\n .description {\n margin: 0;\n font-size: var(--field-description-font-size);\n color: var(--field-description-fg);\n }\n\n .error {\n margin: 0;\n font-size: var(--field-error-font-size);\n color: var(--field-error-fg);\n }\n}\n","/*\n * Every value is a token (--slider-*); the label and description read\n * --field-*. React Aria positions the thumbs and the fill (its inline\n * values); the rail is the visible track inside a larger pointer target.\n * State: data-orientation and data-disabled on the root; data-dragging,\n * data-hovered, data-focus-visible on a thumb.\n */\n\n@layer components {\n .root {\n --_thumb: var(--slider-thumb-size);\n\n display: flex;\n flex-direction: column;\n gap: var(--slider-gap);\n inline-size: 100%;\n font-family: var(--slider-font-family);\n\n &[data-orientation=\"vertical\"] {\n inline-size: auto;\n block-size: var(--slider-track-length);\n }\n\n }\n\n .header {\n display: flex;\n justify-content: space-between;\n gap: var(--slider-gap);\n }\n\n .hidden {\n position: absolute;\n inline-size: var(--size-hairline);\n block-size: var(--size-hairline);\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n }\n\n .output {\n color: var(--slider-output-fg);\n font-family: var(--slider-output-font-family);\n font-size: var(--slider-output-font-size);\n font-variant-numeric: tabular-nums;\n }\n\n .track {\n position: relative;\n block-size: var(--slider-track-hit-size);\n\n .root[data-orientation=\"vertical\"] & {\n inline-size: var(--slider-track-hit-size);\n block-size: 100%;\n }\n }\n\n /* Disabled dims the track, not the label and output, so the text keeps its contrast. */\n .root[data-disabled] .track {\n opacity: 0.55;\n }\n\n .rail {\n position: absolute;\n inset-block-start: 50%;\n inline-size: 100%;\n block-size: var(--slider-track-size);\n overflow: hidden;\n border-radius: var(--slider-track-radius);\n background-color: var(--slider-track-bg);\n translate: 0 -50%;\n\n .root[data-orientation=\"vertical\"] & {\n inset-block-start: 0;\n inset-inline-start: 50%;\n inline-size: var(--slider-track-size);\n block-size: 100%;\n translate: -50% 0;\n }\n }\n\n .fill {\n position: absolute;\n block-size: 100%;\n background-color: var(--slider-fill);\n\n .root[data-orientation=\"vertical\"] & {\n inline-size: 100%;\n }\n }\n\n .thumb {\n inset-block-start: 50%;\n inline-size: var(--_thumb);\n block-size: var(--_thumb);\n border: var(--slider-thumb-border-width) solid var(--slider-thumb-border);\n border-radius: var(--slider-thumb-radius);\n background-color: var(--slider-thumb-bg);\n box-shadow: var(--slider-thumb-shadow);\n cursor: grab;\n transition: border-color var(--slider-motion-duration) var(--motion-easing-standard);\n\n .root[data-orientation=\"vertical\"] & {\n inset-block-start: auto;\n inset-inline-start: 50%;\n }\n\n &[data-hovered],\n &[data-dragging] {\n border-color: var(--slider-thumb-border-hover);\n }\n\n &[data-dragging] {\n cursor: grabbing;\n }\n\n &[data-focus-visible] {\n outline: var(--slider-focus-ring-width) solid var(--slider-focus-ring);\n outline-offset: var(--slider-focus-ring-offset);\n }\n }\n}\n"],"mappings":";AAEA;AACE,GAACA;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACT,iBAAa,IAAI;AACnB;AAEA,GAACC;AACC,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,yBAAqB,IAAI;AACzB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AACF;;;
|
|
1
|
+
{"version":3,"sources":["../src/internal/AriaField.module.css","../src/slider/Slider.module.css"],"sourcesContent":["/* The same --field-* tokens Field reads, on React Aria's label, description and error parts. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .field {\n display: flex;\n flex-direction: column;\n gap: var(--field-gap);\n font-family: var(--font-family-body);\n }\n\n .label {\n font-size: var(--field-label-font-size);\n font-weight: var(--field-label-font-weight);\n color: var(--field-label-fg);\n }\n\n .required {\n margin-inline-start: var(--field-required-gap);\n color: var(--field-required-fg);\n }\n\n .description {\n margin: 0;\n font-size: var(--field-description-font-size);\n color: var(--field-description-fg);\n }\n\n .error {\n margin: 0;\n font-size: var(--field-error-font-size);\n color: var(--field-error-fg);\n }\n}\n","/*\n * Every value is a token (--slider-*); the label and description read\n * --field-*. React Aria positions the thumbs and the fill (its inline\n * values); the rail is the visible track inside a larger pointer target.\n * State: data-orientation and data-disabled on the root; data-dragging,\n * data-hovered, data-focus-visible on a thumb.\n */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .root {\n --_thumb: var(--slider-thumb-size);\n\n display: flex;\n flex-direction: column;\n gap: var(--slider-gap);\n inline-size: 100%;\n font-family: var(--slider-font-family);\n\n &[data-orientation=\"vertical\"] {\n inline-size: auto;\n block-size: var(--slider-track-length);\n }\n\n }\n\n .header {\n display: flex;\n justify-content: space-between;\n gap: var(--slider-gap);\n }\n\n .hidden {\n position: absolute;\n inline-size: var(--size-hairline);\n block-size: var(--size-hairline);\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n }\n\n .output {\n color: var(--slider-output-fg);\n font-family: var(--slider-output-font-family);\n font-size: var(--slider-output-font-size);\n font-variant-numeric: tabular-nums;\n }\n\n .track {\n position: relative;\n block-size: var(--slider-track-hit-size);\n\n .root[data-orientation=\"vertical\"] & {\n inline-size: var(--slider-track-hit-size);\n block-size: 100%;\n }\n }\n\n /* Disabled dims the track, not the label and output, so the text keeps its contrast. */\n .root[data-disabled] .track {\n opacity: 0.55;\n }\n\n .rail {\n position: absolute;\n inset-block-start: 50%;\n inline-size: 100%;\n block-size: var(--slider-track-size);\n overflow: hidden;\n border-radius: var(--slider-track-radius);\n background-color: var(--slider-track-bg);\n translate: 0 -50%;\n\n .root[data-orientation=\"vertical\"] & {\n inset-block-start: 0;\n inset-inline-start: 50%;\n inline-size: var(--slider-track-size);\n block-size: 100%;\n translate: -50% 0;\n }\n }\n\n .fill {\n position: absolute;\n block-size: 100%;\n background-color: var(--slider-fill);\n\n .root[data-orientation=\"vertical\"] & {\n inline-size: 100%;\n }\n }\n\n .thumb {\n inset-block-start: 50%;\n inline-size: var(--_thumb);\n block-size: var(--_thumb);\n border: var(--slider-thumb-border-width) solid var(--slider-thumb-border);\n border-radius: var(--slider-thumb-radius);\n background-color: var(--slider-thumb-bg);\n box-shadow: var(--slider-thumb-shadow);\n cursor: grab;\n transition: border-color var(--slider-motion-duration) var(--motion-easing-standard);\n\n .root[data-orientation=\"vertical\"] & {\n inset-block-start: auto;\n inset-inline-start: 50%;\n }\n\n &[data-hovered],\n &[data-dragging] {\n border-color: var(--slider-thumb-border-hover);\n }\n\n &[data-dragging] {\n cursor: grabbing;\n }\n\n &[data-focus-visible] {\n outline: var(--slider-focus-ring-width) solid var(--slider-focus-ring);\n outline-offset: var(--slider-focus-ring-offset);\n }\n }\n}\n"],"mappings":";AAEA;AAEA;AACE,GAACA;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACT,iBAAa,IAAI;AACnB;AAEA,GAACC;AACC,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,yBAAqB,IAAI;AACzB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AACF;;;AC1BA;AAEA;AACE,GAACC;AACC,cAAU,IAAI;AAEd,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACT,iBAAa;AACb,iBAAa,IAAI;AAEjB,KAAC,CAAC;AACA,mBAAa;AACb,kBAAY,IAAI;AAClB;AAEF;AAEA,GAACC;AACC,aAAS;AACT,qBAAiB;AACjB,SAAK,IAAI;AACX;AAEA,GAACC;AACC,cAAU;AACV,iBAAa,IAAI;AACjB,gBAAY,IAAI;AAChB,cAAU;AACV,eAAW,MAAM;AACjB,iBAAa;AACf;AAEA,GAACC;AACC,WAAO,IAAI;AACX,iBAAa,IAAI;AACjB,eAAW,IAAI;AACf,0BAAsB;AACxB;AAEA,GAACC;AACC,cAAU;AACV,gBAAY,IAAI;AAEhB,KA1CDJ,WA0CM,CAAC,2BAA6B;AACjC,mBAAa,IAAI;AACjB,kBAAY;AACd;AACF;AAGA,GAjDCA,WAiDI,CAAC,eAAe,CAXpBI;AAYC,aAAS;AACX;AAEA,GAACC;AACC,cAAU;AACV,uBAAmB;AACnB,iBAAa;AACb,gBAAY,IAAI;AAChB,cAAU;AACV,mBAAe,IAAI;AACnB,sBAAkB,IAAI;AACtB,eAAW,EAAE;AAEb,KA/DDL,WA+DM,CAAC,2BAA6B;AACjC,yBAAmB;AACnB,0BAAoB;AACpB,mBAAa,IAAI;AACjB,kBAAY;AACZ,iBAAW,KAAK;AAClB;AACF;AAEA,GAACM;AACC,cAAU;AACV,gBAAY;AACZ,sBAAkB,IAAI;AAEtB,KA7EDN,WA6EM,CAAC,2BAA6B;AACjC,mBAAa;AACf;AACF;AAEA,GAACO;AACC,uBAAmB;AACnB,iBAAa,IAAI;AACjB,gBAAY,IAAI;AAChB,YAAQ,IAAI,6BAA6B,MAAM,IAAI;AACnD,mBAAe,IAAI;AACnB,sBAAkB,IAAI;AACtB,gBAAY,IAAI;AAChB,YAAQ;AACR,gBAAY,aAAa,IAAI,0BAA0B,IAAI;AAE3D,KA7FDP,WA6FM,CAAC,2BAA6B;AACjC,yBAAmB;AACnB,0BAAoB;AACtB;AAEA,KAAC,CAAC;AAAA,IACF,CAAC,CAAC;AACA,oBAAc,IAAI;AACpB;AAEA,KAAC,CAAC;AACA,cAAQ;AACV;AAEA,KAAC,CAAC;AACA,eAAS,IAAI,2BAA2B,MAAM,IAAI;AAClD,sBAAgB,IAAI;AACtB;AACF;AACF;","names":["field","label","required","description","error","root","header","hidden","output","track","rail","fill","thumb"]}
|
package/dist/slider.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { Slider } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
"use client";export { Slider } from './chunk-YBECKOVP.js';
|
|
2
|
+
import './chunk-DGIXNUNI.js';
|
|
3
3
|
import './chunk-MI4QUKQS.js';
|
|
4
4
|
//# sourceMappingURL=slider.js.map
|
|
5
5
|
//# sourceMappingURL=slider.js.map
|
package/dist/spinner.css
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* src/visually-hidden/VisuallyHidden.module.css */
|
|
2
|
+
@layer reset, tokens, vendor, base, components, utilities;
|
|
2
3
|
@layer components {
|
|
3
4
|
.VisuallyHidden_root {
|
|
4
5
|
position: absolute;
|
|
@@ -14,6 +15,7 @@
|
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
/* src/spinner/Spinner.module.css */
|
|
18
|
+
@layer reset, tokens, vendor, base, components, utilities;
|
|
17
19
|
@layer components {
|
|
18
20
|
.Spinner_spinner {
|
|
19
21
|
--_size: var(--spinner-size-md);
|
package/dist/spinner.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/visually-hidden/VisuallyHidden.module.css","../src/spinner/Spinner.module.css"],"sourcesContent":["/* The clip-path technique: present in the accessibility tree, absent from the layout. */\n\n@layer components {\n .root {\n position: absolute;\n inline-size: var(--visually-hidden-size);\n block-size: var(--visually-hidden-size);\n padding: 0;\n margin: 0;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n}\n","/* Every value is a token (--spinner-*). The ring is a border with one coloured side. */\n\n@layer components {\n .spinner {\n --_size: var(--spinner-size-md);\n --_track: var(--spinner-track);\n --_indicator: var(--spinner-indicator);\n\n display: inline-flex;\n flex: none;\n inline-size: var(--_size);\n block-size: var(--_size);\n vertical-align: middle;\n\n &[data-size=\"sm\"] { --_size: var(--spinner-size-sm); }\n &[data-size=\"lg\"] { --_size: var(--spinner-size-lg); }\n &[data-size=\"inherit\"] { --_size: 1em; }\n\n &[data-tone=\"inherit\"] {\n --_track: transparent;\n --_indicator: currentcolor;\n }\n }\n\n .ring {\n inline-size: 100%;\n block-size: 100%;\n border: var(--spinner-width) solid var(--_track);\n border-block-start-color: var(--_indicator);\n border-radius: var(--radius-full);\n animation: spin var(--spinner-duration) linear infinite;\n }\n\n @keyframes spin {\n to {\n rotate: 1turn;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .ring {\n animation: none;\n }\n }\n}\n"],"mappings":";AAEA;AACE,GAACA;AACC,cAAU;AACV,iBAAa,IAAI;AACjB,gBAAY,IAAI;AAChB,aAAS;AACT,YAAQ;AACR,cAAU;AACV,eAAW,MAAM;AACjB,iBAAa;AACb,YAAQ;AACV;AACF;;;
|
|
1
|
+
{"version":3,"sources":["../src/visually-hidden/VisuallyHidden.module.css","../src/spinner/Spinner.module.css"],"sourcesContent":["/* The clip-path technique: present in the accessibility tree, absent from the layout. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .root {\n position: absolute;\n inline-size: var(--visually-hidden-size);\n block-size: var(--visually-hidden-size);\n padding: 0;\n margin: 0;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n}\n","/* Every value is a token (--spinner-*). The ring is a border with one coloured side. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .spinner {\n --_size: var(--spinner-size-md);\n --_track: var(--spinner-track);\n --_indicator: var(--spinner-indicator);\n\n display: inline-flex;\n flex: none;\n inline-size: var(--_size);\n block-size: var(--_size);\n vertical-align: middle;\n\n &[data-size=\"sm\"] { --_size: var(--spinner-size-sm); }\n &[data-size=\"lg\"] { --_size: var(--spinner-size-lg); }\n &[data-size=\"inherit\"] { --_size: 1em; }\n\n &[data-tone=\"inherit\"] {\n --_track: transparent;\n --_indicator: currentcolor;\n }\n }\n\n .ring {\n inline-size: 100%;\n block-size: 100%;\n border: var(--spinner-width) solid var(--_track);\n border-block-start-color: var(--_indicator);\n border-radius: var(--radius-full);\n animation: spin var(--spinner-duration) linear infinite;\n }\n\n @keyframes spin {\n to {\n rotate: 1turn;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .ring {\n animation: none;\n }\n }\n}\n"],"mappings":";AAEA;AAEA;AACE,GAACA;AACC,cAAU;AACV,iBAAa,IAAI;AACjB,gBAAY,IAAI;AAChB,aAAS;AACT,YAAQ;AACR,cAAU;AACV,eAAW,MAAM;AACjB,iBAAa;AACb,YAAQ;AACV;AACF;;;ACdA;AAEA;AACE,GAACC;AACC,aAAS,IAAI;AACb,cAAU,IAAI;AACd,kBAAc,IAAI;AAElB,aAAS;AACT,UAAM;AACN,iBAAa,IAAI;AACjB,gBAAY,IAAI;AAChB,oBAAgB;AAEhB,KAAC,CAAC;AAAkB,eAAS,IAAI;AAAoB;AACrD,KAAC,CAAC;AAAkB,eAAS,IAAI;AAAoB;AACrD,KAAC,CAAC;AAAuB,eAAS;AAAK;AAEvC,KAAC,CAAC;AACA,gBAAU;AACV,oBAAc;AAChB;AACF;AAEA,GAACC;AACC,iBAAa;AACb,gBAAY;AACZ,YAAQ,IAAI,iBAAiB,MAAM,IAAI;AACvC,8BAA0B,IAAI;AAC9B,mBAAe,IAAI;AACnB,eAAW,aAAK,IAAI,oBAAoB,OAAO;AACjD;AAEA,aAHaC;AAIX;AACE,cAAQ;AACV;AACF;AAEA,UAAO,wBAAyB;AAC9B,KAhBDD;AAiBG,iBAAW;AACb;AACF;AACF;","names":["root","spinner","ring","spin"]}
|