@trebired/frontend 0.5.0 → 1.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 (189) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +56 -84
  3. package/dist/config/fonts.d.ts +5 -0
  4. package/dist/config/fonts.d.ts.map +1 -0
  5. package/dist/config/fonts.js +158 -0
  6. package/dist/config/fonts.js.map +1 -0
  7. package/dist/config/index.d.ts +1 -1
  8. package/dist/config/index.d.ts.map +1 -1
  9. package/dist/config/module.js +1 -1
  10. package/dist/config/module.js.map +1 -1
  11. package/dist/config/normalize.d.ts +1 -2
  12. package/dist/config/normalize.d.ts.map +1 -1
  13. package/dist/config/normalize.js +30 -13
  14. package/dist/config/normalize.js.map +1 -1
  15. package/dist/config/palette.d.ts +8 -0
  16. package/dist/config/palette.d.ts.map +1 -0
  17. package/dist/config/palette.js +104 -0
  18. package/dist/config/palette.js.map +1 -0
  19. package/dist/config/scales-css.d.ts +8 -0
  20. package/dist/config/scales-css.d.ts.map +1 -0
  21. package/dist/config/scales-css.js +103 -0
  22. package/dist/config/scales-css.js.map +1 -0
  23. package/dist/config/scales.d.ts +4 -0
  24. package/dist/config/scales.d.ts.map +1 -0
  25. package/dist/config/scales.js +55 -0
  26. package/dist/config/scales.js.map +1 -0
  27. package/dist/config/scss.d.ts.map +1 -1
  28. package/dist/config/scss.js +61 -7
  29. package/dist/config/scss.js.map +1 -1
  30. package/dist/config/types.d.ts +97 -2
  31. package/dist/config/types.d.ts.map +1 -1
  32. package/dist/flash/dialogs.d.ts +20 -2
  33. package/dist/flash/dialogs.d.ts.map +1 -1
  34. package/dist/flash/dialogs.js +185 -17
  35. package/dist/flash/dialogs.js.map +1 -1
  36. package/dist/flash/elements.d.ts +1 -1
  37. package/dist/flash/elements.d.ts.map +1 -1
  38. package/dist/flash/elements.js +17 -4
  39. package/dist/flash/elements.js.map +1 -1
  40. package/dist/flash/index.d.ts +5 -4
  41. package/dist/flash/index.d.ts.map +1 -1
  42. package/dist/flash/index.js +21 -3
  43. package/dist/flash/index.js.map +1 -1
  44. package/dist/flash/stack.d.ts.map +1 -1
  45. package/dist/flash/stack.js +26 -1
  46. package/dist/flash/stack.js.map +1 -1
  47. package/dist/flash/styles/index.scss +54 -2
  48. package/dist/flash/toast.d.ts +10 -1
  49. package/dist/flash/toast.d.ts.map +1 -1
  50. package/dist/flash/toast.js +23 -4
  51. package/dist/flash/toast.js.map +1 -1
  52. package/dist/flash/types.d.ts +38 -2
  53. package/dist/flash/types.d.ts.map +1 -1
  54. package/dist/fullscreen/components/index.d.ts +20 -0
  55. package/dist/fullscreen/components/index.d.ts.map +1 -0
  56. package/dist/fullscreen/components/index.js +19 -0
  57. package/dist/fullscreen/components/index.js.map +1 -0
  58. package/dist/fullscreen/index.d.ts +24 -3
  59. package/dist/fullscreen/index.d.ts.map +1 -1
  60. package/dist/fullscreen/index.js +268 -7
  61. package/dist/fullscreen/index.js.map +1 -1
  62. package/dist/fullscreen/styles/index.scss +71 -0
  63. package/dist/index.d.ts +7 -1
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +9 -1
  66. package/dist/index.js.map +1 -1
  67. package/dist/layout/components/index.d.ts +43 -0
  68. package/dist/layout/components/index.d.ts.map +1 -0
  69. package/dist/layout/components/index.js +53 -0
  70. package/dist/layout/components/index.js.map +1 -0
  71. package/dist/layout/index.d.ts +27 -0
  72. package/dist/layout/index.d.ts.map +1 -0
  73. package/dist/layout/index.js +80 -0
  74. package/dist/layout/index.js.map +1 -0
  75. package/dist/layout/styles/index.scss +137 -0
  76. package/dist/react/index.d.ts +14 -0
  77. package/dist/react/index.d.ts.map +1 -1
  78. package/dist/react/index.js +14 -0
  79. package/dist/react/index.js.map +1 -1
  80. package/dist/server/index.d.ts +5 -0
  81. package/dist/server/index.d.ts.map +1 -0
  82. package/dist/server/index.js +5 -0
  83. package/dist/server/index.js.map +1 -0
  84. package/dist/sidebar/components/index.d.ts +35 -0
  85. package/dist/sidebar/components/index.d.ts.map +1 -0
  86. package/dist/sidebar/components/index.js +49 -0
  87. package/dist/sidebar/components/index.js.map +1 -0
  88. package/dist/sidebar/index.d.ts +62 -0
  89. package/dist/sidebar/index.d.ts.map +1 -0
  90. package/dist/sidebar/index.js +247 -0
  91. package/dist/sidebar/index.js.map +1 -0
  92. package/dist/sidebar/styles/index.scss +205 -0
  93. package/dist/src/config/fonts.d.ts +5 -0
  94. package/dist/src/config/fonts.d.ts.map +1 -0
  95. package/dist/src/config/fonts.js +158 -0
  96. package/dist/src/config/fonts.js.map +1 -0
  97. package/dist/src/config/index.d.ts +1 -1
  98. package/dist/src/config/index.d.ts.map +1 -1
  99. package/dist/src/config/module.js +1 -1
  100. package/dist/src/config/module.js.map +1 -1
  101. package/dist/src/config/normalize.d.ts +1 -2
  102. package/dist/src/config/normalize.d.ts.map +1 -1
  103. package/dist/src/config/normalize.js +30 -13
  104. package/dist/src/config/normalize.js.map +1 -1
  105. package/dist/src/config/palette.d.ts +8 -0
  106. package/dist/src/config/palette.d.ts.map +1 -0
  107. package/dist/src/config/palette.js +104 -0
  108. package/dist/src/config/palette.js.map +1 -0
  109. package/dist/src/config/scales-css.d.ts +8 -0
  110. package/dist/src/config/scales-css.d.ts.map +1 -0
  111. package/dist/src/config/scales-css.js +103 -0
  112. package/dist/src/config/scales-css.js.map +1 -0
  113. package/dist/src/config/scales.d.ts +4 -0
  114. package/dist/src/config/scales.d.ts.map +1 -0
  115. package/dist/src/config/scales.js +55 -0
  116. package/dist/src/config/scales.js.map +1 -0
  117. package/dist/src/config/scss.d.ts.map +1 -1
  118. package/dist/src/config/scss.js +61 -7
  119. package/dist/src/config/scss.js.map +1 -1
  120. package/dist/src/config/types.d.ts +97 -2
  121. package/dist/src/config/types.d.ts.map +1 -1
  122. package/dist/src/flash/dialogs.d.ts +20 -2
  123. package/dist/src/flash/dialogs.d.ts.map +1 -1
  124. package/dist/src/flash/dialogs.js +185 -17
  125. package/dist/src/flash/dialogs.js.map +1 -1
  126. package/dist/src/flash/elements.d.ts +1 -1
  127. package/dist/src/flash/elements.d.ts.map +1 -1
  128. package/dist/src/flash/elements.js +17 -4
  129. package/dist/src/flash/elements.js.map +1 -1
  130. package/dist/src/flash/index.d.ts +5 -4
  131. package/dist/src/flash/index.d.ts.map +1 -1
  132. package/dist/src/flash/index.js +21 -3
  133. package/dist/src/flash/index.js.map +1 -1
  134. package/dist/src/flash/stack.d.ts.map +1 -1
  135. package/dist/src/flash/stack.js +26 -1
  136. package/dist/src/flash/stack.js.map +1 -1
  137. package/dist/src/flash/toast.d.ts +10 -1
  138. package/dist/src/flash/toast.d.ts.map +1 -1
  139. package/dist/src/flash/toast.js +23 -4
  140. package/dist/src/flash/toast.js.map +1 -1
  141. package/dist/src/flash/types.d.ts +38 -2
  142. package/dist/src/flash/types.d.ts.map +1 -1
  143. package/dist/src/fullscreen/components/index.d.ts +20 -0
  144. package/dist/src/fullscreen/components/index.d.ts.map +1 -0
  145. package/dist/src/fullscreen/components/index.js +19 -0
  146. package/dist/src/fullscreen/components/index.js.map +1 -0
  147. package/dist/src/fullscreen/index.d.ts +24 -3
  148. package/dist/src/fullscreen/index.d.ts.map +1 -1
  149. package/dist/src/fullscreen/index.js +268 -7
  150. package/dist/src/fullscreen/index.js.map +1 -1
  151. package/dist/src/index.d.ts +7 -1
  152. package/dist/src/index.d.ts.map +1 -1
  153. package/dist/src/index.js +9 -1
  154. package/dist/src/index.js.map +1 -1
  155. package/dist/src/layout/components/index.d.ts +43 -0
  156. package/dist/src/layout/components/index.d.ts.map +1 -0
  157. package/dist/src/layout/components/index.js +53 -0
  158. package/dist/src/layout/components/index.js.map +1 -0
  159. package/dist/src/layout/index.d.ts +27 -0
  160. package/dist/src/layout/index.d.ts.map +1 -0
  161. package/dist/src/layout/index.js +80 -0
  162. package/dist/src/layout/index.js.map +1 -0
  163. package/dist/src/react/index.d.ts +14 -0
  164. package/dist/src/react/index.d.ts.map +1 -1
  165. package/dist/src/react/index.js +14 -0
  166. package/dist/src/react/index.js.map +1 -1
  167. package/dist/src/server/index.d.ts +5 -0
  168. package/dist/src/server/index.d.ts.map +1 -0
  169. package/dist/src/server/index.js +5 -0
  170. package/dist/src/server/index.js.map +1 -0
  171. package/dist/src/sidebar/components/index.d.ts +35 -0
  172. package/dist/src/sidebar/components/index.d.ts.map +1 -0
  173. package/dist/src/sidebar/components/index.js +49 -0
  174. package/dist/src/sidebar/components/index.js.map +1 -0
  175. package/dist/src/sidebar/index.d.ts +62 -0
  176. package/dist/src/sidebar/index.d.ts.map +1 -0
  177. package/dist/src/sidebar/index.js +247 -0
  178. package/dist/src/sidebar/index.js.map +1 -0
  179. package/dist/styles/tokens.scss +61 -9
  180. package/dist/styles/utils.scss +479 -0
  181. package/package.json +4 -167
  182. package/dist/src/styles/index.d.ts +0 -3
  183. package/dist/src/styles/index.d.ts.map +0 -1
  184. package/dist/src/styles/index.js +0 -15
  185. package/dist/src/styles/index.js.map +0 -1
  186. package/dist/styles/index.d.ts +0 -3
  187. package/dist/styles/index.d.ts.map +0 -1
  188. package/dist/styles/index.js +0 -15
  189. package/dist/styles/index.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,24 @@ All notable changes to `@trebired/frontend` will be documented here.
