@sybilion/uilib 1.0.21 → 1.0.23

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 CHANGED
@@ -6,7 +6,7 @@ React UI components (Stylus modules, Radix primitives, Recharts).
6
6
 
7
7
  ## Install from npm (recommended)
8
8
 
9
- Published as **`@sybilion/uilib`** on the public registry. No scope-specific `.npmrc` required.
9
+ Published as `**@sybilion/uilib`\*\* on the public registry. No scope-specific `.npmrc` required.
10
10
 
11
11
  ```bash
12
12
  yarn add @sybilion/uilib
@@ -22,27 +22,9 @@ Equivalent in `package.json`:
22
22
  }
23
23
  ```
24
24
 
25
- ## Install from GitHub (optional)
26
-
27
- Point your package manager at the repository (branch or tag as needed). **Prebuilt ESM** under `dist/esm` is committed to the repo, so consumers **do not** need to run `yarn build` inside `uilib` for this path.
28
-
29
- ```bash
30
- yarn add uilib@github:Mir-Insight/uilib#main
31
- ```
32
-
33
- Equivalent in `package.json`:
34
-
35
- ```json
36
- {
37
- "dependencies": {
38
- "uilib": "github:Mir-Insight/uilib#main"
39
- }
40
- }
41
- ```
42
-
43
25
  ### Bare `uilib` imports + scoped install
44
26
 
45
- When the package is installed as **`@sybilion/uilib`** but you keep imports as `from 'uilib'`, add a bundler alias and matching TypeScript paths:
27
+ When the package is installed as `**@sybilion/uilib**` but you keep imports as `from 'uilib'`, add a bundler alias and matching TypeScript paths:
46
28
 
47
29
  ```json
48
30
  {
@@ -65,21 +47,9 @@ resolve: {
65
47
  }
66
48
  ```
67
49
 
68
- ### Legacy: GitHub Packages (`@Mir-Insight/uilib`)
69
-
70
- Older installs used GitHub Packages. CI needed:
71
-
72
- ```text
73
- @Mir-Insight:registry=https://npm.pkg.github.com/
74
- //npm.pkg.github.com/:_authToken=<token with read:packages>
75
- always-auth=true
76
- ```
77
-
78
- Prefer **`@sybilion/uilib`** from **npmjs** for new work.
79
-
80
50
  ### Default: prebuilt (`dist/esm`)
81
51
 
82
- The package [`exports`](./package.json) entry `.` resolves to Rollup output and generated declarations:
52
+ The package `[exports](./package.json)` entry `.` resolves to Rollup output and generated declarations:
83
53
 
84
54
  ```ts
85
55
  import { Button } from '@sybilion/uilib';
@@ -97,21 +67,24 @@ To compile from **TypeScript + Stylus** in your app, use the `./src` export:
97
67
  import { Button } from '@sybilion/uilib/src';
98
68
  ```
99
69
 
100
- Deep imports use `@sybilion/uilib/src/...` (maps to files under [`src/`](./src)). Internal `#uilib/...` imports resolve through this package’s [`imports`](./package.json) field when bundling source.
70
+ Deep imports use `@sybilion/uilib/src/...` (maps to files under `[src/](./src)`). Internal `#uilib/...` imports resolve through this package’s `[imports](./package.json)` field when bundling source.
71
+
72
+ ### Workspace mini-apps (Sybilion iframe)
73
+
74
+ See `[docs/workspace-mini-apps.md](./docs/workspace-mini-apps.md)`.
101
75
 
102
76
  ## Bundling from source (`uilib/src`)
103
77
 
104
- If you use **`uilib/src`** (or deep imports under `uilib/src/`), the host app must **compile** those files like application code:
78
+ If you use `**uilib/src**` (or deep imports under `uilib/src/`), the host app must **compile** those files like application code:
105
79
 
106
80
  1. **Include the library in the TypeScript/JSX pipeline** — e.g. extend `babel-loader` / `ts-loader` `include` so it matches the installed package (and not only your app `src`):
107
81
 
108
- ```js
109
- include: [paths.src, /node_modules\/@sybilion\/uilib/],
110
- ```
82
+ ```js
83
+ include: [paths.src, /node_modules\/@sybilion\/uilib/],
84
+ ```
111
85
 
112
86
  2. **Apply the same Stylus/CSS-module rules** to `.styl` under `node_modules/@sybilion/uilib` as you use for your own imports.
113
-
114
- 3. **Do not remap `#uilib`** — internal imports use `#uilib/...`, resolved via this package’s `package.json` [`imports`](./package.json). Keep your app’s own alias (for example `@` → app `src`) as usual; it does not conflict with `#uilib`.
87
+ 3. **Do not remap `#uilib`** — internal imports use `#uilib/...`, resolved via this package’s `package.json` `[imports](./package.json)`. Keep your app’s own alias (for example `@` → app `src`) as usual; it does not conflict with `#uilib`.
115
88
 
116
89
  If you only use the **default** entry (`import from '@sybilion/uilib'` or aliased `uilib`), you typically **do not** need Stylus/TS compilation for the library in the consumer Webpack config.
117
90
 
