@teseor/css 1.11.0 → 1.13.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 (52) hide show
  1. package/dist/compiled.css +1 -1
  2. package/dist/index.css +7 -6
  3. package/package.json +1 -1
  4. package/src/components/content/scroll-area/index.scss +1 -1
  5. package/src/components/content/scroll-area/scroll-area.api.json +1 -1
  6. package/src/components/data-display/card/card-visual.png +0 -0
  7. package/src/components/data-display/card/card.api.json +7 -0
  8. package/src/components/data-display/card/card.docs.json +118 -16
  9. package/src/components/data-display/card/index.scss +27 -0
  10. package/src/components/feedback/skeleton/skeleton-visual.png +0 -0
  11. package/src/components/feedback/skeleton/skeleton.docs.json +16 -0
  12. package/src/components/feedback/toast/toast-visual.png +0 -0
  13. package/src/components/feedback/toast/toast.docs.json +137 -0
  14. package/src/components/forms/checkbox/checkbox.docs.json +1 -6
  15. package/src/components/forms/field/field-visual.png +0 -0
  16. package/src/components/forms/field/field.api.json +3 -0
  17. package/src/components/forms/field/field.docs.json +98 -12
  18. package/src/components/forms/field/index.scss +29 -0
  19. package/src/components/forms/input/input.api.json +21 -1
  20. package/src/components/forms/radio/radio.docs.json +3 -8
  21. package/src/components/forms/textarea/index.scss +8 -0
  22. package/src/components/forms/textarea/textarea-visual.png +0 -0
  23. package/src/components/forms/textarea/textarea.api.json +3 -0
  24. package/src/components/forms/textarea/textarea.docs.json +33 -1
  25. package/src/components/navigation/breadcrumb/breadcrumb-visual.png +0 -0
  26. package/src/components/navigation/breadcrumb/breadcrumb.docs.json +70 -0
  27. package/src/components/navigation/nav/nav.api.json +10 -1
  28. package/src/components/navigation/tabs/tabs.api.json +14 -2
  29. package/src/components/overlays/drawer/drawer-visual.png +0 -0
  30. package/src/components/overlays/drawer/drawer.docs.json +25 -0
  31. package/src/components/overlays/modal/modal-visual.png +0 -0
  32. package/src/components/overlays/modal/modal.docs.json +89 -0
  33. package/src/components/overlays/popover/popover-visual.png +0 -0
  34. package/src/components/overlays/popover/popover.docs.json +46 -3
  35. package/src/config/tokens/semantic/colors/index.scss +20 -44
  36. package/src/config/tokens/theming.docs.json +135 -26
  37. package/src/layout/center/center.api.json +5 -1
  38. package/src/layout/center/index.scss +1 -0
  39. package/src/layout/column/column-visual.png +0 -0
  40. package/src/layout/column/column.docs.json +26 -0
  41. package/src/layout/grid/grid-visual.png +0 -0
  42. package/src/layout/grid/grid.api.json +9 -0
  43. package/src/layout/grid/grid.docs.json +378 -1
  44. package/src/layout/grid/index.scss +30 -0
  45. package/src/layout/row/row-visual.png +0 -0
  46. package/src/layout/row/row.docs.json +108 -0
  47. package/src/layout/sidebar-nav/sidebar-nav.docs.json +9 -3
  48. package/src/utilities/container/container.api.json +6 -0
  49. package/src/utilities/container/container.docs.json +121 -0
  50. package/src/utilities/container/index.scss +18 -0
  51. package/src/utilities/index.scss +1 -0
  52. package/src/utilities/scroll-snap/scroll-snap.docs.json +193 -4
