@rededor/cura 1.6.1-alpha.0 → 1.6.1-alpha.10

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 (307) hide show
  1. package/dist/cjs/{app-globals-5a7ddb39.js → app-globals-28c6f5c4.js} +2 -2
  2. package/dist/cjs/{app-globals-5a7ddb39.js.map → app-globals-28c6f5c4.js.map} +1 -1
  3. package/dist/cjs/cura-accordion_18.cjs.entry.js +39 -19
  4. package/dist/cjs/cura-accordion_18.cjs.entry.js.map +1 -1
  5. package/dist/cjs/cura-alert.cjs.entry.js +1 -1
  6. package/dist/cjs/cura-alert.cjs.entry.js.map +1 -1
  7. package/dist/cjs/cura-badge-pill.cjs.entry.js +1 -1
  8. package/dist/cjs/cura-badge-pill.cjs.entry.js.map +1 -1
  9. package/dist/cjs/cura-button-outline.cjs.entry.js +1 -1
  10. package/dist/cjs/cura-button-outline.cjs.entry.js.map +1 -1
  11. package/dist/cjs/cura-button-select.cjs.entry.js +1 -1
  12. package/dist/cjs/cura-button-select.cjs.entry.js.map +1 -1
  13. package/dist/cjs/cura-calendar.cjs.entry.js +15 -13
  14. package/dist/cjs/cura-calendar.cjs.entry.js.map +1 -1
  15. package/dist/cjs/cura-checkbox.cjs.entry.js +4 -2
  16. package/dist/cjs/cura-checkbox.cjs.entry.js.map +1 -1
  17. package/dist/cjs/cura-display.cjs.entry.js +1 -1
  18. package/dist/cjs/cura-display.cjs.entry.js.map +1 -1
  19. package/dist/cjs/cura-input-date.cjs.entry.js +1 -1
  20. package/dist/cjs/cura-loader-bar.cjs.entry.js +1 -1
  21. package/dist/cjs/cura-loader-bar.cjs.entry.js.map +1 -1
  22. package/dist/cjs/cura-modal.cjs.entry.js +15 -2
  23. package/dist/cjs/cura-modal.cjs.entry.js.map +1 -1
  24. package/dist/cjs/cura-progress-bar_2.cjs.entry.js +2 -2
  25. package/dist/cjs/cura-radio.cjs.entry.js +19 -17
  26. package/dist/cjs/cura-radio.cjs.entry.js.map +1 -1
  27. package/dist/cjs/cura-stepper.cjs.entry.js +1 -1
  28. package/dist/cjs/cura-switch.cjs.entry.js +4 -2
  29. package/dist/cjs/cura-switch.cjs.entry.js.map +1 -1
  30. package/dist/cjs/{cura-theme-module-a100c643.js → cura-theme-module-f1e4a309.js} +2 -2
  31. package/dist/cjs/{cura-theme-module-a100c643.js.map → cura-theme-module-f1e4a309.js.map} +1 -1
  32. package/dist/cjs/cura-toast.cjs.entry.js +2 -2
  33. package/dist/cjs/cura-toast.cjs.entry.js.map +1 -1
  34. package/dist/cjs/cura-tooltip.cjs.entry.js +1 -1
  35. package/dist/cjs/cura.cjs.js +4 -4
  36. package/dist/cjs/index.cjs.js +2 -2
  37. package/dist/cjs/loader.cjs.js +4 -4
  38. package/dist/cjs/{static-4e83652c.js → static-44199808.js} +16 -2
  39. package/dist/cjs/static-44199808.js.map +1 -0
  40. package/dist/collection/api/theme-presets/static.js +15 -1
  41. package/dist/collection/api/theme-presets/static.js.map +1 -1
  42. package/dist/collection/components/accordion/cura-accordion/cura-accordion.stories.js +3 -2
  43. package/dist/collection/components/accordion/cura-accordion/cura-accordion.stories.js.map +1 -1
  44. package/dist/collection/components/badges/cura-badge-pill/cura-badge-pill.js +3 -3
  45. package/dist/collection/components/badges/cura-badge-pill/cura-badge-pill.js.map +1 -1
  46. package/dist/collection/components/badges/cura-badge-pill/cura-badge-pill.stories.js +2 -1
  47. package/dist/collection/components/badges/cura-badge-pill/cura-badge-pill.stories.js.map +1 -1
  48. package/dist/collection/components/buttons/cura-button/cura-button.js +1 -1
  49. package/dist/collection/components/buttons/cura-button/cura-button.js.map +1 -1
  50. package/dist/collection/components/buttons/cura-button/cura-button.stories.js +2 -1
  51. package/dist/collection/components/buttons/cura-button/cura-button.stories.js.map +1 -1
  52. package/dist/collection/components/buttons/cura-button-outline/cura-button-outline.js +1 -1
  53. package/dist/collection/components/buttons/cura-button-outline/cura-button-outline.js.map +1 -1
  54. package/dist/collection/components/buttons/cura-button-outline/cura-button-outline.stories.js +2 -1
  55. package/dist/collection/components/buttons/cura-button-outline/cura-button-outline.stories.js.map +1 -1
  56. package/dist/collection/components/buttons/cura-button-select/cura-button-select.js +1 -1
  57. package/dist/collection/components/buttons/cura-button-select/cura-button-select.js.map +1 -1
  58. package/dist/collection/components/buttons/cura-button-select/cura-button-select.stories.js +2 -1
  59. package/dist/collection/components/buttons/cura-button-select/cura-button-select.stories.js.map +1 -1
  60. package/dist/collection/components/buttons/cura-button-transparent/cura-button-transparent.js +1 -1
  61. package/dist/collection/components/buttons/cura-button-transparent/cura-button-transparent.js.map +1 -1
  62. package/dist/collection/components/buttons/cura-button-transparent/cura-button-transparent.stories.js +2 -1
  63. package/dist/collection/components/buttons/cura-button-transparent/cura-button-transparent.stories.js.map +1 -1
  64. package/dist/collection/components/cura-alert/cura-alert.js +1 -1
  65. package/dist/collection/components/cura-alert/cura-alert.js.map +1 -1
  66. package/dist/collection/components/cura-avatar/cura-avatar.js +34 -16
  67. package/dist/collection/components/cura-avatar/cura-avatar.js.map +1 -1
  68. package/dist/collection/components/cura-calendar/cura-calendar.js +39 -13
  69. package/dist/collection/components/cura-calendar/cura-calendar.js.map +1 -1
  70. package/dist/collection/components/cura-calendar/cura-calendar.stories.js +19 -6
  71. package/dist/collection/components/cura-calendar/cura-calendar.stories.js.map +1 -1
  72. package/dist/collection/components/cura-card/cura-card.stories.js +56 -25
  73. package/dist/collection/components/cura-card/cura-card.stories.js.map +1 -1
  74. package/dist/collection/components/cura-dropdown-search/cura-dropdown-search.js +7 -2
  75. package/dist/collection/components/cura-dropdown-search/cura-dropdown-search.js.map +1 -1
  76. package/dist/collection/components/cura-icon/cura-icon.js +1 -1
  77. package/dist/collection/components/cura-icon/cura-icon.js.map +1 -1
  78. package/dist/collection/components/cura-modal/cura-modal.css +4 -2
  79. package/dist/collection/components/cura-modal/cura-modal.js +14 -1
  80. package/dist/collection/components/cura-modal/cura-modal.js.map +1 -1
  81. package/dist/collection/components/cura-page-template/cura-page-template.js +1 -1
  82. package/dist/collection/components/cura-stepper/cura-progress-bar/cura-progress-bar.js +1 -1
  83. package/dist/collection/components/cura-stepper/cura-stepper-item/cura-stepper-item.js +1 -1
  84. package/dist/collection/components/cura-stepper/cura-stepper.js +1 -1
  85. package/dist/collection/components/cura-toast/cura-toast.css +1 -1
  86. package/dist/collection/components/cura-toast/cura-toast.js +1 -1
  87. package/dist/collection/components/cura-toast/cura-toast.js.map +1 -1
  88. package/dist/collection/components/cura-tooltip/cura-tooltip.js +1 -1
  89. package/dist/collection/components/forms/cura-checkbox/cura-checkbox.css +17 -1
  90. package/dist/collection/components/forms/cura-checkbox/cura-checkbox.js +45 -1
  91. package/dist/collection/components/forms/cura-checkbox/cura-checkbox.js.map +1 -1
  92. package/dist/collection/components/forms/cura-checkbox/cura-checkbox.stories.js +16 -2
  93. package/dist/collection/components/forms/cura-checkbox/cura-checkbox.stories.js.map +1 -1
  94. package/dist/collection/components/forms/cura-input-date/cura-input-date.js +1 -1
  95. package/dist/collection/components/forms/cura-input-text/cura-input-text.js +1 -1
  96. package/dist/collection/components/forms/cura-input-text/cura-input-text.js.map +1 -1
  97. package/dist/collection/components/forms/cura-label/cura-label.js +1 -1
  98. package/dist/collection/components/forms/cura-radio/cura-radio.css +16 -1
  99. package/dist/collection/components/forms/cura-radio/cura-radio.js +62 -18
  100. package/dist/collection/components/forms/cura-radio/cura-radio.js.map +1 -1
  101. package/dist/collection/components/forms/cura-radio/cura-radio.stories.js +19 -5
  102. package/dist/collection/components/forms/cura-radio/cura-radio.stories.js.map +1 -1
  103. package/dist/collection/components/forms/cura-select/cura-select.css +3 -2
  104. package/dist/collection/components/forms/cura-select/cura-select.js +36 -3
  105. package/dist/collection/components/forms/cura-select/cura-select.js.map +1 -1
  106. package/dist/collection/components/forms/cura-select/cura-select.stories.js +12 -0
  107. package/dist/collection/components/forms/cura-select/cura-select.stories.js.map +1 -1
  108. package/dist/collection/components/forms/cura-select-options/cura-select-option.css +2 -1
  109. package/dist/collection/components/forms/cura-select-options/cura-select-option.js +1 -1
  110. package/dist/collection/components/forms/cura-select-options/cura-select-option.js.map +1 -1
  111. package/dist/collection/components/forms/cura-switch/cura-switch.css +11 -1
  112. package/dist/collection/components/forms/cura-switch/cura-switch.js +45 -1
  113. package/dist/collection/components/forms/cura-switch/cura-switch.js.map +1 -1
  114. package/dist/collection/components/forms/cura-switch/cura-switch.stories.js +16 -2
  115. package/dist/collection/components/forms/cura-switch/cura-switch.stories.js.map +1 -1
  116. package/dist/collection/components/loaders/cura-loader-bar/cura-loader-bar.js +1 -1
  117. package/dist/collection/components/loaders/cura-loader-bar/cura-loader-bar.js.map +1 -1
  118. package/dist/collection/components/loaders/cura-loader-bar/cura-loader-bar.stories.js +1 -1
  119. package/dist/collection/components/loaders/cura-loader-bar/cura-loader-bar.stories.js.map +1 -1
  120. package/dist/collection/components/loaders/cura-loader-circle/cura-loader-circle.js +1 -1
  121. package/dist/collection/components/loaders/cura-loader-circle/cura-loader-circle.js.map +1 -1
  122. package/dist/collection/components/loaders/cura-loader-circle/cura-loader-circle.stories.js +1 -1
  123. package/dist/collection/components/loaders/cura-loader-circle/cura-loader-circle.stories.js.map +1 -1
  124. package/dist/collection/components/text/cura-display/cura-display.js +1 -1
  125. package/dist/collection/components/text/cura-display/cura-display.js.map +1 -1
  126. package/dist/collection/components/text/cura-heading/cura-heading.js +1 -1
  127. package/dist/collection/components/text/cura-heading/cura-heading.js.map +1 -1
  128. package/dist/collection/components/text/cura-paragraph/cura-paragraph.js +1 -1
  129. package/dist/collection/stories/blocks/index.js +9 -0
  130. package/dist/collection/utils/utils.js +2 -2
  131. package/dist/collection/utils/utils.js.map +1 -1
  132. package/dist/components/cura-alert.js +1 -1
  133. package/dist/components/cura-alert.js.map +1 -1
  134. package/dist/components/cura-avatar.js +1 -1
  135. package/dist/components/cura-avatar.js.map +1 -1
  136. package/dist/components/cura-badge-pill2.js +1 -1
  137. package/dist/components/cura-badge-pill2.js.map +1 -1
  138. package/dist/components/cura-button-outline.js +1 -1
  139. package/dist/components/cura-button-outline.js.map +1 -1
  140. package/dist/components/cura-button-select.js +1 -1
  141. package/dist/components/cura-button-select.js.map +1 -1
  142. package/dist/components/cura-button-transparent2.js +1 -1
  143. package/dist/components/cura-button-transparent2.js.map +1 -1
  144. package/dist/components/cura-button.js +1 -1
  145. package/dist/components/cura-button.js.map +1 -1
  146. package/dist/components/cura-calendar2.js +16 -13
  147. package/dist/components/cura-calendar2.js.map +1 -1
  148. package/dist/components/cura-checkbox.js +6 -2
  149. package/dist/components/cura-checkbox.js.map +1 -1
  150. package/dist/components/cura-display.js +1 -1
  151. package/dist/components/cura-display.js.map +1 -1
  152. package/dist/components/cura-dropdown-search.js +7 -2
  153. package/dist/components/cura-dropdown-search.js.map +1 -1
  154. package/dist/components/cura-heading2.js +1 -1
  155. package/dist/components/cura-heading2.js.map +1 -1
  156. package/dist/components/cura-icon2.js +1 -1
  157. package/dist/components/cura-icon2.js.map +1 -1
  158. package/dist/components/cura-input-date.js +1 -1
  159. package/dist/components/cura-input-text2.js +16 -2
  160. package/dist/components/cura-input-text2.js.map +1 -1
  161. package/dist/components/cura-label2.js +1 -1
  162. package/dist/components/cura-loader-bar2.js +1 -1
  163. package/dist/components/cura-loader-bar2.js.map +1 -1
  164. package/dist/components/cura-loader-circle2.js +1 -1
  165. package/dist/components/cura-loader-circle2.js.map +1 -1
  166. package/dist/components/cura-modal.js +31 -6
  167. package/dist/components/cura-modal.js.map +1 -1
  168. package/dist/components/cura-page-template.js +1 -1
  169. package/dist/components/cura-paragraph2.js +1 -1
  170. package/dist/components/cura-progress-bar2.js +1 -1
  171. package/dist/components/cura-radio.js +21 -17
  172. package/dist/components/cura-radio.js.map +1 -1
  173. package/dist/components/cura-select-option2.js +2 -2
  174. package/dist/components/cura-select-option2.js.map +1 -1
  175. package/dist/components/cura-select2.js +20 -4
  176. package/dist/components/cura-select2.js.map +1 -1
  177. package/dist/components/cura-stepper-item2.js +1 -1
  178. package/dist/components/cura-stepper.js +1 -1
  179. package/dist/components/cura-switch.js +6 -2
  180. package/dist/components/cura-switch.js.map +1 -1
  181. package/dist/components/cura-toast.js +2 -2
  182. package/dist/components/cura-toast.js.map +1 -1
  183. package/dist/components/cura-tooltip.js +1 -1
  184. package/dist/cura/cura.esm.js +1 -1
  185. package/dist/cura/cura.esm.js.map +1 -1
  186. package/dist/cura/index.esm.js +1 -1
  187. package/dist/cura/{p-3519d0ba.entry.js → p-0aeaf57a.entry.js} +2 -2
  188. package/dist/cura/p-0aeaf57a.entry.js.map +1 -0
  189. package/dist/cura/{p-25932952.entry.js → p-0b872499.entry.js} +2 -2
  190. package/dist/cura/{p-daf9feac.js → p-0c25333f.js} +2 -2
  191. package/dist/cura/p-0ccde0ff.entry.js +2 -0
  192. package/dist/cura/p-0ccde0ff.entry.js.map +1 -0
  193. package/dist/cura/{p-2090e71a.entry.js → p-12a4ae7e.entry.js} +2 -2
  194. package/dist/cura/p-12a4ae7e.entry.js.map +1 -0
  195. package/dist/cura/{p-777decf9.entry.js → p-137f003b.entry.js} +2 -2
  196. package/dist/cura/{p-3c305dbd.entry.js → p-202dc01a.entry.js} +2 -2
  197. package/dist/cura/p-20b05d8f.entry.js +2 -0
  198. package/dist/cura/p-20b05d8f.entry.js.map +1 -0
  199. package/dist/cura/p-2db4deb3.js +2 -0
  200. package/dist/cura/p-2db4deb3.js.map +1 -0
  201. package/dist/cura/p-5a43e745.entry.js +2 -0
  202. package/dist/cura/p-5a43e745.entry.js.map +1 -0
  203. package/dist/cura/{p-fc1fd622.entry.js → p-633c13cd.entry.js} +2 -2
  204. package/dist/cura/p-633c13cd.entry.js.map +1 -0
  205. package/dist/cura/p-7a68835f.entry.js +2 -0
  206. package/dist/cura/p-7a68835f.entry.js.map +1 -0
  207. package/dist/cura/{p-e1916252.entry.js → p-7e10b146.entry.js} +2 -2
  208. package/dist/cura/p-7e10b146.entry.js.map +1 -0
  209. package/dist/cura/p-9fce5ec5.entry.js +2 -0
  210. package/dist/cura/p-9fce5ec5.entry.js.map +1 -0
  211. package/dist/cura/{p-a1782f0e.entry.js → p-ac01bec2.entry.js} +2 -2
  212. package/dist/cura/p-ac01bec2.entry.js.map +1 -0
  213. package/dist/cura/{p-6f7f157e.entry.js → p-b60a6aaa.entry.js} +2 -2
  214. package/dist/cura/p-b60a6aaa.entry.js.map +1 -0
  215. package/dist/cura/{p-ec4996c2.js → p-bf8e2037.js} +2 -2
  216. package/dist/cura/p-d8e1e182.entry.js +2 -0
  217. package/dist/cura/p-d8e1e182.entry.js.map +1 -0
  218. package/dist/cura/p-d936d5cf.entry.js +2 -0
  219. package/dist/cura/p-d936d5cf.entry.js.map +1 -0
  220. package/dist/cura/{p-d7f46266.entry.js → p-d97719bc.entry.js} +2 -2
  221. package/dist/esm/{app-globals-83a601d0.js → app-globals-ca1945d1.js} +2 -2
  222. package/dist/esm/{app-globals-83a601d0.js.map → app-globals-ca1945d1.js.map} +1 -1
  223. package/dist/esm/cura-accordion_18.entry.js +39 -19
  224. package/dist/esm/cura-accordion_18.entry.js.map +1 -1
  225. package/dist/esm/cura-alert.entry.js +1 -1
  226. package/dist/esm/cura-alert.entry.js.map +1 -1
  227. package/dist/esm/cura-badge-pill.entry.js +1 -1
  228. package/dist/esm/cura-badge-pill.entry.js.map +1 -1
  229. package/dist/esm/cura-button-outline.entry.js +1 -1
  230. package/dist/esm/cura-button-outline.entry.js.map +1 -1
  231. package/dist/esm/cura-button-select.entry.js +1 -1
  232. package/dist/esm/cura-button-select.entry.js.map +1 -1
  233. package/dist/esm/cura-calendar.entry.js +15 -13
  234. package/dist/esm/cura-calendar.entry.js.map +1 -1
  235. package/dist/esm/cura-checkbox.entry.js +4 -2
  236. package/dist/esm/cura-checkbox.entry.js.map +1 -1
  237. package/dist/esm/cura-display.entry.js +1 -1
  238. package/dist/esm/cura-display.entry.js.map +1 -1
  239. package/dist/esm/cura-input-date.entry.js +1 -1
  240. package/dist/esm/cura-loader-bar.entry.js +1 -1
  241. package/dist/esm/cura-loader-bar.entry.js.map +1 -1
  242. package/dist/esm/cura-modal.entry.js +15 -2
  243. package/dist/esm/cura-modal.entry.js.map +1 -1
  244. package/dist/esm/cura-progress-bar_2.entry.js +2 -2
  245. package/dist/esm/cura-radio.entry.js +19 -17
  246. package/dist/esm/cura-radio.entry.js.map +1 -1
  247. package/dist/esm/cura-stepper.entry.js +1 -1
  248. package/dist/esm/cura-switch.entry.js +4 -2
  249. package/dist/esm/cura-switch.entry.js.map +1 -1
  250. package/dist/esm/{cura-theme-module-59e8e460.js → cura-theme-module-0fa5ee0b.js} +2 -2
  251. package/dist/esm/{cura-theme-module-59e8e460.js.map → cura-theme-module-0fa5ee0b.js.map} +1 -1
  252. package/dist/esm/cura-toast.entry.js +2 -2
  253. package/dist/esm/cura-toast.entry.js.map +1 -1
  254. package/dist/esm/cura-tooltip.entry.js +1 -1
  255. package/dist/esm/cura.js +4 -4
  256. package/dist/esm/index.js +2 -2
  257. package/dist/esm/loader.js +4 -4
  258. package/dist/esm/{static-061aa850.js → static-090f0088.js} +16 -2
  259. package/dist/esm/static-090f0088.js.map +1 -0
  260. package/dist/types/api/theme-presets/static.d.ts +7 -0
  261. package/dist/types/components/badges/cura-badge-pill/cura-badge-pill.d.ts +1 -1
  262. package/dist/types/components/cura-avatar/cura-avatar.d.ts +37 -0
  263. package/dist/types/components/cura-calendar/cura-calendar.d.ts +7 -0
  264. package/dist/types/components/cura-calendar/cura-calendar.stories.d.ts +11 -3
  265. package/dist/types/components/cura-card/cura-card.stories.d.ts +7 -98
  266. package/dist/types/components/cura-dropdown-search/cura-dropdown-search.d.ts +1 -0
  267. package/dist/types/components/cura-modal/cura-modal.d.ts +3 -0
  268. package/dist/types/components/forms/cura-checkbox/cura-checkbox.d.ts +18 -0
  269. package/dist/types/components/forms/cura-checkbox/cura-checkbox.stories.d.ts +15 -0
  270. package/dist/types/components/forms/cura-radio/cura-radio.d.ts +30 -12
  271. package/dist/types/components/forms/cura-radio/cura-radio.stories.d.ts +15 -0
  272. package/dist/types/components/forms/cura-select/cura-select.d.ts +9 -0
  273. package/dist/types/components/forms/cura-select/cura-select.stories.d.ts +11 -0
  274. package/dist/types/components/forms/cura-switch/cura-switch.d.ts +18 -0
  275. package/dist/types/components/forms/cura-switch/cura-switch.stories.d.ts +15 -0
  276. package/dist/types/components.d.ts +152 -6
  277. package/package.json +15 -11
  278. package/dist/cjs/static-4e83652c.js.map +0 -1
  279. package/dist/cura/p-1016108a.entry.js +0 -2
  280. package/dist/cura/p-1016108a.entry.js.map +0 -1
  281. package/dist/cura/p-174d220e.entry.js +0 -2
  282. package/dist/cura/p-174d220e.entry.js.map +0 -1
  283. package/dist/cura/p-186392b7.entry.js +0 -2
  284. package/dist/cura/p-186392b7.entry.js.map +0 -1
  285. package/dist/cura/p-1b201271.js +0 -2
  286. package/dist/cura/p-1b201271.js.map +0 -1
  287. package/dist/cura/p-2090e71a.entry.js.map +0 -1
  288. package/dist/cura/p-3519d0ba.entry.js.map +0 -1
  289. package/dist/cura/p-38777561.entry.js +0 -2
  290. package/dist/cura/p-38777561.entry.js.map +0 -1
  291. package/dist/cura/p-405a50de.entry.js +0 -2
  292. package/dist/cura/p-405a50de.entry.js.map +0 -1
  293. package/dist/cura/p-5b928e46.entry.js +0 -2
  294. package/dist/cura/p-5b928e46.entry.js.map +0 -1
  295. package/dist/cura/p-6f7f157e.entry.js.map +0 -1
  296. package/dist/cura/p-a1782f0e.entry.js.map +0 -1
  297. package/dist/cura/p-d77df3f0.entry.js +0 -2
  298. package/dist/cura/p-d77df3f0.entry.js.map +0 -1
  299. package/dist/cura/p-e1916252.entry.js.map +0 -1
  300. package/dist/cura/p-fc1fd622.entry.js.map +0 -1
  301. package/dist/esm/static-061aa850.js.map +0 -1
  302. /package/dist/cura/{p-25932952.entry.js.map → p-0b872499.entry.js.map} +0 -0
  303. /package/dist/cura/{p-daf9feac.js.map → p-0c25333f.js.map} +0 -0
  304. /package/dist/cura/{p-777decf9.entry.js.map → p-137f003b.entry.js.map} +0 -0
  305. /package/dist/cura/{p-3c305dbd.entry.js.map → p-202dc01a.entry.js.map} +0 -0
  306. /package/dist/cura/{p-ec4996c2.js.map → p-bf8e2037.js.map} +0 -0
  307. /package/dist/cura/{p-d7f46266.entry.js.map → p-d97719bc.entry.js.map} +0 -0
