@trebired/frontend 26.2.0 → 27.0.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 (77) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +24 -0
  3. package/dist/config/containers.d.ts +5 -0
  4. package/dist/config/containers.d.ts.map +1 -0
  5. package/dist/config/containers.js +146 -0
  6. package/dist/config/containers.js.map +1 -0
  7. package/dist/config/default/component-tokens.d.ts +0 -96
  8. package/dist/config/default/component-tokens.d.ts.map +1 -1
  9. package/dist/config/default/component-tokens.js +0 -40
  10. package/dist/config/default/component-tokens.js.map +1 -1
  11. package/dist/config/default/config.d.ts.map +1 -1
  12. package/dist/config/default/config.js +1 -0
  13. package/dist/config/default/config.js.map +1 -1
  14. package/dist/config/normalize.d.ts.map +1 -1
  15. package/dist/config/normalize.js +5 -1
  16. package/dist/config/normalize.js.map +1 -1
  17. package/dist/config/scss.d.ts.map +1 -1
  18. package/dist/config/scss.js +2 -0
  19. package/dist/config/scss.js.map +1 -1
  20. package/dist/config/types/containers.d.ts +22 -0
  21. package/dist/config/types/containers.d.ts.map +1 -0
  22. package/dist/config/types/containers.js +2 -0
  23. package/dist/config/types/containers.js.map +1 -0
  24. package/dist/config/types.d.ts +4 -6
  25. package/dist/config/types.d.ts.map +1 -1
  26. package/dist/entries/react/01.d.ts +1 -1
  27. package/dist/entries/react/01.d.ts.map +1 -1
  28. package/dist/entries/react/01.js +1 -1
  29. package/dist/entries/react/01.js.map +1 -1
  30. package/dist/entries/react/02.d.ts +1 -1
  31. package/dist/entries/react/02.d.ts.map +1 -1
  32. package/dist/entries/react/02.js +1 -1
  33. package/dist/entries/react/02.js.map +1 -1
  34. package/dist/src/config/containers.d.ts +5 -0
  35. package/dist/src/config/containers.d.ts.map +1 -0
  36. package/dist/src/config/containers.js +146 -0
  37. package/dist/src/config/containers.js.map +1 -0
  38. package/dist/src/config/default/component-tokens.d.ts +0 -96
  39. package/dist/src/config/default/component-tokens.d.ts.map +1 -1
  40. package/dist/src/config/default/component-tokens.js +0 -40
  41. package/dist/src/config/default/component-tokens.js.map +1 -1
  42. package/dist/src/config/default/config.d.ts.map +1 -1
  43. package/dist/src/config/default/config.js +1 -0
  44. package/dist/src/config/default/config.js.map +1 -1
  45. package/dist/src/config/normalize.d.ts.map +1 -1
  46. package/dist/src/config/normalize.js +5 -1
  47. package/dist/src/config/normalize.js.map +1 -1
  48. package/dist/src/config/scss.d.ts.map +1 -1
  49. package/dist/src/config/scss.js +2 -0
  50. package/dist/src/config/scss.js.map +1 -1
  51. package/dist/src/config/types/containers.d.ts +22 -0
  52. package/dist/src/config/types/containers.d.ts.map +1 -0
  53. package/dist/src/config/types/containers.js +2 -0
  54. package/dist/src/config/types/containers.js.map +1 -0
  55. package/dist/src/config/types.d.ts +4 -6
  56. package/dist/src/config/types.d.ts.map +1 -1
  57. package/dist/src/entries/react/01.d.ts +1 -1
  58. package/dist/src/entries/react/01.d.ts.map +1 -1
  59. package/dist/src/entries/react/01.js +1 -1
  60. package/dist/src/entries/react/01.js.map +1 -1
  61. package/dist/src/entries/react/02.d.ts +1 -1
  62. package/dist/src/entries/react/02.d.ts.map +1 -1
  63. package/dist/src/entries/react/02.js +1 -1
  64. package/dist/src/entries/react/02.js.map +1 -1
  65. package/dist/src/surface/components/index.d.ts +3 -60
  66. package/dist/src/surface/components/index.d.ts.map +1 -1
  67. package/dist/src/surface/components/index.js +1 -73
  68. package/dist/src/surface/components/index.js.map +1 -1
  69. package/dist/surface/components/index.d.ts +3 -60
  70. package/dist/surface/components/index.d.ts.map +1 -1
  71. package/dist/surface/components/index.js +1 -73
  72. package/dist/surface/components/index.js.map +1 -1
  73. package/dist/surface/styles/index.scss +0 -2
  74. package/dist/surface/styles/layout.scss +0 -100
  75. package/package.json +1 -1
  76. package/dist/surface/styles/blocks.scss +0 -174
  77. package/dist/surface/styles/track.scss +0 -91
