@ketvietlab/design-system 0.1.16 → 0.1.17

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 (94) hide show
  1. package/README.md +29 -0
  2. package/dist/catalogue/catalogue.css +8 -0
  3. package/dist/catalogue/index.js +1 -1
  4. package/dist/catalogue/inventory-policy.json +21 -0
  5. package/dist/catalogue/inventory.generated.js +1 -1
  6. package/dist/catalogue/inventory.generated.js.map +1 -1
  7. package/dist/catalogue/inventory.generated.json +646 -84
  8. package/dist/catalogue/registry.d.ts.map +1 -1
  9. package/dist/catalogue/registry.js +6 -0
  10. package/dist/catalogue/registry.js.map +1 -1
  11. package/dist/catalogue/specimens.d.ts.map +1 -1
  12. package/dist/catalogue/specimens.js +113 -8
  13. package/dist/catalogue/specimens.js.map +1 -1
  14. package/dist/contract/index.d.ts.map +1 -1
  15. package/dist/contract/index.js +6 -0
  16. package/dist/contract/index.js.map +1 -1
  17. package/dist/data-display/bar-chart/index.d.ts +61 -0
  18. package/dist/data-display/bar-chart/index.d.ts.map +1 -0
  19. package/dist/data-display/bar-chart/index.js +64 -0
  20. package/dist/data-display/bar-chart/index.js.map +1 -0
  21. package/dist/data-display/bar-chart/styles.css +191 -0
  22. package/dist/data-display/matrix/index.d.ts +36 -0
  23. package/dist/data-display/matrix/index.d.ts.map +1 -0
  24. package/dist/data-display/matrix/index.js +28 -0
  25. package/dist/data-display/matrix/index.js.map +1 -0
  26. package/dist/data-display/matrix/styles.css +148 -0
  27. package/dist/data-operations/timeframe-filter/index.d.ts +34 -0
  28. package/dist/data-operations/timeframe-filter/index.d.ts.map +1 -0
  29. package/dist/data-operations/timeframe-filter/index.js +30 -0
  30. package/dist/data-operations/timeframe-filter/index.js.map +1 -0
  31. package/dist/data-operations/timeframe-filter/styles.css +109 -0
  32. package/dist/foundations/tokens.css +10 -0
  33. package/dist/index.d.ts +11 -3
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +4 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/interactions/menu/index.d.ts +17 -2
  38. package/dist/interactions/menu/index.d.ts.map +1 -1
  39. package/dist/interactions/menu/index.js +21 -5
  40. package/dist/interactions/menu/index.js.map +1 -1
  41. package/dist/interactions/menu/styles.css +36 -0
  42. package/dist/layouts/app-navigation/styles.css +8 -0
  43. package/dist/layouts/layout/index.d.ts +43 -3
  44. package/dist/layouts/layout/index.d.ts.map +1 -1
  45. package/dist/layouts/layout/index.js +28 -4
  46. package/dist/layouts/layout/index.js.map +1 -1
  47. package/dist/layouts/layout/styles.css +182 -4
  48. package/dist/layouts/page-identity/index.d.ts +19 -0
  49. package/dist/layouts/page-identity/index.d.ts.map +1 -0
  50. package/dist/layouts/page-identity/index.js +6 -0
  51. package/dist/layouts/page-identity/index.js.map +1 -0
  52. package/dist/layouts/shell/index.d.ts +7 -11
  53. package/dist/layouts/shell/index.d.ts.map +1 -1
  54. package/dist/layouts/shell/index.js +12 -2
  55. package/dist/layouts/shell/index.js.map +1 -1
  56. package/dist/layouts/shell/styles.css +16 -31
  57. package/dist/patterns/data-table/index.d.ts.map +1 -1
  58. package/dist/patterns/data-table/index.js +1 -1
  59. package/dist/patterns/data-table/index.js.map +1 -1
  60. package/dist/patterns/data-table/styles.css +124 -43
  61. package/dist/patterns/list-chrome/index.d.ts +2 -2
  62. package/dist/patterns/list-chrome/index.d.ts.map +1 -1
  63. package/dist/patterns/list-chrome/index.js +4 -3
  64. package/dist/patterns/list-chrome/index.js.map +1 -1
  65. package/dist/patterns/list-chrome/styles.css +122 -40
  66. package/dist/patterns/list-page/styles.css +5 -1
  67. package/dist/patterns/modal-sheet/styles.css +1 -1
  68. package/dist/patterns/page-shell/index.d.ts +2 -23
  69. package/dist/patterns/page-shell/index.d.ts.map +1 -1
  70. package/dist/patterns/page-shell/index.js +1 -10
  71. package/dist/patterns/page-shell/index.js.map +1 -1
  72. package/dist/patterns/page-shell/styles.css +131 -0
  73. package/dist/patterns/patterns.css +1 -0
  74. package/dist/primitives/feedback/index.d.ts.map +1 -1
  75. package/dist/primitives/feedback/index.js +1 -1
  76. package/dist/primitives/feedback/index.js.map +1 -1
  77. package/dist/primitives/feedback/styles.css +13 -11
  78. package/dist/primitives/navigation/index.d.ts +11 -5
  79. package/dist/primitives/navigation/index.d.ts.map +1 -1
  80. package/dist/primitives/navigation/index.js +17 -2
  81. package/dist/primitives/navigation/index.js.map +1 -1
  82. package/dist/primitives/navigation/styles.css +101 -13
  83. package/dist/primitives/status/index.d.ts.map +1 -1
  84. package/dist/primitives/status/index.js +2 -2
  85. package/dist/primitives/status/index.js.map +1 -1
  86. package/dist/primitives/status/styles.css +8 -8
  87. package/dist/record/display/index.js +1 -1
  88. package/dist/record/display/index.js.map +1 -1
  89. package/dist/record/display/styles.css +2 -2
  90. package/dist/runtime/index.d.ts.map +1 -1
  91. package/dist/runtime/index.js +99 -4
  92. package/dist/runtime/index.js.map +1 -1
  93. package/dist/styles.css +2 -50
  94. package/package.json +2 -2
