globuswebcomponents 2.8.11 → 2.9.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 (241) hide show
  1. package/dist/cjs/gb-action-panel_75.cjs.entry.js +496 -139
  2. package/dist/cjs/gb-table-cell.cjs.entry.js +1 -1
  3. package/dist/cjs/gb-token-field-compact.cjs.entry.js +1 -1
  4. package/dist/cjs/gb-token-field-compressed.cjs.entry.js +2 -2
  5. package/dist/cjs/gb-wysiwyg-editor-icon.cjs.entry.js +1 -1
  6. package/dist/cjs/globuscomponents.cjs.js +1 -1
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/reusableModels-_LRAKnsh.js.map +1 -1
  9. package/dist/cjs/test-input-tag.cjs.entry.js +2 -2
  10. package/dist/collection/assets/pencil-edit-01.svg +3 -0
  11. package/dist/collection/components/gb-button/gb-button.js +30 -1
  12. package/dist/collection/components/gb-button/gb-button.js.map +1 -1
  13. package/dist/collection/components/gb-button/gb-button.tsx +6 -1
  14. package/dist/collection/components/gb-button/readme.md +23 -0
  15. package/dist/collection/components/gb-date-picker/gb-date-picker.css +4 -0
  16. package/dist/collection/components/gb-date-picker/gb-date-picker.js +5 -7
  17. package/dist/collection/components/gb-date-picker/gb-date-picker.js.map +1 -1
  18. package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.js +4 -4
  19. package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.js.map +1 -1
  20. package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.js +20 -12
  21. package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.js.map +1 -1
  22. package/dist/collection/components/gb-pagination/gb-pagination.css +1 -0
  23. package/dist/collection/components/gb-portal/gb-portal.css +1 -2
  24. package/dist/collection/components/gb-portal/gb-portal.js +63 -17
  25. package/dist/collection/components/gb-portal/gb-portal.js.map +1 -1
  26. package/dist/collection/components/gb-tab-button-base/gb-tab-button-base.js +8 -2
  27. package/dist/collection/components/gb-tab-button-base/gb-tab-button-base.js.map +1 -1
  28. package/dist/collection/components/gb-table/gb-table.css +146 -31
  29. package/dist/collection/components/gb-table/gb-table.js +506 -77
  30. package/dist/collection/components/gb-table/gb-table.js.map +1 -1
  31. package/dist/collection/components/gb-table-cell/gb-table-cell.js +1 -1
  32. package/dist/collection/components/gb-table-header/gb-table-header.css +10 -9
  33. package/dist/collection/components/gb-table-header/gb-table-header.js +28 -26
  34. package/dist/collection/components/gb-table-header/gb-table-header.js.map +1 -1
  35. package/dist/collection/components/gb-tag/gb-tag.js +1 -1
  36. package/dist/collection/components/gb-tag-checkbox/gb-tag-checkbox.js +1 -1
  37. package/dist/collection/components/gb-tag-close/gb-tag-close.js +1 -1
  38. package/dist/collection/components/gb-tag-count/gb-tag-count.js +1 -1
  39. package/dist/collection/components/gb-textarea-input-field/gb-textarea-input-field.js +3 -4
  40. package/dist/collection/components/gb-textarea-input-field/gb-textarea-input-field.js.map +1 -1
  41. package/dist/collection/components/gb-theme-tab/gb-theme-tab.js +1 -1
  42. package/dist/collection/components/gb-toast/gb-toast.js +18 -2
  43. package/dist/collection/components/gb-toast/gb-toast.js.map +1 -1
  44. package/dist/collection/components/gb-toast-button/gb-toast-button.js +1 -1
  45. package/dist/collection/components/gb-toggle/gb-toggle.js +1 -1
  46. package/dist/collection/components/gb-toggle-base/gb-toggle-base.js +2 -2
  47. package/dist/collection/components/gb-token-field-compact/gb-token-field-compact.js +1 -1
  48. package/dist/collection/components/gb-token-field-compressed/gb-token-field-compressed.js +2 -2
  49. package/dist/collection/components/gb-tooltip/gb-tooltip.js +1 -1
  50. package/dist/collection/components/gb-vertical-tabs/gb-vertical-tabs.js +1 -1
  51. package/dist/collection/components/gb-wysiwyg-editor-icon/gb-wysiwyg-editor-icon.js +1 -1
  52. package/dist/collection/components/test-input-tag/test-input-tag.js +2 -2
  53. package/dist/collection/models/reusableModels.js.map +1 -1
  54. package/dist/components/gb-action-panel.js +2 -2
  55. package/dist/components/gb-approval-modal.js +8 -8
  56. package/dist/components/gb-avatar-add-button.js +1 -1
  57. package/dist/components/gb-avatar-dropdown.js +1 -1
  58. package/dist/components/gb-avatar-group.js +2 -2
  59. package/dist/components/gb-btn.js +1 -1
  60. package/dist/components/gb-button.js +1 -1
  61. package/dist/components/gb-checkbox-group-item.js +1 -1
  62. package/dist/components/gb-checkbox-group.js +3 -3
  63. package/dist/components/gb-collapse-button.js +1 -1
  64. package/dist/components/gb-comment.js +2 -2
  65. package/dist/components/gb-complex-primary-side-bar-item.js +1 -1
  66. package/dist/components/gb-complex-secondary-side-bar-item.js +1 -1
  67. package/dist/components/gb-date-picker.js +1 -1
  68. package/dist/components/gb-detail-cell.js +2 -2
  69. package/dist/components/gb-empty-state.js +1 -145
  70. package/dist/components/gb-empty-state.js.map +1 -1
  71. package/dist/components/gb-file-upload-item-base.js +1 -1
  72. package/dist/components/gb-file-upload.js +4 -4
  73. package/dist/components/gb-filter-button.js +1 -1
  74. package/dist/components/gb-header.js +14 -14
  75. package/dist/components/gb-help-tooltip.js +1 -1
  76. package/dist/components/gb-horizontal-tabs.js +4 -4
  77. package/dist/components/gb-horizontal-tabs.js.map +1 -1
  78. package/dist/components/gb-icon-button-base.js +1 -1
  79. package/dist/components/gb-input-dropdown.js +1 -1
  80. package/dist/components/gb-input-field.js +1 -1
  81. package/dist/components/gb-modal-action.js +1 -1
  82. package/dist/components/gb-nav-bar-item.js +1 -1
  83. package/dist/components/gb-nav-bar-sidemenu.js +2 -2
  84. package/dist/components/gb-nav-bar.js +2 -2
  85. package/dist/components/gb-notification-pane.js +1 -1
  86. package/dist/components/gb-pagination.js +1 -1
  87. package/dist/components/gb-password-button.js +1 -1
  88. package/dist/components/gb-portal.js +1 -1
  89. package/dist/components/gb-progress-bar.js +1 -1
  90. package/dist/components/gb-prompt-modal.js +2 -2
  91. package/dist/components/gb-sidebar.js +5 -5
  92. package/dist/components/gb-simple-side-bar-item.js +1 -1
  93. package/dist/components/gb-slider-control-handle.js +1 -1
  94. package/dist/components/gb-slider.js +2 -2
  95. package/dist/components/gb-tab-button-base.js +1 -1
  96. package/dist/components/gb-table-cell.js +1 -1
  97. package/dist/components/gb-table-header.js +1 -343
  98. package/dist/components/gb-table-header.js.map +1 -1
  99. package/dist/components/gb-table.js +471 -121
  100. package/dist/components/gb-table.js.map +1 -1
  101. package/dist/components/gb-tag-checkbox.js +1 -1
  102. package/dist/components/gb-tag-close.js +1 -1
  103. package/dist/components/gb-tag-count.js +1 -1
  104. package/dist/components/gb-tag.js +1 -1
  105. package/dist/components/gb-textarea-input-field.js +1 -1
  106. package/dist/components/gb-theme-tab.js +1 -1
  107. package/dist/components/gb-toast-button.js +1 -1
  108. package/dist/components/gb-toast.js +19 -5
  109. package/dist/components/gb-toast.js.map +1 -1
  110. package/dist/components/gb-toggle-base.js +1 -1
  111. package/dist/components/gb-toggle.js +2 -2
  112. package/dist/components/gb-token-field-compact.js +1 -1
  113. package/dist/components/gb-token-field-compressed.js +2 -2
  114. package/dist/components/gb-tooltip.js +1 -1
  115. package/dist/components/gb-vertical-tabs.js +1 -1
  116. package/dist/components/gb-wysiwyg-editor-icon.js +1 -1
  117. package/dist/components/gb-wysiwyg-tooltip.js +1 -1
  118. package/dist/components/{p-DvV7snbA.js → p-49dlhIYS.js} +10 -4
  119. package/dist/components/p-49dlhIYS.js.map +1 -0
  120. package/dist/components/{p-Db25H5UF.js → p-B0GSTQw3.js} +3 -3
  121. package/dist/components/{p-Db25H5UF.js.map → p-B0GSTQw3.js.map} +1 -1
  122. package/dist/components/{p-DAm-213Y.js → p-BHyPbecw.js} +3 -3
  123. package/dist/components/{p-DAm-213Y.js.map → p-BHyPbecw.js.map} +1 -1
  124. package/dist/components/{p-ByFyt4ia.js → p-BYwfw805.js} +3 -3
  125. package/dist/components/{p-ByFyt4ia.js.map → p-BYwfw805.js.map} +1 -1
  126. package/dist/components/{p-C8LbZ4kH.js → p-BaOylBgt.js} +5 -5
  127. package/dist/components/{p-C8LbZ4kH.js.map → p-BaOylBgt.js.map} +1 -1
  128. package/dist/components/{p-e-QGBXGa.js → p-Bt2auhuC.js} +3 -3
  129. package/dist/components/{p-e-QGBXGa.js.map → p-Bt2auhuC.js.map} +1 -1
  130. package/dist/components/{p-ofbsewem.js → p-ByCoMbO2.js} +5 -5
  131. package/dist/components/{p-ofbsewem.js.map → p-ByCoMbO2.js.map} +1 -1
  132. package/dist/components/p-ByjJN3cS.js +150 -0
  133. package/dist/components/p-ByjJN3cS.js.map +1 -0
  134. package/dist/components/{p-BQU0qEQ8.js → p-C--0Sicf.js} +22 -18
  135. package/dist/components/p-C--0Sicf.js.map +1 -0
  136. package/dist/components/{p-CaVLFaUk.js → p-CJelLNTb.js} +9 -10
  137. package/dist/components/p-CJelLNTb.js.map +1 -0
  138. package/dist/components/{p-BXST6Rgi.js → p-CKzAcGL2.js} +3 -3
  139. package/dist/components/{p-BXST6Rgi.js.map → p-CKzAcGL2.js.map} +1 -1
  140. package/dist/components/{p-wopm_NSt.js → p-CLeShKhE.js} +4 -4
  141. package/dist/components/{p-wopm_NSt.js.map → p-CLeShKhE.js.map} +1 -1
  142. package/dist/components/{p-BVu-h1cX.js → p-CQFpc6__.js} +3 -3
  143. package/dist/components/{p-BVu-h1cX.js.map → p-CQFpc6__.js.map} +1 -1
  144. package/dist/components/{p-BKvAhdEP.js → p-C_9HhBzA.js} +3 -3
  145. package/dist/components/{p-BKvAhdEP.js.map → p-C_9HhBzA.js.map} +1 -1
  146. package/dist/components/{p-cxKfHAER.js → p-C_f2hEd8.js} +10 -5
  147. package/dist/components/p-C_f2hEd8.js.map +1 -0
  148. package/dist/components/{p-T48Hj6xM.js → p-Cdgx4Hwc.js} +3 -3
  149. package/dist/components/{p-T48Hj6xM.js.map → p-Cdgx4Hwc.js.map} +1 -1
  150. package/dist/components/{p-kAsXRFkD.js → p-Ci5AB68V.js} +3 -3
  151. package/dist/components/{p-kAsXRFkD.js.map → p-Ci5AB68V.js.map} +1 -1
  152. package/dist/components/{p-9xYUsl7q.js → p-Cj67a6IJ.js} +3 -3
  153. package/dist/components/{p-9xYUsl7q.js.map → p-Cj67a6IJ.js.map} +1 -1
  154. package/dist/components/{p-Dn5rOzr_.js → p-CsQhqi-L.js} +3 -3
  155. package/dist/components/{p-Dn5rOzr_.js.map → p-CsQhqi-L.js.map} +1 -1
  156. package/dist/components/{p-uV0Dz5N_.js → p-CwTzPqb2.js} +4 -4
  157. package/dist/components/{p-uV0Dz5N_.js.map → p-CwTzPqb2.js.map} +1 -1
  158. package/dist/components/{p-CTNnGEZs.js → p-D0VVIazI.js} +3 -3
  159. package/dist/components/{p-CTNnGEZs.js.map → p-D0VVIazI.js.map} +1 -1
  160. package/dist/components/{p-Bo4efGgC.js → p-DLhsTHln.js} +3 -3
  161. package/dist/components/{p-Bo4efGgC.js.map → p-DLhsTHln.js.map} +1 -1
  162. package/dist/components/{p-Dd_Eos3v.js → p-DMjBTN85.js} +4 -4
  163. package/dist/components/{p-Dd_Eos3v.js.map → p-DMjBTN85.js.map} +1 -1
  164. package/dist/components/{p-DRngXcjq.js → p-DNAqkyM0.js} +4 -4
  165. package/dist/components/{p-DRngXcjq.js.map → p-DNAqkyM0.js.map} +1 -1
  166. package/dist/components/{p-BgNv7S1j.js → p-DSuh8sT6.js} +4 -4
  167. package/dist/components/{p-BgNv7S1j.js.map → p-DSuh8sT6.js.map} +1 -1
  168. package/dist/components/{p-CO71VZ1J.js → p-DUlP9ot1.js} +4 -4
  169. package/dist/components/{p-CO71VZ1J.js.map → p-DUlP9ot1.js.map} +1 -1
  170. package/dist/components/{p-CTfLJ_Yp.js → p-DfeAzwhz.js} +3 -3
  171. package/dist/components/{p-CTfLJ_Yp.js.map → p-DfeAzwhz.js.map} +1 -1
  172. package/dist/components/{p-BByUPZTR.js → p-DpjHb85v.js} +5 -5
  173. package/dist/components/{p-BByUPZTR.js.map → p-DpjHb85v.js.map} +1 -1
  174. package/dist/components/{p-CgQonNKV.js → p-Dqd4hVBB.js} +3 -3
  175. package/dist/components/{p-CgQonNKV.js.map → p-Dqd4hVBB.js.map} +1 -1
  176. package/dist/components/{p-hck2xhPi.js → p-Z_m9SN0_.js} +3 -3
  177. package/dist/components/{p-hck2xhPi.js.map → p-Z_m9SN0_.js.map} +1 -1
  178. package/dist/components/{p-qZNN2nfj.js → p-blTaQhCM.js} +5 -5
  179. package/dist/components/{p-qZNN2nfj.js.map → p-blTaQhCM.js.map} +1 -1
  180. package/dist/components/p-cHn6O-Kf.js.map +1 -1
  181. package/dist/components/{p-apFyrUM4.js → p-dgGYVBLp.js} +127 -16
  182. package/dist/components/p-dgGYVBLp.js.map +1 -0
  183. package/dist/components/{p-yDP7ObG5.js → p-g6ayM_Wt.js} +6 -6
  184. package/dist/components/{p-yDP7ObG5.js.map → p-g6ayM_Wt.js.map} +1 -1
  185. package/dist/components/{p-DlH97JYU.js → p-jEUDScnD.js} +14 -14
  186. package/dist/components/p-jEUDScnD.js.map +1 -0
  187. package/dist/components/p-q16C1y-8.js +350 -0
  188. package/dist/components/p-q16C1y-8.js.map +1 -0
  189. package/dist/components/{p-c0RQJb24.js → p-rw4UZJOE.js} +11 -11
  190. package/dist/components/{p-c0RQJb24.js.map → p-rw4UZJOE.js.map} +1 -1
  191. package/dist/components/{p-CEK6hgEo.js → p-rzRgniQd.js} +9 -11
  192. package/dist/components/p-rzRgniQd.js.map +1 -0
  193. package/dist/components/{p-BtGA-5EV.js → p-y6Xot37W.js} +3 -3
  194. package/dist/components/{p-BtGA-5EV.js.map → p-y6Xot37W.js.map} +1 -1
  195. package/dist/components/test-input-tag.js +6 -6
  196. package/dist/docs.json +535 -73
  197. package/dist/esm/gb-action-panel_75.entry.js +496 -139
  198. package/dist/esm/gb-table-cell.entry.js +1 -1
  199. package/dist/esm/gb-token-field-compact.entry.js +1 -1
  200. package/dist/esm/gb-token-field-compressed.entry.js +2 -2
  201. package/dist/esm/gb-wysiwyg-editor-icon.entry.js +1 -1
  202. package/dist/esm/globuscomponents.js +1 -1
  203. package/dist/esm/loader.js +1 -1
  204. package/dist/esm/reusableModels-cHn6O-Kf.js.map +1 -1
  205. package/dist/esm/test-input-tag.entry.js +2 -2
  206. package/dist/globuscomponents/assets/pencil-edit-01.svg +3 -0
  207. package/dist/globuscomponents/gb-button.tsx +6 -1
  208. package/dist/globuscomponents/globuscomponents.esm.js +1 -1
  209. package/dist/globuscomponents/p-031a93b0.entry.js +2 -0
  210. package/dist/globuscomponents/{p-5f4f79f3.entry.js → p-087fe238.entry.js} +2 -2
  211. package/dist/globuscomponents/p-087fe238.entry.js.map +1 -0
  212. package/dist/globuscomponents/{p-5d4750b8.entry.js → p-a61d1385.entry.js} +2 -2
  213. package/dist/globuscomponents/{p-957759a4.entry.js → p-bc7a3ff1.entry.js} +2 -2
  214. package/dist/globuscomponents/{p-9f49601d.entry.js → p-bd89e53d.entry.js} +2 -2
  215. package/dist/globuscomponents/p-cHn6O-Kf.js.map +1 -1
  216. package/dist/globuscomponents/{p-b71b110d.entry.js → p-e4bda433.entry.js} +2 -2
  217. package/dist/globuscomponents/readme.md +23 -0
  218. package/dist/types/components/gb-button/gb-button.d.ts +1 -0
  219. package/dist/types/components/gb-input-dropdown/gb-input-dropdown.d.ts +1 -1
  220. package/dist/types/components/gb-portal/gb-portal.d.ts +3 -1
  221. package/dist/types/components/gb-tab-button-base/gb-tab-button-base.d.ts +3 -2
  222. package/dist/types/components/gb-table/gb-table.d.ts +68 -2
  223. package/dist/types/components/gb-table-header/gb-table-header.d.ts +1 -1
  224. package/dist/types/components/gb-toast/gb-toast.d.ts +4 -0
  225. package/dist/types/components.d.ts +136 -23
  226. package/dist/types/models/reusableModels.d.ts +16 -0
  227. package/package.json +1 -1
  228. package/dist/components/p-BQU0qEQ8.js.map +0 -1
  229. package/dist/components/p-CEK6hgEo.js.map +0 -1
  230. package/dist/components/p-CaVLFaUk.js.map +0 -1
  231. package/dist/components/p-DlH97JYU.js.map +0 -1
  232. package/dist/components/p-DvV7snbA.js.map +0 -1
  233. package/dist/components/p-apFyrUM4.js.map +0 -1
  234. package/dist/components/p-cxKfHAER.js.map +0 -1
  235. package/dist/globuscomponents/p-5f4f79f3.entry.js.map +0 -1
  236. package/dist/globuscomponents/p-9bf9cc0c.entry.js +0 -2
  237. /package/dist/globuscomponents/{p-9bf9cc0c.entry.js.map → p-031a93b0.entry.js.map} +0 -0
  238. /package/dist/globuscomponents/{p-5d4750b8.entry.js.map → p-a61d1385.entry.js.map} +0 -0
  239. /package/dist/globuscomponents/{p-957759a4.entry.js.map → p-bc7a3ff1.entry.js.map} +0 -0
  240. /package/dist/globuscomponents/{p-9f49601d.entry.js.map → p-bd89e53d.entry.js.map} +0 -0
  241. /package/dist/globuscomponents/{p-b71b110d.entry.js.map → p-e4bda433.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"gb-date-picker.js","sourceRoot":"","sources":["../../../src/components/gb-date-picker/gb-date-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACzG,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,kCAAkC,CAAC;AAS1C,MAAM,OAAO,YAAY;IALzB;QAOU,gBAAW,GAAW,uBAAuB,CAAC;QAC7B,UAAK,GAAyB,IAAI,CAAC;QACpD,WAAM,GAAW,QAAQ,CAAC;QAC1B,SAAI,GAAuB,QAAQ,CAAC;QACpC,aAAQ,GAAY,KAAK,CAAC;QAC1B,iBAAY,GAAyB,MAAM,CAAC;QAC5C,sBAAiB,GAAyB,MAAM,CAAC;QACjD,UAAK,GAAW,EAAE,CAAC;QACnB,gBAAW,GAAY,IAAI,CAAC;QAC5B,eAAU,GAAY,KAAK,CAAC;QAC5B,eAAU,GAAY,KAAK,CAAC;QAC5B,eAAU,GAAY,KAAK,CAAC;QAC5B,iBAAY,GAAY,KAAK,CAAC;QAC9B,eAAU,GAAW,CAAC,CAAC;QACvB,cAAS,GAAY,KAAK,CAAC;QAC1B,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAyB,SAAS,CAAC;QAC7C,UAAK,GAAW,MAAM,CAAC,UAAU,CAAC;QAElC,oBAAe,GAAkC,SAAS,CAAC;QAM5D,4BAAuB,GAAY,KAAK,CAAC;QAmCzC,iBAAY,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;YAE/B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAE9D,IAAI,aAAa,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtC,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;gBAEhC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;oBAEpD,wCAAwC;oBACxC,qBAAqB,CAAC,GAAG,EAAE;wBACzB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;oBACzD,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC;KAydH;IA1gBC,gBAAgB;QACd,4BAA4B;QAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,+BAA+B,EAAE,CAAC;IACzC,CAAC;IAED,iBAAiB;QACf,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAErD,yFAAyF;QACzF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,+BAA+B;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAE9D,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAE/E,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;QAEjC,yBAAyB;QACzB,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,OAAO,IAAI,CAAC;IACxE,CAAC;IAGD,wBAAwB;QACtB,qBAAqB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC;IACtE,CAAC;IAqBO,aAAa;QACnB,OAAO,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAChD,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;IAEO,gBAAgB;QACtB,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,CAAgB,CAAC;QACjG,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;QAE3B,MAAM,YAAY,GAA0B;YAC1C,QAAQ,EAAE;gBACR,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;gBACrD,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;aACzF;YACD,cAAc,EAAE,KAAK;SACtB,CAAC;QAEF,IAAI,CAAC,iBAAiB,IAAI,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,EAAE;;YACxB,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,iBAAiB,CAAgB,CAAC;YACjF,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE;YAC7B,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;YAChC,QAAQ,EAAE,iBAAiB,EAAE,0BAA0B;YACvD,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,IAAI,CAAC,MAAM;YACtB,aAAa,EAAE,CAAC,IAAI,CAAC,UAAU;YAC/B,MAAM,EAAE,YAAY;YACpB,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,SAAS,EAAE;;;;OAIV;YACD,SAAS,EAAE;;;;OAIV;YACD,QAAQ,EAAE,CAAC,aAAqB,EAAE,EAAE;;gBAClC,kDAAkD;gBAClD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;gBAClC,MAAA,IAAI,CAAC,iBAAiB,0CAAE,eAAe,CAAC,UAAU,CAAC,CAAC;gBACpD,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;gBAEnC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxD,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC;oBACnC,MAAM,eAAe,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtH,IAAI,IAAI,CAAC,YAAY,KAAK,eAAe,EAAE,CAAC;wBAC1C,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;oBACtC,CAAC;oBACD,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;gBACrC,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;oBACnD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC9E,IAAI,IAAI,CAAC,YAAY,KAAK,eAAe,EAAE,CAAC;wBAC1C,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;oBACtC,CAAC;oBACD,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;oBAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;gBAED,YAAY,EAAE,CAAC;YACjB,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,YAAY,EAAE,CAAC;YACjB,CAAC;YACD,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC/B,CAAC;YACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,UAAU;gBAE5B,qBAAqB,CAAC,GAAG,EAAE;oBACzB,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;oBAE9C,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;wBACxE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;wBACpC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;wBACjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;oBACnC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QAEH,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACnC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAE/D,IAAI,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC5C,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;gBACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEzB,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QAEzB,sBAAsB;QACtB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAElC,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,oCAAoC;QACpC,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,QAAqB;;QAC9C,0BAA0B;QAC1B,MAAA,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,0CAAE,MAAM,EAAE,CAAC;QAEhD,2CAA2C;QAC3C,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YACvE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACtC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,mBAAmB,CAAC,EAAsB;QACxC,MAAM,QAAQ,GAAG,EAAE,CAAC,iBAAgC,CAAC;QACrD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC;YAAE,OAAO;QAE9D,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK;YAAE,OAAO;QAE9B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC;QAE/B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3B,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B;QAE/E,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEzB,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,aAAa;QACX,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC;QAEjC,MAAM,MAAM,GAAG;YACb,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;YAChC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;YACxC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;YACxC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;YACxC,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;YAC1C,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;YAC1C,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;YACxC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;SACzC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;YAE3B,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE;gBACrC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;gBAEpB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAY,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAE9B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW;YAClC,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE1B,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBACtB,qBAAqB,CAAC,GAAG,EAAE;oBACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAC7B,6BAA6B;gBAC/B,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,iBAAiB,CAAC,IAAiB;QACjC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEzB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QAEjC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,KAAY,CAAC;QACjB,IAAI,GAAU,CAAC;QAEf,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,OAAO;gBACV,KAAK,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACzB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;gBAC5B,MAAM;YAER,KAAK,WAAW;gBACd,KAAK,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;gBAChC,MAAM;YAER,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;gBACrB,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;gBAChC,MAAM;YACR,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;gBACrB,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC1C,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBACjC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;gBAChC,MAAM;YACR,CAAC;YAED,KAAK,YAAY;gBACf,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC3D,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;gBACjC,MAAM;YAER,KAAK,YAAY;gBACf,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/D,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;gBACjC,MAAM;YAER,KAAK,WAAW;gBACd,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5C,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;gBAChC,MAAM;YAER,KAAK,WAAW;gBACd,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChD,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAChD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;gBAChC,MAAM;QACV,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE3D,4CAA4C;QAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAElC,iBAAiB;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,oBAAoB,CAAC,OAAoB;QACvC,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;QACnE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAClB,IAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,CAAgB,CAAC;QACjG,MAAM,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC,iBAAiB,CAAgB,CAAC;QAExF,IAAI,CAAC,aAAa;YAAE,OAAO;QAE3B,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAEhD,uBAAuB;QACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACrD,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC9C,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEpC,mBAAmB;QACnB,QAAQ,CAAC,SAAS,GAAG,WAAW,CAAC;QAEjC,SAAS,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACtD,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEhC,cAAc;QACd,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAE3C,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,aAAa,CAAC,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,wBAAwB;QACtB,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,CAAgB,CAAC;QACjG,MAAM,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC,kBAAkB,CAAgB,CAAC;QAEzF,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9F,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;gBAC9C,CAAC,CAAC,eAAe,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;gBAC1C,CAAC,CAAC,eAAe,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,KAAa;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;YAC3C,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;gBAC3E,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9C,OAAO,CAAC,oCAAoC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEzB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,eAAe,CAAC,MAAc;QAC5B,uDAAuD;QACvD,gEAAgE;QAChE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAEzD,oFAAoF;QACpF,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,iDAAiD,EAAE,EAAE,CAAC,CAAC;QAEnF,yEAAyE;QACzE,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAEhD,4CAA4C;QAC5C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAE5D,4BAA4B;QAC5B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAEnD,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzD,CAAC;IAED,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAE,uBAAuB;YAChC,IAAI,CAAC,KAAK,IAAI,CACb,kBACG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAClB,SAAG,KAAK,EAAC,kCAAkC,IAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAK,CACzH,CAAC,CAAC,CAAC,CACF,SAAG,KAAK,EAAC,kCAAkC,IAAE,IAAI,CAAC,KAAK,CAAK,CAC7D,CACA,CACJ;YACD,4DAAK,KAAK,EAAE,uBAAuB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE;gBACrE,4DACE,KAAK,EAAC,iBAAiB,EACvB,OAAO,EAAE,GAAG,EAAE;wBACZ,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,CAAC;oBAEA,IAAI,CAAC,YAAY,KAAK,MAAM,IAAI,CAC/B,4DAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;wBAC5F,6DACE,CAAC,EAAC,i9IAAi9I,EACn9I,IAAI,EAAC,4BAA4B,GACjC,CACE,CACP;oBACD,8DAAO,IAAI,EAAC,MAAM,EAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,EAAsB,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,SAAG;oBACpK,6DAAM,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAqB,CAAC,EAAE,EAAE,EAAC,QAAQ,IAClE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CACjC;oBACN,IAAI,CAAC,YAAY,KAAK,OAAO,IAAI,CAChC,4DAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;wBAC5F,6DACE,CAAC,EAAC,i9IAAi9I,EACn9I,IAAI,EAAC,4BAA4B,GACjC,CACE,CACP,CACG;gBAGN,4DAAK,KAAK,EAAE,sBAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,GAAQ,CACvG,CACF,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Prop, State, Fragment, Watch } from '@stencil/core';\r\nimport flatpickr from 'flatpickr';\r\nimport 'flatpickr/dist/flatpickr.min.css';\r\nimport { CustomLocale } from 'flatpickr/dist/types/locale';\r\nimport { CloseButtonPositions } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-date-picker',\r\n styleUrl: 'gb-date-picker.css',\r\n shadow: true,\r\n})\r\nexport class GbDatePicker {\r\n @Element() el: HTMLElement;\r\n @Prop() placeholder: string = 'Start date - end date';\r\n @Prop({ mutable: true }) value: Date | Date[] | null = null;\r\n @Prop() format: string = 'M j, Y';\r\n @Prop() mode: 'single' | 'range' = 'single';\r\n @Prop() disabled: boolean = false;\r\n @Prop() iconPosition: CloseButtonPositions = 'left';\r\n @Prop() dropdownAlignment: CloseButtonPositions = 'left';\r\n @Prop() label: string = '';\r\n @Prop() formatLabel: boolean = true;\r\n @Prop() allowInput: boolean = false;\r\n @Prop() enableTime: boolean = false;\r\n @Prop() noCalendar: boolean = false;\r\n @Prop() twentyfourHr: boolean = false;\r\n @Prop() showMonths: number = 2;\r\n @Prop() fullWidth: boolean = false;\r\n @State() isCalendarShown: boolean = false;\r\n @State() breakpoint: 'mobile' | 'desktop' = 'desktop';\r\n @State() width: number = window.innerWidth;\r\n @State() displayValue: string;\r\n @State() selectionSource: 'sidebar' | 'calendar' | null = 'sidebar';\r\n @Event() dateChange: EventEmitter<Date | Date[]>;\r\n\r\n private inputEl!: HTMLInputElement;\r\n private picker: flatpickr.Instance;\r\n private activeSidebarItem?: HTMLElement;\r\n private hasAppliedDefaultPreset: boolean = false;\r\n private mirrorEl!: HTMLSpanElement;\r\n\r\n componentDidLoad() {\r\n // this.injectApplyButton();\r\n this.initializePicker();\r\n this.resizeInputFieldBasedOnTheValue();\r\n }\r\n\r\n componentWillLoad() {\r\n window.addEventListener('resize', this.handleResize);\r\n\r\n // ✅ Initialize displayValue before render to avoid state changes during componentDidLoad\r\n if (!this.displayValue) {\r\n this.displayValue = '';\r\n }\r\n }\r\n\r\n resizeInputFieldBasedOnTheValue() {\r\n if (!this.inputEl || !this.mirrorEl || this.fullWidth) return;\r\n\r\n const text = this.displayValue || this.inputEl.value || this.placeholder || '';\r\n\r\n this.mirrorEl.textContent = text;\r\n\r\n // padding + caret buffer\r\n const padding = 16;\r\n this.inputEl.style.width = `${this.mirrorEl.offsetWidth + padding}px`;\r\n }\r\n\r\n @Watch('displayValue')\r\n handleDisplayValueChange() {\r\n requestAnimationFrame(() => this.resizeInputFieldBasedOnTheValue());\r\n }\r\n\r\n private handleResize = () => {\r\n this.width = window.innerWidth;\r\n\r\n const newBreakpoint = this.width < 900 ? 'mobile' : 'desktop';\r\n\r\n if (newBreakpoint !== this.breakpoint) {\r\n this.breakpoint = newBreakpoint;\r\n\r\n if (this.picker) {\r\n this.picker.set('showMonths', this.getMonthCount());\r\n\r\n // Sidebar only makes sense for 2 months\r\n requestAnimationFrame(() => {\r\n this.maybeCreateSidebar(this.picker.calendarContainer);\r\n });\r\n }\r\n }\r\n };\r\n\r\n private getMonthCount(): number {\r\n return this.width < 900 ? 1 : this.showMonths;\r\n }\r\n\r\n disconnectedCallback() {\r\n if (this.picker) this.picker.destroy();\r\n }\r\n\r\n private initializePicker() {\r\n const calendarContainer = this.el.shadowRoot.querySelector('.calendar-container') as HTMLElement;\r\n const input = this.inputEl;\r\n\r\n const customLocale: Partial<CustomLocale> = {\r\n weekdays: {\r\n shorthand: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\r\n longhand: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\r\n },\r\n rangeSeparator: ' - ',\r\n };\r\n\r\n if (!calendarContainer || !input) {\r\n console.warn('Calendar container or input not found.');\r\n return;\r\n }\r\n\r\n const fixDaysWidth = () => {\r\n const days = this.el.shadowRoot?.querySelector('.flatpickr-days') as HTMLElement;\r\n if (days) {\r\n days.style.width = 'auto';\r\n }\r\n };\r\n\r\n this.picker = flatpickr(input, {\r\n dateFormat: this.format,\r\n mode: this.mode,\r\n showMonths: this.getMonthCount(),\r\n appendTo: calendarContainer, // keep inside shadow root\r\n clickOpens: false,\r\n allowInput: false,\r\n altInput: false,\r\n altFormat: this.format,\r\n closeOnSelect: !this.enableTime,\r\n locale: customLocale,\r\n disableMobile: true,\r\n enableTime: this.enableTime,\r\n noCalendar: this.noCalendar,\r\n time_24hr: this.twentyfourHr,\r\n prevArrow: `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class=\"calendar_arrow\">\r\n <path d=\"M12.5 4.99988C12.5 4.99988 7.50001 8.68232 7.5 9.99992C7.49999 11.3175 12.5 14.9999 12.5 14.9999\" stroke=\"var(--color-icon, #4B5565)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n `,\r\n nextArrow: ` \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class=\"calendar_arrow\">\r\n <path d=\"M7.50004 5C7.50004 5 12.5 8.68244 12.5 10C12.5 11.3176 7.5 15 7.5 15\" stroke=\"var(--color-icon, #4B5565)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n `,\r\n onChange: (selectedDates: Date[]) => {\r\n // if (this.selectionSource === 'sidebar') return;\r\n this.selectionSource = 'calendar';\r\n this.activeSidebarItem?.removeAttribute('selected');\r\n this.activeSidebarItem = undefined;\r\n\r\n if (this.mode === 'range' && selectedDates.length === 2) {\r\n const [start, end] = selectedDates;\r\n const newDisplayValue = `${this.picker.formatDate(start, this.format)} - ${this.picker.formatDate(end, this.format)}`;\r\n if (this.displayValue !== newDisplayValue) {\r\n this.displayValue = newDisplayValue;\r\n }\r\n this.value = [start, end];\r\n console.log(this.value);\r\n this.dateChange.emit([start, end]);\r\n }\r\n\r\n if (this.mode === 'single' && selectedDates.length) {\r\n const newDisplayValue = this.picker.formatDate(selectedDates[0], this.format);\r\n if (this.displayValue !== newDisplayValue) {\r\n this.displayValue = newDisplayValue;\r\n }\r\n this.value = selectedDates[0];\r\n this.dateChange.emit(this.value);\r\n }\r\n\r\n fixDaysWidth();\r\n },\r\n onOpen: () => {\r\n this.isCalendarShown = true;\r\n fixDaysWidth();\r\n },\r\n onClose: () => {\r\n this.isCalendarShown = false;\r\n },\r\n onReady: (_, __, fp) => {\r\n this.picker = fp; // ✅ FIRST\r\n\r\n requestAnimationFrame(() => {\r\n this.injectSidebarLayout(fp);\r\n this.maybeCreateSidebar(fp.calendarContainer);\r\n\r\n if (!this.hasAppliedDefaultPreset && !this.value && this.showMonths > 1) {\r\n this.hasAppliedDefaultPreset = true;\r\n this.selectionSource = 'sidebar';\r\n this.applyDefaultTodayPreset();\r\n } else {\r\n this.selectionSource = 'sidebar';\r\n }\r\n });\r\n },\r\n });\r\n\r\n input.addEventListener('input', () => {\r\n const dateStr = input.value;\r\n const parsedDate = this.picker.parseDate(dateStr, this.format);\r\n\r\n if (parsedDate && this.value !== parsedDate) {\r\n this.value = parsedDate;\r\n this.dateChange.emit(this.value);\r\n }\r\n });\r\n }\r\n\r\n clearDateSelection() {\r\n if (this.picker) {\r\n this.picker.clear();\r\n }\r\n }\r\n\r\n private applyDefaultTodayPreset() {\r\n if (!this.picker) return;\r\n\r\n const today = new Date();\r\n\r\n // Set flatpickr value\r\n this.picker.setDate(today, false);\r\n\r\n // Only update if value is still null/empty\r\n if (!this.value) {\r\n this.value = today;\r\n this.dateChange.emit(today);\r\n }\r\n\r\n // UI state - only update if changed\r\n if (this.displayValue !== 'Today') {\r\n this.displayValue = 'Today';\r\n }\r\n }\r\n\r\n private maybeCreateSidebar(calendar: HTMLElement) {\r\n // Remove existing sidebar\r\n calendar.querySelector('.fp-sidebar')?.remove();\r\n\r\n // Sidebar ONLY when months > 1 AND desktop\r\n if (this.breakpoint === 'mobile' || this.picker.config.showMonths <= 1) {\r\n calendar.classList.remove('has-sidebar');\r\n return;\r\n }\r\n\r\n const sidebar = this.createSidebar();\r\n calendar.classList.add('has-sidebar');\r\n calendar.prepend(sidebar);\r\n }\r\n\r\n injectSidebarLayout(fp: flatpickr.Instance) {\r\n const calendar = fp.calendarContainer as HTMLElement;\r\n if (!calendar || calendar.querySelector('.fp-layout')) return;\r\n\r\n const months = calendar.querySelector('.flatpickr-months');\r\n const inner = calendar.querySelector('.flatpickr-innerContainer');\r\n const time = calendar.querySelector('.flatpickr-time');\r\n\r\n if (!months || !inner) return;\r\n\r\n const layout = document.createElement('div');\r\n layout.className = 'fp-layout';\r\n\r\n const main = document.createElement('div');\r\n main.className = 'fp-main';\r\n\r\n main.append(months, inner);\r\n if (time && this.enableTime) main.appendChild(time); // 🔥 preserve time picker\r\n\r\n layout.appendChild(main);\r\n\r\n calendar.appendChild(layout);\r\n\r\n this.injectApplyButton();\r\n }\r\n\r\n createSidebar(): HTMLElement {\r\n const sidebar = document.createElement('div');\r\n sidebar.className = 'fp-sidebar';\r\n\r\n const ranges = [\r\n { key: 'today', label: 'Today' },\r\n { key: 'yesterday', label: 'Yesterday' },\r\n { key: 'this-week', label: 'This week' },\r\n { key: 'last-week', label: 'Last week' },\r\n { key: 'this-month', label: 'This month' },\r\n { key: 'last-month', label: 'Last month' },\r\n { key: 'this-year', label: 'This year' },\r\n { key: 'last-year', label: 'Last year' },\r\n ];\r\n\r\n ranges.forEach(r => {\r\n const item = document.createElement('gb-date-picker-list-item');\r\n item.setAttribute('label', r.label);\r\n item.dataset.range = r.key;\r\n\r\n item.addEventListener('mousedown', e => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n this.clearPresetSelection(sidebar);\r\n (item as any).selected = true;\r\n\r\n this.applyPreset(r.key);\r\n this.picker.close(); //test this\r\n });\r\n\r\n sidebar.appendChild(item);\r\n\r\n if (r.key === 'today') {\r\n requestAnimationFrame(() => {\r\n this.selectSidebarItem(item);\r\n // this.applyPreset('today');\r\n });\r\n }\r\n });\r\n\r\n return sidebar;\r\n }\r\n\r\n selectSidebarItem(item: HTMLElement) {\r\n if (this.activeSidebarItem) {\r\n this.activeSidebarItem.removeAttribute('selected');\r\n }\r\n\r\n item.setAttribute('selected', 'true');\r\n this.activeSidebarItem = item;\r\n }\r\n\r\n applyPreset(key: string) {\r\n if (!this.picker) return;\r\n\r\n this.selectionSource = 'sidebar';\r\n\r\n const today = new Date();\r\n let start!: Date;\r\n let end!: Date;\r\n\r\n switch (key) {\r\n case 'today':\r\n start = end = new Date();\r\n this.displayValue = 'Today';\r\n break;\r\n\r\n case 'yesterday':\r\n start = end = new Date();\r\n start.setDate(start.getDate() - 1);\r\n this.displayValue = 'Yesterday';\r\n break;\r\n\r\n case 'this-week': {\r\n const d = new Date();\r\n start = new Date(d);\r\n start.setDate(d.getDate() - d.getDay());\r\n end = new Date();\r\n this.displayValue = 'This week';\r\n break;\r\n }\r\n\r\n case 'last-week': {\r\n const d = new Date();\r\n end = new Date(d);\r\n end.setDate(d.getDate() - d.getDay() - 1);\r\n start = new Date(end);\r\n start.setDate(end.getDate() - 6);\r\n this.displayValue = 'Last week';\r\n break;\r\n }\r\n\r\n case 'this-month':\r\n start = new Date(today.getFullYear(), today.getMonth(), 1);\r\n end = new Date();\r\n this.displayValue = 'This month';\r\n break;\r\n\r\n case 'last-month':\r\n start = new Date(today.getFullYear(), today.getMonth() - 1, 1);\r\n end = new Date(today.getFullYear(), today.getMonth(), 0);\r\n this.displayValue = 'Last month';\r\n break;\r\n\r\n case 'this-year':\r\n start = new Date(today.getFullYear(), 0, 1);\r\n end = new Date();\r\n this.displayValue = 'This year';\r\n break;\r\n\r\n case 'last-year':\r\n start = new Date(today.getFullYear() - 1, 0, 1);\r\n end = new Date(today.getFullYear() - 1, 11, 31);\r\n this.displayValue = 'Last year';\r\n break;\r\n }\r\n\r\n const value = this.mode === 'range' ? [start, end] : start;\r\n\r\n // Update picker WITHOUT triggering onChange\r\n this.picker.setDate(value, false);\r\n\r\n // Emit real data\r\n this.value = value;\r\n console.log(this.value);\r\n\r\n this.dateChange.emit(this.value);\r\n\r\n this.preventTimePickerClosing();\r\n }\r\n\r\n clearPresetSelection(sidebar: HTMLElement) {\r\n const items = sidebar.querySelectorAll('gb-date-picker-list-item');\r\n items.forEach(item => {\r\n (item as any).selected = false;\r\n });\r\n }\r\n\r\n injectApplyButton() {\r\n const calendarContainer = this.el.shadowRoot.querySelector('.calendar-container') as HTMLElement;\r\n const timeContainer = calendarContainer.querySelector('.flatpickr-time') as HTMLElement;\r\n\r\n if (!timeContainer) return;\r\n\r\n const buttonDiv = document.createElement('div');\r\n buttonDiv.classList.add('apply_button_wrapper');\r\n\r\n // Create custom button\r\n const applyBtn = document.createElement('gb-button');\r\n applyBtn.setAttribute('size', 'md');\r\n applyBtn.setAttribute('hierarchy', 'primary');\r\n applyBtn.setAttribute('icon', 'default');\r\n applyBtn.classList.add('apply-btn');\r\n\r\n // Add label inside\r\n applyBtn.innerHTML = `<p>OK</p>`;\r\n\r\n buttonDiv.insertAdjacentElement('afterend', applyBtn);\r\n buttonDiv.appendChild(applyBtn);\r\n\r\n // Click logic\r\n applyBtn.addEventListener('click', () => {\r\n const selected = this.picker.selectedDates;\r\n\r\n if (selected.length) {\r\n const formatted = selected[0];\r\n this.value = formatted;\r\n console.log(this.value);\r\n this.dateChange.emit(this.value);\r\n }\r\n\r\n this.picker.close();\r\n });\r\n\r\n // Insert after time div\r\n timeContainer.insertAdjacentElement('afterend', buttonDiv);\r\n }\r\n\r\n preventTimePickerClosing() {\r\n const calendarContainer = this.el.shadowRoot.querySelector('.calendar-container') as HTMLElement;\r\n const timeContainer = calendarContainer.querySelector('.flatpickr-am-pm') as HTMLElement;\r\n\r\n if ((this.mode === 'single' && this.enableTime) || (this.mode === 'range' && this.enableTime)) {\r\n calendarContainer.addEventListener('click', e => {\r\n e.stopPropagation();\r\n });\r\n }\r\n\r\n if (timeContainer) {\r\n timeContainer.addEventListener('click', e => {\r\n e.stopPropagation();\r\n });\r\n }\r\n }\r\n\r\n private toggleCalendar(event?: Event) {\r\n if (event) {\r\n const target = event.target as HTMLElement;\r\n if (this.el.shadowRoot && this.el.shadowRoot.contains(target)) {\r\n const calendarEl = this.el.shadowRoot.querySelector('.calendar-container');\r\n if (calendarEl && calendarEl.contains(target)) {\r\n return; // Ignore clicks inside the calendar\r\n }\r\n }\r\n }\r\n\r\n if (!this.picker) return;\r\n\r\n if (this.isCalendarShown) {\r\n this.picker.close();\r\n } else {\r\n this.picker.open();\r\n }\r\n }\r\n\r\n stripYearFormat(format: string): string {\r\n // Remove Y or ,Y or -Y or Y, or Y- and tidy separators\r\n // Handles tokens like \"M-j-Y\", \"F j, Y\", \"d/m/Y\", \"Y-m-d\", etc.\r\n let [datePart, timePart] = format.split(/\\s+(?=[HhKk])/);\r\n\r\n // Remove year tokens (Y or y) and any adjacent separator characters (, - / . space)\r\n datePart = datePart.replace(/(?:\\s*[-,/.]\\s*|\\s+)?[Yy](?:\\s*[-,/.]\\s*|\\s+)?/g, '');\r\n\r\n // Clean up doubled separators produced by removal (e.g. \"M--j\" -> \"M-j\")\r\n datePart = datePart.replace(/[-,/.]{2,}/g, '-');\r\n\r\n // Remove leading/trailing separators/spaces\r\n datePart = datePart.replace(/^[\\s-_,./]+|[\\s-_,./]+$/g, '');\r\n\r\n // Normalize multiple spaces\r\n datePart = datePart.replace(/\\s{2,}/g, ' ').trim();\r\n\r\n return timePart ? `${datePart} ${timePart}` : datePart;\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`date_picker_container`}>\r\n {this.label && (\r\n <>\r\n {this.formatLabel ? (\r\n <p class=\"date_picker_label text-sm-medium\">{this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase()}</p>\r\n ) : (\r\n <p class=\"date_picker_label text-sm-medium\">{this.label}</p>\r\n )}\r\n </>\r\n )}\r\n <div class={`date-picker-wrapper ${this.fullWidth ? 'full_width' : ''}`}>\r\n <div\r\n class=\"inner_container\"\r\n onClick={() => {\r\n this.toggleCalendar();\r\n }}\r\n >\r\n {this.iconPosition === 'left' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M9.16658 10.0833C8.75237 10.0833 8.41658 10.4191 8.41658 10.8333C8.41658 11.2475 8.75237 11.5833 9.16658 11.5833V10.8333V10.0833ZM13.3333 11.5833C13.7475 11.5833 14.0833 11.2475 14.0833 10.8333C14.0833 10.4191 13.7475 10.0833 13.3333 10.0833V10.8333V11.5833ZM6.66658 10.0833C6.25237 10.0833 5.91659 10.4191 5.91659 10.8333C5.91659 11.2475 6.25237 11.5833 6.66658 11.5833V10.8333V10.0833ZM6.67407 11.5833C7.08828 11.5833 7.42407 11.2475 7.42407 10.8333C7.42407 10.4191 7.08828 10.0833 6.67407 10.0833V10.8333V11.5833ZM10.8333 14.9166C11.2475 14.9166 11.5833 14.5808 11.5833 14.1666C11.5833 13.7524 11.2475 13.4166 10.8333 13.4166V14.1666V14.9166ZM6.66658 13.4166C6.25237 13.4166 5.91659 13.7524 5.91659 14.1666C5.91659 14.5808 6.25237 14.9166 6.66658 14.9166V14.1666V13.4166ZM13.3333 14.9166C13.7475 14.9166 14.0833 14.5808 14.0833 14.1666C14.0833 13.7524 13.7475 13.4166 13.3333 13.4166V14.1666V14.9166ZM13.3258 13.4166C12.9116 13.4166 12.5758 13.7524 12.5758 14.1666C12.5758 14.5808 12.9116 14.9166 13.3258 14.9166V14.1666V13.4166ZM15.7499 1.66663C15.7499 1.25241 15.4141 0.916626 14.9999 0.916626C14.5857 0.916626 14.2499 1.25241 14.2499 1.66663H14.9999H15.7499ZM14.2499 3.33329C14.2499 3.74751 14.5857 4.08329 14.9999 4.08329C15.4141 4.08329 15.7499 3.74751 15.7499 3.33329H14.9999H14.2499ZM5.74992 1.66663C5.74992 1.25241 5.41413 0.916626 4.99992 0.916626C4.58571 0.916626 4.24992 1.25241 4.24992 1.66663H4.99992H5.74992ZM4.24992 3.33329C4.24992 3.74751 4.58571 4.08329 4.99992 4.08329C5.41413 4.08329 5.74992 3.74751 5.74992 3.33329H4.99992H4.24992ZM2.49992 5.91663C2.08571 5.91663 1.74992 6.25241 1.74992 6.66663C1.74992 7.08084 2.08571 7.41663 2.49992 7.41663V6.66663V5.91663ZM17.4999 7.41663C17.9141 7.41663 18.2499 7.08084 18.2499 6.66663C18.2499 6.25241 17.9141 5.91663 17.4999 5.91663V6.66663V7.41663ZM9.16658 10.8333V11.5833H13.3333V10.8333V10.0833H9.16658V10.8333ZM6.66658 10.8333V11.5833H6.67407V10.8333V10.0833H6.66658V10.8333ZM10.8333 14.1666V13.4166H6.66658V14.1666V14.9166H10.8333V14.1666ZM13.3333 14.1666V13.4166H13.3258V14.1666V14.9166H13.3333V14.1666ZM14.9999 1.66663H14.2499V3.33329H14.9999H15.7499V1.66663H14.9999ZM4.99992 1.66663H4.24992V3.33329H4.99992H5.74992V1.66663H4.99992ZM9.20825 2.49996V3.24996H10.7916V2.49996V1.74996H9.20825V2.49996ZM17.9166 10.2027H17.1666V10.6306H17.9166H18.6666V10.2027H17.9166ZM10.7916 18.3333V17.5833H9.20825V18.3333V19.0833H10.7916V18.3333ZM2.08325 10.6306H2.83325V10.2027H2.08325H1.33325V10.6306H2.08325ZM9.20825 18.3333V17.5833C7.506 17.5833 6.31079 17.5814 5.4071 17.4501C4.53136 17.3228 4.03943 17.0875 3.67726 16.696L3.12668 17.2053L2.57611 17.7145C3.25737 18.451 4.12685 18.7798 5.19134 18.9345C6.22789 19.0851 7.55174 19.0833 9.20825 19.0833V18.3333ZM2.08325 10.6306H1.33325C1.33325 12.4265 1.33189 13.8433 1.46941 14.9491C1.60893 16.071 1.90254 16.9864 2.57611 17.7145L3.12668 17.2053L3.67726 16.696C3.30739 16.2961 3.07929 15.7397 2.95795 14.764C2.83462 13.7723 2.83325 12.4658 2.83325 10.6306H2.08325ZM17.9166 10.6306H17.1666C17.1666 12.4658 17.1652 13.7723 17.0419 14.764C16.9205 15.7397 16.6924 16.2961 16.3226 16.696L16.8732 17.2053L17.4237 17.7145C18.0973 16.9864 18.3909 16.071 18.5304 14.9491C18.668 13.8433 18.6666 12.4265 18.6666 10.6306H17.9166ZM10.7916 18.3333V19.0833C12.4481 19.0833 13.7719 19.0851 14.8085 18.9345C15.873 18.7798 16.7425 18.451 17.4237 17.7145L16.8732 17.2053L16.3226 16.696C15.9604 17.0875 15.4685 17.3228 14.5927 17.4501C13.689 17.5814 12.4938 17.5833 10.7916 17.5833V18.3333ZM10.7916 2.49996V3.24996C12.4938 3.24996 13.689 3.25182 14.5927 3.38316C15.4685 3.51045 15.9604 3.74573 16.3226 4.13728L16.8732 3.62799L17.4237 3.11871C16.7425 2.38222 15.873 2.05348 14.8085 1.89876C13.7719 1.7481 12.4481 1.74996 10.7916 1.74996V2.49996ZM17.9166 10.2027H18.6666C18.6666 8.40677 18.668 6.98999 18.5304 5.88412C18.3909 4.76229 18.0973 3.84689 17.4237 3.11871L16.8732 3.62799L16.3226 4.13728C16.6924 4.53713 16.9205 5.09352 17.0419 6.06924C17.1652 7.06093 17.1666 8.36747 17.1666 10.2027H17.9166ZM9.20825 2.49996V1.74996C7.55174 1.74996 6.22789 1.7481 5.19134 1.89876C4.12685 2.05348 3.25737 2.38222 2.57611 3.11871L3.12668 3.62799L3.67726 4.13728C4.03943 3.74573 4.53136 3.51045 5.4071 3.38316C6.31079 3.25182 7.506 3.24996 9.20825 3.24996V2.49996ZM2.08325 10.2027H2.83325C2.83325 8.36747 2.83462 7.06093 2.95795 6.06924C3.07929 5.09352 3.30739 4.53713 3.67726 4.13728L3.12668 3.62799L2.57611 3.11871C1.90254 3.84689 1.60893 4.76229 1.46941 5.88412C1.33189 6.98999 1.33325 8.40677 1.33325 10.2027H2.08325ZM2.49992 6.66663V7.41663H17.4999V6.66663V5.91663H2.49992V6.66663Z\"\r\n fill=\"var(--color-icon, #4B5565)\"\r\n />\r\n </svg>\r\n )}\r\n <input type=\"text\" ref={el => (this.inputEl = el as HTMLInputElement)} placeholder={this.placeholder} disabled={this.disabled} value={this.displayValue} readonly />\r\n <span ref={el => (this.mirrorEl = el as HTMLSpanElement)} id=\"mirror\">\r\n {this.displayValue || this.placeholder}\r\n </span>\r\n {this.iconPosition === 'right' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M9.16658 10.0833C8.75237 10.0833 8.41658 10.4191 8.41658 10.8333C8.41658 11.2475 8.75237 11.5833 9.16658 11.5833V10.8333V10.0833ZM13.3333 11.5833C13.7475 11.5833 14.0833 11.2475 14.0833 10.8333C14.0833 10.4191 13.7475 10.0833 13.3333 10.0833V10.8333V11.5833ZM6.66658 10.0833C6.25237 10.0833 5.91659 10.4191 5.91659 10.8333C5.91659 11.2475 6.25237 11.5833 6.66658 11.5833V10.8333V10.0833ZM6.67407 11.5833C7.08828 11.5833 7.42407 11.2475 7.42407 10.8333C7.42407 10.4191 7.08828 10.0833 6.67407 10.0833V10.8333V11.5833ZM10.8333 14.9166C11.2475 14.9166 11.5833 14.5808 11.5833 14.1666C11.5833 13.7524 11.2475 13.4166 10.8333 13.4166V14.1666V14.9166ZM6.66658 13.4166C6.25237 13.4166 5.91659 13.7524 5.91659 14.1666C5.91659 14.5808 6.25237 14.9166 6.66658 14.9166V14.1666V13.4166ZM13.3333 14.9166C13.7475 14.9166 14.0833 14.5808 14.0833 14.1666C14.0833 13.7524 13.7475 13.4166 13.3333 13.4166V14.1666V14.9166ZM13.3258 13.4166C12.9116 13.4166 12.5758 13.7524 12.5758 14.1666C12.5758 14.5808 12.9116 14.9166 13.3258 14.9166V14.1666V13.4166ZM15.7499 1.66663C15.7499 1.25241 15.4141 0.916626 14.9999 0.916626C14.5857 0.916626 14.2499 1.25241 14.2499 1.66663H14.9999H15.7499ZM14.2499 3.33329C14.2499 3.74751 14.5857 4.08329 14.9999 4.08329C15.4141 4.08329 15.7499 3.74751 15.7499 3.33329H14.9999H14.2499ZM5.74992 1.66663C5.74992 1.25241 5.41413 0.916626 4.99992 0.916626C4.58571 0.916626 4.24992 1.25241 4.24992 1.66663H4.99992H5.74992ZM4.24992 3.33329C4.24992 3.74751 4.58571 4.08329 4.99992 4.08329C5.41413 4.08329 5.74992 3.74751 5.74992 3.33329H4.99992H4.24992ZM2.49992 5.91663C2.08571 5.91663 1.74992 6.25241 1.74992 6.66663C1.74992 7.08084 2.08571 7.41663 2.49992 7.41663V6.66663V5.91663ZM17.4999 7.41663C17.9141 7.41663 18.2499 7.08084 18.2499 6.66663C18.2499 6.25241 17.9141 5.91663 17.4999 5.91663V6.66663V7.41663ZM9.16658 10.8333V11.5833H13.3333V10.8333V10.0833H9.16658V10.8333ZM6.66658 10.8333V11.5833H6.67407V10.8333V10.0833H6.66658V10.8333ZM10.8333 14.1666V13.4166H6.66658V14.1666V14.9166H10.8333V14.1666ZM13.3333 14.1666V13.4166H13.3258V14.1666V14.9166H13.3333V14.1666ZM14.9999 1.66663H14.2499V3.33329H14.9999H15.7499V1.66663H14.9999ZM4.99992 1.66663H4.24992V3.33329H4.99992H5.74992V1.66663H4.99992ZM9.20825 2.49996V3.24996H10.7916V2.49996V1.74996H9.20825V2.49996ZM17.9166 10.2027H17.1666V10.6306H17.9166H18.6666V10.2027H17.9166ZM10.7916 18.3333V17.5833H9.20825V18.3333V19.0833H10.7916V18.3333ZM2.08325 10.6306H2.83325V10.2027H2.08325H1.33325V10.6306H2.08325ZM9.20825 18.3333V17.5833C7.506 17.5833 6.31079 17.5814 5.4071 17.4501C4.53136 17.3228 4.03943 17.0875 3.67726 16.696L3.12668 17.2053L2.57611 17.7145C3.25737 18.451 4.12685 18.7798 5.19134 18.9345C6.22789 19.0851 7.55174 19.0833 9.20825 19.0833V18.3333ZM2.08325 10.6306H1.33325C1.33325 12.4265 1.33189 13.8433 1.46941 14.9491C1.60893 16.071 1.90254 16.9864 2.57611 17.7145L3.12668 17.2053L3.67726 16.696C3.30739 16.2961 3.07929 15.7397 2.95795 14.764C2.83462 13.7723 2.83325 12.4658 2.83325 10.6306H2.08325ZM17.9166 10.6306H17.1666C17.1666 12.4658 17.1652 13.7723 17.0419 14.764C16.9205 15.7397 16.6924 16.2961 16.3226 16.696L16.8732 17.2053L17.4237 17.7145C18.0973 16.9864 18.3909 16.071 18.5304 14.9491C18.668 13.8433 18.6666 12.4265 18.6666 10.6306H17.9166ZM10.7916 18.3333V19.0833C12.4481 19.0833 13.7719 19.0851 14.8085 18.9345C15.873 18.7798 16.7425 18.451 17.4237 17.7145L16.8732 17.2053L16.3226 16.696C15.9604 17.0875 15.4685 17.3228 14.5927 17.4501C13.689 17.5814 12.4938 17.5833 10.7916 17.5833V18.3333ZM10.7916 2.49996V3.24996C12.4938 3.24996 13.689 3.25182 14.5927 3.38316C15.4685 3.51045 15.9604 3.74573 16.3226 4.13728L16.8732 3.62799L17.4237 3.11871C16.7425 2.38222 15.873 2.05348 14.8085 1.89876C13.7719 1.7481 12.4481 1.74996 10.7916 1.74996V2.49996ZM17.9166 10.2027H18.6666C18.6666 8.40677 18.668 6.98999 18.5304 5.88412C18.3909 4.76229 18.0973 3.84689 17.4237 3.11871L16.8732 3.62799L16.3226 4.13728C16.6924 4.53713 16.9205 5.09352 17.0419 6.06924C17.1652 7.06093 17.1666 8.36747 17.1666 10.2027H17.9166ZM9.20825 2.49996V1.74996C7.55174 1.74996 6.22789 1.7481 5.19134 1.89876C4.12685 2.05348 3.25737 2.38222 2.57611 3.11871L3.12668 3.62799L3.67726 4.13728C4.03943 3.74573 4.53136 3.51045 5.4071 3.38316C6.31079 3.25182 7.506 3.24996 9.20825 3.24996V2.49996ZM2.08325 10.2027H2.83325C2.83325 8.36747 2.83462 7.06093 2.95795 6.06924C3.07929 5.09352 3.30739 4.53713 3.67726 4.13728L3.12668 3.62799L2.57611 3.11871C1.90254 3.84689 1.60893 4.76229 1.46941 5.88412C1.33189 6.98999 1.33325 8.40677 1.33325 10.2027H2.08325ZM2.49992 6.66663V7.41663H17.4999V6.66663V5.91663H2.49992V6.66663Z\"\r\n fill=\"var(--color-icon, #4B5565)\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n\r\n {/* Always in DOM, just hidden by CSS */}\r\n <div class={`calendar-container ${!this.isCalendarShown ? 'hidden' : ''} ${this.dropdownAlignment}`}></div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"gb-date-picker.js","sourceRoot":"","sources":["../../../src/components/gb-date-picker/gb-date-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Prop, State, Fragment, Watch } from '@stencil/core';\r\nimport flatpickr from 'flatpickr';\r\nimport 'flatpickr/dist/flatpickr.min.css';\r\nimport { CustomLocale } from 'flatpickr/dist/types/locale';\r\nimport { CloseButtonPositions } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-date-picker',\r\n styleUrl: 'gb-date-picker.css',\r\n shadow: true,\r\n})\r\nexport class GbDatePicker {\r\n @Element() el: HTMLElement;\r\n @Prop() placeholder: string = 'Start date - end date';\r\n @Prop({ mutable: true }) value: Date | Date[] | null = null;\r\n @Prop() format: string = 'M j, Y';\r\n @Prop() mode: 'single' | 'range' = 'single';\r\n @Prop() disabled: boolean = false;\r\n @Prop() iconPosition: CloseButtonPositions = 'right';\r\n @Prop() dropdownAlignment: CloseButtonPositions = 'left';\r\n @Prop() label: string = '';\r\n @Prop() formatLabel: boolean = true;\r\n @Prop() allowInput: boolean = false;\r\n @Prop() enableTime: boolean = false;\r\n @Prop() noCalendar: boolean = false;\r\n @Prop() twentyfourHr: boolean = false;\r\n @Prop() showMonths: number = 2;\r\n @Prop() fullWidth: boolean = false;\r\n @State() isCalendarShown: boolean = false;\r\n @State() breakpoint: 'mobile' | 'desktop' = 'desktop';\r\n @State() width: number = window.innerWidth;\r\n @State() displayValue: string;\r\n @State() selectionSource: 'sidebar' | 'calendar' | null = 'sidebar';\r\n @Event() dateChange: EventEmitter<Date | Date[]>;\r\n\r\n private inputEl!: HTMLInputElement;\r\n private picker: flatpickr.Instance;\r\n private activeSidebarItem?: HTMLElement;\r\n private hasAppliedDefaultPreset: boolean = false;\r\n private mirrorEl!: HTMLSpanElement;\r\n\r\n componentDidLoad() {\r\n // this.injectApplyButton();\r\n this.initializePicker();\r\n this.resizeInputFieldBasedOnTheValue();\r\n }\r\n\r\n componentWillLoad() {\r\n window.addEventListener('resize', this.handleResize);\r\n\r\n // ✅ Initialize displayValue before render to avoid state changes during componentDidLoad\r\n if (!this.displayValue) {\r\n this.displayValue = '';\r\n }\r\n }\r\n\r\n resizeInputFieldBasedOnTheValue() {\r\n if (!this.inputEl || !this.mirrorEl || this.fullWidth) return;\r\n\r\n const text = this.displayValue || this.inputEl.value || this.placeholder || '';\r\n\r\n this.mirrorEl.textContent = text;\r\n\r\n // padding + caret buffer\r\n const padding = 16;\r\n this.inputEl.style.width = `${this.mirrorEl.offsetWidth + padding}px`;\r\n }\r\n\r\n @Watch('displayValue')\r\n handleDisplayValueChange() {\r\n requestAnimationFrame(() => this.resizeInputFieldBasedOnTheValue());\r\n }\r\n\r\n private handleResize = () => {\r\n this.width = window.innerWidth;\r\n\r\n const newBreakpoint = this.width < 900 ? 'mobile' : 'desktop';\r\n\r\n if (newBreakpoint !== this.breakpoint) {\r\n this.breakpoint = newBreakpoint;\r\n\r\n if (this.picker) {\r\n this.picker.set('showMonths', this.getMonthCount());\r\n\r\n // Sidebar only makes sense for 2 months\r\n requestAnimationFrame(() => {\r\n this.maybeCreateSidebar(this.picker.calendarContainer);\r\n });\r\n }\r\n }\r\n };\r\n\r\n private getMonthCount(): number {\r\n return this.width < 900 ? 1 : this.showMonths;\r\n }\r\n\r\n disconnectedCallback() {\r\n if (this.picker) this.picker.destroy();\r\n }\r\n\r\n private initializePicker() {\r\n const calendarContainer = this.el.shadowRoot.querySelector('.calendar-container') as HTMLElement;\r\n const input = this.inputEl;\r\n\r\n const customLocale: Partial<CustomLocale> = {\r\n weekdays: {\r\n shorthand: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\r\n longhand: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\r\n },\r\n rangeSeparator: ' - ',\r\n };\r\n\r\n if (!calendarContainer || !input) {\r\n console.warn('Calendar container or input not found.');\r\n return;\r\n }\r\n\r\n const fixDaysWidth = () => {\r\n const days = this.el.shadowRoot?.querySelector('.flatpickr-days') as HTMLElement;\r\n if (days) {\r\n days.style.width = 'auto';\r\n }\r\n };\r\n\r\n this.picker = flatpickr(input, {\r\n dateFormat: this.format,\r\n mode: this.mode,\r\n showMonths: this.getMonthCount(),\r\n appendTo: calendarContainer, // keep inside shadow root\r\n clickOpens: false,\r\n allowInput: false,\r\n altInput: false,\r\n altFormat: this.format,\r\n closeOnSelect: !this.enableTime,\r\n locale: customLocale,\r\n disableMobile: true,\r\n enableTime: this.enableTime,\r\n noCalendar: this.noCalendar,\r\n time_24hr: this.twentyfourHr,\r\n prevArrow: `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class=\"calendar_arrow\">\r\n <path d=\"M12.5 4.99988C12.5 4.99988 7.50001 8.68232 7.5 9.99992C7.49999 11.3175 12.5 14.9999 12.5 14.9999\" stroke=\"var(--color-icon, #4B5565)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n `,\r\n nextArrow: ` \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class=\"calendar_arrow\">\r\n <path d=\"M7.50004 5C7.50004 5 12.5 8.68244 12.5 10C12.5 11.3176 7.5 15 7.5 15\" stroke=\"var(--color-icon, #4B5565)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n `,\r\n onChange: (selectedDates: Date[]) => {\r\n // if (this.selectionSource === 'sidebar') return;\r\n this.selectionSource = 'calendar';\r\n this.activeSidebarItem?.removeAttribute('selected');\r\n this.activeSidebarItem = undefined;\r\n\r\n if (this.mode === 'range' && selectedDates.length === 2) {\r\n const [start, end] = selectedDates;\r\n const newDisplayValue = `${this.picker.formatDate(start, this.format)} - ${this.picker.formatDate(end, this.format)}`;\r\n if (this.displayValue !== newDisplayValue) {\r\n this.displayValue = newDisplayValue;\r\n }\r\n this.value = [start, end];\r\n this.dateChange.emit([start, end]);\r\n }\r\n\r\n if (this.mode === 'single' && selectedDates.length > 0) {\r\n const newDisplayValue = this.picker.formatDate(selectedDates[0], this.format);\r\n if (this.displayValue !== newDisplayValue) {\r\n this.displayValue = newDisplayValue;\r\n }\r\n this.value = selectedDates[0];\r\n this.dateChange.emit(this.value);\r\n }\r\n\r\n fixDaysWidth();\r\n },\r\n onOpen: () => {\r\n this.isCalendarShown = true;\r\n fixDaysWidth();\r\n },\r\n onClose: () => {\r\n this.isCalendarShown = false;\r\n },\r\n onReady: (_, __, fp) => {\r\n this.picker = fp; // ✅ FIRST\r\n\r\n requestAnimationFrame(() => {\r\n this.injectSidebarLayout(fp);\r\n this.maybeCreateSidebar(fp.calendarContainer);\r\n\r\n if (!this.hasAppliedDefaultPreset && !this.value && this.showMonths > 1) {\r\n this.hasAppliedDefaultPreset = true;\r\n this.selectionSource = 'sidebar';\r\n this.applyDefaultTodayPreset();\r\n } else {\r\n this.selectionSource = 'sidebar';\r\n }\r\n });\r\n },\r\n });\r\n\r\n input.addEventListener('input', () => {\r\n const dateStr = input.value;\r\n const parsedDate = this.picker.parseDate(dateStr, this.format);\r\n\r\n if (parsedDate && this.value !== parsedDate) {\r\n this.value = parsedDate;\r\n this.dateChange.emit(this.value);\r\n }\r\n });\r\n }\r\n\r\n clearDateSelection() {\r\n if (this.picker) {\r\n this.picker.clear();\r\n }\r\n }\r\n\r\n private applyDefaultTodayPreset() {\r\n if (!this.picker) return;\r\n\r\n const today = new Date();\r\n\r\n // Set flatpickr value\r\n this.picker.setDate(today, false);\r\n\r\n // Only update if value is still null/empty\r\n if (!this.value) {\r\n this.value = today;\r\n this.dateChange.emit(today);\r\n }\r\n\r\n // UI state - only update if changed\r\n if (this.displayValue !== 'Today') {\r\n this.displayValue = 'Today';\r\n }\r\n }\r\n\r\n private maybeCreateSidebar(calendar: HTMLElement) {\r\n // Remove existing sidebar\r\n calendar.querySelector('.fp-sidebar')?.remove();\r\n\r\n // Sidebar ONLY when months > 1 AND desktop\r\n if (this.breakpoint === 'mobile' || this.picker.config.showMonths <= 1) {\r\n calendar.classList.remove('has-sidebar');\r\n return;\r\n }\r\n\r\n const sidebar = this.createSidebar();\r\n calendar.classList.add('has-sidebar');\r\n calendar.prepend(sidebar);\r\n }\r\n\r\n injectSidebarLayout(fp: flatpickr.Instance) {\r\n const calendar = fp.calendarContainer as HTMLElement;\r\n if (!calendar || calendar.querySelector('.fp-layout')) return;\r\n\r\n const months = calendar.querySelector('.flatpickr-months');\r\n const inner = calendar.querySelector('.flatpickr-innerContainer');\r\n const time = calendar.querySelector('.flatpickr-time');\r\n\r\n if (!months || !inner) return;\r\n\r\n const layout = document.createElement('div');\r\n layout.className = 'fp-layout';\r\n\r\n const main = document.createElement('div');\r\n main.className = 'fp-main';\r\n\r\n main.append(months, inner);\r\n if (time && this.enableTime) main.appendChild(time); // 🔥 preserve time picker\r\n\r\n layout.appendChild(main);\r\n\r\n calendar.appendChild(layout);\r\n\r\n this.injectApplyButton();\r\n }\r\n\r\n createSidebar(): HTMLElement {\r\n const sidebar = document.createElement('div');\r\n sidebar.className = 'fp-sidebar';\r\n\r\n const ranges = [\r\n { key: 'today', label: 'Today' },\r\n { key: 'yesterday', label: 'Yesterday' },\r\n { key: 'this-week', label: 'This week' },\r\n { key: 'last-week', label: 'Last week' },\r\n { key: 'this-month', label: 'This month' },\r\n { key: 'last-month', label: 'Last month' },\r\n { key: 'this-year', label: 'This year' },\r\n { key: 'last-year', label: 'Last year' },\r\n ];\r\n\r\n ranges.forEach(r => {\r\n const item = document.createElement('gb-date-picker-list-item');\r\n item.setAttribute('label', r.label);\r\n item.dataset.range = r.key;\r\n\r\n item.addEventListener('mousedown', e => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n this.clearPresetSelection(sidebar);\r\n (item as any).selected = true;\r\n\r\n this.applyPreset(r.key);\r\n this.picker.close(); //test this\r\n });\r\n\r\n sidebar.appendChild(item);\r\n\r\n if (r.key === 'today') {\r\n requestAnimationFrame(() => {\r\n this.selectSidebarItem(item);\r\n // this.applyPreset('today');\r\n });\r\n }\r\n });\r\n\r\n return sidebar;\r\n }\r\n\r\n selectSidebarItem(item: HTMLElement) {\r\n if (this.activeSidebarItem) {\r\n this.activeSidebarItem.removeAttribute('selected');\r\n }\r\n\r\n item.setAttribute('selected', 'true');\r\n this.activeSidebarItem = item;\r\n }\r\n\r\n applyPreset(key: string) {\r\n if (!this.picker) return;\r\n\r\n this.selectionSource = 'sidebar';\r\n\r\n const today = new Date();\r\n let start!: Date;\r\n let end!: Date;\r\n\r\n switch (key) {\r\n case 'today':\r\n start = end = new Date();\r\n this.displayValue = 'Today';\r\n break;\r\n\r\n case 'yesterday':\r\n start = end = new Date();\r\n start.setDate(start.getDate() - 1);\r\n this.displayValue = 'Yesterday';\r\n break;\r\n\r\n case 'this-week': {\r\n const d = new Date();\r\n start = new Date(d);\r\n start.setDate(d.getDate() - d.getDay());\r\n end = new Date();\r\n this.displayValue = 'This week';\r\n break;\r\n }\r\n\r\n case 'last-week': {\r\n const d = new Date();\r\n end = new Date(d);\r\n end.setDate(d.getDate() - d.getDay() - 1);\r\n start = new Date(end);\r\n start.setDate(end.getDate() - 6);\r\n this.displayValue = 'Last week';\r\n break;\r\n }\r\n\r\n case 'this-month':\r\n start = new Date(today.getFullYear(), today.getMonth(), 1);\r\n end = new Date();\r\n this.displayValue = 'This month';\r\n break;\r\n\r\n case 'last-month':\r\n start = new Date(today.getFullYear(), today.getMonth() - 1, 1);\r\n end = new Date(today.getFullYear(), today.getMonth(), 0);\r\n this.displayValue = 'Last month';\r\n break;\r\n\r\n case 'this-year':\r\n start = new Date(today.getFullYear(), 0, 1);\r\n end = new Date();\r\n this.displayValue = 'This year';\r\n break;\r\n\r\n case 'last-year':\r\n start = new Date(today.getFullYear() - 1, 0, 1);\r\n end = new Date(today.getFullYear() - 1, 11, 31);\r\n this.displayValue = 'Last year';\r\n break;\r\n }\r\n\r\n const value = this.mode === 'range' ? [start, end] : start;\r\n\r\n // Update picker WITHOUT triggering onChange\r\n this.picker.setDate(value, false);\r\n\r\n // Emit real data\r\n this.value = value;\r\n\r\n this.dateChange.emit(this.value);\r\n\r\n this.preventTimePickerClosing();\r\n }\r\n\r\n clearPresetSelection(sidebar: HTMLElement) {\r\n const items = sidebar.querySelectorAll('gb-date-picker-list-item');\r\n items.forEach(item => {\r\n (item as any).selected = false;\r\n });\r\n }\r\n\r\n injectApplyButton() {\r\n const calendarContainer = this.el.shadowRoot.querySelector('.calendar-container') as HTMLElement;\r\n const timeContainer = calendarContainer.querySelector('.flatpickr-time') as HTMLElement;\r\n\r\n if (!timeContainer) return;\r\n\r\n const buttonDiv = document.createElement('div');\r\n buttonDiv.classList.add('apply_button_wrapper');\r\n\r\n // Create custom button\r\n const applyBtn = document.createElement('gb-button');\r\n applyBtn.setAttribute('size', 'md');\r\n applyBtn.setAttribute('hierarchy', 'primary');\r\n applyBtn.setAttribute('icon', 'default');\r\n applyBtn.classList.add('apply-btn');\r\n\r\n // Add label inside\r\n applyBtn.innerHTML = `<p>OK</p>`;\r\n\r\n buttonDiv.insertAdjacentElement('afterend', applyBtn);\r\n buttonDiv.appendChild(applyBtn);\r\n\r\n // Click logic\r\n applyBtn.addEventListener('click', () => {\r\n const selected = this.picker.selectedDates;\r\n\r\n if (selected.length) {\r\n const formatted = selected[0];\r\n this.value = formatted;\r\n console.log(this.value);\r\n this.dateChange.emit(this.value);\r\n }\r\n\r\n this.picker.close();\r\n });\r\n\r\n // Insert after time div\r\n timeContainer.insertAdjacentElement('afterend', buttonDiv);\r\n }\r\n\r\n preventTimePickerClosing() {\r\n const calendarContainer = this.el.shadowRoot.querySelector('.calendar-container') as HTMLElement;\r\n const timeContainer = calendarContainer.querySelector('.flatpickr-am-pm') as HTMLElement;\r\n\r\n if ((this.mode === 'single' && this.enableTime) || (this.mode === 'range' && this.enableTime)) {\r\n calendarContainer.addEventListener('click', e => {\r\n e.stopPropagation();\r\n });\r\n }\r\n\r\n if (timeContainer) {\r\n timeContainer.addEventListener('click', e => {\r\n e.stopPropagation();\r\n });\r\n }\r\n }\r\n\r\n private toggleCalendar(event?: Event) {\r\n if (event) {\r\n const target = event.target as HTMLElement;\r\n if (this.el.shadowRoot && this.el.shadowRoot.contains(target)) {\r\n const calendarEl = this.el.shadowRoot.querySelector('.calendar-container');\r\n if (calendarEl && calendarEl.contains(target)) {\r\n return; // Ignore clicks inside the calendar\r\n }\r\n }\r\n }\r\n\r\n if (!this.picker) return;\r\n\r\n if (this.isCalendarShown) {\r\n this.picker.close();\r\n } else {\r\n this.picker.open();\r\n }\r\n }\r\n\r\n stripYearFormat(format: string): string {\r\n // Remove Y or ,Y or -Y or Y, or Y- and tidy separators\r\n // Handles tokens like \"M-j-Y\", \"F j, Y\", \"d/m/Y\", \"Y-m-d\", etc.\r\n let [datePart, timePart] = format.split(/\\s+(?=[HhKk])/);\r\n\r\n // Remove year tokens (Y or y) and any adjacent separator characters (, - / . space)\r\n datePart = datePart.replace(/(?:\\s*[-,/.]\\s*|\\s+)?[Yy](?:\\s*[-,/.]\\s*|\\s+)?/g, '');\r\n\r\n // Clean up doubled separators produced by removal (e.g. \"M--j\" -> \"M-j\")\r\n datePart = datePart.replace(/[-,/.]{2,}/g, '-');\r\n\r\n // Remove leading/trailing separators/spaces\r\n datePart = datePart.replace(/^[\\s-_,./]+|[\\s-_,./]+$/g, '');\r\n\r\n // Normalize multiple spaces\r\n datePart = datePart.replace(/\\s{2,}/g, ' ').trim();\r\n\r\n return timePart ? `${datePart} ${timePart}` : datePart;\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`date_picker_container`}>\r\n {this.label && (\r\n <>\r\n {this.formatLabel ? (\r\n <p class=\"date_picker_label text-sm-medium\">{this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase()}</p>\r\n ) : (\r\n <p class=\"date_picker_label text-sm-medium\">{this.label}</p>\r\n )}\r\n </>\r\n )}\r\n <div class={`date-picker-wrapper ${this.fullWidth ? 'full_width' : ''}`}>\r\n <div\r\n class={`inner_container ${this.iconPosition}`}\r\n onClick={() => {\r\n this.toggleCalendar();\r\n }}\r\n >\r\n {this.iconPosition === 'left' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M9.16658 10.0833C8.75237 10.0833 8.41658 10.4191 8.41658 10.8333C8.41658 11.2475 8.75237 11.5833 9.16658 11.5833V10.8333V10.0833ZM13.3333 11.5833C13.7475 11.5833 14.0833 11.2475 14.0833 10.8333C14.0833 10.4191 13.7475 10.0833 13.3333 10.0833V10.8333V11.5833ZM6.66658 10.0833C6.25237 10.0833 5.91659 10.4191 5.91659 10.8333C5.91659 11.2475 6.25237 11.5833 6.66658 11.5833V10.8333V10.0833ZM6.67407 11.5833C7.08828 11.5833 7.42407 11.2475 7.42407 10.8333C7.42407 10.4191 7.08828 10.0833 6.67407 10.0833V10.8333V11.5833ZM10.8333 14.9166C11.2475 14.9166 11.5833 14.5808 11.5833 14.1666C11.5833 13.7524 11.2475 13.4166 10.8333 13.4166V14.1666V14.9166ZM6.66658 13.4166C6.25237 13.4166 5.91659 13.7524 5.91659 14.1666C5.91659 14.5808 6.25237 14.9166 6.66658 14.9166V14.1666V13.4166ZM13.3333 14.9166C13.7475 14.9166 14.0833 14.5808 14.0833 14.1666C14.0833 13.7524 13.7475 13.4166 13.3333 13.4166V14.1666V14.9166ZM13.3258 13.4166C12.9116 13.4166 12.5758 13.7524 12.5758 14.1666C12.5758 14.5808 12.9116 14.9166 13.3258 14.9166V14.1666V13.4166ZM15.7499 1.66663C15.7499 1.25241 15.4141 0.916626 14.9999 0.916626C14.5857 0.916626 14.2499 1.25241 14.2499 1.66663H14.9999H15.7499ZM14.2499 3.33329C14.2499 3.74751 14.5857 4.08329 14.9999 4.08329C15.4141 4.08329 15.7499 3.74751 15.7499 3.33329H14.9999H14.2499ZM5.74992 1.66663C5.74992 1.25241 5.41413 0.916626 4.99992 0.916626C4.58571 0.916626 4.24992 1.25241 4.24992 1.66663H4.99992H5.74992ZM4.24992 3.33329C4.24992 3.74751 4.58571 4.08329 4.99992 4.08329C5.41413 4.08329 5.74992 3.74751 5.74992 3.33329H4.99992H4.24992ZM2.49992 5.91663C2.08571 5.91663 1.74992 6.25241 1.74992 6.66663C1.74992 7.08084 2.08571 7.41663 2.49992 7.41663V6.66663V5.91663ZM17.4999 7.41663C17.9141 7.41663 18.2499 7.08084 18.2499 6.66663C18.2499 6.25241 17.9141 5.91663 17.4999 5.91663V6.66663V7.41663ZM9.16658 10.8333V11.5833H13.3333V10.8333V10.0833H9.16658V10.8333ZM6.66658 10.8333V11.5833H6.67407V10.8333V10.0833H6.66658V10.8333ZM10.8333 14.1666V13.4166H6.66658V14.1666V14.9166H10.8333V14.1666ZM13.3333 14.1666V13.4166H13.3258V14.1666V14.9166H13.3333V14.1666ZM14.9999 1.66663H14.2499V3.33329H14.9999H15.7499V1.66663H14.9999ZM4.99992 1.66663H4.24992V3.33329H4.99992H5.74992V1.66663H4.99992ZM9.20825 2.49996V3.24996H10.7916V2.49996V1.74996H9.20825V2.49996ZM17.9166 10.2027H17.1666V10.6306H17.9166H18.6666V10.2027H17.9166ZM10.7916 18.3333V17.5833H9.20825V18.3333V19.0833H10.7916V18.3333ZM2.08325 10.6306H2.83325V10.2027H2.08325H1.33325V10.6306H2.08325ZM9.20825 18.3333V17.5833C7.506 17.5833 6.31079 17.5814 5.4071 17.4501C4.53136 17.3228 4.03943 17.0875 3.67726 16.696L3.12668 17.2053L2.57611 17.7145C3.25737 18.451 4.12685 18.7798 5.19134 18.9345C6.22789 19.0851 7.55174 19.0833 9.20825 19.0833V18.3333ZM2.08325 10.6306H1.33325C1.33325 12.4265 1.33189 13.8433 1.46941 14.9491C1.60893 16.071 1.90254 16.9864 2.57611 17.7145L3.12668 17.2053L3.67726 16.696C3.30739 16.2961 3.07929 15.7397 2.95795 14.764C2.83462 13.7723 2.83325 12.4658 2.83325 10.6306H2.08325ZM17.9166 10.6306H17.1666C17.1666 12.4658 17.1652 13.7723 17.0419 14.764C16.9205 15.7397 16.6924 16.2961 16.3226 16.696L16.8732 17.2053L17.4237 17.7145C18.0973 16.9864 18.3909 16.071 18.5304 14.9491C18.668 13.8433 18.6666 12.4265 18.6666 10.6306H17.9166ZM10.7916 18.3333V19.0833C12.4481 19.0833 13.7719 19.0851 14.8085 18.9345C15.873 18.7798 16.7425 18.451 17.4237 17.7145L16.8732 17.2053L16.3226 16.696C15.9604 17.0875 15.4685 17.3228 14.5927 17.4501C13.689 17.5814 12.4938 17.5833 10.7916 17.5833V18.3333ZM10.7916 2.49996V3.24996C12.4938 3.24996 13.689 3.25182 14.5927 3.38316C15.4685 3.51045 15.9604 3.74573 16.3226 4.13728L16.8732 3.62799L17.4237 3.11871C16.7425 2.38222 15.873 2.05348 14.8085 1.89876C13.7719 1.7481 12.4481 1.74996 10.7916 1.74996V2.49996ZM17.9166 10.2027H18.6666C18.6666 8.40677 18.668 6.98999 18.5304 5.88412C18.3909 4.76229 18.0973 3.84689 17.4237 3.11871L16.8732 3.62799L16.3226 4.13728C16.6924 4.53713 16.9205 5.09352 17.0419 6.06924C17.1652 7.06093 17.1666 8.36747 17.1666 10.2027H17.9166ZM9.20825 2.49996V1.74996C7.55174 1.74996 6.22789 1.7481 5.19134 1.89876C4.12685 2.05348 3.25737 2.38222 2.57611 3.11871L3.12668 3.62799L3.67726 4.13728C4.03943 3.74573 4.53136 3.51045 5.4071 3.38316C6.31079 3.25182 7.506 3.24996 9.20825 3.24996V2.49996ZM2.08325 10.2027H2.83325C2.83325 8.36747 2.83462 7.06093 2.95795 6.06924C3.07929 5.09352 3.30739 4.53713 3.67726 4.13728L3.12668 3.62799L2.57611 3.11871C1.90254 3.84689 1.60893 4.76229 1.46941 5.88412C1.33189 6.98999 1.33325 8.40677 1.33325 10.2027H2.08325ZM2.49992 6.66663V7.41663H17.4999V6.66663V5.91663H2.49992V6.66663Z\"\r\n fill=\"var(--color-icon, #4B5565)\"\r\n />\r\n </svg>\r\n )}\r\n <input type=\"text\" ref={el => (this.inputEl = el as HTMLInputElement)} placeholder={this.placeholder} disabled={this.disabled} value={this.displayValue} readonly />\r\n <span ref={el => (this.mirrorEl = el as HTMLSpanElement)} id=\"mirror\">\r\n {this.displayValue || this.placeholder}\r\n </span>\r\n {this.iconPosition === 'right' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M9.16658 10.0833C8.75237 10.0833 8.41658 10.4191 8.41658 10.8333C8.41658 11.2475 8.75237 11.5833 9.16658 11.5833V10.8333V10.0833ZM13.3333 11.5833C13.7475 11.5833 14.0833 11.2475 14.0833 10.8333C14.0833 10.4191 13.7475 10.0833 13.3333 10.0833V10.8333V11.5833ZM6.66658 10.0833C6.25237 10.0833 5.91659 10.4191 5.91659 10.8333C5.91659 11.2475 6.25237 11.5833 6.66658 11.5833V10.8333V10.0833ZM6.67407 11.5833C7.08828 11.5833 7.42407 11.2475 7.42407 10.8333C7.42407 10.4191 7.08828 10.0833 6.67407 10.0833V10.8333V11.5833ZM10.8333 14.9166C11.2475 14.9166 11.5833 14.5808 11.5833 14.1666C11.5833 13.7524 11.2475 13.4166 10.8333 13.4166V14.1666V14.9166ZM6.66658 13.4166C6.25237 13.4166 5.91659 13.7524 5.91659 14.1666C5.91659 14.5808 6.25237 14.9166 6.66658 14.9166V14.1666V13.4166ZM13.3333 14.9166C13.7475 14.9166 14.0833 14.5808 14.0833 14.1666C14.0833 13.7524 13.7475 13.4166 13.3333 13.4166V14.1666V14.9166ZM13.3258 13.4166C12.9116 13.4166 12.5758 13.7524 12.5758 14.1666C12.5758 14.5808 12.9116 14.9166 13.3258 14.9166V14.1666V13.4166ZM15.7499 1.66663C15.7499 1.25241 15.4141 0.916626 14.9999 0.916626C14.5857 0.916626 14.2499 1.25241 14.2499 1.66663H14.9999H15.7499ZM14.2499 3.33329C14.2499 3.74751 14.5857 4.08329 14.9999 4.08329C15.4141 4.08329 15.7499 3.74751 15.7499 3.33329H14.9999H14.2499ZM5.74992 1.66663C5.74992 1.25241 5.41413 0.916626 4.99992 0.916626C4.58571 0.916626 4.24992 1.25241 4.24992 1.66663H4.99992H5.74992ZM4.24992 3.33329C4.24992 3.74751 4.58571 4.08329 4.99992 4.08329C5.41413 4.08329 5.74992 3.74751 5.74992 3.33329H4.99992H4.24992ZM2.49992 5.91663C2.08571 5.91663 1.74992 6.25241 1.74992 6.66663C1.74992 7.08084 2.08571 7.41663 2.49992 7.41663V6.66663V5.91663ZM17.4999 7.41663C17.9141 7.41663 18.2499 7.08084 18.2499 6.66663C18.2499 6.25241 17.9141 5.91663 17.4999 5.91663V6.66663V7.41663ZM9.16658 10.8333V11.5833H13.3333V10.8333V10.0833H9.16658V10.8333ZM6.66658 10.8333V11.5833H6.67407V10.8333V10.0833H6.66658V10.8333ZM10.8333 14.1666V13.4166H6.66658V14.1666V14.9166H10.8333V14.1666ZM13.3333 14.1666V13.4166H13.3258V14.1666V14.9166H13.3333V14.1666ZM14.9999 1.66663H14.2499V3.33329H14.9999H15.7499V1.66663H14.9999ZM4.99992 1.66663H4.24992V3.33329H4.99992H5.74992V1.66663H4.99992ZM9.20825 2.49996V3.24996H10.7916V2.49996V1.74996H9.20825V2.49996ZM17.9166 10.2027H17.1666V10.6306H17.9166H18.6666V10.2027H17.9166ZM10.7916 18.3333V17.5833H9.20825V18.3333V19.0833H10.7916V18.3333ZM2.08325 10.6306H2.83325V10.2027H2.08325H1.33325V10.6306H2.08325ZM9.20825 18.3333V17.5833C7.506 17.5833 6.31079 17.5814 5.4071 17.4501C4.53136 17.3228 4.03943 17.0875 3.67726 16.696L3.12668 17.2053L2.57611 17.7145C3.25737 18.451 4.12685 18.7798 5.19134 18.9345C6.22789 19.0851 7.55174 19.0833 9.20825 19.0833V18.3333ZM2.08325 10.6306H1.33325C1.33325 12.4265 1.33189 13.8433 1.46941 14.9491C1.60893 16.071 1.90254 16.9864 2.57611 17.7145L3.12668 17.2053L3.67726 16.696C3.30739 16.2961 3.07929 15.7397 2.95795 14.764C2.83462 13.7723 2.83325 12.4658 2.83325 10.6306H2.08325ZM17.9166 10.6306H17.1666C17.1666 12.4658 17.1652 13.7723 17.0419 14.764C16.9205 15.7397 16.6924 16.2961 16.3226 16.696L16.8732 17.2053L17.4237 17.7145C18.0973 16.9864 18.3909 16.071 18.5304 14.9491C18.668 13.8433 18.6666 12.4265 18.6666 10.6306H17.9166ZM10.7916 18.3333V19.0833C12.4481 19.0833 13.7719 19.0851 14.8085 18.9345C15.873 18.7798 16.7425 18.451 17.4237 17.7145L16.8732 17.2053L16.3226 16.696C15.9604 17.0875 15.4685 17.3228 14.5927 17.4501C13.689 17.5814 12.4938 17.5833 10.7916 17.5833V18.3333ZM10.7916 2.49996V3.24996C12.4938 3.24996 13.689 3.25182 14.5927 3.38316C15.4685 3.51045 15.9604 3.74573 16.3226 4.13728L16.8732 3.62799L17.4237 3.11871C16.7425 2.38222 15.873 2.05348 14.8085 1.89876C13.7719 1.7481 12.4481 1.74996 10.7916 1.74996V2.49996ZM17.9166 10.2027H18.6666C18.6666 8.40677 18.668 6.98999 18.5304 5.88412C18.3909 4.76229 18.0973 3.84689 17.4237 3.11871L16.8732 3.62799L16.3226 4.13728C16.6924 4.53713 16.9205 5.09352 17.0419 6.06924C17.1652 7.06093 17.1666 8.36747 17.1666 10.2027H17.9166ZM9.20825 2.49996V1.74996C7.55174 1.74996 6.22789 1.7481 5.19134 1.89876C4.12685 2.05348 3.25737 2.38222 2.57611 3.11871L3.12668 3.62799L3.67726 4.13728C4.03943 3.74573 4.53136 3.51045 5.4071 3.38316C6.31079 3.25182 7.506 3.24996 9.20825 3.24996V2.49996ZM2.08325 10.2027H2.83325C2.83325 8.36747 2.83462 7.06093 2.95795 6.06924C3.07929 5.09352 3.30739 4.53713 3.67726 4.13728L3.12668 3.62799L2.57611 3.11871C1.90254 3.84689 1.60893 4.76229 1.46941 5.88412C1.33189 6.98999 1.33325 8.40677 1.33325 10.2027H2.08325ZM2.49992 6.66663V7.41663H17.4999V6.66663V5.91663H2.49992V6.66663Z\"\r\n fill=\"var(--color-icon, #4B5565)\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n\r\n {/* Always in DOM, just hidden by CSS */}\r\n <div class={`calendar-container ${!this.isCalendarShown ? 'hidden' : ''} ${this.dropdownAlignment}`}></div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
@@ -10,12 +10,12 @@ export class GbHorizontalTabs {
10
10
  // badgeCount: '5',
11
11
  // },
12
12
  // {
13
- // name: 'Second',
13
+ // name: 'LCY Accounts',
14
14
  // index: 1,
15
15
  // badgeCount: '10',
16
16
  // },
17
17
  // {
18
- // name: 'Second',
18
+ // name: 'FCY',
19
19
  // index: 1,
20
20
  // badgeCount: '10',
21
21
  // },
@@ -203,7 +203,7 @@ export class GbHorizontalTabs {
203
203
  this.tabItemClicked.emit(index);
204
204
  }
205
205
  render() {
206
- return (h("div", { key: '54f179d340920c66abeebff6e651853d4fe34726', class: `horizontal_tab_div_wrapper ${this.type}` }, h("div", { key: '06bec2c6776414902393ea58d9c9b5fbcc9db42e', class: "scroll_button_div left" }, this.showLeftButton && (h("div", { key: 'e95d3c8d470e5985abeaff7501aae75d6283f999', class: "scroll_button", onClick: () => this.scrollLeft() }, h("svg", { key: 'f4f9b80d61d7629b3727b88df7e061fea7df287e', xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { key: 'e5077eafebebf562514d97ffaa60948e676e8dde', d: "M15 6C15 6 9.00001 10.4189 9 12C8.99999 13.5812 15 18 15 18", stroke: "var(--color-icon, #4B5565)", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))))), h("div", { key: 'b56dde1f3664cfc121dfb88cacb1a7d74bfd11e6', class: "horizontal_tab_wrapper", ref: el => (this.tabContainer = el), onScroll: () => this.handleScroll(), onTouchStart: e => this.handleTouchStart(e), onTouchEnd: e => this.handleTouchEnd(e), onMouseDown: e => this.handleMouseDown(e), onMouseUp: e => this.handleMouseUp(e), onMouseLeave: () => this.handleMouseLeave() }, h("div", { key: '4071c76de952db8e2fdcd0356231bb75e961832d', class: `horizontal_tab_div ${this.type} ${this.fullWidth ? 'full_width' : ''}` }, this.internalTabs.map((tab, index) => (h("gb-tab-button-base", { class: `tab_button_base ${this.fullWidth ? 'full_width' : ''}`, size: this.size, "full-width": this.fullWidth, type: this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type, onClick: () => this.handleTabClick(index), current: this.internalActiveIndex === index, "tab-name": tab.name, badge: this.badge, alignment: "horizontal" }, h("p", { slot: "count" }, tab.badgeCount)))))), h("div", { key: 'd07af9e4cfd0cb806e2814fe111c01e300f21c3f', class: "scroll_button_div right" }, this.showRightButton && (h("div", { key: 'd1175772810a48a573f4fac65f157fe8cf3e92c0', class: "scroll_button", onClick: () => this.scrollRight() }, h("svg", { key: '441a4a4017f6fa6b650b5c321519093864f208c5', xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { key: '279a9a8f38ceff8cf537975dad9809abddd734b8', d: "M9.00005 6C9.00005 6 15 10.4189 15 12C15 13.5812 9 18 9 18", stroke: "var(--color-icon, #4B5565)", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))))));
206
+ return (h("div", { key: 'b59dce87b168230fa7f7ecf7790d1801ef35fb31', class: `horizontal_tab_div_wrapper ${this.type}` }, h("div", { key: '40c60987e2a0a5d33c8f614ab17c446b3afb5409', class: "scroll_button_div left" }, this.showLeftButton && (h("div", { key: '423fcd3d4191bea44f85b707d38e9cb0b3a90c07', class: "scroll_button", onClick: () => this.scrollLeft() }, h("svg", { key: '092e52a9fbf6e061513cc81024a3ff80ee9e5cca', xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { key: '51e2c974734f8c5e2fa0bb2cbf43006bfafc4e7f', d: "M15 6C15 6 9.00001 10.4189 9 12C8.99999 13.5812 15 18 15 18", stroke: "var(--color-icon, #4B5565)", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))))), h("div", { key: '6b5885b053d2a2cde46c2060a933b461dc6b1a32', class: "horizontal_tab_wrapper", ref: el => (this.tabContainer = el), onScroll: () => this.handleScroll(), onTouchStart: e => this.handleTouchStart(e), onTouchEnd: e => this.handleTouchEnd(e), onMouseDown: e => this.handleMouseDown(e), onMouseUp: e => this.handleMouseUp(e), onMouseLeave: () => this.handleMouseLeave() }, h("div", { key: '6c540e0bfed3d5b0ce564bb99e7bf052548eda2c', class: `horizontal_tab_div ${this.type} ${this.fullWidth ? 'full_width' : ''}` }, this.internalTabs.map((tab, index) => (h("gb-tab-button-base", { class: `tab_button_base ${this.fullWidth ? 'full_width' : ''}`, size: this.size, "full-width": this.fullWidth, type: this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type, onClick: () => this.handleTabClick(index), current: this.internalActiveIndex === index, "tab-name": tab.name, badge: this.badge, alignment: "horizontal" }, h("p", { slot: "count" }, tab.badgeCount)))))), h("div", { key: 'a6851a3a7c44bfd102fcf56010c6b356b3d55158', class: "scroll_button_div right" }, this.showRightButton && (h("div", { key: 'aa5163e4afef63d9967e5a68cbd377fdcfa4fbb4', class: "scroll_button", onClick: () => this.scrollRight() }, h("svg", { key: '56b37d27ef790aaaab2ae63237f1f23780f08841', xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { key: '14e4925a41de7e7d9959a089144cec6b2afa80e7', d: "M9.00005 6C9.00005 6 15 10.4189 15 12C15 13.5812 9 18 9 18", stroke: "var(--color-icon, #4B5565)", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))))));
207
207
  }
208
208
  static get is() { return "gb-horizontal-tabs"; }
209
209
  static get encapsulation() { return "shadow"; }
@@ -344,7 +344,7 @@ export class GbHorizontalTabs {
344
344
  },
345
345
  "getter": false,
346
346
  "setter": false,
347
- "defaultValue": "[\r\n // {\r\n // name: 'All accounts',\r\n // index: 0,\r\n // badgeCount: '5',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n ]"
347
+ "defaultValue": "[\r\n // {\r\n // name: 'All accounts',\r\n // index: 0,\r\n // badgeCount: '5',\r\n // },\r\n // {\r\n // name: 'LCY Accounts',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'FCY',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n ]"
348
348
  }
349
349
  };
350
350
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gb-horizontal-tabs.js","sourceRoot":"","sources":["../../../src/components/gb-horizontal-tabs/gb-horizontal-tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, Listen, Prop, State, Watch, h } from '@stencil/core';\r\nimport { GeneralSizes, TabTypes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-horizontal-tabs',\r\n styleUrl: 'gb-horizontal-tabs.css',\r\n shadow: true,\r\n})\r\nexport class GbHorizontalTabs {\r\n @Prop() type: TabTypes;\r\n @Prop() size: GeneralSizes;\r\n @Prop() fullWidth: boolean = false;\r\n @Prop() badge: boolean = false;\r\n @Prop({ mutable: true }) activeIndex: number;\r\n @Prop() tabs: { name: string; index: number; badgeCount?: string }[] = [\r\n // {\r\n // name: 'All accounts',\r\n // index: 0,\r\n // badgeCount: '5',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n ];\r\n @State() internalTabs: { name: string; index: number; badgeCount?: string }[] = [...this.tabs];\r\n @State() internalActiveIndex: number = 0;\r\n // @State() showScrollButtons: boolean = false;\r\n @State() width: number = window.innerWidth;\r\n @Event() tabItemClicked: EventEmitter<number>;\r\n @State() showLeftButton = false;\r\n @State() showRightButton = false;\r\n private tabContainer!: HTMLElement;\r\n private touchStartX: number = 0;\r\n private touchEndX: number = 0;\r\n private mouseStartX: number = 0;\r\n private isMouseDown: boolean = false;\r\n\r\n componentDidLoad() {\r\n this.updateScrollButtons();\r\n }\r\n\r\n scrollLeft() {\r\n this.tabContainer.scrollBy({ left: -200, behavior: 'smooth' });\r\n }\r\n\r\n scrollRight() {\r\n this.tabContainer.scrollBy({ left: 200, behavior: 'smooth' });\r\n }\r\n\r\n handleScroll() {\r\n this.updateScrollButtons();\r\n }\r\n\r\n handleTouchStart(e: TouchEvent) {\r\n this.touchStartX = e.touches[0].clientX;\r\n }\r\n\r\n handleTouchEnd(e: TouchEvent) {\r\n this.touchEndX = e.changedTouches[0].clientX;\r\n this.handleSwipe();\r\n }\r\n\r\n handleSwipe() {\r\n const swipeThreshold = 50; // minimum distance for a swipe\r\n const diff = this.touchStartX - this.touchEndX;\r\n\r\n if (Math.abs(diff) > swipeThreshold) {\r\n if (diff > 0) {\r\n // Swiped left, scroll right\r\n this.scrollRight();\r\n } else {\r\n // Swiped right, scroll left\r\n this.scrollLeft();\r\n }\r\n }\r\n }\r\n\r\n handleMouseDown(e: MouseEvent) {\r\n this.isMouseDown = true;\r\n this.mouseStartX = e.clientX;\r\n }\r\n\r\n handleMouseUp(e: MouseEvent) {\r\n if (!this.isMouseDown) return;\r\n this.isMouseDown = false;\r\n const mouseEndX = e.clientX;\r\n const swipeThreshold = 50;\r\n const diff = this.mouseStartX - mouseEndX;\r\n\r\n if (Math.abs(diff) > swipeThreshold) {\r\n if (diff > 0) {\r\n // Dragged left, scroll right\r\n this.scrollRight();\r\n } else {\r\n // Dragged right, scroll left\r\n this.scrollLeft();\r\n }\r\n }\r\n }\r\n\r\n handleMouseLeave() {\r\n this.isMouseDown = false;\r\n }\r\n\r\n @Listen('resize', { target: 'window' })\r\n updateScrollButtons() {\r\n if (!this.tabContainer) return;\r\n\r\n // Read current viewport width so behavior updates dynamically on resize\r\n this.width = window.innerWidth;\r\n\r\n if (this.width > 768) {\r\n const { scrollLeft, scrollWidth, clientWidth } = this.tabContainer;\r\n\r\n // Only show buttons if overflow exists and the width greater than 768px for screens larger than mobile\r\n const isOverflowing = scrollWidth > clientWidth;\r\n this.showLeftButton = isOverflowing && scrollLeft > 0;\r\n this.showRightButton = isOverflowing && scrollLeft + clientWidth < scrollWidth - 1;\r\n } else {\r\n this.showLeftButton = false;\r\n this.showRightButton = false;\r\n }\r\n }\r\n\r\n @Watch('activeIndex')\r\n setActiveIndex(_oldValue: number, newValue: number) {\r\n this.internalActiveIndex = newValue;\r\n }\r\n\r\n @Watch('tabs')\r\n onTabsChanged(newTabs: { name: string; index: number; badgeCount?: string }[]) {\r\n this.internalTabs = newTabs;\r\n }\r\n\r\n componentWillLoad() {\r\n this.internalTabs = this.tabs;\r\n }\r\n\r\n componentWillRender() {\r\n this.internalActiveIndex = this.activeIndex;\r\n }\r\n\r\n async handleTabClick(index: number) {\r\n this.activeIndex = index;\r\n this.tabItemClicked.emit(index);\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`horizontal_tab_div_wrapper ${this.type}`}>\r\n <div class=\"scroll_button_div left\">\r\n {this.showLeftButton && (\r\n <div class=\"scroll_button\" onClick={() => this.scrollLeft()}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path\r\n d=\"M15 6C15 6 9.00001 10.4189 9 12C8.99999 13.5812 15 18 15 18\"\r\n stroke=\"var(--color-icon, #4B5565)\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n )}\r\n </div>\r\n <div\r\n class=\"horizontal_tab_wrapper\"\r\n ref={el => (this.tabContainer = el as HTMLElement)}\r\n onScroll={() => this.handleScroll()}\r\n onTouchStart={e => this.handleTouchStart(e)}\r\n onTouchEnd={e => this.handleTouchEnd(e)}\r\n onMouseDown={e => this.handleMouseDown(e)}\r\n onMouseUp={e => this.handleMouseUp(e)}\r\n onMouseLeave={() => this.handleMouseLeave()}\r\n >\r\n <div class={`horizontal_tab_div ${this.type} ${this.fullWidth ? 'full_width' : ''}`}>\r\n {this.internalTabs.map((tab, index) => (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(index)}\r\n current={this.internalActiveIndex === index}\r\n tab-name={tab.name}\r\n badge={this.badge}\r\n alignment=\"horizontal\"\r\n >\r\n <p slot=\"count\">{tab.badgeCount}</p>\r\n </gb-tab-button-base>\r\n ))}\r\n </div>\r\n </div>\r\n <div class=\"scroll_button_div right\">\r\n {this.showRightButton && (\r\n <div class=\"scroll_button\" onClick={() => this.scrollRight()}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path\r\n d=\"M9.00005 6C9.00005 6 15 10.4189 15 12C15 13.5812 9 18 9 18\"\r\n stroke=\"var(--color-icon, #4B5565)\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"gb-horizontal-tabs.js","sourceRoot":"","sources":["../../../src/components/gb-horizontal-tabs/gb-horizontal-tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, Listen, Prop, State, Watch, h } from '@stencil/core';\r\nimport { GeneralSizes, TabTypes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-horizontal-tabs',\r\n styleUrl: 'gb-horizontal-tabs.css',\r\n shadow: true,\r\n})\r\nexport class GbHorizontalTabs {\r\n @Prop() type: TabTypes;\r\n @Prop() size: GeneralSizes;\r\n @Prop() fullWidth: boolean = false;\r\n @Prop() badge: boolean = false;\r\n @Prop({ mutable: true }) activeIndex: number;\r\n @Prop() tabs: { name: string; index: number; badgeCount?: string }[] = [\r\n // {\r\n // name: 'All accounts',\r\n // index: 0,\r\n // badgeCount: '5',\r\n // },\r\n // {\r\n // name: 'LCY Accounts',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'FCY',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n // {\r\n // name: 'Second',\r\n // index: 1,\r\n // badgeCount: '10',\r\n // },\r\n ];\r\n @State() internalTabs: { name: string; index: number; badgeCount?: string }[] = [...this.tabs];\r\n @State() internalActiveIndex: number = 0;\r\n // @State() showScrollButtons: boolean = false;\r\n @State() width: number = window.innerWidth;\r\n @Event() tabItemClicked: EventEmitter<number>;\r\n @State() showLeftButton = false;\r\n @State() showRightButton = false;\r\n private tabContainer!: HTMLElement;\r\n private touchStartX: number = 0;\r\n private touchEndX: number = 0;\r\n private mouseStartX: number = 0;\r\n private isMouseDown: boolean = false;\r\n\r\n componentDidLoad() {\r\n this.updateScrollButtons();\r\n }\r\n\r\n scrollLeft() {\r\n this.tabContainer.scrollBy({ left: -200, behavior: 'smooth' });\r\n }\r\n\r\n scrollRight() {\r\n this.tabContainer.scrollBy({ left: 200, behavior: 'smooth' });\r\n }\r\n\r\n handleScroll() {\r\n this.updateScrollButtons();\r\n }\r\n\r\n handleTouchStart(e: TouchEvent) {\r\n this.touchStartX = e.touches[0].clientX;\r\n }\r\n\r\n handleTouchEnd(e: TouchEvent) {\r\n this.touchEndX = e.changedTouches[0].clientX;\r\n this.handleSwipe();\r\n }\r\n\r\n handleSwipe() {\r\n const swipeThreshold = 50; // minimum distance for a swipe\r\n const diff = this.touchStartX - this.touchEndX;\r\n\r\n if (Math.abs(diff) > swipeThreshold) {\r\n if (diff > 0) {\r\n // Swiped left, scroll right\r\n this.scrollRight();\r\n } else {\r\n // Swiped right, scroll left\r\n this.scrollLeft();\r\n }\r\n }\r\n }\r\n\r\n handleMouseDown(e: MouseEvent) {\r\n this.isMouseDown = true;\r\n this.mouseStartX = e.clientX;\r\n }\r\n\r\n handleMouseUp(e: MouseEvent) {\r\n if (!this.isMouseDown) return;\r\n this.isMouseDown = false;\r\n const mouseEndX = e.clientX;\r\n const swipeThreshold = 50;\r\n const diff = this.mouseStartX - mouseEndX;\r\n\r\n if (Math.abs(diff) > swipeThreshold) {\r\n if (diff > 0) {\r\n // Dragged left, scroll right\r\n this.scrollRight();\r\n } else {\r\n // Dragged right, scroll left\r\n this.scrollLeft();\r\n }\r\n }\r\n }\r\n\r\n handleMouseLeave() {\r\n this.isMouseDown = false;\r\n }\r\n\r\n @Listen('resize', { target: 'window' })\r\n updateScrollButtons() {\r\n if (!this.tabContainer) return;\r\n\r\n // Read current viewport width so behavior updates dynamically on resize\r\n this.width = window.innerWidth;\r\n\r\n if (this.width > 768) {\r\n const { scrollLeft, scrollWidth, clientWidth } = this.tabContainer;\r\n\r\n // Only show buttons if overflow exists and the width greater than 768px for screens larger than mobile\r\n const isOverflowing = scrollWidth > clientWidth;\r\n this.showLeftButton = isOverflowing && scrollLeft > 0;\r\n this.showRightButton = isOverflowing && scrollLeft + clientWidth < scrollWidth - 1;\r\n } else {\r\n this.showLeftButton = false;\r\n this.showRightButton = false;\r\n }\r\n }\r\n\r\n @Watch('activeIndex')\r\n setActiveIndex(_oldValue: number, newValue: number) {\r\n this.internalActiveIndex = newValue;\r\n }\r\n\r\n @Watch('tabs')\r\n onTabsChanged(newTabs: { name: string; index: number; badgeCount?: string }[]) {\r\n this.internalTabs = newTabs;\r\n }\r\n\r\n componentWillLoad() {\r\n this.internalTabs = this.tabs;\r\n }\r\n\r\n componentWillRender() {\r\n this.internalActiveIndex = this.activeIndex;\r\n }\r\n\r\n async handleTabClick(index: number) {\r\n this.activeIndex = index;\r\n this.tabItemClicked.emit(index);\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`horizontal_tab_div_wrapper ${this.type}`}>\r\n <div class=\"scroll_button_div left\">\r\n {this.showLeftButton && (\r\n <div class=\"scroll_button\" onClick={() => this.scrollLeft()}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path\r\n d=\"M15 6C15 6 9.00001 10.4189 9 12C8.99999 13.5812 15 18 15 18\"\r\n stroke=\"var(--color-icon, #4B5565)\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n )}\r\n </div>\r\n <div\r\n class=\"horizontal_tab_wrapper\"\r\n ref={el => (this.tabContainer = el as HTMLElement)}\r\n onScroll={() => this.handleScroll()}\r\n onTouchStart={e => this.handleTouchStart(e)}\r\n onTouchEnd={e => this.handleTouchEnd(e)}\r\n onMouseDown={e => this.handleMouseDown(e)}\r\n onMouseUp={e => this.handleMouseUp(e)}\r\n onMouseLeave={() => this.handleMouseLeave()}\r\n >\r\n <div class={`horizontal_tab_div ${this.type} ${this.fullWidth ? 'full_width' : ''}`}>\r\n {this.internalTabs.map((tab, index) => (\r\n <gb-tab-button-base\r\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\r\n size={this.size}\r\n full-width={this.fullWidth}\r\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\r\n onClick={() => this.handleTabClick(index)}\r\n current={this.internalActiveIndex === index}\r\n tab-name={tab.name}\r\n badge={this.badge}\r\n alignment=\"horizontal\"\r\n >\r\n <p slot=\"count\">{tab.badgeCount}</p>\r\n </gb-tab-button-base>\r\n ))}\r\n </div>\r\n </div>\r\n <div class=\"scroll_button_div right\">\r\n {this.showRightButton && (\r\n <div class=\"scroll_button\" onClick={() => this.scrollRight()}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path\r\n d=\"M9.00005 6C9.00005 6 15 10.4189 15 12C15 13.5812 9 18 9 18\"\r\n stroke=\"var(--color-icon, #4B5565)\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
@@ -2,6 +2,9 @@ import { h, Fragment, getAssetPath } from "@stencil/core";
2
2
  import { StateEnum } from "../../models/reusableModels";
3
3
  export class GbInputDropdown {
4
4
  constructor() {
5
+ this.type = 'default';
6
+ this.state = 'default';
7
+ this.size = 'md';
5
8
  this.showLabel = false;
6
9
  this.label = '';
7
10
  this.placeholder = '';
@@ -44,6 +47,7 @@ export class GbInputDropdown {
44
47
  ];
45
48
  this.supportingText = false;
46
49
  this.showBorder = false;
50
+ this.menuPosition = 'bottom';
47
51
  this.showSearchInput = false;
48
52
  this.destructive = false;
49
53
  this.errorText = '';
@@ -223,7 +227,7 @@ export class GbInputDropdown {
223
227
  this.selectedItems = [item]; // Ensure only one item in selectedItems
224
228
  // Close the dropdown after selection for single selection types
225
229
  this.dropdownOpen = false;
226
- console.log(this.selectedItem);
230
+ // console.log(this.selectedItem);
227
231
  this.dropdownItemSelected.emit(this.selectedItem);
228
232
  }
229
233
  selectMultipleItems(item) {
@@ -235,14 +239,14 @@ export class GbInputDropdown {
235
239
  if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {
236
240
  this.unselectedItems = [...this.unselectedItems, item];
237
241
  }
238
- console.log(this.selectedItems);
242
+ // console.log(this.selectedItems);
239
243
  this.dropdownItemSelected.emit(this.selectedItems);
240
244
  }
241
245
  else {
242
246
  // Select item: Move it from unselectedItems to selectedItems
243
247
  this.selectedItems = [...this.selectedItems, item];
244
248
  this.unselectedItems = this.unselectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));
245
- console.log(this.selectedItems);
249
+ // console.log(this.selectedItems);
246
250
  this.dropdownItemSelected.emit(this.selectedItems);
247
251
  }
248
252
  }
@@ -392,16 +396,16 @@ export class GbInputDropdown {
392
396
  const emptyStateBackground = getAssetPath('assets/empty-state-background.svg');
393
397
  const illustration = getAssetPath('assets/empty-state-no-data.svg');
394
398
  return [
395
- h("div", { key: 'e7640132a84d592e04d8d641e238d1ca9cd2d00b', class: `input_dropdown_container ${this.type === 'tags' ? 'tag' : ''}` }, h("div", { key: '4d5e11935fdc28d53b78cbec5f3f6825682a7bf3', class: `input_with_label` }, this.showLabel && (h(Fragment, null, this.formatLabel ? (h("p", { class: "dropdown_label text-sm-medium" }, this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase())) : (h("p", { class: "dropdown_label text-sm-medium" }, this.label)))), h("div", { key: 'ebe86fce7c29947256e1e4874bacff51ca8ac661', class: `input_dropdown_div ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''} ${this.type === 'tags' ? 'tag' : ''} ${this.dropdownOpen ? 'focused' : ''}`, onClick: e => this.toggleDropdown(e) }, this.type === 'avatar_leading' && (h(Fragment, null, this.state === 'default' && (h("svg", { key: '9af68c6265ca0eb49e13ea26d6593dae696dc067', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none" }, h("path", { key: 'f119b1610cb43974d8c79ffd7499b6af90a8435a', d: "M5.48131 12.9013C4.30234 13.6033 1.21114 15.0368 3.09388 16.8305C4.01359 17.7067 5.03791 18.3333 6.32572 18.3333H13.6743C14.9621 18.3333 15.9864 17.7067 16.9061 16.8305C18.7889 15.0368 15.6977 13.6033 14.5187 12.9013C11.754 11.2551 8.24599 11.2551 5.48131 12.9013Z", stroke: "#4B5565", "stroke-width": "1.66667" }), h("path", { key: '70e2f8ed52c2092a86cbae0d98c539643afe9cc5', d: "M13.75 5.41666C13.75 7.48772 12.0711 9.16666 10 9.16666C7.92893 9.16666 6.25 7.48772 6.25 5.41666C6.25 3.34559 7.92893 1.66666 10 1.66666C12.0711 1.66666 13.75 3.34559 13.75 5.41666Z", stroke: "#4B5565", "stroke-width": "1.66667" }))), this.state === 'filled' && (h("gb-avatar", { key: 'ca18b04221fa9403c6c4d8a5d8e0b032b367ecef', size: "xs", text: this.text, color: this.color, "show-border": this.showBorder }, this.selectedItems.map(item => (h(Fragment, null, typeof item === 'object' ? (h("h1", { slot: "initials" }, item.name.split(' ').map(part => part.charAt(0).toUpperCase()))) : (h("h1", { slot: "initials" }, item.split(' ').map(part => part.charAt(0).toUpperCase())))))))))), this.showLeadingIcon && (h(Fragment, null, this.type === 'search' || this.type === 'tags' || this.type === 'icon_leading' ? h("div", { class: `icon`, innerHTML: this.leadingIconSvg }) : null)), this.type === 'dot_leading' && (h("svg", { key: 'a5212f027cce748029d9b0699152de9c65b09e94', xmlns: "http://www.w3.org/2000/svg", width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", class: `dot ${this.size}` }, h("circle", { key: 'b7ce59909af50bad47d6389d2cc72ffd904c924e', cx: "5", cy: "5", r: "4", fill: "#079455" }))), h(Fragment, null, this.state === 'default' && this.type !== 'search' && (h(Fragment, null, this.placeholder && (h("div", { key: '49456864f26fb0f79ac462d7333e965ac1b1bbff', class: "placeholder" }, h("p", { key: 'afbdc0369a262639af3048bca53fc165a73abe6e', class: `text-${this.size}-regular`, style: { color: '#CDD5DF' } }, this.placeholder))))), this.state === 'default' && this.type === 'search' && (h("div", { key: '2743afa5cdbeb0d69306d7addc2c394715471ede', class: "search_input" }, h("input", { key: '5bd086fc4652f8031230ccd4fc3e6c2b55591199', type: "text", placeholder: this.placeholder, class: `text-${this.size}-regular`, ref: el => (this.inputRef = el), onInput: this.emitInputValueToUseForSearch.bind(this) }), this.showCloseButton && (h("gb-button", { key: 'ff2783bb6db4f493a648567ced82fb182b068f64', class: `close_button ${this.size}`, size: this.size, hierarchy: "tertiary_gray", icon: "only", state: "default", "icon-leading": true, "icon-leading-swap": "assets/cancel-01.svg", onClick: () => this.clearInput() })))), this.state === 'filled' && (h(Fragment, null, h("div", { key: '8cdbe5497998661dca2e0f61140b2ed76f59b81c', class: `content` }, this.type === 'tags' ? (h(Fragment, null, this.value.length === 0 ? (h(Fragment, null, this.selectedItems.map((item, index) => typeof item === 'object' ? (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item.name.split(' ')[0]), h("h1", { slot: "initials", class: "text-xxs-semi-bold" }, item.name
399
+ h("div", { key: '0759a652e2240b31a60384f1ebcfbc3e6d86fe5a', class: `input_dropdown_container ${this.type === 'tags' ? 'tag' : ''}` }, h("div", { key: '4e9a87e58dcf2ea0a44047b05ae11b028feb7d17', class: `input_with_label` }, this.showLabel && (h(Fragment, null, this.formatLabel ? (h("p", { class: "dropdown_label text-sm-medium" }, this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase())) : (h("p", { class: "dropdown_label text-sm-medium" }, this.label)))), h("div", { key: 'afcf387d0f8602490780add8deef702269b45e0f', class: `input_dropdown_div ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''} ${this.type === 'tags' ? 'tag' : ''} ${this.dropdownOpen ? 'focused' : ''}`, onClick: e => this.toggleDropdown(e) }, this.type === 'avatar_leading' && (h(Fragment, null, this.state === 'default' && (h("svg", { key: 'd7e8af25906868eea0c3b2edad8b7b4b8de24676', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none" }, h("path", { key: 'be8b00feee86e00d605f285af6dedc1ad5ab88c6', d: "M5.48131 12.9013C4.30234 13.6033 1.21114 15.0368 3.09388 16.8305C4.01359 17.7067 5.03791 18.3333 6.32572 18.3333H13.6743C14.9621 18.3333 15.9864 17.7067 16.9061 16.8305C18.7889 15.0368 15.6977 13.6033 14.5187 12.9013C11.754 11.2551 8.24599 11.2551 5.48131 12.9013Z", stroke: "#4B5565", "stroke-width": "1.66667" }), h("path", { key: '7a60bb49ac124b9946cbba501e6b6592b89a4558', d: "M13.75 5.41666C13.75 7.48772 12.0711 9.16666 10 9.16666C7.92893 9.16666 6.25 7.48772 6.25 5.41666C6.25 3.34559 7.92893 1.66666 10 1.66666C12.0711 1.66666 13.75 3.34559 13.75 5.41666Z", stroke: "#4B5565", "stroke-width": "1.66667" }))), this.state === 'filled' && (h("gb-avatar", { key: '12c904bbb6db008aef55889cbeab8b765c791edf', size: "xs", text: this.text, color: this.color, "show-border": this.showBorder }, this.selectedItems.map(item => (h(Fragment, null, typeof item === 'object' ? (h("h1", { slot: "initials" }, item.name.split(' ').map(part => part.charAt(0).toUpperCase()))) : (h("h1", { slot: "initials" }, item.split(' ').map(part => part.charAt(0).toUpperCase())))))))))), this.showLeadingIcon && (h(Fragment, null, this.type === 'search' || this.type === 'tags' || this.type === 'icon_leading' ? h("div", { class: `icon`, innerHTML: this.leadingIconSvg }) : null)), this.type === 'dot_leading' && (h("svg", { key: '9c553e6dab82588eded3412efe69673a76dd4c96', xmlns: "http://www.w3.org/2000/svg", width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", class: `dot ${this.size}` }, h("circle", { key: 'e15d4b6e92f83d0ce7598d790ca694fbe0eb0349', cx: "5", cy: "5", r: "4", fill: "#079455" }))), h(Fragment, null, this.state === 'default' && this.type !== 'search' && (h(Fragment, null, this.placeholder && (h("div", { key: '61a3eabfdf762252b12f0210a20df105504a8c29', class: "placeholder" }, h("p", { key: 'cb8f47d4906ed1cfb56a467aba0595aa398d89d2', class: `text-${this.size}-regular`, style: { color: '#CDD5DF' } }, this.placeholder))))), this.state === 'default' && this.type === 'search' && (h("div", { key: 'c19e98c1e56a87342eb510fe9ba72e8d2fbfa88d', class: "search_input" }, h("input", { key: '94d4d20b3ed4b16049d1c20e6345c0a6954da4b4', type: "text", placeholder: this.placeholder, class: `text-${this.size}-regular`, ref: el => (this.inputRef = el), onInput: this.emitInputValueToUseForSearch.bind(this) }), this.showCloseButton && (h("gb-button", { key: '2e10d23b126807f89a715ec795ffbe17bf1a26da', class: `close_button ${this.size}`, size: this.size, hierarchy: "tertiary_gray", icon: "only", state: "default", "icon-leading": true, "icon-leading-swap": "assets/cancel-01.svg", onClick: () => this.clearInput() })))), this.state === 'filled' && (h(Fragment, null, h("div", { key: '90fff8f275e5f01f6d56c3b78e6e598cd46f0278', class: `content` }, this.type === 'tags' ? (h(Fragment, null, this.value.length === 0 ? (h(Fragment, null, this.selectedItems.map((item, index) => typeof item === 'object' ? (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item.name.split(' ')[0]), h("h1", { slot: "initials", class: "text-xxs-semi-bold" }, item.name
396
400
  .split(' ')
397
401
  .map(part => part.charAt(0).toUpperCase())
398
402
  .join(''))))) : (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item))))))) : (h(Fragment, null, this.value.map((item, index) => typeof item === 'object' ? (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item.name.split(' ')[0]), h("h1", { slot: "initials", class: "text-xxs-semi-bold" }, item.name
399
403
  .split(' ')
400
404
  .map(part => part.charAt(0).toUpperCase())
401
- .join(''))))) : (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item))))))))) : (h("p", { class: `selected_text text-${this.size}-regular` }, this.value.length === 0 ? ((_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.name) || this.selectedItem : h(Fragment, null, this.value.map(item => (typeof item === 'object' ? item.name : item))))), this.supportingText && (h("div", { key: 'fdbb0599b9a6aea5119d9f0777a049624e540952', class: `supporting_text text-${this.size}-regular`, style: { color: '#697586' } }, this.type !== 'tags' && (h(Fragment, null, this.value.length === 0 ? h(Fragment, null, this.selectedItem.username) : h(Fragment, null, this.value.map(item => typeof item === 'object' && item.username))))))))), this.state === 'disabled' && (h(Fragment, null, h("div", { key: '4170345f7149bdaab2b37023c87452f694507f41', class: `content` }, h("div", { key: '131fc1cb76053140d6b890bb3816c53120aafed3', class: `text text-md-regular ${this.type === 'tags' ? 'tag' : ''}`, style: { color: '#4B5565' } }, this.type === 'tags' ? (h(Fragment, null, this.value.map((item, index) => typeof item === 'object' ? (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close" }, h("p", { class: "text-xs-medium" }, item.name.split(' ')[0]), h("h1", { slot: "initials", class: "text-xxs-semi-bold" }, item.name
405
+ .join(''))))) : (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item))))))))) : (h("p", { class: `selected_text text-${this.size}-regular` }, this.value.length === 0 ? ((_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.name) || this.selectedItem : h(Fragment, null, this.value.map(item => (typeof item === 'object' ? item.name : item))))), this.supportingText && (h("div", { key: '9a755dfafc958f779e68d56b5f18b2b15a67ad9a', class: `supporting_text text-${this.size}-regular`, style: { color: '#697586' } }, this.type !== 'tags' && (h(Fragment, null, this.value.length === 0 ? h(Fragment, null, this.selectedItem.username) : h(Fragment, null, this.value.map(item => typeof item === 'object' && item.username))))))))), this.state === 'disabled' && (h(Fragment, null, h("div", { key: 'd40c8e8b1479c98957aac3c3a4ac3c8c0d0caccb', class: `content` }, h("div", { key: '1ff7e5a6c501e3827b3110c17d2dbf57d66866e8', class: `text text-md-regular ${this.type === 'tags' ? 'tag' : ''}`, style: { color: '#4B5565' } }, this.type === 'tags' ? (h(Fragment, null, this.value.map((item, index) => typeof item === 'object' ? (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close" }, h("p", { class: "text-xs-medium" }, item.name.split(' ')[0]), h("h1", { slot: "initials", class: "text-xxs-semi-bold" }, item.name
402
406
  .split(' ')
403
407
  .map(part => part.charAt(0).toUpperCase())
404
- .join(''))))) : (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close" }, h("p", { class: "text-xs-medium" }, item))))))) : (h(Fragment, null, h(Fragment, null, this.value.map(item => (typeof item === 'object' ? item.name : item)))))), this.supportingText && (h("div", { key: '1bf266714451ca3d3536443aa8dad96b5134b1e6', class: "supporting_text text-sm-regular", style: { color: '#697586' } }, this.type !== 'tags' && (h(Fragment, null, this.value.length === 0 ? h(Fragment, null, this.selectedItem.username) : h(Fragment, null, this.value.map(item => typeof item === 'object' && h(Fragment, null, item.username))))))))))), this.showHelpIcon && (h("div", { key: 'ea6e0fe26d6676b42b44addd2d457e7700e50c2d', class: `help_icon` }, h("gb-help-tooltip", { key: '51d0cd14df58b41272959fc05a679d6479b3a512', "show-supporting-text": true }, h("slot", { key: 'd0e8a02b7a77bd777f3f662dd620fc0046753562', name: "tooltip_label", slot: "label" }), h("slot", { key: '7d5fab4871da7963ca2c3b26b5fcf23221f680f9', name: "tooltip_supporting_text", slot: "supporting_text" })))), this.type !== 'search' && (h("div", { key: 'fb0da42d665aa417f1111492d45ce23232012a6e', class: `dropdown_icon ${this.dropdownOpen ? 'opened' : ''}` }, h("svg", { key: '6474ff4912b0b24c18c96a90261f0df4be87c5e6', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", class: `${this.state}` }, h("path", { key: 'd741b9e4f3f9ed14de32d0fb0ba53c5169ec4347', d: "M15 7.50004C15 7.50004 11.3176 12.5 9.99996 12.5C8.68237 12.5 5 7.5 5 7.5", stroke: "#697586", "stroke-width": "1.66667", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h(Fragment, null, this.dropdownOpen && (h("div", { key: 'fe6bc6a43ce3a3dd8856bdcb3a5eff0dd93d6b5a', class: `dropdown_menu ${this.menuPosition}`, ref: el => (this.dropdownRef = el), onClick: e => e.stopPropagation() }, this.showSearchInput && (h("div", { key: '2eca901f77047347541059bd6c3d420671622ea3', class: "dropdown_search_field" }, h("gb-input-field", { key: '049ee0a1cd02e0b02087b068db543e0500f3da28', size: "sm", value: this.inputValue, "show-close-button": this.inputValue ? true : false, "icon-swap": "assets/search-01.svg", placeholder: this.placeholder, type: "icon_leading", labelText: "label", idOfInput: "3", onInputValueChanged: this.searchItemsInDropdownMenu.bind(this) }))), this.loading && (h("div", { key: 'ddb29edfcbb8b006b92f492b7b874ee448d62c51', class: "loader_div" }, h("div", { key: '9dcacd6c012d5cc3e9fcca73d15e47e0254e9d59', class: "loader" }))), this.searchItem ? (h(Fragment, null, this.searchItem !== '' && this.searchResults.length > 0 ? (h(Fragment, null, this.searchResults.map(item => (h("gb-input-dropdown-menu-item", { type: this.type === 'tags' ? 'checkbox' : this.type, state: StateEnum.Default, "supporting-text": this.supportingText, selected: this.isItemSelected(item), onClick: () => this.handleItemSelect(item) }, typeof item === 'object' ? (h(Fragment, null, h("p", { slot: "name" }, item.name), h("p", { slot: "supporting_text" }, item.username))) : (h("p", { slot: "name" }, item))))))) : this.searchItem !== '' && this.searchResults.length === 0 ? (
408
+ .join(''))))) : (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close" }, h("p", { class: "text-xs-medium" }, item))))))) : (h(Fragment, null, h(Fragment, null, this.value.map(item => (typeof item === 'object' ? item.name : item)))))), this.supportingText && (h("div", { key: '2d268f7b39cc698ff867afe5f8b2b0b998e5519a', class: "supporting_text text-sm-regular", style: { color: '#697586' } }, this.type !== 'tags' && (h(Fragment, null, this.value.length === 0 ? h(Fragment, null, this.selectedItem.username) : h(Fragment, null, this.value.map(item => typeof item === 'object' && h(Fragment, null, item.username))))))))))), this.showHelpIcon && (h("div", { key: '3a02cf670d5f04c208c165b9a1fd724dd26933c5', class: `help_icon` }, h("gb-help-tooltip", { key: '5abb596023021fdb8f918c4510d0e283875818d3', "show-supporting-text": true }, h("slot", { key: 'c6c48bf1c3a54ada5003e6adacc8e801523de25e', name: "tooltip_label", slot: "label" }), h("slot", { key: '3439fede2de1964f81a082ae8bf61f18268d76d0', name: "tooltip_supporting_text", slot: "supporting_text" })))), this.type !== 'search' && (h("div", { key: 'f9838ee33d88c0ba8125350c921035a08f3ce5ce', class: `dropdown_icon ${this.dropdownOpen ? 'opened' : ''}` }, h("svg", { key: '78e8717921daa2f221a57475531225fd19532283', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", class: `${this.state}` }, h("path", { key: 'a7043553e3c8875129f20cde044163ae3dee486f', d: "M15 7.50004C15 7.50004 11.3176 12.5 9.99996 12.5C8.68237 12.5 5 7.5 5 7.5", stroke: "#697586", "stroke-width": "1.66667", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h(Fragment, null, this.dropdownOpen && (h("div", { key: 'ea4802bd3a8a47ebd4a0cab175796cbb4d853f68', class: `dropdown_menu ${this.menuPosition}`, ref: el => (this.dropdownRef = el), onClick: e => e.stopPropagation() }, this.showSearchInput && (h("div", { key: 'f8ba9ef44694625308a168eb749753438d7c9bc5', class: "dropdown_search_field" }, h("gb-input-field", { key: '72e9a0719682bdc3daec79e86d77f080e19e6f17', size: "sm", value: this.inputValue, "show-close-button": this.inputValue ? true : false, "icon-swap": "assets/search-01.svg", placeholder: this.placeholder, type: "icon_leading", labelText: "label", idOfInput: "3", onInputValueChanged: this.searchItemsInDropdownMenu.bind(this) }))), this.loading && (h("div", { key: 'a14610d712a7f6470f4b3b45aa906fc6550d77f2', class: "loader_div" }, h("div", { key: 'a2ed8795cab63e85b730bc7f508c592b0c94c49d', class: "loader" }))), this.searchItem ? (h(Fragment, null, this.searchItem !== '' && this.searchResults.length > 0 ? (h(Fragment, null, this.searchResults.map(item => (h("gb-input-dropdown-menu-item", { type: this.type === 'tags' ? 'checkbox' : this.type, state: StateEnum.Default, "supporting-text": this.supportingText, selected: this.isItemSelected(item), onClick: () => this.handleItemSelect(item) }, typeof item === 'object' ? (h(Fragment, null, h("p", { slot: "name" }, item.name), h("p", { slot: "supporting_text" }, item.username))) : (h("p", { slot: "name" }, item))))))) : this.searchItem !== '' && this.searchResults.length === 0 ? (
405
409
  //Empty state for when there are no search results
406
410
  h("div", { class: "empty_state" }, h("img", { src: emptyStateBackground, class: "background", alt: "" }), h("div", { class: "message_background" }, h("img", { src: illustration, alt: "", class: "illustration" }), h("p", { class: "message text-md-semi-bold" }, "No results available")))) : null)) : (h(Fragment, null, this.type === 'tags' ? (h(Fragment, null, this.selectedItems.map(item => (h("gb-input-dropdown-menu-item", { type: this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type, state: StateEnum.Default, "supporting-text": this.supportingText, selected: true, onClick: () => this.handleItemSelect(item) }, typeof item === 'object' ? (h(Fragment, null, h("p", { slot: "name" }, item.name), h("p", { slot: "supporting_text" }, item.username), h("h1", { slot: "initials" }, item.name.split(' ').map(part => part.charAt(0).toUpperCase())))) : typeof item === 'string' ? (h(Fragment, null, h("p", { slot: "name" }, item), h("h1", { slot: "initials" }, item.split(' ').map(part => part.charAt(0).toUpperCase())))) : (h(Fragment, null, h("p", { slot: "name" }, item), h("h1", { slot: "initials" }, item)))))), this.unselectedItems.map(item => (h("gb-input-dropdown-menu-item", { type: this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type, state: StateEnum.Default, "supporting-text": this.supportingText, selected: false, onClick: () => this.handleItemSelect(item) }, typeof item === 'object' ? (h(Fragment, null, h("p", { slot: "name" }, item.name), h("p", { slot: "supporting_text" }, item.username))) : (h("p", { slot: "name" }, item))))))) : (h(Fragment, null, h("gb-input-dropdown-menu-item", { state: StateEnum.Default, "supporting-text": this.supportingText, color: this.color, onClick: () => this.handleItemSelect() }, h("p", { slot: "name" }, "--", this.placeholder, "--")), this.items.map(item => [
407
411
  h("gb-input-dropdown-menu-item", { type: this.type === 'tags' ? 'checkbox' : this.type, state: StateEnum.Default, "supporting-text": this.supportingText, selected: this.isItemSelected(item), color: this.color, onClick: () => this.handleItemSelect(item) }, typeof item === 'object' ? (h(Fragment, null, h("p", { slot: "name" }, item.name), h("h1", { slot: "initials" }, item.name
@@ -451,7 +455,8 @@ export class GbInputDropdown {
451
455
  "getter": false,
452
456
  "setter": false,
453
457
  "reflect": false,
454
- "attribute": "type"
458
+ "attribute": "type",
459
+ "defaultValue": "'default'"
455
460
  },
456
461
  "state": {
457
462
  "type": "string",
@@ -470,7 +475,8 @@ export class GbInputDropdown {
470
475
  "getter": false,
471
476
  "setter": false,
472
477
  "reflect": false,
473
- "attribute": "state"
478
+ "attribute": "state",
479
+ "defaultValue": "'default'"
474
480
  },
475
481
  "size": {
476
482
  "type": "string",
@@ -495,7 +501,8 @@ export class GbInputDropdown {
495
501
  "getter": false,
496
502
  "setter": false,
497
503
  "reflect": false,
498
- "attribute": "size"
504
+ "attribute": "size",
505
+ "defaultValue": "'md'"
499
506
  },
500
507
  "showLabel": {
501
508
  "type": "boolean",
@@ -819,8 +826,8 @@ export class GbInputDropdown {
819
826
  "type": "string",
820
827
  "mutable": false,
821
828
  "complexType": {
822
- "original": "'top' | ' bottom'",
823
- "resolved": "\" bottom\" | \"top\"",
829
+ "original": "'top' | 'bottom'",
830
+ "resolved": "\"bottom\" | \"top\"",
824
831
  "references": {}
825
832
  },
826
833
  "required": false,
@@ -832,7 +839,8 @@ export class GbInputDropdown {
832
839
  "getter": false,
833
840
  "setter": false,
834
841
  "reflect": false,
835
- "attribute": "menu-position"
842
+ "attribute": "menu-position",
843
+ "defaultValue": "'bottom'"
836
844
  },
837
845
  "showSearchInput": {
838
846
  "type": "boolean",