@marigold/system 5.6.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -30,320 +30,172 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.ts
31
31
  var src_exports = {};
32
32
  __export(src_exports, {
33
- Box: () => Box,
34
- Global: () => Global,
35
33
  SVG: () => SVG,
36
34
  ThemeProvider: () => ThemeProvider,
37
- __defaultTheme: () => __defaultTheme,
35
+ alignment: () => alignment,
36
+ aspect: () => aspect,
37
+ cn: () => cn,
38
+ createVar: () => createVar,
39
+ cursorStyle: () => cursorStyle,
40
+ cva: () => cva,
38
41
  defaultTheme: () => defaultTheme,
39
- keyframes: () => import_react12.keyframes,
40
- useComponentStyles: () => useComponentStyles,
42
+ fontWeight: () => fontWeight,
43
+ gapSpace: () => gapSpace,
44
+ get: () => get,
45
+ gridColsAlign: () => gridColsAlign,
46
+ gridColumn: () => gridColumn,
47
+ objectFit: () => objectFit,
48
+ objectPosition: () => objectPosition,
49
+ paddingBottom: () => paddingBottom,
50
+ paddingLeft: () => paddingLeft,
51
+ paddingRight: () => paddingRight,
52
+ paddingSpace: () => paddingSpace,
53
+ paddingSpaceX: () => paddingSpaceX,
54
+ paddingSpaceY: () => paddingSpaceY,
55
+ paddingTop: () => paddingTop,
56
+ placeItems: () => placeItems,
57
+ textAlign: () => textAlign,
58
+ textSize: () => textSize,
59
+ textStyle: () => textStyle,
60
+ useClassNames: () => useClassNames,
41
61
  useResponsiveValue: () => useResponsiveValue,
62
+ useSmallScreen: () => useSmallScreen,
42
63
  useStateProps: () => useStateProps,
43
- useTheme: () => useTheme
64
+ useTheme: () => useTheme,
65
+ width: () => width
44
66
  });
45
67
  module.exports = __toCommonJS(src_exports);
46
68
 
47
- // src/components/Box/Box.tsx
48
- var import_react = require("react");
49
- var import_react2 = require("@emotion/react");
50
- var import_css = require("@theme-ui/css");
51
- var import_deepmerge = __toESM(require("deepmerge"));
69
+ // src/components/SVG/SVG.tsx
70
+ var import_react = __toESM(require("react"));
52
71
 
