@infineon/infineon-design-system-stencil 20.20.1 → 20.21.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 (101) hide show
  1. package/dist/cjs/ifx-button.cjs.entry.js +1 -2
  2. package/dist/cjs/ifx-button.cjs.entry.js.map +1 -1
  3. package/dist/cjs/ifx-example.cjs.entry.js +1 -2
  4. package/dist/cjs/ifx-example.cjs.entry.js.map +1 -1
  5. package/dist/cjs/{ifx-select.cjs.entry.js → ifx-icon-button_2.cjs.entry.js} +56 -4
  6. package/dist/cjs/ifx-icon-button_2.cjs.entry.js.map +1 -0
  7. package/dist/cjs/ifx-link.cjs.entry.js +1 -2
  8. package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ifx-pagination.cjs.entry.js +154 -0
  10. package/dist/cjs/ifx-pagination.cjs.entry.js.map +1 -0
  11. package/dist/cjs/ifx-search-field.cjs.entry.js +1 -2
  12. package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ifx-spinner.cjs.entry.js +1 -2
  14. package/dist/cjs/ifx-spinner.cjs.entry.js.map +1 -1
  15. package/dist/cjs/index-b797e11e.js +8 -8
  16. package/dist/cjs/{index-93f0ddc3.js → index-db78fac7.js} +21 -3
  17. package/dist/cjs/index-db78fac7.js.map +1 -0
  18. package/dist/cjs/infineon-design-system-stencil.cjs.js +1 -1
  19. package/dist/cjs/loader.cjs.js +1 -1
  20. package/dist/collection/collection-manifest.json +1 -0
  21. package/dist/collection/components/pagination/pagination.css +228 -0
  22. package/dist/collection/components/pagination/pagination.e2e.js +28 -0
  23. package/dist/collection/components/pagination/pagination.e2e.js.map +1 -0
  24. package/dist/collection/components/pagination/pagination.js +255 -0
  25. package/dist/collection/components/pagination/pagination.js.map +1 -0
  26. package/dist/collection/components/pagination/pagination.stories.js +31 -0
  27. package/dist/collection/components/pagination/pagination.stories.js.map +1 -0
  28. package/dist/{esm/ifx-icon-button.entry.js → components/icon-button.js} +40 -11
  29. package/dist/components/icon-button.js.map +1 -0
  30. package/dist/components/ifx-icon-button.js +1 -83
  31. package/dist/components/ifx-icon-button.js.map +1 -1
  32. package/dist/components/ifx-pagination.d.ts +11 -0
  33. package/dist/components/ifx-pagination.js +192 -0
  34. package/dist/components/ifx-pagination.js.map +1 -0
  35. package/dist/components/ifx-select.js +1 -7467
  36. package/dist/components/ifx-select.js.map +1 -1
  37. package/dist/{esm/ifx-select.entry.js → components/select.js} +103 -10
  38. package/dist/components/select.js.map +1 -0
  39. package/dist/esm/ifx-button.entry.js +1 -2
  40. package/dist/esm/ifx-button.entry.js.map +1 -1
  41. package/dist/esm/ifx-example.entry.js +1 -2
  42. package/dist/esm/ifx-example.entry.js.map +1 -1
  43. package/dist/esm/ifx-icon-button_2.entry.js +7429 -0
  44. package/dist/esm/ifx-icon-button_2.entry.js.map +1 -0
  45. package/dist/esm/ifx-link.entry.js +1 -2
  46. package/dist/esm/ifx-link.entry.js.map +1 -1
  47. package/dist/esm/ifx-pagination.entry.js +150 -0
  48. package/dist/esm/ifx-pagination.entry.js.map +1 -0
  49. package/dist/esm/ifx-search-field.entry.js +1 -2
  50. package/dist/esm/ifx-search-field.entry.js.map +1 -1
  51. package/dist/esm/ifx-spinner.entry.js +1 -2
  52. package/dist/esm/ifx-spinner.entry.js.map +1 -1
  53. package/dist/esm/index-69e586c1.js +8 -8
  54. package/dist/esm/{index-3c58b0c1.js → index-9550ffd3.js} +19 -3
  55. package/dist/esm/index-9550ffd3.js.map +1 -0
  56. package/dist/esm/infineon-design-system-stencil.js +1 -1
  57. package/dist/esm/loader.js +1 -1
  58. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  59. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js.map +1 -1
  60. package/dist/infineon-design-system-stencil/{p-51f25847.entry.js → p-3178d264.entry.js} +3 -3
  61. package/dist/infineon-design-system-stencil/p-3178d264.entry.js.map +1 -0
  62. package/dist/infineon-design-system-stencil/p-4bf595fa.entry.js +2 -0
  63. package/dist/infineon-design-system-stencil/{p-c2832ab7.entry.js.map → p-4bf595fa.entry.js.map} +1 -1
  64. package/dist/infineon-design-system-stencil/p-59bf2f22.js +8 -0
  65. package/dist/infineon-design-system-stencil/p-66b95c36.entry.js +2 -0
  66. package/dist/infineon-design-system-stencil/{p-c65fa225.entry.js.map → p-66b95c36.entry.js.map} +1 -1
  67. package/dist/infineon-design-system-stencil/p-b3558430.entry.js +2 -0
  68. package/dist/infineon-design-system-stencil/{p-d618fd1c.entry.js.map → p-b3558430.entry.js.map} +1 -1
  69. package/dist/infineon-design-system-stencil/p-bbeaa3c7.entry.js +2 -0
  70. package/dist/infineon-design-system-stencil/p-bbeaa3c7.entry.js.map +1 -0
  71. package/dist/infineon-design-system-stencil/p-cc72ee2b.entry.js +2 -0
  72. package/dist/infineon-design-system-stencil/{p-51898d6e.entry.js.map → p-cc72ee2b.entry.js.map} +1 -1
  73. package/dist/infineon-design-system-stencil/p-fff2710d.entry.js +2 -0
  74. package/dist/infineon-design-system-stencil/{p-1d2ab4ad.entry.js.map → p-fff2710d.entry.js.map} +1 -1
  75. package/dist/types/components/pagination/pagination.d.ts +29 -0
  76. package/dist/types/components/pagination/pagination.stories.d.ts +21 -0
  77. package/dist/types/components.d.ts +24 -0
  78. package/package.json +1 -1
  79. package/dist/cjs/_commonjsHelpers-4213291f.js +0 -24
  80. package/dist/cjs/_commonjsHelpers-4213291f.js.map +0 -1
  81. package/dist/cjs/ifx-icon-button.cjs.entry.js +0 -62
  82. package/dist/cjs/ifx-icon-button.cjs.entry.js.map +0 -1
  83. package/dist/cjs/ifx-select.cjs.entry.js.map +0 -1
  84. package/dist/cjs/index-93f0ddc3.js.map +0 -1
  85. package/dist/esm/_commonjsHelpers-e9b9b14e.js +0 -21
  86. package/dist/esm/_commonjsHelpers-e9b9b14e.js.map +0 -1
  87. package/dist/esm/ifx-icon-button.entry.js.map +0 -1
  88. package/dist/esm/ifx-select.entry.js.map +0 -1
  89. package/dist/esm/index-3c58b0c1.js.map +0 -1
  90. package/dist/infineon-design-system-stencil/p-1c9336d4.js +0 -8
  91. package/dist/infineon-design-system-stencil/p-1d2ab4ad.entry.js +0 -2
  92. package/dist/infineon-design-system-stencil/p-51898d6e.entry.js +0 -2
  93. package/dist/infineon-design-system-stencil/p-51f25847.entry.js.map +0 -1
  94. package/dist/infineon-design-system-stencil/p-64765a81.js +0 -2
  95. package/dist/infineon-design-system-stencil/p-64765a81.js.map +0 -1
  96. package/dist/infineon-design-system-stencil/p-758bd4e9.entry.js +0 -2
  97. package/dist/infineon-design-system-stencil/p-758bd4e9.entry.js.map +0 -1
  98. package/dist/infineon-design-system-stencil/p-c2832ab7.entry.js +0 -2
  99. package/dist/infineon-design-system-stencil/p-c65fa225.entry.js +0 -2
  100. package/dist/infineon-design-system-stencil/p-d618fd1c.entry.js +0 -2
  101. /package/dist/infineon-design-system-stencil/{p-1c9336d4.js.map → p-59bf2f22.js.map} +0 -0
@@ -3,8 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b797e11e.js');
6
- const index$1 = require('./index-93f0ddc3.js');
7
- require('./_commonjsHelpers-4213291f.js');
6
+ const index$1 = require('./index-db78fac7.js');
8
7
 
