@infineon/infineon-design-system-stencil 35.0.0--canary.1896.f36a40bc0d982c4500e7faefcf706a95e2eb4507.0 → 35.0.0--canary.1896.a0fde65a56b2511818a95f80cc4c83352aa3cfc3.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 (97) hide show
  1. package/dist/cjs/ifx-icon.cjs.entry.js +3 -8
  2. package/dist/cjs/ifx-icon.cjs.entry.js.map +1 -1
  3. package/dist/cjs/ifx-overview-table.cjs.entry.js +1 -1
  4. package/dist/cjs/ifx-overview-table.cjs.entry.js.map +1 -1
  5. package/dist/collection/components/icon/infineonIconStencil.js +3 -8
  6. package/dist/collection/components/icon/infineonIconStencil.js.map +1 -1
  7. package/dist/collection/components/modal/modal.stories.js +1 -1
  8. package/dist/collection/components/modal/modal.stories.js.map +1 -1
  9. package/dist/collection/components/overview-table/overview-table.js +1 -1
  10. package/dist/collection/components/overview-table/overview-table.js.map +1 -1
  11. package/dist/components/ifx-accordion-item.js +1 -1
  12. package/dist/components/ifx-alert.js +1 -1
  13. package/dist/components/ifx-breadcrumb-item-label.js +1 -1
  14. package/dist/components/ifx-checkbox-group.js +1 -1
  15. package/dist/components/ifx-checkbox.js +1 -1
  16. package/dist/components/ifx-chip-item.js +1 -1
  17. package/dist/components/ifx-chip.js +1 -1
  18. package/dist/components/ifx-date-picker.js +1 -1
  19. package/dist/components/ifx-dropdown-item.js +1 -1
  20. package/dist/components/ifx-dropdown-trigger-button.js +1 -1
  21. package/dist/components/ifx-faq.js +2 -2
  22. package/dist/components/ifx-file-upload.js +2 -2
  23. package/dist/components/ifx-filter-accordion.js +1 -1
  24. package/dist/components/ifx-filter-bar.js +1 -1
  25. package/dist/components/ifx-filter-search.js +2 -2
  26. package/dist/components/ifx-icon-button.js +1 -1
  27. package/dist/components/ifx-icon.js +1 -1
  28. package/dist/components/ifx-icons-preview.js +3 -3
  29. package/dist/components/ifx-list-entry.js +2 -2
  30. package/dist/components/ifx-list.js +1 -1
  31. package/dist/components/ifx-modal.js +2 -2
  32. package/dist/components/ifx-multiselect.js +1 -1
  33. package/dist/components/ifx-navbar-item.js +1 -1
  34. package/dist/components/ifx-navbar.js +1 -1
  35. package/dist/components/ifx-notification.js +1 -1
  36. package/dist/components/ifx-overview-table.js +2 -2
  37. package/dist/components/ifx-overview-table.js.map +1 -1
  38. package/dist/components/ifx-pagination.js +1 -1
  39. package/dist/components/ifx-radio-button-group.js +1 -1
  40. package/dist/components/ifx-search-bar.js +2 -2
  41. package/dist/components/ifx-search-field.js +1 -1
  42. package/dist/components/ifx-segment.js +1 -1
  43. package/dist/components/ifx-segmented-control.js +1 -1
  44. package/dist/components/ifx-select.js +1 -1
  45. package/dist/components/ifx-set-filter.js +5 -5
  46. package/dist/components/ifx-sidebar-item.js +1 -1
  47. package/dist/components/ifx-slider.js +1 -1
  48. package/dist/components/ifx-step.js +1 -1
  49. package/dist/components/ifx-table.js +7 -7
  50. package/dist/components/ifx-tabs.js +1 -1
  51. package/dist/components/ifx-tag.js +1 -1
  52. package/dist/components/ifx-template.js +1 -1
  53. package/dist/components/ifx-templates-ui.js +5 -5
  54. package/dist/components/ifx-text-field.js +1 -1
  55. package/dist/components/ifx-tooltip.js +1 -1
  56. package/dist/components/ifx-tree-view-item.js +2 -2
  57. package/dist/components/{p-47544912.js → p-046895f8.js} +2 -2
  58. package/dist/components/{p-47544912.js.map → p-046895f8.js.map} +1 -1
  59. package/dist/components/{p-bde5bd73.js → p-078e9c76.js} +2 -2
  60. package/dist/components/{p-bde5bd73.js.map → p-078e9c76.js.map} +1 -1
  61. package/dist/components/{p-468cd13e.js → p-0f7cb0c7.js} +2 -2
  62. package/dist/components/{p-468cd13e.js.map → p-0f7cb0c7.js.map} +1 -1
  63. package/dist/components/{p-508bb93f.js → p-367b840b.js} +3 -3
  64. package/dist/components/{p-508bb93f.js.map → p-367b840b.js.map} +1 -1
  65. package/dist/components/{p-d4b96419.js → p-4a26513a.js} +2 -2
  66. package/dist/components/{p-d4b96419.js.map → p-4a26513a.js.map} +1 -1
  67. package/dist/components/{p-1233e88f.js → p-6085f742.js} +4 -4
  68. package/dist/components/{p-1233e88f.js.map → p-6085f742.js.map} +1 -1
  69. package/dist/components/{p-bceac2ab.js → p-658f16f9.js} +2 -2
  70. package/dist/components/{p-bceac2ab.js.map → p-658f16f9.js.map} +1 -1
  71. package/dist/components/{p-8fe694c7.js → p-a7202d3b.js} +2 -2
  72. package/dist/components/{p-8fe694c7.js.map → p-a7202d3b.js.map} +1 -1
  73. package/dist/components/{p-99a6b7fb.js → p-b4bfd8c5.js} +3 -3
  74. package/dist/components/{p-99a6b7fb.js.map → p-b4bfd8c5.js.map} +1 -1
  75. package/dist/components/{p-814c54f0.js → p-c7ea7b19.js} +3 -3
  76. package/dist/components/{p-814c54f0.js.map → p-c7ea7b19.js.map} +1 -1
  77. package/dist/components/{p-bacfbd70.js → p-d3594393.js} +2 -2
  78. package/dist/components/{p-bacfbd70.js.map → p-d3594393.js.map} +1 -1
  79. package/dist/components/{p-3f3bff46.js → p-d829ac98.js} +2 -2
  80. package/dist/components/{p-3f3bff46.js.map → p-d829ac98.js.map} +1 -1
  81. package/dist/components/{p-e25cf775.js → p-d8afbc9e.js} +2 -2
  82. package/dist/components/{p-e25cf775.js.map → p-d8afbc9e.js.map} +1 -1
  83. package/dist/components/{p-67213226.js → p-eb6ca49a.js} +4 -9
  84. package/dist/components/p-eb6ca49a.js.map +1 -0
  85. package/dist/esm/ifx-icon.entry.js +3 -8
  86. package/dist/esm/ifx-icon.entry.js.map +1 -1
  87. package/dist/esm/ifx-overview-table.entry.js +1 -1
  88. package/dist/esm/ifx-overview-table.entry.js.map +1 -1
  89. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  90. package/dist/infineon-design-system-stencil/p-aef44361.entry.js +2 -0
  91. package/dist/infineon-design-system-stencil/p-aef44361.entry.js.map +1 -0
  92. package/dist/infineon-design-system-stencil/{p-813f56d7.entry.js → p-d63456d5.entry.js} +2 -2
  93. package/dist/infineon-design-system-stencil/{p-813f56d7.entry.js.map → p-d63456d5.entry.js.map} +1 -1
  94. package/package.json +1 -1
  95. package/dist/components/p-67213226.js.map +0 -1
  96. package/dist/infineon-design-system-stencil/p-84ec2ff5.entry.js +0 -2
  97. package/dist/infineon-design-system-stencil/p-84ec2ff5.entry.js.map +0 -1
