@kodaris/krubble-app-components 1.0.67 → 1.0.69

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/scaffold.js CHANGED
@@ -71,18 +71,6 @@ let KRScaffold = class KRScaffold extends LitElement {
71
71
  * Default icon for nav items without an icon (shown at top level)
72
72
  */
73
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>';
74
- this.navItemsExpanded = new Set();
75
- this.navQuery = '';
76
- this.activeNavItemId = null;
77
- this.isNavScrolled = false;
78
- this.isNavOpened = localStorage.getItem('kr-scaffold-nav-opened') !== 'false';
79
- this.isEditing = false;
80
- this.isUserMenuOpen = false;
81
- this.pref = { nav: {} };
82
- this.draggedNavItemId = null;
83
- this.navItemDropTargetId = null;
84
- this.navItemDropPosition = 'above';
85
- this.pendingRequests = 0;
86
74
  this.originalFetch = null;
87
75
  this.originalXhrOpen = null;
88
76
  this.navItemDragPreview = null;
@@ -118,6 +106,18 @@ let KRScaffold = class KRScaffold extends LitElement {
118
106
  * Breadcrumbs to display in the subbar
119
107
  */
120
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;
121
121
  this.boundHandleMouseMove = this.handleMouseMove.bind(this);
122
122
  this.boundHandleMouseUp = this.handleMouseUp.bind(this);
123
123
  }
@@ -151,8 +151,9 @@ let KRScaffold = class KRScaffold extends LitElement {
151
151
  * Updates `pendingRequests` state when requests start/complete.
152
152
  */
153
153
  installFetchInterceptor() {
154
- if (this.originalFetch)
154
+ if (this.originalFetch) {
155
155
  return;
156
+ }
156
157
  const scaffold = this;
157
158
  // Intercept fetch
158
159
  this.originalFetch = window.fetch.bind(window);
@@ -203,17 +204,23 @@ let KRScaffold = class KRScaffold extends LitElement {
203
204
  * - resolveUrl(item) = "/operations/settings" (used for href and URL comparison)
204
205
  */
205
206
  resolveUrl(item) {
206
- if (!item.url)
207
+ if (!item.url) {
207
208
  return '#';
209
+ }
208
210
  // External URLs - return as-is
209
211
  if (item.external) {
210
212
  return item.url;
211
213
  }
212
214
  // Remove leading slash from url if present, then combine with base
213
- const path = item.url.startsWith('/') ? item.url.slice(1) : item.url;
215
+ let path = item.url;
216
+ if (item.url.startsWith('/')) {
217
+ path = item.url.slice(1);
218
+ }
214
219
  const baseHref = document.querySelector('base')?.getAttribute('href') || '/';
215
- const base = baseHref.endsWith('/') ? baseHref : (baseHref + '/');
216
- return base + path;
220
+ if (baseHref.endsWith('/')) {
221
+ return baseHref + path;
222
+ }
223
+ return baseHref + '/' + path;
217
224
  }
218
225
  // =========================================================================
219
226
  // Navigation Data
@@ -242,11 +249,15 @@ let KRScaffold = class KRScaffold extends LitElement {
242
249
  if (item.type === 'group' && item.children) {
243
250
  item.children.forEach((child, childIndex) => {
244
251
  const childOverride = this.pref.nav[child.id];
252
+ let parentId = item.id;
253
+ if (childOverride?.parentId !== undefined) {
254
+ parentId = childOverride.parentId;
255
+ }
245
256
  result.push({
246
257
  ...child,
247
258
  ...childOverride,
248
259
  order: childOverride?.order ?? child.order ?? childIndex,
249
- parentId: childOverride?.parentId !== undefined ? childOverride.parentId : item.id,
260
+ parentId,
250
261
  });
251
262
  });
252
263
  }
@@ -389,14 +400,18 @@ let KRScaffold = class KRScaffold extends LitElement {
389
400
  toggleNavItem(itemId) {
390
401
  const navItem = this.shadowRoot?.querySelector(`.nav-item[data-id="${itemId}"]`);
391
402
  const groupEl = navItem?.nextElementSibling;
392
- if (!groupEl)
403
+ if (!groupEl) {
393
404
  return;
405
+ }
394
406
  if (this.navItemsExpanded.has(itemId)) {
395
407
  this.navItemsExpanded.delete(itemId);
396
408
  groupEl.animate([
397
409
  { height: `${groupEl.scrollHeight}px` },
398
410
  { height: '0px' }
399
- ], { duration: 300, easing: 'ease-in-out' }).onfinish = () => {
411
+ ], {
412
+ duration: 300,
413
+ easing: 'ease-in-out'
414
+ }).onfinish = () => {
400
415
  groupEl.classList.remove('nav-group--expanded');
401
416
  };
402
417
  }
@@ -406,7 +421,10 @@ let KRScaffold = class KRScaffold extends LitElement {
406
421
  groupEl.animate([
407
422
  { height: '0px' },
408
423
  { height: `${groupEl.scrollHeight}px` }
409
- ], { duration: 300, easing: 'ease-in-out' });
424
+ ], {
425
+ duration: 300,
426
+ easing: 'ease-in-out'
427
+ });
410
428
  }
411
429
  this.requestUpdate();
412
430
  }
@@ -501,14 +519,18 @@ let KRScaffold = class KRScaffold extends LitElement {
501
519
  this.pref.nav = {};
502
520
  }
503
521
  savePref() {
504
- if (this.userType === 'customer')
522
+ if (this.userType === 'customer') {
505
523
  return;
506
- const url = this.pref.uuid
507
- ? `/api/system/preference/json/scaffold/${this.pref.uuid}?global=true`
508
- : `/api/system/preference/json/scaffold?global=true`;
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
+ }
509
531
  KRHttp.fetch({
510
532
  url,
511
- method: this.pref.uuid ? 'PUT' : 'POST',
533
+ method,
512
534
  body: JSON.stringify({ nav: this.pref.nav }),
513
535
  })
514
536
  .then((response) => response.json())
@@ -521,8 +543,9 @@ let KRScaffold = class KRScaffold extends LitElement {
521
543
  });
522
544
  }
523
545
  loadPref() {
524
- if (this.userType === 'customer')
546
+ if (this.userType === 'customer') {
525
547
  return;
548
+ }
526
549
  KRHttp.fetch({
527
550
  url: '/api/system/preference/json/scaffold?global=true',
528
551
  method: 'GET',
@@ -539,21 +562,36 @@ let KRScaffold = class KRScaffold extends LitElement {
539
562
  });
540
563
  }
541
564
  handleNavItemContextMenu(e, item) {
542
- if (!this.isEditing)
565
+ if (!this.isEditing) {
543
566
  return;
567
+ }
544
568
  e.preventDefault();
545
569
  KRContextMenu.open({
546
570
  x: e.clientX,
547
571
  y: e.clientY,
548
572
  items: [
549
- { id: 'edit', label: 'Edit Item' },
550
- { id: 'divider-1', label: '', divider: true },
551
- { id: 'add-above', label: 'Add Item Above' },
552
- { id: 'add-below', label: 'Add Item Below' },
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
+ },
553
590
  ],
554
591
  }).then((result) => {
555
- if (!result)
592
+ if (!result) {
556
593
  return;
594
+ }
557
595
  switch (result.id) {
558
596
  case 'edit':
559
597
  this.openNavItemEdit(item);
@@ -579,8 +617,9 @@ let KRScaffold = class KRScaffold extends LitElement {
579
617
  openNavItemEdit(item) {
580
618
  KRDialog.open(KRNavItemEdit, { data: item }).afterClosed().then((res) => {
581
619
  const result = res;
582
- if (!result)
620
+ if (!result) {
583
621
  return;
622
+ }
584
623
  if (!this.pref.nav[item.id]) {
585
624
  this.pref.nav[item.id] = {};
586
625
  }
@@ -607,7 +646,13 @@ let KRScaffold = class KRScaffold extends LitElement {
607
646
  .filter(i => i.parentId === targetItem.parentId)
608
647
  .sort((a, b) => a.order - b.order);
609
648
  const targetIndex = siblings.findIndex(i => i.id === targetItem.id);
610
- const newOrder = position === 'above' ? targetIndex : targetIndex + 1;
649
+ let newOrder;
650
+ if (position === 'above') {
651
+ newOrder = targetIndex;
652
+ }
653
+ else {
654
+ newOrder = targetIndex + 1;
655
+ }
611
656
  // Shift existing items to make room for the new item
612
657
  siblings.forEach((sibling, index) => {
613
658
  if (index >= newOrder) {
@@ -644,8 +689,9 @@ let KRScaffold = class KRScaffold extends LitElement {
644
689
  * @param item - The nav item being pressed
645
690
  */
646
691
  handleNavItemMouseDown(e, item) {
647
- if (!this.isEditing)
692
+ if (!this.isEditing) {
648
693
  return;
694
+ }
649
695
  e.preventDefault();
650
696
  this.draggedNavItemId = item.id;
651
697
  this.navItemDragStartY = e.clientY;
@@ -663,8 +709,9 @@ let KRScaffold = class KRScaffold extends LitElement {
663
709
  * @param e - The mouse event
664
710
  */
665
711
  handleMouseMove(e) {
666
- if (!this.draggedNavItemId)
712
+ if (!this.draggedNavItemId) {
667
713
  return;
714
+ }
668
715
  // Start dragging after moving a few pixels (to distinguish from clicks)
669
716
  if (!this.isNavItemDragging && Math.abs(e.clientY - this.navItemDragStartY) > 5) {
670
717
  this.isNavItemDragging = true;
@@ -680,8 +727,9 @@ let KRScaffold = class KRScaffold extends LitElement {
680
727
  this.shadowRoot?.appendChild(this.navItemDragPreview);
681
728
  }
682
729
  }
683
- if (!this.isNavItemDragging)
730
+ if (!this.isNavItemDragging) {
684
731
  return;
732
+ }
685
733
  // Update preview position
686
734
  if (this.navItemDragPreview) {
687
735
  this.navItemDragPreview.style.left = `${e.clientX + 10}px`;
@@ -732,14 +780,16 @@ let KRScaffold = class KRScaffold extends LitElement {
732
780
  updateNavItemDropTarget(e) {
733
781
  // Get all nav items in shadow DOM
734
782
  const navItems = this.shadowRoot?.querySelectorAll('.nav-item[data-id]');
735
- if (!navItems)
783
+ if (!navItems) {
736
784
  return;
785
+ }
737
786
  let foundTarget = false;
738
787
  navItems.forEach((el) => {
739
788
  const rect = el.getBoundingClientRect();
740
789
  const itemId = el.getAttribute('data-id');
741
- if (!itemId || itemId === this.draggedNavItemId)
790
+ if (!itemId || itemId === this.draggedNavItemId) {
742
791
  return;
792
+ }
743
793
  // Skip if mouse is outside this element
744
794
  if (e.clientX < rect.left || e.clientX > rect.right ||
745
795
  e.clientY < rect.top || e.clientY > rect.bottom) {
@@ -776,11 +826,22 @@ let KRScaffold = class KRScaffold extends LitElement {
776
826
  }
777
827
  else {
778
828
  // Regular items only support above/below, not center
779
- position = y < rect.height / 2 ? 'above' : 'below';
829
+ if (y < rect.height / 2) {
830
+ position = 'above';
831
+ }
832
+ else {
833
+ position = 'below';
834
+ }
780
835
  this.clearNavItemDragExpandTimeout();
781
836
  }
782
837
  // Determine what the new parent would be
783
- const newParentId = position === 'center' ? item.id : item.parentId;
838
+ let newParentId;
839
+ if (position === 'center') {
840
+ newParentId = item.id;
841
+ }
842
+ else {
843
+ newParentId = item.parentId;
844
+ }
784
845
  const draggedItem = this.getComputedNav().find(i => i.id === this.draggedNavItemId);
785
846
  // Don't show drop indicator if invalid drop:
786
847
  // 1. Can't drop an item into itself (newParentId === draggedNavItemId)
@@ -840,13 +901,15 @@ let KRScaffold = class KRScaffold extends LitElement {
840
901
  * with new order values for the dragged item and shifts siblings as needed.
841
902
  */
842
903
  executeNavItemDrop() {
843
- if (!this.draggedNavItemId || !this.navItemDropTargetId)
904
+ if (!this.draggedNavItemId || !this.navItemDropTargetId) {
844
905
  return;
906
+ }
845
907
  const allItems = this.getComputedNav();
846
908
  const draggedItem = allItems.find(i => i.id === this.draggedNavItemId);
847
909
  const targetItem = allItems.find(i => i.id === this.navItemDropTargetId);
848
- if (!draggedItem || !targetItem)
910
+ if (!draggedItem || !targetItem) {
849
911
  return;
912
+ }
850
913
  // Determine the new parentId for the dragged item
851
914
  let newParentId;
852
915
  if (this.navItemDropPosition === 'center' && targetItem.type === 'group') {
@@ -858,8 +921,9 @@ let KRScaffold = class KRScaffold extends LitElement {
858
921
  else {
859
922
  newParentId = targetItem.parentId;
860
923
  }
861
- if (newParentId === this.draggedNavItemId)
924
+ if (newParentId === this.draggedNavItemId) {
862
925
  return;
926
+ }
863
927
  // Get siblings in the destination parent
864
928
  const siblings = allItems
865
929
  .filter(i => i.parentId === newParentId && i.id !== this.draggedNavItemId)
@@ -930,8 +994,9 @@ let KRScaffold = class KRScaffold extends LitElement {
930
994
  // Rendering
931
995
  // =========================================================================
932
996
  renderNormalFooter() {
933
- if (!this.user)
997
+ if (!this.user) {
934
998
  return nothing;
999
+ }
935
1000
  const initials = this.user.name
936
1001
  .split(' ')
937
1002
  .map((part) => part[0])
@@ -1028,7 +1093,11 @@ let KRScaffold = class KRScaffold extends LitElement {
1028
1093
  stroke="currentColor"
1029
1094
  stroke-width="2"
1030
1095
  >
1031
- <path d="M6 9l6 6 6-6" stroke-linecap="round" stroke-linejoin="round" />
1096
+ <path
1097
+ d="M6 9l6 6 6-6"
1098
+ stroke-linecap="round"
1099
+ stroke-linejoin="round"
1100
+ />
1032
1101
  </svg>
1033
1102
  </button>
1034
1103
  <div class=${classMap({
@@ -1080,7 +1149,11 @@ let KRScaffold = class KRScaffold extends LitElement {
1080
1149
  </div>
1081
1150
 
1082
1151
  ${this.subbar ? html `
1083
- <kr-subbar menu .breadcrumbs=${this.breadcrumbs} @menu-click=${this.handleMenuClick}>
1152
+ <kr-subbar
1153
+ menu
1154
+ .breadcrumbs=${this.breadcrumbs}
1155
+ @menu-click=${this.handleMenuClick}
1156
+ >
1084
1157
  <slot name="subbar"></slot>
1085
1158
  </kr-subbar>
1086
1159
  ` : nothing}
@@ -1096,7 +1169,11 @@ let KRScaffold = class KRScaffold extends LitElement {
1096
1169
  ${this.label
1097
1170
  ? html `<span class="nav-title">${this.label}</span>`
1098
1171
  : this.logo
1099
- ? html `<img class="nav-logo" src=${this.logo} alt="Logo" />`
1172
+ ? html `<img
1173
+ class="nav-logo"
1174
+ src=${this.logo}
1175
+ alt="Logo"
1176
+ />`
1100
1177
  : nothing}
1101
1178
  </div>
1102
1179
  <div class="nav-content" @scroll=${this.handleNavScroll}>
@@ -1104,7 +1181,11 @@ let KRScaffold = class KRScaffold extends LitElement {
1104
1181
  <div class="nav-search">
1105
1182
  <div class="nav-search__wrapper">
1106
1183
  <span class="nav-search__icon">
1107
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
1184
+ <svg
1185
+ xmlns="http://www.w3.org/2000/svg"
1186
+ viewBox="0 0 24 24"
1187
+ fill="currentColor"
1188
+ >
1108
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"/>
1109
1190
  </svg>
1110
1191
  </span>
@@ -1117,7 +1198,11 @@ let KRScaffold = class KRScaffold extends LitElement {
1117
1198
  />
1118
1199
  ${this.navQuery ? html `
1119
1200
  <button class="nav-search__clear" @click=${this.handleNavQueryClear}>
1120
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
1201
+ <svg
1202
+ xmlns="http://www.w3.org/2000/svg"
1203
+ viewBox="0 0 24 24"
1204
+ fill="currentColor"
1205
+ >
1121
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"/>
1122
1207
  </svg>
1123
1208
  </button>
@@ -1309,7 +1394,7 @@ KRScaffold.styles = css `
1309
1394
  .nav-content {
1310
1395
  flex: 1;
1311
1396
  overflow-y: auto;
1312
- padding: 0 9px 0.75rem 8px;
1397
+ padding: 0 9px 12px 8px;
1313
1398
  }
1314
1399
 
1315
1400
  .nav-footer {
@@ -1429,7 +1514,7 @@ KRScaffold.styles = css `
1429
1514
 
1430
1515
  .breadcrumbs {
1431
1516
  height: 32px;
1432
- padding: 0 1rem;
1517
+ padding: 0 16px;
1433
1518
  display: flex;
1434
1519
  align-items: center;
1435
1520
  gap: 6px;
@@ -1523,7 +1608,7 @@ KRScaffold.styles = css `
1523
1608
  white-space: nowrap;
1524
1609
  overflow: hidden;
1525
1610
  text-overflow: ellipsis;
1526
- letter-spacing: 0.01em;
1611
+ letter-spacing: 0.14px;
1527
1612
  }
1528
1613
 
1529
1614
  .nav-item__chevron {
@@ -1578,7 +1663,7 @@ KRScaffold.styles = css `
1578
1663
  font-size: 11px;
1579
1664
  font-weight: 600;
1580
1665
  text-transform: uppercase;
1581
- letter-spacing: 0.05em;
1666
+ letter-spacing: 0.55px;
1582
1667
  color: var(--kr-scaffold-nav-text);
1583
1668
  opacity: 0.6;
1584
1669
  }
@@ -1701,7 +1786,7 @@ KRScaffold.styles = css `
1701
1786
 
1702
1787
  .breadcrumbs {
1703
1788
  height: 32px;
1704
- padding: 0 1rem;
1789
+ padding: 0 16px;
1705
1790
  display: flex;
1706
1791
  align-items: center;
1707
1792
  gap: 6px;
@@ -1869,6 +1954,61 @@ KRScaffold.styles = css `
1869
1954
  }
1870
1955
  }
1871
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);
1872
2012
  __decorate([
1873
2013
  state()
1874
2014
  ], KRScaffold.prototype, "navItemsExpanded", void 0);
@@ -1905,42 +2045,6 @@ __decorate([
1905
2045
  __decorate([
1906
2046
  state()
1907
2047
  ], KRScaffold.prototype, "pendingRequests", void 0);
1908
- __decorate([
1909
- property({ type: String })
1910
- ], KRScaffold.prototype, "logo", void 0);
1911
- __decorate([
1912
- property({ type: String })
1913
- ], KRScaffold.prototype, "label", void 0);
1914
- __decorate([
1915
- property({ type: String, attribute: 'home-url' })
1916
- ], KRScaffold.prototype, "homeUrl", void 0);
1917
- __decorate([
1918
- property({ type: String, reflect: true })
1919
- ], KRScaffold.prototype, "scheme", void 0);
1920
- __decorate([
1921
- property({ type: Array })
1922
- ], KRScaffold.prototype, "nav", void 0);
1923
- __decorate([
1924
- property({ type: Boolean, attribute: 'nav-icons-displayed', reflect: true })
1925
- ], KRScaffold.prototype, "navIconsDisplayed", void 0);
1926
- __decorate([
1927
- property({ type: Boolean, attribute: 'nav-expanded' })
1928
- ], KRScaffold.prototype, "navExpanded", void 0);
1929
- __decorate([
1930
- property({ type: Object })
1931
- ], KRScaffold.prototype, "user", void 0);
1932
- __decorate([
1933
- property({ type: Boolean })
1934
- ], KRScaffold.prototype, "subbar", void 0);
1935
- __decorate([
1936
- property({ type: Boolean, attribute: 'nav-enabled' })
1937
- ], KRScaffold.prototype, "navEnabled", void 0);
1938
- __decorate([
1939
- property({ type: String, attribute: 'user-type' })
1940
- ], KRScaffold.prototype, "userType", void 0);
1941
- __decorate([
1942
- property({ type: Array })
1943
- ], KRScaffold.prototype, "breadcrumbs", void 0);
1944
2048
  KRScaffold = __decorate([
1945
2049
  customElement('kr-scaffold')
1946
2050
  ], KRScaffold);