9
8
  const buttonCss = "*{font-family:\"Source Sans 3\"}:host{vertical-align:bottom}.btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0px 16px;gap:8px;color:#FFFFFF;font-weight:600;border-radius:1px;line-height:1.5rem;font-family:\"Source Sans 3\";font-style:normal;text-decoration:none;user-select:none;font-size:1rem;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out}.btn:not(.disabled){cursor:pointer}.btn.disabled{pointer-events:none}.btn-default{color:#FFFFFF;background-color:#0A8276}.btn-default:disabled,.btn-default.disabled{background-color:#BFBBBB;color:#FFFFFF;pointer-events:none}.btn-secondary-default{background-color:#FFFFFF;color:#0A8276;border:1px solid #0A8276}.btn-secondary-default:disabled,.btn-secondary-default.disabled{background-color:#FFFFFF;border:1px solid #BFBBBB;color:#BFBBBB;pointer-events:none}.btn-tertiary-default{background-color:transparent;color:#0A8276}.btn-tertiary-default:disabled,.btn-tertiary-default.disabled{color:#BFBBBB;pointer-events:none}.btn-danger{color:#FFFFFF;background-color:#CD002F;border-color:#CD002F}.btn-danger:disabled,.btn-danger.disabled{background-color:#BFBBBB;color:#FFFFFF;pointer-events:none}.btn-secondary-danger{background-color:#FFFFFF;color:#CD002F;border:1px solid #CD002F}.btn-secondary-danger:disabled,.btn-secondary-danger.disabled{background-color:#FFFFFF;border:1px solid #BFBBBB;color:#BFBBBB;pointer-events:none}.btn-tertiary-danger{background-color:transparent;color:#CD002F}.btn-tertiary-danger:disabled,.btn-tertiary-danger.disabled{background-color:#FFFFFF;color:#BFBBBB;pointer-events:none}.btn-inverse{color:#0A8276;background-color:#FFFFFF}.btn-inverse:disabled,.btn-inverse.disabled{opacity:1;background-color:#FFFFFF;color:#0A8276;pointer-events:none}.btn-secondary-inverse{color:#FFFFFF;border:1px solid #FFFFFF}.btn-secondary-inverse:disabled,.btn-secondary-inverse.disabled{border:1px solid #FFFFFF;color:#FFFFFF;pointer-events:none}.btn-tertiary-inverse{color:#FFFFFF}.btn-tertiary-inverse:disabled,.btn-tertiary-inverse.disabled{color:#FFFFFF;opacity:1;pointer-events:none}.btn ifx-icon:empty{display:none}.btn.btn-xs{font-size:0.875rem;height:32px;line-height:1rem}.btn.btn-s{font-size:0.875rem;height:36px;line-height:1.25rem}.btn.btn-l{font-size:1.25rem;height:48px;line-height:1.75rem}.btn.btn-default:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-default:not(:disabled,.disabled):hover{background-color:#08665C}.btn.btn-default:not(:disabled,.disabled):active,.btn.btn-default:not(:disabled,.disabled).active{background-color:#06534B}.btn.btn-secondary-default:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-secondary-default:not(:disabled,.disabled):hover{color:#FFFFFF;background-color:#08665C}.btn.btn-secondary-default:not(:disabled,.disabled):active,.btn.btn-secondary-default:not(:disabled,.disabled).active{background-color:#06534B}.btn.btn-secondary:not(:disabled,.disabled):hover{background-color:#9C216E}.btn.btn-secondary:not(:disabled,.disabled):active,.btn.btn-secondary:not(:disabled,.disabled).active{background-color:#9C216E}.btn.btn-danger:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-danger:not(:disabled,.disabled):hover{background-color:#A2001E}.btn.btn-danger:not(:disabled,.disabled):active,.btn.btn-danger:not(:disabled,.disabled).active{background-color:#900021}.btn.btn-secondary-danger:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-secondary-danger:not(:disabled,.disabled):hover{color:#FFFFFF;background-color:#A2001E}.btn.btn-secondary-danger:not(:disabled,.disabled):active,.btn.btn-secondary-danger:not(:disabled,.disabled).active{background-color:#900021}.btn.btn-inverse:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #0A8276, 0 0 0 4px #FFFFFF}.btn.btn-inverse:not(:disabled,.disabled):hover{background-color:#EEEDED}.btn.btn-inverse:not(:disabled,.disabled):active,.btn.btn-inverse:not(:disabled,.disabled).active{background-color:#BFBBBB}.btn.btn-secondary-inverse:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #0A8276, 0 0 0 4px #FFFFFF}.btn.btn-secondary-inverse:not(:disabled,.disabled):hover{color:#0A8276;background-color:#EEEDED}.btn.btn-secondary-inverse:not(:disabled,.disabled):active,.btn.btn-secondary-inverse:not(:disabled,.disabled).active{color:#0A8276;background-color:#BFBBBB}.btn.btn-tertiary-default:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #08665C}.btn.btn-tertiary-default:not(:disabled,.disabled):hover{color:#08665C}.btn.btn-tertiary-default:not(:disabled,.disabled):active,.btn.btn-tertiary-default:not(:disabled,.disabled).active{color:#06534B}.btn.btn-tertiary-danger:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #A2001E}.btn.btn-tertiary-danger:not(:disabled,.disabled):hover{color:#A2001E}.btn.btn-tertiary-danger:not(:disabled,.disabled):active,.btn.btn-tertiary-danger:not(:disabled,.disabled).active{color:#900021}.btn.btn-tertiary-inverse:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #0A8276, 0 0 0 4px #FFFFFF}.btn.btn-tertiary-inverse:not(:disabled,.disabled):hover{color:#EEEDED}.btn.btn-tertiary-inverse:not(:disabled,.disabled):active,.btn.btn-tertiary-inverse:not(:disabled,.disabled).active{color:#BFBBBB}";
10
9
 
