@richardmcquiston01/dashboard-widgets-toolkit 0.9.0 → 0.11.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.
package/dist/styles.css CHANGED
@@ -179,6 +179,132 @@
179
179
  font-size: 0.875rem;
180
180
  }
181
181
 
182
+ :where(.dwt-pages) {
183
+ display: flex;
184
+ align-items: center;
185
+ gap: 8px;
186
+ margin-bottom: 12px;
187
+ }
188
+
189
+ :where(.dwt-page-tabs) {
190
+ display: flex;
191
+ flex-wrap: wrap;
192
+ gap: 4px;
193
+ min-width: 0;
194
+ }
195
+
196
+ :where(.dwt-page-tab) {
197
+ box-sizing: border-box;
198
+ min-height: 32px;
199
+ padding: 4px 12px;
200
+ font: inherit;
201
+ font-size: 0.875rem;
202
+ color: var(--dwt-text-secondary);
203
+ background: transparent;
204
+ border: 0;
205
+ border-bottom: 2px solid transparent;
206
+ cursor: pointer;
207
+ }
208
+
209
+ :where(.dwt-page-tab[aria-selected='true']) {
210
+ color: var(--dwt-text);
211
+ font-weight: 600;
212
+ border-bottom-color: var(--dwt-text);
213
+ }
214
+
215
+ :where(.dwt-page-tab:focus-visible) {
216
+ outline: 2px solid var(--dwt-focus);
217
+ outline-offset: 2px;
218
+ }
219
+
220
+ :where(.dwt-page-dot) {
221
+ display: none;
222
+ box-sizing: border-box;
223
+ width: 12px;
224
+ height: 12px;
225
+ border: 2px solid var(--dwt-text-secondary);
226
+ border-radius: 50%;
227
+ background: transparent;
228
+ }
229
+
230
+ :where(.dwt-page-tab[aria-selected='true'] .dwt-page-dot) {
231
+ border-color: var(--dwt-text);
232
+ background: var(--dwt-text);
233
+ }
234
+
235
+ @media (max-width: 640px) {
236
+ :where(.dwt-pages) {
237
+ justify-content: center;
238
+ }
239
+
240
+ :where(.dwt-page-tab) {
241
+ min-width: 24px;
242
+ min-height: 24px;
243
+ padding: 6px;
244
+ border-bottom: 0;
245
+ }
246
+
247
+ :where(.dwt-page-tab-title) {
248
+ position: absolute;
249
+ width: 1px;
250
+ height: 1px;
251
+ overflow: hidden;
252
+ clip-path: inset(50%);
253
+ white-space: nowrap;
254
+ }
255
+
256
+ :where(.dwt-page-dot) {
257
+ display: block;
258
+ }
259
+ }
260
+
261
+ :where(.dwt-page-manage) {
262
+ display: flex;
263
+ flex-wrap: wrap;
264
+ align-items: center;
265
+ gap: 8px;
266
+ margin-bottom: 12px;
267
+ font-size: 0.875rem;
268
+ }
269
+
270
+ :where(.dwt-page-rename) {
271
+ display: inline-flex;
272
+ align-items: center;
273
+ gap: 6px;
274
+ }
275
+
276
+ :where(.dwt-page-title-input) {
277
+ box-sizing: border-box;
278
+ height: 28px;
279
+ padding: 0 8px;
280
+ font: inherit;
281
+ color: var(--dwt-text);
282
+ background: var(--dwt-surface, transparent);
283
+ border: 1px solid var(--dwt-border);
284
+ border-radius: 6px;
285
+ }
286
+
287
+ :where(.dwt-page-error) {
288
+ color: var(--dwt-text);
289
+ font-weight: 600;
290
+ }
291
+
292
+ :where(.dwt-move-select) {
293
+ box-sizing: border-box;
294
+ max-width: 9rem;
295
+ height: 28px;
296
+ font: inherit;
297
+ font-size: 0.8125rem;
298
+ color: var(--dwt-text);
299
+ background: var(--dwt-surface, transparent);
300
+ border: 1px solid var(--dwt-border);
301
+ border-radius: 6px;
302
+ }
303
+
304
+ :where(.dwt-page-panel) {
305
+ min-width: 0;
306
+ }
307
+
182
308
  :where(.dwt-confirm) {
183
309
  display: inline-flex;
184
310
  align-items: center;
@@ -751,3 +877,15 @@
751
877
  border-radius: 6px;
752
878
  padding: 4px 8px;
753
879
  }
880
+
881
+ /* The previous and next buttons only help when the tabs collapse to dots.
882
+ After .dwt-icon-button so this display wins. */
883
+ :where(.dwt-page-nav) {
884
+ display: none;
885
+ }
886
+
887
+ @media (max-width: 640px) {
888
+ :where(.dwt-page-nav) {
889
+ display: inline-flex;
890
+ }
891
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@richardmcquiston01/dashboard-widgets-toolkit",
3
- "version": "0.9.0",
3
+ "version": "0.11.0",
4
4
  "description": "Framework-agnostic dashboard widget toolkit: typed widget definitions and data payloads (KPI, gauge, table, bar list, alert list, chart), user layout (order, hide, minimise), and React renderers. Bring your own data providers.",
5
5
  "keywords": [
6
6
  "dashboard",