snice 3.4.0 → 3.5.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.
Files changed (177) hide show
  1. package/bin/templates/base/package.json +2 -2
  2. package/bin/templates/social/package.json +2 -2
  3. package/bin/templates/social/src/styles/global.css +56 -47
  4. package/dist/components/avatar/snice-avatar.d.ts +2 -2
  5. package/dist/components/avatar/snice-avatar.js +20 -21
  6. package/dist/components/avatar/snice-avatar.js.map +1 -1
  7. package/dist/components/calendar/snice-calendar.d.ts +8 -2
  8. package/dist/components/calendar/snice-calendar.js +160 -82
  9. package/dist/components/calendar/snice-calendar.js.map +1 -1
  10. package/dist/components/chart/snice-chart.js +50 -18
  11. package/dist/components/chart/snice-chart.js.map +1 -1
  12. package/dist/components/checkbox/snice-checkbox.d.ts +4 -1
  13. package/dist/components/checkbox/snice-checkbox.js +46 -17
  14. package/dist/components/checkbox/snice-checkbox.js.map +1 -1
  15. package/dist/components/code-block/highlighter.d.ts +5 -0
  16. package/dist/components/code-block/highlighter.js +137 -0
  17. package/dist/components/code-block/highlighter.js.map +1 -0
  18. package/dist/components/code-block/highlighters/highlight.d.ts +64 -0
  19. package/dist/components/code-block/highlighters/highlight.js +108 -0
  20. package/dist/components/code-block/highlighters/highlight.js.map +1 -0
  21. package/dist/components/code-block/highlighters/prism.d.ts +41 -0
  22. package/dist/components/code-block/highlighters/prism.js +73 -0
  23. package/dist/components/code-block/highlighters/prism.js.map +1 -0
  24. package/dist/components/code-block/snice-code-block.d.ts +19 -1
  25. package/dist/components/code-block/snice-code-block.js +128 -29
  26. package/dist/components/code-block/snice-code-block.js.map +1 -1
  27. package/dist/components/code-block/snice-code-block.types.d.ts +15 -1
  28. package/dist/components/color-picker/snice-color-picker.d.ts +1 -0
  29. package/dist/components/color-picker/snice-color-picker.js +17 -6
  30. package/dist/components/color-picker/snice-color-picker.js.map +1 -1
  31. package/dist/components/date-picker/snice-date-picker.d.ts +1 -0
  32. package/dist/components/date-picker/snice-date-picker.js +16 -5
  33. package/dist/components/date-picker/snice-date-picker.js.map +1 -1
  34. package/dist/components/doc/snice-doc.d.ts +27 -73
  35. package/dist/components/doc/snice-doc.js +385 -534
  36. package/dist/components/doc/snice-doc.js.map +1 -1
  37. package/dist/components/draw/snice-draw.d.ts +4 -0
  38. package/dist/components/draw/snice-draw.js +134 -14
  39. package/dist/components/draw/snice-draw.js.map +1 -1
  40. package/dist/components/draw/snice-draw.types.d.ts +5 -0
  41. package/dist/components/file-upload/snice-file-upload.js +1 -1
  42. package/dist/components/input/snice-input.d.ts +2 -0
  43. package/dist/components/input/snice-input.js +34 -9
  44. package/dist/components/input/snice-input.js.map +1 -1
  45. package/dist/components/kanban/snice-kanban.d.ts +13 -1
  46. package/dist/components/kanban/snice-kanban.js +191 -36
  47. package/dist/components/kanban/snice-kanban.js.map +1 -1
  48. package/dist/components/kanban/snice-kanban.types.d.ts +11 -1
  49. package/dist/components/kpi/snice-kpi.js +5 -1
  50. package/dist/components/kpi/snice-kpi.js.map +1 -1
  51. package/dist/components/layout/snice-layout-sidebar.js +1 -1
  52. package/dist/components/layout/snice-layout-sidebar.js.map +1 -1
  53. package/dist/components/layout/snice-layout.js +1 -1
  54. package/dist/components/layout/snice-layout.js.map +1 -1
  55. package/dist/components/location/snice-location.js +1 -1
  56. package/dist/components/location/snice-location.js.map +1 -1
  57. package/dist/components/radio/snice-radio.d.ts +1 -0
  58. package/dist/components/radio/snice-radio.js +17 -6
  59. package/dist/components/radio/snice-radio.js.map +1 -1
  60. package/dist/components/select/snice-select.d.ts +2 -0
  61. package/dist/components/select/snice-select.js +48 -19
  62. package/dist/components/select/snice-select.js.map +1 -1
  63. package/dist/components/slider/snice-slider.d.ts +2 -0
  64. package/dist/components/slider/snice-slider.js +34 -14
  65. package/dist/components/slider/snice-slider.js.map +1 -1
  66. package/dist/components/snice-cell-HZ2iIBIC.js +4 -0
  67. package/dist/components/snice-cell-HZ2iIBIC.js.map +1 -0
  68. package/dist/components/split-pane/snice-split-pane.js +1 -1
  69. package/dist/components/split-pane/snice-split-pane.js.map +1 -1
  70. package/dist/components/switch/snice-switch.d.ts +1 -0
  71. package/dist/components/switch/snice-switch.js +16 -6
  72. package/dist/components/switch/snice-switch.js.map +1 -1
  73. package/dist/components/table/snice-cell-actions.js +1 -1
  74. package/dist/components/table/snice-cell-actions.js.map +1 -1
  75. package/dist/components/table/snice-cell-boolean.js +1 -1
  76. package/dist/components/table/snice-cell-color.js +1 -1
  77. package/dist/components/table/snice-cell-color.js.map +1 -1
  78. package/dist/components/table/snice-cell-currency.js +1 -1
  79. package/dist/components/table/snice-cell-date.js +1 -1
  80. package/dist/components/table/snice-cell-duration.js +1 -1
  81. package/dist/components/table/snice-cell-email.js +1 -1
  82. package/dist/components/table/snice-cell-email.js.map +1 -1
  83. package/dist/components/table/snice-cell-filesize.js +1 -1
  84. package/dist/components/table/snice-cell-image.js +1 -1
  85. package/dist/components/table/snice-cell-image.js.map +1 -1
  86. package/dist/components/table/snice-cell-json.js +1 -1
  87. package/dist/components/table/snice-cell-json.js.map +1 -1
  88. package/dist/components/table/snice-cell-link.js +1 -1
  89. package/dist/components/table/snice-cell-link.js.map +1 -1
  90. package/dist/components/table/snice-cell-location.js +1 -1
  91. package/dist/components/table/snice-cell-location.js.map +1 -1
  92. package/dist/components/table/snice-cell-number.js +1 -1
  93. package/dist/components/table/snice-cell-percentage.js +1 -1
  94. package/dist/components/table/snice-cell-percentage.js.map +1 -1
  95. package/dist/components/table/snice-cell-phone.js +1 -1
  96. package/dist/components/table/snice-cell-phone.js.map +1 -1
  97. package/dist/components/table/snice-cell-progress.js +3 -3
  98. package/dist/components/table/snice-cell-progress.js.map +1 -1
  99. package/dist/components/table/snice-cell-rating.js +2 -2
  100. package/dist/components/table/snice-cell-rating.js.map +1 -1
  101. package/dist/components/table/snice-cell-sparkline.js +2 -2
  102. package/dist/components/table/snice-cell-sparkline.js.map +1 -1
  103. package/dist/components/table/snice-cell-status.js +1 -1
  104. package/dist/components/table/snice-cell-status.js.map +1 -1
  105. package/dist/components/table/snice-cell-tag.js +1 -1
  106. package/dist/components/table/snice-cell-tag.js.map +1 -1
  107. package/dist/components/table/snice-cell-text.js +1 -1
  108. package/dist/components/table/snice-cell.js +15 -10
  109. package/dist/components/table/snice-cell.js.map +1 -1
  110. package/dist/components/table/snice-header.js +1 -1
  111. package/dist/components/table/snice-header.js.map +1 -1
  112. package/dist/components/table/snice-row.js +2 -2
  113. package/dist/components/table/snice-row.js.map +1 -1
  114. package/dist/components/table/snice-table.d.ts +1 -0
  115. package/dist/components/table/snice-table.js +24 -4
  116. package/dist/components/table/snice-table.js.map +1 -1
  117. package/dist/components/terminal/snice-terminal.d.ts +40 -0
  118. package/dist/components/terminal/snice-terminal.js +371 -0
  119. package/dist/components/terminal/snice-terminal.js.map +1 -0
  120. package/dist/components/terminal/snice-terminal.types.d.ts +20 -24
  121. package/dist/components/textarea/snice-textarea.d.ts +2 -0
  122. package/dist/components/textarea/snice-textarea.js +25 -6
  123. package/dist/components/textarea/snice-textarea.js.map +1 -1
  124. package/dist/components/theme/theme.css +16 -0
  125. package/dist/components/tree/snice-tree-item.d.ts +18 -4
  126. package/dist/components/tree/snice-tree-item.js +271 -88
  127. package/dist/components/tree/snice-tree-item.js.map +1 -1
  128. package/dist/components/tree/snice-tree-item.types.d.ts +3 -0
  129. package/dist/components/tree/snice-tree.d.ts +18 -2
  130. package/dist/components/tree/snice-tree.js +422 -56
  131. package/dist/components/tree/snice-tree.js.map +1 -1
  132. package/dist/components/tree/snice-tree.types.d.ts +1 -0
  133. package/dist/components/virtual-scroller/snice-virtual-scroller.js +4 -2
  134. package/dist/components/virtual-scroller/snice-virtual-scroller.js.map +1 -1
  135. package/dist/index.cjs +42 -23
  136. package/dist/index.cjs.map +1 -1
  137. package/dist/index.esm.js +42 -23
  138. package/dist/index.esm.js.map +1 -1
  139. package/dist/index.iife.js +42 -23
  140. package/dist/index.iife.js.map +1 -1
  141. package/dist/render-tracker.d.ts +1 -0
  142. package/dist/symbols.cjs +13 -14
  143. package/dist/symbols.cjs.map +1 -1
  144. package/dist/symbols.esm.js +13 -14
  145. package/dist/symbols.esm.js.map +1 -1
  146. package/dist/template.d.ts +1 -0
  147. package/dist/transitions.cjs +1 -1
  148. package/dist/transitions.esm.js +1 -1
  149. package/docs/ai/api.md +37 -4
  150. package/docs/ai/components/doc.md +41 -106
  151. package/docs/ai/components/kanban.md +31 -9
  152. package/docs/ai/components/kpi.md +15 -0
  153. package/docs/components/doc.md +96 -212
  154. package/docs/components/kanban.md +119 -4
  155. package/docs/components/kpi.md +27 -0
  156. package/package.json +4 -1
  157. package/dist/components/actions/snice-actions.d.ts +0 -28
  158. package/dist/components/actions/snice-actions.js +0 -220
  159. package/dist/components/actions/snice-actions.js.map +0 -1
  160. package/dist/components/actions/snice-actions.types.d.ts +0 -27
  161. package/dist/components/doc/snice-doc.types.d.ts +0 -118
  162. package/dist/components/gantt/snice-gantt.d.ts +0 -29
  163. package/dist/components/gantt/snice-gantt.js +0 -268
  164. package/dist/components/gantt/snice-gantt.js.map +0 -1
  165. package/dist/components/gantt/snice-gantt.types.d.ts +0 -23
  166. package/dist/components/snice-cell-C0slgOpe.js +0 -4
  167. package/dist/components/snice-cell-C0slgOpe.js.map +0 -1
  168. package/dist/components/stat/snice-stat.d.ts +0 -14
  169. package/dist/components/stat/snice-stat.js +0 -140
  170. package/dist/components/stat/snice-stat.js.map +0 -1
  171. package/dist/components/stat/snice-stat.types.d.ts +0 -12
  172. package/docs/ai/components/actions.md +0 -81
  173. package/docs/ai/components/gantt.md +0 -95
  174. package/docs/ai/components/stat.md +0 -29
  175. package/docs/components/actions.md +0 -317
  176. package/docs/components/gantt.md +0 -347
  177. package/docs/components/stat.md +0 -45