53
- // src/components/Box/selector.ts
54
- var createteSelector = (selectors, states, suffix = "") => {
55
- return selectors.map(
56
- (selector2) => states.map((state2) => `${selector2}${state2}${suffix ? ` ${suffix}` : ""}`)
57
- ).flat().join(", ");
58
- };
59
- var selector = {
60
- self: "&",
61
- grouped: ["[role=group]", "[data-group]"]
62
- };
63
- var state = {
64
- none: [""],
65
- hover: [":hover:not([disabled])", "[data-hover]"],
66
- focus: [":focus", "[data-focus]"],
67
- focusVisible: [":focus-visible", "[data-focus-visible]"],
68
- active: [":active", "[data-active]"],
69
- disabled: ["[disabled]", "[aria-disabled=true]", "[data-disabled]"],
70
- readOnly: ["[readonly]", "[aria-readonly=true]", "[data-read-only]"],
71
- checked: ["[aria-checked=true]", "[data-checked]"],
72
- indeterminate: ["[aria-checked=mixed]", "[data-indeterminate]"],
73
- selected: ["[aria-selected=true]", "[data-selected]"],
74
- error: [":invalid", "[aria-invalid=true]", "[data-error]"],
75
- expanded: ["[aria-expanded=true]", "[data-expanded]"],
76
- required: [":required", "[aria-required]"],
77
- hasIcon: ["[data-has-icon]"]
78
- };
79
- var pseudos = {
80
- "&:hover": createteSelector([selector.self], state.hover),
81
- "&:focus": createteSelector([selector.self], state.focus),
82
- "&:focus-visible": createteSelector([selector.self], state.focusVisible),
83
- "&:active": createteSelector([selector.self], state.active),
84
- "&:disabled": createteSelector([selector.self], state.disabled),
85
- "&:read-only": createteSelector([selector.self], state.readOnly),
86
- "&:checked": createteSelector([selector.self], state.checked),
87
- "&:selected": createteSelector([selector.self], state.selected),
88
- "&:indeterminate": createteSelector([selector.self], state.indeterminate),
89
- "&:error": createteSelector([selector.self], state.error),
90
- "&:expanded": createteSelector([selector.self], state.expanded),
91
- "&:required": createteSelector([selector.self], state.required),
92
- "&:has-icon": createteSelector([selector.self], state.hasIcon),
93
- // Selector for elements that are part of a group
94
- "&:in-group": createteSelector(selector.grouped, state.none, selector.self),
95
- "&:hover-group": createteSelector(
96
- selector.grouped,
97
- state.hover,
98
- selector.self
99
- ),
100
- "&:focus-group": createteSelector(
101
- selector.grouped,
102
- state.focus,
103
- selector.self
104
- ),
105
- "&:active-group": createteSelector(
106
- selector.grouped,
107
- state.active,
108
- selector.self
109
- ),
110
- "&:error-group": createteSelector(
111
- selector.grouped,
112
- state.error,
113
- selector.self
114
- )
72
+ // src/utils.ts
73
+ var import_class_variance_authority = require("class-variance-authority");
74
+ var import_tailwind_merge = require("tailwind-merge");
75
+ var import_class_variance_authority2 = require("class-variance-authority");
76
+ var cva = (base, config) => {
77
+ function styles(props) {
78
+ return (0, import_tailwind_merge.twMerge)((0, import_class_variance_authority2.cva)(base, config)(props));
79
+ }
80
+ styles.variants = config == null ? void 0 : config.variants;
81
+ return styles;
115
82
  };
116
- var transformPseudos = (styles) => {
117
- let result = {};
118
- for (let key in styles) {
119
- const value = styles[key];
120
- if (key in pseudos) {
121
- key = pseudos[key];
122
- }
123
- if (typeof value === "object") {
124
- result[key] = transformPseudos(value);
125
- continue;
126
- }
127
- result[key] = value;
83
+ var cn = (...inputs) => (0, import_tailwind_merge.twMerge)((0, import_class_variance_authority.cx)(inputs));
84
+ var createVar = (o) => Object.fromEntries(
85
+ Object.entries(o).map(([name, val]) => [`--${name}`, val])
86
+ );
87
+ var get = (obj, path, fallback) => {
88
+ const key = path.split(".");
89
+ let result = obj;
90
+ for (let i = 0, length = key.length; i < length; i++) {
91
+ if (!result)
92
+ break;
93
+ result = result[key[i]];
128
94
  }
129
- return result;
95
+ return result === void 0 ? fallback : result;
130
96
  };
131
97
 
132
- // src/components/Box/Box.tsx
133
- var createThemedStyle = ({ __baseCSS, css }) => (theme) => {
134
- const themedStyles = import_deepmerge.default.all([
135
- (0, import_css.css)(__baseCSS)(theme),
136
- ...Array.isArray(css) ? css.map((c) => (0, import_css.css)(c)(theme)) : [(0, import_css.css)(css)(theme)]
137
- ]);
138
- return transformPseudos(themedStyles);
139
- };
140
- var Box = (0, import_react.forwardRef)(
141
- ({ as = "div", children, __baseCSS, css, ...props }, ref) => (0, import_react2.jsx)(
142
- as,
98
+ // src/components/SVG/SVG.tsx
99
+ var SVG = (0, import_react.forwardRef)(
100
+ ({ size = 24, children, className, ...props }, ref) => /* @__PURE__ */ import_react.default.createElement(
101
+ "svg",
143
102
  {
144
103
  ...props,
145
- css: createThemedStyle({
146
- __baseCSS,
147
- css
148
- }),
149
- ref
104
+ ref,
105
+ width: `${props.width || size}px`,
106
+ height: `${props.height || size}px`,
107
+ className: cn("flex-none fill-current", className)
150
108
  },
151
109
  children
152
110
  )
153
111
  );
154
112
 
155
- // src/components/Global/Global.tsx
156
- var import_react5 = __toESM(require("react"));
157
- var import_react6 = require("@emotion/react");
113
+ // src/hooks/useTheme.tsx
114
+ var import_react2 = __toESM(require("react"));
115
+
116
+ // src/defaultTheme.ts
117
+ var defaultTheme = {
118
+ name: "default",
119
+ screens: {
120
+ sm: "640px",
121
+ md: "768px",
122
+ lg: "1024px",
123
+ xl: "1280px",
124
+ "2xl": "1536px"
125
+ },
126
+ components: {}
127
+ };
158
128
 
159
129
  // src/hooks/useTheme.tsx
160
- var import_react3 = __toESM(require("react"));
161
- var import_css2 = require("@theme-ui/css");
162
- var import_react4 = require("@emotion/react");
163
- var __defaultTheme = {};
164
- var InternalContext = (0, import_react3.createContext)(__defaultTheme);
130
+ var InternalContext = (0, import_react2.createContext)(defaultTheme);
165
131
  var useTheme = () => {
166
- const theme = (0, import_react3.useContext)(InternalContext);
167
- const css = (0, import_react3.useCallback)(
168
- (style) => (0, import_css2.css)(style)(theme),
169
- [theme]
170
- );
171
- const get2 = (0, import_react3.useCallback)((path) => (0, import_css2.get)(theme, path), [theme]);
172
- return { theme, css, get: get2 };
132
+ const theme = (0, import_react2.useContext)(InternalContext);
133
+ return theme;
173
134
  };
174
135
  function ThemeProvider({
175
136
  theme,
176
137
  children
177
138
  }) {
178
- return /* @__PURE__ */ import_react3.default.createElement(import_react4.ThemeProvider, { theme }, /* @__PURE__ */ import_react3.default.createElement(InternalContext.Provider, { value: theme }, children));
139
+ var _a, _b;
140
+ return /* @__PURE__ */ import_react2.default.createElement("div", { "data-theme": theme.name, className: (_b = (_a = theme.root) == null ? void 0 : _a.call(theme)) != null ? _b : "" }, /* @__PURE__ */ import_react2.default.createElement(InternalContext.Provider, { value: theme }, children));
179
141
  }
180
142
 
181
- // src/components/Global/normalize.ts
182
- var document = {
183
- "html, body": {
184
- height: "100%"
185
- },
186
- html: {
187
- /**
188
- * Prevent Mobile Safari from zooming stuff ...
189
- * Source: https://css-tricks.com/your-css-reset-needs-text-size-adjust-probably/
190
- */
191
- textSizeAdjust: "none"
192
- },
193
- body: {
194
- lineHeight: 1.5,
195
- WebkitFontSmoothing: "antialiased",
196
- /**
197
- * We have to duplicate this here, since the "*" selector will not be
198
- * applied to the body element if a custom `selector` is used.
199
- */
200
- margin: 0
201
- },
202
- /**
203
- * CSS snippet and idea from:
204
- * https://css-tricks.com/revisiting-prefers-reduced-motion-the-reduced-motion-media-query/
205
- */
206
- "@media screen and (prefers-reduced-motion: reduce), (update: slow)": {
207
- "*": {
208
- animationDuration: "0.001ms !important",
209
- animationIterationCount: "1 !important",
210
- transitionDuration: "0.001ms !important"
211
- }
143
+ // src/hooks/useClassNames.tsx
144
+ var useClassNames = ({
145
+ component,
146
+ className,
147
+ variant,
148
+ size
149
+ }) => {
150
+ const theme = useTheme();
151
+ const styles = theme.components[component];
152
+ if (!styles) {
153
+ throw new Error(
154
+ `Component "${component}" is missing styles in the current theme.`
155
+ );
212
156
  }
213
- };
214
- var element = {
215
- "*, *::before, *::after": {
216
- boxSizing: "border-box"
217
- },
218
- "*": {
219
- margin: 0
220
- },
221
- a: {
222
- textDecoration: "none"
223
- },
224
- "p, h1, h2, h3, h4, h5, h6": {
225
- overflowWrap: "break-word"
226
- },
227
- "img, picture, video, canvas, svg": {
228
- display: "block",
229
- maxWidth: "100%"
230
- },
231
- /**
232
- * No `maxWidth` for SVG since this makes them responsive
233
- * and will cause icons to shrink.
234
- */
235
- svg: {
236
- display: "block",
237
- fill: "currentColor"
238
- },
239
- button: {
240
- display: "block",
241
- appearance: "none",
242
- font: "inherit",
243
- background: "transparent",
244
- textAlign: "center"
245
- },
246
- input: {
247
- display: "block",
248
- appearance: "none",
249
- font: "inherit",
250
- "&::-ms-clear": {
251
- display: "none"
252
- },
253
- "&::-webkit-search-cancel-button": {
254
- WebkitAppearance: "none"
255
- }
256
- },
257
- select: {
258
- display: "block",
259
- appearance: "none",
260
- font: "inherit",
261
- "&::-ms-expand": {
262
- display: "none"
157
+ if (typeof styles === "function") {
158
+ if (className !== void 0 && typeof className !== "string") {
159
+ throw new Error(
160
+ '"className" must be a string, when using a component without slots'
161
+ );
263
162
  }
264
- },
265
- textarea: {
266
- display: "block",
267
- appearance: "none",
268
- font: "inherit"
163
+ return cn(styles({ variant, size, className }));
269
164
  }
270
- };
271
-
272
- // src/components/Global/Global.tsx
273
- var mergeRoot = ({ body, ...rest }) => typeof body === "object" ? {
274
- ...body,
275
- ...rest
276
- } : {
277
- body,
278
- ...rest
279
- };
280
- var Global = ({ normalizeDocument = true, selector: selector2 }) => {
281
- const { css, theme } = useTheme();
282
- const rootStyles = css((theme == null ? void 0 : theme.root) || {});
283
- const styles = [
284
- normalizeDocument ? document : {},
285
- // Prefix normalization and root styles with selector if provided.
286
- selector2 ? { [`:where(${selector2})`]: element } : element,
287
- selector2 ? { [`:where(${selector2})`]: mergeRoot(rootStyles) } : rootStyles
288
- ];
289
- return /* @__PURE__ */ import_react5.default.createElement(import_react6.Global, { styles });
290
- };
291
-
292
- // src/components/SVG/SVG.tsx
293
- var import_react10 = require("react");
294
- var import_react11 = require("@emotion/react");
295
-
296
- // src/hooks/useComponentStyles.ts
297
- var import_deepmerge2 = __toESM(require("deepmerge"));
298
- var import_react7 = require("react");
299
- var import_react_fast_compare = __toESM(require("react-fast-compare"));
300
- var get = (obj, path, fallback) => {
301
- const key = path.split(".");
302
- let result = obj;
303
- for (let i = 0, length = key.length; i < length; i++) {
304
- if (!result)
305
- break;
306
- result = result[key[i]];
165
+ if (className !== void 0 && typeof className !== "object") {
166
+ throw new Error(
167
+ '"className" must be a object, when using a component with slots'
168
+ );
307
169
  }
308
- return result === void 0 ? fallback : result;
170
+ return Object.fromEntries(
171
+ Object.entries(styles).map(([slot, style]) => {
172
+ return [
173
+ slot,
174
+ cn(
175
+ style({
176
+ variant,
177
+ size,
178
+ className: className && className[slot]
179
+ })
180
+ )
181
+ ];
182
+ })
183
+ );
309
184
  };
310
- function useComponentStyles(componentName, props = {}, options = {}) {
311
- var _a, _b;
312
- const { theme } = useTheme();
313
- const componentStyles = get(theme, `components.${componentName}`);
314
- const stylesRef = (0, import_react7.useRef)({});
315
- if (componentStyles) {
316
- const base = componentStyles.base || {};
317
- const size = ((_a = componentStyles.size) == null ? void 0 : _a[props.size]) || {};
318
- const variant = ((_b = componentStyles.variant) == null ? void 0 : _b[props.variant]) || {};
319
- let styles = import_deepmerge2.default.all([base, size, variant]);
320
- if (options.parts) {
321
- styles = options.parts.reduce((result, part) => {
322
- result[part] = styles[part] || {};
323
- return result;
324
- }, {});
325
- }
326
- if (!(0, import_react_fast_compare.default)(stylesRef.current, styles)) {
327
- stylesRef.current = styles;
328
- }
329
- }
330
- return stylesRef.current;
331
- }
332
185
 
333
186
  // src/hooks/useResponsiveValue.ts
334
- var import_react8 = require("react");
335
- var emptyBreakpoints = ["40em", "52em", "64em"];
187
+ var import_react3 = require("react");
336
188
  var useResponsiveValue = (values, defaultIndex = 0) => {
337
- const { theme } = useTheme();
338
- const breakpoints = theme.breakpoints || emptyBreakpoints;
339
- if (defaultIndex < 0 || defaultIndex >= breakpoints.length + 1) {
189
+ const theme = useTheme();
190
+ const screens = theme.screens || defaultTheme.screens;
191
+ if (defaultIndex < 0 || defaultIndex >= Object.keys(screens).length + 1) {
340
192
  throw new RangeError(
341
- `Default breakpoint index is out of bounds. Theme has ${breakpoints.length + 1} breakpoints, default is ${defaultIndex}.`
193
+ `Default breakpoint index is out of bounds. Theme has ${Object.keys(screens).length + 1} breakpoints, default is ${defaultIndex}.`
342
194
  );
343
195
  }
344
- const [index, setIndex] = (0, import_react8.useState)(defaultIndex);
345
- (0, import_react8.useEffect)(() => {
346
- const getIndex = () => breakpoints.filter(
196
+ const [index, setIndex] = (0, import_react3.useState)(defaultIndex);
197
+ (0, import_react3.useEffect)(() => {
198
+ const getIndex = () => Object.values(screens).filter(
347
199
  (breakpoint) => window.matchMedia(`screen and (min-width: ${breakpoint})`).matches
348
200
  ).length;
349
201
  const handleResize = () => {
@@ -355,78 +207,539 @@ var useResponsiveValue = (values, defaultIndex = 0) => {
355
207
  handleResize();
356
208
  window.addEventListener("resize", handleResize);
357
209
  return () => window.removeEventListener("resize", handleResize);
358
- }, [breakpoints, index]);
210
+ }, [screens, index]);
359
211
  return values[index >= values.length ? values.length - 1 : index];
360
212
  };
361
213
 
362
214
  // src/hooks/useStateProps.ts
363
- var import_react9 = require("react");
364
- var import_react_fast_compare2 = __toESM(require("react-fast-compare"));
215
+ var import_react4 = require("react");
216
+ var import_react_fast_compare = __toESM(require("react-fast-compare"));
365
217
  var KEBAB_REGEX = /[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g;
366
218
  var toKebap = (val) => val.replace(KEBAB_REGEX, (match) => `-${match.toLocaleLowerCase()}`);
367
219
  var useStateProps = (states) => {
368
- const statePropsRef = (0, import_react9.useRef)({});
220
+ const statePropsRef = (0, import_react4.useRef)({});
369
221
  let stateProps = {};
370
- for (let state2 in states) {
371
- if (states[state2]) {
372
- const key = `data-${toKebap(state2)}`;
222
+ for (let state in states) {
223
+ if (states[state]) {
224
+ const key = `data-${toKebap(state)}`;
373
225
  stateProps[key] = "";
374
226
  }
375
227
  }
376
- if (!(0, import_react_fast_compare2.default)(statePropsRef.current, stateProps)) {
228
+ if (!(0, import_react_fast_compare.default)(statePropsRef.current, stateProps)) {
377
229
  statePropsRef.current = stateProps;
378
230
  }
379
231
  return statePropsRef.current;
380
232
  };
381
233
 
382
- // src/components/SVG/SVG.tsx
383
- var toDimension = (value) => Array.isArray(value) ? value.map(ensureNumberOrToken) : ensureNumberOrToken(value);
384
- var ensureNumberOrToken = (value) => typeof value === "string" && /^[0-9]+$/.test(value) ? Number(value) : value;
385
- var SVG = (0, import_react10.forwardRef)(
386
- ({ size = 24, fill, children, css: styles, ...props }, ref) => {
387
- const { css } = useTheme();
388
- return (0, import_react11.jsx)(
389
- "svg",
390
- {
391
- ...props,
392
- css: css({
393
- width: toDimension(props.width || size),
394
- height: toDimension(props.height || size),
395
- ...styles,
396
- fill,
397
- flex: "0 0 auto"
398
- }),
399
- ref
400
- },
401
- children
402
- );
403
- }
404
- );
405
-
406
- // src/keyframes.ts
407
- var import_react12 = require("@emotion/react");
234
+ // src/hooks/useSmallScreen.ts
235
+ var import_react5 = require("react");
236
+ var useSmallScreen = () => {
237
+ const getMatches = () => {
238
+ if (typeof window == "undefined") {
239
+ return false;
240
+ }
241
+ return window.matchMedia("(max-width: 600px)").matches;
242
+ };
243
+ const [matches, setMatches] = (0, import_react5.useState)(getMatches());
244
+ const handleResize = (0, import_react5.useCallback)(() => {
245
+ setMatches(getMatches());
246
+ }, []);
247
+ (0, import_react5.useEffect)(() => {
248
+ handleResize();
249
+ if (typeof window == "undefined")
250
+ return;
251
+ window.addEventListener("resize", handleResize);
252
+ return () => window.removeEventListener("resize", handleResize);
253
+ }, [handleResize]);
254
+ return matches;
255
+ };
408
256
 
409
- // src/defaultTheme.ts
410
- var defaultTheme = {
411
- screens: {
412
- sm: "640px",
413
- md: "768px",
414
- lg: "1024px",
415
- xl: "1280px",
416
- "2xl": "1536px"
257
+ // src/style-props.tsx
258
+ var width = {
259
+ full: "w-full",
260
+ auto: "w-auto",
261
+ px: "w-px",
262
+ 0: "w-0",
263
+ "0.5": "w-0.5",
264
+ 1: "w-1",
265
+ "1.5": "w-1.5",
266
+ 2: "w-2",
267
+ "2.5": "w-2.5",
268
+ 3: "w-3",
269
+ "3.5": "w-3.5",
270
+ 4: "w-4",
271
+ 5: "w-5",
272
+ 6: "w-6",
273
+ 7: "w-7",
274
+ 8: "w-8",
275
+ 9: "w-9",
276
+ 10: "w-10",
277
+ 11: "w-11",
278
+ 12: "w-12",
279
+ 14: "w-14",
280
+ 16: "w-16",
281
+ 20: "w-20",
282
+ 24: "w-24",
283
+ 28: "w-28",
284
+ 32: "w-32",
285
+ 36: "w-36",
286
+ 40: "w-40",
287
+ 44: "w-44",
288
+ 48: "w-48",
289
+ 52: "w-52",
290
+ 56: "w-56",
291
+ 60: "w-60",
292
+ 64: "w-64",
293
+ 72: "w-72",
294
+ 80: "w-80",
295
+ 96: "w-96",
296
+ "1/2": "w-1/2",
297
+ "1/3": "w-1/3",
298
+ "2/3": "w-2/3",
299
+ "1/4": "w-1/4",
300
+ "2/4": "w-2/4",
301
+ "3/4": "w-3/4",
302
+ "1/5": "w-1/5",
303
+ "2/5": "w-2/5",
304
+ "3/5": "w-3/5",
305
+ "1/6": "w-1/6",
306
+ "2/6": "w-2/6",
307
+ "3/6": "w-3/6",
308
+ "4/6": "w-4/6",
309
+ "5/6": "w-5/6",
310
+ "1/12": "w-1/12",
311
+ "2/12": "w-2/12",
312
+ "3/12": "w-3/12",
313
+ "4/12": "w-4/12",
314
+ "5/12": "w-5/12",
315
+ "6/12": "w-6/12",
316
+ "7/12": "w-7/12",
317
+ "8/12": "w-8/12",
318
+ "9/12": "w-9/12",
319
+ "10/12": "w-10/12",
320
+ "11/12": "w-11/12"
321
+ };
322
+ var fontWeight = {
323
+ thin: "font-thin",
324
+ extralight: "font-extralight",
325
+ light: "font-light",
326
+ normal: "font-normal",
327
+ medium: "font-medium",
328
+ semibold: "font-semibold",
329
+ bold: "font-bold",
330
+ extrabold: "font-extrabold",
331
+ black: "font-black"
332
+ };
333
+ var textSize = {
334
+ xs: "text-[13px]",
335
+ sm: "text-sm",
336
+ base: "text-base",
337
+ lg: "text-lg",
338
+ xl: "text-xl",
339
+ "2xl": "text-2xl",
340
+ "3xl": "text-3xl",
341
+ "4xl": "text-4xl",
342
+ "5xl": "text-5xl"
343
+ };
344
+ var textStyle = {
345
+ italic: "italic",
346
+ normal: "not-italic"
347
+ };
348
+ var gapSpace = {
349
+ 0: "gap-0",
350
+ 1: "gap-1",
351
+ 2: "gap-2",
352
+ 3: "gap-3",
353
+ 4: "gap-4",
354
+ 5: "gap-5",
355
+ 6: "gap-6",
356
+ 7: "gap-7",
357
+ 8: "gap-8",
358
+ 9: "gap-9",
359
+ 10: "gap-10",
360
+ 11: "gap-11",
361
+ 12: "gap-12",
362
+ 14: "gap-14",
363
+ 16: "gap-16",
364
+ 20: "gap-20",
365
+ 24: "gap-24",
366
+ 28: "gap-28",
367
+ 32: "gap-32",
368
+ 36: "gap-36",
369
+ 40: "gap-40",
370
+ 44: "gap-44",
371
+ 48: "gap-48",
372
+ 52: "gap-52",
373
+ 56: "gap-56",
374
+ 60: "gap-60",
375
+ 64: "gap-64",
376
+ 72: "gap-72",
377
+ 80: "gap-80",
378
+ 96: "gap-96"
379
+ };
380
+ var paddingSpace = {
381
+ 0: "p-0",
382
+ 1: "p-1",
383
+ 2: "p-2",
384
+ 3: "p-3",
385
+ 4: "p-4",
386
+ 5: "p-5",
387
+ 6: "p-6",
388
+ 7: "p-7",
389
+ 8: "p-8",
390
+ 9: "p-9",
391
+ 10: "p-10",
392
+ 11: "p-11",
393
+ 12: "p-12",
394
+ 14: "p-14",
395
+ 16: "p-16",
396
+ 20: "p-20",
397
+ 24: "p-24",
398
+ 28: "p-28",
399
+ 32: "p-32",
400
+ 36: "p-36",
401
+ 40: "p-40",
402
+ 44: "p-44",
403
+ 48: "p-48",
404
+ 52: "p-52",
405
+ 56: "p-56",
406
+ 60: "p-60",
407
+ 64: "p-64",
408
+ 72: "p-72",
409
+ 80: "p-80",
410
+ 96: "p-96"
411
+ };
412
+ var paddingSpaceX = {
413
+ 0: "px-0",
414
+ 1: "px-1",
415
+ 2: "px-2",
416
+ 3: "px-3",
417
+ 4: "px-4",
418
+ 5: "px-5",
419
+ 6: "px-6",
420
+ 7: "px-7",
421
+ 8: "px-8",
422
+ 9: "px-9",
423
+ 10: "px-10",
424
+ 11: "px-11",
425
+ 12: "px-12",
426
+ 14: "px-14",
427
+ 16: "px-16",
428
+ 20: "px-20",
429
+ 24: "px-24",
430
+ 28: "px-28",
431
+ 32: "px-32",
432
+ 36: "px-36",
433
+ 40: "px-40",
434
+ 44: "px-44",
435
+ 48: "px-48",
436
+ 52: "px-52",
437
+ 56: "px-56",
438
+ 60: "px-60",
439
+ 64: "px-64",
440
+ 72: "px-72",
441
+ 80: "px-80",
442
+ 96: "px-96"
443
+ };
444
+ var paddingSpaceY = {
445
+ 0: "py-0",
446
+ 1: "py-1",
447
+ 2: "py-2",
448
+ 3: "py-3",
449
+ 4: "py-4",
450
+ 5: "py-5",
451
+ 6: "py-6",
452
+ 7: "py-7",
453
+ 8: "py-8",
454
+ 9: "py-9",
455
+ 10: "py-10",
456
+ 11: "py-11",
457
+ 12: "py-12",
458
+ 14: "py-14",
459
+ 16: "py-16",
460
+ 20: "py-20",
461
+ 24: "py-24",
462
+ 28: "py-28",
463
+ 32: "py-32",
464
+ 36: "py-36",
465
+ 40: "py-40",
466
+ 44: "py-44",
467
+ 48: "py-48",
468
+ 52: "py-52",
469
+ 56: "py-56",
470
+ 60: "py-60",
471
+ 64: "py-64",
472
+ 72: "py-72",
473
+ 80: "py-80",
474
+ 96: "py-96"
475
+ };
476
+ var paddingRight = {
477
+ 0: "pr-0",
478
+ 1: "pr-1",
479
+ 2: "pr-2",
480
+ 3: "pr-3",
481
+ 4: "pr-4",
482
+ 5: "pr-5",
483
+ 6: "pr-6",
484
+ 7: "pr-7",
485
+ 8: "pr-8",
486
+ 9: "pr-9",
487
+ 10: "pr-10",
488
+ 11: "pr-11",
489
+ 12: "pr-12",
490
+ 14: "pr-14",
491
+ 16: "pr-16",
492
+ 20: "pr-20",
493
+ 24: "pr-24",
494
+ 28: "pr-28",
495
+ 32: "pr-32",
496
+ 36: "pr-36",
497
+ 40: "pr-40",
498
+ 44: "pr-44",
499
+ 48: "pr-48",
500
+ 52: "pr-52",
501
+ 56: "pr-56",
502
+ 60: "pr-60",
503
+ 64: "pr-64",
504
+ 72: "pr-72",
505
+ 80: "pr-80",
506
+ 96: "pr-96"
507
+ };
508
+ var paddingLeft = {
509
+ 0: "pl-0",
510
+ 1: "pl-1",
511
+ 2: "pl-2",
512
+ 3: "pl-3",
513
+ 4: "pl-4",
514
+ 5: "pl-5",
515
+ 6: "pl-6",
516
+ 7: "pl-7",
517
+ 8: "pl-8",
518
+ 9: "pl-9",
519
+ 10: "pl-10",
520
+ 11: "pl-11",
521
+ 12: "pl-12",
522
+ 14: "pl-14",
523
+ 16: "pl-16",
524
+ 20: "pl-20",
525
+ 24: "pl-24",
526
+ 28: "pl-28",
527
+ 32: "pl-32",
528
+ 36: "pl-36",
529
+ 40: "pl-40",
530
+ 44: "pl-44",
531
+ 48: "pl-48",
532
+ 52: "pl-52",
533
+ 56: "pl-56",
534
+ 60: "pl-60",
535
+ 64: "pl-64",
536
+ 72: "pl-72",
537
+ 80: "pl-80",
538
+ 96: "pl-96"
539
+ };
540
+ var paddingTop = {
541
+ 0: "pt-0",
542
+ 1: "pt-1",
543
+ 2: "pt-2",
544
+ 3: "pt-3",
545
+ 4: "pt-4",
546
+ 5: "pt-5",
547
+ 6: "pt-6",
548
+ 7: "pt-7",
549
+ 8: "pt-8",
550
+ 9: "pt-9",
551
+ 10: "pt-10",
552
+ 11: "pt-11",
553
+ 12: "pt-12",
554
+ 14: "pt-14",
555
+ 16: "pt-16",
556
+ 20: "pt-20",
557
+ 24: "pt-24",
558
+ 28: "pt-28",
559
+ 32: "pt-32",
560
+ 36: "pt-36",
561
+ 40: "pt-40",
562
+ 44: "pt-44",
563
+ 48: "pt-48",
564
+ 52: "pt-52",
565
+ 56: "pt-56",
566
+ 60: "pt-60",
567
+ 64: "pt-64",
568
+ 72: "pt-72",
569
+ 80: "pt-80",
570
+ 96: "pt-96"
571
+ };
572
+ var paddingBottom = {
573
+ 0: "pb-0",
574
+ 1: "pb-1",
575
+ 2: "pb-2",
576
+ 3: "pb-3",
577
+ 4: "pb-4",
578
+ 5: "pb-5",
579
+ 6: "pb-6",
580
+ 7: "pb-7",
581
+ 8: "pb-8",
582
+ 9: "pb-9",
583
+ 10: "pb-10",
584
+ 11: "pb-11",
585
+ 12: "pb-12",
586
+ 14: "pb-14",
587
+ 16: "pb-16",
588
+ 20: "pb-20",
589
+ 24: "pb-24",
590
+ 28: "pb-28",
591
+ 32: "pb-32",
592
+ 36: "pb-36",
593
+ 40: "pb-40",
594
+ 44: "pb-44",
595
+ 48: "pb-48",
596
+ 52: "pb-52",
597
+ 56: "pb-56",
598
+ 60: "pb-60",
599
+ 64: "pb-64",
600
+ 72: "pb-72",
601
+ 80: "pb-80",
602
+ 96: "pb-96"
603
+ };
604
+ var alignment = {
605
+ vertical: {
606
+ alignmentX: {
607
+ none: void 0,
608
+ left: "items-start",
609
+ center: "items-center",
610
+ right: "items-end"
611
+ },
612
+ alignmentY: {
613
+ none: void 0,
614
+ top: "justify-start",
615
+ center: "justify-center",
616
+ bottom: "justify-end"
617
+ }
618
+ },
619
+ horizontal: {
620
+ alignmentY: {
621
+ none: void 0,
622
+ top: "items-start",
623
+ center: "items-center",
624
+ bottom: "items-end"
625
+ },
626
+ alignmentX: {
627
+ none: void 0,
628
+ left: "justify-start",
629
+ center: "justify-center",
630
+ right: "justify-end"
631
+ }
417
632
  }
418
633
  };
634
+ var placeItems = {
635
+ none: void 0,
636
+ left: "place-items-start",
637
+ center: "place-items-center",
638
+ right: "place-items-end"
639
+ };
640
+ var textAlign = {
641
+ none: void 0,
642
+ left: "text-left",
643
+ center: "text-center",
644
+ right: "text-right"
645
+ };
646
+ var gridColsAlign = {
647
+ left: "grid-cols-[minmax(0,_var(--maxWidth))_1fr_1fr]",
648
+ center: "grid-cols-[1fr_minmax(0,_var(--maxWidth))_1fr]",
649
+ right: " grid-cols-[1fr_1fr_minmax(0,_var(--maxWidth))]"
650
+ };
651
+ var gridColumn = {
652
+ left: "[&>*]:col-[1]",
653
+ center: "[&>*]:col-[2]",
654
+ right: "[&>*]:col-[3]"
655
+ };
656
+ var aspect = {
657
+ square: "aspect-[1]",
658
+ landscape: "aspect-[4/3]",
659
+ portrait: "aspect-[3/4]",
660
+ widescreen: "aspect-[16/9]",
661
+ ultrawide: "aspect-[18/5]",
662
+ golden: "aspect-[1.6180/1]"
663
+ };
664
+ var objectFit = {
665
+ contain: "object-contain",
666
+ cover: "object-cover",
667
+ fill: "object-fill",
668
+ none: "unset",
669
+ scaleDown: "object-scale-down"
670
+ };
671
+ var objectPosition = {
672
+ none: void 0,
673
+ bottom: "object-bottom",
674
+ center: "object-center",
675
+ left: "object-left",
676
+ leftBottom: "object-left-bottom",
677
+ leftTop: "object-left-top",
678
+ right: "object-right",
679
+ rightBottom: "object-right-bottom",
680
+ rightTop: "object-right-top",
681
+ top: "object-top"
682
+ };
683
+ var cursorStyle = {
684
+ auto: "cursor-auto",
685
+ default: "cursor-default",
686
+ pointer: "cursor-pointer",
687
+ wait: "cursor-wait",
688
+ text: "cursor-text",
689
+ move: "cursor-move",
690
+ help: "cursor-help",
691
+ notAllowed: "cursor-not-allowed",
692
+ none: "cursor-none",
693
+ progress: "cursor-progress",
694
+ cell: "cursor-cell",
695
+ crosshair: "cursor-crosshair",
696
+ vertical: "cursor-vertical-text",
697
+ alias: "cursor-alias",
698
+ copy: "cursor-copy",
699
+ noDrop: "cursor-no-drop",
700
+ grap: "cursor-grab",
701
+ grapping: "cursor-grapping",
702
+ scroll: "cursor-all-scroll",
703
+ colResize: "cursor-col-resize",
704
+ rowResize: "cursor-row-resize",
705
+ ewResize: "cursor-ew-resize",
706
+ nsResize: "cursor-ns-resize",
707
+ zoomIn: "cursor-zoom-in",
708
+ zoomOut: "cursor-zoom-out"
709
+ };
419
710
  // Annotate the CommonJS export names for ESM import in node:
420
711
  0 && (module.exports = {
421
- Box,
422
- Global,
423
712
  SVG,
424
713
  ThemeProvider,
425
- __defaultTheme,
714
+ alignment,
715
+ aspect,
716
+ cn,
717
+ createVar,
718
+ cursorStyle,
719
+ cva,
426
720
  defaultTheme,
427
- keyframes,
428
- useComponentStyles,
721
+ fontWeight,
722
+ gapSpace,
723
+ get,
724
+ gridColsAlign,
725
+ gridColumn,
726
+ objectFit,
727
+ objectPosition,
728
+ paddingBottom,
729
+ paddingLeft,
730
+ paddingRight,
731
+ paddingSpace,
732
+ paddingSpaceX,
733
+ paddingSpaceY,
734
+ paddingTop,
735
+ placeItems,
736
+ textAlign,
737
+ textSize,
738
+ textStyle,
739
+ useClassNames,
429
740
  useResponsiveValue,
741
+ useSmallScreen,
430
742
  useStateProps,
431
- useTheme
743
+ useTheme,
744
+ width
432
745
  });