@@ -18,6 +18,7 @@ export class CuraCalendar {
18
18
  this.disable = [];
19
19
  this.enable = [];
20
20
  this.defaultDate = [];
21
+ this.showToday = true;
21
22
  this.customDates = [];
22
23
  this.limitRange = null;
23
24
  this.disablePassDates = undefined;
@@ -314,28 +315,29 @@ export class CuraCalendar {
314
315
  this.currentDate = newWeek;
315
316
  }
316
317
  fetchDaysOfMonth() {
317
- const WEEKS_IN_CALENDAR_VIEW = 6;
318
- const DAYS_IN_CALENDAR_VIEW = 42;
318
+ const DAYS_IN_CALENDAR_VIEW = 35;
319
319
  const start = startOfMonth(this.currentDate);
320
320
  const end = endOfMonth(this.currentDate);
321
321
  const daysIncurrentDate = eachDayOfInterval({ start, end });
322
- const prevMonthStart = startOfMonth(addMonths(start, -1));
323
- const prevMonthEnd = endOfMonth(prevMonthStart);
324
- const daysInPrevMonth = getDay(start) > 0
322
+ const startWeekDay = getDay(start);
323
+ const prevMonthEnd = endOfMonth(subMonths(start, 1));
324
+ const daysInPrevMonth = startWeekDay > 0
325
325
  ? eachDayOfInterval({
326
- start: subDays(prevMonthEnd, getDay(start) - 1),
326
+ start: subDays(prevMonthEnd, startWeekDay - 1),
327
327
  end: prevMonthEnd,
328
328
  })
329
329
  : [];
330
+ const totalDays = [...daysInPrevMonth, ...daysIncurrentDate];
331
+ if (totalDays.length >= DAYS_IN_CALENDAR_VIEW) {
332
+ return totalDays.slice(0, DAYS_IN_CALENDAR_VIEW);
333
+ }
334
+ const remainingDays = DAYS_IN_CALENDAR_VIEW - totalDays.length;
330
335
  const nextMonthStart = startOfMonth(addMonths(end, 1));
331
- const nextMonthEnd = endOfMonth(nextMonthStart);
332
- const remainingDays = WEEKS_IN_CALENDAR_VIEW - getDay(end);
333
336
  const daysInNextMonth = eachDayOfInterval({
334
337
  start: nextMonthStart,
335
- end: addDays(nextMonthEnd, remainingDays),
338
+ end: addDays(nextMonthStart, remainingDays - 1),
336
339
  });
337
- const totalDays = [...daysInPrevMonth, ...daysIncurrentDate, ...daysInNextMonth];
338
- return totalDays.slice(0, DAYS_IN_CALENDAR_VIEW);
340
+ return [...totalDays, ...daysInNextMonth];
339
341
  }
340
342
  /**
341
343
  * Get the names of all months in the current year.
@@ -421,7 +423,7 @@ export class CuraCalendar {
421
423
  if (date === null)
422
424
  return classes;
423
425
  const dateStatus = this.getDateStatus(date);
424
- classes['today'] = isToday(date);
426
+ classes['today'] = this.showToday === true ? isToday(date) : false;
425
427
  classes['valid'] = dateStatus.isValid;
426
428
  classes['invalid'] = dateStatus.isInvalid;
427
429
  classes['selected'] = dateStatus.isSelected;
@@ -462,7 +464,7 @@ export class CuraCalendar {
462
464
  }
463
465
  render() {
464
466
  const { months } = this.fetchMonthNames();
465
- return (h(Host, { key: '622035565961e1a2a1917f402e853e29ed01b1fe', style: this.getHostCSSProperties() }, h("div", { key: '7d41f8769f65218c130751e25e0a9ee7126b930c', class: `calendar ${this.floating ? 'floating' : ''} ${this.embedded ? 'embedded' : ''}`, style: this.styles }, h("header", { key: '796f3f0d0fa3972151803f8b37707d7f33349c41', class: "header" }, h("div", { key: 'aa1d4dc49765ccbef9181f58696eeac4eb2336b3', class: `month-year ${this.type === 'dropdown' && 'dropdown'}` }, h("cura-icon", { key: '9003a5aa57d9bf0217eef70452ffac20c434e1b2', class: `icon ${this.type === 'dropdown' && 'dropdown'}`, name: "left", color: this.determinePrevButtonColor(), onClick: !this.collapsed ? () => this.updateCurrentMonth('prev') : () => this.updateCurrentWeek('prev') }), this.type === 'dropdown' ? (h("div", { class: "select" }, h("cura-select", { size: "small", class: "drop-month", mode: "transparent", value: months[getMonth(this.currentDate)], onSelected: e => this.onMonthDropdownChange(e) }, months.map((month, index) => (h("cura-select-option", { size: "xsmall", key: index, value: month }, month)))), h("cura-select", { size: "small", class: "drop-year", mode: "transparent", value: getYear(this.currentDate).toString(), onSelected: e => this.onYearDropdownChange(e) }, this.fetchYearList().map((year, index) => (h("cura-select-option", { key: index, value: year.toString() }, year.toString())))))) : (h("cura-label", { color: "neutral-black", size: "large" }, months[getMonth(this.currentDate)].slice(0, 3), ", ", getYear(this.currentDate))), h("cura-icon", { key: '331511ce7960285c1245fcc23179cc7d4837869d', class: `icon ${this.type === 'dropdown' && 'dropdown'}`, name: "right", color: "primary-base", onClick: !this.collapsed ? () => this.updateCurrentMonth('next') : () => this.updateCurrentWeek('next') }))), h("span", { key: '4fc77ed5e8a40b95a88a6879299e78b8dfcf3ce6', class: "days-of-week" }, this.fetchWeekDays().map((day, index) => (h("cura-label", { class: "day", size: "xsmall", color: "neutral-black", weight: "bold", key: index }, day === 'sab' ? 'SÁB' : day.toLocaleUpperCase())))), h("div", { key: '311a707add171474195d075a7694eb10197c6263', class: "dates" }, !this.collapsed
467
+ return (h(Host, { key: 'fc0c0ba9f7696dac1c23fbf333b7ebfa50fd17d7', style: this.getHostCSSProperties() }, h("div", { key: '12c069835f8ef50d9e5dd8c70b11619586efae4d', class: `calendar ${this.floating ? 'floating' : ''} ${this.embedded ? 'embedded' : ''}`, style: this.styles }, h("header", { key: '2131f1b2c16f7b0c07e1274cfb21d2efd9f863a8', class: "header" }, h("div", { key: '0c8920a9370fce33ab504f614871d22a8868b654', class: `month-year ${this.type === 'dropdown' && 'dropdown'}` }, h("cura-icon", { key: 'd9fb9f2aa6ecec2b1d078eca07094dbff7015ec6', class: `icon ${this.type === 'dropdown' && 'dropdown'}`, name: "left", color: this.determinePrevButtonColor(), onClick: !this.collapsed ? () => this.updateCurrentMonth('prev') : () => this.updateCurrentWeek('prev') }), this.type === 'dropdown' ? (h("div", { class: "select" }, h("cura-select", { size: "small", class: "drop-month", mode: "transparent", value: months[getMonth(this.currentDate)], onSelected: e => this.onMonthDropdownChange(e) }, months.map((month, index) => (h("cura-select-option", { size: "xsmall", key: index, value: month }, month)))), h("cura-select", { size: "small", class: "drop-year", mode: "transparent", value: getYear(this.currentDate).toString(), onSelected: e => this.onYearDropdownChange(e) }, this.fetchYearList().map((year, index) => (h("cura-select-option", { key: index, value: year.toString() }, year.toString())))))) : (h("cura-label", { color: "neutral-black", size: "large" }, months[getMonth(this.currentDate)].slice(0, 3), ", ", getYear(this.currentDate))), h("cura-icon", { key: '563b39493efe4f2ad2f8bfcdb6717b0c1e8f74fd', class: `icon ${this.type === 'dropdown' && 'dropdown'}`, name: "right", color: "primary-base", onClick: !this.collapsed ? () => this.updateCurrentMonth('next') : () => this.updateCurrentWeek('next') }))), h("span", { key: '545eb91c68e19b5d8134e740b214c69cd504625a', class: "days-of-week" }, this.fetchWeekDays().map((day, index) => (h("cura-label", { class: "day", size: "xsmall", color: "neutral-black", weight: "bold", key: index }, day === 'sab' ? 'SÁB' : day.toLocaleUpperCase())))), h("div", { key: 'cee270aa873f773efa811f5a03207253724095c7', class: "dates" }, !this.collapsed
466
468
  ? this.fetchDaysOfMonth().map((day, index) => (h("div", { key: index, class: this.getClasses(day), onClick: () => this.onDateClick(day) }, day ? format(day, 'd') : '')))
467
469
  : this.fetchDaysOfWeek().map((day, index) => (h("div", { key: index, class: this.getClasses(day), onClick: () => this.onDateClick(day) }, day ? format(day, 'd') : '')))), this.collapsed !== null ? (this.collapsed ? (h("div", { class: "collapsed-container" }, h("cura-button-transparent", { onClick: () => this.showNotColapsedCalendar(), size: "small", color: "primary", fontColor: "dark", iconName: "plusCircle" }, "Veja mais datas"))) : (h("div", { class: "collapsed-container" }, h("cura-button-transparent", { onClick: () => this.showColapsedCalendar(), size: "small", color: "primary", fontColor: "dark", iconName: "minusCircle" }, "Veja menos datas")))) : null)));
468
470
  }
@@ -746,6 +748,30 @@ export class CuraCalendar {
746
748
  "reflect": true,
747
749
  "defaultValue": "[]"
748
750
  },
751
+ "showToday": {
752
+ "type": "boolean",
753
+ "mutable": false,
754
+ "complexType": {
755
+ "original": "boolean",
756
+ "resolved": "boolean",
757
+ "references": {}
758
+ },
759
+ "required": false,
760
+ "optional": false,
761
+ "docs": {
762
+ "tags": [{
763
+ "name": "type",
764
+ "text": "{boolean}"
765
+ }, {
766
+ "name": "default",
767
+ "text": "true"
768
+ }],
769
+ "text": "Hide today mark."
770
+ },
771
+ "attribute": "show-today",
772
+ "reflect": true,
773
+ "defaultValue": "true"
774
+ },
749
775
  "customDates": {
750
776
  "type": "unknown",
751
777
  "mutable": false,
@@ -1 +1 @@
1
- {"version":3,"file":"cura-calendar.js","sourceRoot":"","sources":["../../../src/components/cura-calendar/cura-calendar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAgB,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EACL,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,QAAQ,EACR,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,EACR,OAAO,EACP,SAAS,EACT,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,SAAS,EACT,SAAS,EACT,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,KAAK,GACN,MAAM,UAAU,CAAC;AAClB,OAAO,IAAI,MAAM,uBAAuB,CAAC;AACzC,OAAO,IAAI,MAAM,uBAAuB,CAAC;AAOzC,MAAM,OAAO,YAAY;;QAoLvB,UAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7B,YAAO,GAA8B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACnE,kBAAa,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sBA5KW,IAAI;qBAOvB,OAAO;wBAOJ,OAAO;wBAOP,OAAO;oBAOc,QAAQ;0BAOZ,YAAY;sBAOpB,OAAO;oBAQL,UAAU;uBAQb,EAAE;sBAOH,EAAE;2BAWoB,EAAE;2BAQ5B,EAAE;0BAQI,IAAI;;;yBAMW,IAAI;;;oCAMkB,OAAO;6BAQhE,EAAE;0BAQA,IAAI;4BAQP,EAAE;2BAQL,IAAI,IAAI,EAAE;2BAQR,EAAE;0BAQH,EAAE;sBAQd,EAAE;;IAcpB,iBAAiB;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,MAAM,MAAM,GAAG;YACb,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE;YACjD,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,iBAAiB,EAAE;YACvD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE;YACnD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE;YACnD,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE;YACrD,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE;YACjD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE;YACnD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE;YACnD,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,oBAAoB,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,EAAE;SAC5G,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,mCAAQ,IAAI,CAAC,MAAM,KAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,CAAC;IACrH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9D,CAAC;IAED;;OAEG;IAEH,sBAAsB;QACpB,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;YAE/D,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC;YACvC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAA4B,CAAC,CAAC;QAE7E,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAgB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,IAAiB;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,IAAU;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,wBAAwB,CAAC,IAAU;QACjC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,sBAAsB,CAAC,IAAiB;QACtC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,kBAAkB;YAAE,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,IAAiB;QACrC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAC5C,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,KAAa,EAAE,IAAU;QACpC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,uBAAuB,CAAC,KAAa,EAAE,YAAkB;QACvD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,SAA0B;QAC3C,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;QAEhC,IAAI,SAAS,KAAK,MAAM;YAAE,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,SAAS,KAAK,MAAM;YAAE,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,qBAAqB,CAAC,KAAkB;QACtC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;QAE9B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACtF,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,KAAkB;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;QAE7B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,KAAgD;QAC/D,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAErF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE9B,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,GAAG;gBAAE,OAAO,iBAAiB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7F,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IAEH,gBAAgB,CAAC,IAAU;QACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QACrB,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,IAAU;QAC5B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;QAEpI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,IAAU;QACxB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAEhD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,IAAU;QACpB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAAE,OAAO;QAEtH,MAAM,iBAAiB,GAAG;YACxB,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7C,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;SACvC,CAAC;QAEF,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1H,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACpF,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAEhF,OAAO,iBAAiB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;IACjH,CAAC;IAED;;;;OAIG;IACH,uBAAuB;QACrB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;;YAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAED,eAAe;QACb,MAAM,qBAAqB,GAAG,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAExC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAE5D,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC3D,CAAC;IAED,iBAAiB,CAAC,SAA0B;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QAE/B,IAAI,SAAS,KAAK,MAAM;YAAE,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,SAAS,KAAK,MAAM;YAAE,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAElE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,gBAAgB;QACd,MAAM,sBAAsB,GAAG,CAAC,CAAC;QACjC,MAAM,qBAAqB,GAAG,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAE5D,MAAM,cAAc,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,eAAe,GACnB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;YACf,CAAC,CAAC,iBAAiB,CAAC;gBAChB,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/C,GAAG,EAAE,YAAY;aAClB,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,cAAc,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,iBAAiB,CAAC;YACxC,KAAK,EAAE,cAAc;YACrB,GAAG,EAAE,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC;SAC1C,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,iBAAiB,EAAE,GAAG,eAAe,CAAC,CAAC;QAEjF,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,eAAe;QACb,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEtC,MAAM,MAAM,GAAG,mBAAmB,CAAC;YACjC,KAAK,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,GAAG,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC;SACnC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAEnD,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAE7F,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;SAC/B,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACH,wBAAwB;QACtB,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QAClI,OAAO,cAAc,IAAI,cAAc,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,IAAU;QACtB,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAChH,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAE3G,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QACvD,MAAM,wBAAwB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAE9D,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACpF,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC5F,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAChF,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAExF,MAAM,OAAO,GAAG,eAAe,IAAI,cAAc,CAAC;QAClD,MAAM,KAAK,GAAG,aAAa,IAAI,YAAY,CAAC;QAE5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,EAAE,EAAE,EAAE,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1H,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW,EAAE,EAAE,EAAE,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QAEvH,MAAM,gBAAgB,GAAG,gBAAgB,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACxF,MAAM,eAAe,GAAG,wBAAwB,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAE9F,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACrG,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,gBAAgB,IAAI,wBAAwB,CAAC,CAAC;QACxF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,CAAC,gBAAgB,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC;QAE/E,OAAO;YACL,OAAO;YACP,KAAK;YACL,OAAO;YACP,SAAS;YACT,UAAU;YACV,OAAO;YACP,SAAS;YACT,UAAU;SACX,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAU;QACnB,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC/B,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC;QAElC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE5C,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;QACtC,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;QAC1C,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC;QAC5C,OAAO,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;QACtC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;QACtC,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;QAElC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,oBAAoB;QAClB,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,aAAa,EAAE,IAAI,CAAC,QAAQ;YAC5B,aAAa,EAAE,IAAI,CAAC,QAAQ;SAC7B,CAAC;IACJ,CAAC;IAGD,sBAAsB;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC;IACxC,CAAC;IAGD,uBAAuB,CAAC,QAAkB;QACxC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;QAEvB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;YAEvD,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBAC1C,QAAQ,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,iBAAiB,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAyB,CAAC,CAAC;IACvE,CAAC;IACD,MAAM;QACJ,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAE1C,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE;YACtC,4DAAK,KAAK,EAAE,YAAY,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM;gBAC9G,+DAAQ,KAAK,EAAC,QAAQ;oBACpB,4DAAK,KAAK,EAAE,cAAc,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,EAAE;wBAChE,kEACE,KAAK,EAAE,QAAQ,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,EAAE,EACvD,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,wBAAwB,EAAE,EACtC,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAC5F;wBACZ,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAC1B,WAAK,KAAK,EAAC,QAAQ;4BACjB,mBAAa,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,aAAa,EAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IACtJ,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC5B,0BAAoB,IAAI,EAAC,QAAQ,EAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IACvD,KAAK,CACa,CACtB,CAAC,CACU;4BACd,mBAAa,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,WAAW,EAAC,IAAI,EAAC,aAAa,EAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IACtJ,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACzC,0BAAoB,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IACnD,IAAI,CAAC,QAAQ,EAAE,CACG,CACtB,CAAC,CACU,CACV,CACP,CAAC,CAAC,CAAC,CACF,kBAAY,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,OAAO;4BAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;4BAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CACjE,CACd;wBACD,kEACE,KAAK,EAAE,QAAQ,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,EAAE,EACvD,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,cAAc,EACpB,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAC5F,CACT,CACC;gBAET,6DAAM,KAAK,EAAC,cAAc,IACvB,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CACxC,kBAAY,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,eAAe,EAAC,MAAM,EAAC,MAAM,EAAC,GAAG,EAAE,KAAK,IACjF,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,CACrC,CACd,CAAC,CACG;gBAEP,4DAAK,KAAK,EAAC,OAAO,IACf,CAAC,IAAI,CAAC,SAAS;oBACd,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1C,WAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAC/E,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CACxB,CACP,CAAC;oBACJ,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CACzC,WAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAC/E,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CACxB,CACP,CAAC,CACF;gBACL,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,CACzB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CACf,WAAK,KAAK,EAAC,qBAAqB;oBAC9B,+BAAyB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,EAAC,SAAS,EAAC,MAAM,EAAC,QAAQ,EAAC,YAAY,sBAEjH,CACtB,CACP,CAAC,CAAC,CAAC,CACF,WAAK,KAAK,EAAC,qBAAqB;oBAC9B,+BAAyB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,EAAC,SAAS,EAAC,MAAM,EAAC,QAAQ,EAAC,aAAa,uBAE/G,CACtB,CACP,CACF,CAAC,CAAC,CAAC,IAAI,CACJ,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, State, Prop, Event, EventEmitter, Host, Watch } from '@stencil/core';\nimport {\n getMonth,\n getYear,\n startOfMonth,\n endOfMonth,\n eachDayOfInterval,\n format,\n getDay,\n isBefore,\n isAfter,\n isSameDay,\n isToday,\n parseISO,\n addDays,\n addMonths,\n subDays,\n startOfYear,\n eachMonthOfInterval,\n startOfWeek,\n endOfWeek,\n subMonths,\n isValid,\n subWeeks,\n addWeeks,\n parse,\n} from 'date-fns';\nimport enAU from 'date-fns/locale/en-AU';\nimport ptBR from 'date-fns/locale/pt-BR';\n\n@Component({\n tag: 'cura-calendar',\n styleUrl: 'cura-calendar.scss',\n shadow: true,\n})\nexport class CuraCalendar {\n /**\n * An array of specific dates to be highlighted or processed.\n *\n * @type {string[] | string}\n * @default []\n * @example\n * // Example usage\n * period = [\"2024-08-01\", \"2024-08-30\"];\n */\n @Prop({ reflect: true }) period: null | string[] | string = null;\n /**\n * Width of the component.\n *\n * @type {string}\n * @default '268px'\n */\n @Prop({ reflect: true }) width: string = '268px';\n /**\n * Minimum Width of the component.\n *\n * @type {string}\n * @default '268px'\n */\n @Prop({ reflect: true }) minWidth: string = '268px';\n /**\n * Maximum Width of the component.\n *\n * @type {string}\n * @default '400px'\n */\n @Prop({ reflect: true }) maxWidth: string = '400px';\n /**\n * Selection mode of the date picker.\n *\n * @type {'single' | 'multiple' | 'range'}\n * @default 'single'\n */\n @Prop({ reflect: true }) mode: 'single' | 'multiple' | 'range' = 'single';\n /**\n * Date format used for display and parsing.\n *\n * @type {string}\n * @default 'yyyy-MM-dd'\n */\n @Prop({ reflect: true, mutable: true }) dateFormat: string = 'yyyy-MM-dd';\n /**\n * Locale for date formatting.\n *\n * @type {'pt-BR' | 'en-US'}\n * @default 'pt-BR'\n */\n @Prop({ reflect: true }) locale: 'pt-BR' | 'en-US' = 'pt-BR';\n\n /**\n * Display type of the date picker.\n *\n * @type {'dropdown' | 'static'}\n * @default 'dropdown'\n */\n @Prop({ reflect: true }) type: 'dropdown' | 'static' = 'dropdown';\n\n /**\n * List of dates to disable.\n *\n * @type {string[]}\n * @default []\n */\n @Prop({ reflect: true }) disable: string[] | null = [];\n /**\n * List of dates to enable.\n *\n * @type {string[]}\n * @default []\n */\n @Prop({ reflect: true }) enable: string[] | null = [];\n /**\n * Default dates selected on initialization.\n *\n * @type {string[]}\n * @default []\n * @example\n * // Example usage\n * defaultDate = [\"2024-08-01\", \"2024-08-30\"];\n * defaultDate = '[\"2024-08-01\", \"2024-08-30\"]'\n */\n @Prop({ reflect: true, mutable: true }) defaultDate: string[] | string = [];\n\n /**\n * Array of dates chosen by the user, can be updated dynamically.\n *\n * @type {Date[]}\n * @default []\n */\n @Prop({ reflect: true }) customDates: Date[] = [];\n\n /**\n * Limits the selectable date range.\n *\n * @type {Date | null}\n * @default null\n */\n @Prop({ reflect: true }) limitRange: number | null = null;\n\n @Prop({ reflect: true, mutable: true }) disablePassDates: boolean;\n\n @Prop({ reflect: true, mutable: true }) disableFutureDates: boolean;\n\n @Prop({ reflect: true, mutable: true }) collapsed: boolean | null = null;\n\n @Prop({ reflect: true, mutable: true }) floating: boolean;\n\n @Prop({ reflect: true, mutable: true }) embedded: boolean;\n\n @Prop({ reflect: true, mutable: true }) selectLabelColorMode: 'dark' | 'light' | string = 'light';\n\n /**\n * Array of currently selected dates.\n *\n * @type {Date[]}\n * @default []\n */\n @State() selectedDates: Date[] = [];\n\n /**\n * The start date of the range selection, if applicable.\n *\n * @type {Date | null}\n * @default null\n */\n @State() rangeStart: Date | null = null;\n\n /**\n * Array of default dates that are initially selected.\n *\n * @type {Date[]}\n * @default []\n */\n @State() defaultDates: Date[] = [];\n\n /**\n * The current month being viewed in the date picker.\n *\n * @type {Date}\n * @default new Date()\n */\n @State() currentDate: Date = new Date();\n /**\n * Selected months on dropdown.\n *\n * @type {string}\n * @default ''\n */\n\n @State() selectMonth: string = '';\n\n /**\n * Selected year on dropdown.\n *\n * @type {string}\n * @default ''\n */\n @State() selectYear: string = '';\n\n /**\n * CSS styles applied to the component.\n *\n * @type {Object}\n * @default {}\n */\n @State() styles = {};\n\n /**\n * Event emitted when a day is changed.\n *\n * @event\n * @type {EventEmitter<{ days: Date[] }>}\n */\n @Event() onchangeday: EventEmitter<{ days: Date[] }>;\n\n theme = window.CuraAPI.theme;\n weights: { [key: string]: string } = this.theme.fonts.getWeights();\n optionsLocale = { 'pt-BR': ptBR, 'en-US': enAU };\n\n connectedCallback() {\n this.setFontProperties();\n this.initializeDefaultDates();\n\n const colors = [\n { name: '--primary-base', theme: 'primary-base' },\n { name: '--primary-lighter', theme: 'primary-lighter' },\n { name: '--primary-light', theme: 'primary-light' },\n { name: '--neutral-black', theme: 'neutral-black' },\n { name: '--primary-darker', theme: 'primary-darker' },\n { name: '--neutral-dark', theme: 'neutral-dark' },\n { name: '--neutral-light', theme: 'neutral-light' },\n { name: '--neutral-white', theme: 'neutral-white' },\n { name: '--select-label', theme: this.selectLabelColorMode === 'dark' ? 'neutral-black' : 'neutral-white' },\n ];\n\n colors.forEach(color => (this.styles = { ...this.styles, [color.name]: this.theme.colors.getColor(color.theme) }));\n }\n\n setFontProperties() {\n this.styles['--font-family'] = window.CuraAPI.theme.fonts.getFamily();\n this.styles['--font-size'] = window.CuraAPI.theme.fonts.getSize();\n this.styles['--font-color'] = window.CuraAPI.theme.fonts.getColor();\n this.styles['--font-weight-medium'] = this.weights.medium;\n this.styles['--font-weight-bold'] = this.weights.bold;\n this.styles['--font-weight-regular'] = this.weights.regular;\n }\n\n /**\n * Initialize the selected dates based on defaultDate and mode.\n */\n @Watch('defaultDate')\n initializeDefaultDates() {\n if (typeof this.defaultDate === 'string') {\n const parsedDefaultDate = JSON.parse(this.defaultDate || '[]');\n\n if (typeof parsedDefaultDate === 'string') {\n this.defaultDate = [parsedDefaultDate];\n } else {\n this.defaultDate = parsedDefaultDate;\n }\n }\n\n this.defaultDates = this.expandDateRanges(this.defaultDate as Array<string>);\n\n if (this.defaultDate[0]) {\n this.currentDate = parse(this.defaultDate[0], this.dateFormat, new Date());\n }\n }\n\n /**\n * Get the locale for the calendar.\n *\n * @returns {Locale} The locale object.\n */\n determineLocale() {\n return this.optionsLocale[this.locale as string] || this.locale;\n }\n\n /**\n * Check if a date is within the valid period.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is valid.\n */\n isDateInValidPeriod(date: Date | null): boolean {\n if (this.period === null) {\n return true;\n }\n return this.period.includes(format(date, this.dateFormat));\n }\n\n /**\n * Check if a date is selected.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is selected.\n */\n isDateSelected(date: Date): boolean {\n return this.isDateInList(this.selectedDates, date);\n }\n\n /**\n * Check if has date in defaultDates.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is selected.\n */\n isDateInDefaultSelection(date: Date): boolean {\n return this.isDateInList(this.defaultDates, date);\n }\n\n /**\n * Check if a date is within a disabled period.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is disabled.\n */\n isDateInDisabledPeriod(date: Date | null): boolean {\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n if (this.disablePassDates) return isBefore(date, today);\n if (this.disableFutureDates) return isAfter(date, today);\n if (this.disable === null) return false;\n return this.isDateInList(this.expandDateRanges(this.disable), date);\n }\n\n /**\n * Check if a date is within an enabled period.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is enabled.\n */\n isDateInEnabledPeriod(date: Date | null): boolean {\n if (this.enable === null || []) return true;\n return this.isDateInList(this.expandDateRanges(this.enable), date);\n }\n\n /**\n * Checks if a date is in the provided list of dates.\n *\n * @param {Date[]} dates - The list of dates to check against.\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is in the list.\n */\n isDateInList(dates: Date[], date: Date): boolean {\n return dates.some(d => isSameDay(d, date));\n }\n\n /**\n * Removes a specific date from a list of dates.\n *\n * @param {Date[]} dates - The array of dates to filter.\n * @param {Date} dateToRemove - The date to remove from the array.\n * @returns {Date[]} A new array with the specified date removed.\n */\n removeDateFromSelection(dates: Date[], dateToRemove: Date): Date[] {\n return dates.filter(d => !isSameDay(d, dateToRemove));\n }\n\n /**\n * Change the current month.\n *\n * @param {string} direction - 'prev' | 'next'\n */\n updateCurrentMonth(direction: 'prev' | 'next') {\n let newMonth = this.currentDate;\n\n if (direction === 'prev') newMonth = subMonths(this.currentDate, 1);\n if (direction === 'next') newMonth = addMonths(this.currentDate, 1);\n\n this.currentDate = newMonth;\n }\n\n /**\n * Handle the month dropdown change.\n *\n * @param {CustomEvent} event - The change event.\n */\n onMonthDropdownChange(event: CustomEvent) {\n const { months } = this.fetchMonthNames();\n const newMonth = event.detail;\n\n this.selectMonth = newMonth;\n this.currentDate = new Date(getYear(this.currentDate), months.indexOf(newMonth), 1);\n }\n\n /**\n * Handle the year input change.\n *\n * @param {CustomEvent} event - The change event.\n */\n onYearDropdownChange(event: CustomEvent) {\n const newYear = event.detail;\n\n this.selectYear = newYear;\n this.currentDate = new Date(newYear, getMonth(this.currentDate), 1);\n }\n\n /**\n * Flatten date ranges into individual dates.\n *\n * @param {({ from: string; to: string } | string)[]} dates - An array of date ranges or individual dates.\n * @returns {Date[]} An array of individual dates.\n */\n expandDateRanges(dates: ({ from: string; to: string } | string)[]): Date[] {\n if (!dates) return [];\n return dates.flatMap(date => {\n if (typeof date === 'string') return isValid(parseISO(date)) ? [parseISO(date)] : [];\n\n const start = parseISO(date.from);\n const end = parseISO(date.to);\n\n if (isValid(start) && isValid(end) && start <= end) return eachDayOfInterval({ start, end });\n return [];\n });\n }\n\n /**\n * Handle single date selection.\n *\n * @param {Date} date - The date to select.\n */\n\n selectSingleDate(date: Date) {\n this.defaultDate = []\n this.selectedDates = [date];\n }\n\n /**\n * Handle multiple date selection.\n *\n * @param {Date} date - The date to select or deselect.\n */\n selectMultiplesDate(date: Date) {\n if (!this.isDateSelected(date) || !this.isDateInDefaultSelection(date)) return (this.selectedDates = [...this.selectedDates, date]);\n\n this.selectedDates = this.removeDateFromSelection(this.selectedDates, date);\n this.defaultDates = this.removeDateFromSelection(this.defaultDates, date);\n }\n\n /**\n * Handle range date selection.\n *\n * @param {Date} date - The date to select.\n */\n selectDateRange(date: Date) {\n this.defaultDates = [];\n\n const start = isBefore(this.rangeStart, date) ? this.rangeStart : date;\n const end = isAfter(this.rangeStart, date) ? this.rangeStart : date;\n const range = eachDayOfInterval({ start, end });\n\n if (!this.rangeStart || this.selectedDates.length === 2) {\n this.rangeStart = date;\n this.selectedDates = [date];\n return;\n }\n\n if (this.limitRange === null || range.length <= this.limitRange) {\n this.selectedDates = range;\n this.rangeStart = null;\n }\n }\n\n /**\n * Handle a click on a date.\n *\n * @param {Date} date - The date that was clicked.\n */\n onDateClick(date: Date) {\n if (!this.isDateInValidPeriod(date) || this.isDateInDisabledPeriod(date) || !this.isDateInEnabledPeriod(date)) return;\n\n const selectionHandlers = {\n single: this.selectSingleDate.bind(this),\n multiple: this.selectMultiplesDate.bind(this),\n range: this.selectDateRange.bind(this),\n };\n\n selectionHandlers[this.mode](date);\n this.onchangeday.emit({ days: [...this.defaultDates, ...this.selectedDates].filter(d => this.isDateInValidPeriod(d)) });\n }\n\n /**\n * Get the days of the week.\n *\n * @returns {string[]} An array of abbreviated day names.\n */\n fetchWeekDays(): string[] {\n const start = startOfWeek(new Date(2021, 0, 3), { locale: this.determineLocale() });\n const end = endOfWeek(new Date(2021, 0, 3), { locale: this.determineLocale() });\n\n return eachDayOfInterval({ start, end }).map(day => format(day, 'EEEEEE', { locale: this.determineLocale() }));\n }\n\n /**\n * Get the days of the current month, including leading nulls for alignment.\n *\n * @returns {(Date | null)[]} An array of dates and nulls for the current month view.\n */\n showNotColapsedCalendar() {\n if (this.collapsed) {\n this.fetchDaysOfWeek();\n } else this.fetchDaysOfMonth();\n this.collapsed = false;\n }\n\n showColapsedCalendar() {\n this.collapsed = true;\n return this.fetchDaysOfWeek();\n }\n\n fetchDaysOfWeek(): Date[] {\n const DAYS_IN_CALENDAR_VIEW = 7;\n const start = startOfWeek(this.currentDate);\n const end = endOfWeek(this.currentDate);\n\n const daysIncurrentDate = eachDayOfInterval({ start, end });\n\n return daysIncurrentDate.slice(0, DAYS_IN_CALENDAR_VIEW);\n }\n\n updateCurrentWeek(direction: 'prev' | 'next') {\n let newWeek = this.currentDate;\n\n if (direction === 'prev') newWeek = subWeeks(this.currentDate, 1);\n if (direction === 'next') newWeek = addWeeks(this.currentDate, 1);\n\n this.currentDate = newWeek;\n }\n\n fetchDaysOfMonth(): Date[] {\n const WEEKS_IN_CALENDAR_VIEW = 6;\n const DAYS_IN_CALENDAR_VIEW = 42;\n const start = startOfMonth(this.currentDate);\n const end = endOfMonth(this.currentDate);\n\n const daysIncurrentDate = eachDayOfInterval({ start, end });\n\n const prevMonthStart = startOfMonth(addMonths(start, -1));\n const prevMonthEnd = endOfMonth(prevMonthStart);\n const daysInPrevMonth =\n getDay(start) > 0\n ? eachDayOfInterval({\n start: subDays(prevMonthEnd, getDay(start) - 1),\n end: prevMonthEnd,\n })\n : [];\n\n const nextMonthStart = startOfMonth(addMonths(end, 1));\n const nextMonthEnd = endOfMonth(nextMonthStart);\n const remainingDays = WEEKS_IN_CALENDAR_VIEW - getDay(end);\n const daysInNextMonth = eachDayOfInterval({\n start: nextMonthStart,\n end: addDays(nextMonthEnd, remainingDays),\n });\n\n const totalDays = [...daysInPrevMonth, ...daysIncurrentDate, ...daysInNextMonth];\n\n return totalDays.slice(0, DAYS_IN_CALENDAR_VIEW);\n }\n\n /**\n * Get the names of all months in the current year.\n *\n * @returns {{ months: string[], currentMonth: string }} An object containing an array of month names and the name of the current month.\n */\n fetchMonthNames(): { months: string[] } {\n const currentYear = getYear(this.currentDate);\n const locale = this.determineLocale();\n\n const months = eachMonthOfInterval({\n start: startOfYear(new Date(currentYear, 0, 1)),\n end: new Date(currentYear, 11, 31),\n }).map(month => format(month, 'MMMM', { locale }));\n\n const capitalize = (str: string) => str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\n\n return {\n months: months.map(capitalize),\n };\n }\n\n /**\n * Get a list of years in descending order from the current year to a specified limit.\n *\n * @returns {number[]} An array of years.\n */\n fetchYearList(): number[] {\n const currentYear = getYear(new Date());\n return Array.from({ length: 100 }, (_, i) => currentYear - i);\n }\n\n /**\n * Get the color for the previous button.\n *\n * @returns {string} The color name for the previous button.\n */\n determinePrevButtonColor(): string {\n const isPrevDisabled = isBefore(new Date(getYear(this.currentDate), getMonth(this.currentDate) - 1, 1), startOfMonth(new Date()));\n return isPrevDisabled && 'primary-base';\n }\n\n /**\n * Get the status of a given date, determining its position and interval status.\n *\n * @param {Date | null} date - The date to evaluate.\n * @returns {Object} An object containing the status flags for the date.\n */\n getDateStatus(date: Date) {\n const [startSelected, endSelected] = [this.selectedDates[0], this.selectedDates[this.selectedDates.length - 1]];\n const [startDefault, endDefault] = [this.defaultDates[0], this.defaultDates[this.defaultDates.length - 1]];\n\n const hasSelectedDates = this.selectedDates.length > 1;\n const isDateInDefaultSelection = this.defaultDates.length > 1;\n\n const isStartSelected = this.isDateSelected(date) && isSameDay(date, startSelected);\n const isStartDefault = this.isDateInDefaultSelection(date) && isSameDay(date, startDefault);\n const isEndSelected = this.isDateSelected(date) && isSameDay(date, endSelected);\n const isEndDefault = this.isDateInDefaultSelection(date) && isSameDay(date, endDefault);\n\n const isStart = isStartSelected || isStartDefault;\n const isEnd = isEndSelected || isEndDefault;\n\n const selectedIntervals = this.expandDateRanges([{ from: startSelected?.toISOString(), to: endSelected?.toISOString() }]);\n const defaultIntervals = this.expandDateRanges([{ from: startDefault?.toISOString(), to: endDefault?.toISOString() }]);\n\n const intervalSelected = hasSelectedDates && this.isDateInList(selectedIntervals, date);\n const intervalDefault = isDateInDefaultSelection && this.isDateInList(defaultIntervals, date);\n\n const isValid = this.isDateInValidPeriod(date);\n const isInvalid = !isValid || this.isDateInDisabledPeriod(date) || !this.isDateInEnabledPeriod(date);\n const isSelected = this.isDateSelected(date);\n const isRange = this.mode === 'range' && (hasSelectedDates || isDateInDefaultSelection);\n const isDefault = this.mode !== 'range' && this.isDateInDefaultSelection(date);\n const isInterval = (intervalSelected || intervalDefault) && !isStart && !isEnd;\n\n return {\n isStart,\n isEnd,\n isValid,\n isInvalid,\n isSelected,\n isRange,\n isDefault,\n isInterval,\n };\n }\n\n /**\n * Get the CSS classes for a given date based on its status.\n *\n * @param {Date | null} date - The date to evaluate.\n * @returns {Object} An object containing the CSS classes for the date.\n */\n getClasses(date: Date) {\n const classes = { date: true };\n if (date === null) return classes;\n\n const dateStatus = this.getDateStatus(date);\n\n classes['today'] = isToday(date);\n classes['valid'] = dateStatus.isValid;\n classes['invalid'] = dateStatus.isInvalid;\n classes['selected'] = dateStatus.isSelected;\n classes['range'] = dateStatus.isRange;\n classes['default-dates'] = dateStatus.isDefault;\n classes['start'] = dateStatus.isStart;\n classes['interval'] = dateStatus.isInterval;\n classes['end'] = dateStatus.isEnd;\n\n return classes;\n }\n\n /**\n * Get custom CSS properties for the host element.\n *\n * @returns {Object} An object containing CSS properties and their values.\n */\n getHostCSSProperties() {\n return {\n '--width': this.width,\n '--min-width': this.minWidth,\n '--max-width': this.maxWidth,\n };\n }\n\n @Watch('customDates')\n watchDefaultDatesArray() {\n this.selectedDates = this.customDates;\n }\n\n @Watch('defaultDate')\n handleDefaultDateChange(newValue: string[]) {\n this.selectedDates = []\n \n if (typeof newValue === 'string') {\n const parsedDefaultDate = JSON.parse(newValue || '[]');\n\n if (typeof parsedDefaultDate === 'string') {\n newValue = [parsedDefaultDate];\n } else {\n newValue = parsedDefaultDate;\n }\n }\n\n this.defaultDates = this.expandDateRanges(newValue as Array<string>);\n }\n render() {\n const { months } = this.fetchMonthNames();\n\n return (\n <Host style={this.getHostCSSProperties()}>\n <div class={`calendar ${this.floating ? 'floating' : ''} ${this.embedded ? 'embedded' : ''}`} style={this.styles}>\n <header class=\"header\">\n <div class={`month-year ${this.type === 'dropdown' && 'dropdown'}`}>\n <cura-icon\n class={`icon ${this.type === 'dropdown' && 'dropdown'}`}\n name=\"left\"\n color={this.determinePrevButtonColor()}\n onClick={!this.collapsed ? () => this.updateCurrentMonth('prev') : () => this.updateCurrentWeek('prev')}\n ></cura-icon>\n {this.type === 'dropdown' ? (\n <div class=\"select\">\n <cura-select size=\"small\" class=\"drop-month\" mode=\"transparent\" value={months[getMonth(this.currentDate)]} onSelected={e => this.onMonthDropdownChange(e)}>\n {months.map((month, index) => (\n <cura-select-option size=\"xsmall\" key={index} value={month}>\n {month}\n </cura-select-option>\n ))}\n </cura-select>\n <cura-select size=\"small\" class=\"drop-year\" mode=\"transparent\" value={getYear(this.currentDate).toString()} onSelected={e => this.onYearDropdownChange(e)}>\n {this.fetchYearList().map((year, index) => (\n <cura-select-option key={index} value={year.toString()}>\n {year.toString()}\n </cura-select-option>\n ))}\n </cura-select>\n </div>\n ) : (\n <cura-label color=\"neutral-black\" size=\"large\">\n {months[getMonth(this.currentDate)].slice(0, 3)}, {getYear(this.currentDate)}\n </cura-label>\n )}\n <cura-icon\n class={`icon ${this.type === 'dropdown' && 'dropdown'}`}\n name=\"right\"\n color=\"primary-base\"\n onClick={!this.collapsed ? () => this.updateCurrentMonth('next') : () => this.updateCurrentWeek('next')}\n ></cura-icon>\n </div>\n </header>\n\n <span class=\"days-of-week\">\n {this.fetchWeekDays().map((day, index) => (\n <cura-label class=\"day\" size=\"xsmall\" color=\"neutral-black\" weight=\"bold\" key={index}>\n {day === 'sab' ? 'SÁB' : day.toLocaleUpperCase()}\n </cura-label>\n ))}\n </span>\n\n <div class=\"dates\">\n {!this.collapsed\n ? this.fetchDaysOfMonth().map((day, index) => (\n <div key={index} class={this.getClasses(day)} onClick={() => this.onDateClick(day)}>\n {day ? format(day, 'd') : ''}\n </div>\n ))\n : this.fetchDaysOfWeek().map((day, index) => (\n <div key={index} class={this.getClasses(day)} onClick={() => this.onDateClick(day)}>\n {day ? format(day, 'd') : ''}\n </div>\n ))}\n </div>\n {this.collapsed !== null ? (\n this.collapsed ? (\n <div class=\"collapsed-container\">\n <cura-button-transparent onClick={() => this.showNotColapsedCalendar()} size=\"small\" color=\"primary\" fontColor=\"dark\" iconName=\"plusCircle\">\n Veja mais datas\n </cura-button-transparent>\n </div>\n ) : (\n <div class=\"collapsed-container\">\n <cura-button-transparent onClick={() => this.showColapsedCalendar()} size=\"small\" color=\"primary\" fontColor=\"dark\" iconName=\"minusCircle\">\n Veja menos datas\n </cura-button-transparent>\n </div>\n )\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"cura-calendar.js","sourceRoot":"","sources":["../../../src/components/cura-calendar/cura-calendar.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, State, Prop, Event, EventEmitter, Host, Watch } from '@stencil/core';\nimport {\n getMonth,\n getYear,\n startOfMonth,\n endOfMonth,\n eachDayOfInterval,\n format,\n getDay,\n isBefore,\n isAfter,\n isSameDay,\n isToday,\n parseISO,\n addDays,\n addMonths,\n subDays,\n startOfYear,\n eachMonthOfInterval,\n startOfWeek,\n endOfWeek,\n subMonths,\n isValid,\n subWeeks,\n addWeeks,\n parse,\n} from 'date-fns';\nimport enAU from 'date-fns/locale/en-AU';\nimport ptBR from 'date-fns/locale/pt-BR';\n\n@Component({\n tag: 'cura-calendar',\n styleUrl: 'cura-calendar.scss',\n shadow: true,\n})\nexport class CuraCalendar {\n /**\n * An array of specific dates to be highlighted or processed.\n *\n * @type {string[] | string}\n * @default []\n * @example\n * // Example usage\n * period = [\"2024-08-01\", \"2024-08-30\"];\n */\n @Prop({ reflect: true }) period: null | string[] | string = null;\n /**\n * Width of the component.\n *\n * @type {string}\n * @default '268px'\n */\n @Prop({ reflect: true }) width: string = '268px';\n /**\n * Minimum Width of the component.\n *\n * @type {string}\n * @default '268px'\n */\n @Prop({ reflect: true }) minWidth: string = '268px';\n /**\n * Maximum Width of the component.\n *\n * @type {string}\n * @default '400px'\n */\n @Prop({ reflect: true }) maxWidth: string = '400px';\n /**\n * Selection mode of the date picker.\n *\n * @type {'single' | 'multiple' | 'range'}\n * @default 'single'\n */\n @Prop({ reflect: true }) mode: 'single' | 'multiple' | 'range' = 'single';\n /**\n * Date format used for display and parsing.\n *\n * @type {string}\n * @default 'yyyy-MM-dd'\n */\n @Prop({ reflect: true, mutable: true }) dateFormat: string = 'yyyy-MM-dd';\n /**\n * Locale for date formatting.\n *\n * @type {'pt-BR' | 'en-US'}\n * @default 'pt-BR'\n */\n @Prop({ reflect: true }) locale: 'pt-BR' | 'en-US' = 'pt-BR';\n\n /**\n * Display type of the date picker.\n *\n * @type {'dropdown' | 'static'}\n * @default 'dropdown'\n */\n @Prop({ reflect: true }) type: 'dropdown' | 'static' = 'dropdown';\n\n /**\n * List of dates to disable.\n *\n * @type {string[]}\n * @default []\n */\n @Prop({ reflect: true }) disable: string[] | null = [];\n /**\n * List of dates to enable.\n *\n * @type {string[]}\n * @default []\n */\n @Prop({ reflect: true }) enable: string[] | null = [];\n /**\n * Default dates selected on initialization.\n *\n * @type {string[]}\n * @default []\n * @example\n * // Example usage\n * defaultDate = [\"2024-08-01\", \"2024-08-30\"];\n * defaultDate = '[\"2024-08-01\", \"2024-08-30\"]'\n */\n @Prop({ reflect: true, mutable: true }) defaultDate: string[] | string = [];\n\n /**\n * Hide today mark.\n *\n * @type {boolean}\n * @default true\n */\n @Prop({ reflect: true }) showToday: boolean = true;\n\n /**\n * Array of dates chosen by the user, can be updated dynamically.\n *\n * @type {Date[]}\n * @default []\n */\n @Prop({ reflect: true }) customDates: Date[] = [];\n\n /**\n * Limits the selectable date range.\n *\n * @type {Date | null}\n * @default null\n */\n @Prop({ reflect: true }) limitRange: number | null = null;\n\n @Prop({ reflect: true, mutable: true }) disablePassDates: boolean;\n\n @Prop({ reflect: true, mutable: true }) disableFutureDates: boolean;\n\n @Prop({ reflect: true, mutable: true }) collapsed: boolean | null = null;\n\n @Prop({ reflect: true, mutable: true }) floating: boolean;\n\n @Prop({ reflect: true, mutable: true }) embedded: boolean;\n\n @Prop({ reflect: true, mutable: true }) selectLabelColorMode: 'dark' | 'light' | string = 'light';\n\n /**\n * Array of currently selected dates.\n *\n * @type {Date[]}\n * @default []\n */\n @State() selectedDates: Date[] = [];\n\n /**\n * The start date of the range selection, if applicable.\n *\n * @type {Date | null}\n * @default null\n */\n @State() rangeStart: Date | null = null;\n\n /**\n * Array of default dates that are initially selected.\n *\n * @type {Date[]}\n * @default []\n */\n @State() defaultDates: Date[] = [];\n\n /**\n * The current month being viewed in the date picker.\n *\n * @type {Date}\n * @default new Date()\n */\n @State() currentDate: Date = new Date();\n /**\n * Selected months on dropdown.\n *\n * @type {string}\n * @default ''\n */\n\n @State() selectMonth: string = '';\n\n /**\n * Selected year on dropdown.\n *\n * @type {string}\n * @default ''\n */\n @State() selectYear: string = '';\n\n /**\n * CSS styles applied to the component.\n *\n * @type {Object}\n * @default {}\n */\n @State() styles = {};\n\n /**\n * Event emitted when a day is changed.\n *\n * @event\n * @type {EventEmitter<{ days: Date[] }>}\n */\n @Event() onchangeday: EventEmitter<{ days: Date[] }>;\n\n theme = window.CuraAPI.theme;\n weights: { [key: string]: string } = this.theme.fonts.getWeights();\n optionsLocale = { 'pt-BR': ptBR, 'en-US': enAU };\n\n connectedCallback() {\n this.setFontProperties();\n this.initializeDefaultDates();\n\n const colors = [\n { name: '--primary-base', theme: 'primary-base' },\n { name: '--primary-lighter', theme: 'primary-lighter' },\n { name: '--primary-light', theme: 'primary-light' },\n { name: '--neutral-black', theme: 'neutral-black' },\n { name: '--primary-darker', theme: 'primary-darker' },\n { name: '--neutral-dark', theme: 'neutral-dark' },\n { name: '--neutral-light', theme: 'neutral-light' },\n { name: '--neutral-white', theme: 'neutral-white' },\n { name: '--select-label', theme: this.selectLabelColorMode === 'dark' ? 'neutral-black' : 'neutral-white' },\n ];\n\n colors.forEach(color => (this.styles = { ...this.styles, [color.name]: this.theme.colors.getColor(color.theme) }));\n }\n\n setFontProperties() {\n this.styles['--font-family'] = window.CuraAPI.theme.fonts.getFamily();\n this.styles['--font-size'] = window.CuraAPI.theme.fonts.getSize();\n this.styles['--font-color'] = window.CuraAPI.theme.fonts.getColor();\n this.styles['--font-weight-medium'] = this.weights.medium;\n this.styles['--font-weight-bold'] = this.weights.bold;\n this.styles['--font-weight-regular'] = this.weights.regular;\n }\n\n /**\n * Initialize the selected dates based on defaultDate and mode.\n */\n @Watch('defaultDate')\n initializeDefaultDates() {\n if (typeof this.defaultDate === 'string') {\n const parsedDefaultDate = JSON.parse(this.defaultDate || '[]');\n\n if (typeof parsedDefaultDate === 'string') {\n this.defaultDate = [parsedDefaultDate];\n } else {\n this.defaultDate = parsedDefaultDate;\n }\n }\n\n this.defaultDates = this.expandDateRanges(this.defaultDate as Array<string>);\n\n if (this.defaultDate[0]) {\n this.currentDate = parse(this.defaultDate[0], this.dateFormat, new Date());\n }\n }\n\n /**\n * Get the locale for the calendar.\n *\n * @returns {Locale} The locale object.\n */\n determineLocale() {\n return this.optionsLocale[this.locale as string] || this.locale;\n }\n\n /**\n * Check if a date is within the valid period.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is valid.\n */\n isDateInValidPeriod(date: Date | null): boolean {\n if (this.period === null) {\n return true;\n }\n return this.period.includes(format(date, this.dateFormat));\n }\n\n /**\n * Check if a date is selected.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is selected.\n */\n isDateSelected(date: Date): boolean {\n return this.isDateInList(this.selectedDates, date);\n }\n\n /**\n * Check if has date in defaultDates.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is selected.\n */\n isDateInDefaultSelection(date: Date): boolean {\n return this.isDateInList(this.defaultDates, date);\n }\n\n /**\n * Check if a date is within a disabled period.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is disabled.\n */\n isDateInDisabledPeriod(date: Date | null): boolean {\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n if (this.disablePassDates) return isBefore(date, today);\n if (this.disableFutureDates) return isAfter(date, today);\n if (this.disable === null) return false;\n return this.isDateInList(this.expandDateRanges(this.disable), date);\n }\n\n /**\n * Check if a date is within an enabled period.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is enabled.\n */\n isDateInEnabledPeriod(date: Date | null): boolean {\n if (this.enable === null || []) return true;\n return this.isDateInList(this.expandDateRanges(this.enable), date);\n }\n\n /**\n * Checks if a date is in the provided list of dates.\n *\n * @param {Date[]} dates - The list of dates to check against.\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is in the list.\n */\n isDateInList(dates: Date[], date: Date): boolean {\n return dates.some(d => isSameDay(d, date));\n }\n\n /**\n * Removes a specific date from a list of dates.\n *\n * @param {Date[]} dates - The array of dates to filter.\n * @param {Date} dateToRemove - The date to remove from the array.\n * @returns {Date[]} A new array with the specified date removed.\n */\n removeDateFromSelection(dates: Date[], dateToRemove: Date): Date[] {\n return dates.filter(d => !isSameDay(d, dateToRemove));\n }\n\n /**\n * Change the current month.\n *\n * @param {string} direction - 'prev' | 'next'\n */\n updateCurrentMonth(direction: 'prev' | 'next') {\n let newMonth = this.currentDate;\n\n if (direction === 'prev') newMonth = subMonths(this.currentDate, 1);\n if (direction === 'next') newMonth = addMonths(this.currentDate, 1);\n\n this.currentDate = newMonth;\n }\n\n /**\n * Handle the month dropdown change.\n *\n * @param {CustomEvent} event - The change event.\n */\n onMonthDropdownChange(event: CustomEvent) {\n const { months } = this.fetchMonthNames();\n const newMonth = event.detail;\n\n this.selectMonth = newMonth;\n this.currentDate = new Date(getYear(this.currentDate), months.indexOf(newMonth), 1);\n }\n\n /**\n * Handle the year input change.\n *\n * @param {CustomEvent} event - The change event.\n */\n onYearDropdownChange(event: CustomEvent) {\n const newYear = event.detail;\n\n this.selectYear = newYear;\n this.currentDate = new Date(newYear, getMonth(this.currentDate), 1);\n }\n\n /**\n * Flatten date ranges into individual dates.\n *\n * @param {({ from: string; to: string } | string)[]} dates - An array of date ranges or individual dates.\n * @returns {Date[]} An array of individual dates.\n */\n expandDateRanges(dates: ({ from: string; to: string } | string)[]): Date[] {\n if (!dates) return [];\n return dates.flatMap(date => {\n if (typeof date === 'string') return isValid(parseISO(date)) ? [parseISO(date)] : [];\n\n const start = parseISO(date.from);\n const end = parseISO(date.to);\n\n if (isValid(start) && isValid(end) && start <= end) return eachDayOfInterval({ start, end });\n return [];\n });\n }\n\n /**\n * Handle single date selection.\n *\n * @param {Date} date - The date to select.\n */\n\n selectSingleDate(date: Date) {\n this.defaultDate = [];\n this.selectedDates = [date];\n }\n\n /**\n * Handle multiple date selection.\n *\n * @param {Date} date - The date to select or deselect.\n */\n selectMultiplesDate(date: Date) {\n if (!this.isDateSelected(date) || !this.isDateInDefaultSelection(date)) return (this.selectedDates = [...this.selectedDates, date]);\n\n this.selectedDates = this.removeDateFromSelection(this.selectedDates, date);\n this.defaultDates = this.removeDateFromSelection(this.defaultDates, date);\n }\n\n /**\n * Handle range date selection.\n *\n * @param {Date} date - The date to select.\n */\n selectDateRange(date: Date) {\n this.defaultDates = [];\n\n const start = isBefore(this.rangeStart, date) ? this.rangeStart : date;\n const end = isAfter(this.rangeStart, date) ? this.rangeStart : date;\n const range = eachDayOfInterval({ start, end });\n\n if (!this.rangeStart || this.selectedDates.length === 2) {\n this.rangeStart = date;\n this.selectedDates = [date];\n return;\n }\n\n if (this.limitRange === null || range.length <= this.limitRange) {\n this.selectedDates = range;\n this.rangeStart = null;\n }\n }\n\n /**\n * Handle a click on a date.\n *\n * @param {Date} date - The date that was clicked.\n */\n onDateClick(date: Date) {\n if (!this.isDateInValidPeriod(date) || this.isDateInDisabledPeriod(date) || !this.isDateInEnabledPeriod(date)) return;\n\n const selectionHandlers = {\n single: this.selectSingleDate.bind(this),\n multiple: this.selectMultiplesDate.bind(this),\n range: this.selectDateRange.bind(this),\n };\n\n selectionHandlers[this.mode](date);\n this.onchangeday.emit({ days: [...this.defaultDates, ...this.selectedDates].filter(d => this.isDateInValidPeriod(d)) });\n }\n\n /**\n * Get the days of the week.\n *\n * @returns {string[]} An array of abbreviated day names.\n */\n fetchWeekDays(): string[] {\n const start = startOfWeek(new Date(2021, 0, 3), { locale: this.determineLocale() });\n const end = endOfWeek(new Date(2021, 0, 3), { locale: this.determineLocale() });\n\n return eachDayOfInterval({ start, end }).map(day => format(day, 'EEEEEE', { locale: this.determineLocale() }));\n }\n\n /**\n * Get the days of the current month, including leading nulls for alignment.\n *\n * @returns {(Date | null)[]} An array of dates and nulls for the current month view.\n */\n showNotColapsedCalendar() {\n if (this.collapsed) {\n this.fetchDaysOfWeek();\n } else this.fetchDaysOfMonth();\n this.collapsed = false;\n }\n\n showColapsedCalendar() {\n this.collapsed = true;\n return this.fetchDaysOfWeek();\n }\n\n fetchDaysOfWeek(): Date[] {\n const DAYS_IN_CALENDAR_VIEW = 7;\n const start = startOfWeek(this.currentDate);\n const end = endOfWeek(this.currentDate);\n\n const daysIncurrentDate = eachDayOfInterval({ start, end });\n\n return daysIncurrentDate.slice(0, DAYS_IN_CALENDAR_VIEW);\n }\n\n updateCurrentWeek(direction: 'prev' | 'next') {\n let newWeek = this.currentDate;\n\n if (direction === 'prev') newWeek = subWeeks(this.currentDate, 1);\n if (direction === 'next') newWeek = addWeeks(this.currentDate, 1);\n\n this.currentDate = newWeek;\n }\n\n fetchDaysOfMonth(): Date[] {\n const DAYS_IN_CALENDAR_VIEW = 35;\n\n const start = startOfMonth(this.currentDate);\n const end = endOfMonth(this.currentDate);\n\n const daysIncurrentDate = eachDayOfInterval({ start, end });\n\n const startWeekDay = getDay(start);\n const prevMonthEnd = endOfMonth(subMonths(start, 1));\n\n const daysInPrevMonth =\n startWeekDay > 0\n ? eachDayOfInterval({\n start: subDays(prevMonthEnd, startWeekDay - 1),\n end: prevMonthEnd,\n })\n : [];\n\n const totalDays = [...daysInPrevMonth, ...daysIncurrentDate];\n\n if (totalDays.length >= DAYS_IN_CALENDAR_VIEW) {\n return totalDays.slice(0, DAYS_IN_CALENDAR_VIEW);\n }\n\n const remainingDays = DAYS_IN_CALENDAR_VIEW - totalDays.length;\n const nextMonthStart = startOfMonth(addMonths(end, 1));\n const daysInNextMonth = eachDayOfInterval({\n start: nextMonthStart,\n end: addDays(nextMonthStart, remainingDays - 1),\n });\n\n return [...totalDays, ...daysInNextMonth];\n }\n\n /**\n * Get the names of all months in the current year.\n *\n * @returns {{ months: string[], currentMonth: string }} An object containing an array of month names and the name of the current month.\n */\n fetchMonthNames(): { months: string[] } {\n const currentYear = getYear(this.currentDate);\n const locale = this.determineLocale();\n\n const months = eachMonthOfInterval({\n start: startOfYear(new Date(currentYear, 0, 1)),\n end: new Date(currentYear, 11, 31),\n }).map(month => format(month, 'MMMM', { locale }));\n\n const capitalize = (str: string) => str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\n\n return {\n months: months.map(capitalize),\n };\n }\n\n /**\n * Get a list of years in descending order from the current year to a specified limit.\n *\n * @returns {number[]} An array of years.\n */\n fetchYearList(): number[] {\n const currentYear = getYear(new Date());\n return Array.from({ length: 100 }, (_, i) => currentYear - i);\n }\n\n /**\n * Get the color for the previous button.\n *\n * @returns {string} The color name for the previous button.\n */\n determinePrevButtonColor(): string {\n const isPrevDisabled = isBefore(new Date(getYear(this.currentDate), getMonth(this.currentDate) - 1, 1), startOfMonth(new Date()));\n return isPrevDisabled && 'primary-base';\n }\n\n /**\n * Get the status of a given date, determining its position and interval status.\n *\n * @param {Date | null} date - The date to evaluate.\n * @returns {Object} An object containing the status flags for the date.\n */\n getDateStatus(date: Date) {\n const [startSelected, endSelected] = [this.selectedDates[0], this.selectedDates[this.selectedDates.length - 1]];\n const [startDefault, endDefault] = [this.defaultDates[0], this.defaultDates[this.defaultDates.length - 1]];\n\n const hasSelectedDates = this.selectedDates.length > 1;\n const isDateInDefaultSelection = this.defaultDates.length > 1;\n\n const isStartSelected = this.isDateSelected(date) && isSameDay(date, startSelected);\n const isStartDefault = this.isDateInDefaultSelection(date) && isSameDay(date, startDefault);\n const isEndSelected = this.isDateSelected(date) && isSameDay(date, endSelected);\n const isEndDefault = this.isDateInDefaultSelection(date) && isSameDay(date, endDefault);\n\n const isStart = isStartSelected || isStartDefault;\n const isEnd = isEndSelected || isEndDefault;\n\n const selectedIntervals = this.expandDateRanges([{ from: startSelected?.toISOString(), to: endSelected?.toISOString() }]);\n const defaultIntervals = this.expandDateRanges([{ from: startDefault?.toISOString(), to: endDefault?.toISOString() }]);\n\n const intervalSelected = hasSelectedDates && this.isDateInList(selectedIntervals, date);\n const intervalDefault = isDateInDefaultSelection && this.isDateInList(defaultIntervals, date);\n\n const isValid = this.isDateInValidPeriod(date);\n const isInvalid = !isValid || this.isDateInDisabledPeriod(date) || !this.isDateInEnabledPeriod(date);\n const isSelected = this.isDateSelected(date);\n const isRange = this.mode === 'range' && (hasSelectedDates || isDateInDefaultSelection);\n const isDefault = this.mode !== 'range' && this.isDateInDefaultSelection(date);\n const isInterval = (intervalSelected || intervalDefault) && !isStart && !isEnd;\n\n return {\n isStart,\n isEnd,\n isValid,\n isInvalid,\n isSelected,\n isRange,\n isDefault,\n isInterval,\n };\n }\n\n /**\n * Get the CSS classes for a given date based on its status.\n *\n * @param {Date | null} date - The date to evaluate.\n * @returns {Object} An object containing the CSS classes for the date.\n */\n getClasses(date: Date) {\n const classes = { date: true };\n if (date === null) return classes;\n\n const dateStatus = this.getDateStatus(date);\n\n classes['today'] = this.showToday === true ? isToday(date) : false;\n classes['valid'] = dateStatus.isValid;\n classes['invalid'] = dateStatus.isInvalid;\n classes['selected'] = dateStatus.isSelected;\n classes['range'] = dateStatus.isRange;\n classes['default-dates'] = dateStatus.isDefault;\n classes['start'] = dateStatus.isStart;\n classes['interval'] = dateStatus.isInterval;\n classes['end'] = dateStatus.isEnd;\n\n return classes;\n }\n\n /**\n * Get custom CSS properties for the host element.\n *\n * @returns {Object} An object containing CSS properties and their values.\n */\n getHostCSSProperties() {\n return {\n '--width': this.width,\n '--min-width': this.minWidth,\n '--max-width': this.maxWidth,\n };\n }\n\n @Watch('customDates')\n watchDefaultDatesArray() {\n this.selectedDates = this.customDates;\n }\n\n @Watch('defaultDate')\n handleDefaultDateChange(newValue: string[]) {\n this.selectedDates = [];\n\n if (typeof newValue === 'string') {\n const parsedDefaultDate = JSON.parse(newValue || '[]');\n\n if (typeof parsedDefaultDate === 'string') {\n newValue = [parsedDefaultDate];\n } else {\n newValue = parsedDefaultDate;\n }\n }\n\n this.defaultDates = this.expandDateRanges(newValue as Array<string>);\n }\n render() {\n const { months } = this.fetchMonthNames();\n\n return (\n <Host style={this.getHostCSSProperties()}>\n <div class={`calendar ${this.floating ? 'floating' : ''} ${this.embedded ? 'embedded' : ''}`} style={this.styles}>\n <header class=\"header\">\n <div class={`month-year ${this.type === 'dropdown' && 'dropdown'}`}>\n <cura-icon\n class={`icon ${this.type === 'dropdown' && 'dropdown'}`}\n name=\"left\"\n color={this.determinePrevButtonColor()}\n onClick={!this.collapsed ? () => this.updateCurrentMonth('prev') : () => this.updateCurrentWeek('prev')}\n ></cura-icon>\n {this.type === 'dropdown' ? (\n <div class=\"select\">\n <cura-select size=\"small\" class=\"drop-month\" mode=\"transparent\" value={months[getMonth(this.currentDate)]} onSelected={e => this.onMonthDropdownChange(e)}>\n {months.map((month, index) => (\n <cura-select-option size=\"xsmall\" key={index} value={month}>\n {month}\n </cura-select-option>\n ))}\n </cura-select>\n <cura-select size=\"small\" class=\"drop-year\" mode=\"transparent\" value={getYear(this.currentDate).toString()} onSelected={e => this.onYearDropdownChange(e)}>\n {this.fetchYearList().map((year, index) => (\n <cura-select-option key={index} value={year.toString()}>\n {year.toString()}\n </cura-select-option>\n ))}\n </cura-select>\n </div>\n ) : (\n <cura-label color=\"neutral-black\" size=\"large\">\n {months[getMonth(this.currentDate)].slice(0, 3)}, {getYear(this.currentDate)}\n </cura-label>\n )}\n <cura-icon\n class={`icon ${this.type === 'dropdown' && 'dropdown'}`}\n name=\"right\"\n color=\"primary-base\"\n onClick={!this.collapsed ? () => this.updateCurrentMonth('next') : () => this.updateCurrentWeek('next')}\n ></cura-icon>\n </div>\n </header>\n\n <span class=\"days-of-week\">\n {this.fetchWeekDays().map((day, index) => (\n <cura-label class=\"day\" size=\"xsmall\" color=\"neutral-black\" weight=\"bold\" key={index}>\n {day === 'sab' ? 'SÁB' : day.toLocaleUpperCase()}\n </cura-label>\n ))}\n </span>\n\n <div class=\"dates\">\n {!this.collapsed\n ? this.fetchDaysOfMonth().map((day, index) => (\n <div key={index} class={this.getClasses(day)} onClick={() => this.onDateClick(day)}>\n {day ? format(day, 'd') : ''}\n </div>\n ))\n : this.fetchDaysOfWeek().map((day, index) => (\n <div key={index} class={this.getClasses(day)} onClick={() => this.onDateClick(day)}>\n {day ? format(day, 'd') : ''}\n </div>\n ))}\n </div>\n {this.collapsed !== null ? (\n this.collapsed ? (\n <div class=\"collapsed-container\">\n <cura-button-transparent onClick={() => this.showNotColapsedCalendar()} size=\"small\" color=\"primary\" fontColor=\"dark\" iconName=\"plusCircle\">\n Veja mais datas\n </cura-button-transparent>\n </div>\n ) : (\n <div class=\"collapsed-container\">\n <cura-button-transparent onClick={() => this.showColapsedCalendar()} size=\"small\" color=\"primary\" fontColor=\"dark\" iconName=\"minusCircle\">\n Veja menos datas\n </cura-button-transparent>\n </div>\n )\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
- const renderCuraCalendar = args => `
1
+ const renderCuraCalendar = (args) => {
2
+ return `
2
3
  <cura-calendar
3
4
  ${args.period && `period="${args.period}"`}
4
5
  ${args.width && `width="${args.width}"`}
@@ -11,7 +12,7 @@ const renderCuraCalendar = args => `
11
12
  ${`enable="${args.enable.length > 0 ? args.enable : '[]'}"`}
12
13
  ${`disable="${args.disable.length > 0 ? args.disable : '[]'}"`}
13
14
  ${`default-date='${args.defaultDate.length > 0 ? JSON.stringify(args.defaultDate) : '[]'}'`}
14
-
15
+ ${args.showToday === false && `show-today="${args.showToday}"`}
15
16
  ${args.disablePassDates && `disable-pass-dates="${args.disablePassDates}"`}
16
17
  ${args.disableFutureDates && `disable-future-dates="${args.disableFutureDates}"`}
17
18
  ${args.collapsed && `collapsed="${args.collapsed}"`}
@@ -20,14 +21,17 @@ const renderCuraCalendar = args => `
20
21
  ${args.limitRange !== null ? `limit-range="${args.limitRange}"` : ''}
21
22
  ${args.selectLabelColorMode && `select-label-color-mode="${args.selectLabelColorMode}"`}
22
23
  ></cura-calendar>
23
- `;
24
+ `;
25
+ };
24
26
  export default {
25
27
  title: 'Componentes/Calendar/Calendar',
26
28
  tags: ['autodocs'],
27
- parameters: {
28
- layout: 'centered',
29
+ /* parameters: {
30
+ layout: 'centered',
31
+ }, */
32
+ render: (args) => {
33
+ return renderCuraCalendar(args);
29
34
  },
30
- render: args => renderCuraCalendar(args),
31
35
  argTypes: {
32
36
  period: {
33
37
  control: 'array',
@@ -128,6 +132,14 @@ export default {
128
132
  defaultValue: { summary: 'null' },
129
133
  },
130
134
  },
135
+ showToday: {
136
+ control: 'boolean',
137
+ description: 'Define se exibe a marcação na data HOJE.',
138
+ table: {
139
+ category: 'Properties',
140
+ defaultValue: { summary: true },
141
+ },
142
+ },
131
143
  disablePassDates: {
132
144
  control: 'boolean',
133
145
  description: 'Define se as datas anteriores a data atual serão consideras como desabilitadas',
@@ -203,6 +215,7 @@ export const Calendar = {
203
215
  minWidth: '268px',
204
216
  mode: 'single',
205
217
  type: 'static',
218
+ showToday: true,
206
219
  locale: 'pt-BR',
207
220
  dateFormat: 'yyyy-MM-dd',
208
221
  defaultDate: ['2024-08-15'],
@@ -1 +1 @@
1
- {"version":3,"file":"cura-calendar.stories.js","sourceRoot":"","sources":["../../../src/components/cura-calendar/cura-calendar.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["const renderCuraCalendar = args => `\n <cura-calendar\n ${args.period && `period=\"${args.period}\"`}\n ${args.width && `width=\"${args.width}\"`}\n ${args.maxWidth && `max-width=\"${args.maxWidth}\"`}\n ${args.minWidth && `min-width=\"${args.minWidth}\"`}\n ${args.mode && `mode=\"${args.mode}\"`}\n ${args.type && `type=\"${args.type}\"`}\n ${args.dateFormat && `date-format=\"${args.dateFormat}\"`}\n ${args.locale && `locale=\"${args.locale}\"`}\n ${`enable=\"${args.enable.length > 0 ? args.enable : '[]'}\"`}\n ${`disable=\"${args.disable.length > 0 ? args.disable : '[]'}\"`}\n ${`default-date='${args.defaultDate.length > 0 ? JSON.stringify(args.defaultDate) : '[]'}'`}\n\n ${args.disablePassDates && `disable-pass-dates=\"${args.disablePassDates}\"`}\n ${args.disableFutureDates && `disable-future-dates=\"${args.disableFutureDates}\"`}\n ${args.collapsed && `collapsed=\"${args.collapsed}\"`}\n ${args.floating && `floating=\"${args.floating}\"`}\n ${args.embedded && `embedded=\"${args.embedded}\"`}\n ${args.limitRange !== null ? `limit-range=\"${args.limitRange}\"` : ''}\n ${args.selectLabelColorMode && `select-label-color-mode=\"${args.selectLabelColorMode}\"`}\n ></cura-calendar>\n`;\n\nexport default {\n title: 'Componentes/Calendar/Calendar',\n tags: ['autodocs'],\n parameters: {\n layout: 'centered',\n },\n render: args => renderCuraCalendar(args),\n argTypes: {\n period: {\n control: 'array',\n description: 'Define os períodos disponíveis para o calendário. Quando não informado, considera todas as datas como habilitadas',\n table: {\n category: 'Properties',\n defaultValue: { summary: null },\n },\n },\n width: {\n control: 'text',\n description: 'Define a largura do calendário. <b>Largura minima \"268px\"</b>.',\n table: {\n category: 'Properties',\n defaultValue: { summary: '268px' },\n },\n },\n maxWidth: {\n control: 'text',\n description: 'Define a largura máxima do calendário. <b>Largura máxima \"400px\"</b>.',\n table: {\n category: 'Properties',\n defaultValue: { summary: '400px' },\n },\n },\n minWidth: {\n control: 'text',\n description: 'Define a largura mínima do calendário. <b>Largura mínima \"268px\"</b>.',\n table: {\n category: 'Properties',\n defaultValue: { summary: '268px' },\n },\n },\n mode: {\n control: 'inline-radio',\n options: ['single', 'multiple', 'range'],\n description: 'Define o modo de seleção de datas.',\n table: {\n category: 'Properties',\n defaultValue: { summary: 'single' },\n },\n },\n type: {\n control: 'inline-radio',\n options: ['static', 'dropdown'],\n description: 'Define o tipo de visualização (mês/ano) do calendário.',\n table: {\n category: 'Properties',\n defaultValue: { summary: 'static' },\n },\n },\n dateFormat: {\n control: 'text',\n description: 'Define o formato das datas exibidas.',\n table: {\n category: 'Properties',\n defaultValue: { summary: 'yyyy-MM-dd' },\n },\n },\n locale: {\n control: 'inline-radio',\n options: ['pt-BR', 'en-US'],\n description: 'Define o idioma/localização do calendário.',\n table: {\n category: 'Properties',\n defaultValue: { summary: 'pt-BR' },\n },\n },\n defaultDate: {\n control: 'array',\n description: 'Define as datas que serão pré-selecionadas no calendário.',\n table: {\n category: 'Properties',\n defaultValue: { summary: '[]' },\n },\n },\n enable: {\n control: 'array',\n description: 'Define as datas que são habilitadas para seleção.',\n table: {\n category: 'Properties',\n defaultValue: { summary: '[]' },\n },\n },\n disable: {\n control: 'array',\n description: 'Define as datas que são desabilitadas para seleção.',\n table: {\n category: 'Properties',\n defaultValue: { summary: '[]' },\n },\n },\n limitRange: {\n control: 'number',\n description: 'Define o limite de datas selecionáveis no modo de seleção range.',\n table: {\n category: 'Properties',\n defaultValue: { summary: 'null' },\n },\n },\n disablePassDates: {\n control: 'boolean',\n description: 'Define se as datas anteriores a data atual serão consideras como desabilitadas',\n table: {\n category: 'Properties',\n defaultValue: { summary: false },\n },\n },\n disableFutureDates: {\n control: 'boolean',\n description: 'Define se as datas futuras a data atual serão consideras como desabilitadas',\n table: {\n category: 'Properties',\n defaultValue: { summary: false },\n },\n },\n collapsed: {\n control: 'boolean',\n description: 'Define se a exibição do calendário será com recolhida ou expandida ',\n table: {\n category: 'Properties',\n defaultValue: { summary: null },\n },\n },\n floating: {\n control: 'boolean',\n description: 'Define se o componente é flutuante e aplica o sombreamento.',\n table: {\n category: 'Properties',\n defaultValue: { summary: true },\n },\n },\n embedded: {\n control: 'boolean',\n description: 'Define se o componente tenha borda, padding e sombra (box) ou não.',\n table: {\n category: 'Properties',\n defaultValue: { summary: true },\n },\n },\n selectLabelColorMode: {\n control: { type: 'inline-radio' },\n options: ['light', 'dark'],\n description: 'Define a cor do label do dia selecionado (light ou dark).',\n table: {\n category: 'Properties',\n defaultValue: { summary: 'light' },\n },\n },\n },\n};\n\nexport const Calendar = {\n args: {\n period: [\n '2024-08-01',\n '2024-08-30',\n '2024-08-02',\n '2024-08-03',\n '2024-08-04',\n '2024-08-29',\n '2024-08-15',\n '2024-08-02',\n '2024-08-30',\n '2024-09-01',\n '2024-09-29',\n '2024-10-15',\n '2024-09-02',\n '2024-09-30',\n '2024-10-01',\n ],\n width: '280px',\n maxWidth: '400px',\n minWidth: '268px',\n mode: 'single',\n type: 'static',\n locale: 'pt-BR',\n dateFormat: 'yyyy-MM-dd',\n defaultDate: ['2024-08-15'],\n enable: [],\n disable: [],\n limitRange: null,\n disablePassDates: false,\n disableFutureDates: false,\n collapsed: null,\n floating: true,\n embedded: true,\n selectLabelColorMode: 'light',\n },\n};\n"]}
1
+ {"version":3,"file":"cura-calendar.stories.js","sourceRoot":"","sources":["../../../src/components/cura-calendar/cura-calendar.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["const renderCuraCalendar = (args) => {\n return `\n <cura-calendar\n ${args.period && `period=\"${args.period}\"`}\n ${args.width && `width=\"${args.width}\"`}\n ${args.maxWidth && `max-width=\"${args.maxWidth}\"`}\n ${args.minWidth && `min-width=\"${args.minWidth}\"`}\n ${args.mode && `mode=\"${args.mode}\"`}\n ${args.type && `type=\"${args.type}\"`}\n ${args.dateFormat && `date-format=\"${args.dateFormat}\"`}\n ${args.locale && `locale=\"${args.locale}\"`}\n ${`enable=\"${args.enable.length > 0 ? args.enable : '[]'}\"`}\n ${`disable=\"${args.disable.length > 0 ? args.disable : '[]'}\"`}\n ${`default-date='${args.defaultDate.length > 0 ? JSON.stringify(args.defaultDate) : '[]'}'`}\n ${args.showToday === false && `show-today=\"${args.showToday}\"`}\n ${args.disablePassDates && `disable-pass-dates=\"${args.disablePassDates}\"`}\n ${args.disableFutureDates && `disable-future-dates=\"${args.disableFutureDates}\"`}\n ${args.collapsed && `collapsed=\"${args.collapsed}\"`}\n ${args.floating && `floating=\"${args.floating}\"`}\n ${args.embedded && `embedded=\"${args.embedded}\"`}\n ${args.limitRange !== null ? `limit-range=\"${args.limitRange}\"` : ''}\n ${args.selectLabelColorMode && `select-label-color-mode=\"${args.selectLabelColorMode}\"`}\n ></cura-calendar>\n `;\n};\n\nexport default {\n title: 'Componentes/Calendar/Calendar',\n tags: ['autodocs'],\n /* parameters: {\n layout: 'centered',\n }, */\n render: (args) => {\n return renderCuraCalendar(args);\n },\n argTypes: {\n period: {\n control: 'array',\n description: 'Define os períodos disponíveis para o calendário. Quando não informado, considera todas as datas como habilitadas',\n table: {\n category: 'Properties',\n defaultValue: { summary: null },\n },\n },\n width: {\n control: 'text',\n description: 'Define a largura do calendário. <b>Largura minima \"268px\"</b>.',\n table: {\n category: 'Properties',\n defaultValue: { summary: '268px' },\n },\n },\n maxWidth: {\n control: 'text',\n description: 'Define a largura máxima do calendário. <b>Largura máxima \"400px\"</b>.',\n table: {\n category: 'Properties',\n defaultValue: { summary: '400px' },\n },\n },\n minWidth: {\n control: 'text',\n description: 'Define a largura mínima do calendário. <b>Largura mínima \"268px\"</b>.',\n table: {\n category: 'Properties',\n defaultValue: { summary: '268px' },\n },\n },\n mode: {\n control: 'inline-radio',\n options: ['single', 'multiple', 'range'],\n description: 'Define o modo de seleção de datas.',\n table: {\n category: 'Properties',\n defaultValue: { summary: 'single' },\n },\n },\n type: {\n control: 'inline-radio',\n options: ['static', 'dropdown'],\n description: 'Define o tipo de visualização (mês/ano) do calendário.',\n table: {\n category: 'Properties',\n defaultValue: { summary: 'static' },\n },\n },\n dateFormat: {\n control: 'text',\n description: 'Define o formato das datas exibidas.',\n table: {\n category: 'Properties',\n defaultValue: { summary: 'yyyy-MM-dd' },\n },\n },\n locale: {\n control: 'inline-radio',\n options: ['pt-BR', 'en-US'],\n description: 'Define o idioma/localização do calendário.',\n table: {\n category: 'Properties',\n defaultValue: { summary: 'pt-BR' },\n },\n },\n defaultDate: {\n control: 'array',\n description: 'Define as datas que serão pré-selecionadas no calendário.',\n table: {\n category: 'Properties',\n defaultValue: { summary: '[]' },\n },\n },\n enable: {\n control: 'array',\n description: 'Define as datas que são habilitadas para seleção.',\n table: {\n category: 'Properties',\n defaultValue: { summary: '[]' },\n },\n },\n disable: {\n control: 'array',\n description: 'Define as datas que são desabilitadas para seleção.',\n table: {\n category: 'Properties',\n defaultValue: { summary: '[]' },\n },\n },\n limitRange: {\n control: 'number',\n description: 'Define o limite de datas selecionáveis no modo de seleção range.',\n table: {\n category: 'Properties',\n defaultValue: { summary: 'null' },\n },\n },\n showToday: {\n control: 'boolean',\n description: 'Define se exibe a marcação na data HOJE.',\n table: {\n category: 'Properties',\n defaultValue: { summary: true },\n },\n },\n disablePassDates: {\n control: 'boolean',\n description: 'Define se as datas anteriores a data atual serão consideras como desabilitadas',\n table: {\n category: 'Properties',\n defaultValue: { summary: false },\n },\n },\n disableFutureDates: {\n control: 'boolean',\n description: 'Define se as datas futuras a data atual serão consideras como desabilitadas',\n table: {\n category: 'Properties',\n defaultValue: { summary: false },\n },\n },\n collapsed: {\n control: 'boolean',\n description: 'Define se a exibição do calendário será com recolhida ou expandida ',\n table: {\n category: 'Properties',\n defaultValue: { summary: null },\n },\n },\n floating: {\n control: 'boolean',\n description: 'Define se o componente é flutuante e aplica o sombreamento.',\n table: {\n category: 'Properties',\n defaultValue: { summary: true },\n },\n },\n embedded: {\n control: 'boolean',\n description: 'Define se o componente tenha borda, padding e sombra (box) ou não.',\n table: {\n category: 'Properties',\n defaultValue: { summary: true },\n },\n },\n selectLabelColorMode: {\n control: { type: 'inline-radio' },\n options: ['light', 'dark'],\n description: 'Define a cor do label do dia selecionado (light ou dark).',\n table: {\n category: 'Properties',\n defaultValue: { summary: 'light' },\n },\n },\n },\n};\n\nexport const Calendar = {\n args: {\n period: [\n '2024-08-01',\n '2024-08-30',\n '2024-08-02',\n '2024-08-03',\n '2024-08-04',\n '2024-08-29',\n '2024-08-15',\n '2024-08-02',\n '2024-08-30',\n '2024-09-01',\n '2024-09-29',\n '2024-10-15',\n '2024-09-02',\n '2024-09-30',\n '2024-10-01',\n ],\n width: '280px',\n maxWidth: '400px',\n minWidth: '268px',\n mode: 'single',\n type: 'static',\n showToday: true,\n locale: 'pt-BR',\n dateFormat: 'yyyy-MM-dd',\n defaultDate: ['2024-08-15'],\n enable: [],\n disable: [],\n limitRange: null,\n disablePassDates: false,\n disableFutureDates: false,\n collapsed: null,\n floating: true,\n embedded: true,\n selectLabelColorMode: 'light',\n },\n};\n"]}
@@ -10,29 +10,23 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  }
11
11
  return t;
12
12
  };
13
- export default {
13
+ const meta = {
14
14
  title: 'Componentes/Card/Card',
15
15
  tags: ['autodocs'],
16
16
  render: (_a) => {
17
17
  var { slot } = _a, args = __rest(_a, ["slot"]);
18
18
  return `<cura-card ${args.hasPadding === true
19
- ? `
20
- has-padding=${true}`
19
+ ? `has-padding=${true}`
21
20
  : `has-padding=${false}`}${args.hasShadow
22
- ? `
23
- has-shadow="${args.hasShadow}"`
21
+ ? ` has-shadow="${args.hasShadow}"`
24
22
  : ''}${args.type
25
- ? `
26
- type="${args.type}"`
23
+ ? ` type="${args.type}"`
27
24
  : ''}${args.colorMode
28
- ? `
29
- color-mode="${args.colorMode}"`
25
+ ? ` color-mode="${args.colorMode}"`
30
26
  : ''}${args.href
31
- ? `
32
- href="${args.href}"`
27
+ ? ` href="${args.href}"`
33
28
  : ''}${args.target
34
- ? `
35
- target="${args.target}"`
29
+ ? ` target="${args.target}"`
36
30
  : ''}
37
31
  >
38
32
  ${slot}
@@ -46,7 +40,8 @@ export default {
46
40
  table: {
47
41
  category: 'Properties',
48
42
  defaultValue: { summary: 'true' },
49
- },
43
+ type: { summary: 'boolean' }
44
+ }
50
45
  },
51
46
  hasShadow: {
52
47
  name: 'has-shadow',
@@ -55,7 +50,8 @@ export default {
55
50
  table: {
56
51
  category: 'Properties',
57
52
  defaultValue: { summary: 'false' },
58
- },
53
+ type: { summary: 'boolean' }
54
+ }
59
55
  },
60
56
  type: {
61
57
  control: { type: 'inline-radio' },
@@ -64,7 +60,8 @@ export default {
64
60
  table: {
65
61
  category: 'Properties',
66
62
  defaultValue: { summary: 'solid' },
67
- },
63
+ type: { summary: '"solid" | "transparent"' }
64
+ }
68
65
  },
69
66
  href: {
70
67
  control: 'text',
@@ -72,7 +69,8 @@ export default {
72
69
  name: 'href',
73
70
  table: {
74
71
  category: 'Properties Card Link',
75
- },
72
+ type: { summary: 'string' }
73
+ }
76
74
  },
77
75
  target: {
78
76
  control: 'text',
@@ -81,17 +79,19 @@ export default {
81
79
  table: {
82
80
  category: 'Properties Card Link',
83
81
  defaultValue: { summary: '_self' },
84
- },
82
+ type: { summary: 'string' }
83
+ }
85
84
  },
86
85
  colorMode: {
87
86
  control: { type: 'inline-radio' },
88
87
  options: ['light', 'dark'],
89
- description: 'Se houver um href definido, muda a cord de fundo do card (light ou dark).',
88
+ description: 'Se houver um href definido, muda a cor de fundo do card (light ou dark).',
90
89
  table: {
91
90
  category: 'Properties Card Link',
92
91
  defaultValue: { summary: 'light' },
92
+ type: { summary: '"light" | "dark"' }
93
93
  },
94
- name: 'color-mode',
94
+ name: 'color-mode'
95
95
  },
96
96
  slot: {
97
97
  name: 'content',
@@ -99,11 +99,20 @@ export default {
99
99
  description: 'Conteúdo a ser exibido dentro do card. Aceita tags HTML.',
100
100
  table: {
101
101
  category: 'Slot',
102
- },
103
- },
102
+ type: { summary: 'HTML' }
103
+ }
104
+ }
104
105
  },
106
+ parameters: {
107
+ docs: {
108
+ description: {
109
+ component: 'O componente Card é utilizado para agrupar conteúdo relacionado em um container visual.'
110
+ }
111
+ }
112
+ }
105
113
  };
106
- export const CuraCard = {
114
+ export default meta;
115
+ export const Default = {
107
116
  args: {
108
117
  hasPadding: true,
109
118
  hasShadow: true,
@@ -121,7 +130,29 @@ export const CuraCard = {
121
130
  height: 30px;
122
131
  color: #9b51e0;">
123
132
  contentArea
124
- </div>`,
125
- },
133
+ </div>`
134
+ }
135
+ };
136
+ export const WithLink = {
137
+ args: Object.assign(Object.assign({}, Default.args), { href: 'https://example.com', target: '_blank', slot: `<div
138
+ style="display:flex;
139
+ justify-content: center;
140
+ align-items: center;
141
+ align-self: stretch;
142
+ text-align: center;
143
+ height: 30px;">
144
+ Card com Link
145
+ </div>` })
146
+ };
147
+ export const Transparent = {
148
+ args: Object.assign(Object.assign({}, Default.args), { type: 'transparent', hasShadow: false, slot: `<div
149
+ style="display:flex;
150
+ justify-content: center;
151
+ align-items: center;
152
+ align-self: stretch;
153
+ text-align: center;
154
+ height: 30px;">
155
+ Card Transparente
156
+ </div>` })
126
157
  };
127
158
  //# sourceMappingURL=cura-card.stories.js.map