@rededor/site-front-end-lib 20.0.8 → 20.0.9

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 (144) hide show
  1. package/README.md +124 -124
  2. package/components/cards/index.d.ts +6 -6
  3. package/fesm2022/rededor-site-front-end-lib-components-algolia-dropdown.mjs +4 -4
  4. package/fesm2022/rededor-site-front-end-lib-components-algolia-dropdown.mjs.map +1 -1
  5. package/fesm2022/rededor-site-front-end-lib-components-algolia-search.mjs +20 -20
  6. package/fesm2022/rededor-site-front-end-lib-components-algolia-search.mjs.map +1 -1
  7. package/fesm2022/rededor-site-front-end-lib-components-banner.mjs +4 -4
  8. package/fesm2022/rededor-site-front-end-lib-components-banner.mjs.map +1 -1
  9. package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs +4 -4
  10. package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs.map +1 -1
  11. package/fesm2022/rededor-site-front-end-lib-components-cards.mjs +24 -19
  12. package/fesm2022/rededor-site-front-end-lib-components-cards.mjs.map +1 -1
  13. package/fesm2022/rededor-site-front-end-lib-components-carousels.mjs +4 -4
  14. package/fesm2022/rededor-site-front-end-lib-components-carousels.mjs.map +1 -1
  15. package/fesm2022/rededor-site-front-end-lib-components-cta-wrapper.mjs +4 -4
  16. package/fesm2022/rededor-site-front-end-lib-components-cta-wrapper.mjs.map +1 -1
  17. package/fesm2022/rededor-site-front-end-lib-components-error.mjs +4 -4
  18. package/fesm2022/rededor-site-front-end-lib-components-error.mjs.map +1 -1
  19. package/fesm2022/rededor-site-front-end-lib-components-filter-letter-and-terms.mjs +4 -4
  20. package/fesm2022/rededor-site-front-end-lib-components-filter-letter-and-terms.mjs.map +1 -1
  21. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs +4 -4
  22. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs.map +1 -1
  23. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-planos-convenios.mjs +4 -4
  24. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-planos-convenios.mjs.map +1 -1
  25. package/fesm2022/rededor-site-front-end-lib-components-footer.mjs +4 -4
  26. package/fesm2022/rededor-site-front-end-lib-components-footer.mjs.map +1 -1
  27. package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs +4 -4
  28. package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs.map +1 -1
  29. package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs +8 -8
  30. package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs.map +1 -1
  31. package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs +8 -8
  32. package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs.map +1 -1
  33. package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs +8 -8
  34. package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs.map +1 -1
  35. package/fesm2022/rededor-site-front-end-lib-components-header-services.mjs +3 -3
  36. package/fesm2022/rededor-site-front-end-lib-components-header-services.mjs.map +1 -1
  37. package/fesm2022/rededor-site-front-end-lib-components-header.mjs +8 -8
  38. package/fesm2022/rededor-site-front-end-lib-components-header.mjs.map +1 -1
  39. package/fesm2022/rededor-site-front-end-lib-components-image.mjs +4 -4
  40. package/fesm2022/rededor-site-front-end-lib-components-image.mjs.map +1 -1
  41. package/fesm2022/rededor-site-front-end-lib-components-load-screen.mjs +4 -4
  42. package/fesm2022/rededor-site-front-end-lib-components-load-screen.mjs.map +1 -1
  43. package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs +4 -4
  44. package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs.map +1 -1
  45. package/fesm2022/rededor-site-front-end-lib-components-modal.mjs +4 -4
  46. package/fesm2022/rededor-site-front-end-lib-components-modal.mjs.map +1 -1
  47. package/fesm2022/rededor-site-front-end-lib-components-overlay.mjs +4 -4
  48. package/fesm2022/rededor-site-front-end-lib-components-overlay.mjs.map +1 -1
  49. package/fesm2022/rededor-site-front-end-lib-components-page-header.mjs +4 -4
  50. package/fesm2022/rededor-site-front-end-lib-components-page-header.mjs.map +1 -1
  51. package/fesm2022/rededor-site-front-end-lib-components-page-template-fullcontent.mjs +4 -4
  52. package/fesm2022/rededor-site-front-end-lib-components-page-template-fullcontent.mjs.map +1 -1
  53. package/fesm2022/rededor-site-front-end-lib-components-page-template-sidebar.mjs +4 -4
  54. package/fesm2022/rededor-site-front-end-lib-components-page-template-sidebar.mjs.map +1 -1
  55. package/fesm2022/rededor-site-front-end-lib-components-pagination.mjs +4 -4
  56. package/fesm2022/rededor-site-front-end-lib-components-pagination.mjs.map +1 -1
  57. package/fesm2022/rededor-site-front-end-lib-components-search.mjs +4 -4
  58. package/fesm2022/rededor-site-front-end-lib-components-search.mjs.map +1 -1
  59. package/fesm2022/rededor-site-front-end-lib-components-section-navigation.mjs +4 -4
  60. package/fesm2022/rededor-site-front-end-lib-components-section-navigation.mjs.map +1 -1
  61. package/fesm2022/rededor-site-front-end-lib-components-side-ctas.mjs +20 -20
  62. package/fesm2022/rededor-site-front-end-lib-components-side-ctas.mjs.map +1 -1
  63. package/fesm2022/rededor-site-front-end-lib-components-sidebar-navigation.mjs +4 -4
  64. package/fesm2022/rededor-site-front-end-lib-components-sidebar-navigation.mjs.map +1 -1
  65. package/fesm2022/rededor-site-front-end-lib-components-sticky-navigation.mjs +4 -4
  66. package/fesm2022/rededor-site-front-end-lib-components-sticky-navigation.mjs.map +1 -1
  67. package/fesm2022/rededor-site-front-end-lib-components-whatsapp.mjs +4 -4
  68. package/fesm2022/rededor-site-front-end-lib-components-whatsapp.mjs.map +1 -1
  69. package/fesm2022/rededor-site-front-end-lib-core.mjs +51 -51
  70. package/fesm2022/rededor-site-front-end-lib-core.mjs.map +1 -1
  71. package/fesm2022/rededor-site-front-end-lib-cura-accordion.mjs +8 -8
  72. package/fesm2022/rededor-site-front-end-lib-cura-accordion.mjs.map +1 -1
  73. package/fesm2022/rededor-site-front-end-lib-cura-api.mjs +26 -26
  74. package/fesm2022/rededor-site-front-end-lib-cura-api.mjs.map +1 -1
  75. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-counter.mjs +4 -4
  76. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-counter.mjs.map +1 -1
  77. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-distance.mjs +4 -4
  78. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-distance.mjs.map +1 -1
  79. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-dot.mjs +4 -4
  80. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-dot.mjs.map +1 -1
  81. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-pill.mjs +4 -4
  82. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-pill.mjs.map +1 -1
  83. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs +4 -4
  84. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs.map +1 -1
  85. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs +4 -4
  86. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs.map +1 -1
  87. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs +4 -4
  88. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs.map +1 -1
  89. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs +4 -4
  90. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs.map +1 -1
  91. package/fesm2022/rededor-site-front-end-lib-cura-buttons.mjs.map +1 -1
  92. package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs +4 -4
  93. package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs.map +1 -1
  94. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-alert.mjs +4 -4
  95. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-alert.mjs.map +1 -1
  96. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-modal.mjs +4 -4
  97. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-modal.mjs.map +1 -1
  98. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-toast.mjs +4 -4
  99. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-toast.mjs.map +1 -1
  100. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-checkbox.mjs +5 -5
  101. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-checkbox.mjs.map +1 -1
  102. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-input-text.mjs +5 -5
  103. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-input-text.mjs.map +1 -1
  104. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-label.mjs +4 -4
  105. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-label.mjs.map +1 -1
  106. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-radio.mjs +5 -5
  107. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-radio.mjs.map +1 -1
  108. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-option.mjs +4 -4
  109. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-option.mjs.map +1 -1
  110. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs +5 -5
  111. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs.map +1 -1
  112. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-switch.mjs +5 -5
  113. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-switch.mjs.map +1 -1
  114. package/fesm2022/rededor-site-front-end-lib-cura-forms.mjs.map +1 -1
  115. package/fesm2022/rededor-site-front-end-lib-cura-icons-cura-icon.mjs +4 -4
  116. package/fesm2022/rededor-site-front-end-lib-cura-icons-cura-icon.mjs.map +1 -1
  117. package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-bar.mjs +4 -4
  118. package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-bar.mjs.map +1 -1
  119. package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-circle.mjs +4 -4
  120. package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-circle.mjs.map +1 -1
  121. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-display.mjs +4 -4
  122. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-display.mjs.map +1 -1
  123. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-heading.mjs +4 -4
  124. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-heading.mjs.map +1 -1
  125. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-paragraph.mjs +4 -4
  126. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-paragraph.mjs.map +1 -1
  127. package/fesm2022/rededor-site-front-end-lib-enums.mjs.map +1 -1
  128. package/fesm2022/rededor-site-front-end-lib-services-algolia-search-api.mjs +3 -3
  129. package/fesm2022/rededor-site-front-end-lib-services-algolia-search-api.mjs.map +1 -1
  130. package/fesm2022/rededor-site-front-end-lib-services-algolia.mjs +3 -3
  131. package/fesm2022/rededor-site-front-end-lib-services-algolia.mjs.map +1 -1
  132. package/fesm2022/rededor-site-front-end-lib-services-ngu-carousel.mjs +3 -3
  133. package/fesm2022/rededor-site-front-end-lib-services-ngu-carousel.mjs.map +1 -1
  134. package/fesm2022/rededor-site-front-end-lib-services-ssr-loading.mjs +3 -3
  135. package/fesm2022/rededor-site-front-end-lib-services-ssr-loading.mjs.map +1 -1
  136. package/fesm2022/rededor-site-front-end-lib-services-transfer-state.mjs +3 -3
  137. package/fesm2022/rededor-site-front-end-lib-services-transfer-state.mjs.map +1 -1
  138. package/fesm2022/rededor-site-front-end-lib-services-youtube.mjs +3 -3
  139. package/fesm2022/rededor-site-front-end-lib-services-youtube.mjs.map +1 -1
  140. package/fesm2022/rededor-site-front-end-lib-shared.mjs +6 -6
  141. package/fesm2022/rededor-site-front-end-lib-shared.mjs.map +1 -1
  142. package/fesm2022/rededor-site-front-end-lib.mjs.map +1 -1
  143. package/package.json +1 -1
  144. package/styles/_breakpoints.scss +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"rededor-site-front-end-lib-cura-forms-cura-select.mjs","sources":["../../../projects/site-front-end-lib/cura/forms/cura-select/cura-select.component.ts","../../../projects/site-front-end-lib/cura/forms/cura-select/cura-select.component.html","../../../projects/site-front-end-lib/cura/forms/cura-select/rededor-site-front-end-lib-cura-forms-cura-select.ts"],"sourcesContent":["import {\r\n Component,\r\n input,\r\n output,\r\n signal,\r\n computed,\r\n inject,\r\n forwardRef,\r\n ElementRef,\r\n AfterViewInit,\r\n OnDestroy,\r\n viewChild,\r\n contentChildren,\r\n model,\r\n effect,\r\n PLATFORM_ID,\r\n} from '@angular/core';\r\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { CuraLabelComponent } from '@rededor/site-front-end-lib/cura/forms/cura-label';\r\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\r\nimport { CuraSelectOptionComponent } from '@rededor/site-front-end-lib/cura/forms/cura-select-option';\r\nimport { SelectMode, SelectSize, SelectStatus, SelectSelectedEvent, SelectSearchEvent } from './cura-select.definitions';\r\n\r\n@Component({\r\n selector: 'cura-select',\r\n imports: [CommonModule, CuraLabelComponent, CuraIconComponent],\r\n templateUrl: './cura-select.component.html',\r\n styleUrls: ['./cura-select.component.scss'],\r\n host: {\r\n role: 'combobox',\r\n '[attr.aria-label]': 'label()',\r\n '[attr.aria-required]': 'required()',\r\n '[attr.aria-disabled]': 'disabled()',\r\n '[attr.aria-invalid]': 'status() === \"error\"',\r\n '[attr.aria-expanded]': 'isOpen()',\r\n '[attr.aria-controls]': 'listboxId()',\r\n '[attr.aria-activedescendant]': 'activeOptionId()',\r\n },\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CuraSelectComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class CuraSelectComponent implements ControlValueAccessor, AfterViewInit, OnDestroy {\r\n private curaApi: CuraApiService = inject(CuraApiService);\r\n private elementRef = inject(ElementRef);\r\n private platformId = inject(PLATFORM_ID);\r\n\r\n /**\r\n * The label text for the select component\r\n */\r\n label = input<string>('');\r\n\r\n /**\r\n * Placeholder text for the input field\r\n */\r\n placeholder = input<string>('');\r\n\r\n /**\r\n * Current value of the select component\r\n */\r\n value = model<string | any>('');\r\n\r\n /**\r\n * Display mode of the select component\r\n */\r\n mode = input<SelectMode>('default');\r\n\r\n /**\r\n * Size of the select component\r\n */\r\n size = input<SelectSize>('medium');\r\n\r\n /**\r\n * Icon name for the select component\r\n */\r\n iconName = input<string | undefined>(undefined);\r\n\r\n /**\r\n * Status of the select component\r\n */\r\n status = input<SelectStatus>('default');\r\n\r\n /**\r\n * Whether the select component is disabled\r\n */\r\n disabled = input<boolean>(false);\r\n\r\n /**\r\n * Whether the select component is required\r\n */\r\n required = input<boolean>(false);\r\n\r\n /**\r\n * Enable/Disable search at options by term\r\n */\r\n searchBehavior = input<boolean>(false);\r\n\r\n /**\r\n * The search will be sensitive to accents\r\n */\r\n caseSensitive = input<boolean>(true);\r\n\r\n /**\r\n * CSS max-height property for dropdown item.\r\n * Can also be used by css property --max-height.\r\n * Default: 285px\r\n */\r\n maxHeight = input<string>('285px');\r\n\r\n /**\r\n * Event emitted when an option is selected\r\n */\r\n selected = output<SelectSelectedEvent>();\r\n\r\n /**\r\n * Event emitted when search term changes\r\n */\r\n searchTermInput = output<SelectSearchEvent>();\r\n\r\n // Internal state signals\r\n isHovered = signal<boolean>(false);\r\n isFocused = signal<boolean>(false);\r\n isOpen = signal<boolean>(false);\r\n activeIndex = signal<number>(-1);\r\n textInput = signal<string>('');\r\n\r\n // Unique ID for accessibility\r\n private componentId = `cura-select-${Math.random().toString(36).substring(2, 8)}`;\r\n\r\n // Form control callbacks\r\n private onChange = (value: string) => {};\r\n private onTouched = () => {};\r\n\r\n // ViewChild references\r\n inputElement = viewChild<ElementRef<HTMLInputElement>>('inputElement');\r\n options = contentChildren<CuraSelectOptionComponent>(CuraSelectOptionComponent);\r\n\r\n // Computed signals\r\n currentIconName = computed(() => {\r\n const iconMap = {\r\n default: this.iconName() || '',\r\n success: 'checkCircle',\r\n error: 'alertCircle',\r\n };\r\n return iconMap[this.status()];\r\n });\r\n\r\n private colorConfig = computed(() => {\r\n if (this.disabled()) {\r\n return {\r\n label: 'neutral-medium',\r\n text: 'neutral-medium',\r\n icon: 'neutral-medium',\r\n };\r\n }\r\n\r\n const isStatusDefault = this.status() === 'default';\r\n const isHoveredOrFocused = this.isFocused() || this.isHovered();\r\n\r\n return {\r\n label: !isStatusDefault || isHoveredOrFocused ? 'neutral-black' : 'neutral-dark',\r\n text: this.getTextColor(isHoveredOrFocused, isStatusDefault),\r\n icon: this.getTextColor(isHoveredOrFocused, isStatusDefault),\r\n };\r\n });\r\n\r\n containerClasses = computed(() => {\r\n return {\r\n wrapper: true,\r\n label: !!this.label(),\r\n disabled: this.disabled(),\r\n transparent: this.mode() === 'transparent',\r\n [this.size().toLowerCase()]: true,\r\n [this.status().toLowerCase()]: true,\r\n };\r\n });\r\n\r\n labelColor = computed(() => this.colorConfig().label);\r\n textColor = computed(() => this.colorConfig().text);\r\n iconColor = computed(() => this.colorConfig().icon);\r\n\r\n // Accessibility computed signals\r\n listboxId = computed(() => `${this.componentId}-listbox`);\r\n activeOptionId = computed(() => {\r\n const activeOption = this.options()?.[this.activeIndex()];\r\n return activeOption?.optionId() || '';\r\n });\r\n\r\n styles = computed(() => {\r\n const { fonts, colors } = this.curaApi?.theme || { fonts: null, colors: null };\r\n\r\n const baseStyles: { [key: string]: string } = {};\r\n\r\n if (fonts) {\r\n const fontWeights = fonts.getWeights();\r\n baseStyles['--font-weight-medium'] = fontWeights.medium;\r\n baseStyles['--font-weight-bold'] = fontWeights.bold;\r\n baseStyles['--font-weight-regular'] = fontWeights.regular;\r\n baseStyles['--font-color'] = fonts.getColor();\r\n baseStyles['--font-family'] = fonts.getFamily();\r\n baseStyles['--font-size'] = fonts.getSize();\r\n }\r\n\r\n if (colors) {\r\n const colorKeys = [\r\n 'primary-base',\r\n 'neutral-purewhite',\r\n 'neutral-white',\r\n 'neutral-black',\r\n 'neutral-medium',\r\n 'neutral-light',\r\n 'neutral-base',\r\n 'neutral-dark',\r\n 'success-dark',\r\n 'success-darker',\r\n 'success-lighter',\r\n 'error-lighter',\r\n 'error-dark',\r\n 'error-darker',\r\n 'error-base',\r\n 'info-base',\r\n ];\r\n\r\n colorKeys.forEach((key) => {\r\n baseStyles[`--${key}`] = colors.getColor(key);\r\n });\r\n }\r\n\r\n return baseStyles;\r\n });\r\n\r\n constructor() {\r\n effect(() => {\r\n this.updateOptionHighlights(this.activeIndex());\r\n });\r\n\r\n effect(() => {\r\n if (!this.options() || this.options().length === 0) return;\r\n\r\n const selectedOption = this.options().find((option) => option.selected());\r\n if (selectedOption && selectedOption.value() !== this.value()) {\r\n this.handleOptionSelected(selectedOption);\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.initializeOptions();\r\n this.addOutsideClickListener();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.removeOutsideClickListener();\r\n }\r\n }\r\n\r\n // ControlValueAccessor implementation\r\n writeValue(value: string): void {\r\n this.value.set(value);\r\n if (!this.options) return;\r\n\r\n const option = this.options().find((opt) => opt.value() === value);\r\n if (option) {\r\n this.textInput.set(option.elementRef?.nativeElement?.textContent || '');\r\n }\r\n }\r\n\r\n registerOnChange(fn: (value: string) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n private getTextColor(isHoveredOrFocused: boolean, isStatusDefault: boolean): string {\r\n if (isHoveredOrFocused && isStatusDefault) return 'neutral-black';\r\n if (this.status() === 'success') return 'success-dark';\r\n if (this.status() === 'error') return 'error-dark';\r\n return 'neutral-dark';\r\n }\r\n\r\n private initializeOptions() {\r\n if (!this.options()) return;\r\n\r\n this.options().forEach((option) => {\r\n option.size.set(this.size());\r\n option.active.set(false);\r\n option.visible.set(true);\r\n\r\n const isSelected = this.value() === option.value();\r\n option.selected.set(isSelected);\r\n if (isSelected) {\r\n this.value.set(option.value());\r\n this.textInput.update((value) => option.elementRef?.nativeElement?.textContent || value);\r\n }\r\n });\r\n }\r\n\r\n private handleOptionSelected(selectedOption: CuraSelectOptionComponent) {\r\n const value = selectedOption.value();\r\n this.value.set(value);\r\n\r\n const optionText = selectedOption.elementRef?.nativeElement?.textContent || '';\r\n if (this.textInput() !== optionText) {\r\n this.onChange(value);\r\n this.textInput.set(optionText);\r\n this.isOpen.set(false);\r\n this.filterOptions(optionText);\r\n this.selected.emit({ value });\r\n }\r\n }\r\n\r\n private clearSelectedAttributes() {\r\n if (!this.options()) return;\r\n\r\n this.options().forEach((option) => {\r\n option.selected.set(false);\r\n });\r\n }\r\n\r\n private removeAccents(str: string): string {\r\n return str.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\r\n }\r\n\r\n private filterOptions(searchTerm: string) {\r\n if (!this.searchBehavior()) {\r\n return;\r\n }\r\n\r\n this.searchTermInput.emit({ searchTerm });\r\n\r\n let processedSearchTerm = searchTerm;\r\n if (!this.caseSensitive()) {\r\n processedSearchTerm = this.removeAccents(searchTerm).toLowerCase();\r\n }\r\n\r\n this.options().forEach((option) => {\r\n let optionText = option.elementRef?.nativeElement?.textContent || '';\r\n if (!this.caseSensitive()) {\r\n optionText = this.removeAccents(optionText.toLowerCase());\r\n }\r\n\r\n const isVisible = optionText.includes(processedSearchTerm);\r\n option.visible.set(isVisible);\r\n option.elementRef.nativeElement.style.display = isVisible ? 'block' : 'none';\r\n });\r\n }\r\n\r\n // Event handlers\r\n handleKeyNavigation(event: KeyboardEvent) {\r\n const { code: keyCode } = event;\r\n\r\n if (!this.isOpen() && keyCode === 'ArrowDown') {\r\n this.isOpen.set(true);\r\n this.activeIndex.set(0);\r\n return;\r\n }\r\n\r\n if (keyCode === 'ArrowDown') {\r\n event.preventDefault();\r\n this.updateActiveIndex(1);\r\n }\r\n\r\n if (keyCode === 'ArrowUp') {\r\n event.preventDefault();\r\n this.updateActiveIndex(-1);\r\n }\r\n\r\n if (keyCode === 'Enter' || keyCode === 'Space') {\r\n this.options()?.[this.activeIndex()]?.elementRef?.nativeElement?.click();\r\n }\r\n\r\n if (keyCode === 'Escape') {\r\n this.isOpen.set(false);\r\n }\r\n }\r\n\r\n private updateActiveIndex(direction: number) {\r\n const visibleOptions = this.options();\r\n if (!visibleOptions || visibleOptions.length === 0) return;\r\n\r\n this.activeIndex.update((index) => (index + direction + visibleOptions.length) % visibleOptions.length);\r\n }\r\n\r\n handleInputChange(event: Event) {\r\n const value = (event.target as HTMLInputElement).value;\r\n this.textInput.set(value);\r\n this.isOpen.set(value.length > 0);\r\n this.onChange(value);\r\n this.filterOptions(value);\r\n }\r\n\r\n handleClick(event: MouseEvent) {\r\n if (this.disabled()) {\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n const target = event.target as HTMLElement;\r\n\r\n // Procura pelo elemento cura-select-option mais próximo\r\n const optionElement = target.closest('cura-select-option') as HTMLElement;\r\n\r\n if (optionElement) {\r\n this.clearSelectedAttributes();\r\n const clickedOption = this.options()?.find((option) => option.elementRef?.nativeElement === optionElement);\r\n if (clickedOption) {\r\n clickedOption.selected.set(true);\r\n }\r\n return;\r\n }\r\n\r\n this.isOpen.update((value) => !value);\r\n }\r\n\r\n private updateOptionHighlights(newActiveIndex: number): void {\r\n this.options().forEach((option, index) => {\r\n option.active.set(index === newActiveIndex);\r\n });\r\n }\r\n\r\n /**\r\n * Controla o clique fora do componente\r\n */\r\n private addOutsideClickListener(): void {\r\n if (!isPlatformBrowser(this.platformId)) {\r\n return;\r\n }\r\n document.addEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n private removeOutsideClickListener(): void {\r\n if (!isPlatformBrowser(this.platformId)) {\r\n return;\r\n }\r\n document.removeEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n private handleClickOutside = (event: MouseEvent): void => {\r\n if (!isPlatformBrowser(this.platformId)) {\r\n return;\r\n }\r\n\r\n const clickedOutside = !this.elementRef.nativeElement.contains(event.target as Node);\r\n if (clickedOutside && this.isOpen()) {\r\n this.isOpen.set(false);\r\n }\r\n };\r\n}\r\n","<div [ngClass]=\"containerClasses()\" [style]=\"styles()\" (mouseenter)=\"isHovered.set(true)\" (mouseleave)=\"isHovered.set(false)\" (click)=\"handleClick($event)\">\r\n @if (label()) {\r\n <cura-label class=\"label\" weight=\"bold\" [size]=\"size() === 'large' ? 'small' : 'xsmall'\" [color]=\"labelColor()\">\r\n {{ label() }}\r\n @if (required()) {\r\n <span class=\"required\">*</span>\r\n }\r\n </cura-label>\r\n }\r\n\r\n <div\r\n [ngClass]=\"{\r\n 'cura-input-field': true,\r\n open: isOpen(),\r\n }\"\r\n >\r\n @if (status() !== 'default' || iconName()) {\r\n <cura-icon\r\n class=\"feedback-icon\"\r\n [name]=\"currentIconName()\"\r\n iconset=\"default\"\r\n [size]=\"size() === 'large' ? 20 : 16\"\r\n [color]=\"iconColor()\"\r\n [style]=\"styles()\"\r\n >\r\n </cura-icon>\r\n }\r\n\r\n <input\r\n #inputElement\r\n type=\"text\"\r\n autocomplete=\"off\"\r\n [placeholder]=\"placeholder()\"\r\n [disabled]=\"disabled()\"\r\n [required]=\"required()\"\r\n [readonly]=\"!searchBehavior()\"\r\n [value]=\"textInput()\"\r\n [attr.aria-required]=\"required()\"\r\n [attr.aria-disabled]=\"disabled()\"\r\n [attr.aria-invalid]=\"status() === 'error'\"\r\n [attr.aria-autocomplete]=\"searchBehavior() ? 'list' : 'none'\"\r\n [attr.aria-controls]=\"listboxId()\"\r\n [attr.aria-expanded]=\"isOpen()\"\r\n [attr.aria-activedescendant]=\"activeOptionId()\"\r\n role=\"combobox\"\r\n [style]=\"styles()\"\r\n (focus)=\"isFocused.set(true)\"\r\n (blur)=\"isFocused.set(false)\"\r\n (input)=\"handleInputChange($event)\"\r\n (keydown)=\"handleKeyNavigation($event)\"\r\n />\r\n\r\n <button\r\n class=\"up-down-button\"\r\n type=\"button\"\r\n [attr.aria-label]=\"isOpen() ? 'Fechar lista de opções' : 'Abrir lista de opções'\"\r\n [attr.aria-expanded]=\"isOpen()\"\r\n [attr.aria-controls]=\"listboxId()\"\r\n [disabled]=\"disabled()\"\r\n tabindex=\"-1\"\r\n >\r\n <cura-icon [name]=\"isOpen() ? 'up' : 'down'\" class=\"up-down-icon\" [color]=\"disabled() ? 'neutral-dark' : 'primary-base'\" [size]=\"16\" iconset=\"default\">\r\n </cura-icon>\r\n </button>\r\n </div>\r\n\r\n <cura-label class=\"helper-text\" size=\"xsmall\" [color]=\"textColor()\" [weight]=\"mode() === 'transparent' ? 'bold' : 'regular'\">\r\n <ng-content></ng-content>\r\n </cura-label>\r\n\r\n @if (isOpen()) {\r\n <div\r\n [ngClass]=\"{\r\n menu: true,\r\n open: isOpen(),\r\n }\"\r\n [style]=\"{ '--max-height': maxHeight() }\"\r\n role=\"listbox\"\r\n [id]=\"listboxId()\"\r\n [attr.aria-label]=\"'Lista de opções para ' + (label() || 'seleção')\"\r\n [attr.aria-multiselectable]=\"false\"\r\n >\r\n <ng-content select=\"cura-select-option\"></ng-content>\r\n </div>\r\n }\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rededor-site-front-end-lib-cura-forms-cura-select.mjs","sources":["../../../projects/site-front-end-lib/cura/forms/cura-select/cura-select.component.ts","../../../projects/site-front-end-lib/cura/forms/cura-select/cura-select.component.html","../../../projects/site-front-end-lib/cura/forms/cura-select/rededor-site-front-end-lib-cura-forms-cura-select.ts"],"sourcesContent":["import {\n Component,\n input,\n output,\n signal,\n computed,\n inject,\n forwardRef,\n ElementRef,\n AfterViewInit,\n OnDestroy,\n viewChild,\n contentChildren,\n model,\n effect,\n PLATFORM_ID,\n} from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\nimport { CuraLabelComponent } from '@rededor/site-front-end-lib/cura/forms/cura-label';\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\nimport { CuraSelectOptionComponent } from '@rededor/site-front-end-lib/cura/forms/cura-select-option';\nimport { SelectMode, SelectSize, SelectStatus, SelectSelectedEvent, SelectSearchEvent } from './cura-select.definitions';\n\n@Component({\n selector: 'cura-select',\n imports: [CommonModule, CuraLabelComponent, CuraIconComponent],\n templateUrl: './cura-select.component.html',\n styleUrls: ['./cura-select.component.scss'],\n host: {\n role: 'combobox',\n '[attr.aria-label]': 'label()',\n '[attr.aria-required]': 'required()',\n '[attr.aria-disabled]': 'disabled()',\n '[attr.aria-invalid]': 'status() === \"error\"',\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.aria-controls]': 'listboxId()',\n '[attr.aria-activedescendant]': 'activeOptionId()',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CuraSelectComponent),\n multi: true,\n },\n ],\n})\nexport class CuraSelectComponent implements ControlValueAccessor, AfterViewInit, OnDestroy {\n private curaApi: CuraApiService = inject(CuraApiService);\n private elementRef = inject(ElementRef);\n private platformId = inject(PLATFORM_ID);\n\n /**\n * The label text for the select component\n */\n label = input<string>('');\n\n /**\n * Placeholder text for the input field\n */\n placeholder = input<string>('');\n\n /**\n * Current value of the select component\n */\n value = model<string | any>('');\n\n /**\n * Display mode of the select component\n */\n mode = input<SelectMode>('default');\n\n /**\n * Size of the select component\n */\n size = input<SelectSize>('medium');\n\n /**\n * Icon name for the select component\n */\n iconName = input<string | undefined>(undefined);\n\n /**\n * Status of the select component\n */\n status = input<SelectStatus>('default');\n\n /**\n * Whether the select component is disabled\n */\n disabled = input<boolean>(false);\n\n /**\n * Whether the select component is required\n */\n required = input<boolean>(false);\n\n /**\n * Enable/Disable search at options by term\n */\n searchBehavior = input<boolean>(false);\n\n /**\n * The search will be sensitive to accents\n */\n caseSensitive = input<boolean>(true);\n\n /**\n * CSS max-height property for dropdown item.\n * Can also be used by css property --max-height.\n * Default: 285px\n */\n maxHeight = input<string>('285px');\n\n /**\n * Event emitted when an option is selected\n */\n selected = output<SelectSelectedEvent>();\n\n /**\n * Event emitted when search term changes\n */\n searchTermInput = output<SelectSearchEvent>();\n\n // Internal state signals\n isHovered = signal<boolean>(false);\n isFocused = signal<boolean>(false);\n isOpen = signal<boolean>(false);\n activeIndex = signal<number>(-1);\n textInput = signal<string>('');\n\n // Unique ID for accessibility\n private componentId = `cura-select-${Math.random().toString(36).substring(2, 8)}`;\n\n // Form control callbacks\n private onChange = (value: string) => {};\n private onTouched = () => {};\n\n // ViewChild references\n inputElement = viewChild<ElementRef<HTMLInputElement>>('inputElement');\n options = contentChildren<CuraSelectOptionComponent>(CuraSelectOptionComponent);\n\n // Computed signals\n currentIconName = computed(() => {\n const iconMap = {\n default: this.iconName() || '',\n success: 'checkCircle',\n error: 'alertCircle',\n };\n return iconMap[this.status()];\n });\n\n private colorConfig = computed(() => {\n if (this.disabled()) {\n return {\n label: 'neutral-medium',\n text: 'neutral-medium',\n icon: 'neutral-medium',\n };\n }\n\n const isStatusDefault = this.status() === 'default';\n const isHoveredOrFocused = this.isFocused() || this.isHovered();\n\n return {\n label: !isStatusDefault || isHoveredOrFocused ? 'neutral-black' : 'neutral-dark',\n text: this.getTextColor(isHoveredOrFocused, isStatusDefault),\n icon: this.getTextColor(isHoveredOrFocused, isStatusDefault),\n };\n });\n\n containerClasses = computed(() => {\n return {\n wrapper: true,\n label: !!this.label(),\n disabled: this.disabled(),\n transparent: this.mode() === 'transparent',\n [this.size().toLowerCase()]: true,\n [this.status().toLowerCase()]: true,\n };\n });\n\n labelColor = computed(() => this.colorConfig().label);\n textColor = computed(() => this.colorConfig().text);\n iconColor = computed(() => this.colorConfig().icon);\n\n // Accessibility computed signals\n listboxId = computed(() => `${this.componentId}-listbox`);\n activeOptionId = computed(() => {\n const activeOption = this.options()?.[this.activeIndex()];\n return activeOption?.optionId() || '';\n });\n\n styles = computed(() => {\n const { fonts, colors } = this.curaApi?.theme || { fonts: null, colors: null };\n\n const baseStyles: { [key: string]: string } = {};\n\n if (fonts) {\n const fontWeights = fonts.getWeights();\n baseStyles['--font-weight-medium'] = fontWeights.medium;\n baseStyles['--font-weight-bold'] = fontWeights.bold;\n baseStyles['--font-weight-regular'] = fontWeights.regular;\n baseStyles['--font-color'] = fonts.getColor();\n baseStyles['--font-family'] = fonts.getFamily();\n baseStyles['--font-size'] = fonts.getSize();\n }\n\n if (colors) {\n const colorKeys = [\n 'primary-base',\n 'neutral-purewhite',\n 'neutral-white',\n 'neutral-black',\n 'neutral-medium',\n 'neutral-light',\n 'neutral-base',\n 'neutral-dark',\n 'success-dark',\n 'success-darker',\n 'success-lighter',\n 'error-lighter',\n 'error-dark',\n 'error-darker',\n 'error-base',\n 'info-base',\n ];\n\n colorKeys.forEach((key) => {\n baseStyles[`--${key}`] = colors.getColor(key);\n });\n }\n\n return baseStyles;\n });\n\n constructor() {\n effect(() => {\n this.updateOptionHighlights(this.activeIndex());\n });\n\n effect(() => {\n if (!this.options() || this.options().length === 0) return;\n\n const selectedOption = this.options().find((option) => option.selected());\n if (selectedOption && selectedOption.value() !== this.value()) {\n this.handleOptionSelected(selectedOption);\n }\n });\n }\n\n ngAfterViewInit() {\n this.initializeOptions();\n this.addOutsideClickListener();\n }\n\n ngOnDestroy() {\n if (isPlatformBrowser(this.platformId)) {\n this.removeOutsideClickListener();\n }\n }\n\n // ControlValueAccessor implementation\n writeValue(value: string): void {\n this.value.set(value);\n if (!this.options) return;\n\n const option = this.options().find((opt) => opt.value() === value);\n if (option) {\n this.textInput.set(option.elementRef?.nativeElement?.textContent || '');\n }\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n private getTextColor(isHoveredOrFocused: boolean, isStatusDefault: boolean): string {\n if (isHoveredOrFocused && isStatusDefault) return 'neutral-black';\n if (this.status() === 'success') return 'success-dark';\n if (this.status() === 'error') return 'error-dark';\n return 'neutral-dark';\n }\n\n private initializeOptions() {\n if (!this.options()) return;\n\n this.options().forEach((option) => {\n option.size.set(this.size());\n option.active.set(false);\n option.visible.set(true);\n\n const isSelected = this.value() === option.value();\n option.selected.set(isSelected);\n if (isSelected) {\n this.value.set(option.value());\n this.textInput.update((value) => option.elementRef?.nativeElement?.textContent || value);\n }\n });\n }\n\n private handleOptionSelected(selectedOption: CuraSelectOptionComponent) {\n const value = selectedOption.value();\n this.value.set(value);\n\n const optionText = selectedOption.elementRef?.nativeElement?.textContent || '';\n if (this.textInput() !== optionText) {\n this.onChange(value);\n this.textInput.set(optionText);\n this.isOpen.set(false);\n this.filterOptions(optionText);\n this.selected.emit({ value });\n }\n }\n\n private clearSelectedAttributes() {\n if (!this.options()) return;\n\n this.options().forEach((option) => {\n option.selected.set(false);\n });\n }\n\n private removeAccents(str: string): string {\n return str.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n }\n\n private filterOptions(searchTerm: string) {\n if (!this.searchBehavior()) {\n return;\n }\n\n this.searchTermInput.emit({ searchTerm });\n\n let processedSearchTerm = searchTerm;\n if (!this.caseSensitive()) {\n processedSearchTerm = this.removeAccents(searchTerm).toLowerCase();\n }\n\n this.options().forEach((option) => {\n let optionText = option.elementRef?.nativeElement?.textContent || '';\n if (!this.caseSensitive()) {\n optionText = this.removeAccents(optionText.toLowerCase());\n }\n\n const isVisible = optionText.includes(processedSearchTerm);\n option.visible.set(isVisible);\n option.elementRef.nativeElement.style.display = isVisible ? 'block' : 'none';\n });\n }\n\n // Event handlers\n handleKeyNavigation(event: KeyboardEvent) {\n const { code: keyCode } = event;\n\n if (!this.isOpen() && keyCode === 'ArrowDown') {\n this.isOpen.set(true);\n this.activeIndex.set(0);\n return;\n }\n\n if (keyCode === 'ArrowDown') {\n event.preventDefault();\n this.updateActiveIndex(1);\n }\n\n if (keyCode === 'ArrowUp') {\n event.preventDefault();\n this.updateActiveIndex(-1);\n }\n\n if (keyCode === 'Enter' || keyCode === 'Space') {\n this.options()?.[this.activeIndex()]?.elementRef?.nativeElement?.click();\n }\n\n if (keyCode === 'Escape') {\n this.isOpen.set(false);\n }\n }\n\n private updateActiveIndex(direction: number) {\n const visibleOptions = this.options();\n if (!visibleOptions || visibleOptions.length === 0) return;\n\n this.activeIndex.update((index) => (index + direction + visibleOptions.length) % visibleOptions.length);\n }\n\n handleInputChange(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n this.textInput.set(value);\n this.isOpen.set(value.length > 0);\n this.onChange(value);\n this.filterOptions(value);\n }\n\n handleClick(event: MouseEvent) {\n if (this.disabled()) {\n event.preventDefault();\n return;\n }\n\n const target = event.target as HTMLElement;\n\n // Procura pelo elemento cura-select-option mais próximo\n const optionElement = target.closest('cura-select-option') as HTMLElement;\n\n if (optionElement) {\n this.clearSelectedAttributes();\n const clickedOption = this.options()?.find((option) => option.elementRef?.nativeElement === optionElement);\n if (clickedOption) {\n clickedOption.selected.set(true);\n }\n return;\n }\n\n this.isOpen.update((value) => !value);\n }\n\n private updateOptionHighlights(newActiveIndex: number): void {\n this.options().forEach((option, index) => {\n option.active.set(index === newActiveIndex);\n });\n }\n\n /**\n * Controla o clique fora do componente\n */\n private addOutsideClickListener(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n document.addEventListener('click', this.handleClickOutside);\n }\n\n private removeOutsideClickListener(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n document.removeEventListener('click', this.handleClickOutside);\n }\n\n private handleClickOutside = (event: MouseEvent): void => {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n const clickedOutside = !this.elementRef.nativeElement.contains(event.target as Node);\n if (clickedOutside && this.isOpen()) {\n this.isOpen.set(false);\n }\n };\n}\n","<div [ngClass]=\"containerClasses()\" [style]=\"styles()\" (mouseenter)=\"isHovered.set(true)\" (mouseleave)=\"isHovered.set(false)\" (click)=\"handleClick($event)\">\n @if (label()) {\n <cura-label class=\"label\" weight=\"bold\" [size]=\"size() === 'large' ? 'small' : 'xsmall'\" [color]=\"labelColor()\">\n {{ label() }}\n @if (required()) {\n <span class=\"required\">*</span>\n }\n </cura-label>\n }\n\n <div\n [ngClass]=\"{\n 'cura-input-field': true,\n open: isOpen(),\n }\"\n >\n @if (status() !== 'default' || iconName()) {\n <cura-icon\n class=\"feedback-icon\"\n [name]=\"currentIconName()\"\n iconset=\"default\"\n [size]=\"size() === 'large' ? 20 : 16\"\n [color]=\"iconColor()\"\n [style]=\"styles()\"\n >\n </cura-icon>\n }\n\n <input\n #inputElement\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [readonly]=\"!searchBehavior()\"\n [value]=\"textInput()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-invalid]=\"status() === 'error'\"\n [attr.aria-autocomplete]=\"searchBehavior() ? 'list' : 'none'\"\n [attr.aria-controls]=\"listboxId()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-activedescendant]=\"activeOptionId()\"\n role=\"combobox\"\n [style]=\"styles()\"\n (focus)=\"isFocused.set(true)\"\n (blur)=\"isFocused.set(false)\"\n (input)=\"handleInputChange($event)\"\n (keydown)=\"handleKeyNavigation($event)\"\n />\n\n <button\n class=\"up-down-button\"\n type=\"button\"\n [attr.aria-label]=\"isOpen() ? 'Fechar lista de opções' : 'Abrir lista de opções'\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"listboxId()\"\n [disabled]=\"disabled()\"\n tabindex=\"-1\"\n >\n <cura-icon [name]=\"isOpen() ? 'up' : 'down'\" class=\"up-down-icon\" [color]=\"disabled() ? 'neutral-dark' : 'primary-base'\" [size]=\"16\" iconset=\"default\">\n </cura-icon>\n </button>\n </div>\n\n <cura-label class=\"helper-text\" size=\"xsmall\" [color]=\"textColor()\" [weight]=\"mode() === 'transparent' ? 'bold' : 'regular'\">\n <ng-content></ng-content>\n </cura-label>\n\n @if (isOpen()) {\n <div\n [ngClass]=\"{\n menu: true,\n open: isOpen(),\n }\"\n [style]=\"{ '--max-height': maxHeight() }\"\n role=\"listbox\"\n [id]=\"listboxId()\"\n [attr.aria-label]=\"'Lista de opções para ' + (label() || 'seleção')\"\n [attr.aria-multiselectable]=\"false\"\n >\n <ng-content select=\"cura-select-option\"></ng-content>\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -149,16 +149,16 @@ class CuraSwitchComponent {
149
149
  this.onTouched();
150
150
  this.onchange.emit({ checked: this.checked() });
151
151
  }
152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuraSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
153
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: CuraSwitchComponent, isStandalone: true, selector: "cura-switch", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, overflowLabel: { classPropertyName: "overflowLabel", publicName: "overflowLabel", isSignal: true, isRequired: false, transformFunction: null }, overflowHelper: { classPropertyName: "overflowHelper", publicName: "overflowHelper", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", onchange: "onchange" }, host: { attributes: { "role": "switch" }, properties: { "attr.aria-checked": "checked()", "attr.aria-disabled": "disabled()", "attr.tabindex": "tabindex()" } }, providers: [
152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CuraSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.16", type: CuraSwitchComponent, isStandalone: true, selector: "cura-switch", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, overflowLabel: { classPropertyName: "overflowLabel", publicName: "overflowLabel", isSignal: true, isRequired: false, transformFunction: null }, overflowHelper: { classPropertyName: "overflowHelper", publicName: "overflowHelper", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", onchange: "onchange" }, host: { attributes: { "role": "switch" }, properties: { "attr.aria-checked": "checked()", "attr.aria-disabled": "disabled()", "attr.tabindex": "tabindex()" } }, providers: [
154
154
  {
155
155
  provide: NG_VALUE_ACCESSOR,
156
156
  useExisting: forwardRef(() => CuraSwitchComponent),
157
157
  multi: true,
158
158
  },
159
- ], ngImport: i0, template: "<div [class]=\"containerClasses()\" [style]=\"styles()\" (click)=\"toggleSwitch()\">\r\n <div class=\"info\">\r\n <cura-label\r\n [textOverflow]=\"overflowLabel()\"\r\n [style.textAlign]=\"labelTextAlign()\"\r\n class=\"label\"\r\n weight=\"bold\"\r\n [size]=\"labelSize()\"\r\n lineHeight=\"125%\"\r\n [color]=\"labelColor()\"\r\n >\r\n {{ label() }}\r\n </cura-label>\r\n\r\n <cura-label [textOverflow]=\"overflowHelper()\" [style.textAlign]=\"labelTextAlign()\" [color]=\"messageColor()\" size=\"xsmall\" class=\"message\">\r\n <ng-content></ng-content>\r\n </cura-label>\r\n </div>\r\n\r\n <div class=\"control\">\r\n <div [class]=\"'track ' + size().toLowerCase()\">\r\n <div [class]=\"'thumb ' + size().toLowerCase()\" [tabIndex]=\"tabindex()\" (keydown.space)=\"toggleSwitch()\" (keydown.enter)=\"toggleSwitch()\"></div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@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{overflow:hidden}.label,.message{text-align:left}.control{width:fit-content}.track{background:var(--neutral-dark-base);border-radius:16px;transition:background-color .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 .3s,outline .3s;display:inline-block;cursor:pointer;-webkit-user-select:none;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:0 4px 8px 0 var(--neutral-black-shadow, rgba(38, 38, 38, .16));background:var(--neutral-purewhite);transform:translate(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)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CuraLabelComponent, selector: "cura-label", inputs: ["size", "weight", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }] }); }
159
+ ], ngImport: i0, template: "<div [class]=\"containerClasses()\" [style]=\"styles()\" (click)=\"toggleSwitch()\">\n <div class=\"info\">\n <cura-label\n [textOverflow]=\"overflowLabel()\"\n [style.textAlign]=\"labelTextAlign()\"\n class=\"label\"\n weight=\"bold\"\n [size]=\"labelSize()\"\n lineHeight=\"125%\"\n [color]=\"labelColor()\"\n >\n {{ label() }}\n </cura-label>\n\n <cura-label [textOverflow]=\"overflowHelper()\" [style.textAlign]=\"labelTextAlign()\" [color]=\"messageColor()\" size=\"xsmall\" class=\"message\">\n <ng-content></ng-content>\n </cura-label>\n </div>\n\n <div class=\"control\">\n <div [class]=\"'track ' + size().toLowerCase()\">\n <div [class]=\"'thumb ' + size().toLowerCase()\" [tabIndex]=\"tabindex()\" (keydown.space)=\"toggleSwitch()\" (keydown.enter)=\"toggleSwitch()\"></div>\n </div>\n </div>\n</div>\n", styles: ["@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{overflow:hidden}.label,.message{text-align:left}.control{width:fit-content}.track{background:var(--neutral-dark-base);border-radius:16px;transition:background-color .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 .3s,outline .3s;display:inline-block;cursor:pointer;-webkit-user-select:none;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:0 4px 8px 0 var(--neutral-black-shadow, rgba(38, 38, 38, .16));background:var(--neutral-purewhite);transform:translate(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)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CuraLabelComponent, selector: "cura-label", inputs: ["size", "weight", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }] }); }
160
160
  }
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuraSwitchComponent, decorators: [{
161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CuraSwitchComponent, decorators: [{
162
162
  type: Component,
163
163
  args: [{ selector: 'cura-switch', imports: [CommonModule, CuraLabelComponent], host: {
164
164
  role: 'switch',
@@ -171,7 +171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
171
171
  useExisting: forwardRef(() => CuraSwitchComponent),
172
172
  multi: true,
173
173
  },
174
- ], template: "<div [class]=\"containerClasses()\" [style]=\"styles()\" (click)=\"toggleSwitch()\">\r\n <div class=\"info\">\r\n <cura-label\r\n [textOverflow]=\"overflowLabel()\"\r\n [style.textAlign]=\"labelTextAlign()\"\r\n class=\"label\"\r\n weight=\"bold\"\r\n [size]=\"labelSize()\"\r\n lineHeight=\"125%\"\r\n [color]=\"labelColor()\"\r\n >\r\n {{ label() }}\r\n </cura-label>\r\n\r\n <cura-label [textOverflow]=\"overflowHelper()\" [style.textAlign]=\"labelTextAlign()\" [color]=\"messageColor()\" size=\"xsmall\" class=\"message\">\r\n <ng-content></ng-content>\r\n </cura-label>\r\n </div>\r\n\r\n <div class=\"control\">\r\n <div [class]=\"'track ' + size().toLowerCase()\">\r\n <div [class]=\"'thumb ' + size().toLowerCase()\" [tabIndex]=\"tabindex()\" (keydown.space)=\"toggleSwitch()\" (keydown.enter)=\"toggleSwitch()\"></div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@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{overflow:hidden}.label,.message{text-align:left}.control{width:fit-content}.track{background:var(--neutral-dark-base);border-radius:16px;transition:background-color .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 .3s,outline .3s;display:inline-block;cursor:pointer;-webkit-user-select:none;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:0 4px 8px 0 var(--neutral-black-shadow, rgba(38, 38, 38, .16));background:var(--neutral-purewhite);transform:translate(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)}\n"] }]
174
+ ], template: "<div [class]=\"containerClasses()\" [style]=\"styles()\" (click)=\"toggleSwitch()\">\n <div class=\"info\">\n <cura-label\n [textOverflow]=\"overflowLabel()\"\n [style.textAlign]=\"labelTextAlign()\"\n class=\"label\"\n weight=\"bold\"\n [size]=\"labelSize()\"\n lineHeight=\"125%\"\n [color]=\"labelColor()\"\n >\n {{ label() }}\n </cura-label>\n\n <cura-label [textOverflow]=\"overflowHelper()\" [style.textAlign]=\"labelTextAlign()\" [color]=\"messageColor()\" size=\"xsmall\" class=\"message\">\n <ng-content></ng-content>\n </cura-label>\n </div>\n\n <div class=\"control\">\n <div [class]=\"'track ' + size().toLowerCase()\">\n <div [class]=\"'thumb ' + size().toLowerCase()\" [tabIndex]=\"tabindex()\" (keydown.space)=\"toggleSwitch()\" (keydown.enter)=\"toggleSwitch()\"></div>\n </div>\n </div>\n</div>\n", styles: ["@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{overflow:hidden}.label,.message{text-align:left}.control{width:fit-content}.track{background:var(--neutral-dark-base);border-radius:16px;transition:background-color .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 .3s,outline .3s;display:inline-block;cursor:pointer;-webkit-user-select:none;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:0 4px 8px 0 var(--neutral-black-shadow, rgba(38, 38, 38, .16));background:var(--neutral-purewhite);transform:translate(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)}\n"] }]
175
175
  }], propDecorators: { checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }, { type: i0.Output, args: ["checkedChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], overflowLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "overflowLabel", required: false }] }], overflowHelper: [{ type: i0.Input, args: [{ isSignal: true, alias: "overflowHelper", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], background: [{ type: i0.Input, args: [{ isSignal: true, alias: "background", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], onchange: [{ type: i0.Output, args: ["onchange"] }] } });
176
176
 
177
177
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"rededor-site-front-end-lib-cura-forms-cura-switch.mjs","sources":["../../../projects/site-front-end-lib/cura/forms/cura-switch/cura-switch.component.ts","../../../projects/site-front-end-lib/cura/forms/cura-switch/cura-switch.component.html","../../../projects/site-front-end-lib/cura/forms/cura-switch/rededor-site-front-end-lib-cura-forms-cura-switch.ts"],"sourcesContent":["import { Component, input, output, inject, computed, forwardRef, model } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { CuraLabelComponent } from '@rededor/site-front-end-lib/cura/forms/cura-label';\r\nimport { formsSizes, TextOverflow } from '@rededor/site-front-end-lib/cura/forms';\r\nimport { SwitchSize, SwitchPosition, SwitchBackground, SwitchChangeEvent } from './cura-switch.definitions';\r\n\r\n@Component({\r\n selector: 'cura-switch',\r\n imports: [CommonModule, CuraLabelComponent],\r\n templateUrl: './cura-switch.component.html',\r\n styleUrls: ['./cura-switch.component.scss'],\r\n host: {\r\n role: 'switch',\r\n '[attr.aria-checked]': 'checked()',\r\n '[attr.aria-disabled]': 'disabled()',\r\n '[attr.tabindex]': 'tabindex()',\r\n },\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CuraSwitchComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class CuraSwitchComponent implements ControlValueAccessor {\r\n private curaApi: CuraApiService = inject(CuraApiService);\r\n\r\n /**\r\n * Indicates whether the switch is checked or not.\r\n */\r\n checked = model<boolean>(false);\r\n\r\n /**\r\n * Indicates whether the switch is disabled or not.\r\n */\r\n disabled = input<boolean>(false);\r\n\r\n /**\r\n * The label text to display next to the switch.\r\n */\r\n label = input<string>('');\r\n\r\n /**\r\n * Tab index for the switch element.\r\n */\r\n tabindex = input<number>(0);\r\n\r\n /**\r\n * Controls how the label text should handle overflow.\r\n * - 'none': No overflow handling; the label displays normally.\r\n * - 'single': The label will be truncated with an ellipsis if it overflows a single line.\r\n * - string: Custom overflow handling mode.\r\n */\r\n overflowLabel = input<TextOverflow>('none');\r\n\r\n /**\r\n * Controls how the helper text should handle overflow.\r\n * - 'none': No overflow handling; the label displays normally.\r\n * - 'single': The label will be truncated with an ellipsis if it overflows a single line.\r\n * - string: Custom overflow handling mode.\r\n */\r\n overflowHelper = input<TextOverflow>('none');\r\n\r\n /**\r\n * Position of the label relative to the switch.\r\n */\r\n position = input<SwitchPosition>('left');\r\n\r\n /**\r\n * Size of the switch.\r\n */\r\n size = input<SwitchSize>('medium');\r\n\r\n /**\r\n * Background style of the switch.\r\n */\r\n background = input<SwitchBackground>('light');\r\n\r\n /**\r\n * Accent color of the switch.\r\n */\r\n color = input<string>('accent');\r\n\r\n /**\r\n * Change event emitter\r\n */\r\n onchange = output<SwitchChangeEvent>();\r\n\r\n // Form control callbacks\r\n private onChange = (value: boolean) => {};\r\n private onTouched = () => {};\r\n\r\n private sizes = {\r\n large: { size: 64 },\r\n medium: { size: 48 },\r\n small: { size: 40 },\r\n };\r\n\r\n // Computed signals\r\n private colorConfig = computed(() => {\r\n if (this.disabled()) {\r\n return {\r\n label: this.isDarkBackground() ? 'neutral-dark' : 'neutral-dark',\r\n message: this.isDarkBackground() ? 'neutral-dark' : 'neutral-dark',\r\n };\r\n }\r\n\r\n const darkBackground = this.isDarkBackground();\r\n return {\r\n label: darkBackground ? 'neutral-white' : 'neutral-black',\r\n message: darkBackground ? 'primary-lighter' : 'neutral-dark',\r\n };\r\n });\r\n\r\n containerClasses = computed(() => {\r\n const classes = ['container'];\r\n if (this.checked()) classes.push('checked');\r\n if (this.disabled()) classes.push('disabled');\r\n if (this.position() === 'right') classes.push('position');\r\n return classes.join(' ');\r\n });\r\n\r\n labelColor = computed(() => this.colorConfig().label);\r\n messageColor = computed(() => this.colorConfig().message);\r\n labelSize = computed(() => (this.size() === 'large' ? 'medium' : 'xsmall'));\r\n labelTextAlign = computed(() => (this.position() === 'right' ? 'right' : 'left'));\r\n\r\n styles = computed(() => {\r\n const sizeConfig = this.sizes[this.size()];\r\n const formsSize = formsSizes[this.size()];\r\n\r\n const sizeStyles = {\r\n '--size-track': `${sizeConfig.size}px`,\r\n '--size': `${formsSize.size}px`,\r\n '--gap': `${formsSize.gap}px`,\r\n };\r\n\r\n const darkBackground = this.isDarkBackground();\r\n const colorValue = this.color();\r\n\r\n const colors = [\r\n { name: '--info-base', background: 'info-base' },\r\n { name: '--neutral-black-shadow', background: 'neutral-black', opacity: 0.16 },\r\n { name: '--neutral-purewhite', background: 'neutral-purewhite' },\r\n { name: '--neutral-medium', background: 'neutral-medium' },\r\n { name: '--neutral-pale', background: 'neutral-pale' },\r\n { name: '--neutral-dark-base', background: `neutral-${darkBackground ? 'dark' : 'base'}` },\r\n { name: '--neutral-darker-medium', background: `neutral-${darkBackground ? 'darker' : 'medium'}` },\r\n { name: '--neutral-black-neutral-pale', background: `${darkBackground ? 'neutral-black' : 'neutral-pale'}` },\r\n { name: '--neutral-black-neutral-base', background: `${darkBackground ? 'neutral-dark' : 'neutral-base'}` },\r\n { name: '--color-base-light', background: `${colorValue}-light` },\r\n { name: '--color-dark', background: `${colorValue}-dark` },\r\n ];\r\n\r\n const colorStyles: { [key: string]: string } = {};\r\n colors.forEach((color) => {\r\n if (this.curaApi) {\r\n colorStyles[color.name] = this.curaApi.theme.colors.getColor(color.background, color?.opacity);\r\n }\r\n });\r\n\r\n return { ...sizeStyles, ...colorStyles };\r\n });\r\n\r\n // ControlValueAccessor implementation\r\n writeValue(value: boolean): void {\r\n this.checked.set(value || false);\r\n }\r\n\r\n registerOnChange(fn: (value: boolean) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n private isDarkBackground(): boolean {\r\n return this.background() === 'dark';\r\n }\r\n\r\n toggleSwitch(): void {\r\n if (this.disabled()) return;\r\n\r\n this.checked.update((value) => !value);\r\n\r\n // Notify form control\r\n this.onChange(this.checked());\r\n this.onTouched();\r\n\r\n this.onchange.emit({ checked: this.checked() });\r\n }\r\n}\r\n","<div [class]=\"containerClasses()\" [style]=\"styles()\" (click)=\"toggleSwitch()\">\r\n <div class=\"info\">\r\n <cura-label\r\n [textOverflow]=\"overflowLabel()\"\r\n [style.textAlign]=\"labelTextAlign()\"\r\n class=\"label\"\r\n weight=\"bold\"\r\n [size]=\"labelSize()\"\r\n lineHeight=\"125%\"\r\n [color]=\"labelColor()\"\r\n >\r\n {{ label() }}\r\n </cura-label>\r\n\r\n <cura-label [textOverflow]=\"overflowHelper()\" [style.textAlign]=\"labelTextAlign()\" [color]=\"messageColor()\" size=\"xsmall\" class=\"message\">\r\n <ng-content></ng-content>\r\n </cura-label>\r\n </div>\r\n\r\n <div class=\"control\">\r\n <div [class]=\"'track ' + size().toLowerCase()\">\r\n <div [class]=\"'thumb ' + size().toLowerCase()\" [tabIndex]=\"tabindex()\" (keydown.space)=\"toggleSwitch()\" (keydown.enter)=\"toggleSwitch()\"></div>\r\n </div>\r\n </div>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rededor-site-front-end-lib-cura-forms-cura-switch.mjs","sources":["../../../projects/site-front-end-lib/cura/forms/cura-switch/cura-switch.component.ts","../../../projects/site-front-end-lib/cura/forms/cura-switch/cura-switch.component.html","../../../projects/site-front-end-lib/cura/forms/cura-switch/rededor-site-front-end-lib-cura-forms-cura-switch.ts"],"sourcesContent":["import { Component, input, output, inject, computed, forwardRef, model } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\nimport { CuraLabelComponent } from '@rededor/site-front-end-lib/cura/forms/cura-label';\nimport { formsSizes, TextOverflow } from '@rededor/site-front-end-lib/cura/forms';\nimport { SwitchSize, SwitchPosition, SwitchBackground, SwitchChangeEvent } from './cura-switch.definitions';\n\n@Component({\n selector: 'cura-switch',\n imports: [CommonModule, CuraLabelComponent],\n templateUrl: './cura-switch.component.html',\n styleUrls: ['./cura-switch.component.scss'],\n host: {\n role: 'switch',\n '[attr.aria-checked]': 'checked()',\n '[attr.aria-disabled]': 'disabled()',\n '[attr.tabindex]': 'tabindex()',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CuraSwitchComponent),\n multi: true,\n },\n ],\n})\nexport class CuraSwitchComponent implements ControlValueAccessor {\n private curaApi: CuraApiService = inject(CuraApiService);\n\n /**\n * Indicates whether the switch is checked or not.\n */\n checked = model<boolean>(false);\n\n /**\n * Indicates whether the switch is disabled or not.\n */\n disabled = input<boolean>(false);\n\n /**\n * The label text to display next to the switch.\n */\n label = input<string>('');\n\n /**\n * Tab index for the switch element.\n */\n tabindex = input<number>(0);\n\n /**\n * Controls how the label text should handle overflow.\n * - 'none': No overflow handling; the label displays normally.\n * - 'single': The label will be truncated with an ellipsis if it overflows a single line.\n * - string: Custom overflow handling mode.\n */\n overflowLabel = input<TextOverflow>('none');\n\n /**\n * Controls how the helper text should handle overflow.\n * - 'none': No overflow handling; the label displays normally.\n * - 'single': The label will be truncated with an ellipsis if it overflows a single line.\n * - string: Custom overflow handling mode.\n */\n overflowHelper = input<TextOverflow>('none');\n\n /**\n * Position of the label relative to the switch.\n */\n position = input<SwitchPosition>('left');\n\n /**\n * Size of the switch.\n */\n size = input<SwitchSize>('medium');\n\n /**\n * Background style of the switch.\n */\n background = input<SwitchBackground>('light');\n\n /**\n * Accent color of the switch.\n */\n color = input<string>('accent');\n\n /**\n * Change event emitter\n */\n onchange = output<SwitchChangeEvent>();\n\n // Form control callbacks\n private onChange = (value: boolean) => {};\n private onTouched = () => {};\n\n private sizes = {\n large: { size: 64 },\n medium: { size: 48 },\n small: { size: 40 },\n };\n\n // Computed signals\n private colorConfig = computed(() => {\n if (this.disabled()) {\n return {\n label: this.isDarkBackground() ? 'neutral-dark' : 'neutral-dark',\n message: this.isDarkBackground() ? 'neutral-dark' : 'neutral-dark',\n };\n }\n\n const darkBackground = this.isDarkBackground();\n return {\n label: darkBackground ? 'neutral-white' : 'neutral-black',\n message: darkBackground ? 'primary-lighter' : 'neutral-dark',\n };\n });\n\n containerClasses = computed(() => {\n const classes = ['container'];\n if (this.checked()) classes.push('checked');\n if (this.disabled()) classes.push('disabled');\n if (this.position() === 'right') classes.push('position');\n return classes.join(' ');\n });\n\n labelColor = computed(() => this.colorConfig().label);\n messageColor = computed(() => this.colorConfig().message);\n labelSize = computed(() => (this.size() === 'large' ? 'medium' : 'xsmall'));\n labelTextAlign = computed(() => (this.position() === 'right' ? 'right' : 'left'));\n\n styles = computed(() => {\n const sizeConfig = this.sizes[this.size()];\n const formsSize = formsSizes[this.size()];\n\n const sizeStyles = {\n '--size-track': `${sizeConfig.size}px`,\n '--size': `${formsSize.size}px`,\n '--gap': `${formsSize.gap}px`,\n };\n\n const darkBackground = this.isDarkBackground();\n const colorValue = this.color();\n\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-${darkBackground ? 'dark' : 'base'}` },\n { name: '--neutral-darker-medium', background: `neutral-${darkBackground ? 'darker' : 'medium'}` },\n { name: '--neutral-black-neutral-pale', background: `${darkBackground ? 'neutral-black' : 'neutral-pale'}` },\n { name: '--neutral-black-neutral-base', background: `${darkBackground ? 'neutral-dark' : 'neutral-base'}` },\n { name: '--color-base-light', background: `${colorValue}-light` },\n { name: '--color-dark', background: `${colorValue}-dark` },\n ];\n\n const colorStyles: { [key: string]: string } = {};\n colors.forEach((color) => {\n if (this.curaApi) {\n colorStyles[color.name] = this.curaApi.theme.colors.getColor(color.background, color?.opacity);\n }\n });\n\n return { ...sizeStyles, ...colorStyles };\n });\n\n // ControlValueAccessor implementation\n writeValue(value: boolean): void {\n this.checked.set(value || false);\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n private isDarkBackground(): boolean {\n return this.background() === 'dark';\n }\n\n toggleSwitch(): void {\n if (this.disabled()) return;\n\n this.checked.update((value) => !value);\n\n // Notify form control\n this.onChange(this.checked());\n this.onTouched();\n\n this.onchange.emit({ checked: this.checked() });\n }\n}\n","<div [class]=\"containerClasses()\" [style]=\"styles()\" (click)=\"toggleSwitch()\">\n <div class=\"info\">\n <cura-label\n [textOverflow]=\"overflowLabel()\"\n [style.textAlign]=\"labelTextAlign()\"\n class=\"label\"\n weight=\"bold\"\n [size]=\"labelSize()\"\n lineHeight=\"125%\"\n [color]=\"labelColor()\"\n >\n {{ label() }}\n </cura-label>\n\n <cura-label [textOverflow]=\"overflowHelper()\" [style.textAlign]=\"labelTextAlign()\" [color]=\"messageColor()\" size=\"xsmall\" class=\"message\">\n <ng-content></ng-content>\n </cura-label>\n </div>\n\n <div class=\"control\">\n <div [class]=\"'track ' + size().toLowerCase()\">\n <div [class]=\"'thumb ' + size().toLowerCase()\" [tabIndex]=\"tabindex()\" (keydown.space)=\"toggleSwitch()\" (keydown.enter)=\"toggleSwitch()\"></div>\n </div>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rededor-site-front-end-lib-cura-forms.mjs","sources":["../../../projects/site-front-end-lib/cura/forms/cura-forms.definitions.ts","../../../projects/site-front-end-lib/cura/forms/rededor-site-front-end-lib-cura-forms.ts"],"sourcesContent":["export const formsSizes = {\r\n large: {\r\n size: 32,\r\n gap: 16,\r\n },\r\n medium: {\r\n size: 24,\r\n gap: 12,\r\n },\r\n small: {\r\n size: 20,\r\n gap: 8,\r\n },\r\n};\r\n\r\nexport type LabelSize = 'medium' | 'large' | 'small' | 'xsmall';\r\nexport type LabelWeight = 'regular' | 'bold';\r\nexport type TextOverflow = 'none' | 'single';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAAO,MAAM,UAAU,GAAG;AACxB,IAAA,KAAK,EAAE;AACL,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,GAAG,EAAE,EAAE;AACR,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,GAAG,EAAE,EAAE;AACR,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,GAAG,EAAE,CAAC;AACP,KAAA;;;ACZH;;AAEG;;;;"}
1
+ {"version":3,"file":"rededor-site-front-end-lib-cura-forms.mjs","sources":["../../../projects/site-front-end-lib/cura/forms/cura-forms.definitions.ts","../../../projects/site-front-end-lib/cura/forms/rededor-site-front-end-lib-cura-forms.ts"],"sourcesContent":["export const formsSizes = {\n large: {\n size: 32,\n gap: 16,\n },\n medium: {\n size: 24,\n gap: 12,\n },\n small: {\n size: 20,\n gap: 8,\n },\n};\n\nexport type LabelSize = 'medium' | 'large' | 'small' | 'xsmall';\nexport type LabelWeight = 'regular' | 'bold';\nexport type TextOverflow = 'none' | 'single';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAAO,MAAM,UAAU,GAAG;AACxB,IAAA,KAAK,EAAE;AACL,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,GAAG,EAAE,EAAE;AACR,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,GAAG,EAAE,EAAE;AACR,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,GAAG,EAAE,CAAC;AACP,KAAA;;;ACZH;;AAEG;;;;"}
@@ -67,17 +67,17 @@ class CuraIconComponent {
67
67
  };
68
68
  }, ...(ngDevMode ? [{ debugName: "iconStyles" }] : []));
69
69
  }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuraIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: CuraIconComponent, isStandalone: true, selector: "cura-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, iconset: { classPropertyName: "iconset", publicName: "iconset", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "style.--size": "iconStyles().size", "style.--stroke": "iconStyles().stroke", "style.--color": "iconStyles().color" } }, ngImport: i0, template: "<svg version=\"1.1\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <use [attr.xlink:href]=\"iconPath()\"></use>\r\n</svg>\r\n", styles: [":host{width:var(--size);height:var(--size);display:inline-block}:host svg{display:inline-block;stroke:var(--color);width:var(--size);height:var(--size);stroke-width:var(--stroke);fill:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CuraIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.16", type: CuraIconComponent, isStandalone: true, selector: "cura-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, iconset: { classPropertyName: "iconset", publicName: "iconset", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "style.--size": "iconStyles().size", "style.--stroke": "iconStyles().stroke", "style.--color": "iconStyles().color" } }, ngImport: i0, template: "<svg version=\"1.1\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\">\n <use [attr.xlink:href]=\"iconPath()\"></use>\n</svg>\n", styles: [":host{width:var(--size);height:var(--size);display:inline-block}:host svg{display:inline-block;stroke:var(--color);width:var(--size);height:var(--size);stroke-width:var(--stroke);fill:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuraIconComponent, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CuraIconComponent, decorators: [{
74
74
  type: Component,
75
75
  args: [{ selector: 'cura-icon', imports: [CommonModule], host: {
76
76
  role: 'img',
77
77
  '[style.--size]': 'iconStyles().size',
78
78
  '[style.--stroke]': 'iconStyles().stroke',
79
79
  '[style.--color]': 'iconStyles().color',
80
- }, template: "<svg version=\"1.1\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <use [attr.xlink:href]=\"iconPath()\"></use>\r\n</svg>\r\n", styles: [":host{width:var(--size);height:var(--size);display:inline-block}:host svg{display:inline-block;stroke:var(--color);width:var(--size);height:var(--size);stroke-width:var(--stroke);fill:none}\n"] }]
80
+ }, template: "<svg version=\"1.1\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\">\n <use [attr.xlink:href]=\"iconPath()\"></use>\n</svg>\n", styles: [":host{width:var(--size);height:var(--size);display:inline-block}:host svg{display:inline-block;stroke:var(--color);width:var(--size);height:var(--size);stroke-width:var(--stroke);fill:none}\n"] }]
81
81
  }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], iconset: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconset", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