@@ -1,8 +1,9 @@
1
1
  import { __esDecorate, __runInitializers } from 'tslib';
2
- import { element, property, dispatch, render, styles, unsafeHTML, html, css } from 'snice';
2
+ import { element, property, watch, dispatch, ready } from 'snice';
3
3
  import '../checkbox/snice-checkbox.js';
4
+ import '../spinner/snice-spinner.js';
4
5
 
5
- var cssContent = ":host{display:block}.tree-item{position:relative;user-select:none}.tree-item__content{display:flex;align-items:center;gap:var(--spacing-xs,.5rem);padding:var(--spacing-xs,.5rem) var(--spacing-sm,.75rem);padding-left:calc(var(--tree-level,0) * var(--spacing-xl,1.5rem) + var(--spacing-sm,.75rem));cursor:pointer;border-radius:var(--border-radius-sm,.25rem);transition:background-color .2s;position:relative}.tree-item__content:hover{background-color:var(--color-neutral-100,#f5f5f5)}.tree-item__content:focus{outline:2px solid var(--color-primary-500,#3b82f6);outline-offset:-2px}.tree-item__content--selected{background-color:var(--color-primary-100,#dbeafe);color:var(--color-primary-700,#1d4ed8)}.tree-item__content--selected:hover{background-color:var(--color-primary-200,#bfdbfe)}.tree-item__content--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.tree-item__expander{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s;cursor:pointer}.tree-item__expander--expanded{transform:rotate(90deg)}.tree-item__expander--hidden{visibility:hidden}.tree-item__expander svg{width:1rem;height:1rem;fill:currentColor}.tree-item__checkbox{flex-shrink:0}.tree-item__icon{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center}.tree-item__icon-image{width:100%;height:100%;object-fit:contain}.tree-item__label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-item__children{display:none}.tree-item__children--expanded{display:block}";
6
+ var cssContent = ":host{display:block}.tree-item{position:relative;user-select:none}.tree-item__content{display:flex;align-items:center;gap:var(--snice-spacing-xs,.5rem);padding:var(--snice-spacing-xs,.5rem) var(--snice-spacing-sm,.75rem);padding-left:calc(var(--tree-level,0) * var(--snice-spacing-xl,1.5rem) + var(--snice-spacing-sm,.75rem));cursor:pointer;border-radius:var(--snice-border-radius-md,.25rem);transition:background-color var(--snice-transition-fast, 150ms) ease;position:relative;background-color:transparent}.tree-item__content:hover{background-color:var(--snice-color-background-hover,rgb(var(--snice-color-gray-100)))}.tree-item__content:focus{outline:2px solid var(--snice-color-primary,rgb(var(--snice-color-blue-600)));outline-offset:-2px}.tree-item__content--selected{background-color:var(--snice-color-primary-subtle,rgb(var(--snice-color-blue-50)))}.tree-item__content--selected:hover{background-color:var(--snice-color-primary-subtle-hover,rgb(var(--snice-color-blue-100)))}.tree-item__content--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.tree-item__expander{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s;cursor:pointer}.tree-item__expander--expanded{transform:rotate(90deg)}.tree-item__expander--hidden{visibility:hidden}.tree-item__expander svg{width:1rem;height:1rem;fill:currentColor}.tree-item__checkbox{display:flex;align-items:center;flex-shrink:0;height:1.25rem}.tree-item__checkbox snice-checkbox{display:flex;align-items:center}.tree-item__icon{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center}.tree-item__icon-image{width:100%;height:100%;object-fit:contain}.tree-item__label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25rem;align-self:center}.tree-item__children{overflow:hidden;max-height:0;opacity:0;transition:max-height .25s cubic-bezier(.4, 0, .2, 1),opacity .25s cubic-bezier(.4, 0, .2, 1)}.tree-item__children--expanded{max-height:10000px;opacity:1;transition:max-height .25s cubic-bezier(.4, 0, .2, 1),opacity .25s cubic-bezier(.4, 0, .2, 1)}.tree-item__loading{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;flex-shrink:0}";
6
7
 