@@ -1,12 +1,14 @@
1
1
  @layer ket.app {
2
- :where([data-kv-design-system]) [data-ui="list-chrome"] {
2
+ :where([data-kv-design-system]) [data-ui="list-chrome"][data-pattern="list-chrome"] {
3
3
  display: grid;
4
4
  gap: var(--kv-space-2);
5
5
  width: 100%;
6
6
  min-width: 0;
7
7
  }
8
8
 
9
- :where([data-kv-design-system]) [data-ui="list-chrome-row"] {
9
+ :where([data-kv-design-system])
10
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
11
+ [data-ui="list-chrome-row"] {
10
12
  display: flex;
11
13
  flex-wrap: wrap;
12
14
  align-items: center;
@@ -14,21 +16,29 @@
14
16
  min-width: 0;
15
17
  }
16
18
 
17
- :where([data-kv-design-system]) [data-ui="list-chrome-row"]:empty {
19
+ :where([data-kv-design-system])
20
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
21
+ [data-ui="list-chrome-row"]:empty {
18
22
  display: none;
19
23
  }
20
24
 
21
- :where([data-kv-design-system]) [data-ui="list-chrome-row"][data-row="query"] {
25
+ :where([data-kv-design-system])
26
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
27
+ [data-ui="list-chrome-row"][data-row="query"] {
22
28
  flex-wrap: nowrap;
23
29
  align-items: center;
24
30
  }
25
31
 
26
- :where([data-kv-design-system]) [data-ui="list-chrome-row"][data-row="filters"] {
32
+ :where([data-kv-design-system])
33
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
34
+ [data-ui="list-chrome-row"][data-row="filters"] {
27
35
  flex: 0 1 auto;
28
36
  min-width: 0;
29
37
  }
30
38
 
31
- :where([data-kv-design-system]) [data-ui="list-chrome-row"][data-row="tail"] {
39
+ :where([data-kv-design-system])
40
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
41
+ [data-ui="list-chrome-row"][data-row="tail"] {
32
42
  flex: 0 1 auto;
33
43
  flex-wrap: nowrap;
34
44
  align-items: center;
@@ -36,12 +46,16 @@
36
46
  max-width: 100%;
37
47
  }
38
48
 
39
- :where([data-kv-design-system]) [data-ui="list-chrome-row"][data-row="meta"] {
49
+ :where([data-kv-design-system])
50
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
51
+ [data-ui="list-chrome-row"][data-row="meta"] {
40
52
  flex: 0 0 auto;
41
53
  flex-wrap: nowrap;
42
54
  }
43
55
 
44
- :where([data-kv-design-system]) [data-ui="list-search"] {
56
+ :where([data-kv-design-system])
57
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
58
+ [data-ui="list-search"] {
45
59
  display: flex;
46
60
  flex: 1 1 16rem;
47
61
  align-items: stretch;
@@ -52,13 +66,19 @@
52
66
  background: var(--kv-input-bg);
53
67
  }
54
68
 
55
- :where([data-kv-design-system]) [data-ui="list-search"]:focus-within {
69
+ :where([data-kv-design-system])
70
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
71
+ [data-ui="list-search"]:focus-within {
56
72
  border-color: var(--kv-input-border-focus);
57
73
  box-shadow: var(--kv-input-ring);
58
74
  }
59
75
 
60
- :where([data-kv-design-system]) [data-ui="list-search-label"],
61
- :where([data-kv-design-system]) [data-ui="list-sort-label"] {
76
+ :where([data-kv-design-system])
77
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
78
+ [data-ui="list-search-label"],
79
+ :where([data-kv-design-system])
80
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
81
+ [data-ui="list-sort-label"] {
62
82
  position: absolute;
63
83
  width: 1px;
64
84
  height: 1px;
@@ -67,8 +87,12 @@
67
87
  white-space: nowrap;
68
88
  }
69
89
 
70
- :where([data-kv-design-system]) [data-ui="list-search-input"],
71
- :where([data-kv-design-system]) [data-ui="list-sort-select"] {
90
+ :where([data-kv-design-system])
91
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
92
+ [data-ui="list-search-input"],
93
+ :where([data-kv-design-system])
94
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
95
+ [data-ui="list-sort-select"] {
72
96
  width: 100%;
73
97
  min-width: 0;
74
98
  min-height: var(--kv-control-height-compact);
@@ -79,7 +103,9 @@
79
103
  font: inherit;
80
104
  }
81
105
 
82
- :where([data-kv-design-system]) [data-ui="list-search-input"] {
106
+ :where([data-kv-design-system])
107
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
108
+ [data-ui="list-search-input"] {
83
109
  flex: 1 1 auto;
84
110
  width: 100%;
85
111
  min-width: 0;
@@ -91,19 +117,25 @@
91
117
  font: inherit;
92
118
  }
93
119
 
94
- :where([data-kv-design-system]) [data-ui="list-search-input"]:focus-visible {
120
+ :where([data-kv-design-system])
121
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
122
+ [data-ui="list-search-input"]:focus-visible {
95
123
  outline: none;
96
124
  box-shadow: none;
97
125
  }
98
126
 
99
- :where([data-kv-design-system]) [data-ui="list-search-submit"] {
127
+ :where([data-kv-design-system])
128
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
129
+ [data-ui="list-search-submit"] {
100
130
  display: inline-flex;
101
131
  align-items: center;
102
132
  padding-right: var(--kv-space-1);
103
133
  }
104
134
 
105
- :where([data-kv-design-system]) [data-ui="list-facets"],
106
- :where([data-kv-design-system]) [data-ui="list-view-switch"] {
135
+ :where([data-kv-design-system]) [data-ui="list-chrome"][data-pattern="list-chrome"] [data-ui="list-facets"],
136
+ :where([data-kv-design-system])
137
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
138
+ [data-ui="list-view-switch"] {
107
139
  display: flex;
108
140
  flex-wrap: wrap;
109
141
  align-items: center;
@@ -112,8 +144,8 @@
112
144
  max-width: 100%;
113
145
  }
114
146
 
115
- :where([data-kv-design-system]) [data-ui="list-facet"],
116
- :where([data-kv-design-system]) [data-ui="list-view"] {
147
+ :where([data-kv-design-system]) [data-ui="list-chrome"][data-pattern="list-chrome"] [data-ui="list-facet"],
148
+ :where([data-kv-design-system]) [data-ui="list-chrome"][data-pattern="list-chrome"] [data-ui="list-view"] {
117
149
  display: inline-flex;
118
150
  align-items: center;
119
151
  gap: var(--kv-space-1);
@@ -127,14 +159,20 @@
127
159
  text-decoration: none;
128
160
  }
129
161
 
130
- :where([data-kv-design-system]) [data-ui="list-facet"][data-active="true"],
131
- :where([data-kv-design-system]) [data-ui="list-view"][data-active="true"] {
162
+ :where([data-kv-design-system])
163
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
164
+ [data-ui="list-facet"][data-active="true"],
165
+ :where([data-kv-design-system])
166
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
167
+ [data-ui="list-view"][data-active="true"] {
132
168
  border-color: var(--kv-color-accent);
133
169
  background: var(--kv-color-accent-soft);
134
170
  color: var(--kv-color-accent);
135
171
  }
136
172
 
137
- :where([data-kv-design-system]) [data-ui="list-facet-count"] {
173
+ :where([data-kv-design-system])
174
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
175
+ [data-ui="list-facet-count"] {
138
176
  display: inline-grid;
139
177
  min-width: 1.375rem;
140
178
  padding: 0 var(--kv-space-1);
@@ -147,30 +185,38 @@
147
185
  text-align: center;
148
186
  }
149
187
 
150
- :where([data-kv-design-system]) [data-ui="list-sort"] {
188
+ :where([data-kv-design-system]) [data-ui="list-chrome"][data-pattern="list-chrome"] [data-ui="list-sort"] {
151
189
  display: inline-grid;
152
190
  grid-template-columns: minmax(8rem, 12rem) auto;
153
191
  align-items: center;
154
192
  gap: var(--kv-space-2);
155
193
  }
156
194
 
157
- :where([data-kv-design-system]) [data-ui="list-sort-select"] {
195
+ :where([data-kv-design-system])
196
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
197
+ [data-ui="list-sort-select"] {
158
198
  padding: 0 var(--kv-space-2);
159
199
  }
160
200
 
161
- :where([data-kv-design-system]) [data-ui="list-status"] {
201
+ :where([data-kv-design-system])
202
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
203
+ [data-ui="list-status"] {
162
204
  color: var(--kv-text-muted);
163
205
  font-size: var(--kv-text-sm);
164
206
  }
165
207
 
166
- :where([data-kv-design-system]) [data-ui="list-actions"] {
208
+ :where([data-kv-design-system])
209
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
210
+ [data-ui="list-actions"] {
167
211
  display: inline-flex;
168
212
  flex-wrap: wrap;
169
213
  justify-content: flex-end;
170
214
  gap: var(--kv-space-2);
171
215
  }
172
216
 
173
- :where([data-kv-design-system]) [data-ui="bulk-actions"] {
217
+ :where([data-kv-design-system])
218
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
219
+ [data-ui="bulk-actions"] {
174
220
  display: flex;
175
221
  flex-wrap: wrap;
176
222
  align-items: center;
@@ -180,11 +226,13 @@
180
226
  font-size: var(--kv-text-sm);
181
227
  }
182
228
 
183
- :where([data-kv-design-system]) [data-ui="bulk-actions"]:not([data-has-selection="true"]) {
229
+ :where([data-kv-design-system])
230
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
231
+ [data-ui="bulk-actions"]:not([data-has-selection="true"]) {
184
232
  display: none;
185
233
  }
186
234
 
187
- :where([data-kv-design-system]) [data-ui="pager-bar"] {
235
+ :where([data-kv-design-system]) [data-ui="list-chrome"][data-pattern="list-chrome"] [data-ui="pager-bar"] {
188
236
  display: flex;
189
237
  flex-wrap: nowrap;
190
238
  align-items: center;
@@ -195,12 +243,25 @@
195
243
  font-size: var(--kv-text-sm);
196
244
  }
197
245
 
198
- :where([data-kv-design-system]) [data-ui="bulk-actions"][data-has-selection="true"] {
246
+ :where([data-kv-design-system])
247
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
248
+ [data-ui="bulk-actions"][data-has-selection="true"] {
199
249
  color: var(--kv-text-secondary);
200
250
  }
201
251
 
202
- :where([data-kv-design-system]) [data-ui="bulk-summary"],
203
- :where([data-kv-design-system]) [data-ui="pager-summary"] {
252
+ /* The live selected-row figure the runtime rewrites as checkboxes change. */
253
+ :where([data-kv-design-system]) [data-ui="bulk-count"] {
254
+ color: var(--kv-color-ink);
255
+ font-weight: var(--kv-weight-semibold);
256
+ font-variant-numeric: tabular-nums;
257
+ }
258
+
259
+ :where([data-kv-design-system])
260
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
261
+ [data-ui="bulk-summary"],
262
+ :where([data-kv-design-system])
263
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
264
+ [data-ui="pager-summary"] {
204
265
  display: inline-flex;
205
266
  flex-wrap: nowrap;
206
267
  align-items: center;
@@ -209,17 +270,23 @@
209
270
  white-space: nowrap;
210
271
  }
211
272
 
212
- :where([data-kv-design-system]) [data-ui="bulk-action-list"],
213
- :where([data-kv-design-system]) [data-ui="pager-actions"],
214
- :where([data-kv-design-system]) [data-ui="pager-pages"] {
273
+ :where([data-kv-design-system])
274
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
275
+ [data-ui="bulk-action-list"],
276
+ :where([data-kv-design-system])
277
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
278
+ [data-ui="pager-actions"],
279
+ :where([data-kv-design-system])
280
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
281
+ [data-ui="pager-pages"] {
215
282
  display: inline-flex;
216
283
  flex-wrap: wrap;
217
284
  align-items: center;
218
285
  gap: var(--kv-space-1);
219
286
  }
220
287
 
221
- :where([data-kv-design-system]) [data-ui="pager-link"],
222
- :where([data-kv-design-system]) [data-ui="pager-page"] {
288
+ :where([data-kv-design-system]) [data-ui="list-chrome"][data-pattern="list-chrome"] [data-ui="pager-link"],
289
+ :where([data-kv-design-system]) [data-ui="list-chrome"][data-pattern="list-chrome"] [data-ui="pager-page"] {
223
290
  display: inline-grid;
224
291
  place-items: center;
225
292
  min-width: 2rem;
@@ -233,13 +300,28 @@
233
300
  text-decoration: none;
234
301
  }
235
302
 
236
- :where([data-kv-design-system]) [data-ui="pager-page"][data-active="true"] {
303
+ :where([data-kv-design-system])
304
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
305
+ [data-ui="pager-page"][data-active="true"] {
237
306
  border-color: var(--kv-color-accent);
238
307
  background: var(--kv-color-accent-soft);
239
308
  color: var(--kv-color-accent);
240
309
  }
241
310
 
242
- :where([data-kv-design-system]) [data-ui="pager-link"][data-disabled="true"] {
311
+ :where([data-kv-design-system])
312
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
313
+ [data-ui="pager-link"][data-disabled="true"] {
243
314
  opacity: 0.45;
244
315
  }
316
+
317
+ @media (max-width: 47.9375rem) {
318
+ :where([data-kv-design-system])
319
+ [data-ui="list-chrome"][data-pattern="list-chrome"]
320
+ [data-ui="list-sort"] {
321
+ flex: 1 1 8rem;
322
+ grid-template-columns: minmax(0, 1fr) auto;
323
+ min-width: 0;
324
+ max-width: 100%;
325
+ }
326
+ }
245
327
  }
@@ -134,6 +134,8 @@
134
134
  :where([data-kv-design-system])
135
135
  [data-ui="list-page"][data-variant="operational"]
136
136
  [data-ui="list-page-header"] {
137
+ display: grid;
138
+ min-width: 0;
137
139
  padding: var(--kv-space-4) var(--kv-page-padding-x);
138
140
  border-bottom: 1px solid var(--kv-panel-divider);
139
141
  background: var(--kv-page-chrome-bg);
@@ -143,8 +145,10 @@
143
145
  [data-ui="list-page"][data-variant="operational"]
144
146
  [data-ui="list-page-title-row"] {
145
147
  display: grid;
148
+ min-width: 0;
146
149
  grid-template-columns: minmax(0, 1fr) auto;
147
- gap: var(--kv-space-5);
150
+ align-items: center;
151
+ gap: var(--kv-space-4);
148
152
  }
149
153
 
150
154
  :where([data-kv-design-system])
@@ -87,7 +87,7 @@
87
87
  [data-ui="modal-layer"][data-presentation="dialog"]
88
88
  [data-ui="modal-sheet"][data-size="large"] {
89
89
  width: min(75rem, 100%);
90
- height: min(62.5rem, calc(100dvh - var(--kv-space-12)));
90
+ height: auto;
91
91
  }
92
92
 
93
93
  :where([data-kv-design-system]) [data-ui="modal-layer"][data-mode="embedded"] [data-ui="modal-sheet"] {
@@ -1,24 +1,3 @@
1
- import type { JSXChild, TemplateResult } from '@ketvietlab/ketjs-view';
2
- export type PageIdentityKind = 'list-page' | 'record-page' | 'form-page' | 'workspace-page' | 'dashboard-page' | 'board-page';
3
- export type PageIdentityProps = {
4
- context?: JSXChild;
5
- eyebrow?: string | null;
6
- title: string;
7
- description?: string | null;
8
- status?: JSXChild;
9
- actions?: JSXChild;
10
- meta?: JSXChild;
11
- };
12
- type PageIdentityContentProps = PageIdentityProps & {
13
- groupDescription?: boolean;
14
- };
15
- /**
16
- * The single identity band shared by every full-page pattern.
17
- *
18
- * The pattern name remains in each hook so consumers can style the content
19
- * contract without reimplementing breadcrumbs, title hierarchy or actions.
20
- */
21
- export declare const pageIdentityContent: (kind: PageIdentityKind, props: PageIdentityContentProps) => TemplateResult;
22
- export declare const pageIdentity: (kind: PageIdentityKind, props: PageIdentityProps) => TemplateResult;
23
- export {};
1
+ export { pageIdentity, pageIdentityContent } from '../../layouts/page-identity/index.tsx';
2
+ export type { PageIdentityKind, PageIdentityProps } from '../../layouts/page-identity/index.tsx';
24
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/design-system/src/patterns/page-shell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEtE,MAAM,MAAM,gBAAgB,GACxB,WAAW,GACX,aAAa,GACb,WAAW,GACX,gBAAgB,GAChB,gBAAgB,GAChB,YAAY,CAAA;AAEhB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,QAAQ,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAA;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,KAAK,wBAAwB,GAAG,iBAAiB,GAAG;IAClD,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,SACxB,gBAAgB,SACf,wBAAwB,KAC9B,cAoBF,CAAA;AAED,eAAO,MAAM,YAAY,SAAU,gBAAgB,SAAS,iBAAiB,KAAG,cAK/E,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/design-system/src/patterns/page-shell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AACzF,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA"}
@@ -1,11 +1,2 @@
1
- import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "@ketvietlab/ketjs-view/jsx-runtime";
2
- /**
3
- * The single identity band shared by every full-page pattern.
4
- *
5
- * The pattern name remains in each hook so consumers can style the content
6
- * contract without reimplementing breadcrumbs, title hierarchy or actions.
7
- */
8
- export const pageIdentityContent = (kind, props) => (_jsxs(_Fragment, { children: [_jsxs("div", { "data-ui": `${kind}-heading`, children: [!!props.eyebrow && _jsx("p", { "data-ui": `${kind}-eyebrow`, children: props.eyebrow }), _jsxs("div", { "data-ui": `${kind}-title-row`, children: [_jsx("h1", { "data-ui": `${kind}-title`, children: props.title }), props.actions !== undefined && _jsx("div", { "data-ui": `${kind}-actions`, children: props.actions })] }), (props.groupDescription || props.status !== undefined) &&
9
- (!!props.description || props.status !== undefined) ? (_jsxs("div", { "data-ui": `${kind}-subline`, children: [!!props.description && _jsx("p", { "data-ui": `${kind}-description`, children: props.description }), props.status !== undefined && _jsx("span", { "data-ui": `${kind}-status`, children: props.status })] })) : (!!props.description && _jsx("p", { "data-ui": `${kind}-description`, children: props.description }))] }), props.meta !== undefined && _jsx("div", { "data-ui": `${kind}-meta`, children: props.meta })] }));
10
- export const pageIdentity = (kind, props) => (_jsxs(_Fragment, { children: [props.context !== undefined && _jsx("div", { "data-ui": `${kind}-context`, children: props.context }), _jsx("header", { "data-ui": `${kind}-header`, children: pageIdentityContent(kind, props) })] }));
1
+ export { pageIdentity, pageIdentityContent } from '../../layouts/page-identity/index.js';
11
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/design-system/src/patterns/page-shell/index.tsx"],"names":[],"mappings":";AAwBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAAsB,EACtB,KAA+B,EACf,EAAE,CAAC,CACnB,8BACE,0BAAc,GAAG,IAAI,UAAU,aAC5B,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,uBAAY,GAAG,IAAI,UAAU,YAAG,KAAK,CAAC,OAAO,GAAK,EACtE,0BAAc,GAAG,IAAI,YAAY,aAC/B,wBAAa,GAAG,IAAI,QAAQ,YAAG,KAAK,CAAC,KAAK,GAAM,EAC/C,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,yBAAc,GAAG,IAAI,UAAU,YAAG,KAAK,CAAC,OAAO,GAAO,IAClF,EACL,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;oBACvD,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CACpD,0BAAc,GAAG,IAAI,UAAU,aAC5B,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,uBAAY,GAAG,IAAI,cAAc,YAAG,KAAK,CAAC,WAAW,GAAK,EACjF,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,0BAAe,GAAG,IAAI,SAAS,YAAG,KAAK,CAAC,MAAM,GAAQ,IACjF,CACP,CAAC,CAAC,CAAC,CACF,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,uBAAY,GAAG,IAAI,cAAc,YAAG,KAAK,CAAC,WAAW,GAAK,CAClF,IACG,EACL,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,yBAAc,GAAG,IAAI,OAAO,YAAG,KAAK,CAAC,IAAI,GAAO,IAC5E,CACJ,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAsB,EAAE,KAAwB,EAAkB,EAAE,CAAC,CAChG,8BACG,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,yBAAc,GAAG,IAAI,UAAU,YAAG,KAAK,CAAC,OAAO,GAAO,EACtF,4BAAiB,GAAG,IAAI,SAAS,YAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAU,IAC7E,CACJ,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/design-system/src/patterns/page-shell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sCAAuC,CAAA"}
@@ -0,0 +1,131 @@
1
+ @layer ket.app {
2
+ /* Every full-page recipe delegates its location and identity band to
3
+ `pageIdentity`. Keep the visual contract here, rather than allowing list,
4
+ record and workspace recipes to drift when their bodies evolve. */
5
+ :where([data-kv-design-system]) [data-kv-page-identity="header"] {
6
+ display: grid;
7
+ min-width: 0;
8
+ gap: 0;
9
+ padding: var(--kv-space-4) var(--kv-page-padding-x);
10
+ border-bottom: 1px solid var(--kv-panel-divider);
11
+ background: var(--kv-page-chrome-bg);
12
+ }
13
+
14
+ :where([data-kv-design-system]) [data-kv-page-identity="context"] {
15
+ display: flex;
16
+ min-width: 0;
17
+ min-height: var(--kv-table-header-height);
18
+ align-items: center;
19
+ padding-inline: var(--kv-page-padding-x);
20
+ border-bottom: 1px solid var(--kv-panel-divider);
21
+ background: var(--kv-page-chrome-bg);
22
+ }
23
+
24
+ :where([data-kv-design-system]) [data-kv-page-identity="heading"] {
25
+ display: grid;
26
+ min-width: 0;
27
+ gap: var(--kv-space-1);
28
+ }
29
+
30
+ :where([data-kv-design-system]) [data-kv-page-identity="title-row"] {
31
+ display: grid;
32
+ min-width: 0;
33
+ min-block-size: var(--kv-control-height);
34
+ grid-template-columns: minmax(0, 1fr) auto;
35
+ align-items: center;
36
+ gap: var(--kv-space-4);
37
+ }
38
+
39
+ :where([data-kv-design-system]) [data-kv-page-identity="title"] {
40
+ margin: 0;
41
+ overflow-wrap: anywhere;
42
+ color: var(--kv-text-main);
43
+ font-size: var(--kv-page-title-size);
44
+ font-weight: var(--kv-weight-semibold);
45
+ letter-spacing: 0;
46
+ line-height: var(--kv-leading-tight);
47
+ }
48
+
49
+ :where([data-kv-design-system]) [data-kv-page-identity="description"] {
50
+ max-width: 48rem;
51
+ margin: 0;
52
+ color: var(--kv-text-muted);
53
+ font-size: var(--kv-text-sm);
54
+ line-height: var(--kv-leading-normal);
55
+ }
56
+
57
+ :where([data-kv-design-system]) [data-kv-page-identity="eyebrow"] {
58
+ margin: 0;
59
+ color: var(--kv-accent);
60
+ font-size: var(--kv-text-2xs);
61
+ font-weight: var(--kv-weight-bold);
62
+ line-height: var(--kv-leading-tight);
63
+ text-transform: uppercase;
64
+ }
65
+
66
+ :where([data-kv-design-system]) [data-kv-page-identity="subline"] {
67
+ display: flex;
68
+ min-width: 0;
69
+ flex-wrap: wrap;
70
+ align-items: center;
71
+ gap: var(--kv-space-2);
72
+ }
73
+
74
+ :where([data-kv-design-system]) :is([data-kv-page-identity="status"], [data-kv-page-identity="meta"]) {
75
+ display: flex;
76
+ min-width: 0;
77
+ flex-wrap: wrap;
78
+ align-items: center;
79
+ gap: var(--kv-space-2);
80
+ }
81
+
82
+ :where([data-kv-design-system]) [data-kv-page-identity="actions"] {
83
+ display: flex;
84
+ min-width: 0;
85
+ flex-wrap: wrap;
86
+ align-items: center;
87
+ justify-content: flex-end;
88
+ gap: var(--kv-space-2);
89
+ }
90
+
91
+ /* An inline submit form is useful application semantics, but its normal form
92
+ chrome (a separator and 1rem top padding) is not page-header chrome. Make
93
+ it transparent only inside the shared action slot. */
94
+ :where([data-kv-design-system])
95
+ [data-kv-page-identity="actions"]
96
+ [data-ui="record-form"][data-layout="inline"][data-has-fields="false"] {
97
+ display: contents;
98
+ }
99
+
100
+ :where([data-kv-design-system])
101
+ [data-kv-page-identity="actions"]
102
+ [data-ui="record-form"][data-layout="inline"][data-has-fields="false"]
103
+ [data-ui="form-actions"] {
104
+ padding-top: 0;
105
+ border-top: 0;
106
+ }
107
+
108
+ @media (max-width: 42rem) {
109
+ :where([data-kv-design-system]) [data-kv-page-identity="context"] {
110
+ padding-inline: var(--kv-space-4);
111
+ }
112
+
113
+ :where([data-kv-design-system]) [data-kv-page-identity="header"] {
114
+ padding: var(--kv-space-4) var(--kv-space-4) var(--kv-space-3);
115
+ }
116
+
117
+ :where([data-kv-design-system]) [data-kv-page-identity="title-row"] {
118
+ grid-template-columns: minmax(0, 1fr);
119
+ align-items: stretch;
120
+ gap: var(--kv-space-3);
121
+ }
122
+
123
+ :where([data-kv-design-system]) [data-kv-page-identity="title"] {
124
+ font-size: var(--kv-text-lg);
125
+ }
126
+
127
+ :where([data-kv-design-system]) [data-kv-page-identity="actions"] {
128
+ justify-content: flex-start;
129
+ }
130
+ }
131
+ }
@@ -10,3 +10,4 @@
10
10
  @import "./form-page/styles.css";
11
11
  @import "./record-page/styles.css";
12
12
  @import "./workspace-page/styles.css";
13
+ @import "./page-shell/styles.css";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/design-system/src/primitives/feedback/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEtE,eAAO,MAAM,KAAK,YAChB,QAAQ,EACR,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,EACf,SAAS,EACT,eAAe,CACP,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEnE,eAAO,MAAM,MAAM,UAAW;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAA;CACnB,KAAG,cAaH,CAAA;AAED,eAAO,MAAM,UAAU,UAAW;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,QAAQ,CAAA;CAAE,KAAG,cAS1F,CAAA;AAED,eAAO,MAAM,YAAY,UAAW;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,cAavE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/design-system/src/primitives/feedback/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEtE,eAAO,MAAM,KAAK,YAChB,QAAQ,EACR,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,EACf,SAAS,EACT,eAAe,CACP,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEnE,eAAO,MAAM,MAAM,UAAW;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAA;CACnB,KAAG,cAcH,CAAA;AAED,eAAO,MAAM,UAAU,UAAW;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,QAAQ,CAAA;CAAE,KAAG,cAS1F,CAAA;AAED,eAAO,MAAM,YAAY,UAAW;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,cAavE,CAAA"}
@@ -15,7 +15,7 @@ export const HOOKS = [
15
15
  'loading',
16
16
  'loading-label',
17
17
  ];
18
- export const Notice = (props) => (_jsxs("aside", { "data-ui": "notice", "data-tone": props.tone ?? 'info', role: props.tone === 'danger' ? 'alert' : 'status', children: [_jsx("span", { "data-ui": "notice-mark", "aria-hidden": "true" }), _jsxs("div", { "data-ui": "notice-copy", children: [_jsx("p", { "data-ui": "notice-title", children: props.title }), _jsx("p", { "data-ui": "notice-message", children: props.message })] }), props.actions !== undefined && _jsx("div", { "data-ui": "notice-actions", children: props.actions })] }));
18
+ export const Notice = (props) => (_jsxs("aside", { "data-ui": "notice", "data-pattern": "notice", "data-tone": props.tone ?? 'info', role: props.tone === 'danger' ? 'alert' : 'status', children: [_jsx("span", { "data-ui": "notice-mark", "aria-hidden": "true" }), _jsxs("div", { "data-ui": "notice-copy", children: [_jsx("p", { "data-ui": "notice-title", children: props.title }), _jsx("p", { "data-ui": "notice-message", children: props.message })] }), props.actions !== undefined && _jsx("div", { "data-ui": "notice-actions", children: props.actions })] }));
19
19
  export const EmptyState = (props) => (_jsxs("div", { "data-ui": "empty", role: "status", children: [_jsx("span", { "data-ui": "empty-mark", "aria-hidden": "true", children: "\u25C7" }), _jsx("p", { "data-ui": "empty-title", children: props.title }), _jsx("p", { "data-ui": "empty-message", children: props.message }), props.actions !== undefined && _jsx("div", { "data-ui": "empty-actions", children: props.actions })] }));
20
20
  export const LoadingState = (props) => (_jsxs("div", { "data-ui": "loading", role: "status", "aria-live": "polite", children: [_jsx("span", { "data-ui": "loading-label", children: props.label }), _jsx("div", { "data-ui": "skeleton", "aria-hidden": "true", children: each(Array.from({ length: Math.max(1, props.lines ?? 3) }), (_, index) => index, (_, index) => (_jsx("span", { "data-ui": "skeleton-line", "data-line": String(index + 1) }))) })] }));
21
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/design-system/src/primitives/feedback/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAG7C,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,QAAQ;IACR,aAAa;IACb,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,OAAO;IACP,YAAY;IACZ,aAAa;IACb,eAAe;IACf,eAAe;IACf,SAAS;IACT,eAAe;CACP,CAAA;AAIV,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAKtB,EAAkB,EAAE,CAAC,CACpB,4BACU,QAAQ,eACL,KAAK,CAAC,IAAI,IAAI,MAAM,EAC/B,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,aAElD,0BAAc,aAAa,iBAAa,MAAM,GAAG,EACjD,0BAAa,aAAa,aACxB,uBAAW,cAAc,YAAE,KAAK,CAAC,KAAK,GAAK,EAC3C,uBAAW,gBAAgB,YAAE,KAAK,CAAC,OAAO,GAAK,IAC3C,EACL,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,yBAAa,gBAAgB,YAAE,KAAK,CAAC,OAAO,GAAO,IAC7E,CACT,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAA6D,EAAkB,EAAE,CAAC,CAC3G,0BAAa,OAAO,EAAC,IAAI,EAAC,QAAQ,aAChC,0BAAc,YAAY,iBAAa,MAAM,uBAEtC,EACP,uBAAW,aAAa,YAAE,KAAK,CAAC,KAAK,GAAK,EAC1C,uBAAW,eAAe,YAAE,KAAK,CAAC,OAAO,GAAK,EAC7C,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,yBAAa,eAAe,YAAE,KAAK,CAAC,OAAO,GAAO,IAC9E,CACP,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAwC,EAAkB,EAAE,CAAC,CACxF,0BAAa,SAAS,EAAC,IAAI,EAAC,QAAQ,eAAW,QAAQ,aACrD,0BAAc,eAAe,YAAE,KAAK,CAAC,KAAK,GAAQ,EAClD,yBAAa,UAAU,iBAAa,MAAM,YACvC,IAAI,CACH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,EACrD,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EACnB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACZ,0BAAc,eAAe,eAAY,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAI,CAC/D,CACF,GACG,IACF,CACP,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/design-system/src/primitives/feedback/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAG7C,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,QAAQ;IACR,aAAa;IACb,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,OAAO;IACP,YAAY;IACZ,aAAa;IACb,eAAe;IACf,eAAe;IACf,SAAS;IACT,eAAe;CACP,CAAA;AAIV,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAKtB,EAAkB,EAAE,CAAC,CACpB,4BACU,QAAQ,kBACH,QAAQ,eACV,KAAK,CAAC,IAAI,IAAI,MAAM,EAC/B,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,aAElD,0BAAc,aAAa,iBAAa,MAAM,GAAG,EACjD,0BAAa,aAAa,aACxB,uBAAW,cAAc,YAAE,KAAK,CAAC,KAAK,GAAK,EAC3C,uBAAW,gBAAgB,YAAE,KAAK,CAAC,OAAO,GAAK,IAC3C,EACL,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,yBAAa,gBAAgB,YAAE,KAAK,CAAC,OAAO,GAAO,IAC7E,CACT,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAA6D,EAAkB,EAAE,CAAC,CAC3G,0BAAa,OAAO,EAAC,IAAI,EAAC,QAAQ,aAChC,0BAAc,YAAY,iBAAa,MAAM,uBAEtC,EACP,uBAAW,aAAa,YAAE,KAAK,CAAC,KAAK,GAAK,EAC1C,uBAAW,eAAe,YAAE,KAAK,CAAC,OAAO,GAAK,EAC7C,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,yBAAa,eAAe,YAAE,KAAK,CAAC,OAAO,GAAO,IAC9E,CACP,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAwC,EAAkB,EAAE,CAAC,CACxF,0BAAa,SAAS,EAAC,IAAI,EAAC,QAAQ,eAAW,QAAQ,aACrD,0BAAc,eAAe,YAAE,KAAK,CAAC,KAAK,GAAQ,EAClD,yBAAa,UAAU,iBAAa,MAAM,YACvC,IAAI,CACH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,EACrD,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EACnB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACZ,0BAAc,eAAe,eAAY,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAI,CAC/D,CACF,GACG,IACF,CACP,CAAA"}
@@ -1,5 +1,5 @@
1
1
  @layer ket.app {
2
- :where([data-kv-design-system]) [data-ui="notice"] {
2
+ :where([data-kv-design-system]) [data-ui="notice"][data-pattern="notice"] {
3
3
  display: grid;
4
4
  grid-template-columns: auto minmax(0, 1fr) auto;
5
5
  gap: var(--kv-space-3);
@@ -11,22 +11,22 @@
11
11
  background: var(--kv-color-info-soft);
12
12
  }
13
13
 
14
- :where([data-kv-design-system]) [data-ui="notice"][data-tone="positive"] {
14
+ :where([data-kv-design-system]) [data-ui="notice"][data-pattern="notice"][data-tone="positive"] {
15
15
  border-left-color: var(--kv-color-positive);
16
16
  background: var(--kv-color-positive-soft);
17
17
  }
18
18
 
19
- :where([data-kv-design-system]) [data-ui="notice"][data-tone="warning"] {
19
+ :where([data-kv-design-system]) [data-ui="notice"][data-pattern="notice"][data-tone="warning"] {
20
20
  border-left-color: var(--kv-color-warning);
21
21
  background: var(--kv-color-warning-soft);
22
22
  }
23
23
 
24
- :where([data-kv-design-system]) [data-ui="notice"][data-tone="danger"] {
24
+ :where([data-kv-design-system]) [data-ui="notice"][data-pattern="notice"][data-tone="danger"] {
25
25
  border-left-color: var(--kv-color-danger);
26
26
  background: var(--kv-color-danger-soft);
27
27
  }
28
28
 
29
- :where([data-kv-design-system]) [data-ui="notice-mark"] {
29
+ :where([data-kv-design-system]) [data-ui="notice"][data-pattern="notice"] [data-ui="notice-mark"] {
30
30
  width: 0.65rem;
31
31
  height: 0.65rem;
32
32
  margin-top: 0.35rem;
@@ -34,22 +34,24 @@
34
34
  background: currentcolor;
35
35
  }
36
36
 
37
- :where([data-kv-design-system]) [data-ui="notice-copy"] {
37
+ :where([data-kv-design-system]) [data-ui="notice"][data-pattern="notice"] [data-ui="notice-copy"] {
38
38
  min-width: 0;
39
39
  }
40
40
 
41
- :where([data-kv-design-system]) [data-ui="notice-title"] {
41
+ :where([data-kv-design-system]) [data-ui="notice"][data-pattern="notice"] [data-ui="notice-title"] {
42
42
  margin-bottom: var(--kv-space-1);
43
+ font-size: var(--kv-text-base);
43
44
  font-weight: 800;
45
+ line-height: var(--kv-leading-normal);
44
46
  }
45
47
 
46
- :where([data-kv-design-system]) [data-ui="notice-message"] {
48
+ :where([data-kv-design-system]) [data-ui="notice"][data-pattern="notice"] [data-ui="notice-message"] {
47
49
  margin-bottom: 0;
48
50
  color: var(--kv-color-ink-secondary);
49
51
  font-size: var(--kv-text-sm);
50
52
  }
51
53
 
52
- :where([data-kv-design-system]) [data-ui="notice-actions"] {
54
+ :where([data-kv-design-system]) [data-ui="notice"][data-pattern="notice"] [data-ui="notice-actions"] {
53
55
  align-self: center;
54
56
  }
55
57
 
@@ -106,11 +108,11 @@
106
108
  }
107
109
 
108
110
  @media (max-width: 42rem) {
109
- :where([data-kv-design-system]) [data-ui="notice"] {
111
+ :where([data-kv-design-system]) [data-ui="notice"][data-pattern="notice"] {
110
112
  grid-template-columns: auto minmax(0, 1fr);
111
113
  }
112
114
 
113
- :where([data-kv-design-system]) [data-ui="notice-actions"] {
115
+ :where([data-kv-design-system]) [data-ui="notice"][data-pattern="notice"] [data-ui="notice-actions"] {
114
116
  grid-column: 1 / -1;
115
117
  }
116
118
  }