82
82
 
83
83
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"rededor-site-front-end-lib-cura-icons-cura-icon.mjs","sources":["../../../projects/site-front-end-lib/cura/icons/cura-icon/cura-icon.definitions.ts","../../../projects/site-front-end-lib/cura/icons/cura-icon/cura-icon.component.ts","../../../projects/site-front-end-lib/cura/icons/cura-icon/cura-icon.component.html","../../../projects/site-front-end-lib/cura/icons/cura-icon/rededor-site-front-end-lib-cura-icons-cura-icon.ts"],"sourcesContent":["export interface IconSize {\r\n size: number;\r\n stroke: number;\r\n}\r\n\r\nexport const iconSizes: Record<string, IconSize> = {\r\n '128': { size: 128, stroke: 5.25 },\r\n '72': { size: 72, stroke: 3.5 },\r\n '64': { size: 64, stroke: 3.25 },\r\n '48': { size: 48, stroke: 2.75 },\r\n '40': { size: 40, stroke: 2.5 },\r\n '32': { size: 32, stroke: 2.25 },\r\n '24': { size: 24, stroke: 2 },\r\n '20': { size: 20, stroke: 1.75 },\r\n '16': { size: 16, stroke: 1.5 },\r\n micro: { size: 12, stroke: 1.25 },\r\n default: { size: 24, stroke: 2 },\r\n};\r\n\r\nexport type IconSizeType = keyof typeof iconSizes | string | number;\r\n","import { Component, inject, input, computed } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { iconSizes, IconSizeType } from './cura-icon.definitions';\r\n\r\n@Component({\r\n selector: 'cura-icon',\r\n imports: [CommonModule],\r\n templateUrl: './cura-icon.component.html',\r\n styleUrls: ['./cura-icon.component.scss'],\r\n host: {\r\n role: 'img',\r\n '[style.--size]': 'iconStyles().size',\r\n '[style.--stroke]': 'iconStyles().stroke',\r\n '[style.--color]': 'iconStyles().color',\r\n },\r\n})\r\nexport class CuraIconComponent {\r\n private curaApi = inject(CuraApiService);\r\n\r\n /**\r\n * Name of the icon to be used from iconset.\r\n */\r\n name = input<string>('');\r\n\r\n /**\r\n * Color of the icon. Uses theme color tokens.\r\n */\r\n color = input<string>('neutral-base');\r\n\r\n /**\r\n * Size of the icon. Can be a predefined size or custom number.\r\n */\r\n size = input<IconSizeType>('default');\r\n\r\n /**\r\n * Custom iconset if needed.\r\n */\r\n iconset = input<string>('default');\r\n\r\n /**\r\n * Disabled state. Boolean.\r\n */\r\n disabled = input<boolean>(false);\r\n\r\n // Computed signals\r\n private assetsPath = computed(() => this.curaApi.localAssetsPath());\r\n\r\n private iconSize = computed(() => {\r\n const sizeValue = this.size();\r\n\r\n const scaledStroke = (iconSize: string | number) => {\r\n return iconSizes[iconSize].stroke * (iconSizes['default'].size / iconSizes[iconSize].size);\r\n };\r\n\r\n const size = iconSizes[`${sizeValue}`] ? iconSizes[sizeValue].size : iconSizes['default'].size;\r\n const stroke = iconSizes[`${sizeValue}`] ? scaledStroke(sizeValue) : scaledStroke('default');\r\n\r\n return { size, stroke };\r\n });\r\n\r\n private iconColor = computed(() => {\r\n const colorValue = this.disabled() ? 'neutral-medium' : this.color();\r\n return this.curaApi.theme.colors.getColor(colorValue);\r\n });\r\n\r\n iconPath = computed(() => {\r\n return `${this.assetsPath()}/icons/iconset-${this.iconset()}.svg#${this.name()}`;\r\n });\r\n\r\n iconStyles = computed(() => {\r\n const sizeData = this.iconSize();\r\n return {\r\n size: `${sizeData.size}px`,\r\n stroke: `${sizeData.stroke}px`,\r\n color: this.iconColor(),\r\n };\r\n });\r\n}\r\n","<svg version=\"1.1\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <use [attr.xlink:href]=\"iconPath()\"></use>\r\n</svg>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rededor-site-front-end-lib-cura-icons-cura-icon.mjs","sources":["../../../projects/site-front-end-lib/cura/icons/cura-icon/cura-icon.definitions.ts","../../../projects/site-front-end-lib/cura/icons/cura-icon/cura-icon.component.ts","../../../projects/site-front-end-lib/cura/icons/cura-icon/cura-icon.component.html","../../../projects/site-front-end-lib/cura/icons/cura-icon/rededor-site-front-end-lib-cura-icons-cura-icon.ts"],"sourcesContent":["export interface IconSize {\n size: number;\n stroke: number;\n}\n\nexport const iconSizes: Record<string, IconSize> = {\n '128': { size: 128, stroke: 5.25 },\n '72': { size: 72, stroke: 3.5 },\n '64': { size: 64, stroke: 3.25 },\n '48': { size: 48, stroke: 2.75 },\n '40': { size: 40, stroke: 2.5 },\n '32': { size: 32, stroke: 2.25 },\n '24': { size: 24, stroke: 2 },\n '20': { size: 20, stroke: 1.75 },\n '16': { size: 16, stroke: 1.5 },\n micro: { size: 12, stroke: 1.25 },\n default: { size: 24, stroke: 2 },\n};\n\nexport type IconSizeType = keyof typeof iconSizes | string | number;\n","import { Component, inject, input, computed } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\nimport { iconSizes, IconSizeType } from './cura-icon.definitions';\n\n@Component({\n selector: 'cura-icon',\n imports: [CommonModule],\n templateUrl: './cura-icon.component.html',\n styleUrls: ['./cura-icon.component.scss'],\n host: {\n role: 'img',\n '[style.--size]': 'iconStyles().size',\n '[style.--stroke]': 'iconStyles().stroke',\n '[style.--color]': 'iconStyles().color',\n },\n})\nexport class CuraIconComponent {\n private curaApi = inject(CuraApiService);\n\n /**\n * Name of the icon to be used from iconset.\n */\n name = input<string>('');\n\n /**\n * Color of the icon. Uses theme color tokens.\n */\n color = input<string>('neutral-base');\n\n /**\n * Size of the icon. Can be a predefined size or custom number.\n */\n size = input<IconSizeType>('default');\n\n /**\n * Custom iconset if needed.\n */\n iconset = input<string>('default');\n\n /**\n * Disabled state. Boolean.\n */\n disabled = input<boolean>(false);\n\n // Computed signals\n private assetsPath = computed(() => this.curaApi.localAssetsPath());\n\n private iconSize = computed(() => {\n const sizeValue = this.size();\n\n const scaledStroke = (iconSize: string | number) => {\n return iconSizes[iconSize].stroke * (iconSizes['default'].size / iconSizes[iconSize].size);\n };\n\n const size = iconSizes[`${sizeValue}`] ? iconSizes[sizeValue].size : iconSizes['default'].size;\n const stroke = iconSizes[`${sizeValue}`] ? scaledStroke(sizeValue) : scaledStroke('default');\n\n return { size, stroke };\n });\n\n private iconColor = computed(() => {\n const colorValue = this.disabled() ? 'neutral-medium' : this.color();\n return this.curaApi.theme.colors.getColor(colorValue);\n });\n\n iconPath = computed(() => {\n return `${this.assetsPath()}/icons/iconset-${this.iconset()}.svg#${this.name()}`;\n });\n\n iconStyles = computed(() => {\n const sizeData = this.iconSize();\n return {\n size: `${sizeData.size}px`,\n stroke: `${sizeData.stroke}px`,\n color: this.iconColor(),\n };\n });\n}\n","<svg version=\"1.1\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\">\n <use [attr.xlink:href]=\"iconPath()\"></use>\n</svg>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -23,17 +23,17 @@ class CuraLoaderBarComponent {
23
23
  };
24
24
  }, ...(ngDevMode ? [{ debugName: "loaderStyles" }] : []));
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuraLoaderBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: CuraLoaderBarComponent, isStandalone: true, selector: "cura-loader-bar", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar" }, properties: { "attr.aria-valuenow": "progress()", "attr.aria-valuemin": "0", "attr.aria-valuemax": "100" } }, ngImport: i0, template: "<div id=\"progress-bar\" class=\"progress-bar\" [ngStyle]=\"loaderStyles()\">\r\n <span class=\"progress-bar-fill\"></span>\r\n</div>\r\n", styles: [":host{display:block}:host .progress-bar{position:absolute;left:0;bottom:0;width:100%;height:4px;background-color:var(--neutral-base)}:host .progress-bar .progress-bar-fill{position:absolute;left:0;bottom:0;width:var(--bar-width);height:100%;border-radius:0 2px 2px 0;background-color:var(--color-base);transition:width .2s linear}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CuraLoaderBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.16", type: CuraLoaderBarComponent, isStandalone: true, selector: "cura-loader-bar", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar" }, properties: { "attr.aria-valuenow": "progress()", "attr.aria-valuemin": "0", "attr.aria-valuemax": "100" } }, ngImport: i0, template: "<div id=\"progress-bar\" class=\"progress-bar\" [ngStyle]=\"loaderStyles()\">\n <span class=\"progress-bar-fill\"></span>\n</div>\n", styles: [":host{display:block}:host .progress-bar{position:absolute;left:0;bottom:0;width:100%;height:4px;background-color:var(--neutral-base)}:host .progress-bar .progress-bar-fill{position:absolute;left:0;bottom:0;width:var(--bar-width);height:100%;border-radius:0 2px 2px 0;background-color:var(--color-base);transition:width .2s linear}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuraLoaderBarComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CuraLoaderBarComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: 'cura-loader-bar', imports: [CommonModule], host: {
32
32
  role: 'progressbar',
33
33
  '[attr.aria-valuenow]': 'progress()',
34
34
  '[attr.aria-valuemin]': '0',
35
35
  '[attr.aria-valuemax]': '100',
36
- }, template: "<div id=\"progress-bar\" class=\"progress-bar\" [ngStyle]=\"loaderStyles()\">\r\n <span class=\"progress-bar-fill\"></span>\r\n</div>\r\n", styles: [":host{display:block}:host .progress-bar{position:absolute;left:0;bottom:0;width:100%;height:4px;background-color:var(--neutral-base)}:host .progress-bar .progress-bar-fill{position:absolute;left:0;bottom:0;width:var(--bar-width);height:100%;border-radius:0 2px 2px 0;background-color:var(--color-base);transition:width .2s linear}\n"] }]
36
+ }, template: "<div id=\"progress-bar\" class=\"progress-bar\" [ngStyle]=\"loaderStyles()\">\n <span class=\"progress-bar-fill\"></span>\n</div>\n", styles: [":host{display:block}:host .progress-bar{position:absolute;left:0;bottom:0;width:100%;height:4px;background-color:var(--neutral-base)}:host .progress-bar .progress-bar-fill{position:absolute;left:0;bottom:0;width:var(--bar-width);height:100%;border-radius:0 2px 2px 0;background-color:var(--color-base);transition:width .2s linear}\n"] }]
37
37
  }], propDecorators: { color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], progress: [{ type: i0.Input, args: [{ isSignal: true, alias: "progress", required: false }] }] } });
