@infineon/infineon-design-system-stencil 39.5.3--canary.2143.16bc8f3e0eeebd3d5fca2ecbdd97cc26bfe65b83.0 → 39.5.3--canary.2146.a9364eebdac00d61516c4228466401de7da3fc8e.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 (218) hide show
  1. package/dist/cjs/ifx-alert_2.cjs.entry.js +1 -1
  2. package/dist/cjs/ifx-basic-table.cjs.entry.js +1 -1
  3. package/dist/cjs/ifx-checkbox.cjs.entry.js +3 -3
  4. package/dist/cjs/ifx-checkbox.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ifx-checkbox.entry.cjs.js.map +1 -1
  6. package/dist/cjs/ifx-faq.cjs.entry.js +1 -1
  7. package/dist/cjs/ifx-filter-accordion.cjs.entry.js +2 -2
  8. package/dist/cjs/ifx-filter-bar.cjs.entry.js +1 -1
  9. package/dist/cjs/ifx-filter-search.cjs.entry.js +1 -1
  10. package/dist/cjs/ifx-filter-type-group.cjs.entry.js +1 -1
  11. package/dist/cjs/ifx-list-entry.cjs.entry.js +1 -1
  12. package/dist/cjs/ifx-multiselect_2.cjs.entry.js +10 -10
  13. package/dist/cjs/ifx-search-field.cjs.entry.js +59 -2
  14. package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ifx-search-field.entry.cjs.js.map +1 -1
  16. package/dist/cjs/ifx-segment.cjs.entry.js +1 -1
  17. package/dist/cjs/ifx-segmented-control.cjs.entry.js +2 -2
  18. package/dist/cjs/ifx-select.cjs.entry.js +2 -2
  19. package/dist/cjs/ifx-slider.cjs.entry.js +2 -2
  20. package/dist/cjs/ifx-spinner_2.cjs.entry.js +4 -4
  21. package/dist/cjs/ifx-status.cjs.entry.js +1 -1
  22. package/dist/cjs/ifx-step.cjs.entry.js +4 -4
  23. package/dist/cjs/ifx-stepper.cjs.entry.js +2 -2
  24. package/dist/cjs/ifx-switch.cjs.entry.js +1 -1
  25. package/dist/cjs/ifx-tab.cjs.entry.js +1 -1
  26. package/dist/cjs/ifx-table.cjs.entry.js +2 -2
  27. package/dist/cjs/ifx-tabs.cjs.entry.js +2 -2
  28. package/dist/cjs/ifx-templates-ui.cjs.entry.js +1 -1
  29. package/dist/cjs/ifx-textarea.cjs.entry.js +2 -2
  30. package/dist/cjs/ifx-tooltip.cjs.entry.js +4 -4
  31. package/dist/cjs/ifx-tree-view-item.cjs.entry.js +2 -2
  32. package/dist/cjs/ifx-tree-view.cjs.entry.js +1 -1
  33. package/dist/collection/components/checkbox/checkbox.js +3 -3
  34. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  35. package/dist/collection/components/search-field/search-field.js +59 -2
  36. package/dist/collection/components/search-field/search-field.js.map +1 -1
  37. package/dist/collection/components/segmented-control/segment/segment.js +1 -1
  38. package/dist/collection/components/segmented-control/segmented-control.js +2 -2
  39. package/dist/collection/components/select/multi-select/multiselect-option.js +4 -4
  40. package/dist/collection/components/select/multi-select/multiselect.js +6 -6
  41. package/dist/collection/components/select/single-select/select.js +2 -2
  42. package/dist/collection/components/slider/slider.js +2 -2
  43. package/dist/collection/components/spinner/spinner.js +2 -2
  44. package/dist/collection/components/status/status.js +1 -1
  45. package/dist/collection/components/stepper/step/step.js +4 -4
  46. package/dist/collection/components/stepper/stepper.js +2 -2
  47. package/dist/collection/components/switch/switch.js +1 -1
  48. package/dist/collection/components/table-advanced-version/filter-bar/filter-bar.js +1 -1
  49. package/dist/collection/components/table-advanced-version/filter-type-group/filter-accordion/filter-accordion.js +2 -2
  50. package/dist/collection/components/table-advanced-version/filter-type-group/filter-search/filter-search.js +1 -1
  51. package/dist/collection/components/table-advanced-version/filter-type-group/filter-type-group.js +1 -1
  52. package/dist/collection/components/table-advanced-version/list/list-entry/list-entry.js +1 -1
  53. package/dist/collection/components/table-advanced-version/table.js +2 -2
  54. package/dist/collection/components/table-basic-version/table.js +1 -1
  55. package/dist/collection/components/tabs/tab.js +1 -1
  56. package/dist/collection/components/tabs/tabs.js +2 -2
  57. package/dist/collection/components/templates/template/template.js +1 -1
  58. package/dist/collection/components/templates/templates-ui/templates-ui.js +1 -1
  59. package/dist/collection/components/text-field/text-field.js +2 -2
  60. package/dist/collection/components/textarea/textarea.js +2 -2
  61. package/dist/collection/components/tooltip/tooltip.js +4 -4
  62. package/dist/collection/components/tree-view/tree-view-item.js +2 -2
  63. package/dist/collection/components/tree-view/tree-view.js +1 -1
  64. package/dist/collection/stories/setup-and-installation/faq/faq.js +1 -1
  65. package/dist/components/ifx-basic-table.js +1 -1
  66. package/dist/components/ifx-checkbox.js +1 -1
  67. package/dist/components/ifx-chip-item.js +1 -1
  68. package/dist/components/ifx-faq.js +1 -1
  69. package/dist/components/ifx-filter-accordion.js +2 -2
  70. package/dist/components/ifx-filter-bar.js +1 -1
  71. package/dist/components/ifx-filter-search.js +2 -2
  72. package/dist/components/ifx-filter-type-group.js +1 -1
  73. package/dist/components/ifx-icons-preview.js +1 -1
  74. package/dist/components/ifx-list-entry.js +2 -2
  75. package/dist/components/ifx-multiselect-option.js +1 -1
  76. package/dist/components/ifx-multiselect.js +1 -1
  77. package/dist/components/ifx-pagination.js +1 -1
  78. package/dist/components/ifx-search-bar.js +1 -1
  79. package/dist/components/ifx-search-field.js +1 -1
  80. package/dist/components/ifx-segment.js +1 -1
  81. package/dist/components/ifx-segmented-control.js +2 -2
  82. package/dist/components/ifx-select.js +1 -1
  83. package/dist/components/ifx-set-filter.js +6 -6
  84. package/dist/components/ifx-slider.js +2 -2
  85. package/dist/components/ifx-spinner.js +1 -1
  86. package/dist/components/ifx-status.js +1 -1
  87. package/dist/components/ifx-step.js +4 -4
  88. package/dist/components/ifx-stepper.js +2 -2
  89. package/dist/components/ifx-switch.js +1 -1
  90. package/dist/components/ifx-tab.js +1 -1
  91. package/dist/components/ifx-table.js +6 -6
  92. package/dist/components/ifx-tabs.js +2 -2
  93. package/dist/components/ifx-template.js +1 -1
  94. package/dist/components/ifx-templates-ui.js +4 -4
  95. package/dist/components/ifx-text-field.js +1 -1
  96. package/dist/components/ifx-textarea.js +2 -2
  97. package/dist/components/ifx-tooltip.js +4 -4
  98. package/dist/components/ifx-tree-view-item.js +3 -3
  99. package/dist/components/ifx-tree-view.js +1 -1
  100. package/dist/components/{p-DQYngnHn.js → p-6UOiXwkU.js} +10 -10
  101. package/dist/components/{p-DQYngnHn.js.map → p-6UOiXwkU.js.map} +1 -1
  102. package/dist/components/{p-DGAOPH_P.js → p-B61i82g5.js} +4 -4
  103. package/dist/components/{p-DGAOPH_P.js.map → p-B61i82g5.js.map} +1 -1
  104. package/dist/components/{p-DxKWinW1.js → p-B6_UIgkY.js} +7 -7
  105. package/dist/components/{p-DxKWinW1.js.map → p-B6_UIgkY.js.map} +1 -1
  106. package/dist/components/{p-D7r3u21_.js → p-C53lC4vo.js} +3 -3
  107. package/dist/components/{p-D7r3u21_.js.map → p-C53lC4vo.js.map} +1 -1
  108. package/dist/components/{p-WVpEOqoG.js → p-D8qVzEkG.js} +3 -3
  109. package/dist/components/{p-WVpEOqoG.js.map → p-D8qVzEkG.js.map} +1 -1
  110. package/dist/components/{p-BxWZjkxk.js → p-DdOsLLJc.js} +4 -4
  111. package/dist/components/{p-BxWZjkxk.js.map → p-DdOsLLJc.js.map} +1 -1
  112. package/dist/components/{p-Dce2xAGf.js → p-DmM40b2X.js} +5 -5
  113. package/dist/components/{p-Dce2xAGf.js.map → p-DmM40b2X.js.map} +1 -1
  114. package/dist/components/{p-kFkxPh9g.js → p-GP5uSTr1.js} +4 -4
  115. package/dist/components/{p-kFkxPh9g.js.map → p-GP5uSTr1.js.map} +1 -1
  116. package/dist/components/{p-BO6nWGLo.js → p-ZCLJED5S.js} +61 -4
  117. package/dist/components/p-ZCLJED5S.js.map +1 -0
  118. package/dist/components/{p-CtzLf4yZ.js → p-p_vJwJcM.js} +5 -5
  119. package/dist/components/{p-CtzLf4yZ.js.map → p-p_vJwJcM.js.map} +1 -1
  120. package/dist/esm/ifx-alert_2.entry.js +1 -1
  121. package/dist/esm/ifx-basic-table.entry.js +1 -1
  122. package/dist/esm/ifx-checkbox.entry.js +3 -3
  123. package/dist/esm/ifx-checkbox.entry.js.map +1 -1
  124. package/dist/esm/ifx-faq.entry.js +1 -1
  125. package/dist/esm/ifx-filter-accordion.entry.js +2 -2
  126. package/dist/esm/ifx-filter-bar.entry.js +1 -1
  127. package/dist/esm/ifx-filter-search.entry.js +1 -1
  128. package/dist/esm/ifx-filter-type-group.entry.js +1 -1
  129. package/dist/esm/ifx-list-entry.entry.js +1 -1
  130. package/dist/esm/ifx-multiselect_2.entry.js +10 -10
  131. package/dist/esm/ifx-search-field.entry.js +59 -2
  132. package/dist/esm/ifx-search-field.entry.js.map +1 -1
  133. package/dist/esm/ifx-segment.entry.js +1 -1
  134. package/dist/esm/ifx-segmented-control.entry.js +2 -2
  135. package/dist/esm/ifx-select.entry.js +2 -2
  136. package/dist/esm/ifx-slider.entry.js +2 -2
  137. package/dist/esm/ifx-spinner_2.entry.js +4 -4
  138. package/dist/esm/ifx-status.entry.js +1 -1
  139. package/dist/esm/ifx-step.entry.js +4 -4
  140. package/dist/esm/ifx-stepper.entry.js +2 -2
  141. package/dist/esm/ifx-switch.entry.js +1 -1
  142. package/dist/esm/ifx-tab.entry.js +1 -1
  143. package/dist/esm/ifx-table.entry.js +2 -2
  144. package/dist/esm/ifx-tabs.entry.js +2 -2
  145. package/dist/esm/ifx-templates-ui.entry.js +1 -1
  146. package/dist/esm/ifx-textarea.entry.js +2 -2
  147. package/dist/esm/ifx-tooltip.entry.js +4 -4
  148. package/dist/esm/ifx-tree-view-item.entry.js +2 -2
  149. package/dist/esm/ifx-tree-view.entry.js +1 -1
  150. package/dist/infineon-design-system-stencil/ifx-checkbox.entry.esm.js.map +1 -1
  151. package/dist/infineon-design-system-stencil/ifx-search-field.entry.esm.js.map +1 -1
  152. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  153. package/dist/infineon-design-system-stencil/{p-8eef85bc.entry.js → p-0d4211db.entry.js} +2 -2
  154. package/dist/infineon-design-system-stencil/{p-44026267.entry.js → p-0d9da371.entry.js} +2 -2
  155. package/dist/infineon-design-system-stencil/{p-b3ba9994.entry.js → p-13fed6df.entry.js} +2 -2
  156. package/dist/infineon-design-system-stencil/p-22a45c93.entry.js +2 -0
  157. package/dist/infineon-design-system-stencil/{p-2a7e30cf.entry.js.map → p-22a45c93.entry.js.map} +1 -1
  158. package/dist/infineon-design-system-stencil/{p-2b4778da.entry.js → p-242fc6b0.entry.js} +2 -2
  159. package/dist/infineon-design-system-stencil/{p-ebce6648.entry.js → p-372fa9eb.entry.js} +2 -2
  160. package/dist/infineon-design-system-stencil/{p-ddff8e4e.entry.js → p-3f3a5140.entry.js} +2 -2
  161. package/dist/infineon-design-system-stencil/{p-c3362d41.entry.js → p-453bd9bd.entry.js} +2 -2
  162. package/dist/infineon-design-system-stencil/{p-39a29970.entry.js → p-54785004.entry.js} +2 -2
  163. package/dist/infineon-design-system-stencil/{p-f06af3d9.entry.js → p-6407c496.entry.js} +2 -2
  164. package/dist/infineon-design-system-stencil/{p-6162a610.entry.js → p-6504f8d0.entry.js} +2 -2
  165. package/dist/infineon-design-system-stencil/{p-fc030370.entry.js → p-83816596.entry.js} +2 -2
  166. package/dist/infineon-design-system-stencil/{p-8aabbd26.entry.js → p-8ab64504.entry.js} +2 -2
  167. package/dist/infineon-design-system-stencil/{p-9577d799.entry.js → p-913a8693.entry.js} +2 -2
  168. package/dist/infineon-design-system-stencil/{p-07e1efa5.entry.js → p-98c2e3a9.entry.js} +2 -2
  169. package/dist/infineon-design-system-stencil/{p-0d5a32ec.entry.js → p-9ea43bb7.entry.js} +2 -2
  170. package/dist/infineon-design-system-stencil/{p-f855d12d.entry.js → p-af1e0cb5.entry.js} +2 -2
  171. package/dist/infineon-design-system-stencil/p-b23596f4.entry.js +2 -0
  172. package/dist/infineon-design-system-stencil/p-b23596f4.entry.js.map +1 -0
  173. package/dist/infineon-design-system-stencil/{p-9dbede78.entry.js → p-b5efb1d6.entry.js} +2 -2
  174. package/dist/infineon-design-system-stencil/p-ba4ee343.entry.js +2 -0
  175. package/dist/infineon-design-system-stencil/p-c9d594e1.entry.js +2 -0
  176. package/dist/infineon-design-system-stencil/{p-bfbe3ddc.entry.js.map → p-c9d594e1.entry.js.map} +1 -1
  177. package/dist/infineon-design-system-stencil/p-d3a6bbf7.entry.js +2 -0
  178. package/dist/infineon-design-system-stencil/{p-3b5cf4ca.entry.js → p-dcc7240e.entry.js} +2 -2
  179. package/dist/infineon-design-system-stencil/{p-4fca78a6.entry.js → p-e7b72d33.entry.js} +2 -2
  180. package/dist/infineon-design-system-stencil/{p-fef185c2.entry.js → p-eed36710.entry.js} +2 -2
  181. package/dist/infineon-design-system-stencil/{p-49eb8d14.entry.js → p-f086a7d9.entry.js} +2 -2
  182. package/dist/infineon-design-system-stencil/p-f086a7d9.entry.js.map +1 -0
  183. package/dist/infineon-design-system-stencil/{p-a827c4bc.entry.js → p-f5811026.entry.js} +2 -2
  184. package/dist/infineon-design-system-stencil/{p-1fcb504e.entry.js → p-fe373208.entry.js} +2 -2
  185. package/dist/types/components/search-field/search-field.d.ts +4 -0
  186. package/package.json +2 -2
  187. package/dist/components/p-BO6nWGLo.js.map +0 -1
  188. package/dist/infineon-design-system-stencil/p-2537f7fe.entry.js +0 -2
  189. package/dist/infineon-design-system-stencil/p-2a7e30cf.entry.js +0 -2
  190. package/dist/infineon-design-system-stencil/p-49eb8d14.entry.js.map +0 -1
  191. package/dist/infineon-design-system-stencil/p-8d19ae4f.entry.js +0 -2
  192. package/dist/infineon-design-system-stencil/p-8d19ae4f.entry.js.map +0 -1
  193. package/dist/infineon-design-system-stencil/p-9c93e258.entry.js +0 -2
  194. package/dist/infineon-design-system-stencil/p-bfbe3ddc.entry.js +0 -2
  195. /package/dist/infineon-design-system-stencil/{p-8eef85bc.entry.js.map → p-0d4211db.entry.js.map} +0 -0
  196. /package/dist/infineon-design-system-stencil/{p-44026267.entry.js.map → p-0d9da371.entry.js.map} +0 -0
  197. /package/dist/infineon-design-system-stencil/{p-b3ba9994.entry.js.map → p-13fed6df.entry.js.map} +0 -0
  198. /package/dist/infineon-design-system-stencil/{p-2b4778da.entry.js.map → p-242fc6b0.entry.js.map} +0 -0
  199. /package/dist/infineon-design-system-stencil/{p-ebce6648.entry.js.map → p-372fa9eb.entry.js.map} +0 -0
  200. /package/dist/infineon-design-system-stencil/{p-ddff8e4e.entry.js.map → p-3f3a5140.entry.js.map} +0 -0
  201. /package/dist/infineon-design-system-stencil/{p-c3362d41.entry.js.map → p-453bd9bd.entry.js.map} +0 -0
  202. /package/dist/infineon-design-system-stencil/{p-39a29970.entry.js.map → p-54785004.entry.js.map} +0 -0
  203. /package/dist/infineon-design-system-stencil/{p-f06af3d9.entry.js.map → p-6407c496.entry.js.map} +0 -0
  204. /package/dist/infineon-design-system-stencil/{p-6162a610.entry.js.map → p-6504f8d0.entry.js.map} +0 -0
  205. /package/dist/infineon-design-system-stencil/{p-fc030370.entry.js.map → p-83816596.entry.js.map} +0 -0
  206. /package/dist/infineon-design-system-stencil/{p-8aabbd26.entry.js.map → p-8ab64504.entry.js.map} +0 -0
  207. /package/dist/infineon-design-system-stencil/{p-9577d799.entry.js.map → p-913a8693.entry.js.map} +0 -0
  208. /package/dist/infineon-design-system-stencil/{p-07e1efa5.entry.js.map → p-98c2e3a9.entry.js.map} +0 -0
  209. /package/dist/infineon-design-system-stencil/{p-0d5a32ec.entry.js.map → p-9ea43bb7.entry.js.map} +0 -0
  210. /package/dist/infineon-design-system-stencil/{p-f855d12d.entry.js.map → p-af1e0cb5.entry.js.map} +0 -0
  211. /package/dist/infineon-design-system-stencil/{p-9dbede78.entry.js.map → p-b5efb1d6.entry.js.map} +0 -0
  212. /package/dist/infineon-design-system-stencil/{p-9c93e258.entry.js.map → p-ba4ee343.entry.js.map} +0 -0
  213. /package/dist/infineon-design-system-stencil/{p-2537f7fe.entry.js.map → p-d3a6bbf7.entry.js.map} +0 -0
  214. /package/dist/infineon-design-system-stencil/{p-3b5cf4ca.entry.js.map → p-dcc7240e.entry.js.map} +0 -0
  215. /package/dist/infineon-design-system-stencil/{p-4fca78a6.entry.js.map → p-e7b72d33.entry.js.map} +0 -0
  216. /package/dist/infineon-design-system-stencil/{p-fef185c2.entry.js.map → p-eed36710.entry.js.map} +0 -0
  217. /package/dist/infineon-design-system-stencil/{p-a827c4bc.entry.js.map → p-f5811026.entry.js.map} +0 -0
  218. /package/dist/infineon-design-system-stencil/{p-1fcb504e.entry.js.map → p-fe373208.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{r as e,c as t,h as r,a as i}from"./p-DtIEDtZ8.js";import{d as a,t as o}from"./p-DcmcuUOA.js";import{i as s}from"./p-Bw2fh5LT.js";const l=":root{--ifx-font-family:\"Source Sans 3\", 'Arial, sans-serif'}:host{display:block}.alert__info-wrapper{display:flex;padding:16px 24px;font-family:var(--ifx-font-family);box-shadow:0px 6px 9px 0px rgba(29, 29, 29, 0.1019607843)}.alert__info-wrapper .info__text-wrapper{display:flex;flex-direction:column;gap:8px;width:100%}.alert__info-wrapper .info__text-wrapper .info__headline-wrapper{display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.alert__info-wrapper .info__text-wrapper .info__headline-wrapper,.alert__info-wrapper .info__text-wrapper .info__description-wrapper{color:#1D1D1D;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.alert__info-wrapper .info__text-wrapper .info__headline-wrapper ::slotted(p),.alert__info-wrapper .info__text-wrapper .info__description-wrapper ::slotted(p){padding:0;margin:0}.alert__info-wrapper .info__text-wrapper .info__description-wrapper{font-weight:400}.alert__info-wrapper .close-icon-wrapper{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.alert__info-wrapper .close-icon-wrapper button{all:unset;display:flex;align-items:center;justify-content:center;line-height:0;color:#1D1D1D;height:24px;width:24px}.alert__info-wrapper .close-icon-wrapper button:focus{outline:2px solid #0A8276;outline-offset:2px}.alert{display:flex;border:1px solid #0A8276;border-radius:1px;color:#1D1D1D;background-color:#FFFFFF;font-family:var(--ifx-font-family);box-shadow:0px 6px 9px 0px rgba(29, 29, 29, 0.1019607843)}.alert .close-icon-wrapper{display:flex;align-items:center;justify-content:center;min-width:40px}.alert .close-icon-wrapper button{all:unset;display:flex;align-items:center;justify-content:center;line-height:0;color:#1D1D1D;height:24px;width:24px}.alert .close-icon-wrapper button:focus{outline:2px solid #0A8276;outline-offset:2px}.alert .icon-wrapper{position:relative;min-width:48px;display:flex;justify-content:center;align-items:center;background-color:#0A8276}.alert .alert-text{font-size:16px;width:100%;padding:12px 0px 12px 12px;color:#1D1D1D;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;}.alert.primary{border:1px solid #0A8276}.alert.primary .icon-wrapper{background-color:#0A8276;color:#FFFFFF}.alert.success{border:1px solid #4CA460}.alert.success .icon-wrapper{background-color:#4CA460;color:#FFFFFF}.alert.danger{border:1px solid #CD002F}.alert.danger .icon-wrapper{background-color:#CD002F;color:#FFFFFF}.alert.warning{border:1px solid #E16B25}.alert.warning .icon-wrapper{background-color:#E16B25;color:#FFFFFF}.close-icon-wrapper ifx-icon:hover{cursor:pointer}";const n=class{constructor(r){e(this,r);this.ifxClose=t(this,"ifxClose",7);this.variant="primary";this.closable=true;this.AriaLive="assertive";this.alertTypeDescription={primary:"Neutral alert",success:"Success Alert",danger:"Error Alert",warning:"Warning Alert",info:"Neutral alert"}}handleClose(){this.ifxClose.emit()}renderCloseButton(){return r("div",{class:"close-icon-wrapper"},r("button",{onClick:this.handleClose.bind(this),"aria-label":"Dismiss alert"},r("ifx-icon",{icon:"cross-16"})))}generateUniqueId(e="id"){return`${e}-${Math.random().toString(36).substring(2,9)}`}componentWillLoad(){if(!this.uniqueId){this.uniqueId=this.generateUniqueId("alert")}}async componentDidLoad(){if(!s(this.el)){const e=await a();o("ifx-alert",e)}}render(){return this.variant==="info"?r("div",{class:"alert__info-wrapper",role:"alert","aria-live":this.AriaLive,"aria-describedby":this.alertTypeDescription[this.variant],"aria-labelledby":"alert-text alert-description"},r("div",{class:"info__text-wrapper"},r("div",{class:"info__headline-wrapper"},r("slot",{name:"headline"})),r("div",{id:`alert-description-${this.uniqueId}`,class:"info__description-wrapper"},r("slot",{name:"desc"}))),this.closable?this.renderCloseButton():null):r("div",{class:`alert ${this.variant}`,role:"alert"},this.icon&&r("div",{class:"icon-wrapper"},r("ifx-icon",{icon:this.icon})),r("div",{class:"alert-text",id:`alert-text-${this.uniqueId}`},r("slot",null)),this.closable?this.renderCloseButton():null)}get el(){return i(this)}};n.style=l;const p=".react__template-wrapper{display:flex;width:300px;height:200px;border-radius:3px;border:1px solid #ccc}.react__template-wrapper.hide{display:none}.react__template-wrapper:hover{cursor:pointer}.template__page-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.template__page-wrapper .repository__url{text-decoration:none}.input__fields-wrapper{display:flex;flex-direction:column;gap:10px}.details__wrapper{display:flex;flex-direction:column;gap:10px}.selection__buttons-wrapper{display:flex;gap:10px;padding-top:10px;align-items:center}.selection__buttons-wrapper .vue__label{color:#ccc}.selection__buttons-wrapper label:not(.vue__label):hover{cursor:pointer}.selection__buttons-wrapper .selection__input{display:flex;align-items:center;gap:5px}.selection__buttons-wrapper .selection__input input{margin:0;height:20px;width:20px}.selection__buttons-wrapper .selection__input input:hover:not(.vue__input){cursor:pointer}.image__wrapper img{position:relative;width:300px;height:100%;border-radius:3px;object-fit:contain;transition:transform 0.2s}.image__wrapper img:hover{transform:scale(2);top:50px;z-index:100}";const c=class{constructor(r){e(this,r);this.toggleTemplates=t(this,"toggleTemplates",7);this.fieldError=t(this,"fieldError",7);this.repoDetails={name:"",desc:"",framework:""};this.showDetails=false;this.isTemplatePage=false;this.isLoading=true;this.clientId="Ov23lixmXiNTTNb6V5W6";this.redirectUri="https://infineon.github.io/infineon-design-system-stencil/?path=/docs/dds-templates--development";this.scope="repo workflow";this.state="template123"}authUser(){const e=`https://github.com/login/oauth/authorize?`+`client_id=${this.clientId}&`+`redirect_uri=${this.redirectUri}&`+`scope=${this.scope}&`+`state=${this.state}`;window.open(e,"_blank")}componentDidLoad(){const e=new URL(window.location.href);const t=e.searchParams.get("code");const{templateName:r}=this.getLocalStorageValues();if(t&&this.name===r){this.isTemplatePage=true;this.toggleTemplates.emit("details");this.getUserToken(t)}}getLocalStorageValues(){const e=localStorage.getItem("repo_name");const t=localStorage.getItem("repo_desc");const r=localStorage.getItem("repo_framework");const i=localStorage.getItem("selectedTemplate");return{repoName:e,repoDesc:t,repoFramework:r,templateName:i}}async getUserToken(e){const{repoName:t,repoDesc:r,repoFramework:i,templateName:a}=this.getLocalStorageValues();fetch(`https://ddstemplate-srv.cfapps.eu10-004.hana.ondemand.com/token/${e}/${t}/${r}/${i}/${a}`).then((e=>{if(e.ok){return e.text()}else{return e.text().then((e=>{throw new Error(e)}))}})).then((e=>{if(e){this.isLoading=false;this.repoUrl=e;localStorage.clear()}})).catch((e=>{this.repoError=e.message;console.error("Error:",e.message)}))}handleUserInput(e,t){if(t==="name"){this.repoDetails=Object.assign(Object.assign({},this.repoDetails),{name:e.target.value})}else if(t==="desc"){this.repoDetails=Object.assign(Object.assign({},this.repoDetails),{desc:e.target.value})}else if(t==="framework"){this.repoDetails=Object.assign(Object.assign({},this.repoDetails),{framework:e.target.value})}}submitUserData(){if(this.repoDetails.name&&this.repoDetails.desc&&this.repoDetails.framework){localStorage.setItem("repo_name",this.repoDetails.name);localStorage.setItem("repo_desc",this.repoDetails.desc);localStorage.setItem("repo_framework",this.repoDetails.framework);localStorage.setItem("selectedTemplate",this.name);this.fieldError.emit(false);this.authUser()}else{this.fieldError.emit("All fields are mandatory")}}togglePadding(e){let t=this.el.parentElement;if(t){const r=t.getRootNode();if(r instanceof ShadowRoot){t=r.host.parentElement}else{t=t.parentElement}if(e==="remove"){t.parentElement.style.padding="0px"}else if(e==="add"){t.parentElement.style.padding="4rem 20px"}}}handleCurrentTemplate(e){if(e&&!this.showDetails){this.togglePadding("remove");const t=e.currentTarget;this.toggleTemplates.emit(t);this.showDetails=true}}async toggleTemplate(e){const t=this.el.shadowRoot.querySelector(".react__template-wrapper");if(t){if(!t.classList.contains("hide")&&e){if(t!==e){t.classList.add("hide")}}else{if(this.showDetails){this.showDetails=false}this.togglePadding("add");t.classList.remove("hide")}}}render(){return r("div",{key:"d08a82aa561c8fcf22ef3175f49ef8f52df575ae"},this.isTemplatePage?r("div",{class:"template__page-wrapper"},!this.repoUrl&&!this.repoError&&r("div",null,r("h3",null,"Your repository is getting ready.."),r("p",null,"This will only take a minute.")),this.isLoading&&!this.repoError&&r("div",null,r("ifx-spinner",{variant:"default",size:"s"})),this.repoUrl&&r("ifx-link",{href:this.repoUrl,target:"_parent",size:"m",variant:"underlined"},"Your repository"),this.repoError&&r("div",null,this.repoError)):r("div",{class:"react__template-container"},r("div",{class:"react__template-wrapper",onClick:e=>this.handleCurrentTemplate(e)},r("div",{class:"image__wrapper"},r("img",{src:this.thumbnail}))),this.showDetails&&r("div",{class:"details__wrapper"},r("div",{class:"selection__buttons-wrapper"},r("div",{class:"selection__input"},r("input",{type:"radio",id:"react",name:"chosen_framework",value:"react",onInput:e=>this.handleUserInput(e,"framework")}),r("label",{htmlFor:"react"},"React")),r("div",{class:"selection__input vue"},r("input",{class:"vue__input",disabled:true,type:"radio",id:"vue",name:"chosen_framework",value:"vue",onInput:e=>this.handleUserInput(e,"framework")}),r("label",{class:"vue__label",htmlFor:"vue"},"Vue")," (Soon)")),r("div",{class:"input__fields-wrapper"},r("ifx-text-field",{required:true,onInput:e=>this.handleUserInput(e,"name"),size:"m",icon:"c-info-16",placeholder:"Your repository name"},"Repository Name"),r("ifx-text-field",{required:true,size:"m",icon:"c-info-16",onInput:e=>this.handleUserInput(e,"desc"),placeholder:"Your repository description"},"Repository Description"),r("ifx-button",{fullWidth:true,onClick:()=>this.submitUserData(),variant:"primary"},"Generate template")))))}get el(){return i(this)}};c.style=p;export{n as ifx_alert,c as ifx_template};
2
- //# sourceMappingURL=p-b3ba9994.entry.js.map
1
+ import{r as e,c as t,h as r,a as i}from"./p-DtIEDtZ8.js";import{d as a,t as o}from"./p-DcmcuUOA.js";import{i as s}from"./p-Bw2fh5LT.js";const l=":root{--ifx-font-family:\"Source Sans 3\", 'Arial, sans-serif'}:host{display:block}.alert__info-wrapper{display:flex;padding:16px 24px;font-family:var(--ifx-font-family);box-shadow:0px 6px 9px 0px rgba(29, 29, 29, 0.1019607843)}.alert__info-wrapper .info__text-wrapper{display:flex;flex-direction:column;gap:8px;width:100%}.alert__info-wrapper .info__text-wrapper .info__headline-wrapper{display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.alert__info-wrapper .info__text-wrapper .info__headline-wrapper,.alert__info-wrapper .info__text-wrapper .info__description-wrapper{color:#1D1D1D;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.alert__info-wrapper .info__text-wrapper .info__headline-wrapper ::slotted(p),.alert__info-wrapper .info__text-wrapper .info__description-wrapper ::slotted(p){padding:0;margin:0}.alert__info-wrapper .info__text-wrapper .info__description-wrapper{font-weight:400}.alert__info-wrapper .close-icon-wrapper{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.alert__info-wrapper .close-icon-wrapper button{all:unset;display:flex;align-items:center;justify-content:center;line-height:0;color:#1D1D1D;height:24px;width:24px}.alert__info-wrapper .close-icon-wrapper button:focus{outline:2px solid #0A8276;outline-offset:2px}.alert{display:flex;border:1px solid #0A8276;border-radius:1px;color:#1D1D1D;background-color:#FFFFFF;font-family:var(--ifx-font-family);box-shadow:0px 6px 9px 0px rgba(29, 29, 29, 0.1019607843)}.alert .close-icon-wrapper{display:flex;align-items:center;justify-content:center;min-width:40px}.alert .close-icon-wrapper button{all:unset;display:flex;align-items:center;justify-content:center;line-height:0;color:#1D1D1D;height:24px;width:24px}.alert .close-icon-wrapper button:focus{outline:2px solid #0A8276;outline-offset:2px}.alert .icon-wrapper{position:relative;min-width:48px;display:flex;justify-content:center;align-items:center;background-color:#0A8276}.alert .alert-text{font-size:16px;width:100%;padding:12px 0px 12px 12px;color:#1D1D1D;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;}.alert.primary{border:1px solid #0A8276}.alert.primary .icon-wrapper{background-color:#0A8276;color:#FFFFFF}.alert.success{border:1px solid #4CA460}.alert.success .icon-wrapper{background-color:#4CA460;color:#FFFFFF}.alert.danger{border:1px solid #CD002F}.alert.danger .icon-wrapper{background-color:#CD002F;color:#FFFFFF}.alert.warning{border:1px solid #E16B25}.alert.warning .icon-wrapper{background-color:#E16B25;color:#FFFFFF}.close-icon-wrapper ifx-icon:hover{cursor:pointer}";const n=class{constructor(r){e(this,r);this.ifxClose=t(this,"ifxClose",7);this.variant="primary";this.closable=true;this.AriaLive="assertive";this.alertTypeDescription={primary:"Neutral alert",success:"Success Alert",danger:"Error Alert",warning:"Warning Alert",info:"Neutral alert"}}handleClose(){this.ifxClose.emit()}renderCloseButton(){return r("div",{class:"close-icon-wrapper"},r("button",{onClick:this.handleClose.bind(this),"aria-label":"Dismiss alert"},r("ifx-icon",{icon:"cross-16"})))}generateUniqueId(e="id"){return`${e}-${Math.random().toString(36).substring(2,9)}`}componentWillLoad(){if(!this.uniqueId){this.uniqueId=this.generateUniqueId("alert")}}async componentDidLoad(){if(!s(this.el)){const e=await a();o("ifx-alert",e)}}render(){return this.variant==="info"?r("div",{class:"alert__info-wrapper",role:"alert","aria-live":this.AriaLive,"aria-describedby":this.alertTypeDescription[this.variant],"aria-labelledby":"alert-text alert-description"},r("div",{class:"info__text-wrapper"},r("div",{class:"info__headline-wrapper"},r("slot",{name:"headline"})),r("div",{id:`alert-description-${this.uniqueId}`,class:"info__description-wrapper"},r("slot",{name:"desc"}))),this.closable?this.renderCloseButton():null):r("div",{class:`alert ${this.variant}`,role:"alert"},this.icon&&r("div",{class:"icon-wrapper"},r("ifx-icon",{icon:this.icon})),r("div",{class:"alert-text",id:`alert-text-${this.uniqueId}`},r("slot",null)),this.closable?this.renderCloseButton():null)}get el(){return i(this)}};n.style=l;const p=".react__template-wrapper{display:flex;width:300px;height:200px;border-radius:3px;border:1px solid #ccc}.react__template-wrapper.hide{display:none}.react__template-wrapper:hover{cursor:pointer}.template__page-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.template__page-wrapper .repository__url{text-decoration:none}.input__fields-wrapper{display:flex;flex-direction:column;gap:10px}.details__wrapper{display:flex;flex-direction:column;gap:10px}.selection__buttons-wrapper{display:flex;gap:10px;padding-top:10px;align-items:center}.selection__buttons-wrapper .vue__label{color:#ccc}.selection__buttons-wrapper label:not(.vue__label):hover{cursor:pointer}.selection__buttons-wrapper .selection__input{display:flex;align-items:center;gap:5px}.selection__buttons-wrapper .selection__input input{margin:0;height:20px;width:20px}.selection__buttons-wrapper .selection__input input:hover:not(.vue__input){cursor:pointer}.image__wrapper img{position:relative;width:300px;height:100%;border-radius:3px;object-fit:contain;transition:transform 0.2s}.image__wrapper img:hover{transform:scale(2);top:50px;z-index:100}";const c=class{constructor(r){e(this,r);this.toggleTemplates=t(this,"toggleTemplates",7);this.fieldError=t(this,"fieldError",7);this.repoDetails={name:"",desc:"",framework:""};this.showDetails=false;this.isTemplatePage=false;this.isLoading=true;this.clientId="Ov23lixmXiNTTNb6V5W6";this.redirectUri="https://infineon.github.io/infineon-design-system-stencil/?path=/docs/dds-templates--development";this.scope="repo workflow";this.state="template123"}authUser(){const e=`https://github.com/login/oauth/authorize?`+`client_id=${this.clientId}&`+`redirect_uri=${this.redirectUri}&`+`scope=${this.scope}&`+`state=${this.state}`;window.open(e,"_blank")}componentDidLoad(){const e=new URL(window.location.href);const t=e.searchParams.get("code");const{templateName:r}=this.getLocalStorageValues();if(t&&this.name===r){this.isTemplatePage=true;this.toggleTemplates.emit("details");this.getUserToken(t)}}getLocalStorageValues(){const e=localStorage.getItem("repo_name");const t=localStorage.getItem("repo_desc");const r=localStorage.getItem("repo_framework");const i=localStorage.getItem("selectedTemplate");return{repoName:e,repoDesc:t,repoFramework:r,templateName:i}}async getUserToken(e){const{repoName:t,repoDesc:r,repoFramework:i,templateName:a}=this.getLocalStorageValues();fetch(`https://ddstemplate-srv.cfapps.eu10-004.hana.ondemand.com/token/${e}/${t}/${r}/${i}/${a}`).then((e=>{if(e.ok){return e.text()}else{return e.text().then((e=>{throw new Error(e)}))}})).then((e=>{if(e){this.isLoading=false;this.repoUrl=e;localStorage.clear()}})).catch((e=>{this.repoError=e.message;console.error("Error:",e.message)}))}handleUserInput(e,t){if(t==="name"){this.repoDetails=Object.assign(Object.assign({},this.repoDetails),{name:e.target.value})}else if(t==="desc"){this.repoDetails=Object.assign(Object.assign({},this.repoDetails),{desc:e.target.value})}else if(t==="framework"){this.repoDetails=Object.assign(Object.assign({},this.repoDetails),{framework:e.target.value})}}submitUserData(){if(this.repoDetails.name&&this.repoDetails.desc&&this.repoDetails.framework){localStorage.setItem("repo_name",this.repoDetails.name);localStorage.setItem("repo_desc",this.repoDetails.desc);localStorage.setItem("repo_framework",this.repoDetails.framework);localStorage.setItem("selectedTemplate",this.name);this.fieldError.emit(false);this.authUser()}else{this.fieldError.emit("All fields are mandatory")}}togglePadding(e){let t=this.el.parentElement;if(t){const r=t.getRootNode();if(r instanceof ShadowRoot){t=r.host.parentElement}else{t=t.parentElement}if(e==="remove"){t.parentElement.style.padding="0px"}else if(e==="add"){t.parentElement.style.padding="4rem 20px"}}}handleCurrentTemplate(e){if(e&&!this.showDetails){this.togglePadding("remove");const t=e.currentTarget;this.toggleTemplates.emit(t);this.showDetails=true}}async toggleTemplate(e){const t=this.el.shadowRoot.querySelector(".react__template-wrapper");if(t){if(!t.classList.contains("hide")&&e){if(t!==e){t.classList.add("hide")}}else{if(this.showDetails){this.showDetails=false}this.togglePadding("add");t.classList.remove("hide")}}}render(){return r("div",{key:"05eceff653bfdbab6627a338ee585a6f3c7a3c07"},this.isTemplatePage?r("div",{class:"template__page-wrapper"},!this.repoUrl&&!this.repoError&&r("div",null,r("h3",null,"Your repository is getting ready.."),r("p",null,"This will only take a minute.")),this.isLoading&&!this.repoError&&r("div",null,r("ifx-spinner",{variant:"default",size:"s"})),this.repoUrl&&r("ifx-link",{href:this.repoUrl,target:"_parent",size:"m",variant:"underlined"},"Your repository"),this.repoError&&r("div",null,this.repoError)):r("div",{class:"react__template-container"},r("div",{class:"react__template-wrapper",onClick:e=>this.handleCurrentTemplate(e)},r("div",{class:"image__wrapper"},r("img",{src:this.thumbnail}))),this.showDetails&&r("div",{class:"details__wrapper"},r("div",{class:"selection__buttons-wrapper"},r("div",{class:"selection__input"},r("input",{type:"radio",id:"react",name:"chosen_framework",value:"react",onInput:e=>this.handleUserInput(e,"framework")}),r("label",{htmlFor:"react"},"React")),r("div",{class:"selection__input vue"},r("input",{class:"vue__input",disabled:true,type:"radio",id:"vue",name:"chosen_framework",value:"vue",onInput:e=>this.handleUserInput(e,"framework")}),r("label",{class:"vue__label",htmlFor:"vue"},"Vue")," (Soon)")),r("div",{class:"input__fields-wrapper"},r("ifx-text-field",{required:true,onInput:e=>this.handleUserInput(e,"name"),size:"m",icon:"c-info-16",placeholder:"Your repository name"},"Repository Name"),r("ifx-text-field",{required:true,size:"m",icon:"c-info-16",onInput:e=>this.handleUserInput(e,"desc"),placeholder:"Your repository description"},"Repository Description"),r("ifx-button",{fullWidth:true,onClick:()=>this.submitUserData(),variant:"primary"},"Generate template")))))}get el(){return i(this)}};c.style=p;export{n as ifx_alert,c as ifx_template};
2
+ //# sourceMappingURL=p-13fed6df.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as i,F as s,a as n}from"./p-DtIEDtZ8.js";const a='.tree-item{position:relative;cursor:pointer;list-style:none}.tree-item.tree-item--expanded{position:relative}.tree-item.tree-item--has-children{position:relative}.tree-item.tree-item--has-children .tree-item__header>.tree-item__chevron-container{display:flex}.tree-item.tree-item--has-children.tree-item--expanded .tree-item__header>.tree-item__chevron-container::after{display:block}.tree-item--disabled{cursor:not-allowed;pointer-events:none;color:#BFBBBB}.tree-item__content{display:flex;flex-direction:row}.tree-item__content:hover .tree-item__checkbox-container,.tree-item__content:hover .tree-item__header{background-color:#F7F7F7}.tree-item__checkbox-container{position:sticky;left:0;z-index:10;padding:4px;background-color:#FFFFFF}.tree-item__header{flex-grow:1;display:flex;align-items:center;white-space:nowrap;height:20px;padding-top:4px;padding-right:16px;padding-bottom:4px;padding-left:8px}.tree-item__chevron-container{display:none;align-items:center;margin-right:8px;height:20px}.tree-item__chevron-container::after{--height-line-start:28px;display:none;content:"";position:absolute;z-index:1;top:var(--height-line-start);left:auto;margin-left:8px;width:1px;height:calc(100% - var(--height-line-start));background-color:#EEEDED}.tree-item--disabled .tree-item__chevron-container::after{color:#EEEDED}.tree-item__chevron.chevron-down{transform:rotate(90deg)}.tree-item__chevron.chevron-right{transform:rotate(0)}.tree-item__label-icon-container{display:flex;align-items:center}.tree-item__label-icon-container:focus{outline:none}.tree-item__label-icon-container:focus-visible{outline:2px solid #0A8276;outline-offset:2px;border-radius:1px}.tree-item__icon-container{position:relative;width:16px;height:16px}.tree-item__icon-container ifx-icon{position:absolute;left:0;top:0;opacity:1;transition:opacity 0.2s ease-in-out}.tree-item__icon-container ifx-icon.icon--hidden{opacity:0}.tree-item__label{padding-left:8px}.tree-item__children{display:none}.tree-item[aria-expanded=true]>.tree-item__children{display:block}';const r=class{constructor(i){e(this,i);this.ifxTreeViewItemExpandChange=t(this,"ifxTreeViewItemExpandChange",7);this.ifxTreeViewItemCheckChange=t(this,"ifxTreeViewItemCheckChange",7);this.ifxTreeViewItemDisableChange=t(this,"ifxTreeViewItemDisableChange",7);this.expanded=false;this.initiallyExpanded=false;this.disableItem=false;this.initiallySelected=false;this.hasChildren=false;this.isChecked=false;this.partialChecked=false;this.level=0;this.disableAllItems=false;this.expandAllItems=false;this.suppressExpandEvents=false;this.findChildren=()=>Array.from(this.host.children).filter((e=>e instanceof HTMLElement&&e.tagName==="IFX-TREE-VIEW-ITEM"));this.calculateNodeLevel=()=>{let e=0,t=this.host.parentElement;while(t){if(t.tagName==="IFX-TREE-VIEW-ITEM")e++;t=t.parentElement}return e};this.handleStateChange=e=>{if(this.disabled)return;e.stopPropagation();this.updateCheckState(e.detail.checked)};this.handleCheckboxChange=e=>{var t,i;if(this.disabled)return;this.updateCheckState((i=(t=e.detail)===null||t===void 0?void 0:t.checked)!==null&&i!==void 0?i:!this.isChecked)};this.handleHeaderClick=({target:e})=>{if(this.disabled)return;if(!e.closest(".tree-item__checkbox-container, .tree-item__chevron-container")){if(this.hasChildren){const e=!this.isChecked;this.updateCheckState(e);const t=e?this.expandOrCollapseAllDescendants(true):this.expandOrCollapseAllDescendants(false);this.ifxTreeViewItemExpandChange.emit({expanded:e,affectedItems:t,component:this})}else{this.updateCheckState(!this.isChecked)}}};this.toggleExpand=()=>{if(this.disabled||!this.hasChildren)return;this.expanded=!this.expanded};this.handleKeyDown=e=>{var t,i,s,n,a,r;const h=Array.from(((t=this.host.closest("ifx-tree-view"))===null||t===void 0?void 0:t.querySelectorAll("ifx-tree-view-item"))||[]);const o=h.filter((e=>{var t,i;let s=(t=e.parentElement)===null||t===void 0?void 0:t.closest("ifx-tree-view-item");while(s){const e=s;if(!(e.expandAllItems||e.expanded))return false;s=(i=s.parentElement)===null||i===void 0?void 0:i.closest("ifx-tree-view-item")}return true}));const c=o.findIndex((e=>e===this.host));const l=e=>e===null||e===void 0?void 0:e.focus();switch(e.key){case"ArrowDown":{e.preventDefault();for(let e=c+1;e<o.length;e++){const t=o[e];if(!t.disabled){l((i=t.shadowRoot)===null||i===void 0?void 0:i.querySelector(".tree-item__label-icon-container"));break}}break}case"ArrowUp":{e.preventDefault();for(let e=c-1;e>=0;e--){const t=o[e];if(!t.disabled){l((s=t.shadowRoot)===null||s===void 0?void 0:s.querySelector(".tree-item__label-icon-container"));break}}break}case"ArrowRight":{e.preventDefault();if(!this.isExpanded&&this.hasChildren){this.expanded=true}else if(this.isExpanded&&this.hasChildren){const e=this.host.querySelector("ifx-tree-view-item");if(e&&!e.disabled){l((n=e.shadowRoot)===null||n===void 0?void 0:n.querySelector(".tree-item__label-icon-container"))}}break}case"ArrowLeft":{e.preventDefault();if(this.isExpanded&&this.hasChildren){this.expanded=false}else{const e=(a=this.host.parentElement)===null||a===void 0?void 0:a.closest("ifx-tree-view-item");if(e&&!e.disabled){l((r=e.shadowRoot)===null||r===void 0?void 0:r.querySelector(".tree-item__label-icon-container"))}}break}case" ":case"Enter":{e.preventDefault();if(this.hasChildren){const e=!this.isChecked;this.updateCheckState(e);const t=e?this.expandOrCollapseAllDescendants(true):this.expandOrCollapseAllDescendants(false);this.ifxTreeViewItemExpandChange.emit({expanded:e,affectedItems:t,component:this})}else{this.updateCheckState(!this.isChecked)}break}}}}get disabled(){return this.disableAllItems||this.disableItem}get isExpanded(){return this.expandAllItems||this.expanded}componentWillLoad(){this.expanded=this.initiallyExpanded;this.hasChildren=this.findChildren().length>0;this.level=this.calculateNodeLevel();this.host.setAttribute("data-level",this.level.toString());this.isChecked=this.initiallySelected;this.host.addEventListener("internal-check-state-change",this.handleStateChange)}componentDidLoad(){this.observeParentAttribute("disable-all-items",(e=>this.disableAllItems=e));this.observeParentAttribute("data-expand-all-items",(e=>this.expandAllItems=e),true);if(this.shouldExpandFromParent())this.expandAllDescendants();this.host["__stencil_instance"]=this;if(this.initiallySelected)setTimeout((()=>this.updateParentState()),0)}observeParentAttribute(e,t,i=false){let s=this.host.parentElement;while(s){if(s.tagName==="IFX-TREE-VIEW"||i&&s.hasAttribute(e)){const i=new MutationObserver((()=>t(s.hasAttribute(e))));i.observe(s,{attributes:true});t(s.hasAttribute(e));break}s=s.parentElement}}shouldExpandFromParent(){let e=this.host.parentElement;while(e){if(e.tagName==="IFX-TREE-VIEW"&&(e.hasAttribute("expand-all-items")||e.hasAttribute("data-expand-all-items")))return true;e=e.parentElement}return false}expandAllDescendants(){this.expanded=true;this.findChildren().forEach((e=>{var t,i;e.expanded=true;(i=(t=e).expandAllDescendants)===null||i===void 0?void 0:i.call(t)}))}expandOrCollapseAllDescendants(e){this.suppressExpandEvents=true;const t=[];this.expanded=e;if(this.hasChildren)t.push({expanded:e,value:this.value});this.findChildren().forEach((i=>{const s=i["__stencil_instance"];if(s&&s.hasChildren){s.suppressExpandEvents=true;s.expanded=e;t.push({expanded:e,value:s.value});if(s.hasChildren){const i=s.expandOrCollapseAllDescendants(e);t.push(...i)}}}));this.suppressExpandEvents=false;return t}async updateCheckState(e,t=false){if(this.disabled)return;if(!t&&this.hasChildren){const t=this.collectDescendantStates(e);this.setNodeState({isChecked:e,partialChecked:false},false);await this.updateChildrenSilently(e);this.ifxTreeViewItemCheckChange.emit({checked:e,indeterminate:false,value:this.value,affectedChildItems:t,component:this});this.updateParentState()}else if(t){this.setNodeState({isChecked:e,partialChecked:false},false)}else{this.setNodeState({isChecked:e,partialChecked:false});await this.updateChildrenState(e);this.updateParentState()}}async updateChildrenSilently(e){for(const t of this.findChildren()){const i=t["__stencil_instance"];if(i&&!i.disabled){i.setNodeState({isChecked:e,partialChecked:false},false);await i.updateChildrenSilently(e)}}}handleExpandedChange(e){if(!this.suppressExpandEvents){this.ifxTreeViewItemExpandChange.emit({expanded:e,value:this.value,affectedItems:[{expanded:e,value:this.value}],component:this})}}handleDisableItemChange(e){this.ifxTreeViewItemDisableChange.emit({disabled:e,component:this})}setNodeState(e,t=true){this.isChecked=e.isChecked;this.partialChecked=e.partialChecked;if(t){this.ifxTreeViewItemCheckChange.emit({checked:this.isChecked,indeterminate:this.partialChecked,value:this.value,level:this.level,disabled:this.disabled,component:this})}}collectDescendantStates(e){const t=[];const i=(s,n=false)=>{let a=s===this.host?this:s["__stencil_instance"];if(!n&&!(a===null||a===void 0?void 0:a.disabled)){t.push({checked:e,indeterminate:false,value:a===null||a===void 0?void 0:a.value})}Array.from(s.children).forEach((e=>{if(e.tagName==="IFX-TREE-VIEW-ITEM")i(e,false)}))};Array.from(this.host.children).forEach((e=>{if(e.tagName==="IFX-TREE-VIEW-ITEM")i(e,false)}));return t}async updateChildrenState(e){for(const t of this.findChildren()){const i=t["__stencil_instance"];if(i&&!i.disabled){await t.componentOnReady();t.dispatchEvent(new CustomEvent("internal-check-state-change",{detail:{checked:e},bubbles:false,composed:true}))}}}findSiblingNodes(e){return Array.from(e.children).filter((e=>e instanceof HTMLElement&&e.tagName==="IFX-TREE-VIEW-ITEM"))}updateParentState(){var e;const t=(e=this.host.parentElement)===null||e===void 0?void 0:e.closest("ifx-tree-view-item");if(!t)return;setTimeout((()=>{const e=t["__stencil_instance"];if(!e)return;const i=this.findSiblingNodes(t);const{allChecked:s,someChecked:n}=this.calculateSiblingStates(i);e.setNodeState({isChecked:s,partialChecked:!s&&n},false);e.updateParentState()}),0)}calculateSiblingStates(e){const t=e.map((e=>{const t=e["__stencil_instance"];return{checked:t===null||t===void 0?void 0:t.isChecked,partial:t===null||t===void 0?void 0:t.partialChecked}}));const i=t.filter((e=>e.checked)).length;const s=t.filter((e=>e.partial)).length;return{allChecked:t.length>0&&i===t.length&&s===0,someChecked:i>0||s>0}}render(){return i("div",{key:"06430c8297a83b8ede5128151c7393c3fd03e2a2",class:{"tree-item":true,"tree-item--expanded":this.isExpanded,"tree-item--has-children":this.hasChildren,"tree-item--disabled":this.disabled},role:"treeitem","aria-expanded":this.isExpanded?"true":"false","data-level":this.level,"aria-disabled":this.disabled?"true":undefined,"aria-label":this.ariaLabel},i("div",{key:"2de63b8310c477646aeaf8deb3131bba1dc3801d",class:"tree-item__content"},i("div",{key:"4269b1df1e670ec4106c1c4462cdd1dbe3cee7bd",class:"tree-item__checkbox-container",onClick:e=>e.stopPropagation()},i("ifx-checkbox",{key:"819444dfb6c9dd52a0aa703796c3e59c90616a79",size:"s",checked:this.partialChecked?false:this.isChecked,indeterminate:this.partialChecked,onIfxChange:this.handleCheckboxChange,disabled:this.disabled})),i("div",{key:"2b4f487b08fbb77eed104ecee0774033c26f96fd",class:"tree-item__header",style:{paddingLeft:`${this.level*24+10}px`},onClick:this.handleHeaderClick,tabIndex:-1,"aria-disabled":this.disabled?"true":undefined},this.hasChildren&&i("div",{key:"59770cbe680dce25156ded6580dad90d3f4cc880",class:"tree-item__chevron-container",onClick:this.toggleExpand},i("ifx-icon",{key:"ef7ef1761781d4c179ee696e08af6d24af7d9b9f",class:`tree-item__chevron ${this.isExpanded?"chevron-down":"chevron-right"}`,icon:"chevron-right-16"}),i("div",{key:"99ec9f0abe191fde4a158484fb3b74d9d4ce524e",class:"tree-item__line"})),i("div",{key:"e91ecf4d195285403ac2229fc838e470c0e46ba6",class:"tree-item__label-icon-container",tabIndex:this.disabled?-1:0,onKeyDown:this.handleKeyDown},i("div",{key:"a4b44e04c85234486602bdce7be330c7b9775233",class:"tree-item__icon-container"},this.hasChildren?i(s,null,i("ifx-icon",{class:{"icon--hidden":this.isExpanded},icon:"folder-16"}),i("ifx-icon",{class:{"icon--hidden":!this.isExpanded},icon:"folder-open-16"})):i("ifx-icon",{icon:"file-16"})),i("span",{key:"855ebc797490c23969a22b31fe8df64ffae2ff32",class:"tree-item__label"},i("slot",{key:"92d518b2c916f43229ca5f9a9c38809b08888d09"}))))),this.isExpanded&&i("div",{key:"769744e6235899295020700585f278ae8f3ba091",class:"tree-item__children"},i("slot",{key:"4e760a8d309e22549df336927b955a35036c1826",name:"children"})))}get host(){return n(this)}static get watchers(){return{expanded:["handleExpandedChange"],disableItem:["handleDisableItemChange"]}}};r.style=a;export{r as ifx_tree_view_item};
2
+ //# sourceMappingURL=p-22a45c93.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["treeViewItemCss","TreeViewItem","constructor","hostRef","this","expanded","initiallyExpanded","disableItem","initiallySelected","hasChildren","isChecked","partialChecked","level","disableAllItems","expandAllItems","suppressExpandEvents","findChildren","Array","from","host","children","filter","child","HTMLElement","tagName","calculateNodeLevel","parent","parentElement","handleStateChange","event","disabled","stopPropagation","updateCheckState","detail","checked","handleCheckboxChange","_b","_a","handleHeaderClick","target","closest","newCheckedState","affectedItems","expandOrCollapseAllDescendants","ifxTreeViewItemExpandChange","emit","component","toggleExpand","handleKeyDown","allItems","querySelectorAll","visibleItems","item","parentCmp","currentIndex","findIndex","el","focusLabelIcon","focus","key","preventDefault","i","length","next","shadowRoot","querySelector","prev","_c","isExpanded","firstChild","_d","_e","_f","componentWillLoad","setAttribute","toString","addEventListener","componentDidLoad","observeParentAttribute","val","shouldExpandFromParent","expandAllDescendants","setTimeout","updateParentState","attr","cb","breakOnAttr","hasAttribute","observer","MutationObserver","observe","attributes","forEach","call","expand","push","value","childInstance","childAffected","fromParent","affected","collectDescendantStates","setNodeState","updateChildrenSilently","ifxTreeViewItemCheckChange","indeterminate","affectedChildItems","updateChildrenState","handleExpandedChange","newValue","handleDisableItemChange","ifxTreeViewItemDisableChange","state","emitEvent","descendants","collect","skipSelf","instance","componentOnReady","dispatchEvent","CustomEvent","bubbles","composed","findSiblingNodes","parentInstance","siblings","allChecked","someChecked","calculateSiblingStates","states","map","sib","partial","checkedCount","partialCount","render","h","class","role","undefined","ariaLabel","onClick","e","size","onIfxChange","style","paddingLeft","tabIndex","icon","onKeyDown","Fragment","name"],"sources":["src/components/tree-view/tree-view-item.scss?tag=ifx-tree-view-item&encapsulation=shadow","src/components/tree-view/tree-view-item.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n.tree-item {\n position: relative;\n cursor: pointer;\n list-style: none;\n\n &.tree-item--expanded {\n position: relative;\n }\n\n &.tree-item--has-children {\n position: relative;\n\n .tree-item__header > .tree-item__chevron-container {\n display: flex;\n }\n\n &.tree-item--expanded {\n .tree-item__header > .tree-item__chevron-container::after {\n display: block;\n }\n }\n }\n\n &--disabled {\n cursor: not-allowed;\n pointer-events: none;\n color: tokens.$ifxColorEngineering300;\n }\n\n &__content {\n display: flex;\n flex-direction: row;\n\n &:hover {\n .tree-item__checkbox-container,\n .tree-item__header {\n background-color: tokens.$ifxColorEngineering100;\n }\n }\n }\n\n &__checkbox-container {\n position: sticky;\n left: 0;\n z-index: 10;\n padding: tokens.$ifxSpace50;\n background-color: tokens.$ifxColorBaseWhite;\n }\n\n &__header {\n flex-grow: 1;\n display: flex;\n align-items: center;\n white-space: nowrap;\n height: tokens.$ifxSize250;\n padding-top: tokens.$ifxSpace50;\n padding-right: tokens.$ifxSpace200;\n padding-bottom: tokens.$ifxSpace50;\n padding-left: tokens.$ifxSpace100;\n }\n\n &__chevron-container {\n display: none;\n align-items: center;\n margin-right: tokens.$ifxSpace100;\n height: tokens.$ifxSize250;\n\n &::after {\n --height-line-start: 28px;\n\n display: none;\n content: '';\n position: absolute;\n z-index: 1;\n top: var(--height-line-start);\n left: auto;\n margin-left: tokens.$ifxSpace100;\n width: tokens.$ifxSize12;\n height: calc(100% - var(--height-line-start));\n background-color: tokens.$ifxColorEngineering200;\n\n .tree-item--disabled & {\n color: tokens.$ifxColorEngineering200;\n }\n }\n }\n\n &__chevron {\n &.chevron-down {\n transform: rotate(90deg);\n }\n\n &.chevron-right {\n transform: rotate(0);\n }\n }\n\n &__label-icon-container {\n display: flex;\n align-items: center;\n\n &:focus {\n outline: none;\n }\n\n &:focus-visible {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n border-radius: tokens.$ifxBorderRadius12;\n }\n }\n\n &__icon-container {\n position: relative;\n width: tokens.$ifxSize200;\n height: tokens.$ifxSize200;\n\n ifx-icon {\n position: absolute;\n left: 0;\n top: 0;\n opacity: 1;\n transition: opacity 0.2s ease-in-out;\n\n &.icon--hidden {\n opacity: 0;\n }\n }\n }\n\n &__label {\n padding-left: tokens.$ifxSpace100;\n }\n\n &__children {\n display: none;\n\n .tree-item[aria-expanded=\"true\"] > & {\n display: block;\n }\n }\n}\n\n","import { Component, h, Prop, State, Element, Fragment, Event, EventEmitter, Watch } from '@stencil/core';\n\nexport interface TreeViewCheckChangeEvent {\n checked: boolean;\n indeterminate: boolean;\n value?: string;\n affectedChildItems?: Array<{ checked: boolean; indeterminate: boolean; value?: string }>;\n component?: TreeViewItem;\n}\n\nexport interface TreeViewExpandChangeEvent {\n expanded: boolean;\n value?: string;\n affectedItems?: Array<{ expanded: boolean; value?: string }>;\n component?: TreeViewItem;\n}\n\nexport interface TreeViewDisableChangeEvent {\n disabled: boolean;\n component?: TreeViewItem;\n}\n\ninterface TreeState {\n isChecked: boolean;\n partialChecked: boolean;\n}\n\ntype HTMLIfxTreeViewItemElement = HTMLElement & { componentOnReady: () => Promise<unknown> };\n\n@Component({\n tag: 'ifx-tree-view-item',\n styleUrl: 'tree-view-item.scss',\n shadow: true,\n})\nexport class TreeViewItem {\n @Element() host: HTMLElement;\n @Prop({ reflect: true, mutable: true }) expanded: boolean = false;\n @Prop() initiallyExpanded: boolean = false;\n @Prop() disableItem: boolean = false;\n @Prop() ariaLabel: string | null;\n @Prop() initiallySelected: boolean = false;\n @Prop() value: string;\n\n @Event() ifxTreeViewItemExpandChange: EventEmitter<TreeViewExpandChangeEvent>;\n @Event() ifxTreeViewItemCheckChange: EventEmitter<TreeViewCheckChangeEvent>;\n @Event() ifxTreeViewItemDisableChange: EventEmitter<TreeViewDisableChangeEvent>;\n\n @State() private hasChildren: boolean = false;\n @State() private isChecked: boolean = false;\n @State() private partialChecked: boolean = false;\n @State() private level: number = 0;\n @State() private disableAllItems: boolean = false;\n @State() private expandAllItems: boolean = false;\n @State() private suppressExpandEvents: boolean = false;\n\n private get disabled() {\n return this.disableAllItems || this.disableItem;\n }\n\n private get isExpanded() {\n return this.expandAllItems || this.expanded;\n }\n\n private findChildren = () =>\n Array.from(this.host.children)\n .filter((child): child is HTMLElement => child instanceof HTMLElement && child.tagName === 'IFX-TREE-VIEW-ITEM');\n\n private calculateNodeLevel = (): number => {\n let level = 0, parent = this.host.parentElement;\n while (parent) {\n if (parent.tagName === 'IFX-TREE-VIEW-ITEM') level++;\n parent = parent.parentElement;\n }\n return level;\n };\n\n componentWillLoad() {\n this.expanded = this.initiallyExpanded;\n this.hasChildren = this.findChildren().length > 0;\n this.level = this.calculateNodeLevel();\n this.host.setAttribute('data-level', this.level.toString());\n this.isChecked = this.initiallySelected;\n this.host.addEventListener('internal-check-state-change', this.handleStateChange);\n }\n\n componentDidLoad() {\n this.observeParentAttribute('disable-all-items', val => this.disableAllItems = val);\n this.observeParentAttribute('data-expand-all-items', val => this.expandAllItems = val, true);\n if (this.shouldExpandFromParent()) this.expandAllDescendants();\n (this.host as any)['__stencil_instance'] = this;\n if (this.initiallySelected) setTimeout(() => this.updateParentState(), 0);\n }\n\n private observeParentAttribute(attr: string, cb: (val: boolean) => void, breakOnAttr = false) {\n let parent = this.host.parentElement;\n while (parent) {\n if (parent.tagName === 'IFX-TREE-VIEW' || (breakOnAttr && parent.hasAttribute(attr))) {\n const observer = new MutationObserver(() => cb(parent.hasAttribute(attr)));\n observer.observe(parent, { attributes: true });\n cb(parent.hasAttribute(attr));\n break;\n }\n parent = parent.parentElement;\n }\n }\n\n private shouldExpandFromParent(): boolean {\n let parent = this.host.parentElement;\n while (parent) {\n if (\n parent.tagName === 'IFX-TREE-VIEW' &&\n (parent.hasAttribute('expand-all-items') || parent.hasAttribute('data-expand-all-items'))\n ) return true;\n parent = parent.parentElement;\n }\n return false;\n }\n\n private expandAllDescendants() {\n this.expanded = true;\n this.findChildren().forEach(child => {\n (child as any).expanded = true;\n (child as any).expandAllDescendants?.();\n });\n }\n\n private handleStateChange = (event: CustomEvent) => {\n if (this.disabled) return;\n event.stopPropagation();\n this.updateCheckState(event.detail.checked);\n };\n\n private handleCheckboxChange = (event: CustomEvent) => {\n if (this.disabled) return;\n this.updateCheckState(event.detail?.checked ?? !this.isChecked);\n };\n\n private handleHeaderClick = ({ target }: MouseEvent) => {\n if (this.disabled) return;\n if (!(target as HTMLElement).closest('.tree-item__checkbox-container, .tree-item__chevron-container')) {\n if (this.hasChildren) {\n const newCheckedState = !this.isChecked;\n this.updateCheckState(newCheckedState);\n const affectedItems = newCheckedState\n ? this.expandOrCollapseAllDescendants(true)\n : this.expandOrCollapseAllDescendants(false);\n this.ifxTreeViewItemExpandChange.emit({\n expanded: newCheckedState,\n affectedItems,\n component: this\n });\n } else {\n this.updateCheckState(!this.isChecked);\n }\n }\n };\n\n private expandOrCollapseAllDescendants(expand: boolean) {\n this.suppressExpandEvents = true;\n const affectedItems: Array<{ expanded: boolean; value?: string }> = [];\n this.expanded = expand;\n if (this.hasChildren) affectedItems.push({ expanded: expand, value: this.value });\n this.findChildren().forEach(child => {\n const childInstance = (child as any)['__stencil_instance'];\n if (childInstance && childInstance.hasChildren) {\n childInstance.suppressExpandEvents = true;\n childInstance.expanded = expand;\n affectedItems.push({ expanded: expand, value: childInstance.value });\n if (childInstance.hasChildren) {\n const childAffected = childInstance.expandOrCollapseAllDescendants(expand);\n affectedItems.push(...childAffected);\n }\n }\n });\n this.suppressExpandEvents = false;\n return affectedItems;\n }\n\n private async updateCheckState(checked: boolean, fromParent = false) {\n if (this.disabled) return;\n if (!fromParent && this.hasChildren) {\n const affected = this.collectDescendantStates(checked);\n this.setNodeState({ isChecked: checked, partialChecked: false }, false);\n await this.updateChildrenSilently(checked);\n this.ifxTreeViewItemCheckChange.emit({\n checked,\n indeterminate: false,\n value: this.value,\n affectedChildItems: affected,\n component: this,\n });\n this.updateParentState();\n } else if (fromParent) {\n this.setNodeState({ isChecked: checked, partialChecked: false }, false);\n } else {\n this.setNodeState({ isChecked: checked, partialChecked: false });\n await this.updateChildrenState(checked);\n this.updateParentState();\n }\n }\n\n private async updateChildrenSilently(checked: boolean) {\n for (const child of this.findChildren()) {\n const childInstance = (child as any)['__stencil_instance'];\n if (childInstance && !childInstance.disabled) {\n childInstance.setNodeState({ isChecked: checked, partialChecked: false }, false);\n await childInstance.updateChildrenSilently(checked);\n }\n }\n }\n\n @Watch('expanded')\n handleExpandedChange(newValue: boolean) {\n if (!this.suppressExpandEvents) {\n this.ifxTreeViewItemExpandChange.emit({\n expanded: newValue,\n value: this.value,\n affectedItems: [{ expanded: newValue, value: this.value }],\n component: this\n });\n }\n }\n\n @Watch('disableItem')\n handleDisableItemChange(newValue: boolean) {\n this.ifxTreeViewItemDisableChange.emit({ disabled: newValue, component: this });\n }\n\n private setNodeState(state: TreeState, emitEvent = true) {\n this.isChecked = state.isChecked;\n this.partialChecked = state.partialChecked;\n if (emitEvent) {\n this.ifxTreeViewItemCheckChange.emit({\n checked: this.isChecked,\n indeterminate: this.partialChecked,\n value: this.value,\n level: this.level,\n disabled: this.disabled,\n component: this\n } as any);\n }\n }\n\n private collectDescendantStates(checked: boolean) {\n const descendants: Array<{ checked: boolean; indeterminate: boolean; value?: string }> = [];\n const collect = (el: Element, skipSelf = false) => {\n let instance: any = el === this.host ? this : (el as any)['__stencil_instance'];\n if (!skipSelf && !instance?.disabled) {\n descendants.push({\n checked,\n indeterminate: false,\n value: instance?.value,\n });\n }\n Array.from(el.children)\n .forEach(child => {\n if (child.tagName === 'IFX-TREE-VIEW-ITEM') collect(child, false);\n });\n };\n Array.from(this.host.children)\n .forEach(child => {\n if (child.tagName === 'IFX-TREE-VIEW-ITEM') collect(child, false);\n });\n return descendants;\n }\n\n private async updateChildrenState(checked: boolean) {\n for (const child of this.findChildren()) {\n const childInstance = (child as any)['__stencil_instance'];\n if (childInstance && !childInstance.disabled) {\n await (child as HTMLIfxTreeViewItemElement).componentOnReady();\n child.dispatchEvent(new CustomEvent('internal-check-state-change', {\n detail: { checked },\n bubbles: false,\n composed: true\n }));\n }\n }\n }\n\n private findSiblingNodes(parent: HTMLElement): HTMLIfxTreeViewItemElement[] {\n return Array.from(parent.children)\n .filter((child): child is HTMLIfxTreeViewItemElement =>\n child instanceof HTMLElement && child.tagName === 'IFX-TREE-VIEW-ITEM'\n );\n }\n\n private updateParentState() {\n const parent = this.host.parentElement?.closest('ifx-tree-view-item') as HTMLIfxTreeViewItemElement;\n if (!parent) return;\n setTimeout(() => {\n const parentInstance = (parent as any)['__stencil_instance'] as TreeViewItem;\n if (!parentInstance) return;\n const siblings = this.findSiblingNodes(parent);\n const { allChecked, someChecked } = this.calculateSiblingStates(siblings);\n parentInstance.setNodeState({\n isChecked: allChecked,\n partialChecked: !allChecked && someChecked\n }, false);\n parentInstance.updateParentState();\n }, 0);\n }\n\n private calculateSiblingStates(siblings: HTMLIfxTreeViewItemElement[]) {\n const states = siblings.map(sib => {\n const instance = (sib as any)['__stencil_instance'] as TreeViewItem;\n return { checked: instance?.isChecked, partial: instance?.partialChecked };\n });\n const checkedCount = states.filter(state => state.checked).length;\n const partialCount = states.filter(state => state.partial).length;\n return {\n allChecked: states.length > 0 && checkedCount === states.length && partialCount === 0,\n someChecked: checkedCount > 0 || partialCount > 0\n };\n }\n\n private toggleExpand = () => {\n if (this.disabled || !this.hasChildren) return;\n this.expanded = !this.expanded;\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n const allItems = Array.from(\n this.host.closest('ifx-tree-view')?.querySelectorAll('ifx-tree-view-item') || []\n );\n const visibleItems = allItems.filter(item => {\n let parent = item.parentElement?.closest('ifx-tree-view-item');\n while (parent) {\n const parentCmp = parent as any;\n if (!(parentCmp.expandAllItems || parentCmp.expanded)) return false;\n parent = parent.parentElement?.closest('ifx-tree-view-item');\n }\n return true;\n });\n const currentIndex = visibleItems.findIndex(el => el === this.host);\n const focusLabelIcon = (el: Element | null) =>\n (el as HTMLElement | null)?.focus();\n\n switch (event.key) {\n case 'ArrowDown': {\n event.preventDefault();\n for (let i = currentIndex + 1; i < visibleItems.length; i++) {\n const next = visibleItems[i] as any;\n if (!next.disabled) {\n focusLabelIcon(next.shadowRoot?.querySelector('.tree-item__label-icon-container'));\n break;\n }\n }\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n for (let i = currentIndex - 1; i >= 0; i--) {\n const prev = visibleItems[i] as any;\n if (!prev.disabled) {\n focusLabelIcon(prev.shadowRoot?.querySelector('.tree-item__label-icon-container'));\n break;\n }\n }\n break;\n }\n case 'ArrowRight': {\n event.preventDefault();\n if (!this.isExpanded && this.hasChildren) {\n this.expanded = true;\n } else if (this.isExpanded && this.hasChildren) {\n const firstChild = this.host.querySelector('ifx-tree-view-item');\n if (firstChild && !(firstChild as any).disabled) {\n focusLabelIcon((firstChild as HTMLElement).shadowRoot?.querySelector('.tree-item__label-icon-container'));\n }\n }\n break;\n }\n case 'ArrowLeft': {\n event.preventDefault();\n if (this.isExpanded && this.hasChildren) {\n this.expanded = false;\n } else {\n const parent = this.host.parentElement?.closest('ifx-tree-view-item');\n if (parent && !(parent as any).disabled) {\n focusLabelIcon((parent as HTMLElement).shadowRoot?.querySelector('.tree-item__label-icon-container'));\n }\n }\n break;\n }\n case ' ':\n case 'Enter': {\n event.preventDefault();\n if (this.hasChildren) {\n const newCheckedState = !this.isChecked;\n this.updateCheckState(newCheckedState);\n const affectedItems = newCheckedState\n ? this.expandOrCollapseAllDescendants(true)\n : this.expandOrCollapseAllDescendants(false);\n this.ifxTreeViewItemExpandChange.emit({\n expanded: newCheckedState,\n affectedItems,\n component: this\n });\n } else {\n this.updateCheckState(!this.isChecked);\n }\n break;\n }\n }\n };\n\n render() {\n return (\n <div\n class={{\n 'tree-item': true,\n 'tree-item--expanded': this.isExpanded,\n 'tree-item--has-children': this.hasChildren,\n 'tree-item--disabled': this.disabled,\n }}\n role=\"treeitem\"\n aria-expanded={this.isExpanded ? 'true' : 'false'}\n data-level={this.level}\n aria-disabled={this.disabled ? 'true' : undefined}\n aria-label={this.ariaLabel}\n >\n <div class=\"tree-item__content\">\n <div class=\"tree-item__checkbox-container\" onClick={e => e.stopPropagation()}>\n <ifx-checkbox\n size='s'\n checked={this.partialChecked ? false : this.isChecked}\n indeterminate={this.partialChecked}\n onIfxChange={this.handleCheckboxChange}\n disabled={this.disabled}\n />\n </div>\n <div\n class=\"tree-item__header\"\n style={{ paddingLeft: `${this.level * 24 + 10}px` }}\n onClick={this.handleHeaderClick}\n tabIndex={-1}\n aria-disabled={this.disabled ? 'true' : undefined}\n >\n {this.hasChildren && (\n <div class=\"tree-item__chevron-container\" onClick={this.toggleExpand}>\n <ifx-icon class={`tree-item__chevron ${this.isExpanded ? 'chevron-down' : 'chevron-right'}`}\n icon=\"chevron-right-16\"/>\n <div class=\"tree-item__line\"/>\n </div>\n )}\n <div\n class=\"tree-item__label-icon-container\"\n tabIndex={this.disabled ? -1 : 0}\n onKeyDown={this.handleKeyDown}\n >\n <div class=\"tree-item__icon-container\">\n {this.hasChildren ? (\n <Fragment>\n <ifx-icon class={{'icon--hidden': this.isExpanded}} icon=\"folder-16\"/>\n <ifx-icon class={{'icon--hidden': !this.isExpanded}} icon=\"folder-open-16\"/>\n </Fragment>\n ) : (\n <ifx-icon icon=\"file-16\"/>\n )}\n </div>\n <span class=\"tree-item__label\"><slot/></span>\n </div>\n </div>\n </div>\n {this.isExpanded && <div class=\"tree-item__children\"><slot name=\"children\"/></div>}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["treeViewItemCss","TreeViewItem","constructor","hostRef","this","expanded","initiallyExpanded","disableItem","initiallySelected","hasChildren","isChecked","partialChecked","level","disableAllItems","expandAllItems","suppressExpandEvents","findChildren","Array","from","host","children","filter","child","HTMLElement","tagName","calculateNodeLevel","parent","parentElement","handleStateChange","event","disabled","stopPropagation","updateCheckState","detail","checked","handleCheckboxChange","_b","_a","handleHeaderClick","target","closest","newCheckedState","affectedItems","expandOrCollapseAllDescendants","ifxTreeViewItemExpandChange","emit","component","toggleExpand","handleKeyDown","allItems","querySelectorAll","visibleItems","item","parentCmp","currentIndex","findIndex","el","focusLabelIcon","focus","key","preventDefault","i","length","next","shadowRoot","querySelector","prev","_c","isExpanded","firstChild","_d","_e","_f","componentWillLoad","setAttribute","toString","addEventListener","componentDidLoad","observeParentAttribute","val","shouldExpandFromParent","expandAllDescendants","setTimeout","updateParentState","attr","cb","breakOnAttr","hasAttribute","observer","MutationObserver","observe","attributes","forEach","call","expand","push","value","childInstance","childAffected","fromParent","affected","collectDescendantStates","setNodeState","updateChildrenSilently","ifxTreeViewItemCheckChange","indeterminate","affectedChildItems","updateChildrenState","handleExpandedChange","newValue","handleDisableItemChange","ifxTreeViewItemDisableChange","state","emitEvent","descendants","collect","skipSelf","instance","componentOnReady","dispatchEvent","CustomEvent","bubbles","composed","findSiblingNodes","parentInstance","siblings","allChecked","someChecked","calculateSiblingStates","states","map","sib","partial","checkedCount","partialCount","render","h","class","role","undefined","ariaLabel","onClick","e","size","onIfxChange","style","paddingLeft","tabIndex","icon","onKeyDown","Fragment","name"],"sources":["src/components/tree-view/tree-view-item.scss?tag=ifx-tree-view-item&encapsulation=shadow","src/components/tree-view/tree-view-item.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n.tree-item {\n position: relative;\n cursor: pointer;\n list-style: none;\n\n &.tree-item--expanded {\n position: relative;\n }\n\n &.tree-item--has-children {\n position: relative;\n\n .tree-item__header > .tree-item__chevron-container {\n display: flex;\n }\n\n &.tree-item--expanded {\n .tree-item__header > .tree-item__chevron-container::after {\n display: block;\n }\n }\n }\n\n &--disabled {\n cursor: not-allowed;\n pointer-events: none;\n color: tokens.$ifxColorEngineering300;\n }\n\n &__content {\n display: flex;\n flex-direction: row;\n\n &:hover {\n .tree-item__checkbox-container,\n .tree-item__header {\n background-color: tokens.$ifxColorEngineering100;\n }\n }\n }\n\n &__checkbox-container {\n position: sticky;\n left: 0;\n z-index: 10;\n padding: tokens.$ifxSpace50;\n background-color: tokens.$ifxColorBaseWhite;\n }\n\n &__header {\n flex-grow: 1;\n display: flex;\n align-items: center;\n white-space: nowrap;\n height: tokens.$ifxSize250;\n padding-top: tokens.$ifxSpace50;\n padding-right: tokens.$ifxSpace200;\n padding-bottom: tokens.$ifxSpace50;\n padding-left: tokens.$ifxSpace100;\n }\n\n &__chevron-container {\n display: none;\n align-items: center;\n margin-right: tokens.$ifxSpace100;\n height: tokens.$ifxSize250;\n\n &::after {\n --height-line-start: 28px;\n\n display: none;\n content: '';\n position: absolute;\n z-index: 1;\n top: var(--height-line-start);\n left: auto;\n margin-left: tokens.$ifxSpace100;\n width: tokens.$ifxSize12;\n height: calc(100% - var(--height-line-start));\n background-color: tokens.$ifxColorEngineering200;\n\n .tree-item--disabled & {\n color: tokens.$ifxColorEngineering200;\n }\n }\n }\n\n &__chevron {\n &.chevron-down {\n transform: rotate(90deg);\n }\n\n &.chevron-right {\n transform: rotate(0);\n }\n }\n\n &__label-icon-container {\n display: flex;\n align-items: center;\n\n &:focus {\n outline: none;\n }\n\n &:focus-visible {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n border-radius: tokens.$ifxBorderRadius12;\n }\n }\n\n &__icon-container {\n position: relative;\n width: tokens.$ifxSize200;\n height: tokens.$ifxSize200;\n\n ifx-icon {\n position: absolute;\n left: 0;\n top: 0;\n opacity: 1;\n transition: opacity 0.2s ease-in-out;\n\n &.icon--hidden {\n opacity: 0;\n }\n }\n }\n\n &__label {\n padding-left: tokens.$ifxSpace100;\n }\n\n &__children {\n display: none;\n\n .tree-item[aria-expanded=\"true\"] > & {\n display: block;\n }\n }\n}\n\n","import { Component, h, Prop, State, Element, Fragment, Event, EventEmitter, Watch } from '@stencil/core';\n\nexport interface TreeViewCheckChangeEvent {\n checked: boolean;\n indeterminate: boolean;\n value?: string;\n affectedChildItems?: Array<{ checked: boolean; indeterminate: boolean; value?: string }>;\n component?: TreeViewItem;\n}\n\nexport interface TreeViewExpandChangeEvent {\n expanded: boolean;\n value?: string;\n affectedItems?: Array<{ expanded: boolean; value?: string }>;\n component?: TreeViewItem;\n}\n\nexport interface TreeViewDisableChangeEvent {\n disabled: boolean;\n component?: TreeViewItem;\n}\n\ninterface TreeState {\n isChecked: boolean;\n partialChecked: boolean;\n}\n\ntype HTMLIfxTreeViewItemElement = HTMLElement & { componentOnReady: () => Promise<unknown> };\n\n@Component({\n tag: 'ifx-tree-view-item',\n styleUrl: 'tree-view-item.scss',\n shadow: true,\n})\nexport class TreeViewItem {\n @Element() host: HTMLElement;\n @Prop({ reflect: true, mutable: true }) expanded: boolean = false;\n @Prop() initiallyExpanded: boolean = false;\n @Prop() disableItem: boolean = false;\n @Prop() ariaLabel: string | null;\n @Prop() initiallySelected: boolean = false;\n @Prop() value: string;\n\n @Event() ifxTreeViewItemExpandChange: EventEmitter<TreeViewExpandChangeEvent>;\n @Event() ifxTreeViewItemCheckChange: EventEmitter<TreeViewCheckChangeEvent>;\n @Event() ifxTreeViewItemDisableChange: EventEmitter<TreeViewDisableChangeEvent>;\n\n @State() private hasChildren: boolean = false;\n @State() private isChecked: boolean = false;\n @State() private partialChecked: boolean = false;\n @State() private level: number = 0;\n @State() private disableAllItems: boolean = false;\n @State() private expandAllItems: boolean = false;\n @State() private suppressExpandEvents: boolean = false;\n\n private get disabled() {\n return this.disableAllItems || this.disableItem;\n }\n\n private get isExpanded() {\n return this.expandAllItems || this.expanded;\n }\n\n private findChildren = () =>\n Array.from(this.host.children)\n .filter((child): child is HTMLElement => child instanceof HTMLElement && child.tagName === 'IFX-TREE-VIEW-ITEM');\n\n private calculateNodeLevel = (): number => {\n let level = 0, parent = this.host.parentElement;\n while (parent) {\n if (parent.tagName === 'IFX-TREE-VIEW-ITEM') level++;\n parent = parent.parentElement;\n }\n return level;\n };\n\n componentWillLoad() {\n this.expanded = this.initiallyExpanded;\n this.hasChildren = this.findChildren().length > 0;\n this.level = this.calculateNodeLevel();\n this.host.setAttribute('data-level', this.level.toString());\n this.isChecked = this.initiallySelected;\n this.host.addEventListener('internal-check-state-change', this.handleStateChange);\n }\n\n componentDidLoad() {\n this.observeParentAttribute('disable-all-items', val => this.disableAllItems = val);\n this.observeParentAttribute('data-expand-all-items', val => this.expandAllItems = val, true);\n if (this.shouldExpandFromParent()) this.expandAllDescendants();\n (this.host as any)['__stencil_instance'] = this;\n if (this.initiallySelected) setTimeout(() => this.updateParentState(), 0);\n }\n\n private observeParentAttribute(attr: string, cb: (val: boolean) => void, breakOnAttr = false) {\n let parent = this.host.parentElement;\n while (parent) {\n if (parent.tagName === 'IFX-TREE-VIEW' || (breakOnAttr && parent.hasAttribute(attr))) {\n const observer = new MutationObserver(() => cb(parent.hasAttribute(attr)));\n observer.observe(parent, { attributes: true });\n cb(parent.hasAttribute(attr));\n break;\n }\n parent = parent.parentElement;\n }\n }\n\n private shouldExpandFromParent(): boolean {\n let parent = this.host.parentElement;\n while (parent) {\n if (\n parent.tagName === 'IFX-TREE-VIEW' &&\n (parent.hasAttribute('expand-all-items') || parent.hasAttribute('data-expand-all-items'))\n ) return true;\n parent = parent.parentElement;\n }\n return false;\n }\n\n private expandAllDescendants() {\n this.expanded = true;\n this.findChildren().forEach(child => {\n (child as any).expanded = true;\n (child as any).expandAllDescendants?.();\n });\n }\n\n private handleStateChange = (event: CustomEvent) => {\n if (this.disabled) return;\n event.stopPropagation();\n this.updateCheckState(event.detail.checked);\n };\n\n private handleCheckboxChange = (event: CustomEvent) => {\n if (this.disabled) return;\n this.updateCheckState(event.detail?.checked ?? !this.isChecked);\n };\n\n private handleHeaderClick = ({ target }: MouseEvent) => {\n if (this.disabled) return;\n if (!(target as HTMLElement).closest('.tree-item__checkbox-container, .tree-item__chevron-container')) {\n if (this.hasChildren) {\n const newCheckedState = !this.isChecked;\n this.updateCheckState(newCheckedState);\n const affectedItems = newCheckedState\n ? this.expandOrCollapseAllDescendants(true)\n : this.expandOrCollapseAllDescendants(false);\n this.ifxTreeViewItemExpandChange.emit({\n expanded: newCheckedState,\n affectedItems,\n component: this\n });\n } else {\n this.updateCheckState(!this.isChecked);\n }\n }\n };\n\n private expandOrCollapseAllDescendants(expand: boolean) {\n this.suppressExpandEvents = true;\n const affectedItems: Array<{ expanded: boolean; value?: string }> = [];\n this.expanded = expand;\n if (this.hasChildren) affectedItems.push({ expanded: expand, value: this.value });\n this.findChildren().forEach(child => {\n const childInstance = (child as any)['__stencil_instance'];\n if (childInstance && childInstance.hasChildren) {\n childInstance.suppressExpandEvents = true;\n childInstance.expanded = expand;\n affectedItems.push({ expanded: expand, value: childInstance.value });\n if (childInstance.hasChildren) {\n const childAffected = childInstance.expandOrCollapseAllDescendants(expand);\n affectedItems.push(...childAffected);\n }\n }\n });\n this.suppressExpandEvents = false;\n return affectedItems;\n }\n\n private async updateCheckState(checked: boolean, fromParent = false) {\n if (this.disabled) return;\n if (!fromParent && this.hasChildren) {\n const affected = this.collectDescendantStates(checked);\n this.setNodeState({ isChecked: checked, partialChecked: false }, false);\n await this.updateChildrenSilently(checked);\n this.ifxTreeViewItemCheckChange.emit({\n checked,\n indeterminate: false,\n value: this.value,\n affectedChildItems: affected,\n component: this,\n });\n this.updateParentState();\n } else if (fromParent) {\n this.setNodeState({ isChecked: checked, partialChecked: false }, false);\n } else {\n this.setNodeState({ isChecked: checked, partialChecked: false });\n await this.updateChildrenState(checked);\n this.updateParentState();\n }\n }\n\n private async updateChildrenSilently(checked: boolean) {\n for (const child of this.findChildren()) {\n const childInstance = (child as any)['__stencil_instance'];\n if (childInstance && !childInstance.disabled) {\n childInstance.setNodeState({ isChecked: checked, partialChecked: false }, false);\n await childInstance.updateChildrenSilently(checked);\n }\n }\n }\n\n @Watch('expanded')\n handleExpandedChange(newValue: boolean) {\n if (!this.suppressExpandEvents) {\n this.ifxTreeViewItemExpandChange.emit({\n expanded: newValue,\n value: this.value,\n affectedItems: [{ expanded: newValue, value: this.value }],\n component: this\n });\n }\n }\n\n @Watch('disableItem')\n handleDisableItemChange(newValue: boolean) {\n this.ifxTreeViewItemDisableChange.emit({ disabled: newValue, component: this });\n }\n\n private setNodeState(state: TreeState, emitEvent = true) {\n this.isChecked = state.isChecked;\n this.partialChecked = state.partialChecked;\n if (emitEvent) {\n this.ifxTreeViewItemCheckChange.emit({\n checked: this.isChecked,\n indeterminate: this.partialChecked,\n value: this.value,\n level: this.level,\n disabled: this.disabled,\n component: this\n } as any);\n }\n }\n\n private collectDescendantStates(checked: boolean) {\n const descendants: Array<{ checked: boolean; indeterminate: boolean; value?: string }> = [];\n const collect = (el: Element, skipSelf = false) => {\n let instance: any = el === this.host ? this : (el as any)['__stencil_instance'];\n if (!skipSelf && !instance?.disabled) {\n descendants.push({\n checked,\n indeterminate: false,\n value: instance?.value,\n });\n }\n Array.from(el.children)\n .forEach(child => {\n if (child.tagName === 'IFX-TREE-VIEW-ITEM') collect(child, false);\n });\n };\n Array.from(this.host.children)\n .forEach(child => {\n if (child.tagName === 'IFX-TREE-VIEW-ITEM') collect(child, false);\n });\n return descendants;\n }\n\n private async updateChildrenState(checked: boolean) {\n for (const child of this.findChildren()) {\n const childInstance = (child as any)['__stencil_instance'];\n if (childInstance && !childInstance.disabled) {\n await (child as HTMLIfxTreeViewItemElement).componentOnReady();\n child.dispatchEvent(new CustomEvent('internal-check-state-change', {\n detail: { checked },\n bubbles: false,\n composed: true\n }));\n }\n }\n }\n\n private findSiblingNodes(parent: HTMLElement): HTMLIfxTreeViewItemElement[] {\n return Array.from(parent.children)\n .filter((child): child is HTMLIfxTreeViewItemElement =>\n child instanceof HTMLElement && child.tagName === 'IFX-TREE-VIEW-ITEM'\n );\n }\n\n private updateParentState() {\n const parent = this.host.parentElement?.closest('ifx-tree-view-item') as HTMLIfxTreeViewItemElement;\n if (!parent) return;\n setTimeout(() => {\n const parentInstance = (parent as any)['__stencil_instance'] as TreeViewItem;\n if (!parentInstance) return;\n const siblings = this.findSiblingNodes(parent);\n const { allChecked, someChecked } = this.calculateSiblingStates(siblings);\n parentInstance.setNodeState({\n isChecked: allChecked,\n partialChecked: !allChecked && someChecked\n }, false);\n parentInstance.updateParentState();\n }, 0);\n }\n\n private calculateSiblingStates(siblings: HTMLIfxTreeViewItemElement[]) {\n const states = siblings.map(sib => {\n const instance = (sib as any)['__stencil_instance'] as TreeViewItem;\n return { checked: instance?.isChecked, partial: instance?.partialChecked };\n });\n const checkedCount = states.filter(state => state.checked).length;\n const partialCount = states.filter(state => state.partial).length;\n return {\n allChecked: states.length > 0 && checkedCount === states.length && partialCount === 0,\n someChecked: checkedCount > 0 || partialCount > 0\n };\n }\n\n private toggleExpand = () => {\n if (this.disabled || !this.hasChildren) return;\n this.expanded = !this.expanded;\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n const allItems = Array.from(\n this.host.closest('ifx-tree-view')?.querySelectorAll('ifx-tree-view-item') || []\n );\n const visibleItems = allItems.filter(item => {\n let parent = item.parentElement?.closest('ifx-tree-view-item');\n while (parent) {\n const parentCmp = parent as any;\n if (!(parentCmp.expandAllItems || parentCmp.expanded)) return false;\n parent = parent.parentElement?.closest('ifx-tree-view-item');\n }\n return true;\n });\n const currentIndex = visibleItems.findIndex(el => el === this.host);\n const focusLabelIcon = (el: Element | null) =>\n (el as HTMLElement | null)?.focus();\n\n switch (event.key) {\n case 'ArrowDown': {\n event.preventDefault();\n for (let i = currentIndex + 1; i < visibleItems.length; i++) {\n const next = visibleItems[i] as any;\n if (!next.disabled) {\n focusLabelIcon(next.shadowRoot?.querySelector('.tree-item__label-icon-container'));\n break;\n }\n }\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n for (let i = currentIndex - 1; i >= 0; i--) {\n const prev = visibleItems[i] as any;\n if (!prev.disabled) {\n focusLabelIcon(prev.shadowRoot?.querySelector('.tree-item__label-icon-container'));\n break;\n }\n }\n break;\n }\n case 'ArrowRight': {\n event.preventDefault();\n if (!this.isExpanded && this.hasChildren) {\n this.expanded = true;\n } else if (this.isExpanded && this.hasChildren) {\n const firstChild = this.host.querySelector('ifx-tree-view-item');\n if (firstChild && !(firstChild as any).disabled) {\n focusLabelIcon((firstChild as HTMLElement).shadowRoot?.querySelector('.tree-item__label-icon-container'));\n }\n }\n break;\n }\n case 'ArrowLeft': {\n event.preventDefault();\n if (this.isExpanded && this.hasChildren) {\n this.expanded = false;\n } else {\n const parent = this.host.parentElement?.closest('ifx-tree-view-item');\n if (parent && !(parent as any).disabled) {\n focusLabelIcon((parent as HTMLElement).shadowRoot?.querySelector('.tree-item__label-icon-container'));\n }\n }\n break;\n }\n case ' ':\n case 'Enter': {\n event.preventDefault();\n if (this.hasChildren) {\n const newCheckedState = !this.isChecked;\n this.updateCheckState(newCheckedState);\n const affectedItems = newCheckedState\n ? this.expandOrCollapseAllDescendants(true)\n : this.expandOrCollapseAllDescendants(false);\n this.ifxTreeViewItemExpandChange.emit({\n expanded: newCheckedState,\n affectedItems,\n component: this\n });\n } else {\n this.updateCheckState(!this.isChecked);\n }\n break;\n }\n }\n };\n\n render() {\n return (\n <div\n class={{\n 'tree-item': true,\n 'tree-item--expanded': this.isExpanded,\n 'tree-item--has-children': this.hasChildren,\n 'tree-item--disabled': this.disabled,\n }}\n role=\"treeitem\"\n aria-expanded={this.isExpanded ? 'true' : 'false'}\n data-level={this.level}\n aria-disabled={this.disabled ? 'true' : undefined}\n aria-label={this.ariaLabel}\n >\n <div class=\"tree-item__content\">\n <div class=\"tree-item__checkbox-container\" onClick={e => e.stopPropagation()}>\n <ifx-checkbox\n size='s'\n checked={this.partialChecked ? false : this.isChecked}\n indeterminate={this.partialChecked}\n onIfxChange={this.handleCheckboxChange}\n disabled={this.disabled}\n />\n </div>\n <div\n class=\"tree-item__header\"\n style={{ paddingLeft: `${this.level * 24 + 10}px` }}\n onClick={this.handleHeaderClick}\n tabIndex={-1}\n aria-disabled={this.disabled ? 'true' : undefined}\n >\n {this.hasChildren && (\n <div class=\"tree-item__chevron-container\" onClick={this.toggleExpand}>\n <ifx-icon class={`tree-item__chevron ${this.isExpanded ? 'chevron-down' : 'chevron-right'}`}\n icon=\"chevron-right-16\"/>\n <div class=\"tree-item__line\"/>\n </div>\n )}\n <div\n class=\"tree-item__label-icon-container\"\n tabIndex={this.disabled ? -1 : 0}\n onKeyDown={this.handleKeyDown}\n >\n <div class=\"tree-item__icon-container\">\n {this.hasChildren ? (\n <Fragment>\n <ifx-icon class={{'icon--hidden': this.isExpanded}} icon=\"folder-16\"/>\n <ifx-icon class={{'icon--hidden': !this.isExpanded}} icon=\"folder-open-16\"/>\n </Fragment>\n ) : (\n <ifx-icon icon=\"file-16\"/>\n )}\n </div>\n <span class=\"tree-item__label\"><slot/></span>\n </div>\n </div>\n </div>\n {this.isExpanded && <div class=\"tree-item__children\"><slot name=\"children\"/></div>}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}