@pine-ds/icons 9.11.0 → 9.12.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 (52) hide show
  1. package/components/index.js +1 -1
  2. package/components/pds-icon.js +5 -3
  3. package/components/pds-icon.js.map +1 -1
  4. package/dist/cheatsheet.html +3 -3
  5. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -1
  6. package/dist/cjs/{index-vqovWm2E.js → index-1SOIMLKQ.js} +3 -3
  7. package/dist/cjs/{index-vqovWm2E.js.map → index-1SOIMLKQ.js.map} +1 -1
  8. package/dist/cjs/{index-Rab0J0J-.js → index-C2yOCYcM.js} +262 -120
  9. package/dist/cjs/index-C2yOCYcM.js.map +1 -0
  10. package/dist/cjs/index.cjs.js +2 -4
  11. package/dist/cjs/loader.cjs.js +2 -4
  12. package/dist/cjs/pds-icon.cjs.entry.js +2 -4
  13. package/dist/cjs/pds-icons.cjs.js +3 -5
  14. package/dist/cjs/pds-icons.cjs.js.map +1 -1
  15. package/dist/collection/collection-manifest.json +2 -2
  16. package/dist/collection/components/pds-icon/pds-icon.js +11 -11
  17. package/dist/docs.json +9 -4
  18. package/dist/esm/app-globals-DQuL1Twl.js.map +1 -1
  19. package/dist/esm/{index-DageRZ16.js → index-Bbt-SSYo.js} +3 -3
  20. package/dist/esm/{index-DageRZ16.js.map → index-Bbt-SSYo.js.map} +1 -1
  21. package/dist/esm/{index-BtVkVfWm.js → index-BnTKVLFw.js} +262 -120
  22. package/dist/esm/index-BnTKVLFw.js.map +1 -0
  23. package/dist/esm/index.js +2 -4
  24. package/dist/esm/loader.js +3 -5
  25. package/dist/esm/pds-icon.entry.js +2 -4
  26. package/dist/esm/pds-icons.js +4 -6
  27. package/dist/esm/pds-icons.js.map +1 -1
  28. package/dist/pds-icons/index.esm.js +1 -1
  29. package/dist/pds-icons/{p-5ea9f963.entry.js → p-1ade35d9.entry.js} +2 -2
  30. package/dist/pds-icons/p-1ade35d9.entry.js.map +1 -0
  31. package/dist/pds-icons/p-BnTKVLFw.js +3 -0
  32. package/dist/pds-icons/p-BnTKVLFw.js.map +1 -0
  33. package/dist/pds-icons/{p-6DkR999u.js → p-CdP7eq1f.js} +2 -2
  34. package/dist/pds-icons/{p-6DkR999u.js.map → p-CdP7eq1f.js.map} +1 -1
  35. package/dist/pds-icons/p-DQuL1Twl.js.map +1 -1
  36. package/dist/pds-icons/pds-icons.esm.js +1 -1
  37. package/dist/pds-icons/pds-icons.esm.js.map +1 -1
  38. package/dist/pds-icons.json +1 -1
  39. package/dist/pds-icons.symbols.svg +1 -1
  40. package/dist/types/components.d.ts +2 -0
  41. package/dist/types/stencil-public-runtime.d.ts +83 -8
  42. package/icons/index.d.ts +1 -1
  43. package/icons/index.js +1 -1
  44. package/icons/index.mjs +1 -1
  45. package/icons/package.json +1 -1
  46. package/package.json +2 -2
  47. package/dist/cjs/index-Rab0J0J-.js.map +0 -1
  48. package/dist/cjs/pds-icon.cjs.entry.js.map +0 -1
  49. package/dist/esm/index-BtVkVfWm.js.map +0 -1
  50. package/dist/pds-icons/p-5ea9f963.entry.js.map +0 -1
  51. package/dist/pds-icons/p-BtVkVfWm.js +0 -3
  52. package/dist/pds-icons/p-BtVkVfWm.js.map +0 -1
@@ -1,16 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Rab0J0J-.js');
3
+ var index = require('./index-C2yOCYcM.js');
4
4
  var appGlobals = require('./app-globals-V2Kpy_OQ.js');
5
5
 
