globuswebcomponents 2.18.5 → 2.18.8

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 (235) hide show
  1. package/dist/cjs/{gb-accordion-card_78.cjs.entry.js → gb-accordion-card_87.cjs.entry.js} +3803 -199
  2. package/dist/cjs/globuscomponents.cjs.js +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/reusableModels-_LRAKnsh.js.map +1 -1
  5. package/dist/collection/assets/icons/bookmark-03/bulk/rounded.svg +4 -0
  6. package/dist/collection/assets/icons/bookmark-03/duotone/rounded.svg +4 -0
  7. package/dist/collection/assets/icons/bookmark-03/solid/rounded.svg +3 -0
  8. package/dist/collection/assets/icons/bookmark-03/solid/sharp.svg +3 -0
  9. package/dist/collection/assets/icons/bookmark-03/stroke/rounded.svg +3 -0
  10. package/dist/collection/assets/icons/bookmark-03/stroke/sharp.svg +3 -0
  11. package/dist/collection/assets/icons/bookmark-03/two-tone/rounded.svg +4 -0
  12. package/dist/collection/assets/icons/bookmark-add-02/bulk/rounded.svg +4 -0
  13. package/dist/collection/assets/icons/bookmark-add-02/duotone/rounded.svg +4 -0
  14. package/dist/collection/assets/icons/bookmark-add-02/solid/rounded.svg +4 -0
  15. package/dist/collection/assets/icons/bookmark-add-02/solid/sharp.svg +4 -0
  16. package/dist/collection/assets/icons/bookmark-add-02/stroke/rounded.svg +3 -0
  17. package/dist/collection/assets/icons/bookmark-add-02/stroke/sharp.svg +3 -0
  18. package/dist/collection/assets/icons/bookmark-add-02/two-tone/rounded.svg +4 -0
  19. package/dist/collection/assets/icons/bookmark-block-02/bulk/rounded.svg +4 -0
  20. package/dist/collection/assets/icons/bookmark-block-02/duotone/rounded.svg +4 -0
  21. package/dist/collection/assets/icons/bookmark-block-02/solid/rounded.svg +4 -0
  22. package/dist/collection/assets/icons/bookmark-block-02/solid/sharp.svg +4 -0
  23. package/dist/collection/assets/icons/bookmark-block-02/stroke/rounded.svg +3 -0
  24. package/dist/collection/assets/icons/bookmark-block-02/stroke/sharp.svg +3 -0
  25. package/dist/collection/assets/icons/bookmark-block-02/two-tone/rounded.svg +4 -0
  26. package/dist/collection/assets/icons/bookmark-minus-02/bulk/rounded.svg +4 -0
  27. package/dist/collection/assets/icons/bookmark-minus-02/duotone/rounded.svg +4 -0
  28. package/dist/collection/assets/icons/bookmark-minus-02/solid/rounded.svg +4 -0
  29. package/dist/collection/assets/icons/bookmark-minus-02/solid/sharp.svg +4 -0
  30. package/dist/collection/assets/icons/bookmark-minus-02/stroke/rounded.svg +3 -0
  31. package/dist/collection/assets/icons/bookmark-minus-02/stroke/sharp.svg +3 -0
  32. package/dist/collection/assets/icons/bookmark-minus-02/two-tone/rounded.svg +4 -0
  33. package/dist/collection/assets/icons/bookmark-remove-02/bulk/rounded.svg +4 -0
  34. package/dist/collection/assets/icons/bookmark-remove-02/duotone/rounded.svg +4 -0
  35. package/dist/collection/assets/icons/bookmark-remove-02/solid/rounded.svg +4 -0
  36. package/dist/collection/assets/icons/bookmark-remove-02/solid/sharp.svg +4 -0
  37. package/dist/collection/assets/icons/bookmark-remove-02/stroke/rounded.svg +3 -0
  38. package/dist/collection/assets/icons/bookmark-remove-02/stroke/sharp.svg +3 -0
  39. package/dist/collection/assets/icons/bookmark-remove-02/two-tone/rounded.svg +4 -0
  40. package/dist/collection/assets/icons/collections-bookmark/bulk/rounded.svg +5 -0
  41. package/dist/collection/assets/icons/collections-bookmark/duotone/rounded.svg +4 -0
  42. package/dist/collection/assets/icons/collections-bookmark/solid/rounded.svg +4 -0
  43. package/dist/collection/assets/icons/collections-bookmark/solid/sharp.svg +4 -0
  44. package/dist/collection/assets/icons/collections-bookmark/stroke/rounded.svg +3 -0
  45. package/dist/collection/assets/icons/collections-bookmark/stroke/sharp.svg +3 -0
  46. package/dist/collection/assets/icons/collections-bookmark/two-tone/rounded.svg +4 -0
  47. package/dist/collection/assets/icons/favourite/bulk/rounded.svg +4 -0
  48. package/dist/collection/assets/icons/favourite/duotone/rounded.svg +4 -0
  49. package/dist/collection/assets/icons/favourite/solid/rounded.svg +3 -0
  50. package/dist/collection/assets/icons/favourite/solid/sharp.svg +3 -0
  51. package/dist/collection/assets/icons/favourite/stroke/rounded.svg +3 -0
  52. package/dist/collection/assets/icons/favourite/stroke/sharp.svg +3 -0
  53. package/dist/collection/assets/icons/favourite/two-tone/rounded.svg +4 -0
  54. package/dist/collection/assets/icons/favourite-square/bulk/rounded.svg +4 -0
  55. package/dist/collection/assets/icons/favourite-square/duotone/rounded.svg +5 -0
  56. package/dist/collection/assets/icons/favourite-square/solid/rounded.svg +3 -0
  57. package/dist/collection/assets/icons/favourite-square/solid/sharp.svg +3 -0
  58. package/dist/collection/assets/icons/favourite-square/stroke/rounded.svg +3 -0
  59. package/dist/collection/assets/icons/favourite-square/stroke/sharp.svg +3 -0
  60. package/dist/collection/assets/icons/favourite-square/two-tone/rounded.svg +4 -0
  61. package/dist/collection/components/gb-button/gb-button.js +96 -31
  62. package/dist/collection/components/gb-button/gb-button.js.map +1 -1
  63. package/dist/collection/components/gb-button/gb-button.tsx +29 -17
  64. package/dist/collection/components/gb-button/readme.md +6 -5
  65. package/dist/collection/components/gb-input-field/gb-input-field.css +5 -5
  66. package/dist/collection/components/gb-rich-text/gb-rich-text.css +30 -6
  67. package/dist/collection/components/gb-rich-text/gb-rich-text.js +4 -4
  68. package/dist/collection/components/gb-rich-text/gb-rich-text.js.map +1 -1
  69. package/dist/collection/components/gb-rich-text/resizable-image.js +84 -0
  70. package/dist/collection/components/gb-rich-text/resizable-image.js.map +1 -0
  71. package/dist/collection/components/gb-sidebar/gb-sidebar.js +62 -9
  72. package/dist/collection/components/gb-sidebar/gb-sidebar.js.map +1 -1
  73. package/dist/collection/components/gb-table/gb-table.css +1 -0
  74. package/dist/collection/components/gb-table/gb-table.js +25 -14
  75. package/dist/collection/components/gb-table/gb-table.js.map +1 -1
  76. package/dist/collection/models/reusableModels.js.map +1 -1
  77. package/dist/components/gb-action-panel.js +1 -1
  78. package/dist/components/gb-approval-modal.js +2 -2
  79. package/dist/components/gb-button.js +1 -1
  80. package/dist/components/gb-checkbox-group-item.js +1 -1
  81. package/dist/components/gb-checkbox-group.js +2 -2
  82. package/dist/components/gb-comment.js +1 -1
  83. package/dist/components/gb-date-picker.js +1 -1
  84. package/dist/components/gb-detail-cell.js +1 -1
  85. package/dist/components/gb-empty-state.js +1 -1
  86. package/dist/components/gb-file-upload-item-base.js +1 -1
  87. package/dist/components/gb-file-upload.js +2 -2
  88. package/dist/components/gb-filter-button.js +1 -1
  89. package/dist/components/gb-filter-modal.js +1 -1
  90. package/dist/components/gb-header.js +4 -4
  91. package/dist/components/gb-input-dropdown-test.js +3 -3
  92. package/dist/components/gb-input-dropdown.js +1 -1
  93. package/dist/components/gb-input-field.js +1 -1
  94. package/dist/components/gb-modal-action.js +1 -1
  95. package/dist/components/gb-modal.js +2 -2
  96. package/dist/components/gb-notification-pane.js +1 -1
  97. package/dist/components/gb-pagination.js +1 -1
  98. package/dist/components/gb-password-button.js +1 -1
  99. package/dist/components/gb-prompt-modal.js +1 -1
  100. package/dist/components/gb-rich-text.js +262 -179
  101. package/dist/components/gb-rich-text.js.map +1 -1
  102. package/dist/components/gb-sidebar.js +23 -9
  103. package/dist/components/gb-sidebar.js.map +1 -1
  104. package/dist/components/gb-table-header.js +1 -1
  105. package/dist/components/gb-table.js +1 -1
  106. package/dist/components/gb-toast.js +1 -1
  107. package/dist/components/gb-wysiwyg-toolbar.js +1 -1
  108. package/dist/components/{p-BI0Ex54P.js → p-2-ReMaeh.js} +3 -3
  109. package/dist/components/{p-BI0Ex54P.js.map → p-2-ReMaeh.js.map} +1 -1
  110. package/dist/components/{p-WXjkXlUF.js → p-5qmO-l_B.js} +3 -3
  111. package/dist/components/{p-WXjkXlUF.js.map → p-5qmO-l_B.js.map} +1 -1
  112. package/dist/components/{p-By402klS.js → p-BK5yReBS.js} +3 -3
  113. package/dist/components/{p-By402klS.js.map → p-BK5yReBS.js.map} +1 -1
  114. package/dist/components/{p-BD74vctU.js → p-BlXVy-Sk.js} +6 -6
  115. package/dist/components/{p-BD74vctU.js.map → p-BlXVy-Sk.js.map} +1 -1
  116. package/dist/components/{p-DHXR9Sxk.js → p-Bl_5_lD7.js} +3 -3
  117. package/dist/components/{p-DHXR9Sxk.js.map → p-Bl_5_lD7.js.map} +1 -1
  118. package/dist/components/{p-D1fnUzqW.js → p-BwGYY38l.js} +34 -15
  119. package/dist/components/p-BwGYY38l.js.map +1 -0
  120. package/dist/components/{p-CTisVkYS.js → p-C-g-JRze.js} +3 -3
  121. package/dist/components/{p-CTisVkYS.js.map → p-C-g-JRze.js.map} +1 -1
  122. package/dist/components/{p-q1BXlX2S.js → p-CE-hAyqa.js} +5 -5
  123. package/dist/components/p-CE-hAyqa.js.map +1 -0
  124. package/dist/components/{p-JNQBEWGY.js → p-CT9m_YAo.js} +5 -5
  125. package/dist/components/{p-JNQBEWGY.js.map → p-CT9m_YAo.js.map} +1 -1
  126. package/dist/components/{p-B2cesIns.js → p-CnyS0R-Z.js} +3 -3
  127. package/dist/components/{p-B2cesIns.js.map → p-CnyS0R-Z.js.map} +1 -1
  128. package/dist/components/{p-DYpvfQik.js → p-D-ksQb0i.js} +7 -7
  129. package/dist/components/{p-DYpvfQik.js.map → p-D-ksQb0i.js.map} +1 -1
  130. package/dist/components/{p-C2nwKlIB.js → p-D7yyPEXU.js} +6 -6
  131. package/dist/components/{p-C2nwKlIB.js.map → p-D7yyPEXU.js.map} +1 -1
  132. package/dist/components/{p-DIFK2uPX.js → p-D9K58rye.js} +3 -3
  133. package/dist/components/{p-DIFK2uPX.js.map → p-D9K58rye.js.map} +1 -1
  134. package/dist/components/{p-B-eg7Ble.js → p-DyUQxVF2.js} +3 -3
  135. package/dist/components/{p-B-eg7Ble.js.map → p-DyUQxVF2.js.map} +1 -1
  136. package/dist/components/{p-6aww0fa8.js → p-XLmf4Wa9.js} +4 -4
  137. package/dist/components/{p-6aww0fa8.js.map → p-XLmf4Wa9.js.map} +1 -1
  138. package/dist/components/p-cHn6O-Kf.js.map +1 -1
  139. package/dist/components/{p-DQyU_YBJ.js → p-kR-8qSSj.js} +39 -28
  140. package/dist/components/p-kR-8qSSj.js.map +1 -0
  141. package/dist/components/{p-jUlrLXgu.js → p-tlvcPh6E.js} +3 -3
  142. package/dist/components/{p-jUlrLXgu.js.map → p-tlvcPh6E.js.map} +1 -1
  143. package/dist/components/test-wrapper.js +12 -12
  144. package/dist/docs.json +209 -47
  145. package/dist/esm/{gb-accordion-card_78.entry.js → gb-accordion-card_87.entry.js} +3795 -200
  146. package/dist/esm/globuscomponents.js +1 -1
  147. package/dist/esm/loader.js +1 -1
  148. package/dist/esm/reusableModels-cHn6O-Kf.js.map +1 -1
  149. package/dist/globuscomponents/assets/icons/bookmark-03/bulk/rounded.svg +4 -0
  150. package/dist/globuscomponents/assets/icons/bookmark-03/duotone/rounded.svg +4 -0
  151. package/dist/globuscomponents/assets/icons/bookmark-03/solid/rounded.svg +3 -0
  152. package/dist/globuscomponents/assets/icons/bookmark-03/solid/sharp.svg +3 -0
  153. package/dist/globuscomponents/assets/icons/bookmark-03/stroke/rounded.svg +3 -0
  154. package/dist/globuscomponents/assets/icons/bookmark-03/stroke/sharp.svg +3 -0
  155. package/dist/globuscomponents/assets/icons/bookmark-03/two-tone/rounded.svg +4 -0
  156. package/dist/globuscomponents/assets/icons/bookmark-add-02/bulk/rounded.svg +4 -0
  157. package/dist/globuscomponents/assets/icons/bookmark-add-02/duotone/rounded.svg +4 -0
  158. package/dist/globuscomponents/assets/icons/bookmark-add-02/solid/rounded.svg +4 -0
  159. package/dist/globuscomponents/assets/icons/bookmark-add-02/solid/sharp.svg +4 -0
  160. package/dist/globuscomponents/assets/icons/bookmark-add-02/stroke/rounded.svg +3 -0
  161. package/dist/globuscomponents/assets/icons/bookmark-add-02/stroke/sharp.svg +3 -0
  162. package/dist/globuscomponents/assets/icons/bookmark-add-02/two-tone/rounded.svg +4 -0
  163. package/dist/globuscomponents/assets/icons/bookmark-block-02/bulk/rounded.svg +4 -0
  164. package/dist/globuscomponents/assets/icons/bookmark-block-02/duotone/rounded.svg +4 -0
  165. package/dist/globuscomponents/assets/icons/bookmark-block-02/solid/rounded.svg +4 -0
  166. package/dist/globuscomponents/assets/icons/bookmark-block-02/solid/sharp.svg +4 -0
  167. package/dist/globuscomponents/assets/icons/bookmark-block-02/stroke/rounded.svg +3 -0
  168. package/dist/globuscomponents/assets/icons/bookmark-block-02/stroke/sharp.svg +3 -0
  169. package/dist/globuscomponents/assets/icons/bookmark-block-02/two-tone/rounded.svg +4 -0
  170. package/dist/globuscomponents/assets/icons/bookmark-minus-02/bulk/rounded.svg +4 -0
  171. package/dist/globuscomponents/assets/icons/bookmark-minus-02/duotone/rounded.svg +4 -0
  172. package/dist/globuscomponents/assets/icons/bookmark-minus-02/solid/rounded.svg +4 -0
  173. package/dist/globuscomponents/assets/icons/bookmark-minus-02/solid/sharp.svg +4 -0
  174. package/dist/globuscomponents/assets/icons/bookmark-minus-02/stroke/rounded.svg +3 -0
  175. package/dist/globuscomponents/assets/icons/bookmark-minus-02/stroke/sharp.svg +3 -0
  176. package/dist/globuscomponents/assets/icons/bookmark-minus-02/two-tone/rounded.svg +4 -0
  177. package/dist/globuscomponents/assets/icons/bookmark-remove-02/bulk/rounded.svg +4 -0
  178. package/dist/globuscomponents/assets/icons/bookmark-remove-02/duotone/rounded.svg +4 -0
  179. package/dist/globuscomponents/assets/icons/bookmark-remove-02/solid/rounded.svg +4 -0
  180. package/dist/globuscomponents/assets/icons/bookmark-remove-02/solid/sharp.svg +4 -0
  181. package/dist/globuscomponents/assets/icons/bookmark-remove-02/stroke/rounded.svg +3 -0
  182. package/dist/globuscomponents/assets/icons/bookmark-remove-02/stroke/sharp.svg +3 -0
  183. package/dist/globuscomponents/assets/icons/bookmark-remove-02/two-tone/rounded.svg +4 -0
  184. package/dist/globuscomponents/assets/icons/collections-bookmark/bulk/rounded.svg +5 -0
  185. package/dist/globuscomponents/assets/icons/collections-bookmark/duotone/rounded.svg +4 -0
  186. package/dist/globuscomponents/assets/icons/collections-bookmark/solid/rounded.svg +4 -0
  187. package/dist/globuscomponents/assets/icons/collections-bookmark/solid/sharp.svg +4 -0
  188. package/dist/globuscomponents/assets/icons/collections-bookmark/stroke/rounded.svg +3 -0
  189. package/dist/globuscomponents/assets/icons/collections-bookmark/stroke/sharp.svg +3 -0
  190. package/dist/globuscomponents/assets/icons/collections-bookmark/two-tone/rounded.svg +4 -0
  191. package/dist/globuscomponents/assets/icons/favourite/bulk/rounded.svg +4 -0
  192. package/dist/globuscomponents/assets/icons/favourite/duotone/rounded.svg +4 -0
  193. package/dist/globuscomponents/assets/icons/favourite/solid/rounded.svg +3 -0
  194. package/dist/globuscomponents/assets/icons/favourite/solid/sharp.svg +3 -0
  195. package/dist/globuscomponents/assets/icons/favourite/stroke/rounded.svg +3 -0
  196. package/dist/globuscomponents/assets/icons/favourite/stroke/sharp.svg +3 -0
  197. package/dist/globuscomponents/assets/icons/favourite/two-tone/rounded.svg +4 -0
  198. package/dist/globuscomponents/assets/icons/favourite-square/bulk/rounded.svg +4 -0
  199. package/dist/globuscomponents/assets/icons/favourite-square/duotone/rounded.svg +5 -0
  200. package/dist/globuscomponents/assets/icons/favourite-square/solid/rounded.svg +3 -0
  201. package/dist/globuscomponents/assets/icons/favourite-square/solid/sharp.svg +3 -0
  202. package/dist/globuscomponents/assets/icons/favourite-square/stroke/rounded.svg +3 -0
  203. package/dist/globuscomponents/assets/icons/favourite-square/stroke/sharp.svg +3 -0
  204. package/dist/globuscomponents/assets/icons/favourite-square/two-tone/rounded.svg +4 -0
  205. package/dist/globuscomponents/gb-button.tsx +29 -17
  206. package/dist/globuscomponents/globuscomponents.esm.js +1 -1
  207. package/dist/globuscomponents/{p-9a44bc13.entry.js → p-6e89b968.entry.js} +2 -2
  208. package/dist/globuscomponents/p-6e89b968.entry.js.map +1 -0
  209. package/dist/globuscomponents/p-cHn6O-Kf.js.map +1 -1
  210. package/dist/globuscomponents/readme.md +6 -5
  211. package/dist/types/components/gb-button/gb-button.d.ts +9 -10
  212. package/dist/types/components/gb-rich-text/resizable-image.d.ts +1 -0
  213. package/dist/types/components/gb-sidebar/gb-sidebar.d.ts +3 -2
  214. package/dist/types/components/gb-table/gb-table.d.ts +1 -0
  215. package/dist/types/components.d.ts +44 -20
  216. package/dist/types/models/reusableModels.d.ts +1 -1
  217. package/package.json +1 -1
  218. package/dist/cjs/gb-filter-modal.gb-pagination.gb-pagination-button-group-base.gb-pagination-number-base.gb-portal.gb-table-header.gb-toggle.gb-toggle-base.entry.cjs.js.map +0 -1
  219. package/dist/cjs/gb-filter-modal_8.cjs.entry.js +0 -2253
  220. package/dist/cjs/gb-table.cjs.entry.js +0 -1240
  221. package/dist/cjs/gb-table.entry.cjs.js.map +0 -1
  222. package/dist/components/p-D1fnUzqW.js.map +0 -1
  223. package/dist/components/p-DQyU_YBJ.js.map +0 -1
  224. package/dist/components/p-q1BXlX2S.js.map +0 -1
  225. package/dist/esm/gb-filter-modal.gb-pagination.gb-pagination-button-group-base.gb-pagination-number-base.gb-portal.gb-table-header.gb-toggle.gb-toggle-base.entry.js.map +0 -1
  226. package/dist/esm/gb-filter-modal_8.entry.js +0 -2244
  227. package/dist/esm/gb-table.entry.js +0 -1238
  228. package/dist/esm/gb-table.entry.js.map +0 -1
  229. package/dist/globuscomponents/gb-filter-modal.gb-pagination.gb-pagination-button-group-base.gb-pagination-number-base.gb-portal.gb-table-header.gb-toggle.gb-toggle-base.entry.esm.js.map +0 -1
  230. package/dist/globuscomponents/gb-table.entry.esm.js.map +0 -1
  231. package/dist/globuscomponents/p-7b3bf29c.entry.js +0 -2
  232. package/dist/globuscomponents/p-7b3bf29c.entry.js.map +0 -1
  233. package/dist/globuscomponents/p-9a44bc13.entry.js.map +0 -1
  234. package/dist/globuscomponents/p-dbc76ebb.entry.js +0 -2
  235. package/dist/globuscomponents/p-dbc76ebb.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"file":"p-6aww0fa8.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/gb-filter-modal/gb-filter-modal.css?tag=gb-filter-modal&encapsulation=shadow","src/components/gb-filter-modal/gb-filter-modal.tsx"],"sourcesContent":["@import './../../global/global.css';\r\n\r\n.filter_modal_wrapper {\r\n background-color: white;\r\n width: 27.5rem;\r\n height: 100vh;\r\n display: flex;\r\n flex-direction: column;\r\n border-radius: var(--rounded-none);\r\n background: var(--color-surface, #ffffff);\r\n box-shadow: var(--shadow-sm);\r\n}\r\n\r\n.filter_modal_header {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n align-self: stretch;\r\n border-bottom: 1px solid var(--color-border-subtler, #e3e8ef);\r\n position: relative;\r\n}\r\n\r\n.filter_modal_content {\r\n display: flex;\r\n padding: var(--spacing-5) var(--spacing-6) var(--spacing-5) var(--spacing-16);\r\n align-items: flex-start;\r\n gap: 1rem;\r\n align-self: stretch;\r\n}\r\n\r\n.title {\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.close_button {\r\n position: absolute;\r\n left: 1rem;\r\n bottom: 0.5rem;\r\n}\r\n\r\n.filter_content_container {\r\n flex: 1 0 0;\r\n justify-content: center;\r\n align-items: flex-start;\r\n gap: 0.5rem;\r\n align-self: stretch;\r\n}\r\n\r\n.filter_content {\r\n display: flex;\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: var(--spacing-4) 1.5rem;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: var(--spacing-6);\r\n flex: 1 0 0;\r\n}\r\n\r\n.label{\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.date_range {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: var(--spacing-2);\r\n align-self: stretch;\r\n}\r\n\r\n.date_pickers {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: var(--spacing-1);\r\n align-self: stretch;\r\n box-sizing: border-box;\r\n}\r\n\r\n.field {\r\n width: 100%;\r\n}\r\n\r\n.filter_modal_actions {\r\n position: absolute;\r\n bottom: 0;\r\n width: 100%;\r\n display: flex;\r\n padding: var(--spacing-none) 0 0 0;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n align-self: stretch;\r\n border-top: 1px solid var(--color-border-subtler, #e3e8ef);\r\n}\r\n\r\n.modal_actions_content {\r\n display: flex;\r\n padding: var(--spacing-4) var(--spacing-6);\r\n align-items: center;\r\n gap: var(--spacing-5);\r\n align-self: stretch;\r\n}\r\n\r\n.btn {\r\n width: 100%;\r\n}\r\n","import { Component, Prop, State, Event, EventEmitter, h, Fragment } from '@stencil/core';\r\nimport { FilterConfig } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-filter-modal',\r\n styleUrl: 'gb-filter-modal.css',\r\n shadow: true,\r\n})\r\nexport class GbFilterModal {\r\n @Prop() filterConfig?: FilterConfig;\r\n @State() formValues: Record<string, any> = {};\r\n @State() renderKey = 0;\r\n @Event() applyFilters: EventEmitter<Record<string, any>>;\r\n @Event() clearFilters: EventEmitter<void>;\r\n @Event({ bubbles: true, composed: true }) close: EventEmitter<void>;\r\n\r\n componentWillLoad() {\r\n if (this.filterConfig) {\r\n const applied = this.filterConfig.appliedValues || {};\r\n\r\n this.formValues = {\r\n ...(this.filterConfig.initialValues || {}),\r\n ...applied, // applied values win over defaults\r\n };\r\n }\r\n\r\n // console.log(this.formValues);\r\n }\r\n\r\n handleFieldChange(key: string, value: any) {\r\n if (value instanceof CustomEvent) {\r\n value = value.detail ?? null;\r\n }\r\n\r\n const field = this.filterConfig.fields.find(f => f.key === key);\r\n\r\n if (field && field.tag === 'gb-input-dropdown') {\r\n value = Array.isArray(value) ? value : value != null ? [value] : [];\r\n }\r\n\r\n if (value === null || value === undefined || value === '' || (Array.isArray(value) && value.length === 0)) {\r\n const { [key]: _, ...rest } = this.formValues;\r\n this.formValues = rest;\r\n return;\r\n }\r\n\r\n this.formValues = {\r\n ...this.formValues,\r\n [key]: value,\r\n };\r\n }\r\n\r\n handleClearClick() {\r\n const resetValues = { ...(this.filterConfig.initialValues || {}) };\r\n\r\n this.filterConfig.fields.forEach(field => {\r\n if (field.tag === 'gb-date-picker') {\r\n const keys = field.key as { start: string; end: string };\r\n resetValues[keys.start] = null;\r\n resetValues[keys.end] = null;\r\n } else {\r\n // use field.default if defined, otherwise check if the field expects an array\r\n const isArrayField = field.props?.type === 'tags' || Array.isArray(field.default);\r\n resetValues[field.key as string] = field.default ?? (isArrayField ? [] : null);\r\n }\r\n });\r\n\r\n this.formValues = resetValues;\r\n this.renderKey++;\r\n this.clearFilters.emit();\r\n }\r\n\r\n handleApplyClick() {\r\n const { pageNumber, pageSize, ...filters } = this.formValues;\r\n // console.log({\r\n // filters,\r\n // pagination: {\r\n // pageNumber: pageNumber ?? 1,\r\n // pageSize: pageSize ?? 10,\r\n // },\r\n // });\r\n\r\n this.applyFilters.emit({\r\n filters,\r\n pagination: {\r\n pageNumber: pageNumber ?? 1,\r\n pageSize: pageSize ?? 10,\r\n },\r\n });\r\n }\r\n\r\n capitalize(str: string) {\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n }\r\n\r\n emitCloseEvent() {\r\n this.close.emit();\r\n }\r\n\r\n render() {\r\n if (!this.filterConfig) {\r\n return (\r\n <div class=\"filter_modal_wrapper\">\r\n <div class=\"filter_modal_header\">\r\n <div class=\"filter_modal_content\">\r\n <gb-button-close size=\"sm\" color=\"gray\" class=\"close_button\" onClick={() => this.emitCloseEvent()}></gb-button-close>\r\n <p class=\"title display-xs-semi-bold\">Filter</p>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n \r\n return (\r\n <div class=\"filter_modal_wrapper\">\r\n <div class=\"filter_modal_header\">\r\n <div class=\"filter_modal_content\">\r\n <gb-button-close size=\"sm\" color=\"gray\" class=\"close_button\" onClick={() => this.emitCloseEvent()}></gb-button-close>\r\n <p class=\"title display-xs-semi-bold\">{this.filterConfig ? this.filterConfig.title : 'Filter'}</p>\r\n </div>\r\n </div>\r\n <div class=\"filter_content_container\">\r\n <div class=\"filter_content\" key={this.renderKey}>\r\n {/* {this.filterConfig.enableDateRange && (\r\n <div class=\"date_range\">\r\n <p class=\"label text-sm-medium\">{this.filterConfig.dateRangeLabel || 'Period'}</p>\r\n <div class=\"date_pickers\">\r\n <gb-date-picker\r\n placeholder=\"dd-mm-yy\"\r\n full-width=\"true\"\r\n twentyfour-hr=\"true\"\r\n mode=\"single\"\r\n format=\"d-m-y\"\r\n show-months=\"1\"\r\n onDateChange={e => this.handleFieldChange('startDate', e)}\r\n ></gb-date-picker>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M2.5 12L21.5002 12\" stroke=\"var(--color-icon-subtle ,#697586)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <gb-date-picker\r\n placeholder=\"dd-mm-yy\"\r\n full-width=\"true\"\r\n twentyfour-hr=\"true\"\r\n mode=\"single\"\r\n format=\"d-m-y\"\r\n show-months=\"1\"\r\n dropdown-alignment=\"right\"\r\n onDateChange={e => this.handleFieldChange('endDate', e)}\r\n ></gb-date-picker>\r\n </div>\r\n </div>\r\n )} */}\r\n {this.filterConfig.fields && (\r\n <>\r\n {this.filterConfig.fields.map(field => {\r\n if (field.tag === 'gb-date-picker') {\r\n const keys = field.key as { start: string; end: string };\r\n\r\n return (\r\n <div class=\"date_range\">\r\n <p class=\"label text-sm-medium\">{field.label}</p>\r\n <div class=\"date_pickers\">\r\n <gb-date-picker\r\n placeholder=\"dd-mm-yy\"\r\n full-width=\"true\"\r\n mode=\"single\"\r\n format=\"d-m-y\"\r\n show-months=\"1\"\r\n value={this.formValues[keys.start]}\r\n onDateChange={e => this.handleFieldChange(keys.start, e)}\r\n ></gb-date-picker>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M2.5 12L21.5002 12\" stroke=\"var(--color-icon-subtle, #697586)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <gb-date-picker\r\n placeholder=\"dd-mm-yy\"\r\n full-width=\"true\"\r\n mode=\"single\"\r\n format=\"d-m-y\"\r\n show-months=\"1\"\r\n dropdown-alignment=\"right\"\r\n value={this.formValues[keys.end]}\r\n onDateChange={e => this.handleFieldChange(keys.end, e)}\r\n ></gb-date-picker>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n const Tag = field.tag;\r\n const key = field.key as string;\r\n const currentValue = this.formValues[key];\r\n const valueProp =\r\n currentValue != null\r\n ? field.tag === 'gb-slider'\r\n ? { leftControl: currentValue.left, rightControl: currentValue.right }\r\n : field.tag === 'gb-input-dropdown'\r\n ? { value: Array.isArray(currentValue) ? currentValue : [currentValue] } // ← coerce here\r\n : { value: currentValue }\r\n : {};\r\n\r\n const eventHandler = {\r\n [`on${this.capitalize(field.event as string)}`]: (e: CustomEvent) => this.handleFieldChange(key, e.detail),\r\n };\r\n\r\n return (\r\n <div class=\"field\">\r\n <Tag {...field.props} {...valueProp} {...eventHandler} />\r\n </div>\r\n );\r\n })}\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n <div class=\"filter_modal_actions\">\r\n <div class=\"modal_actions_content\">\r\n <div class=\"btn\">\r\n <gb-button size=\"xl\" hierarchy=\"secondary_gray\" icon=\"default\" onClick={() => this.handleClearClick()}>\r\n <p>Clear filter</p>\r\n </gb-button>\r\n </div>\r\n <div class=\"btn\">\r\n <gb-button size=\"xl\" hierarchy=\"primary\" icon=\"default\" onClick={() => this.handleApplyClick()}>\r\n <p>Apply</p>\r\n </gb-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"p-XLmf4Wa9.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/gb-filter-modal/gb-filter-modal.css?tag=gb-filter-modal&encapsulation=shadow","src/components/gb-filter-modal/gb-filter-modal.tsx"],"sourcesContent":["@import './../../global/global.css';\r\n\r\n.filter_modal_wrapper {\r\n background-color: white;\r\n width: 27.5rem;\r\n height: 100vh;\r\n display: flex;\r\n flex-direction: column;\r\n border-radius: var(--rounded-none);\r\n background: var(--color-surface, #ffffff);\r\n box-shadow: var(--shadow-sm);\r\n}\r\n\r\n.filter_modal_header {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n align-self: stretch;\r\n border-bottom: 1px solid var(--color-border-subtler, #e3e8ef);\r\n position: relative;\r\n}\r\n\r\n.filter_modal_content {\r\n display: flex;\r\n padding: var(--spacing-5) var(--spacing-6) var(--spacing-5) var(--spacing-16);\r\n align-items: flex-start;\r\n gap: 1rem;\r\n align-self: stretch;\r\n}\r\n\r\n.title {\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.close_button {\r\n position: absolute;\r\n left: 1rem;\r\n bottom: 0.5rem;\r\n}\r\n\r\n.filter_content_container {\r\n flex: 1 0 0;\r\n justify-content: center;\r\n align-items: flex-start;\r\n gap: 0.5rem;\r\n align-self: stretch;\r\n}\r\n\r\n.filter_content {\r\n display: flex;\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: var(--spacing-4) 1.5rem;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: var(--spacing-6);\r\n flex: 1 0 0;\r\n}\r\n\r\n.label{\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.date_range {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: var(--spacing-2);\r\n align-self: stretch;\r\n}\r\n\r\n.date_pickers {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: var(--spacing-1);\r\n align-self: stretch;\r\n box-sizing: border-box;\r\n}\r\n\r\n.field {\r\n width: 100%;\r\n}\r\n\r\n.filter_modal_actions {\r\n position: absolute;\r\n bottom: 0;\r\n width: 100%;\r\n display: flex;\r\n padding: var(--spacing-none) 0 0 0;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n align-self: stretch;\r\n border-top: 1px solid var(--color-border-subtler, #e3e8ef);\r\n}\r\n\r\n.modal_actions_content {\r\n display: flex;\r\n padding: var(--spacing-4) var(--spacing-6);\r\n align-items: center;\r\n gap: var(--spacing-5);\r\n align-self: stretch;\r\n}\r\n\r\n.btn {\r\n width: 100%;\r\n}\r\n","import { Component, Prop, State, Event, EventEmitter, h, Fragment } from '@stencil/core';\r\nimport { FilterConfig } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-filter-modal',\r\n styleUrl: 'gb-filter-modal.css',\r\n shadow: true,\r\n})\r\nexport class GbFilterModal {\r\n @Prop() filterConfig?: FilterConfig;\r\n @State() formValues: Record<string, any> = {};\r\n @State() renderKey = 0;\r\n @Event() applyFilters: EventEmitter<Record<string, any>>;\r\n @Event() clearFilters: EventEmitter<void>;\r\n @Event({ bubbles: true, composed: true }) close: EventEmitter<void>;\r\n\r\n componentWillLoad() {\r\n if (this.filterConfig) {\r\n const applied = this.filterConfig.appliedValues || {};\r\n\r\n this.formValues = {\r\n ...(this.filterConfig.initialValues || {}),\r\n ...applied, // applied values win over defaults\r\n };\r\n }\r\n\r\n // console.log(this.formValues);\r\n }\r\n\r\n handleFieldChange(key: string, value: any) {\r\n if (value instanceof CustomEvent) {\r\n value = value.detail ?? null;\r\n }\r\n\r\n const field = this.filterConfig.fields.find(f => f.key === key);\r\n\r\n if (field && field.tag === 'gb-input-dropdown') {\r\n value = Array.isArray(value) ? value : value != null ? [value] : [];\r\n }\r\n\r\n if (value === null || value === undefined || value === '' || (Array.isArray(value) && value.length === 0)) {\r\n const { [key]: _, ...rest } = this.formValues;\r\n this.formValues = rest;\r\n return;\r\n }\r\n\r\n this.formValues = {\r\n ...this.formValues,\r\n [key]: value,\r\n };\r\n }\r\n\r\n handleClearClick() {\r\n const resetValues = { ...(this.filterConfig.initialValues || {}) };\r\n\r\n this.filterConfig.fields.forEach(field => {\r\n if (field.tag === 'gb-date-picker') {\r\n const keys = field.key as { start: string; end: string };\r\n resetValues[keys.start] = null;\r\n resetValues[keys.end] = null;\r\n } else {\r\n // use field.default if defined, otherwise check if the field expects an array\r\n const isArrayField = field.props?.type === 'tags' || Array.isArray(field.default);\r\n resetValues[field.key as string] = field.default ?? (isArrayField ? [] : null);\r\n }\r\n });\r\n\r\n this.formValues = resetValues;\r\n this.renderKey++;\r\n this.clearFilters.emit();\r\n }\r\n\r\n handleApplyClick() {\r\n const { pageNumber, pageSize, ...filters } = this.formValues;\r\n // console.log({\r\n // filters,\r\n // pagination: {\r\n // pageNumber: pageNumber ?? 1,\r\n // pageSize: pageSize ?? 10,\r\n // },\r\n // });\r\n\r\n this.applyFilters.emit({\r\n filters,\r\n pagination: {\r\n pageNumber: pageNumber ?? 1,\r\n pageSize: pageSize ?? 10,\r\n },\r\n });\r\n }\r\n\r\n capitalize(str: string) {\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n }\r\n\r\n emitCloseEvent() {\r\n this.close.emit();\r\n }\r\n\r\n render() {\r\n if (!this.filterConfig) {\r\n return (\r\n <div class=\"filter_modal_wrapper\">\r\n <div class=\"filter_modal_header\">\r\n <div class=\"filter_modal_content\">\r\n <gb-button-close size=\"sm\" color=\"gray\" class=\"close_button\" onClick={() => this.emitCloseEvent()}></gb-button-close>\r\n <p class=\"title display-xs-semi-bold\">Filter</p>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n \r\n return (\r\n <div class=\"filter_modal_wrapper\">\r\n <div class=\"filter_modal_header\">\r\n <div class=\"filter_modal_content\">\r\n <gb-button-close size=\"sm\" color=\"gray\" class=\"close_button\" onClick={() => this.emitCloseEvent()}></gb-button-close>\r\n <p class=\"title display-xs-semi-bold\">{this.filterConfig ? this.filterConfig.title : 'Filter'}</p>\r\n </div>\r\n </div>\r\n <div class=\"filter_content_container\">\r\n <div class=\"filter_content\" key={this.renderKey}>\r\n {/* {this.filterConfig.enableDateRange && (\r\n <div class=\"date_range\">\r\n <p class=\"label text-sm-medium\">{this.filterConfig.dateRangeLabel || 'Period'}</p>\r\n <div class=\"date_pickers\">\r\n <gb-date-picker\r\n placeholder=\"dd-mm-yy\"\r\n full-width=\"true\"\r\n twentyfour-hr=\"true\"\r\n mode=\"single\"\r\n format=\"d-m-y\"\r\n show-months=\"1\"\r\n onDateChange={e => this.handleFieldChange('startDate', e)}\r\n ></gb-date-picker>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M2.5 12L21.5002 12\" stroke=\"var(--color-icon-subtle ,#697586)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <gb-date-picker\r\n placeholder=\"dd-mm-yy\"\r\n full-width=\"true\"\r\n twentyfour-hr=\"true\"\r\n mode=\"single\"\r\n format=\"d-m-y\"\r\n show-months=\"1\"\r\n dropdown-alignment=\"right\"\r\n onDateChange={e => this.handleFieldChange('endDate', e)}\r\n ></gb-date-picker>\r\n </div>\r\n </div>\r\n )} */}\r\n {this.filterConfig.fields && (\r\n <>\r\n {this.filterConfig.fields.map(field => {\r\n if (field.tag === 'gb-date-picker') {\r\n const keys = field.key as { start: string; end: string };\r\n\r\n return (\r\n <div class=\"date_range\">\r\n <p class=\"label text-sm-medium\">{field.label}</p>\r\n <div class=\"date_pickers\">\r\n <gb-date-picker\r\n placeholder=\"dd-mm-yy\"\r\n full-width=\"true\"\r\n mode=\"single\"\r\n format=\"d-m-y\"\r\n show-months=\"1\"\r\n value={this.formValues[keys.start]}\r\n onDateChange={e => this.handleFieldChange(keys.start, e)}\r\n ></gb-date-picker>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M2.5 12L21.5002 12\" stroke=\"var(--color-icon-subtle, #697586)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <gb-date-picker\r\n placeholder=\"dd-mm-yy\"\r\n full-width=\"true\"\r\n mode=\"single\"\r\n format=\"d-m-y\"\r\n show-months=\"1\"\r\n dropdown-alignment=\"right\"\r\n value={this.formValues[keys.end]}\r\n onDateChange={e => this.handleFieldChange(keys.end, e)}\r\n ></gb-date-picker>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n const Tag = field.tag;\r\n const key = field.key as string;\r\n const currentValue = this.formValues[key];\r\n const valueProp =\r\n currentValue != null\r\n ? field.tag === 'gb-slider'\r\n ? { leftControl: currentValue.left, rightControl: currentValue.right }\r\n : field.tag === 'gb-input-dropdown'\r\n ? { value: Array.isArray(currentValue) ? currentValue : [currentValue] } // ← coerce here\r\n : { value: currentValue }\r\n : {};\r\n\r\n const eventHandler = {\r\n [`on${this.capitalize(field.event as string)}`]: (e: CustomEvent) => this.handleFieldChange(key, e.detail),\r\n };\r\n\r\n return (\r\n <div class=\"field\">\r\n <Tag {...field.props} {...valueProp} {...eventHandler} />\r\n </div>\r\n );\r\n })}\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n <div class=\"filter_modal_actions\">\r\n <div class=\"modal_actions_content\">\r\n <div class=\"btn\">\r\n <gb-button size=\"xl\" hierarchy=\"secondary_gray\" icon=\"default\" onClick={() => this.handleClearClick()}>\r\n <p>Clear filter</p>\r\n </gb-button>\r\n </div>\r\n <div class=\"btn\">\r\n <gb-button size=\"xl\" hierarchy=\"primary\" icon=\"default\" onClick={() => this.handleApplyClick()}>\r\n <p>Apply</p>\r\n </gb-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"p-cHn6O-Kf.js","mappings":"AAIY,IAAA;AAAZ,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,CAAC,EAHW,SAAS,KAAT,SAAS,GAGpB,EAAA,CAAA,CAAA;AAMW,IAAA;AAAZ,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,YAAwB;AACxB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EALW,aAAa,KAAb,aAAa,GAKxB,EAAA,CAAA,CAAA;AAEW,IAAA;AAAZ,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,qBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,GAGhC,EAAA,CAAA,CAAA;;;;","names":[],"sources":["src/models/reusableModels.ts"],"sourcesContent":["export type GeneralSizes = 'xxxxl' | 'xxxl' | 'xxl' | 'xl' | 'lg' | 'md' | 'sm' | 'xs' | 'xxs' | 'profile_lg' | 'profile_md' | 'profile_sm';\r\n\r\nexport type GeneralHierarchies = 'primary' | 'secondary_gray' | 'secondary_color' | 'tertiary_gray' | 'tertiary_color' | 'link_gray' | 'link_color';\r\n\r\nexport enum StateEnum {\r\n Default = 'default',\r\n Disabled = 'disabled',\r\n}\r\n\r\nexport type ArrowPositions = 'bottom_center' | 'bottom_left' | 'bottom_right' | 'top_center' | 'left' | 'right' | 'none' | 'center';\r\n\r\nexport type CheckBoxVariants = 'checkbox' | 'check_circle' | 'radio';\r\n\r\nexport enum BorderWeights {\r\n VeryLight = 'very_light',\r\n Light = 'light',\r\n Regular = 'regular',\r\n Heavy = 'heavy',\r\n}\r\n\r\nexport enum OnlineIndicatorStates {\r\n Online = 'online',\r\n Offline = 'offline',\r\n}\r\n\r\nexport type BreakPoints = 'desktop' | 'mobile';\r\n\r\nexport type FileUploadIconType = 'solid' | 'outline';\r\n\r\nexport type FileUploadStates = 'default' | 'in_progress' | 'complete' | 'hover' | 'disabled' | 'error';\r\n\r\nexport type GeneralColors = 'default' | 'gray' | 'primary' | 'error' | 'warning' | 'success' | 'discovery' | 'information' | 'pink' | 'purple' | 'white';\r\n\r\nexport type PaginationNumberShapes = 'square' | 'circle';\r\n\r\nexport type PaginationTypes =\r\n | 'page_default'\r\n | 'page_minimal_center_aligned'\r\n | 'card_default'\r\n | 'card_minimal_right_aligned'\r\n | 'card_minimal_left_aligned'\r\n | 'card_minimal_center_aligned'\r\n | 'card_button_group_right_aligned'\r\n | 'card_button_group_left_aligned'\r\n | 'card_button_group_center_aligned';\r\n\r\nexport type TabTypes =\r\n | 'button_primary'\r\n | 'button_gray'\r\n | 'button_white'\r\n | 'rounded_button_white'\r\n | 'underline'\r\n | 'underline_filled'\r\n | 'line'\r\n | 'button_white_border'\r\n | 'rounded_button_white_border'\r\n | 'button_gray_border';\r\n\r\nexport type GeneralBackgroundCategories = 'plain_background' | 'colored_background';\r\n\r\nexport type InputFieldTypes =\r\n | 'default'\r\n | 'icon_leading'\r\n | 'leading_dropdown'\r\n | 'trailing_dropdown'\r\n | 'leading_text'\r\n | 'payment_input'\r\n | 'tags'\r\n | 'trailing_button'\r\n | 'password'\r\n | 'password_icon_leading'\r\n | 'count';\r\n\r\nexport type DropdownTypes = 'default' | 'icon_leading' | 'avatar_leading' | 'dot_leading' | 'checkbox' | 'search' | 'tags';\r\n\r\nexport type ColorTypes = 'gray' | 'blue' | 'cyan' | 'pink' | 'purple' | 'green' | 'yellow' | 'red' | 'white';\r\n\r\nexport type DropdownItemTypes = string | number | { name: string | number; username: string; selected?: boolean };\r\n\r\nexport type PaginationDotTypes = 'dot' | 'line';\r\n\r\nexport type FileIconStyles = 'default' | 'gray' | 'solid';\r\n\r\nexport type FileIconTypes = 'pdf' | 'csv' | 'jpg' | 'jpeg' | 'ppt' | 'pptx' | 'doc' | 'docx' | 'xls' | 'xlsx' | 'svg' | 'txt' | 'zip' | 'rar' | 'mp3' | 'mp4' | 'png' | 'empty';\r\n\r\nexport type TableCellTypes = 'text' | 'lead_text' | 'lead_checkbox' | 'badge';\r\n\r\nexport type ProgressStepStatus = 'incomplete' | 'current' | 'complete';\r\n\r\nexport type ProgressStepTypes = 'icon_only' | 'icon_left' | 'icon_top' | 'text_line' | 'featured_icon_left' | 'featured_icon_top';\r\n\r\nexport type ProgressStepStates = 'default' | 'destructive';\r\n\r\nexport type BadgeTypes = 'pill_color' | 'pill_outline' | 'badge_color' | 'badge_modern';\r\n\r\nexport type GeneralStyles = 'standard' | 'compact';\r\n\r\nexport type StateType = 'default' | 'disabled' | 'applied' | 'loading' | 'open';\r\n\r\nexport type ButtonGroupTypes = 'false' | 'leading' | 'only' | 'dot' | 'checkbox';\r\n\r\nexport type ThemeTypes = 'system' | 'light' | 'dark';\r\n\r\nexport type BadgeIconTypes = 'dot' | 'avatar' | 'icon_leading' | 'icon_trailing' | 'country' | 'only' | 'false';\r\n\r\nexport type DropdownRoles = { badgeLabel: string; badgeColor: GeneralColors; badgeType: BadgeTypes };\r\n\r\nexport type StepperType = {\r\n state: ProgressStepStates;\r\n status: ProgressStepStatus;\r\n label?: string;\r\n supportingText?: string;\r\n};\r\n\r\nexport type DetailCellType = 'information' | 'document' | 'status' | 'button';\r\n\r\nexport type MetricFeaturedIconTypes = 'glassmorphism' | 'circular_filled';\r\n\r\nexport interface DropdownListGroup {\r\n icon: string;\r\n label: string;\r\n shortcut: string;\r\n}\r\n\r\nexport type CloseButtonPositions = 'left' | 'right';\r\n\r\nexport interface Notification {\r\n label: string;\r\n time: string;\r\n desc: string;\r\n icon: string;\r\n}\r\n\r\nexport type IllustrationTypes = 'cloud' | 'box' | 'documents' | 'credit_card';\r\n\r\nexport type PatternTypes = 'circles' | 'grid' | 'grid_dot' | 'squares';\r\n\r\nexport type MobilePosition = 'top_left' | 'top_right' | 'bottom_left' | 'bottom_right';\r\n\r\nexport interface TableColumn {\r\n key: string;\r\n label: string;\r\n value?: (row: any) => any;\r\n supportingText?: string | ((row: any) => string);\r\n width?: string;\r\n align?: 'left' | 'center' | 'right';\r\n helpIcon?: boolean;\r\n sortable?: boolean;\r\n sortType?: 'string' | 'number' | 'date';\r\n visible?: boolean;\r\n cellComponent?: string;\r\n searchable?: boolean;\r\n cellProps?: ((row: any) => { [key: string]: any }) | { [key: string]: any };\r\n cellEvent?: string | string[];\r\n hasAvatar?: boolean;\r\n cellAvatar?: {\r\n props?: {};\r\n slots?: {\r\n initials?: string | ((row: any) => string | any);\r\n image?: string | ((row: any) => string | any);\r\n };\r\n };\r\n cellSlots?: {\r\n default?: {\r\n tag?: string; // e.g., 'p', 'span' to wrap content\r\n content: (row: any) => string | any; // Function to get slot content\r\n };\r\n named?: {\r\n [slotName: string]: {\r\n tag: string; // e.g., 'p', 'h1', 'span'\r\n content: (row: any) => string | any; // Function to get slot content\r\n };\r\n };\r\n };\r\n cellClass?: string | ((row: any) => string);\r\n cellStyle?: { [key: string]: string } | ((row: any) => { [key: string]: string });\r\n truncate?: boolean;\r\n splitCell?: {\r\n left: (row: any) => string | number;\r\n right: (row: any) => string | number;\r\n separator?: string;\r\n leftStyle?: (row: any) => { [key: string]: string };\r\n rightStyle?: (row: any) => { [key: string]: string };\r\n };\r\n mobile?: {\r\n position?: MobilePosition;\r\n };\r\n gridCard?: {\r\n buttonIcon?: string;\r\n buttonText?: string;\r\n };\r\n}\r\n\r\nexport interface RowAction {\r\n label?: string;\r\n icon?: string;\r\n action: string; // emitted event name\r\n disabled?: boolean;\r\n destructive?: boolean;\r\n type?: 'button' | 'dropdown' | 'custom';\r\n}\r\n\r\nexport interface DropdownOption {\r\n label: string;\r\n icon?: string;\r\n action: string; // emitted event name\r\n disabled?: boolean;\r\n}\r\n\r\nexport type PortalPlacement =\r\n | 'top'\r\n | 'top-start'\r\n | 'top-end'\r\n | 'bottom'\r\n | 'bottom-start'\r\n | 'bottom-end'\r\n | 'left'\r\n | 'left-start'\r\n | 'left-end'\r\n | 'right'\r\n | 'right-start'\r\n | 'right-end';\r\n\r\nexport interface FilterField {\r\n tag: string;\r\n columnKey?: string; // ← the actual row property to filter on\r\n key: string | { start: string; end: string }; // date ranges need two keys\r\n event: string | { start: string; end: string }; // date ranges need two events\r\n label?: string;\r\n props?: any;\r\n default?: any;\r\n}\r\n\r\nexport interface FilterConfig {\r\n mode?: 'internal' | 'external';\r\n title?: string;\r\n showClearButton?: boolean;\r\n fields?: FilterField[];\r\n initialValues?: {\r\n pageNumber: number;\r\n pageSize: number;\r\n };\r\n appliedValues?: Record<string, any>;\r\n}\r\n\r\nexport type IconStyles = 'stroke' | 'two-tone' | 'duotone' | 'solid' | 'bulk';\r\n\r\nexport type IconTypes = 'rounded' | 'sharp';\r\n\r\nexport type SubMenuChild = {\r\n label: string;\r\n icon: string;\r\n};\r\n\r\nexport type SubMenuItem = {\r\n label: string;\r\n icon: string;\r\n children?: SubMenuChild[];\r\n};\r\n"],"version":3}
1
+ {"file":"p-cHn6O-Kf.js","mappings":"AAIY,IAAA;AAAZ,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,CAAC,EAHW,SAAS,KAAT,SAAS,GAGpB,EAAA,CAAA,CAAA;AAMW,IAAA;AAAZ,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,YAAwB;AACxB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EALW,aAAa,KAAb,aAAa,GAKxB,EAAA,CAAA,CAAA;AAEW,IAAA;AAAZ,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,qBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,GAGhC,EAAA,CAAA,CAAA;;;;","names":[],"sources":["src/models/reusableModels.ts"],"sourcesContent":["export type GeneralSizes = 'xxxxl' | 'xxxl' | 'xxl' | 'xl' | 'lg' | 'md' | 'sm' | 'xs' | 'xxs' | 'profile_lg' | 'profile_md' | 'profile_sm';\r\n\r\nexport type GeneralHierarchies = 'primary' | 'secondary_gray' | 'secondary_color' | 'tertiary_gray' | 'tertiary_color' | 'link_gray' | 'link_color';\r\n\r\nexport enum StateEnum {\r\n Default = 'default',\r\n Disabled = 'disabled',\r\n}\r\n\r\nexport type ArrowPositions = 'bottom_center' | 'bottom_left' | 'bottom_right' | 'top_center' | 'left' | 'right' | 'none' | 'center';\r\n\r\nexport type CheckBoxVariants = 'checkbox' | 'check_circle' | 'radio';\r\n\r\nexport enum BorderWeights {\r\n VeryLight = 'very_light',\r\n Light = 'light',\r\n Regular = 'regular',\r\n Heavy = 'heavy',\r\n}\r\n\r\nexport enum OnlineIndicatorStates {\r\n Online = 'online',\r\n Offline = 'offline',\r\n}\r\n\r\nexport type BreakPoints = 'desktop' | 'mobile';\r\n\r\nexport type FileUploadIconType = 'solid' | 'outline';\r\n\r\nexport type FileUploadStates = 'default' | 'in_progress' | 'complete' | 'hover' | 'disabled' | 'error';\r\n\r\nexport type GeneralColors = 'default' | 'gray' | 'primary' | 'error' | 'warning' | 'success' | 'discovery' | 'information' | 'pink' | 'purple' | 'white';\r\n\r\nexport type PaginationNumberShapes = 'square' | 'circle';\r\n\r\nexport type PaginationTypes =\r\n | 'page_default'\r\n | 'page_minimal_center_aligned'\r\n | 'card_default'\r\n | 'card_minimal_right_aligned'\r\n | 'card_minimal_left_aligned'\r\n | 'card_minimal_center_aligned'\r\n | 'card_button_group_right_aligned'\r\n | 'card_button_group_left_aligned'\r\n | 'card_button_group_center_aligned';\r\n\r\nexport type TabTypes =\r\n | 'button_primary'\r\n | 'button_gray'\r\n | 'button_white'\r\n | 'rounded_button_white'\r\n | 'underline'\r\n | 'underline_filled'\r\n | 'line'\r\n | 'button_white_border'\r\n | 'rounded_button_white_border'\r\n | 'button_gray_border';\r\n\r\nexport type GeneralBackgroundCategories = 'plain_background' | 'colored_background';\r\n\r\nexport type InputFieldTypes =\r\n | 'default'\r\n | 'icon_leading'\r\n | 'leading_dropdown'\r\n | 'trailing_dropdown'\r\n | 'leading_text'\r\n | 'payment_input'\r\n | 'tags'\r\n | 'trailing_button'\r\n | 'password'\r\n | 'password_icon_leading'\r\n | 'count';\r\n\r\nexport type DropdownTypes = 'default' | 'icon_leading' | 'avatar_leading' | 'dot_leading' | 'checkbox' | 'search' | 'tags';\r\n\r\nexport type ColorTypes = 'gray' | 'blue' | 'cyan' | 'pink' | 'purple' | 'green' | 'yellow' | 'red' | 'white';\r\n\r\nexport type DropdownItemTypes = string | number | { name: string | number; username: string; selected?: boolean };\r\n\r\nexport type PaginationDotTypes = 'dot' | 'line';\r\n\r\nexport type FileIconStyles = 'default' | 'gray' | 'solid';\r\n\r\nexport type FileIconTypes = 'pdf' | 'csv' | 'jpg' | 'jpeg' | 'ppt' | 'pptx' | 'doc' | 'docx' | 'xls' | 'xlsx' | 'svg' | 'txt' | 'zip' | 'rar' | 'mp3' | 'mp4' | 'png' | 'empty';\r\n\r\nexport type TableCellTypes = 'text' | 'lead_text' | 'lead_checkbox' | 'badge';\r\n\r\nexport type ProgressStepStatus = 'incomplete' | 'current' | 'complete';\r\n\r\nexport type ProgressStepTypes = 'icon_only' | 'icon_left' | 'icon_top' | 'text_line' | 'featured_icon_left' | 'featured_icon_top';\r\n\r\nexport type ProgressStepStates = 'default' | 'destructive';\r\n\r\nexport type BadgeTypes = 'pill_color' | 'pill_outline' | 'badge_color' | 'badge_modern';\r\n\r\nexport type GeneralStyles = 'standard' | 'compact';\r\n\r\nexport type StateType = 'default' | 'disabled' | 'applied' | 'loading' | 'open';\r\n\r\nexport type ButtonGroupTypes = 'false' | 'leading' | 'only' | 'dot' | 'checkbox';\r\n\r\nexport type ThemeTypes = 'system' | 'light' | 'dark';\r\n\r\nexport type BadgeIconTypes = 'dot' | 'avatar' | 'icon_leading' | 'icon_trailing' | 'country' | 'only' | 'false';\r\n\r\nexport type DropdownRoles = { badgeLabel: string; badgeColor: GeneralColors; badgeType: BadgeTypes };\r\n\r\nexport type StepperType = {\r\n state: ProgressStepStates;\r\n status: ProgressStepStatus;\r\n label?: string;\r\n supportingText?: string;\r\n};\r\n\r\nexport type DetailCellType = 'information' | 'document' | 'status' | 'button';\r\n\r\nexport type MetricFeaturedIconTypes = 'glassmorphism' | 'circular_filled';\r\n\r\nexport interface DropdownListGroup {\r\n icon: string;\r\n label: string;\r\n shortcut: string;\r\n}\r\n\r\nexport type CloseButtonPositions = 'left' | 'right';\r\n\r\nexport interface Notification {\r\n label: string;\r\n time: string;\r\n desc: string;\r\n icon: string;\r\n}\r\n\r\nexport type IllustrationTypes = 'cloud' | 'box' | 'documents' | 'credit_card';\r\n\r\nexport type PatternTypes = 'circles' | 'grid' | 'grid_dot' | 'squares';\r\n\r\nexport type MobilePosition = 'top_left' | 'top_right' | 'bottom_left' | 'bottom_right';\r\n\r\nexport interface TableColumn {\r\n key: string;\r\n label: string;\r\n value?: (row: any) => any;\r\n supportingText?: string | ((row: any) => string);\r\n width?: string;\r\n align?: 'left' | 'center' | 'right';\r\n helpIcon?: boolean;\r\n sortable?: boolean;\r\n sortType?: 'string' | 'number' | 'date';\r\n visible?: boolean;\r\n cellComponent?: string;\r\n searchable?: boolean;\r\n cellProps?: ((row: any) => { [key: string]: any }) | { [key: string]: any };\r\n cellEvent?: string | string[];\r\n hasAvatar?: boolean;\r\n cellAvatar?: {\r\n props?: {};\r\n slots?: {\r\n initials?: string | ((row: any) => string | any);\r\n image?: string | ((row: any) => string | any);\r\n };\r\n };\r\n cellSlots?: {\r\n default?: {\r\n tag?: string; // e.g., 'p', 'span' to wrap content\r\n content: (row: any) => string | any; // Function to get slot content\r\n };\r\n named?: {\r\n [slotName: string]: {\r\n tag: string; // e.g., 'p', 'h1', 'span'\r\n content: (row: any) => string | any; // Function to get slot content\r\n };\r\n };\r\n };\r\n cellClass?: string | ((row: any) => string);\r\n cellStyle?: { [key: string]: string } | ((row: any) => { [key: string]: string });\r\n truncate?: boolean;\r\n splitCell?: {\r\n left: (row: any) => string | number;\r\n right: (row: any) => string | number;\r\n separator?: string;\r\n leftStyle?: (row: any) => { [key: string]: string };\r\n rightStyle?: (row: any) => { [key: string]: string };\r\n };\r\n mobile?: {\r\n position?: MobilePosition;\r\n };\r\n gridCard?: {\r\n buttonIcon?: string;\r\n buttonText?: string;\r\n };\r\n}\r\n\r\nexport interface RowAction {\r\n label?: string;\r\n icon?: string;\r\n action: string; // emitted event name\r\n disabled?: boolean;\r\n destructive?: boolean;\r\n type?: 'button' | 'dropdown' | 'custom';\r\n}\r\n\r\nexport interface DropdownOption {\r\n label: string;\r\n icon?: string;\r\n action: string; // emitted event name\r\n disabled?: ((row: any) => boolean) | boolean;\r\n}\r\n\r\nexport type PortalPlacement =\r\n | 'top'\r\n | 'top-start'\r\n | 'top-end'\r\n | 'bottom'\r\n | 'bottom-start'\r\n | 'bottom-end'\r\n | 'left'\r\n | 'left-start'\r\n | 'left-end'\r\n | 'right'\r\n | 'right-start'\r\n | 'right-end';\r\n\r\nexport interface FilterField {\r\n tag: string;\r\n columnKey?: string; // ← the actual row property to filter on\r\n key: string | { start: string; end: string }; // date ranges need two keys\r\n event: string | { start: string; end: string }; // date ranges need two events\r\n label?: string;\r\n props?: any;\r\n default?: any;\r\n}\r\n\r\nexport interface FilterConfig {\r\n mode?: 'internal' | 'external';\r\n title?: string;\r\n showClearButton?: boolean;\r\n fields?: FilterField[];\r\n initialValues?: {\r\n pageNumber: number;\r\n pageSize: number;\r\n };\r\n appliedValues?: Record<string, any>;\r\n}\r\n\r\nexport type IconStyles = 'stroke' | 'two-tone' | 'duotone' | 'solid' | 'bulk';\r\n\r\nexport type IconTypes = 'rounded' | 'sharp';\r\n\r\nexport type SubMenuChild = {\r\n label: string;\r\n icon: string;\r\n};\r\n\r\nexport type SubMenuItem = {\r\n label: string;\r\n icon: string;\r\n children?: SubMenuChild[];\r\n};\r\n"],"version":3}