@@ -0,0 +1,121 @@
1
+ {
2
+ "id": "container-utils",
3
+ "type": "utility",
4
+ "title": "Container",
5
+ "description": "Container query utilities for component-level responsive design.",
6
+ "api": "container.api.json",
7
+ "sections": [
8
+ {
9
+ "title": "Inline Size Containment",
10
+ "description": "Establish inline-size containment so children can use container queries to respond to the container width.",
11
+ "examples": [
12
+ {
13
+ "items": [
14
+ {
15
+ "tag": "div",
16
+ "class": "ui-container-inline ui-p-2",
17
+ "style": {
18
+ "background": "var(--ui-color-bg-muted)"
19
+ },
20
+ "children": [
21
+ {
22
+ "tag": "div",
23
+ "class": "ui-card",
24
+ "text": "This card is inside an inline-size container"
25
+ }
26
+ ]
27
+ }
28
+ ],
29
+ "code": "<div class=\"ui-container-inline\">\n <div class=\"ui-card\">Content responds to container width</div>\n</div>"
30
+ }
31
+ ]
32
+ },
33
+ {
34
+ "title": "Size Containment",
35
+ "description": "Establish containment on both axes for container queries on width and height.",
36
+ "examples": [
37
+ {
38
+ "items": [
39
+ {
40
+ "tag": "div",
41
+ "class": "ui-container-size ui-p-2",
42
+ "style": {
43
+ "background": "var(--ui-color-bg-muted)",
44
+ "block-size": "12rem"
45
+ },
46
+ "children": [
47
+ {
48
+ "tag": "div",
49
+ "class": "ui-card",
50
+ "text": "Inside a size container"
51
+ }
52
+ ]
53
+ }
54
+ ],
55
+ "code": "<div class=\"ui-container-size\">\n <div class=\"ui-card\">Content responds to container width and height</div>\n</div>"
56
+ }
57
+ ]
58
+ },
59
+ {
60
+ "title": "Remove Containment",
61
+ "description": "Reset container type back to normal (no containment).",
62
+ "examples": [
63
+ {
64
+ "items": [
65
+ {
66
+ "tag": "div",
67
+ "class": "ui-container-normal ui-p-2",
68
+ "style": {
69
+ "background": "var(--ui-color-bg-muted)"
70
+ },
71
+ "children": [
72
+ {
73
+ "tag": "div",
74
+ "class": "ui-card",
75
+ "text": "No containment on this container"
76
+ }
77
+ ]
78
+ }
79
+ ],
80
+ "code": "<div class=\"ui-container-normal\">\n <div class=\"ui-card\">Normal container behavior</div>\n</div>"
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ "title": "With Responsive Card",
86
+ "description": "Combine container-inline with card--responsive for automatic horizontal layout at wider container sizes.",
87
+ "examples": [
88
+ {
89
+ "items": [
90
+ {
91
+ "tag": "div",
92
+ "class": "ui-container-inline",
93
+ "children": [
94
+ {
95
+ "tag": "div",
96
+ "class": "ui-card ui-card--responsive",
97
+ "children": [
98
+ {
99
+ "tag": "div",
100
+ "class": "ui-card__media",
101
+ "style": {
102
+ "background": "var(--ui-color-bg-muted)",
103
+ "min-block-size": "6rem"
104
+ }
105
+ },
106
+ {
107
+ "tag": "div",
108
+ "class": "ui-card__body",
109
+ "text": "Card switches to horizontal layout when container is wide enough"
110
+ }
111
+ ]
112
+ }
113
+ ]
114
+ }
115
+ ],
116
+ "code": "<div class=\"ui-container-inline\">\n <div class=\"ui-card ui-card--responsive\">\n <div class=\"ui-card__media\">Image</div>\n <div class=\"ui-card__body\">Switches to horizontal at >= 30rem</div>\n </div>\n</div>"
117
+ }
118
+ ]
119
+ }
120
+ ]
121
+ }
@@ -0,0 +1,18 @@
1
+ // Container query utilities
2
+
3
+ @layer utilities {
4
+ // Establish inline-size containment for container queries
5
+ .container-inline {
6
+ container-type: inline-size;
7
+ }
8
+
9
+ // Establish size containment (both axes) for container queries
10
+ .container-size {
11
+ container-type: size;
12
+ }
13
+
14
+ // Remove containment
15
+ .container-normal {
16
+ container-type: normal;
17
+ }
18
+ }
@@ -5,3 +5,4 @@
5
5
  @forward "./visually-hidden/index";
6
6
  @forward "./view-transition/index";
7
7
  @forward "./scroll-snap/index";
8
+ @forward "./container/index";
@@ -104,10 +104,181 @@
104
104
  }
105
105
  ]
106
106
  },
