@ceebee/ui 1.8.0 → 1.10.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.
@@ -1,6 +1,7 @@
1
1
  # Third-party notices
2
2
 
3
- `@ceebee/ui` includes software from these MIT-licensed projects:
3
+ `@ceebee/ui` includes software from the projects below. Most are MIT-licensed; the one Apache-2.0
4
+ dependency names its licence in its own section.
4
5
 
5
6
  ## Ant Design
6
7
 
@@ -34,3 +35,20 @@ Copyright © 2018-present iamkun
34
35
 
35
36
  Date and time components use `dayjs` 1.11.18 as their date engine. It is licensed under the MIT
36
37
  License.
38
+
39
+ ## @dnd-kit
40
+
41
+ Copyright © 2021, Claudéric Demers
42
+
43
+ `Board` in `@ceebee/ui/client` uses `@dnd-kit/core` 6.3.1, `@dnd-kit/sortable` 10.0.0 and
44
+ `@dnd-kit/utilities` 3.2.2 as its drag-and-drop runtime. They are licensed under the MIT License.
45
+
46
+ ## Lightweight Charts™
47
+
48
+ Copyright © 2023 TradingView, Inc.
49
+
50
+ `ProgressCurve` in `@ceebee/ui/client` draws its canvas with `lightweight-charts` 5.2.1, a
51
+ dependency loaded on demand. It is licensed under the **Apache License, Version 2.0**; a copy is in
52
+ the package at `node_modules/lightweight-charts/LICENSE`, and the attribution is retained here
53
+ rather than painted into a consumer's chart, where the library's `attributionLogo` option is turned
54
+ off.
package/dist/client.css CHANGED
@@ -11,3 +11,284 @@
11
11
  font-size: var(--cb-text-sm);
12
12
  line-height: var(--cb-leading-normal);
13
13
  }