@@ -1 +1 @@
1
- {"file":"ifx-button.entry.cjs.js","mappings":"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","names":["h","Host","classNames"],"sources":["./src/components/button/button.scss?tag=ifx-button&encapsulation=shadow","./src/components/button/button.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n vertical-align: bottom;\n}\n\n.btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: tokens.$ifxSize500;\n padding: 0px tokens.$ifxSpace200;\n gap: tokens.$ifxSpace100;\n color: tokens.$ifxColorBaseWhite;\n font-weight: tokens.$ifxFontWeightSemibold;\n border-radius: tokens.$ifxBorderRadius12;\n line-height: tokens.$ifxLineHeightM;\n font-family: tokens.$ifxFontFamilyBody;\n font-style: normal;\n text-decoration: none;\n user-select: none;\n font-size: tokens.$ifxFontSizeM;\n transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;\n}\n\n.btn:not(.disabled) {\n cursor: pointer;\n}\n\n.btn.disabled {\n pointer-events: none;\n}\n\n.btn-default {\n //default variant=primary; default color=default\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorOcean500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorBaseWhite;\n pointer-events: none;\n\n }\n}\n\n.btn-secondary-default {\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorOcean500;\n border: 1px solid tokens.$ifxColorOcean500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorBaseWhite;\n border: 1px solid tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n\n }\n}\n\n.btn-tertiary-default {\n background-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorOcean500;\n\n &:disabled,\n &.disabled {\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n\n }\n}\n\n\n.btn-danger {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorRed500;\n border-color: tokens.$ifxColorRed500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorBaseWhite;\n pointer-events: none;\n\n }\n}\n\n.btn-secondary-danger {\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorRed500;\n border: 1px solid tokens.$ifxColorRed500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorBaseWhite;\n border: 1px solid tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n\n }\n}\n\n.btn-tertiary-danger {\n //combination tertiary + danger not in design\n background-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorRed500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n\n }\n}\n\n.btn-inverse {\n color: tokens.$ifxColorOcean500;\n background-color: tokens.$ifxColorBaseWhite;\n\n &:disabled,\n &.disabled {\n opacity: tokens.$ifxOpacity100;\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorOcean500;\n pointer-events: none;\n }\n}\n\n.btn-secondary-inverse {\n color: tokens.$ifxColorBaseWhite;\n border: 1px solid tokens.$ifxColorBaseWhite;\n\n &:disabled,\n &.disabled {\n border: 1px solid tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorBaseWhite;\n pointer-events: none;\n\n }\n}\n\n\n.btn-tertiary-inverse {\n color: tokens.$ifxColorBaseWhite;\n\n &:disabled,\n &.disabled {\n color: tokens.$ifxColorBaseWhite;\n opacity: tokens.$ifxOpacity100;\n pointer-events: none;\n\n }\n}\n\n.btn {\n & ifx-icon:empty {\n display: none;\n }\n\n &.btn-xs {\n font-size: tokens.$ifxFontSizeS;\n height: tokens.$ifxSize400;\n line-height: tokens.$ifxLineHeightXs;\n }\n\n &.btn-s {\n font-size: tokens.$ifxFontSizeS;\n height: tokens.$ifxSize450;\n line-height: tokens.$ifxLineHeightS;\n }\n\n // &.btn-m { //default\n // font-size: tokens.$ifxFontSizeM;\n // height: tokens.$ifxSize400;\n // line-height: tokens.$ifxLineHeightM;\n // }\n\n\n &.btn-l {\n font-size: tokens.$ifxFontSizeXl;\n height: tokens.$ifxSize600;\n line-height: tokens.$ifxLineHeightXl;\n }\n\n\n\n &.btn-default:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorOcean600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOcean700;\n }\n }\n\n &.btn-secondary-default:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n }\n\n &:hover {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorOcean600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOcean700;\n }\n }\n\n &.btn-secondary:not(:disabled, .disabled) {\n\n &:hover {\n background-color: tokens.$ifxColorBerry500;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorBerry500;\n }\n }\n\n\n\n &.btn-danger:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorRed600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorRed700;\n }\n }\n\n &.btn-secondary-danger:not(:disabled, .disabled) {\n\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n }\n\n &:hover {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorRed600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorRed700;\n }\n }\n\n\n &.btn-inverse:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorOcean500, 0 0 0 4px tokens.$ifxColorBaseWhite;\n }\n\n &:hover {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorEngineering300;\n }\n }\n\n &.btn-secondary-inverse:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorOcean500, 0 0 0 4px tokens.$ifxColorBaseWhite;\n }\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorOcean500;\n background-color: tokens.$ifxColorEngineering300;\n }\n }\n\n\n\n &.btn-tertiary-default:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean600;\n }\n\n &:hover {\n color: tokens.$ifxColorOcean600;\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorOcean700;\n }\n\n\n }\n\n\n\n\n\n &.btn-tertiary-danger:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorRed600;\n }\n\n &:hover {\n color: tokens.$ifxColorRed600;\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorRed700;\n }\n\n }\n\n\n &.btn-tertiary-inverse:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorOcean500, 0 0 0 4px tokens.$ifxColorBaseWhite;\n }\n\n &:hover {\n color: tokens.$ifxColorEngineering200;\n\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorEngineering300;\n }\n }\n}","import { Component, Prop, h, Host, Method, Element, Watch, State } from '@stencil/core';\nimport classNames from 'classnames';\n\n@Component({\n tag: 'ifx-button',\n styleUrl: 'button.scss',\n shadow: true,\n})\n\nexport class Button {\n @Prop() variant: 'primary' | 'secondary' | 'tertiary' = 'primary';\n @Prop() theme: 'default' | 'danger' | 'inverse' = 'default';\n @Prop() size: string = 'm';\n @Prop() disabled: boolean = false;\n @State() internalHref: string;\n @Prop() href: string;\n @Prop() target: string = '_self';\n @Element() el;\n\n private focusableElement: HTMLElement;\n private nativeButton: HTMLButtonElement;\n\n @Watch('href')\n setInternalHref(newValue: string) {\n this.internalHref = newValue;\n }\n\n @Method()\n async setFocus() {\n this.focusableElement.focus();\n }\n\n protected componentDidLoad() {\n this.addEventListenersToHandleCustomFocusAndActiveState();\n }\n\n private addEventListenersToHandleCustomFocusAndActiveState() {\n const element = this.el.shadowRoot.firstChild;\n\n if (!element) {\n console.error('element not found');\n return;\n }\n\n element.tabIndex = 0;\n\n element.addEventListener('focus', () => {\n if (!this.disabled) {\n element.classList.add('focus');\n }\n });\n\n element.addEventListener('blur', () => {\n element.classList.remove('focus');\n });\n }\n\n componentWillLoad() {\n if (this.el.closest('form')) {\n if (this.el.href) {\n this.el.internalHref = undefined;\n }\n this.nativeButton = document.createElement('button');\n this.nativeButton.type = 'submit';\n this.nativeButton.style.display = 'none';\n this.el.closest('form').appendChild(this.nativeButton);\n } else {\n this.internalHref = this.href;\n }\n }\n\n handleClick() {\n if (this.nativeButton) {\n this.nativeButton.click();\n }\n }\n\n handleFocus(event: FocusEvent) { // the anchor element should not be focusable when it's disabled\n if (this.disabled) {\n event.preventDefault();\n this.focusableElement.blur();\n }\n }\n\n\n render() {\n return (\n <Host>\n <a\n ref={(el) => (this.focusableElement = el)}\n class={this.getClassNames()}\n href={!this.disabled ? this.internalHref : undefined}\n target={this.target}\n onClick={this.handleClick.bind(this)}\n rel={this.target === '_blank' ? 'noopener noreferrer' : undefined}\n onFocus={(event) => this.handleFocus(event)}\n\n >\n <slot></slot>\n </a>\n </Host>\n );\n }\n\n\n getVariantClass() {\n return `${this.variant}` === \"secondary\"\n ? `secondary-${this.theme}`\n : `${this.variant}` === 'tertiary'\n ? `tertiary-${this.theme}`\n : `${this.theme}`;\n }\n\n getSizeClass() {\n if (`${this.size}` === \"xs\") {\n return \"xs\"\n }\n else if (`${this.size}` === \"s\") {\n return \"s\"\n }\n else if (`${this.size}` === \"l\") {\n return \"l\"\n }\n else return \"\";\n }\n\n getClassNames() {\n return classNames(\n 'btn',\n this.size && `btn-${this.getSizeClass()}`,\n `btn-${this.getVariantClass()}`,\n this.disabled ? 'disabled' : '',\n\n );\n }\n}"],"version":3}
1
+ {"file":"ifx-button.entry.cjs.js","mappings":"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","names":["h","Host","classNames"],"sources":["./src/components/button/button.scss?tag=ifx-button&encapsulation=shadow","./src/components/button/button.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n vertical-align: bottom;\n}\n\n.btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: tokens.$ifxSize500;\n padding: 0px tokens.$ifxSpace200;\n gap: tokens.$ifxSpace100;\n color: tokens.$ifxColorBaseWhite;\n font-weight: tokens.$ifxFontWeightSemibold;\n border-radius: tokens.$ifxBorderRadius12;\n line-height: tokens.$ifxLineHeightM;\n font-family: tokens.$ifxFontFamilyBody;\n font-style: normal;\n text-decoration: none;\n user-select: none;\n font-size: tokens.$ifxFontSizeM;\n transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;\n}\n\n.btn:not(.disabled) {\n cursor: pointer;\n}\n\n.btn.disabled {\n pointer-events: none;\n}\n\n.btn-default {\n //default variant=primary; default color=default\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorOcean500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorBaseWhite;\n pointer-events: none;\n\n }\n}\n\n.btn-secondary-default {\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorOcean500;\n border: 1px solid tokens.$ifxColorOcean500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorBaseWhite;\n border: 1px solid tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n\n }\n}\n\n.btn-tertiary-default {\n background-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorOcean500;\n\n &:disabled,\n &.disabled {\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n\n }\n}\n\n\n.btn-danger {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorRed500;\n border-color: tokens.$ifxColorRed500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorBaseWhite;\n pointer-events: none;\n\n }\n}\n\n.btn-secondary-danger {\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorRed500;\n border: 1px solid tokens.$ifxColorRed500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorBaseWhite;\n border: 1px solid tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n\n }\n}\n\n.btn-tertiary-danger {\n //combination tertiary + danger not in design\n background-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorRed500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n\n }\n}\n\n.btn-inverse {\n color: tokens.$ifxColorOcean500;\n background-color: tokens.$ifxColorBaseWhite;\n\n &:disabled,\n &.disabled {\n opacity: tokens.$ifxOpacity100;\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorOcean500;\n pointer-events: none;\n }\n}\n\n.btn-secondary-inverse {\n color: tokens.$ifxColorBaseWhite;\n border: 1px solid tokens.$ifxColorBaseWhite;\n\n &:disabled,\n &.disabled {\n border: 1px solid tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorBaseWhite;\n pointer-events: none;\n\n }\n}\n\n\n.btn-tertiary-inverse {\n color: tokens.$ifxColorBaseWhite;\n\n &:disabled,\n &.disabled {\n color: tokens.$ifxColorBaseWhite;\n opacity: tokens.$ifxOpacity100;\n pointer-events: none;\n\n }\n}\n\n.btn {\n & ifx-icon:empty {\n display: none;\n }\n\n &.btn-xs {\n font-size: tokens.$ifxFontSizeS;\n height: tokens.$ifxSize400;\n line-height: tokens.$ifxLineHeightXs;\n }\n\n &.btn-s {\n font-size: tokens.$ifxFontSizeS;\n height: tokens.$ifxSize450;\n line-height: tokens.$ifxLineHeightS;\n }\n\n // &.btn-m { //default\n // font-size: tokens.$ifxFontSizeM;\n // height: tokens.$ifxSize400;\n // line-height: tokens.$ifxLineHeightM;\n // }\n\n\n &.btn-l {\n font-size: tokens.$ifxFontSizeXl;\n height: tokens.$ifxSize600;\n line-height: tokens.$ifxLineHeightXl;\n }\n\n\n\n &.btn-default:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorOcean600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOcean700;\n }\n }\n\n &.btn-secondary-default:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n }\n\n &:hover {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorOcean600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOcean700;\n }\n }\n\n &.btn-secondary:not(:disabled, .disabled) {\n\n &:hover {\n background-color: tokens.$ifxColorBerry500;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorBerry500;\n }\n }\n\n\n\n &.btn-danger:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorRed600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorRed700;\n }\n }\n\n &.btn-secondary-danger:not(:disabled, .disabled) {\n\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n }\n\n &:hover {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorRed600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorRed700;\n }\n }\n\n\n &.btn-inverse:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorOcean500, 0 0 0 4px tokens.$ifxColorBaseWhite;\n }\n\n &:hover {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorEngineering300;\n }\n }\n\n &.btn-secondary-inverse:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorOcean500, 0 0 0 4px tokens.$ifxColorBaseWhite;\n }\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorOcean500;\n background-color: tokens.$ifxColorEngineering300;\n }\n }\n\n\n\n &.btn-tertiary-default:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean600;\n }\n\n &:hover {\n color: tokens.$ifxColorOcean600;\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorOcean700;\n }\n\n\n }\n\n\n\n\n\n &.btn-tertiary-danger:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorRed600;\n }\n\n &:hover {\n color: tokens.$ifxColorRed600;\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorRed700;\n }\n\n }\n\n\n &.btn-tertiary-inverse:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorOcean500, 0 0 0 4px tokens.$ifxColorBaseWhite;\n }\n\n &:hover {\n color: tokens.$ifxColorEngineering200;\n\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorEngineering300;\n }\n }\n}","import { Component, Prop, h, Host, Method, Element, Watch, State } from '@stencil/core';\nimport classNames from 'classnames';\n\n@Component({\n tag: 'ifx-button',\n styleUrl: 'button.scss',\n shadow: true,\n})\n\nexport class Button {\n @Prop() variant: 'primary' | 'secondary' | 'tertiary' = 'primary';\n @Prop() theme: 'default' | 'danger' | 'inverse' = 'default';\n @Prop() size: string = 'm';\n @Prop() disabled: boolean = false;\n @State() internalHref: string;\n @Prop() href: string;\n @Prop() target: string = '_self';\n @Element() el;\n\n private focusableElement: HTMLElement;\n private nativeButton: HTMLButtonElement;\n\n @Watch('href')\n setInternalHref(newValue: string) {\n this.internalHref = newValue;\n }\n\n @Method()\n async setFocus() {\n this.focusableElement.focus();\n }\n\n protected componentDidLoad() {\n this.addEventListenersToHandleCustomFocusAndActiveState();\n }\n\n private addEventListenersToHandleCustomFocusAndActiveState() {\n const element = this.el.shadowRoot.firstChild;\n\n if (!element) {\n console.error('element not found');\n return;\n }\n\n element.tabIndex = 0;\n\n element.addEventListener('focus', () => {\n if (!this.disabled) {\n element.classList.add('focus');\n }\n });\n\n element.addEventListener('blur', () => {\n element.classList.remove('focus');\n });\n }\n\n componentWillLoad() {\n if (this.el.closest('form')) {\n if (this.el.href) {\n this.el.internalHref = undefined;\n }\n this.nativeButton = document.createElement('button');\n this.nativeButton.type = 'submit';\n this.nativeButton.style.display = 'none';\n this.el.closest('form').appendChild(this.nativeButton);\n } else {\n this.internalHref = this.href;\n }\n }\n\n handleClick() {\n if (this.nativeButton) {\n this.nativeButton.click();\n }\n }\n\n handleFocus(event: FocusEvent) { // the anchor element should not be focusable when it's disabled\n if (this.disabled) {\n event.preventDefault();\n this.focusableElement.blur();\n }\n }\n\n\n render() {\n return (\n <Host>\n <a\n ref={(el) => (this.focusableElement = el)}\n class={this.getClassNames()}\n href={!this.disabled ? this.internalHref : undefined}\n target={this.target}\n onClick={this.handleClick.bind(this)}\n rel={this.target === '_blank' ? 'noopener noreferrer' : undefined}\n onFocus={(event) => this.handleFocus(event)}\n\n >\n <slot></slot>\n </a>\n </Host>\n );\n }\n\n\n getVariantClass() {\n return `${this.variant}` === \"secondary\"\n ? `secondary-${this.theme}`\n : `${this.variant}` === 'tertiary'\n ? `tertiary-${this.theme}`\n : `${this.theme}`;\n }\n\n getSizeClass() {\n if (`${this.size}` === \"xs\") {\n return \"xs\"\n }\n else if (`${this.size}` === \"s\") {\n return \"s\"\n }\n else if (`${this.size}` === \"l\") {\n return \"l\"\n }\n else return \"\";\n }\n\n getClassNames() {\n return classNames(\n 'btn',\n this.size && `btn-${this.getSizeClass()}`,\n `btn-${this.getVariantClass()}`,\n this.disabled ? 'disabled' : '',\n\n );\n }\n}"],"version":3}
@@ -3,8 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b797e11e.js');
6
- const index$1 = require('./index-93f0ddc3.js');
7
- require('./_commonjsHelpers-4213291f.js');
6
+ const index$1 = require('./index-db78fac7.js');
8
7
 