@@ -132,10 +105,10 @@ Runtime dependencies of this package (Recharts, Radix, `motion`, `vaul`, `@vimeo
132
105
  **npm:** log in (`npm login`), then from repo root:
133
106
 
134
107
  ```bash
135
- yarn publish:npm # @sybilion/uilib
108
+ yarn publish:npm # @sybilion/uilib
136
109
  ```
137
110
 
138
- `publish:npm` runs `yarn build` before `npm publish`.
111
+ runs `yarn build` before `npm publish`.
139
112
 
140
113
  **GitHub `github:` consumers:** after changing library **source**, regenerate and commit the prebuilt output:
141
114
 
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><style>.st0{opacity:.3;fill:none;stroke:#fff;stroke-width:3;stroke-miterlimit:10;enable-background:new}.st1{fill:#1d7196}.st2,.st3{opacity:.3;stroke:#fff;stroke-width:3;stroke-miterlimit:10;enable-background:new}.st2{stroke-linejoin:round;fill:none}.st3{fill:#1d7196}</style><path class="st0" d="M20.5 20.7c.2-.2-.1-1.3-.2-1.6 0-.2 0-.3-.1-.4s-.6-.1-.7-.1c-1.9-.5-3.6-1.4-4.8-3.1-.9-1.3-1.3-2.8-1.3-4.3 0-.7.2-1.5.5-2.1.4-.9 1.2-1.5 2.1-2 1.1-.6 2.4-.9 3.7-.9.7 0 1.4 0 2.1.2 1 .3 1.8 1.1 2.3 2 .7 1.4 1.1 2.7 1.3 4.2.1.9.2 2-.1 2.8-.2.5-.5.9-.8 1.3-.3.3-.8.7-.8 1.1 0 .6.1 1.2.2 1.7 0 .3.1.6.1.8 0 .2 0 .2.2.2 1 .1 2.1 0 3.2 0 1.7-.1 3.5-.3 5.2-.3.2 0 .8-.1 1 0s.3.6.4.8c.1.2.2.5.3.7s0 .3-.1.5c-.2.3-.4.5-.6.8-.1.2-.2.4-.4.6s-.4.1-.6.2c-2.1.3-4.3.3-6.4.4h-1.8c.2 1.5.3 3 .4 4.6 0 .4 0 .8.1 1.2 0 .2 0 .4.1.6.1.4.9.5 1.3.5 1.2.1 2.4-.1 3.6.2 1 .2 2.3.1 3.1.7.5.4.8 1.1.6 1.7-.2.7-.7 1.2-1.4 1.3-.5.1-1 0-1.5 0-.7-.1-1.4-.2-2.1-.2-2.7-.2-5.4 0-8.2.1-1.4 0-2.7.2-4 .4-.7.1-1.3.2-2 .2-.5 0-1.2.1-1.7 0-.9-.2-1.9.1-2.4-.9-.3-.7-.2-1.8.6-2.2s1.8-.3 2.7-.4l3-.3c.9-.1 1.9-.2 2.8-.3.5-.1.9-.1 1.4-.2.2 0 .5 0 .6-.1s.1 0 .1-.2c0-.9-.1-1.8-.1-2.7 0-.7-.1-1.4-.1-2.2 0-.3-.1-.6-.1-.9 0-.2 0-.5-.1-.7-.1-.1-.4 0-.5 0h-6.5c-.7 0-1.4 0-2.1-.1-.7 0-1.5 0-2-.5-1.1-1-.3-2.9 1.1-3l9.4-.1zm-.3-11.1c-.5-.2-1.1 0-1.6.1s-.9.3-1.3.5c-.5.3-.6.8-.6 1.4 0 1.3 1 2.7 2.2 3 .6.2 1.2.2 1.8.3.2 0 .2.1.3 0 .3-.2.5-.5.7-.8.1-.1.3-.2.3-.4 0-.1-.1-.4-.1-.5-.1-.4-.1-.8-.2-1.2-.1-.5-.5-1.3-.8-1.8 0 0-.5-.5-.7-.6z"/><path class="st1" d="M20.5 20.7c.2-.2-.1-1.3-.2-1.6 0-.2 0-.3-.1-.4s-.6-.1-.7-.1c-1.9-.5-3.6-1.4-4.8-3.1-.9-1.3-1.3-2.8-1.3-4.3 0-.7.2-1.5.5-2.1.4-.9 1.2-1.5 2.1-2 1.1-.6 2.4-.9 3.7-.9.7 0 1.4 0 2.1.2 1 .3 1.8 1.1 2.3 2 .7 1.4 1.1 2.7 1.3 4.2.1.9.2 2-.1 2.8-.2.5-.5.9-.8 1.3-.3.3-.8.7-.8 1.1 0 .6.1 1.2.2 1.7 0 .3.1.6.1.8 0 .2 0 .2.2.2 1 .1 2.1 0 3.2 0 1.7-.1 3.5-.3 5.2-.3.2 0 .8-.1 1 0s.3.6.4.8c.1.2.2.5.3.7s0 .3-.1.5c-.2.3-.4.5-.6.8-.1.2-.2.4-.4.6s-.4.1-.6.2c-2.1.3-4.3.3-6.4.4h-1.8c.2 1.5.3 3 .4 4.6 0 .4 0 .8.1 1.2 0 .2 0 .4.1.6.1.4.9.5 1.3.5 1.2.1 2.4-.1 3.6.2 1 .2 2.3.1 3.1.7.5.4.8 1.1.6 1.7-.2.7-.7 1.2-1.4 1.3-.5.1-1 0-1.5 0-.7-.1-1.4-.2-2.1-.2-2.7-.2-5.4 0-8.2.1-1.4 0-2.7.2-4 .4-.7.1-1.3.2-2 .2-.5 0-1.2.1-1.7 0-.9-.2-1.9.1-2.4-.9-.3-.7-.2-1.8.6-2.2s1.8-.3 2.7-.4l3-.3c.9-.1 1.9-.2 2.8-.3.5-.1.9-.1 1.4-.2.2 0 .5 0 .6-.1s.1 0 .1-.2c0-.9-.1-1.8-.1-2.7 0-.7-.1-1.4-.1-2.2 0-.3-.1-.6-.1-.9 0-.2 0-.5-.1-.7-.1-.1-.4 0-.5 0h-6.5c-.7 0-1.4 0-2.1-.1-.7 0-1.5 0-2-.5-1.1-1-.3-2.9 1.1-3l9.4-.1zm-.3-11.1c-.5-.2-1.1 0-1.6.1s-.9.3-1.3.5c-.5.3-.6.8-.6 1.4 0 1.3 1 2.7 2.2 3 .6.2 1.2.2 1.8.3.2 0 .2.1.3 0 .3-.2.5-.5.7-.8.1-.1.3-.2.3-.4 0-.1-.1-.4-.1-.5-.1-.4-.1-.8-.2-1.2-.1-.5-.5-1.3-.8-1.8 0 0-.5-.5-.7-.6z"/><path class="st0" d="M6.3 30.1c-.6-.1-.9-.3-1.3-.8s-.4-.9-.2-1.4c.4-.9 1.5-1.2 2.4-1.5 1.9-.6 4-.6 6-.5 1 .1 2 .1 3 .1s1.9.8 1.7 2c-.1.3-.2.5-.4.7-.2.2-.3.3-.6.4-.3.1-.6.2-1 .2-.9.1-1.8.1-2.8.1-1.3 0-2.6 0-3.9.1-.5.1-1.1.2-1.6.4-.3.1-.9.3-1.3.2z"/><path class="st1" d="M6.3 30.1c-.6-.1-.9-.3-1.3-.8s-.4-.9-.2-1.4c.4-.9 1.5-1.2 2.4-1.5 1.9-.6 4-.6 6-.5 1 .1 2 .1 3 .1s1.9.8 1.7 2c-.1.3-.2.5-.4.7-.2.2-.3.3-.6.4-.3.1-.6.2-1 .2-.9.1-1.8.1-2.8.1-1.3 0-2.6 0-3.9.1-.5.1-1.1.2-1.6.4-.3.1-.9.3-1.3.2z"/><path class="st0" d="M26.2 27.3c-.1-.2.6-.8.7-.9.2-.2.4-.4.6-.4.2-.1.5-.1.8-.1.5 0 1.1 0 1.6-.1 1.7-.1 3.5-.4 5.1.2.3.1.5.2.7.3.1.1.3.1.3.3 0 .1-.1.4-.1.6-.2.7-.3 1.4-1 1.8-.3.2-.7.2-1.1.2-.8.1-1.7.1-2.5.1-.9 0-1.7 0-2.6-.1h-1.2c-.1 0-.4.1-.5 0l-.8-1.9z"/><path class="st1" d="M26.2 27.3c-.1-.2.6-.8.7-.9.2-.2.4-.4.6-.4.2-.1.5-.1.8-.1.5 0 1.1 0 1.6-.1 1.7-.1 3.5-.4 5.1.2.3.1.5.2.7.3.1.1.3.1.3.3 0 .1-.1.4-.1.6-.2.7-.3 1.4-1 1.8-.3.2-.7.2-1.1.2-.8.1-1.7.1-2.5.1-.9 0-1.7 0-2.6-.1h-1.2c-.1 0-.4.1-.5 0l-.8-1.9z"/><path class="st2" d="M10.8 15.7c.3.3 1.9 1.9 1.9 2 0 .2-.2.3-.2.4-.2.3-.4.5-.6.8-.2.2-.6.9-1 .7-1.8-.7-3-2.4-4.4-3.8-.7-.7-1.4-1.4-2.2-2-.4-.3-.7-.7-1.1-1-.2-.2-.5-.5-.6-.8-.3-1.1.5-2.3 1.6-2.2.7.1 1.4.7 1.9 1.2 1.7 1.4 3.2 3 4.7 4.7"/><path class="st1" d="M10.8 15.7c.3.3 1.9 1.9 1.9 2 0 .2-.2.3-.2.4-.2.3-.4.5-.6.8-.2.2-.6.9-1 .7-1.8-.7-3-2.4-4.4-3.8-.7-.7-1.4-1.4-2.2-2-.4-.3-.7-.7-1.1-1-.2-.2-.5-.5-.6-.8-.3-1.1.5-2.3 1.6-2.2.7.1 1.4.7 1.9 1.2 1.7 1.4 3.2 3 4.7 4.7"/><g id="XMLID_1_"><path class="st3" d="M28.2 17.2c-.3-.3-.3-.7-.3-1.2.1-.7.4-1.3.8-1.8 1.1-1.6 2.3-3.2 3.5-4.7.2-.3.6-.9 1-1.1.5-.2 1.1-.1 1.5.3.2.2.4.4.5.6.1.2.3.4.4.6.1.3-.4.9-.5 1.1-.5.8-1.1 1.6-1.7 2.4-.7 1-1.4 1.9-2.1 2.9-.3.4-.6.9-1 1.2-.1.1-.9.1-1.7 0l-.4-.3z"/><path class="st1" d="M28.2 17.2c-.3-.3-.3-.7-.3-1.2.1-.7.4-1.3.8-1.8 1.1-1.6 2.3-3.2 3.5-4.7.2-.3.6-.9 1-1.1.5-.2 1.1-.1 1.5.3.2.2.4.4.5.6.1.2.3.4.4.6.1.3-.4.9-.5 1.1-.5.8-1.1 1.6-1.7 2.4-.7 1-1.4 1.9-2.1 2.9-.3.4-.6.9-1 1.2-.1.1-.9.1-1.7 0l-.4-.3z"/></g></svg>
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,63 @@
1
+ @font-face {
2
+ font-family: 'Manrope';
3
+ src: url('../fonts/Manrope-Regular.woff2') format('woff2');
4
+ font-weight: 400;
5
+ font-style: normal;
6
+ font-display: swap;
7
+ }
8
+
9
+ @font-face {
10
+ font-family: 'Manrope';
11
+ src: url('../fonts/Manrope-Medium.woff2') format('woff2');
12
+ font-weight: 500;
13
+ font-style: normal;
14
+ font-display: swap;
15
+ }
16
+
17
+ @font-face {
18
+ font-family: 'Manrope';
19
+ src: url('../fonts/Manrope-Bold.woff2') format('woff2');
20
+ font-weight: 700;
21
+ font-style: normal;
22
+ font-display: swap;
23
+ }
24
+
25
+ @font-face {
26
+ font-family: 'KMR Apparat';
27
+ src: url('../fonts/Apparat-Regular.woff2') format('woff2');
28
+ font-weight: 400;
29
+ font-style: normal;
30
+ font-display: block;
31
+ }
32
+
33
+ @font-face {
34
+ font-family: 'KMR Apparat';
35
+ src: url('../fonts/Apparat-Heavy.woff2') format('woff2');
36
+ font-weight: 700;
37
+ font-style: normal;
38
+ font-display: block;
39
+ }
40
+
41
+ @font-face {
42
+ font-family: 'KMR Apparat';
43
+ src: url('../fonts/Apparat-Medium.woff2') format('woff2');
44
+ font-weight: 500;
45
+ font-style: normal;
46
+ font-display: block;
47
+ }
48
+
49
+ @font-face {
50
+ font-family: 'KMR Apparat';
51
+ src: url('../fonts/Apparat-Light.woff2') format('woff2');
52
+ font-weight: 300;
53
+ font-style: normal;
54
+ font-display: block;
55
+ }
56
+
57
+ @font-face {
58
+ font-family: 'KMR Apparat';
59
+ src: url('../fonts/Apparat-Black.woff2') format('woff2');
60
+ font-weight: 100;
61
+ font-style: normal;
62
+ font-display: block;
63
+ }
@@ -0,0 +1,456 @@
1
+ @import './fonts/fonts.css';
2
+
3
+ * {
4
+ margin: 0;
5
+ padding: 0;
6
+ border: 0;
7
+ font-family: 'Manrope', sans-serif;
8
+ outline: none;
9
+ -webkit-tap-highlight-color: transparent;
10
+ box-sizing: border-box;
11
+ border-collapse: collapse;
12
+ border-spacing: 0;
13
+ }
14
+
15
+ @theme inline {
16
+ --color-background: var(--background);
17
+ --color-foreground: var(--foreground);
18
+ --font-sans: var(--font-manrope);
19
+ --font-mono: 'KMR Apparat', monospace;
20
+ --tracking-tight-custom: -0.01em;
21
+ --color-sidebar-ring: var(--sidebar-ring);
22
+ --color-sidebar-border: var(--sidebar-border);
23
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
24
+ --color-sidebar-accent: var(--sidebar-accent);
25
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
26
+ --color-sidebar-primary: var(--sidebar-primary);
27
+ --color-sidebar-foreground: var(--sidebar-foreground);
28
+ --color-sidebar: var(--sidebar);
29
+ --color-ring: var(--ring);
30
+ --color-input: var(--input);
31
+ --color-border: var(--border);
32
+ --color-destructive: var(--destructive);
33
+ --color-accent-foreground: var(--accent-foreground);
34
+ --color-accent: var(--accent);
35
+ --color-muted-foreground: var(--muted-foreground);
36
+ --color-muted: var(--muted);
37
+ --color-secondary-foreground: var(--secondary-foreground);
38
+ --color-secondary: var(--secondary);
39
+ --color-primary-foreground: var(--primary-foreground);
40
+ --color-primary: var(--primary);
41
+ --color-brand: var(--brand-color);
42
+ --color-popover-foreground: var(--popover-foreground);
43
+ --color-popover: var(--popover);
44
+ --color-card-foreground: var(--card-foreground);
45
+ --color-card: var(--card);
46
+ --color-sb-cyan-50: var(--sb-cyan-50);
47
+ --color-sb-cyan-100: var(--sb-cyan-100);
48
+ --color-sb-cyan-200: var(--sb-cyan-200);
49
+ --color-sb-cyan-300: var(--sb-cyan-300);
50
+ --color-sb-cyan-400: var(--sb-cyan-400);
51
+ --color-sb-cyan-500: var(--sb-cyan-500);
52
+ --color-sb-cyan-600: var(--sb-cyan-600);
53
+ --color-sb-cyan-700: var(--sb-cyan-700);
54
+ --color-sb-cyan-800: var(--sb-cyan-800);
55
+ --color-sb-cyan-900: var(--sb-cyan-900);
56
+ --color-sb-purple-50: var(--sb-purple-50);
57
+ --color-sb-purple-100: var(--sb-purple-100);
58
+ --color-sb-purple-200: var(--sb-purple-200);
59
+ --color-sb-purple-300: var(--sb-purple-300);
60
+ --color-sb-purple-400: var(--sb-purple-400);
61
+ --color-sb-purple-500: var(--sb-purple-500);
62
+ --color-sb-purple-600: var(--sb-purple-600);
63
+ --color-sb-purple-700: var(--sb-purple-700);
64
+ --color-sb-purple-800: var(--sb-purple-800);
65
+ --color-sb-purple-900: var(--sb-purple-900);
66
+ --color-sb-red-50: var(--sb-red-50);
67
+ --color-sb-red-100: var(--sb-red-100);
68
+ --color-sb-red-200: var(--sb-red-200);
69
+ --color-sb-red-300: var(--sb-red-300);
70
+ --color-sb-red-400: var(--sb-red-400);
71
+ --color-sb-red-500: var(--sb-red-500);
72
+ --color-sb-red-600: var(--sb-red-600);
73
+ --color-sb-red-700: var(--sb-red-700);
74
+ --color-sb-red-800: var(--sb-red-800);
75
+ --color-sb-red-900: var(--sb-red-900);
76
+ --color-sb-green-50: var(--sb-green-50);
77
+ --color-sb-green-100: var(--sb-green-100);
78
+ --color-sb-green-200: var(--sb-green-200);
79
+ --color-sb-green-300: var(--sb-green-300);
80
+ --color-sb-green-400: var(--sb-green-400);
81
+ --color-sb-green-500: var(--sb-green-500);
82
+ --color-sb-green-600: var(--sb-green-600);
83
+ --color-sb-green-700: var(--sb-green-700);
84
+ --color-sb-green-800: var(--sb-green-800);
85
+ --color-sb-green-900: var(--sb-green-900);
86
+ --color-sb-yellow-50: var(--sb-yellow-50);
87
+ --color-sb-yellow-100: var(--sb-yellow-100);
88
+ --color-sb-yellow-200: var(--sb-yellow-200);
89
+ --color-sb-yellow-300: var(--sb-yellow-300);
90
+ --color-sb-yellow-400: var(--sb-yellow-400);
91
+ --color-sb-yellow-500: var(--sb-yellow-500);
92
+ --color-sb-yellow-600: var(--sb-yellow-600);
93
+ --color-sb-yellow-700: var(--sb-yellow-700);
94
+ --color-sb-yellow-800: var(--sb-yellow-800);
95
+ --color-sb-yellow-900: var(--sb-yellow-900);
96
+ --stroke-linecap: square;
97
+ --stroke-linejoin: miter;
98
+ --stroke-absolute: true;
99
+ --header-height: 3.5rem;
100
+ }
101
+
102
+ :root {
103
+ --sb-cyan-50: oklch(0.964 0.006 204);
104
+ --sb-cyan-100: oklch(0.933 0.011 204);
105
+ --sb-cyan-200: oklch(0.76 0.089 204);
106
+ --sb-cyan-300: oklch(0.7 0.098 204);
107
+ --sb-cyan-400: oklch(0.625 0.234 204);
108
+ --sb-cyan-500: oklch(0.518 0.258 204);
109
+ --sb-cyan-600: oklch(0.421 0.231 204);
110
+ --sb-cyan-700: oklch(0.388 0.042 204);
111
+ --sb-cyan-800: oklch(0.338 0.026 204);
112
+ --sb-cyan-900: oklch(0.23 0.017 204);
113
+ --sb-purple-50: oklch(0.964 0.021 304);
114
+ --sb-purple-100: oklch(0.933 0.039 303.4);
115
+ --sb-purple-200: oklch(0.76 0.148 301.5);
116
+ --sb-purple-300: oklch(0.719 0.174 300.6);
117
+ --sb-purple-400: oklch(0.625 0.234 297.8);
118
+ --sb-purple-500: oklch(0.518 0.258 292.6);
119
+ --sb-purple-600: oklch(0.421 0.231 289);
120
+ --sb-purple-700: oklch(0.33 0.179 289.7);
121
+ --sb-purple-800: oklch(0.238 0.123 292.3);
122
+ --sb-purple-900: oklch(0.23 0.049 301.1);
123
+ --sb-red-50: oklch(0.969 0.015 22.4);
124
+ --sb-red-100: oklch(0.942 0.029 23);
125
+ --sb-red-200: oklch(0.8 0.114 24.5);
126
+ --sb-red-300: oklch(0.769 0.137 25);
127
+ --sb-red-400: oklch(0.7 0.191 27.2);
128
+ --sb-red-500: oklch(0.606 0.194 28.6);
129
+ --sb-red-600: oklch(0.539 0.183 28.8);
130
+ --sb-red-700: oklch(0.427 0.155 29.5);
131
+ --sb-red-800: oklch(0.311 0.107 29.3);
132
+ --sb-red-900: oklch(0.232 0.019 24.1);
133
+ --sb-green-50: oklch(0.981 0.028 158.7);
134
+ --sb-green-100: oklch(0.949 0.08 157.2);
135
+ --sb-green-200: oklch(0.909 0.154 154.2);
136
+ --sb-green-300: oklch(0.859 0.196 151.7);
137
+ --sb-green-400: oklch(0.823 0.216 149.8);
138
+ --sb-green-500: oklch(0.748 0.208 148.6);
139
+ --sb-green-600: oklch(0.641 0.155 151.1);
140
+ --sb-green-700: oklch(0.482 0.107 152.1);
141
+ --sb-green-800: oklch(0.365 0.079 152.3);
142
+ --sb-green-900: oklch(0.254 0.023 157.2);
143
+ --sb-yellow-50: oklch(0.984 0.014 78.3);
144
+ --sb-yellow-100: oklch(0.956 0.025 78.9);
145
+ --sb-yellow-200: oklch(0.927 0.041 76.7);
146
+ --sb-yellow-300: oklch(0.844 0.1 75.5);
147
+ --sb-yellow-400: oklch(0.771 0.128 73.6);
148
+ --sb-yellow-500: oklch(0.691 0.128 71.8);
149
+ --sb-yellow-600: oklch(0.624 0.109 73.2);
150
+ --sb-yellow-700: oklch(0.481 0.083 73.3);
151
+ --sb-yellow-800: oklch(0.356 0.058 73.8);
152
+ --sb-yellow-900: oklch(0.251 0.016 79.5);
153
+ --sb-gray-50: oklch(0.98 0 0);
154
+ --sb-gray-100: oklch(0.949 0 0);
155
+ --sb-gray-200: oklch(0.909 0 0);
156
+ --sb-gray-300: oklch(0.859 0 0);
157
+ --sb-gray-400: oklch(0.823 0 0);
158
+ --sb-gray-500: oklch(0.748 0 0);
159
+ --sb-gray-600: oklch(0.641 0 0);
160
+ --sb-gray-700: oklch(0.482 0 0);
161
+ --sb-gray-800: oklch(0.365 0 0);
162
+ --sb-gray-900: oklch(0.254 0 0);
163
+ --sb-slate-50: oklch(0.9843 0.0011 197.14);
164
+ --sb-slate-100: oklch(0.9622 0.0035 219.53);
165
+ --sb-slate-200: oklch(0.8882 0.0101 212.52);
166
+ --sb-slate-300: oklch(0.8119 0.0139 214.37);
167
+ --sb-slate-400: oklch(0.7315 0.0168 216.72);
168
+ --sb-slate-500: oklch(0.6489 0.0179 211.06);
169
+ --sb-slate-600: oklch(0.5648 0.0184 211.07);
170
+ --sb-slate-700: oklch(0.4723 0.0152 208.74);
171
+ --sb-slate-800: oklch(0.3759 0.0107 205.8);
172
+ --sb-slate-900: oklch(0.2732 0.0061 214.4);
173
+ --sb-slate-950: oklch(0.1579 0.0017 196.99);
174
+ --bp-mobile: 384px;
175
+ --bp-tablet: 768px;
176
+ --bp-desktop: 1024px;
177
+ --p-24: 96px;
178
+ --p-23: 92px;
179
+ --p-20: 80px;
180
+ --p-19: 76px;
181
+ --p-18: 72px;
182
+ --p-17: 68px;
183
+ --p-16: 64px;
184
+ --p-12: 48px;
185
+ --p-11: 44px;
186
+ --p-10: 40px;
187
+ --p-9: 36px;
188
+ --p-8: 32px;
189
+ --p-7: 28px;
190
+ --p-6: 24px;
191
+ --p-5: 20px;
192
+ --p-4: 16px;
193
+ --p-3: 12px;
194
+ --p-2: 8px;
195
+ --p-1: 4px;
196
+ --text-xs: 12px;
197
+ --text-sm: 14px;
198
+ --text-base: 16px;
199
+ --text-lg: 18px;
200
+ --text-xl: 20px;
201
+ --text-2xl: 24px;
202
+ --text-3xl: 30px;
203
+ --text-4xl: 36px;
204
+ --text-5xl: 48px;
205
+
206
+ --spacing-3xs: 2px;
207
+ --spacing-2xs: 4px;
208
+ --spacing-xs: 6px;
209
+ --spacing-sm: 8px;
210
+ --spacing-md: 12px;
211
+ --spacing-lg: 16px;
212
+ --spacing-xl: 20px;
213
+ --spacing-2xl: 24px;
214
+ --spacing-3xl: 32px;
215
+
216
+ --font-family-heading: 'KMR Apparat', sans-serif;
217
+ --font-family-body: 'Manrope', sans-serif;
218
+
219
+ /* app variables */
220
+ --brand-color: var(--sb-purple-400);
221
+ --brand-color-50: var(--sb-purple-50);
222
+ --brand-color-100: var(--sb-purple-100);
223
+ --brand-color-200: var(--sb-purple-200);
224
+ --brand-color-300: var(--sb-purple-300);
225
+ --brand-color-400: var(--sb-purple-400);
226
+ --brand-color-500: var(--sb-purple-500);
227
+ --brand-color-600: var(--sb-purple-600);
228
+ --brand-color-700: var(--sb-purple-700);
229
+ --brand-color-800: var(--sb-purple-800);
230
+ --brand-color-900: var(--sb-purple-900);
231
+ --header-height: 94px;
232
+ --page-x-padding: var(--p-16);
233
+ --page-y-padding: var(--p-12);
234
+ --page-color: var(--sb-slate-100);
235
+ --page-color-alpha-800: var(--sb-slate-100);
236
+ --background: oklch(1 0 0);
237
+ --background-alpha-800: oklch(0.99 0 0 / 0.8);
238
+ --background-alpha-700: oklch(0.99 0 0 / 0.7);
239
+ --background-alpha-500: oklch(0.99 0 0 / 0.5);
240
+ --foreground: oklch(0.15 0 0);
241
+ --card: oklch(1 0 0);
242
+ --card-foreground: oklch(0.15 0 0);
243
+ --popover: oklch(1 0 0);
244
+ --popover-foreground: oklch(0.15 0 0);
245
+ --primary: oklch(0.25 0 0);
246
+ --primary-foreground: oklch(0.99 0 0);
247
+ --secondary: oklch(0.96 0 0);
248
+ --secondary-800: oklch(0.96 0 0 / 0.8);
249
+ --secondary-foreground: oklch(0.25 0 0);
250
+ --muted: oklch(0.965 0 0);
251
+ --muted-50: oklch(0.98 0 0);
252
+ --muted-foreground: var(--sb-slate-600);
253
+ --muted-border: var(--sb-slate-400);
254
+ --accent: var(--sb-slate-100);
255
+ --accent-500: oklch(0.96 0 0 / 0.5);
256
+ --accent-foreground: oklch(0.25 0 0);
257
+ --destructive: oklch(0.577 0.245 27.325);
258
+ --destructive-100: oklch(0.577 0.245 27.325 / 0.1);
259
+ --destructive-200: oklch(0.577 0.245 27.325 / 0.2);
260
+ --destructive-400: oklch(0.577 0.245 27.325 / 0.4);
261
+ --destructive-600: oklch(0.577 0.245 27.325 / 0.6);
262
+ --destructive-900: oklch(0.577 0.245 27.325 / 0.9);
263
+ --border: oklch(0.9 0 0);
264
+ --input: oklch(0.94 0 0);
265
+ --input-30: oklch(0.94 0 0 / 0.3);
266
+ --ring: oklch(0.65 0 0);
267
+ --ring-50: oklch(0.65 0 0 / 0.5);
268
+ --sidebar: oklch(1 0 0);
269
+ --sidebar-foreground: oklch(0.2 0 0);
270
+ --sidebar-primary: oklch(0.25 0 0);
271
+ --sidebar-primary-foreground: oklch(0.99 0 0);
272
+ --sidebar-accent: var(--sb-slate-100);
273
+ --sidebar-accent-foreground: oklch(0.25 0 0);
274
+ --sidebar-border: oklch(0.9 0 0);
275
+ --sidebar-ring: oklch(0.65 0 0);
276
+
277
+ --sb-link-color: var(--brand-color-500);
278
+ --sb-link-visited-color: var(--brand-color-700);
279
+ --sb-link-color-hover: var(--brand-color-600);
280
+ }
281
+
282
+ @media (max-width: var(--bp-mobile)) {
283
+ :root {
284
+ --header-height: 84px;
285
+ --page-x-padding: var(--p-6);
286
+ --page-y-padding: var(--p-6);
287
+ }
288
+ }
289
+
290
+ .dark {
291
+ --page-color: oklch(0.22 0 0);
292
+ --page-color-alpha-800: oklch(0.2242 0 0 / 0.8);
293
+ --background: oklch(0.14 0 0);
294
+ --background-alpha-800: oklch(0.14 0 0 / 0.95);
295
+ --background-alpha-700: oklch(0.14 0 0 / 0.7);
296
+ --background-alpha-500: oklch(0.14 0 0 / 0.5);
297
+ --foreground: oklch(0.95 0 0);
298
+ --card: oklch(0.1 0 0);
299
+ --card-foreground: oklch(0.95 0 0);
300
+ --popover: oklch(0.16 0 0);
301
+ --popover-foreground: oklch(0.95 0 0);
302
+ --primary: oklch(0.9 0 0);
303
+ --primary-foreground: oklch(0.14 0 0);
304
+ --secondary: oklch(0.22 0 0);
305
+ --secondary-800: oklch(0.22 0 0 / 0.8);
306
+ --secondary-foreground: oklch(0.95 0 0);
307
+ --muted: oklch(0.2 0 0);
308
+ --muted-50: oklch(0.2 0 0);
309
+ --muted-foreground: oklch(0.6 0 0);
310
+ --muted-border: var(--sb-slate-600);
311
+ --accent: oklch(0.27 0 0);
312
+ --accent-500: oklch(0.27 0 0 / 0.5);
313
+ --accent-foreground: oklch(0.95 0 0);
314
+ --destructive: oklch(0.704 0.191 22.216);
315
+ --destructive-200: oklch(0.704 0.191 22.216 / 0.2);
316
+ --destructive-400: oklch(0.704 0.191 22.216 / 0.4);
317
+ --destructive-600: oklch(0.704 0.191 22.216 / 0.6);
318
+ --destructive-900: oklch(0.704 0.191 22.216 / 0.9);
319
+ --border: oklch(0.3 0 0 / 0.8);
320
+ --input: oklch(1 0 0 / 16%);
321
+ --input-30: oklch(1 0 0 / 0.3);
322
+ --ring: oklch(0.5 0 0);
323
+ --ring-50: oklch(0.5 0 0 / 0.5);
324
+ --sidebar: oklch(0.16 0 0);
325
+ --sidebar-foreground: oklch(0.9 0 0);
326
+ --sidebar-primary: oklch(0.9 0 0);
327
+ --sidebar-primary-foreground: oklch(0.14 0 0);
328
+ --sidebar-accent: oklch(0.22 0 0);
329
+ --sidebar-accent-foreground: oklch(0.95 0 0);
330
+ --sidebar-border: oklch(0.3 0 0);
331
+ --sidebar-ring: oklch(0.5 0 0);
332
+ --sb-link-color: var(--brand-color-400);
333
+ --sb-link-visited-color: var(--brand-color-600);
334
+ }
335
+
336
+ @layer base {
337
+ * {
338
+ margin: 0;
339
+ padding: 0;
340
+ border: 0;
341
+ font-family: 'Manrope', sans-serif;
342
+ outline: none;
343
+ -webkit-tap-highlight-color: transparent;
344
+ box-sizing: border-box;
345
+ border-collapse: collapse;
346
+ border-spacing: 0;
347
+ }
348
+
349
+ html,
350
+ body {
351
+ overscroll-behavior-y: none;
352
+ }
353
+
354
+ html {
355
+ background-color: var(--background);
356
+ }
357
+
358
+ body {
359
+ min-height: 100vh;
360
+ background-color: var(--background);
361
+ color: var(--foreground);
362
+ font-family: var(--font-family-body);
363
+ font-weight: 400;
364
+ user-select: none;
365
+ font-size: var(--text-sm);
366
+ line-height: 1.6;
367
+ }
368
+
369
+ #app-root {
370
+ max-height: 100vh;
371
+ overflow: hidden;
372
+ min-height: 100vh;
373
+ background-color: var(--background);
374
+ color: var(--foreground);
375
+ }
376
+
377
+ h1,
378
+ h2,
379
+ h3 {
380
+ font-family: var(--font-family-heading);
381
+ }
382
+
383
+ h1 {
384
+ font-weight: 500;
385
+ font-size: var(--text-3xl);
386
+ line-height: 1.4;
387
+ user-select: text;
388
+ }
389
+
390
+ h2 {
391
+ font-weight: 300;
392
+ font-size: var(--text-2xl);
393
+ line-height: 1.4;
394
+ }
395
+
396
+ h3 {
397
+ font-weight: 500;
398
+ font-size: var(--text-xl);
399
+ line-height: 1.4;
400
+ }
401
+
402
+ label {
403
+ @apply cursor-pointer;
404
+ font-weight: 500;
405
+ }
406
+
407
+ .font-sans {
408
+ @apply tracking-tight-custom;
409
+ }
410
+
411
+ button,
412
+ input,
413
+ select,
414
+ optgroup,
415
+ textarea,
416
+ ::file-selector-button {
417
+ font: inherit; /* 1 */
418
+ font-feature-settings: inherit; /* 1 */
419
+ font-variation-settings: inherit; /* 1 */
420
+ letter-spacing: inherit; /* 1 */
421
+ color: inherit; /* 1 */
422
+ border-radius: 0; /* 2 */
423
+ background-color: transparent; /* 3 */
424
+ opacity: 1; /* 4 */
425
+ }
426
+
427
+ button {
428
+ font-weight: 500;
429
+ }
430
+
431
+ input:focus,
432
+ textarea:focus {
433
+ box-shadow: inset 0 0 0 2px var(--brand-color-400);
434
+ /* border: none !important; */
435
+ }
436
+
437
+ a {
438
+ color: var(--sb-link-color);
439
+ cursor: pointer;
440
+ }
441
+
442
+ a:visited {
443
+ color: var(--sb-link-visited-color);
444
+ }
445
+
446
+ a:hover {
447
+ text-decoration: underline;
448
+ }
449
+
450
+ ::selection {
451
+ background-color: var(--brand-color-200);
452
+ }
453
+ .dark ::selection {
454
+ background-color: var(--brand-color-800);
455
+ }
456
+ }
@@ -0,0 +1,18 @@
1
+ <!doctype html>
2
+ <html lang="<%= htmlWebpackPlugin.options.lang %>">
3
+ <head>
4
+ <base href="<%= htmlWebpackPlugin.options.baseUrl %>" />
5
+ <title>UILIB</title>
6
+ <meta charset="UTF-8" />
7
+ <meta
8
+ name="viewport"
9
+ content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"
10
+ />
11
+ <meta http-equiv="X-UA-Compatible" content="ie=edge" />
12
+ <link rel="stylesheet" href="assets/globals.css" />
13
+ </head>
14
+ <body>
15
+ <div id="app-root"></div>
16
+ <div id="app-modal"></div>
17
+ </body>
18
+ </html>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
2
+ <path fill="#C259FF" d="M13.43 24.023h-2.836v-2.836h2.836zm-2.835-2.844H5.63v-2.74h4.965Zm10.527-2.74h-2.726v2.74h-4.965v-2.74h4.952v-4.965h2.74zm-15.5 0h-2.74v-4.965h2.74ZM2.87 13.462H.034v-2.836H2.87Zm21.096 0H21.13v-2.836h2.836zM5.617 10.635h-2.74V5.669h2.74zm15.505 0h-2.74V5.669h2.74zM10.588 2.927v2.74H5.623v-2.74Zm2.842 0h4.96v2.74h-4.966v-2.74h-2.83V.09h2.836z" style="stroke-width:.13252" />
3
+ </svg>