4
4
 
5
5
  This project follows semantic versioning once published.
6
6
 
7
+ ## Unreleased
8
+
9
+ ## 1.1.0
10
+
11
+ - Moved the remaining generic app CSS surface into package-owned config CSS: base document reset, config-driven Fontsource font-face generation, global tokens, canvas background, spacing/margin helpers, wrapping row helpers, vertical alignment helpers, and generated spacing utilities.
12
+ - Expanded the package flash system with confirmation variant helpers, text confirmation models, progress tones, live/sticky convenience methods, `showFlashMessage()`, and `window.flash` installation so ecosystem apps can consume flash directly from `@trebired/frontend`.
13
+
14
+ ## 1.0.0
15
+
16
+ - Consolidated the public package API to structured entrypoints only: `@trebired/frontend`, `@trebired/frontend/config`, `@trebired/frontend/react`, and `@trebired/frontend/server`. Public Sass/component subpath exports are no longer part of the app contract.
17
+ - Added config-driven palette and scale CSS generation so ecosystem apps declare theme values in `.trebired/frontend/config.ts` and `@trebired/bundler` compiles package CSS in memory.
18
+ - Added package-owned generic utility CSS coverage for layout, spacing, sizing, text, border, alignment, and scroll helpers through the config-selected package CSS path.
19
+ - Added the package-owned sidebar system with runtime binding, persisted minimize state, mobile open/close state, React markup components, boot script, and internal CSS.
20
+ - Added the package-owned layout system with stable document/layout/main/content/header/bottom-bar/portal markup components, body-state boot script, runtime body-state syncing, and internal CSS so Trebired ecosystem apps share the same HTML structure.
21
+ - Expanded fullscreen into a package-owned panel fullscreen system with registered targets, open/close/toggle controls, overlay/placeholder restoration, persisted target ids, React components, and internal CSS while keeping native browser fullscreen helpers.
22
+ - Added the `@trebired/frontend/server` entrypoint for server-side icon helpers and middleware, and moved React component consumption behind `@trebired/frontend/react`.
23
+ - Updated verification to enforce structured exports, absence of public Sass/component subpaths, config-bundled package CSS, and package-owned layout/sidebar/fullscreen behavior.
24
+
7
25
  ## 0.5.0
