@sanity-labs/ui-poc 0.0.1-alpha.2 → 0.0.1-alpha.4
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/components.css +4 -0
- package/dist/index.d.ts +58 -7
- package/dist/index.js +78 -4
- package/dist/index.js.map +1 -1
- package/dist/styles.css +397 -714
- package/dist/utilities.css +406 -8
- package/package.json +2 -2
- package/src/components/card/Card.tsx +20 -0
- package/src/components/card/card.css +4 -0
- package/src/components/card/card.props.ts +19 -5
- package/src/components/heading/Heading.tsx +39 -0
- package/src/components/heading/heading.props.ts +24 -0
- package/src/components/index.css +1 -0
- package/src/css/utilities/generic/flex.css +7 -7
- package/src/css/utilities/generic/grid.css +5 -5
- package/src/css/utilities/generic/text-trim.css +16 -15
- package/src/css/utilities/tokenized/index.css +1 -0
- package/src/css/utilities/tokenized/radius.css +10 -8
- package/src/index.ts +2 -0
- package/src/styles.css +7797 -0
- package/src/types/Density.ts +1 -1
- package/src/types/FontWeight.ts +1 -1
- package/src/types/Heading.ts +5 -0
- package/src/types/Overflow.ts +1 -1
- package/src/types/Position.ts +1 -1
- package/src/types/PropDef.ts +19 -4
- package/src/types/Radius.ts +1 -1
- package/src/types/Text.ts +1 -1
- package/src/types/TextAlign.ts +1 -1
- package/src/types/Tone.ts +9 -1
- package/src/utils/getProps.test.ts +21 -8
- package/src/utils/getProps.ts +18 -1
package/dist/components.css
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -34,6 +34,26 @@ export declare interface BoxProps<T extends React_2.ElementType> extends LayoutP
|
|
|
34
34
|
display?: Responsive<DisplayBlock>
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
/** @public */
|
|
38
|
+
export declare function Card<T extends React_2.ElementType = 'div'>({
|
|
39
|
+
density,
|
|
40
|
+
...props
|
|
41
|
+
}: CardProps<T> & Omit<React_2.ComponentPropsWithRef<T>, keyof CardProps<T>>): JSX.Element
|
|
42
|
+
|
|
43
|
+
/** @public */
|
|
44
|
+
declare interface CardProps<T extends React.ElementType> extends MarginProps {
|
|
45
|
+
/** Element to render */
|
|
46
|
+
as?: T
|
|
47
|
+
/** CSS **display** property */
|
|
48
|
+
display?: Responsive<DisplayBlock>
|
|
49
|
+
/** Composite prop for setting padding and border radius */
|
|
50
|
+
density?: Responsive<Density>
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
declare const DENSITY: readonly ['compact', 'regular', 'loose']
|
|
54
|
+
|
|
55
|
+
declare type Density = (typeof DENSITY)[number]
|
|
56
|
+
|
|
37
57
|
declare const DISPLAY_BLOCK: readonly ['block', 'inline-block', 'none']
|
|
38
58
|
|
|
39
59
|
declare const DISPLAY_FLEX: readonly ['flex', 'inline-flex', 'none']
|
|
@@ -92,7 +112,7 @@ export declare interface FlexProps<T extends React_2.ElementType>
|
|
|
92
112
|
|
|
93
113
|
declare type FlexWrap = (typeof FLEX_WRAP)[number]
|
|
94
114
|
|
|
95
|
-
declare const FONT_WEIGHT:
|
|
115
|
+
declare const FONT_WEIGHT: readonly ['regular', 'medium', 'semibold', 'bold']
|
|
96
116
|
|
|
97
117
|
declare type FontWeight = (typeof FONT_WEIGHT)[number]
|
|
98
118
|
|
|
@@ -152,6 +172,29 @@ export declare interface GridProps<T extends React_2.ElementType>
|
|
|
152
172
|
display?: Responsive<DisplayGrid>
|
|
153
173
|
}
|
|
154
174
|
|
|
175
|
+
/** @public */
|
|
176
|
+
export declare function Heading<T extends React_2.ElementType = 'h1'>({
|
|
177
|
+
size,
|
|
178
|
+
weight,
|
|
179
|
+
...props
|
|
180
|
+
}: HeadingProps & Omit<React_2.ComponentPropsWithRef<T>, keyof HeadingProps>): JSX.Element
|
|
181
|
+
|
|
182
|
+
declare const HEADING_SIZE: readonly [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
|
183
|
+
|
|
184
|
+
declare const HEADING_TAG: readonly ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']
|
|
185
|
+
|
|
186
|
+
/** @public */
|
|
187
|
+
declare interface HeadingProps extends TypographyProps {
|
|
188
|
+
/** Element to render */
|
|
189
|
+
as?: HeadingTag
|
|
190
|
+
/** CSS **font-size** property */
|
|
191
|
+
size?: HeadingSize
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
declare type HeadingSize = (typeof HEADING_SIZE)[number]
|
|
195
|
+
|
|
196
|
+
declare type HeadingTag = (typeof HEADING_TAG)[number]
|
|
197
|
+
|
|
155
198
|
declare type HeightProps = {
|
|
156
199
|
/** CSS **height** property */
|
|
157
200
|
height?: Responsive<string>
|
|
@@ -202,7 +245,7 @@ declare type MarginProps = {
|
|
|
202
245
|
marginLeft?: Responsive<SpaceAuto>
|
|
203
246
|
}
|
|
204
247
|
|
|
205
|
-
declare const OVERFLOW:
|
|
248
|
+
declare const OVERFLOW: readonly ['visible', 'hidden', 'auto', 'scroll', 'clip']
|
|
206
249
|
|
|
207
250
|
declare type Overflow = (typeof OVERFLOW)[number]
|
|
208
251
|
|
|
@@ -232,7 +275,7 @@ declare interface PaddingProps {
|
|
|
232
275
|
paddingLeft?: Responsive<Space>
|
|
233
276
|
}
|
|
234
277
|
|
|
235
|
-
declare const POSITION:
|
|
278
|
+
declare const POSITION: readonly ['absolute', 'fixed', 'relative', 'static', 'sticky']
|
|
236
279
|
|
|
237
280
|
declare type Position = (typeof POSITION)[number]
|
|
238
281
|
|
|
@@ -253,7 +296,7 @@ declare type PositionProps = {
|
|
|
253
296
|
zIndex?: Responsive<number>
|
|
254
297
|
}
|
|
255
298
|
|
|
256
|
-
declare const RADIUS:
|
|
299
|
+
declare const RADIUS: readonly [0, 1, 2, 3, 4, 5, 6, 'full']
|
|
257
300
|
|
|
258
301
|
declare type Radius = (typeof RADIUS)[number]
|
|
259
302
|
|
|
@@ -297,9 +340,9 @@ declare function Text_2<T extends React_2.ElementType = 'p'>({
|
|
|
297
340
|
}: TextProps<T> & Omit<React_2.ComponentPropsWithRef<T>, keyof TextProps<T>>): JSX.Element
|
|
298
341
|
export {Text_2 as Text}
|
|
299
342
|
|
|
300
|
-
declare const TEXT_ALIGN:
|
|
343
|
+
declare const TEXT_ALIGN: readonly ['left', 'center', 'right', 'justify']
|
|
301
344
|
|
|
302
|
-
declare const TEXT_SIZE:
|
|
345
|
+
declare const TEXT_SIZE: readonly [0, 1, 2, 3, 4]
|
|
303
346
|
|
|
304
347
|
declare type TextAlign = (typeof TEXT_ALIGN)[number]
|
|
305
348
|
|
|
@@ -313,7 +356,15 @@ export declare interface TextProps<T extends React_2.ElementType> extends Typogr
|
|
|
313
356
|
|
|
314
357
|
declare type TextSize = (typeof TEXT_SIZE)[number]
|
|
315
358
|
|
|
316
|
-
declare const TONE:
|
|
359
|
+
declare const TONE: readonly [
|
|
360
|
+
'default',
|
|
361
|
+
'neutral',
|
|
362
|
+
'primary',
|
|
363
|
+
'suggest',
|
|
364
|
+
'positive',
|
|
365
|
+
'caution',
|
|
366
|
+
'critical',
|
|
367
|
+
]
|
|
317
368
|
|
|
318
369
|
declare type Tone = (typeof TONE)[number]
|
|
319
370
|
|
package/dist/index.js
CHANGED
|
@@ -218,7 +218,15 @@ const RADIUS = [0, 1, 2, 3, 4, 5, 6, "full"], borderProps = {
|
|
|
218
218
|
className: "z-index",
|
|
219
219
|
variable: "--z-index"
|
|
220
220
|
}
|
|
221
|
-
}, TONE = [
|
|
221
|
+
}, TONE = [
|
|
222
|
+
"default",
|
|
223
|
+
"neutral",
|
|
224
|
+
"primary",
|
|
225
|
+
"suggest",
|
|
226
|
+
"positive",
|
|
227
|
+
"caution",
|
|
228
|
+
"critical"
|
|
229
|
+
], toneProps = {
|
|
222
230
|
tone: {
|
|
223
231
|
type: "union",
|
|
224
232
|
className: "tone",
|
|
@@ -256,7 +264,7 @@ function getProps(componentProps, propDefs) {
|
|
|
256
264
|
let className = componentProps?.className || "", style = componentProps?.style || {};
|
|
257
265
|
const restProps = {};
|
|
258
266
|
for (const key in componentProps) {
|
|
259
|
-
if (!propDefs?.[key] || !propDefs
|
|
267
|
+
if (!propDefs?.[key] || !("className" in propDefs[key]) && !("composition" in propDefs[key])) {
|
|
260
268
|
restProps[key] = componentProps[key];
|
|
261
269
|
continue;
|
|
262
270
|
}
|
|
@@ -269,7 +277,7 @@ function getProps(componentProps, propDefs) {
|
|
|
269
277
|
return { ...restProps, className, style };
|
|
270
278
|
}
|
|
271
279
|
function getClassName(prop, propDef, bp) {
|
|
272
|
-
return propDef.type === "union" && propDef.values?.includes(prop) ? `${PREFIX}-${propDef.className}${typeof prop == "string" ? `-${prop}` : prop}${bp ? `-bp-${bp}` : ""}` : propDef.type === "string" || propDef.type === "number" ? `${PREFIX}-${propDef.className}${bp ? `-bp-${bp}` : ""}` : propDef.type === "boolean" ? `${PREFIX}-${prop ? propDef.className : propDef.inverse}${bp ? `-bp-${bp}` : ""}` : "";
|
|
280
|
+
return propDef.type === "composite" && propDef.composition[prop] ? bp ? propDef.composition[prop].split(" ").map((className) => `${className}-bp-${bp}`).join(" ") : propDef.composition[prop] : propDef.type === "union" && propDef.values?.includes(prop) ? `${PREFIX}-${propDef.className}${typeof prop == "string" ? `-${prop}` : prop}${bp ? `-bp-${bp}` : ""}` : propDef.type === "string" || propDef.type === "number" ? `${PREFIX}-${propDef.className}${bp ? `-bp-${bp}` : ""}` : propDef.type === "boolean" ? `${PREFIX}-${prop ? propDef.className : propDef.inverse}${bp ? `-bp-${bp}` : ""}` : "";
|
|
273
281
|
}
|
|
274
282
|
function getStyle(prop, propDef, bp) {
|
|
275
283
|
return propDef.type === "string" || propDef.type === "number" ? {
|
|
@@ -294,6 +302,32 @@ function Box({
|
|
|
294
302
|
const { as, children, className, style, ...rest } = getProps({ display, ...props }, boxProps);
|
|
295
303
|
return /* @__PURE__ */ jsx(as || "div", { className: classNames("sui-Box", className), style, "data-ui": "Box", ...rest, children });
|
|
296
304
|
}
|
|
305
|
+
const cardProps = {
|
|
306
|
+
as: {
|
|
307
|
+
type: "string"
|
|
308
|
+
},
|
|
309
|
+
display: {
|
|
310
|
+
type: "union",
|
|
311
|
+
className: "display",
|
|
312
|
+
values: DISPLAY_BLOCK
|
|
313
|
+
},
|
|
314
|
+
density: {
|
|
315
|
+
type: "composite",
|
|
316
|
+
composition: {
|
|
317
|
+
compact: "sui-p3 sui-radius2",
|
|
318
|
+
regular: "sui-p4 sui-radius3",
|
|
319
|
+
loose: "sui-p5 sui-radius4"
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
...marginProps
|
|
323
|
+
};
|
|
324
|
+
function Card({
|
|
325
|
+
density = "regular",
|
|
326
|
+
...props
|
|
327
|
+
}) {
|
|
328
|
+
const { as, children, className, style, ...rest } = getProps({ density, ...props }, cardProps);
|
|
329
|
+
return /* @__PURE__ */ jsx(as || "div", { className: classNames("sui-Card", className), style, "data-ui": "Card", ...rest, children });
|
|
330
|
+
}
|
|
297
331
|
function Divider() {
|
|
298
332
|
return /* @__PURE__ */ jsx(
|
|
299
333
|
"hr",
|
|
@@ -440,7 +474,45 @@ const FONT_WEIGHT = ["regular", "medium", "semibold", "bold"], TEXT_ALIGN = ["le
|
|
|
440
474
|
values: FONT_WEIGHT
|
|
441
475
|
},
|
|
442
476
|
...marginProps
|
|
443
|
-
},
|
|
477
|
+
}, HEADING_TAG = ["h1", "h2", "h3", "h4", "h5", "h6"], HEADING_SIZE = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], headingProps = {
|
|
478
|
+
as: {
|
|
479
|
+
type: "union",
|
|
480
|
+
values: HEADING_TAG
|
|
481
|
+
},
|
|
482
|
+
size: {
|
|
483
|
+
type: "union",
|
|
484
|
+
className: "text-heading",
|
|
485
|
+
values: HEADING_SIZE
|
|
486
|
+
},
|
|
487
|
+
...typographyProps
|
|
488
|
+
};
|
|
489
|
+
function Heading({
|
|
490
|
+
size = 2,
|
|
491
|
+
weight = "bold",
|
|
492
|
+
...props
|
|
493
|
+
}) {
|
|
494
|
+
const { as, children, className, style, ...rest } = getProps({ size, weight, ...props }, headingProps), Component = as || "h1";
|
|
495
|
+
return props.lineClamp && props.trim ? /* @__PURE__ */ jsx(
|
|
496
|
+
Component,
|
|
497
|
+
{
|
|
498
|
+
className: classNames("sui-Heading", className?.replace("sui-line-clamp", "")),
|
|
499
|
+
style,
|
|
500
|
+
"data-ui": "Heading",
|
|
501
|
+
...rest,
|
|
502
|
+
children: /* @__PURE__ */ jsx("span", { className: "sui-line-clamp", children })
|
|
503
|
+
}
|
|
504
|
+
) : /* @__PURE__ */ jsx(
|
|
505
|
+
Component,
|
|
506
|
+
{
|
|
507
|
+
className: classNames("sui-Heading", className),
|
|
508
|
+
style,
|
|
509
|
+
"data-ui": "Heading",
|
|
510
|
+
...rest,
|
|
511
|
+
children
|
|
512
|
+
}
|
|
513
|
+
);
|
|
514
|
+
}
|
|
515
|
+
const TEXT_SIZE = [0, 1, 2, 3, 4], textProps = {
|
|
444
516
|
as: {
|
|
445
517
|
type: "string"
|
|
446
518
|
},
|
|
@@ -469,9 +541,11 @@ function Text({
|
|
|
469
541
|
}
|
|
470
542
|
export {
|
|
471
543
|
Box,
|
|
544
|
+
Card,
|
|
472
545
|
Divider,
|
|
473
546
|
Flex,
|
|
474
547
|
Grid,
|
|
548
|
+
Heading,
|
|
475
549
|
Text
|
|
476
550
|
};
|
|
477
551
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/types/Radius.ts","../src/props/border.ts","../src/props/flexChild.ts","../src/props/gridChild.ts","../src/props/height.ts","../src/types/Space.ts","../src/props/margin.ts","../src/types/Overflow.ts","../src/props/overflow.ts","../src/props/padding.ts","../src/types/Position.ts","../src/props/position.ts","../src/types/Tone.ts","../src/props/tone.ts","../src/props/width.ts","../src/props/layout.ts","../src/types/Display.ts","../src/utils/getProps.ts","../src/components/box/box.props.ts","../src/components/box/Box.tsx","../src/components/divider/Divider.tsx","../src/types/Flex.ts","../src/props/flexParent.ts","../src/props/gap.ts","../src/components/flex/flex.props.ts","../src/components/flex/Flex.tsx","../src/types/Grid.ts","../src/props/gridParent.ts","../src/components/grid/grid.props.ts","../src/components/grid/Grid.tsx","../src/types/FontWeight.ts","../src/types/TextAlign.ts","../src/props/typography.ts","../src/types/Text.ts","../src/components/text/text.props.ts","../src/components/text/Text.tsx"],"sourcesContent":["export const RADIUS = [0, 1, 2, 3, 4, 5, 6, 'full']\nexport type Radius = (typeof RADIUS)[number]\n","import {type PropDef} from '../types/PropDef'\nimport {RADIUS, type Radius} from '../types/Radius'\nimport {type Responsive} from '../types/Responsive'\n\nexport type BorderProps = {\n /** CSS **border** property */\n border?: Responsive<boolean>\n /** CSS **border-top** property */\n borderTop?: Responsive<boolean>\n /** CSS **border-right** property */\n borderRight?: Responsive<boolean>\n /** CSS **border-bottom** property */\n borderBottom?: Responsive<boolean>\n /** CSS **border-left** property */\n borderLeft?: Responsive<boolean>\n /** CSS **border-radius** property */\n radius?: Responsive<Radius>\n}\n\nexport const borderProps: Record<string, PropDef> = {\n border: {\n type: 'boolean',\n className: 'border',\n inverse: 'border-none',\n },\n borderTop: {\n type: 'boolean',\n className: 'border-top',\n inverse: 'border-top-none',\n },\n borderRight: {\n type: 'boolean',\n className: 'border-right',\n inverse: 'border-right-none',\n },\n borderBottom: {\n type: 'boolean',\n className: 'border-bottom',\n inverse: 'border-bottom-none',\n },\n borderLeft: {\n type: 'boolean',\n className: 'border-left',\n inverse: 'border-left-none',\n },\n radius: {\n type: 'union',\n className: 'radius',\n values: RADIUS,\n },\n}\n","import {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\n\nexport type FlexChildProps = {\n /** CSS **flex-basis** property */\n flexBasis?: Responsive<string>\n /** CSS **flex-grow** property */\n flexGrow?: Responsive<number>\n /** CSS **flex-shrink** property */\n flexShrink?: Responsive<number>\n}\n\nexport const flexChildProps: Record<string, PropDef> = {\n flexBasis: {\n type: 'string',\n className: 'flex-basis',\n variable: '--flex-basis',\n },\n flexGrow: {\n type: 'number',\n className: 'flex-grow',\n variable: '--flex-grow',\n },\n flexShrink: {\n type: 'number',\n className: 'flex-shrink',\n variable: '--flex-shrink',\n },\n}\n","import {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\n\nexport type GridChildProps = {\n /** CSS **grid-column** property */\n gridColumn?: Responsive<string>\n /** CSS **grid-column-start** property */\n gridColumnStart?: Responsive<string>\n /** CSS **grid-column-end** property */\n gridColumnEnd?: Responsive<string>\n /** CSS **grid-row** property */\n gridRow?: Responsive<string>\n /** CSS **grid-row-start** property */\n gridRowStart?: Responsive<string>\n /** CSS **grid-row-end** property */\n gridRowEnd?: Responsive<string>\n}\n\nexport const gridChildProps: Record<string, PropDef> = {\n gridColumn: {\n type: 'string',\n className: 'grid-column',\n variable: '--grid-column',\n },\n gridColumnStart: {\n type: 'string',\n className: 'grid-column-start',\n variable: '--grid-column-start',\n },\n gridColumnEnd: {\n type: 'string',\n className: 'grid-column-end',\n variable: '--grid-column-end',\n },\n gridRow: {\n type: 'string',\n className: 'grid-row',\n variable: '--grid-row',\n },\n gridRowStart: {\n type: 'string',\n className: 'grid-row-start',\n variable: '--grid-row-start',\n },\n gridRowEnd: {\n type: 'string',\n className: 'grid-row-end',\n variable: '--grid-row-end',\n },\n}\n","import {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\n\nexport type HeightProps = {\n /** CSS **height** property */\n height?: Responsive<string>\n /** CSS **min-height** property */\n minHeight?: Responsive<string>\n /** CSS **max-height** property */\n maxHeight?: Responsive<string>\n}\n\nexport const heightProps: Record<string, PropDef> = {\n height: {\n type: 'string',\n className: 'height',\n variable: '--height',\n },\n minHeight: {\n type: 'string',\n className: 'min-height',\n variable: '--min-height',\n },\n maxHeight: {\n type: 'string',\n className: 'max-height',\n variable: '--max-height',\n },\n}\n","export const SPACE = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] as const\nexport type Space = (typeof SPACE)[number]\n\nexport const SPACE_AUTO = [...SPACE, 'auto'] as const\nexport type SpaceAuto = (typeof SPACE_AUTO)[number]\n","import {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\nimport {SPACE_AUTO, type SpaceAuto} from '../types/Space'\n\nexport type MarginProps = {\n /** CSS **margin** property */\n margin?: Responsive<SpaceAuto>\n /** CSS **margin-left** and **margin-right** properties */\n marginX?: Responsive<SpaceAuto>\n /** CSS **margin-top** and **margin-bottom** properties */\n marginY?: Responsive<SpaceAuto>\n /** CSS **margin-top** property */\n marginTop?: Responsive<SpaceAuto>\n /** CSS **margin-right** property */\n marginRight?: Responsive<SpaceAuto>\n /** CSS **margin-bottom** property */\n marginBottom?: Responsive<SpaceAuto>\n /** CSS **margin-left** property */\n marginLeft?: Responsive<SpaceAuto>\n}\n\nexport const marginProps: Record<string, PropDef> = {\n margin: {\n type: 'union',\n className: 'm',\n values: SPACE_AUTO,\n },\n marginX: {\n type: 'union',\n className: 'mx',\n values: SPACE_AUTO,\n },\n marginY: {\n type: 'union',\n className: 'my',\n values: SPACE_AUTO,\n },\n marginTop: {\n type: 'union',\n className: 'mt',\n values: SPACE_AUTO,\n },\n marginRight: {\n type: 'union',\n className: 'mr',\n values: SPACE_AUTO,\n },\n marginBottom: {\n type: 'union',\n className: 'mb',\n values: SPACE_AUTO,\n },\n marginLeft: {\n type: 'union',\n className: 'ml',\n values: SPACE_AUTO,\n },\n}\n","export const OVERFLOW = ['visible', 'hidden', 'auto', 'scroll', 'clip']\nexport type Overflow = (typeof OVERFLOW)[number]\n","import {OVERFLOW, type Overflow} from '../types/Overflow'\nimport {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\n\nexport type OverflowProps = {\n /** CSS **overflow** property */\n overflow?: Responsive<Overflow>\n /** CSS **overflow-x** property */\n overflowX?: Responsive<Overflow>\n /** CSS **overflow-y** property */\n overflowY?: Responsive<Overflow>\n}\n\nexport const overflowProps: Record<string, PropDef> = {\n overflow: {\n type: 'union',\n className: 'overflow',\n values: OVERFLOW,\n },\n overflowX: {\n type: 'union',\n className: 'overflow-x',\n values: OVERFLOW,\n },\n overflowY: {\n type: 'union',\n className: 'overflow-y',\n values: OVERFLOW,\n },\n}\n","import {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\nimport {SPACE, type Space} from '../types/Space'\n\nexport interface PaddingProps {\n /** CSS **padding** property */\n padding?: Responsive<Space>\n /** CSS **padding-left** and **padding-right** properties */\n paddingX?: Responsive<Space>\n /** CSS **padding-top** and **padding-bottom** properties */\n paddingY?: Responsive<Space>\n /** CSS **padding-top** property */\n paddingTop?: Responsive<Space>\n /** CSS **padding-right** property */\n paddingRight?: Responsive<Space>\n /** CSS **padding-bottom** property */\n paddingBottom?: Responsive<Space>\n /** CSS **padding-left** property */\n paddingLeft?: Responsive<Space>\n}\n\nexport const paddingProps: Record<string, PropDef> = {\n padding: {\n type: 'union',\n className: 'p',\n values: SPACE,\n },\n paddingX: {\n type: 'union',\n className: 'px',\n values: SPACE,\n },\n paddingY: {\n type: 'union',\n className: 'py',\n values: SPACE,\n },\n paddingTop: {\n type: 'union',\n className: 'pt',\n values: SPACE,\n },\n paddingRight: {\n type: 'union',\n className: 'pr',\n values: SPACE,\n },\n paddingBottom: {\n type: 'union',\n className: 'pb',\n values: SPACE,\n },\n paddingLeft: {\n type: 'union',\n className: 'pl',\n values: SPACE,\n },\n}\n","export const POSITION = ['absolute', 'fixed', 'relative', 'static', 'sticky']\nexport type Position = (typeof POSITION)[number]\n","import {POSITION, type Position} from '../types/Position'\nimport {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\nimport {SPACE_AUTO, type SpaceAuto} from '../types/Space'\n\nexport type PositionProps = {\n /** CSS **position** property */\n position?: Responsive<Position>\n /** CSS **inset** property */\n inset?: Responsive<SpaceAuto>\n /** CSS **top** property */\n top?: Responsive<SpaceAuto>\n /** CSS **right** property */\n right?: Responsive<SpaceAuto>\n /** CSS **bottom** property */\n bottom?: Responsive<SpaceAuto>\n /** CSS **left** property */\n left?: Responsive<SpaceAuto>\n /** CSS **z-index** property */\n zIndex?: Responsive<number>\n}\n\nexport const positionProps: Record<string, PropDef> = {\n position: {\n type: 'union',\n className: 'position',\n values: POSITION,\n },\n inset: {\n type: 'union',\n className: 'inset',\n values: SPACE_AUTO,\n },\n top: {\n type: 'union',\n className: 'top',\n values: SPACE_AUTO,\n },\n right: {\n type: 'union',\n className: 'right',\n values: SPACE_AUTO,\n },\n bottom: {\n type: 'union',\n className: 'bottom',\n values: SPACE_AUTO,\n },\n left: {\n type: 'union',\n className: 'left',\n values: SPACE_AUTO,\n },\n zIndex: {\n type: 'number',\n className: 'z-index',\n variable: '--z-index',\n },\n}\n","export const TONE = ['default', 'neutral', 'primary', 'suggest', 'positive', 'caution', 'critical']\nexport type Tone = (typeof TONE)[number]\n","import {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\nimport {TONE, type Tone} from '../types/Tone'\n\nexport type ToneProps = {\n /** CSS **background-color** property */\n tone?: Responsive<Tone>\n}\n\nexport const toneProps: Record<string, PropDef> = {\n tone: {\n type: 'union',\n className: 'tone',\n values: TONE,\n },\n}\n","import {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\n\nexport type WidthProps = {\n /** CSS **width** property */\n width?: Responsive<string>\n /** CSS **min-width** property */\n minWidth?: Responsive<string>\n /** CSS **max-width** property */\n maxWidth?: Responsive<string>\n}\n\nexport const widthProps: Record<string, PropDef> = {\n width: {\n type: 'string',\n className: 'width',\n variable: '--width',\n },\n minWidth: {\n type: 'string',\n className: 'min-width',\n variable: '--min-width',\n },\n maxWidth: {\n type: 'string',\n className: 'max-width',\n variable: '--max-width',\n },\n}\n","import {type PropDef} from '../types/PropDef'\nimport {type BorderProps, borderProps} from './border'\nimport {type FlexChildProps, flexChildProps} from './flexChild'\nimport {type GridChildProps, gridChildProps} from './gridChild'\nimport {type HeightProps, heightProps} from './height'\nimport {type MarginProps, marginProps} from './margin'\nimport {type OverflowProps, overflowProps} from './overflow'\nimport {type PaddingProps, paddingProps} from './padding'\nimport {type PositionProps, positionProps} from './position'\nimport {type ToneProps, toneProps} from './tone'\nimport {type WidthProps, widthProps} from './width'\n\nexport interface LayoutProps\n extends\n ToneProps,\n WidthProps,\n HeightProps,\n MarginProps,\n BorderProps,\n PaddingProps,\n PositionProps,\n OverflowProps,\n FlexChildProps,\n GridChildProps {}\n\nexport const layoutProps: Record<string, PropDef> = {\n ...toneProps,\n ...widthProps,\n ...heightProps,\n ...marginProps,\n ...borderProps,\n ...paddingProps,\n ...positionProps,\n ...overflowProps,\n ...flexChildProps,\n ...gridChildProps,\n}\n","export const DISPLAY_BLOCK = ['block', 'inline-block', 'none'] as const\nexport type DisplayBlock = (typeof DISPLAY_BLOCK)[number]\n\nexport const DISPLAY_FLEX = ['flex', 'inline-flex', 'none'] as const\nexport type DisplayFlex = (typeof DISPLAY_FLEX)[number]\n\nexport const DISPLAY_GRID = ['grid', 'inline-grid', 'none'] as const\nexport type DisplayGrid = (typeof DISPLAY_GRID)[number]\n","import classNames from 'classnames'\n\nimport {type PropDef} from '../types/PropDef'\n\nconst PREFIX = 'sui'\nconst BREAKPOINTS_LENGTH = 7\n\ninterface ComponentProps {\n className?: string\n style?: React.CSSProperties\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n [key: string]: any\n}\n\nexport function getProps<P extends ComponentProps, T extends Record<string, PropDef>>(\n componentProps?: P,\n propDefs?: T,\n): ComponentProps {\n let className = componentProps?.className || ''\n let style = componentProps?.style || {}\n const restProps: ComponentProps = {}\n\n for (const key in componentProps) {\n if (!propDefs?.[key] || !propDefs?.[key].className) {\n restProps[key] = componentProps[key]\n continue\n }\n\n if (Array.isArray(componentProps[key])) {\n for (\n let i = 0, len = Math.min(componentProps[key].length, BREAKPOINTS_LENGTH);\n i < len;\n i++\n ) {\n className = classNames(className, getClassName(componentProps[key][i], propDefs[key], i))\n style = {...style, ...getStyle(componentProps[key][i], propDefs[key], i)}\n }\n } else {\n className = classNames(className, getClassName(componentProps[key], propDefs[key]))\n style = {...style, ...getStyle(componentProps[key], propDefs[key])}\n }\n }\n\n return {...restProps, className, style}\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-explicit-any */\nfunction getClassName(prop: any, propDef: PropDef, bp?: number) {\n if (propDef.type === 'union' && propDef.values?.includes(prop)) {\n /* Note: This may need updating depending on the final CSS classname formatting */\n return `${PREFIX}-${propDef.className}${typeof prop === 'string' ? `-${prop}` : prop}${bp ? `-bp-${bp}` : ''}`\n }\n\n if (propDef.type === 'string' || propDef.type === 'number') {\n return `${PREFIX}-${propDef.className}${bp ? `-bp-${bp}` : ''}`\n }\n\n if (propDef.type === 'boolean') {\n return `${PREFIX}-${prop ? propDef.className : propDef.inverse}${bp ? `-bp-${bp}` : ''}`\n }\n\n return ''\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-explicit-any */\nfunction getStyle(prop: any, propDef: PropDef, bp?: number) {\n if (propDef.type === 'string' || propDef.type === 'number') {\n return {\n [`${propDef.variable}${bp ? `-bp-${bp}` : ''}`]: prop,\n }\n }\n\n return {}\n}\n","import {layoutProps} from '../../props/layout'\nimport {DISPLAY_BLOCK} from '../../types/Display'\nimport {type PropDef} from '../../types/PropDef'\n\nexport const boxProps: Record<string, PropDef> = {\n as: {\n type: 'string',\n },\n display: {\n type: 'union',\n className: 'display',\n values: DISPLAY_BLOCK,\n },\n ...layoutProps,\n}\n","import classNames from 'classnames'\nimport React from 'react'\n\nimport {type LayoutProps} from '../../props/layout'\nimport {type DisplayBlock} from '../../types/Display'\nimport {type Responsive} from '../../types/Responsive'\nimport {getProps} from '../../utils/getProps'\nimport {boxProps} from './box.props'\n\n/** @public */\nexport interface BoxProps<T extends React.ElementType> extends LayoutProps {\n /** Element to render */\n as?: T\n /** CSS **display** property */\n display?: Responsive<DisplayBlock>\n}\n\n/** @public */\nexport function Box<T extends React.ElementType = 'div'>({\n display = 'block',\n ...props\n}: BoxProps<T> & Omit<React.ComponentPropsWithRef<T>, keyof BoxProps<T>>) {\n const {as, children, className, style, ...rest} = getProps({display, ...props}, boxProps)\n const Component = as || 'div'\n\n return (\n <Component className={classNames('sui-Box', className)} style={style} data-ui=\"Box\" {...rest}>\n {children}\n </Component>\n )\n}\n","import React from 'react'\n\n/** @public */\nexport function Divider() {\n return (\n <hr\n className=\"sui-Divider sui-border-bottom-none sui-border-left-none sui-border-right-none sui-border-top\"\n data-ui=\"Divider\"\n />\n )\n}\n","export const ALIGN_ITEMS = ['baseline', 'center', 'flex-end', 'flex-start', 'stretch'] as const\nexport type AlignItems = (typeof ALIGN_ITEMS)[number]\n\nexport const JUSTIFY_CONTENT = [\n 'flex-start',\n 'flex-end',\n 'center',\n 'space-between',\n 'space-around',\n 'space-evenly',\n] as const\nexport type JustifyContent = (typeof JUSTIFY_CONTENT)[number]\n\nexport const FLEX_DIRECTION = ['row', 'row-reverse', 'column', 'column-reverse'] as const\nexport type FlexDirection = (typeof FLEX_DIRECTION)[number]\n\nexport const FLEX_WRAP = ['wrap', 'wrap-reverse', 'nowrap'] as const\nexport type FlexWrap = (typeof FLEX_WRAP)[number]\n","import {\n ALIGN_ITEMS,\n type AlignItems,\n FLEX_DIRECTION,\n FLEX_WRAP,\n type FlexDirection,\n type FlexWrap,\n JUSTIFY_CONTENT,\n type JustifyContent,\n} from '../types/Flex'\nimport {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\n\nexport type FlexParentProps = {\n /** CSS **align-items** property */\n alignItems?: Responsive<AlignItems>\n /** CSS **justify-content** property */\n justifyContent?: Responsive<JustifyContent>\n /** CSS **flex-direction** property */\n flexDirection?: Responsive<FlexDirection>\n /** CSS **flex-wrap** property */\n flexWrap?: Responsive<FlexWrap>\n}\n\nexport const flexParentProps: Record<string, PropDef> = {\n alignItems: {\n type: 'union',\n className: 'align-items',\n values: ALIGN_ITEMS,\n },\n justifyContent: {\n type: 'union',\n className: 'justify-content',\n values: JUSTIFY_CONTENT,\n },\n flexDirection: {\n type: 'union',\n className: 'flex-direction',\n values: FLEX_DIRECTION,\n },\n flexWrap: {\n type: 'union',\n className: 'flex-wrap',\n values: FLEX_WRAP,\n },\n}\n","import {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\nimport {SPACE, type Space} from '../types/Space'\n\nexport type GapProps = {\n /** CSS **gap** property */\n gap?: Responsive<Space>\n /** CSS **row-gap** property */\n rowGap?: Responsive<Space>\n /** CSS **column-gap** property */\n columnGap?: Responsive<Space>\n}\n\nexport const gapProps: Record<string, PropDef> = {\n gap: {\n type: 'union',\n className: 'gap',\n values: SPACE,\n },\n rowGap: {\n type: 'union',\n className: 'row-gap',\n values: SPACE,\n },\n columnGap: {\n type: 'union',\n className: 'column-gap',\n values: SPACE,\n },\n}\n","import {flexParentProps} from '../../props/flexParent'\nimport {gapProps} from '../../props/gap'\nimport {layoutProps} from '../../props/layout'\nimport {DISPLAY_FLEX} from '../../types/Display'\nimport {type PropDef} from '../../types/PropDef'\n\nexport const flexProps: Record<string, PropDef> = {\n as: {\n type: 'string',\n },\n display: {\n type: 'union',\n className: 'display',\n values: DISPLAY_FLEX,\n },\n ...flexParentProps,\n ...gapProps,\n ...layoutProps,\n}\n","import classNames from 'classnames'\nimport React from 'react'\n\nimport type {FlexParentProps} from '../../props/flexParent'\nimport type {GapProps} from '../../props/gap'\nimport {type LayoutProps} from '../../props/layout'\nimport {type DisplayFlex} from '../../types/Display'\nimport {type Responsive} from '../../types/Responsive'\nimport {getProps} from '../../utils/getProps'\nimport {flexProps} from './flex.props'\n\n/** @public */\nexport interface FlexProps<T extends React.ElementType>\n extends FlexParentProps, GapProps, LayoutProps {\n /** Element to render */\n as?: T\n /** CSS **display** property */\n display?: Responsive<DisplayFlex>\n}\n\n/** @public */\nexport function Flex<T extends React.ElementType = 'div'>({\n display = 'flex',\n ...props\n}: FlexProps<T> & Omit<React.ComponentPropsWithRef<T>, keyof FlexProps<T>>) {\n const {as, children, className, style, ...rest} = getProps({display, ...props}, flexProps)\n const Component = as || 'div'\n\n return (\n <Component className={classNames('sui-Flex', className)} style={style} data-ui=\"Flex\" {...rest}>\n {children}\n </Component>\n )\n}\n","export const GRID_AUTO_FLOW = ['row', 'column', 'row dense', 'column dense', 'dense'] as const\nexport type GridAutoFlow = (typeof GRID_AUTO_FLOW)[number]\n","import {GRID_AUTO_FLOW, type GridAutoFlow} from '../types/Grid'\nimport {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\n\nexport type GridParentProps = {\n /** CSS **grid-auto-flow** property */\n gridAutoFlow?: Responsive<GridAutoFlow>\n /** CSS **grid-auto-columns** property */\n gridAutoColumns?: Responsive<string>\n /** CSS **grid-auto-row** property */\n gridAutoRows?: Responsive<string>\n /** CSS **grid-template-columns** property */\n gridTemplateColumns?: Responsive<string>\n /** CSS **grid-template-rows** property */\n gridTemplateRows?: Responsive<string>\n}\n\nexport const gridParentProps: Record<string, PropDef> = {\n gridAutoFlow: {\n type: 'union',\n className: 'grid-auto-flow',\n values: GRID_AUTO_FLOW,\n },\n gridAutoColumns: {\n type: 'string',\n className: 'grid-auto-columns',\n variable: '--grid-auto-columns',\n },\n gridAutoRows: {\n type: 'string',\n className: 'grid-auto-rows',\n variable: '--grid-auto-rows',\n },\n gridTemplateColumns: {\n type: 'string',\n className: 'grid-template-columns',\n variable: '--grid-template-columns',\n },\n gridTemplateRows: {\n type: 'string',\n className: 'grid-template-rows',\n variable: '--grid-template-rows',\n },\n}\n","import {gapProps} from '../../props/gap'\nimport {gridParentProps} from '../../props/gridParent'\nimport {layoutProps} from '../../props/layout'\nimport {DISPLAY_GRID} from '../../types/Display'\nimport {type PropDef} from '../../types/PropDef'\n\nexport const gridProps: Record<string, PropDef> = {\n as: {\n type: 'string',\n },\n display: {\n type: 'union',\n className: 'display',\n values: DISPLAY_GRID,\n },\n ...gridParentProps,\n ...gapProps,\n ...layoutProps,\n}\n","import classNames from 'classnames'\nimport React from 'react'\n\nimport {type GapProps} from '../../props/gap'\nimport {type GridParentProps} from '../../props/gridParent'\nimport {type LayoutProps} from '../../props/layout'\nimport {type DisplayGrid} from '../../types/Display'\nimport {type Responsive} from '../../types/Responsive'\nimport {getProps} from '../../utils/getProps'\nimport {gridProps} from './grid.props'\n\n/** @public */\nexport interface GridProps<T extends React.ElementType>\n extends GridParentProps, GapProps, LayoutProps {\n /** Element to render */\n as?: T\n /** CSS **display** property */\n display?: Responsive<DisplayGrid>\n}\n\n/** @public */\nexport function Grid<T extends React.ElementType = 'div'>({\n display = 'grid',\n ...props\n}: GridProps<T> & Omit<React.ComponentPropsWithRef<T>, keyof GridProps<T>>) {\n const {as, children, className, style, ...rest} = getProps({display, ...props}, gridProps)\n const Component = as || 'div'\n\n return (\n <Component className={classNames('sui-Grid', className)} style={style} data-ui=\"Grid\" {...rest}>\n {children}\n </Component>\n )\n}\n","export const FONT_WEIGHT = ['regular', 'medium', 'semibold', 'bold']\nexport type FontWeight = (typeof FONT_WEIGHT)[number]\n","export const TEXT_ALIGN = ['left', 'center', 'right', 'justify']\nexport type TextAlign = (typeof TEXT_ALIGN)[number]\n","import {FONT_WEIGHT, type FontWeight} from '../types/FontWeight'\nimport {type PropDef} from '../types/PropDef'\nimport {TEXT_ALIGN, type TextAlign} from '../types/TextAlign'\nimport {type MarginProps, marginProps} from './margin'\n\nexport interface TypographyProps extends MarginProps {\n /** CSS **text-align** property */\n align?: TextAlign\n /** CSS **-webkit-line-clamp** property */\n lineClamp?: number\n /** CSS **color** property */\n muted?: boolean\n /** CSS **text-box-trim** property */\n trim?: boolean\n /** CSS **font-weight** property */\n weight?: FontWeight\n}\n\nexport const typographyProps: Record<string, PropDef> = {\n align: {\n type: 'union',\n className: 'text',\n values: TEXT_ALIGN,\n },\n lineClamp: {\n type: 'number',\n className: 'line-clamp',\n variable: '--line-clamp',\n },\n muted: {\n type: 'boolean',\n className: 'text-muted',\n inverse: 'text-default',\n },\n trim: {\n type: 'boolean',\n className: 'text-trim',\n inverse: 'text-trim-none',\n },\n weight: {\n type: 'union',\n className: 'weight',\n values: FONT_WEIGHT,\n },\n ...marginProps,\n}\n","export const TEXT_SIZE = [0, 1, 2, 3, 4]\nexport type TextSize = (typeof TEXT_SIZE)[number]\n","import {typographyProps} from '../../props/typography'\nimport {type PropDef} from '../../types/PropDef'\nimport {TEXT_SIZE} from '../../types/Text'\n\nexport const textProps: Record<string, PropDef> = {\n as: {\n type: 'string',\n },\n size: {\n type: 'union',\n className: 'text-body',\n values: TEXT_SIZE,\n },\n ...typographyProps,\n}\n","import classNames from 'classnames'\nimport React from 'react'\n\nimport type {TypographyProps} from '../../props/typography'\nimport type {TextSize} from '../../types/Text'\nimport {getProps} from '../../utils/getProps'\nimport {textProps} from './text.props'\n\n/** @public */\nexport interface TextProps<T extends React.ElementType> extends TypographyProps {\n /** Element to render */\n as?: T\n /** CSS **font-size** property */\n size?: TextSize\n}\n\n/** @public */\nexport function Text<T extends React.ElementType = 'p'>({\n size = 2,\n ...props\n}: TextProps<T> & Omit<React.ComponentPropsWithRef<T>, keyof TextProps<T>>) {\n const {as, children, className, style, ...rest} = getProps({size, ...props}, textProps)\n const Component = as || 'p'\n\n if (props.lineClamp && props.trim) {\n return (\n <Component\n className={classNames('sui-Text', className?.replace('sui-line-clamp', ''))}\n style={style}\n data-ui=\"Text\"\n {...rest}\n >\n <span className=\"sui-line-clamp\">{children}</span>\n </Component>\n )\n }\n\n return (\n <Component className={classNames('sui-Text', className)} style={style} data-ui=\"Text\" {...rest}>\n {children}\n </Component>\n )\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/types/Radius.ts","../src/props/border.ts","../src/props/flexChild.ts","../src/props/gridChild.ts","../src/props/height.ts","../src/types/Space.ts","../src/props/margin.ts","../src/types/Overflow.ts","../src/props/overflow.ts","../src/props/padding.ts","../src/types/Position.ts","../src/props/position.ts","../src/types/Tone.ts","../src/props/tone.ts","../src/props/width.ts","../src/props/layout.ts","../src/types/Display.ts","../src/utils/getProps.ts","../src/components/box/box.props.ts","../src/components/box/Box.tsx","../src/components/card/card.props.ts","../src/components/card/Card.tsx","../src/components/divider/Divider.tsx","../src/types/Flex.ts","../src/props/flexParent.ts","../src/props/gap.ts","../src/components/flex/flex.props.ts","../src/components/flex/Flex.tsx","../src/types/Grid.ts","../src/props/gridParent.ts","../src/components/grid/grid.props.ts","../src/components/grid/Grid.tsx","../src/types/FontWeight.ts","../src/types/TextAlign.ts","../src/props/typography.ts","../src/types/Heading.ts","../src/components/heading/heading.props.ts","../src/components/heading/Heading.tsx","../src/types/Text.ts","../src/components/text/text.props.ts","../src/components/text/Text.tsx"],"sourcesContent":["export const RADIUS = [0, 1, 2, 3, 4, 5, 6, 'full'] as const\nexport type Radius = (typeof RADIUS)[number]\n","import {type PropDef} from '../types/PropDef'\nimport {RADIUS, type Radius} from '../types/Radius'\nimport {type Responsive} from '../types/Responsive'\n\nexport type BorderProps = {\n /** CSS **border** property */\n border?: Responsive<boolean>\n /** CSS **border-top** property */\n borderTop?: Responsive<boolean>\n /** CSS **border-right** property */\n borderRight?: Responsive<boolean>\n /** CSS **border-bottom** property */\n borderBottom?: Responsive<boolean>\n /** CSS **border-left** property */\n borderLeft?: Responsive<boolean>\n /** CSS **border-radius** property */\n radius?: Responsive<Radius>\n}\n\nexport const borderProps: Record<string, PropDef> = {\n border: {\n type: 'boolean',\n className: 'border',\n inverse: 'border-none',\n },\n borderTop: {\n type: 'boolean',\n className: 'border-top',\n inverse: 'border-top-none',\n },\n borderRight: {\n type: 'boolean',\n className: 'border-right',\n inverse: 'border-right-none',\n },\n borderBottom: {\n type: 'boolean',\n className: 'border-bottom',\n inverse: 'border-bottom-none',\n },\n borderLeft: {\n type: 'boolean',\n className: 'border-left',\n inverse: 'border-left-none',\n },\n radius: {\n type: 'union',\n className: 'radius',\n values: RADIUS,\n },\n}\n","import {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\n\nexport type FlexChildProps = {\n /** CSS **flex-basis** property */\n flexBasis?: Responsive<string>\n /** CSS **flex-grow** property */\n flexGrow?: Responsive<number>\n /** CSS **flex-shrink** property */\n flexShrink?: Responsive<number>\n}\n\nexport const flexChildProps: Record<string, PropDef> = {\n flexBasis: {\n type: 'string',\n className: 'flex-basis',\n variable: '--flex-basis',\n },\n flexGrow: {\n type: 'number',\n className: 'flex-grow',\n variable: '--flex-grow',\n },\n flexShrink: {\n type: 'number',\n className: 'flex-shrink',\n variable: '--flex-shrink',\n },\n}\n","import {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\n\nexport type GridChildProps = {\n /** CSS **grid-column** property */\n gridColumn?: Responsive<string>\n /** CSS **grid-column-start** property */\n gridColumnStart?: Responsive<string>\n /** CSS **grid-column-end** property */\n gridColumnEnd?: Responsive<string>\n /** CSS **grid-row** property */\n gridRow?: Responsive<string>\n /** CSS **grid-row-start** property */\n gridRowStart?: Responsive<string>\n /** CSS **grid-row-end** property */\n gridRowEnd?: Responsive<string>\n}\n\nexport const gridChildProps: Record<string, PropDef> = {\n gridColumn: {\n type: 'string',\n className: 'grid-column',\n variable: '--grid-column',\n },\n gridColumnStart: {\n type: 'string',\n className: 'grid-column-start',\n variable: '--grid-column-start',\n },\n gridColumnEnd: {\n type: 'string',\n className: 'grid-column-end',\n variable: '--grid-column-end',\n },\n gridRow: {\n type: 'string',\n className: 'grid-row',\n variable: '--grid-row',\n },\n gridRowStart: {\n type: 'string',\n className: 'grid-row-start',\n variable: '--grid-row-start',\n },\n gridRowEnd: {\n type: 'string',\n className: 'grid-row-end',\n variable: '--grid-row-end',\n },\n}\n","import {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\n\nexport type HeightProps = {\n /** CSS **height** property */\n height?: Responsive<string>\n /** CSS **min-height** property */\n minHeight?: Responsive<string>\n /** CSS **max-height** property */\n maxHeight?: Responsive<string>\n}\n\nexport const heightProps: Record<string, PropDef> = {\n height: {\n type: 'string',\n className: 'height',\n variable: '--height',\n },\n minHeight: {\n type: 'string',\n className: 'min-height',\n variable: '--min-height',\n },\n maxHeight: {\n type: 'string',\n className: 'max-height',\n variable: '--max-height',\n },\n}\n","export const SPACE = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] as const\nexport type Space = (typeof SPACE)[number]\n\nexport const SPACE_AUTO = [...SPACE, 'auto'] as const\nexport type SpaceAuto = (typeof SPACE_AUTO)[number]\n","import {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\nimport {SPACE_AUTO, type SpaceAuto} from '../types/Space'\n\nexport type MarginProps = {\n /** CSS **margin** property */\n margin?: Responsive<SpaceAuto>\n /** CSS **margin-left** and **margin-right** properties */\n marginX?: Responsive<SpaceAuto>\n /** CSS **margin-top** and **margin-bottom** properties */\n marginY?: Responsive<SpaceAuto>\n /** CSS **margin-top** property */\n marginTop?: Responsive<SpaceAuto>\n /** CSS **margin-right** property */\n marginRight?: Responsive<SpaceAuto>\n /** CSS **margin-bottom** property */\n marginBottom?: Responsive<SpaceAuto>\n /** CSS **margin-left** property */\n marginLeft?: Responsive<SpaceAuto>\n}\n\nexport const marginProps: Record<string, PropDef> = {\n margin: {\n type: 'union',\n className: 'm',\n values: SPACE_AUTO,\n },\n marginX: {\n type: 'union',\n className: 'mx',\n values: SPACE_AUTO,\n },\n marginY: {\n type: 'union',\n className: 'my',\n values: SPACE_AUTO,\n },\n marginTop: {\n type: 'union',\n className: 'mt',\n values: SPACE_AUTO,\n },\n marginRight: {\n type: 'union',\n className: 'mr',\n values: SPACE_AUTO,\n },\n marginBottom: {\n type: 'union',\n className: 'mb',\n values: SPACE_AUTO,\n },\n marginLeft: {\n type: 'union',\n className: 'ml',\n values: SPACE_AUTO,\n },\n}\n","export const OVERFLOW = ['visible', 'hidden', 'auto', 'scroll', 'clip'] as const\nexport type Overflow = (typeof OVERFLOW)[number]\n","import {OVERFLOW, type Overflow} from '../types/Overflow'\nimport {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\n\nexport type OverflowProps = {\n /** CSS **overflow** property */\n overflow?: Responsive<Overflow>\n /** CSS **overflow-x** property */\n overflowX?: Responsive<Overflow>\n /** CSS **overflow-y** property */\n overflowY?: Responsive<Overflow>\n}\n\nexport const overflowProps: Record<string, PropDef> = {\n overflow: {\n type: 'union',\n className: 'overflow',\n values: OVERFLOW,\n },\n overflowX: {\n type: 'union',\n className: 'overflow-x',\n values: OVERFLOW,\n },\n overflowY: {\n type: 'union',\n className: 'overflow-y',\n values: OVERFLOW,\n },\n}\n","import {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\nimport {SPACE, type Space} from '../types/Space'\n\nexport interface PaddingProps {\n /** CSS **padding** property */\n padding?: Responsive<Space>\n /** CSS **padding-left** and **padding-right** properties */\n paddingX?: Responsive<Space>\n /** CSS **padding-top** and **padding-bottom** properties */\n paddingY?: Responsive<Space>\n /** CSS **padding-top** property */\n paddingTop?: Responsive<Space>\n /** CSS **padding-right** property */\n paddingRight?: Responsive<Space>\n /** CSS **padding-bottom** property */\n paddingBottom?: Responsive<Space>\n /** CSS **padding-left** property */\n paddingLeft?: Responsive<Space>\n}\n\nexport const paddingProps: Record<string, PropDef> = {\n padding: {\n type: 'union',\n className: 'p',\n values: SPACE,\n },\n paddingX: {\n type: 'union',\n className: 'px',\n values: SPACE,\n },\n paddingY: {\n type: 'union',\n className: 'py',\n values: SPACE,\n },\n paddingTop: {\n type: 'union',\n className: 'pt',\n values: SPACE,\n },\n paddingRight: {\n type: 'union',\n className: 'pr',\n values: SPACE,\n },\n paddingBottom: {\n type: 'union',\n className: 'pb',\n values: SPACE,\n },\n paddingLeft: {\n type: 'union',\n className: 'pl',\n values: SPACE,\n },\n}\n","export const POSITION = ['absolute', 'fixed', 'relative', 'static', 'sticky'] as const\nexport type Position = (typeof POSITION)[number]\n","import {POSITION, type Position} from '../types/Position'\nimport {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\nimport {SPACE_AUTO, type SpaceAuto} from '../types/Space'\n\nexport type PositionProps = {\n /** CSS **position** property */\n position?: Responsive<Position>\n /** CSS **inset** property */\n inset?: Responsive<SpaceAuto>\n /** CSS **top** property */\n top?: Responsive<SpaceAuto>\n /** CSS **right** property */\n right?: Responsive<SpaceAuto>\n /** CSS **bottom** property */\n bottom?: Responsive<SpaceAuto>\n /** CSS **left** property */\n left?: Responsive<SpaceAuto>\n /** CSS **z-index** property */\n zIndex?: Responsive<number>\n}\n\nexport const positionProps: Record<string, PropDef> = {\n position: {\n type: 'union',\n className: 'position',\n values: POSITION,\n },\n inset: {\n type: 'union',\n className: 'inset',\n values: SPACE_AUTO,\n },\n top: {\n type: 'union',\n className: 'top',\n values: SPACE_AUTO,\n },\n right: {\n type: 'union',\n className: 'right',\n values: SPACE_AUTO,\n },\n bottom: {\n type: 'union',\n className: 'bottom',\n values: SPACE_AUTO,\n },\n left: {\n type: 'union',\n className: 'left',\n values: SPACE_AUTO,\n },\n zIndex: {\n type: 'number',\n className: 'z-index',\n variable: '--z-index',\n },\n}\n","export const TONE = [\n 'default',\n 'neutral',\n 'primary',\n 'suggest',\n 'positive',\n 'caution',\n 'critical',\n] as const\nexport type Tone = (typeof TONE)[number]\n","import {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\nimport {TONE, type Tone} from '../types/Tone'\n\nexport type ToneProps = {\n /** CSS **background-color** property */\n tone?: Responsive<Tone>\n}\n\nexport const toneProps: Record<string, PropDef> = {\n tone: {\n type: 'union',\n className: 'tone',\n values: TONE,\n },\n}\n","import {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\n\nexport type WidthProps = {\n /** CSS **width** property */\n width?: Responsive<string>\n /** CSS **min-width** property */\n minWidth?: Responsive<string>\n /** CSS **max-width** property */\n maxWidth?: Responsive<string>\n}\n\nexport const widthProps: Record<string, PropDef> = {\n width: {\n type: 'string',\n className: 'width',\n variable: '--width',\n },\n minWidth: {\n type: 'string',\n className: 'min-width',\n variable: '--min-width',\n },\n maxWidth: {\n type: 'string',\n className: 'max-width',\n variable: '--max-width',\n },\n}\n","import {type PropDef} from '../types/PropDef'\nimport {type BorderProps, borderProps} from './border'\nimport {type FlexChildProps, flexChildProps} from './flexChild'\nimport {type GridChildProps, gridChildProps} from './gridChild'\nimport {type HeightProps, heightProps} from './height'\nimport {type MarginProps, marginProps} from './margin'\nimport {type OverflowProps, overflowProps} from './overflow'\nimport {type PaddingProps, paddingProps} from './padding'\nimport {type PositionProps, positionProps} from './position'\nimport {type ToneProps, toneProps} from './tone'\nimport {type WidthProps, widthProps} from './width'\n\nexport interface LayoutProps\n extends\n ToneProps,\n WidthProps,\n HeightProps,\n MarginProps,\n BorderProps,\n PaddingProps,\n PositionProps,\n OverflowProps,\n FlexChildProps,\n GridChildProps {}\n\nexport const layoutProps: Record<string, PropDef> = {\n ...toneProps,\n ...widthProps,\n ...heightProps,\n ...marginProps,\n ...borderProps,\n ...paddingProps,\n ...positionProps,\n ...overflowProps,\n ...flexChildProps,\n ...gridChildProps,\n}\n","export const DISPLAY_BLOCK = ['block', 'inline-block', 'none'] as const\nexport type DisplayBlock = (typeof DISPLAY_BLOCK)[number]\n\nexport const DISPLAY_FLEX = ['flex', 'inline-flex', 'none'] as const\nexport type DisplayFlex = (typeof DISPLAY_FLEX)[number]\n\nexport const DISPLAY_GRID = ['grid', 'inline-grid', 'none'] as const\nexport type DisplayGrid = (typeof DISPLAY_GRID)[number]\n","import classNames from 'classnames'\n\nimport {type PropDef} from '../types/PropDef'\n\nconst PREFIX = 'sui'\nconst BREAKPOINTS_LENGTH = 7\n\ninterface ComponentProps {\n className?: string\n style?: React.CSSProperties\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n [key: string]: any\n}\n\nexport function getProps<P extends ComponentProps, T extends Record<string, PropDef>>(\n componentProps?: P,\n propDefs?: T,\n): ComponentProps {\n let className = componentProps?.className || ''\n let style = componentProps?.style || {}\n const restProps: ComponentProps = {}\n\n for (const key in componentProps) {\n // Pass over props that don't effect CSS output, including them in `restProps` instead.\n // @TODO Is there a better way to write this `if`? Perhaps explicitly enumerating the props\n // we know we don't need to operate on here (e.g. the `as` prop)?\n if (\n !propDefs?.[key] ||\n (!('className' in propDefs[key]) && !('composition' in propDefs[key]))\n ) {\n restProps[key] = componentProps[key]\n continue\n }\n\n if (Array.isArray(componentProps[key])) {\n for (\n let i = 0, len = Math.min(componentProps[key].length, BREAKPOINTS_LENGTH);\n i < len;\n i++\n ) {\n className = classNames(className, getClassName(componentProps[key][i], propDefs[key], i))\n style = {...style, ...getStyle(componentProps[key][i], propDefs[key], i)}\n }\n } else {\n className = classNames(className, getClassName(componentProps[key], propDefs[key]))\n style = {...style, ...getStyle(componentProps[key], propDefs[key])}\n }\n }\n\n return {...restProps, className, style}\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-explicit-any */\nfunction getClassName(prop: any, propDef: PropDef, bp?: number) {\n if (propDef.type === 'composite' && propDef.composition[prop]) {\n const classes = bp\n ? propDef.composition[prop]\n .split(' ')\n .map((className: string) => `${className}-bp-${bp}`)\n .join(' ')\n : propDef.composition[prop]\n // @TODO prefix has been written included as part of composite class names; does it need to be dynamic?\n return classes\n }\n\n if (propDef.type === 'union' && propDef.values?.includes(prop)) {\n /* Note: This may need updating depending on the final CSS classname formatting */\n return `${PREFIX}-${propDef.className}${typeof prop === 'string' ? `-${prop}` : prop}${bp ? `-bp-${bp}` : ''}`\n }\n\n if (propDef.type === 'string' || propDef.type === 'number') {\n return `${PREFIX}-${propDef.className}${bp ? `-bp-${bp}` : ''}`\n }\n\n if (propDef.type === 'boolean') {\n return `${PREFIX}-${prop ? propDef.className : propDef.inverse}${bp ? `-bp-${bp}` : ''}`\n }\n\n return ''\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-explicit-any */\nfunction getStyle(prop: any, propDef: PropDef, bp?: number) {\n if (propDef.type === 'string' || propDef.type === 'number') {\n return {\n [`${propDef.variable}${bp ? `-bp-${bp}` : ''}`]: prop,\n }\n }\n\n return {}\n}\n","import {layoutProps} from '../../props/layout'\nimport {DISPLAY_BLOCK} from '../../types/Display'\nimport {type PropDef} from '../../types/PropDef'\n\nexport const boxProps: Record<string, PropDef> = {\n as: {\n type: 'string',\n },\n display: {\n type: 'union',\n className: 'display',\n values: DISPLAY_BLOCK,\n },\n ...layoutProps,\n}\n","import classNames from 'classnames'\nimport React from 'react'\n\nimport {type LayoutProps} from '../../props/layout'\nimport {type DisplayBlock} from '../../types/Display'\nimport {type Responsive} from '../../types/Responsive'\nimport {getProps} from '../../utils/getProps'\nimport {boxProps} from './box.props'\n\n/** @public */\nexport interface BoxProps<T extends React.ElementType> extends LayoutProps {\n /** Element to render */\n as?: T\n /** CSS **display** property */\n display?: Responsive<DisplayBlock>\n}\n\n/** @public */\nexport function Box<T extends React.ElementType = 'div'>({\n display = 'block',\n ...props\n}: BoxProps<T> & Omit<React.ComponentPropsWithRef<T>, keyof BoxProps<T>>) {\n const {as, children, className, style, ...rest} = getProps({display, ...props}, boxProps)\n const Component = as || 'div'\n\n return (\n <Component className={classNames('sui-Box', className)} style={style} data-ui=\"Box\" {...rest}>\n {children}\n </Component>\n )\n}\n","import {type MarginProps, marginProps} from '../../props/margin'\nimport {type Density} from '../../types/Density'\nimport {DISPLAY_BLOCK, type DisplayBlock} from '../../types/Display'\nimport {type PropDef} from '../../types/PropDef'\nimport {type Responsive} from '../../types/Responsive'\n\n/** @public */\nexport interface CardProps<T extends React.ElementType> extends MarginProps {\n /** Element to render */\n as?: T\n /** CSS **display** property */\n display?: Responsive<DisplayBlock>\n /** Composite prop for setting padding and border radius */\n density?: Responsive<Density>\n}\n\nexport const cardProps: Record<string, PropDef> = {\n as: {\n type: 'string',\n },\n display: {\n type: 'union',\n className: 'display',\n values: DISPLAY_BLOCK,\n },\n density: {\n type: 'composite',\n composition: {\n compact: 'sui-p3 sui-radius2',\n regular: 'sui-p4 sui-radius3',\n loose: 'sui-p5 sui-radius4',\n } as Record<Density, string>,\n },\n ...marginProps,\n}\n","import classNames from 'classnames'\nimport React from 'react'\n\nimport {getProps} from '../../utils/getProps'\nimport {type CardProps, cardProps} from './card.props'\n\n/** @public */\nexport function Card<T extends React.ElementType = 'div'>({\n density = 'regular',\n ...props\n}: CardProps<T> & Omit<React.ComponentPropsWithRef<T>, keyof CardProps<T>>) {\n const {as, children, className, style, ...rest} = getProps({density, ...props}, cardProps)\n const Component = as || 'div'\n\n return (\n <Component className={classNames('sui-Card', className)} style={style} data-ui=\"Card\" {...rest}>\n {children}\n </Component>\n )\n}\n","import React from 'react'\n\n/** @public */\nexport function Divider() {\n return (\n <hr\n className=\"sui-Divider sui-border-bottom-none sui-border-left-none sui-border-right-none sui-border-top\"\n data-ui=\"Divider\"\n />\n )\n}\n","export const ALIGN_ITEMS = ['baseline', 'center', 'flex-end', 'flex-start', 'stretch'] as const\nexport type AlignItems = (typeof ALIGN_ITEMS)[number]\n\nexport const JUSTIFY_CONTENT = [\n 'flex-start',\n 'flex-end',\n 'center',\n 'space-between',\n 'space-around',\n 'space-evenly',\n] as const\nexport type JustifyContent = (typeof JUSTIFY_CONTENT)[number]\n\nexport const FLEX_DIRECTION = ['row', 'row-reverse', 'column', 'column-reverse'] as const\nexport type FlexDirection = (typeof FLEX_DIRECTION)[number]\n\nexport const FLEX_WRAP = ['wrap', 'wrap-reverse', 'nowrap'] as const\nexport type FlexWrap = (typeof FLEX_WRAP)[number]\n","import {\n ALIGN_ITEMS,\n type AlignItems,\n FLEX_DIRECTION,\n FLEX_WRAP,\n type FlexDirection,\n type FlexWrap,\n JUSTIFY_CONTENT,\n type JustifyContent,\n} from '../types/Flex'\nimport {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\n\nexport type FlexParentProps = {\n /** CSS **align-items** property */\n alignItems?: Responsive<AlignItems>\n /** CSS **justify-content** property */\n justifyContent?: Responsive<JustifyContent>\n /** CSS **flex-direction** property */\n flexDirection?: Responsive<FlexDirection>\n /** CSS **flex-wrap** property */\n flexWrap?: Responsive<FlexWrap>\n}\n\nexport const flexParentProps: Record<string, PropDef> = {\n alignItems: {\n type: 'union',\n className: 'align-items',\n values: ALIGN_ITEMS,\n },\n justifyContent: {\n type: 'union',\n className: 'justify-content',\n values: JUSTIFY_CONTENT,\n },\n flexDirection: {\n type: 'union',\n className: 'flex-direction',\n values: FLEX_DIRECTION,\n },\n flexWrap: {\n type: 'union',\n className: 'flex-wrap',\n values: FLEX_WRAP,\n },\n}\n","import {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\nimport {SPACE, type Space} from '../types/Space'\n\nexport type GapProps = {\n /** CSS **gap** property */\n gap?: Responsive<Space>\n /** CSS **row-gap** property */\n rowGap?: Responsive<Space>\n /** CSS **column-gap** property */\n columnGap?: Responsive<Space>\n}\n\nexport const gapProps: Record<string, PropDef> = {\n gap: {\n type: 'union',\n className: 'gap',\n values: SPACE,\n },\n rowGap: {\n type: 'union',\n className: 'row-gap',\n values: SPACE,\n },\n columnGap: {\n type: 'union',\n className: 'column-gap',\n values: SPACE,\n },\n}\n","import {flexParentProps} from '../../props/flexParent'\nimport {gapProps} from '../../props/gap'\nimport {layoutProps} from '../../props/layout'\nimport {DISPLAY_FLEX} from '../../types/Display'\nimport {type PropDef} from '../../types/PropDef'\n\nexport const flexProps: Record<string, PropDef> = {\n as: {\n type: 'string',\n },\n display: {\n type: 'union',\n className: 'display',\n values: DISPLAY_FLEX,\n },\n ...flexParentProps,\n ...gapProps,\n ...layoutProps,\n}\n","import classNames from 'classnames'\nimport React from 'react'\n\nimport type {FlexParentProps} from '../../props/flexParent'\nimport type {GapProps} from '../../props/gap'\nimport {type LayoutProps} from '../../props/layout'\nimport {type DisplayFlex} from '../../types/Display'\nimport {type Responsive} from '../../types/Responsive'\nimport {getProps} from '../../utils/getProps'\nimport {flexProps} from './flex.props'\n\n/** @public */\nexport interface FlexProps<T extends React.ElementType>\n extends FlexParentProps, GapProps, LayoutProps {\n /** Element to render */\n as?: T\n /** CSS **display** property */\n display?: Responsive<DisplayFlex>\n}\n\n/** @public */\nexport function Flex<T extends React.ElementType = 'div'>({\n display = 'flex',\n ...props\n}: FlexProps<T> & Omit<React.ComponentPropsWithRef<T>, keyof FlexProps<T>>) {\n const {as, children, className, style, ...rest} = getProps({display, ...props}, flexProps)\n const Component = as || 'div'\n\n return (\n <Component className={classNames('sui-Flex', className)} style={style} data-ui=\"Flex\" {...rest}>\n {children}\n </Component>\n )\n}\n","export const GRID_AUTO_FLOW = ['row', 'column', 'row dense', 'column dense', 'dense'] as const\nexport type GridAutoFlow = (typeof GRID_AUTO_FLOW)[number]\n","import {GRID_AUTO_FLOW, type GridAutoFlow} from '../types/Grid'\nimport {type PropDef} from '../types/PropDef'\nimport {type Responsive} from '../types/Responsive'\n\nexport type GridParentProps = {\n /** CSS **grid-auto-flow** property */\n gridAutoFlow?: Responsive<GridAutoFlow>\n /** CSS **grid-auto-columns** property */\n gridAutoColumns?: Responsive<string>\n /** CSS **grid-auto-row** property */\n gridAutoRows?: Responsive<string>\n /** CSS **grid-template-columns** property */\n gridTemplateColumns?: Responsive<string>\n /** CSS **grid-template-rows** property */\n gridTemplateRows?: Responsive<string>\n}\n\nexport const gridParentProps: Record<string, PropDef> = {\n gridAutoFlow: {\n type: 'union',\n className: 'grid-auto-flow',\n values: GRID_AUTO_FLOW,\n },\n gridAutoColumns: {\n type: 'string',\n className: 'grid-auto-columns',\n variable: '--grid-auto-columns',\n },\n gridAutoRows: {\n type: 'string',\n className: 'grid-auto-rows',\n variable: '--grid-auto-rows',\n },\n gridTemplateColumns: {\n type: 'string',\n className: 'grid-template-columns',\n variable: '--grid-template-columns',\n },\n gridTemplateRows: {\n type: 'string',\n className: 'grid-template-rows',\n variable: '--grid-template-rows',\n },\n}\n","import {gapProps} from '../../props/gap'\nimport {gridParentProps} from '../../props/gridParent'\nimport {layoutProps} from '../../props/layout'\nimport {DISPLAY_GRID} from '../../types/Display'\nimport {type PropDef} from '../../types/PropDef'\n\nexport const gridProps: Record<string, PropDef> = {\n as: {\n type: 'string',\n },\n display: {\n type: 'union',\n className: 'display',\n values: DISPLAY_GRID,\n },\n ...gridParentProps,\n ...gapProps,\n ...layoutProps,\n}\n","import classNames from 'classnames'\nimport React from 'react'\n\nimport {type GapProps} from '../../props/gap'\nimport {type GridParentProps} from '../../props/gridParent'\nimport {type LayoutProps} from '../../props/layout'\nimport {type DisplayGrid} from '../../types/Display'\nimport {type Responsive} from '../../types/Responsive'\nimport {getProps} from '../../utils/getProps'\nimport {gridProps} from './grid.props'\n\n/** @public */\nexport interface GridProps<T extends React.ElementType>\n extends GridParentProps, GapProps, LayoutProps {\n /** Element to render */\n as?: T\n /** CSS **display** property */\n display?: Responsive<DisplayGrid>\n}\n\n/** @public */\nexport function Grid<T extends React.ElementType = 'div'>({\n display = 'grid',\n ...props\n}: GridProps<T> & Omit<React.ComponentPropsWithRef<T>, keyof GridProps<T>>) {\n const {as, children, className, style, ...rest} = getProps({display, ...props}, gridProps)\n const Component = as || 'div'\n\n return (\n <Component className={classNames('sui-Grid', className)} style={style} data-ui=\"Grid\" {...rest}>\n {children}\n </Component>\n )\n}\n","export const FONT_WEIGHT = ['regular', 'medium', 'semibold', 'bold'] as const\nexport type FontWeight = (typeof FONT_WEIGHT)[number]\n","export const TEXT_ALIGN = ['left', 'center', 'right', 'justify'] as const\nexport type TextAlign = (typeof TEXT_ALIGN)[number]\n","import {FONT_WEIGHT, type FontWeight} from '../types/FontWeight'\nimport {type PropDef} from '../types/PropDef'\nimport {TEXT_ALIGN, type TextAlign} from '../types/TextAlign'\nimport {type MarginProps, marginProps} from './margin'\n\nexport interface TypographyProps extends MarginProps {\n /** CSS **text-align** property */\n align?: TextAlign\n /** CSS **-webkit-line-clamp** property */\n lineClamp?: number\n /** CSS **color** property */\n muted?: boolean\n /** CSS **text-box-trim** property */\n trim?: boolean\n /** CSS **font-weight** property */\n weight?: FontWeight\n}\n\nexport const typographyProps: Record<string, PropDef> = {\n align: {\n type: 'union',\n className: 'text',\n values: TEXT_ALIGN,\n },\n lineClamp: {\n type: 'number',\n className: 'line-clamp',\n variable: '--line-clamp',\n },\n muted: {\n type: 'boolean',\n className: 'text-muted',\n inverse: 'text-default',\n },\n trim: {\n type: 'boolean',\n className: 'text-trim',\n inverse: 'text-trim-none',\n },\n weight: {\n type: 'union',\n className: 'weight',\n values: FONT_WEIGHT,\n },\n ...marginProps,\n}\n","export const HEADING_TAG = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] as const\nexport type HeadingTag = (typeof HEADING_TAG)[number]\n\nexport const HEADING_SIZE = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] as const\nexport type HeadingSize = (typeof HEADING_SIZE)[number]\n","import {type TypographyProps, typographyProps} from '../../props/typography'\nimport {HEADING_SIZE, HEADING_TAG, type HeadingSize, type HeadingTag} from '../../types/Heading'\nimport {type PropDef} from '../../types/PropDef'\n\n/** @public */\nexport interface HeadingProps extends TypographyProps {\n /** Element to render */\n as?: HeadingTag\n /** CSS **font-size** property */\n size?: HeadingSize\n}\n\nexport const headingProps: Record<string, PropDef> = {\n as: {\n type: 'union',\n values: HEADING_TAG,\n },\n size: {\n type: 'union',\n className: 'text-heading',\n values: HEADING_SIZE,\n },\n ...typographyProps,\n}\n","import classNames from 'classnames'\nimport React from 'react'\n\nimport {getProps} from '../../utils/getProps'\nimport {type HeadingProps, headingProps} from './heading.props'\n\n/** @public */\nexport function Heading<T extends React.ElementType = 'h1'>({\n size = 2,\n weight = 'bold',\n ...props\n}: HeadingProps & Omit<React.ComponentPropsWithRef<T>, keyof HeadingProps>) {\n const {as, children, className, style, ...rest} = getProps({size, weight, ...props}, headingProps)\n const Component = as || 'h1'\n\n if (props.lineClamp && props.trim) {\n return (\n <Component\n className={classNames('sui-Heading', className?.replace('sui-line-clamp', ''))}\n style={style}\n data-ui=\"Heading\"\n {...rest}\n >\n <span className=\"sui-line-clamp\">{children}</span>\n </Component>\n )\n }\n\n return (\n <Component\n className={classNames('sui-Heading', className)}\n style={style}\n data-ui=\"Heading\"\n {...rest}\n >\n {children}\n </Component>\n )\n}\n","export const TEXT_SIZE = [0, 1, 2, 3, 4] as const\nexport type TextSize = (typeof TEXT_SIZE)[number]\n","import {typographyProps} from '../../props/typography'\nimport {type PropDef} from '../../types/PropDef'\nimport {TEXT_SIZE} from '../../types/Text'\n\nexport const textProps: Record<string, PropDef> = {\n as: {\n type: 'string',\n },\n size: {\n type: 'union',\n className: 'text-body',\n values: TEXT_SIZE,\n },\n ...typographyProps,\n}\n","import classNames from 'classnames'\nimport React from 'react'\n\nimport type {TypographyProps} from '../../props/typography'\nimport type {TextSize} from '../../types/Text'\nimport {getProps} from '../../utils/getProps'\nimport {textProps} from './text.props'\n\n/** @public */\nexport interface TextProps<T extends React.ElementType> extends TypographyProps {\n /** Element to render */\n as?: T\n /** CSS **font-size** property */\n size?: TextSize\n}\n\n/** @public */\nexport function Text<T extends React.ElementType = 'p'>({\n size = 2,\n ...props\n}: TextProps<T> & Omit<React.ComponentPropsWithRef<T>, keyof TextProps<T>>) {\n const {as, children, className, style, ...rest} = getProps({size, ...props}, textProps)\n const Component = as || 'p'\n\n if (props.lineClamp && props.trim) {\n return (\n <Component\n className={classNames('sui-Text', className?.replace('sui-line-clamp', ''))}\n style={style}\n data-ui=\"Text\"\n {...rest}\n >\n <span className=\"sui-line-clamp\">{children}</span>\n </Component>\n )\n }\n\n return (\n <Component className={classNames('sui-Text', className)} style={style} data-ui=\"Text\" {...rest}>\n {children}\n </Component>\n )\n}\n"],"names":[],"mappings":"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"}
|