7
8
  let SniceTreeItem = (() => {
8
9
  let _classDecorators = [element('snice-tree-item')];
@@ -29,12 +30,22 @@ let SniceTreeItem = (() => {
29
30
  let _showIcon_decorators;
30
31
  let _showIcon_initializers = [];
31
32
  let _showIcon_extraInitializers = [];
33
+ let _loading_decorators;
34
+ let _loading_initializers = [];
35
+ let _loading_extraInitializers = [];
36
+ let _indeterminate_decorators;
37
+ let _indeterminate_initializers = [];
38
+ let _indeterminate_extraInitializers = [];
39
+ let _handleExpandedChange_decorators;
40
+ let _handleSelectedChange_decorators;
41
+ let _handleCheckedChange_decorators;
42
+ let _handleIndeterminateChange_decorators;
43
+ let _handleLoadingChange_decorators;
32
44
  let _dispatchToggleEvent_decorators;
33
45
  let _dispatchSelectEvent_decorators;
34
46
  let _dispatchCheckEvent_decorators;
35
47
  let _dispatchLazyLoadEvent_decorators;
36
- let _render_decorators;
37
- let _styles_decorators;
48
+ let _init_decorators;
38
49
  (class extends _classSuper {
39
50
  static { _classThis = this; }
40
51
  static {
@@ -45,24 +56,36 @@ let SniceTreeItem = (() => {
45
56
  _checked_decorators = [property({ type: Boolean })];
46
57
  _showCheckbox_decorators = [property({ type: Boolean, attribute: 'show-checkbox' })];
47
58
  _showIcon_decorators = [property({ type: Boolean, attribute: 'show-icon' })];
59
+ _loading_decorators = [property({ type: Boolean })];
60
+ _indeterminate_decorators = [property({ type: Boolean })];
61
+ _handleExpandedChange_decorators = [watch('expanded')];
62
+ _handleSelectedChange_decorators = [watch('selected')];
63
+ _handleCheckedChange_decorators = [watch('checked')];
64
+ _handleIndeterminateChange_decorators = [watch('indeterminate')];
65
+ _handleLoadingChange_decorators = [watch('loading')];
48
66
  _dispatchToggleEvent_decorators = [dispatch('tree-item-toggle', { bubbles: true, composed: true })];
49
67
  _dispatchSelectEvent_decorators = [dispatch('tree-item-select', { bubbles: true, composed: true })];
50
68
  _dispatchCheckEvent_decorators = [dispatch('tree-item-check', { bubbles: true, composed: true })];
51
69
  _dispatchLazyLoadEvent_decorators = [dispatch('tree-item-lazy-load', { bubbles: true, composed: true })];
52
- _render_decorators = [render()];
53
- _styles_decorators = [styles()];
70
+ _init_decorators = [ready()];
71
+ __esDecorate(this, null, _handleExpandedChange_decorators, { kind: "method", name: "handleExpandedChange", static: false, private: false, access: { has: obj => "handleExpandedChange" in obj, get: obj => obj.handleExpandedChange }, metadata: _metadata }, null, _instanceExtraInitializers);
72
+ __esDecorate(this, null, _handleSelectedChange_decorators, { kind: "method", name: "handleSelectedChange", static: false, private: false, access: { has: obj => "handleSelectedChange" in obj, get: obj => obj.handleSelectedChange }, metadata: _metadata }, null, _instanceExtraInitializers);
73
+ __esDecorate(this, null, _handleCheckedChange_decorators, { kind: "method", name: "handleCheckedChange", static: false, private: false, access: { has: obj => "handleCheckedChange" in obj, get: obj => obj.handleCheckedChange }, metadata: _metadata }, null, _instanceExtraInitializers);
74
+ __esDecorate(this, null, _handleIndeterminateChange_decorators, { kind: "method", name: "handleIndeterminateChange", static: false, private: false, access: { has: obj => "handleIndeterminateChange" in obj, get: obj => obj.handleIndeterminateChange }, metadata: _metadata }, null, _instanceExtraInitializers);
75
+ __esDecorate(this, null, _handleLoadingChange_decorators, { kind: "method", name: "handleLoadingChange", static: false, private: false, access: { has: obj => "handleLoadingChange" in obj, get: obj => obj.handleLoadingChange }, metadata: _metadata }, null, _instanceExtraInitializers);
54
76
  __esDecorate(this, null, _dispatchToggleEvent_decorators, { kind: "method", name: "dispatchToggleEvent", static: false, private: false, access: { has: obj => "dispatchToggleEvent" in obj, get: obj => obj.dispatchToggleEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
55
77
  __esDecorate(this, null, _dispatchSelectEvent_decorators, { kind: "method", name: "dispatchSelectEvent", static: false, private: false, access: { has: obj => "dispatchSelectEvent" in obj, get: obj => obj.dispatchSelectEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
56
78
  __esDecorate(this, null, _dispatchCheckEvent_decorators, { kind: "method", name: "dispatchCheckEvent", static: false, private: false, access: { has: obj => "dispatchCheckEvent" in obj, get: obj => obj.dispatchCheckEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
57
79
  __esDecorate(this, null, _dispatchLazyLoadEvent_decorators, { kind: "method", name: "dispatchLazyLoadEvent", static: false, private: false, access: { has: obj => "dispatchLazyLoadEvent" in obj, get: obj => obj.dispatchLazyLoadEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
58
- __esDecorate(this, null, _render_decorators, { kind: "method", name: "render", static: false, private: false, access: { has: obj => "render" in obj, get: obj => obj.render }, metadata: _metadata }, null, _instanceExtraInitializers);
59
- __esDecorate(this, null, _styles_decorators, { kind: "method", name: "styles", static: false, private: false, access: { has: obj => "styles" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);
80
+ __esDecorate(this, null, _init_decorators, { kind: "method", name: "init", static: false, private: false, access: { has: obj => "init" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);
60
81
  __esDecorate(null, null, __version_decorators, { kind: "field", name: "_version", static: false, private: false, access: { has: obj => "_version" in obj, get: obj => obj._version, set: (obj, value) => { obj._version = value; } }, metadata: _metadata }, __version_initializers, __version_extraInitializers);
61
82
  __esDecorate(null, null, _expanded_decorators, { kind: "field", name: "expanded", static: false, private: false, access: { has: obj => "expanded" in obj, get: obj => obj.expanded, set: (obj, value) => { obj.expanded = value; } }, metadata: _metadata }, _expanded_initializers, _expanded_extraInitializers);
62
83
  __esDecorate(null, null, _selected_decorators, { kind: "field", name: "selected", static: false, private: false, access: { has: obj => "selected" in obj, get: obj => obj.selected, set: (obj, value) => { obj.selected = value; } }, metadata: _metadata }, _selected_initializers, _selected_extraInitializers);
63
84
  __esDecorate(null, null, _checked_decorators, { kind: "field", name: "checked", static: false, private: false, access: { has: obj => "checked" in obj, get: obj => obj.checked, set: (obj, value) => { obj.checked = value; } }, metadata: _metadata }, _checked_initializers, _checked_extraInitializers);
64
85
  __esDecorate(null, null, _showCheckbox_decorators, { kind: "field", name: "showCheckbox", static: false, private: false, access: { has: obj => "showCheckbox" in obj, get: obj => obj.showCheckbox, set: (obj, value) => { obj.showCheckbox = value; } }, metadata: _metadata }, _showCheckbox_initializers, _showCheckbox_extraInitializers);
65
86
  __esDecorate(null, null, _showIcon_decorators, { kind: "field", name: "showIcon", static: false, private: false, access: { has: obj => "showIcon" in obj, get: obj => obj.showIcon, set: (obj, value) => { obj.showIcon = value; } }, metadata: _metadata }, _showIcon_initializers, _showIcon_extraInitializers);
87
+ __esDecorate(null, null, _loading_decorators, { kind: "field", name: "loading", static: false, private: false, access: { has: obj => "loading" in obj, get: obj => obj.loading, set: (obj, value) => { obj.loading = value; } }, metadata: _metadata }, _loading_initializers, _loading_extraInitializers);
88
+ __esDecorate(null, null, _indeterminate_decorators, { kind: "field", name: "indeterminate", static: false, private: false, access: { has: obj => "indeterminate" in obj, get: obj => obj.indeterminate, set: (obj, value) => { obj.indeterminate = value; } }, metadata: _metadata }, _indeterminate_initializers, _indeterminate_extraInitializers);
66
89
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
67
90
  _classThis = _classDescriptor.value;
68
91
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
@@ -75,7 +98,7 @@ let SniceTreeItem = (() => {
75
98
  return this._level;
76
99
  }
77
100
  get hasChildren() {
78
- return !!(this._node.children && this._node.children.length > 0);
101
+ return !!(this._node.children && this._node.children.length > 0) || !!this._node.lazy;
79
102
  }
80
103
  setNode(node, level) {
81
104
  this._node = node;
@@ -90,8 +113,11 @@ let SniceTreeItem = (() => {
90
113
  if (node.checked !== undefined) {
91
114
  this.checked = node.checked;
92
115
  }
93
- // Trigger re-render by updating reactive property
94
- this._version++;
116
+ if (node.indeterminate !== undefined) {
117
+ this.indeterminate = node.indeterminate;
118
+ }
119
+ // Update DOM
120
+ this.updateDOM();
95
121
  // Update child tree items after render completes
96
122
  requestAnimationFrame(() => {
97
123
  requestAnimationFrame(() => {
@@ -99,6 +125,26 @@ let SniceTreeItem = (() => {
99
125
  });
100
126
  });
101
127
  }
128
+ handleExpandedChange() {
129
+ if (this.shadowRoot)
130
+ this.updateExpandedState();
131
+ }
132
+ handleSelectedChange() {
133
+ if (this.shadowRoot)
134
+ this.updateSelectedState();
135
+ }
136
+ handleCheckedChange() {
137
+ if (this.shadowRoot)
138
+ this.updateCheckboxState();
139
+ }
140
+ handleIndeterminateChange() {
141
+ if (this.shadowRoot)
142
+ this.updateCheckboxState();
143
+ }
144
+ handleLoadingChange() {
145
+ if (this.shadowRoot)
146
+ this.updateLoadingState();
147
+ }
102
148
  updateChildTreeItems() {
103
149
  if (!this.shadowRoot || !this.hasChildren)
104
150
  return;
@@ -121,102 +167,213 @@ let SniceTreeItem = (() => {
121
167
  dispatchLazyLoadEvent() {
122
168
  return { nodeId: this.node.id, node: this.node };
123
169
  }
124
- render() {
125
- const contentClasses = [
126
- 'tree-item__content',
127
- this.selected ? 'tree-item__content--selected' : '',
128
- this.node.disabled ? 'tree-item__content--disabled' : ''
129
- ].filter(Boolean).join(' ');
130
- const expanderClasses = [
131
- 'tree-item__expander',
132
- this.expanded ? 'tree-item__expander--expanded' : '',
133
- !this.hasChildren ? 'tree-item__expander--hidden' : ''
134
- ].filter(Boolean).join(' ');
135
- const childrenClasses = [
136
- 'tree-item__children',
137
- this.expanded ? 'tree-item__children--expanded' : ''
138
- ].filter(Boolean).join(' ');
139
- const chevronIcon = `<svg viewBox="0 0 24 24"><path d="M9 6l6 6-6 6"/></svg>`;
140
- return html /*html*/ `
141
- <div class="tree-item" style="--tree-level: ${this.level}">
170
+ // NOTE: We don't use @render() here because it causes full re-renders
171
+ // which destroys the tree structure when properties change. Instead, we
172
+ // manually manipulate the shadow DOM for better performance and stability.
173
+ init() {
174
+ this.renderTemplate();
175
+ this.updateDOM();
176
+ }
177
+ renderTemplate() {
178
+ const template = `
179
+ <style>${cssContent}</style>
180
+ <div class="tree-item">
142
181
  <div
143
- class="${contentClasses}"
182
+ class="tree-item__content"
144
183
  part="content"
145
184
  role="treeitem"
146
- tabindex="${this.node.disabled ? -1 : 0}"
147
- aria-selected="${this.selected}"
148
- aria-expanded="${this.hasChildren ? this.expanded : undefined}"
149
- aria-disabled="${this.node.disabled || false}"
150
- @click="${(e) => this.handleContentClick(e)}"
151
- @keydown="${(e) => this.handleKeydown(e)}">
185
+ tabindex="0">
152
186
 
153
- <div
154
- class="${expanderClasses}"
155
- part="expander"
156
- @click="${(e) => this.handleExpanderClick(e)}">
157
- ${unsafeHTML(chevronIcon)}
187
+ <div class="tree-item__loading" part="loading" style="display: none;">
188
+ <snice-spinner size="small"></snice-spinner>
158
189
  </div>
159
190
 
160
- <if ${this.showCheckbox}>
161
- <div class="tree-item__checkbox" part="checkbox">
162
- <snice-checkbox
163
- .checked=${this.checked}
164
- .disabled=${this.node.disabled || false}
165
- size="small"
166
- @change=${(e) => this.handleCheckboxChange(e)}>
167
- </snice-checkbox>
168
- </div>
169
- </if>
191
+ <div class="tree-item__expander" part="expander">
192
+ <svg viewBox="0 0 24 24"><path d="M9 6l6 6-6 6"/></svg>
193
+ </div>
170
194
 
171
- <if ${this.showIcon && (this.node.icon || this.node.iconImage)}>
172
- <div class="tree-item__icon" part="icon">
173
- <if ${this.node.iconImage}>
174
- <img
175
- class="tree-item__icon-image"
176
- src="${this.node.iconImage}"
177
- alt=""
178
- part="icon-image" />
179
- </if>
180
- <if ${!this.node.iconImage && this.node.icon}>
181
- <span part="icon-text">${this.node.icon}</span>
182
- </if>
183
- </div>
184
- </if>
195
+ <div class="tree-item__checkbox" part="checkbox" style="display: none;">
196
+ <snice-checkbox size="small"></snice-checkbox>
197
+ </div>
185
198
 
186
- <div class="tree-item__label" part="label">${this.node.label}</div>
199
+ <div class="tree-item__icon" part="icon" style="display: none;"></div>
200
+
201
+ <div class="tree-item__label" part="label"></div>
187
202
  </div>
188
203
 
189
- <if ${this.hasChildren}>
190
- <div class="${childrenClasses}" part="children" role="group">
191
- ${this.node.children?.map(child => html `
192
- <snice-tree-item
193
- ?show-checkbox=${this.showCheckbox}
194
- ?show-icon=${this.showIcon}>
195
- </snice-tree-item>
196
- `)}
197
- </div>
198
- </if>
204
+ <div class="tree-item__children" part="children" role="group"></div>
199
205
  </div>
200
206
  `;
207
+ if (this.shadowRoot) {
208
+ this.shadowRoot.innerHTML = template;
209
+ }
210
+ else {
211
+ this.attachShadow({ mode: 'open' }).innerHTML = template;
212
+ }
213
+ // Attach event listeners
214
+ const content = this.shadowRoot.querySelector('.tree-item__content');
215
+ const expander = this.shadowRoot.querySelector('.tree-item__expander');
216
+ content?.addEventListener('click', (e) => this.handleContentClick(e));
217
+ content?.addEventListener('keydown', (e) => this.handleKeydown(e));
218
+ expander?.addEventListener('click', (e) => {
219
+ e.stopPropagation();
220
+ this.toggle();
221
+ });
222
+ // Attach checkbox listener after element is defined
223
+ requestAnimationFrame(() => {
224
+ const checkbox = this.shadowRoot.querySelector('snice-checkbox');
225
+ checkbox?.addEventListener('@snice/change', (e) => this.handleCheckboxChangeEvent(e));
226
+ });
201
227
  }
202
- styles() {
203
- return css /*css*/ `${cssContent}`;
228
+ updateDOM() {
229
+ if (!this.shadowRoot)
230
+ return;
231
+ const container = this.shadowRoot.querySelector('.tree-item');
232
+ const content = this.shadowRoot.querySelector('.tree-item__content');
233
+ const label = this.shadowRoot.querySelector('.tree-item__label');
234
+ const icon = this.shadowRoot.querySelector('.tree-item__icon');
235
+ // Update level
236
+ if (container) {
237
+ container.style.setProperty('--tree-level', this.level.toString());
238
+ }
239
+ // Update label
240
+ if (label) {
241
+ label.textContent = this.node.label || '';
242
+ }
243
+ // Update icon
244
+ if (icon && this.showIcon) {
245
+ if (this.node.iconImage) {
246
+ icon.innerHTML = `<img class="tree-item__icon-image" src="${this.node.iconImage}" alt="" part="icon-image">`;
247
+ icon.style.display = '';
248
+ }
249
+ else if (this.node.icon) {
250
+ icon.innerHTML = `<span part="icon-text">${this.node.icon}</span>`;
251
+ icon.style.display = '';
252
+ }
253
+ else {
254
+ icon.style.display = 'none';
255
+ }
256
+ }
257
+ else if (icon) {
258
+ icon.style.display = 'none';
259
+ }
260
+ // Update ARIA attributes
261
+ if (content) {
262
+ content.setAttribute('tabindex', this.node.disabled ? '-1' : '0');
263
+ content.setAttribute('aria-selected', this.selected.toString());
264
+ content.setAttribute('aria-disabled', (this.node.disabled || false).toString());
265
+ content.setAttribute('aria-busy', this.loading.toString());
266
+ if (this.hasChildren) {
267
+ content.setAttribute('aria-expanded', this.expanded.toString());
268
+ }
269
+ else {
270
+ content.removeAttribute('aria-expanded');
271
+ }
272
+ }
273
+ this.updateExpandedState();
274
+ this.updateSelectedState();
275
+ this.updateCheckboxState();
276
+ this.updateLoadingState();
277
+ this.updateChildrenDOM();
204
278
  }
205
- handleExpanderClick(e) {
206
- e.stopPropagation();
207
- this.toggle();
279
+ updateExpandedState() {
280
+ if (!this.shadowRoot)
281
+ return;
282
+ const expander = this.shadowRoot.querySelector('.tree-item__expander');
283
+ const children = this.shadowRoot.querySelector('.tree-item__children');
284
+ const content = this.shadowRoot.querySelector('.tree-item__content');
285
+ if (expander) {
286
+ expander.classList.toggle('tree-item__expander--expanded', this.expanded);
287
+ expander.classList.toggle('tree-item__expander--hidden', !this.hasChildren);
288
+ }
289
+ if (children) {
290
+ children.classList.toggle('tree-item__children--expanded', this.expanded);
291
+ }
292
+ if (content && this.hasChildren) {
293
+ content.setAttribute('aria-expanded', this.expanded.toString());
294
+ }
295
+ }
296
+ updateSelectedState() {
297
+ if (!this.shadowRoot)
298
+ return;
299
+ const content = this.shadowRoot.querySelector('.tree-item__content');
300
+ if (content) {
301
+ content.classList.toggle('tree-item__content--selected', this.selected);
302
+ content.setAttribute('aria-selected', this.selected.toString());
303
+ }
304
+ }
305
+ updateCheckboxState() {
306
+ if (!this.shadowRoot)
307
+ return;
308
+ const checkboxContainer = this.shadowRoot.querySelector('.tree-item__checkbox');
309
+ const checkbox = this.shadowRoot.querySelector('snice-checkbox');
310
+ if (checkboxContainer) {
311
+ checkboxContainer.style.display = this.showCheckbox ? '' : 'none';
312
+ }
313
+ if (checkbox) {
314
+ // Use requestAnimationFrame to ensure checkbox component is ready
315
+ requestAnimationFrame(() => {
316
+ checkbox.checked = this.checked;
317
+ checkbox.indeterminate = this.indeterminate;
318
+ checkbox.disabled = this.node.disabled || false;
319
+ });
320
+ }
321
+ }
322
+ updateLoadingState() {
323
+ if (!this.shadowRoot)
324
+ return;
325
+ const loadingContainer = this.shadowRoot.querySelector('.tree-item__loading');
326
+ const expander = this.shadowRoot.querySelector('.tree-item__expander');
327
+ if (loadingContainer && expander) {
328
+ loadingContainer.style.display = this.loading ? '' : 'none';
329
+ expander.style.display = this.loading ? 'none' : '';
330
+ }
331
+ }
332
+ updateChildrenDOM() {
333
+ if (!this.shadowRoot || !this.hasChildren)
334
+ return;
335
+ const childrenContainer = this.shadowRoot.querySelector('.tree-item__children');
336
+ if (!childrenContainer)
337
+ return;
338
+ // Clear existing children
339
+ childrenContainer.innerHTML = '';
340
+ // Create child tree items
341
+ this.node.children?.forEach(child => {
342
+ const item = document.createElement('snice-tree-item');
343
+ if (this.showCheckbox)
344
+ item.setAttribute('show-checkbox', '');
345
+ if (this.showIcon)
346
+ item.setAttribute('show-icon', '');
347
+ childrenContainer.appendChild(item);
348
+ });
349
+ // Update child nodes after they're added to DOM
350
+ requestAnimationFrame(() => {
351
+ this.updateChildTreeItems();
352
+ });
208
353
  }
209
354
  handleContentClick(e) {
210
355
  if (this.node.disabled)
211
356
  return;
212
- this.select();
357
+ // Toggle selection instead of always selecting
358
+ if (this.selected) {
359
+ this.deselect();
360
+ }
361
+ else {
362
+ this.select();
363
+ }
213
364
  }
214
365
  handleKeydown(e) {
215
366
  if (this.node.disabled)
216
367
  return;
217
368
  if (e.key === 'Enter' || e.key === ' ') {
218
369
  e.preventDefault();
219
- this.select();
370
+ // Toggle selection instead of always selecting
371
+ if (this.selected) {
372
+ this.deselect();
373
+ }
374
+ else {
375
+ this.select();
376
+ }
220
377
  }
221
378
  else if (e.key === 'ArrowRight') {
222
379
  e.preventDefault();
@@ -231,22 +388,42 @@ let SniceTreeItem = (() => {
231
388
  }
232
389
  }
233
390
  }
234
- handleCheckboxChange(e) {
391
+ handleCheckboxChangeEvent(e) {
235
392
  e.stopPropagation();
236
- this.checked = e.detail.checked;
237
- this.dispatchCheckEvent();
393
+ const newChecked = e.detail.checked;
394
+ // Update local state
395
+ this.checked = newChecked;
396
+ // Update node state
397
+ this.node.checked = newChecked;
398
+ // Manually dispatch event to parent tree
399
+ this.dispatchEvent(new CustomEvent('tree-item-check', {
400
+ bubbles: true,
401
+ composed: true,
402
+ detail: {
403
+ nodeId: this.node.id,
404
+ checked: this.checked
405
+ }
406
+ }));
238
407
  }
239
408
  // Public API
240
409
  expand() {
241
410
  if (!this.hasChildren || this.expanded)
242
411
  return;
243
- // If lazy load, dispatch event before expanding
412
+ // If lazy load, set loading state and dispatch event
244
413
  if (this.node.lazy && (!this.node.children || this.node.children.length === 0)) {
414
+ this.loading = true;
245
415
  this.dispatchLazyLoadEvent();
416
+ // Parent will set loading=false after loading children
417
+ return;
246
418
  }
247
419
  this.expanded = true;
248
420
  this.dispatchToggleEvent();
249
421
  }
422
+ finishLoading() {
423
+ this.loading = false;
424
+ this.expanded = true;
425
+ this.dispatchToggleEvent();
426
+ }
250
427
  collapse() {
251
428
  if (!this.hasChildren || !this.expanded)
252
429
  return;
@@ -265,10 +442,14 @@ let SniceTreeItem = (() => {
265
442
  if (this.node.disabled)
266
443
  return;
267
444
  this.selected = true;
445
+ // Don't modify node.selected here - let the parent tree handle it
446
+ this.updateSelectedState();
268
447
  this.dispatchSelectEvent();
269
448
  }
270
449
  deselect() {
271
450
  this.selected = false;
451
+ // Don't modify node.selected here - let the parent tree handle it
452
+ this.updateSelectedState();
272
453
  this.dispatchSelectEvent();
273
454
  }
274
455
  check() {
@@ -291,7 +472,9 @@ let SniceTreeItem = (() => {
291
472
  this.checked = (__runInitializers(this, _selected_extraInitializers), __runInitializers(this, _checked_initializers, false));
292
473
  this.showCheckbox = (__runInitializers(this, _checked_extraInitializers), __runInitializers(this, _showCheckbox_initializers, false));
293
474
  this.showIcon = (__runInitializers(this, _showCheckbox_extraInitializers), __runInitializers(this, _showIcon_initializers, true));
294
- __runInitializers(this, _showIcon_extraInitializers);
475
+ this.loading = (__runInitializers(this, _showIcon_extraInitializers), __runInitializers(this, _loading_initializers, false));
476
+ this.indeterminate = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _indeterminate_initializers, false));
477
+ __runInitializers(this, _indeterminate_extraInitializers);
295
478
  }
296
479
  });
297
480
  return _classThis;
@@ -1 +1 @@
1
- {"version":3,"file":"snice-tree-item.js","sources":["../../../components/tree/snice-tree-item.css?inline","../../../../components/tree/snice-tree-item.ts"],"sourcesContent":["export default \":host{display:block}.tree-item{position:relative;user-select:none}.tree-item__content{display:flex;align-items:center;gap:var(--spacing-xs,.5rem);padding:var(--spacing-xs,.5rem) var(--spacing-sm,.75rem);padding-left:calc(var(--tree-level,0) * var(--spacing-xl,1.5rem) + var(--spacing-sm,.75rem));cursor:pointer;border-radius:var(--border-radius-sm,.25rem);transition:background-color .2s;position:relative}.tree-item__content:hover{background-color:var(--color-neutral-100,#f5f5f5)}.tree-item__content:focus{outline:2px solid var(--color-primary-500,#3b82f6);outline-offset:-2px}.tree-item__content--selected{background-color:var(--color-primary-100,#dbeafe);color:var(--color-primary-700,#1d4ed8)}.tree-item__content--selected:hover{background-color:var(--color-primary-200,#bfdbfe)}.tree-item__content--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.tree-item__expander{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s;cursor:pointer}.tree-item__expander--expanded{transform:rotate(90deg)}.tree-item__expander--hidden{visibility:hidden}.tree-item__expander svg{width:1rem;height:1rem;fill:currentColor}.tree-item__checkbox{flex-shrink:0}.tree-item__icon{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center}.tree-item__icon-image{width:100%;height:100%;object-fit:contain}.tree-item__label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-item__children{display:none}.tree-item__children--expanded{display:block}\";",null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snice-tree-item.js","sources":["../../../components/tree/snice-tree-item.css?inline","../../../../components/tree/snice-tree-item.ts"],"sourcesContent":["export default \":host{display:block}.tree-item{position:relative;user-select:none}.tree-item__content{display:flex;align-items:center;gap:var(--snice-spacing-xs,.5rem);padding:var(--snice-spacing-xs,.5rem) var(--snice-spacing-sm,.75rem);padding-left:calc(var(--tree-level,0) * var(--snice-spacing-xl,1.5rem) + var(--snice-spacing-sm,.75rem));cursor:pointer;border-radius:var(--snice-border-radius-md,.25rem);transition:background-color var(--snice-transition-fast, 150ms) ease;position:relative;background-color:transparent}.tree-item__content:hover{background-color:var(--snice-color-background-hover,rgb(var(--snice-color-gray-100)))}.tree-item__content:focus{outline:2px solid var(--snice-color-primary,rgb(var(--snice-color-blue-600)));outline-offset:-2px}.tree-item__content--selected{background-color:var(--snice-color-primary-subtle,rgb(var(--snice-color-blue-50)))}.tree-item__content--selected:hover{background-color:var(--snice-color-primary-subtle-hover,rgb(var(--snice-color-blue-100)))}.tree-item__content--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.tree-item__expander{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s;cursor:pointer}.tree-item__expander--expanded{transform:rotate(90deg)}.tree-item__expander--hidden{visibility:hidden}.tree-item__expander svg{width:1rem;height:1rem;fill:currentColor}.tree-item__checkbox{display:flex;align-items:center;flex-shrink:0;height:1.25rem}.tree-item__checkbox snice-checkbox{display:flex;align-items:center}.tree-item__icon{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center}.tree-item__icon-image{width:100%;height:100%;object-fit:contain}.tree-item__label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25rem;align-self:center}.tree-item__children{overflow:hidden;max-height:0;opacity:0;transition:max-height .25s cubic-bezier(.4, 0, .2, 1),opacity .25s cubic-bezier(.4, 0, .2, 1)}.tree-item__children--expanded{max-height:10000px;opacity:1;transition:max-height .25s cubic-bezier(.4, 0, .2, 1),opacity .25s cubic-bezier(.4, 0, .2, 1)}.tree-item__loading{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;flex-shrink:0}\";",null],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ export interface SniceTreeItemElement extends HTMLElement {
5
5
  expanded: boolean;
6
6
  selected: boolean;
7
7
  checked: boolean;
8
+ loading: boolean;
9
+ indeterminate: boolean;
8
10
  showCheckbox: boolean;
9
11
  showIcon: boolean;
10
12
  hasChildren: boolean;
@@ -15,6 +17,7 @@ export interface SniceTreeItemElement extends HTMLElement {
15
17
  deselect(): void;
16
18
  check(): void;
17
19
  uncheck(): void;
20
+ finishLoading(): void;
18
21
  }
19
22
  export interface TreeItemToggleDetail {
20
23
  nodeId: string;
@@ -1,6 +1,7 @@
1
1
  import type { TreeNode, TreeSelectionMode, SniceTreeElement } from './snice-tree.types';
2
2
  import './snice-tree-item';
3
3
  export declare class SniceTree extends HTMLElement implements SniceTreeElement {
4
+ selectable: boolean;
4
5
  selectionMode: TreeSelectionMode;
5
6
  showCheckboxes: boolean;
6
7
  showIcons: boolean;
@@ -10,8 +11,14 @@ export declare class SniceTree extends HTMLElement implements SniceTreeElement {
10
11
  checkedNodes: string[];
11
12
  private nodeMap;
12
13
  treeItems: NodeListOf<HTMLElement>;
14
+ private lastFocusedItem;
13
15
  init(): void;
16
+ private renderTemplate;
17
+ private loadingNodeIds;
14
18
  handleNodesChange(): void;
19
+ private trackLoadingNodes;
20
+ private restoreLoadingState;
21
+ private updateTreeItemsDOM;
15
22
  private updateTreeItems;
16
23
  handleSelectedNodesChange(): void;
17
24
  handleCheckedNodesChange(): void;
@@ -19,15 +26,23 @@ export declare class SniceTree extends HTMLElement implements SniceTreeElement {
19
26
  private syncNodeStates;
20
27
  private handleItemToggle;
21
28
  private handleItemSelect;
29
+ private deselectAllNodes;
22
30
  private handleItemCheck;
31
+ private syncCheckboxes;
32
+ private updateCheckboxStatesOnly;
33
+ private updateSelectedStatesOnly;
34
+ private finishLoadingNodes;
35
+ private findParentNode;
23
36
  private handleLazyLoad;
24
37
  private dispatchExpandEvent;
25
38
  private dispatchCollapseEvent;
26
39
  private dispatchSelectEvent;
27
40
  private dispatchCheckEvent;
28
41
  private dispatchLazyLoadEvent;
29
- render(): import("snice").TemplateResult;
30
- styles(): import("snice").CSSResult;
42
+ private handleKeyDown;
43
+ private handleFocusIn;
44
+ private handleFocusOut;
45
+ private getFocusableItems;
31
46
  expandNode(id: string): void;
32
47
  collapseNode(id: string): void;
33
48
  toggleNode(id: string): void;
@@ -42,4 +57,5 @@ export declare class SniceTree extends HTMLElement implements SniceTreeElement {
42
57
  getNode(id: string): TreeNode | undefined;
43
58
  getSelectedNodes(): TreeNode[];
44
59
  getCheckedNodes(): TreeNode[];
60
+ updateNode(id: string, updates: Partial<TreeNode>): void;
45
61
  }