@rededor/cura 1.6.1-alpha.8 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/dist/assets/assets/icons/iconset-default-list.ts +1 -1
  2. package/dist/assets/assets/icons/iconset-default-tmp.svg +4 -0
  3. package/dist/assets/assets/icons/iconset-default.svg +1 -1
  4. package/dist/cjs/{app-globals-28c6f5c4.js → app-globals-6d5b51b6.js} +2 -2
  5. package/dist/cjs/{app-globals-28c6f5c4.js.map → app-globals-6d5b51b6.js.map} +1 -1
  6. package/dist/cjs/{cura-accordion_18.cjs.entry.js → cura-accordion_20.cjs.entry.js} +148 -8
  7. package/dist/cjs/cura-accordion_20.cjs.entry.js.map +1 -0
  8. package/dist/cjs/cura-checkbox.cjs.entry.js +4 -3
  9. package/dist/cjs/cura-checkbox.cjs.entry.js.map +1 -1
  10. package/dist/cjs/cura-display.cjs.entry.js +1 -1
  11. package/dist/cjs/cura-icons-view.cjs.entry.js +1 -1
  12. package/dist/cjs/cura-icons-view.cjs.entry.js.map +1 -1
  13. package/dist/cjs/cura-modal.cjs.entry.js +3 -3
  14. package/dist/cjs/cura-modal.cjs.entry.js.map +1 -1
  15. package/dist/cjs/cura-radio.cjs.entry.js +4 -3
  16. package/dist/cjs/cura-radio.cjs.entry.js.map +1 -1
  17. package/dist/cjs/cura-switch.cjs.entry.js +4 -4
  18. package/dist/cjs/cura-switch.cjs.entry.js.map +1 -1
  19. package/dist/cjs/cura-tabs-button.cjs.entry.js +106 -0
  20. package/dist/cjs/cura-tabs-button.cjs.entry.js.map +1 -0
  21. package/dist/cjs/cura-tabs-transparent.cjs.entry.js +105 -0
  22. package/dist/cjs/cura-tabs-transparent.cjs.entry.js.map +1 -0
  23. package/dist/cjs/cura-tabs.definitions-b8955ad4.js +12 -0
  24. package/dist/cjs/cura-tabs.definitions-b8955ad4.js.map +1 -0
  25. package/dist/cjs/{cura-theme-module-f1e4a309.js → cura-theme-module-09bb63a4.js} +32 -1
  26. package/dist/cjs/cura-theme-module-09bb63a4.js.map +1 -0
  27. package/dist/cjs/cura.cjs.js +3 -3
  28. package/dist/cjs/index.cjs.js +1 -1
  29. package/dist/cjs/loader.cjs.js +3 -3
  30. package/dist/collection/api/theme-presets/theme-perinatal-temporary.js +32 -0
  31. package/dist/collection/api/theme-presets/theme-perinatal-temporary.js.map +1 -0
  32. package/dist/collection/api/theme-presets/theme-presets.js +2 -0
  33. package/dist/collection/api/theme-presets/theme-presets.js.map +1 -1
  34. package/dist/collection/assets/icons/iconset-default-list.js +1 -1
  35. package/dist/collection/assets/icons/iconset-default-list.js.map +1 -1
  36. package/dist/collection/assets/icons/iconset-default-tmp.svg +4 -0
  37. package/dist/collection/assets/icons/iconset-default.svg +1 -1
  38. package/dist/collection/assets-raw/icons/default/vaccine.svg +3 -0
  39. package/dist/collection/collection-manifest.json +4 -0
  40. package/dist/collection/components/cura-avatar/cura-avatar.js +34 -16
  41. package/dist/collection/components/cura-avatar/cura-avatar.js.map +1 -1
  42. package/dist/collection/components/cura-modal/cura-modal.css +1 -1
  43. package/dist/collection/components/cura-modal/cura-modal.js +2 -2
  44. package/dist/collection/components/cura-modal/cura-modal.js.map +1 -1
  45. package/dist/collection/components/forms/cura-checkbox/cura-checkbox.css +5 -7
  46. package/dist/collection/components/forms/cura-checkbox/cura-checkbox.js +31 -6
  47. package/dist/collection/components/forms/cura-checkbox/cura-checkbox.js.map +1 -1
  48. package/dist/collection/components/forms/cura-radio/cura-radio.css +8 -11
  49. package/dist/collection/components/forms/cura-radio/cura-radio.js +31 -6
  50. package/dist/collection/components/forms/cura-radio/cura-radio.js.map +1 -1
  51. package/dist/collection/components/forms/cura-select/cura-select.css +1 -1
  52. package/dist/collection/components/forms/cura-select/cura-select.js +22 -3
  53. package/dist/collection/components/forms/cura-select/cura-select.js.map +1 -1
  54. package/dist/collection/components/forms/cura-select/cura-select.stories.js +12 -0
  55. package/dist/collection/components/forms/cura-select/cura-select.stories.js.map +1 -1
  56. package/dist/collection/components/forms/cura-switch/cura-switch.css +1 -4
  57. package/dist/collection/components/forms/cura-switch/cura-switch.js +31 -7
  58. package/dist/collection/components/forms/cura-switch/cura-switch.js.map +1 -1
  59. package/dist/collection/components/tabs/cura-tabs/cura-tabs.css +170 -0
  60. package/dist/collection/components/tabs/cura-tabs/cura-tabs.js +263 -0
  61. package/dist/collection/components/tabs/cura-tabs/cura-tabs.js.map +1 -0
  62. package/dist/collection/components/tabs/cura-tabs/cura-tabs.stories.js +89 -0
  63. package/dist/collection/components/tabs/cura-tabs/cura-tabs.stories.js.map +1 -0
  64. package/dist/collection/components/tabs/cura-tabs-button/cura-tabs-button.css +176 -0
  65. package/dist/collection/components/tabs/cura-tabs-button/cura-tabs-button.js +259 -0
  66. package/dist/collection/components/tabs/cura-tabs-button/cura-tabs-button.js.map +1 -0
  67. package/dist/collection/components/tabs/cura-tabs-button/cura-tabs-button.stories.js +96 -0
  68. package/dist/collection/components/tabs/cura-tabs-button/cura-tabs-button.stories.js.map +1 -0
  69. package/dist/collection/components/tabs/cura-tabs-group/cura-tabs-group.css +25 -0
  70. package/dist/collection/components/tabs/cura-tabs-group/cura-tabs-group.js +133 -0
  71. package/dist/collection/components/tabs/cura-tabs-group/cura-tabs-group.js.map +1 -0
  72. package/dist/collection/components/tabs/cura-tabs-group/cura-tabs-group.stories.js +65 -0
  73. package/dist/collection/components/tabs/cura-tabs-group/cura-tabs-group.stories.js.map +1 -0
  74. package/dist/collection/components/tabs/cura-tabs-transparent/cura-tabs-transparent.css +168 -0
  75. package/dist/collection/components/tabs/cura-tabs-transparent/cura-tabs-transparent.js +258 -0
  76. package/dist/collection/components/tabs/cura-tabs-transparent/cura-tabs-transparent.js.map +1 -0
  77. package/dist/collection/components/tabs/cura-tabs-transparent/cura-tabs-transparent.stories.js +89 -0
  78. package/dist/collection/components/tabs/cura-tabs-transparent/cura-tabs-transparent.stories.js.map +1 -0
  79. package/dist/collection/components/tabs/cura-tabs.definitions.js +7 -0
  80. package/dist/collection/components/tabs/cura-tabs.definitions.js.map +1 -0
  81. package/dist/collection/components/text/cura-display/cura-display.js +1 -1
  82. package/dist/collection/components/text/cura-heading/cura-heading.js +1 -1
  83. package/dist/collection/components/text/cura-paragraph/cura-paragraph.js +1 -1
  84. package/dist/components/cura-avatar.js +1 -1
  85. package/dist/components/cura-avatar.js.map +1 -1
  86. package/dist/components/cura-checkbox.js +6 -4
  87. package/dist/components/cura-checkbox.js.map +1 -1
  88. package/dist/components/cura-display.js +1 -1
  89. package/dist/components/cura-heading2.js +1 -1
  90. package/dist/components/cura-icons-view.js +1 -1
  91. package/dist/components/cura-icons-view.js.map +1 -1
  92. package/dist/components/cura-modal.js +3 -3
  93. package/dist/components/cura-modal.js.map +1 -1
  94. package/dist/components/cura-paragraph2.js +1 -1
  95. package/dist/components/cura-radio.js +6 -4
  96. package/dist/components/cura-radio.js.map +1 -1
  97. package/dist/components/cura-select2.js +6 -4
  98. package/dist/components/cura-select2.js.map +1 -1
  99. package/dist/components/cura-switch.js +6 -5
  100. package/dist/components/cura-switch.js.map +1 -1
  101. package/dist/components/cura-tabs-button.d.ts +11 -0
  102. package/dist/components/cura-tabs-button.js +150 -0
  103. package/dist/components/cura-tabs-button.js.map +1 -0
  104. package/dist/components/cura-tabs-group.d.ts +11 -0
  105. package/dist/components/cura-tabs-group.js +64 -0
  106. package/dist/components/cura-tabs-group.js.map +1 -0
  107. package/dist/components/cura-tabs-transparent.d.ts +11 -0
  108. package/dist/components/cura-tabs-transparent.js +143 -0
  109. package/dist/components/cura-tabs-transparent.js.map +1 -0
  110. package/dist/components/cura-tabs.d.ts +11 -0
  111. package/dist/components/cura-tabs.definitions.js +10 -0
  112. package/dist/components/cura-tabs.definitions.js.map +1 -0
  113. package/dist/components/cura-tabs.js +148 -0
  114. package/dist/components/cura-tabs.js.map +1 -0
  115. package/dist/components/index.js +39 -0
  116. package/dist/components/index.js.map +1 -1
  117. package/dist/cura/cura.esm.js +1 -1
  118. package/dist/cura/cura.esm.js.map +1 -1
  119. package/dist/cura/index.esm.js +1 -1
  120. package/dist/cura/p-0ccde0ff.entry.js +2 -0
  121. package/dist/cura/p-0ccde0ff.entry.js.map +1 -0
  122. package/dist/cura/p-1ef21ae9.entry.js +2 -0
  123. package/dist/cura/p-1ef21ae9.entry.js.map +1 -0
  124. package/dist/cura/p-53c18ed4.js +2 -0
  125. package/dist/cura/p-53c18ed4.js.map +1 -0
  126. package/dist/cura/p-5c6f9593.entry.js +2 -0
  127. package/dist/cura/p-5c6f9593.entry.js.map +1 -0
  128. package/dist/cura/{p-0c25333f.js → p-6cbd49dd.js} +2 -2
  129. package/dist/cura/p-7a68835f.entry.js +2 -0
  130. package/dist/cura/p-7a68835f.entry.js.map +1 -0
  131. package/dist/cura/p-7e2d1229.entry.js +2 -0
  132. package/dist/cura/p-7e2d1229.entry.js.map +1 -0
  133. package/dist/cura/{p-ac01bec2.entry.js → p-8aade007.entry.js} +2 -2
  134. package/dist/cura/p-9f460031.js +2 -0
  135. package/dist/cura/p-9f460031.js.map +1 -0
  136. package/dist/cura/p-b4ee956b.entry.js +2 -0
  137. package/dist/cura/p-b4ee956b.entry.js.map +1 -0
  138. package/dist/cura/p-b6ff8ac1.entry.js +2 -0
  139. package/dist/cura/p-b6ff8ac1.entry.js.map +1 -0
  140. package/dist/cura/p-d8e1e182.entry.js +2 -0
  141. package/dist/cura/p-d8e1e182.entry.js.map +1 -0
  142. package/dist/esm/{app-globals-ca1945d1.js → app-globals-c2abb41c.js} +2 -2
  143. package/dist/esm/{app-globals-ca1945d1.js.map → app-globals-c2abb41c.js.map} +1 -1
  144. package/dist/esm/{cura-accordion_18.entry.js → cura-accordion_20.entry.js} +147 -9
  145. package/dist/esm/cura-accordion_20.entry.js.map +1 -0
  146. package/dist/esm/cura-checkbox.entry.js +4 -3
  147. package/dist/esm/cura-checkbox.entry.js.map +1 -1
  148. package/dist/esm/cura-display.entry.js +1 -1
  149. package/dist/esm/cura-icons-view.entry.js +1 -1
  150. package/dist/esm/cura-icons-view.entry.js.map +1 -1
  151. package/dist/esm/cura-modal.entry.js +3 -3
  152. package/dist/esm/cura-modal.entry.js.map +1 -1
  153. package/dist/esm/cura-radio.entry.js +4 -3
  154. package/dist/esm/cura-radio.entry.js.map +1 -1
  155. package/dist/esm/cura-switch.entry.js +4 -4
  156. package/dist/esm/cura-switch.entry.js.map +1 -1
  157. package/dist/esm/cura-tabs-button.entry.js +102 -0
  158. package/dist/esm/cura-tabs-button.entry.js.map +1 -0
  159. package/dist/esm/cura-tabs-transparent.entry.js +101 -0
  160. package/dist/esm/cura-tabs-transparent.entry.js.map +1 -0
  161. package/dist/esm/cura-tabs.definitions-a017126e.js +10 -0
  162. package/dist/esm/cura-tabs.definitions-a017126e.js.map +1 -0
  163. package/dist/esm/{cura-theme-module-0fa5ee0b.js → cura-theme-module-bf286f68.js} +32 -1
  164. package/dist/esm/cura-theme-module-bf286f68.js.map +1 -0
  165. package/dist/esm/cura.js +3 -3
  166. package/dist/esm/index.js +1 -1
  167. package/dist/esm/loader.js +3 -3
  168. package/dist/types/api/theme-presets/theme-perinatal-temporary.d.ts +43 -0
  169. package/dist/types/api/theme-presets/theme-presets.d.ts +43 -0
  170. package/dist/types/components/cura-avatar/cura-avatar.d.ts +37 -0
  171. package/dist/types/components/forms/cura-checkbox/cura-checkbox.d.ts +17 -4
  172. package/dist/types/components/forms/cura-radio/cura-radio.d.ts +17 -4
  173. package/dist/types/components/forms/cura-select/cura-select.d.ts +6 -0
  174. package/dist/types/components/forms/cura-select/cura-select.stories.d.ts +11 -0
  175. package/dist/types/components/forms/cura-switch/cura-switch.d.ts +16 -3
  176. package/dist/types/components/tabs/cura-tabs/cura-tabs.d.ts +30 -0
  177. package/dist/types/components/tabs/cura-tabs/cura-tabs.stories.d.ts +99 -0
  178. package/dist/types/components/tabs/cura-tabs-button/cura-tabs-button.d.ts +29 -0
  179. package/dist/types/components/tabs/cura-tabs-button/cura-tabs-button.stories.d.ts +99 -0
  180. package/dist/types/components/tabs/cura-tabs-group/cura-tabs-group.d.ts +18 -0
  181. package/dist/types/components/tabs/cura-tabs-group/cura-tabs-group.stories.d.ts +57 -0
  182. package/dist/types/components/tabs/cura-tabs-transparent/cura-tabs-transparent.d.ts +29 -0
  183. package/dist/types/components/tabs/cura-tabs-transparent/cura-tabs-transparent.stories.d.ts +99 -0
  184. package/dist/types/components/tabs/cura-tabs.definitions.d.ts +6 -0
  185. package/dist/types/components.d.ts +298 -24
  186. package/package.json +2 -2
  187. package/dist/cjs/cura-accordion_18.cjs.entry.js.map +0 -1
  188. package/dist/cjs/cura-theme-module-f1e4a309.js.map +0 -1
  189. package/dist/cura/p-03feed94.entry.js +0 -2
  190. package/dist/cura/p-03feed94.entry.js.map +0 -1
  191. package/dist/cura/p-07817634.entry.js +0 -2
  192. package/dist/cura/p-07817634.entry.js.map +0 -1
  193. package/dist/cura/p-84c18273.entry.js +0 -2
  194. package/dist/cura/p-84c18273.entry.js.map +0 -1
  195. package/dist/cura/p-9fce5ec5.entry.js +0 -2
  196. package/dist/cura/p-9fce5ec5.entry.js.map +0 -1
  197. package/dist/cura/p-b84924e1.entry.js +0 -2
  198. package/dist/cura/p-b84924e1.entry.js.map +0 -1
  199. package/dist/cura/p-b856b946.entry.js +0 -2
  200. package/dist/cura/p-b856b946.entry.js.map +0 -1
  201. package/dist/cura/p-bf8e2037.js +0 -2
  202. package/dist/cura/p-bf8e2037.js.map +0 -1
  203. package/dist/esm/cura-accordion_18.entry.js.map +0 -1
  204. package/dist/esm/cura-theme-module-0fa5ee0b.js.map +0 -1
  205. /package/dist/cura/{p-0c25333f.js.map → p-6cbd49dd.js.map} +0 -0
  206. /package/dist/cura/{p-ac01bec2.entry.js.map → p-8aade007.entry.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{r as a,c as e,h as t,H as i}from"./p-4ee8efca.js";const s=":host{display:block}.modal{position:fixed;height:100%;width:100%;top:var(--top-offset);bottom:var(--bottom-offset);left:var(--left-offset);right:var(--right-offset);z-index:-1;margin-top:var(--offset-top)}.modal.open{z-index:var(--zIndex)}.modal.open .backdrop,.modal.open .wrapper{opacity:1;visibility:visible;animation:fadeIn 0.3s ease-out}.container{display:flex;align-items:center;justify-content:center}.backdrop,.wrapper{opacity:0;visibility:hidden;transition:opacity 0.3s ease, visibility 0.3s ease}.backdrop{background-color:var(--background-color);z-index:calc(var(--zIndex) - 10);animation:fadeIn 0.3s ease-out}.wrapper{position:fixed;background-color:var(--neutral-white);border:2px solid var(--neutral-light);border-radius:calc(var(--cura-spacing-base) * 3px);max-width:600px;min-width:200px;padding:calc(calc(var(--cura-spacing-base) * 1px) / 2) calc(var(--cura-spacing-base) * 4px) calc(var(--cura-spacing-base) * 4px) calc(var(--cura-spacing-base) * 4px);z-index:var(--zIndex);box-shadow:0px 8px 16px 0px var(--neutral-black-shadow-4, rgba(38, 38, 38, 0.12));transform:scale(0.95);transition:transform 0.3s ease-out, opacity 0.3s ease, visibility 0.3s ease}.wrapper ::slotted(*){max-height:80vh;overflow:auto;padding-right:calc(var(--cura-spacing-base) * 5px)}.modal.open .wrapper{transform:scale(1);opacity:1;visibility:visible}.close{justify-self:flex-end;padding-top:calc(var(--cura-spacing-base) * 4px);background:none;border:none;cursor:pointer}.close.mobile{display:none}.close.desktop{display:flex;padding:0;margin-right:-8px}@media (max-width: 768px){.wrapper{position:fixed;bottom:0px;width:80%;padding-top:calc(var(--cura-spacing-base) * 4px);padding-bottom:0px;border-radius:calc(var(--cura-spacing-base) * 3px) calc(var(--cura-spacing-base) * 3px) 0px 0px;border-bottom:none}.close{align-items:center;border-top:1px dashed var(--neutral-light);margin-top:calc(var(--cura-spacing-base) * 4px);padding:calc(var(--cura-spacing-base) * 2px) 0px;justify-content:center;width:100%}.close.mobile{display:flex;gap:calc(var(--cura-spacing-base) * 2px)}.close.desktop{display:none}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}";const o=s;const c=class{constructor(t){a(this,t);this.modalClose=e(this,"modalClose",7);this.handleCloseOnEsc=a=>{if(a.key!=="Escape"||!this.open){return}this.open=false;this.modalClose.emit()};this.handleClose=()=>{this.modalClose.emit();this.open=false};this.open=false;this.background="light";this.top=0;this.bottom=0;this.left=0;this.right=0;this.mobileCloseLabel="Fechar";this.zindex="100";this.styles={}}setColors(){const a={dark:window.CuraAPI.theme.colors.getColor("neutral-black",.4),light:window.CuraAPI.theme.colors.getColor("primary-darker",.8)};this.styles=Object.assign(Object.assign({},this.styles),{"--background-color":a[this.background]})}setOffset(a,e){this.styles=Object.assign(Object.assign({},this.styles),{[`--${a}-offset`]:`${e}px`})}setTop(){this.setOffset("top",this.top)}setBottom(){this.setOffset("bottom",this.bottom)}setLeft(){this.setOffset("left",this.left)}setRight(){this.setOffset("right",this.right)}connectedCallback(){this.styles=Object.assign(Object.assign({},this.styles),{"--neutral-white":window.CuraAPI.theme.colors.getColor("neutral-white"),"--neutral-light":window.CuraAPI.theme.colors.getColor("neutral-light"),"--base-spacing":window.CuraAPI.theme.spacing.getSpacing()});this.setColors();this.setTop();this.setBottom();this.setLeft();this.setRight()}disconnectedCallback(){window.removeEventListener("keydown",this.handleCloseOnEsc)}componentDidLoad(){window.addEventListener("keydown",this.handleCloseOnEsc)}render(){return t(i,{key:"e61daa046292367d64aeaaf82e8cdd223b2f7dc5",role:"dialog","aria-modal":"true",style:{"--zIndex":this.zindex}},t("div",{key:"f2b9cd2b8a3790c0fcab87343ea8a425bb76c264",class:this.open?"modal container open":"modal container",style:this.styles},t("div",{key:"3cf96f5a6a316c0a5df6abaf224d518a6a0a2934",class:this.open?"modal backdrop open":"modal backdrop",onClick:this.handleClose}),t("div",{key:"f297ec70cf7ef9a71d4620339ba364e71e4337f8",class:"wrapper"},t("div",{key:"d4a2151cd5be6877ff1be66f263c83941b604d5f",class:"close desktop"},t("cura-button-transparent",{key:"27bbb629ac2988b98dfcbccdc72f08b2de70c9bc",iconName:"close",color:"error",size:"small",onClick:this.handleClose,iconOnly:true})),t("slot",{key:"f5e5b7931668446fb796184ede3796dfacdd38ef"}),t("div",{key:"014df19d65e3db1420f9e8dc33e56fb3aed8a1cf",class:"close mobile",onClick:this.handleClose},t("cura-button-transparent",{key:"0fa3373474539e8220c41ba0fefb276e30f86315",color:"error",iconName:"close",size:"small"},"Fechar")))))}static get watchers(){return{background:["setColors"],top:["setTop"],bottom:["setBottom"],left:["setLeft"],right:["setRight"]}}};c.style=o;export{c as cura_modal};
2
- //# sourceMappingURL=p-9fce5ec5.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["curaModalCss","CuraModalStyle0","CuraModal","this","handleCloseOnEsc","evt","key","open","modalClose","emit","handleClose","setColors","backgroundTheme","dark","window","CuraAPI","theme","colors","getColor","light","styles","Object","assign","background","setOffset","name","value","setTop","top","setBottom","bottom","setLeft","left","setRight","right","connectedCallback","spacing","getSpacing","disconnectedCallback","removeEventListener","componentDidLoad","addEventListener","render","h","Host","role","style","zindex","class","onClick","iconName","color","size","iconOnly"],"sources":["src/components/cura-modal/cura-modal.scss?tag=cura-modal&encapsulation=shadow","src/components/cura-modal/cura-modal.tsx"],"sourcesContent":["@import '../../../src/scss/mixins/spacing.scss';\n@import '../../../src/scss/mixins/shadows.scss';\n@import '../../../src/scss/mixins/responsive.scss';\n@import '../../../src/scss/mixins/animations.scss';\n\n:host {\n display: block;\n}\n\n.modal {\n position: fixed;\n height: 100%;\n width: 100%;\n top: var(--top-offset);\n bottom: var(--bottom-offset);\n left: var(--left-offset);\n right: var(--right-offset);\n z-index: -1;\n margin-top: var(--offset-top);\n\n &.open {\n z-index: var(--zIndex);\n\n .backdrop,\n .wrapper {\n opacity: 1;\n visibility: visible;\n animation: fadeIn 0.3s ease-out;\n }\n }\n}\n\n.container {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.backdrop,\n.wrapper {\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.3s ease, visibility 0.3s ease;\n}\n\n.backdrop {\n background-color: var(--background-color);\n z-index: calc(var(--zIndex) - 10);\n animation: fadeIn 0.3s ease-out;\n}\n\n.wrapper {\n position: fixed;\n background-color: var(--neutral-white);\n border: 2px solid var(--neutral-light);\n border-radius: #{$spacing-xxxs};\n max-width: 600px;\n min-width: 200px;\n padding: calc(#{$spacing-tiny} / 2) #{$spacing-xxs} #{$spacing-xxs} #{$spacing-xxs};\n z-index: var(--zIndex);\n\n @include shadow-level4();\n\n transform: scale(0.95);\n transition: transform 0.3s ease-out, opacity 0.3s ease, visibility 0.3s ease;\n\n ::slotted(*) {\n max-height: 80vh;\n overflow: auto;\n padding-right: #{$spacing-xs};\n }\n}\n\n.modal.open .wrapper {\n transform: scale(1);\n opacity: 1;\n visibility: visible;\n}\n\n.close {\n justify-self: flex-end;\n padding-top: #{$spacing-xxs};\n background: none;\n border: none;\n cursor: pointer;\n\n &.mobile {\n display: none;\n }\n\n &.desktop {\n display: flex;\n padding: 0;\n margin-right: -8px;\n }\n}\n\n@include mobile-only() {\n .wrapper {\n position: fixed;\n bottom: #{$spacing-none};\n width: 80%;\n padding-top: #{$spacing-xxs};\n padding-bottom: #{$spacing-none};\n border-radius: #{$spacing-xxxs} #{$spacing-xxxs} #{$spacing-none} #{$spacing-none};\n border-bottom: none;\n }\n\n .close {\n align-items: center;\n border-top: 1px dashed var(--neutral-light);\n margin-top: #{$spacing-xxs};\n padding: #{$spacing-mini} #{$spacing-none};\n justify-content: center;\n width: 100%;\n\n &.mobile {\n display: flex;\n gap: #{$spacing-mini};\n }\n\n &.desktop {\n display: none;\n }\n }\n}\n\n@include fadeIn();\n@include fadeOut();\n","import { Component, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\n\n@Component({\n tag: 'cura-modal',\n styleUrl: 'cura-modal.scss',\n shadow: true,\n})\nexport class CuraModal {\n /**\n * Property open to control modal visibility.\n * Default: false\n */\n @Prop({ mutable: true, reflect: true }) open?: boolean = false;\n /**\n * Property background to control modal backdrop color.\n * Default: light\n */\n @Prop() background?: 'dark' | 'light' = 'light';\n /**\n * Property top to control modal top position.\n * Default: 0px\n */\n @Prop() top?: number = 0;\n /**\n * Property bottom to control modal bottom position.\n * Default: 0px\n */\n @Prop() bottom?: number = 0;\n /**\n * Property left to control modal left position.\n * Default: 0px\n */\n @Prop() left?: number = 0;\n /**\n * Property right to control modal right position.\n * Default: 0px\n */\n @Prop() right?: number = 0;\n /**\n * Defines the label for the close button when the modal is viewed on mobile.\n * Default: Fechar\n */\n @Prop({ reflect: true }) mobileCloseLabel: string = 'Fechar';\n /**\n * Property zindex to control the z-index value of the component.\n * Default: 100\n */\n @Prop({ reflect: true }) zindex: string = '100';\n /**\n * Event close to handle modal close.\n */\n @Event({ eventName: 'modalClose' }) modalClose: EventEmitter<void>;\n\n @State() styles = {};\n\n @Watch('background')\n setColors() {\n const backgroundTheme = {\n dark: window.CuraAPI.theme.colors.getColor('neutral-black', 0.4),\n light: window.CuraAPI.theme.colors.getColor('primary-darker', 0.8),\n };\n\n this.styles = {\n ...this.styles,\n '--background-color': backgroundTheme[this.background],\n };\n }\n\n setOffset(name: string, value: number) {\n this.styles = {\n ...this.styles,\n [`--${name}-offset`]: `${value}px`,\n };\n }\n\n @Watch('top')\n setTop() {\n this.setOffset('top', this.top);\n }\n\n @Watch('bottom')\n setBottom() {\n this.setOffset('bottom', this.bottom);\n }\n\n @Watch('left')\n setLeft() {\n this.setOffset('left', this.left);\n }\n\n @Watch('right')\n setRight() {\n this.setOffset('right', this.right);\n }\n\n handleCloseOnEsc = (evt: KeyboardEvent) => {\n if (evt.key !== 'Escape' || !this.open) {\n return\n }\n\n this.open = false\n this.modalClose.emit()\n }\n\n connectedCallback() {\n this.styles = {\n ...this.styles,\n '--neutral-white': window.CuraAPI.theme.colors.getColor('neutral-white'),\n '--neutral-light': window.CuraAPI.theme.colors.getColor('neutral-light'),\n '--base-spacing': window.CuraAPI.theme.spacing.getSpacing(),\n };\n this.setColors();\n this.setTop();\n this.setBottom();\n this.setLeft();\n this.setRight();\n }\n\n private handleClose = () => {\n this.modalClose.emit();\n this.open = false;\n };\n\n disconnectedCallback() {\n window.removeEventListener('keydown', this.handleCloseOnEsc)\n }\n\n componentDidLoad() {\n window.addEventListener('keydown', this.handleCloseOnEsc)\n }\n\n render() {\n return (\n <Host role=\"dialog\"\n aria-modal=\"true\"\n style={{ '--zIndex': this.zindex }}>\n <div class={this.open ? 'modal container open' : 'modal container'} style={this.styles}>\n <div class={this.open ? 'modal backdrop open' : 'modal backdrop'} onClick={this.handleClose}></div>\n <div class=\"wrapper\">\n {/* Desktop button */}\n <div class=\"close desktop\">\n <cura-button-transparent\n iconName=\"close\"\n color=\"error\"\n size=\"small\"\n onClick={this.handleClose}\n iconOnly\n ></cura-button-transparent>\n </div>\n <slot></slot>\n {/* Mobile button */}\n <div class=\"close mobile\" onClick={this.handleClose}>\n <cura-button-transparent color=\"error\" iconName=\"close\" size=\"small\">Fechar</cura-button-transparent>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAe,qpEACrB,MAAAC,EAAeD,E,MCMFE,EAAS,M,gEAwFpBC,KAAAC,iBAAoBC,IAClB,GAAIA,EAAIC,MAAQ,WAAaH,KAAKI,KAAM,CACtC,M,CAGFJ,KAAKI,KAAO,MACZJ,KAAKK,WAAWC,MAAM,EAiBhBN,KAAAO,YAAc,KACpBP,KAAKK,WAAWC,OAChBN,KAAKI,KAAO,KAAK,E,UA5GsC,M,gBAKjB,Q,SAKjB,E,YAKG,E,UAKF,E,WAKC,E,sBAK2B,S,YAKV,M,YAMxB,E,CAGlB,SAAAI,GACE,MAAMC,EAAkB,CACtBC,KAAMC,OAAOC,QAAQC,MAAMC,OAAOC,SAAS,gBAAiB,IAC5DC,MAAOL,OAAOC,QAAQC,MAAMC,OAAOC,SAAS,iBAAkB,KAGhEf,KAAKiB,OAAMC,OAAAC,OAAAD,OAAAC,OAAA,GACNnB,KAAKiB,QAAM,CACd,qBAAsBR,EAAgBT,KAAKoB,a,CAI/C,SAAAC,CAAUC,EAAcC,GACtBvB,KAAKiB,OAAMC,OAAAC,OAAAD,OAAAC,OAAA,GACNnB,KAAKiB,QAAM,CACd,CAAC,KAAKK,YAAgB,GAAGC,O,CAK7B,MAAAC,GACExB,KAAKqB,UAAU,MAAOrB,KAAKyB,I,CAI7B,SAAAC,GACE1B,KAAKqB,UAAU,SAAUrB,KAAK2B,O,CAIhC,OAAAC,GACE5B,KAAKqB,UAAU,OAAQrB,KAAK6B,K,CAI9B,QAAAC,GACE9B,KAAKqB,UAAU,QAASrB,KAAK+B,M,CAY/B,iBAAAC,GACEhC,KAAKiB,OAAMC,OAAAC,OAAAD,OAAAC,OAAA,GACNnB,KAAKiB,QAAM,CACd,kBAAmBN,OAAOC,QAAQC,MAAMC,OAAOC,SAAS,iBACxD,kBAAmBJ,OAAOC,QAAQC,MAAMC,OAAOC,SAAS,iBACxD,iBAAkBJ,OAAOC,QAAQC,MAAMoB,QAAQC,eAEjDlC,KAAKQ,YACLR,KAAKwB,SACLxB,KAAK0B,YACL1B,KAAK4B,UACL5B,KAAK8B,U,CAQP,oBAAAK,GACExB,OAAOyB,oBAAoB,UAAWpC,KAAKC,iB,CAG7C,gBAAAoC,GACE1B,OAAO2B,iBAAiB,UAAWtC,KAAKC,iB,CAG1C,MAAAsC,GACE,OACEC,EAACC,EAAI,CAAAtC,IAAA,2CAACuC,KAAK,SAAQ,aACN,OACXC,MAAO,CAAE,WAAY3C,KAAK4C,SAC1BJ,EAAA,OAAArC,IAAA,2CAAK0C,MAAO7C,KAAKI,KAAO,uBAAyB,kBAAmBuC,MAAO3C,KAAKiB,QAC9EuB,EAAA,OAAArC,IAAA,2CAAK0C,MAAO7C,KAAKI,KAAO,sBAAwB,iBAAkB0C,QAAS9C,KAAKO,cAChFiC,EAAA,OAAArC,IAAA,2CAAK0C,MAAM,WAETL,EAAA,OAAArC,IAAA,2CAAK0C,MAAM,iBACTL,EAAA,2BAAArC,IAAA,2CACE4C,SAAS,QACTC,MAAM,QACNC,KAAK,QACLH,QAAS9C,KAAKO,YACd2C,SAAQ,QAGZV,EAAA,QAAArC,IAAA,6CAEAqC,EAAA,OAAArC,IAAA,2CAAK0C,MAAM,eAAeC,QAAS9C,KAAKO,aACtCiC,EAAA,2BAAArC,IAAA,2CAAyB6C,MAAM,QAAQD,SAAS,QAAQE,KAAK,SAAO,a","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as a,H as r}from"./p-4ee8efca.js";import{f as i}from"./p-f9b8f665.js";const s='@charset "UTF-8";:host{display:block;box-sizing:border-box;min-width:0}.container{display:flex;align-items:center;flex-direction:row-reverse;justify-content:start;gap:var(--gap);text-align:left;cursor:pointer}.position{flex-direction:row}.info.textoverflow-single{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.label,.message{text-align:left}.control{width:fit-content}.track{background:var(--neutral-dark-base);border-radius:16px;transition:background-color 0.3s;align-items:flex-start;flex-shrink:0;box-sizing:border-box;width:var(--size-track);height:var(--size);position:relative}.thumb{background:var(--neutral-purewhite);border:2px solid var(--neutral-darker-medium);border-radius:50%;position:absolute;transition:transform 0.3s, outline 0.3s;display:inline-block;cursor:pointer;user-select:none;box-sizing:border-box;width:var(--size);height:var(--size);top:50%;transform:translateY(-50%)}.checked .thumb{border-color:var(--color-dark);box-shadow:0px 4px 8px 0px var(--neutral-black-shadow, rgba(38, 38, 38, 0.16));background:var(--neutral-purewhite);transform:translateX(var(--size)) translateY(-50%)}.checked .thumb:hover{background:var(--neutral-pale) !important;border-color:var(--neutral-darker-medium) !important}.checked .thumb:active{border-color:var(--color-dark);background:var(--neutral-pale)}.checked .track{background:var(--color-base-light)}.disabled .track{background:var(--neutral-black-neutral-pale)}.disabled .thumb{background:var(--neutral-black-neutral-base) !important;border-color:var(--neutral-black-neutral-pale) !important;cursor:not-allowed}.disabled.checked .track{background:var(--neutral-black-neutral-pale)}.container.disabled .thumb:focus{outline:none !important;border-color:var(--neutral-black-neutral-pale) !important}:not(.disabled):not(.checked) .thumb:hover{border-color:var(--color-dark);background:var(--neutral-pale)}:not(.disabled):not(.checked) .thumb:active{border-color:var(--color-dark);background:var(--neutral-pale)}:not(.disabled) .thumb:focus{outline:2px solid var(--info-base) !important;border:2px solid var(--neutral-darker-medium);z-index:1}:not(.disabled) .checked .thumb:focus{outline:2px solid var(--info-base) !important;border-color:var(--color-dark)}';const l=s;const o=class{constructor(a){e(this,a);this.onchange=t(this,"onchange",7);if(a.$hostElement$["s-ei"]){this.internals=a.$hostElement$["s-ei"]}else{this.internals=a.$hostElement$.attachInternals();a.$hostElement$["s-ei"]=this.internals}this.sizes={large:{size:64},medium:{size:48},small:{size:40}};this.isDarkbackground=()=>this.background==="dark";this.toggleSwitch=()=>{if(this.disabled)return null;this.checked=!this.checked;this.internals.setFormValue(this.checked.toString());this.onchange.emit({checked:this.checked})};this.checked=false;this.disabled=false;this.label="";this.ontabindex=0;this.position="left";this.size="medium";this.background="light";this.color="accent";this.textOverflow="none";this.styles={}}sizeHandler(){this.styles=Object.assign(Object.assign({},this.styles),{"--size-track":`${this.sizes[this.size].size}px`,"--size":`${i[this.size].size}px`,"--gap":`${i[this.size].gap}px`})}setColors(){const e=[{name:"--info-base",background:"info-base"},{name:"--neutral-black-shadow",background:"neutral-black",opacity:.16},{name:"--neutral-purewhite",background:"neutral-purewhite"},{name:"--neutral-medium",background:"neutral-medium"},{name:"--neutral-pale",background:"neutral-pale"},{name:"--neutral-dark-base",background:`neutral-${this.isDarkbackground()?"dark":"base"}`},{name:"--neutral-darker-medium",background:`neutral-${this.isDarkbackground()?"darker":"medium"}`},{name:"--neutral-black-neutral-pale",background:`${this.isDarkbackground()?"neutral-black":"neutral-pale"}`},{name:"--neutral-black-neutral-base",background:`${this.isDarkbackground()?"neutral-dark":"neutral-base"}`},{name:"--color-base-light",background:`${this.color}-light`},{name:"--color-dark",background:`${this.color}-dark`}];e.forEach((e=>{this.styles[e.name]=window.CuraAPI.theme.colors.getColor(e.background,e===null||e===void 0?void 0:e.opacity)}));this.styles=Object.assign({},this.styles)}connectedCallback(){this.sizeHandler();this.setColors()}formAssociatedCallback(e){e.ariaLabel=this.label}formStateRestoreCallback(e){this.checked=e.value==="true";this.internals.setFormValue(this.checked.toString())}formResetCallback(){this.checked=false;this.internals.setValidity({});this.internals.setFormValue(this.checked.toString())}formDisabledCallback(e){this.disabled=e}assignColor(e,t){if(this.disabled)return this.isDarkbackground()?"neutral-dark":"neutral-dark";return this.isDarkbackground()?e:t}getClasses(){const e={};e["container"]=true;e["checked"]=this.checked;e["disabled"]=this.disabled;e["position"]=this.position==="right";e["textoverflow-single"]=this.textOverflow==="single";return e}render(){return a(r,{key:"774e59c0c00a11d231e30d032d7872d99eb3b8d1",role:"switch","aria-checked":this.checked,"aria-disabled":this.disabled},a("div",{key:"e2bd25d79535f61b586fbf8a43915b5fccc308a2",class:this.getClasses(),style:this.styles,onClick:this.toggleSwitch},a("div",{key:"e68b9fac16600090db42037c507c2af81c1be0f3",class:`info ${this.textOverflow==="single"?"textoverflow-single":""}`},a("cura-label",{key:"70a99aa8a108b00d46bb0354785b601e393d6cc1",textOverflow:this.textOverflow,style:{textAlign:this.position==="right"?"right":"left"},class:"label",weight:"bold",size:this.size==="large"?"medium":"xsmall",lineHeight:"125%",color:this.assignColor("neutral-white","neutral-black")},this.label),a("cura-label",{key:"09b1ae5f5a3b4062b473dec49bd68583d24ce2c0",textOverflow:this.textOverflow,style:{textAlign:this.position==="right"?"right":"left"},color:this.assignColor("primary-lighter","neutral-dark"),size:"xsmall",class:"message"},a("slot",{key:"380a487d0387fc5934413f558e5f6f2558cb19de"}))),a("div",{key:"3a1ebdc9faf0c34e5b2e1b1e55b1a57161e14cb5",class:"control"},a("div",{key:"bd027689060ae72fce3e77ef739822ccb4f16b49",class:`track ${this.size.toLowerCase()}`},a("div",{key:"918744f9117e5f7ddcc0e9c9cdbf7735b396dc87",class:`thumb ${this.size.toLowerCase()}`,tabIndex:this.ontabindex})))))}static get formAssociated(){return true}static get watchers(){return{size:["sizeHandler"],color:["setColors"],background:["setColors"]}}};o.style=l;export{o as cura_switch};
2
- //# sourceMappingURL=p-b84924e1.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["curaSwitchCss","CuraSwitchStyle0","CuraSwitch","this","sizes","large","size","medium","small","isDarkbackground","background","toggleSwitch","disabled","checked","internals","setFormValue","toString","onchange","emit","sizeHandler","styles","Object","assign","formsSizes","gap","setColors","colors","name","opacity","color","forEach","window","CuraAPI","theme","getColor","connectedCallback","formAssociatedCallback","form","ariaLabel","label","formStateRestoreCallback","state","value","formResetCallback","setValidity","formDisabledCallback","assignColor","colorDark","colorLight","getClasses","classes","position","textOverflow","render","h","Host","key","role","class","style","onClick","textAlign","weight","lineHeight","toLowerCase","tabIndex","ontabindex"],"sources":["src/components/forms/cura-switch/cura-switch.scss?tag=cura-switch&encapsulation=shadow","src/components/forms/cura-switch/cura-switch.tsx"],"sourcesContent":["@import '../../../../src/scss/mixins/shadows.scss';\n@import '../../../scss/mixins/text.scss';\n\n:host {\n display: block;\n box-sizing: border-box;\n\n min-width: 0;\n}\n\n.container {\n display: flex;\n align-items: center;\n flex-direction: row-reverse;\n justify-content: start;\n gap: var(--gap);\n text-align: left;\n\n cursor: pointer;\n}\n\n.position {\n flex-direction: row;\n}\n\n.info {\n &.textoverflow-single {\n @include truncate-single();\n }\n}\n\n.label,\n.message {\n text-align: left;\n}\n\n.control {\n width: fit-content;\n}\n\n/* Estilos para o controle de switch */\n.track {\n background: var(--neutral-dark-base);\n border-radius: 16px;\n transition: background-color 0.3s;\n align-items: flex-start;\n flex-shrink: 0;\n box-sizing: border-box;\n width: var(--size-track);\n height: var(--size);\n position: relative;\n}\n\n.thumb {\n background: var(--neutral-purewhite);\n border: 2px solid var(--neutral-darker-medium);\n border-radius: 50%;\n\n position: absolute;\n transition: transform 0.3s, outline 0.3s;\n display: inline-block;\n cursor: pointer;\n user-select: none;\n box-sizing: border-box;\n width: var(--size);\n height: var(--size);\n top: 50%;\n transform: translateY(-50%);\n}\n\n/* Estado \"checked\" */\n.checked .thumb {\n border-color: var(--color-dark);\n @include shadow-level3(--neutral-black-shadow);\n background: var(--neutral-purewhite);\n transform: translateX(var(--size)) translateY(-50%);\n}\n\n.checked .thumb:hover {\n background: var(--neutral-pale) !important;\n border-color: var(--neutral-darker-medium) !important;\n}\n\n.checked .thumb:active {\n border-color: var(--color-dark);\n background: var(--neutral-pale);\n}\n\n.checked .track {\n background: var(--color-base-light);\n}\n\n/* Estado \"disabled\" */\n.disabled .track {\n background: var(--neutral-black-neutral-pale);\n}\n\n.disabled .thumb {\n background: var(--neutral-black-neutral-base) !important;\n border-color: var(--neutral-black-neutral-pale) !important;\n cursor: not-allowed;\n}\n\n.disabled.checked .track {\n background: var(--neutral-black-neutral-pale);\n}\n\n.container.disabled .thumb:focus {\n outline: none !important;\n border-color: var(--neutral-black-neutral-pale) !important;\n}\n\n/* Estado hover para não disabled e não checked */\n:not(.disabled):not(.checked) .thumb:hover {\n border-color: var(--color-dark);\n background: var(--neutral-pale);\n}\n\n:not(.disabled):not(.checked) .thumb:active {\n border-color: var(--color-dark);\n background: var(--neutral-pale);\n}\n\n/* Estado hover para não disabled */\n:not(.disabled) .thumb:focus {\n outline: 2px solid var(--info-base) !important;\n border: 2px solid var(--neutral-darker-medium);\n z-index: 1;\n}\n\n:not(.disabled) .checked .thumb:focus {\n outline: 2px solid var(--info-base) !important;\n border-color: var(--color-dark);\n}\n","import { Component, Prop, Event, h, Host, Watch, EventEmitter, State, AttachInternals } from '@stencil/core';\nimport { formsSizes } from '../cura-forms.definitions';\n\n@Component({\n tag: 'cura-switch',\n styleUrl: 'cura-switch.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class CuraSwitch {\n /**\n * Indicates whether the switch is checked or not.\n */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false;\n /**\n * Indicates whether the switch is disabled or not.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n /**\n * The label text to display next to the switch.\n */\n @Prop({ reflect: true }) label: string = '';\n /**\n * Tab index for the switch element.\n * Reflects as an HTML attribute.\n */\n @Prop({ reflect: true }) ontabindex: number = 0;\n /**\n * Position of the label relative to the switch.\n * Can be 'left' or 'right'.\n */\n @Prop({ reflect: true }) position: 'left' | 'right' = 'left';\n /**\n * Size of the switch.\n * Can be 'small', 'medium', or 'large'.\n */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n /**\n * Background style of the switch.\n * Can be 'dark' or 'light'.\n */\n @Prop() background: 'dark' | 'light' = 'light';\n /**\n * Accent color of the switch.\n */\n @Prop() color = 'accent';\n\n /**\n * Apply text-overflow ellipsis definitions.\n * Default to none\n */\n @Prop({ reflect: true }) textOverflow: 'none' | 'single' | string = 'none';\n\n @State() styles = {};\n\n @Event({ eventName: 'onchange', composed: true, cancelable: true, bubbles: true }) onchange: EventEmitter<{ checked: boolean }>;\n\n @AttachInternals() internals: ElementInternals;\n\n sizes = {\n large: { size: 64 },\n medium: { size: 48 },\n small: { size: 40 },\n };\n\n isDarkbackground = () => this.background === 'dark';\n\n @Watch('size')\n sizeHandler() {\n this.styles = {\n ...this.styles,\n '--size-track': `${this.sizes[this.size].size}px`,\n '--size': `${formsSizes[this.size].size}px`,\n '--gap': `${formsSizes[this.size].gap}px`,\n };\n }\n\n @Watch('color')\n @Watch('background')\n setColors() {\n const colors = [\n { name: '--info-base', background: 'info-base' },\n { name: '--neutral-black-shadow', background: 'neutral-black', opacity: 0.16 },\n { name: '--neutral-purewhite', background: 'neutral-purewhite' },\n { name: '--neutral-medium', background: 'neutral-medium' },\n { name: '--neutral-pale', background: 'neutral-pale' },\n { name: '--neutral-dark-base', background: `neutral-${this.isDarkbackground() ? 'dark' : 'base'}` },\n { name: '--neutral-darker-medium', background: `neutral-${this.isDarkbackground() ? 'darker' : 'medium'}` },\n { name: '--neutral-black-neutral-pale', background: `${this.isDarkbackground() ? 'neutral-black' : 'neutral-pale'}` },\n { name: '--neutral-black-neutral-base', background: `${this.isDarkbackground() ? 'neutral-dark' : 'neutral-base'}` },\n { name: '--color-base-light', background: `${this.color}-light` },\n { name: '--color-dark', background: `${this.color}-dark` },\n ];\n\n colors.forEach(color => {\n this.styles[color.name] = window.CuraAPI.theme.colors.getColor(color.background, color?.opacity);\n });\n this.styles = { ...this.styles };\n }\n\n connectedCallback() {\n this.sizeHandler();\n this.setColors();\n }\n\n /**\n * Callback for form association.\n */\n formAssociatedCallback(form: { ariaLabel: string }) {\n form.ariaLabel = this.label;\n }\n\n /**\n * Callback to restore the switch state from the form.\n */\n formStateRestoreCallback(state: { value: string }) {\n this.checked = state.value === 'true';\n this.internals.setFormValue(this.checked.toString());\n }\n\n /**\n * Callback to reset the switch state when the form is reset.\n */\n formResetCallback() {\n this.checked = false;\n this.internals.setValidity({});\n this.internals.setFormValue(this.checked.toString());\n }\n\n /**\n * Callback to update the switch's disabled state when the form's disabled state changes.\n */\n formDisabledCallback(disabled: boolean) {\n this.disabled = disabled;\n }\n\n toggleSwitch = () => {\n if (this.disabled) return null;\n\n this.checked = !this.checked;\n this.internals.setFormValue(this.checked.toString());\n this.onchange.emit({ checked: this.checked });\n };\n\n assignColor(colorDark: string, colorLight: string) {\n if (this.disabled) return this.isDarkbackground() ? 'neutral-dark' : 'neutral-dark';\n return this.isDarkbackground() ? colorDark : colorLight;\n }\n\n getClasses() {\n const classes = {};\n classes['container'] = true;\n classes['checked'] = this.checked;\n classes['disabled'] = this.disabled;\n classes['position'] = this.position === 'right';\n classes['textoverflow-single'] = this.textOverflow === 'single';\n\n return classes;\n }\n\n render() {\n return (\n <Host role=\"switch\" aria-checked={this.checked} aria-disabled={this.disabled}>\n <div class={this.getClasses()} style={this.styles} onClick={this.toggleSwitch}>\n <div class={`info ${this.textOverflow === 'single' ? 'textoverflow-single' : ''}`}>\n <cura-label\n textOverflow={this.textOverflow}\n style={{ textAlign: this.position === 'right' ? 'right' : 'left' }}\n class=\"label\"\n weight=\"bold\"\n size={this.size === 'large' ? 'medium' : 'xsmall'}\n lineHeight=\"125%\"\n color={this.assignColor('neutral-white', 'neutral-black')}\n >\n {this.label}\n </cura-label>\n <cura-label\n textOverflow={this.textOverflow}\n style={{ textAlign: this.position === 'right' ? 'right' : 'left' }}\n color={this.assignColor('primary-lighter', 'neutral-dark')}\n size=\"xsmall\"\n class=\"message\"\n >\n <slot></slot>\n </cura-label>\n </div>\n\n <div class=\"control\">\n <div class={`track ${this.size.toLowerCase()}`}>\n <div class={`thumb ${this.size.toLowerCase()}`} tabIndex={this.ontabindex}></div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as r,h as a,H as s,g as t}from"./p-4ee8efca.js";import{f as o}from"./p-f9b8f665.js";const i='@charset "UTF-8";:host{display:block;box-sizing:border-box;min-width:0}.container{display:flex;align-items:center;flex-direction:row-reverse;justify-content:start;gap:var(--gap);cursor:pointer}.position.container{flex-direction:row}.position .label-wrapper{justify-content:end}.position .message{text-align:right}.position .label{order:1}.info{display:flex;flex-direction:column}.info.textoverflow-single{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.label-wrapper{display:flex;justify-content:start;align-items:center;gap:5px}.label-wrapper.textoverflow-single{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.control{width:fit-content;cursor:pointer;position:relative}.checkbox{appearance:none;border:2px solid var(--neutral-base-neutral-medium);border-radius:4px;background:var(--neutral-black-neutral-purewhite);flex:1 0;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;box-sizing:border-box;width:var(--size);height:var(--size);flex:0 0 var(--size)}.icon{position:absolute;display:flex;opacity:0;transition:opacity 0.3s}.checkbox:focus{border-color:var(--info-base) !important}.disabled .checkbox{background:var(--neutral-black-neutral-white);border-color:var(--neutral-darker-neutral-base);cursor:not-allowed}.disabled .checkbox:hover{border-color:var(--neutral-darker-neutral-base) !important}.disabled.checked .checkbox,.disabled.indeterminate .checkbox{background:var(--neutral-black-neutral-white);border-color:var(--neutral-darker-neutral-base)}.disabled.checked .checkbox:hover,.disabled.indeterminate .checkbox:hover{border-color:var(--neutral-base-neutral-white);background:var(--primary-base-neutral-white)}.disabled .checkbox:focus{border-color:var(--neutral-darker-neutral-base) !important}.checked .checkbox{border-color:var(--color-dark);background:var(--color-base)}.checked .checkbox:hover{border-color:var(--color-base) !important;background:var(--color-light)}.indeterminate .checkbox{border-color:var(--color-base);background:var(--color-light)}.indeterminate .checkbox:hover{border-color:var(--color-dark) !important;background:var(--color-base)}.checked .icon,.indeterminate .icon{opacity:1}:not(.disabled):not(.checked):not(.indeterminate) .checkbox:hover{border-color:var(--neutral-purewhite-neutral-dark)}.success.dark .checkbox{background:var(--neutral-black)}.success .checkbox{border-color:var(--success-base);background:var(--success-lighter)}.success .checkbox:hover{border-color:var(--success-base) !important}.success.checked .checkbox{border-color:var(--success-dark-base);background:var(--success-base-lighter)}.success.checked .checkbox:hover{border-color:var(--success-dark-base)}.error.dark .checkbox{background:var(--neutral-black)}.error .checkbox{border-color:var(--error-base);background:var(--error-lighter)}.error .checkbox:hover{border-color:var(--error-base) !important}.error.checked .checkbox{border-color:var(--error-dark-base);background:var(--error-base-lighter)}.error.checked .checkbox:hover{border-color:var(--error-dark-base)}input{appearance:none;-webkit-appearance:none;-moz-appearance:none}';const c=i;const n=class{constructor(a){e(this,a);this.onchange=r(this,"onchange",7);if(a.$hostElement$["s-ei"]){this.internals=a.$hostElement$["s-ei"]}else{this.internals=a.$hostElement$.attachInternals();a.$hostElement$["s-ei"]=this.internals}this.isDarkBackground=()=>this.background==="dark";this.isDarkIconColor=()=>this.iconColor==="dark";this.handleClick=()=>{if(this.disabled)return;this.indeterminate=false;this.checked=!this.checked;this.internals.setFormValue(this.value);this.onchange.emit({value:this.value,checked:this.checked,indeterminate:this.indeterminate})};this.checked=false;this.indeterminate=false;this.status="default";this.disabled=false;this.required=false;this.label=undefined;this.ontabindex=0;this.position="left";this.value=undefined;this.name=undefined;this.size="medium";this.background="light";this.iconColor="dark";this.color="accent";this.textOverflow="none";this.styles={}}sizeHandler(){this.styles=Object.assign(Object.assign({},this.styles),{"--size":`${o[this.size].size}px`,"--gap":`${o[this.size].gap}px`})}setColors(){const e=[{name:"--color-base",background:`${this.color}-base`},{name:"--color-lighter",background:`${this.color}-lighter`},{name:"--color-light",background:`${this.color}-light`},{name:"--color-dark",background:`${this.color}-dark`},{name:"--info-base",background:"info-base"},{name:"--error-base",background:"error-base"},{name:"--success-lighter",background:"success-lighter"},{name:"--success-base",background:"success-base"},{name:"--success-dark",background:"success-dark"},{name:"--error-lighter",background:"error-lighter"},{name:"--neutral-black",background:"neutral-black"},{name:"--primary-base-neutral-white",background:this.isDarkBackground()?"primary-base":"neutral-white"},{name:"--neutral-base-neutral-medium",background:this.isDarkBackground()?"neutral-base":"neutral-medium"},{name:"--neutral-black-neutral-purewhite",background:this.isDarkBackground()?"neutral-black":"neutral-purewhite"},{name:"--neutral-black-neutral-white",background:this.isDarkBackground()?"neutral-black":"neutral-white"},{name:"--neutral-darker-neutral-base",background:this.isDarkBackground()?"neutral-darker":"neutral-base"},{name:"--neutral-base-neutral-base",background:this.isDarkBackground()?"primary-base":"neutral-base"},{name:"--neutral-purewhite-neutral-dark",background:this.isDarkBackground()?"neutral-purewhite":"neutral-dark"},{name:"--primary-base-neutral-medium",background:this.isDarkBackground()?"primary-base":"neutral-medium"},{name:"--success-base-lighter",background:this.isDarkBackground()?"success-base":"success-lighter"},{name:"--success-dark-base",background:this.isDarkBackground()?"success-dark":"success-base"},{name:"--error-base-lighter",background:this.isDarkBackground()?"error-base":"error-lighter"},{name:"--error-dark-base",background:this.isDarkBackground()?"error-dark":"error-base"}];e.forEach((e=>{this.styles[e.name]=window.CuraAPI.theme.colors.getColor(e.background)}));this.styles=Object.assign({},this.styles)}connectedCallback(){this.sizeHandler();this.setColors()}formAssociatedCallback(e){e.ariaLabel=this.label}formStateRestoreCallback(e){this.value=e.value;this.checked=e.checked;this.indeterminate=e.indeterminate;this.internals.setFormValue(this.value)}formResetCallback(){this.value="";this.checked=false;this.indeterminate=false;this.internals.setValidity({});this.internals.setFormValue(this.value)}formDisabledCallback(e){this.disabled=e}getClasses(){const e={};e["container"]=true;e["checked"]=this.checked;e["disabled"]=this.disabled;e[this.background]=true;e["indeterminate"]=this.indeterminate;e["position"]=this.position==="right";e[this.status]=true;return e}assignColor(e){if(this.disabled)return this.isDarkBackground()?"neutral-dark":"neutral-dark";const r={success:{icon:"success-dark",label:this.isDarkBackground()?"success-lighter":"success-darker",message:this.isDarkBackground()?"success-base":"success-dark"},error:{icon:"error-dark",label:this.isDarkBackground()?"error-lighter":"neutral-darker",message:this.isDarkBackground()?"error-base":"error-dark"},default:{icon:this.isDarkIconColor()?"neutral-black":"neutral-purewhite",label:this.isDarkBackground()?"neutral-white":"neutral-black",message:this.isDarkBackground()?"primary-lighter":"neutral-dark"}};return r[this.status][e]}getIcon(){const e=this.indeterminate?"minus":"check";const r=this.assignColor("icon");const s=this.size==="large"?20:"micro";return a("cura-icon",{class:"icon",name:e,size:s,color:r})}render(){return a(s,{key:"e21d722715810f05cf3e466e9be5bfd336612b16",role:"checkbox","aria-checked":this.checked,"aria-disabled":this.disabled,"aria-required":this.required,"aria-invalid":this.status==="error"},a("div",{key:"2395e186f4ec1af0618bc887d0c363b8f48a4ae1",class:this.getClasses(),style:this.styles,onClick:this.handleClick},a("div",{key:"8448200d67bdc09dddab7c9c2f5da5cb894ff010",class:`info ${this.textOverflow==="single"?"textoverflow-single":""}`},a("div",{key:"8b53feb54371634444781ce5d7bc9b62398ec373",class:`label-wrapper ${this.textOverflow==="single"?"textoverflow-single":""}`},a("cura-label",{key:"554e0e9d53a28d43b308f7f65555bd691958401a",textOverflow:this.textOverflow,class:"label",weight:"bold",size:this.size==="large"?"medium":"xsmall",color:this.assignColor("label")},this.label),this.required&&a("cura-paragraph",{key:"b1fb3b2604b9012adb03a582f38eeaa46c144017",lineHeight:"0%",marginBlock:"0",color:"error-base"},"*"," ")),a("cura-label",{key:"abd1d31bc14d10c624833f298b2d34f80a99d412",textOverflow:this.textOverflow,color:this.assignColor("message"),size:"xsmall",class:"message"},a("slot",{key:"2ffd772eb62811f918e47dbbd5248339b8bbab8f"}))),a("div",{key:"ccb93d0dcbc7c4eba7df0c63e7654eb2a9c4bdf1",class:"checkbox",tabIndex:this.ontabindex},a("input",{key:"93c5fc6e54828a9691b73a85eff57120aeb39e29",type:"checkbox",name:this.name,value:this.value,disabled:this.disabled,required:this.required,checked:this.checked,indeterminate:this.indeterminate}),this.getIcon())))}static get formAssociated(){return true}get host(){return t(this)}static get watchers(){return{size:["sizeHandler"],color:["setColors"],background:["setColors","assignColor"],iconColor:["assignColor"]}}};n.style=c;export{n as cura_checkbox};
2
- //# sourceMappingURL=p-b856b946.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["curaCheckboxCss","CuraCheckboxStyle0","CuraCheckbox","this","isDarkBackground","background","isDarkIconColor","iconColor","handleClick","disabled","indeterminate","checked","internals","setFormValue","value","onchange","emit","sizeHandler","styles","Object","assign","formsSizes","size","gap","setColors","colors","name","color","forEach","window","CuraAPI","theme","getColor","connectedCallback","formAssociatedCallback","form","ariaLabel","label","formStateRestoreCallback","state","formResetCallback","setValidity","formDisabledCallback","getClasses","classes","position","status","assignColor","type","statusColors","success","icon","message","error","default","getIcon","iconName","iconSize","h","class","render","Host","key","role","required","style","onClick","textOverflow","weight","lineHeight","marginBlock","tabIndex","ontabindex"],"sources":["src/components/forms/cura-checkbox/cura-checkbox.scss?tag=cura-checkbox&encapsulation=shadow","src/components/forms/cura-checkbox/cura-checkbox.tsx"],"sourcesContent":["@import '../../../scss/mixins/text.scss';\n\n:host {\n display: block;\n box-sizing: border-box;\n\n min-width: 0;\n}\n\n/* Container e Layout */\n.container {\n display: flex;\n align-items: center;\n flex-direction: row-reverse;\n justify-content: start;\n gap: var(--gap);\n\n cursor: pointer;\n}\n\n.position {\n &.container {\n flex-direction: row;\n }\n\n .label-wrapper {\n justify-content: end;\n }\n\n .message {\n text-align: right;\n }\n\n .label {\n order: 1;\n }\n}\n\n.info {\n display: flex;\n flex-direction: column;\n\n &.textoverflow-single {\n @include truncate-single();\n }\n}\n\n.label-wrapper {\n display: flex;\n justify-content: start;\n align-items: center;\n gap: 5px;\n\n &.textoverflow-single {\n @include truncate-single();\n }\n}\n\n/* Control e Checkbox */\n.control {\n width: fit-content;\n cursor: pointer;\n position: relative;\n}\n\n.checkbox {\n appearance: none;\n border: 2px solid var(--neutral-base-neutral-medium);\n border-radius: 4px;\n background: var(--neutral-black-neutral-purewhite);\n flex: 1 0;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n cursor: pointer;\n box-sizing: border-box;\n width: var(--size);\n height: var(--size);\n flex: 0 0 var(--size);\n}\n\n.icon {\n position: absolute;\n display: flex;\n opacity: 0;\n transition: opacity 0.3s;\n}\n\n/* Estados de Foco */\n.checkbox:focus {\n border-color: var(--info-base) !important;\n}\n\n/* Estado Disabled */\n.disabled .checkbox {\n background: var(--neutral-black-neutral-white);\n border-color: var(--neutral-darker-neutral-base);\n cursor: not-allowed;\n\n &:hover {\n border-color: var(--neutral-darker-neutral-base) !important;\n }\n}\n\n.disabled.checked .checkbox,\n.disabled.indeterminate .checkbox {\n background: var(--neutral-black-neutral-white);\n border-color: var(--neutral-darker-neutral-base);\n\n &:hover {\n border-color: var(--neutral-base-neutral-white);\n background: var(--primary-base-neutral-white);\n }\n}\n\n.disabled .checkbox:focus {\n border-color: var(--neutral-darker-neutral-base) !important;\n}\n\n/* Estado Checked */\n.checked .checkbox {\n border-color: var(--color-dark);\n background: var(--color-base);\n\n &:hover {\n border-color: var(--color-base) !important;\n background: var(--color-light);\n }\n}\n\n/* Estado Indeterminate */\n.indeterminate .checkbox {\n border-color: var(--color-base);\n background: var(--color-light);\n\n &:hover {\n border-color: var(--color-dark) !important;\n background: var(--color-base);\n }\n}\n\n.checked .icon,\n.indeterminate .icon {\n opacity: 1;\n}\n\n/* Hover para não disabled, default, checked, indeterminate */\n:not(.disabled):not(.checked):not(.indeterminate) .checkbox:hover {\n border-color: var(--neutral-purewhite-neutral-dark);\n}\n\n/* Estado Success */\n\n.success.dark .checkbox {\n background: var(--neutral-black);\n}\n\n.success .checkbox {\n border-color: var(--success-base);\n background: var(--success-lighter);\n\n &:hover {\n border-color: var(--success-base) !important;\n }\n}\n\n.success.checked .checkbox {\n border-color: var(--success-dark-base);\n background: var(--success-base-lighter);\n\n &:hover {\n border-color: var(--success-dark-base);\n }\n}\n\n/* Estado Error */\n\n.error.dark .checkbox {\n background: var(--neutral-black);\n}\n\n.error .checkbox {\n border-color: var(--error-base);\n background: var(--error-lighter);\n\n &:hover {\n border-color: var(--error-base) !important;\n }\n}\n\n.error.checked .checkbox {\n border-color: var(--error-dark-base);\n background: var(--error-base-lighter);\n\n &:hover {\n border-color: var(--error-dark-base);\n }\n}\n\n/* Input */\ninput {\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n","import { Component, Prop, Event, Element, h, Host, Watch, EventEmitter, State, AttachInternals } from '@stencil/core';\nimport { formsSizes } from '../cura-forms.definitions';\n\n@Component({\n tag: 'cura-checkbox',\n styleUrl: 'cura-checkbox.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class CuraCheckbox {\n /**\n * Reflects the checked state of the checkbox.\n * Mutable property allowing state change.\n */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false;\n /**\n * Reflects the indeterminate state of the checkbox.\n * Mutable property allowing state change.\n */\n @Prop({ reflect: true, mutable: true }) indeterminate: boolean = false;\n /**\n * Status of the checkbox.\n * Can be 'error', 'success', or 'default'.\n */\n @Prop({ reflect: true, mutable: true }) status: 'error' | 'success' | 'default' = 'default';\n /**\n * Reflects the disabled state of the checkbox.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n /**\n * Reflects the required state of the checkbox.\n */\n @Prop({ reflect: true }) required: boolean = false;\n /**\n * Text label associated with the checkbox.\n */\n @Prop({ reflect: true }) label: string;\n /**\n * Specifies the tabindex of the checkbox.\n */\n @Prop({ reflect: true }) ontabindex: number = 0;\n /**\n * Position of the label relative to the checkbox.\n * Can be 'left' or 'right'.\n */\n @Prop({ reflect: true }) position: 'left' | 'right' = 'left';\n /**\n * Value associated with the checkbox.\n */\n @Prop({ reflect: true }) value: string;\n /**\n * Name attribute of the checkbox.\n */\n @Prop({ reflect: true }) name: string;\n /**\n * Size of the checkbox.\n * Can be 'small', 'medium', or 'large'.\n */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n /**\n * Background theme of the checkbox.\n * Can be 'dark' or 'light'.\n */\n @Prop() background: 'dark' | 'light' = 'light';\n /**\n * iconColor theme of the checkbox.\n * Can be 'dark' or 'light'.\n */\n @Prop() iconColor: 'dark' | 'light' = 'dark';\n /**\n * Color theme of the checkbox.\n */\n @Prop() color = 'accent';\n\n /**\n * Apply text-overflow ellipsis definitions.\n * Default to none\n */\n @Prop({ reflect: true }) textOverflow: 'none' | 'single' | string = 'none';\n\n @State() styles = {};\n\n @Element() host: HTMLElement;\n\n @Event() onchange: EventEmitter<{ value: string; checked: boolean; indeterminate: boolean }>;\n\n @AttachInternals() internals: ElementInternals;\n\n isDarkBackground = () => this.background === 'dark';\n\n isDarkIconColor = () => this.iconColor === 'dark';\n\n @Watch('size')\n sizeHandler() {\n this.styles = {\n ...this.styles,\n '--size': `${formsSizes[this.size].size}px`,\n '--gap': `${formsSizes[this.size].gap}px`,\n };\n }\n\n /**\n * Watches changes in color and background properties to update styles.\n */\n @Watch('color')\n @Watch('background')\n setColors() {\n const colors = [\n { name: '--color-base', background: `${this.color}-base` },\n { name: '--color-lighter', background: `${this.color}-lighter` },\n { name: '--color-light', background: `${this.color}-light` },\n { name: '--color-dark', background: `${this.color}-dark` },\n { name: '--info-base', background: 'info-base' },\n { name: '--error-base', background: 'error-base' },\n { name: '--success-lighter', background: 'success-lighter' },\n { name: '--success-base', background: 'success-base' },\n { name: '--success-dark', background: 'success-dark' },\n { name: '--error-lighter', background: 'error-lighter' },\n { name: '--neutral-black', background: 'neutral-black' },\n { name: '--primary-base-neutral-white', background: this.isDarkBackground() ? 'primary-base' : 'neutral-white' },\n { name: '--neutral-base-neutral-medium', background: this.isDarkBackground() ? 'neutral-base' : 'neutral-medium' },\n { name: '--neutral-black-neutral-purewhite', background: this.isDarkBackground() ? 'neutral-black' : 'neutral-purewhite' },\n { name: '--neutral-black-neutral-white', background: this.isDarkBackground() ? 'neutral-black' : 'neutral-white' },\n { name: '--neutral-darker-neutral-base', background: this.isDarkBackground() ? 'neutral-darker' : 'neutral-base' },\n { name: '--neutral-base-neutral-base', background: this.isDarkBackground() ? 'primary-base' : 'neutral-base' },\n { name: '--neutral-purewhite-neutral-dark', background: this.isDarkBackground() ? 'neutral-purewhite' : 'neutral-dark' },\n { name: '--primary-base-neutral-medium', background: this.isDarkBackground() ? 'primary-base' : 'neutral-medium' },\n { name: '--success-base-lighter', background: this.isDarkBackground() ? 'success-base' : 'success-lighter' },\n { name: '--success-dark-base', background: this.isDarkBackground() ? 'success-dark' : 'success-base' },\n { name: '--error-base-lighter', background: this.isDarkBackground() ? 'error-base' : 'error-lighter' },\n { name: '--error-dark-base', background: this.isDarkBackground() ? 'error-dark' : 'error-base' },\n ];\n\n colors.forEach(color => {\n this.styles[color.name] = window.CuraAPI.theme.colors.getColor(color.background);\n });\n this.styles = { ...this.styles };\n }\n\n connectedCallback() {\n this.sizeHandler();\n this.setColors();\n }\n\n /**\n * Callback for form association.\n */\n formAssociatedCallback(form: { ariaLabel: string }) {\n form.ariaLabel = this.label;\n }\n\n /**\n * Callback to restore the switch state from the form.\n */\n formStateRestoreCallback(state: { value: string; checked: boolean; indeterminate: boolean }) {\n this.value = state.value;\n this.checked = state.checked;\n this.indeterminate = state.indeterminate;\n this.internals.setFormValue(this.value);\n }\n\n /**\n * Callback to reset the switch state when the form is reset.\n */\n formResetCallback() {\n this.value = '';\n this.checked = false;\n this.indeterminate = false;\n this.internals.setValidity({});\n this.internals.setFormValue(this.value);\n }\n\n /**\n * Callback to update the switch's disabled state when the form's disabled state changes.\n */\n formDisabledCallback(disabled: boolean) {\n this.disabled = disabled;\n }\n\n handleClick = () => {\n if (this.disabled) return;\n\n this.indeterminate = false;\n this.checked = !this.checked;\n this.internals.setFormValue(this.value);\n this.onchange.emit({ value: this.value, checked: this.checked, indeterminate: this.indeterminate });\n };\n\n getClasses() {\n const classes = {};\n classes['container'] = true;\n classes['checked'] = this.checked;\n classes['disabled'] = this.disabled;\n classes[this.background] = true;\n classes['indeterminate'] = this.indeterminate;\n classes['position'] = this.position === 'right';\n classes[this.status] = true;\n\n return classes;\n }\n\n /**\n * Assigns color based on status and background theme.\n * @param defaultColor Default color.\n */\n @Watch('background')\n @Watch('iconColor')\n assignColor(type: 'icon' | 'label' | 'message') {\n if (this.disabled) return this.isDarkBackground() ? 'neutral-dark' : 'neutral-dark';\n\n const statusColors = {\n success: {\n icon: 'success-dark',\n label: this.isDarkBackground() ? 'success-lighter' : 'success-darker',\n message: this.isDarkBackground() ? 'success-base' : 'success-dark',\n },\n error: {\n icon: 'error-dark',\n label: this.isDarkBackground() ? 'error-lighter' : 'neutral-darker',\n message: this.isDarkBackground() ? 'error-base' : 'error-dark',\n },\n default: {\n icon: this.isDarkIconColor() ? 'neutral-black' : 'neutral-purewhite',\n label: this.isDarkBackground() ? 'neutral-white' : 'neutral-black',\n message: this.isDarkBackground() ? 'primary-lighter' : 'neutral-dark',\n },\n };\n\n return statusColors[this.status][type];\n }\n\n /**\n * Retrieves icon element based on checkbox state.\n */\n getIcon() {\n const iconName = this.indeterminate ? 'minus' : 'check';\n const iconColor = this.assignColor('icon');\n const iconSize = this.size === 'large' ? 20 : 'micro';\n\n return <cura-icon class=\"icon\" name={iconName} size={iconSize} color={iconColor}></cura-icon>;\n }\n\n render() {\n return (\n <Host role=\"checkbox\" aria-checked={this.checked} aria-disabled={this.disabled} aria-required={this.required} aria-invalid={this.status === 'error'}>\n <div class={this.getClasses()} style={this.styles} onClick={this.handleClick}>\n <div class={`info ${this.textOverflow === 'single' ? 'textoverflow-single' : ''}`}>\n <div class={`label-wrapper ${this.textOverflow === 'single' ? 'textoverflow-single' : ''}`}>\n <cura-label textOverflow={this.textOverflow} class=\"label\" weight=\"bold\" size={this.size === 'large' ? 'medium' : 'xsmall'} color={this.assignColor('label')}>\n {this.label}\n </cura-label>\n {this.required && (\n <cura-paragraph lineHeight=\"0%\" marginBlock=\"0\" color=\"error-base\">\n *{' '}\n </cura-paragraph>\n )}\n </div>\n <cura-label textOverflow={this.textOverflow} color={this.assignColor('message')} size=\"xsmall\" class=\"message\">\n <slot></slot>\n </cura-label>\n </div>\n <div class={'checkbox'} tabIndex={this.ontabindex}>\n <input\n type=\"checkbox\"\n name={this.name}\n value={this.value}\n disabled={this.disabled}\n required={this.required}\n checked={this.checked}\n indeterminate={this.indeterminate}\n />\n {this.getIcon()}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{S as t}from"./p-2db4deb3.js";const e={color:{primary:{100:"113,197,232",300:"68,142,205",500:"0,61,165",700:"0,48,117",900:"0,40,85"},secondary:{100:"245,236,227",300:"221,192,162",500:"204,160,116",700:"136,107,77",900:"41,32,23"},accent:{100:"255,194,123",300:"255,168,74",500:"255,130,0",700:"215,114,10",900:"155,90,26"}},spacing:{base:4},font:{size:"14px",color:"#4A4A4A",body:"'Gotham', Arial, Helvetica, sans-serif",heading:"'Gotham', Arial, Helvetica, sans-serif",display:"'Gotham', Arial, Helvetica, sans-serif",weights:{thin:100,light:300,regular:400,medium:500,bold:700,black:900}}};const i=Object.assign(Object.assign({},e),{color:{primary:{100:"248,227,226",300:"255,179,171",500:"218,113,111",700:"145,75,74",900:"73,38,37"},secondary:{100:"253,251,249",300:"247,244,238",500:"245,236,227",700:"204,197,189",900:"163,157,151"},accent:{100:"236,239,249",300:"133,153,203",500:"11,20,151",700:"7,13,101",900:"4,7,50"}},font:{size:"14px",color:"#4A4A4A",body:"'Gotham', Arial, Helvetica, sans-serif",heading:"'Gotham', Arial, Helvetica, sans-serif",display:"'Gotham', Arial, Helvetica, sans-serif",weights:{thin:100,light:300,regular:400,medium:500,bold:700,black:900}}});const s=Object.assign(Object.assign({},e),{color:{primary:{100:"170,190,225",300:"85,126,196",500:"0,61,166",700:"0,41,111",900:"0,12,33"},secondary:{100:"205,215,227",300:"155,175,199",500:"104,134,171",700:"54,95,143",900:"4,54,115"},accent:{100:"153,207,255",300:"71,169,255",500:"0,131,245",700:"0,109,204",900:"0,88,164"},aux:{100:"218,242,239",300:"132,212,202",500:"71,191,176",700:"33,100,92",900:"14,38,35"}},font:{size:"14px",color:"#4A4A4A",body:"'Hanken Grotesk', Arial, Helvetica, sans-serif",heading:"'Hanken Grotesk', Arial, Helvetica, sans-serif",display:"'Hanken Grotesk', Arial, Helvetica, sans-serif",weights:{thin:100,light:300,regular:400,medium:500,bold:700,black:900}}});const r=Object.assign(Object.assign({},e),{color:{primary:{100:"153,197,255",300:"67,142,241",500:"0,47,108",700:"1,39,91",900:"0,33,77"},secondary:{100:"243,237,227",300:"216,194,163",500:"208,173,103",700:"201,155,64",900:"149,104,15"},accent:{100:"167,230,215",300:"130,225,209",500:"44,213,196",700:"26,188,169",900:"0,150,129"}}});const o=Object.assign(Object.assign({},e),{color:{primary:{100:"204,217,231",300:"85,128,174",500:"0,65,134",700:"0,43,89",900:"0,13,27"},secondary:{100:"238,232,206",300:"198,180,92",500:"170,142,11",700:"113,95,7",900:"34,28,2"},accent:{100:"249,232,213",300:"228,160,79",500:"223,141,44",700:"149,94,29",900:"45,28,9"}},font:{size:"14px",color:"#4A4A4A",body:"'Roboto', Arial, Helvetica, sans-serif",heading:"'Roboto', Arial, Helvetica, sans-serif",display:"'Roboto', Arial, Helvetica, sans-serif",weights:{thin:100,light:300,regular:400,medium:500,bold:700,black:900}}});const a={default:e,maternidade:i,oncologia:s,richet:r,legacyDefault:o};class n{constructor(){this.NeutralDepthAlias={purewhite:"0",white:"100",pale:"200",lighter:"300",light:"400",base:"500",medium:"600",dark:"700",darker:"800",black:"900"};this.ColorDepthAlias={lighter:"100",light:"300",base:"500",dark:"700",darker:"900"}}getColor(t="primary-base",e=1){const{color:i,depth:s}=this.splitColorDepth(t);const r=this.getStatic(i,s,e);if(r)return r;return this.getDynamic(i,s,e)}getStatic(e,i,s=1){var r,o,a;const n=t.color[e];if(!n)return null;const c=e==="neutral"?this.NeutralDepthAlias[i]:this.ColorDepthAlias[i];return((r=t.color[e])===null||r===void 0?void 0:r[c])?`rgba(${(o=t.color[e])===null||o===void 0?void 0:o[c]}, ${s})`:`rgba(${(a=t.color[e])===null||a===void 0?void 0:a[i]}, ${s})`}getDynamic(t,e,i){const s=this.ColorDepthAlias[e]?`--cura-color-${t}-${this.ColorDepthAlias[e]}`:`--cura-color-${t}-${e}`;return getComputedStyle(document.documentElement).getPropertyValue(s)?`rgba(var(${s}), ${i})`:`rgba(var(--cura-color-primary-500), ${i})`}splitColorDepth(t){const[e,i]=t.toLowerCase().split(/-(.*)/);return{color:e!==null&&e!==void 0?e:"primary",depth:i!==null&&i!==void 0?i:"base"}}}class c{constructor(){this.curaSpacing="--cura-spacing-base"}getSpacing(){if(getComputedStyle(document.body).getPropertyValue(this.curaSpacing)){return`var(${this.curaSpacing})`}return"4"}}class l{constructor(){this.getSize=()=>`var(--cura-font-size)`;this.getColor=()=>`var(--cura-font-color)`}getFamily(t="body"){const e=`--cura-font-${t.toLowerCase()}`;return getComputedStyle(document.body).getPropertyValue(e)?`var(${e})`:"var(--cura-font-body)"}getWeights(){const t={};Object.keys(e.font.weights).forEach((e=>t[e]=`var(--cura-font-weights-${e})`));return t}}class h{constructor(){}get(e=null,i=null){if(e){const s=i?t.breakpoints[e][i]:t.breakpoints[e];if(s||s===0)return s}return t.breakpoints}}class d{constructor(){var t;this.prefix="--cura";this.colors=new n;this.spacing=new c;this.fonts=new l;this.breakpoints=new h;this.groupObject={};this.setCssVar=(t,e)=>{const i=this.groupPath(e,t[0]);this.rootElement.style.setProperty(i,t[1])};this.groupPath=(t,e)=>`${t}-${e}`;this.isObject=t=>t&&typeof t==="object"&&!Array.isArray(t);this.mergeObject=(t,e)=>{const i=Object.entries(t);for(let t of i){if(this.isObject(t[1])){this.mergeObject(t[1],e[t[0]])}else{e[t[0]]=t[1]}}};this.buildCssVars=(t,e,i=false)=>{const s=Object.entries(e);for(let e of s){if(this.isObject(e[1])){this.buildCssVars(this.groupPath(t,e[0]),e[1],i)}else{if(i){const i=this.groupPath(t,e[0]);this.groupObject[i]=e[1]}else{this.setCssVar(e,t)}}}};if(typeof window==="undefined")return;this.rootElement=(t=window===null||window===void 0?void 0:window.document)===null||t===void 0?void 0:t.documentElement}load(t="default"){const e=a[t]?a[t]:a.default;this.buildCssVars(this.prefix,e)}loadVarsSSR(t="default"){const e=a[t]?a[t]:a.default;this.buildCssVars(this.prefix,e,true);return this.groupObject}setCustom(t){const e=t.name;if(e in a){console.log("Error building custom theme. Theme %s already exists. Loading default theme.",e);this.load("default")}else{const i=t.fromPreset&&t.fromPreset in a?a[t.fromPreset]:a.default;const s=Object.assign({},JSON.parse(JSON.stringify(i)));this.mergeObject(t.definitions,s);a[e]=s;this.load(e)}}}export{d as C};
2
- //# sourceMappingURL=p-bf8e2037.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["ThemeDefault","color","primary","secondary","accent","spacing","base","font","size","body","heading","display","weights","thin","light","regular","medium","bold","black","ThemeMaternity","Object","assign","ThemeOncology","aux","ThemeRichet","ThemeLegacyDefault","ThemePresets","default","maternidade","oncologia","richet","legacyDefault","CuraThemeColorsModule","constructor","this","NeutralDepthAlias","purewhite","white","pale","lighter","dark","darker","ColorDepthAlias","getColor","colorWithDepth","opacity","depth","splitColorDepth","staticColor","getStatic","getDynamic","colorObj","Static","alias","_a","_b","_c","themeVar","getComputedStyle","document","documentElement","getPropertyValue","toLowerCase","split","CuraThemeSpacingModule","curaSpacing","getSpacing","CuraThemeFontsModule","getSize","getFamily","type","curaFontFamilyCSSVar","getWeights","keys","forEach","key","CuraThemeBreakpointsModule","get","position","breakpoint","breakpoints","CuraThemeModule","prefix","colors","fonts","groupObject","setCssVar","prop","path","varName","groupPath","rootElement","style","setProperty","a","b","isObject","val","Array","isArray","mergeObject","from","to","entries","e","buildCssVars","obj","isGroup","window","load","theme","preset","loadVarsSSR","setCustom","customTheme","customTag","name","console","log","fromPreset","newTheme","JSON","parse","stringify","definitions"],"sources":["src/api/theme-presets/theme-default.ts","src/api/theme-presets/theme-maternity.ts","src/api/theme-presets/theme-oncology.ts","src/api/theme-presets/theme-richet.ts","src/api/theme-presets/theme-legacy-default.ts","src/api/theme-presets/theme-presets.ts","src/api/modules/cura-theme-colors-module.ts","src/api/modules/cura-theme-spacing-module.ts","src/api/modules/cura-theme-fonts-module.ts","src/api/modules/cura-theme-breakpoints-module.ts","src/api/modules/cura-theme-module.ts"],"sourcesContent":["/**\n * Cura Default Theme\n */\nexport const ThemeDefault = {\n /* Colors */\n color: {\n primary: {\n '100': '113,197,232',\n '300': '68,142,205',\n '500': '0,61,165',\n '700': '0,48,117',\n '900': '0,40,85'\n },\n secondary: {\n '100': '245,236,227',\n '300': '221,192,162',\n '500': '204,160,116',\n '700': '136,107,77',\n '900': '41,32,23'\n },\n accent: {\n '100': '255,194,123',\n '300': '255,168,74',\n '500': '255,130,0',\n '700': '215,114,10',\n '900': '155,90,26'\n }\n },\n /* Spacing */\n spacing: {\n base: 4,\n },\n /* Fonts */\n font: {\n size: '14px',\n color: '#4A4A4A',\n body: \"'Gotham', Arial, Helvetica, sans-serif\",\n heading: \"'Gotham', Arial, Helvetica, sans-serif\",\n display: \"'Gotham', Arial, Helvetica, sans-serif\",\n weights: {\n thin: 100,\n light: 300,\n regular: 400,\n medium: 500,\n bold: 700,\n black: 900\n },\n }\n};\n","/**\n * Maternity Theme\n */\nimport { ThemeDefault } from \"./theme-default\";\n\nexport const ThemeMaternity = {\n /* Get default theme */\n ...ThemeDefault,\n\n /* Custom */\n /* Colors */\n color: {\n primary: {\n '100': '248,227,226',\n '300': '255,179,171',\n '500': '218,113,111',\n '700': '145,75,74',\n '900': '73,38,37'\n },\n secondary: {\n '100': '253,251,249',\n '300': '247,244,238',\n '500': '245,236,227',\n '700': '204,197,189',\n '900': '163,157,151'\n },\n accent: {\n '100': '236,239,249',\n '300': '133,153,203',\n '500': '11,20,151',\n '700': '7,13,101',\n '900': '4,7,50'\n }\n },\n font: {\n size: '14px',\n color: '#4A4A4A',\n body: \"'Gotham', Arial, Helvetica, sans-serif\",\n heading: \"'Gotham', Arial, Helvetica, sans-serif\",\n display: \"'Gotham', Arial, Helvetica, sans-serif\",\n weights: {\n thin: 100,\n light: 300,\n regular: 400,\n medium: 500,\n bold: 700,\n black: 900\n },\n }\n};\n","/**\n * Oncology Theme\n */\nimport { ThemeDefault } from \"./theme-default\";\n\nexport const ThemeOncology = {\n /* Get default theme */\n ...ThemeDefault,\n\n /* Custom */\n /* Colors */\n color: {\n primary: {\n '100': '170,190,225',\n '300': '85,126,196',\n '500': '0,61,166',\n '700': '0,41,111',\n '900': '0,12,33'\n },\n secondary: {\n '100': '205,215,227',\n '300': '155,175,199',\n '500': '104,134,171',\n '700': '54,95,143',\n '900': '4,54,115',\n },\n accent: {\n '100': '153,207,255',\n '300': '71,169,255',\n '500': '0,131,245',\n '700': '0,109,204',\n '900': '0,88,164',\n },\n aux: {\n '100': '218,242,239',\n '300': '132,212,202',\n '500': '71,191,176',\n '700': '33,100,92',\n '900': '14,38,35',\n },\n },\n font: {\n size: '14px',\n color: '#4A4A4A',\n body: \"'Hanken Grotesk', Arial, Helvetica, sans-serif\",\n heading: \"'Hanken Grotesk', Arial, Helvetica, sans-serif\",\n display: \"'Hanken Grotesk', Arial, Helvetica, sans-serif\",\n weights: {\n thin: 100,\n light: 300,\n regular: 400,\n medium: 500,\n bold: 700,\n black: 900\n },\n }\n};\n","/**\n * Richet Theme\n */\nimport { ThemeDefault } from \"./theme-default\";\n\nexport const ThemeRichet = {\n /* Get default theme */\n ...ThemeDefault,\n\n /* Custom */\n /* Colors */\n color: {\n primary: {\n '100': '153,197,255',\n '300': '67,142,241',\n '500': '0,47,108',\n '700': '1,39,91',\n '900': '0,33,77'\n },\n secondary: {\n '100': '243,237,227',\n '300': '216,194,163',\n '500': '208,173,103',\n '700': '201,155,64',\n '900': '149,104,15'\n },\n accent: {\n '100': '167,230,215',\n '300': '130,225,209',\n '500': '44,213,196',\n '700': '26,188,169',\n '900': '0,150,129'\n }\n },\n};\n","/**\n * Legacy Default Theme\n */\nimport { ThemeDefault } from \"./theme-default\";\n\nexport const ThemeLegacyDefault = {\n /* Get default theme */\n ...ThemeDefault,\n\n /* Custom */\n /* Colors */\n color: {\n primary: {\n '100': '204,217,231',\n '300': '85,128,174',\n '500': '0,65,134',\n '700': '0,43,89',\n '900': '0,13,27'\n },\n secondary: {\n '100': '238,232,206',\n '300': '198,180,92',\n '500': '170,142,11',\n '700': '113,95,7',\n '900': '34,28,2'\n },\n accent: {\n '100': '249,232,213',\n '300': '228,160,79',\n '500': '223,141,44',\n '700': '149,94,29',\n '900': '45,28,9'\n }\n },\n /* Fonts */\n font: {\n size: '14px',\n color: '#4A4A4A',\n body: \"'Roboto', Arial, Helvetica, sans-serif\",\n heading: \"'Roboto', Arial, Helvetica, sans-serif\",\n display: \"'Roboto', Arial, Helvetica, sans-serif\",\n weights: {\n thin: 100,\n light: 300,\n regular: 400,\n medium: 500,\n bold: 700,\n black: 900\n },\n }\n};\n","import { ThemeDefault } from './theme-default';\nimport { ThemeMaternity } from './theme-maternity';\nimport { ThemeOncology } from './theme-oncology';\nimport { ThemeRichet } from './theme-richet';\nimport { ThemeLegacyDefault } from './theme-legacy-default';\n\nexport const ThemePresets = {\n 'default': ThemeDefault,\n 'maternidade': ThemeMaternity,\n 'oncologia': ThemeOncology,\n 'richet': ThemeRichet,\n 'legacyDefault': ThemeLegacyDefault\n};\n","import { Static } from \"../theme-presets/static\";\n\nexport default class CuraThemeColorsModule {\n\n NeutralDepthAlias = {\n 'purewhite': '0',\n 'white': '100',\n 'pale': '200',\n 'lighter': '300',\n 'light': '400',\n 'base': '500',\n 'medium': '600',\n 'dark': '700',\n 'darker': '800',\n 'black': '900',\n };\n\n ColorDepthAlias = {\n 'lighter': '100',\n 'light': '300',\n 'base': '500',\n 'dark': '700',\n 'darker': '900'\n }\n\n constructor() {}\n\n /**\n * Get theme color.\n * @param colorWithDepth string Ex.: primary-light\n * @returns RGBA value.\n */\n getColor(colorWithDepth: string = \"primary-base\", opacity = 1): string {\n const { color, depth } = this.splitColorDepth(colorWithDepth);\n const staticColor = this.getStatic(color, depth, opacity);\n if (staticColor) return staticColor;\n return this.getDynamic(color, depth, opacity);\n }\n\n /**\n * Internal: Look for static color by name and depth.\n * @param color Color name.\n * @param depth Depth number or alias.\n * @returns RGBA value.\n */\n getStatic(color: string, depth: string, opacity = 1) {\n const colorObj = Static.color[color];\n if (!colorObj) return null;\n const alias = color === 'neutral' ? this.NeutralDepthAlias[depth] : this.ColorDepthAlias[depth];\n return Static.color[color]?.[alias]\n ? `rgba(${Static.color[color]?.[alias]}, ${opacity})`\n : `rgba(${Static.color[color]?.[depth]}, ${opacity})`;\n }\n\n /**\n * Internal: Look for theme dynamic colors.\n * @param color Color name.\n * @param depth Color depth.\n * @returns RGBA value.\n */\n getDynamic(color: string, depth: string, opacity: number) {\n const themeVar = this.ColorDepthAlias[depth]\n ? `--cura-color-${color}-${this.ColorDepthAlias[depth]}`\n : `--cura-color-${color}-${depth}`;\n return getComputedStyle(document.documentElement).getPropertyValue(themeVar)\n ? `rgba(var(${themeVar}), ${opacity})`\n : `rgba(var(--cura-color-primary-500), ${opacity})`;\n }\n\n /**\n * Internal: Split color strings\n * @param colorWithDepth Color string [color]-[depth]. Ex.: primary-dark.\n * @returns Object { color: string, depth: string }.\n */\n private splitColorDepth(colorWithDepth: string): { color: string, depth: string } {\n const [ color, depth ] = colorWithDepth.toLowerCase().split(/-(.*)/);\n return { color: color ?? \"primary\", depth: depth ?? \"base\" };\n }\n\n}\n","export default class CuraThemeSpacingModule {\n\n private curaSpacing = '--cura-spacing-base';\n\n constructor() {}\n\n /** Returns the base spacing var defined in the theme */\n getSpacing(): string {\n if (getComputedStyle(document.body).getPropertyValue(this.curaSpacing)) {\n return `var(${this.curaSpacing})`;\n }\n return '4';\n }\n}\n","import { ThemeDefault } from \"../theme-presets/theme-default\";\n\nexport default class CuraThemeFontsModule {\n\n constructor() {}\n\n /**\n * Get the CSS variable related to the font family defined by the theme.\n * @param type 'body' | 'heading' | 'display'\n * @returns Related css variable as a string.\n */\n getFamily(type: string = \"body\"): string {\n const curaFontFamilyCSSVar = `--cura-font-${type.toLowerCase()}`;\n return getComputedStyle(document.body).getPropertyValue(curaFontFamilyCSSVar)\n ? `var(${curaFontFamilyCSSVar})`\n : 'var(--cura-font-body)';\n }\n\n /**\n * Get the CSS variables related to font weights defined by the theme.\n * @returns Object with CSS vars weights definitions for thin, light, regular, medium, bold and black fonts.\n */\n getWeights(): any {\n const weights = {};\n Object.keys(ThemeDefault.font.weights).forEach((key) => weights[key] = `var(--cura-font-weights-${key})`);\n return weights;\n }\n\n /**\n * Get the CSS variable related to the font size base defined by the theme.\n * @returns Related CSS variable as a string.\n */\n getSize = () => `var(--cura-font-size)`;\n\n /**\n * Get CSS variable related to the font color defined by the theme.\n * @returns Related CSS variable as a string.\n */\n getColor = () => `var(--cura-font-color)`;\n\n}\n","import { Static } from '../theme-presets/static';\n\nexport default class CuraThemeBreakpointsModule {\n\n constructor() {}\n\n /** Returns the base spacing var defined in the theme */\n get(size: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' = null, position: 'min' | 'max' = null): any {\n if (size) {\n const breakpoint = position ? Static.breakpoints[size][position] : Static.breakpoints[size];\n if (breakpoint || breakpoint === 0) return breakpoint;\n }\n return Static.breakpoints;\n }\n}\n","import { ThemePresets } from '../theme-presets/theme-presets';\nimport { CuraCustomTheme } from '../cura-api.type';\nimport CuraThemeColorsModule from './cura-theme-colors-module';\nimport CuraThemeSpacingModule from './cura-theme-spacing-module';\nimport CuraThemeFontsModule from './cura-theme-fonts-module';\nimport CuraThemeBreakpointsModule from './cura-theme-breakpoints-module';\n\nexport default class CuraThemeModule {\n rootElement: HTMLElement;\n prefix = '--cura';\n colors = new CuraThemeColorsModule();\n spacing = new CuraThemeSpacingModule();\n fonts = new CuraThemeFontsModule();\n breakpoints = new CuraThemeBreakpointsModule();\n groupObject = {};\n\n constructor() {\n if (typeof window === 'undefined') return;\n\n this.rootElement = window?.document?.documentElement;\n }\n\n /**\n * Load a theme.\n * @param theme Theme tag.\n */\n load(theme = 'default') {\n const preset = ThemePresets[theme] ? ThemePresets[theme] : ThemePresets.default;\n this.buildCssVars(this.prefix, preset);\n }\n\n loadVarsSSR(theme = 'default') {\n const preset = ThemePresets[theme] ? ThemePresets[theme] : ThemePresets.default;\n this.buildCssVars(this.prefix, preset, true);\n\n return this.groupObject;\n }\n\n /**\n * Define a custom theme\n * @param customTheme Custom theme object definition\n */\n setCustom(customTheme: CuraCustomTheme) {\n const customTag = customTheme.name;\n if (customTag in ThemePresets) {\n console.log('Error building custom theme. Theme %s already exists. Loading default theme.', customTag);\n this.load('default');\n } else {\n const preset = customTheme.fromPreset && customTheme.fromPreset in ThemePresets ? ThemePresets[customTheme.fromPreset] : ThemePresets.default;\n const newTheme = { ...JSON.parse(JSON.stringify(preset)) };\n this.mergeObject(customTheme.definitions, newTheme);\n ThemePresets[customTag] = newTheme;\n this.load(customTag);\n }\n }\n\n /* Private */\n\n /** Set css var based on object structure */\n setCssVar = (prop, path) => {\n const varName = this.groupPath(path, prop[0]);\n this.rootElement.style.setProperty(varName, prop[1]);\n };\n\n groupPath = (a, b) => `${a}-${b}`;\n\n isObject = val => {\n return val && typeof val === 'object' && !Array.isArray(val);\n };\n\n /** Deep merge objects */\n mergeObject = (from, to) => {\n const entries = Object.entries(from);\n for (let e of entries) {\n if (this.isObject(e[1])) {\n this.mergeObject(e[1], to[e[0]]);\n } else {\n to[e[0]] = e[1];\n }\n }\n };\n\n /** Set css vars from preset object */\n buildCssVars = (path, obj, isGroup = false) => {\n const entries = Object.entries(obj);\n for (let e of entries) {\n if (this.isObject(e[1])) {\n this.buildCssVars(this.groupPath(path, e[0]), e[1], isGroup);\n } else {\n if (isGroup) {\n const varName = this.groupPath(path, e[0]);\n\n this.groupObject[varName] = e[1];\n } else {\n this.setCssVar(e, path);\n }\n }\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}