38
38
 
39
39
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"rededor-site-front-end-lib-cura-loaders-cura-loader-bar.mjs","sources":["../../../projects/site-front-end-lib/cura/loaders/cura-loader-bar/cura-loader-bar.component.ts","../../../projects/site-front-end-lib/cura/loaders/cura-loader-bar/cura-loader-bar.component.html","../../../projects/site-front-end-lib/cura/loaders/cura-loader-bar/rededor-site-front-end-lib-cura-loaders-cura-loader-bar.ts"],"sourcesContent":["import { Component, inject, input, computed } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\n\r\n@Component({\r\n selector: 'cura-loader-bar',\r\n imports: [CommonModule],\r\n templateUrl: './cura-loader-bar.component.html',\r\n styleUrls: ['./cura-loader-bar.component.scss'],\r\n host: {\r\n role: 'progressbar',\r\n '[attr.aria-valuenow]': 'progress()',\r\n '[attr.aria-valuemin]': '0',\r\n '[attr.aria-valuemax]': '100',\r\n },\r\n})\r\nexport class CuraLoaderBarComponent {\r\n private curaApi = inject(CuraApiService);\r\n\r\n /**\r\n * One from color scheme. Default: primary-base.\r\n */\r\n color = input<string>('primary-base');\r\n\r\n /**\r\n * Progress percentage (0-100).\r\n */\r\n progress = input<number>(0);\r\n\r\n loaderStyles = computed(() => {\r\n return {\r\n '--neutral-base': this.curaApi.theme.colors.getColor('neutral-base', 0.2),\r\n '--color-base': this.curaApi.theme.colors.getColor(this.color()),\r\n '--bar-width': `${this.progress()}%`,\r\n };\r\n });\r\n}\r\n","<div id=\"progress-bar\" class=\"progress-bar\" [ngStyle]=\"loaderStyles()\">\r\n <span class=\"progress-bar-fill\"></span>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAgBa,sBAAsB,CAAA;AAZnC,IAAA,WAAA,GAAA;AAaU,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAExC;;AAEG;AACH,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,cAAc,iDAAC;AAErC;;AAEG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,CAAC,oDAAC;AAE3B,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;YAC3B,OAAO;AACL,gBAAA,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC;AACzE,gBAAA,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AAChE,gBAAA,aAAa,EAAE,CAAA,EAAG,IAAI,CAAC,QAAQ,EAAE,CAAA,CAAA,CAAG;aACrC;AACH,QAAA,CAAC,wDAAC;AACH,IAAA;+GApBY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,aAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,GAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBnC,4IAGA,EAAA,MAAA,EAAA,CAAA,8UAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDGY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAUX,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAZlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,OAAA,EAClB,CAAC,YAAY,CAAC,EAAA,IAAA,EAGjB;AACJ,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,sBAAsB,EAAE,GAAG;AAC3B,wBAAA,sBAAsB,EAAE,KAAK;AAC9B,qBAAA,EAAA,QAAA,EAAA,4IAAA,EAAA,MAAA,EAAA,CAAA,8UAAA,CAAA,EAAA;;;AEdH;;AAEG;;;;"}
1
+ {"version":3,"file":"rededor-site-front-end-lib-cura-loaders-cura-loader-bar.mjs","sources":["../../../projects/site-front-end-lib/cura/loaders/cura-loader-bar/cura-loader-bar.component.ts","../../../projects/site-front-end-lib/cura/loaders/cura-loader-bar/cura-loader-bar.component.html","../../../projects/site-front-end-lib/cura/loaders/cura-loader-bar/rededor-site-front-end-lib-cura-loaders-cura-loader-bar.ts"],"sourcesContent":["import { Component, inject, input, computed } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\n\n@Component({\n selector: 'cura-loader-bar',\n imports: [CommonModule],\n templateUrl: './cura-loader-bar.component.html',\n styleUrls: ['./cura-loader-bar.component.scss'],\n host: {\n role: 'progressbar',\n '[attr.aria-valuenow]': 'progress()',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n },\n})\nexport class CuraLoaderBarComponent {\n private curaApi = inject(CuraApiService);\n\n /**\n * One from color scheme. Default: primary-base.\n */\n color = input<string>('primary-base');\n\n /**\n * Progress percentage (0-100).\n */\n progress = input<number>(0);\n\n loaderStyles = computed(() => {\n return {\n '--neutral-base': this.curaApi.theme.colors.getColor('neutral-base', 0.2),\n '--color-base': this.curaApi.theme.colors.getColor(this.color()),\n '--bar-width': `${this.progress()}%`,\n };\n });\n}\n","<div id=\"progress-bar\" class=\"progress-bar\" [ngStyle]=\"loaderStyles()\">\n <span class=\"progress-bar-fill\"></span>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAgBa,sBAAsB,CAAA;AAZnC,IAAA,WAAA,GAAA;AAaU,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAExC;;AAEG;AACH,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,cAAc,iDAAC;AAErC;;AAEG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,CAAC,oDAAC;AAE3B,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;YAC3B,OAAO;AACL,gBAAA,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC;AACzE,gBAAA,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AAChE,gBAAA,aAAa,EAAE,CAAA,EAAG,IAAI,CAAC,QAAQ,EAAE,CAAA,CAAA,CAAG;aACrC;AACH,QAAA,CAAC,wDAAC;AACH,IAAA;+GApBY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,aAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,GAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBnC,sIAGA,EAAA,MAAA,EAAA,CAAA,8UAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDGY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAUX,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAZlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,OAAA,EAClB,CAAC,YAAY,CAAC,EAAA,IAAA,EAGjB;AACJ,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,sBAAsB,EAAE,GAAG;AAC3B,wBAAA,sBAAsB,EAAE,KAAK;AAC9B,qBAAA,EAAA,QAAA,EAAA,sIAAA,EAAA,MAAA,EAAA,CAAA,8UAAA,CAAA,EAAA;;;AEdH;;AAEG;;;;"}
@@ -29,16 +29,16 @@ class CuraLoaderCircleComponent {
29
29
  };
30
30
  }, ...(ngDevMode ? [{ debugName: "loaderStyles" }] : []));
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuraLoaderCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: CuraLoaderCircleComponent, isStandalone: true, selector: "cura-loader-circle", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar" }, properties: { "style.--size": "loaderStyles().size", "style.--color": "loaderStyles().color" } }, ngImport: i0, template: "<svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g>\r\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"url(#paint0_linear_13485_11488)\" stroke-width=\"2\" />\r\n <path d=\"M1 8C1 4.13401 4.11877 1 7.96596 1C9.53445 1 10.9819 1.52093 12.1462 2.4C12.8959 2.96601 13.5282 3.68049 14 4.5\" stroke-width=\"2\" />\r\n </g>\r\n <defs>\r\n <linearGradient id=\"paint0_linear_13485_11488\" x1=\"15.7\" y1=\"4.5\" x2=\"4.15\" y2=\"11.5\" gradientUnits=\"userSpaceOnUse\">\r\n <stop />\r\n <stop offset=\"1\" />\r\n </linearGradient>\r\n </defs>\r\n</svg>\r\n", styles: [":host{display:inline-block;width:var(--size);height:var(--size)}:host svg{width:var(--size);height:var(--size);animation:rotate .7s linear infinite}:host circle,:host path{stroke-miterlimit:10;stroke-linecap:round;stroke-linejoin:round}:host path{stroke:var(--color)}:host stop{stop-color:var(--color)}:host linearGradient stop:first-child{stop-opacity:.14}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CuraLoaderCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.16", type: CuraLoaderCircleComponent, isStandalone: true, selector: "cura-loader-circle", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar" }, properties: { "style.--size": "loaderStyles().size", "style.--color": "loaderStyles().color" } }, ngImport: i0, template: "<svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g>\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"url(#paint0_linear_13485_11488)\" stroke-width=\"2\" />\n <path d=\"M1 8C1 4.13401 4.11877 1 7.96596 1C9.53445 1 10.9819 1.52093 12.1462 2.4C12.8959 2.96601 13.5282 3.68049 14 4.5\" stroke-width=\"2\" />\n </g>\n <defs>\n <linearGradient id=\"paint0_linear_13485_11488\" x1=\"15.7\" y1=\"4.5\" x2=\"4.15\" y2=\"11.5\" gradientUnits=\"userSpaceOnUse\">\n <stop />\n <stop offset=\"1\" />\n </linearGradient>\n </defs>\n</svg>\n", styles: [":host{display:inline-block;width:var(--size);height:var(--size)}:host svg{width:var(--size);height:var(--size);animation:rotate .7s linear infinite}:host circle,:host path{stroke-miterlimit:10;stroke-linecap:round;stroke-linejoin:round}:host path{stroke:var(--color)}:host stop{stop-color:var(--color)}:host linearGradient stop:first-child{stop-opacity:.14}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuraLoaderCircleComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CuraLoaderCircleComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'cura-loader-circle', host: {
38
38
  role: 'progressbar',
39
39
  '[style.--size]': 'loaderStyles().size',
40
40
  '[style.--color]': 'loaderStyles().color',
41
- }, template: "<svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g>\r\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"url(#paint0_linear_13485_11488)\" stroke-width=\"2\" />\r\n <path d=\"M1 8C1 4.13401 4.11877 1 7.96596 1C9.53445 1 10.9819 1.52093 12.1462 2.4C12.8959 2.96601 13.5282 3.68049 14 4.5\" stroke-width=\"2\" />\r\n </g>\r\n <defs>\r\n <linearGradient id=\"paint0_linear_13485_11488\" x1=\"15.7\" y1=\"4.5\" x2=\"4.15\" y2=\"11.5\" gradientUnits=\"userSpaceOnUse\">\r\n <stop />\r\n <stop offset=\"1\" />\r\n </linearGradient>\r\n </defs>\r\n</svg>\r\n", styles: [":host{display:inline-block;width:var(--size);height:var(--size)}:host svg{width:var(--size);height:var(--size);animation:rotate .7s linear infinite}:host circle,:host path{stroke-miterlimit:10;stroke-linecap:round;stroke-linejoin:round}:host path{stroke:var(--color)}:host stop{stop-color:var(--color)}:host linearGradient stop:first-child{stop-opacity:.14}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
41
+ }, template: "<svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g>\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"url(#paint0_linear_13485_11488)\" stroke-width=\"2\" />\n <path d=\"M1 8C1 4.13401 4.11877 1 7.96596 1C9.53445 1 10.9819 1.52093 12.1462 2.4C12.8959 2.96601 13.5282 3.68049 14 4.5\" stroke-width=\"2\" />\n </g>\n <defs>\n <linearGradient id=\"paint0_linear_13485_11488\" x1=\"15.7\" y1=\"4.5\" x2=\"4.15\" y2=\"11.5\" gradientUnits=\"userSpaceOnUse\">\n <stop />\n <stop offset=\"1\" />\n </linearGradient>\n </defs>\n</svg>\n", styles: [":host{display:inline-block;width:var(--size);height:var(--size)}:host svg{width:var(--size);height:var(--size);animation:rotate .7s linear infinite}:host circle,:host path{stroke-miterlimit:10;stroke-linecap:round;stroke-linejoin:round}:host path{stroke:var(--color)}:host stop{stop-color:var(--color)}:host linearGradient stop:first-child{stop-opacity:.14}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
42
42
  }], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] } });
