@womp/kookie-ui 0.3.26 → 0.4.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/AUTHORS +27 -0
- package/LICENSE +29 -0
- package/README.md +21 -1
- package/components.css +4 -4
- package/dist/cjs/components/_internal/shell-bottom.js +1 -1
- package/dist/cjs/components/_internal/shell-bottom.js.map +3 -3
- package/dist/cjs/components/_internal/shell-inspector.js +1 -1
- package/dist/cjs/components/_internal/shell-inspector.js.map +3 -3
- package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
- package/dist/cjs/components/_internal/shell-sidebar.js.map +3 -3
- package/dist/cjs/components/alert-dialog.js +1 -1
- package/dist/cjs/components/alert-dialog.js.map +3 -3
- package/dist/cjs/components/badge.js +1 -1
- package/dist/cjs/components/badge.js.map +3 -3
- package/dist/cjs/components/button.js +1 -1
- package/dist/cjs/components/button.js.map +3 -3
- package/dist/cjs/components/chatbar.js +2 -2
- package/dist/cjs/components/chatbar.js.map +3 -3
- package/dist/cjs/components/checkbox-cards.js +1 -1
- package/dist/cjs/components/checkbox-cards.js.map +3 -3
- package/dist/cjs/components/combobox.js +1 -1
- package/dist/cjs/components/combobox.js.map +3 -3
- package/dist/cjs/components/context-menu.js +1 -1
- package/dist/cjs/components/context-menu.js.map +3 -3
- package/dist/cjs/components/dialog.js +1 -1
- package/dist/cjs/components/dialog.js.map +3 -3
- package/dist/cjs/components/dropdown-menu.js +1 -1
- package/dist/cjs/components/dropdown-menu.js.map +3 -3
- package/dist/cjs/components/hover-card.js +1 -1
- package/dist/cjs/components/hover-card.js.map +3 -3
- package/dist/cjs/components/icon-button.js +2 -2
- package/dist/cjs/components/icon-button.js.map +3 -3
- package/dist/cjs/components/index.js +5 -5
- package/dist/cjs/components/index.js.map +3 -3
- package/dist/cjs/components/popover.js +1 -1
- package/dist/cjs/components/popover.js.map +3 -3
- package/dist/cjs/components/radio-cards.js +1 -1
- package/dist/cjs/components/radio-cards.js.map +3 -3
- package/dist/cjs/components/select.js +1 -1
- package/dist/cjs/components/select.js.map +3 -3
- package/dist/cjs/components/sheet.js +1 -1
- package/dist/cjs/components/sheet.js.map +3 -3
- package/dist/cjs/components/shell.js +1 -1
- package/dist/cjs/components/shell.js.map +3 -3
- package/dist/cjs/components/sidebar.js +1 -1
- package/dist/cjs/components/sidebar.js.map +3 -3
- package/dist/cjs/components/theme-panel.js +3 -3
- package/dist/cjs/components/theme-panel.js.map +3 -3
- package/dist/cjs/components/theme.d.ts +3 -0
- package/dist/cjs/components/theme.d.ts.map +1 -1
- package/dist/cjs/components/theme.js +1 -1
- package/dist/cjs/components/theme.js.map +3 -3
- package/dist/cjs/components/theme.props.d.ts +15 -1
- package/dist/cjs/components/theme.props.d.ts.map +1 -1
- package/dist/cjs/components/theme.props.js +1 -1
- package/dist/cjs/components/theme.props.js.map +2 -2
- package/dist/cjs/components/toggle-button.js +2 -2
- package/dist/cjs/components/toggle-button.js.map +3 -3
- package/dist/cjs/components/toggle-icon-button.js +3 -3
- package/dist/cjs/components/toggle-icon-button.js.map +3 -3
- package/dist/cjs/components/tooltip.js +1 -1
- package/dist/cjs/components/tooltip.js.map +3 -3
- package/dist/cjs/components/user-card.js +1 -1
- package/dist/cjs/components/user-card.js.map +3 -3
- package/dist/cjs/helpers/font-config.d.ts +84 -77
- package/dist/cjs/helpers/font-config.d.ts.map +1 -1
- package/dist/cjs/helpers/font-config.js +5 -2
- package/dist/cjs/helpers/font-config.js.map +3 -3
- package/dist/cjs/helpers/index.js +5 -2
- package/dist/cjs/helpers/index.js.map +3 -3
- package/dist/cjs/index.js +5 -5
- package/dist/cjs/index.js.map +3 -3
- package/dist/cjs/props/index.js +1 -1
- package/dist/cjs/props/index.js.map +2 -2
- package/dist/esm/{chunk-4CKDU6FY.js → chunk-2FYJTSOP.js} +2 -2
- package/dist/esm/{chunk-ICIGZ3N7.js → chunk-374ZYJUP.js} +2 -2
- package/dist/esm/{chunk-F2HYQ3ZR.js → chunk-6IGTK4JE.js} +2 -2
- package/dist/esm/chunk-6XGZPIUT.js +2 -0
- package/dist/esm/{chunk-T27QHMW7.js.map → chunk-6XGZPIUT.js.map} +2 -2
- package/dist/esm/{chunk-FLFAXVFB.js → chunk-A2RZGGMY.js} +2 -2
- package/dist/esm/{chunk-KKM6T5P7.js → chunk-AU3D6F42.js} +2 -2
- package/dist/esm/{chunk-O3CDWEZA.js → chunk-CVWCKOHO.js} +2 -2
- package/dist/esm/{chunk-JQQIPEGY.js → chunk-CWRNW44F.js} +2 -2
- package/dist/esm/{chunk-UVCH7QKO.js → chunk-DNHUQLXO.js} +2 -2
- package/dist/esm/{chunk-FOEZLQTW.js → chunk-FXUUI6Z2.js} +2 -2
- package/dist/esm/{chunk-WO43WW3A.js → chunk-IKSN4RNB.js} +2 -2
- package/dist/esm/{chunk-4IY2PR6N.js → chunk-K6QZMNCD.js} +2 -2
- package/dist/esm/{chunk-DL2O3GKG.js → chunk-KKBP2CRH.js} +2 -2
- package/dist/esm/{chunk-VLO7NXSP.js → chunk-M24UXMOQ.js} +2 -2
- package/dist/esm/{chunk-MRECKC4D.js → chunk-MK2R6DAU.js} +2 -2
- package/dist/esm/{chunk-5IBGFL6O.js → chunk-MOR3NSXQ.js} +2 -2
- package/dist/esm/{chunk-PQZXQ4ST.js → chunk-OSRJRBKP.js} +2 -2
- package/dist/esm/{chunk-WTYNFBFV.js → chunk-PLWXTEVE.js} +2 -2
- package/dist/esm/{chunk-U2X2CAW4.js → chunk-QEOAXJLN.js} +2 -2
- package/dist/esm/{chunk-36ZQVP7F.js → chunk-RMKXWYOV.js} +2 -2
- package/dist/esm/{chunk-BJYUPIXO.js → chunk-S56YSRHP.js} +2 -2
- package/dist/esm/{chunk-22HGLMPQ.js → chunk-TOLLPRMM.js} +2 -2
- package/dist/esm/{chunk-ETMLMDW4.js → chunk-UGD7Z3L4.js} +2 -2
- package/dist/esm/chunk-VA5A4MHU.js +6 -0
- package/dist/esm/chunk-VA5A4MHU.js.map +7 -0
- package/dist/esm/{chunk-4BBOHEF4.js → chunk-W7N7V5YD.js} +2 -2
- package/dist/esm/{chunk-D5N627TH.js → chunk-WFMYNZXZ.js} +2 -2
- package/dist/esm/{chunk-JR2YOGII.js → chunk-YEB3H7QN.js} +2 -2
- package/dist/esm/chunk-YUP6EICB.js +2 -0
- package/dist/esm/chunk-YUP6EICB.js.map +7 -0
- package/dist/esm/components/_internal/shell-bottom.js +1 -1
- package/dist/esm/components/_internal/shell-inspector.js +1 -1
- package/dist/esm/components/_internal/shell-sidebar.js +1 -1
- package/dist/esm/components/alert-dialog.js +1 -1
- package/dist/esm/components/badge.js +1 -1
- package/dist/esm/components/button.js +1 -1
- package/dist/esm/components/chatbar.js +1 -1
- package/dist/esm/components/checkbox-cards.js +1 -1
- package/dist/esm/components/combobox.js +1 -1
- package/dist/esm/components/context-menu.js +1 -1
- package/dist/esm/components/dialog.js +1 -1
- package/dist/esm/components/dropdown-menu.js +1 -1
- package/dist/esm/components/hover-card.js +1 -1
- package/dist/esm/components/icon-button.js +1 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/popover.js +1 -1
- package/dist/esm/components/radio-cards.js +1 -1
- package/dist/esm/components/select.js +1 -1
- package/dist/esm/components/sheet.js +1 -1
- package/dist/esm/components/shell.js +1 -1
- package/dist/esm/components/sidebar.js +1 -1
- package/dist/esm/components/theme-panel.js +1 -1
- package/dist/esm/components/theme.d.ts +3 -0
- package/dist/esm/components/theme.d.ts.map +1 -1
- package/dist/esm/components/theme.js +1 -1
- package/dist/esm/components/theme.props.d.ts +15 -1
- package/dist/esm/components/theme.props.d.ts.map +1 -1
- package/dist/esm/components/theme.props.js +1 -1
- package/dist/esm/components/toggle-button.js +1 -1
- package/dist/esm/components/toggle-icon-button.js +1 -1
- package/dist/esm/components/tooltip.js +1 -1
- package/dist/esm/components/user-card.js +1 -1
- package/dist/esm/helpers/font-config.d.ts +84 -77
- package/dist/esm/helpers/font-config.d.ts.map +1 -1
- package/dist/esm/helpers/font-config.js +1 -1
- package/dist/esm/helpers/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/props/index.js +1 -1
- package/fonts.css +8 -0
- package/package.json +17 -7
- package/src/components/heading.css +10 -3
- package/src/components/text.css +10 -3
- package/src/components/theme.props.tsx +13 -1
- package/src/components/theme.tsx +18 -0
- package/src/helpers/font-config.ts +130 -148
- package/src/styles/fonts.css +24 -29
- package/src/styles/index.css +0 -1
- package/src/styles/tokens/base.css +1 -0
- package/src/styles/tokens/font-family.css +263 -0
- package/src/styles/tokens/typography.css +2 -216
- package/styles.css +8607 -8616
- package/tokens/base.css +37 -27
- package/tokens.css +37 -27
- package/dist/esm/chunk-LOGJJF4I.js +0 -2
- package/dist/esm/chunk-LOGJJF4I.js.map +0 -7
- package/dist/esm/chunk-Q7P6BTVU.js +0 -3
- package/dist/esm/chunk-Q7P6BTVU.js.map +0 -7
- package/dist/esm/chunk-T27QHMW7.js +0 -2
- /package/dist/esm/{chunk-4CKDU6FY.js.map → chunk-2FYJTSOP.js.map} +0 -0
- /package/dist/esm/{chunk-ICIGZ3N7.js.map → chunk-374ZYJUP.js.map} +0 -0
- /package/dist/esm/{chunk-F2HYQ3ZR.js.map → chunk-6IGTK4JE.js.map} +0 -0
- /package/dist/esm/{chunk-FLFAXVFB.js.map → chunk-A2RZGGMY.js.map} +0 -0
- /package/dist/esm/{chunk-KKM6T5P7.js.map → chunk-AU3D6F42.js.map} +0 -0
- /package/dist/esm/{chunk-O3CDWEZA.js.map → chunk-CVWCKOHO.js.map} +0 -0
- /package/dist/esm/{chunk-JQQIPEGY.js.map → chunk-CWRNW44F.js.map} +0 -0
- /package/dist/esm/{chunk-UVCH7QKO.js.map → chunk-DNHUQLXO.js.map} +0 -0
- /package/dist/esm/{chunk-FOEZLQTW.js.map → chunk-FXUUI6Z2.js.map} +0 -0
- /package/dist/esm/{chunk-WO43WW3A.js.map → chunk-IKSN4RNB.js.map} +0 -0
- /package/dist/esm/{chunk-4IY2PR6N.js.map → chunk-K6QZMNCD.js.map} +0 -0
- /package/dist/esm/{chunk-DL2O3GKG.js.map → chunk-KKBP2CRH.js.map} +0 -0
- /package/dist/esm/{chunk-VLO7NXSP.js.map → chunk-M24UXMOQ.js.map} +0 -0
- /package/dist/esm/{chunk-MRECKC4D.js.map → chunk-MK2R6DAU.js.map} +0 -0
- /package/dist/esm/{chunk-5IBGFL6O.js.map → chunk-MOR3NSXQ.js.map} +0 -0
- /package/dist/esm/{chunk-PQZXQ4ST.js.map → chunk-OSRJRBKP.js.map} +0 -0
- /package/dist/esm/{chunk-WTYNFBFV.js.map → chunk-PLWXTEVE.js.map} +0 -0
- /package/dist/esm/{chunk-U2X2CAW4.js.map → chunk-QEOAXJLN.js.map} +0 -0
- /package/dist/esm/{chunk-36ZQVP7F.js.map → chunk-RMKXWYOV.js.map} +0 -0
- /package/dist/esm/{chunk-BJYUPIXO.js.map → chunk-S56YSRHP.js.map} +0 -0
- /package/dist/esm/{chunk-22HGLMPQ.js.map → chunk-TOLLPRMM.js.map} +0 -0
- /package/dist/esm/{chunk-ETMLMDW4.js.map → chunk-UGD7Z3L4.js.map} +0 -0
- /package/dist/esm/{chunk-4BBOHEF4.js.map → chunk-W7N7V5YD.js.map} +0 -0
- /package/dist/esm/{chunk-D5N627TH.js.map → chunk-WFMYNZXZ.js.map} +0 -0
- /package/dist/esm/{chunk-JR2YOGII.js.map → chunk-YEB3H7QN.js.map} +0 -0
|
@@ -1,106 +1,113 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Runtime font configuration for Kookie UI.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* and
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
*
|
|
4
|
+
* This is a thin, typed wrapper over the CSS tokens in `styles/tokens/font-family.css` —
|
|
5
|
+
* it writes the same variables you would write by hand, and nothing else. Prefer plain CSS
|
|
6
|
+
* where you can; reach for this when the stacks are only known at runtime (a theme editor,
|
|
7
|
+
* a user-selectable typeface).
|
|
8
|
+
*
|
|
9
|
+
* Two tiers, matching the CSS:
|
|
10
|
+
*
|
|
11
|
+
* - `stacks` — which typefaces exist: `sans`, `mono`, `serif`. Written to `:root`.
|
|
12
|
+
* - `roles` — which stack each role uses: `body`, `heading`, `code`, `strong`, `em`,
|
|
13
|
+
* `quote`. Written to the theme element, since roles are per-theme.
|
|
9
14
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
15
|
+
/** Tier 1 — the typefaces available to the theme. */
|
|
16
|
+
export interface FontStacks {
|
|
17
|
+
/** Sans-serif stack. Backs `font="sans"` and, by default, body text. */
|
|
12
18
|
sans?: string;
|
|
13
|
-
/** Monospace
|
|
19
|
+
/** Monospace stack. Backs `font="mono"` and `Code`. */
|
|
14
20
|
mono?: string;
|
|
15
|
-
/** Serif
|
|
21
|
+
/** Serif stack. Backs `font="serif"`, `Em` and `Quote`. */
|
|
16
22
|
serif?: string;
|
|
17
|
-
/** Base Inter font replacement */
|
|
18
|
-
inter?: string;
|
|
19
|
-
/** Base JetBrains Mono font replacement */
|
|
20
|
-
jetbrainsMono?: string;
|
|
21
|
-
/** Base Playfair Display font replacement */
|
|
22
|
-
playfairDisplay?: string;
|
|
23
23
|
}
|
|
24
|
-
/**
|
|
25
|
-
|
|
26
|
-
*/
|
|
27
|
-
|
|
24
|
+
/** Tier 2 — which stack each role of text uses. */
|
|
25
|
+
export interface FontRoles {
|
|
26
|
+
/** Body text: `Text`, inputs, buttons, and anything that does not opt out. */
|
|
27
|
+
body?: string;
|
|
28
|
+
/** `Heading`. Follows `body` when left unset. */
|
|
29
|
+
heading?: string;
|
|
30
|
+
/** `Code`. */
|
|
31
|
+
code?: string;
|
|
32
|
+
/** `Strong`. */
|
|
33
|
+
strong?: string;
|
|
34
|
+
/** `Em`. */
|
|
35
|
+
em?: string;
|
|
36
|
+
/** `Quote`. */
|
|
37
|
+
quote?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface FontConfig {
|
|
40
|
+
stacks?: FontStacks;
|
|
41
|
+
roles?: FontRoles;
|
|
42
|
+
}
|
|
43
|
+
/** CSS custom properties backing each stack. Declared on `:root`. */
|
|
44
|
+
export declare const FONT_STACK_VARIABLES: {
|
|
28
45
|
readonly sans: "--font-sans";
|
|
29
46
|
readonly mono: "--font-mono";
|
|
30
47
|
readonly serif: "--font-serif";
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
readonly
|
|
35
|
-
readonly
|
|
36
|
-
readonly
|
|
37
|
-
readonly
|
|
48
|
+
};
|
|
49
|
+
/** CSS custom properties backing each role. Declared on the theme element. */
|
|
50
|
+
export declare const FONT_ROLE_VARIABLES: {
|
|
51
|
+
readonly body: "--font-body";
|
|
52
|
+
readonly heading: "--font-heading";
|
|
53
|
+
readonly code: "--font-code";
|
|
54
|
+
readonly strong: "--font-strong";
|
|
55
|
+
readonly em: "--font-em";
|
|
56
|
+
readonly quote: "--font-quote";
|
|
38
57
|
};
|
|
39
58
|
/**
|
|
40
|
-
*
|
|
59
|
+
* Ready-made stacks, each ending in a system fallback.
|
|
60
|
+
*
|
|
61
|
+
* The webfont entries assume the face is already loaded — via
|
|
62
|
+
* `import '@womp/kookie-ui/fonts.css'`, `next/font`, or your own `@font-face`.
|
|
63
|
+
* Kookie's core stylesheet deliberately loads none.
|
|
41
64
|
*/
|
|
42
65
|
export declare const FONT_STACKS: {
|
|
43
|
-
readonly
|
|
44
|
-
readonly
|
|
45
|
-
readonly poppins: "'Poppins',
|
|
46
|
-
readonly openSans: "'Open Sans
|
|
47
|
-
readonly
|
|
48
|
-
readonly
|
|
49
|
-
readonly
|
|
50
|
-
readonly
|
|
51
|
-
readonly
|
|
52
|
-
readonly
|
|
66
|
+
readonly system: "-apple-system, BlinkMacSystemFont, 'Segoe UI (Custom)', Roboto, 'Helvetica Neue', system-ui, sans-serif";
|
|
67
|
+
readonly inter: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI (Custom)', Roboto, system-ui, sans-serif";
|
|
68
|
+
readonly poppins: "'Poppins', -apple-system, BlinkMacSystemFont, system-ui, sans-serif";
|
|
69
|
+
readonly openSans: "'Open Sans (Custom)', -apple-system, BlinkMacSystemFont, system-ui, sans-serif";
|
|
70
|
+
readonly systemMono: "'Menlo', 'Consolas (Custom)', 'Bitstream Vera Sans Mono', monospace";
|
|
71
|
+
readonly jetbrainsMono: "'JetBrains Mono', 'Menlo', 'Consolas (Custom)', monospace";
|
|
72
|
+
readonly firaCode: "'Fira Code', 'Menlo', 'Consolas (Custom)', monospace";
|
|
73
|
+
readonly sourceCodePro: "'Source Code Pro', 'Menlo', 'Consolas (Custom)', monospace";
|
|
74
|
+
readonly systemSerif: "'Times New Roman', 'Times', 'Georgia', 'Cambria', serif";
|
|
75
|
+
readonly playfair: "'Playfair Display', 'Times New Roman', 'Georgia', serif";
|
|
53
76
|
readonly georgia: "'Georgia', 'Times New Roman', 'Times', serif";
|
|
54
|
-
readonly lora: "'Lora', 'Times New Roman',
|
|
77
|
+
readonly lora: "'Lora', 'Georgia', 'Times New Roman', serif";
|
|
55
78
|
};
|
|
56
79
|
/**
|
|
57
|
-
* Apply font configuration
|
|
80
|
+
* Apply a font configuration.
|
|
58
81
|
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
82
|
+
* Stacks land on `:root` and roles on `themeElement`, mirroring where the stylesheet
|
|
83
|
+
* declares them — writing a role to `:root` would not survive, because the theme
|
|
84
|
+
* element declares its own.
|
|
61
85
|
*
|
|
62
86
|
* @example
|
|
63
87
|
* ```ts
|
|
64
|
-
* //
|
|
65
|
-
* applyFontConfig({
|
|
66
|
-
* sans: FONT_STACKS.poppins,
|
|
67
|
-
* mono: FONT_STACKS.firaCode
|
|
68
|
-
* });
|
|
69
|
-
*
|
|
70
|
-
* // Use system fonts only
|
|
88
|
+
* // Serif headings over a sans body
|
|
71
89
|
* applyFontConfig({
|
|
72
|
-
* sans: FONT_STACKS.
|
|
73
|
-
*
|
|
90
|
+
* stacks: { sans: FONT_STACKS.inter, serif: FONT_STACKS.playfair },
|
|
91
|
+
* roles: { heading: 'var(--font-serif)' },
|
|
74
92
|
* });
|
|
75
93
|
* ```
|
|
76
94
|
*/
|
|
77
|
-
export declare function applyFontConfig(config: FontConfig,
|
|
95
|
+
export declare function applyFontConfig(config: FontConfig, { root, themeElement }?: {
|
|
96
|
+
root?: HTMLElement;
|
|
97
|
+
themeElement?: HTMLElement | null;
|
|
98
|
+
}): void;
|
|
78
99
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* @param config Font configuration object
|
|
82
|
-
* @returns CSS string that can be injected into a stylesheet
|
|
83
|
-
*
|
|
84
|
-
* @example
|
|
85
|
-
* ```ts
|
|
86
|
-
* const css = generateFontCSS({
|
|
87
|
-
* sans: FONT_STACKS.poppins,
|
|
88
|
-
* mono: FONT_STACKS.firaCode
|
|
89
|
-
* });
|
|
90
|
-
*
|
|
91
|
-
* // Inject into document
|
|
92
|
-
* const style = document.createElement('style');
|
|
93
|
-
* style.textContent = css;
|
|
94
|
-
* document.head.appendChild(style);
|
|
95
|
-
* ```
|
|
100
|
+
* Render a font configuration as a CSS string, for injecting into a stylesheet or
|
|
101
|
+
* emitting server-side.
|
|
96
102
|
*/
|
|
97
103
|
export declare function generateFontCSS(config: FontConfig): string;
|
|
98
|
-
/**
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
/** Drop every inline font override, falling back to the stylesheet's defaults. */
|
|
105
|
+
export declare function resetFonts({ root, themeElement }?: {
|
|
106
|
+
root?: HTMLElement;
|
|
107
|
+
themeElement?: HTMLElement | null;
|
|
108
|
+
}): void;
|
|
109
|
+
/** Read the stacks and roles currently in effect. */
|
|
110
|
+
export declare function getCurrentFontConfig({ themeElement }?: {
|
|
111
|
+
themeElement?: HTMLElement | null;
|
|
112
|
+
}): Required<FontConfig>;
|
|
106
113
|
//# sourceMappingURL=font-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font-config.d.ts","sourceRoot":"","sources":["../../../src/helpers/font-config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"font-config.d.ts","sourceRoot":"","sources":["../../../src/helpers/font-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,qDAAqD;AACrD,MAAM,WAAW,UAAU;IACzB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,mDAAmD;AACnD,MAAM,WAAW,SAAS;IACxB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,eAAe;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,qEAAqE;AACrE,eAAO,MAAM,oBAAoB;;;;CAIgC,CAAC;AAElE,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB;;;;;;;CAOgC,CAAC;AAEjE;;;;;;GAMG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;CAkBd,CAAC;AAeX;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,EAClB,EAAE,IAA+B,EAAE,YAAmE,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,WAAW,CAAC;IAAC,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAO,GACvK,IAAI,CAGN;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAc1D;AAED,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,EAAE,IAA+B,EAAE,YAAmE,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,WAAW,CAAC;IAAC,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAO,GAAG,IAAI,CAGzM;AAED,qDAAqD;AACrD,wBAAgB,oBAAoB,CAAC,EAAE,YAAmE,EAAE,GAAE;IAAE,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAqB9K"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
`)
|
|
1
|
+
"use strict";var m=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var g=(t,e)=>{for(var o in e)m(t,o,{get:e[o],enumerable:!0})},p=(t,e,o,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of u(e))!d.call(t,n)&&n!==o&&m(t,n,{get:()=>e[n],enumerable:!(s=f(e,n))||s.enumerable});return t};var y=t=>p(m({},"__esModule",{value:!0}),t);var T={};g(T,{FONT_ROLE_VARIABLES:()=>r,FONT_STACKS:()=>C,FONT_STACK_VARIABLES:()=>i,applyFontConfig:()=>S,generateFontCSS:()=>F,getCurrentFontConfig:()=>k,resetFonts:()=>M});module.exports=y(T);var i={sans:"--font-sans",mono:"--font-mono",serif:"--font-serif"},r={body:"--font-body",heading:"--font-heading",code:"--font-code",strong:"--font-strong",em:"--font-em",quote:"--font-quote"},C={system:"-apple-system, BlinkMacSystemFont, 'Segoe UI (Custom)', Roboto, 'Helvetica Neue', system-ui, sans-serif",inter:"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI (Custom)', Roboto, system-ui, sans-serif",poppins:"'Poppins', -apple-system, BlinkMacSystemFont, system-ui, sans-serif",openSans:"'Open Sans (Custom)', -apple-system, BlinkMacSystemFont, system-ui, sans-serif",systemMono:"'Menlo', 'Consolas (Custom)', 'Bitstream Vera Sans Mono', monospace",jetbrainsMono:"'JetBrains Mono', 'Menlo', 'Consolas (Custom)', monospace",firaCode:"'Fira Code', 'Menlo', 'Consolas (Custom)', monospace",sourceCodePro:"'Source Code Pro', 'Menlo', 'Consolas (Custom)', monospace",systemSerif:"'Times New Roman', 'Times', 'Georgia', 'Cambria', serif",playfair:"'Playfair Display', 'Times New Roman', 'Georgia', serif",georgia:"'Georgia', 'Times New Roman', 'Times', serif",lora:"'Lora', 'Georgia', 'Times New Roman', serif"};function c(t,e,o){for(let s of Object.keys(e)){let n=o[s];n&&t.style.setProperty(e[s],n)}}function l(t,e){for(let o of Object.values(e))t.style.removeProperty(o)}function S(t,{root:e=document.documentElement,themeElement:o=document.querySelector(".radix-themes")}={}){t.stacks&&c(e,i,t.stacks),t.roles&&o&&c(o,r,t.roles)}function F(t){let e=[],o=Object.entries(t.stacks??{}).filter(([,n])=>n);o.length&&e.push([":root {",...o.map(([n,a])=>` ${i[n]}: ${a};`),"}"].join(`
|
|
2
|
+
`));let s=Object.entries(t.roles??{}).filter(([,n])=>n);return s.length&&e.push([".radix-themes {",...s.map(([n,a])=>` ${r[n]}: ${a};`),"}"].join(`
|
|
3
|
+
`)),e.join(`
|
|
4
|
+
|
|
5
|
+
`)}function M({root:t=document.documentElement,themeElement:e=document.querySelector(".radix-themes")}={}){l(t,i),e&&l(e,r)}function k({themeElement:t=document.querySelector(".radix-themes")}={}){let e=getComputedStyle(t??document.documentElement),o=s=>e.getPropertyValue(s).trim()||void 0;return{stacks:{sans:o(i.sans),mono:o(i.mono),serif:o(i.serif)},roles:{body:o(r.body),heading:o(r.heading),code:o(r.code),strong:o(r.strong),em:o(r.em),quote:o(r.quote)}}}
|
|
3
6
|
//# sourceMappingURL=font-config.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/font-config.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n *
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,
|
|
6
|
-
"names": ["font_config_exports", "__export", "
|
|
4
|
+
"sourcesContent": ["/**\n * Runtime font configuration for Kookie UI.\n *\n * This is a thin, typed wrapper over the CSS tokens in `styles/tokens/font-family.css` \u2014\n * it writes the same variables you would write by hand, and nothing else. Prefer plain CSS\n * where you can; reach for this when the stacks are only known at runtime (a theme editor,\n * a user-selectable typeface).\n *\n * Two tiers, matching the CSS:\n *\n * - `stacks` \u2014 which typefaces exist: `sans`, `mono`, `serif`. Written to `:root`.\n * - `roles` \u2014 which stack each role uses: `body`, `heading`, `code`, `strong`, `em`,\n * `quote`. Written to the theme element, since roles are per-theme.\n */\n\n/** Tier 1 \u2014 the typefaces available to the theme. */\nexport interface FontStacks {\n /** Sans-serif stack. Backs `font=\"sans\"` and, by default, body text. */\n sans?: string;\n /** Monospace stack. Backs `font=\"mono\"` and `Code`. */\n mono?: string;\n /** Serif stack. Backs `font=\"serif\"`, `Em` and `Quote`. */\n serif?: string;\n}\n\n/** Tier 2 \u2014 which stack each role of text uses. */\nexport interface FontRoles {\n /** Body text: `Text`, inputs, buttons, and anything that does not opt out. */\n body?: string;\n /** `Heading`. Follows `body` when left unset. */\n heading?: string;\n /** `Code`. */\n code?: string;\n /** `Strong`. */\n strong?: string;\n /** `Em`. */\n em?: string;\n /** `Quote`. */\n quote?: string;\n}\n\nexport interface FontConfig {\n stacks?: FontStacks;\n roles?: FontRoles;\n}\n\n/** CSS custom properties backing each stack. Declared on `:root`. */\nexport const FONT_STACK_VARIABLES = {\n sans: '--font-sans',\n mono: '--font-mono',\n serif: '--font-serif',\n} as const satisfies Record<keyof FontStacks, `--font-${string}`>;\n\n/** CSS custom properties backing each role. Declared on the theme element. */\nexport const FONT_ROLE_VARIABLES = {\n body: '--font-body',\n heading: '--font-heading',\n code: '--font-code',\n strong: '--font-strong',\n em: '--font-em',\n quote: '--font-quote',\n} as const satisfies Record<keyof FontRoles, `--font-${string}`>;\n\n/**\n * Ready-made stacks, each ending in a system fallback.\n *\n * The webfont entries assume the face is already loaded \u2014 via\n * `import '@womp/kookie-ui/fonts.css'`, `next/font`, or your own `@font-face`.\n * Kookie's core stylesheet deliberately loads none.\n */\nexport const FONT_STACKS = {\n // Sans\n system: \"-apple-system, BlinkMacSystemFont, 'Segoe UI (Custom)', Roboto, 'Helvetica Neue', system-ui, sans-serif\",\n inter: \"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI (Custom)', Roboto, system-ui, sans-serif\",\n poppins: \"'Poppins', -apple-system, BlinkMacSystemFont, system-ui, sans-serif\",\n openSans: \"'Open Sans (Custom)', -apple-system, BlinkMacSystemFont, system-ui, sans-serif\",\n\n // Mono\n systemMono: \"'Menlo', 'Consolas (Custom)', 'Bitstream Vera Sans Mono', monospace\",\n jetbrainsMono: \"'JetBrains Mono', 'Menlo', 'Consolas (Custom)', monospace\",\n firaCode: \"'Fira Code', 'Menlo', 'Consolas (Custom)', monospace\",\n sourceCodePro: \"'Source Code Pro', 'Menlo', 'Consolas (Custom)', monospace\",\n\n // Serif\n systemSerif: \"'Times New Roman', 'Times', 'Georgia', 'Cambria', serif\",\n playfair: \"'Playfair Display', 'Times New Roman', 'Georgia', serif\",\n georgia: \"'Georgia', 'Times New Roman', 'Times', serif\",\n lora: \"'Lora', 'Georgia', 'Times New Roman', serif\",\n} as const;\n\nfunction write<K extends string>(target: HTMLElement, variables: Record<K, string>, values: Partial<Record<K, string>>) {\n for (const key of Object.keys(variables) as K[]) {\n const value = values[key];\n if (value) target.style.setProperty(variables[key], value);\n }\n}\n\nfunction clear(target: HTMLElement, variables: Record<string, string>) {\n for (const variable of Object.values(variables)) {\n target.style.removeProperty(variable);\n }\n}\n\n/**\n * Apply a font configuration.\n *\n * Stacks land on `:root` and roles on `themeElement`, mirroring where the stylesheet\n * declares them \u2014 writing a role to `:root` would not survive, because the theme\n * element declares its own.\n *\n * @example\n * ```ts\n * // Serif headings over a sans body\n * applyFontConfig({\n * stacks: { sans: FONT_STACKS.inter, serif: FONT_STACKS.playfair },\n * roles: { heading: 'var(--font-serif)' },\n * });\n * ```\n */\nexport function applyFontConfig(\n config: FontConfig,\n { root = document.documentElement, themeElement = document.querySelector<HTMLElement>('.radix-themes') }: { root?: HTMLElement; themeElement?: HTMLElement | null } = {},\n): void {\n if (config.stacks) write(root, FONT_STACK_VARIABLES, config.stacks);\n if (config.roles && themeElement) write(themeElement, FONT_ROLE_VARIABLES, config.roles);\n}\n\n/**\n * Render a font configuration as a CSS string, for injecting into a stylesheet or\n * emitting server-side.\n */\nexport function generateFontCSS(config: FontConfig): string {\n const blocks: string[] = [];\n\n const stacks = Object.entries(config.stacks ?? {}).filter(([, value]) => value);\n if (stacks.length) {\n blocks.push([':root {', ...stacks.map(([key, value]) => ` ${FONT_STACK_VARIABLES[key as keyof FontStacks]}: ${value};`), '}'].join('\\n'));\n }\n\n const roles = Object.entries(config.roles ?? {}).filter(([, value]) => value);\n if (roles.length) {\n blocks.push(['.radix-themes {', ...roles.map(([key, value]) => ` ${FONT_ROLE_VARIABLES[key as keyof FontRoles]}: ${value};`), '}'].join('\\n'));\n }\n\n return blocks.join('\\n\\n');\n}\n\n/** Drop every inline font override, falling back to the stylesheet's defaults. */\nexport function resetFonts({ root = document.documentElement, themeElement = document.querySelector<HTMLElement>('.radix-themes') }: { root?: HTMLElement; themeElement?: HTMLElement | null } = {}): void {\n clear(root, FONT_STACK_VARIABLES);\n if (themeElement) clear(themeElement, FONT_ROLE_VARIABLES);\n}\n\n/** Read the stacks and roles currently in effect. */\nexport function getCurrentFontConfig({ themeElement = document.querySelector<HTMLElement>('.radix-themes') }: { themeElement?: HTMLElement | null } = {}): Required<FontConfig> {\n // Roles resolve against the theme element, so read both tiers from it \u2014 it inherits\n // the stacks from `:root` and is the only place the roles are declared.\n const computed = getComputedStyle(themeElement ?? document.documentElement);\n const read = (variable: string) => computed.getPropertyValue(variable).trim() || undefined;\n\n return {\n stacks: {\n sans: read(FONT_STACK_VARIABLES.sans),\n mono: read(FONT_STACK_VARIABLES.mono),\n serif: read(FONT_STACK_VARIABLES.serif),\n },\n roles: {\n body: read(FONT_ROLE_VARIABLES.body),\n heading: read(FONT_ROLE_VARIABLES.heading),\n code: read(FONT_ROLE_VARIABLES.code),\n strong: read(FONT_ROLE_VARIABLES.strong),\n em: read(FONT_ROLE_VARIABLES.em),\n quote: read(FONT_ROLE_VARIABLES.quote),\n },\n };\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,EAAA,gBAAAC,EAAA,yBAAAC,EAAA,oBAAAC,EAAA,oBAAAC,EAAA,yBAAAC,EAAA,eAAAC,IAAA,eAAAC,EAAAT,GA+CO,IAAMI,EAAuB,CAClC,KAAM,cACN,KAAM,cACN,MAAO,cACT,EAGaF,EAAsB,CACjC,KAAM,cACN,QAAS,iBACT,KAAM,cACN,OAAQ,gBACR,GAAI,YACJ,MAAO,cACT,EASaC,EAAc,CAEzB,OAAQ,0GACR,MAAO,iGACP,QAAS,sEACT,SAAU,iFAGV,WAAY,sEACZ,cAAe,4DACf,SAAU,uDACV,cAAe,6DAGf,YAAa,0DACb,SAAU,0DACV,QAAS,+CACT,KAAM,6CACR,EAEA,SAASO,EAAwBC,EAAqBC,EAA8BC,EAAoC,CACtH,QAAWC,KAAO,OAAO,KAAKF,CAAS,EAAU,CAC/C,IAAMG,EAAQF,EAAOC,CAAG,EACpBC,GAAOJ,EAAO,MAAM,YAAYC,EAAUE,CAAG,EAAGC,CAAK,CAC3D,CACF,CAEA,SAASC,EAAML,EAAqBC,EAAmC,CACrE,QAAWK,KAAY,OAAO,OAAOL,CAAS,EAC5CD,EAAO,MAAM,eAAeM,CAAQ,CAExC,CAkBO,SAASZ,EACda,EACA,CAAE,KAAAC,EAAO,SAAS,gBAAiB,aAAAC,EAAe,SAAS,cAA2B,eAAe,CAAE,EAA+D,CAAC,EACjK,CACFF,EAAO,QAAQR,EAAMS,EAAMf,EAAsBc,EAAO,MAAM,EAC9DA,EAAO,OAASE,GAAcV,EAAMU,EAAclB,EAAqBgB,EAAO,KAAK,CACzF,CAMO,SAASZ,EAAgBY,EAA4B,CAC1D,IAAMG,EAAmB,CAAC,EAEpBC,EAAS,OAAO,QAAQJ,EAAO,QAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAEH,CAAK,IAAMA,CAAK,EAC1EO,EAAO,QACTD,EAAO,KAAK,CAAC,UAAW,GAAGC,EAAO,IAAI,CAAC,CAACR,EAAKC,CAAK,IAAM,KAAKX,EAAqBU,CAAuB,CAAC,KAAKC,CAAK,GAAG,EAAG,GAAG,EAAE,KAAK;AAAA,CAAI,CAAC,EAG3I,IAAMQ,EAAQ,OAAO,QAAQL,EAAO,OAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAEH,CAAK,IAAMA,CAAK,EAC5E,OAAIQ,EAAM,QACRF,EAAO,KAAK,CAAC,kBAAmB,GAAGE,EAAM,IAAI,CAAC,CAACT,EAAKC,CAAK,IAAM,KAAKb,EAAoBY,CAAsB,CAAC,KAAKC,CAAK,GAAG,EAAG,GAAG,EAAE,KAAK;AAAA,CAAI,CAAC,EAGzIM,EAAO,KAAK;AAAA;AAAA,CAAM,CAC3B,CAGO,SAASb,EAAW,CAAE,KAAAW,EAAO,SAAS,gBAAiB,aAAAC,EAAe,SAAS,cAA2B,eAAe,CAAE,EAA+D,CAAC,EAAS,CACzMJ,EAAMG,EAAMf,CAAoB,EAC5BgB,GAAcJ,EAAMI,EAAclB,CAAmB,CAC3D,CAGO,SAASK,EAAqB,CAAE,aAAAa,EAAe,SAAS,cAA2B,eAAe,CAAE,EAA2C,CAAC,EAAyB,CAG9K,IAAMI,EAAW,iBAAiBJ,GAAgB,SAAS,eAAe,EACpEK,EAAQR,GAAqBO,EAAS,iBAAiBP,CAAQ,EAAE,KAAK,GAAK,OAEjF,MAAO,CACL,OAAQ,CACN,KAAMQ,EAAKrB,EAAqB,IAAI,EACpC,KAAMqB,EAAKrB,EAAqB,IAAI,EACpC,MAAOqB,EAAKrB,EAAqB,KAAK,CACxC,EACA,MAAO,CACL,KAAMqB,EAAKvB,EAAoB,IAAI,EACnC,QAASuB,EAAKvB,EAAoB,OAAO,EACzC,KAAMuB,EAAKvB,EAAoB,IAAI,EACnC,OAAQuB,EAAKvB,EAAoB,MAAM,EACvC,GAAIuB,EAAKvB,EAAoB,EAAE,EAC/B,MAAOuB,EAAKvB,EAAoB,KAAK,CACvC,CACF,CACF",
|
|
6
|
+
"names": ["font_config_exports", "__export", "FONT_ROLE_VARIABLES", "FONT_STACKS", "FONT_STACK_VARIABLES", "applyFontConfig", "generateFontCSS", "getCurrentFontConfig", "resetFonts", "__toCommonJS", "write", "target", "variables", "values", "key", "value", "clear", "variable", "config", "root", "themeElement", "blocks", "stacks", "roles", "computed", "read"]
|
|
7
7
|
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
`)
|
|
1
|
+
"use strict";var B=Object.create;var R=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,q=Object.prototype.hasOwnProperty;var L=(e,t)=>{for(var n in t)R(e,n,{get:t[n],enumerable:!0})},C=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of A(t))!q.call(e,s)&&s!==n&&R(e,s,{get:()=>t[s],enumerable:!(r=G(t,s))||r.enumerable});return e};var x=(e,t,n)=>(n=e!=null?B(K(e)):{},C(t||!e||!e.__esModule?R(n,"default",{value:e,enumerable:!0}):n,e)),z=e=>C(R({},"__esModule",{value:!0}),e);var ce={};L(ce,{FONT_ROLE_VARIABLES:()=>l,FONT_STACKS:()=>Z,FONT_STACK_VARIABLES:()=>d,applyFontConfig:()=>ee,extractMarginProps:()=>H,extractProps:()=>X,generateFontCSS:()=>te,getCurrentFontConfig:()=>se,getMarginStyles:()=>oe,getMatchingGrayColor:()=>ie,getResponsiveClassNames:()=>D,getResponsiveCustomProperties:()=>E,getResponsiveStyles:()=>P,getSubtree:()=>ae,hasOwnProperty:()=>S,isResponsiveObject:()=>c,mapButtonSizeToSpinnerSize:()=>ue,mapCalloutSizeToTextSize:()=>me,mapResponsiveProp:()=>pe,mergeStyles:()=>y,normalizeToPx:()=>le,requireReactElement:()=>fe,resetFonts:()=>ne});module.exports=z(ce);function H(e){let{m:t,mx:n,my:r,mt:s,mr:i,mb:a,ml:m,...p}=e;return{m:t,mx:n,my:r,mt:s,mr:i,mb:a,ml:m,rest:p}}var j=x(require("classnames"));var I=[],W=new Set;function U(e){let t=Object.assign({},...e),n=[],r=[],s=new Set;for(let i in t){let a=t[i],m=a.values??I,p={key:i,type:a.type,default:a.default,hasDefault:a.default!==void 0,responsive:"responsive"in a,className:a.className,customProperties:a.customProperties,parseValue:a.parseValue,values:m,valueSet:m.length>0?new Set(m):W,enumValueSet:a.type==="enum"?new Set([a.default,...m]):void 0};a.className?(n.push(p),s.add(i)):(p.hasDefault||a.type==="enum")&&r.push(p)}return{styling:n,passthrough:r,stylingKeys:s}}var _={children:new WeakMap};function k(e){let t=_;for(let n=0;n<e.length;n++){let r=e[n],s=t.children.get(r);s===void 0&&(s={children:new WeakMap},t.children.set(r,s)),t=s}return t.compiled??(t.compiled=U(e))}var Y=["initial","xs","sm","md","lg","xl"],N=new Set(Y);function S(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var J=new Set(["initial","xs","sm","md","lg","xl"]);function c(e){if(typeof e!="object"||e===null)return!1;for(let t in e)if(J.has(t))return!0;return!1}function b(e,t,n){return t!==void 0?t.has(n):e.includes(n)}function P({className:e,customProperties:t,...n}){let r=D({allowArbitraryValues:!0,className:e,...n}),s=E({customProperties:t,...n});return[r,s]}function D({allowArbitraryValues:e,value:t,className:n,propValues:r,propValueSet:s,parseValue:i=a=>a}){if(t){if(typeof t=="string")return b(r,s,t)?V(n,t,i):e?n:void 0;if(c(t)){let a=t,m=[];for(let p in a){if(!S(a,p)||!N.has(p))continue;let o=a[p];if(o!==void 0){if(b(r,s,o)){let u=V(n,o,i),f=p==="initial"?u:`${p}:${u}`;m.push(f)}else if(e){let u=p==="initial"?n:`${p}:${n}`;m.push(u)}}}return m.length>0?m.join(" "):""}if(e)return n}}function V(e,t,n){let r=e?"-":"",s=n(t),i=s?.startsWith("-"),a=i?"-":"",m=i?s?.substring(1):s;return`${a}${e}${r}${m}`}function E({customProperties:e,value:t,propValues:n,propValueSet:r,parseValue:s=i=>i}){if(!t||typeof t=="string"&&b(n,r,t))return;let i;if(typeof t=="string"){let a=s(t);i={};for(let m of e)i[m]=a;return i}if(c(t)){let a=t;for(let m in a){if(!S(a,m)||!N.has(m))continue;let p=a[m];if(p===void 0||b(n,r,p))continue;let o=s(p);i??(i={});for(let u of e){let f=m==="initial"?u:`${u}-${m}`;i[f]=o}}}return i??{}}function y(...e){let t;for(let n of e)n&&(t===void 0&&(t={}),Object.assign(t,n));return t}function Q(e,t){let n=e.initial,r=!1;return t.hasDefault&&n===void 0&&(n=t.default,r=!0),t.enumValueSet!==void 0&&!t.enumValueSet.has(n)&&(n=t.default,r=!0),r?{...e,initial:n}:e}function X(e,...t){let{styling:n,passthrough:r,stylingKeys:s}=k(t),i={};for(let p in e)s.has(p)||(i[p]=e[p]);for(let p=0;p<r.length;p++){let o=r[p],u=i[o.key];if(u===void 0){o.hasDefault&&(i[o.key]=o.default);continue}o.enumValueSet!==void 0&&!o.enumValueSet.has(u)&&!c(u)&&(i[o.key]=o.default)}let a,m=[];for(let p=0;p<n.length;p++){let o=n[p],u=e[o.key];if(u===void 0&&o.hasDefault&&(u=o.default),o.enumValueSet!==void 0&&!o.enumValueSet.has(u)&&!c(u)&&(u=o.default),!!u){if(c(u)){if(!o.responsive)continue;u=Q(u,o)}if(o.type==="enum"){let f=D({allowArbitraryValues:!1,value:u,className:o.className,propValues:o.values,propValueSet:o.valueSet,parseValue:o.parseValue});f&&m.push(f);continue}if(o.type==="string"||o.type==="enum | string"){let[f,T]=P({className:o.className,customProperties:o.customProperties,propValues:o.type==="string"?[]:o.values,propValueSet:o.type==="string"?void 0:o.valueSet,parseValue:o.parseValue,value:u});T&&(a=y(a,T)),f&&m.push(f);continue}if(o.type==="boolean"){m.push(o.className);continue}}}return i.className=(0,j.default)(m.length>0?m.join(" "):void 0,e.className),i.style=y(a,e.style),i}var d={sans:"--font-sans",mono:"--font-mono",serif:"--font-serif"},l={body:"--font-body",heading:"--font-heading",code:"--font-code",strong:"--font-strong",em:"--font-em",quote:"--font-quote"},Z={system:"-apple-system, BlinkMacSystemFont, 'Segoe UI (Custom)', Roboto, 'Helvetica Neue', system-ui, sans-serif",inter:"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI (Custom)', Roboto, system-ui, sans-serif",poppins:"'Poppins', -apple-system, BlinkMacSystemFont, system-ui, sans-serif",openSans:"'Open Sans (Custom)', -apple-system, BlinkMacSystemFont, system-ui, sans-serif",systemMono:"'Menlo', 'Consolas (Custom)', 'Bitstream Vera Sans Mono', monospace",jetbrainsMono:"'JetBrains Mono', 'Menlo', 'Consolas (Custom)', monospace",firaCode:"'Fira Code', 'Menlo', 'Consolas (Custom)', monospace",sourceCodePro:"'Source Code Pro', 'Menlo', 'Consolas (Custom)', monospace",systemSerif:"'Times New Roman', 'Times', 'Georgia', 'Cambria', serif",playfair:"'Playfair Display', 'Times New Roman', 'Georgia', serif",georgia:"'Georgia', 'Times New Roman', 'Times', serif",lora:"'Lora', 'Georgia', 'Times New Roman', serif"};function M(e,t,n){for(let r of Object.keys(t)){let s=n[r];s&&e.style.setProperty(t[r],s)}}function O(e,t){for(let n of Object.values(t))e.style.removeProperty(n)}function ee(e,{root:t=document.documentElement,themeElement:n=document.querySelector(".radix-themes")}={}){e.stacks&&M(t,d,e.stacks),e.roles&&n&&M(n,l,e.roles)}function te(e){let t=[],n=Object.entries(e.stacks??{}).filter(([,s])=>s);n.length&&t.push([":root {",...n.map(([s,i])=>` ${d[s]}: ${i};`),"}"].join(`
|
|
2
|
+
`));let r=Object.entries(e.roles??{}).filter(([,s])=>s);return r.length&&t.push([".radix-themes {",...r.map(([s,i])=>` ${l[s]}: ${i};`),"}"].join(`
|
|
3
|
+
`)),t.join(`
|
|
4
|
+
|
|
5
|
+
`)}function ne({root:e=document.documentElement,themeElement:t=document.querySelector(".radix-themes")}={}){O(e,d),t&&O(t,l)}function se({themeElement:e=document.querySelector(".radix-themes")}={}){let t=getComputedStyle(e??document.documentElement),n=r=>t.getPropertyValue(r).trim()||void 0;return{stacks:{sans:n(d.sans),mono:n(d.mono),serif:n(d.serif)},roles:{body:n(l.body),heading:n(l.heading),code:n(l.code),strong:n(l.strong),em:n(l.em),quote:n(l.quote)}}}var g=["0","1","2","3","4","5","6","7","8","9","10","11","12","-1","-2","-3","-4","-5","-6","-7","-8","-9","-10","-11","-12"],w={m:{type:"enum | string",values:g,responsive:!0,className:"rt-r-m",customProperties:["--m"]},mx:{type:"enum | string",values:g,responsive:!0,className:"rt-r-mx",customProperties:["--ml","--mr"]},my:{type:"enum | string",values:g,responsive:!0,className:"rt-r-my",customProperties:["--mt","--mb"]},mt:{type:"enum | string",values:g,responsive:!0,className:"rt-r-mt",customProperties:["--mt"]},mr:{type:"enum | string",values:g,responsive:!0,className:"rt-r-mr",customProperties:["--mr"]},mb:{type:"enum | string",values:g,responsive:!0,className:"rt-r-mb",customProperties:["--mb"]},ml:{type:"enum | string",values:g,responsive:!0,className:"rt-r-ml",customProperties:["--ml"]}};var $=w.m.values,re=new Set($),F=[{key:"m",className:"rt-r-m",customProperties:["--margin"]},{key:"mx",className:"rt-r-mx",customProperties:["--margin-left","--margin-right"]},{key:"my",className:"rt-r-my",customProperties:["--margin-top","--margin-bottom"]},{key:"mt",className:"rt-r-mt",customProperties:["--margin-top"]},{key:"mr",className:"rt-r-mr",customProperties:["--margin-right"]},{key:"mb",className:"rt-r-mb",customProperties:["--margin-bottom"]},{key:"ml",className:"rt-r-ml",customProperties:["--margin-left"]}];function oe(e){let t,n;for(let r=0;r<F.length;r++){let{key:s,className:i,customProperties:a}=F[r],m=e[s];if(m===void 0)continue;let[p,o]=P({className:i,customProperties:a,propValues:$,propValueSet:re,value:m});p&&(t??(t=[])).push(p),o&&(n=y(n,o))}return[t!==void 0?t.join(" "):"",n]}function ie(e){switch(e){case"tomato":case"red":case"ruby":case"crimson":case"pink":case"plum":case"purple":case"violet":return"mauve";case"iris":case"indigo":case"blue":case"sky":case"cyan":return"slate";case"teal":case"jade":case"mint":case"green":return"sage";case"grass":case"lime":return"olive";case"yellow":case"amber":case"orange":case"brown":case"gold":case"bronze":return"sand";case"gray":return"gray"}}var v=x(require("react"));function ae(e,t){let{asChild:n,children:r}=e;if(!n)return typeof t=="function"?t(r):t;let s=v.Children.only(r);return v.cloneElement(s,{children:typeof t=="function"?t(s.props.children):t})}function pe(e,t){if(e!==void 0)return typeof e=="string"?t(e):Object.fromEntries(Object.entries(e).map(([n,r])=>[n,t(r)]))}function me(e){return e==="3"?"3":e==="1"?"1":"2"}function ue(e){switch(e){case"1":return"1";case"2":case"3":return"2";case"4":return"3"}}function le(e,t="horizontal"){if(e==null)return;if(typeof e=="number"&&Number.isFinite(e))return e;let n=String(e).trim();if(!n)return;if(n.endsWith("px"))return Number.parseFloat(n);if(n.endsWith("rem")){let s=Number.parseFloat(getComputedStyle(document.documentElement).fontSize||"16")||16;return Number.parseFloat(n)*s}if(n.endsWith("%")){let s=Number.parseFloat(n),i=t==="horizontal"?document.documentElement.clientWidth||window.innerWidth||0:document.documentElement.clientHeight||window.innerHeight||0;return s/100*i}let r=Number.parseFloat(n);return Number.isFinite(r)?r:void 0}var h=x(require("react")),fe=e=>{if(!h.isValidElement(e))throw Error(`Expected a single React Element child, but got: ${h.Children.toArray(e).map(n=>typeof n=="object"&&"type"in n&&typeof n.type=="string"?n.type:typeof n).join(", ")}`);return e};
|
|
3
6
|
//# sourceMappingURL=index.js.map
|