@regardio/brand 0.8.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -5
- package/dist/components/button.stories.d.mts +103 -63
- package/dist/generated/icons/regardio-ensemble-icon-color-full.mjs +136 -136
- package/dist/generated/icons/regardio-ensemble-icon-color.mjs +136 -136
- package/dist/generated/icons/{regardio-system-zest-icon.d.mts → system-layer-bridges-icon.d.mts} +3 -3
- package/dist/generated/icons/{regardio-system-bridge-icon.mjs → system-layer-bridges-icon.mjs} +4 -4
- package/dist/generated/icons/{regardio-system-plan-icon.d.mts → system-layer-circles-icon.d.mts} +3 -3
- package/dist/generated/icons/{regardio-system-circle-icon.mjs → system-layer-circles-icon.mjs} +3 -3
- package/dist/generated/icons/{regardio-system-spark-icon.d.mts → system-layer-facets-icon.d.mts} +3 -3
- package/dist/generated/icons/{regardio-system-facet-icon.mjs → system-layer-facets-icon.mjs} +4 -4
- package/dist/generated/icons/{regardio-system-facet-icon.d.mts → system-layer-plans-icon.d.mts} +3 -3
- package/dist/generated/icons/system-layer-plans-icon.mjs +19 -0
- package/dist/generated/icons/system-layer-pursuits-icon.d.mts +14 -0
- package/dist/generated/icons/{regardio-system-pursuit-icon.mjs → system-layer-pursuits-icon.mjs} +4 -4
- package/dist/generated/icons/system-layer-sources-icon.d.mts +14 -0
- package/dist/generated/icons/system-layer-sources-icon.mjs +19 -0
- package/dist/generated/sprites/compass-sprite-provider.mjs +323 -293
- package/dist/generated/sprites/compass-sprite.d.mts +5 -4
- package/dist/generated/sprites/compass-sprite.mjs +54 -3
- package/dist/styles/grid.css +47 -5
- package/dist/styles/index.css +3 -0
- package/dist/styles/tokens.css +1 -1
- package/dist/styles/typography.css +14 -32
- package/dist/styles/utopia.css +59 -0
- package/package.json +39 -40
- package/src/styles/grid.css +47 -5
- package/src/styles/index.css +3 -0
- package/src/styles/tokens.css +1 -1
- package/src/styles/typography.css +14 -32
- package/src/styles/utopia.css +59 -0
- package/dist/generated/icons/regardio-system-bridge-icon.d.mts +0 -14
- package/dist/generated/icons/regardio-system-circle-icon.d.mts +0 -14
- package/dist/generated/icons/regardio-system-plan-icon.mjs +0 -19
- package/dist/generated/icons/regardio-system-pursuit-icon.d.mts +0 -14
- package/dist/generated/icons/regardio-system-spark-icon.mjs +0 -19
- package/dist/generated/icons/regardio-system-zest-icon.mjs +0 -19
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React, { SVGProps } from "react";
|
|
2
2
|
|
|
3
3
|
//#region src/generated/sprites/compass-sprite.d.ts
|
|
4
|
-
type CompassSpriteId = "
|
|
4
|
+
type CompassSpriteId = "bridge-view-contradicts" | "bridge-view-enables" | "bridge-view-extends" | "bridge-view-fulfills" | "bridge-view-matches" | "bridge-view-supports" | "bridges-views" | "facet-element-means" | "facet-element-memories" | "facet-element-people" | "facet-element-spaces" | "facet-element-things" | "facet-element-times" | "facet-step-accord-bottom" | "facet-step-accord-top" | "facet-step-action-bottom" | "facet-step-action-top" | "facet-step-effect-bottom" | "facet-step-effect-top" | "facet-step-essence-bottom" | "facet-step-essence-top" | "facet-step-impulse-bottom" | "facet-step-impulse-top" | "facet-step-signal-bottom" | "facet-step-signal-top" | "facets-elements" | "facets-steps" | "pursuit-foundation-flourishing" | "pursuit-foundation-pointer" | "source-drive-flexibility" | "source-drive-orientation" | "source-drive-pathways" | "source-drive-possibilities" | "source-drive-strength" | "source-drive-structure" | "source-leisure-breeze" | "source-leisure-calm" | "source-leisure-contemplation" | "source-leisure-distance" | "source-leisure-indulgence" | "source-leisure-inspiration" | "source-leisure-movement" | "source-leisure-nearness" | "source-leisure-nourishment" | "source-leisure-refreshment" | "source-leisure-relaxation" | "source-leisure-relief" | "sources-drive" | "sources-leisure";
|
|
5
|
+
declare const compassSpriteIds: CompassSpriteId[];
|
|
5
6
|
interface CompassSpriteProps extends Omit<SVGProps<SVGSVGElement>, "children"> {
|
|
6
7
|
/** The sprite ID to render */
|
|
7
8
|
id: CompassSpriteId;
|
|
@@ -13,8 +14,8 @@ interface CompassSpriteProps extends Omit<SVGProps<SVGSVGElement>, "children"> {
|
|
|
13
14
|
*
|
|
14
15
|
* Usage:
|
|
15
16
|
* ```tsx
|
|
16
|
-
* <CompassSprite id="facet
|
|
17
|
-
* <CompassSprite id="
|
|
17
|
+
* <CompassSprite id="facet-step-action-bottom" className="w-8 h-8" />
|
|
18
|
+
* <CompassSprite id="source-drive-possibilities" size={24} />
|
|
18
19
|
* ```
|
|
19
20
|
*
|
|
20
21
|
* Note: The compass-base.svg sprite file must be available in your application.
|
|
@@ -28,4 +29,4 @@ declare function CompassSprite({
|
|
|
28
29
|
...props
|
|
29
30
|
}: CompassSpriteProps): React.JSX.Element;
|
|
30
31
|
//#endregion
|
|
31
|
-
export { CompassSprite, CompassSprite as default, CompassSpriteId, CompassSpriteProps };
|
|
32
|
+
export { CompassSprite, CompassSprite as default, CompassSpriteId, CompassSpriteProps, compassSpriteIds };
|
|
@@ -1,12 +1,63 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
//#region src/generated/sprites/compass-sprite.tsx
|
|
3
|
+
const compassSpriteIds = [
|
|
4
|
+
"bridge-view-contradicts",
|
|
5
|
+
"bridge-view-enables",
|
|
6
|
+
"bridge-view-extends",
|
|
7
|
+
"bridge-view-fulfills",
|
|
8
|
+
"bridge-view-matches",
|
|
9
|
+
"bridge-view-supports",
|
|
10
|
+
"bridges-views",
|
|
11
|
+
"facet-element-means",
|
|
12
|
+
"facet-element-memories",
|
|
13
|
+
"facet-element-people",
|
|
14
|
+
"facet-element-spaces",
|
|
15
|
+
"facet-element-things",
|
|
16
|
+
"facet-element-times",
|
|
17
|
+
"facet-step-accord-bottom",
|
|
18
|
+
"facet-step-accord-top",
|
|
19
|
+
"facet-step-action-bottom",
|
|
20
|
+
"facet-step-action-top",
|
|
21
|
+
"facet-step-effect-bottom",
|
|
22
|
+
"facet-step-effect-top",
|
|
23
|
+
"facet-step-essence-bottom",
|
|
24
|
+
"facet-step-essence-top",
|
|
25
|
+
"facet-step-impulse-bottom",
|
|
26
|
+
"facet-step-impulse-top",
|
|
27
|
+
"facet-step-signal-bottom",
|
|
28
|
+
"facet-step-signal-top",
|
|
29
|
+
"facets-elements",
|
|
30
|
+
"facets-steps",
|
|
31
|
+
"pursuit-foundation-flourishing",
|
|
32
|
+
"pursuit-foundation-pointer",
|
|
33
|
+
"source-drive-flexibility",
|
|
34
|
+
"source-drive-orientation",
|
|
35
|
+
"source-drive-pathways",
|
|
36
|
+
"source-drive-possibilities",
|
|
37
|
+
"source-drive-strength",
|
|
38
|
+
"source-drive-structure",
|
|
39
|
+
"source-leisure-breeze",
|
|
40
|
+
"source-leisure-calm",
|
|
41
|
+
"source-leisure-contemplation",
|
|
42
|
+
"source-leisure-distance",
|
|
43
|
+
"source-leisure-indulgence",
|
|
44
|
+
"source-leisure-inspiration",
|
|
45
|
+
"source-leisure-movement",
|
|
46
|
+
"source-leisure-nearness",
|
|
47
|
+
"source-leisure-nourishment",
|
|
48
|
+
"source-leisure-refreshment",
|
|
49
|
+
"source-leisure-relaxation",
|
|
50
|
+
"source-leisure-relief",
|
|
51
|
+
"sources-drive",
|
|
52
|
+
"sources-leisure"
|
|
53
|
+
];
|
|
3
54
|
/**
|
|
4
55
|
* Renders a sprite from the compass-base.svg sprite sheet.
|
|
5
56
|
*
|
|
6
57
|
* Usage:
|
|
7
58
|
* ```tsx
|
|
8
|
-
* <CompassSprite id="facet
|
|
9
|
-
* <CompassSprite id="
|
|
59
|
+
* <CompassSprite id="facet-step-action-bottom" className="w-8 h-8" />
|
|
60
|
+
* <CompassSprite id="source-drive-possibilities" size={24} />
|
|
10
61
|
* ```
|
|
11
62
|
*
|
|
12
63
|
* Note: The compass-base.svg sprite file must be available in your application.
|
|
@@ -28,4 +79,4 @@ function CompassSprite({ id, size, width, height, ...props }) {
|
|
|
28
79
|
});
|
|
29
80
|
}
|
|
30
81
|
//#endregion
|
|
31
|
-
export { CompassSprite, CompassSprite as default };
|
|
82
|
+
export { CompassSprite, CompassSprite as default, compassSpriteIds };
|
package/dist/styles/grid.css
CHANGED
|
@@ -1,10 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Grid
|
|
3
|
-
*
|
|
2
|
+
* Grid System
|
|
3
|
+
* Fluid grid based on Utopia scales for perfect square cells
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* FLUID GRID APPROACH:
|
|
6
|
+
* The grid uses fluid spacing where gutter width scales proportionally with viewport.
|
|
7
|
+
* When grid-gutter equals column width, and the same value is used for row gaps,
|
|
8
|
+
* cells become perfect squares automatically - no aspect-ratio calculations needed.
|
|
9
|
+
*
|
|
10
|
+
* CONFIGURATION:
|
|
11
|
+
* Define these tokens in your application (see utopia.css for fluid scales):
|
|
12
|
+
*
|
|
13
|
+
* ```css
|
|
14
|
+
* :root {
|
|
15
|
+
* --spacing-grid-max: 162.5rem; // Maximum container width
|
|
16
|
+
* --spacing-grid-gutter: var(--space-m); // Fluid gutter (column + row gaps)
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* USAGE WITH REACT GRID:
|
|
21
|
+
* Use @regardio/react Grid component for responsive layouts:
|
|
22
|
+
*
|
|
23
|
+
* ```tsx
|
|
24
|
+
* <Grid.Root flow="dense">
|
|
25
|
+
* <Grid.Item span={12} spanMd={6} spanLg={4}>
|
|
26
|
+
* Content automatically becomes square when gutter = column width
|
|
27
|
+
* </Grid.Item>
|
|
28
|
+
* </Grid.Root>
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* FLUID SPACING:
|
|
32
|
+
* Use fluid-tailwindcss utilities instead of custom classes:
|
|
33
|
+
* - fl-gap-s/m: Fluid gap from --space-s to --space-m
|
|
34
|
+
* - fl-py-m/l: Fluid vertical padding from --space-m to --space-l
|
|
35
|
+
* - flex flex-col fl-gap-xs/s: Stack with fluid gap
|
|
36
|
+
* - flex flex-wrap fl-gap-2xs/xs: Cluster with fluid gap
|
|
37
|
+
*
|
|
38
|
+
* UTOPIA CALCULATOR:
|
|
39
|
+
* Generate fluid scales at https://utopia.fyi/grid/calculator
|
|
40
|
+
* Link fluid type, spacing, and grid for a cohesive system.
|
|
8
41
|
*/
|
|
9
42
|
@layer components {
|
|
10
43
|
/**
|
|
@@ -19,6 +52,8 @@
|
|
|
19
52
|
|
|
20
53
|
/**
|
|
21
54
|
* 12-column CSS Grid with container queries
|
|
55
|
+
* Uses CSS custom properties for configurability:
|
|
56
|
+
* - --spacing-grid-gutter: Gap between grid items
|
|
22
57
|
*/
|
|
23
58
|
.u-grid {
|
|
24
59
|
display: grid;
|
|
@@ -57,4 +92,11 @@
|
|
|
57
92
|
.u-grid-quarter {
|
|
58
93
|
grid-column: span 3;
|
|
59
94
|
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Sixth-width grid item spanning 2 columns
|
|
98
|
+
*/
|
|
99
|
+
.u-grid-sixth {
|
|
100
|
+
grid-column: span 2;
|
|
101
|
+
}
|
|
60
102
|
}
|
package/dist/styles/index.css
CHANGED
|
@@ -17,6 +17,9 @@
|
|
|
17
17
|
/* Design tokens (breakpoints, containers, semantic colors, shadows) */
|
|
18
18
|
@import "./tokens.css";
|
|
19
19
|
|
|
20
|
+
/* Utopia fluid scales (type and spacing) */
|
|
21
|
+
@import "./utopia.css";
|
|
22
|
+
|
|
20
23
|
/* Fluid typography system with Georama Variable font */
|
|
21
24
|
@import "./typography.css";
|
|
22
25
|
|
package/dist/styles/tokens.css
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Typography System
|
|
3
|
-
* Fluid typography using
|
|
4
|
-
*
|
|
3
|
+
* Fluid typography using Utopia scales with Georama Variable font
|
|
4
|
+
*
|
|
5
|
+
* Uses Utopia --step-* tokens for fluid type scaling.
|
|
6
|
+
* Base font size (--step-0) applied to body, not html, to avoid interfering with other tools.
|
|
7
|
+
*
|
|
8
|
+
* @link https://utopia.fyi/type/calculator
|
|
5
9
|
*/
|
|
6
10
|
|
|
7
11
|
@import "@fontsource-variable/georama";
|
|
@@ -12,22 +16,6 @@
|
|
|
12
16
|
--font-mono:
|
|
13
17
|
ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;
|
|
14
18
|
|
|
15
|
-
/* Fluid font sizes - viewport-based scaling */
|
|
16
|
-
/* Base: 16px at 320px viewport, scales to 18px at 2560px */
|
|
17
|
-
--font-size-xs: clamp(0.75rem, 0.7455rem + 0.0196vw, 0.84rem);
|
|
18
|
-
--font-size-sm: clamp(0.875rem, 0.8696rem + 0.0234vw, 0.98rem);
|
|
19
|
-
--font-size-base: clamp(1rem, 0.9937rem + 0.0272vw, 1.125rem);
|
|
20
|
-
--font-size-lg: clamp(1.125rem, 1.1179rem + 0.0308vw, 1.266rem);
|
|
21
|
-
--font-size-xl: clamp(1.25rem, 1.242rem + 0.0348vw, 1.406rem);
|
|
22
|
-
--font-size-2xl: clamp(1.5rem, 1.4902rem + 0.0424vw, 1.688rem);
|
|
23
|
-
--font-size-3xl: clamp(1.875rem, 1.8627rem + 0.0533vw, 2.109rem);
|
|
24
|
-
--font-size-4xl: clamp(2.25rem, 2.2353rem + 0.0641vw, 2.531rem);
|
|
25
|
-
--font-size-5xl: clamp(3rem, 2.9804rem + 0.0848vw, 3.375rem);
|
|
26
|
-
--font-size-6xl: clamp(3.75rem, 3.7255rem + 0.106vw, 4.219rem);
|
|
27
|
-
--font-size-7xl: clamp(4.5rem, 4.4706rem + 0.1272vw, 5.063rem);
|
|
28
|
-
--font-size-8xl: clamp(6rem, 5.9608rem + 0.1696vw, 6.75rem);
|
|
29
|
-
--font-size-9xl: clamp(8rem, 7.9412rem + 0.2544vw, 9rem);
|
|
30
|
-
|
|
31
19
|
/* Line heights */
|
|
32
20
|
--line-height-none: 1;
|
|
33
21
|
--line-height-tight: 1.25;
|
|
@@ -46,15 +34,9 @@
|
|
|
46
34
|
}
|
|
47
35
|
|
|
48
36
|
@layer base {
|
|
49
|
-
/* Fluid root font size - scales from 16px at 320px to 27px at 2560px */
|
|
50
|
-
/* This makes ALL rem values fluid throughout the system */
|
|
51
|
-
html {
|
|
52
|
-
font-size: clamp(16px, 14.429px + 0.4911vw, 27px);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
37
|
body {
|
|
56
38
|
font-family: var(--font-sans);
|
|
57
|
-
font-size: var(--
|
|
39
|
+
font-size: var(--step-0);
|
|
58
40
|
font-feature-settings:
|
|
59
41
|
"liga" 1,
|
|
60
42
|
"dlig" 1,
|
|
@@ -66,41 +48,41 @@
|
|
|
66
48
|
line-height: var(--line-height-normal);
|
|
67
49
|
}
|
|
68
50
|
|
|
69
|
-
/* Headings with fluid sizing */
|
|
51
|
+
/* Headings with Utopia fluid sizing */
|
|
70
52
|
h1 {
|
|
71
|
-
font-size: var(--
|
|
53
|
+
font-size: var(--step-5);
|
|
72
54
|
font-weight: 700;
|
|
73
55
|
line-height: var(--line-height-tight);
|
|
74
56
|
letter-spacing: var(--letter-spacing-tight);
|
|
75
57
|
}
|
|
76
58
|
|
|
77
59
|
h2 {
|
|
78
|
-
font-size: var(--
|
|
60
|
+
font-size: var(--step-4);
|
|
79
61
|
font-weight: 700;
|
|
80
62
|
line-height: var(--line-height-tight);
|
|
81
63
|
letter-spacing: var(--letter-spacing-tight);
|
|
82
64
|
}
|
|
83
65
|
|
|
84
66
|
h3 {
|
|
85
|
-
font-size: var(--
|
|
67
|
+
font-size: var(--step-3);
|
|
86
68
|
font-weight: 600;
|
|
87
69
|
line-height: var(--line-height-snug);
|
|
88
70
|
}
|
|
89
71
|
|
|
90
72
|
h4 {
|
|
91
|
-
font-size: var(--
|
|
73
|
+
font-size: var(--step-2);
|
|
92
74
|
font-weight: 600;
|
|
93
75
|
line-height: var(--line-height-snug);
|
|
94
76
|
}
|
|
95
77
|
|
|
96
78
|
h5 {
|
|
97
|
-
font-size: var(--
|
|
79
|
+
font-size: var(--step-1);
|
|
98
80
|
font-weight: 600;
|
|
99
81
|
line-height: var(--line-height-snug);
|
|
100
82
|
}
|
|
101
83
|
|
|
102
84
|
h6 {
|
|
103
|
-
font-size: var(--
|
|
85
|
+
font-size: var(--step-0);
|
|
104
86
|
font-weight: 600;
|
|
105
87
|
line-height: var(--line-height-normal);
|
|
106
88
|
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utopia Fluid Scales
|
|
3
|
+
* Generated from https://utopia.fyi
|
|
4
|
+
*
|
|
5
|
+
* This file defines fluid type and spacing scales that adapt smoothly across viewports.
|
|
6
|
+
* Use these tokens with fluid-tailwindcss utilities or directly in your CSS.
|
|
7
|
+
*
|
|
8
|
+
* TYPOGRAPHY:
|
|
9
|
+
* Apply --step-0 to body or main container (not html to avoid interfering with other tools)
|
|
10
|
+
* Use --step-1 through --step-7 for headings and larger text
|
|
11
|
+
* Use --step--1 and --step--2 for smaller text
|
|
12
|
+
*
|
|
13
|
+
* SPACING:
|
|
14
|
+
* Use with fluid-tailwindcss: fl-gap-s/m, fl-py-m/l, etc.
|
|
15
|
+
* Or use directly: gap: var(--space-s-m)
|
|
16
|
+
*
|
|
17
|
+
* GRID:
|
|
18
|
+
* Configure grid gutter with fluid spacing for perfect square cells
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/* @link https://utopia.fyi/type/calculator?c=320,16,1.2,2560,26,1.25,7,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,2xs-2xl&g=2xs,2xl,2xl,12 */
|
|
22
|
+
:root {
|
|
23
|
+
--step--2: clamp(0.6944rem, 0.6451rem + 0.2468vw, 1.04rem);
|
|
24
|
+
--step--1: clamp(0.8333rem, 0.7667rem + 0.3333vw, 1.3rem);
|
|
25
|
+
--step-0: clamp(1rem, 0.9107rem + 0.4464vw, 1.625rem);
|
|
26
|
+
--step-1: clamp(1.2rem, 1.0813rem + 0.5938vw, 2.0313rem);
|
|
27
|
+
--step-2: clamp(1.44rem, 1.283rem + 0.785vw, 2.5391rem);
|
|
28
|
+
--step-3: clamp(1.728rem, 1.5215rem + 1.0327vw, 3.1738rem);
|
|
29
|
+
--step-4: clamp(2.0736rem, 1.8031rem + 1.3526vw, 3.9673rem);
|
|
30
|
+
--step-5: clamp(2.4883rem, 2.1354rem + 1.7648vw, 4.9591rem);
|
|
31
|
+
--step-6: clamp(2.986rem, 2.527rem + 2.2949vw, 6.1989rem);
|
|
32
|
+
--step-7: clamp(3.5832rem, 2.9881rem + 2.9753vw, 7.7486rem);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* @link https://utopia.fyi/space/calculator?c=320,16,1.2,2560,26,1.25,7,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,2xs-2xl&g=2xs,2xl,2xl,12 */
|
|
36
|
+
:root {
|
|
37
|
+
--space-3xs: clamp(0.25rem, 0.2232rem + 0.1339vw, 0.4375rem);
|
|
38
|
+
--space-2xs: clamp(0.5rem, 0.4554rem + 0.2232vw, 0.8125rem);
|
|
39
|
+
--space-xs: clamp(0.75rem, 0.6786rem + 0.3571vw, 1.25rem);
|
|
40
|
+
--space-s: clamp(1rem, 0.9107rem + 0.4464vw, 1.625rem);
|
|
41
|
+
--space-m: clamp(1.5rem, 1.3661rem + 0.6696vw, 2.4375rem);
|
|
42
|
+
--space-l: clamp(2rem, 1.8214rem + 0.8929vw, 3.25rem);
|
|
43
|
+
--space-xl: clamp(3rem, 2.7321rem + 1.3393vw, 4.875rem);
|
|
44
|
+
--space-2xl: clamp(4rem, 3.6429rem + 1.7857vw, 6.5rem);
|
|
45
|
+
--space-3xl: clamp(6rem, 5.4643rem + 2.6786vw, 9.75rem);
|
|
46
|
+
|
|
47
|
+
/* One-up pairs */
|
|
48
|
+
--space-3xs-2xs: clamp(0.25rem, 0.1696rem + 0.4018vw, 0.8125rem);
|
|
49
|
+
--space-2xs-xs: clamp(0.5rem, 0.3929rem + 0.5357vw, 1.25rem);
|
|
50
|
+
--space-xs-s: clamp(0.75rem, 0.625rem + 0.625vw, 1.625rem);
|
|
51
|
+
--space-s-m: clamp(1rem, 0.7946rem + 1.0268vw, 2.4375rem);
|
|
52
|
+
--space-m-l: clamp(1.5rem, 1.25rem + 1.25vw, 3.25rem);
|
|
53
|
+
--space-l-xl: clamp(2rem, 1.5893rem + 2.0536vw, 4.875rem);
|
|
54
|
+
--space-xl-2xl: clamp(3rem, 2.5rem + 2.5vw, 6.5rem);
|
|
55
|
+
--space-2xl-3xl: clamp(4rem, 3.1786rem + 4.1071vw, 9.75rem);
|
|
56
|
+
|
|
57
|
+
/* Custom pairs */
|
|
58
|
+
--space-2xs-2xl: clamp(0.5rem, -0.3571rem + 4.2857vw, 6.5rem);
|
|
59
|
+
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://www.schemastore.org/package.json",
|
|
3
3
|
"name": "@regardio/brand",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.9.0",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "Regardio Brand Assets",
|
|
7
7
|
"homepage": "https://github.com/regardio/brand#readme",
|
|
@@ -65,33 +65,33 @@
|
|
|
65
65
|
"import": "./dist/generated/icons/regardio-logo-mono-light.mjs",
|
|
66
66
|
"types": "./dist/generated/icons/regardio-logo-mono-light.d.mts"
|
|
67
67
|
},
|
|
68
|
-
"./icons/regardio-system-bridge-icon": {
|
|
69
|
-
"import": "./dist/generated/icons/regardio-system-bridge-icon.mjs",
|
|
70
|
-
"types": "./dist/generated/icons/regardio-system-bridge-icon.d.mts"
|
|
71
|
-
},
|
|
72
|
-
"./icons/regardio-system-circle-icon": {
|
|
73
|
-
"import": "./dist/generated/icons/regardio-system-circle-icon.mjs",
|
|
74
|
-
"types": "./dist/generated/icons/regardio-system-circle-icon.d.mts"
|
|
75
|
-
},
|
|
76
|
-
"./icons/regardio-system-facet-icon": {
|
|
77
|
-
"import": "./dist/generated/icons/regardio-system-facet-icon.mjs",
|
|
78
|
-
"types": "./dist/generated/icons/regardio-system-facet-icon.d.mts"
|
|
79
|
-
},
|
|
80
68
|
"./icons/regardio-system-icon": {
|
|
81
69
|
"import": "./dist/generated/icons/regardio-system-icon.mjs",
|
|
82
70
|
"types": "./dist/generated/icons/regardio-system-icon.d.mts"
|
|
83
71
|
},
|
|
84
|
-
"./icons/
|
|
85
|
-
"import": "./dist/generated/icons/
|
|
86
|
-
"types": "./dist/generated/icons/
|
|
72
|
+
"./icons/system-layer-bridges-icon": {
|
|
73
|
+
"import": "./dist/generated/icons/system-layer-bridges-icon.mjs",
|
|
74
|
+
"types": "./dist/generated/icons/system-layer-bridges-icon.d.mts"
|
|
75
|
+
},
|
|
76
|
+
"./icons/system-layer-circles-icon": {
|
|
77
|
+
"import": "./dist/generated/icons/system-layer-circles-icon.mjs",
|
|
78
|
+
"types": "./dist/generated/icons/system-layer-circles-icon.d.mts"
|
|
79
|
+
},
|
|
80
|
+
"./icons/system-layer-facets-icon": {
|
|
81
|
+
"import": "./dist/generated/icons/system-layer-facets-icon.mjs",
|
|
82
|
+
"types": "./dist/generated/icons/system-layer-facets-icon.d.mts"
|
|
83
|
+
},
|
|
84
|
+
"./icons/system-layer-sources-icon": {
|
|
85
|
+
"import": "./dist/generated/icons/system-layer-sources-icon.mjs",
|
|
86
|
+
"types": "./dist/generated/icons/system-layer-sources-icon.d.mts"
|
|
87
87
|
},
|
|
88
|
-
"./icons/
|
|
89
|
-
"import": "./dist/generated/icons/
|
|
90
|
-
"types": "./dist/generated/icons/
|
|
88
|
+
"./icons/system-layer-plans-icon": {
|
|
89
|
+
"import": "./dist/generated/icons/system-layer-plans-icon.mjs",
|
|
90
|
+
"types": "./dist/generated/icons/system-layer-plans-icon.d.mts"
|
|
91
91
|
},
|
|
92
|
-
"./icons/
|
|
93
|
-
"import": "./dist/generated/icons/
|
|
94
|
-
"types": "./dist/generated/icons/
|
|
92
|
+
"./icons/system-layer-pursuits-icon": {
|
|
93
|
+
"import": "./dist/generated/icons/system-layer-pursuits-icon.mjs",
|
|
94
|
+
"types": "./dist/generated/icons/system-layer-pursuits-icon.d.mts"
|
|
95
95
|
},
|
|
96
96
|
"./sprites/compass-sprite": {
|
|
97
97
|
"import": "./dist/generated/sprites/compass-sprite.mjs",
|
|
@@ -108,9 +108,7 @@
|
|
|
108
108
|
"src/components"
|
|
109
109
|
],
|
|
110
110
|
"scripts": {
|
|
111
|
-
"build": "
|
|
112
|
-
"build:copy-styles": "mkdir -p dist/styles && cp -r src/styles/* dist/styles/",
|
|
113
|
-
"build:tsdown": "tsdown",
|
|
111
|
+
"build": "tsdown",
|
|
114
112
|
"clean": "exec-clean .turbo dist src/generated",
|
|
115
113
|
"dev": "tsdown --watch",
|
|
116
114
|
"fix": "exec-s fix:pkg fix:md fix:biome",
|
|
@@ -140,15 +138,15 @@
|
|
|
140
138
|
},
|
|
141
139
|
"dependencies": {
|
|
142
140
|
"@fontsource-variable/georama": "5.2.8",
|
|
143
|
-
"@regardio/react": "^0.8.
|
|
144
|
-
"@regardio/tailwind": "^0.4.
|
|
141
|
+
"@regardio/react": "^0.8.2",
|
|
142
|
+
"@regardio/tailwind": "^0.4.3"
|
|
145
143
|
},
|
|
146
144
|
"devDependencies": {
|
|
147
|
-
"@regardio/dev": "^1.18.
|
|
148
|
-
"@storybook/addon-a11y": "10.3.
|
|
149
|
-
"@storybook/addon-docs": "10.3.
|
|
150
|
-
"@storybook/addon-vitest": "10.3.
|
|
151
|
-
"@storybook/react-vite": "10.3.
|
|
145
|
+
"@regardio/dev": "^1.18.2",
|
|
146
|
+
"@storybook/addon-a11y": "10.3.3",
|
|
147
|
+
"@storybook/addon-docs": "10.3.3",
|
|
148
|
+
"@storybook/addon-vitest": "10.3.3",
|
|
149
|
+
"@storybook/react-vite": "10.3.3",
|
|
152
150
|
"@svgr/cli": "8.1.0",
|
|
153
151
|
"@svgr/plugin-jsx": "8.1.0",
|
|
154
152
|
"@svgr/plugin-svgo": "8.1.0",
|
|
@@ -158,20 +156,21 @@
|
|
|
158
156
|
"@types/react": "19.2.14",
|
|
159
157
|
"@types/react-dom": "19.2.3",
|
|
160
158
|
"@vitejs/plugin-react": "6.0.1",
|
|
161
|
-
"@vitest/browser-playwright": "4.1.
|
|
162
|
-
"@vitest/coverage-v8": "4.1.
|
|
163
|
-
"@vitest/ui": "4.1.
|
|
159
|
+
"@vitest/browser-playwright": "4.1.1",
|
|
160
|
+
"@vitest/coverage-v8": "4.1.1",
|
|
161
|
+
"@vitest/ui": "4.1.1",
|
|
164
162
|
"linkedom": "0.18.12",
|
|
165
163
|
"node-html-parser": "7.1.0",
|
|
166
164
|
"playwright": "1.58.2",
|
|
167
165
|
"react": "19.2.4",
|
|
168
166
|
"react-dom": "19.2.4",
|
|
169
|
-
"storybook": "10.3.
|
|
167
|
+
"storybook": "10.3.3",
|
|
170
168
|
"svgo": "4.0.1",
|
|
171
169
|
"tailwindcss": "4.2.2",
|
|
172
|
-
"tsdown": "0.21.
|
|
173
|
-
"
|
|
174
|
-
"
|
|
175
|
-
"
|
|
170
|
+
"tsdown": "0.21.5",
|
|
171
|
+
"tsx": "4.21.0",
|
|
172
|
+
"typescript": "6.0.2",
|
|
173
|
+
"vite": "8.0.2",
|
|
174
|
+
"vitest": "4.1.1"
|
|
176
175
|
}
|
|
177
176
|
}
|
package/src/styles/grid.css
CHANGED
|
@@ -1,10 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Grid
|
|
3
|
-
*
|
|
2
|
+
* Grid System
|
|
3
|
+
* Fluid grid based on Utopia scales for perfect square cells
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* FLUID GRID APPROACH:
|
|
6
|
+
* The grid uses fluid spacing where gutter width scales proportionally with viewport.
|
|
7
|
+
* When grid-gutter equals column width, and the same value is used for row gaps,
|
|
8
|
+
* cells become perfect squares automatically - no aspect-ratio calculations needed.
|
|
9
|
+
*
|
|
10
|
+
* CONFIGURATION:
|
|
11
|
+
* Define these tokens in your application (see utopia.css for fluid scales):
|
|
12
|
+
*
|
|
13
|
+
* ```css
|
|
14
|
+
* :root {
|
|
15
|
+
* --spacing-grid-max: 162.5rem; // Maximum container width
|
|
16
|
+
* --spacing-grid-gutter: var(--space-m); // Fluid gutter (column + row gaps)
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* USAGE WITH REACT GRID:
|
|
21
|
+
* Use @regardio/react Grid component for responsive layouts:
|
|
22
|
+
*
|
|
23
|
+
* ```tsx
|
|
24
|
+
* <Grid.Root flow="dense">
|
|
25
|
+
* <Grid.Item span={12} spanMd={6} spanLg={4}>
|
|
26
|
+
* Content automatically becomes square when gutter = column width
|
|
27
|
+
* </Grid.Item>
|
|
28
|
+
* </Grid.Root>
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* FLUID SPACING:
|
|
32
|
+
* Use fluid-tailwindcss utilities instead of custom classes:
|
|
33
|
+
* - fl-gap-s/m: Fluid gap from --space-s to --space-m
|
|
34
|
+
* - fl-py-m/l: Fluid vertical padding from --space-m to --space-l
|
|
35
|
+
* - flex flex-col fl-gap-xs/s: Stack with fluid gap
|
|
36
|
+
* - flex flex-wrap fl-gap-2xs/xs: Cluster with fluid gap
|
|
37
|
+
*
|
|
38
|
+
* UTOPIA CALCULATOR:
|
|
39
|
+
* Generate fluid scales at https://utopia.fyi/grid/calculator
|
|
40
|
+
* Link fluid type, spacing, and grid for a cohesive system.
|
|
8
41
|
*/
|
|
9
42
|
@layer components {
|
|
10
43
|
/**
|
|
@@ -19,6 +52,8 @@
|
|
|
19
52
|
|
|
20
53
|
/**
|
|
21
54
|
* 12-column CSS Grid with container queries
|
|
55
|
+
* Uses CSS custom properties for configurability:
|
|
56
|
+
* - --spacing-grid-gutter: Gap between grid items
|
|
22
57
|
*/
|
|
23
58
|
.u-grid {
|
|
24
59
|
display: grid;
|
|
@@ -57,4 +92,11 @@
|
|
|
57
92
|
.u-grid-quarter {
|
|
58
93
|
grid-column: span 3;
|
|
59
94
|
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Sixth-width grid item spanning 2 columns
|
|
98
|
+
*/
|
|
99
|
+
.u-grid-sixth {
|
|
100
|
+
grid-column: span 2;
|
|
101
|
+
}
|
|
60
102
|
}
|
package/src/styles/index.css
CHANGED
|
@@ -17,6 +17,9 @@
|
|
|
17
17
|
/* Design tokens (breakpoints, containers, semantic colors, shadows) */
|
|
18
18
|
@import "./tokens.css";
|
|
19
19
|
|
|
20
|
+
/* Utopia fluid scales (type and spacing) */
|
|
21
|
+
@import "./utopia.css";
|
|
22
|
+
|
|
20
23
|
/* Fluid typography system with Georama Variable font */
|
|
21
24
|
@import "./typography.css";
|
|
22
25
|
|