43
43
 
44
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"rededor-site-front-end-lib-cura-loaders-cura-loader-circle.mjs","sources":["../../../projects/site-front-end-lib/cura/loaders/cura-loader-circle/cura-loader-circle.component.ts","../../../projects/site-front-end-lib/cura/loaders/cura-loader-circle/cura-loader-circle.component.html","../../../projects/site-front-end-lib/cura/loaders/cura-loader-circle/rededor-site-front-end-lib-cura-loaders-cura-loader-circle.ts"],"sourcesContent":["import { Component, inject, input, computed } from '@angular/core';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\n\r\nexport type LoaderSize = 'small' | 'medium' | 'large' | 'xlarge';\r\n\r\n@Component({\r\n selector: 'cura-loader-circle',\r\n templateUrl: './cura-loader-circle.component.html',\r\n styleUrls: ['./cura-loader-circle.component.scss'],\r\n host: {\r\n role: 'progressbar',\r\n '[style.--size]': 'loaderStyles().size',\r\n '[style.--color]': 'loaderStyles().color',\r\n },\r\n})\r\nexport class CuraLoaderCircleComponent {\r\n private curaApi = inject(CuraApiService);\r\n\r\n /**\r\n * Loader size. Values: small, medium, large or xlarge.\r\n */\r\n size = input<LoaderSize>('medium');\r\n\r\n /**\r\n * One from color scheme. Default: neutral-white.\r\n */\r\n color = input<string>('neutral-white');\r\n\r\n private sizes = {\r\n xlarge: 32,\r\n large: 24,\r\n medium: 20,\r\n small: 16,\r\n default: 16,\r\n };\r\n\r\n // Computed signal\r\n loaderStyles = computed(() => {\r\n const pxSize = this.sizes[this.size()] || this.sizes['default'];\r\n return {\r\n size: `${pxSize}px`,\r\n color: this.curaApi.theme.colors.getColor(this.color()),\r\n };\r\n });\r\n}\r\n","<svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g>\r\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"url(#paint0_linear_13485_11488)\" stroke-width=\"2\" />\r\n <path d=\"M1 8C1 4.13401 4.11877 1 7.96596 1C9.53445 1 10.9819 1.52093 12.1462 2.4C12.8959 2.96601 13.5282 3.68049 14 4.5\" stroke-width=\"2\" />\r\n </g>\r\n <defs>\r\n <linearGradient id=\"paint0_linear_13485_11488\" x1=\"15.7\" y1=\"4.5\" x2=\"4.15\" y2=\"11.5\" gradientUnits=\"userSpaceOnUse\">\r\n <stop />\r\n <stop offset=\"1\" />\r\n </linearGradient>\r\n </defs>\r\n</svg>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAea,yBAAyB,CAAA;AAVtC,IAAA,WAAA,GAAA;AAWU,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAExC;;AAEG;AACH,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAa,QAAQ,gDAAC;AAElC;;AAEG;AACH,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,eAAe,iDAAC;AAE9B,QAAA,IAAA,CAAA,KAAK,GAAG;AACd,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,OAAO,EAAE,EAAE;SACZ;;AAGD,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AAC3B,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAC/D,OAAO;gBACL,IAAI,EAAE,CAAA,EAAG,MAAM,CAAA,EAAA,CAAI;AACnB,gBAAA,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;aACxD;AACH,QAAA,CAAC,wDAAC;AACH,IAAA;+GA7BY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,wdCftC,gmBAYA,EAAA,MAAA,EAAA,CAAA,+aAAA,CAAA,EAAA,CAAA,CAAA;;4FDGa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAAA,IAAA,EAGxB;AACJ,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,gBAAgB,EAAE,qBAAqB;AACvC,wBAAA,iBAAiB,EAAE,sBAAsB;AAC1C,qBAAA,EAAA,QAAA,EAAA,gmBAAA,EAAA,MAAA,EAAA,CAAA,+aAAA,CAAA,EAAA;;;AEbH;;AAEG;;;;"}
1
+ {"version":3,"file":"rededor-site-front-end-lib-cura-loaders-cura-loader-circle.mjs","sources":["../../../projects/site-front-end-lib/cura/loaders/cura-loader-circle/cura-loader-circle.component.ts","../../../projects/site-front-end-lib/cura/loaders/cura-loader-circle/cura-loader-circle.component.html","../../../projects/site-front-end-lib/cura/loaders/cura-loader-circle/rededor-site-front-end-lib-cura-loaders-cura-loader-circle.ts"],"sourcesContent":["import { Component, inject, input, computed } from '@angular/core';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\n\nexport type LoaderSize = 'small' | 'medium' | 'large' | 'xlarge';\n\n@Component({\n selector: 'cura-loader-circle',\n templateUrl: './cura-loader-circle.component.html',\n styleUrls: ['./cura-loader-circle.component.scss'],\n host: {\n role: 'progressbar',\n '[style.--size]': 'loaderStyles().size',\n '[style.--color]': 'loaderStyles().color',\n },\n})\nexport class CuraLoaderCircleComponent {\n private curaApi = inject(CuraApiService);\n\n /**\n * Loader size. Values: small, medium, large or xlarge.\n */\n size = input<LoaderSize>('medium');\n\n /**\n * One from color scheme. Default: neutral-white.\n */\n color = input<string>('neutral-white');\n\n private sizes = {\n xlarge: 32,\n large: 24,\n medium: 20,\n small: 16,\n default: 16,\n };\n\n // Computed signal\n loaderStyles = computed(() => {\n const pxSize = this.sizes[this.size()] || this.sizes['default'];\n return {\n size: `${pxSize}px`,\n color: this.curaApi.theme.colors.getColor(this.color()),\n };\n });\n}\n","<svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g>\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"url(#paint0_linear_13485_11488)\" stroke-width=\"2\" />\n <path d=\"M1 8C1 4.13401 4.11877 1 7.96596 1C9.53445 1 10.9819 1.52093 12.1462 2.4C12.8959 2.96601 13.5282 3.68049 14 4.5\" stroke-width=\"2\" />\n </g>\n <defs>\n <linearGradient id=\"paint0_linear_13485_11488\" x1=\"15.7\" y1=\"4.5\" x2=\"4.15\" y2=\"11.5\" gradientUnits=\"userSpaceOnUse\">\n <stop />\n <stop offset=\"1\" />\n </linearGradient>\n </defs>\n</svg>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAea,yBAAyB,CAAA;AAVtC,IAAA,WAAA,GAAA;AAWU,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAExC;;AAEG;AACH,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAa,QAAQ,gDAAC;AAElC;;AAEG;AACH,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,eAAe,iDAAC;AAE9B,QAAA,IAAA,CAAA,KAAK,GAAG;AACd,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,OAAO,EAAE,EAAE;SACZ;;AAGD,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AAC3B,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAC/D,OAAO;gBACL,IAAI,EAAE,CAAA,EAAG,MAAM,CAAA,EAAA,CAAI;AACnB,gBAAA,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;aACxD;AACH,QAAA,CAAC,wDAAC;AACH,IAAA;+GA7BY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,wdCftC,wkBAYA,EAAA,MAAA,EAAA,CAAA,+aAAA,CAAA,EAAA,CAAA,CAAA;;4FDGa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAAA,IAAA,EAGxB;AACJ,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,gBAAgB,EAAE,qBAAqB;AACvC,wBAAA,iBAAiB,EAAE,sBAAsB;AAC1C,qBAAA,EAAA,QAAA,EAAA,wkBAAA,EAAA,MAAA,EAAA,CAAA,+aAAA,CAAA,EAAA;;;AEbH;;AAEG;;;;"}