14
+
15
+ /* src/data/board/board.css */
16
+ .cb-board {
17
+ display: flex;
18
+ flex-direction: column;
19
+ gap: var(--cb-space-3);
20
+ font-family: var(--cb-font-sans);
21
+ }
22
+ .cb-board__surface {
23
+ display: flex;
24
+ align-items: flex-start;
25
+ gap: var(--cb-space-3);
26
+ overflow-x: auto;
27
+ padding-bottom: var(--cb-space-2);
28
+ }
29
+ .cb-board__surface[data-lanes] {
30
+ overflow-x: visible;
31
+ }
32
+ .cb-board__column {
33
+ flex: 0 0 auto;
34
+ inline-size: 17rem;
35
+ max-inline-size: 100%;
36
+ display: flex;
37
+ flex-direction: column;
38
+ gap: var(--cb-space-2);
39
+ padding: var(--cb-space-3);
40
+ border: var(--cb-border-width) solid var(--cb-border);
41
+ border-radius: var(--cb-radius-lg);
42
+ background: var(--cb-bg-subtle);
43
+ }
44
+ .cb-board__surface[data-lanes] .cb-board__column {
45
+ flex: 1 1 auto;
46
+ inline-size: 100%;
47
+ }
48
+ .cb-board__column[data-over] {
49
+ border-color: var(--cb-tone-brand);
50
+ background: color-mix(in oklch, var(--cb-tone-brand) 8%, var(--cb-bg-subtle));
51
+ }
52
+ .cb-board__column[data-refuses] {
53
+ background: var(--cb-bg);
54
+ border-style: dashed;
55
+ }
56
+ .cb-board__head {
57
+ display: flex;
58
+ align-items: center;
59
+ justify-content: space-between;
60
+ gap: var(--cb-space-2);
61
+ }
62
+ .cb-board__name {
63
+ font-size: var(--cb-text-sm);
64
+ font-weight: 600;
65
+ color: var(--cb-fg);
66
+ }
67
+ .cb-board__count {
68
+ font-size: var(--cb-text-xs);
69
+ color: var(--cb-fg-muted);
70
+ padding: 0 var(--cb-space-2);
71
+ border-radius: var(--cb-radius-full);
72
+ background: var(--cb-bg);
73
+ border: var(--cb-border-width) solid var(--cb-border);
74
+ }
75
+ .cb-board__count[data-over-limit] {
76
+ color: var(--cb-tone-warning);
77
+ border-color: var(--cb-tone-warning);
78
+ }
79
+ .cb-board__over,
80
+ .cb-board__refusal {
81
+ margin: 0;
82
+ font-size: var(--cb-text-xs);
83
+ color: var(--cb-fg-muted);
84
+ }
85
+ .cb-board__over {
86
+ color: var(--cb-tone-warning);
87
+ }
88
+ .cb-board__list {
89
+ list-style: none;
90
+ margin: 0;
91
+ padding: 0;
92
+ display: flex;
93
+ flex-direction: column;
94
+ gap: var(--cb-space-2);
95
+ min-block-size: var(--cb-space-8);
96
+ }
97
+ .cb-board__card {
98
+ display: flex;
99
+ flex-direction: column;
100
+ gap: var(--cb-space-1);
101
+ padding: var(--cb-space-3);
102
+ border: var(--cb-border-width) solid var(--cb-border);
103
+ border-radius: var(--cb-radius-md);
104
+ background: var(--cb-bg);
105
+ box-shadow: var(--cb-shadow-sm);
106
+ cursor: grab;
107
+ transition: box-shadow var(--cb-duration-fast) var(--cb-ease-standard), transform var(--cb-duration-base) var(--cb-ease-standard);
108
+ }
109
+ .cb-board__card:hover {
110
+ box-shadow: var(--cb-shadow-md);
111
+ }
112
+ .cb-board__card:focus-visible {
113
+ outline: var(--cb-focus-width) solid var(--cb-tone-brand);
114
+ outline-offset: var(--cb-focus-offset);
115
+ }
116
+ .cb-board__card[data-held] {
117
+ box-shadow: var(--cb-shadow-lg);
118
+ border-color: var(--cb-tone-brand);
119
+ }
120
+ .cb-board__card[data-dragging] {
121
+ opacity: 0.4;
122
+ }
123
+ .cb-board__card[data-disabled] {
124
+ cursor: not-allowed;
125
+ color: var(--cb-fg-muted);
126
+ background: var(--cb-bg-subtle);
127
+ box-shadow: var(--cb-shadow-none);
128
+ }
129
+ .cb-board__card--lift {
130
+ cursor: grabbing;
131
+ box-shadow: var(--cb-shadow-lg);
132
+ transform: rotate(1.5deg);
133
+ }
134
+ .cb-board__title {
135
+ font-size: var(--cb-text-sm);
136
+ color: var(--cb-fg);
137
+ line-height: var(--cb-leading-tight);
138
+ display: -webkit-box;
139
+ -webkit-box-orient: vertical;
140
+ -webkit-line-clamp: 2;
141
+ overflow: hidden;
142
+ }
143
+ .cb-board__meta {
144
+ font-size: var(--cb-text-xs);
145
+ color: var(--cb-fg-muted);
146
+ }
147
+ .cb-board__marker {
148
+ block-size: var(--cb-space-1);
149
+ border-radius: var(--cb-radius-full);
150
+ background: var(--cb-tone-brand);
151
+ list-style: none;
152
+ }
153
+ .cb-board__empty {
154
+ padding: var(--cb-space-4) var(--cb-space-3);
155
+ border: var(--cb-border-width) dashed var(--cb-border-strong);
156
+ border-radius: var(--cb-radius-md);
157
+ text-align: center;
158
+ font-size: var(--cb-text-xs);
159
+ color: var(--cb-fg-muted);
160
+ }
161
+ .cb-board__lanes {
162
+ display: flex;
163
+ gap: var(--cb-space-1);
164
+ overflow-x: auto;
165
+ }
166
+ .cb-board__lane {
167
+ display: inline-flex;
168
+ align-items: center;
169
+ gap: var(--cb-space-2);
170
+ min-block-size: var(--cb-control-floor);
171
+ padding: 0 var(--cb-space-3);
172
+ border: var(--cb-border-width) solid var(--cb-border);
173
+ border-radius: var(--cb-radius-full);
174
+ background: var(--cb-bg);
175
+ color: var(--cb-fg-muted);
176
+ font: inherit;
177
+ font-size: var(--cb-text-sm);
178
+ cursor: pointer;
179
+ }
180
+ .cb-board__lane[aria-selected=true] {
181
+ background: color-mix(in oklch, var(--cb-tone-brand) 12%, var(--cb-bg));
182
+ border-color: var(--cb-tone-brand);
183
+ color: var(--cb-fg);
184
+ }
185
+ .cb-board__lane:focus-visible {
186
+ outline: var(--cb-focus-width) solid var(--cb-tone-brand);
187
+ outline-offset: var(--cb-focus-offset);
188
+ }
189
+ .cb-board__undo button {
190
+ min-block-size: var(--cb-control-floor);
191
+ padding: 0 var(--cb-space-3);
192
+ border: var(--cb-border-width) solid var(--cb-border);
193
+ border-radius: var(--cb-radius-md);
194
+ background: var(--cb-bg);
195
+ color: var(--cb-fg-link);
196
+ font: inherit;
197
+ font-size: var(--cb-text-sm);
198
+ cursor: pointer;
199
+ }
200
+ .cb-board__undo button:focus-visible {
201
+ outline: var(--cb-focus-width) solid var(--cb-tone-brand);
202
+ outline-offset: var(--cb-focus-offset);
203
+ }
204
+ .cb-board__live {
205
+ position: absolute;
206
+ inline-size: 1px;
207
+ block-size: 1px;
208
+ margin: -1px;
209
+ padding: 0;
210
+ overflow: hidden;
211
+ clip-path: inset(50%);
212
+ white-space: nowrap;
213
+ }
214
+ .cb-board__ghost,
215
+ .cb-board__ghost-card {
216
+ border-radius: var(--cb-radius-md);
217
+ background: color-mix(in oklch, var(--cb-fg-subtle) 18%, transparent);
218
+ }
219
+ .cb-board__ghost--name {
220
+ inline-size: var(--cb-space-8);
221
+ block-size: var(--cb-space-3);
222
+ }
223
+ .cb-board__ghost--count {
224
+ inline-size: var(--cb-space-4);
225
+ block-size: var(--cb-space-3);
226
+ }
227
+ .cb-board__ghost-card {
228
+ block-size: var(--cb-space-8);
229
+ border: 0;
230
+ box-shadow: var(--cb-shadow-none);
231
+ }
232
+ @media (prefers-reduced-motion: reduce) {
233
+ .cb-board__card {
234
+ transition: none;
235
+ }
236
+ .cb-board__card--lift {
237
+ transform: none;
238
+ }
239
+ }
240
+ .cb-board[data-motion=off] .cb-board__card {
241
+ transition: none;
242
+ }
243
+ .cb-board[data-motion=off] .cb-board__card--lift {
244
+ transform: none;
245
+ }
246
+ @media (forced-colors: active) {
247
+ .cb-board__column,
248
+ .cb-board__card {
249
+ border-color: CanvasText;
250
+ }
251
+ .cb-board__marker {
252
+ background: Highlight;
253
+ }
254
+ .cb-board__card[data-held] {
255
+ outline: var(--cb-focus-width) solid Highlight;
256
+ }
257
+ }
258
+ .cb-board__card[data-handle] {
259
+ cursor: default;
260
+ display: grid;
261
+ grid-template-columns: auto 1fr;
262
+ grid-template-areas: "handle title" ". meta";
263
+ column-gap: var(--cb-space-2);
264
+ align-items: start;
265
+ }
266
+ .cb-board__card[data-handle] .cb-board__title {
267
+ grid-area: title;
268
+ }
269
+ .cb-board__card[data-handle] .cb-board__meta {
270
+ grid-area: meta;
271
+ }
272
+ .cb-board__handle {
273
+ grid-area: handle;
274
+ display: inline-flex;
275
+ align-items: center;
276
+ justify-content: center;
277
+ min-inline-size: var(--cb-space-5);
278
+ min-block-size: var(--cb-space-5);
279
+ padding: 0;
280
+ border: 0;
281
+ border-radius: var(--cb-radius-sm);
282
+ background: transparent;
283
+ color: var(--cb-fg-subtle);
284
+ font: inherit;
285
+ line-height: var(--cb-leading-tight);
286
+ cursor: grab;
287
+ }
288
+ .cb-board__handle:focus-visible {
289
+ outline: var(--cb-focus-width) solid var(--cb-tone-brand);
290
+ outline-offset: var(--cb-focus-offset);
291
+ }
292
+ .cb-board__handle:disabled {
293
+ cursor: not-allowed;
294
+ }