UNPKG

@govbr-ds/core

Version:

Padrão Digital de Governo

1 lines 8.57 kB
{"version":3,"file":"components/magicbutton/magicbutton.min.css","mappings":"AAKA,iBCOE,gCAAiC,CACjC,sCAAuC,CACvC,uCAAwC,CACxC,sCAAuC,CACvC,gDAAiD,CACjD,6CAA8C,CAC9C,8CAA+C,CAC/C,6CAA8C,CAC9C,sCAAuC,CAIvC,kBAAmB,CACnB,8BAA+B,CAC/B,mBAAoB,CACpB,mCAAoC,CACpC,mBAAoB,CACpB,gCAAiC,CACjC,gEDbF,CC6BI,uBACE,gCACA,+CD3BN,CCyBI,wBACE,iCACA,gDDvBN,CCqBI,uBACE,gCACA,+CDnBN,CEtBE,oKDgDE,+BDjBJ,CA9BE,4BGKA,8EAAiF,CACjF,+BAAgC,CAChC,+CAAgD,CAChD,uBAAwB,CACxB,sCAAuC,CACvC,wCH4BF,CItCI,gEACE,mHJwCN,CK1CI,iEACE,uHL4CN","sources":["webpack://core/./src/components/magicbutton/_magicbutton.scss","webpack://core/./src/components/magicbutton/_mixins.scss","webpack://core/./src/partial/scss/mixins/_icons.scss","webpack://core/./src/components/button/_mixins.scss","webpack://core/./src/partial/scss/mixins/_hover.scss","webpack://core/./src/partial/scss/mixins/_active.scss"],"sourcesContent":["@use \"sass:math\";\n @import \"../../partial/scss/base\";\n \n@import \"mixins\";\n\n.#{$prefix}magic-button {\n @include magic-configs;\n\n .#{$prefix}button {\n @include button-magicbutton;\n }\n}\n","// Dependências\n@import \"../button/mixins\";\n\n// Mixins\n@mixin magic-configs {\n @include magic-tokens;\n @include magic-default;\n @include magic-sizes;\n @include magic-icons;\n}\n\n@mixin magic-tokens {\n --magic-size: var(--magic-medium);\n --magic-small: var(--spacing-scale-4xh);\n --magic-medium: var(--spacing-scale-5xh);\n --magic-large: var(--spacing-scale-6xh);\n --magic-support-size: var(--magic-support-medium);\n --magic-support-small: var(--spacing-scale-7x);\n --magic-support-medium: var(--spacing-scale-8x);\n --magic-support-large: var(--spacing-scale-9x);\n --magic-z-index: var(--z-index-layer-1);\n}\n\n@mixin magic-default {\n align-items: center;\n background-color: var(--gray-5);\n border-radius: 100em;\n box-shadow: var(--surface-shadow-md);\n display: inline-flex;\n height: var(--magic-support-size);\n padding: calc((var(--magic-support-size) - var(--magic-size)) * 0.5);\n}\n\n@mixin magic-button {\n .#{$prefix}button {\n background-color: var(--green-cool-vivid-50);\n border: var(--gray-5) solid calc((var(--magic-support-size) - var(--magic-size)) * 0.5);\n box-shadow: var(--surface-shadow-md);\n color: var(--color-dark);\n font-size: var(--font-size-scale-up-02);\n z-index: var(--magic-z-index);\n }\n}\n\n@mixin magic-sizes {\n @each $size in small, medium, large {\n &.#{$size} {\n --magic-size: var(--magic-#{$size});\n --magic-support-size: var(--magic-support-#{$size});\n }\n }\n}\n\n@mixin magic-icons {\n @include icon {\n --icon-size: var(--icon-size-lg);\n }\n}\n","@mixin icon-size($value) {\n @include icon {\n --icon-size: #{$value};\n }\n}\n\n@mixin icon {\n .svg-inline--fa,\n .fa,\n .fab,\n .fad,\n .fal,\n .far,\n .fas {\n @content;\n }\n}\n","@mixin button-configs {\n @include button-tokens;\n @include button-default;\n @include button-block;\n @include button-circle;\n @include button-sizes;\n @include button-emphasis;\n @include button-colors;\n @include button-states;\n @include button-dark;\n}\n\n@mixin button-magicbutton {\n --focus-offset: calc((var(--magic-support-size) - var(--magic-size)) * 0.5 + 4px);\n --button-size: var(--magic-size);\n background-color: var(--interactive-alternative);\n color: var(--color-dark);\n font-size: var(--font-size-scale-up-02);\n font-weight: var(--font-weight-semi-bold);\n\n &:not(:disabled) {\n @include hover(\"color-dark\");\n @include active(\"color-dark\");\n }\n}\n\n@mixin button-tokens {\n --button-radius: 100em;\n --button-xsmall: 24px;\n --button-small: 32px;\n --button-medium: 40px;\n --button-large: 48px;\n --button-size: var(--button-medium);\n}\n\n@mixin button-default {\n align-items: center;\n background-color: transparent;\n border: 0;\n border-radius: var(--button-radius);\n color: var(--interactive);\n cursor: pointer;\n display: inline-flex;\n font-size: var(--font-size-scale-up-01);\n font-weight: var(--font-weight-semi-bold);\n height: var(--button-size);\n justify-content: center;\n overflow: hidden;\n padding: 0 var(--spacing-scale-3x);\n position: relative;\n text-align: center;\n vertical-align: middle;\n white-space: nowrap;\n width: auto;\n}\n\n@mixin button-block {\n &.block {\n width: 100%;\n }\n @each $breakpoint in \"sm\", \"md\", \"lg\", \"xl\" {\n @include media-breakpoint-up(#{$breakpoint}) {\n &.block-#{$breakpoint} {\n width: 100%;\n }\n &.auto-#{$breakpoint} {\n width: auto;\n }\n }\n }\n}\n\n@mixin button-circle {\n &.circle,\n &[circle],\n &.is-circle {\n border-radius: 50%;\n padding: 0;\n width: var(--button-size);\n }\n}\n\n@mixin button-sizes {\n @each $size in \"xsmall\", \"small\", \"medium\", \"large\" {\n &.#{$size},\n &[#{$size}],\n &.is-#{$size} {\n --button-size: var(--button-#{$size});\n }\n }\n}\n\n@mixin button-emphasis {\n &.primary,\n &[primary],\n &.is-primary {\n --interactive-rgb: var(--color-dark-rgb);\n background-color: var(--interactive-light);\n color: var(--color-dark);\n }\n\n &.secondary,\n &[secondary],\n &.is-secondary {\n background-color: var(--background-light);\n border: 1px solid var(--interactive);\n }\n}\n\n@mixin button-colors {\n @each $color in \"danger\", \"success\", \"warning\", \"info\" {\n &.#{$color},\n &[#{$color}],\n &.is-#{$color} {\n background-color: var(--#{$color});\n @if $color != \"warning\" {\n --interactive-rgb: var(--color-dark-rgb);\n color: var(--color-dark);\n } @else {\n --interactive-rgb: var(--color-light-rgb);\n color: var(--color-light);\n }\n }\n }\n}\n\n@mixin button-states {\n &:disabled {\n cursor: not-allowed;\n }\n\n &:not(:disabled) {\n --focus-offset: var(--spacing-scale-half);\n @include focus;\n @include hover;\n @include active;\n }\n\n &.active,\n &.is-active,\n &[active] {\n --hover: var(--hover-dark);\n background-color: var(--active);\n color: var(--color-dark);\n }\n\n &.loading {\n color: transparent !important;\n cursor: progress;\n\n &:not(:disabled) {\n &:hover {\n background-image: none;\n }\n }\n\n &::before {\n border-color: var(--interactive) var(--interactive) transparent;\n border-style: solid;\n }\n\n &.primary,\n &.danger,\n &.success,\n &.info {\n &::before {\n border-color: var(--background) var(--background) transparent;\n }\n }\n }\n}\n\n@mixin button-dark {\n &.inverted,\n &.is-inverted,\n &[inverted],\n &.dark-mode {\n @include dark-mode;\n color: var(--interactive-dark);\n\n &.primary,\n &[primary],\n &.is-primary {\n --interactive-rgb: var(--background-dark-rgb);\n background-color: var(--interactive-dark);\n color: var(--background-dark);\n }\n\n &.secondary,\n &[secondary],\n &.is-secondary {\n background-color: var(--background-dark);\n }\n\n &.active {\n --hover: var(--hover-light);\n --interactive-rgb: var(--active-rgb);\n background-color: var(--background-light);\n color: var(--active);\n }\n }\n}\n\n@mixin button-dark-mode {\n .#{$prefix}button {\n &.primary,\n &[primary],\n &.is-primary {\n @include light-mode($interactive-rgb: \"background-dark-rgb\");\n background-color: var(--interactive-dark);\n color: var(--background-dark);\n }\n\n &.secondary,\n &[secondary],\n &.is-secondary {\n background-color: var(--background-dark);\n }\n }\n}\n","/// Aplica hover: feedback ao colocar o cursor no elemento\n/// @param {String} $color [\"interactive\"] - Cor do hover **(Opcional)**\n/// @example scss - Uso prático\n/// a {\n/// @include hover;\n/// }\n@mixin hover($color: \"interactive\") {\n &:not(:disabled) {\n &:hover {\n background-image: linear-gradient(\n rgba(var(--#{$color}-rgb), var(--hover)),\n rgba(var(--#{$color}-rgb), var(--hover))\n );\n }\n }\n}\n","/// Aplica active: feedback ao clicar no elemento\n/// @example scss - Uso prático\n/// a {\n/// @include active;\n/// }\n@mixin active($color: \"interactive\") {\n &:not(:disabled) {\n &:active {\n background-image: linear-gradient(\n rgba(var(--#{$color}-rgb), var(--pressed)),\n rgba(var(--#{$color}-rgb), var(--pressed))\n );\n }\n }\n}\n"],"names":[],"sourceRoot":""}