@marsaude/sira-components 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -0
- package/fesm2022/marsaude-sira-components.mjs +956 -0
- package/fesm2022/marsaude-sira-components.mjs.map +1 -0
- package/package.json +25 -0
- package/styles/alert.scss +87 -0
- package/styles/badge.scss +52 -0
- package/styles/button.scss +267 -0
- package/styles/card.scss +79 -0
- package/styles/nav-card.scss +140 -0
- package/styles/quick-button.scss +78 -0
- package/styles/reset.scss +70 -0
- package/styles/section.scss +93 -0
- package/styles/styles.scss +9 -0
- package/styles/tile-card.scss +72 -0
- package/types/marsaude-sira-components.d.ts +168 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marsaude-sira-components.mjs","sources":["../../../../projects/marsaude/sira-components/src/lib/alert/alert.component.ts","../../../../projects/marsaude/sira-components/src/lib/badge/badge.component.ts","../../../../projects/marsaude/sira-components/src/lib/quick-button/quick-button.component.ts","../../../../projects/marsaude/sira-components/src/lib/card/card.action.component.ts","../../../../projects/marsaude/sira-components/src/lib/card/card.body.component.ts","../../../../projects/marsaude/sira-components/src/lib/card/card.image.component.ts","../../../../projects/marsaude/sira-components/src/lib/card/card.component.ts","../../../../projects/marsaude/sira-components/src/lib/nav-card/nav-card.component.ts","../../../../projects/marsaude/sira-components/src/lib/tile-card/tile-card.component.ts","../../../../projects/marsaude/sira-components/src/lib/text-style/text-style.directive.ts","../../../../projects/marsaude/sira-components/src/lib/section/section.heading.component.ts","../../../../projects/marsaude/sira-components/src/lib/button/button.component.ts","../../../../projects/marsaude/sira-components/src/lib/element-spacing/element-spacing.directive.ts","../../../../projects/marsaude/sira-components/src/lib/navbar/navbar.component.ts","../../../../projects/marsaude/sira-components/src/lib/section/section.component.ts","../../../../projects/marsaude/sira-components/src/lib/section/section.body.component.ts","../../../../projects/marsaude/sira-components/src/lib/sira-components.module.ts","../../../../projects/marsaude/sira-components/src/public-api.ts","../../../../projects/marsaude/sira-components/src/marsaude-sira-components.ts"],"sourcesContent":["import { Component, EventEmitter, HostBinding, Input, Output, output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nexport type AlertTheme = 'info' | 'success' | 'warning' | 'danger' | 'neutral';\n\n@Component({\n selector: 'div[siraAlert]',\n standalone: true,\n imports: [CommonModule],\n template: `\n @if (icon) {\n <div class=\"alert-icon\">\n <i class=\"material-icons\">{{ icon }}</i>\n </div>\n }\n\n <div class=\"alert-content\">\n \n @if (title) {\n <h4 class=\"alert-title\">{{ title }}</h4>\n }\n \n <div class=\"alert-description\">\n <ng-content></ng-content>\n </div>\n\n @if (linkText) {\n <a href=\"javascript:void(0)\" (click)=\"callback.emit(true)\" class=\"alert-link\">{{ linkText }}</a>\n }\n </div>\n `,\n})\nexport class AlertComponent {\n @Input() theme: AlertTheme = 'neutral';\n @Input() icon: string | undefined;\n @Input() title: string | undefined;\n @Input() linkText: string | undefined;\n @Output() callback = new EventEmitter();\n\n @HostBinding('class') get classes() {\n return [\n 'sira-alert',\n `sira-alert--${this.theme}`\n ].join(' ');\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nexport type BadgeTheme = 'success' | 'warning' | 'danger' | 'info' | 'neutral';\nexport type BadgeVariant = 'filled' | 'ghost'; // filled = fundo claro, ghost = fundo transparente\n\n@Component({\n selector: 'span[siraBadge]',\n standalone: true,\n imports: [CommonModule],\n template: `\n @if (dot) {\n <span class=\"sira-badge-dot\"></span>\n }\n \n <span class=\"text\">\n <ng-content></ng-content> \n </span>\n \n `,\n})\nexport class BadgeComponent {\n @Input() theme: BadgeTheme = 'neutral';\n @Input() variant: BadgeVariant = 'filled';\n @Input() dot: boolean = false;\n\n @HostBinding('class') get classes() {\n return [\n 'sira-badge',\n `sira-badge--${this.theme}`,\n `sira-badge--${this.variant}`,\n this.dot ? 'sira-badge--has-dot' : ''\n ].join(' ');\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'button[siraQuickButton], a[siraQuickButton]',\n standalone: true,\n imports: [CommonModule],\n template: `\n <div class=\"icon-container\">\n @if (icon) {\n <i class=\"material-icons\">{{ icon }}</i>\n }\n </div>\n <span class=\"label\">{{ label }}</span>\n `,\n})\nexport class QuickButtonComponent {\n @Input() icon: string = '';\n @Input() label: string = '';\n\n @HostBinding('class') get classes() {\n return 'sira-quick-button';\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'div[siraCardAction]',\n standalone: true,\n imports: [CommonModule],\n template: `\n <span class=\"content-wrapper\">\n <ng-content></ng-content>\n </span>\n `,\n})\nexport class CardActionComponent {\n @HostBinding('class') get classes() {\n return [\n 'sira-card--action',\n ].join(' ');\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'div[siraCardBody]',\n standalone: true,\n imports: [CommonModule],\n template: `\n <span class=\"content-wrapper\">\n <ng-content></ng-content>\n </span>\n `,\n})\nexport class CardBodyComponent {\n @HostBinding('class') get classes() {\n return [\n 'sira-card--body',\n ].join(' ');\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'div[siraCardImage]',\n standalone: true,\n imports: [CommonModule],\n template: `\n <div class=\"image\" style=\"background-image: url({{ image }})\">\n <ng-content></ng-content>\n </div>\n `,\n})\nexport class CardImageComponent {\n @Input() image: string | undefined;\n @Input() alt: string | undefined;\n\n @HostBinding('class') get classes() {\n return [\n 'sira-card--image',\n ].join(' ');\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CardActionComponent } from './card.action.component';\nimport { CardBodyComponent } from './card.body.component';\nimport { CardImageComponent } from './card.image.component';\n\nexport type theme = 'warning' | 'success' | 'info' | 'danger';\n\n@Component({\n selector: 'div[siraCard]',\n standalone: true,\n imports: [CommonModule],\n template: `\n <span class=\"content-wrapper\">\n <ng-content></ng-content>\n </span>\n `,\n})\nexport class CardComponent {\n @Input() theme: theme | undefined;\n @Input() border: boolean = true;\n\n @HostBinding('class') get classes() {\n return [\n 'sira-card',\n !this.border ? `sira-card--border-none` : '',\n this.theme ? `sira-card--${ this.theme }` : '',\n ].join(' ');\n }\n}\n\nexport const SIRA_CARD_COMPONENTS = [\n CardActionComponent,\n CardBodyComponent,\n CardImageComponent,\n CardComponent\n] as const;\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'a[siraNavCard], button[siraNavCard]', // Funciona como link ou botão\n standalone: true,\n imports: [CommonModule],\n template: `\n @if (image) {\n <div class=\"media-container image-mode\">\n <div class=\"image-bg\" style=\"background-image: url('{{image}}')\"></div>\n </div>\n } @else if (icon) {\n <div class=\"media-container icon-mode\">\n <i class=\"material-icons\">{{ icon }}</i>\n </div>\n }\n\n <div class=\"content\">\n <div class=\"badge-wrapper\">\n <ng-content select=\"[siraBadge]\"></ng-content>\n </div>\n\n <span class=\"title\">{{ title }}</span>\n\n @if (subtitle) {\n <span class=\"subtitle\">{{ subtitle }}</span>\n }\n </div>\n\n <div class=\"action\">\n <i class=\"material-icons\">arrow_forward</i>\n </div>\n `,\n})\nexport class NavCardComponent {\n @Input() title: string = '';\n @Input() subtitle: string | undefined;\n @Input() image: string | undefined;\n @Input() icon: string | undefined;\n @Input() size: 'default' | 'small' = 'default';\n @Input() full: boolean = false;\n\n @HostBinding('class') get classes() {\n return [\n 'sira-nav-card',\n `sira-nav-card--${ this.size }`,\n this.image ? 'has-image' : 'has-icon',\n this.full ? 'full' : ''\n ].join(' ');\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'a[siraTileCard], button[siraTileCard]', // Permite ser um link ou botão\n standalone: true,\n imports: [CommonModule],\n template: `\n <div class=\"icon-container\">\n @if (icon) {\n <i class=\"material-icons\">{{ icon }}</i>\n }\n </div>\n\n <span class=\"title\">{{ title }}</span>\n\n <div class=\"action-footer\">\n <span class=\"action-text\">{{ actionText }}</span>\n <i class=\"material-icons action-icon\">arrow_forward</i>\n </div>\n `,\n})\nexport class TileCardComponent {\n @Input() icon: string = '';\n @Input() title: string = '';\n @Input() actionText: string = 'Acessar'; // Texto padrão conforme a imagem\n\n @HostBinding('class') get classes() {\n return ['sira-tile-card'].join(' ');\n }\n}\n","import { Directive, ElementRef, Input, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Directive({\n selector: '[textStyle]',\n standalone: true,\n})\nexport class TextStyleDirective implements OnChanges, OnInit, OnDestroy {\n @Input('textStyle') tokens: TokenNames | TokenNames[] = [];\n\n @Input() font?: TokenNames;\n @Input() color?: TokenNames;\n @Input() size?: TokenNames;\n @Input() spacing?: TokenNames;\n @Input() bgColor?: TokenNames;\n @Input() weight?: TokenNames;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {\n }\n\n private resizeSub?: Subscription;\n\n ngOnChanges(_: SimpleChanges): void {\n this.applyStyles();\n }\n\n ngOnInit(): void {\n // Recalcula estilos quando o tamanho da janela mudar (tokens responsivos)\n this.resizeSub = fromEvent(window, 'resize')\n .pipe(debounceTime(150))\n .subscribe(() => this.applyStyles());\n }\n\n ngOnDestroy(): void {\n this.resizeSub?.unsubscribe();\n }\n\n private applyStyles(): void {\n const element = this.el.nativeElement;\n const rootStyles = window.getComputedStyle(document.documentElement);\n const styleObj: { [key: string]: string } = {};\n\n const tokenList = Array.isArray(this.tokens)\n ? this.tokens\n : this.tokens?.split(' ').filter(Boolean) ?? [];\n\n const regex = /(\\d{3})\\s+([\\d.]+px)\\/([\\d.]+px)\\s+(?:\"([^\"]+)\"|'([^']+)')/;\n\n // Tokens combinados\n tokenList.forEach(token => {\n const tokenValue = rootStyles.getPropertyValue(`--${ token.trim() }`).trim();\n const match = tokenValue.match(regex);\n if (match) {\n const [, weight, size, lineHeight, font1, font2] = match;\n const fontFamily = font1 || font2;\n Object.assign(styleObj, {\n 'font-weight': weight,\n 'font-size': size,\n 'line-height': lineHeight,\n 'font-family': fontFamily,\n });\n }\n });\n\n // Inputs isolados (também via tokens)\n const resolveTokenValue = (tokenName?: string): string | undefined => {\n if (!tokenName) return;\n return rootStyles.getPropertyValue(`--${ tokenName.trim() }`).trim() || tokenName;\n };\n\n const fontResolved = resolveTokenValue(this.font);\n if (fontResolved) {\n // Tenta aplicar parsing como se fosse shorthand de fonte\n const match = fontResolved.match(regex);\n if (match) {\n const [, weight, size, lineHeight, font1, font2] = match;\n styleObj['font-weight'] = weight;\n styleObj['font-size'] = size;\n styleObj['line-height'] = lineHeight;\n styleObj['font-family'] = font1 || font2;\n } else {\n styleObj['font-family'] = fontResolved;\n }\n }\n\n const colorResolved = resolveTokenValue(this.color);\n if (colorResolved) styleObj['color'] = colorResolved;\n\n const sizeResolved = resolveTokenValue(this.size);\n if (sizeResolved) styleObj['font-size'] = sizeResolved;\n\n const weightResolved = resolveTokenValue(this.weight);\n if (weightResolved) styleObj['font-weight'] = weightResolved;\n\n const spacingResolved = resolveTokenValue(this.spacing);\n if (spacingResolved) styleObj['margin-bottom'] = spacingResolved;\n\n const bgColorResolved = resolveTokenValue(this.bgColor);\n if (bgColorResolved) styleObj['background-color'] = bgColorResolved;\n\n // Aplica os estilos no elemento\n Object.entries(styleObj).forEach(([prop, val]) => {\n this.renderer.setStyle(element, prop, val);\n });\n }\n}\n\n\ntype TokenNames =\n 'mar-primary-50' |\n 'mar-primary-100' |\n 'mar-primary-200' |\n 'mar-primary-300' |\n 'mar-primary-400' |\n 'mar-primary-500' |\n 'mar-primary-600' |\n 'mar-primary-700' |\n 'mar-primary-800' |\n 'mar-primary-900' |\n 'mar-primary-950' |\n 'mar-greyscale-0' |\n 'mar-greyscale-50' |\n 'mar-greyscale-100' |\n 'mar-greyscale-200' |\n 'mar-greyscale-300' |\n 'mar-greyscale-400' |\n 'mar-greyscale-500' |\n 'mar-greyscale-600' |\n 'mar-greyscale-700' |\n 'mar-greyscale-800' |\n 'mar-greyscale-900' |\n 'mar-greyscale-950' |\n 'mar-greyscale-1000' |\n 'mar-support-red-50' |\n 'mar-support-red-100' |\n 'mar-support-red-200' |\n 'mar-support-red-300' |\n 'mar-support-red-400' |\n 'mar-support-red-500' |\n 'mar-support-red-600' |\n 'mar-support-red-700' |\n 'mar-support-red-800' |\n 'mar-support-red-900' |\n 'mar-support-red-950' |\n 'mar-support-yellow-50' |\n 'mar-support-yellow-100' |\n 'mar-support-yellow-200' |\n 'mar-support-yellow-300' |\n 'mar-support-yellow-400' |\n 'mar-support-yellow-500' |\n 'mar-support-yellow-600' |\n 'mar-support-yellow-700' |\n 'mar-support-yellow-800' |\n 'mar-support-yellow-900' |\n 'mar-support-yellow-950' |\n 'mar-support-green-50' |\n 'mar-support-green-100' |\n 'mar-support-green-200' |\n 'mar-support-green-300' |\n 'mar-support-green-400' |\n 'mar-support-green-500' |\n 'mar-support-green-600' |\n 'mar-support-green-700' |\n 'mar-support-green-800' |\n 'mar-support-green-900' |\n 'mar-support-green-950' |\n 'mar-support-blue-50' |\n 'mar-support-blue-100' |\n 'mar-support-blue-200' |\n 'mar-support-blue-300' |\n 'mar-support-blue-400' |\n 'mar-support-blue-500' |\n 'mar-support-blue-600' |\n 'mar-support-blue-700' |\n 'mar-support-blue-800' |\n 'mar-support-blue-900' |\n 'mar-support-blue-950' |\n 'mar-font-size-12px' |\n 'mar-font-size-14px' |\n 'mar-font-size-16px' |\n 'mar-font-size-18px' |\n 'mar-font-size-20px' |\n 'mar-font-size-22px' |\n 'mar-font-size-24px' |\n 'mar-font-size-26px' |\n 'mar-font-size-28px' |\n 'mar-font-size-30px' |\n 'mar-font-size-32px' |\n 'mar-font-size-36px' |\n 'mar-font-size-38px' |\n 'mar-font-size-40px' |\n 'mar-font-size-42px' |\n 'mar-font-size-44px' |\n 'mar-font-size-46px' |\n 'mar-font-size-48px' |\n 'mar-font-size-50px' |\n 'mar-font-size-52px' |\n 'mar-font-size-54px' |\n 'mar-font-size-56px' |\n 'mar-font-size-58px' |\n 'mar-font-size-60px' |\n 'mar-text-case-uppercase' |\n 'mar-text-case-lowercase' |\n 'mar-text-case-capitalize' |\n 'mar-text-case-none' |\n 'mar-text-decoration-none' |\n 'mar-text-decoration-underline' |\n 'mar-text-decoration-line-through' |\n 'mar-font-family-open-sans' |\n 'mar-line-height-16px' |\n 'mar-line-height-20px' |\n 'mar-line-height-24px' |\n 'mar-line-height-28px' |\n 'mar-line-height-32px' |\n 'mar-line-height-36px' |\n 'mar-line-height-40px' |\n 'mar-line-height-44px' |\n 'mar-line-height-48px' |\n 'mar-line-height-52px' |\n 'mar-line-height-56px' |\n 'mar-line-height-60px' |\n 'mar-line-height-64px' |\n 'mar-line-height-68px' |\n 'mar-letter-spacing-0' |\n 'mar-font-weight-400' |\n 'mar-font-weight-500' |\n 'mar-font-weight-600' |\n 'mar-font-weight-700' |\n 'mar-spacing-0' |\n 'mar-spacing-50' |\n 'mar-spacing-100' |\n 'mar-spacing-150' |\n 'mar-spacing-200' |\n 'mar-spacing-250' |\n 'mar-spacing-300' |\n 'mar-spacing-350' |\n 'mar-spacing-400' |\n 'mar-spacing-450' |\n 'mar-spacing-500' |\n 'mar-spacing-550' |\n 'mar-spacing-600' |\n 'mar-spacing-650' |\n 'mar-spacing-700' |\n 'mar-spacing-750' |\n 'mar-spacing-800' |\n 'mar-spacing-850' |\n 'mar-spacing-900' |\n 'mar-spacing-950' |\n 'mar-spacing-1000' |\n 'mar-spacing-default-xs' |\n 'mar-spacing-default-sm' |\n 'mar-spacing-default-md' |\n 'mar-spacing-default-lg' |\n 'mar-spacing-default-xl' |\n 'mar-spacing-default-2xl' |\n 'mar-spacing-default-3xl' |\n 'mar-spacing-default-4xl' |\n 'mar-spacing-default-component-fixed-xs' |\n 'mar-spacing-default-component-fixed-sm' |\n 'mar-spacing-default-component-fixed-md' |\n 'mar-spacing-default-component-fixed-lg' |\n 'mar-spacing-default-component-fixed-xl' |\n 'mar-spacing-default-component-responsive-xs' |\n 'mar-spacing-default-component-responsive-sm' |\n 'mar-border-width-none' |\n 'mar-border-width-thin' |\n 'mar-border-width-regular' |\n 'mar-border-radius-none' |\n 'mar-border-radius-xs' |\n 'mar-border-radius-sm' |\n 'mar-border-radius-md' |\n 'mar-border-radius-lg' |\n 'mar-border-radius-xl' |\n 'mar-border-radius-2xl' |\n 'mar-border-radius-circular' |\n 'mar-sizing-0' |\n 'mar-sizing-50' |\n 'mar-sizing-100' |\n 'mar-sizing-150' |\n 'mar-sizing-200' |\n 'mar-sizing-250' |\n 'mar-sizing-300' |\n 'mar-sizing-350' |\n 'mar-sizing-400' |\n 'mar-sizing-450' |\n 'mar-sizing-500' |\n 'mar-sizing-550' |\n 'mar-sizing-600' |\n 'mar-sizing-650' |\n 'mar-sizing-700' |\n 'mar-sizing-750' |\n 'mar-sizing-800' |\n 'mar-sizing-850' |\n 'mar-sizing-900' |\n 'mar-sizing-950' |\n 'mar-sizing-1000' |\n 'mar-sizing-fixed-xs' |\n 'mar-sizing-fixed-sm' |\n 'mar-sizing-fixed-md' |\n 'mar-sizing-fixed-lg' |\n 'mar-sizing-fixed-xl' |\n 'mar-sizing-fixed-2xl' |\n 'mar-sizing-fixed-3xl' |\n 'mar-sizing-fixed-4xl' |\n 'mar-sizing-responsive-sm' |\n 'mar-sizing-responsive-md' |\n 'mar-background-primary' |\n 'mar-background-secondary' |\n 'mar-background-inverse' |\n 'mar-background-brand' |\n 'mar-surface-primary' |\n 'mar-surface-secondary' |\n 'mar-surface-inverse' |\n 'mar-surface-brand' |\n 'mar-foreground-primary-default' |\n 'mar-foreground-primary-hover' |\n 'mar-foreground-primary-active' |\n 'mar-foreground-primary-disabled' |\n 'mar-foreground-secondary-default' |\n 'mar-foreground-secondary-hover' |\n 'mar-foreground-secondary-active' |\n 'mar-foreground-secondary-disabled' |\n 'mar-foreground-tertiary-default' |\n 'mar-foreground-tertiary-hover' |\n 'mar-foreground-tertiary-active' |\n 'mar-foreground-tertiary-disabled' |\n 'mar-foreground-support-success' |\n 'mar-foreground-support-warning' |\n 'mar-foreground-support-danger' |\n 'mar-foreground-support-info' |\n 'mar-border-primary-default' |\n 'mar-border-primary-hover' |\n 'mar-border-primary-active' |\n 'mar-border-primary-disabled' |\n 'mar-border-secondary-default' |\n 'mar-border-secondary-hover' |\n 'mar-border-secondary-active' |\n 'mar-border-secondary-disabled' |\n 'mar-border-inverse-default' |\n 'mar-border-inverse-hover' |\n 'mar-border-inverse-active' |\n 'mar-border-inverse-disabled' |\n 'mar-border-support-success' |\n 'mar-border-support-warning' |\n 'mar-border-support-danger' |\n 'mar-border-support-info' |\n 'mar-border-focus-primary' |\n 'mar-text-primary' |\n 'mar-text-secondary' |\n 'mar-text-tertiary' |\n 'mar-text-inverse' |\n 'mar-text-disabled' |\n 'mar-text-support-success' |\n 'mar-text-support-warning' |\n 'mar-text-support-danger' |\n 'mar-text-support-info' |\n 'mar-overlays-default' |\n 'mar-heading-xxl' |\n 'mar-heading-xl' |\n 'mar-heading-lg' |\n 'mar-heading-md' |\n 'mar-heading-sm' |\n 'mar-body-lg' |\n 'mar-body-md' |\n 'mar-body-sm' |\n 'mar-label-lg' |\n 'mar-label-md' |\n 'mar-label-sm' |\n 'mar-caption-default' |\n 'mar-caption-strong' |\n 'mar-button-lg' |\n 'mar-button-md' |\n 'mar-button-sm' |\n 'mar-links-lg' |\n 'mar-links-md' |\n 'mar-links-sm';\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { theme } from '../card/card.component';\nimport { TextStyleDirective } from '../text-style/text-style.directive';\n\n@Component({\n selector: 'div[siraSectionHeading]',\n standalone: true,\n imports: [CommonModule, TextStyleDirective],\n template: `\n <span class=\"content-wrapper\">\n @if (icon) {\n <div class=\"icon\">\n <i class=\"material-icons\">{{ icon }}</i>\n </div>\n }\n <div class=\"text\">\n <h2 [textStyle]=\"size === 'small'? 'mar-label-md': 'mar-label-lg'\" color=\"mar-text-primary\">{{ title }}</h2>\n @if (subtitle) {\n <p textStyle=\"mar-caption-default\" color=\"mar-text-tertiary\">{{ subtitle }}</p>\n }\n </div>\n </span>\n `,\n})\nexport class SectionHeadingComponent {\n @Input() size: 'default' | 'small' = 'default';\n @Input() title: string | undefined;\n @Input() subtitle: string | undefined;\n @Input() icon: string | undefined;\n @Input() iconColor: theme | undefined;\n\n @HostBinding('class') get classes() {\n return [\n 'sira-section--heading',\n this.size === 'small' ? 'sira-section--heading-small' : '',\n !!this.iconColor ? `icon-color--${ this.iconColor }` : '',\n ].join(' ');\n }\n}\n","import { Component, Input, HostBinding } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'chip';\n\n@Component({\n selector: 'button[siraButton], a[siraButton]',\n standalone: true,\n imports: [CommonModule],\n template: `\n @if (loading) {\n <span class=\"loader-overlay\">\n <span class=\"spinner\"></span>\n </span>\n }\n <span class=\"content-wrapper\" [style.opacity]=\"loading ? '0' : '1'\">\n <ng-content></ng-content>\n </span>\n `,\n})\nexport class ButtonComponent {\n\n @Input() variant: ButtonVariant = 'primary';\n @Input() loading: boolean = false;\n @Input() iconOnly: boolean = false;\n @Input() disabled: boolean = false;\n\n @HostBinding('class') get classes() {\n return [\n 'sira-btn',\n `sira-btn--${this.variant}`,\n this.iconOnly ? 'sira-btn--icon-only' : '',\n this.loading ? 'sira-btn--loading' : ''\n ].join(' ');\n }\n\n @HostBinding('disabled') get disabledState() {\n // Fica desabilitado se estiver carregando OU se estiver marcado como disabled\n return (this.loading || this.disabled) ? true : null;\n }\n}\n","import { Directive, ElementRef, Input, Renderer2, OnInit } from '@angular/core';\n\n@Directive({\n selector: '[elementSpacing]',\n standalone: true,\n})\nexport class ElementSpacingDirective implements OnInit {\n @Input('elementSpacing') spacingToken!: ElementSpacing;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n ngOnInit(): void {\n this.applySpacing();\n }\n\n private applySpacing(): void {\n const element = this.el.nativeElement as HTMLElement;\n const rootStyles = getComputedStyle(document.documentElement);\n\n if (!this.spacingToken) return;\n\n const spacingValue = rootStyles\n .getPropertyValue(`--${this.spacingToken.trim()}`)\n .trim();\n\n if (!spacingValue) {\n console.warn(`Token \"--${this.spacingToken}\" não encontrado no :root.`);\n return;\n }\n\n this.renderer.setStyle(element, 'padding-top', spacingValue);\n }\n}\n\ntype ElementSpacing =\n 'mar-spacing-0' |\n 'mar-spacing-50' |\n 'mar-spacing-100' |\n 'mar-spacing-150' |\n 'mar-spacing-200' |\n 'mar-spacing-250' |\n 'mar-spacing-300' |\n 'mar-spacing-350' |\n 'mar-spacing-400' |\n 'mar-spacing-450' |\n 'mar-spacing-500' |\n 'mar-spacing-550' |\n 'mar-spacing-600' |\n 'mar-spacing-650' |\n 'mar-spacing-700' |\n 'mar-spacing-750' |\n 'mar-spacing-800' |\n 'mar-spacing-850' |\n 'mar-spacing-900' |\n 'mar-spacing-950' |\n 'mar-spacing-1000' |\n 'mar-spacing-default-xs' |\n 'mar-spacing-default-sm' |\n 'mar-spacing-default-md' |\n 'mar-spacing-default-lg' |\n 'mar-spacing-default-xl' |\n 'mar-spacing-default-2xl' |\n 'mar-spacing-default-3xl' |\n 'mar-spacing-default-4xl' |\n 'mar-spacing-default-component-fixed-xs' |\n 'mar-spacing-default-component-fixed-sm' |\n 'mar-spacing-default-component-fixed-md' |\n 'mar-spacing-default-component-fixed-lg' |\n 'mar-spacing-default-component-fixed-xl' |\n 'mar-spacing-default-component-responsive-xs' |\n 'mar-spacing-default-component-responsive-sm';\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'navbar',\n standalone: true,\n imports: [CommonModule],\n template: `\n <header class=\"navbar-container\">\n\n <div class=\"navbar-slot start\">\n <ng-content select=\"[left]\"></ng-content>\n </div>\n\n <div class=\"navbar-slot center\">\n @if (title) {\n <h1 class=\"navbar-title\">\n {{ title }}\n </h1>\n }\n </div>\n\n <div class=\"navbar-slot end\">\n <ng-content select=\"[right]\"></ng-content>\n </div>\n\n </header>\n `,\n styles: `\n :host {\n display: block;\n width: 100%;\n }\n\n .navbar-container {\n display: grid;\n grid-template-columns: 1fr auto 1fr;\n align-items: center;\n\n height: 54px;\n padding: var(--mar-spacing-default-xs) var(--mar-spacing-default-sm);\n }\n\n .navbar-slot {\n display: flex;\n align-items: center;\n\n &.start {\n justify-content: flex-start;\n }\n\n &.center {\n justify-content: center;\n padding: 0 8px;\n min-width: 0;\n overflow: hidden;\n }\n\n &.end {\n justify-content: flex-end;\n }\n }\n\n .navbar-title {\n color: var(--mar-text-primary);\n text-align: center;\n font: var(--mar-label-md);\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n `,\n})\nexport class NavbarComponent {\n @Input() title: string = '';\n}\n","import { Component, HostBinding } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'div[siraSection]',\n standalone: true,\n imports: [CommonModule],\n template: `\n <span class=\"content-wrapper\">\n <ng-content></ng-content>\n </span>\n `,\n})\nexport class SectionComponent {\n @HostBinding('class') get classes() {\n return [\n 'sira-section',\n ].join(' ');\n }\n}\n","import { Component, HostBinding } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'div[siraSectionBody]',\n standalone: true,\n imports: [CommonModule],\n template: `\n <span class=\"content-wrapper\">\n <ng-content></ng-content>\n </span>\n `,\n})\nexport class SectionBodyComponent {\n @HostBinding('class') get classes() {\n return [\n 'sira-section--body',\n ].join(' ');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n// Imports dos Componentes\nimport { AlertComponent } from './alert/alert.component';\nimport { BadgeComponent } from './badge/badge.component';\nimport { QuickButtonComponent } from './quick-button/quick-button.component';\nimport { CardComponent } from './card/card.component';\nimport { CardBodyComponent } from './card/card.body.component';\nimport { CardActionComponent } from './card/card.action.component';\nimport { CardImageComponent } from './card/card.image.component';\nimport { NavCardComponent } from './nav-card/nav-card.component';\nimport { TileCardComponent } from './tile-card/tile-card.component';\nimport { SectionHeadingComponent } from './section/section.heading.component';\nimport { ButtonComponent } from './button/button.component';\nimport { ElementSpacingDirective } from './element-spacing/element-spacing.directive';\nimport { TextStyleDirective } from './text-style/text-style.directive';\nimport { NavbarComponent } from './navbar/navbar.component';\nimport { SectionComponent } from './section/section.component';\nimport { SectionBodyComponent } from './section/section.body.component';\n// Importe os wrappers de Section se houver (SectionComponent, SectionBodyComponent)\n\nconst COMPONENTS = [\n AlertComponent,\n BadgeComponent,\n ButtonComponent,\n CardComponent,\n CardBodyComponent,\n CardActionComponent,\n CardImageComponent,\n ElementSpacingDirective,\n TextStyleDirective,\n NavCardComponent,\n NavbarComponent,\n SectionComponent,\n SectionHeadingComponent,\n SectionBodyComponent,\n QuickButtonComponent,\n TileCardComponent,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n ...COMPONENTS // Importa os standalones para dentro do módulo\n ],\n exports: [\n ...COMPONENTS // Exporta para quem importar o SiraUiModule\n ]\n})\nexport class SiraUiModule {\n}\n","/*\n * Public API Surface of sira-components\n */\n\n// Exporta o Módulo Principal\nexport * from './lib/sira-components.module';\n\nexport * from './lib/alert/alert.component';\nexport * from './lib/badge/badge.component';\nexport * from './lib/quick-button/quick-button.component';\nexport * from './lib/card/card.component';\nexport * from './lib/card/card.body.component';\nexport * from './lib/card/card.action.component';\nexport * from './lib/card/card.image.component';\nexport * from './lib/nav-card/nav-card.component';\nexport * from './lib/tile-card/tile-card.component';\nexport * from './lib/section/section.heading.component';\nexport * from './lib/button/button.component';\nexport * from './lib/element-spacing/element-spacing.directive';\nexport * from './lib/text-style/text-style.directive';\nexport * from './lib/navbar/navbar.component';\nexport * from './lib/section/section.component';\nexport * from './lib/section/section.body.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@marsaude/sira-components",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^21.1.0",
|
|
6
|
+
"@angular/core": "^21.1.0"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"tslib": "^2.3.0"
|
|
10
|
+
},
|
|
11
|
+
"sideEffects": false,
|
|
12
|
+
"exports": {
|
|
13
|
+
"./styles": "./styles/styles.scss",
|
|
14
|
+
"./styles/*": "./styles/*",
|
|
15
|
+
"./package.json": {
|
|
16
|
+
"default": "./package.json"
|
|
17
|
+
},
|
|
18
|
+
".": {
|
|
19
|
+
"types": "./types/marsaude-sira-components.d.ts",
|
|
20
|
+
"default": "./fesm2022/marsaude-sira-components.mjs"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"module": "fesm2022/marsaude-sira-components.mjs",
|
|
24
|
+
"typings": "types/marsaude-sira-components.d.ts"
|
|
25
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
.sira-alert {
|
|
2
|
+
display: flex;
|
|
3
|
+
align-items: flex-start; /* Ícone alinha ao topo */
|
|
4
|
+
box-sizing: border-box;
|
|
5
|
+
|
|
6
|
+
border-radius: var(--mar-border-radius-md);
|
|
7
|
+
background: var(--mar-foreground-support-info);
|
|
8
|
+
|
|
9
|
+
padding: var(--mar-spacing-default-component-fixed-lg);
|
|
10
|
+
gap: var(--mar-spacing-default-component-fixed-sm);
|
|
11
|
+
|
|
12
|
+
/* --- Elementos Internos --- */
|
|
13
|
+
|
|
14
|
+
.alert-icon {
|
|
15
|
+
flex-shrink: 0;
|
|
16
|
+
display: flex;
|
|
17
|
+
|
|
18
|
+
.material-icons {
|
|
19
|
+
margin-top: 2px;
|
|
20
|
+
font-size: 16px;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.alert-content {
|
|
25
|
+
flex-grow: 1;
|
|
26
|
+
display: flex;
|
|
27
|
+
flex-direction: column;
|
|
28
|
+
gap: 4px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.alert-title {
|
|
32
|
+
margin: 0;
|
|
33
|
+
color: var(--mar-text-primary);
|
|
34
|
+
font: var(--mar-label-sm);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.alert-description {
|
|
38
|
+
font: var(--mar-body-sm);
|
|
39
|
+
margin: 0;
|
|
40
|
+
color: var(--mar-text-secondary);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.alert-link {
|
|
44
|
+
margin-top: 8px;
|
|
45
|
+
font: var(--mar-button-sm);
|
|
46
|
+
text-decoration: none;
|
|
47
|
+
cursor: pointer;
|
|
48
|
+
color: var(--mar-foreground-primary-default);
|
|
49
|
+
width: fit-content;
|
|
50
|
+
|
|
51
|
+
&:hover {
|
|
52
|
+
text-decoration: underline;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/*--- TEMAS (Cores baseadas na imagem image_256d08.png) --- */
|
|
57
|
+
|
|
58
|
+
/*INFO (Azul) */
|
|
59
|
+
&.sira-alert--info {
|
|
60
|
+
background-color: var(--mar-foreground-support-info);
|
|
61
|
+
color: var(--mar-text-support-info);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/*SUCCESS (Verde) */
|
|
65
|
+
&.sira-alert--success {
|
|
66
|
+
background-color: var(--mar-foreground-support-success);
|
|
67
|
+
color: var(--mar-text-support-success);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/*WARNING (Amarelo) */
|
|
71
|
+
&.sira-alert--warning {
|
|
72
|
+
background-color: var(--mar-foreground-support-warning);
|
|
73
|
+
color: var(--mar-text-support-warning);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/*DANGER (Vermelho/Rosa) */
|
|
77
|
+
&.sira-alert--danger {
|
|
78
|
+
background-color: var(--mar-foreground-support-danger);
|
|
79
|
+
color: var(--mar-text-support-danger);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/*NEUTRAL (Cinza) */
|
|
83
|
+
&.sira-alert--neutral {
|
|
84
|
+
background-color: var(--mar-surface-secondary);
|
|
85
|
+
color: var(--mar-text-secondary);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
span[siraBadge] {
|
|
2
|
+
display: inline-flex;
|
|
3
|
+
padding: var(--mar-spacing-default-component-fixed-xs) var(--mar-spacing-default-component-fixed-sm);
|
|
4
|
+
justify-content: center;
|
|
5
|
+
align-items: center;
|
|
6
|
+
gap: var(--mar-spacing-default-component-fixed-xs);
|
|
7
|
+
font: var(--mar-caption-default);
|
|
8
|
+
color: var(--mar-text-primary);
|
|
9
|
+
border-radius: var(--mar-border-radius-circular);
|
|
10
|
+
|
|
11
|
+
.text {
|
|
12
|
+
color: var(--mar-text-primary);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.sira-badge-dot {
|
|
16
|
+
display: block;
|
|
17
|
+
width: 12px;
|
|
18
|
+
height: 12px;
|
|
19
|
+
border-radius: 50%;
|
|
20
|
+
background-color: currentColor;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&.sira-badge--success {
|
|
24
|
+
background: var(--mar-foreground-support-success);
|
|
25
|
+
color: var(--mar-text-support-success);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&.sira-badge--warning {
|
|
29
|
+
background: var(--mar-foreground-support-warning);
|
|
30
|
+
color: var(--mar-text-support-warning);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&.sira-badge--danger {
|
|
34
|
+
background: var(--mar-foreground-support-danger);
|
|
35
|
+
color: var(--mar-text-support-danger);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&.sira-badge--info {
|
|
39
|
+
background: var(--mar-foreground-support-info);
|
|
40
|
+
color: var(--mar-text-support-info);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&.sira-badge--neutral {
|
|
44
|
+
background: var(--mar-foreground-primary-disabled);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/* VARIANTE GHOST */
|
|
48
|
+
&.sira-badge--ghost {
|
|
49
|
+
background-color: transparent !important;
|
|
50
|
+
padding: 2px 0;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: inline-block;
|
|
3
|
+
vertical-align: middle;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.sira-btn {
|
|
7
|
+
all: initial;
|
|
8
|
+
display: flex;
|
|
9
|
+
width: max-content;
|
|
10
|
+
padding: 0 var(--mar-spacing-default-lg);
|
|
11
|
+
justify-content: center;
|
|
12
|
+
align-items: center;
|
|
13
|
+
gap: var(--mar-spacing-default-sm);
|
|
14
|
+
border-radius: var(--mar-spacing-default-md);
|
|
15
|
+
font-family: var(--mar-font-family-open-sans), sans-serif;
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
background: var(--mar-foreground-primary-default);
|
|
18
|
+
max-height: 44px;
|
|
19
|
+
height: 44px;
|
|
20
|
+
box-sizing: border-box;
|
|
21
|
+
position: relative;
|
|
22
|
+
|
|
23
|
+
.content-wrapper {
|
|
24
|
+
display: flex;
|
|
25
|
+
align-items: center;
|
|
26
|
+
justify-content: center;
|
|
27
|
+
gap: var(--mar-spacing-default-component-fixed-sm);
|
|
28
|
+
font: var(--mar-button-sm);
|
|
29
|
+
|
|
30
|
+
.material-icons {
|
|
31
|
+
max-height: 20px;
|
|
32
|
+
max-width: 20px;
|
|
33
|
+
min-width: 20px;
|
|
34
|
+
min-height: 20px;
|
|
35
|
+
font-size: 20px;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&:disabled {
|
|
40
|
+
border-radius: var(--mar-spacing-default-md);
|
|
41
|
+
background: var(--mar-foreground-primary-disabled);
|
|
42
|
+
border: none;
|
|
43
|
+
|
|
44
|
+
.content-wrapper {
|
|
45
|
+
color: var(--mar-text-inverse);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&--primary {
|
|
50
|
+
border: var(--mar-border-width-regular) solid var(--mar-foreground-primary-default);
|
|
51
|
+
|
|
52
|
+
.content-wrapper {
|
|
53
|
+
color: var(--mar-text-inverse);
|
|
54
|
+
text-align: center;
|
|
55
|
+
font-size: var(--mar-font-size-14px);
|
|
56
|
+
font-style: normal;
|
|
57
|
+
font-weight: var(--mar-font-weight-700);
|
|
58
|
+
line-height: 1;
|
|
59
|
+
letter-spacing: var(--mar-letter-spacing-0);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
&:hover:not(:disabled) {
|
|
63
|
+
background: var(--mar-foreground-primary-hover);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&:focus:not(:disabled) {
|
|
67
|
+
border-radius: var(--mar-spacing-default-md);
|
|
68
|
+
border: var(--mar-border-width-regular) solid var(--mar-border-focus-primary);
|
|
69
|
+
background: var(--mar-foreground-primary-default);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
&:active:not(:disabled) {
|
|
73
|
+
border-radius: var(--mar-spacing-default-md);
|
|
74
|
+
background: var(--mar-foreground-primary-active);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
&--secondary {
|
|
79
|
+
border-radius: var(--mar-spacing-default-md);
|
|
80
|
+
border: var(--mar-border-width-thin) solid var(--mar-border-primary-default);
|
|
81
|
+
background: var(--mar-foreground-secondary-default);
|
|
82
|
+
|
|
83
|
+
.content-wrapper {
|
|
84
|
+
color: var(--mar-foreground-primary-default);
|
|
85
|
+
|
|
86
|
+
text-align: center;
|
|
87
|
+
font-size: var(--mar-font-size-14px);
|
|
88
|
+
font-style: normal;
|
|
89
|
+
font-weight: var(--mar-font-weight-700);
|
|
90
|
+
line-height: 1;
|
|
91
|
+
letter-spacing: var(--mar-letter-spacing-0);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
&:hover:not(:disabled) {
|
|
96
|
+
border-radius: var(--mar-spacing-default-md);
|
|
97
|
+
border: var(--mar-border-width-thin) solid var(--mar-border-primary-hover);
|
|
98
|
+
background: var(--mar-foreground-secondary-hover);
|
|
99
|
+
|
|
100
|
+
.content-wrapper {
|
|
101
|
+
color: var(--mar-foreground-primary-hover);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
&:focus:not(:disabled) {
|
|
106
|
+
border-radius: var(--mar-spacing-default-md);
|
|
107
|
+
border: var(--mar-border-width-regular) solid var(--mar-border-focus-primary);
|
|
108
|
+
background: var(--mar-foreground-secondary-default);
|
|
109
|
+
|
|
110
|
+
.content-wrapper {
|
|
111
|
+
color: var(--mar-foreground-primary-default);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
&:active:not(:disabled) {
|
|
116
|
+
border-radius: var(--mar-spacing-default-md);
|
|
117
|
+
border: var(--mar-border-width-thin) solid var(--mar-border-primary-active);
|
|
118
|
+
background: var(--mar-foreground-secondary-active);
|
|
119
|
+
|
|
120
|
+
.content-wrapper {
|
|
121
|
+
color: var(--mar-foreground-primary-active);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
&--tertiary {
|
|
127
|
+
display: flex;
|
|
128
|
+
padding: var(--mar-spacing-default-md) var(--mar-spacing-default-lg);
|
|
129
|
+
justify-content: center;
|
|
130
|
+
align-items: center;
|
|
131
|
+
gap: var(--mar-spacing-default-sm);
|
|
132
|
+
|
|
133
|
+
border-radius: var(--mar-spacing-default-md);
|
|
134
|
+
background: transparent;
|
|
135
|
+
|
|
136
|
+
border: var(--mar-border-width-regular) solid transparent;
|
|
137
|
+
|
|
138
|
+
.content-wrapper {
|
|
139
|
+
color: var(--mar-foreground-primary-default);
|
|
140
|
+
text-align: center;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
&:hover:not(:disabled) {
|
|
144
|
+
border-radius: var(--mar-spacing-default-md);
|
|
145
|
+
background: var(--mar-foreground-secondary-hover);
|
|
146
|
+
|
|
147
|
+
.content-wrapper {
|
|
148
|
+
color: var(--mar-foreground-primary-hover);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
&:focus:not(:disabled) {
|
|
153
|
+
border-radius: var(--mar-spacing-default-md);
|
|
154
|
+
border: var(--mar-border-width-regular) solid var(--mar-border-focus-primary);
|
|
155
|
+
|
|
156
|
+
.content-wrapper {
|
|
157
|
+
color: var(--mar-foreground-primary-default);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
&:active:not(:disabled) {
|
|
162
|
+
border-radius: var(--mar-spacing-default-md);
|
|
163
|
+
background: var(--mar-foreground-secondary-active);
|
|
164
|
+
|
|
165
|
+
.content-wrapper {
|
|
166
|
+
color: var(--mar-foreground-primary-active);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
&--chip {
|
|
172
|
+
display: inline-flex;
|
|
173
|
+
align-items: center;
|
|
174
|
+
gap: var(--mar-spacing-default-xs);
|
|
175
|
+
height: 40px;
|
|
176
|
+
border-radius: var(--mar-border-radius-circular);
|
|
177
|
+
background: var(--mar-foreground-tertiary-default);
|
|
178
|
+
padding: 0 var(--mar-spacing-default-sm);
|
|
179
|
+
border: var(--mar-border-width-thin) solid transparent;
|
|
180
|
+
|
|
181
|
+
.content-wrapper {
|
|
182
|
+
color: var(--mar-foreground-primary-default);
|
|
183
|
+
display: inline-flex;
|
|
184
|
+
align-items: center;
|
|
185
|
+
gap: var(--mar-spacing-default-xs);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
&:hover:not(:disabled) {
|
|
189
|
+
border-radius: var(--mar-border-radius-circular);
|
|
190
|
+
background: var(--mar-foreground-tertiary-hover);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
&:focus:not(:disabled) {
|
|
194
|
+
border-radius: var(--mar-border-radius-circular);
|
|
195
|
+
border: var(--mar-border-width-thin) solid var(--mar-border-focus-primary);
|
|
196
|
+
background: var(--mar-foreground-tertiary-default);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
&:active:not(:disabled) {
|
|
200
|
+
border-radius: var(--mar-border-radius-circular);
|
|
201
|
+
background: var(--mar-foreground-tertiary-active);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/* --- ICON BUTTON (Quadrado/Redondo) --- */
|
|
206
|
+
&--icon-only {
|
|
207
|
+
display: flex;
|
|
208
|
+
width: 44px;
|
|
209
|
+
height: 44px;
|
|
210
|
+
padding: 0;
|
|
211
|
+
justify-content: center;
|
|
212
|
+
align-items: center;
|
|
213
|
+
|
|
214
|
+
.content-wrapper {
|
|
215
|
+
> * {
|
|
216
|
+
display: none;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.material-icons {
|
|
220
|
+
display: flex;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
&.sira-btn--chip {
|
|
225
|
+
width: 32px;
|
|
226
|
+
height: 32px;
|
|
227
|
+
padding: 0;
|
|
228
|
+
justify-content: center;
|
|
229
|
+
align-items: center;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
&:disabled {
|
|
234
|
+
opacity: 0.5;
|
|
235
|
+
cursor: not-allowed;
|
|
236
|
+
pointer-events: none; /* Impede cliques */
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/* --- LOADING --- */
|
|
241
|
+
.loader-overlay {
|
|
242
|
+
border-radius: var(--mar-spacing-default-md);
|
|
243
|
+
position: absolute;
|
|
244
|
+
top: 0;
|
|
245
|
+
left: 0;
|
|
246
|
+
right: 0;
|
|
247
|
+
bottom: 0;
|
|
248
|
+
display: flex;
|
|
249
|
+
align-items: center;
|
|
250
|
+
justify-content: center;
|
|
251
|
+
background-color: inherit; /* Herda a cor de fundo do botão para cobrir o texto */
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
.spinner {
|
|
255
|
+
width: 20px;
|
|
256
|
+
height: 20px;
|
|
257
|
+
border: 2px solid rgba(255, 255, 255, 0.4);
|
|
258
|
+
border-radius: 50%;
|
|
259
|
+
border-top-color: currentColor; /* Pega a cor do texto atual */
|
|
260
|
+
animation: spin 0.8s linear infinite;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
@keyframes spin {
|
|
264
|
+
to {
|
|
265
|
+
transform: rotate(360deg);
|
|
266
|
+
}
|
|
267
|
+
}
|
package/styles/card.scss
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: inline-block;
|
|
3
|
+
vertical-align: middle;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.sira-card {
|
|
7
|
+
width: 100%;
|
|
8
|
+
border-radius: var(--mar-border-radius-md);
|
|
9
|
+
border: var(--mar-border-width-thin) solid var(--mar-border-secondary-default);
|
|
10
|
+
background: var(--mar-foreground-secondary-default);
|
|
11
|
+
overflow: hidden;
|
|
12
|
+
|
|
13
|
+
> .content-wrapper {
|
|
14
|
+
display: flex;
|
|
15
|
+
flex-direction: column;
|
|
16
|
+
width: 100%;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&--border-none {
|
|
20
|
+
border: none;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&--success {
|
|
24
|
+
background: var(--mar-foreground-support-success);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&--warning {
|
|
28
|
+
background: var(--mar-foreground-support-warning);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&--info {
|
|
32
|
+
background: var(--mar-foreground-tertiary-default);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&--danger {
|
|
36
|
+
background: var(--mar-foreground-support-danger);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&--body {
|
|
40
|
+
display: flex;
|
|
41
|
+
padding: var(--mar-spacing-default-component-fixed-lg);
|
|
42
|
+
flex-direction: column;
|
|
43
|
+
align-items: flex-start;
|
|
44
|
+
gap: var(--mar-spacing-default-component-fixed-lg);
|
|
45
|
+
align-self: stretch;
|
|
46
|
+
width: 100%;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&--action {
|
|
50
|
+
padding: var(--mar-spacing-default-component-fixed-lg);
|
|
51
|
+
|
|
52
|
+
> .content-wrapper {
|
|
53
|
+
display: flex;
|
|
54
|
+
flex-direction: row;
|
|
55
|
+
align-items: flex-start;
|
|
56
|
+
gap: var(--mar-spacing-default-component-fixed-md);
|
|
57
|
+
align-self: stretch;
|
|
58
|
+
width: 100%;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
width: 100%;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
&--image {
|
|
65
|
+
.image {
|
|
66
|
+
height: 120px;
|
|
67
|
+
width: 100%;
|
|
68
|
+
background-position: center center;
|
|
69
|
+
background-repeat: no-repeat;
|
|
70
|
+
background-size: cover;
|
|
71
|
+
padding: var(--mar-spacing-default-component-fixed-lg);
|
|
72
|
+
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.sira-card--body + .sira-card--action {
|
|
78
|
+
padding-top: 0;
|
|
79
|
+
}
|