@pure-ds/core 0.7.19 → 0.7.21

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 (33) hide show
  1. package/.cursorrules +10 -0
  2. package/.github/copilot-instructions.md +10 -0
  3. package/custom-elements.json +232 -25
  4. package/dist/types/public/assets/js/pds-manager.d.ts.map +1 -1
  5. package/dist/types/public/assets/pds/components/pds-code.d.ts +19 -0
  6. package/dist/types/public/assets/pds/components/pds-code.d.ts.map +1 -0
  7. package/dist/types/public/assets/pds/components/pds-icon.d.ts +31 -1
  8. package/dist/types/public/assets/pds/components/pds-icon.d.ts.map +1 -1
  9. package/dist/types/public/assets/pds/components/pds-treeview.d.ts +271 -16
  10. package/dist/types/public/assets/pds/components/pds-treeview.d.ts.map +1 -1
  11. package/dist/types/src/js/components/pds-code.d.ts +19 -0
  12. package/dist/types/src/js/components/pds-code.d.ts.map +1 -0
  13. package/dist/types/src/js/external/shiki.d.ts +3 -0
  14. package/dist/types/src/js/external/shiki.d.ts.map +1 -0
  15. package/dist/types/src/js/pds-core/pds-generator.d.ts.map +1 -1
  16. package/package.json +1 -1
  17. package/packages/pds-cli/bin/templates/bootstrap/public/assets/my/my-home.js +1 -1
  18. package/public/assets/js/app.js +1 -1
  19. package/public/assets/js/pds-manager.js +138 -148
  20. package/public/assets/pds/components/pds-calendar.js +504 -16
  21. package/public/assets/pds/components/pds-code.js +203 -0
  22. package/public/assets/pds/components/pds-icon.js +102 -27
  23. package/public/assets/pds/components/pds-live-importer.js +2 -2
  24. package/public/assets/pds/components/pds-scrollrow.js +27 -2
  25. package/public/assets/pds/components/pds-treeview.js +185 -0
  26. package/public/assets/pds/core/pds-manager.js +138 -148
  27. package/public/assets/pds/custom-elements.json +263 -18
  28. package/public/assets/pds/external/shiki.js +32 -0
  29. package/public/assets/pds/pds-css-complete.json +1 -1
  30. package/public/assets/pds/templates/feedback-ops-dashboard.html +1 -1
  31. package/public/assets/pds/templates/release-readiness-radar.html +2 -2
  32. package/public/assets/pds/templates/support-command-center.html +1 -1
  33. package/src/js/pds-core/pds-generator.js +142 -152