6
6
  const defineCustomElements = async (win, options) => {
7
7
  if (typeof window === 'undefined') return undefined;
8
8
  await appGlobals.globalScripts();
9
- return index.bootstrapLazy([["pds-icon.cjs",[[1,"pds-icon",{"color":[1],"flipRtl":[4,"flip-rtl"],"icon":[8],"name":[513],"size":[513],"src":[1],"ariaLabel":[32],"isVisible":[32],"svgContent":[32]},null,{"size":["updateStyles"],"color":["updateStyles"],"name":["onIconPropertyChange"],"src":["onIconPropertyChange"],"icon":["onIconPropertyChange"]}]]]], options);
9
+ return index.bootstrapLazy([["pds-icon.cjs",[[257,"pds-icon",{"color":[1],"flipRtl":[4,"flip-rtl"],"icon":[8],"name":[513],"size":[513],"src":[1],"ariaLabel":[32],"isVisible":[32],"svgContent":[32]},null,{"size":["updateStyles"],"color":["updateStyles"],"name":["onIconPropertyChange"],"src":["onIconPropertyChange"],"icon":["onIconPropertyChange"]}]]]], options);
10
10
  };
11
11
 
12
12
  exports.setNonce = index.setNonce;
13
13
  exports.defineCustomElements = defineCustomElements;
14
14
  //# sourceMappingURL=loader.cjs.js.map
15
-
16
- //# sourceMappingURL=loader.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./index-Rab0J0J-.js');
4
- var index = require('./index-vqovWm2E.js');
3
+ var index$1 = require('./index-C2yOCYcM.js');
4
+ var index = require('./index-1SOIMLKQ.js');
5
5
 
6
6
  const validateContent = (svgContent) => {
7
7
  const div = document.createElement('div');
@@ -357,5 +357,3 @@ PdsIcon.style = pdsIconCss;
357
357
 
358
358
  exports.pds_icon = PdsIcon;
359
359
  //# sourceMappingURL=pds-icon.entry.cjs.js.map
360
-
361
- //# sourceMappingURL=pds-icon.cjs.entry.js.map
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Rab0J0J-.js');
3
+ var index = require('./index-C2yOCYcM.js');
4
4
  var appGlobals = require('./app-globals-V2Kpy_OQ.js');
5
5
 
6
6
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
7
7
  /*
8
- Stencil Client Patch Browser v4.28.2 | MIT Licensed | https://stenciljs.com
8
+ Stencil Client Patch Browser v4.38.3 | MIT Licensed | https://stenciljs.com
9
9
  */
10
10
 
11
11
  var patchBrowser = () => {
@@ -19,10 +19,8 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy([["pds-icon.cjs",[[1,"pds-icon",{"color":[1],"flipRtl":[4,"flip-rtl"],"icon":[8],"name":[513],"size":[513],"src":[1],"ariaLabel":[32],"isVisible":[32],"svgContent":[32]},null,{"size":["updateStyles"],"color":["updateStyles"],"name":["onIconPropertyChange"],"src":["onIconPropertyChange"],"icon":["onIconPropertyChange"]}]]]], options);
22
+ return index.bootstrapLazy([["pds-icon.cjs",[[257,"pds-icon",{"color":[1],"flipRtl":[4,"flip-rtl"],"icon":[8],"name":[513],"size":[513],"src":[1],"ariaLabel":[32],"isVisible":[32],"svgContent":[32]},null,{"size":["updateStyles"],"color":["updateStyles"],"name":["onIconPropertyChange"],"src":["onIconPropertyChange"],"icon":["onIconPropertyChange"]}]]]], options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;
26
26
  //# sourceMappingURL=pds-icons.cjs.js.map
27
-
28
- //# sourceMappingURL=pds-icons.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pds-icons.cjs.js","sources":["node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.28.2 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, H, promiseResolve, win } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? win.document && Array.from(win.document.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"names":["promiseResolve","globalScripts","bootstrapLazy"],"mappings":";;;;;;AAAA;AACA;AACA;;AAKA,IAAI,YAAY,GAAG,MAAM;AAUzB,EAAE,MAAM,UAAU,GAAG,kQAAe;AACpC,EAAE,MAAM,IAAI,GAAiE,EAAE;AAC/E,EAAE,IAAI,UAAU,KAAK,EAAE,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI;AACrD;AACA,EAAE,OAAOA,oBAAc,CAAC,IAAI,CAAC;AAC7B,CAAC;;ACnBD,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK;AACvC,EAAE,MAAMC,wBAAa,EAAE;AACvB,EAAE,OAAOC,mBAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D,CAAC,CAAC;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"pds-icons.cjs.js","sources":["node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.38.3 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, H, promiseResolve, win } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? win.document && Array.from(win.document.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"names":["promiseResolve","globalScripts","bootstrapLazy"],"mappings":";;;;;;AAAA;AACA;AACA;;AAKA,IAAI,YAAY,GAAG,MAAM;AAUzB,EAAE,MAAM,UAAU,GAAG,kQAAe;AACpC,EAAE,MAAM,IAAI,GAAiE,EAAE;AAC/E,EAAE,IAAI,UAAU,KAAK,EAAE,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI;AACrD;AACA,EAAE,OAAOA,oBAAc,CAAC,IAAI,CAAC;AAC7B,CAAC;;ACnBD,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK;AACvC,EAAE,MAAMC,wBAAa,EAAE;AACvB,EAAE,OAAOC,mBAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D,CAAC,CAAC;;;;","x_google_ignoreList":[0]}
@@ -4,8 +4,8 @@
4
4
  ],
5
5
  "compiler": {
6
6
  "name": "@stencil/core",
7
- "version": "4.28.2",
8
- "typescriptVersion": "5.5.4"
7
+ "version": "4.38.3",
8
+ "typescriptVersion": "5.9.3"
9
9
  },
10
10
  "collections": [],
11
11
  "bundles": []
@@ -253,8 +253,8 @@ export class PdsIcon {
253
253
  },
254
254
  "getter": false,
255
255
  "setter": false,
256
- "attribute": "color",
257
- "reflect": false
256
+ "reflect": false,
257
+ "attribute": "color"
258
258
  },
259
259
  "flipRtl": {
260
260
  "type": "boolean",
@@ -272,8 +272,8 @@ export class PdsIcon {
272
272
  },
273
273
  "getter": false,
274
274
  "setter": false,
275
- "attribute": "flip-rtl",
276
- "reflect": false
275
+ "reflect": false,
276
+ "attribute": "flip-rtl"
277
277
  },
278
278
  "icon": {
279
279
  "type": "any",
@@ -291,8 +291,8 @@ export class PdsIcon {
291
291
  },
292
292
  "getter": false,
293
293
  "setter": false,
294
- "attribute": "icon",
295
- "reflect": false
294
+ "reflect": false,
295
+ "attribute": "icon"
296
296
  },
297
297
  "name": {
298
298
  "type": "string",
@@ -310,8 +310,8 @@ export class PdsIcon {
310
310
  },
311
311
  "getter": false,
312
312
  "setter": false,
313
- "attribute": "name",
314
- "reflect": true
313
+ "reflect": true,
314
+ "attribute": "name"
315
315
  },
316
316
  "size": {
317
317
  "type": "string",
@@ -329,8 +329,8 @@ export class PdsIcon {
329
329
  },
330
330
  "getter": false,
331
331
  "setter": false,
332
- "attribute": "size",
333
332
  "reflect": true,
333
+ "attribute": "size",
334
334
  "defaultValue": "'regular'"
335
335
  },
336
336
  "src": {
@@ -349,8 +349,8 @@ export class PdsIcon {
349
349
  },
350
350
  "getter": false,
351
351
  "setter": false,
352
- "attribute": "src",
353
- "reflect": false
352
+ "reflect": false,
353
+ "attribute": "src"
354
354
  }
355
355
  };
