@kubex/zinc 1.0.24 → 1.0.98
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/.claude/project.md +556 -0
- package/.github/workflows/js_build_and_deploy.yaml +9 -10
- package/dist/custom-elements.json +13431 -8728
- package/dist/vscode.html-custom-data.json +571 -37
- package/dist/web-types.json +1439 -181
- package/dist/zn.d.ts +1642 -661
- package/dist/zn.min.css +1 -1
- package/dist/zn.min.js +1407 -887
- package/docs/_utilities/code-previews.cjs +10 -1
- package/docs/assets/scripts/docs.js +42 -18
- package/docs/data/data-table.json +229 -66
- package/docs/data/empty.json +6 -0
- package/docs/data/products-table.json +41 -193
- package/docs/pages/components/action-bar.md +121 -6
- package/docs/pages/components/alert.md +118 -15
- package/docs/pages/components/animated-button.md +299 -0
- package/docs/pages/components/audio-select.md +534 -0
- package/docs/pages/components/bulk-actions.md +79 -5
- package/docs/pages/components/button-group.md +235 -27
- package/docs/pages/components/button.md +139 -1
- package/docs/pages/components/chart.md +365 -9
- package/docs/pages/components/checkbox.md +387 -58
- package/docs/pages/components/chip.md +253 -33
- package/docs/pages/components/collapsible.md +393 -46
- package/docs/pages/components/cols.md +152 -30
- package/docs/pages/components/confirm.md +182 -16
- package/docs/pages/components/copy-button.md +169 -6
- package/docs/pages/components/data-select.md +194 -15
- package/docs/pages/components/data-table-filter.md +96 -5
- package/docs/pages/components/data-table-search.md +451 -0
- package/docs/pages/components/data-table-sort.md +66 -5
- package/docs/pages/components/data-table.md +727 -66
- package/docs/pages/components/datepicker.md +402 -7
- package/docs/pages/components/defined-label.md +120 -5
- package/docs/pages/components/dialog.md +339 -59
- package/docs/pages/components/dropdown.md +366 -11
- package/docs/pages/components/editor.md +604 -7
- package/docs/pages/components/empty-state.md +315 -16
- package/docs/pages/components/expanding-action.md +212 -28
- package/docs/pages/components/file.md +421 -12
- package/docs/pages/components/filter-container.md +158 -5
- package/docs/pages/components/filter-wrapper.md +167 -6
- package/docs/pages/components/form-group.md +383 -6
- package/docs/pages/components/hover-container.md +237 -6
- package/docs/pages/components/icon-picker.md +121 -0
- package/docs/pages/components/icon.md +454 -48
- package/docs/pages/components/inline-edit.md +787 -19
- package/docs/pages/components/input-group.md +207 -13
- package/docs/pages/components/input.md +194 -0
- package/docs/pages/components/key-container.md +115 -0
- package/docs/pages/components/key.md +101 -0
- package/docs/pages/components/menu.md +512 -6
- package/docs/pages/components/note.md +239 -36
- package/docs/pages/components/opt-group.md +107 -0
- package/docs/pages/components/pagination.md +332 -6
- package/docs/pages/components/pane.md +222 -6
- package/docs/pages/components/panel.md +213 -26
- package/docs/pages/components/popup.md +1354 -6
- package/docs/pages/components/priority-list.md +233 -0
- package/docs/pages/components/progress-bar.md +387 -6
- package/docs/pages/components/radio-group.md +242 -5
- package/docs/pages/components/radio.md +474 -6
- package/docs/pages/components/rating.md +331 -7
- package/docs/pages/components/reveal.md +524 -6
- package/docs/pages/components/scroll-container.md +552 -6
- package/docs/pages/components/select.md +762 -160
- package/docs/pages/components/skeleton.md +473 -30
- package/docs/pages/components/slideout.md +261 -5
- package/docs/pages/components/sp.md +99 -41
- package/docs/pages/components/split-button.md +347 -9
- package/docs/pages/components/split-pane.md +445 -6
- package/docs/pages/components/stat.md +549 -9
- package/docs/pages/components/status-indicator.md +230 -1
- package/docs/pages/components/stepper.md +563 -6
- package/docs/pages/components/tabs.md +439 -13
- package/docs/pages/components/textarea.md +415 -17
- package/docs/pages/components/tile.md +385 -26
- package/docs/pages/components/toggle.md +424 -6
- package/docs/pages/components/tooltip.md +367 -0
- package/docs/pages/components/translation-group.md +210 -0
- package/docs/pages/components/translations.md +319 -18
- package/docs/pages/components/vertical-stepper.md +401 -8
- package/docs/pages/components/well.md +300 -3
- package/docs/pages/getting-started/form-controls.md +162 -0
- package/docs/pages/index.md +116 -15
- package/package.json +5 -6
- package/scss/_global-spacing.scss +4 -0
- package/scss/_root.scss +2 -2
- package/scss/boot.scss +19 -0
- package/scss/shared/layout.scss +5 -0
- package/scss/themes/_light.scss +3 -3
- package/src/components/alert/alert.scss +1 -0
- package/src/components/animated-button/README.md +306 -0
- package/src/components/animated-button/animated-button.component.ts +229 -0
- package/src/components/animated-button/animated-button.scss +228 -0
- package/src/components/animated-button/animated-button.test.ts +143 -0
- package/src/components/animated-button/index.ts +12 -0
- package/src/components/button/button.component.ts +5 -0
- package/src/components/button-group/button-group.component.ts +25 -13
- package/src/components/button-group/button-group.scss +6 -0
- package/src/components/checkbox/checkbox.component.ts +4 -0
- package/src/components/checkbox/checkbox.scss +7 -4
- package/src/components/checkbox-group/checkbox-group.scss +7 -0
- package/src/components/chip/chip.component.ts +7 -2
- package/src/components/chip/chip.scss +16 -2
- package/src/components/collapsible/collapsible.component.ts +27 -20
- package/src/components/cols/cols.component.ts +14 -2
- package/src/components/cols/cols.scss +6 -12
- package/src/components/confirm/confirm.component.ts +7 -0
- package/src/components/copy-button/copy-button.component.ts +12 -11
- package/src/components/data-select/data-select.component.ts +215 -44
- package/src/components/data-select/data-select.scss +66 -6
- package/src/components/data-select/providers/currency-data-provider.ts +20 -6
- package/src/components/data-select/providers/provider.ts +1 -0
- package/src/components/data-select/providers/us-state-data-provider.ts +68 -0
- package/src/components/data-table/data-table.component.ts +82 -23
- package/src/components/data-table-search/data-table-search.component.ts +184 -0
- package/src/components/data-table-search/data-table-search.scss +17 -0
- package/src/components/data-table-search/data-table-search.test.ts +11 -0
- package/src/components/data-table-search/index.ts +12 -0
- package/src/components/datepicker/datepicker.component.ts +347 -13
- package/src/components/dialog/dialog.component.ts +1 -1
- package/src/components/empty-state/empty-state.scss +6 -1
- package/src/components/header/header.scss +3 -3
- package/src/components/icon/icon.component.ts +23 -1
- package/src/components/icon/icon.scss +23 -0
- package/src/components/icon-picker/brand-icons.ts +24 -0
- package/src/components/icon-picker/icon-picker.component.ts +407 -0
- package/src/components/icon-picker/icon-picker.scss +205 -0
- package/src/components/icon-picker/index.ts +12 -0
- package/src/components/icon-picker/line-icons.ts +612 -0
- package/src/components/icon-picker/material-icons.ts +14543 -0
- package/src/components/inline-edit/inline-edit.component.ts +190 -46
- package/src/components/inline-edit/inline-edit.scss +29 -0
- package/src/components/inline-edit/inline-edit.test.ts +314 -1
- package/src/components/input/input.component.ts +328 -5
- package/src/components/input/input.scss +100 -4
- package/src/components/input-group/input-group.component.ts +28 -7
- package/src/components/input-group/input-group.scss +48 -10
- package/src/components/item/item.component.ts +11 -2
- package/src/components/item/item.scss +7 -0
- package/src/components/key/index.ts +12 -0
- package/src/components/key/key.component.ts +47 -0
- package/src/components/key/key.scss +38 -0
- package/src/components/key-container/index.ts +12 -0
- package/src/components/key-container/key-container.component.ts +142 -0
- package/src/components/key-container/key-container.scss +33 -0
- package/src/components/menu-item/menu-item.component.ts +20 -0
- package/src/components/menu-item/menu-item.scss +69 -2
- package/src/components/navbar/navbar.component.ts +103 -8
- package/src/components/navbar/navbar.scss +6 -1
- package/src/components/opt-group/index.ts +12 -0
- package/src/components/opt-group/opt-group.component.ts +74 -0
- package/src/components/opt-group/opt-group.scss +37 -0
- package/src/components/opt-group/opt-group.test.ts +27 -0
- package/src/components/option/option.component.ts +1 -16
- package/src/components/option/option.scss +4 -0
- package/src/components/panel/panel.component.ts +10 -8
- package/src/components/panel/panel.scss +20 -0
- package/src/components/priority-list/index.ts +12 -0
- package/src/components/priority-list/priority-list.component.ts +611 -0
- package/src/components/priority-list/priority-list.scss +185 -0
- package/src/components/priority-list/priority-list.test.ts +139 -0
- package/src/components/progress-bar/progress-bar.component.ts +22 -16
- package/src/components/radio/radio.scss +10 -3
- package/src/components/select/select.component.ts +812 -72
- package/src/components/select/select.scss +108 -2
- package/src/components/select/select.test.ts +147 -2
- package/src/components/settings-container/settings-container.component.ts +44 -19
- package/src/components/settings-container/settings-container.scss +1 -1
- package/src/components/skeleton/skeleton.component.ts +6 -1
- package/src/components/slideout/slideout.scss +8 -3
- package/src/components/sp/sp.component.ts +3 -1
- package/src/components/sp/sp.scss +19 -0
- package/src/components/stepper/stepper.component.ts +16 -10
- package/src/components/textarea/textarea.scss +0 -4
- package/src/components/tile/tile.component.ts +12 -3
- package/src/components/tile/tile.scss +1 -1
- package/src/components/timer/timer.component.ts +15 -2
- package/src/components/toggle/toggle.component.ts +29 -26
- package/src/components/toggle/toggle.scss +13 -1
- package/src/components/translation-group/index.ts +12 -0
- package/src/components/translation-group/translation-group.component.ts +207 -0
- package/src/components/translation-group/translation-group.scss +8 -0
- package/src/components/translations/translations.component.ts +90 -42
- package/src/components/translations/translations.scss +5 -1
- package/src/components/vertical-stepper/vertical-stepper.component.ts +14 -9
- package/src/events/events.ts +12 -7
- package/src/events/zn-language-change.ts +7 -0
- package/src/events/zn-purchase.ts +11 -0
- package/src/events/zn-redirect.ts +7 -0
- package/src/events/zn-reorder.ts +7 -0
- package/src/events/zn-search-change.ts +11 -0
- package/src/events/zn-submit.ts +1 -1
- package/src/form-control.scss +4 -0
- package/src/internal/form-navigation.ts +510 -0
- package/src/internal/form.ts +6 -0
- package/src/zinc.ts +91 -83
|
@@ -70,7 +70,16 @@ module.exports = function (doc, options)
|
|
|
70
70
|
</div>
|
|
71
71
|
`;
|
|
72
72
|
|
|
73
|
-
pre.
|
|
73
|
+
if(!pre.parentNode || pre.parentNode.nodeType === 9)
|
|
74
|
+
{
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const tempDiv = doc.createElement('div');
|
|
79
|
+
tempDiv.innerHTML = codePreview;
|
|
80
|
+
const codePreviewElement = tempDiv.firstElementChild;
|
|
81
|
+
|
|
82
|
+
pre.parentNode.insertBefore(codePreviewElement, pre.nextSibling);
|
|
74
83
|
pre.remove();
|
|
75
84
|
|
|
76
85
|
if(adjacentPre)
|
|
@@ -220,7 +220,7 @@
|
|
|
220
220
|
document.addEventListener('click', event =>
|
|
221
221
|
{
|
|
222
222
|
const link = event.target.closest('a');
|
|
223
|
-
const id = (link?.hash ?? '').
|
|
223
|
+
const id = (link?.hash ?? '').slice(1);
|
|
224
224
|
const isFragment = link?.hasAttribute('href') && link?.getAttribute('href').startsWith('#');
|
|
225
225
|
|
|
226
226
|
if(!link || !isFragment || link.getAttribute('data-smooth-link') === 'false')
|
|
@@ -244,7 +244,7 @@
|
|
|
244
244
|
if(target)
|
|
245
245
|
{
|
|
246
246
|
event.preventDefault();
|
|
247
|
-
|
|
247
|
+
target.scrollIntoView({behavior: 'smooth', block: 'start'});
|
|
248
248
|
history.pushState(undefined, undefined, `#${id}`);
|
|
249
249
|
}
|
|
250
250
|
}
|
|
@@ -258,19 +258,21 @@
|
|
|
258
258
|
{
|
|
259
259
|
// This will be stale if its not a function.
|
|
260
260
|
const getLinks = () => [...document.querySelectorAll('.content__toc a')];
|
|
261
|
-
const linkTargets = new
|
|
262
|
-
const visibleTargets = new
|
|
263
|
-
const observer = new IntersectionObserver(handleIntersect, {
|
|
264
|
-
|
|
261
|
+
const linkTargets = new Map();
|
|
262
|
+
const visibleTargets = new Map();
|
|
263
|
+
const observer = new IntersectionObserver(handleIntersect, {
|
|
264
|
+
rootMargin: '-100px 0px -66%',
|
|
265
|
+
threshold: [0, 0.25, 0.5, 0.75, 1]
|
|
266
|
+
});
|
|
265
267
|
|
|
266
268
|
function handleIntersect(entries)
|
|
267
269
|
{
|
|
268
270
|
entries.forEach(entry =>
|
|
269
271
|
{
|
|
270
|
-
// Remember which targets are visible
|
|
272
|
+
// Remember which targets are visible and their position
|
|
271
273
|
if(entry.isIntersecting)
|
|
272
274
|
{
|
|
273
|
-
visibleTargets.
|
|
275
|
+
visibleTargets.set(entry.target, entry.boundingClientRect.top);
|
|
274
276
|
}
|
|
275
277
|
else
|
|
276
278
|
{
|
|
@@ -284,28 +286,47 @@
|
|
|
284
286
|
function updateActiveLinks()
|
|
285
287
|
{
|
|
286
288
|
const links = getLinks();
|
|
287
|
-
|
|
288
|
-
|
|
289
|
+
|
|
290
|
+
// If no targets are visible, remove all active states
|
|
291
|
+
if(visibleTargets.size === 0)
|
|
289
292
|
{
|
|
290
|
-
|
|
293
|
+
links.forEach(el => el.classList.remove('active'));
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
// Find the target closest to the top of the viewport
|
|
298
|
+
let closestTarget = null;
|
|
299
|
+
let closestDistance = Infinity;
|
|
291
300
|
|
|
292
|
-
|
|
301
|
+
visibleTargets.forEach((top, target) =>
|
|
302
|
+
{
|
|
303
|
+
const distance = Math.abs(top);
|
|
304
|
+
if(distance < closestDistance)
|
|
293
305
|
{
|
|
294
|
-
|
|
295
|
-
|
|
306
|
+
closestDistance = distance;
|
|
307
|
+
closestTarget = target;
|
|
296
308
|
}
|
|
309
|
+
});
|
|
297
310
|
|
|
298
|
-
|
|
311
|
+
// Activate the link corresponding to the closest target
|
|
312
|
+
links.forEach(link =>
|
|
313
|
+
{
|
|
314
|
+
const target = linkTargets.get(link);
|
|
315
|
+
link.classList.toggle('active', target === closestTarget);
|
|
299
316
|
});
|
|
300
317
|
}
|
|
301
318
|
|
|
302
319
|
// Observe link targets
|
|
303
320
|
function observeLinks()
|
|
304
321
|
{
|
|
322
|
+
// Clear existing observations
|
|
323
|
+
visibleTargets.clear();
|
|
324
|
+
linkTargets.forEach((target) => observer.unobserve(target));
|
|
325
|
+
|
|
305
326
|
getLinks().forEach(link =>
|
|
306
327
|
{
|
|
307
328
|
const hash = link.hash.slice(1);
|
|
308
|
-
const target = hash ? document.
|
|
329
|
+
const target = hash ? document.getElementById(hash) : null;
|
|
309
330
|
|
|
310
331
|
if(target)
|
|
311
332
|
{
|
|
@@ -317,8 +338,11 @@
|
|
|
317
338
|
|
|
318
339
|
observeLinks();
|
|
319
340
|
|
|
320
|
-
document.addEventListener('turbo:load',
|
|
321
|
-
|
|
341
|
+
document.addEventListener('turbo:load', () =>
|
|
342
|
+
{
|
|
343
|
+
observeLinks();
|
|
344
|
+
updateActiveLinks();
|
|
345
|
+
});
|
|
322
346
|
})();
|
|
323
347
|
|
|
324
348
|
//
|
|
@@ -1,79 +1,242 @@
|
|
|
1
1
|
{
|
|
2
2
|
"rows": [
|
|
3
3
|
{
|
|
4
|
-
"id": "
|
|
5
|
-
"uri": "
|
|
6
|
-
"target": "_blank",
|
|
7
|
-
"gaid": "row1-gaid",
|
|
4
|
+
"id": "1",
|
|
5
|
+
"uri": "/users/1",
|
|
8
6
|
"cells": [
|
|
9
|
-
{
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
|
|
19
|
-
"column": "Two"
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"text": "Cell 4 Text",
|
|
23
|
-
"column": "Three"
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"text": "Cell 5 Text",
|
|
27
|
-
"column": "Four"
|
|
28
|
-
}
|
|
7
|
+
{"text": "1", "column": "id"},
|
|
8
|
+
{"text": "Alice Johnson", "column": "name"},
|
|
9
|
+
{"text": "alice@example.com", "column": "email"},
|
|
10
|
+
{"text": "Active", "column": "status", "chipColor": "success"},
|
|
11
|
+
{"text": "2023-01-15", "column": "date"},
|
|
12
|
+
{"text": "+1 555-0101", "column": "phone"},
|
|
13
|
+
{"text": "123 Main St, Springfield", "column": "address"},
|
|
14
|
+
{"text": "Primary account holder", "column": "notes"},
|
|
15
|
+
{"text": "A long description about Alice Johnson and her account details", "column": "description"},
|
|
16
|
+
{"text": "INT-001", "column": "internal_id"}
|
|
29
17
|
],
|
|
30
18
|
"actions": [
|
|
31
|
-
{
|
|
32
|
-
|
|
33
|
-
"uri": "#"
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"text": "Action Two",
|
|
37
|
-
"uri": "#",
|
|
38
|
-
"confirmContent": "Confirm Content"
|
|
39
|
-
}
|
|
19
|
+
{"text": "Edit", "uri": "/users/1/edit", "icon": "edit"},
|
|
20
|
+
{"text": "Delete", "uri": "/users/1/delete", "icon": "delete", "confirmType": "error", "confirmTitle": "Delete User", "confirmContent": "Are you sure you want to delete Alice Johnson?"}
|
|
40
21
|
]
|
|
41
22
|
},
|
|
42
23
|
{
|
|
43
|
-
"id": "
|
|
24
|
+
"id": "2",
|
|
25
|
+
"uri": "/users/2",
|
|
44
26
|
"cells": [
|
|
45
|
-
{
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
27
|
+
{"text": "2", "column": "id"},
|
|
28
|
+
{"text": "Bob Smith", "column": "name"},
|
|
29
|
+
{"text": "bob@example.com", "column": "email"},
|
|
30
|
+
{"text": "Active", "column": "status", "chipColor": "success"},
|
|
31
|
+
{"text": "2023-02-20", "column": "date"},
|
|
32
|
+
{"text": "+1 555-0102", "column": "phone"},
|
|
33
|
+
{"text": "456 Oak Ave, Shelbyville", "column": "address"},
|
|
34
|
+
{"text": "Upgraded to premium plan", "column": "notes"},
|
|
35
|
+
{"text": "Bob is a long-standing customer with premium access", "column": "description"},
|
|
36
|
+
{"text": "INT-002", "column": "internal_id"}
|
|
37
|
+
],
|
|
38
|
+
"actions": [
|
|
39
|
+
{"text": "Edit", "uri": "/users/2/edit", "icon": "edit"},
|
|
40
|
+
{"text": "Delete", "uri": "/users/2/delete", "icon": "delete", "confirmType": "error", "confirmTitle": "Delete User", "confirmContent": "Are you sure you want to delete Bob Smith?"}
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": "3",
|
|
45
|
+
"uri": "/users/3",
|
|
46
|
+
"cells": [
|
|
47
|
+
{"text": "3", "column": "id"},
|
|
48
|
+
{"text": "Carol Davis", "column": "name"},
|
|
49
|
+
{"text": "carol@example.com", "column": "email"},
|
|
50
|
+
{"text": "Inactive", "column": "status", "chipColor": "warning"},
|
|
51
|
+
{"text": "2023-03-10", "column": "date"},
|
|
52
|
+
{"text": "+1 555-0103", "column": "phone"},
|
|
53
|
+
{"text": "789 Pine Rd, Capital City", "column": "address"},
|
|
54
|
+
{"text": "Account on hold", "column": "notes"},
|
|
55
|
+
{"text": "Carol requested a temporary account suspension", "column": "description"},
|
|
56
|
+
{"text": "INT-003", "column": "internal_id"}
|
|
57
|
+
],
|
|
58
|
+
"actions": [
|
|
59
|
+
{"text": "Edit", "uri": "/users/3/edit", "icon": "edit"}
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "4",
|
|
64
|
+
"uri": "/users/4",
|
|
65
|
+
"cells": [
|
|
66
|
+
{"text": "4", "column": "id"},
|
|
67
|
+
{"text": "David Lee", "column": "name"},
|
|
68
|
+
{"text": "david@example.com", "column": "email"},
|
|
69
|
+
{"text": "Active", "column": "status", "chipColor": "success"},
|
|
70
|
+
{"text": "2023-04-05", "column": "date"},
|
|
71
|
+
{"text": "+1 555-0104", "column": "phone"},
|
|
72
|
+
{"text": "321 Elm St, Ogdenville", "column": "address"},
|
|
73
|
+
{"text": "Referred by Alice Johnson", "column": "notes"},
|
|
74
|
+
{"text": "David manages a team account with multiple users", "column": "description"},
|
|
75
|
+
{"text": "INT-004", "column": "internal_id"}
|
|
76
|
+
],
|
|
77
|
+
"actions": [
|
|
78
|
+
{"text": "Edit", "uri": "/users/4/edit", "icon": "edit"},
|
|
79
|
+
{"text": "Delete", "uri": "/users/4/delete", "icon": "delete", "confirmType": "error", "confirmTitle": "Delete User", "confirmContent": "Are you sure you want to delete David Lee?"}
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"id": "5",
|
|
84
|
+
"uri": "/users/5",
|
|
85
|
+
"cells": [
|
|
86
|
+
{"text": "5", "column": "id"},
|
|
87
|
+
{"text": "Emma Wilson", "column": "name"},
|
|
88
|
+
{"text": "emma@example.com", "column": "email"},
|
|
89
|
+
{"text": "Active", "column": "status", "chipColor": "success"},
|
|
90
|
+
{"text": "2023-05-18", "column": "date"},
|
|
91
|
+
{"text": "+1 555-0105", "column": "phone"},
|
|
92
|
+
{"text": "654 Maple Dr, North Haverbrook", "column": "address"},
|
|
93
|
+
{"text": "Enterprise customer", "column": "notes"},
|
|
94
|
+
{"text": "Emma oversees the enterprise subscription for her organisation", "column": "description"},
|
|
95
|
+
{"text": "INT-005", "column": "internal_id"}
|
|
96
|
+
],
|
|
97
|
+
"actions": [
|
|
98
|
+
{"text": "Edit", "uri": "/users/5/edit", "icon": "edit"}
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"id": "6",
|
|
103
|
+
"uri": "/users/6",
|
|
104
|
+
"cells": [
|
|
105
|
+
{"text": "6", "column": "id"},
|
|
106
|
+
{"text": "Frank Brown", "column": "name"},
|
|
107
|
+
{"text": "frank@example.com", "column": "email"},
|
|
108
|
+
{"text": "Inactive", "column": "status", "chipColor": "warning"},
|
|
109
|
+
{"text": "2023-06-22", "column": "date"},
|
|
110
|
+
{"text": "+1 555-0106", "column": "phone"},
|
|
111
|
+
{"text": "987 Cedar Ln, Brockway", "column": "address"},
|
|
112
|
+
{"text": "Trial period expired", "column": "notes"},
|
|
113
|
+
{"text": "Frank signed up for a trial and has not yet converted", "column": "description"},
|
|
114
|
+
{"text": "INT-006", "column": "internal_id"}
|
|
115
|
+
],
|
|
116
|
+
"actions": [
|
|
117
|
+
{"text": "Edit", "uri": "/users/6/edit", "icon": "edit"},
|
|
118
|
+
{"text": "Delete", "uri": "/users/6/delete", "icon": "delete", "confirmType": "error", "confirmTitle": "Delete User", "confirmContent": "Are you sure you want to delete Frank Brown?"}
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"id": "7",
|
|
123
|
+
"uri": "/users/7",
|
|
124
|
+
"cells": [
|
|
125
|
+
{"text": "7", "column": "id"},
|
|
126
|
+
{"text": "Grace Kim", "column": "name"},
|
|
127
|
+
{"text": "grace@example.com", "column": "email"},
|
|
128
|
+
{"text": "Active", "column": "status", "chipColor": "success"},
|
|
129
|
+
{"text": "2023-07-30", "column": "date"},
|
|
130
|
+
{"text": "+1 555-0107", "column": "phone"},
|
|
131
|
+
{"text": "147 Birch Way, Springfield", "column": "address"},
|
|
132
|
+
{"text": "Recently migrated from legacy system", "column": "notes"},
|
|
133
|
+
{"text": "Grace was part of the batch migration in Q3", "column": "description"},
|
|
134
|
+
{"text": "INT-007", "column": "internal_id"}
|
|
135
|
+
],
|
|
136
|
+
"actions": [
|
|
137
|
+
{"text": "Edit", "uri": "/users/7/edit", "icon": "edit"}
|
|
138
|
+
]
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"id": "8",
|
|
142
|
+
"uri": "/users/8",
|
|
143
|
+
"cells": [
|
|
144
|
+
{"text": "8", "column": "id"},
|
|
145
|
+
{"text": "Henry Clark", "column": "name"},
|
|
146
|
+
{"text": "henry@example.com", "column": "email"},
|
|
147
|
+
{"text": "Active", "column": "status", "chipColor": "success"},
|
|
148
|
+
{"text": "2023-08-12", "column": "date"},
|
|
149
|
+
{"text": "+1 555-0108", "column": "phone"},
|
|
150
|
+
{"text": "258 Walnut St, Shelbyville", "column": "address"},
|
|
151
|
+
{"text": "Billing contact for Acme Corp", "column": "notes"},
|
|
152
|
+
{"text": "Henry handles all billing enquiries for the Acme Corp account", "column": "description"},
|
|
153
|
+
{"text": "INT-008", "column": "internal_id"}
|
|
154
|
+
],
|
|
155
|
+
"actions": [
|
|
156
|
+
{"text": "Edit", "uri": "/users/8/edit", "icon": "edit"},
|
|
157
|
+
{"text": "Delete", "uri": "/users/8/delete", "icon": "delete", "confirmType": "error", "confirmTitle": "Delete User", "confirmContent": "Are you sure you want to delete Henry Clark?"}
|
|
158
|
+
]
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"id": "9",
|
|
162
|
+
"uri": "/users/9",
|
|
163
|
+
"cells": [
|
|
164
|
+
{"text": "9", "column": "id"},
|
|
165
|
+
{"text": "Irene Patel", "column": "name"},
|
|
166
|
+
{"text": "irene@example.com", "column": "email"},
|
|
167
|
+
{"text": "Active", "column": "status", "chipColor": "success"},
|
|
168
|
+
{"text": "2023-09-01", "column": "date"},
|
|
169
|
+
{"text": "+1 555-0109", "column": "phone"},
|
|
170
|
+
{"text": "369 Spruce Ct, Capital City", "column": "address"},
|
|
171
|
+
{"text": "VIP customer", "column": "notes"},
|
|
172
|
+
{"text": "Irene has been flagged as a VIP due to high account value", "column": "description"},
|
|
173
|
+
{"text": "INT-009", "column": "internal_id"}
|
|
174
|
+
],
|
|
175
|
+
"actions": [
|
|
176
|
+
{"text": "Edit", "uri": "/users/9/edit", "icon": "edit"}
|
|
177
|
+
]
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"id": "10",
|
|
181
|
+
"uri": "/users/10",
|
|
182
|
+
"cells": [
|
|
183
|
+
{"text": "10", "column": "id"},
|
|
184
|
+
{"text": "James Taylor", "column": "name"},
|
|
185
|
+
{"text": "james@example.com", "column": "email"},
|
|
186
|
+
{"text": "Inactive", "column": "status", "chipColor": "warning"},
|
|
187
|
+
{"text": "2023-10-14", "column": "date"},
|
|
188
|
+
{"text": "+1 555-0110", "column": "phone"},
|
|
189
|
+
{"text": "480 Ash Blvd, Ogdenville", "column": "address"},
|
|
190
|
+
{"text": "Pending verification", "column": "notes"},
|
|
191
|
+
{"text": "James needs to complete email verification to reactivate", "column": "description"},
|
|
192
|
+
{"text": "INT-010", "column": "internal_id"}
|
|
193
|
+
],
|
|
194
|
+
"actions": [
|
|
195
|
+
{"text": "Edit", "uri": "/users/10/edit", "icon": "edit"},
|
|
196
|
+
{"text": "Delete", "uri": "/users/10/delete", "icon": "delete", "confirmType": "error", "confirmTitle": "Delete User", "confirmContent": "Are you sure you want to delete James Taylor?"}
|
|
197
|
+
]
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"id": "11",
|
|
201
|
+
"uri": "/users/11",
|
|
202
|
+
"cells": [
|
|
203
|
+
{"text": "11", "column": "id"},
|
|
204
|
+
{"text": "Karen White", "column": "name"},
|
|
205
|
+
{"text": "karen@example.com", "column": "email"},
|
|
206
|
+
{"text": "Active", "column": "status", "chipColor": "success"},
|
|
207
|
+
{"text": "2023-11-03", "column": "date"},
|
|
208
|
+
{"text": "+1 555-0111", "column": "phone"},
|
|
209
|
+
{"text": "591 Poplar Rd, North Haverbrook", "column": "address"},
|
|
210
|
+
{"text": "Multi-site licence holder", "column": "notes"},
|
|
211
|
+
{"text": "Karen manages licences across three office locations", "column": "description"},
|
|
212
|
+
{"text": "INT-011", "column": "internal_id"}
|
|
213
|
+
],
|
|
214
|
+
"actions": [
|
|
215
|
+
{"text": "Edit", "uri": "/users/11/edit", "icon": "edit"}
|
|
216
|
+
]
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"id": "12",
|
|
220
|
+
"uri": "/users/12",
|
|
221
|
+
"cells": [
|
|
222
|
+
{"text": "12", "column": "id"},
|
|
223
|
+
{"text": "Liam Martinez", "column": "name"},
|
|
224
|
+
{"text": "liam@example.com", "column": "email"},
|
|
225
|
+
{"text": "Active", "column": "status", "chipColor": "success"},
|
|
226
|
+
{"text": "2023-12-19", "column": "date"},
|
|
227
|
+
{"text": "+1 555-0112", "column": "phone"},
|
|
228
|
+
{"text": "702 Willow Ave, Brockway", "column": "address"},
|
|
229
|
+
{"text": "API integration customer", "column": "notes"},
|
|
230
|
+
{"text": "Liam uses the API extensively for automated reporting", "column": "description"},
|
|
231
|
+
{"text": "INT-012", "column": "internal_id"}
|
|
232
|
+
],
|
|
233
|
+
"actions": [
|
|
234
|
+
{"text": "Edit", "uri": "/users/12/edit", "icon": "edit"},
|
|
235
|
+
{"text": "Delete", "uri": "/users/12/delete", "icon": "delete", "confirmType": "error", "confirmTitle": "Delete User", "confirmContent": "Are you sure you want to delete Liam Martinez?"}
|
|
76
236
|
]
|
|
77
237
|
}
|
|
78
|
-
]
|
|
238
|
+
],
|
|
239
|
+
"page": 1,
|
|
240
|
+
"perPage": 10,
|
|
241
|
+
"total": 12
|
|
79
242
|
}
|