package/.cursorrules CHANGED
@@ -13,6 +13,8 @@ PDS follows the [Pure Web Manifesto](https://pureweb.dev/manifesto): "The browse
13
13
  3. **Progressive Enhancement**: Semantic HTML first, enhance where needed
14
14
  4. **Components as Last Resort**: Web Components only when native HTML cannot achieve it
15
15
 
16
+ > Note: all (lazy loaded) PDS web components are rolled out to consuming projects in their [public root]/assets/pds/components/ folder, and are never provided as source that needs to be bundled. The web component scripts are copied there at npm install time (postinstall), and are ready to be used because the PDS AutoDefiner will define them when added to the DOM.
17
+
16
18
  ### The Four Layers
17
19
 
18
20
  **Layer 1 — Styles**: From minimal config, PDS generates complete CSS: tokens, scales, semantics, surfaces, states. Zero specificity via `:where()`.
@@ -417,6 +419,14 @@ await customElements.whenDefined('pds-form');
417
419
  const form = document.querySelector('pds-form');
418
420
  form.getFormData(); // Safe
419
421
 
422
+ // In a Lit context, use the lazyProps directive (included in #pds/lit bundle)
423
+ <pds-fab
424
+ id="fab-three"
425
+ ${lazyProps({ satellites })}
426
+ >
427
+ <pds-icon icon="plus" size="lg" data-original-icon="plus"></pds-icon>
428
+ </pds-fab>
429
+
420
430
  // ✅ CORRECT: Alternative pattern
421
431
  const FormClass = await customElements.get('pds-form');
422
432
  if (FormClass) {
@@ -13,6 +13,8 @@ PDS follows the [Pure Web Manifesto](https://pureweb.dev/manifesto): "The browse
13
13
  3. **Progressive Enhancement**: Semantic HTML first, enhance where needed
14
14
  4. **Components as Last Resort**: Web Components only when native HTML cannot achieve it
15
15
 
16
+ > Note: all (lazy loaded) PDS web components are rolled out to consuming projects in their [public root]/assets/pds/components/ folder, and are never provided as source that needs to be bundled. The web component scripts are copied there at npm install time (postinstall), and are ready to be used because the PDS AutoDefiner will define them when added to the DOM.
17
+
16
18
  ### The Four Layers
17
19
 
18
20
  **Layer 1 — Styles**: From minimal config, PDS generates complete CSS: tokens, scales, semantics, surfaces, states. Zero specificity via `:where()`.
@@ -417,6 +419,14 @@ await customElements.whenDefined('pds-form');
417
419
  const form = document.querySelector('pds-form');
418
420
  form.getFormData(); // Safe
419
421
 
422
+ // In a Lit context, use the lazyProps directive (included in #pds/lit bundle)
423
+ <pds-fab
424
+ id="fab-three"
425
+ ${lazyProps({ satellites })}
426
+ >
427
+ <pds-icon icon="plus" size="lg" data-original-icon="plus"></pds-icon>
428
+ </pds-fab>
429
+
420
430
  // ✅ CORRECT: Alternative pattern
421
431
  const FormClass = await customElements.get('pds-form');
422
432
  if (FormClass) {
@@ -3550,117 +3550,324 @@
3550
3550
  },
3551
3551
  {
3552
3552
  "kind": "field",
3553
- "name": "settings"
3553
+ "name": "settings",
3554
+ "description": "Current runtime settings for data loading and behavior.",
3555
+ "type": {
3556
+ "text": "PdsTreeviewOptions"
3557
+ },
3558
+ "parameters": [
3559
+ {
3560
+ "name": "value",
3561
+ "type": {
3562
+ "text": "PdsTreeviewOptions|null|undefined"
3563
+ }
3564
+ }
3565
+ ]
3554
3566
  },
3555
3567
  {
3556
3568
  "kind": "field",
3557
- "name": "options"
3569
+ "name": "options",
3570
+ "description": "Alias for `settings`.",
3571
+ "type": {
3572
+ "text": "PdsTreeviewOptions"
3573
+ },
3574
+ "parameters": [
3575
+ {
3576
+ "name": "value",
3577
+ "type": {
3578
+ "text": "PdsTreeviewOptions|null|undefined"
3579
+ }
3580
+ }
3581
+ ]
3558
3582
  },
3559
3583
  {
3560
3584
  "kind": "field",
3561
- "name": "name"
3585
+ "name": "name",
3586
+ "description": "Form field name used when participating in form submission.",
3587
+ "type": {
3588
+ "text": "string"
3589
+ },
3590
+ "parameters": [
3591
+ {
3592
+ "name": "value",
3593
+ "type": {
3594
+ "text": "string|null|undefined"
3595
+ }
3596
+ }
3597
+ ]
3562
3598
  },
3563
3599
  {
3564
3600
  "kind": "field",
3565
- "name": "value"
3601
+ "name": "value",
3602
+ "description": "Selected value for single-select mode.",
3603
+ "type": {
3604
+ "text": "string"
3605
+ },
3606
+ "parameters": [
3607
+ {
3608
+ "name": "value",
3609
+ "type": {
3610
+ "text": "string|null|undefined"
3611
+ }
3612
+ }
3613
+ ]
3566
3614
  },
3567
3615
  {
3568
3616
  "kind": "field",
3569
- "name": "values"
3617
+ "name": "values",
3618
+ "description": "Selected values in multiselect mode.",
3619
+ "type": {
3620
+ "text": "string[]"
3621
+ },
3622
+ "parameters": [
3623
+ {
3624
+ "name": "values",
3625
+ "type": {
3626
+ "text": "Array<string|number>|null|undefined"
3627
+ }
3628
+ }
3629
+ ]
3570
3630
  },
3571
3631
  {
3572
3632
  "kind": "field",
3573
- "name": "disabled"
3633
+ "name": "disabled",
3634
+ "description": "Disables interactions when true.",
3635
+ "type": {
3636
+ "text": "boolean"
3637
+ },
3638
+ "parameters": [
3639
+ {
3640
+ "name": "value",
3641
+ "type": {
3642
+ "text": "boolean"
3643
+ }
3644
+ }
3645
+ ]
3574
3646
  },
3575
3647
  {
3576
3648
  "kind": "field",
3577
- "name": "required"
3649
+ "name": "required",
3650
+ "description": "Requires at least one selected node for form validity.",
3651
+ "type": {
3652
+ "text": "boolean"
3653
+ },
3654
+ "parameters": [
3655
+ {
3656
+ "name": "value",
3657
+ "type": {
3658
+ "text": "boolean"
3659
+ }
3660
+ }
3661
+ ]
3578
3662
  },
3579
3663
  {
3580
3664
  "kind": "field",
3581
- "name": "displayOnly"
3665
+ "name": "displayOnly",
3666
+ "description": "Read-only presentation mode; disables selection and form value syncing.",
3667
+ "type": {
3668
+ "text": "boolean"
3669
+ },
3670
+ "parameters": [
3671
+ {
3672
+ "name": "value",
3673
+ "type": {
3674
+ "text": "boolean"
3675
+ }
3676
+ }
3677
+ ]
3582
3678
  },
3583
3679
  {
3584
3680
  "kind": "field",
3585
- "name": "expandedAll"
3681
+ "name": "expandedAll",
3682
+ "description": "Expands all branch nodes after data load.",
3683
+ "type": {
3684
+ "text": "boolean"
3685
+ },
3686
+ "parameters": [
3687
+ {
3688
+ "name": "value",
3689
+ "type": {
3690
+ "text": "boolean"
3691
+ }
3692
+ }
3693
+ ]
3586
3694
  },
3587
3695
  {
3588
3696
  "kind": "field",
3589
- "name": "multiselect"
3697
+ "name": "multiselect",
3698
+ "description": "Selection mode.\r\n\r\n- `off`: single select\r\n- `checkboxes`: persistent multiselect with checkboxes\r\n- `auto`: touch/coarse pointer gets checkbox mode",
3699
+ "type": {
3700
+ "text": "\"off\"|\"checkboxes\"|\"auto\""
3701
+ },
3702
+ "parameters": [
3703
+ {
3704
+ "name": "value",
3705
+ "type": {
3706
+ "text": "\"off\"|\"checkboxes\"|\"auto\"|string|null|undefined"
3707
+ }
3708
+ }
3709
+ ]
3590
3710
  },
3591
3711
  {
3592
3712
  "kind": "field",
3593
3713
  "name": "selectedNode",
3714
+ "description": "First selected node (or active selected node in multiselect).",
3715
+ "type": {
3716
+ "text": "PdsTreeviewNode|null"
3717
+ },
3594
3718
  "readonly": true
3595
3719
  },
3596
3720
  {
3597
3721
  "kind": "field",
3598
3722
  "name": "selectedNodes",
3723
+ "description": "All selected nodes.",
3724
+ "type": {
3725
+ "text": "PdsTreeviewNode[]"
3726
+ },
3599
3727
  "readonly": true
3600
3728
  },
3601
3729
  {
3602
3730
  "kind": "method",
3603
- "name": "getSelectedNode"
3731
+ "name": "getSelectedNode",
3732
+ "description": "Backward-compatible accessor for `selectedNode`.",
3733
+ "return": {
3734
+ "type": {
3735
+ "text": "PdsTreeviewNode|null"
3736
+ }
3737
+ }
3604
3738
  },
3605
3739
  {
3606
3740
  "kind": "method",
3607
- "name": "getSelectedNodes"
3741
+ "name": "getSelectedNodes",
3742
+ "description": "Backward-compatible accessor for `selectedNodes`.",
3743
+ "return": {
3744
+ "type": {
3745
+ "text": "PdsTreeviewNode[]"
3746
+ }
3747
+ }
3608
3748
  },
3609
3749
  {
3610
3750
  "kind": "method",
3611
- "name": "refresh"
3751
+ "name": "refresh",
3752
+ "description": "Reloads tree data from settings/source and re-renders the component.",
3753
+ "return": {
3754
+ "type": {
3755
+ "text": "Promise<void>"
3756
+ }
3757
+ }
3612
3758
  },
3613
3759
  {
3614
3760
  "kind": "method",
3615
- "name": "expandAll"
3761
+ "name": "expandAll",
3762
+ "description": "Expands every currently indexed branch node.",
3763
+ "return": {
3764
+ "type": {
3765
+ "text": "void"
3766
+ }
3767
+ }
3616
3768
  },
3617
3769
  {
3618
3770
  "kind": "method",
3619
- "name": "collapseAll"
3771
+ "name": "collapseAll",
3772
+ "description": "Collapses every expanded branch node.",
3773
+ "return": {
3774
+ "type": {
3775
+ "text": "void"
3776
+ }
3777
+ }
3620
3778
  },
3621
3779
  {
3622
3780
  "kind": "method",
3623
3781
  "name": "selectById",
3624
3782
  "parameters": [
3625
3783
  {
3626
- "name": "id"
3784
+ "name": "id",
3785
+ "type": {
3786
+ "text": "string"
3787
+ }
3627
3788
  }
3628
- ]
3789
+ ],
3790
+ "description": "Selects a node by node id.",
3791
+ "return": {
3792
+ "type": {
3793
+ "text": "boolean"
3794
+ }
3795
+ }
3629
3796
  },
3630
3797
  {
3631
3798
  "kind": "method",
3632
3799
  "name": "selectByValue",
3633
3800
  "parameters": [
3634
3801
  {
3635
- "name": "value"
3802
+ "name": "value",
3803
+ "type": {
3804
+ "text": "string|number|null|undefined"
3805
+ }
3636
3806
  }
3637
- ]
3807
+ ],
3808
+ "description": "Selects the first node whose `value` matches.",
3809
+ "return": {
3810
+ "type": {
3811
+ "text": "boolean"
3812
+ }
3813
+ }
3638
3814
  },
3639
3815
  {
3640
3816
  "kind": "method",
3641
3817
  "name": "selectByValues",
3642
3818
  "parameters": [
3643
3819
  {
3644
- "name": "values"
3820
+ "name": "values",
3821
+ "type": {
3822
+ "text": "Array<string|number>"
3823
+ }
3645
3824
  }
3646
- ]
3825
+ ],
3826
+ "description": "Selects multiple nodes by value.\r\n\r\nIn single-select mode, only the first resolved value is selected.",
3827
+ "return": {
3828
+ "type": {
3829
+ "text": "boolean"
3830
+ }
3831
+ }
3647
3832
  },