@@ -45,16 +45,11 @@ const InfineonIconStencil = class {
45
45
  return svgPaths;
46
46
  }
47
47
  getSVG(svgPath) {
48
- const htmlPath = this.convertStringToHtml(this.ifxIcon);
49
- const width = htmlPath.getAttribute('width');
50
- const height = htmlPath.getAttribute('height');
51
- const fill = htmlPath.getAttribute('fill');
52
- const viewBox = htmlPath.getAttribute('viewBox');
53
- return index.h("svg", { class: "inline-svg", width: width, height: height, xmlns: "http://www.w3.org/2000/svg", fill: fill, viewBox: viewBox }, ...svgPath);
48
+ return index.h("svg", { class: "inline-svg", width: this.ifxIcon.width, height: this.ifxIcon.height, xmlns: "http://www.w3.org/2000/svg", fill: this.ifxIcon.fill, viewBox: this.ifxIcon.viewBox }, ...svgPath);
54
49
  }
55
50
  constructIcon() {
56
51
  if (this.ifxIcon) {
57
- const htmlPath = this.convertStringToHtml(this.ifxIcon);
52
+ const htmlPath = this.convertStringToHtml(this.ifxIcon.svgContent);
58
53
  const svgPath = this.convertPathsToVnode(htmlPath);
59
54
  const SVG = this.getSVG(svgPath);
60
55
  return SVG;
@@ -73,7 +68,7 @@ const InfineonIconStencil = class {
73
68
  this.ifxIcon = icons.getIcon(removeHyphen(this.icon));
74
69
  }
75
70
  render() {
76
- return (index.h(index.Host, { key: 'c1a8037e96f84eb87d1e111039c34885b7452d85' }, this.constructIcon()));
71
+ return (index.h(index.Host, { key: '0bea5330247eadec614b8cb15f2918ae4af32b1a' }, this.constructIcon()));
77
72
  }
78
73
  };
79
74
  InfineonIconStencil.style = IfxIconStyle0;
@@ -1 +1 @@
1
- {"file":"ifx-icon.entry.cjs.js","mappings":"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","names":["h","getIcon","Host"],"sources":["src/components/icon/infineonIconStencil.scss?tag=ifx-icon","src/components/icon/infineonIconStencil.tsx"],"sourcesContent":["ifx-icon {\n display: inline-flex;\n justify-content: center;\n\n &:empty {\n display: none;\n }\n}","import { Component, Prop, h, Host, Event, EventEmitter } from '@stencil/core';\nimport { getIcon } from '@infineon/infineon-icons'\n \n\n\n@Component({\n tag: 'ifx-icon',\n styleUrl: './infineonIconStencil.scss'\n})\n\nexport class InfineonIconStencil {\n @Prop({ mutable: true }) icon: string = \"\"\n @Prop({ mutable: true }) ifxIcon: any;\n @Event() consoleError: EventEmitter<boolean>;\n \n convertStringToHtml(htmlString) { \n const div = document.createElement('div')\n div.innerHTML = htmlString\n return div.firstChild\n }\n\n convertHtmlToObject(htmlElement) { \n \n let pathToObject = Array\n .from(htmlElement.attributes, ({ name, value }) => ({ name, value }))\n .reduce((acc, current) => {\n acc[current.name] = current.value\n return acc\n }, {})\n\n return pathToObject\n }\n\n convertPathsToVnode(htmlPath) { \n let svgPaths = []\n const parentPath = this.convertHtmlToObject(htmlPath);\n const parentPathToVnode = h(\"path\", parentPath);\n svgPaths.push(parentPathToVnode)\n if(htmlPath.firstChild) { \n const paths = htmlPath.querySelectorAll('path');\n const pathLength = htmlPath.querySelectorAll('path').length;\n for(let i = 0; i < pathLength; i++) { \n let pathToObject = this.convertHtmlToObject(paths[i])\n let objToVnode = h(\"path\", pathToObject)\n svgPaths.push(objToVnode)\n } \n }\n return svgPaths\n }\n\n getSVG(svgPath) {\n const htmlPath = this.convertStringToHtml(this.ifxIcon) as SVGElement;\n const width = htmlPath.getAttribute('width');\n const height = htmlPath.getAttribute('height');\n const fill = htmlPath.getAttribute('fill');\n const viewBox = htmlPath.getAttribute('viewBox');\n \n return <svg class=\"inline-svg\" width={width} height={height} xmlns=\"http://www.w3.org/2000/svg\" fill={fill} viewBox={viewBox}>{...svgPath}</svg>\n }\n\n constructIcon() {\n if(this.ifxIcon) {\n const htmlPath = this.convertStringToHtml(this.ifxIcon)\n const svgPath = this.convertPathsToVnode(htmlPath)\n const SVG = this.getSVG(svgPath)\n return SVG;\n } else if(this.icon !== \"\") {\n console.error('Icon not found!')\n this.consoleError.emit(true)\n return;\n } else { \n return;\n }\n }\n\n componentWillLoad() {\n const removeHyphen = (str) => str.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (_m, chr) => chr);\n this.ifxIcon = getIcon(removeHyphen(this.icon));\n }\n\n render() {\n return (\n <Host>\n {this.constructIcon()}\n </Host>\n );\n }\n}"],"version":3}
1
+ {"file":"ifx-icon.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,sBAAsB,GAAG,kFAAkF,CAAC;AAClH,sBAAe,sBAAsB;;MCSxB,mBAAmB;IALhC;;;QAM2B,SAAI,GAAW,EAAE,CAAA;KAqE3C;IAjEC,mBAAmB,CAAC,UAAU;QAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACzC,GAAG,CAAC,SAAS,GAAG,UAAU,CAAA;QAC1B,OAAO,GAAG,CAAC,UAAU,CAAA;KACtB;IAED,mBAAmB,CAAC,WAAW;QAC7B,IAAI,YAAY,GAAG,KAAK;aACrB,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;aACpE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO;YACnB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAA;YACjC,OAAO,GAAG,CAAA;SACX,EAAE,EAAE,CAAC,CAAA;QAER,OAAO,YAAY,CAAA;KACpB;IAED,mBAAmB,CAAC,QAAQ;QAC1B,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,iBAAiB,GAAGA,OAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAChC,IAAG,QAAQ,CAAC,UAAU,EAAE;YACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;YAC5D,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;gBAClC,IAAI,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBACrD,IAAI,UAAU,GAAGA,OAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;gBACxC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;aAC1B;SACF;QACD,OAAO,QAAQ,CAAA;KAChB;IAEA,MAAM,CAAC,OAAO;QACb,OAAOA,iBAAK,KAAK,EAAC,YAAY,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAC,4BAA4B,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,OAAM,OAAO,CAAO,CAAA;KACrM;IAED,aAAa;QACX,IAAG,IAAI,CAAC,OAAO,EAAE;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YAClE,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAChC,OAAO,GAAG,CAAC;SACZ;aAAM,IAAG,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;YAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC5B,OAAO;SACR;aAAO;YACN,OAAO;SACR;KACF;IAED,iBAAiB;QACf,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;QAC/F,IAAI,CAAC,OAAO,GAAGC,aAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACjD;IAED,MAAM;QACJ,QACED,QAACE,UAAI,uDACJ,IAAI,CAAC,aAAa,EAAE,CACd,EACP;KACH;;;;;;","names":["h","getIcon","Host"],"sources":["src/components/icon/infineonIconStencil.scss?tag=ifx-icon","src/components/icon/infineonIconStencil.tsx"],"sourcesContent":["ifx-icon {\n display: inline-flex;\n justify-content: center;\n\n &:empty {\n display: none;\n }\n}","import { Component, Prop, h, Host, Event, EventEmitter } from '@stencil/core';\nimport { getIcon } from '@infineon/infineon-icons'\n \n\n\n@Component({\n tag: 'ifx-icon',\n styleUrl: './infineonIconStencil.scss'\n})\n\nexport class InfineonIconStencil {\n @Prop({ mutable: true }) icon: string = \"\"\n @Prop({ mutable: true }) ifxIcon: any;\n @Event() consoleError: EventEmitter<boolean>;\n \n convertStringToHtml(htmlString) { \n const div = document.createElement('div')\n div.innerHTML = htmlString\n return div.firstChild\n }\n\n convertHtmlToObject(htmlElement) { \n let pathToObject = Array\n .from(htmlElement.attributes, ({ name, value }) => ({ name, value }))\n .reduce((acc, current) => {\n acc[current.name] = current.value\n return acc\n }, {})\n\n return pathToObject\n }\n\n convertPathsToVnode(htmlPath) { \n let svgPaths = []\n const parentPath = this.convertHtmlToObject(htmlPath);\n const parentPathToVnode = h(\"path\", parentPath);\n svgPaths.push(parentPathToVnode)\n if(htmlPath.firstChild) { \n const paths = htmlPath.querySelectorAll('path');\n const pathLength = htmlPath.querySelectorAll('path').length;\n for(let i = 0; i < pathLength; i++) { \n let pathToObject = this.convertHtmlToObject(paths[i])\n let objToVnode = h(\"path\", pathToObject)\n svgPaths.push(objToVnode)\n } \n }\n return svgPaths\n }\n\n getSVG(svgPath) {\n return <svg class=\"inline-svg\" width={this.ifxIcon.width} height={this.ifxIcon.height} xmlns=\"http://www.w3.org/2000/svg\" fill={this.ifxIcon.fill} viewBox={this.ifxIcon.viewBox}>{...svgPath}</svg>\n }\n\n constructIcon() {\n if(this.ifxIcon) {\n const htmlPath = this.convertStringToHtml(this.ifxIcon.svgContent)\n const svgPath = this.convertPathsToVnode(htmlPath)\n const SVG = this.getSVG(svgPath)\n return SVG;\n } else if(this.icon !== \"\") {\n console.error('Icon not found!')\n this.consoleError.emit(true)\n return;\n } else { \n return;\n }\n }\n\n componentWillLoad() {\n const removeHyphen = (str) => str.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (_m, chr) => chr);\n this.ifxIcon = getIcon(removeHyphen(this.icon));\n }\n\n render() {\n return (\n <Host>\n {this.constructIcon()}\n </Host>\n );\n }\n}"],"version":3}