@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
@@ -35,16 +35,11 @@ export class InfineonIconStencil {
35
35
  return svgPaths;
36
36
  }
37
37
  getSVG(svgPath) {
38
- const htmlPath = this.convertStringToHtml(this.ifxIcon);
39
- const width = htmlPath.getAttribute('width');
40
- const height = htmlPath.getAttribute('height');
41
- const fill = htmlPath.getAttribute('fill');
42
- const viewBox = htmlPath.getAttribute('viewBox');
43
- return h("svg", { class: "inline-svg", width: width, height: height, xmlns: "http://www.w3.org/2000/svg", fill: fill, viewBox: viewBox }, ...svgPath);
38
+ return 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);
44
39
  }
45
40
  constructIcon() {
46
41
  if (this.ifxIcon) {
47
- const htmlPath = this.convertStringToHtml(this.ifxIcon);
42
+ const htmlPath = this.convertStringToHtml(this.ifxIcon.svgContent);
48
43
  const svgPath = this.convertPathsToVnode(htmlPath);
49
44
  const SVG = this.getSVG(svgPath);
50
45
  return SVG;
@@ -63,7 +58,7 @@ export class InfineonIconStencil {
63
58
  this.ifxIcon = getIcon(removeHyphen(this.icon));
64
59
  }
65
60
  render() {
66
- return (h(Host, { key: 'c1a8037e96f84eb87d1e111039c34885b7452d85' }, this.constructIcon()));
61
+ return (h(Host, { key: '0bea5330247eadec614b8cb15f2918ae4af32b1a' }, this.constructIcon()));
67
62
  }
68
63
  static get is() { return "ifx-icon"; }
69
64
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"infineonIconStencil.js","sourceRoot":"","sources":["../../../src/components/icon/infineonIconStencil.tsx"],"names":[],"mappings":"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","sourcesContent":["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}"]}
1
+ {"version":3,"file":"infineonIconStencil.js","sourceRoot":"","sources":["../../../src/components/icon/infineonIconStencil.tsx"],"names":[],"mappings":"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","sourcesContent":["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}"]}
@@ -204,7 +204,7 @@ export const Alert = Template.bind({});
204
204
  Alert.args = {
205
205
  caption: 'Alert-Brand Modal Title',
206
206
  closeOnOverlayClick: true,
207
- alertIcon: 'arrowdoen24',
207
+ alertIcon: 'arrowdoen16',
208
208
  size: 's',
209
209
  variant: 'alert-brand',
210
210
  cancelButtonLabel: 'Cancel',
@@ -1 +1 @@
1
- {"version":3,"file":"modal.stories.js","sourceRoot":"","sources":["../../../src/components/modal/modal.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,eAAe;IACb,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,WAAW;IACtB,sBAAsB;IAEtB,IAAI,EAAE;QACJ,MAAM,EAAE,KAAK;QACb,iBAAiB,EAAE,QAAQ;QAC3B,aAAa,EAAE,IAAI;KACpB;IACD,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,sBAAsB;YACnC,KAAK,EAAE;gBACL,QAAQ,EAAE,iBAAiB;aAC5B;SACF;QACD,MAAM,EAAE;YACN,OAAO,EAAE;gBACP,OAAO,EAAE,IAAI;aACd;YACD,WAAW,EAAE,6BAA6B;YAC1C,KAAK,EAAE;gBACL,QAAQ,EAAE,iBAAiB;gBAC3B,YAAY,EAAE;oBACZ,OAAO,EAAE,OAAO;iBACjB;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,wBAAwB;oBACjC,MAAM,EACJ,sQAAsQ;iBACzQ;aACF;SACF;QACD,mBAAmB,EAAE;YACnB,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,mDAAmD;YAChE,KAAK,EAAE;gBACL,QAAQ,EAAE,iBAAiB;gBAC3B,YAAY,EAAE;oBACZ,OAAO,EAAE,OAAO;iBACjB;aACF;SACF;QACD,eAAe,EAAE;YACf,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,kDAAkD;YAC/D,KAAK,EAAE;gBACL,QAAQ,EAAE,iBAAiB;gBAC3B,YAAY,EAAE;oBACZ,OAAO,EAAE,MAAM;iBAChB;aACF;SACF;QACD,SAAS,EAAE;YACT,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,WAAW,EAAE,0CAA0C;YACvD,KAAK,EAAE;gBACL,QAAQ,EAAE,iBAAiB;gBAC3B,IAAI,EAAE;oBACJ,OAAO,EAAE,QAAQ;iBAClB;aACF;SACF;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;YACxB,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC1B,WAAW,EAAE,oDAAoD;YACjE,KAAK,EAAE;gBACL,QAAQ,EAAE,iBAAiB;gBAC3B,YAAY,EAAE;oBACZ,OAAO,EAAE,GAAG;iBACb;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,WAAW;iBACrB;aACF;SACF;QACD,OAAO,EAAE;YACP,OAAO,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC;YACnD,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC1B,WAAW,EAAE,uBAAuB;YACpC,KAAK,EAAE;gBACL,QAAQ,EAAE,iBAAiB;gBAC3B,YAAY,EAAE;oBACZ,OAAO,EAAE,SAAS;iBACnB;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,sCAAsC;iBAChD;aACF;SACF;QACD,iBAAiB,EAAE;YACjB,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,8BAA8B;YAC3C,KAAK,EAAE;gBACL,QAAQ,EAAE,iBAAiB;gBAC3B,YAAY,EAAE;oBACZ,OAAO,EAAE,QAAQ;iBAClB;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,QAAQ;iBAClB;aACF;SACF;QACD,aAAa,EAAE;YACb,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,0BAA0B;YACvC,KAAK,EAAE;gBACL,QAAQ,EAAE,iBAAiB;gBAC3B,YAAY,EAAE;oBACZ,OAAO,EAAE,IAAI;iBACd;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,QAAQ;iBAClB;aACF;SACF;QAED,OAAO,EAAE;YACP,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,wCAAwC;YACrD,KAAK,EAAE;gBACL,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACJ,OAAO,EAAE,uBAAuB;oBAChC,MAAM,EACJ,yKAAyK;iBAC5K;aACF;SACF;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE,yCAAyC;YACtD,KAAK,EAAE;gBACL,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACJ,OAAO,EAAE,uBAAuB;oBAChC,MAAM,EACJ,6KAA6K;iBAChL;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,EAAE,EAAE;IACjI,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAClD,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACvC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAEvC,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAC;IAClE,KAAK,CAAC,YAAY,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IACzD,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAEhC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACxC,OAAO,CAAC,SAAS,GAAG;;GAEnB,CAAC;IACF,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAExC,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC1D,YAAY,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAClD,YAAY,CAAC,WAAW,GAAG,iBAAiB,CAAC;IAC7C,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QAC1C,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3D,aAAa,CAAC,WAAW,GAAG,aAAa,CAAC;IAC1C,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QAC3C,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAClC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACnC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAE3B,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC;IACvB,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;IACtC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACxC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,UAAU,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;QAC7C,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YAC1B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAErC,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,IAAI,GAAG;IACb,OAAO,EAAE,aAAa;IACtB,eAAe,EAAE,IAAI;IACrB,mBAAmB,EAAE,KAAK;IAC1B,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG;IACX,OAAO,EAAE,yBAAyB;IAClC,mBAAmB,EAAE,IAAI;IACzB,SAAS,EAAE,aAAa;IACxB,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,aAAa;IACtB,iBAAiB,EAAE,QAAQ;IAC3B,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,KAAK;CACvB,CAAC","sourcesContent":["import { action } from '@storybook/addon-actions';\nimport { icons } from '@infineon/infineon-icons';\n\nexport default {\n title: 'Components/Modal',\n component: 'ifx-modal',\n // tags: ['autodocs'],\n\n args: {\n opened: false,\n cancelButtonLabel: 'Cancel',\n okButtonLabel: 'OK',\n },\n argTypes: {\n caption: {\n control: 'text',\n description: 'Title for the modal.',\n table: {\n category: 'ifx-modal props',\n },\n },\n opened: {\n control: {\n disable: true,\n },\n description: 'Default state of the modal.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'false',\n },\n type: {\n summary: 'Example (in VanillaJs)',\n detail:\n \"const modal = document.getElementById('modal'); \\nconst openButton = document.getElementById('open'); \\n//add DOM event listeners (e.g. click and/or keypress)\\n\\nfunction openModal() { \\nmodal.opened=true;\\n\\nfunction closeModal() { \\nmodal.opened = false; \\n}\",\n },\n },\n },\n closeOnOverlayClick: {\n control: 'boolean',\n description: 'Close the modal when clicking outside the window.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'false',\n }\n }\n },\n showCloseButton: {\n control: 'boolean',\n description: \"Show or hide close button in the modal's header.\",\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'true',\n },\n },\n },\n alertIcon: {\n options: Object.keys(icons),\n control: { type: 'select' },\n description: 'Icon to be displayed in the alert modal.',\n table: {\n category: 'ifx-modal props',\n type: {\n summary: 'string',\n },\n },\n },\n size: {\n options: ['s', 'm', 'l'],\n control: { type: 'radio' },\n description: 'Usable only when screen width is more than 1024px.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 's',\n },\n type: {\n summary: 's | m | l',\n }\n }\n },\n variant: {\n options: ['default', 'alert-brand', 'alert-danger'],\n control: { type: 'radio' },\n description: 'Variant of the modal.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'default',\n },\n type: {\n summary: 'default | alert-brand | alert-danger',\n },\n },\n },\n cancelButtonLabel: {\n control: 'text',\n description: 'Label for the cancel button.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'Cancel',\n },\n type: {\n summary: 'string',\n },\n },\n },\n okButtonLabel: {\n control: 'text',\n description: 'Label for the OK button.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'OK',\n },\n type: {\n summary: 'string',\n },\n },\n },\n\n ifxOpen: {\n action: 'ifxOpen',\n description: 'Custom event emitted when modal opens.',\n table: {\n category: 'custom events',\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxOpen={handleChange}\\nVue:@ifxOpen=\"handleChange\"\\nAngular:(ifxOpen)=\"handleChange()\"\\nVanillaJs:.addEventListener(\"ifxOpen\", (event) => {//handle change});',\n },\n },\n },\n ifxClose: {\n action: 'ifxClose',\n description: 'Custom event emitted when modal closes.',\n table: {\n category: 'custom events',\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxClose={handleChange}\\nVue:@ifxClose=\"handleChange\"\\nAngular:(ifxClose)=\"handleChange()\"\\nVanillaJs:.addEventListener(\"ifxClose\", (event) => {//handle change});',\n },\n },\n },\n },\n};\n\nconst Template = ({ caption, showCloseButton, closeOnOverlayClick, variant, size, alertIcon, cancelButtonLabel, okButtonLabel }) => {\n const modal = document.createElement('ifx-modal');\n modal.setAttribute('caption', caption);\n modal.setAttribute('variant', variant);\n\n if (alertIcon) {\n modal.setAttribute('alert-icon', alertIcon);\n }\n modal.setAttribute('close-on-overlay-click', closeOnOverlayClick);\n modal.setAttribute('show-close-button', showCloseButton);\n modal.setAttribute('size', size)\n\n modal.addEventListener('ifxOpen', action('ifxOpen'));\n modal.addEventListener('ifxClose', action('ifxClose'));\n\n const content = document.createElement('div');\n content.setAttribute('slot', 'content');\n content.innerHTML = `\n <span>Modal content</span>\n `;\n modal.appendChild(content);\n const buttons = document.createElement('div');\n buttons.setAttribute('slot', 'buttons');\n\n const cancelButton = document.createElement('ifx-button');\n cancelButton.setAttribute('variant', 'secondary');\n cancelButton.textContent = cancelButtonLabel;\n cancelButton.addEventListener('click', () => {\n console.log('Button 1 clicked');\n });\n\n const primaryButton = document.createElement('ifx-button');\n primaryButton.textContent = okButtonLabel;\n primaryButton.addEventListener('click', () => {\n console.log('Button 2 clicked');\n });\n\n buttons.appendChild(cancelButton);\n buttons.appendChild(primaryButton);\n modal.appendChild(buttons);\n\n const openButton = document.createElement('ifx-button');\n openButton.id = 'open';\n openButton.textContent = 'Open Modal';\n openButton.addEventListener('click', () => {\n modal.opened = true;\n });\n openButton.addEventListener('keydown', event => {\n if (event.key === 'Enter') {\n modal.opened = true;\n }\n });\n\n const storyElement = document.createElement('div');\n storyElement.appendChild(modal);\n storyElement.appendChild(openButton);\n\n return storyElement;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n caption: 'Modal Title',\n showCloseButton: true,\n closeOnOverlayClick: false,\n size: 's',\n variant: 'default',\n};\n\nexport const Alert = Template.bind({});\nAlert.args = {\n caption: 'Alert-Brand Modal Title',\n closeOnOverlayClick: true,\n alertIcon: 'arrowdoen24',\n size: 's',\n variant: 'alert-brand',\n cancelButtonLabel: 'Cancel',\n okButtonLabel: 'OK',\n showCloseButton: false,\n};\n"]}
1
+ {"version":3,"file":"modal.stories.js","sourceRoot":"","sources":["../../../src/components/modal/modal.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { action } from '@storybook/addon-actions';\nimport { icons } from '@infineon/infineon-icons';\n\nexport default {\n title: 'Components/Modal',\n component: 'ifx-modal',\n // tags: ['autodocs'],\n\n args: {\n opened: false,\n cancelButtonLabel: 'Cancel',\n okButtonLabel: 'OK',\n },\n argTypes: {\n caption: {\n control: 'text',\n description: 'Title for the modal.',\n table: {\n category: 'ifx-modal props',\n },\n },\n opened: {\n control: {\n disable: true,\n },\n description: 'Default state of the modal.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'false',\n },\n type: {\n summary: 'Example (in VanillaJs)',\n detail:\n \"const modal = document.getElementById('modal'); \\nconst openButton = document.getElementById('open'); \\n//add DOM event listeners (e.g. click and/or keypress)\\n\\nfunction openModal() { \\nmodal.opened=true;\\n\\nfunction closeModal() { \\nmodal.opened = false; \\n}\",\n },\n },\n },\n closeOnOverlayClick: {\n control: 'boolean',\n description: 'Close the modal when clicking outside the window.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'false',\n }\n }\n },\n showCloseButton: {\n control: 'boolean',\n description: \"Show or hide close button in the modal's header.\",\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'true',\n },\n },\n },\n alertIcon: {\n options: Object.keys(icons),\n control: { type: 'select' },\n description: 'Icon to be displayed in the alert modal.',\n table: {\n category: 'ifx-modal props',\n type: {\n summary: 'string',\n },\n },\n },\n size: {\n options: ['s', 'm', 'l'],\n control: { type: 'radio' },\n description: 'Usable only when screen width is more than 1024px.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 's',\n },\n type: {\n summary: 's | m | l',\n }\n }\n },\n variant: {\n options: ['default', 'alert-brand', 'alert-danger'],\n control: { type: 'radio' },\n description: 'Variant of the modal.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'default',\n },\n type: {\n summary: 'default | alert-brand | alert-danger',\n },\n },\n },\n cancelButtonLabel: {\n control: 'text',\n description: 'Label for the cancel button.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'Cancel',\n },\n type: {\n summary: 'string',\n },\n },\n },\n okButtonLabel: {\n control: 'text',\n description: 'Label for the OK button.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'OK',\n },\n type: {\n summary: 'string',\n },\n },\n },\n\n ifxOpen: {\n action: 'ifxOpen',\n description: 'Custom event emitted when modal opens.',\n table: {\n category: 'custom events',\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxOpen={handleChange}\\nVue:@ifxOpen=\"handleChange\"\\nAngular:(ifxOpen)=\"handleChange()\"\\nVanillaJs:.addEventListener(\"ifxOpen\", (event) => {//handle change});',\n },\n },\n },\n ifxClose: {\n action: 'ifxClose',\n description: 'Custom event emitted when modal closes.',\n table: {\n category: 'custom events',\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxClose={handleChange}\\nVue:@ifxClose=\"handleChange\"\\nAngular:(ifxClose)=\"handleChange()\"\\nVanillaJs:.addEventListener(\"ifxClose\", (event) => {//handle change});',\n },\n },\n },\n },\n};\n\nconst Template = ({ caption, showCloseButton, closeOnOverlayClick, variant, size, alertIcon, cancelButtonLabel, okButtonLabel }) => {\n const modal = document.createElement('ifx-modal');\n modal.setAttribute('caption', caption);\n modal.setAttribute('variant', variant);\n\n if (alertIcon) {\n modal.setAttribute('alert-icon', alertIcon);\n }\n modal.setAttribute('close-on-overlay-click', closeOnOverlayClick);\n modal.setAttribute('show-close-button', showCloseButton);\n modal.setAttribute('size', size)\n\n modal.addEventListener('ifxOpen', action('ifxOpen'));\n modal.addEventListener('ifxClose', action('ifxClose'));\n\n const content = document.createElement('div');\n content.setAttribute('slot', 'content');\n content.innerHTML = `\n <span>Modal content</span>\n `;\n modal.appendChild(content);\n const buttons = document.createElement('div');\n buttons.setAttribute('slot', 'buttons');\n\n const cancelButton = document.createElement('ifx-button');\n cancelButton.setAttribute('variant', 'secondary');\n cancelButton.textContent = cancelButtonLabel;\n cancelButton.addEventListener('click', () => {\n console.log('Button 1 clicked');\n });\n\n const primaryButton = document.createElement('ifx-button');\n primaryButton.textContent = okButtonLabel;\n primaryButton.addEventListener('click', () => {\n console.log('Button 2 clicked');\n });\n\n buttons.appendChild(cancelButton);\n buttons.appendChild(primaryButton);\n modal.appendChild(buttons);\n\n const openButton = document.createElement('ifx-button');\n openButton.id = 'open';\n openButton.textContent = 'Open Modal';\n openButton.addEventListener('click', () => {\n modal.opened = true;\n });\n openButton.addEventListener('keydown', event => {\n if (event.key === 'Enter') {\n modal.opened = true;\n }\n });\n\n const storyElement = document.createElement('div');\n storyElement.appendChild(modal);\n storyElement.appendChild(openButton);\n\n return storyElement;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n caption: 'Modal Title',\n showCloseButton: true,\n closeOnOverlayClick: false,\n size: 's',\n variant: 'default',\n};\n\nexport const Alert = Template.bind({});\nAlert.args = {\n caption: 'Alert-Brand Modal Title',\n closeOnOverlayClick: true,\n alertIcon: 'arrowdoen16',\n size: 's',\n variant: 'alert-brand',\n cancelButtonLabel: 'Cancel',\n okButtonLabel: 'OK',\n showCloseButton: false,\n};\n"]}