3648
3833
  {
3649
3834
  "kind": "method",
3650
- "name": "checkValidity"
3835
+ "name": "checkValidity",
3836
+ "description": "Runs form-associated validity checks.",
3837
+ "return": {
3838
+ "type": {
3839
+ "text": "boolean"
3840
+ }
3841
+ }
3651
3842
  },
3652
3843
  {
3653
3844
  "kind": "method",
3654
- "name": "reportValidity"
3845
+ "name": "reportValidity",
3846
+ "description": "Runs and reports form-associated validity checks.",
3847
+ "return": {
3848
+ "type": {
3849
+ "text": "boolean"
3850
+ }
3851
+ }
3655
3852
  },
3656
3853
  {
3657
3854
  "kind": "method",
3658
3855
  "name": "focus",
3659
3856
  "parameters": [
3660
3857
  {
3661
- "name": "options"
3858
+ "name": "options",
3859
+ "optional": true,
3860
+ "type": {
3861
+ "text": "FocusOptions"
3862
+ }
3662
3863
  }
3663
- ]
3864
+ ],
3865
+ "description": "Focuses the active/selected row, or first visible row as fallback.",
3866
+ "return": {
3867
+ "type": {
3868
+ "text": "void"
3869
+ }
3870
+ }
3664
3871
  }
