@kodaris/krubble-app-components 1.0.66 → 1.0.68
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/chatbot.d.ts +36 -27
- package/dist/chatbot.d.ts.map +1 -1
- package/dist/chatbot.js +429 -321
- package/dist/chatbot.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/krubble-app.bundled.js +3208 -513
- package/dist/krubble-app.bundled.js.map +1 -1
- package/dist/krubble-app.bundled.min.js +395 -298
- package/dist/krubble-app.bundled.min.js.map +1 -1
- package/dist/krubble-app.umd.js +3206 -511
- package/dist/krubble-app.umd.js.map +1 -1
- package/dist/krubble-app.umd.min.js +395 -298
- package/dist/krubble-app.umd.min.js.map +1 -1
- package/dist/router.d.ts +1 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +8 -2
- package/dist/router.js.map +1 -1
- package/dist/scaffold/nav-item-edit.d.ts.map +1 -1
- package/dist/scaffold/nav-item-edit.js.map +1 -1
- package/dist/scaffold.d.ts +18 -12
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +208 -88
- package/dist/scaffold.js.map +1 -1
- package/dist/screen-detail.js +2 -2
- package/dist/screen-nav.d.ts +4 -4
- package/dist/screen-nav.d.ts.map +1 -1
- package/dist/screen-nav.js +14 -10
- package/dist/screen-nav.js.map +1 -1
- package/dist/subbar.d.ts.map +1 -1
- package/dist/subbar.js +43 -10
- package/dist/subbar.js.map +1 -1
- package/package.json +4 -3
package/dist/scaffold.js
CHANGED
|
@@ -57,6 +57,7 @@ import { KRNavItemEdit } from './scaffold/nav-item-edit.js';
|
|
|
57
57
|
* @property {KRNavItem[]} nav - Navigation items as JSON array
|
|
58
58
|
* @property {KRUser} user - User profile data
|
|
59
59
|
* @property {boolean} navEnabled - Whether to show the nav drawer (menu toggle remains visible when false)
|
|
60
|
+
* @property {'employee'|'customer'} user-type - User type. Customers skip all `/api/system` calls since that endpoint is employee-only. Defaults to 'employee'.
|
|
60
61
|
*
|
|
61
62
|
*
|
|
62
63
|
* TODO
|
|
@@ -70,18 +71,6 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
70
71
|
* Default icon for nav items without an icon (shown at top level)
|
|
71
72
|
*/
|
|
72
73
|
this.defaultNavItemIcon = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><circle cx="12" cy="12" r="10"/></svg>';
|
|
73
|
-
this.navItemsExpanded = new Set();
|
|
74
|
-
this.navQuery = '';
|
|
75
|
-
this.activeNavItemId = null;
|
|
76
|
-
this.isNavScrolled = false;
|
|
77
|
-
this.isNavOpened = localStorage.getItem('kr-scaffold-nav-opened') !== 'false';
|
|
78
|
-
this.isEditing = false;
|
|
79
|
-
this.isUserMenuOpen = false;
|
|
80
|
-
this.pref = { nav: {} };
|
|
81
|
-
this.draggedNavItemId = null;
|
|
82
|
-
this.navItemDropTargetId = null;
|
|
83
|
-
this.navItemDropPosition = 'above';
|
|
84
|
-
this.pendingRequests = 0;
|
|
85
74
|
this.originalFetch = null;
|
|
86
75
|
this.originalXhrOpen = null;
|
|
87
76
|
this.navItemDragPreview = null;
|
|
@@ -109,18 +98,38 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
109
98
|
* Menu toggle button remains visible and emits menu-click events.
|
|
110
99
|
*/
|
|
111
100
|
this.navEnabled = true;
|
|
101
|
+
/**
|
|
102
|
+
* User type. Set to 'customer' to skip all /api/system calls — customers don't have access to that endpoint.
|
|
103
|
+
*/
|
|
104
|
+
this.userType = 'employee';
|
|
112
105
|
/**
|
|
113
106
|
* Breadcrumbs to display in the subbar
|
|
114
107
|
*/
|
|
115
108
|
this.breadcrumbs = [];
|
|
109
|
+
this.navItemsExpanded = new Set();
|
|
110
|
+
this.navQuery = '';
|
|
111
|
+
this.activeNavItemId = null;
|
|
112
|
+
this.isNavScrolled = false;
|
|
113
|
+
this.isNavOpened = localStorage.getItem('kr-scaffold-nav-opened') !== 'false';
|
|
114
|
+
this.isEditing = false;
|
|
115
|
+
this.isUserMenuOpen = false;
|
|
116
|
+
this.pref = { nav: {} };
|
|
117
|
+
this.draggedNavItemId = null;
|
|
118
|
+
this.navItemDropTargetId = null;
|
|
119
|
+
this.navItemDropPosition = 'above';
|
|
120
|
+
this.pendingRequests = 0;
|
|
116
121
|
this.boundHandleMouseMove = this.handleMouseMove.bind(this);
|
|
117
122
|
this.boundHandleMouseUp = this.handleMouseUp.bind(this);
|
|
118
123
|
}
|
|
119
124
|
connectedCallback() {
|
|
120
125
|
super.connectedCallback();
|
|
121
|
-
this.loadPref();
|
|
122
126
|
this.installFetchInterceptor();
|
|
123
127
|
}
|
|
128
|
+
// Attributes are not reflected into properties until after the first update,
|
|
129
|
+
// so loadPref() must run here (not connectedCallback) for user-type to be set.
|
|
130
|
+
firstUpdated() {
|
|
131
|
+
this.loadPref();
|
|
132
|
+
}
|
|
124
133
|
updated(changedProperties) {
|
|
125
134
|
super.updated(changedProperties);
|
|
126
135
|
if (changedProperties.has('nav') && this.nav.length > 0) {
|
|
@@ -142,8 +151,9 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
142
151
|
* Updates `pendingRequests` state when requests start/complete.
|
|
143
152
|
*/
|
|
144
153
|
installFetchInterceptor() {
|
|
145
|
-
if (this.originalFetch)
|
|
154
|
+
if (this.originalFetch) {
|
|
146
155
|
return;
|
|
156
|
+
}
|
|
147
157
|
const scaffold = this;
|
|
148
158
|
// Intercept fetch
|
|
149
159
|
this.originalFetch = window.fetch.bind(window);
|
|
@@ -194,17 +204,23 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
194
204
|
* - resolveUrl(item) = "/operations/settings" (used for href and URL comparison)
|
|
195
205
|
*/
|
|
196
206
|
resolveUrl(item) {
|
|
197
|
-
if (!item.url)
|
|
207
|
+
if (!item.url) {
|
|
198
208
|
return '#';
|
|
209
|
+
}
|
|
199
210
|
// External URLs - return as-is
|
|
200
211
|
if (item.external) {
|
|
201
212
|
return item.url;
|
|
202
213
|
}
|
|
203
214
|
// Remove leading slash from url if present, then combine with base
|
|
204
|
-
|
|
215
|
+
let path = item.url;
|
|
216
|
+
if (item.url.startsWith('/')) {
|
|
217
|
+
path = item.url.slice(1);
|
|
218
|
+
}
|
|
205
219
|
const baseHref = document.querySelector('base')?.getAttribute('href') || '/';
|
|
206
|
-
|
|
207
|
-
|
|
220
|
+
if (baseHref.endsWith('/')) {
|
|
221
|
+
return baseHref + path;
|
|
222
|
+
}
|
|
223
|
+
return baseHref + '/' + path;
|
|
208
224
|
}
|
|
209
225
|
// =========================================================================
|
|
210
226
|
// Navigation Data
|
|
@@ -233,11 +249,15 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
233
249
|
if (item.type === 'group' && item.children) {
|
|
234
250
|
item.children.forEach((child, childIndex) => {
|
|
235
251
|
const childOverride = this.pref.nav[child.id];
|
|
252
|
+
let parentId = item.id;
|
|
253
|
+
if (childOverride?.parentId !== undefined) {
|
|
254
|
+
parentId = childOverride.parentId;
|
|
255
|
+
}
|
|
236
256
|
result.push({
|
|
237
257
|
...child,
|
|
238
258
|
...childOverride,
|
|
239
259
|
order: childOverride?.order ?? child.order ?? childIndex,
|
|
240
|
-
parentId
|
|
260
|
+
parentId,
|
|
241
261
|
});
|
|
242
262
|
});
|
|
243
263
|
}
|
|
@@ -380,14 +400,18 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
380
400
|
toggleNavItem(itemId) {
|
|
381
401
|
const navItem = this.shadowRoot?.querySelector(`.nav-item[data-id="${itemId}"]`);
|
|
382
402
|
const groupEl = navItem?.nextElementSibling;
|
|
383
|
-
if (!groupEl)
|
|
403
|
+
if (!groupEl) {
|
|
384
404
|
return;
|
|
405
|
+
}
|
|
385
406
|
if (this.navItemsExpanded.has(itemId)) {
|
|
386
407
|
this.navItemsExpanded.delete(itemId);
|
|
387
408
|
groupEl.animate([
|
|
388
409
|
{ height: `${groupEl.scrollHeight}px` },
|
|
389
410
|
{ height: '0px' }
|
|
390
|
-
], {
|
|
411
|
+
], {
|
|
412
|
+
duration: 300,
|
|
413
|
+
easing: 'ease-in-out'
|
|
414
|
+
}).onfinish = () => {
|
|
391
415
|
groupEl.classList.remove('nav-group--expanded');
|
|
392
416
|
};
|
|
393
417
|
}
|
|
@@ -397,7 +421,10 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
397
421
|
groupEl.animate([
|
|
398
422
|
{ height: '0px' },
|
|
399
423
|
{ height: `${groupEl.scrollHeight}px` }
|
|
400
|
-
], {
|
|
424
|
+
], {
|
|
425
|
+
duration: 300,
|
|
426
|
+
easing: 'ease-in-out'
|
|
427
|
+
});
|
|
401
428
|
}
|
|
402
429
|
this.requestUpdate();
|
|
403
430
|
}
|
|
@@ -492,12 +519,18 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
492
519
|
this.pref.nav = {};
|
|
493
520
|
}
|
|
494
521
|
savePref() {
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
522
|
+
if (this.userType === 'customer') {
|
|
523
|
+
return;
|
|
524
|
+
}
|
|
525
|
+
let url = '/api/system/preference/json/scaffold?global=true';
|
|
526
|
+
let method = 'POST';
|
|
527
|
+
if (this.pref.uuid) {
|
|
528
|
+
url = `/api/system/preference/json/scaffold/${this.pref.uuid}?global=true`;
|
|
529
|
+
method = 'PUT';
|
|
530
|
+
}
|
|
498
531
|
KRHttp.fetch({
|
|
499
532
|
url,
|
|
500
|
-
method
|
|
533
|
+
method,
|
|
501
534
|
body: JSON.stringify({ nav: this.pref.nav }),
|
|
502
535
|
})
|
|
503
536
|
.then((response) => response.json())
|
|
@@ -510,6 +543,9 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
510
543
|
});
|
|
511
544
|
}
|
|
512
545
|
loadPref() {
|
|
546
|
+
if (this.userType === 'customer') {
|
|
547
|
+
return;
|
|
548
|
+
}
|
|
513
549
|
KRHttp.fetch({
|
|
514
550
|
url: '/api/system/preference/json/scaffold?global=true',
|
|
515
551
|
method: 'GET',
|
|
@@ -526,21 +562,36 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
526
562
|
});
|
|
527
563
|
}
|
|
528
564
|
handleNavItemContextMenu(e, item) {
|
|
529
|
-
if (!this.isEditing)
|
|
565
|
+
if (!this.isEditing) {
|
|
530
566
|
return;
|
|
567
|
+
}
|
|
531
568
|
e.preventDefault();
|
|
532
569
|
KRContextMenu.open({
|
|
533
570
|
x: e.clientX,
|
|
534
571
|
y: e.clientY,
|
|
535
572
|
items: [
|
|
536
|
-
{
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
573
|
+
{
|
|
574
|
+
id: 'edit',
|
|
575
|
+
label: 'Edit Item'
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
id: 'divider-1',
|
|
579
|
+
label: '',
|
|
580
|
+
divider: true
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
id: 'add-above',
|
|
584
|
+
label: 'Add Item Above'
|
|
585
|
+
},
|
|
586
|
+
{
|
|
587
|
+
id: 'add-below',
|
|
588
|
+
label: 'Add Item Below'
|
|
589
|
+
},
|
|
540
590
|
],
|
|
541
591
|
}).then((result) => {
|
|
542
|
-
if (!result)
|
|
592
|
+
if (!result) {
|
|
543
593
|
return;
|
|
594
|
+
}
|
|
544
595
|
switch (result.id) {
|
|
545
596
|
case 'edit':
|
|
546
597
|
this.openNavItemEdit(item);
|
|
@@ -566,8 +617,9 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
566
617
|
openNavItemEdit(item) {
|
|
567
618
|
KRDialog.open(KRNavItemEdit, { data: item }).afterClosed().then((res) => {
|
|
568
619
|
const result = res;
|
|
569
|
-
if (!result)
|
|
620
|
+
if (!result) {
|
|
570
621
|
return;
|
|
622
|
+
}
|
|
571
623
|
if (!this.pref.nav[item.id]) {
|
|
572
624
|
this.pref.nav[item.id] = {};
|
|
573
625
|
}
|
|
@@ -594,7 +646,13 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
594
646
|
.filter(i => i.parentId === targetItem.parentId)
|
|
595
647
|
.sort((a, b) => a.order - b.order);
|
|
596
648
|
const targetIndex = siblings.findIndex(i => i.id === targetItem.id);
|
|
597
|
-
|
|
649
|
+
let newOrder;
|
|
650
|
+
if (position === 'above') {
|
|
651
|
+
newOrder = targetIndex;
|
|
652
|
+
}
|
|
653
|
+
else {
|
|
654
|
+
newOrder = targetIndex + 1;
|
|
655
|
+
}
|
|
598
656
|
// Shift existing items to make room for the new item
|
|
599
657
|
siblings.forEach((sibling, index) => {
|
|
600
658
|
if (index >= newOrder) {
|
|
@@ -631,8 +689,9 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
631
689
|
* @param item - The nav item being pressed
|
|
632
690
|
*/
|
|
633
691
|
handleNavItemMouseDown(e, item) {
|
|
634
|
-
if (!this.isEditing)
|
|
692
|
+
if (!this.isEditing) {
|
|
635
693
|
return;
|
|
694
|
+
}
|
|
636
695
|
e.preventDefault();
|
|
637
696
|
this.draggedNavItemId = item.id;
|
|
638
697
|
this.navItemDragStartY = e.clientY;
|
|
@@ -650,8 +709,9 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
650
709
|
* @param e - The mouse event
|
|
651
710
|
*/
|
|
652
711
|
handleMouseMove(e) {
|
|
653
|
-
if (!this.draggedNavItemId)
|
|
712
|
+
if (!this.draggedNavItemId) {
|
|
654
713
|
return;
|
|
714
|
+
}
|
|
655
715
|
// Start dragging after moving a few pixels (to distinguish from clicks)
|
|
656
716
|
if (!this.isNavItemDragging && Math.abs(e.clientY - this.navItemDragStartY) > 5) {
|
|
657
717
|
this.isNavItemDragging = true;
|
|
@@ -667,8 +727,9 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
667
727
|
this.shadowRoot?.appendChild(this.navItemDragPreview);
|
|
668
728
|
}
|
|
669
729
|
}
|
|
670
|
-
if (!this.isNavItemDragging)
|
|
730
|
+
if (!this.isNavItemDragging) {
|
|
671
731
|
return;
|
|
732
|
+
}
|
|
672
733
|
// Update preview position
|
|
673
734
|
if (this.navItemDragPreview) {
|
|
674
735
|
this.navItemDragPreview.style.left = `${e.clientX + 10}px`;
|
|
@@ -719,14 +780,16 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
719
780
|
updateNavItemDropTarget(e) {
|
|
720
781
|
// Get all nav items in shadow DOM
|
|
721
782
|
const navItems = this.shadowRoot?.querySelectorAll('.nav-item[data-id]');
|
|
722
|
-
if (!navItems)
|
|
783
|
+
if (!navItems) {
|
|
723
784
|
return;
|
|
785
|
+
}
|
|
724
786
|
let foundTarget = false;
|
|
725
787
|
navItems.forEach((el) => {
|
|
726
788
|
const rect = el.getBoundingClientRect();
|
|
727
789
|
const itemId = el.getAttribute('data-id');
|
|
728
|
-
if (!itemId || itemId === this.draggedNavItemId)
|
|
790
|
+
if (!itemId || itemId === this.draggedNavItemId) {
|
|
729
791
|
return;
|
|
792
|
+
}
|
|
730
793
|
// Skip if mouse is outside this element
|
|
731
794
|
if (e.clientX < rect.left || e.clientX > rect.right ||
|
|
732
795
|
e.clientY < rect.top || e.clientY > rect.bottom) {
|
|
@@ -763,11 +826,22 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
763
826
|
}
|
|
764
827
|
else {
|
|
765
828
|
// Regular items only support above/below, not center
|
|
766
|
-
|
|
829
|
+
if (y < rect.height / 2) {
|
|
830
|
+
position = 'above';
|
|
831
|
+
}
|
|
832
|
+
else {
|
|
833
|
+
position = 'below';
|
|
834
|
+
}
|
|
767
835
|
this.clearNavItemDragExpandTimeout();
|
|
768
836
|
}
|
|
769
837
|
// Determine what the new parent would be
|
|
770
|
-
|
|
838
|
+
let newParentId;
|
|
839
|
+
if (position === 'center') {
|
|
840
|
+
newParentId = item.id;
|
|
841
|
+
}
|
|
842
|
+
else {
|
|
843
|
+
newParentId = item.parentId;
|
|
844
|
+
}
|
|
771
845
|
const draggedItem = this.getComputedNav().find(i => i.id === this.draggedNavItemId);
|
|
772
846
|
// Don't show drop indicator if invalid drop:
|
|
773
847
|
// 1. Can't drop an item into itself (newParentId === draggedNavItemId)
|
|
@@ -827,13 +901,15 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
827
901
|
* with new order values for the dragged item and shifts siblings as needed.
|
|
828
902
|
*/
|
|
829
903
|
executeNavItemDrop() {
|
|
830
|
-
if (!this.draggedNavItemId || !this.navItemDropTargetId)
|
|
904
|
+
if (!this.draggedNavItemId || !this.navItemDropTargetId) {
|
|
831
905
|
return;
|
|
906
|
+
}
|
|
832
907
|
const allItems = this.getComputedNav();
|
|
833
908
|
const draggedItem = allItems.find(i => i.id === this.draggedNavItemId);
|
|
834
909
|
const targetItem = allItems.find(i => i.id === this.navItemDropTargetId);
|
|
835
|
-
if (!draggedItem || !targetItem)
|
|
910
|
+
if (!draggedItem || !targetItem) {
|
|
836
911
|
return;
|
|
912
|
+
}
|
|
837
913
|
// Determine the new parentId for the dragged item
|
|
838
914
|
let newParentId;
|
|
839
915
|
if (this.navItemDropPosition === 'center' && targetItem.type === 'group') {
|
|
@@ -845,8 +921,9 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
845
921
|
else {
|
|
846
922
|
newParentId = targetItem.parentId;
|
|
847
923
|
}
|
|
848
|
-
if (newParentId === this.draggedNavItemId)
|
|
924
|
+
if (newParentId === this.draggedNavItemId) {
|
|
849
925
|
return;
|
|
926
|
+
}
|
|
850
927
|
// Get siblings in the destination parent
|
|
851
928
|
const siblings = allItems
|
|
852
929
|
.filter(i => i.parentId === newParentId && i.id !== this.draggedNavItemId)
|
|
@@ -917,8 +994,9 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
917
994
|
// Rendering
|
|
918
995
|
// =========================================================================
|
|
919
996
|
renderNormalFooter() {
|
|
920
|
-
if (!this.user)
|
|
997
|
+
if (!this.user) {
|
|
921
998
|
return nothing;
|
|
999
|
+
}
|
|
922
1000
|
const initials = this.user.name
|
|
923
1001
|
.split(' ')
|
|
924
1002
|
.map((part) => part[0])
|
|
@@ -1015,7 +1093,11 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
1015
1093
|
stroke="currentColor"
|
|
1016
1094
|
stroke-width="2"
|
|
1017
1095
|
>
|
|
1018
|
-
<path
|
|
1096
|
+
<path
|
|
1097
|
+
d="M6 9l6 6 6-6"
|
|
1098
|
+
stroke-linecap="round"
|
|
1099
|
+
stroke-linejoin="round"
|
|
1100
|
+
/>
|
|
1019
1101
|
</svg>
|
|
1020
1102
|
</button>
|
|
1021
1103
|
<div class=${classMap({
|
|
@@ -1067,7 +1149,11 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
1067
1149
|
</div>
|
|
1068
1150
|
|
|
1069
1151
|
${this.subbar ? html `
|
|
1070
|
-
<kr-subbar
|
|
1152
|
+
<kr-subbar
|
|
1153
|
+
menu
|
|
1154
|
+
.breadcrumbs=${this.breadcrumbs}
|
|
1155
|
+
@menu-click=${this.handleMenuClick}
|
|
1156
|
+
>
|
|
1071
1157
|
<slot name="subbar"></slot>
|
|
1072
1158
|
</kr-subbar>
|
|
1073
1159
|
` : nothing}
|
|
@@ -1083,7 +1169,11 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
1083
1169
|
${this.label
|
|
1084
1170
|
? html `<span class="nav-title">${this.label}</span>`
|
|
1085
1171
|
: this.logo
|
|
1086
|
-
? html `<img
|
|
1172
|
+
? html `<img
|
|
1173
|
+
class="nav-logo"
|
|
1174
|
+
src=${this.logo}
|
|
1175
|
+
alt="Logo"
|
|
1176
|
+
/>`
|
|
1087
1177
|
: nothing}
|
|
1088
1178
|
</div>
|
|
1089
1179
|
<div class="nav-content" @scroll=${this.handleNavScroll}>
|
|
@@ -1091,7 +1181,11 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
1091
1181
|
<div class="nav-search">
|
|
1092
1182
|
<div class="nav-search__wrapper">
|
|
1093
1183
|
<span class="nav-search__icon">
|
|
1094
|
-
<svg
|
|
1184
|
+
<svg
|
|
1185
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
1186
|
+
viewBox="0 0 24 24"
|
|
1187
|
+
fill="currentColor"
|
|
1188
|
+
>
|
|
1095
1189
|
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>
|
|
1096
1190
|
</svg>
|
|
1097
1191
|
</span>
|
|
@@ -1104,7 +1198,11 @@ let KRScaffold = class KRScaffold extends LitElement {
|
|
|
1104
1198
|
/>
|
|
1105
1199
|
${this.navQuery ? html `
|
|
1106
1200
|
<button class="nav-search__clear" @click=${this.handleNavQueryClear}>
|
|
1107
|
-
<svg
|
|
1201
|
+
<svg
|
|
1202
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
1203
|
+
viewBox="0 0 24 24"
|
|
1204
|
+
fill="currentColor"
|
|
1205
|
+
>
|
|
1108
1206
|
<path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/>
|
|
1109
1207
|
</svg>
|
|
1110
1208
|
</button>
|
|
@@ -1296,7 +1394,7 @@ KRScaffold.styles = css `
|
|
|
1296
1394
|
.nav-content {
|
|
1297
1395
|
flex: 1;
|
|
1298
1396
|
overflow-y: auto;
|
|
1299
|
-
padding: 0 9px
|
|
1397
|
+
padding: 0 9px 12px 8px;
|
|
1300
1398
|
}
|
|
1301
1399
|
|
|
1302
1400
|
.nav-footer {
|
|
@@ -1416,7 +1514,7 @@ KRScaffold.styles = css `
|
|
|
1416
1514
|
|
|
1417
1515
|
.breadcrumbs {
|
|
1418
1516
|
height: 32px;
|
|
1419
|
-
padding: 0
|
|
1517
|
+
padding: 0 16px;
|
|
1420
1518
|
display: flex;
|
|
1421
1519
|
align-items: center;
|
|
1422
1520
|
gap: 6px;
|
|
@@ -1510,7 +1608,7 @@ KRScaffold.styles = css `
|
|
|
1510
1608
|
white-space: nowrap;
|
|
1511
1609
|
overflow: hidden;
|
|
1512
1610
|
text-overflow: ellipsis;
|
|
1513
|
-
letter-spacing: 0.
|
|
1611
|
+
letter-spacing: 0.14px;
|
|
1514
1612
|
}
|
|
1515
1613
|
|
|
1516
1614
|
.nav-item__chevron {
|
|
@@ -1565,7 +1663,7 @@ KRScaffold.styles = css `
|
|
|
1565
1663
|
font-size: 11px;
|
|
1566
1664
|
font-weight: 600;
|
|
1567
1665
|
text-transform: uppercase;
|
|
1568
|
-
letter-spacing: 0.
|
|
1666
|
+
letter-spacing: 0.55px;
|
|
1569
1667
|
color: var(--kr-scaffold-nav-text);
|
|
1570
1668
|
opacity: 0.6;
|
|
1571
1669
|
}
|
|
@@ -1688,7 +1786,7 @@ KRScaffold.styles = css `
|
|
|
1688
1786
|
|
|
1689
1787
|
.breadcrumbs {
|
|
1690
1788
|
height: 32px;
|
|
1691
|
-
padding: 0
|
|
1789
|
+
padding: 0 16px;
|
|
1692
1790
|
display: flex;
|
|
1693
1791
|
align-items: center;
|
|
1694
1792
|
gap: 6px;
|
|
@@ -1856,6 +1954,61 @@ KRScaffold.styles = css `
|
|
|
1856
1954
|
}
|
|
1857
1955
|
}
|
|
1858
1956
|
`;
|
|
1957
|
+
__decorate([
|
|
1958
|
+
property({ type: String })
|
|
1959
|
+
], KRScaffold.prototype, "logo", void 0);
|
|
1960
|
+
__decorate([
|
|
1961
|
+
property({ type: String })
|
|
1962
|
+
], KRScaffold.prototype, "label", void 0);
|
|
1963
|
+
__decorate([
|
|
1964
|
+
property({
|
|
1965
|
+
type: String,
|
|
1966
|
+
attribute: 'home-url'
|
|
1967
|
+
})
|
|
1968
|
+
], KRScaffold.prototype, "homeUrl", void 0);
|
|
1969
|
+
__decorate([
|
|
1970
|
+
property({
|
|
1971
|
+
type: String,
|
|
1972
|
+
reflect: true
|
|
1973
|
+
})
|
|
1974
|
+
], KRScaffold.prototype, "scheme", void 0);
|
|
1975
|
+
__decorate([
|
|
1976
|
+
property({ type: Array })
|
|
1977
|
+
], KRScaffold.prototype, "nav", void 0);
|
|
1978
|
+
__decorate([
|
|
1979
|
+
property({
|
|
1980
|
+
type: Boolean,
|
|
1981
|
+
attribute: 'nav-icons-displayed',
|
|
1982
|
+
reflect: true
|
|
1983
|
+
})
|
|
1984
|
+
], KRScaffold.prototype, "navIconsDisplayed", void 0);
|
|
1985
|
+
__decorate([
|
|
1986
|
+
property({
|
|
1987
|
+
type: Boolean,
|
|
1988
|
+
attribute: 'nav-expanded'
|
|
1989
|
+
})
|
|
1990
|
+
], KRScaffold.prototype, "navExpanded", void 0);
|
|
1991
|
+
__decorate([
|
|
1992
|
+
property({ type: Object })
|
|
1993
|
+
], KRScaffold.prototype, "user", void 0);
|
|
1994
|
+
__decorate([
|
|
1995
|
+
property({ type: Boolean })
|
|
1996
|
+
], KRScaffold.prototype, "subbar", void 0);
|
|
1997
|
+
__decorate([
|
|
1998
|
+
property({
|
|
1999
|
+
type: Boolean,
|
|
2000
|
+
attribute: 'nav-enabled'
|
|
2001
|
+
})
|
|
2002
|
+
], KRScaffold.prototype, "navEnabled", void 0);
|
|
2003
|
+
__decorate([
|
|
2004
|
+
property({
|
|
2005
|
+
type: String,
|
|
2006
|
+
attribute: 'user-type'
|
|
2007
|
+
})
|
|
2008
|
+
], KRScaffold.prototype, "userType", void 0);
|
|
2009
|
+
__decorate([
|
|
2010
|
+
property({ type: Array })
|
|
2011
|
+
], KRScaffold.prototype, "breadcrumbs", void 0);
|
|
1859
2012
|
__decorate([
|
|
1860
2013
|
state()
|
|
1861
2014
|
], KRScaffold.prototype, "navItemsExpanded", void 0);
|
|
@@ -1892,39 +2045,6 @@ __decorate([
|
|
|
1892
2045
|
__decorate([
|
|
1893
2046
|
state()
|
|
1894
2047
|
], KRScaffold.prototype, "pendingRequests", void 0);
|
|
1895
|
-
__decorate([
|
|
1896
|
-
property({ type: String })
|
|
1897
|
-
], KRScaffold.prototype, "logo", void 0);
|
|
1898
|
-
__decorate([
|
|
1899
|
-
property({ type: String })
|
|
1900
|
-
], KRScaffold.prototype, "label", void 0);
|
|
1901
|
-
__decorate([
|
|
1902
|
-
property({ type: String, attribute: 'home-url' })
|
|
1903
|
-
], KRScaffold.prototype, "homeUrl", void 0);
|
|
1904
|
-
__decorate([
|
|
1905
|
-
property({ type: String, reflect: true })
|
|
1906
|
-
], KRScaffold.prototype, "scheme", void 0);
|
|
1907
|
-
__decorate([
|
|
1908
|
-
property({ type: Array })
|
|
1909
|
-
], KRScaffold.prototype, "nav", void 0);
|
|
1910
|
-
__decorate([
|
|
1911
|
-
property({ type: Boolean, attribute: 'nav-icons-displayed', reflect: true })
|
|
1912
|
-
], KRScaffold.prototype, "navIconsDisplayed", void 0);
|
|
1913
|
-
__decorate([
|
|
1914
|
-
property({ type: Boolean, attribute: 'nav-expanded' })
|
|
1915
|
-
], KRScaffold.prototype, "navExpanded", void 0);
|
|
1916
|
-
__decorate([
|
|
1917
|
-
property({ type: Object })
|
|
1918
|
-
], KRScaffold.prototype, "user", void 0);
|
|
1919
|
-
__decorate([
|
|
1920
|
-
property({ type: Boolean })
|
|
1921
|
-
], KRScaffold.prototype, "subbar", void 0);
|
|
1922
|
-
__decorate([
|
|
1923
|
-
property({ type: Boolean, attribute: 'nav-enabled' })
|
|
1924
|
-
], KRScaffold.prototype, "navEnabled", void 0);
|
|
1925
|
-
__decorate([
|
|
1926
|
-
property({ type: Array })
|
|
1927
|
-
], KRScaffold.prototype, "breadcrumbs", void 0);
|
|
1928
2048
|
KRScaffold = __decorate([
|
|
1929
2049
|
customElement('kr-scaffold')
|
|
1930
2050
|
], KRScaffold);
|