@design.estate/dees-wcctools 3.2.0 → 3.4.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.
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-wcctools',
6
- version: '3.2.0',
6
+ version: '3.4.0',
7
7
  description: 'A set of web component tools for creating element catalogues, enabling the structured development and documentation of custom elements and pages.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsOEJBQThCO0lBQ3BDLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSxtSkFBbUo7Q0FDakssQ0FBQSJ9
@@ -1,32 +1,44 @@
1
1
  import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
2
  import type { TTemplateFactory } from './wcctools.helpers.js';
3
+ import type { IWccConfig, IWccSection, TElementType } from '../wcctools.interfaces.js';
3
4
  import * as plugins from '../wcctools.plugins.js';
4
5
  import './wcc-frame.js';
5
6
  import './wcc-sidebar.js';
6
7
  import './wcc-properties.js';
7
8
  import { type TTheme } from './wcc-properties.js';
8
- import { type TElementType } from './wcc-sidebar.js';
9
9
  import { WccFrame } from './wcc-frame.js';
10
+ /**
11
+ * Get filtered and sorted items from a section
12
+ */
13
+ export declare const getSectionItems: (section: IWccSection) => Array<[string, any]>;
10
14
  export declare class WccDashboard extends DeesElement {
15
+ accessor sections: IWccSection[];
16
+ accessor selectedSection: IWccSection | null;
11
17
  accessor selectedType: TElementType;
12
18
  accessor selectedItemName: string;
13
19
  accessor selectedItem: TTemplateFactory | DeesElement;
14
20
  accessor selectedDemoIndex: number;
15
21
  accessor selectedViewport: plugins.deesDomtools.breakpoints.TViewport;
16
22
  accessor selectedTheme: TTheme;
23
+ accessor searchQuery: string;
17
24
  get isNative(): boolean;
18
- accessor pages: Record<string, TTemplateFactory>;
19
- accessor elements: {
20
- [key: string]: DeesElement;
21
- };
22
25
  accessor warning: string;
23
26
  private frameScrollY;
24
27
  private sidebarScrollY;
25
28
  private scrollPositionsApplied;
26
29
  accessor wccFrame: Promise<WccFrame>;
27
- constructor(elementsArg?: {
28
- [key: string]: DeesElement;
29
- }, pagesArg?: Record<string, TTemplateFactory>);
30
+ constructor(config?: IWccConfig);
31
+ /**
32
+ * Find an item by name across all sections, returns the item and its section
33
+ */
34
+ findItemByName(name: string): {
35
+ item: any;
36
+ section: IWccSection;
37
+ } | null;
38
+ /**
39
+ * Find a section by name (URL-decoded)
40
+ */
41
+ findSectionByName(name: string): IWccSection | null;
30
42
  render(): TemplateResult;
31
43
  setWarning(warningTextArg: string): void;
32
44
  toggleNative(): void;
@@ -40,15 +40,35 @@ import './wcc-frame.js';
40
40
  import './wcc-sidebar.js';
41
41
  import './wcc-properties.js';
42
42
  import {} from './wcc-properties.js';
43
- import {} from './wcc-sidebar.js';
44
43
  import { breakpoints } from '@design.estate/dees-domtools';
45
44
  import { WccFrame } from './wcc-frame.js';
45
+ /**
46
+ * Get filtered and sorted items from a section
47
+ */
48
+ export const getSectionItems = (section) => {
49
+ let entries = Object.entries(section.items);
50
+ // Apply filter if provided
51
+ if (section.filter) {
52
+ entries = entries.filter(([name, item]) => section.filter(name, item));
53
+ }
54
+ // Apply sort if provided
55
+ if (section.sort) {
56
+ entries.sort(section.sort);
57
+ }
58
+ return entries;
59
+ };
46
60
  let WccDashboard = (() => {
47
61
  let _classDecorators = [customElement('wcc-dashboard')];
48
62
  let _classDescriptor;
49
63
  let _classExtraInitializers = [];
50
64
  let _classThis;
51
65
  let _classSuper = DeesElement;
66
+ let _sections_decorators;
67
+ let _sections_initializers = [];
68
+ let _sections_extraInitializers = [];
69
+ let _selectedSection_decorators;
70
+ let _selectedSection_initializers = [];
71
+ let _selectedSection_extraInitializers = [];
52
72
  let _selectedType_decorators;
53
73
  let _selectedType_initializers = [];
54
74
  let _selectedType_extraInitializers = [];
@@ -67,12 +87,9 @@ let WccDashboard = (() => {
67
87
  let _selectedTheme_decorators;
68
88
  let _selectedTheme_initializers = [];
69
89
  let _selectedTheme_extraInitializers = [];
70
- let _pages_decorators;
71
- let _pages_initializers = [];
72
- let _pages_extraInitializers = [];
73
- let _elements_decorators;
74
- let _elements_initializers = [];
75
- let _elements_extraInitializers = [];
90
+ let _searchQuery_decorators;
91
+ let _searchQuery_initializers = [];
92
+ let _searchQuery_extraInitializers = [];
76
93
  let _warning_decorators;
77
94
  let _warning_initializers = [];
78
95
  let _warning_extraInitializers = [];
@@ -83,24 +100,26 @@ let WccDashboard = (() => {
83
100
  static { _classThis = this; }
84
101
  static {
85
102
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
103
+ _sections_decorators = [property()];
104
+ _selectedSection_decorators = [property()];
86
105
  _selectedType_decorators = [property()];
87
106
  _selectedItemName_decorators = [property()];
88
107
  _selectedItem_decorators = [property()];
89
108
  _selectedDemoIndex_decorators = [property({ type: Number })];
90
109
  _selectedViewport_decorators = [property()];
91
110
  _selectedTheme_decorators = [property()];
92
- _pages_decorators = [property()];
93
- _elements_decorators = [property()];
111
+ _searchQuery_decorators = [property()];
94
112
  _warning_decorators = [property()];
95
113
  _wccFrame_decorators = [queryAsync('wcc-frame')];
114
+ __esDecorate(this, null, _sections_decorators, { kind: "accessor", name: "sections", static: false, private: false, access: { has: obj => "sections" in obj, get: obj => obj.sections, set: (obj, value) => { obj.sections = value; } }, metadata: _metadata }, _sections_initializers, _sections_extraInitializers);
115
+ __esDecorate(this, null, _selectedSection_decorators, { kind: "accessor", name: "selectedSection", static: false, private: false, access: { has: obj => "selectedSection" in obj, get: obj => obj.selectedSection, set: (obj, value) => { obj.selectedSection = value; } }, metadata: _metadata }, _selectedSection_initializers, _selectedSection_extraInitializers);
96
116
  __esDecorate(this, null, _selectedType_decorators, { kind: "accessor", name: "selectedType", static: false, private: false, access: { has: obj => "selectedType" in obj, get: obj => obj.selectedType, set: (obj, value) => { obj.selectedType = value; } }, metadata: _metadata }, _selectedType_initializers, _selectedType_extraInitializers);
97
117
  __esDecorate(this, null, _selectedItemName_decorators, { kind: "accessor", name: "selectedItemName", static: false, private: false, access: { has: obj => "selectedItemName" in obj, get: obj => obj.selectedItemName, set: (obj, value) => { obj.selectedItemName = value; } }, metadata: _metadata }, _selectedItemName_initializers, _selectedItemName_extraInitializers);
98
118
  __esDecorate(this, null, _selectedItem_decorators, { kind: "accessor", name: "selectedItem", static: false, private: false, access: { has: obj => "selectedItem" in obj, get: obj => obj.selectedItem, set: (obj, value) => { obj.selectedItem = value; } }, metadata: _metadata }, _selectedItem_initializers, _selectedItem_extraInitializers);
99
119
  __esDecorate(this, null, _selectedDemoIndex_decorators, { kind: "accessor", name: "selectedDemoIndex", static: false, private: false, access: { has: obj => "selectedDemoIndex" in obj, get: obj => obj.selectedDemoIndex, set: (obj, value) => { obj.selectedDemoIndex = value; } }, metadata: _metadata }, _selectedDemoIndex_initializers, _selectedDemoIndex_extraInitializers);
100
120
  __esDecorate(this, null, _selectedViewport_decorators, { kind: "accessor", name: "selectedViewport", static: false, private: false, access: { has: obj => "selectedViewport" in obj, get: obj => obj.selectedViewport, set: (obj, value) => { obj.selectedViewport = value; } }, metadata: _metadata }, _selectedViewport_initializers, _selectedViewport_extraInitializers);
101
121
  __esDecorate(this, null, _selectedTheme_decorators, { kind: "accessor", name: "selectedTheme", static: false, private: false, access: { has: obj => "selectedTheme" in obj, get: obj => obj.selectedTheme, set: (obj, value) => { obj.selectedTheme = value; } }, metadata: _metadata }, _selectedTheme_initializers, _selectedTheme_extraInitializers);
102
- __esDecorate(this, null, _pages_decorators, { kind: "accessor", name: "pages", static: false, private: false, access: { has: obj => "pages" in obj, get: obj => obj.pages, set: (obj, value) => { obj.pages = value; } }, metadata: _metadata }, _pages_initializers, _pages_extraInitializers);
103
- __esDecorate(this, null, _elements_decorators, { kind: "accessor", name: "elements", static: false, private: false, access: { has: obj => "elements" in obj, get: obj => obj.elements, set: (obj, value) => { obj.elements = value; } }, metadata: _metadata }, _elements_initializers, _elements_extraInitializers);
122
+ __esDecorate(this, null, _searchQuery_decorators, { kind: "accessor", name: "searchQuery", static: false, private: false, access: { has: obj => "searchQuery" in obj, get: obj => obj.searchQuery, set: (obj, value) => { obj.searchQuery = value; } }, metadata: _metadata }, _searchQuery_initializers, _searchQuery_extraInitializers);
104
123
  __esDecorate(this, null, _warning_decorators, { kind: "accessor", name: "warning", static: false, private: false, access: { has: obj => "warning" in obj, get: obj => obj.warning, set: (obj, value) => { obj.warning = value; } }, metadata: _metadata }, _warning_initializers, _warning_extraInitializers);
105
124
  __esDecorate(this, null, _wccFrame_decorators, { kind: "accessor", name: "wccFrame", static: false, private: false, access: { has: obj => "wccFrame" in obj, get: obj => obj.wccFrame, set: (obj, value) => { obj.wccFrame = value; } }, metadata: _metadata }, _wccFrame_initializers, _wccFrame_extraInitializers);
106
125
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
@@ -108,7 +127,13 @@ let WccDashboard = (() => {
108
127
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
109
128
  __runInitializers(_classThis, _classExtraInitializers);
110
129
  }
111
- #selectedType_accessor_storage = __runInitializers(this, _selectedType_initializers, void 0);
130
+ #sections_accessor_storage = __runInitializers(this, _sections_initializers, []);
131
+ get sections() { return this.#sections_accessor_storage; }
132
+ set sections(value) { this.#sections_accessor_storage = value; }
133
+ #selectedSection_accessor_storage = (__runInitializers(this, _sections_extraInitializers), __runInitializers(this, _selectedSection_initializers, null));
134
+ get selectedSection() { return this.#selectedSection_accessor_storage; }
135
+ set selectedSection(value) { this.#selectedSection_accessor_storage = value; }
136
+ #selectedType_accessor_storage = (__runInitializers(this, _selectedSection_extraInitializers), __runInitializers(this, _selectedType_initializers, void 0));
112
137
  get selectedType() { return this.#selectedType_accessor_storage; }
113
138
  set selectedType(value) { this.#selectedType_accessor_storage = value; }
114
139
  #selectedItemName_accessor_storage = (__runInitializers(this, _selectedType_extraInitializers), __runInitializers(this, _selectedItemName_initializers, void 0));
@@ -126,17 +151,14 @@ let WccDashboard = (() => {
126
151
  #selectedTheme_accessor_storage = (__runInitializers(this, _selectedViewport_extraInitializers), __runInitializers(this, _selectedTheme_initializers, 'dark'));
127
152
  get selectedTheme() { return this.#selectedTheme_accessor_storage; }
128
153
  set selectedTheme(value) { this.#selectedTheme_accessor_storage = value; }
154
+ #searchQuery_accessor_storage = (__runInitializers(this, _selectedTheme_extraInitializers), __runInitializers(this, _searchQuery_initializers, ''));
155
+ get searchQuery() { return this.#searchQuery_accessor_storage; }
156
+ set searchQuery(value) { this.#searchQuery_accessor_storage = value; }
129
157
  // Derived from selectedViewport - no need for separate property
130
158
  get isNative() {
131
159
  return this.selectedViewport === 'native';
132
160
  }
133
- #pages_accessor_storage = (__runInitializers(this, _selectedTheme_extraInitializers), __runInitializers(this, _pages_initializers, {}));
134
- get pages() { return this.#pages_accessor_storage; }
135
- set pages(value) { this.#pages_accessor_storage = value; }
136
- #elements_accessor_storage = (__runInitializers(this, _pages_extraInitializers), __runInitializers(this, _elements_initializers, {}));
137
- get elements() { return this.#elements_accessor_storage; }
138
- set elements(value) { this.#elements_accessor_storage = value; }
139
- #warning_accessor_storage = (__runInitializers(this, _elements_extraInitializers), __runInitializers(this, _warning_initializers, null));
161
+ #warning_accessor_storage = (__runInitializers(this, _searchQuery_extraInitializers), __runInitializers(this, _warning_initializers, null));
140
162
  get warning() { return this.#warning_accessor_storage; }
141
163
  set warning(value) { this.#warning_accessor_storage = value; }
142
164
  frameScrollY = (__runInitializers(this, _warning_extraInitializers), 0);
@@ -145,16 +167,31 @@ let WccDashboard = (() => {
145
167
  #wccFrame_accessor_storage = __runInitializers(this, _wccFrame_initializers, void 0);
146
168
  get wccFrame() { return this.#wccFrame_accessor_storage; }
147
169
  set wccFrame(value) { this.#wccFrame_accessor_storage = value; }
148
- constructor(elementsArg, pagesArg) {
170
+ constructor(config) {
149
171
  super();
150
- if (elementsArg) {
151
- this.elements = elementsArg;
152
- console.log('got elements:');
153
- console.log(this.elements);
172
+ if (config && config.sections) {
173
+ this.sections = config.sections;
174
+ console.log('got sections:', this.sections.map(s => s.name));
154
175
  }
155
- if (pagesArg) {
156
- this.pages = pagesArg;
176
+ }
177
+ /**
178
+ * Find an item by name across all sections, returns the item and its section
179
+ */
180
+ findItemByName(name) {
181
+ for (const section of this.sections) {
182
+ const entries = getSectionItems(section);
183
+ const found = entries.find(([itemName]) => itemName === name);
184
+ if (found) {
185
+ return { item: found[1], section };
186
+ }
157
187
  }
188
+ return null;
189
+ }
190
+ /**
191
+ * Find a section by name (URL-decoded)
192
+ */
193
+ findSectionByName(name) {
194
+ return this.sections.find(s => s.name === name) || null;
158
195
  }
159
196
  render() {
160
197
  return html `
@@ -171,6 +208,7 @@ let WccDashboard = (() => {
171
208
  <wcc-sidebar
172
209
  .dashboardRef=${this}
173
210
  .selectedItem=${this.selectedItem}
211
+ .searchQuery=${this.searchQuery}
174
212
  .isNative=${this.isNative}
175
213
  @selectedType=${(eventArg) => {
176
214
  this.selectedType = eventArg.detail;
@@ -181,6 +219,10 @@ let WccDashboard = (() => {
181
219
  @selectedItem=${(eventArg) => {
182
220
  this.selectedItem = eventArg.detail;
183
221
  }}
222
+ @searchChanged=${(eventArg) => {
223
+ this.searchQuery = eventArg.detail;
224
+ this.updateUrlWithScrollState();
225
+ }}
184
226
  ></wcc-sidebar>
185
227
  <wcc-properties
186
228
  .dashboardRef=${this}
@@ -238,23 +280,47 @@ let WccDashboard = (() => {
238
280
  setTimeout(() => {
239
281
  this.setupScrollListeners();
240
282
  }, 500);
241
- // Route with demo index (new format)
242
- this.domtools.router.on('/wcctools-route/:itemType/:itemName/:demoIndex/:viewport/:theme', async (routeInfo) => {
243
- this.selectedType = routeInfo.params.itemType;
283
+ // New route format with section name
284
+ this.domtools.router.on('/wcctools-route/:sectionName/:itemName/:demoIndex/:viewport/:theme', async (routeInfo) => {
285
+ const sectionName = decodeURIComponent(routeInfo.params.sectionName);
286
+ this.selectedSection = this.findSectionByName(sectionName);
244
287
  this.selectedItemName = routeInfo.params.itemName;
245
288
  this.selectedDemoIndex = parseInt(routeInfo.params.demoIndex) || 0;
246
289
  this.selectedViewport = routeInfo.params.viewport;
247
290
  this.selectedTheme = routeInfo.params.theme;
248
- if (routeInfo.params.itemType === 'element') {
249
- this.selectedItem = this.elements[routeInfo.params.itemName];
291
+ if (this.selectedSection) {
292
+ // Find item within the section
293
+ const entries = getSectionItems(this.selectedSection);
294
+ const found = entries.find(([name]) => name === routeInfo.params.itemName);
295
+ if (found) {
296
+ this.selectedItem = found[1];
297
+ this.selectedType = this.selectedSection.type === 'elements' ? 'element' : 'page';
298
+ }
250
299
  }
251
- else if (routeInfo.params.itemType === 'page') {
252
- this.selectedItem = this.pages[routeInfo.params.itemName];
300
+ else {
301
+ // Fallback: try legacy format (element/page as section name)
302
+ const legacyType = routeInfo.params.sectionName;
303
+ if (legacyType === 'element' || legacyType === 'page') {
304
+ this.selectedType = legacyType;
305
+ // Find item in any matching section
306
+ const result = this.findItemByName(routeInfo.params.itemName);
307
+ if (result) {
308
+ this.selectedItem = result.item;
309
+ this.selectedSection = result.section;
310
+ }
311
+ }
253
312
  }
254
- // Restore scroll positions from query parameters
313
+ // Restore state from query parameters
255
314
  if (routeInfo.queryParams) {
315
+ const search = routeInfo.queryParams.search;
256
316
  const frameScrollY = routeInfo.queryParams.frameScrollY;
257
317
  const sidebarScrollY = routeInfo.queryParams.sidebarScrollY;
318
+ if (search) {
319
+ this.searchQuery = search;
320
+ }
321
+ else {
322
+ this.searchQuery = '';
323
+ }
258
324
  if (frameScrollY) {
259
325
  this.frameScrollY = parseInt(frameScrollY);
260
326
  }
@@ -266,28 +332,53 @@ let WccDashboard = (() => {
266
332
  this.applyScrollPositions();
267
333
  }, 100);
268
334
  }
335
+ else {
336
+ this.searchQuery = '';
337
+ }
269
338
  const domtoolsInstance = await plugins.deesDomtools.elementBasic.setup();
270
339
  this.selectedTheme === 'bright'
271
340
  ? domtoolsInstance.themeManager.goBright()
272
341
  : domtoolsInstance.themeManager.goDark();
273
342
  });
274
343
  // Legacy route without demo index (for backwards compatibility)
275
- this.domtools.router.on('/wcctools-route/:itemType/:itemName/:viewport/:theme', async (routeInfo) => {
276
- this.selectedType = routeInfo.params.itemType;
344
+ this.domtools.router.on('/wcctools-route/:sectionName/:itemName/:viewport/:theme', async (routeInfo) => {
345
+ const sectionName = decodeURIComponent(routeInfo.params.sectionName);
346
+ this.selectedSection = this.findSectionByName(sectionName);
277
347
  this.selectedItemName = routeInfo.params.itemName;
278
- this.selectedDemoIndex = 0; // Default to first demo
348
+ this.selectedDemoIndex = 0;
279
349
  this.selectedViewport = routeInfo.params.viewport;
280
350
  this.selectedTheme = routeInfo.params.theme;
281
- if (routeInfo.params.itemType === 'element') {
282
- this.selectedItem = this.elements[routeInfo.params.itemName];
351
+ if (this.selectedSection) {
352
+ const entries = getSectionItems(this.selectedSection);
353
+ const found = entries.find(([name]) => name === routeInfo.params.itemName);
354
+ if (found) {
355
+ this.selectedItem = found[1];
356
+ this.selectedType = this.selectedSection.type === 'elements' ? 'element' : 'page';
357
+ }
283
358
  }
284
- else if (routeInfo.params.itemType === 'page') {
285
- this.selectedItem = this.pages[routeInfo.params.itemName];
359
+ else {
360
+ // Fallback: try legacy format
361
+ const legacyType = routeInfo.params.sectionName;
362
+ if (legacyType === 'element' || legacyType === 'page') {
363
+ this.selectedType = legacyType;
364
+ const result = this.findItemByName(routeInfo.params.itemName);
365
+ if (result) {
366
+ this.selectedItem = result.item;
367
+ this.selectedSection = result.section;
368
+ }
369
+ }
286
370
  }
287
- // Restore scroll positions from query parameters
371
+ // Restore state from query parameters
288
372
  if (routeInfo.queryParams) {
373
+ const search = routeInfo.queryParams.search;
289
374
  const frameScrollY = routeInfo.queryParams.frameScrollY;
290
375
  const sidebarScrollY = routeInfo.queryParams.sidebarScrollY;
376
+ if (search) {
377
+ this.searchQuery = search;
378
+ }
379
+ else {
380
+ this.searchQuery = '';
381
+ }
291
382
  if (frameScrollY) {
292
383
  this.frameScrollY = parseInt(frameScrollY);
293
384
  }
@@ -299,6 +390,9 @@ let WccDashboard = (() => {
299
390
  this.applyScrollPositions();
300
391
  }, 100);
301
392
  }
393
+ else {
394
+ this.searchQuery = '';
395
+ }
302
396
  const domtoolsInstance = await plugins.deesDomtools.elementBasic.setup();
303
397
  this.selectedTheme === 'bright'
304
398
  ? domtoolsInstance.themeManager.goBright()
@@ -354,8 +448,14 @@ let WccDashboard = (() => {
354
448
  }
355
449
  }
356
450
  buildUrl() {
357
- const baseUrl = `/wcctools-route/${this.selectedType}/${this.selectedItemName}/${this.selectedDemoIndex}/${this.selectedViewport}/${this.selectedTheme}`;
451
+ const sectionName = this.selectedSection
452
+ ? encodeURIComponent(this.selectedSection.name)
453
+ : this.selectedType; // Fallback for legacy
454
+ const baseUrl = `/wcctools-route/${sectionName}/${this.selectedItemName}/${this.selectedDemoIndex}/${this.selectedViewport}/${this.selectedTheme}`;
358
455
  const queryParams = new URLSearchParams();
456
+ if (this.searchQuery) {
457
+ queryParams.set('search', this.searchQuery);
458
+ }
359
459
  if (this.frameScrollY > 0) {
360
460
  queryParams.set('frameScrollY', this.frameScrollY.toString());
361
461
  }
@@ -398,8 +498,14 @@ let WccDashboard = (() => {
398
498
  }, 300);
399
499
  }
400
500
  updateUrlWithScrollState() {
401
- const baseUrl = `/wcctools-route/${this.selectedType}/${this.selectedItemName}/${this.selectedDemoIndex}/${this.selectedViewport}/${this.selectedTheme}`;
501
+ const sectionName = this.selectedSection
502
+ ? encodeURIComponent(this.selectedSection.name)
503
+ : this.selectedType; // Fallback for legacy
504
+ const baseUrl = `/wcctools-route/${sectionName}/${this.selectedItemName}/${this.selectedDemoIndex}/${this.selectedViewport}/${this.selectedTheme}`;
402
505
  const queryParams = new URLSearchParams();
506
+ if (this.searchQuery) {
507
+ queryParams.set('search', this.searchQuery);
508
+ }
403
509
  if (this.frameScrollY > 0) {
404
510
  queryParams.set('frameScrollY', this.frameScrollY.toString());
405
511
  }
@@ -432,4 +538,4 @@ let WccDashboard = (() => {
432
538
  return WccDashboard = _classThis;
433
539
  })();
434
540
  export { WccDashboard };
435
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2NjLWRhc2hib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy93Y2MtZGFzaGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUF1QixVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVJLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHL0csT0FBTyxLQUFLLE9BQU8sTUFBTSx3QkFBd0IsQ0FBQztBQUVsRCxZQUFZO0FBQ1osT0FBTyxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFlLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFxQixNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7SUFHN0IsWUFBWTs0QkFEeEIsYUFBYSxDQUFDLGVBQWUsQ0FBQzs7OztzQkFDRyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzRCQUFuQixTQUFRLFdBQVc7Ozs7d0NBRTFDLFFBQVEsRUFBRTs0Q0FHVixRQUFRLEVBQUU7d0NBR1YsUUFBUSxFQUFFOzZDQUdWLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzs0Q0FHMUIsUUFBUSxFQUFFO3lDQUdWLFFBQVEsRUFBRTtpQ0FRVixRQUFRLEVBQUU7b0NBR1YsUUFBUSxFQUFFO21DQUdWLFFBQVEsRUFBRTtvQ0FPVixV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
541
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2NjLWRhc2hib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy93Y2MtZGFzaGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUF1QixVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVJLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJL0csT0FBTyxLQUFLLE9BQU8sTUFBTSx3QkFBd0IsQ0FBQztBQUVsRCxZQUFZO0FBQ1osT0FBTyxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFlLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLE9BQW9CLEVBQXdCLEVBQUU7SUFDNUUsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFNUMsMkJBQTJCO0lBQzNCLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25CLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FB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
@@ -1,15 +1,34 @@
1
1
  import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
2
  import { WccDashboard } from './wcc-dashboard.js';
3
3
  import type { TTemplateFactory } from './wcctools.helpers.js';
4
- export type TElementType = 'element' | 'page';
4
+ import type { IWccSection, TElementType } from '../wcctools.interfaces.js';
5
5
  export declare class WccSidebar extends DeesElement {
6
6
  accessor selectedItem: DeesElement | TTemplateFactory;
7
7
  accessor selectedType: TElementType;
8
8
  accessor dashboardRef: WccDashboard;
9
9
  accessor isNative: boolean;
10
10
  accessor expandedElements: Set<string>;
11
+ accessor collapsedSections: Set<string>;
12
+ accessor searchQuery: string;
13
+ private sectionsInitialized;
11
14
  render(): TemplateResult;
15
+ /**
16
+ * Initialize collapsed sections from section config
17
+ */
18
+ private initCollapsedSections;
19
+ /**
20
+ * Render all sections
21
+ */
22
+ private renderSections;
23
+ /**
24
+ * Render items for a section
25
+ */
26
+ private renderSectionItems;
27
+ private toggleSectionCollapsed;
12
28
  private toggleExpanded;
29
+ private handleSearchInput;
30
+ private matchesSearch;
31
+ private highlightMatch;
13
32
  protected updated(changedProperties: Map<string, unknown>): void;
14
- selectItem(typeArg: TElementType, itemNameArg: string, itemArg: TTemplateFactory | DeesElement, demoIndex?: number): void;
33
+ selectItem(typeArg: TElementType, itemNameArg: string, itemArg: TTemplateFactory | DeesElement, demoIndex?: number, section?: IWccSection): void;
15
34
  }