9
8
  const exampleCss = ".btn{display:inline-flex;justify-content:center;align-items:center;min-width:80px;min-height:40px;padding:0px 16px;gap:8px;color:#FFFFFF;flex-direction:row;font-weight:600;border-radius:1px;line-height:1.5rem;outline:none;font-family:\"Source Sans 3\";text-align:center;text-decoration:none;vertical-align:middle;user-select:none;border:1px solid rgba(0, 0, 0, 0);font-size:1rem;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out}.btn:not(.disabled){cursor:pointer}.btn-primary{color:#FFFFFF;background-color:#0A8276;border-color:#0A8276}.btn-primary svg{stroke:#FFFFFF}.btn-secondary-primary{background-color:#FFFFFF;color:#0A8276;border-color:#0A8276}.btn-secondary-primary svg{stroke:#0A8276}.btn-secondary{color:#FFFFFF;background-color:#9C216E;border-color:#9C216E}.btn-secondary svg{stroke:#FFFFFF}.btn-secondary-secondary{background-color:#FFFFFF;color:#9C216E;border-color:#9C216E}.btn-secondary-secondary svg{stroke:#9C216E}.btn-success{color:#1D1D1D;background-color:#4CA460;border-color:#4CA460}.btn-success svg{stroke:#1D1D1D}.btn-secondary-success{background-color:#FFFFFF;border-color:#4CA460}.btn-secondary-success svg{stroke:#1D1D1D}.btn-danger{color:#FFFFFF;background-color:#CD002F;border-color:#CD002F}.btn-danger svg{stroke:#FFFFFF}.btn-secondary-danger{background-color:#FFFFFF;color:#CD002F;border-color:#CD002F}.btn-secondary-danger svg{stroke:#CD002F}.btn-warning{color:#1D1D1D;background-color:#E16B25;border-color:#E16B25}.btn-warning svg{stroke:#1D1D1D}.btn-secondary-warning{background-color:#FFFFFF;border-color:#E16B25}.btn-secondary-warning svg{stroke:#1D1D1D}.btn.btn-xs{font-size:0.875rem;min-width:71px;min-height:32px;line-height:1rem}.btn.btn-primary:focus,.btn.btn-secondary-primary:focus,.btn.btn-secondary:focus,.btn.btn-secondary-secondary:focus,.btn.btn-success:focus,.btn.btn-secondary-success:focus,.btn.btn-danger:focus,.btn.btn-secondary-danger:focus,.btn.btn-warning:focus,.btn.btn-secondary-warning:focus,.btn.btn-tertiary:focus{box-shadow:none}.btn.btn-primary:focus-visible,.btn.btn-secondary-primary:focus-visible,.btn.btn-secondary:focus-visible,.btn.btn-secondary-secondary:focus-visible,.btn.btn-success:focus-visible,.btn.btn-secondary-success:focus-visible,.btn.btn-danger:focus-visible,.btn.btn-secondary-danger:focus-visible,.btn.btn-warning:focus-visible,.btn.btn-secondary-warning:focus-visible,.btn.btn-tertiary:focus-visible{box-shadow:0 0 0 3px #B4DDD8}.btn:disabled,.btn.disabled{opacity:1;background-color:#BFBBBB;border-color:#BFBBBB;color:#FFFFFF}.btn.btn-primary:not(:disabled,.disabled):focus{background-color:#0A8276;border-color:#0A8276}.btn.btn-primary:not(:disabled,.disabled):hover{background-color:#08665C;border-color:#08665C}.btn.btn-primary:not(:disabled,.disabled):active,.btn.btn-primary:not(:disabled,.disabled).active{background-color:#06534B;border-color:#06534B}.btn.btn-secondary-primary:not(:disabled,.disabled):focus{background-color:transparent}.btn.btn-secondary-primary:not(:disabled,.disabled):hover{color:#FFFFFF;background-color:#08665C;border-color:#08665C}.btn.btn-secondary-primary:not(:disabled,.disabled):active,.btn.btn-secondary-primary:not(:disabled,.disabled).active{background-color:#06534B;border-color:#06534B}.btn.btn-secondary:not(:disabled,.disabled):focus{background-color:#9C216E;border-color:#9C216E}.btn.btn-secondary:not(:disabled,.disabled):hover{background-color:#9C216E;border-color:#9C216E}.btn.btn-secondary:not(:disabled,.disabled):active,.btn.btn-secondary:not(:disabled,.disabled).active{background-color:#9C216E;border-color:#9C216E}.btn.btn-secondary-secondary:not(:disabled,.disabled):focus{background-color:transparent}.btn.btn-secondary-secondary:not(:disabled,.disabled):hover{color:#FFFFFF;background-color:#9C216E;border-color:#9C216E}.btn.btn-secondary-secondary:not(:disabled,.disabled):active,.btn.btn-secondary-secondary:not(:disabled,.disabled).active{background-color:#9C216E;border-color:#9C216E}.btn.btn-success:not(:disabled,.disabled):focus{background-color:#4CA460;border-color:#4CA460}.btn.btn-success:not(:disabled,.disabled):hover{background-color:#4CA460;border-color:#4CA460}.btn.btn-success:not(:disabled,.disabled):active,.btn.btn-success:not(:disabled,.disabled).active{background-color:#4CA460;border-color:#4CA460}.btn.btn-secondary-success:not(:disabled,.disabled){color:#1D1D1D}.btn.btn-secondary-success:not(:disabled,.disabled):focus{background-color:transparent}.btn.btn-secondary-success:not(:disabled,.disabled):hover{background-color:#4CA460;border-color:#4CA460}.btn.btn-secondary-success:not(:disabled,.disabled):active,.btn.btn-secondary-success:not(:disabled,.disabled).active{background-color:#4CA460;border-color:#4CA460}.btn.btn-danger:not(:disabled,.disabled):focus{background-color:#CD002F;border-color:#CD002F}.btn.btn-danger:not(:disabled,.disabled):hover{background-color:#A2001E;border-color:#A2001E}.btn.btn-danger:not(:disabled,.disabled):active,.btn.btn-danger:not(:disabled,.disabled).active{background-color:#900021;border-color:#900021}.btn.btn-secondary-danger:not(:disabled,.disabled):focus{background-color:transparent}.btn.btn-secondary-danger:not(:disabled,.disabled):hover{color:#FFFFFF;background-color:#A2001E;border-color:#A2001E}.btn.btn-secondary-danger:not(:disabled,.disabled):active,.btn.btn-secondary-danger:not(:disabled,.disabled).active{background-color:#900021;border-color:#900021}.btn.btn-warning:not(:disabled,.disabled):focus{background-color:#E16B25;border-color:#E16B25}.btn.btn-warning:not(:disabled,.disabled):hover{background-color:#E16B25;border-color:#E16B25}.btn.btn-warning:not(:disabled,.disabled):active,.btn.btn-warning:not(:disabled,.disabled).active{background-color:#E16B25;border-color:#E16B25}.btn.btn-secondary-warning:not(:disabled,.disabled){color:#1D1D1D}.btn.btn-secondary-warning:not(:disabled,.disabled):focus{background-color:transparent}.btn.btn-secondary-warning:not(:disabled,.disabled):hover{background-color:#E16B25;border-color:#E16B25}.btn.btn-secondary-warning:not(:disabled,.disabled):active,.btn.btn-secondary-warning:not(:disabled,.disabled).active{background-color:#E16B25;border-color:#E16B25}.btn.btn-primary-tertiary{background-color:transparent;color:#0A8276}.btn.btn-primary-tertiary:hover{color:#08665C}.btn.btn-primary-tertiary:hover svg{stroke:#08665C}.btn.btn-primary-tertiary:active,.btn.btn-primary-tertiary.active{color:#06534B}.btn.btn-primary-tertiary:active svg,.btn.btn-primary-tertiary.active svg{stroke:#06534B}.btn.btn-primary-tertiary:disabled,.btn.btn-primary-tertiary.disabled{opacity:1;background-color:transparent;border-color:transparent;color:#BFBBBB}.btn.btn-primary-tertiary:disabled svg,.btn.btn-primary-tertiary.disabled svg{stroke:#BFBBBB}.btn.btn-primary-tertiary svg{stroke:#0A8276}.btn.btn-secondary-tertiary{background-color:transparent;color:#9C216E}.btn.btn-secondary-tertiary:hover{color:#9C216E}.btn.btn-secondary-tertiary:hover svg{stroke:#9C216E}.btn.btn-secondary-tertiary:active,.btn.btn-secondary-tertiary.active{color:#9C216E}.btn.btn-secondary-tertiary:active svg,.btn.btn-secondary-tertiary.active svg{stroke:#9C216E}.btn.btn-secondary-tertiary:disabled,.btn.btn-secondary-tertiary.disabled{opacity:1;background-color:transparent;border-color:transparent;color:#BFBBBB}.btn.btn-secondary-tertiary:disabled svg,.btn.btn-secondary-tertiary.disabled svg{stroke:#BFBBBB}.btn.btn-secondary-tertiary svg{stroke:#9C216E}.btn.btn-success-tertiary{background-color:transparent;color:#4CA460}.btn.btn-success-tertiary:hover{color:#4CA460}.btn.btn-success-tertiary:hover svg{stroke:#4CA460}.btn.btn-success-tertiary:active,.btn.btn-success-tertiary.active{color:#4CA460}.btn.btn-success-tertiary:active svg,.btn.btn-success-tertiary.active svg{stroke:#4CA460}.btn.btn-success-tertiary:disabled,.btn.btn-success-tertiary.disabled{opacity:1;background-color:transparent;border-color:transparent;color:#BFBBBB}.btn.btn-success-tertiary:disabled svg,.btn.btn-success-tertiary.disabled svg{stroke:#BFBBBB}.btn.btn-success-tertiary svg{stroke:#4CA460}.btn.btn-danger-tertiary{background-color:transparent;color:#CD002F}.btn.btn-danger-tertiary:hover{color:#A2001E}.btn.btn-danger-tertiary:hover svg{stroke:#A2001E}.btn.btn-danger-tertiary:active,.btn.btn-danger-tertiary.active{color:#900021}.btn.btn-danger-tertiary:active svg,.btn.btn-danger-tertiary.active svg{stroke:#900021}.btn.btn-danger-tertiary:disabled,.btn.btn-danger-tertiary.disabled{opacity:1;background-color:transparent;border-color:transparent;color:#BFBBBB}.btn.btn-danger-tertiary:disabled svg,.btn.btn-danger-tertiary.disabled svg{stroke:#BFBBBB}.btn.btn-danger-tertiary svg{stroke:#CD002F}.btn.btn-warning-tertiary{background-color:transparent;color:#E16B25}.btn.btn-warning-tertiary:hover{color:#E16B25}.btn.btn-warning-tertiary:hover svg{stroke:#E16B25}.btn.btn-warning-tertiary:active,.btn.btn-warning-tertiary.active{color:#E16B25}.btn.btn-warning-tertiary:active svg,.btn.btn-warning-tertiary.active svg{stroke:#E16B25}.btn.btn-warning-tertiary:disabled,.btn.btn-warning-tertiary.disabled{opacity:1;background-color:transparent;border-color:transparent;color:#BFBBBB}.btn.btn-warning-tertiary:disabled svg,.btn.btn-warning-tertiary.disabled svg{stroke:#BFBBBB}.btn.btn-warning-tertiary svg{stroke:#E16B25}.ifx__btn-icon--before{margin-right:10px}.ifx__btn-icon--after{margin-left:10px}";