8
26
 
9
27
  - Generalized the `./theme` runtime to an open, caller-supplied registry of named modes: `configureThemeModes()`, `getThemeModes()`, `themeModeKeys()`, `findThemeMode()`, `isThemeMode()`, mode-aware `setTheme()`/`normalizeTheme()`/`systemThemeKey()`, and `nextTheme()` as a cycler over the registry. `ThemeValue` is now `string`; `data-tbf-theme` accepts any registered key and `color-scheme` follows each mode's declared scheme.
package/README.md CHANGED
@@ -30,21 +30,7 @@ bindFrontendRuntime(document, {
30
30
  });
31
31
  ```
32
32
 
33
- Load only the SCSS systems your product uses:
34
-
35
- ```scss
36
- @use "@trebired/frontend/styles/tokens" as *;
37
- @use "@trebired/frontend/styles/utils" as *;
38
- @use "@trebired/frontend/icons/styles" as *;
39
- @use "@trebired/frontend/actions/styles" as *;
40
- @use "@trebired/frontend/flash/styles" as *;
41
- @use "@trebired/frontend/progress/styles" as *;
42
- @use "@trebired/frontend/layer/styles" as *;
43
- @use "@trebired/frontend/tooltip/styles" as *;
44
- @use "@trebired/frontend/popover/styles" as *;
45
- @use "@trebired/frontend/modal/styles" as *;
46
- @use "@trebired/frontend/inputs/styles" as *;
47
- ```
33
+ Configure the generic systems in `.trebired/frontend/config.ts`. `@trebired/bundler` reads that structured config and includes package-owned CSS through an internal virtual entry; products do not import package Sass paths directly.
48
34
 
49
35
  Markup stays normal HTML:
50
36
 
@@ -64,10 +50,10 @@ Markup stays normal HTML:
64
50
  </div>
65
51
  ```
66
52
 
67
- TSX components are available from system component subpaths when a product wants package-owned default markup:
53
+ TSX components are available from the React entrypoint when a product wants package-owned default markup:
68
54
 
69
55
  ```tsx
70
- import { UploadField } from "@trebired/frontend/inputs/components";
56
+ import { UploadField } from "@trebired/frontend/react";
71
57
 
72
58
  export function AvatarUpload() {
73
59
  return (
@@ -99,7 +85,7 @@ The package-owned selectors use `data-tbf-*` attributes. They never require cust
99
85
 
100
86
  ### Markup Components
101
87
 
102
- Component subpaths render real HTML with `data-tbf-*` attributes and `tbf-*` classes. They are not exported from `@trebired/frontend`, so the root runtime stays browser-behavior only.
88
+ React components render real HTML with `data-tbf-*` attributes and `tbf-*` classes. They are exported from `@trebired/frontend/react`, so the root runtime stays browser-behavior only.
103
89
 
104
90
  Upload markup includes hidden file and directory inputs, mixed file/folder buttons, multiple-file support, drag/drop slots, accepted-format metadata, preview slots, list output, clear-current-preview state, crop config, a crop hidden field, and an empty-toggle hidden field.
105
91
 
@@ -125,9 +111,11 @@ export default defineTrebiredFrontendConfig({
125
111
  icons: true,
126
112
  inputs: true,
127
113
  layer: true,
114
+ layout: true,
128
115
  modal: true,
129
116
  popover: true,
130
117
  progress: true,
118
+ sidebar: true,
131
119
  theme: true,
132
120
  tooltip: true,
133
121
  },
@@ -186,8 +174,10 @@ export default defineTrebiredFrontendConfig({
186
174
  - `adapters.reload`
187
175
  - `adapters.progress`
188
176
  - `adapters.flash`
177
+ - `adapters.sidebarPersistence`
189
178
  - `adapters.themePersistence`
190
179
  - `adapters.live`
180
+ - `sidebar`
191
181
  - `theme`
192
182
  - `live`
193
183
  - `observe`
@@ -200,14 +190,52 @@ Set `frontend_quiet: true`, `quiet: true`, `globalThis.frontend_quiet = true`, o
200
190
 
201
191
  ### Binding Order
202
192
 
203
- The canonical runtime binds theme, layer roots, icons, progress, flash, inputs, uploads, tooltips, popovers, modals, actions, fullscreen controls, and live refresh in that order.
193
+ The canonical runtime binds theme, layout, layer roots, icons, progress, flash, inputs, uploads, tooltips, popovers, modals, sidebars, actions, fullscreen controls, and live refresh in that order.
194
+
195
+ ### Layout
196
+
197
+ Ecosystem apps should use the package layout components for the document shell shape instead of owning separate layout HTML. The app still supplies product-specific header, sidebar link content, page body, and bottom-bar children.
198
+
199
+ ```tsx
200
+ import {
201
+ Layout,
202
+ LayoutBootScript,
203
+ LayoutContent,
204
+ LayoutDocument,
205
+ Sidebar,
206
+ SidebarLink,
207
+ SidebarList,
208
+ SidebarShell,
209
+ } from "@trebired/frontend/react";
210
+
211
+ export function Document({ body, header }: { body: React.ReactNode; header: React.ReactNode }) {
212
+ return (
213
+ <LayoutDocument title="App" scripts={<LayoutBootScript hasLeftSidebar />}>
214
+ <Layout
215
+ header={header}
216
+ leftSidebar={
217
+ <SidebarShell id="main_sidebar" side="left">
218
+ <Sidebar aria-label="Navigation">
219
+ <SidebarList>
220
+ <SidebarLink href="/dashboard">Dashboard</SidebarLink>
221
+ </SidebarList>
222
+ </Sidebar>
223
+ </SidebarShell>
224
+ }
225
+ >
226
+ <LayoutContent>{body}</LayoutContent>
227
+ </Layout>
228
+ </LayoutDocument>
229
+ );
230
+ }
231
+ ```
204
232
 
205
233
  ### Theme
206
234
 
207
- `@trebired/frontend/theme` works against a caller-supplied mode registry rather than a fixed light/dark pair. The registry defaults to `["dark", "light"]`, so existing callers keep their behavior.
235
+ Theme runtime works against a caller-supplied mode registry rather than a fixed light/dark pair. The registry defaults to `["dark", "light"]`, so existing callers keep their behavior.
208
236
 
209
237
  ```ts
