lion-make 0.1.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.
Files changed (59) hide show
  1. package/dist/components/footer/ComplianceBlock.d.ts +13 -0
  2. package/dist/components/footer/Disclaimer.d.ts +12 -0
  3. package/dist/components/footer/Disclosure.d.ts +13 -0
  4. package/dist/components/general/CTA.d.ts +18 -0
  5. package/dist/components/general/CallOut.d.ts +13 -0
  6. package/dist/components/general/ConfidenceTags.d.ts +11 -0
  7. package/dist/components/general/LeadForm.d.ts +21 -0
  8. package/dist/components/general/RTBs.d.ts +17 -0
  9. package/dist/components/general/RichText.d.ts +11 -0
  10. package/dist/components/header/CorporateUniversalHeader.d.ts +14 -0
  11. package/dist/components/header/GlobalHeaderBar.d.ts +19 -0
  12. package/dist/components/hero/Hero.d.ts +18 -0
  13. package/dist/components/layout/Anklet.d.ts +14 -0
  14. package/dist/components/layout/Container.d.ts +8 -0
  15. package/dist/components/layout/PageForehead.d.ts +11 -0
  16. package/dist/components/layout/PageSideburn.d.ts +11 -0
  17. package/dist/components/layout/Section.d.ts +8 -0
  18. package/dist/index.d.ts +34 -0
  19. package/dist/lion-make.js +1004 -0
  20. package/dist/lion-make.umd.cjs +30 -0
  21. package/guidelines/Guidelines.md +68 -0
  22. package/guidelines/composition/constraints.md +49 -0
  23. package/guidelines/composition/hierarchy.md +72 -0
  24. package/guidelines/composition/overview.md +22 -0
  25. package/guidelines/composition/templates.md +46 -0
  26. package/guidelines/composition/zones.md +60 -0
  27. package/guidelines/content-types/footer/compliance-block.md +38 -0
  28. package/guidelines/content-types/footer/disclaimer.md +32 -0
  29. package/guidelines/content-types/footer/disclosure.md +39 -0
  30. package/guidelines/content-types/footer/overview.md +38 -0
  31. package/guidelines/content-types/general/callout.md +40 -0
  32. package/guidelines/content-types/general/confidence-tags.md +39 -0
  33. package/guidelines/content-types/general/cta.md +52 -0
  34. package/guidelines/content-types/general/lead-form.md +56 -0
  35. package/guidelines/content-types/general/overview.md +46 -0
  36. package/guidelines/content-types/general/rich-text.md +35 -0
  37. package/guidelines/content-types/general/rtbs.md +55 -0
  38. package/guidelines/content-types/header/corporate-universal-header.md +36 -0
  39. package/guidelines/content-types/header/global-header-bar.md +49 -0
  40. package/guidelines/content-types/header/overview.md +34 -0
  41. package/guidelines/content-types/hero/hero-variants.md +68 -0
  42. package/guidelines/content-types/hero/overview.md +41 -0
  43. package/guidelines/content-types/overview.md +60 -0
  44. package/guidelines/foundations/breakpoints.md +53 -0
  45. package/guidelines/foundations/color.md +86 -0
  46. package/guidelines/foundations/overview.md +26 -0
  47. package/guidelines/foundations/spacing.md +50 -0
  48. package/guidelines/foundations/typography.md +67 -0
  49. package/guidelines/foundations/z-index.md +24 -0
  50. package/guidelines/icon-discovery.md +14 -0
  51. package/guidelines/setup.md +103 -0
  52. package/package.json +53 -0
  53. package/src/tokens/breakpoints.css +21 -0
  54. package/src/tokens/colors.css +81 -0
  55. package/src/tokens/make-utilities.css +129 -0
  56. package/src/tokens/metrics.css +32 -0
  57. package/src/tokens/mixins.css +3 -0
  58. package/src/tokens/typography.css +55 -0
  59. package/src/tokens/z-index.css +14 -0