3665
3872
  ],
3666
3873
  "events": [
@@ -1 +1 @@
1
- {"version":3,"file":"pds-manager.d.ts","sourceRoot":"","sources":["../../../../../public/assets/js/pds-manager.js"],"names":[],"mappings":"AA6iHg2b,qCAAwH;AAAjsO;;;;;;;;;;;;EAAwsB;AAA9kC;;;;;;;;;;;;EAAsY;AAfh8I;;;;;;;;;;;;EAAkW;AAc58D;;;;;EAAoO;AACmtZ,0CAA4L;AAAvtJ;;;IAAoS;AAfpvN,qCAA4H;AAe2lV,0CAAoR;AAfnwR,0CAAkK;AAtEjwH,kDAAq8B;AAsEkkF,0CAAwF;AAe4gJ;;;;;;;;;;;;GAAi5D;AAA07D;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAwJ;AAnBjna;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAI+xD"}
1
+ {"version":3,"file":"pds-manager.d.ts","sourceRoot":"","sources":["../../../../../public/assets/js/pds-manager.js"],"names":[],"mappings":"AAmiHg2b,qCAAwH;AAAjsO;;;;;;;;;;;;EAAwsB;AAA9kC;;;;;;;;;;;;EAAsY;AAfh8I;;;;;;;;;;;;EAAkW;AAc58D;;;;;EAAoO;AACmtZ,0CAA4L;AAAvtJ;;;IAAoS;AAfpvN,qCAA4H;AAe2lV,0CAAoR;AAfnwR,0CAAkK;AAtEjwH,kDAAq8B;AAsEkkF,0CAAwF;AAe4gJ;;;;;;;;;;;;GAAi5D;AAA07D;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAwJ;AAnBjna;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAI+xD"}
@@ -0,0 +1,19 @@
1
+ export class PDSCode extends HTMLElement {
2
+ static get observedAttributes(): string[];
3
+ _code: any;
4
+ _capturedInitialText: boolean;
5
+ _renderToken: number;
6
+ _textObserver: MutationObserver;
7
+ connectedCallback(): void;
8
+ disconnectedCallback(): void;
9
+ attributeChangedCallback(): void;
10
+ set code(value: any);
11
+ get code(): any;
12
+ setCode(value: any, { lang, theme }?: {}): void;
13
+ captureInitialText(): void;
14
+ ensureCodeFromContent(): boolean;
15
+ startTextObserver(): void;
16
+ stopTextObserver(): void;
17
+ render(): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=pds-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pds-code.d.ts","sourceRoot":"","sources":["../../../../../../public/assets/pds/components/pds-code.js"],"names":[],"mappings":"AAwEA;IACE,0CAEC;IAIC,WAAiB;IACjB,8BAAiC;IACjC,qBAAqB;IACrB,gCAAyB;IAG3B,0BAWC;IAED,6BAEC;IAED,iCAEC;IAED,qBAGC;IAED,gBAIC;IAED,gDAIC;IAED,2BAOC;IAED,iCAUC;IAED,0BAeC;IAED,yBAIC;IAED,wBA8BC;CACF"}
@@ -35,6 +35,7 @@ export class SvgIcon extends HTMLElement {
35
35
  static inlineSprites: Map<any, any>;
36
36
  static externalIconCache: Map<any, any>;
37
37
  static externalIconPromises: Map<any, any>;
38
+ static externalPathDebugLogged: Set<any>;
38
39
  static instances: Set<any>;
39
40
  static "__#private@#spriteSupport": boolean;
40
41
  static "__#private@#detectSpriteSupport"(): boolean;
@@ -44,12 +45,41 @@ export class SvgIcon extends HTMLElement {
44
45
  * @returns {string} The base path for external SVG icons
45
46
  */
46
47
  private static getExternalIconPath;
48
+ /**
49
+ * Normalize the external icon path to make cache keys and URL joining stable.
50
+ * @private
51
+ * @param {string} [basePath]
52
+ * @returns {string}
53
+ */
54
+ private static normalizeExternalIconPath;
55
+ /**
56
+ * Build a deterministic cache key for external icon content.
57
+ * @private
58
+ * @param {string} iconName
59
+ * @param {string} basePath
60
+ * @returns {string}
61
+ */
62
+ private static getExternalIconCacheKey;
63
+ /**
64
+ * Resolve an external icon URL from icon name + base path.
65
+ * @private
66
+ * @param {string} iconName
67
+ * @param {string} basePath
68
+ * @returns {string}
69
+ */
70
+ private static getExternalIconURL;
71
+ /**
72
+ * Whether verbose icon diagnostics should be logged.
73
+ * @private
74
+ * @returns {boolean}
75
+ */
76
+ private static isDebugLoggingEnabled;
47
77
  /**
48
78
  * Fetch an external SVG icon and cache it
49
79
  * @param {string} iconName - The icon name (without .svg extension)
50
80
  * @returns {Promise<boolean>} True if successfully fetched
51
81
  */
52
- static fetchExternalIcon(iconName: string): Promise<boolean>;
82
+ static fetchExternalIcon(iconName: string, basePath: any): Promise<boolean>;
53
83
  static ensureInlineSprite(spriteURL: any): Promise<any>;
54
84
  static notifyInstances(): void;
55
85
  _currentIcon: any;
@@ -1 +1 @@
1
- {"version":3,"file":"pds-icon.d.ts","sourceRoot":"","sources":["../../../../../../public/assets/pds/components/pds-icon.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;IACE,oCAAkF;IAGlF;;;;;;;;;;MAkBE;IAEF,qCAAkC;IAClC,oCAAiC;IAGjC,wCAAqC;IAErC,2CAAwC;IAExC,2BAA6B;IAE7B,4CAA8B;IAO9B,oDA4CC;IAqdD;;;;OAIG;IACH,mCAmBC;IAED;;;;OAIG;IACH,mCAHW,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CA6E5B;IAED,wDA8EC;IACD,+BAMC;IAjpBC,kBAAwB;IACxB,kBAAwB;IACxB,mBAAsB;IACtB,iBAAuB;IACvB,wBAA2B;IAC3B,kBAAoB;IACpB,mBAAqB;IACrB,mBAAqB;IACrB,yBAA2B;IAC3B,yBAA2B;IAG7B,0BAGC;IAED,6BAGC;IAED,wEAmBC;IAED,eAiQC;IA0JD;;;;;OAKG;IACH,0BAFa,OAAO,CAInB;;CAoMF"}
1
+ {"version":3,"file":"pds-icon.d.ts","sourceRoot":"","sources":["../../../../../../public/assets/pds/components/pds-icon.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;IACE,oCAAkF;IAGlF;;;;;;;;;;MAkBE;IAEF,qCAAkC;IAClC,oCAAiC;IAGjC,wCAAqC;IAErC,2CAAwC;IAExC,yCAA2C;IAE3C,2BAA6B;IAE7B,4CAA8B;IAO9B,oDA4CC;IAydD;;;;OAIG;IACH,mCAsBC;IAED;;;;;OAKG;IACH,yCAOC;IAED;;;;;;OAMG;IACH,uCAEC;IAED;;;;;;OAMG;IACH,kCAUC;IAED;;;;OAIG;IACH,qCAOC;IAED;;;;OAIG;IACH,mCAHW,MAAM,kBACJ,OAAO,CAAC,OAAO,CAAC,CAoF5B;IAED,wDA8EC;IACD,+BAMC;IA1tBC,kBAAwB;IACxB,kBAAwB;IACxB,mBAAsB;IACtB,iBAAuB;IACvB,wBAA2B;IAC3B,kBAAoB;IACpB,mBAAqB;IACrB,mBAAqB;IACrB,yBAA2B;IAC3B,yBAA2B;IAG7B,0BAGC;IAED,6BAGC;IAED,wEAmBC;IAED,eAqQC;IA0JD;;;;;OAKG;IACH,0BAFa,OAAO,CAInB;;CAyQF"}