10
9
 
@@ -1 +1 @@
1
- {"file":"ifx-example.entry.cjs.js","mappings":"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","names":["h","Host","classNames"],"sources":["./src/components/template-story-with-markdown/example.scss?tag=ifx-example&encapsulation=shadow","./src/components/template-story-with-markdown/example.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n\n.btn {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n min-width: 80px;\n min-height: tokens.$ifxSize500;\n padding: 0px 16px;\n gap: tokens.$ifxSpace100;\n color: tokens.$ifxColorBaseWhite;\n flex-direction: row;\n font-weight: tokens.$ifxFontWeightSemibold;\n border-radius: tokens.$ifxBorderRadius12;\n line-height: tokens.$ifxLineHeightM;\n outline: none;\n font-family: tokens.$ifxFontFamilyBody;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n user-select: none;\n border: 1px solid rgba(0, 0, 0, 0);\n font-size: tokens.$ifxFontSizeM;\n transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;\n}\n\n.btn:not(.disabled) {\n cursor: pointer;\n}\n\n.btn-primary {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorOcean500;\n border-color: tokens.$ifxColorOcean500;\n\n & svg {\n stroke: tokens.$ifxColorBaseWhite;\n }\n\n}\n\n.btn-secondary-primary {\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorOcean500;\n border-color: tokens.$ifxColorOcean500;\n\n & svg {\n stroke: tokens.$ifxColorOcean500;\n }\n}\n\n.btn-secondary {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorBerry500;\n border-color: tokens.$ifxColorBerry500;\n\n & svg {\n stroke: tokens.$ifxColorBaseWhite;\n }\n}\n\n.btn-secondary-secondary {\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorBerry500;\n border-color: tokens.$ifxColorBerry500;\n\n & svg {\n stroke: tokens.$ifxColorBerry500;\n }\n}\n\n.btn-success {\n color: tokens.$ifxColorBaseBlack;\n background-color: tokens.$ifxColorGreen500;\n border-color: tokens.$ifxColorGreen500;\n\n & svg {\n stroke: tokens.$ifxColorBaseBlack;\n }\n}\n\n.btn-secondary-success {\n background-color: tokens.$ifxColorBaseWhite;\n border-color: tokens.$ifxColorGreen500;\n\n & svg {\n stroke: tokens.$ifxColorBaseBlack;\n }\n}\n\n.btn-danger {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorRed500;\n border-color: tokens.$ifxColorRed500;\n\n & svg {\n stroke: tokens.$ifxColorBaseWhite;\n }\n}\n\n.btn-secondary-danger {\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorRed500;\n border-color: tokens.$ifxColorRed500;\n\n & svg {\n stroke: tokens.$ifxColorRed500;\n }\n}\n\n.btn-warning {\n color: tokens.$ifxColorBaseBlack;\n background-color: tokens.$ifxColorOrange500;\n border-color: tokens.$ifxColorOrange500;\n\n & svg {\n stroke: tokens.$ifxColorBaseBlack;\n }\n}\n\n.btn-secondary-warning {\n background-color: tokens.$ifxColorBaseWhite;\n border-color: tokens.$ifxColorOrange500;\n\n & svg {\n stroke: tokens.$ifxColorBaseBlack;\n }\n}\n\n\n\n.btn {\n\n &.btn-xs {\n font-size: tokens.$ifxFontSizeS;\n min-width: 71px;\n min-height: tokens.$ifxSize400;\n line-height: tokens.$ifxLineHeightXs;\n }\n\n &.btn-primary,\n &.btn-secondary-primary,\n &.btn-secondary,\n &.btn-secondary-secondary,\n &.btn-success,\n &.btn-secondary-success,\n &.btn-danger,\n &.btn-secondary-danger,\n &.btn-warning,\n &.btn-secondary-warning,\n &.btn-tertiary {\n &:focus {\n box-shadow: none;\n\n }\n }\n\n &.btn-primary,\n &.btn-secondary-primary,\n &.btn-secondary,\n &.btn-secondary-secondary,\n &.btn-success,\n &.btn-secondary-success,\n &.btn-danger,\n &.btn-secondary-danger,\n &.btn-warning,\n &.btn-secondary-warning,\n &.btn-tertiary {\n &:focus-visible {\n box-shadow: 0 0 0 3px #B4DDD8;\n }\n }\n\n &:disabled,\n &.disabled {\n opacity: tokens.$ifxOpacity100;\n background-color: tokens.$ifxColorEngineering300;\n border-color: tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorBaseWhite;\n }\n\n\n &.btn-primary:not(:disabled, .disabled) {\n &:focus {\n background-color: tokens.$ifxColorOcean500;\n border-color: tokens.$ifxColorOcean500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorOcean600;\n border-color: tokens.$ifxColorOcean600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOcean700;\n border-color: tokens.$ifxColorOcean700;\n }\n }\n\n &.btn-secondary-primary:not(:disabled, .disabled) {\n\n &:focus {\n background-color: tokens.$ifxColorBaseTransparent;\n }\n\n &:hover {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorOcean600;\n border-color: tokens.$ifxColorOcean600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOcean700;\n border-color: tokens.$ifxColorOcean700;\n }\n }\n\n &.btn-secondary:not(:disabled, .disabled) {\n &:focus {\n background-color: tokens.$ifxColorBerry500;\n border-color: tokens.$ifxColorBerry500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorBerry500;\n border-color: tokens.$ifxColorBerry500;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorBerry500;\n border-color: tokens.$ifxColorBerry500;\n }\n }\n\n &.btn-secondary-secondary:not(:disabled, .disabled) {\n\n &:focus {\n background-color: tokens.$ifxColorBaseTransparent;\n }\n\n &:hover {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorBerry500;\n border-color: tokens.$ifxColorBerry500;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorBerry500;\n border-color: tokens.$ifxColorBerry500;\n }\n }\n\n &.btn-success:not(:disabled, .disabled) {\n\n &:focus {\n background-color: tokens.$ifxColorGreen500;\n border-color: tokens.$ifxColorGreen500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorGreen500;\n border-color: tokens.$ifxColorGreen500;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorGreen500;\n border-color: tokens.$ifxColorGreen500;\n }\n }\n\n &.btn-secondary-success:not(:disabled, .disabled) {\n color: tokens.$ifxColorBaseBlack;\n\n &:focus {\n background-color: tokens.$ifxColorBaseTransparent;\n }\n\n &:hover {\n background-color: tokens.$ifxColorGreen500;\n border-color: tokens.$ifxColorGreen500;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorGreen500;\n border-color: tokens.$ifxColorGreen500;\n }\n }\n\n &.btn-danger:not(:disabled, .disabled) {\n &:focus {\n background-color: tokens.$ifxColorRed500;\n border-color: tokens.$ifxColorRed500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorRed600;\n border-color: tokens.$ifxColorRed600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorRed700;\n border-color: tokens.$ifxColorRed700;\n }\n }\n\n &.btn-secondary-danger:not(:disabled, .disabled) {\n\n &:focus {\n background-color: tokens.$ifxColorBaseTransparent;\n }\n\n &:hover {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorRed600;\n border-color: tokens.$ifxColorRed600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorRed700;\n border-color: tokens.$ifxColorRed700;\n }\n }\n\n &.btn-warning:not(:disabled, .disabled) {\n\n &:focus {\n background-color: tokens.$ifxColorOrange500;\n border-color: tokens.$ifxColorOrange500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorOrange500;\n border-color: tokens.$ifxColorOrange500;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOrange500;\n border-color: tokens.$ifxColorOrange500;\n }\n }\n\n &.btn-secondary-warning:not(:disabled, .disabled) {\n color: tokens.$ifxColorBaseBlack;\n\n &:focus {\n background-color: tokens.$ifxColorBaseTransparent;\n }\n\n &:hover {\n background-color: tokens.$ifxColorOrange500;\n border-color: tokens.$ifxColorOrange500;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOrange500;\n border-color: tokens.$ifxColorOrange500;\n }\n }\n\n &.btn-primary-tertiary {\n background-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorOcean500;\n\n &:hover {\n color: tokens.$ifxColorOcean600;\n\n & svg {\n stroke: tokens.$ifxColorOcean600;\n }\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorOcean700;\n\n & svg {\n stroke: tokens.$ifxColorOcean700;\n }\n }\n\n &:disabled,\n &.disabled {\n opacity: tokens.$ifxOpacity100;\n background-color: tokens.$ifxColorBaseTransparent;\n border-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorEngineering300;\n\n & svg {\n stroke: tokens.$ifxColorEngineering300;\n }\n }\n\n & svg {\n stroke: tokens.$ifxColorOcean500;\n }\n }\n\n &.btn-secondary-tertiary {\n background-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorBerry500;\n\n &:hover {\n color: tokens.$ifxColorBerry500;\n\n & svg {\n stroke: tokens.$ifxColorBerry500;\n }\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorBerry500;\n\n & svg {\n stroke: tokens.$ifxColorBerry500;\n }\n }\n\n &:disabled,\n &.disabled {\n opacity: tokens.$ifxOpacity100;\n background-color: tokens.$ifxColorBaseTransparent;\n border-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorEngineering300;\n\n & svg {\n stroke: tokens.$ifxColorEngineering300;\n }\n }\n\n & svg {\n stroke: tokens.$ifxColorBerry500;\n }\n }\n\n &.btn-success-tertiary {\n background-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorGreen500;\n\n &:hover {\n color: tokens.$ifxColorGreen500;\n\n & svg {\n stroke: tokens.$ifxColorGreen500;\n }\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorGreen500;\n\n & svg {\n stroke: tokens.$ifxColorGreen500;\n }\n }\n\n &:disabled,\n &.disabled {\n opacity: tokens.$ifxOpacity100;\n background-color: tokens.$ifxColorBaseTransparent;\n border-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorEngineering300;\n\n & svg {\n stroke: tokens.$ifxColorEngineering300;\n }\n }\n\n & svg {\n stroke: tokens.$ifxColorGreen500;\n }\n }\n\n &.btn-danger-tertiary {\n background-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorRed500;\n\n &:hover {\n color: tokens.$ifxColorRed600;\n\n & svg {\n stroke: tokens.$ifxColorRed600;\n }\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorRed700;\n\n & svg {\n stroke: tokens.$ifxColorRed700;\n }\n }\n\n &:disabled,\n &.disabled {\n opacity: tokens.$ifxOpacity100;\n background-color: tokens.$ifxColorBaseTransparent;\n border-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorEngineering300;\n\n & svg {\n stroke: tokens.$ifxColorEngineering300;\n }\n }\n\n & svg {\n stroke: tokens.$ifxColorRed500;\n }\n }\n\n &.btn-warning-tertiary {\n background-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorOrange500;\n\n &:hover {\n color: tokens.$ifxColorOrange500;\n\n & svg {\n stroke: tokens.$ifxColorOrange500;\n }\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorOrange500;\n\n & svg {\n stroke: tokens.$ifxColorOrange500;\n }\n }\n\n &:disabled,\n &.disabled {\n opacity: tokens.$ifxOpacity100;\n background-color: tokens.$ifxColorBaseTransparent;\n border-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorEngineering300;\n\n & svg {\n stroke: tokens.$ifxColorEngineering300;\n }\n }\n\n & svg {\n stroke: tokens.$ifxColorOrange500;\n }\n }\n}\n\n\n\n.ifx {\n &__btn-icon {\n &--before {\n margin-right: 10px;\n }\n\n &--after {\n margin-left: 10px;\n }\n }\n}","import { Component, Prop, h, Host, Method, Element, Watch, State } from '@stencil/core';\nimport classNames from 'classnames';\n\n@Component({\n tag: 'ifx-example',\n styleUrl: 'example.scss',\n shadow: true,\n})\n\nexport class Example {\n @Prop() variant: 'primary' | 'secondary' | 'tertiary' = 'primary';\n @Prop() color: 'primary' | 'secondary' | 'success' | 'danger' | 'warning' = 'primary';\n @Prop() size: string = 'm';\n @Prop() disabled: boolean = false;\n @Prop() icon: string;\n @Prop() position: string = 'left'\n @State() internalPosition: string;\n @Prop() href: string;\n @Prop() target: string = '_self';\n @Element() el;\n @Prop() type: string = 'button'; // handle buttons of type button and of type submit\n\n private focusableElement: HTMLElement;\n private nativeButton: HTMLButtonElement;\n\n @Watch('position')\n reassignPosition(newValue: string) {\n if (newValue && newValue !== this.internalPosition) {\n if (newValue.toUpperCase() === \"LEFT\" || newValue.toUpperCase() === \"RIGHT\")\n this.internalPosition = newValue;\n }\n }\n\n @Method()\n async setFocus() {\n this.focusableElement.focus();\n }\n\n componentWillLoad() {\n if (this.position.toUpperCase() !== \"LEFT\") {\n this.internalPosition = 'left';\n } else this.internalPosition = this.position;\n }\n\n\n componentDidLoad() {\n if (this.type === 'submit' && this.el.closest('form')) {\n this.nativeButton = document.createElement('button');\n this.nativeButton.type = 'submit';\n this.nativeButton.style.display = 'none';\n this.el.closest('form').appendChild(this.nativeButton);\n }\n }\n\n handleClick() {\n if (this.nativeButton) {\n this.nativeButton.click();\n }\n }\n\n\n render() {\n return (\n <Host>\n {this.href ? (\n <a\n ref={(el) => (this.focusableElement = el)}\n class={this.getClassNames()}\n href={!this.disabled ? this.href : undefined}\n target={this.target}\n rel={this.target === '_blank' ? 'noopener noreferrer' : undefined}\n >\n {this.icon && this.internalPosition.toUpperCase() === \"LEFT\" && <ifx-icon icon={this.icon}></ifx-icon>}\n <slot></slot>\n {this.icon && this.internalPosition.toUpperCase() === \"RIGHT\" && <ifx-icon icon={this.icon}></ifx-icon>}\n\n </a>\n ) : (\n <button\n class={this.getClassNames()}\n type=\"button\"\n onClick={this.handleClick.bind(this)} // Add click handler\n\n >\n {this.icon && this.internalPosition.toUpperCase() === \"LEFT\" && <ifx-icon icon={this.icon}></ifx-icon>}\n <slot></slot>\n {this.icon && this.internalPosition.toUpperCase() === \"RIGHT\" && <ifx-icon icon={this.icon}></ifx-icon>}\n </button>\n )}\n </Host>\n );\n }\n\n\n getVariantClass() {\n return `${this.variant}` === \"secondary\"\n ? `secondary-${this.color}`\n : `${this.variant}` === 'tertiary'\n ? `${this.color}-tertiary`\n : `${this.color}`;\n }\n\n getSizeClass() {\n return `${this.size}` === \"s\"\n ? \"s\"\n : \"\";\n }\n\n getClassNames() {\n return classNames(\n 'btn',\n this.size && `btn-${this.getSizeClass()}`,\n `btn-${this.getVariantClass()}`,\n this.disabled ? 'disabled' : ''\n );\n }\n}"],"version":3}
1
+ {"file":"ifx-example.entry.cjs.js","mappings":"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","names":["h","Host","classNames"],"sources":["./src/components/template-story-with-markdown/example.scss?tag=ifx-example&encapsulation=shadow","./src/components/template-story-with-markdown/example.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n\n.btn {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n min-width: 80px;\n min-height: tokens.$ifxSize500;\n padding: 0px 16px;\n gap: tokens.$ifxSpace100;\n color: tokens.$ifxColorBaseWhite;\n flex-direction: row;\n font-weight: tokens.$ifxFontWeightSemibold;\n border-radius: tokens.$ifxBorderRadius12;\n line-height: tokens.$ifxLineHeightM;\n outline: none;\n font-family: tokens.$ifxFontFamilyBody;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n user-select: none;\n border: 1px solid rgba(0, 0, 0, 0);\n font-size: tokens.$ifxFontSizeM;\n transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;\n}\n\n.btn:not(.disabled) {\n cursor: pointer;\n}\n\n.btn-primary {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorOcean500;\n border-color: tokens.$ifxColorOcean500;\n\n & svg {\n stroke: tokens.$ifxColorBaseWhite;\n }\n\n}\n\n.btn-secondary-primary {\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorOcean500;\n border-color: tokens.$ifxColorOcean500;\n\n & svg {\n stroke: tokens.$ifxColorOcean500;\n }\n}\n\n.btn-secondary {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorBerry500;\n border-color: tokens.$ifxColorBerry500;\n\n & svg {\n stroke: tokens.$ifxColorBaseWhite;\n }\n}\n\n.btn-secondary-secondary {\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorBerry500;\n border-color: tokens.$ifxColorBerry500;\n\n & svg {\n stroke: tokens.$ifxColorBerry500;\n }\n}\n\n.btn-success {\n color: tokens.$ifxColorBaseBlack;\n background-color: tokens.$ifxColorGreen500;\n border-color: tokens.$ifxColorGreen500;\n\n & svg {\n stroke: tokens.$ifxColorBaseBlack;\n }\n}\n\n.btn-secondary-success {\n background-color: tokens.$ifxColorBaseWhite;\n border-color: tokens.$ifxColorGreen500;\n\n & svg {\n stroke: tokens.$ifxColorBaseBlack;\n }\n}\n\n.btn-danger {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorRed500;\n border-color: tokens.$ifxColorRed500;\n\n & svg {\n stroke: tokens.$ifxColorBaseWhite;\n }\n}\n\n.btn-secondary-danger {\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorRed500;\n border-color: tokens.$ifxColorRed500;\n\n & svg {\n stroke: tokens.$ifxColorRed500;\n }\n}\n\n.btn-warning {\n color: tokens.$ifxColorBaseBlack;\n background-color: tokens.$ifxColorOrange500;\n border-color: tokens.$ifxColorOrange500;\n\n & svg {\n stroke: tokens.$ifxColorBaseBlack;\n }\n}\n\n.btn-secondary-warning {\n background-color: tokens.$ifxColorBaseWhite;\n border-color: tokens.$ifxColorOrange500;\n\n & svg {\n stroke: tokens.$ifxColorBaseBlack;\n }\n}\n\n\n\n.btn {\n\n &.btn-xs {\n font-size: tokens.$ifxFontSizeS;\n min-width: 71px;\n min-height: tokens.$ifxSize400;\n line-height: tokens.$ifxLineHeightXs;\n }\n\n &.btn-primary,\n &.btn-secondary-primary,\n &.btn-secondary,\n &.btn-secondary-secondary,\n &.btn-success,\n &.btn-secondary-success,\n &.btn-danger,\n &.btn-secondary-danger,\n &.btn-warning,\n &.btn-secondary-warning,\n &.btn-tertiary {\n &:focus {\n box-shadow: none;\n\n }\n }\n\n &.btn-primary,\n &.btn-secondary-primary,\n &.btn-secondary,\n &.btn-secondary-secondary,\n &.btn-success,\n &.btn-secondary-success,\n &.btn-danger,\n &.btn-secondary-danger,\n &.btn-warning,\n &.btn-secondary-warning,\n &.btn-tertiary {\n &:focus-visible {\n box-shadow: 0 0 0 3px #B4DDD8;\n }\n }\n\n &:disabled,\n &.disabled {\n opacity: tokens.$ifxOpacity100;\n background-color: tokens.$ifxColorEngineering300;\n border-color: tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorBaseWhite;\n }\n\n\n &.btn-primary:not(:disabled, .disabled) {\n &:focus {\n background-color: tokens.$ifxColorOcean500;\n border-color: tokens.$ifxColorOcean500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorOcean600;\n border-color: tokens.$ifxColorOcean600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOcean700;\n border-color: tokens.$ifxColorOcean700;\n }\n }\n\n &.btn-secondary-primary:not(:disabled, .disabled) {\n\n &:focus {\n background-color: tokens.$ifxColorBaseTransparent;\n }\n\n &:hover {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorOcean600;\n border-color: tokens.$ifxColorOcean600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOcean700;\n border-color: tokens.$ifxColorOcean700;\n }\n }\n\n &.btn-secondary:not(:disabled, .disabled) {\n &:focus {\n background-color: tokens.$ifxColorBerry500;\n border-color: tokens.$ifxColorBerry500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorBerry500;\n border-color: tokens.$ifxColorBerry500;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorBerry500;\n border-color: tokens.$ifxColorBerry500;\n }\n }\n\n &.btn-secondary-secondary:not(:disabled, .disabled) {\n\n &:focus {\n background-color: tokens.$ifxColorBaseTransparent;\n }\n\n &:hover {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorBerry500;\n border-color: tokens.$ifxColorBerry500;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorBerry500;\n border-color: tokens.$ifxColorBerry500;\n }\n }\n\n &.btn-success:not(:disabled, .disabled) {\n\n &:focus {\n background-color: tokens.$ifxColorGreen500;\n border-color: tokens.$ifxColorGreen500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorGreen500;\n border-color: tokens.$ifxColorGreen500;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorGreen500;\n border-color: tokens.$ifxColorGreen500;\n }\n }\n\n &.btn-secondary-success:not(:disabled, .disabled) {\n color: tokens.$ifxColorBaseBlack;\n\n &:focus {\n background-color: tokens.$ifxColorBaseTransparent;\n }\n\n &:hover {\n background-color: tokens.$ifxColorGreen500;\n border-color: tokens.$ifxColorGreen500;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorGreen500;\n border-color: tokens.$ifxColorGreen500;\n }\n }\n\n &.btn-danger:not(:disabled, .disabled) {\n &:focus {\n background-color: tokens.$ifxColorRed500;\n border-color: tokens.$ifxColorRed500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorRed600;\n border-color: tokens.$ifxColorRed600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorRed700;\n border-color: tokens.$ifxColorRed700;\n }\n }\n\n &.btn-secondary-danger:not(:disabled, .disabled) {\n\n &:focus {\n background-color: tokens.$ifxColorBaseTransparent;\n }\n\n &:hover {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorRed600;\n border-color: tokens.$ifxColorRed600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorRed700;\n border-color: tokens.$ifxColorRed700;\n }\n }\n\n &.btn-warning:not(:disabled, .disabled) {\n\n &:focus {\n background-color: tokens.$ifxColorOrange500;\n border-color: tokens.$ifxColorOrange500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorOrange500;\n border-color: tokens.$ifxColorOrange500;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOrange500;\n border-color: tokens.$ifxColorOrange500;\n }\n }\n\n &.btn-secondary-warning:not(:disabled, .disabled) {\n color: tokens.$ifxColorBaseBlack;\n\n &:focus {\n background-color: tokens.$ifxColorBaseTransparent;\n }\n\n &:hover {\n background-color: tokens.$ifxColorOrange500;\n border-color: tokens.$ifxColorOrange500;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOrange500;\n border-color: tokens.$ifxColorOrange500;\n }\n }\n\n &.btn-primary-tertiary {\n background-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorOcean500;\n\n &:hover {\n color: tokens.$ifxColorOcean600;\n\n & svg {\n stroke: tokens.$ifxColorOcean600;\n }\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorOcean700;\n\n & svg {\n stroke: tokens.$ifxColorOcean700;\n }\n }\n\n &:disabled,\n &.disabled {\n opacity: tokens.$ifxOpacity100;\n background-color: tokens.$ifxColorBaseTransparent;\n border-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorEngineering300;\n\n & svg {\n stroke: tokens.$ifxColorEngineering300;\n }\n }\n\n & svg {\n stroke: tokens.$ifxColorOcean500;\n }\n }\n\n &.btn-secondary-tertiary {\n background-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorBerry500;\n\n &:hover {\n color: tokens.$ifxColorBerry500;\n\n & svg {\n stroke: tokens.$ifxColorBerry500;\n }\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorBerry500;\n\n & svg {\n stroke: tokens.$ifxColorBerry500;\n }\n }\n\n &:disabled,\n &.disabled {\n opacity: tokens.$ifxOpacity100;\n background-color: tokens.$ifxColorBaseTransparent;\n border-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorEngineering300;\n\n & svg {\n stroke: tokens.$ifxColorEngineering300;\n }\n }\n\n & svg {\n stroke: tokens.$ifxColorBerry500;\n }\n }\n\n &.btn-success-tertiary {\n background-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorGreen500;\n\n &:hover {\n color: tokens.$ifxColorGreen500;\n\n & svg {\n stroke: tokens.$ifxColorGreen500;\n }\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorGreen500;\n\n & svg {\n stroke: tokens.$ifxColorGreen500;\n }\n }\n\n &:disabled,\n &.disabled {\n opacity: tokens.$ifxOpacity100;\n background-color: tokens.$ifxColorBaseTransparent;\n border-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorEngineering300;\n\n & svg {\n stroke: tokens.$ifxColorEngineering300;\n }\n }\n\n & svg {\n stroke: tokens.$ifxColorGreen500;\n }\n }\n\n &.btn-danger-tertiary {\n background-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorRed500;\n\n &:hover {\n color: tokens.$ifxColorRed600;\n\n & svg {\n stroke: tokens.$ifxColorRed600;\n }\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorRed700;\n\n & svg {\n stroke: tokens.$ifxColorRed700;\n }\n }\n\n &:disabled,\n &.disabled {\n opacity: tokens.$ifxOpacity100;\n background-color: tokens.$ifxColorBaseTransparent;\n border-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorEngineering300;\n\n & svg {\n stroke: tokens.$ifxColorEngineering300;\n }\n }\n\n & svg {\n stroke: tokens.$ifxColorRed500;\n }\n }\n\n &.btn-warning-tertiary {\n background-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorOrange500;\n\n &:hover {\n color: tokens.$ifxColorOrange500;\n\n & svg {\n stroke: tokens.$ifxColorOrange500;\n }\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorOrange500;\n\n & svg {\n stroke: tokens.$ifxColorOrange500;\n }\n }\n\n &:disabled,\n &.disabled {\n opacity: tokens.$ifxOpacity100;\n background-color: tokens.$ifxColorBaseTransparent;\n border-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorEngineering300;\n\n & svg {\n stroke: tokens.$ifxColorEngineering300;\n }\n }\n\n & svg {\n stroke: tokens.$ifxColorOrange500;\n }\n }\n}\n\n\n\n.ifx {\n &__btn-icon {\n &--before {\n margin-right: 10px;\n }\n\n &--after {\n margin-left: 10px;\n }\n }\n}","import { Component, Prop, h, Host, Method, Element, Watch, State } from '@stencil/core';\nimport classNames from 'classnames';\n\n@Component({\n tag: 'ifx-example',\n styleUrl: 'example.scss',\n shadow: true,\n})\n\nexport class Example {\n @Prop() variant: 'primary' | 'secondary' | 'tertiary' = 'primary';\n @Prop() color: 'primary' | 'secondary' | 'success' | 'danger' | 'warning' = 'primary';\n @Prop() size: string = 'm';\n @Prop() disabled: boolean = false;\n @Prop() icon: string;\n @Prop() position: string = 'left'\n @State() internalPosition: string;\n @Prop() href: string;\n @Prop() target: string = '_self';\n @Element() el;\n @Prop() type: string = 'button'; // handle buttons of type button and of type submit\n\n private focusableElement: HTMLElement;\n private nativeButton: HTMLButtonElement;\n\n @Watch('position')\n reassignPosition(newValue: string) {\n if (newValue && newValue !== this.internalPosition) {\n if (newValue.toUpperCase() === \"LEFT\" || newValue.toUpperCase() === \"RIGHT\")\n this.internalPosition = newValue;\n }\n }\n\n @Method()\n async setFocus() {\n this.focusableElement.focus();\n }\n\n componentWillLoad() {\n if (this.position.toUpperCase() !== \"LEFT\") {\n this.internalPosition = 'left';\n } else this.internalPosition = this.position;\n }\n\n\n componentDidLoad() {\n if (this.type === 'submit' && this.el.closest('form')) {\n this.nativeButton = document.createElement('button');\n this.nativeButton.type = 'submit';\n this.nativeButton.style.display = 'none';\n this.el.closest('form').appendChild(this.nativeButton);\n }\n }\n\n handleClick() {\n if (this.nativeButton) {\n this.nativeButton.click();\n }\n }\n\n\n render() {\n return (\n <Host>\n {this.href ? (\n <a\n ref={(el) => (this.focusableElement = el)}\n class={this.getClassNames()}\n href={!this.disabled ? this.href : undefined}\n target={this.target}\n rel={this.target === '_blank' ? 'noopener noreferrer' : undefined}\n >\n {this.icon && this.internalPosition.toUpperCase() === \"LEFT\" && <ifx-icon icon={this.icon}></ifx-icon>}\n <slot></slot>\n {this.icon && this.internalPosition.toUpperCase() === \"RIGHT\" && <ifx-icon icon={this.icon}></ifx-icon>}\n\n </a>\n ) : (\n <button\n class={this.getClassNames()}\n type=\"button\"\n onClick={this.handleClick.bind(this)} // Add click handler\n\n >\n {this.icon && this.internalPosition.toUpperCase() === \"LEFT\" && <ifx-icon icon={this.icon}></ifx-icon>}\n <slot></slot>\n {this.icon && this.internalPosition.toUpperCase() === \"RIGHT\" && <ifx-icon icon={this.icon}></ifx-icon>}\n </button>\n )}\n </Host>\n );\n }\n\n\n getVariantClass() {\n return `${this.variant}` === \"secondary\"\n ? `secondary-${this.color}`\n : `${this.variant}` === 'tertiary'\n ? `${this.color}-tertiary`\n : `${this.color}`;\n }\n\n getSizeClass() {\n return `${this.size}` === \"s\"\n ? \"s\"\n : \"\";\n }\n\n getClassNames() {\n return classNames(\n 'btn',\n this.size && `btn-${this.getSizeClass()}`,\n `btn-${this.getVariantClass()}`,\n this.disabled ? 'disabled' : ''\n );\n }\n}"],"version":3}
@@ -3,9 +3,60 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b797e11e.js');
6
- const _commonjsHelpers = require('./_commonjsHelpers-4213291f.js');
6
+ const index$1 = require('./index-db78fac7.js');
7
7
 