@@ -65,106 +65,6 @@ html:not(#{ns.data("parsed")}) #{ns.class("glow")}::after {
65
65
  z-index: 1;
66
66
  }
67
67
 
68
- #{ns.class("card")} > #{ns.class("frame")}:first-child {
69
- width: auto;
70
- margin: calc(var(#{ns.css-var("surf-card-root-padding")}, 12px) * -1);
71
- margin-block-end: 0;
72
- border-start-start-radius: inherit;
73
- border-start-end-radius: inherit;
74
- border-end-start-radius: 0;
75
- border-end-end-radius: 0;
76
- border-block-start: 0;
77
- border-inline: 0;
78
- }
79
-
80
- #{ns.class("frame")} {
81
- position: relative;
82
- display: flex;
83
- align-items: center;
84
- justify-content: center;
85
- overflow: hidden;
86
- aspect-ratio: var(#{ns.css-var("surf-frame-root-ratio")}, 16 / 10);
87
- border: var(
88
- #{ns.css-var("surf-frame-root-border")},
89
- var(--border-width, 1px) solid var(#{ns.css-var("border")}, #000)
90
- );
91
- border-radius: var(
92
- #{ns.css-var("surf-frame-root-radius")},
93
- var(--radius-lg, var(#{ns.css-var("radius")}, 0))
94
- );
95
- background: var(#{ns.css-var("surf-frame-root-bg")}, var(#{ns.css-var("surface-muted")}, #eee));
96
- }
97
-
98
- #{ns.element-class("frame", "badge")} {
99
- position: absolute;
100
- inset-block-start: var(#{ns.css-var("surf-frame-badge-offset")}, 1rem);
101
- inset-inline-start: var(#{ns.css-var("surf-frame-badge-offset")}, 1rem);
102
- z-index: 1;
103
- }
104
-
105
- #{ns.element-class("frame", "cover")} {
106
- position: absolute;
107
- inset: 0;
108
- width: 100%;
109
- height: 100%;
110
- object-fit: cover;
111
- object-position: var(#{ns.css-var("surf-frame-cover-position")}, 50% 50%);
112
- transition: transform var(#{ns.css-var("surf-frame-cover-duration")}, 700ms) ease;
113
- }
114
-
115
- #{ns.element-class("frame", "scrim")} {
116
- position: absolute;
117
- inset: 0;
118
- z-index: 1;
119
- background: var(
120
- #{ns.css-var("surf-frame-scrim-bg")},
121
- linear-gradient(to top, color-mix(in srgb, var(#{ns.css-var("text")}, #000) 65%, transparent), transparent 60%)
122
- );
123
- pointer-events: none;
124
- }
125
-
126
- #{ns.element-class("frame", "caption")} {
127
- position: absolute;
128
- inset-block-end: 0;
129
- inset-inline: 0;
130
- z-index: 2;
131
- display: grid;
132
- gap: var(#{ns.css-var("surf-frame-caption-gap")}, var(#{ns.css-var("gap-xs2")}, 4px));
133
- padding: var(#{ns.css-var("surf-frame-caption-padding")}, var(#{ns.css-var("gap-sm")}, 12px));
134
- color: var(#{ns.css-var("surf-frame-caption-color")}, var(#{ns.css-var("page")}, #fff));
135
- background: var(#{ns.css-var("surf-frame-caption-bg")}, transparent);
136
- }
137
-
138
- #{ns.element-class("frame", "action")} {
139
- position: absolute;
140
- inset-block-end: var(#{ns.css-var("surf-frame-action-offset")}, 1rem);
141
- inset-inline-end: var(#{ns.css-var("surf-frame-action-offset")}, 1rem);
142
- z-index: 2;
143
- display: flex;
144
- align-items: center;
145
- justify-content: center;
146
- width: var(#{ns.css-var("surf-frame-action-size")}, 3rem);
147
- height: var(#{ns.css-var("surf-frame-action-size")}, 3rem);
148
- border-radius: var(#{ns.css-var("surf-frame-action-radius")}, var(#{ns.css-var("radius")}, 0));
149
- color: var(#{ns.css-var("surf-frame-action-color")}, var(#{ns.css-var("text")}, #000));
150
- background: var(#{ns.css-var("surf-frame-action-bg")}, var(#{ns.css-var("page")}, #fff));
151
- transition:
152
- color var(#{ns.css-var("tone-change")}), background-color var(#{ns.css-var("transition-fast")}, 180ms) ease;
153
- }
154
-
155
- #{ns.element-class("frame", "action")} #{ns.class("icon-glyph")} {
156
- font-size: var(#{ns.css-var("surf-frame-action-glyph")}, 1.5rem);
157
- }
158
-
159
- #{ns.class("card")}#{ns.data("interactive", "true")}:hover #{ns.element-class("frame", "action")} {
160
- color: var(#{ns.css-var("surf-frame-action-state-hover-color")}, var(#{ns.css-var("page")}, #fff));
161
- background: var(#{ns.css-var("surf-frame-action-state-hover-bg")}, var(#{ns.css-var("focus")}, #000));
162
- }
163
-
164
- #{ns.class("card")}#{ns.data("interactive", "true")}:hover #{ns.element-class("frame", "cover")} {
165
- transform: scale(var(#{ns.css-var("surf-frame-cover-state-hover-scale")}, 1.05));
166
- }
167
-
168
68
  #{ns.class("logo")} {
169
69
  display: inline-flex;
170
70
  flex: 0 1 auto;
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  }
9
9
  },
10
10
  "name": "@trebired/frontend",
11
- "version": "26.2.0",
11
+ "version": "27.0.0",
12
12
  "description": "Generic browser runtime systems for Trebired frontend packages and applications.",
13
13
  "type": "module",
14
14
  "private": false,
@@ -1,174 +0,0 @@
1
- @use "@trebired/bundler/namespace" as ns;
2
-
3
- #{ns.class("band")} {
4
- display: flex;
5
- flex-direction: column;
6
- align-items: center;
7
- padding-block: var(#{ns.css-var("surf-band-root-py")}, clamp(2.5rem, 5vw, 4rem));
8
- padding-inline: var(#{ns.css-var("surf-band-root-px")}, clamp(1rem, 3vw, 2rem));
9
- color: var(#{ns.css-var("surf-band-root-color")}, var(#{ns.css-var("text")}, #000));
10
- background: var(#{ns.css-var("surf-band-root-bg")}, var(#{ns.css-var("page")}, #fff));
11
- }
12
-
13
- #{ns.class("band")} > * {
14
- width: min(var(#{ns.css-var("surf-band-root-max")}, 80rem), 100%);
15
- min-width: 0;
16
- }
17
-
18
- #{ns.class("band")}--muted {
19
- color: var(#{ns.css-var("surf-band-tone-muted-color")}, var(#{ns.css-var("text")}, #000));
20
- background: var(#{ns.css-var("surf-band-tone-muted-bg")}, var(#{ns.css-var("surface-muted")}, #eee));
21
- }
22
-
23
- #{ns.class("band")}--inverse {
24
- #{ns.css-var("text-muted")}: var(
25
- #{ns.css-var("surf-band-tone-inverse-text-muted")},
26
- color-mix(in srgb, currentColor 62%, transparent)
27
- );
28
- color: var(#{ns.css-var("surf-band-tone-inverse-color")}, var(#{ns.css-var("page")}, #fff));
29
- background: var(#{ns.css-var("surf-band-tone-inverse-bg")}, var(#{ns.css-var("ink")}, #000));
30
- }
31
-
32
- #{ns.class("tile")} {
33
- display: inline-flex;
34
- flex: 0 0 auto;
35
- align-items: center;
36
- justify-content: center;
37
- width: var(#{ns.css-var("surf-tile-root-size")}, 3rem);
38
- height: var(#{ns.css-var("surf-tile-root-size")}, 3rem);
39
- border-radius: var(#{ns.css-var("surf-tile-root-radius")}, var(#{ns.css-var("radius")}, 0));
40
- color: var(#{ns.css-var("surf-tile-root-color")}, currentColor);
41
- background: var(#{ns.css-var("surf-tile-root-bg")}, transparent);
42
- transition: background-color var(#{ns.css-var("transition-fast")}, 180ms) ease,
43
- color var(#{ns.css-var("transition-fast")}, 180ms) ease;
44
- }
45
-
46
- #{ns.class("tile")} #{ns.class("icon-glyph")} {
47
- font-size: var(#{ns.css-var("surf-tile-root-glyph")}, 1.5rem);
48
- }
49
-
50
- #{ns.class("tile")}--sm {
51
- #{ns.css-var("surf-tile-root-size")}: var(#{ns.css-var("surf-tile-sizes-sm-size")}, 2.5rem);
52
- #{ns.css-var("surf-tile-root-glyph")}: var(#{ns.css-var("surf-tile-sizes-sm-glyph")}, 1rem);
53
- }
54
-
55
- #{ns.class("tile")}--lg {
56
- #{ns.css-var("surf-tile-root-size")}: var(#{ns.css-var("surf-tile-sizes-lg-size")}, 4rem);
57
- #{ns.css-var("surf-tile-root-glyph")}: var(#{ns.css-var("surf-tile-sizes-lg-glyph")}, 1.75rem);
58
- }
59
-
60
- #{ns.class("tile")}--muted {
61
- color: var(#{ns.css-var("surf-tile-tone-muted-color")}, var(#{ns.css-var("text")}, #000));
62
- background: var(#{ns.css-var("surf-tile-tone-muted-bg")}, var(#{ns.css-var("surface-muted")}, #eee));
63
- }
64
-
65
- #{ns.class("tile")}--inverse {
66
- color: var(#{ns.css-var("surf-tile-tone-inverse-color")}, var(#{ns.css-var("page")}, #fff));
67
- background: var(#{ns.css-var("surf-tile-tone-inverse-bg")}, var(#{ns.css-var("text")}, #000));
68
- }
69
-
70
- #{ns.class("tile")}--accent {
71
- color: var(#{ns.css-var("surf-tile-tone-accent-color")}, var(#{ns.css-var("page")}, #fff));
72
- background: var(#{ns.css-var("surf-tile-tone-accent-bg")}, var(#{ns.css-var("focus")}, #000));
73
- }
74
-
75
- #{ns.class("tile")}#{ns.data("tile-glyph", "accent")} {
76
- color: var(#{ns.css-var("surf-tile-slot-glyph-accent")}, var(#{ns.css-var("focus")}, #000));
77
- }
78
-
79
- #{ns.class("rule")} {
80
- border-inline-start: var(#{ns.css-var("surf-rule-root-width")}, 4px)
81
- solid var(#{ns.css-var("surf-rule-root-color")}, currentColor);
82
- padding-inline-start: var(#{ns.css-var("surf-rule-root-gap")}, 0.75rem);
83
- }
84
-
85
- #{ns.class("action-row")} {
86
- display: flex;
87
- align-items: center;
88
- gap: var(#{ns.css-var("surf-action-row-root-gap")}, var(#{ns.css-var("gap-sm")}, 12px));
89
- min-width: 0;
90
- padding: var(#{ns.css-var("surf-action-row-root-padding")}, var(#{ns.css-var("gap-sm")}, 12px));
91
- color: var(#{ns.css-var("surf-action-row-root-color")}, inherit);
92
- background: var(#{ns.css-var("surf-action-row-root-bg")}, transparent);
93
- transition: background-color var(#{ns.css-var("transition-fast")}, 180ms) ease,
94
- color var(#{ns.css-var("transition-fast")}, 180ms) ease;
95
- }
96
-
97
- #{ns.element-class("action-row", "body")} {
98
- display: grid;
99
- flex: 1;
100
- gap: var(#{ns.css-var("surf-action-row-body-gap")}, var(#{ns.css-var("gap-xs2")}, 4px));
101
- min-width: 0;
102
- }
103
-
104
- #{ns.element-class("action-row", "value")} {
105
- overflow-wrap: break-word;
106
- color: var(#{ns.css-var("surf-action-row-value-color")}, inherit);
107
- font-size: min(
108
- var(#{ns.css-var("surf-action-row-value-font-size")}, 1.25rem),
109
- max(0.85rem, 4.2vw)
110
- );
111
- font-weight: var(#{ns.css-var("surf-action-row-value-font-weight")}, 700);
112
- transition: color var(#{ns.css-var("transition-fast")}, 180ms) ease;
113
- }
114
-
115
- #{ns.element-class("action-row", "arrow")} {
116
- flex: 0 0 auto;
117
- color: var(#{ns.css-var("surf-action-row-arrow-color")}, var(#{ns.css-var("text-muted")}, #666));
118
- transition: color var(#{ns.css-var("transition-fast")}, 180ms) ease;
119
- }
120
-
121
- #{ns.element-class("action-row", "arrow")} #{ns.class("icon-glyph")} {
122
- font-size: var(#{ns.css-var("surf-action-row-arrow-glyph")}, 1.25rem);
123
- }
124
-
125
- @media (hover: hover) and (pointer: fine) {
126
- #{ns.class("action-row")}#{ns.data("interactive", "true")}:hover {
127
- #{ns.css-var("text-muted")}: var(
128
- #{ns.css-var("surf-action-row-state-hover-text-muted")},
129
- color-mix(in srgb, currentColor 72%, transparent)
130
- );
131
- color: var(#{ns.css-var("surf-action-row-state-hover-color")}, inherit);
132
- background: var(#{ns.css-var("surf-action-row-state-hover-bg")}, transparent);
133
- }
134
-
135
- #{ns.class("action-row")}#{ns.data("interactive", "true")}:hover
136
- #{ns.element-class("action-row", "value")},
137
- #{ns.class("action-row")}#{ns.data("interactive", "true")}:hover
138
- #{ns.element-class("action-row", "arrow")} {
139
- color: var(#{ns.css-var("surf-action-row-state-hover-color")}, inherit);
140
- }
141
- }
142
-
143
- #{ns.class("tile")}--surface {
144
- color: var(#{ns.css-var("surf-tile-tone-surface-color")}, var(#{ns.css-var("text")}, #000));
145
- background: var(#{ns.css-var("surf-tile-tone-surface-bg")}, var(#{ns.css-var("surface")}, #fff));
146
- }
147
-
148
- #{ns.class("tag")} {
149
- display: inline-flex;
150
- flex: 0 0 auto;
151
- align-items: center;
152
- justify-content: center;
153
- gap: var(#{ns.css-var("surf-tag-root-gap")}, var(#{ns.css-var("gap-xs2")}, 4px));
154
- padding: var(#{ns.css-var("surf-tag-root-padding")}, 0.5rem 0.75rem);
155
- border-radius: var(#{ns.css-var("surf-tag-root-radius")}, var(#{ns.css-var("radius")}, 0));
156
- color: var(#{ns.css-var("surf-tag-root-color")}, var(#{ns.css-var("text")}, #000));
157
- background: var(#{ns.css-var("surf-tag-root-bg")}, var(#{ns.css-var("surface-muted")}, #eee));
158
- font-size: var(#{ns.css-var("surf-tag-root-font-size")}, 0.75rem);
159
- font-weight: var(#{ns.css-var("surf-tag-root-font-weight")}, 700);
160
- letter-spacing: var(#{ns.css-var("surf-tag-root-letter-spacing")}, normal);
161
- line-height: 1;
162
- text-transform: var(#{ns.css-var("surf-tag-root-text-transform")}, none);
163
- white-space: nowrap;
164
- }
165
-
166
- #{ns.class("tag")}--inverse {
167
- color: var(#{ns.css-var("surf-tag-tone-inverse-color")}, var(#{ns.css-var("page")}, #fff));
168
- background: var(#{ns.css-var("surf-tag-tone-inverse-bg")}, var(#{ns.css-var("text")}, #000));
169
- }
170
-
171
- #{ns.class("tag")}--accent {
172
- color: var(#{ns.css-var("surf-tag-tone-accent-color")}, var(#{ns.css-var("page")}, #fff));
173
- background: var(#{ns.css-var("surf-tag-tone-accent-bg")}, var(#{ns.css-var("focus")}, #000));
174
- }
@@ -1,91 +0,0 @@
1
- @use "@trebired/bundler/namespace" as ns;
2
-
3
- #{ns.class("pinned-split")} {
4
- display: grid;
5
- gap: var(#{ns.css-var("surf-pinned-root-gap")}, var(#{ns.css-var("gap-lg")}, 40px));
6
- align-items: start;
7
- }
8
-
9
- #{ns.element-class("pinned-split", "aside")} {
10
- min-width: 0;
11
- }
12
-
13
- #{ns.element-class("pinned-split", "body")} {
14
- min-width: 0;
15
- }
16
-
17
- @media (min-width: 900px) {
18
- #{ns.class("pinned-split")} {
19
- grid-template-columns: var(#{ns.css-var("surf-pinned-aside-width")}, minmax(0, 20rem)) minmax(0, 1fr);
20
- }
21
-
22
- #{ns.element-class("pinned-split", "aside")} {
23
- position: sticky;
24
- top: var(#{ns.css-var("surf-pinned-aside-top")}, 7rem);
25
- }
26
-
27
- #{ns.data("pinned-aside", "end")} {
28
- grid-template-columns: minmax(0, 1fr) var(#{ns.css-var("surf-pinned-aside-width")}, minmax(0, 20rem));
29
- }
30
-
31
- #{ns.data("pinned-aside", "end")} #{ns.element-class("pinned-split", "aside")} {
32
- order: 2;
33
- }
34
- }
35
-
36
- #{ns.class("track")} {
37
- display: grid;
38
- gap: var(#{ns.css-var("surf-track-root-gap")}, var(#{ns.css-var("gap-lg")}, 40px));
39
- padding: 0;
40
- margin: 0;
41
- list-style: none;
42
- }
43
-
44
- #{ns.element-class("track", "item")} {
45
- position: relative;
46
- display: grid;
47
- grid-template-columns: var(#{ns.css-var("surf-track-mark-size")}, 2.5rem) minmax(0, 1fr);
48
- gap: var(#{ns.css-var("surf-track-item-gap")}, var(#{ns.css-var("gap-md")}, 24px));
49
- align-items: start;
50
- }
51
-
52
- #{ns.element-class("track", "item")}::before {
53
- position: absolute;
54
- inset-block: 0;
55
- inset-inline-start: calc(var(#{ns.css-var("surf-track-mark-size")}, 2.5rem) / 2);
56
- width: var(#{ns.css-var("border-width")}, 1px);
57
- background: var(#{ns.css-var("border")}, currentColor);
58
- content: "";
59
- translate: -50% 0;
60
- }
61
-
62
- #{ns.element-class("track", "item")}:last-child::before {
63
- inset-block-end: auto;
64
- height: var(#{ns.css-var("surf-track-mark-size")}, 2.5rem);
65
- }
66
-
67
- #{ns.element-class("track", "mark")} {
68
- position: relative;
69
- z-index: 1;
70
- display: grid;
71
- width: var(#{ns.css-var("surf-track-mark-size")}, 2.5rem);
72
- height: var(#{ns.css-var("surf-track-mark-size")}, 2.5rem);
73
- place-items: center;
74
- border: var(#{ns.css-var("border-width")}, 1px) solid var(#{ns.css-var("border")}, currentColor);
75
- border-radius: 50%;
76
- color: var(#{ns.css-var("text")}, currentColor);
77
- background: var(#{ns.css-var("page")}, canvas);
78
- font-size: var(#{ns.css-var("surf-track-mark-font-size")}, 0.8rem);
79
- }
80
-
81
- #{ns.element-class("track", "body")} {
82
- display: grid;
83
- gap: var(#{ns.css-var("surf-track-body-gap")}, var(#{ns.css-var("gap-xs")}, 8px));
84
- min-width: 0;
85
- padding-block-end: var(#{ns.css-var("surf-track-body-pb")}, var(#{ns.css-var("gap-sm")}, 12px));
86
- }
87
-
88
- #{ns.element-class("track", "body")} > * {
89
- min-width: 0;
90
- overflow-wrap: break-word;
91
- }