@@ -0,0 +1,26 @@
1
+ # Foundations Overview
2
+
3
+ The foundation layer defines the design tokens — the raw values that all components and content types are built from. Always use CSS custom properties (variables) from these token files; never hardcode colors, sizes, or font values.
4
+
5
+ ## Token Files
6
+
7
+ | File | What it covers |
8
+ |---|---|
9
+ | [color.md](./color.md) | Full color palette, semantic mappings, opaque variants, gradient |
10
+ | [typography.md](./typography.md) | Font family, weights, base sizes, H1-H6 scale, line-heights |
11
+ | [spacing.md](./spacing.md) | Grid gutter, edge padding, padding sizes, border-radius, border-width |
12
+ | [breakpoints.md](./breakpoints.md) | 5 breakpoint tiers, max-width container, custom media queries |
13
+ | [z-index.md](./z-index.md) | 9 z-index levels for layering |
14
+
15
+ ## Usage Rule
16
+
17
+ All values are exposed as CSS custom properties. Reference them in component styles:
18
+
19
+ ```css
20
+ color: var(--color-text);
21
+ font-size: var(--font-size-base);
22
+ padding: var(--padding-base-vertical) var(--padding-base-horizontal);
23
+ border-radius: var(--border-radius-base);
24
+ ```
25
+
26
+ Never reach past the token layer to hardcoded values. If a token doesn't exist for what you need, that is a signal to add a new token — not to hardcode.
@@ -0,0 +1,50 @@
1
+ # Spacing
2
+
3
+ Source: `src/tokens/metrics.css`
4
+
5
+ ## Grid
6
+
7
+ | Token | Value | Use |
8
+ |---|---|---|
9
+ | `--Grid-gutter-size` | `1.6rem` | Gap between grid columns |
10
+ | `--padding-edge` | `3.2rem` | Outer edge padding of page |
11
+
12
+ ## Padding Sizes
13
+
14
+ Three sizes, each with vertical and horizontal variants:
15
+
16
+ | Size | Vertical | Horizontal |
17
+ |---|---|---|
18
+ | Small | `--padding-small-vertical` (0.5rem) | `--padding-small-horizontal` (1rem) |
19
+ | Base | `--padding-base-vertical` (1.2rem) | `--padding-base-horizontal` (2rem) |
20
+ | Large | `--padding-large-vertical` (1.4rem) | `--padding-large-horizontal` (1.6rem) |
21
+
22
+ Use `base` as the default for interactive elements (buttons, inputs). Use `small` for compact UI elements (badges, tags). Use `large` for prominent call-to-action buttons.
23
+
24
+ ## Border Radius
25
+
26
+ | Token | Value | Use |
27
+ |---|---|---|
28
+ | `--border-radius-base` | `8px` | Default (buttons, cards, containers) |
29
+ | `--border-radius-small` | `6px` | Compact elements (tags, badges) |
30
+
31
+ ## Border Width
32
+
33
+ | Token | Value | Use |
34
+ |---|---|---|
35
+ | `--border-width-thin` | `1px` | Subtle dividers |
36
+ | `--border-width-base` | `2px` | Default borders |
37
+ | `--border-width-thick` | `3px` | Emphasis borders, focus rings |
38
+
39
+ ## Caret Sizes
40
+
41
+ | Token | Value |
42
+ |---|---|
43
+ | `--caret-width-base` | `4px` |
44
+ | `--caret-width-large` | `5px` |
45
+
46
+ ## List Nesting
47
+
48
+ ```css
49
+ margin-left: var(--list-nested-margin); /* 20px */
50
+ ```
@@ -0,0 +1,67 @@
1
+ # Typography
2
+
3
+ Source: `src/tokens/typography.css`
4
+
5
+ ## Font Family
6
+
7
+ ```css
8
+ font-family: var(--font-family-sans-serif); /* "Source Sans Pro", sans-serif */
9
+ ```
10
+
11
+ Load via Google Fonts:
12
+
13
+ ```html
14
+ <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,600,700" rel="stylesheet" />
15
+ ```
16
+
17
+ ## Font Weights
18
+
19
+ | Token | Value | Use |
20
+ |---|---|---|
21
+ | `--font-weight-300` | 300 | Light text |
22
+ | `--font-weight-400` | 400 | Body text |
23
+ | `--font-weight-600` | 600 | Emphasis, labels |
24
+ | `--font-weight-700` | 700 | Headings |
25
+
26
+ ## Base Sizes
27
+
28
+ The root font-size is set to 62.5% so that `1rem = 10px`. All sizes are in `rem`.
29
+
30
+ | Token | Value | Notes |
31
+ |---|---|---|
32
+ | `--font-size-percentage` | `62.5%` | Root size trick — do not override |
33
+ | `--font-size-base` | `1.6rem` | Default body (16px) |
34
+ | `--font-size-md-base` | `1.8rem` | Body at `--md-viewport` and above (18px) |
35
+ | `--line-height-base` | `2.4rem` | Default line-height |
36
+ | `--line-height-md-base` | `2.8rem` | Line-height at `--md-viewport` and above |
37
+
38
+ ## Heading Scale
39
+
40
+ ### Desktop (default)
41
+
42
+ | Element | Font size token | Line-height token |
43
+ |---|---|---|
44
+ | H1 | `--h1-font-size` (3.2rem) | `--h1-line-height` (4rem) |
45
+ | H2 | `--h2-font-size` (2.4rem) | `--h2-line-height` (3.2rem) |
46
+ | H3 | `--h3-font-size` (2rem) | `--h3-line-height` (2.8rem) |
47
+ | H4 | `--h4-font-size` (1.6rem) | `--h4-line-height` (2rem) |
48
+ | H5 | `--h5-font-size` (1.4rem) | `--h5-line-height` (2rem) |
49
+ | H6 | `--h6-font-size` (1.4rem) | `--h6-line-height` (2rem) |
50
+
51
+ ### Medium viewport and above (`--md-viewport`, 767px+)
52
+
53
+ | Element | Font size token | Line-height token |
54
+ |---|---|---|
55
+ | H1 | `--h1-md-font-size` (4rem) | `--h1-md-line-height` (4.8rem) |
56
+ | H2 | `--h2-md-font-size` (3.2rem) | `--h2-md-line-height` (4rem) |
57
+ | H3 | `--h3-md-font-size` (2.4rem) | `--h3-md-line-height` (3.2rem) |
58
+ | H4 | `--h4-md-font-size` (2rem) | `--h4-md-line-height` (2.4rem) |
59
+ | H5 | `--h5-md-font-size` (1.6rem) | `--h5-md-line-height` (2.4rem) |
60
+ | H6 | `--h6-md-font-size` (1.4rem) | `--h6-md-line-height` (2rem) |
61
+
62
+ ## Text Direction
63
+
64
+ ```css
65
+ direction: var(--text-direction); /* ltr */
66
+ font-style: var(--font-style); /* normal */
67
+ ```
@@ -0,0 +1,24 @@
1
+ # Z-Index
2
+
3
+ Source: `src/tokens/z-index.css`
4
+
5
+ ## Levels
6
+
7
+ | Token | Value | Use |
8
+ |---|---|---|
9
+ | `--z-index-below` | `-10` | Elements intentionally below the stacking context |
10
+ | `--z-index-zero` | `0` | Default (no stacking) |
11
+ | `--z-index-baseline` | `1` | Basic elevation above default |
12
+ | `--z-index-footer` | `2` | Footer zone |
13
+ | `--z-index-menus` | `3` | Navigation menus (closed) |
14
+ | `--z-index-open-menus` | `4` | Navigation menus (open) |
15
+ | `--z-index-tool-tips` | `4` | Tooltips — same level as open menus |
16
+ | `--z-index-overlays-and-headers` | `5` | Sticky headers, modal overlays |
17
+ | `--z-index-goku` | `9001` | Maximum — reserved for critical overlays (e.g., cookie banners) |
18
+
19
+ ## Rules
20
+
21
+ - Use the named tokens; never hardcode z-index integers.
22
+ - Tool-tips share the same level as open menus (`var(--z-index-open-menus)`) — this is intentional.
23
+ - `--z-index-goku` (9001) is a last-resort override. Do not use it for standard components.
24
+ - Sticky headers and modal overlays share `--z-index-overlays-and-headers` (5). If a modal needs to appear above a sticky header, add 1 to the token value contextually.
@@ -0,0 +1,14 @@
1
+ # Icon Discovery
2
+
3
+ Icon system documentation is a stub — to be completed when an icon library is added to lion-make.
4
+
5
+ ## Planned Coverage
6
+
7
+ - Icon naming conventions
8
+ - Available icon names and their usage
9
+ - Size tokens for icons
10
+ - How to import and use icons in components
11
+
12
+ ## Current State
13
+
14
+ No icon library is bundled in this version of lion-make. Use inline SVGs or a separate icon package until this section is complete.
@@ -0,0 +1,103 @@
1
+ # Setup
2
+
3
+ ## Install the Package
4
+
5
+ ```bash
6
+ npm install lion-make
7
+ ```
8
+
9
+ ## Import Design Tokens
10
+
11
+ Import all CSS token files in your global stylesheet or entry point. Order matters — import all of them.
12
+
13
+ ```css
14
+ @import 'lion-make/tokens/colors.css';
15
+ @import 'lion-make/tokens/typography.css';
16
+ @import 'lion-make/tokens/metrics.css';
17
+ @import 'lion-make/tokens/breakpoints.css';
18
+ @import 'lion-make/tokens/z-index.css';
19
+ @import 'lion-make/tokens/mixins.css';
20
+ @import 'lion-make/tokens/make-utilities.css';
21
+ ```
22
+
23
+ ## Load the Font
24
+
25
+ Add this to the `<head>` of your HTML. Source Sans Pro is the required system font.
26
+
27
+ ```html
28
+ <link
29
+ href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,600,700"
30
+ rel="stylesheet"
31
+ />
32
+ ```
33
+
34
+ Or in CSS:
35
+
36
+ ```css
37
+ @import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,600,700');
38
+ ```
39
+
40
+ ## Import Components
41
+
42
+ Components are organized by zone. Import only what you need.
43
+
44
+ ```tsx
45
+ // Layout primitives (not content types)
46
+ import { PageForehead, PageSideburn, Section, Container, Anklet } from 'lion-make'
47
+
48
+ // Header zone components
49
+ import { CorporateUniversalHeader, GlobalHeaderBar } from 'lion-make'
50
+
51
+ // Hero zone components
52
+ import { Hero } from 'lion-make'
53
+
54
+ // General zone components (Primary Column, Sideburn, Outro)
55
+ import { CTA, CallOut, RTBs, ConfidenceTags, LeadForm, RichText } from 'lion-make'
56
+
57
+ // Footer zone components
58
+ import { Disclaimer, Disclosure, ComplianceBlock } from 'lion-make'
59
+ ```
60
+
61
+ ## Minimal Page Example
62
+
63
+ ```tsx
64
+ import { PageForehead, Section, Container, GlobalHeaderBar, Hero, CTA, Disclaimer, Anklet } from 'lion-make'
65
+
66
+ export function Page() {
67
+ return (
68
+ <PageForehead>
69
+ <Section zone="header">
70
+ <GlobalHeaderBar logoSrc="/logo.svg" logoAlt="Company" />
71
+ </Section>
72
+
73
+ <Section zone="hero">
74
+ <Hero variant="full-bleed" heading="Protect what matters" ctaLabel="Get a quote" ctaHref="/quote" />
75
+ </Section>
76
+
77
+ <Section zone="primary-column">
78
+ <Container type="single">
79
+ <CTA type="button" label="Start for $0.99" href="/start" variant="primary" />
80
+ </Container>
81
+ </Section>
82
+
83
+ <Anklet links={[{ label: 'About', href: '/about' }, { label: 'Contact', href: '/contact' }]} />
84
+
85
+ <Section zone="footer">
86
+ <Disclaimer text="Products underwritten by Mutual of Omaha Insurance Company." itemNumber="ICC20-TERM" />
87
+ </Section>
88
+ </PageForehead>
89
+ )
90
+ }
91
+ ```
92
+
93
+ ## Zone Rule Reminder
94
+
95
+ You must only place content types in their designated zone. See [composition/zones.md](./composition/zones.md) for the full placement table. Placing a Hero component in the footer zone, or a Disclaimer in the hero zone, is invalid.
96
+
97
+ ## Peer Dependencies
98
+
99
+ This package requires React 18. Install it if not already present:
100
+
101
+ ```bash
102
+ npm install react@^18 react-dom@^18
103
+ ```
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "lion-make",
3
+ "version": "0.1.0",
4
+ "description": "Mondrian-based design system for Figma Make — zone-locked layout system with CSS design tokens and React component stubs.",
5
+ "type": "module",
6
+ "main": "./dist/lion-make.umd.cjs",
7
+ "module": "./dist/lion-make.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/lion-make.js",
12
+ "require": "./dist/lion-make.umd.cjs",
13
+ "types": "./dist/index.d.ts"
14
+ },
15
+ "./tokens/colors.css": "./src/tokens/colors.css",
16
+ "./tokens/typography.css": "./src/tokens/typography.css",
17
+ "./tokens/metrics.css": "./src/tokens/metrics.css",
18
+ "./tokens/breakpoints.css": "./src/tokens/breakpoints.css",
19
+ "./tokens/z-index.css": "./src/tokens/z-index.css",
20
+ "./tokens/mixins.css": "./src/tokens/mixins.css",
21
+ "./tokens/make-utilities.css": "./src/tokens/make-utilities.css"
22
+ },
23
+ "files": [
24
+ "dist",
25
+ "src/tokens",
26
+ "guidelines"
27
+ ],
28
+ "scripts": {
29
+ "build": "vite build && tsc --emitDeclarationOnly --declaration --outDir dist",
30
+ "dev": "vite build --watch",
31
+ "typecheck": "tsc --noEmit"
32
+ },
33
+ "peerDependencies": {
34
+ "react": "^18.0.0",
35
+ "react-dom": "^18.0.0"
36
+ },
37
+ "devDependencies": {
38
+ "@types/react": "^18.3.0",
39
+ "@types/react-dom": "^18.3.0",
40
+ "@vitejs/plugin-react": "^4.3.0",
41
+ "typescript": "^5.5.0",
42
+ "vite": "^5.4.0",
43
+ "vite-plugin-dts": "^4.0.0"
44
+ },
45
+ "keywords": [
46
+ "design-system",
47
+ "figma-make",
48
+ "mondrian",
49
+ "react",
50
+ "lion-make"
51
+ ],
52
+ "license": "MIT"
53
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Breakpoints
3
+ */
4
+
5
+ :root {
6
+ --bp-xs: 432px;
7
+ --bp-sm: 535px;
8
+ --bp-md: 767px;
9
+ --bp-lg: 981px;
10
+ --bp-xl: 1301px;
11
+ --max-width: 1600px;
12
+ }
13
+
14
+ @custom-media --sm-viewport (min-width:535px);
15
+ @custom-media --max-sm-viewport (max-width:534px);
16
+ @custom-media --md-viewport (min-width:767px);
17
+ @custom-media --max-md-viewport (max-width:766px);
18
+ @custom-media --lg-viewport (min-width:981px);
19
+ @custom-media --max-lg-viewport (max-width:980px);
20
+ @custom-media --xl-viewport (min-width:1301px);
21
+ @custom-media --max-xl-viewport (max-width:1300px);
@@ -0,0 +1,81 @@
1
+ :root {
2
+ /**
3
+ * Base Colors
4
+ */
5
+
6
+ /* White */
7
+ --color-white: #fff;
8
+
9
+ /* Gray */
10
+ --color-gray-darkest: #222;
11
+ --color-gray-darker: #444;
12
+ --color-gray-dark: #5d5d5d;
13
+ --color-gray: #838383;
14
+ --color-gray-light: #bababa;
15
+ --color-gray-lighter: #e5e5e5;
16
+ --color-gray-lightest: #f7f7f7;
17
+
18
+ /* Blue */
19
+ --color-blue-dark: #003a70;
20
+ --color-blue: #105fa8;
21
+ --color-blue-shade: rgb(16, 94, 166);
22
+
23
+ /* Teal */
24
+ --color-teal-dark: #03746e;
25
+ --color-teal: #03a0ad;
26
+
27
+ /* Green */
28
+ --color-green: #19a38a;
29
+ --color-green-light: #d2e6ca;
30
+
31
+ /* Yellow */
32
+ --color-yellow: #ac9633;
33
+ --color-yellow-light: #fbea8e;
34
+
35
+ /* Red */
36
+ --color-red: #c12506;
37
+ --color-red-light: #fdf4f2;
38
+
39
+ /* Orange */
40
+ --color-orange: #df6903;
41
+
42
+ /* PYK Supporting Palette */
43
+ --color-sand: #fffbf2;
44
+ --color-gold: #f5b93c;
45
+
46
+ /**
47
+ * Mappings
48
+ */
49
+
50
+ /* Brand Colors */
51
+ --color-brand: var(--color-blue);
52
+ --color-brand-primary: var(--color-blue);
53
+ --color-brand-success: var(--color-green);
54
+ --color-brand-warning: var(--color-yellow);
55
+ --color-brand-danger: var(--color-red);
56
+
57
+ /* Text Colors */
58
+ --color-text: var(--color-gray-darker);
59
+ --color-link: var(--color-blue);
60
+ --color-link-hover: var(--color-blue-dark);
61
+
62
+ /* Line Colors */
63
+ --color-line: var(--color-gray-light);
64
+
65
+ /* Opaque Colors */
66
+ --color-gray-darker-opaque: rgba(68, 68, 68, 0.8);
67
+ --color-teal-opaque: rgba(3, 160, 173, 0.08);
68
+ --color-white-opaque-focus: rgba(255, 255, 255, 0.2);
69
+ --color-white-opaque-active: rgba(255, 255, 255, 0.35);
70
+
71
+ /* Tinted Colors */
72
+ --color-gray-lighter-tint: rgb(233, 233, 233);
73
+ --color-teal-tint: rgb(235, 247, 248);
74
+
75
+ /* Gradients */
76
+ --gradient-blue-to-teal: linear-gradient(to right, var(--color-blue-shade) 0%, var(--color-teal) 100%) var(--color-teal);
77
+ }
78
+
79
+ @define-mixin --gradient-blue-to-teal {
80
+ background: var(--gradient-blue-to-teal);
81
+ }
@@ -0,0 +1,129 @@
1
+ /* These mixins are used by utility packages to generate utility classes */
2
+
3
+ @define-mixin make-utilities {
4
+ .u- {
5
+ @mixin-content;
6
+ }
7
+ }
8
+
9
+ @define-mixin make-utilities--breakpoints {
10
+ @mixin make-utilities {
11
+ @mixin-content;
12
+
13
+ @media (--sm-viewport) {
14
+ &sm- {
15
+ @mixin-content;
16
+ }
17
+ }
18
+
19
+ @media (--md-viewport) {
20
+ &md- {
21
+ @mixin-content;
22
+ }
23
+ }
24
+
25
+ @media (--lg-viewport) {
26
+ &lg- {
27
+ @mixin-content;
28
+ }
29
+ }
30
+
31
+ @media (--xl-viewport) {
32
+ &xl- {
33
+ @mixin-content;
34
+ }
35
+ }
36
+ }
37
+ }
38
+
39
+ @define-mixin make-utilities--n-of-n $name {
40
+ @mixin make-utility--n-of-n $name, 1, 2;
41
+ @mixin make-utility--n-of-n $name, 1, 3;
42
+ @mixin make-utility--n-of-n $name, 1, 4;
43
+ @mixin make-utility--n-of-n $name, 1, 5;
44
+ @mixin make-utility--n-of-n $name, 1, 6;
45
+ @mixin make-utility--n-of-n $name, 1, 8;
46
+ @mixin make-utility--n-of-n $name, 1, 10;
47
+ @mixin make-utility--n-of-n $name, 1, 12;
48
+ @mixin make-utility--n-of-n $name, 2, 3;
49
+ @mixin make-utility--n-of-n $name, 2, 4;
50
+ @mixin make-utility--n-of-n $name, 2, 5;
51
+ @mixin make-utility--n-of-n $name, 2, 6;
52
+ @mixin make-utility--n-of-n $name, 2, 8;
53
+ @mixin make-utility--n-of-n $name, 2, 10;
54
+ @mixin make-utility--n-of-n $name, 2, 12;
55
+ @mixin make-utility--n-of-n $name, 3, 4;
56
+ @mixin make-utility--n-of-n $name, 3, 5;
57
+ @mixin make-utility--n-of-n $name, 3, 6;
58
+ @mixin make-utility--n-of-n $name, 3, 8;
59
+ @mixin make-utility--n-of-n $name, 3, 10;
60
+ @mixin make-utility--n-of-n $name, 3, 12;
61
+ @mixin make-utility--n-of-n $name, 4, 5;
62
+ @mixin make-utility--n-of-n $name, 4, 6;
63
+ @mixin make-utility--n-of-n $name, 4, 8;
64
+ @mixin make-utility--n-of-n $name, 4, 10;
65
+ @mixin make-utility--n-of-n $name, 4, 12;
66
+ @mixin make-utility--n-of-n $name, 5, 6;
67
+ @mixin make-utility--n-of-n $name, 5, 8;
68
+ @mixin make-utility--n-of-n $name, 5, 10;
69
+ @mixin make-utility--n-of-n $name, 5, 12;
70
+ @mixin make-utility--n-of-n $name, 6, 8;
71
+ @mixin make-utility--n-of-n $name, 6, 10;
72
+ @mixin make-utility--n-of-n $name, 6, 12;
73
+ @mixin make-utility--n-of-n $name, 7, 8;
74
+ @mixin make-utility--n-of-n $name, 7, 10;
75
+ @mixin make-utility--n-of-n $name, 7, 12;
76
+ @mixin make-utility--n-of-n $name, 8, 10;
77
+ @mixin make-utility--n-of-n $name, 8, 12;
78
+ @mixin make-utility--n-of-n $name, 9, 10;
79
+ @mixin make-utility--n-of-n $name, 9, 12;
80
+ @mixin make-utility--n-of-n $name, 10, 12;
81
+ @mixin make-utility--n-of-n $name, 11, 12;
82
+ }
83
+
84
+ @define-mixin make-utilities--n-25 $name {
85
+ @mixin make-utility--n $name, 0;
86
+ @mixin make-utility--n $name, 1;
87
+ @mixin make-utility--n $name, 2;
88
+ @mixin make-utility--n $name, 3;
89
+ @mixin make-utility--n $name, 4;
90
+ @mixin make-utility--n $name, 5;
91
+ @mixin make-utility--n $name, 6;
92
+ @mixin make-utility--n $name, 7;
93
+ @mixin make-utility--n $name, 8;
94
+ @mixin make-utility--n $name, 9;
95
+ @mixin make-utility--n $name, 10;
96
+ @mixin make-utility--n $name, 11;
97
+ @mixin make-utility--n $name, 12;
98
+ @mixin make-utility--n $name, 13;
99
+ @mixin make-utility--n $name, 14;
100
+ @mixin make-utility--n $name, 15;
101
+ @mixin make-utility--n $name, 16;
102
+ @mixin make-utility--n $name, 17;
103
+ @mixin make-utility--n $name, 18;
104
+ @mixin make-utility--n $name, 19;
105
+ @mixin make-utility--n $name, 20;
106
+ @mixin make-utility--n $name, 21;
107
+ @mixin make-utility--n $name, 22;
108
+ @mixin make-utility--n $name, 23;
109
+ @mixin make-utility--n $name, 24;
110
+ @mixin make-utility--n $name, 25;
111
+ }
112
+
113
+ @define-mixin make-utility $name {
114
+ &$(name) {
115
+ @mixin --u-$(name);
116
+ }
117
+ }
118
+
119
+ @define-mixin make-utility--n $name, $n {
120
+ &$(name)$(n) {
121
+ @mixin --u-$(name) $(n);
122
+ }
123
+ }
124
+
125
+ @define-mixin make-utility--n-of-n $name, $a, $b {
126
+ &$(name)$(a)of$(b) {
127
+ @mixin --u-$(name) $(a), $(b);
128
+ }
129
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Base Metrics
3
+ */
4
+ :root {
5
+ --Grid-gutter-size: 1.6rem;
6
+
7
+ --padding-edge: 3.2rem;
8
+
9
+ --padding-base-vertical: 1.2rem;
10
+ --padding-base-horizontal: 2rem;
11
+
12
+ --padding-large-vertical: 1.4rem;
13
+ --padding-large-horizontal: 1.6rem;
14
+
15
+ --padding-small-vertical: 0.5rem;
16
+ --padding-small-horizontal: 1rem;
17
+
18
+ --border-radius-base: 8px;
19
+ --border-radius-small: 6px;
20
+
21
+ --border-width-base: 2px;
22
+ --border-width-thick: 3px;
23
+ --border-width-thin: 1px;
24
+
25
+ --caret-width-base: 4px;
26
+ --caret-width-large: 5px;
27
+
28
+ /* Directions */
29
+ --default-float: left;
30
+
31
+ --list-nested-margin: 20px;
32
+ }
@@ -0,0 +1,3 @@
1
+ @define-mixin --gradient-blue-to-teal {
2
+ background: var(--gradient-blue-to-teal);
3
+ }
@@ -0,0 +1,55 @@
1
+ @import "https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,600,700";
2
+
3
+ /**
4
+ * Typography
5
+ */
6
+ :root {
7
+ /* Font weights */
8
+ --font-weight-300: 300;
9
+ --font-weight-400: 400;
10
+ --font-weight-600: 600;
11
+ --font-weight-700: 700;
12
+
13
+ /* Base Font */
14
+ --font-family-sans-serif: "Source Sans Pro", sans-serif;
15
+
16
+ --font-size-percentage: 62.5%;
17
+ --font-size-base: 1.6rem;
18
+ --font-size-md-base: 1.8rem;
19
+
20
+ --line-height-base: 2.4rem;
21
+ --line-height-md-base: 2.8rem;
22
+
23
+ --text-direction: ltr;
24
+
25
+ --font-style: normal;
26
+
27
+ /* Headings */
28
+ --h1-font-size: 3.2rem;
29
+ --h2-font-size: 2.4rem;
30
+ --h3-font-size: 2rem;
31
+ --h4-font-size: 1.6rem;
32
+ --h5-font-size: 1.4rem;
33
+ --h6-font-size: 1.4rem;
34
+
35
+ --h1-line-height: 4rem;
36
+ --h2-line-height: 3.2rem;
37
+ --h3-line-height: 2.8rem;
38
+ --h4-line-height: 2rem;
39
+ --h5-line-height: 2rem;
40
+ --h6-line-height: 2rem;
41
+
42
+ --h1-md-font-size: 4rem;
43
+ --h2-md-font-size: 3.2rem;
44
+ --h3-md-font-size: 2.4rem;
45
+ --h4-md-font-size: 2rem;
46
+ --h5-md-font-size: 1.6rem;
47
+ --h6-md-font-size: 1.4rem;
48
+
49
+ --h1-md-line-height: 4.8rem;
50
+ --h2-md-line-height: 4rem;
51
+ --h3-md-line-height: 3.2rem;
52
+ --h4-md-line-height: 2.4rem;
53
+ --h5-md-line-height: 2.4rem;
54
+ --h6-md-line-height: 2rem;
55
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * z-index depths
3
+ */
4
+ :root {
5
+ --z-index-below: -10;
6
+ --z-index-zero: 0;
7
+ --z-index-baseline: 1;
8
+ --z-index-footer: 2;
9
+ --z-index-menus: 3;
10
+ --z-index-open-menus: 4;
11
+ --z-index-tool-tips: var(--z-index-open-menus);
12
+ --z-index-overlays-and-headers: 5;
13
+ --z-index-goku: 9001;
14
+ }