107
+ {
108
+ "title": "Proximity Snap",
109
+ "description": "Softer snap that only engages when close to a snap point.",
110
+ "examples": [
111
+ {
112
+ "items": [
113
+ {
114
+ "tag": "div",
115
+ "class": "ui-snap-x-proximity ui-flex ui-gap-2 ui-p-2",
116
+ "style": { "max-inline-size": "20rem" },
117
+ "children": [
118
+ {
119
+ "tag": "div",
120
+ "class": "ui-snap-start ui-card ui-p-2",
121
+ "style": { "min-inline-size": "10rem" },
122
+ "text": "Proximity 1"
123
+ },
124
+ {
125
+ "tag": "div",
126
+ "class": "ui-snap-start ui-card ui-p-2",
127
+ "style": { "min-inline-size": "10rem" },
128
+ "text": "Proximity 2"
129
+ },
130
+ {
131
+ "tag": "div",
132
+ "class": "ui-snap-start ui-card ui-p-2",
133
+ "style": { "min-inline-size": "10rem" },
134
+ "text": "Proximity 3"
135
+ }
136
+ ]
137
+ }
138
+ ],
139
+ "code": "<div class=\"ui-snap-x-proximity ui-flex ui-gap-2\">\n <div class=\"ui-snap-start\">Proximity 1</div>\n <div class=\"ui-snap-start\">Proximity 2</div>\n</div>"
140
+ },
141
+ {
142
+ "items": [
143
+ {
144
+ "tag": "div",
145
+ "class": "ui-snap-y-proximity",
146
+ "style": { "max-block-size": "8rem" },
147
+ "children": [
148
+ { "tag": "div", "class": "ui-snap-start ui-card ui-p-2", "text": "Section 1" },
149
+ { "tag": "div", "class": "ui-snap-start ui-card ui-p-2", "text": "Section 2" },
150
+ { "tag": "div", "class": "ui-snap-start ui-card ui-p-2", "text": "Section 3" }
151
+ ]
152
+ }
153
+ ],
154
+ "code": "<div class=\"ui-snap-y-proximity\" style=\"max-block-size: 8rem\">\n <div class=\"ui-snap-start\">Section 1</div>\n <div class=\"ui-snap-start\">Section 2</div>\n</div>"
155
+ }
156
+ ]
157
+ },
158
+ {
159
+ "title": "End Alignment and Stop",
160
+ "description": "Snap children to end position or force stop at every snap point.",
161
+ "examples": [
162
+ {
163
+ "items": [
164
+ {
165
+ "tag": "div",
166
+ "class": "ui-snap-x ui-flex ui-gap-2 ui-p-2",
167
+ "style": { "max-inline-size": "20rem" },
168
+ "children": [
169
+ {
170
+ "tag": "div",
171
+ "class": "ui-snap-end ui-card ui-p-2",
172
+ "style": { "min-inline-size": "10rem" },
173
+ "text": "End 1"
174
+ },
175
+ {
176
+ "tag": "div",
177
+ "class": "ui-snap-end ui-card ui-p-2",
178
+ "style": { "min-inline-size": "10rem" },
179
+ "text": "End 2"
180
+ },
181
+ {
182
+ "tag": "div",
183
+ "class": "ui-snap-end ui-card ui-p-2",
184
+ "style": { "min-inline-size": "10rem" },
185
+ "text": "End 3"
186
+ }
187
+ ]
188
+ }
189
+ ],
190
+ "code": "<div class=\"ui-snap-x ui-flex ui-gap-2\">\n <div class=\"ui-snap-end\">End 1</div>\n <div class=\"ui-snap-end\">End 2</div>\n</div>"
191
+ },
192
+ {
193
+ "items": [
194
+ {
195
+ "tag": "div",
196
+ "class": "ui-snap-x ui-flex ui-gap-2 ui-p-2",
197
+ "style": { "max-inline-size": "20rem" },
198
+ "children": [
199
+ {
200
+ "tag": "div",
201
+ "class": "ui-snap-start ui-snap-always ui-card ui-p-2",
202
+ "style": { "min-inline-size": "10rem" },
203
+ "text": "Always 1"
204
+ },
205
+ {
206
+ "tag": "div",
207
+ "class": "ui-snap-start ui-snap-always ui-card ui-p-2",
208
+ "style": { "min-inline-size": "10rem" },
209
+ "text": "Always 2"
210
+ },
211
+ {
212
+ "tag": "div",
213
+ "class": "ui-snap-start ui-snap-always ui-card ui-p-2",
214
+ "style": { "min-inline-size": "10rem" },
215
+ "text": "Always 3"
216
+ }
217
+ ]
218
+ }
219
+ ],
220
+ "code": "<div class=\"ui-snap-x ui-flex ui-gap-2\">\n <div class=\"ui-snap-start ui-snap-always\">Always 1</div>\n <div class=\"ui-snap-start ui-snap-always\">Always 2</div>\n</div>"
221
+ }
222
+ ]
223
+ },
224
+ {
225
+ "title": "Disable Snap",
226
+ "description": "Remove snap behavior from a container.",
227
+ "examples": [
228
+ {
229
+ "items": [
230
+ {
231
+ "tag": "div",
232
+ "class": "ui-snap-none ui-flex ui-gap-2 ui-p-2",
233
+ "style": { "max-inline-size": "20rem", "overflow-x": "auto" },
234
+ "children": [
235
+ {
236
+ "tag": "div",
237
+ "class": "ui-card ui-p-2",
238
+ "style": { "min-inline-size": "10rem" },
239
+ "text": "No snap 1"
240
+ },
241
+ {
242
+ "tag": "div",
243
+ "class": "ui-card ui-p-2",
244
+ "style": { "min-inline-size": "10rem" },
245
+ "text": "No snap 2"
246
+ }
247
+ ]
248
+ }
249
+ ],
250
+ "code": "<div class=\"ui-snap-none\">\n <div>No snap 1</div>\n <div>No snap 2</div>\n</div>"
251
+ }
252
+ ]
253
+ },
107
254
  {
108
255
  "title": "Scroll Padding",
109
256
  "description": "Offset snap position for fixed headers or insets.",
110
257
  "examples": [
258
+ {
259
+ "items": [
260
+ {
261
+ "tag": "div",
262
+ "class": "ui-snap-x ui-snap-p-1 ui-flex ui-gap-2 ui-p-2",
263
+ "style": { "max-inline-size": "20rem" },
264
+ "children": [
265
+ {
266
+ "tag": "div",
267
+ "class": "ui-snap-start ui-card ui-p-2",
268
+ "style": { "min-inline-size": "10rem" },
269
+ "text": "p-1"
270
+ },
271
+ {
272
+ "tag": "div",
273
+ "class": "ui-snap-start ui-card ui-p-2",
274
+ "style": { "min-inline-size": "10rem" },
275
+ "text": "p-1"
276
+ }
277
+ ]
278
+ }
279
+ ],
280
+ "code": "<div class=\"ui-snap-x ui-snap-p-1 ui-flex ui-gap-2\">\n <div class=\"ui-snap-start\">p-1</div>\n</div>"
281
+ },
111
282
  {
112
283
  "items": [
113
284
  {
@@ -119,24 +290,42 @@
119
290
  "tag": "div",
120
291
  "class": "ui-snap-start ui-card ui-p-2",
121
292
  "style": { "min-inline-size": "10rem" },
122
- "text": "Padded 1"
293
+ "text": "p-2"
123
294
  },
124
295
  {
125
296
  "tag": "div",
126
297
  "class": "ui-snap-start ui-card ui-p-2",
127
298
  "style": { "min-inline-size": "10rem" },
128
- "text": "Padded 2"
299
+ "text": "p-2"
300
+ }
301
+ ]
302
+ }
303
+ ],
304
+ "code": "<div class=\"ui-snap-x ui-snap-p-2 ui-flex ui-gap-2\">\n <div class=\"ui-snap-start\">p-2</div>\n</div>"
305
+ },
306
+ {
307
+ "items": [
308
+ {
309
+ "tag": "div",
310
+ "class": "ui-snap-x ui-snap-p-4 ui-flex ui-gap-2 ui-p-2",
311
+ "style": { "max-inline-size": "20rem" },
312
+ "children": [
313
+ {
314
+ "tag": "div",
315
+ "class": "ui-snap-start ui-card ui-p-2",
316
+ "style": { "min-inline-size": "10rem" },
317
+ "text": "p-4"
129
318
  },
130
319
  {
131
320
  "tag": "div",
132
321
  "class": "ui-snap-start ui-card ui-p-2",
133
322
  "style": { "min-inline-size": "10rem" },
134
- "text": "Padded 3"
323
+ "text": "p-4"
135
324
  }
136
325
  ]
137
326
  }
138
327
  ],
139
- "code": "<div class=\"ui-snap-x ui-snap-p-2 ui-flex ui-gap-2\">\n <div class=\"ui-snap-start\">Padded 1</div>\n <div class=\"ui-snap-start\">Padded 2</div>\n</div>"
328
+ "code": "<div class=\"ui-snap-x ui-snap-p-4 ui-flex ui-gap-2\">\n <div class=\"ui-snap-start\">p-4</div>\n</div>"
140
329
  }
141
330
  ]
142
331
  }