210
- import { bindThemeRuntime } from "@trebired/frontend/theme";
238
+ import { bindThemeRuntime } from "@trebired/frontend";
211
239
 
212
240
  await bindThemeRuntime(document, {
213
241
  modes: ["dark", "light", { key: "sepia", label: "Paper", scheme: "light" }],
@@ -230,30 +258,13 @@ A `[data-tbf-theme-select]` element is either a `<select>` whose option values a
230
258
 
231
259
  ### CSS
232
260
 
233
- There is no aggregate CSS file. Each style-owning system exposes SCSS through package exports so `@trebired/bundler` can resolve package `sass` and `style` conditions from `node_modules`.
234
-
235
- Default SCSS is intentionally plain: `tbf-*` classes, CSS variables, black/white fallback colors, and square radius fallbacks. Products own visual polish by overriding variables.
236
-
237
- Base exports:
238
-
239
- - `@trebired/frontend/styles/tokens`
240
- - `@trebired/frontend/styles/utils`
241
-
242
- System exports:
261
+ There is no aggregate CSS file and no public Sass subpath API. Package-owned CSS is selected by `.trebired/frontend/config.ts`, then emitted by `@trebired/frontend/config` as SCSS for `@trebired/bundler` to compile in memory.
243
262
 
244
- - `@trebired/frontend/actions/styles`
245
- - `@trebired/frontend/icons/styles`
246
- - `@trebired/frontend/flash/styles`
247
- - `@trebired/frontend/progress/styles`
248
- - `@trebired/frontend/layer/styles`
249
- - `@trebired/frontend/tooltip/styles`
250
- - `@trebired/frontend/popover/styles`
251
- - `@trebired/frontend/modal/styles`
252
- - `@trebired/frontend/inputs/styles`
263
+ Default CSS is intentionally plain: `tbf-*` classes, generic utility classes, CSS variables, black/white fallback colors, and square radius fallbacks. Products own visual polish by declaring config tokens or writing component-specific CSS.
253
264
 
254
265
  ### Upload Crop
255
266
 
256
- Upload crop uses `cropperjs` only through the upload crop path. The root runtime import and the normal `@trebired/frontend/inputs` import do not load cropper or TSX component modules until a crop session opens.
267
+ Upload crop uses `cropperjs` only through the upload crop path. The root runtime import does not load cropper or TSX component modules until a crop session opens.
257
268
 
258
269
  ### Icons
259
270
 
@@ -267,7 +278,7 @@ Canonical icon specs use `pack:name`:
267
278
  Browser runtime:
268
279
 
269
280
  ```ts
270
- import { bindIcons, renderIconElement } from "@trebired/frontend/icons";
281
+ import { bindIcons, renderIconElement } from "@trebired/frontend";
271
282
 
272
283
  bindIcons(document);
273
284
  await renderIconElement(document.querySelector("[data-tbf-icon]")!, "remixicon:add-line");
@@ -276,7 +287,7 @@ await renderIconElement(document.querySelector("[data-tbf-icon]")!, "remixicon:a
276
287
  React:
277
288
 
278
289
  ```tsx
279
- import { Icon } from "@trebired/frontend/icons/react";
290
+ import { Icon } from "@trebired/frontend/react";
280
291
 
281
292
  export function SaveIcon() {
282
293
  return <Icon spec="remixicon:save-3-line" label="Save" />;
@@ -286,8 +297,7 @@ export function SaveIcon() {
286
297
  Server:
287
298
 
288
299
  ```ts
289
- import { renderIconHtml } from "@trebired/frontend/icons/server";
290
- import { createIconMiddleware } from "@trebired/frontend/icons/middleware";
300
+ import { createIconMiddleware, renderIconHtml } from "@trebired/frontend/server";
291
301
 
292
302
  const html = renderIconHtml("simple-icons:github", { label: "GitHub" });
293
303
  const middleware = createIconMiddleware();
@@ -300,47 +310,9 @@ The icon system supports explicit colors, simple-icons brand colors, source-colo
300
310
  Entrypoints:
301
311
 
302
312
  - `@trebired/frontend`
303
- - `@trebired/frontend/dom`
304
- - `@trebired/frontend/http`
305
313
  - `@trebired/frontend/config`
306
- - `@trebired/frontend/fullscreen`
307
- - `@trebired/frontend/icons`
308
- - `@trebired/frontend/icons/react`
309
- - `@trebired/frontend/icons/server`
310
- - `@trebired/frontend/icons/middleware`
311
- - `@trebired/frontend/actions`
312
- - `@trebired/frontend/actions/components`
313
- - `@trebired/frontend/flash`
314
- - `@trebired/frontend/flash/components`
315
- - `@trebired/frontend/progress`
316
- - `@trebired/frontend/progress/components`
317
- - `@trebired/frontend/layer`
318
- - `@trebired/frontend/layer/components`
319
- - `@trebired/frontend/tooltip`
320
- - `@trebired/frontend/tooltip/components`
321
- - `@trebired/frontend/popover`
322
- - `@trebired/frontend/popover/components`
323
- - `@trebired/frontend/modal`
324
- - `@trebired/frontend/modal/components`
325
- - `@trebired/frontend/inputs`
326
- - `@trebired/frontend/inputs/components`
327
- - `@trebired/frontend/theme`
328
- - `@trebired/frontend/theme/components`
329
- - `@trebired/frontend/live`
330
- - `@trebired/frontend/live/components`
331
314
  - `@trebired/frontend/react`
332
- - `@trebired/frontend/styles`
333
- - `@trebired/frontend/styles/tokens`
334
- - `@trebired/frontend/styles/utils`
335
- - `@trebired/frontend/icons/styles`
336
- - `@trebired/frontend/actions/styles`
337
- - `@trebired/frontend/flash/styles`
338
- - `@trebired/frontend/progress/styles`
339
- - `@trebired/frontend/layer/styles`
340
- - `@trebired/frontend/tooltip/styles`
341
- - `@trebired/frontend/popover/styles`
342
- - `@trebired/frontend/modal/styles`
343
- - `@trebired/frontend/inputs/styles`
315
+ - `@trebired/frontend/server`
344
316
 
345
317
  ## What It Does Not Do
346
318
 
@@ -0,0 +1,5 @@
1
+ import type { NormalizedTrebiredFrontendFontConfig } from "./types.js";
2
+ declare function normalizeFontsConfig(value: unknown): NormalizedTrebiredFrontendFontConfig;
3
+ declare function renderFontsCss(config: NormalizedTrebiredFrontendFontConfig): string[];
4
+ export { normalizeFontsConfig, renderFontsCss };
5
+ //# sourceMappingURL=fonts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../../../src/config/fonts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oCAAoC,EAIrC,MAAM,YAAY,CAAC;AASpB,iBAAS,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,oCAAoC,CAWlF;AAmHD,iBAAS,cAAc,CAAC,MAAM,EAAE,oCAAoC,GAAG,MAAM,EAAE,CAK9E;AAqCD,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,158 @@
1
+ import { assertPlainObject, cssString, invalidConfig } from "./shared.js";
2
+ const DEFAULT_FONT_DISPLAY = "swap";
3
+ const DEFAULT_FONT_STYLES = ["normal"];
4
+ const DEFAULT_FONT_SUBSETS = ["latin"];
5
+ const DEFAULT_FONT_WEIGHTS = [400];
6
+ const SUPPORTED_FONT_DISPLAYS = new Set(["auto", "block", "fallback", "optional", "swap"]);
7
+ const SUPPORTED_FONT_STYLES = new Set(["italic", "normal"]);
8
+ function normalizeFontsConfig(value) {
9
+ if (value === undefined)
10
+ return { families: [], sans: "" };
11
+ const source = assertPlainObject(value, "fonts");
12
+ const familiesSource = source.families === undefined ? {} : assertPlainObject(source.families, "fonts.families");
13
+ const families = Object.entries(familiesSource)
14
+ .map(([key, raw]) => normalizeFontFamily(key, raw))
15
+ .sort((a, b) => a.key.localeCompare(b.key));
16
+ return {
17
+ families,
18
+ sans: normalizeFontStack(source.sans, "fonts.sans") || defaultSansFontStack(families),
19
+ };
20
+ }
21
+ function normalizeFontFamily(key, value) {
22
+ const source = assertPlainObject(value, `fonts.families.${key}`);
23
+ const packageName = normalizeFontsourcePackage(source.package || source.fontsource || key, `fonts.families.${key}.package`);
24
+ return {
25
+ display: normalizeFontDisplay(source.display, `fonts.families.${key}.display`),
26
+ family: normalizeFontFamilyName(source.family || fontFamilyFromPackage(packageName), `fonts.families.${key}.family`),
27
+ key: normalizeFontKey(key),
28
+ packageName,
29
+ styles: normalizeFontStyles(source.styles, `fonts.families.${key}.styles`),
30
+ subsets: normalizeStringArray(source.subsets, DEFAULT_FONT_SUBSETS, `fonts.families.${key}.subsets`, normalizeFontSubset),
31
+ weights: normalizeFontWeights(source.weights, `fonts.families.${key}.weights`),
32
+ };
33
+ }
34
+ function normalizeFontKey(value) {
35
+ const key = String(value || "").trim();
36
+ if (!/^[a-z][a-z0-9_-]*$/iu.test(key)) {
37
+ throw invalidConfig(`font key ${String(value)} must start with a letter and contain only letters, numbers, underscores, or hyphens`);
38
+ }
39
+ return key;
40
+ }
41
+ function normalizeFontsourcePackage(value, pathLabel) {
42
+ let text = String(value || "").trim().toLowerCase();
43
+ if (text.startsWith("@fontsource/"))
44
+ text = text.slice("@fontsource/".length);
45
+ if (!/^[a-z0-9][a-z0-9-]*$/u.test(text)) {
46
+ throw invalidConfig(`${pathLabel} must be a Fontsource package name such as "inter"`);
47
+ }
48
+ return text;
49
+ }
50
+ function normalizeFontFamilyName(value, pathLabel) {
51
+ const family = String(value || "").trim();
52
+ if (!family || /["\\\n\r]/u.test(family)) {
53
+ throw invalidConfig(`${pathLabel} must be a CSS font family name without quotes or newlines`);
54
+ }
55
+ return family;
56
+ }
57
+ function normalizeFontDisplay(value, pathLabel) {
58
+ if (value === undefined)
59
+ return DEFAULT_FONT_DISPLAY;
60
+ const display = String(value || "").trim().toLowerCase();
61
+ if (!SUPPORTED_FONT_DISPLAYS.has(display)) {
62
+ throw invalidConfig(`${pathLabel} must be one of auto, block, fallback, optional, or swap`);
63
+ }
64
+ return display;
65
+ }
66
+ function normalizeFontStyles(value, pathLabel) {
67
+ return normalizeStringArray(value, DEFAULT_FONT_STYLES, pathLabel, (item, itemPath) => {
68
+ const style = String(item || "").trim().toLowerCase();
69
+ if (!SUPPORTED_FONT_STYLES.has(style))
70
+ throw invalidConfig(`${itemPath} must be normal or italic`);
71
+ return style;
72
+ });
73
+ }
74
+ function normalizeFontWeights(value, pathLabel) {
75
+ const raw = value === undefined ? DEFAULT_FONT_WEIGHTS : value;
76
+ if (!Array.isArray(raw))
77
+ throw invalidConfig(`${pathLabel} must be an array`);
78
+ const weights = [];
79
+ for (const item of raw) {
80
+ const weight = typeof item === "number" ? item : Number(String(item || "").trim());
81
+ if (!Number.isInteger(weight) || weight < 1 || weight > 1000) {
82
+ throw invalidConfig(`${pathLabel} entries must be integer CSS font weights`);
83
+ }
84
+ if (!weights.includes(weight))
85
+ weights.push(weight);
86
+ }
87
+ return weights.sort((a, b) => a - b);
88
+ }
89
+ function normalizeStringArray(value, fallback, pathLabel, normalize) {
90
+ const raw = value === undefined ? fallback : value;
91
+ if (!Array.isArray(raw))
92
+ throw invalidConfig(`${pathLabel} must be an array`);
93
+ const out = [];
94
+ raw.forEach((item, index) => {
95
+ const normalized = normalize(item, `${pathLabel}.${index}`);
96
+ if (!out.includes(normalized))
97
+ out.push(normalized);
98
+ });
99
+ return out;
100
+ }
101
+ function normalizeFontSubset(value, pathLabel) {
102
+ const subset = String(value || "").trim().toLowerCase();
103
+ if (!/^[a-z0-9][a-z0-9-]*$/u.test(subset)) {
104
+ throw invalidConfig(`${pathLabel} must be a Fontsource subset name such as "latin" or "latin-ext"`);
105
+ }
106
+ return subset;
107
+ }
108
+ function normalizeFontStack(value, pathLabel) {
109
+ if (value === undefined)
110
+ return "";
111
+ const stack = String(value || "").trim();
112
+ if (/[\n\r]/u.test(stack))
113
+ throw invalidConfig(`${pathLabel} must be a single-line CSS font stack`);
114
+ return stack;
115
+ }
116
+ function fontFamilyFromPackage(packageName) {
117
+ return packageName.split("-")
118
+ .filter(Boolean)
119
+ .map((part) => `${part[0]?.toUpperCase() || ""}${part.slice(1)}`)
120
+ .join(" ");
121
+ }
122
+ function defaultSansFontStack(families) {
123
+ const sans = families.find((family) => family.key === "sans");
124
+ return sans ? `${cssString(sans.family)}, sans-serif` : "";
125
+ }
126
+ function renderFontsCss(config) {
127
+ const lines = config.families.flatMap((family) => fontFaceBlocks(family));
128
+ const root = fontRootDeclarations(config);
129
+ if (root.length)
130
+ lines.push("", ":root {", ...root, "}");
131
+ return lines;
132
+ }
133
+ function fontFaceBlocks(family) {
134
+ return family.subsets.flatMap((subset) => family.weights.flatMap((weight) => family.styles.flatMap((style) => [
135
+ "@font-face {",
136
+ ` font-family: ${cssString(family.family)};`,
137
+ ` font-style: ${style};`,
138
+ ` font-display: ${family.display};`,
139
+ ` font-weight: ${weight};`,
140
+ ` src: url(${cssString(fontsourceFileUrl(family.packageName, subset, weight, style))}) format("woff2");`,
141
+ "}",
142
+ "",
143
+ ]))).slice(0, -1);
144
+ }
145
+ function fontsourceFileUrl(packageName, subset, weight, style) {
146
+ return `@fontsource/${packageName}/files/${packageName}-${subset}-${weight}-${style}.woff2`;
147
+ }
148
+ function fontRootDeclarations(config) {
149
+ const lines = [];
150
+ if (config.sans)
151
+ lines.push(` --tbf-font-sans: ${config.sans};`);
152
+ for (const family of config.families) {
153
+ lines.push(` --tbf-font-family-${family.key}: ${cssString(family.family)};`);
154
+ }
155
+ return lines;
156
+ }
157
+ export { normalizeFontsConfig, renderFontsCss };
158
+ //# sourceMappingURL=fonts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.js","sourceRoot":"","sources":["../../../src/config/fonts.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,5 @@ export { DEFAULT_TREBIRED_FRONTEND_CONFIG, SUPPORTED_ICON_PACKS, SYSTEM_ORDER, T
6
6
  export { generateTrebiredFrontendScss } from "./scss.js";
7
7
  export { collectConfigDependencies } from "./module.js";
8
8
  export { defineTrebiredFrontendConfig, findTrebiredFrontendConfig, loadTrebiredFrontendConfig };
9
- export type { LoadTrebiredFrontendConfigOptions, LoadedTrebiredFrontendConfig, NormalizedTrebiredFrontendConfig, NormalizedTrebiredFrontendThemeConfig, NormalizedTrebiredFrontendThemeMode, TrebiredFrontendConfig, TrebiredFrontendIconPack, TrebiredFrontendSystemKey, TrebiredFrontendThemeConfig, TrebiredFrontendThemeMode, TrebiredFrontendThemeModeScheme, TrebiredFrontendThemeTokens, } from "./types.js";
9
+ export type { LoadTrebiredFrontendConfigOptions, LoadedTrebiredFrontendConfig, NormalizedTrebiredFrontendConfig, NormalizedTrebiredFrontendFontConfig, NormalizedTrebiredFrontendFontFamilyConfig, NormalizedTrebiredFrontendPaletteConfig, NormalizedTrebiredFrontendPaletteMode, NormalizedTrebiredFrontendPaletteSemantic, NormalizedTrebiredFrontendScalesConfig, NormalizedTrebiredFrontendThemeConfig, NormalizedTrebiredFrontendThemeMode, NormalizedTrebiredFrontendZIndexScaleConfig, TrebiredFrontendConfig, TrebiredFrontendFontConfig, TrebiredFrontendFontDisplay, TrebiredFrontendFontFamilyConfig, TrebiredFrontendFontStyle, TrebiredFrontendIconPack, TrebiredFrontendPaletteConfig, TrebiredFrontendPaletteFamilies, TrebiredFrontendPaletteMode, TrebiredFrontendPaletteScale, TrebiredFrontendPaletteSemanticRef, TrebiredFrontendScaleSteps, TrebiredFrontendScalesConfig, TrebiredFrontendSystemKey, TrebiredFrontendThemeConfig, TrebiredFrontendThemeMode, TrebiredFrontendThemeModeScheme, TrebiredFrontendThemeTokens, TrebiredFrontendZIndexScaleConfig, } from "./types.js";
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,iCAAiC,EACjC,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,iBAAS,4BAA4B,CAAC,CAAC,SAAS,sBAAsB,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAEpF;AAED,iBAAe,0BAA0B,CACvC,QAAQ,GAAE,MAAsB,EAChC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASxB;AAYD,iBAAe,0BAA0B,CACvC,WAAW,GAAE,MAAsB,EACnC,OAAO,GAAE,iCAAsC,GAC9C,OAAO,CAAC,4BAA4B,CAAC,CAyBvC;AAED,OAAO,EACL,gCAAgC,EAChC,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,CAAC;AAChG,YAAY,EACV,iCAAiC,EACjC,4BAA4B,EAC5B,gCAAgC,EAChC,qCAAqC,EACrC,mCAAmC,EACnC,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,iCAAiC,EACjC,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,iBAAS,4BAA4B,CAAC,CAAC,SAAS,sBAAsB,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAEpF;AAED,iBAAe,0BAA0B,CACvC,QAAQ,GAAE,MAAsB,EAChC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASxB;AAYD,iBAAe,0BAA0B,CACvC,WAAW,GAAE,MAAsB,EACnC,OAAO,GAAE,iCAAsC,GAC9C,OAAO,CAAC,4BAA4B,CAAC,CAyBvC;AAED,OAAO,EACL,gCAAgC,EAChC,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,CAAC;AAChG,YAAY,EACV,iCAAiC,EACjC,4BAA4B,EAC5B,gCAAgC,EAChC,oCAAoC,EACpC,0CAA0C,EAC1C,uCAAuC,EACvC,qCAAqC,EACrC,yCAAyC,EACzC,sCAAsC,EACtC,qCAAqC,EACrC,mCAAmC,EACnC,2CAA2C,EAC3C,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,+BAA+B,EAC/B,2BAA2B,EAC3B,4BAA4B,EAC5B,kCAAkC,EAClC,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,+BAA+B,EAC/B,2BAA2B,EAC3B,iCAAiC,GAClC,MAAM,YAAY,CAAC"}
@@ -93,7 +93,7 @@ async function buildConfigModuleToUrl(projectRoot, filePath, dependencies) {
93
93
  await fs.mkdir(outputDir, { recursive: true });
94
94
  const result = await Bun.build({
95
95
  entrypoints: [filePath],
96
- external: ["@trebired/frontend", "@trebired/frontend/*"],
96
+ external: ["@trebired/frontend", "@trebired/frontend/config"],
97
97
  format: "esm",
98
98
  naming: `${basename}.js`,
99
99
  outdir: outputDir,
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/config/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/config/module.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,7 @@ declare const TREBIRED_FRONTEND_CONFIG_PATH = ".trebired/frontend/config.ts";
3
3
  declare const THEME_MODE_ATTRIBUTE = "data-tbf-theme";
4
4
  declare const SUPPORTED_ICON_PACKS: TrebiredFrontendIconPack[];
5
5
  declare const SYSTEM_ORDER: TrebiredFrontendSystemKey[];
6
- declare const SYSTEM_STYLE_IMPORTS: Partial<Record<TrebiredFrontendSystemKey, string>>;
7
6
  declare const DEFAULT_TREBIRED_FRONTEND_CONFIG: NormalizedTrebiredFrontendConfig;
8
7
  declare function normalizeTrebiredFrontendConfig(config?: unknown): NormalizedTrebiredFrontendConfig;
9
- export { DEFAULT_TREBIRED_FRONTEND_CONFIG, SUPPORTED_ICON_PACKS, SYSTEM_ORDER, SYSTEM_STYLE_IMPORTS, THEME_MODE_ATTRIBUTE, TREBIRED_FRONTEND_CONFIG_PATH, normalizeTrebiredFrontendConfig, };
8
+ export { DEFAULT_TREBIRED_FRONTEND_CONFIG, SUPPORTED_ICON_PACKS, SYSTEM_ORDER, THEME_MODE_ATTRIBUTE, TREBIRED_FRONTEND_CONFIG_PATH, normalizeTrebiredFrontendConfig, };
10
9
  //# sourceMappingURL=normalize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../src/config/normalize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gCAAgC,EAChC,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,QAAA,MAAM,6BAA6B,iCAAiC,CAAC;AAGrE,QAAA,MAAM,oBAAoB,mBAAmB,CAAC;AAE9C,QAAA,MAAM,oBAAoB,EAAE,wBAAwB,EAAkC,CAAC;AAEvF,QAAA,MAAM,YAAY,EAAE,yBAAyB,EAY5C,CAAC;AAEF,QAAA,MAAM,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAU5E,CAAC;AAEF,QAAA,MAAM,gCAAgC,EAAE,gCAetC,CAAC;AA+CH,iBAAS,+BAA+B,CAAC,MAAM,GAAE,OAAY,GAAG,gCAAgC,CAY/F;AAED,OAAO,EACL,gCAAgC,EAChC,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,6BAA6B,EAC7B,+BAA+B,GAChC,CAAC"}
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../src/config/normalize.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,gCAAgC,EAChC,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,QAAA,MAAM,6BAA6B,iCAAiC,CAAC;AAGrE,QAAA,MAAM,oBAAoB,mBAAmB,CAAC;AAE9C,QAAA,MAAM,oBAAoB,EAAE,wBAAwB,EAAkC,CAAC;AAEvF,QAAA,MAAM,YAAY,EAAE,yBAAyB,EAc5C,CAAC;AAEF,QAAA,MAAM,gCAAgC,EAAE,gCAkCtC,CAAC;AA+CH,iBAAS,+BAA+B,CAAC,MAAM,GAAE,OAAY,GAAG,gCAAgC,CAgB/F;AAED,OAAO,EACL,gCAAgC,EAChC,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,6BAA6B,EAC7B,+BAA+B,GAChC,CAAC"}
@@ -1,4 +1,7 @@
1
1
  import { assertPlainObject, invalidConfig } from "./shared.js";
2
+ import { normalizeFontsConfig } from "./fonts.js";
3
+ import { normalizePaletteConfig } from "./palette.js";
4
+ import { normalizeScalesConfig } from "./scales.js";
2
5
  import { normalizeThemeConfig } from "./theme.js";
3
6
  const TREBIRED_FRONTEND_CONFIG_PATH = ".trebired/frontend/config.ts";
4
7
  /* Must stay in sync with THEME_ATTR exported from the ./theme runtime. */
@@ -6,6 +9,7 @@ const THEME_MODE_ATTRIBUTE = "data-tbf-theme";
6
9
  const SUPPORTED_ICON_PACKS = ["remixicon", "simple-icons"];
7
10
  const SYSTEM_ORDER = [
8
11
  "theme",
12
+ "layout",
9
13
  "layer",
10
14
  "icons",
11
15
  "progress",
@@ -13,27 +17,36 @@ const SYSTEM_ORDER = [
13
17
  "tooltip",
14
18
  "popover",
15
19
  "modal",
20
+ "sidebar",
16
21
  "inputs",
17
22
  "actions",
18
23
  "fullscreen",
19
24
  ];
20
- const SYSTEM_STYLE_IMPORTS = {
21
- actions: "@trebired/frontend/actions/styles",
22
- flash: "@trebired/frontend/flash/styles",
23
- icons: "@trebired/frontend/icons/styles",
24
- inputs: "@trebired/frontend/inputs/styles",
25
- layer: "@trebired/frontend/layer/styles",
26
- modal: "@trebired/frontend/modal/styles",
27
- popover: "@trebired/frontend/popover/styles",
28
- progress: "@trebired/frontend/progress/styles",
29
- tooltip: "@trebired/frontend/tooltip/styles",
30
- };
31
25
  const DEFAULT_TREBIRED_FRONTEND_CONFIG = Object.freeze({
26
+ fonts: Object.freeze({
27
+ families: Object.freeze([]),
28
+ sans: "",
29
+ }),
30
+ palette: Object.freeze({
31
+ modes: Object.freeze([]),
32
+ semantic: Object.freeze([]),
33
+ suffixedVariants: true,
34
+ }),
32
35
  prefix: "tbf",
33
36
  icons: Object.freeze({
34
37
  endpoint: "/__icons/svg",
35
38
  packs: Object.freeze([...SUPPORTED_ICON_PACKS]),
36
39
  }),
40
+ scales: Object.freeze({
41
+ height: Object.freeze({}),
42
+ lineHeight: Object.freeze({}),
43
+ padding: Object.freeze({}),
44
+ radius: Object.freeze({}),
45
+ spacing: Object.freeze({}),
46
+ textSize: Object.freeze({}),
47
+ width: Object.freeze({}),
48
+ zIndex: Object.freeze({ confetti: "", layerRoot: "", progress: "", steps: Object.freeze({}) }),
49
+ }),
37
50
  systems: Object.freeze(Object.fromEntries(SYSTEM_ORDER.map((key) => [key, true]))),
38
51
  theme: Object.freeze({
39
52
  cssVariables: true,
@@ -91,15 +104,19 @@ function normalizeSystems(value) {
91
104
  function normalizeTrebiredFrontendConfig(config = {}) {
92
105
  const source = assertPlainObject(config, "config");
93
106
  const icons = source.icons === undefined ? {} : assertPlainObject(source.icons, "icons");
107
+ const theme = normalizeThemeConfig(source.theme);
94
108
  return {
109
+ fonts: normalizeFontsConfig(source.fonts),
110
+ palette: normalizePaletteConfig(source.palette, theme.modes.map((mode) => mode.key)),
95
111
  prefix: normalizePrefix(source.prefix),
96
112
  icons: {
97
113
  endpoint: normalizeEndpoint(icons.endpoint),
98
114
  packs: normalizeIconPacks(icons.packs),
99
115
  },
116
+ scales: normalizeScalesConfig(source.scales),
100
117
  systems: normalizeSystems(source.systems),
101
- theme: normalizeThemeConfig(source.theme),
118
+ theme,
102
119
  };
103
120
  }
104
- export { DEFAULT_TREBIRED_FRONTEND_CONFIG, SUPPORTED_ICON_PACKS, SYSTEM_ORDER, SYSTEM_STYLE_IMPORTS, THEME_MODE_ATTRIBUTE, TREBIRED_FRONTEND_CONFIG_PATH, normalizeTrebiredFrontendConfig, };
121
+ export { DEFAULT_TREBIRED_FRONTEND_CONFIG, SUPPORTED_ICON_PACKS, SYSTEM_ORDER, THEME_MODE_ATTRIBUTE, TREBIRED_FRONTEND_CONFIG_PATH, normalizeTrebiredFrontendConfig, };
105
122
  //# sourceMappingURL=normalize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../src/config/normalize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../src/config/normalize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { NormalizedTrebiredFrontendPaletteConfig, NormalizedTrebiredFrontendPaletteMode } from "./types.js";
2
+ declare function paletteModeScaleDeclarations(mode: NormalizedTrebiredFrontendPaletteMode): string[];
3
+ declare function paletteSemanticDeclarations(config: NormalizedTrebiredFrontendPaletteConfig): string[];
4
+ declare function paletteSuffixedDeclarations(config: NormalizedTrebiredFrontendPaletteConfig): string[];
5
+ declare function findPaletteMode(config: NormalizedTrebiredFrontendPaletteConfig, modeKey: string): NormalizedTrebiredFrontendPaletteMode | undefined;
6
+ declare function normalizePaletteConfig(value: unknown, themeModeKeys: readonly string[]): NormalizedTrebiredFrontendPaletteConfig;
7
+ export { findPaletteMode, normalizePaletteConfig, paletteModeScaleDeclarations, paletteSemanticDeclarations, paletteSuffixedDeclarations, };
8
+ //# sourceMappingURL=palette.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../../src/config/palette.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uCAAuC,EACvC,qCAAqC,EAGtC,MAAM,YAAY,CAAC;AAgBpB,iBAAS,4BAA4B,CAAC,IAAI,EAAE,qCAAqC,GAAG,MAAM,EAAE,CAE3F;AAED,iBAAS,2BAA2B,CAClC,MAAM,EAAE,uCAAuC,GAC9C,MAAM,EAAE,CAIV;AAED,iBAAS,2BAA2B,CAAC,MAAM,EAAE,uCAAuC,GAAG,MAAM,EAAE,CAO9F;AAED,iBAAS,eAAe,CACtB,MAAM,EAAE,uCAAuC,EAC/C,OAAO,EAAE,MAAM,GACd,qCAAqC,GAAG,SAAS,CAEnD;AA+ED,iBAAS,sBAAsB,CAC7B,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,uCAAuC,CAOzC;AAED,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,GAC5B,CAAC"}