@pine-ds/icons 3.2.0 → 3.3.0-rc.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 (72) hide show
  1. package/components/pds-icon.d.ts +2 -2
  2. package/components/pds-icon.js +175 -171
  3. package/components/pds-icon.js.map +1 -1
  4. package/components/utils.js +65 -45
  5. package/components/utils.js.map +1 -1
  6. package/dist/cheatsheet.html +3 -3
  7. package/dist/cjs/{index-b35d5b0f.js → index-17212f65.js} +81 -21
  8. package/dist/cjs/index-17212f65.js.map +1 -0
  9. package/dist/cjs/index.cjs.js +2 -2
  10. package/dist/cjs/loader.cjs.js +2 -2
  11. package/dist/cjs/pds-icon.cjs.entry.js +152 -150
  12. package/dist/cjs/pds-icon.cjs.entry.js.map +1 -1
  13. package/dist/cjs/pds-icons.cjs.js +3 -3
  14. package/dist/cjs/pds-icons.cjs.js.map +1 -1
  15. package/dist/cjs/utils-8c57ce6a.js +101 -0
  16. package/dist/cjs/utils-8c57ce6a.js.map +1 -0
  17. package/dist/collection/collection-manifest.json +1 -1
  18. package/dist/collection/components/pds-icon/pds-icon.js +189 -168
  19. package/dist/collection/components/pds-icon/pds-icon.js.map +1 -1
  20. package/dist/collection/components/pds-icon/request.js +21 -21
  21. package/dist/collection/components/pds-icon/request.js.map +1 -1
  22. package/dist/collection/components/pds-icon/test/pds-icon.e2e.js +6 -6
  23. package/dist/collection/components/pds-icon/test/pds-icon.e2e.js.map +1 -1
  24. package/dist/collection/components/pds-icon/test/pds-icon.spec.js +69 -31
  25. package/dist/collection/components/pds-icon/test/pds-icon.spec.js.map +1 -1
  26. package/dist/collection/components/pds-icon/utils.js +61 -51
  27. package/dist/collection/components/pds-icon/utils.js.map +1 -1
  28. package/dist/collection/components/pds-icon/validate.js +35 -35
  29. package/dist/collection/components/pds-icon/validate.js.map +1 -1
  30. package/dist/docs.json +23 -2
  31. package/dist/esm/{index-8effeb27.js → index-d1a605fc.js} +81 -21
  32. package/dist/esm/index-d1a605fc.js.map +1 -0
  33. package/dist/esm/index.js +2 -2
  34. package/dist/esm/loader.js +3 -3
  35. package/dist/esm/pds-icon.entry.js +152 -150
  36. package/dist/esm/pds-icon.entry.js.map +1 -1
  37. package/dist/esm/pds-icons.js +4 -4
  38. package/dist/esm/pds-icons.js.map +1 -1
  39. package/dist/esm/utils-15462a67.js +95 -0
  40. package/dist/esm/utils-15462a67.js.map +1 -0
  41. package/dist/pds-icons/index.esm.js +1 -1
  42. package/dist/pds-icons/p-19d7058a.js +3 -0
  43. package/dist/pds-icons/p-19d7058a.js.map +1 -0
  44. package/dist/pds-icons/p-229b8f4e.entry.js +2 -0
  45. package/dist/pds-icons/p-229b8f4e.entry.js.map +1 -0
  46. package/dist/pds-icons/p-f0b1dbd6.js +2 -0
  47. package/dist/pds-icons/p-f0b1dbd6.js.map +1 -0
  48. package/dist/pds-icons/pds-icons.esm.js +1 -1
  49. package/dist/pds-icons/pds-icons.esm.js.map +1 -1
  50. package/dist/pds-icons.json +1 -1
  51. package/dist/pds-icons.symbols.svg +1 -1
  52. package/dist/types/components/pds-icon/pds-icon.d.ts +41 -35
  53. package/dist/types/components/pds-icon/utils.d.ts +4 -4
  54. package/dist/types/components.d.ts +8 -0
  55. package/dist/types/stencil-public-runtime.d.ts +29 -0
  56. package/icons/index.d.ts +1 -1
  57. package/icons/index.js +1 -1
  58. package/icons/index.mjs +1 -1
  59. package/icons/package.json +1 -1
  60. package/package.json +6 -6
  61. package/dist/cjs/index-b35d5b0f.js.map +0 -1
  62. package/dist/cjs/utils-395a38b7.js +0 -81
  63. package/dist/cjs/utils-395a38b7.js.map +0 -1
  64. package/dist/esm/index-8effeb27.js.map +0 -1
  65. package/dist/esm/utils-a0ad61d0.js +0 -75
  66. package/dist/esm/utils-a0ad61d0.js.map +0 -1
  67. package/dist/pds-icons/p-91678731.entry.js +0 -2
  68. package/dist/pds-icons/p-91678731.entry.js.map +0 -1
  69. package/dist/pds-icons/p-a3383818.js +0 -3
  70. package/dist/pds-icons/p-a3383818.js.map +0 -1
  71. package/dist/pds-icons/p-dc5765cb.js +0 -2
  72. package/dist/pds-icons/p-dc5765cb.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CACHED_MAP","addIcons","icons","map","getIconMap","Object","keys","forEach","name","set","window","Map","win","PdsIcons","getName","iconName","icon","isSrc","isStr","toLower","trim","invalidChars","replace","getNamedUrl","url","get","getAssetPath","getSrc","src","getUrl","pdsIcon","str","length","test","val","toLowerCase","inheritAttributes","el","attributes","attributeObject","attr","hasAttribute","value","getAttribute","removeAttribute"],"sources":["src/components/pds-icon/utils.ts"],"sourcesContent":["import { getAssetPath } from '@stencil/core';\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 = 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\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 `ion-input` should inherit\n * the `title` attribute that developers set directly on `ion-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"],"mappings":"oCAGA,IAAIA,E,MAESC,EAAYC,IACvB,MAAMC,EAAMC,IACZC,OAAOC,KAAKJ,GAAOK,SAAQC,GAAQL,EAAIM,IAAID,EAAMN,EAAMM,KAAO,EAGzD,MAAMJ,EAAa,KACxB,UAAWM,SAAW,YAAa,CACjC,OAAO,IAAIC,G,KACL,CACN,IAAKX,EAAY,CACf,MAAMY,EAAMF,OACZE,EAAIC,SAAWD,EAAIC,UAAY,GAC/Bb,EAAaY,EAAIC,SAASV,IAAMS,EAAIC,SAASV,KAAO,IAAIQ,G,CAG1D,OAAOX,C,SAIEc,EAAU,CACrBC,EACAC,KAGA,IAAID,GAAYC,IAASC,EAAMD,GAAO,CACpCD,EAAWC,C,CAGb,GAAIE,EAAMH,GAAW,CACnBA,EAAWI,EAAQJ,E,CAGrB,IAAKG,EAAMH,IAAaA,EAASK,SAAW,GAAI,CAC9C,OAAO,I,CAGT,MAAMC,EAAeN,EAASO,QAAQ,eAAe,IACrD,GAAID,GAAgB,GAAI,CAAE,OAAO,I,CAEjC,OAAON,CAAQ,EAGjB,MAAMQ,EAAeR,IACnB,MAAMS,EAAMpB,IAAaqB,IAAIV,GAC7B,GAAIS,EAAK,CACP,OAAOA,C,CAGT,OAAOE,EAAa,OAAOX,QAAe,EAGrC,MAAMY,EAAUC,IACrB,GAAIV,EAAMU,GAAM,CACdA,EAAMA,EAAIR,OAEV,GAAIH,EAAMW,GAAM,CACd,OAAOA,C,EAIX,OAAO,IAAI,E,MAGAC,EAAUC,IACrB,IAAIN,EAAMV,EAAQgB,EAAQtB,KAAMsB,EAAQd,MACxC,GAAIQ,EAAK,CACP,OAAOD,EAAYC,E,CAGrB,GAAIM,EAAQd,KAAM,CAChBQ,EAAMG,EAAOG,EAAQd,MAErB,GAAGQ,EAAK,CACN,OAAOA,C,EAIX,OAAO,IAAI,EAIN,MAAMP,EAASc,GAAgBA,EAAIC,OAAS,GAAK,UAAUC,KAAKF,G,MAC1Db,EAASgB,UAAmCA,IAAQ,SAC1D,MAAMf,EAAWe,GAAgBA,EAAIC,c,MAY9BC,EAAoB,CAACC,EAAiBC,EAAuB,MACzE,MAAMC,EAAwC,GAE9CD,EAAW/B,SAAQiC,IACjB,GAAIH,EAAGI,aAAaD,GAAO,CACzB,MAAME,EAAQL,EAAGM,aAAaH,GAC9B,GAAIE,IAAU,KAAM,CAClBH,EAAgBC,GAAQH,EAAGM,aAAaH,E,CAE1CH,EAAGO,gBAAgBJ,E,KAIvB,OAAOD,CAAe,S"}
@@ -1,2 +1,2 @@
1
- import{p as o,b as n}from"./p-a3383818.js";export{s as setNonce}from"./p-a3383818.js";const a=()=>{const s=import.meta.url;const n={};if(s!==""){n.resourcesUrl=new URL(".",s).href}return o(n)};a().then((o=>n([["p-91678731",[[1,"pds-icon",{color:[1],name:[513],size:[513],ariaLabel:[32],isVisible:[32],svgContent:[32]},null,{name:["loadIcon"]}]]]],o)));
1
+ import{p as o,b as n}from"./p-19d7058a.js";export{s as setNonce}from"./p-19d7058a.js";const a=()=>{const n=import.meta.url;const s={};if(n!==""){s.resourcesUrl=new URL(".",n).href}return o(s)};a().then((o=>n([["p-229b8f4e",[[1,"pds-icon",{color:[1],icon:[8],name:[513],size:[513],ariaLabel:[32],isVisible:[32],svgContent:[32]},null,{name:["loadIcon"],icon:["loadIcon"]}]]]],o)));
2
2
  //# sourceMappingURL=pds-icons.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","options","bootstrapLazy","color","name","size","ariaLabel","isVisible","svgContent"],"sources":["node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.4.0 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nimport { consoleDevInfo, doc, promiseResolve, H } from '@stencil/core';\nconst patchBrowser = () => {\n // NOTE!! This fn cannot use async/await!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n if (BUILD.cloneNodeFix) {\n // opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n if (BUILD.profile && !performance.mark) {\n // not all browsers support performance.mark/measure (Safari 10)\n // because the mark/measure APIs are designed to write entries to a buffer in the browser that does not exist,\n // simply stub the implementations out.\n // TODO(STENCIL-323): Remove this patch when support for older browsers is removed (breaking)\n // @ts-ignore\n performance.mark = performance.measure = () => {\n /*noop*/\n };\n performance.getEntriesByName = () => [];\n }\n // @ts-ignore\n const scriptElm = BUILD.scriptDataOpts\n ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\\/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) ||\n 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};\nconst 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 // Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport { patchBrowser };\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(options => {\n globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"mappings":"sFAKA,MAAMA,EAAe,KAyBjB,MAAMC,cAAyBC,IAC/B,MAAMC,EAAqE,GAC3E,GAAIF,IAAe,GAAI,CACnBE,EAAKC,aAAe,IAAIC,IAAI,IAAKJ,GAAYK,IACrD,CACI,OAAOC,EAAeJ,EAAK,EC/B/BH,IAAeQ,MAAKC,GAEXC,EAAc,8BAA8B,CAAAC,MAAS,IAAAC,KAAA,MAAAC,KAAA,MAAAC,UAAA,KAAAC,UAAA,KAAAC,WAAA,YAAAJ,KAAA,kBAAAH"}
1
+ {"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","options","bootstrapLazy","color","icon","name","size","ariaLabel","isVisible","svgContent"],"sources":["node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.8.1 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nimport { consoleDevInfo, doc, promiseResolve, H } from '@stencil/core';\nconst patchBrowser = () => {\n // NOTE!! This fn cannot use async/await!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n if (BUILD.cloneNodeFix) {\n // opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts\n ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\\/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) ||\n 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};\nconst 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 // Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport { patchBrowser };\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(options => {\n globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"mappings":"sFAKA,MAAMA,EAAe,KAajB,MAAMC,cAAyBC,IAC/B,MAAMC,EAAqE,GAC3E,GAAIF,IAAe,GAAI,CACnBE,EAAKC,aAAe,IAAIC,IAAI,IAAKJ,GAAYK,IACrD,CACI,OAAOC,EAAeJ,EAAK,ECnB/BH,IAAeQ,MAAKC,GAEXC,EAAc,8BAA8B,CAAAC,MAAS,IAAAC,KAAA,IAAAC,KAAA,MAAAC,KAAA,MAAAC,UAAA,KAAAC,UAAA,KAAAC,WAAA,YAAAJ,KAAA,aAAAD,KAAA,kBAAAH"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pds-icons",
3
- "version": "3.2.0",
3
+ "version": "3.3.0-rc.0",
4
4
  "icons": [
5
5
  {
6
6
  "name": "access-key",
@@ -1,4 +1,4 @@
1
- <svg data-pdsicons="3.2.0" style="display:none">
1
+ <svg data-pdsicons="3.3.0-rc.0" style="display:none">
2
2
  <style>
3
3
  .pdsicon {
4
4
  fill: currentColor;
@@ -1,37 +1,43 @@
1
1
  export declare class PdsIcon {
2
- private io?;
3
- private inheritedAttributes;
4
- el: HTMLPdsIconElement;
5
- private ariaLabel?;
6
- private isVisible;
7
- private svgContent?;
8
- /**
9
- *
10
- * The color of the icon
11
- *
12
- */
13
- color?: string;
14
- /**
15
- * The name of the icon to use from
16
- * the built-in set.
17
- */
18
- name?: string;
19
- /**
20
- * The size of the icon. This can be
21
- * 'small', 'regular', 'medium', large, or a
22
- * custom value (40px, 1rem, etc)
23
- *
24
- */
25
- size?: 'small' | 'regular' | 'medium' | 'large' | 'auto' | string;
26
- private iconSize;
27
- componentWillLoad(): void;
28
- connectedCallback(): void;
29
- disconnectedCallback(): void;
30
- loadIcon(): void;
31
- render(): any;
32
- /*****
33
- * Private Methods
34
- ****/
35
- private waitUntilVisible;
36
- private hasAriaHidden;
2
+ private io?;
3
+ private inheritedAttributes;
4
+ el: HTMLPdsIconElement;
5
+ private ariaLabel?;
6
+ private isVisible;
7
+ private svgContent?;
8
+ /**
9
+ *
10
+ * The color of the icon
11
+ *
12
+ */
13
+ color?: string;
14
+ /**
15
+ * This a combination of both `name` and `src`. If a `src` url is detected
16
+ * it will set the `src` property. Otherwise it assumes it's a built-in named
17
+ * SVG and set the `name` property.
18
+ */
19
+ icon?: any;
20
+ /**
21
+ * The name of the icon to use from
22
+ * the built-in set.
23
+ */
24
+ name?: string;
25
+ /**
26
+ * The size of the icon. This can be
27
+ * 'small', 'regular', 'medium', large, or a
28
+ * custom value (40px, 1rem, etc)
29
+ *
30
+ */
31
+ size?: 'small' | 'regular' | 'medium' | 'large' | 'auto' | string;
32
+ private iconSize;
33
+ componentWillLoad(): void;
34
+ connectedCallback(): void;
35
+ disconnectedCallback(): void;
36
+ loadIcon(): void;
37
+ render(): any;
38
+ /*****
39
+ * Private Methods
40
+ ****/
41
+ private waitUntilVisible;
42
+ private hasAriaHidden;
37
43
  }
@@ -1,11 +1,11 @@
1
1
  import { PdsIcon } from './pds-icon';
2
2
  export declare const addIcons: (icons: {
3
- [name: string]: string;
3
+ [name: string]: string;
4
4
  }) => void;
5
5
  export declare const getIconMap: () => Map<string, string>;
6
- export declare const getName: (iconName: string | undefined) => string;
6
+ export declare const getName: (iconName: string | undefined, icon: string | undefined) => string;
7
7
  export declare const getSrc: (src: string | undefined) => string;
8
- export declare const getUrl: (icon: PdsIcon) => string;
8
+ export declare const getUrl: (pdsIcon: PdsIcon) => string;
9
9
  export declare const isSrc: (str: string) => boolean;
10
10
  export declare const isStr: (val: any) => val is string;
11
11
  export declare const toLower: (val: string) => string;
@@ -20,5 +20,5 @@ export declare const toLower: (val: string) => string;
20
20
  * does not trigger a re-render.
21
21
  */
22
22
  export declare const inheritAttributes: (el: HTMLElement, attributes?: string[]) => {
23
- [k: string]: any;
23
+ [k: string]: any;
24
24
  };
@@ -11,6 +11,10 @@ export namespace Components {
11
11
  * The color of the icon
12
12
  */
13
13
  "color"?: string;
14
+ /**
15
+ * This a combination of both `name` and `src`. If a `src` url is detected it will set the `src` property. Otherwise it assumes it's a built-in named SVG and set the `name` property.
16
+ */
17
+ "icon"?: any;
14
18
  /**
15
19
  * The name of the icon to use from the built-in set.
16
20
  */
@@ -43,6 +47,10 @@ declare namespace LocalJSX {
43
47
  * The color of the icon
44
48
  */
45
49
  "color"?: string;
50
+ /**
51
+ * This a combination of both `name` and `src`. If a `src` url is detected it will set the `src` property. Otherwise it assumes it's a built-in named SVG and set the `name` property.
52
+ */
53
+ "icon"?: any;
46
54
  /**
47
55
  * The name of the icon to use from the built-in set.
48
56
  */
@@ -3,6 +3,16 @@ export interface ComponentDecorator {
3
3
  (opts?: ComponentOptions): ClassDecorator;
4
4
  }
5
5
  export interface ComponentOptions {
6
+ /**
7
+ * When set to `true` this component will be form-associated. See
8
+ * https://stenciljs.com/docs/next/form-associated documentation on how to
9
+ * build form-associated Stencil components that integrate into forms like
10
+ * native browser elements such as `<input>` and `<textarea>`.
11
+ *
12
+ * The {@link AttachInternals} decorator allows for access to the
13
+ * `ElementInternals` object to modify the associated form.
14
+ */
15
+ formAssociated?: boolean;
6
16
  /**
7
17
  * Tag name of the web component. Ideally, the tag name must be globally unique,
8
18
  * so it's recommended to choose an unique prefix for all your components within the same collection.
@@ -107,6 +117,9 @@ export interface EventOptions {
107
117
  */
108
118
  composed?: boolean;
109
119
  }
120
+ export interface AttachInternalsDecorator {
121
+ (): PropertyDecorator;
122
+ }
110
123
  export interface ListenDecorator {
111
124
  (eventName: string, opts?: ListenOptions): CustomMethodDecorator<any>;
112
125
  }
@@ -175,6 +188,12 @@ export declare const Element: ElementDecorator;
175
188
  * https://stenciljs.com/docs/events
176
189
  */
177
190
  export declare const Event: EventDecorator;
191
+ /**
192
+ * If the `formAssociated` option is set in options passed to the
193
+ * `@Component()` decorator then this decorator may be used to get access to the
194
+ * `ElementInternals` instance associated with the component.
195
+ */
196
+ export declare const AttachInternals: AttachInternalsDecorator;
178
197
  /**
179
198
  * The `Listen()` decorator is for listening DOM events, including the ones
180
199
  * dispatched from `@Events()`.
@@ -791,6 +810,9 @@ export declare namespace JSXBase {
791
810
  name?: string;
792
811
  type?: string;
793
812
  value?: string | string[] | number;
813
+ popoverTargetAction?: string;
814
+ popoverTargetElement?: Element | null;
815
+ popoverTarget?: string;
794
816
  }
795
817
  interface CanvasHTMLAttributes<T> extends HTMLAttributes<T> {
796
818
  height?: number | string;
@@ -952,6 +974,9 @@ export declare namespace JSXBase {
952
974
  webkitdirectory?: boolean;
953
975
  webkitEntries?: any;
954
976
  width?: number | string;
977
+ popoverTargetAction?: string;
978
+ popoverTargetElement?: Element | null;
979
+ popoverTarget?: string;
955
980
  }
956
981
  interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> {
957
982
  autoFocus?: boolean;
@@ -1115,11 +1140,13 @@ export declare namespace JSXBase {
1115
1140
  autocomplete?: string;
1116
1141
  }
1117
1142
  interface SourceHTMLAttributes<T> extends HTMLAttributes<T> {
1143
+ height?: number;
1118
1144
  media?: string;
1119
1145
  sizes?: string;
1120
1146
  src?: string;
1121
1147
  srcSet?: string;
1122
1148
  type?: string;
1149
+ width?: number;
1123
1150
  }
1124
1151
  interface StyleHTMLAttributes<T> extends HTMLAttributes<T> {
1125
1152
  media?: string;
@@ -1202,6 +1229,7 @@ export declare namespace JSXBase {
1202
1229
  draggable?: boolean;
1203
1230
  hidden?: boolean;
1204
1231
  id?: string;
1232
+ inert?: boolean;
1205
1233
  lang?: string;
1206
1234
  spellcheck?: 'true' | 'false' | any;
1207
1235
  style?: {
@@ -1210,6 +1238,7 @@ export declare namespace JSXBase {
1210
1238
  tabIndex?: number;
1211
1239
  tabindex?: number | string;
1212
1240
  title?: string;
1241
+ popover?: string | null;
1213
1242
  inputMode?: string;
1214
1243
  inputmode?: string;
1215
1244
  enterKeyHint?: string;
package/icons/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- /* pds-icons v3.2.0, Types */
1
+ /* pds-icons v3.3.0-rc.0, Types */
2
2
 
3
3
  export declare var accessKey: string
4
4
  export declare var add: string
package/icons/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /* pds-icons v3.2.0, CommonJs */
1
+ /* pds-icons v3.3.0-rc.0, CommonJs */
2
2
 
3
3
  exports.accessKey = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='pdsicon'><path fill-rule='evenodd' d='m14.193 2.75 1.571-1.572c.315-.314.315-.733 0-.942-.314-.315-.733-.315-.942 0L12.727 2.33l-2.095 2.095-2.933 2.828c-1.886-1.467-4.609-1.257-6.285.419-1.885 1.885-1.885 5.027 0 6.913 1.886 1.885 5.028 1.885 6.913 0a4.817 4.817 0 0 0 .42-6.39l2.409-2.409 1.57 1.571c.315.315.734.315.943 0l2.095-2.095c.315-.314.315-.733 0-.942l-1.57-1.571ZM7.28 13.643a3.477 3.477 0 0 1-4.923 0 3.477 3.477 0 0 1 0-4.923 3.477 3.477 0 0 1 4.923 0 3.477 3.477 0 0 1 0 4.923Zm5.97-7.646-1.152-1.152 1.152-1.153 1.153 1.153-1.153 1.152Z'/></svg>"
4
4
  exports.add = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='pdsicon'><path fill-rule='evenodd' d='M8 2a.628.628 0 0 0-.628.628v4.744H2.628a.628.628 0 0 0 0 1.256h4.744v4.744a.628.628 0 1 0 1.256 0V8.628h4.744a.628.628 0 1 0 0-1.256H8.628V2.628A.628.628 0 0 0 8 2Z'/></svg>"
package/icons/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /* pds-icons v3.2.0, ES Modules */
1
+ /* pds-icons v3.3.0-rc.0, ES Modules */
2
2
 
3
3
  export const accessKey = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='pdsicon'><path fill-rule='evenodd' d='m14.193 2.75 1.571-1.572c.315-.314.315-.733 0-.942-.314-.315-.733-.315-.942 0L12.727 2.33l-2.095 2.095-2.933 2.828c-1.886-1.467-4.609-1.257-6.285.419-1.885 1.885-1.885 5.027 0 6.913 1.886 1.885 5.028 1.885 6.913 0a4.817 4.817 0 0 0 .42-6.39l2.409-2.409 1.57 1.571c.315.315.734.315.943 0l2.095-2.095c.315-.314.315-.733 0-.942l-1.57-1.571ZM7.28 13.643a3.477 3.477 0 0 1-4.923 0 3.477 3.477 0 0 1 0-4.923 3.477 3.477 0 0 1 4.923 0 3.477 3.477 0 0 1 0 4.923Zm5.97-7.646-1.152-1.152 1.152-1.153 1.153 1.153-1.153 1.152Z'/></svg>"
4
4
  export const add = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='pdsicon'><path fill-rule='evenodd' d='M8 2a.628.628 0 0 0-.628.628v4.744H2.628a.628.628 0 0 0 0 1.256h4.744v4.744a.628.628 0 1 0 1.256 0V8.628h4.744a.628.628 0 1 0 0-1.256H8.628V2.628A.628.628 0 0 0 8 2Z'/></svg>"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ju-skinner/icons",
3
- "version": "3.2.0",
3
+ "version": "3.3.0-rc.0",
4
4
  "module": "index.mjs",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pine-ds/icons",
3
- "version": "3.2.0",
3
+ "version": "3.3.0-rc.0",
4
4
  "license": "MIT",
5
5
  "description": "Pine Icon Library",
6
6
  "author": " Kajabi Design System Services",
@@ -59,14 +59,14 @@
59
59
  "icons/"
60
60
  ],
61
61
  "dependencies": {
62
- "@stencil/core": "^4.0.2"
62
+ "@stencil/core": "^4.8.1"
63
63
  },
64
64
  "devDependencies": {
65
65
  "@commitlint/cli": "^17.7.2",
66
66
  "@commitlint/config-conventional": "^17.7.0",
67
67
  "@stencil/sass": "^2.0.0",
68
68
  "@types/fs-extra": "^9.0.13",
69
- "@types/jest": "^27.0.3",
69
+ "@types/jest": "^29.5.11",
70
70
  "@types/mkdirp": "^1.0.2",
71
71
  "@types/svgo": "^2.6.4",
72
72
  "@typescript-eslint/eslint-plugin": "^6.7.4",
@@ -81,15 +81,15 @@
81
81
  "eslint-plugin-storybook": "^0.6.14",
82
82
  "fs-extra": "^10.1.0",
83
83
  "husky": "^8.0.3",
84
- "jest": "^27.4.5",
85
- "jest-cli": "^27.4.5",
84
+ "jest": "^29.7.0",
85
+ "jest-cli": "^29.7.0",
86
86
  "lerna": "^7.3.0",
87
87
  "lint-staged": "^14.0.1",
88
88
  "mkdirp": "^1.0.4",
89
89
  "npm-run-all": "^4.1.5",
90
90
  "nx": "16.10.0",
91
91
  "prettier": "^2.7.1",
92
- "puppeteer": "^10.0.0",
92
+ "puppeteer": "^21.6.0",
93
93
  "run-func": "^3.0.0",
94
94
  "simple-git": "^3.16.0",
95
95
  "svgo": "^3.0.0",