356
356
  }
package/dist/docs.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
- "timestamp": "2025-11-11T11:05:28",
2
+ "timestamp": "2025-11-12T22:55:44",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
- "version": "4.28.2",
6
- "typescriptVersion": "5.5.4"
5
+ "version": "4.38.3",
6
+ "typescriptVersion": "5.9.3"
7
7
  },
8
8
  "components": [
9
9
  {
@@ -119,7 +119,12 @@
119
119
  "attr": "size",
120
120
  "reflectToAttr": true,
121
121
  "docs": "The size of the icon. This can be\n'small', 'regular', 'medium', 'large', or a\ncustom value (40px, 1rem, etc)",
122
- "docsTags": [],
122
+ "docsTags": [
123
+ {
124
+ "name": "default",
125
+ "text": "'regular'"
126
+ }
127
+ ],
123
128
  "default": "'regular'",
124
129
  "values": [
125
130
  {
@@ -1 +1 @@
1
- {"version":3,"file":"app-globals-DQuL1Twl.js","sources":["@stencil/core/internal/app-globals"],"sourcesContent":["export const globalScripts = () => {};\n"],"names":[],"mappings":"AAAY,MAAC,aAAa,GAAG,MAAM;;;;"}
1
+ {"version":3,"file":"app-globals-DQuL1Twl.js","sources":["@stencil/core/internal/app-globals"],"sourcesContent":["export const globalScripts = () => {};\nexport const globalStyles = \"\";\n"],"names":[],"mappings":"AAAY,MAAC,aAAa,GAAG,MAAM;;;;"}
@@ -1,4 +1,4 @@
1
- import './index-BtVkVfWm.js';
1
+ import './index-BnTKVLFw.js';
2
2
 
3
3
  let missingAssetPathWarning = false;
4
4
  /**
@@ -215,6 +215,6 @@ const ICONS_TO_FLIP = [
215
215
  ];
216
216
 
217
217
  export { inheritAttributes as a, getName as b, isRTL as c, addIcons as d, getUrl as g, isStr as i, shouldRtlFlipIcon as s };
218
- //# sourceMappingURL=index-DageRZ16.js.map
218
+ //# sourceMappingURL=index-Bbt-SSYo.js.map
219
219
 
220
- //# sourceMappingURL=index-DageRZ16.js.map
220
+ //# sourceMappingURL=index-Bbt-SSYo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-DageRZ16.js","sources":["src/components/pds-icon/assetPath.ts","src/components/pds-icon/utils.ts"],"sourcesContent":["import { Build } from '@stencil/core';\n\nlet missingAssetPathWarning = false;\n\ndeclare global {\n interface Window {\n __PINE_ASSET_PATH__?: string\n }\n}\n\n/**\n *\n * Reads the component asset path config from meta tag or a global variable.\n * This is a temporary workaround until these issues have been addressed:\n *\n * https://github.com/ionic-team/stencil/issues/2826/\n * https://github.com/ionic-team/stencil/issues/3470\n * https://github.com/ionic-team/stencil-ds-output-targets/issues/186\n */\nexport const getAssetPath = (path: string) => {\n const metaPineAssetPath = document.head.querySelector<HTMLMetaElement>('meta[data-pine-asset-path]')?.dataset.pineAssetPath;\n\n // Get the asset path from the window object if available\n const windowAssetPath = window.__PINE_ASSET_PATH__;\n\n // Set the CDN Asset path using the latest version\n const cdnAssetPath = 'https://cdn.jsdelivr.net/npm/@pine-ds/icons/dist/';\n\n const assetBasePath = Build.isTesting ? '/dist/pds-icons' : metaPineAssetPath || windowAssetPath || cdnAssetPath || '/'\n\n // Display a warning if the assets are fetched from the CDN.\n if ( assetBasePath.startsWith('https://cdn.jsdelivr.net/npm/') && !missingAssetPathWarning ) {\n missingAssetPathWarning = true;\n console.warn(`\n Fetching Pine assets from jsDelivr CDN.\\n\\n It's recommended that you bundle Pine Assets with your application and set the path accordingly.\\n\\nFor more information, read the documentation: \\nhttps://pine-design-system.netlify.app/?path=/docs/resources-assets--docs\n `)\n }\n\n let assetPath = path;\n\n if ( path.startsWith ('./') ) {\n assetPath = path.substring(2);\n }\n\n if ( !assetBasePath.endsWith('/') ) {\n assetPath = '/' + assetPath;\n }\n\n return assetBasePath + assetPath;\n}\n\n\nexport {};\n","import { getAssetPath } from './assetPath';\n\nimport { PdsIcon } from './pds-icon';\n\nlet CACHED_MAP: Map<string, string>;\n\nexport const addIcons = (icons: { [name: string]: string; }) => {\n const map = getIconMap();\n Object.keys(icons).forEach(name => map.set(name, icons[name]));\n}\n\nexport const getIconMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n } else {\n if (!CACHED_MAP) {\n const win = window as any; // eslint-disable-line @typescript-eslint/no-explicit-any\n win.PdsIcons = win.PdsIcons || {};\n CACHED_MAP = win.PdsIcons.map = win.PdsIcons.map || new Map();\n }\n\n return CACHED_MAP;\n }\n}\n\nexport const getName = (\n iconName: string | undefined,\n icon: string | undefined\n ) => {\n\n if(!iconName && icon && !isSrc(icon)) {\n iconName = icon;\n }\n\n if (isStr(iconName)) {\n iconName = toLower(iconName);\n }\n\n if (!isStr(iconName) || iconName.trim() === '') {\n return null;\n }\n\n const invalidChars = iconName.replace(/[a-z]|-|\\d/gi,'');\n if (invalidChars != '') { return null; }\n\n return iconName;\n}\n\nconst getNamedUrl = (iconName: string) => {\n const url = getIconMap().get(iconName);\n if (url) {\n return url;\n }\n\n return getAssetPath(`svg/${iconName}.svg`);\n};\n\nexport const getSrc = (src: string | undefined) => {\n if (isStr(src)) {\n src = src.trim();\n\n if (isSrc(src)) {\n return src;\n }\n }\n\n return null;\n}\n\nexport const getUrl = (pdsIcon: PdsIcon) => {\n let url = getSrc(pdsIcon.src);\n if (url) {\n return url;\n }\n\n url = getName(pdsIcon.name, pdsIcon.icon);\n if (url) {\n return getNamedUrl(url);\n }\n\n if (pdsIcon.icon) {\n url = getSrc(pdsIcon.icon);\n\n if(url) {\n return url;\n }\n }\n\n return null;\n};\n\n\n/**\n * Returns `true` if the document or host element\n * has a `dir` set to `rtl`. The host value will always\n * take priority over the root document value.\n */\nexport const isRTL = (hostEl?: Pick<HTMLElement, 'dir'>) => {\n if (hostEl) {\n if (hostEl.dir !== '') {\n return hostEl.dir.toLowerCase() === 'rtl';\n }\n }\n return document?.dir.toLowerCase() === 'rtl';\n};\n\nexport const isSrc = (str: string) => str.length > 0 && /(\\/|\\.)/.test(str);\nexport const isStr = (val: any): val is string => typeof val === 'string'; // eslint-disable-line @typescript-eslint/no-explicit-any\nexport const toLower = (val: string) => val.toLowerCase();\n\n/**\n * Elements inside of web components sometimes need to inherit global attributes\n * set on the host. For example, the inner input in `pds-input` should inherit\n * the `title` attribute that developers set directly on `pds-input`. This\n * helper function should be called in componentWillLoad and assigned to a variable\n * that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\n export const inheritAttributes = (el: HTMLElement, attributes: string[] = []) => {\n const attributeObject: { [k: string]: any } = {}; // eslint-disable-line @typescript-eslint/no-explicit-any\n\n attributes.forEach(attr => {\n if (el.hasAttribute(attr)) {\n const value = el.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = el.getAttribute(attr);\n }\n el.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n}\n\n/**\n * Determines if an icon should be flipped when RTL is enabled\n * @param iconName - The name of the icon to check\n * @param hostEl - Optional host element to check for RTL direction\n * @returns {boolean} - True if the icon should be flipped in RTL mode, false otherwise\n */\nexport const shouldRtlFlipIcon = (iconName: string, hostEl?: Pick<HTMLElement, 'dir'>): boolean => {\n // First check if we're in RTL mode\n const rtlEnabled = isRTL(hostEl);\n\n // Only flip if we're in RTL mode and the icon is in the flip list\n return rtlEnabled && ICONS_TO_FLIP.includes(iconName);\n}\n\n/**\n * Array of available icon names\n */\nexport const ICONS_TO_FLIP = [\n 'align-horizontal-bottom',\n 'align-horizontal-center',\n 'align-horizontal-top',\n 'align-left',\n 'align-right',\n 'align-vertical-left',\n 'align-vertical-right',\n 'arrow-corner',\n 'arrow-left',\n 'arrow-right',\n 'calendar-schedule',\n 'caret-left',\n 'caret-right',\n 'cart',\n 'cart-add',\n 'comment',\n 'comment-no',\n 'conversation',\n 'copy',\n 'copy-07',\n 'delete-key',\n 'delete-x',\n 'downsell',\n 'drawer-collapse',\n 'drawer-expand',\n 'duplicate',\n 'feedback',\n 'file-lock',\n 'file-search',\n 'form-field',\n 'form-filled',\n 'left-small',\n 'launch',\n 'list-bullet',\n 'list-numbers',\n 'margin-left',\n 'margin-right',\n 'move-left',\n 'move-right',\n 'newsletter-2',\n 'one-off-session',\n 'quote',\n 'redo',\n 'reset-password',\n 'right-small',\n 'send-message',\n 'share',\n 'super-admin',\n 'tablet-landscape',\n 'undo',\n 'user-star',\n 'user-star-filled',\n 'users',\n 'users-filled',\n 'users-tone'\n];\n\n"],"names":[],"mappings":";;AAEA,IAAI,uBAAuB,GAAG,KAAK;AAQnC;;;;;;;;AAQG;AACI,MAAM,YAAY,GAAG,CAAC,IAAY,KAAI;;AAC3C,IAAA,MAAM,iBAAiB,GAAG,CAAA,EAAA,GAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAkB,4BAA4B,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,CAAC,aAAa;;AAG3H,IAAA,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB;;IAGlD,MAAM,YAAY,GAAG,mDAAmD;AAExE,IAAA,MAAM,aAAa,GAA0C,iBAAiB,IAAI,eAAe,IAAI,YAAmB;;IAGxH,IAAK,aAAa,CAAC,UAAU,CAAC,+BAA+B,CAAC,IAAI,CAAC,uBAAuB,EAAG;QAC3F,uBAAuB,GAAG,IAAI;QAC9B,OAAO,CAAC,IAAI,CAAC;;AAEZ,IAAA,CAAA,CAAC;;IAGJ,IAAI,SAAS,GAAG,IAAI;AAEpB,IAAA,IAAK,IAAI,CAAC,UAAU,CAAE,IAAI,CAAC,EAAG;AAC5B,QAAA,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;;IAG/B,IAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAG;AAClC,QAAA,SAAS,GAAG,GAAG,GAAG,SAAS;;IAG7B,OAAO,aAAa,GAAG,SAAS;AAClC,CAAC;;AC7CD,IAAI,UAA+B;AAEtB,MAAA,QAAQ,GAAG,CAAC,KAAkC,KAAI;AAC7D,IAAA,MAAM,GAAG,GAAG,UAAU,EAAE;IACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE;AAEO,MAAM,UAAU,GAAG,MAA0B;AAClD,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,IAAI,GAAG,EAAE;;SACV;QACN,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,MAAM,GAAG,GAAG,MAAa,CAAC;YAC1B,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE;AACjC,YAAA,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE;;AAG/D,QAAA,OAAO,UAAU;;AAErB,CAAC;MAEY,OAAO,GAAG,CACrB,QAA4B,EAC5B,IAAwB,KACpB;IAEJ,IAAG,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACpC,QAAQ,GAAG,IAAI;;AAGjB,IAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;AACnB,QAAA,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;;AAG9B,IAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;AAC9C,QAAA,OAAO,IAAI;;IAGb,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAC,EAAE,CAAC;AACxD,IAAA,IAAI,YAAY,IAAI,EAAE,EAAE;AAAE,QAAA,OAAO,IAAI;;AAErC,IAAA,OAAO,QAAQ;AACjB;AAEA,MAAM,WAAW,GAAG,CAAC,QAAgB,KAAI;IACvC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;IACtC,IAAI,GAAG,EAAE;AACP,QAAA,OAAO,GAAG;;AAGZ,IAAA,OAAO,YAAY,CAAC,CAAA,IAAA,EAAO,QAAQ,CAAA,IAAA,CAAM,CAAC;AAC5C,CAAC;AAEM,MAAM,MAAM,GAAG,CAAC,GAAuB,KAAI;AAChD,IAAA,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;AACd,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE;AAEhB,QAAA,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;AACd,YAAA,OAAO,GAAG;;;AAId,IAAA,OAAO,IAAI;AACb,CAAC;AAEY,MAAA,MAAM,GAAG,CAAC,OAAgB,KAAI;IACzC,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;IAC7B,IAAI,GAAG,EAAE;AACP,QAAA,OAAO,GAAG;;IAGZ,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IACzC,IAAI,GAAG,EAAE;AACP,QAAA,OAAO,WAAW,CAAC,GAAG,CAAC;;AAGzB,IAAA,IAAI,OAAO,CAAC,IAAI,EAAE;AAChB,QAAA,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QAE1B,IAAG,GAAG,EAAE;AACN,YAAA,OAAO,GAAG;;;AAId,IAAA,OAAO,IAAI;AACb;AAGA;;;;AAIG;AACU,MAAA,KAAK,GAAG,CAAC,MAAiC,KAAI;IACzD,IAAI,MAAM,EAAE;AACV,QAAA,IAAI,MAAM,CAAC,GAAG,KAAK,EAAE,EAAE;YACrB,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,KAAK;;;AAG7C,IAAA,OAAO,CAAA,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,MAAA,GAAA,MAAA,GAAA,QAAQ,CAAE,GAAG,CAAC,WAAW,EAAE,MAAK,KAAK;AAC9C;AAEO,MAAM,KAAK,GAAG,CAAC,GAAW,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,KAAK,GAAG,CAAC,GAAQ,KAAoB,OAAO,GAAG,KAAK,SAAS;AACnE,MAAM,OAAO,GAAG,CAAC,GAAW,KAAK,GAAG,CAAC,WAAW,EAAE;AAEzD;;;;;;;;;AASG;AACW,MAAA,iBAAiB,GAAG,CAAC,EAAe,EAAE,UAAA,GAAuB,EAAE,KAAI;AAC/E,IAAA,MAAM,eAAe,GAAyB,EAAE,CAAC;AAEjD,IAAA,UAAU,CAAC,OAAO,CAAC,IAAI,IAAG;AACxB,QAAA,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YACzB,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;AACnC,YAAA,IAAI,KAAK,KAAK,IAAI,EAAE;gBAClB,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;;AAE/C,YAAA,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;;AAE5B,KAAC,CAAC;AAEF,IAAA,OAAO,eAAe;AACxB;AAEA;;;;;AAKG;MACU,iBAAiB,GAAG,CAAC,QAAgB,EAAE,MAAiC,KAAa;;AAEhG,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;;IAGhC,OAAO,UAAU,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACvD;AAEA;;AAEG;AACI,MAAM,aAAa,GAAG;IAC3B,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,YAAY;IACZ,aAAa;IACb,qBAAqB;IACrB,sBAAsB;IACtB,cAAc;IACd,YAAY;IACZ,aAAa;IACb,mBAAmB;IACnB,YAAY;IACZ,aAAa;IACb,MAAM;IACN,UAAU;IACV,SAAS;IACT,YAAY;IACZ,cAAc;IACd,MAAM;IACN,SAAS;IACT,YAAY;IACZ,UAAU;IACV,UAAU;IACV,iBAAiB;IACjB,eAAe;IACf,WAAW;IACX,UAAU;IACV,WAAW;IACX,aAAa;IACb,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,QAAQ;IACR,aAAa;IACb,cAAc;IACd,aAAa;IACb,cAAc;IACd,WAAW;IACX,YAAY;IACZ,cAAc;IACd,iBAAiB;IACjB,OAAO;IACP,MAAM;IACN,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,OAAO;IACP,aAAa;IACb,kBAAkB;IAClB,MAAM;IACN,WAAW;IACX,kBAAkB;IAClB,OAAO;IACP,cAAc;IACd;CACD;;;;"}
1
+ {"version":3,"file":"index-Bbt-SSYo.js","sources":["src/components/pds-icon/assetPath.ts","src/components/pds-icon/utils.ts"],"sourcesContent":["import { Build } from '@stencil/core';\n\nlet missingAssetPathWarning = false;\n\ndeclare global {\n interface Window {\n __PINE_ASSET_PATH__?: string\n }\n}\n\n/**\n *\n * Reads the component asset path config from meta tag or a global variable.\n * This is a temporary workaround until these issues have been addressed:\n *\n * https://github.com/ionic-team/stencil/issues/2826/\n * https://github.com/ionic-team/stencil/issues/3470\n * https://github.com/ionic-team/stencil-ds-output-targets/issues/186\n */\nexport const getAssetPath = (path: string) => {\n const metaPineAssetPath = document.head.querySelector<HTMLMetaElement>('meta[data-pine-asset-path]')?.dataset.pineAssetPath;\n\n // Get the asset path from the window object if available\n const windowAssetPath = window.__PINE_ASSET_PATH__;\n\n // Set the CDN Asset path using the latest version\n const cdnAssetPath = 'https://cdn.jsdelivr.net/npm/@pine-ds/icons/dist/';\n\n const assetBasePath = Build.isTesting ? '/dist/pds-icons' : metaPineAssetPath || windowAssetPath || cdnAssetPath || '/'\n\n // Display a warning if the assets are fetched from the CDN.\n if ( assetBasePath.startsWith('https://cdn.jsdelivr.net/npm/') && !missingAssetPathWarning ) {\n missingAssetPathWarning = true;\n console.warn(`\n Fetching Pine assets from jsDelivr CDN.\\n\\n It's recommended that you bundle Pine Assets with your application and set the path accordingly.\\n\\nFor more information, read the documentation: \\nhttps://pine-design-system.netlify.app/?path=/docs/resources-assets--docs\n `)\n }\n\n let assetPath = path;\n\n if ( path.startsWith ('./') ) {\n assetPath = path.substring(2);\n }\n\n if ( !assetBasePath.endsWith('/') ) {\n assetPath = '/' + assetPath;\n }\n\n return assetBasePath + assetPath;\n}\n\n\nexport {};\n","import { getAssetPath } from './assetPath';\n\nimport { PdsIcon } from './pds-icon';\n\nlet CACHED_MAP: Map<string, string>;\n\nexport const addIcons = (icons: { [name: string]: string; }) => {\n const map = getIconMap();\n Object.keys(icons).forEach(name => map.set(name, icons[name]));\n}\n\nexport const getIconMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n } else {\n if (!CACHED_MAP) {\n const win = window as any; // eslint-disable-line @typescript-eslint/no-explicit-any\n win.PdsIcons = win.PdsIcons || {};\n CACHED_MAP = win.PdsIcons.map = win.PdsIcons.map || new Map();\n }\n\n return CACHED_MAP;\n }\n}\n\nexport const getName = (\n iconName: string | undefined,\n icon: string | undefined\n ) => {\n\n if(!iconName && icon && !isSrc(icon)) {\n iconName = icon;\n }\n\n if (isStr(iconName)) {\n iconName = toLower(iconName);\n }\n\n if (!isStr(iconName) || iconName.trim() === '') {\n return null;\n }\n\n const invalidChars = iconName.replace(/[a-z]|-|\\d/gi,'');\n if (invalidChars != '') { return null; }\n\n return iconName;\n}\n\nconst getNamedUrl = (iconName: string) => {\n const url = getIconMap().get(iconName);\n if (url) {\n return url;\n }\n\n return getAssetPath(`svg/${iconName}.svg`);\n};\n\nexport const getSrc = (src: string | undefined) => {\n if (isStr(src)) {\n src = src.trim();\n\n if (isSrc(src)) {\n return src;\n }\n }\n\n return null;\n}\n\nexport const getUrl = (pdsIcon: PdsIcon) => {\n let url = getSrc(pdsIcon.src);\n if (url) {\n return url;\n }\n\n url = getName(pdsIcon.name, pdsIcon.icon);\n if (url) {\n return getNamedUrl(url);\n }\n\n if (pdsIcon.icon) {\n url = getSrc(pdsIcon.icon);\n\n if(url) {\n return url;\n }\n }\n\n return null;\n};\n\n\n/**\n * Returns `true` if the document or host element\n * has a `dir` set to `rtl`. The host value will always\n * take priority over the root document value.\n */\nexport const isRTL = (hostEl?: Pick<HTMLElement, 'dir'>) => {\n if (hostEl) {\n if (hostEl.dir !== '') {\n return hostEl.dir.toLowerCase() === 'rtl';\n }\n }\n return document?.dir.toLowerCase() === 'rtl';\n};\n\nexport const isSrc = (str: string) => str.length > 0 && /(\\/|\\.)/.test(str);\nexport const isStr = (val: any): val is string => typeof val === 'string'; // eslint-disable-line @typescript-eslint/no-explicit-any\nexport const toLower = (val: string) => val.toLowerCase();\n\n/**\n * Elements inside of web components sometimes need to inherit global attributes\n * set on the host. For example, the inner input in `pds-input` should inherit\n * the `title` attribute that developers set directly on `pds-input`. This\n * helper function should be called in componentWillLoad and assigned to a variable\n * that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\n export const inheritAttributes = (el: HTMLElement, attributes: string[] = []) => {\n const attributeObject: { [k: string]: any } = {}; // eslint-disable-line @typescript-eslint/no-explicit-any\n\n attributes.forEach(attr => {\n if (el.hasAttribute(attr)) {\n const value = el.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = el.getAttribute(attr);\n }\n el.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n}\n\n/**\n * Determines if an icon should be flipped when RTL is enabled\n * @param iconName - The name of the icon to check\n * @param hostEl - Optional host element to check for RTL direction\n * @returns {boolean} - True if the icon should be flipped in RTL mode, false otherwise\n */\nexport const shouldRtlFlipIcon = (iconName: string, hostEl?: Pick<HTMLElement, 'dir'>): boolean => {\n // First check if we're in RTL mode\n const rtlEnabled = isRTL(hostEl);\n\n // Only flip if we're in RTL mode and the icon is in the flip list\n return rtlEnabled && ICONS_TO_FLIP.includes(iconName);\n}\n\n/**\n * Array of available icon names\n */\nexport const ICONS_TO_FLIP = [\n 'align-horizontal-bottom',\n 'align-horizontal-center',\n 'align-horizontal-top',\n 'align-left',\n 'align-right',\n 'align-vertical-left',\n 'align-vertical-right',\n 'arrow-corner',\n 'arrow-left',\n 'arrow-right',\n 'calendar-schedule',\n 'caret-left',\n 'caret-right',\n 'cart',\n 'cart-add',\n 'comment',\n 'comment-no',\n 'conversation',\n 'copy',\n 'copy-07',\n 'delete-key',\n 'delete-x',\n 'downsell',\n 'drawer-collapse',\n 'drawer-expand',\n 'duplicate',\n 'feedback',\n 'file-lock',\n 'file-search',\n 'form-field',\n 'form-filled',\n 'left-small',\n 'launch',\n 'list-bullet',\n 'list-numbers',\n 'margin-left',\n 'margin-right',\n 'move-left',\n 'move-right',\n 'newsletter-2',\n 'one-off-session',\n 'quote',\n 'redo',\n 'reset-password',\n 'right-small',\n 'send-message',\n 'share',\n 'super-admin',\n 'tablet-landscape',\n 'undo',\n 'user-star',\n 'user-star-filled',\n 'users',\n 'users-filled',\n 'users-tone'\n];\n\n"],"names":[],"mappings":"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"}