8
- var choices = _commonjsHelpers.createCommonjsModule(function (module, exports) {
8
+ const iconButtonCss = ".btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px;gap:8px;color:#FFFFFF;flex-direction:row;font-weight:600;border-radius:1px;line-height:1.5rem;outline:none;font-family:\"Source Sans 3\";text-decoration:none;user-select:none;border:1px solid rgba(0, 0, 0, 0);font-size:1rem;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out}.btn:not(.disabled){cursor:pointer}.btn-primary{color:#FFFFFF;background-color:#0A8276}.btn-primary:disabled,.btn-primary.disabled{background-color:#BFBBBB;color:#FFFFFF;pointer-events:none}.btn-secondary{color:#0A8276;background-color:#FFFFFF;border-color:#0A8276}.btn-secondary:disabled,.btn-secondary.disabled{background-color:#FFFFFF;border:1px solid #BFBBBB;color:#BFBBBB;pointer-events:none}.btn-tertiary{background-color:transparent;color:#1D1D1D}.btn-tertiary:disabled,.btn-tertiary.disabled{color:#BFBBBB;pointer-events:none}.btn.icon-button{min-width:initial;min-height:initial;width:40px;height:40px;padding:0;justify-content:center}.btn.icon-button.btn-round{border-radius:100px}.btn.icon-button.btn-square{border-radius:1px}.btn.icon-button.btn-s{width:32px;height:32px;padding:8px}.btn.icon-button.btn-l{width:48px;height:48px;padding:8px}.btn.btn-primary:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-primary:not(:disabled,.disabled):hover{background-color:#08665C;border-color:#08665C}.btn.btn-primary:not(:disabled,.disabled):active,.btn.btn-primary:not(:disabled,.disabled).active{background-color:#06534B;border-color:#06534B}.btn.btn-secondary:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-secondary:not(:disabled,.disabled):hover{background-color:#08665C;border-color:#08665C;color:#FFFFFF}.btn.btn-secondary:not(:disabled,.disabled):active,.btn.btn-secondary:not(:disabled,.disabled).active{background-color:#06534B;border-color:#06534B}.btn.btn-tertiary:not(:disabled,.disabled):focus:not(:active,.active){outline:none;color:#1D1D1D;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-tertiary:not(:disabled,.disabled):hover{color:#0A8276}.btn.btn-tertiary:not(:disabled,.disabled):active,.btn.btn-tertiary:not(:disabled,.disabled).active{color:#08665C}";
9
+
10
+ const IconButton = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.variant = undefined;
14
+ this.size = undefined;
15
+ this.disabled = undefined;
16
+ this.icon = undefined;
17
+ this.href = undefined;
18
+ this.target = '_self';
19
+ this.shape = 'round';
20
+ }
21
+ async setFocus() {
22
+ this.focusableElement.focus();
23
+ }
24
+ componentWillLoad() {
25
+ if (this.shape === '') {
26
+ this.shape = 'round';
27
+ }
28
+ }
29
+ render() {
30
+ return (index.h(index.Host, null, this.href ? (index.h("a", { ref: (el) => (this.focusableElement = el), class: this.getClassNames(), href: !this.disabled ? this.href : undefined, target: this.target, rel: this.target === '_blank' ? 'noopener noreferrer' : undefined }, index.h("ifx-icon", { icon: this.icon }))) : (index.h("button", { class: this.getClassNames(), type: "button" }, index.h("ifx-icon", { icon: this.icon })))));
31
+ }
32
+ getVariantClass() {
33
+ return `${this.variant}` === "secondary"
34
+ ? `secondary`
35
+ : `${this.variant}` === 'tertiary'
36
+ ? `tertiary`
37
+ : `primary`;
38
+ }
39
+ getSizeClass() {
40
+ if (`${this.size}` === "xs") {
41
+ return "xs";
42
+ }
43
+ else if (`${this.size}` === "s") {
44
+ return "s";
45
+ }
46
+ else if (`${this.size}` === "l") {
47
+ return "l";
48
+ }
49
+ else
50
+ return "";
51
+ }
52
+ getClassNames() {
53
+ return index$1.classnames('btn icon-button', `btn-${this.shape}`, this.size && `btn-${this.getSizeClass()}`, `btn-${this.getVariantClass()}`, this.disabled ? 'disabled' : '');
54
+ }
55
+ get el() { return index.getElement(this); }
56
+ };
57
+ IconButton.style = iconButtonCss;
58
+
59
+ var choices = index$1.createCommonjsModule(function (module, exports) {
9
60
  /*! choices.js v10.2.0 | © 2022 Josh Johnson | https://github.com/jshjohnson/Choices#readme */
10
61
  (function webpackUniversalModuleDefinition(root, factory) {
11
62
  module.exports = factory();
@@ -6785,7 +6836,7 @@ __webpack_exports__ = __webpack_exports__["default"];
6785
6836
  });
6786
6837
  });
6787
6838
 
6788
- const ChoicesJs = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(choices);
6839
+ const ChoicesJs = /*@__PURE__*/index$1.getDefaultExportFromCjs(choices);
6789
6840
 
6790
6841
  /**
6791
6842
  * Filter out entries from an object.
@@ -7377,6 +7428,7 @@ const Choices = class {
7377
7428
  };
7378
7429
  Choices.style = selectCss;
7379
7430
 
7431
+ exports.ifx_icon_button = IconButton;
7380
7432
  exports.ifx_select = Choices;
7381
7433
 
7382
- //# sourceMappingURL=ifx-select.cjs.entry.js.map
7434
+ //# sourceMappingURL=ifx-icon-button_2.cjs.entry.js.map