@govbr-ds/core
Version:
Padrão Digital de Governo
1 lines • 10.9 kB
Source Map (JSON)
{"version":3,"file":"components/input/input.css","mappings":"AAKA;ECSE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ECwBA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ED5BA;EACA;ADNF;ACQE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ADNJ;ACUI;EAGE;ADVN;ACaI;EAIE;ADdN;ACoBE;EACE;ADlBJ;ACoBI;EACE;EACA;ADlBN;ACqBI;EACE;ADnBN;ACyBE;EACE;ADvBJ;AC0BE;EACE;EACA;EACA;EACA;EACA;EACA;ADxBJ;AC0BI;EACE;ADxBN;AC8BE;EACE;ECvDF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EDgDE;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;ADpBJ;ACwBI;EACE;ADtBN;AC2BI;EACE;ADzBN;AC2BI;EACE;EACA;EACA;EACA;ADzBN;AC6BM;EACE;AD3BR;ACgCM;EACE;AD9BR;ACqCE;EACE;EACA;EACA;EACA;EACA;ADnCJ;ACqCI;EACE;EACA;EACA;EACA;ADnCN;ACsCI;EACE;ADpCN;ACsCM;EACE;ADpCR;AC4CE;EACE;EACA;EACA;EACA;EACA;EACA;AD1CJ;AGvIE;EACE;EACA;AHyIJ;AGtIE;EACE;AHwIJ;AGrIE;EACE;AHuIJ;AGnII;EACE;AHqIN;ACiCI;EACE;AD/BN;AIhJI;EACE;AJkJN;AC+BM;EACE;AD7BR;ACwCM;EACE;EACA;ADtCR;ACoCM;EACE;EACA;ADlCR;ACgCM;EACE;EACA;AD9BR;AC4BM;EACE;EACA;AD1BR;AItKI;EACE;AJwKN;ACgCI;EIpLF;EACA;EACA;ALuJF;ACkCE;EACE;ADhCJ;ACsCI;EAEE;ADrCN;ACmCI;EAEE;ADlCN;ACgCI;EAEE;AD/BN;ACuCI;;;EAEE;EACA;ADpCN,C","sources":["webpack://core/./src/components/input/_input.scss","webpack://core/./src/components/input/_mixins.scss","webpack://core/./src/partial/scss/mixins/_states.scss","webpack://core/./src/partial/scss/mixins/_scrollbar.scss","webpack://core/./src/partial/scss/mixins/_hover.scss","webpack://core/./src/partial/scss/mixins/_focus.scss"],"sourcesContent":["@use \"sass:math\";\n @import \"../../partial/scss/base\";\n \n@import \"mixins\";\n\n.#{$prefix}input {\n @include input-configs;\n}\n","@mixin input-configs {\n @include input-tokens;\n @include input-default;\n @include input-inline;\n @include input-icon;\n @include input-button;\n @include input-highlight;\n @include input-autocomplete;\n @include input-states;\n @include input-densities;\n @include input-dark;\n}\n\n@mixin input-tokens {\n --input-button-margin: var(--spacing-scale-half);\n --input-padding: 0 var(--spacing-scale-2x);\n --input-padding-button: var(--spacing-scale-5x);\n --input-padding-icon: var(--spacing-scale-5x);\n --input-size: var(--input-medium);\n --input-small: 32px;\n --input-medium: 40px;\n --input-large: 48px;\n --input-highlight: 56px;\n}\n\n@mixin input-default {\n @include light-mode;\n color: var(--color);\n position: relative;\n\n input {\n background-color: var(--background-light);\n border-color: var(--border-color-alternative);\n border-radius: var(--surface-rounder-sm);\n border-style: var(--border-style);\n border-width: var(--border-width);\n color: var(--color-light);\n display: block;\n font-size: var(--font-size-scale-up-01);\n font-weight: var(--font-weight-medium);\n height: var(--input-size);\n margin-top: var(--spacing-scale-half);\n padding-bottom: 0;\n padding-left: var(--spacing-scale-2x);\n padding-right: var(--spacing-scale-2x);\n padding-top: 0;\n width: 100%;\n\n // Remove ícones nativos de browsers\n // mostrar senha IE/Edge\n &::-ms-reveal,\n &::-ms-clear,\n &::-webkit-calendar-picker-indicator {\n display: none;\n }\n // busca no Chrome\n &[type=\"search\"]::-webkit-search-decoration,\n &[type=\"search\"]::-webkit-search-cancel-button,\n &[type=\"search\"]::-webkit-search-results-button,\n &[type=\"search\"]::-webkit-search-results-decoration {\n appearance: none;\n }\n }\n}\n\n@mixin input-inline {\n &.input-inline {\n display: flex;\n\n .input-label {\n margin-right: var(--spacing-scale-baseh);\n margin-top: calc(var(--input-size) * 0.5 - var(--spacing-scale-half));\n }\n\n .input-content {\n flex: 1;\n }\n }\n}\n\n@mixin input-icon {\n .input-group {\n position: relative;\n }\n\n .input-icon {\n align-items: center;\n color: var(--border-color-alternative);\n display: flex;\n height: var(--input-size);\n margin-left: var(--spacing-scale-baseh);\n position: absolute;\n\n + input {\n padding-left: var(--input-padding-icon);\n }\n }\n}\n\n@mixin input-button {\n .#{$prefix}button {\n --button-size: var(--button-small);\n @include light-mode;\n border-radius: 50%;\n float: right;\n margin-right: var(--input-button-margin);\n margin-top: calc((var(--input-size) + var(--spacing-scale-half)) * -1);\n padding: 0;\n position: relative;\n // Centraliza botão\n transform: translateY(calc((var(--input-size) - var(--button-size)) * 0.5));\n width: var(--button-size);\n }\n\n &.input-button {\n input {\n padding-right: var(--input-padding-button);\n }\n }\n // Manter compatibilidade com versão 15.0.2 e anteriores\n &.has-icon {\n input {\n padding-right: var(--input-padding-icon);\n }\n .#{$prefix}button.circle {\n float: right;\n margin-right: var(--spacing-scale-half);\n margin-top: calc((var(--button-size) + var(--spacing-scale-half) + var(--spacing-scale-half)) * -1);\n transform: translateY(0);\n }\n\n &.small {\n .#{$prefix}button.circle {\n margin-top: calc((var(--button-size) + var(--spacing-scale-base)) * -1);\n }\n }\n\n &.large {\n .#{$prefix}button.circle {\n margin-top: calc(var(--button-size) * -1);\n }\n }\n }\n}\n\n@mixin input-highlight {\n &.input-highlight {\n --input-button-margin: var(--spacing-scale-2x);\n --input-padding: 0 var(--spacing-scale-3x);\n --input-padding-button: var(--spacing-scale-7x);\n --input-padding-icon: var(--spacing-scale-7x);\n --input-size: var(--input-highlight);\n\n input {\n background-color: var(--gray-2);\n border-color: transparent;\n padding-left: var(--spacing-scale-3x);\n padding-right: var(--spacing-scale-3x);\n }\n\n .input-icon {\n margin-left: var(--spacing-scale-3x);\n\n + input {\n padding-left: var(--spacing-scale-7x);\n }\n }\n }\n}\n\n// TODO: Este mixin ainda é necessário?\n@mixin input-autocomplete {\n .#{$prefix}list {\n box-shadow: var(--surface-shadow-md);\n max-height: 530px;\n overflow: auto;\n position: absolute;\n width: 100%;\n z-index: var(--z-index-layer-2);\n\n @include scrollbar;\n\n .#{$prefix}item {\n --item-padding-y: var(--spacing-scale-2x);\n @include hover(\"color\");\n\n &:not(:first-child) {\n border-top: var(--surface-width-sm) solid var(--border-color);\n }\n }\n }\n}\n\n@mixin input-states {\n // Borda do input\n @each $color in \"success\", \"danger\", \"warning\", \"info\" {\n &.#{$color},\n &[data-#{$color}] {\n input {\n border-color: var(--#{$color});\n border-width: 2px;\n }\n }\n }\n\n input {\n // Hover\n @include hover(\"color\");\n // Foco tênue\n &:focus,\n &:focus-visible,\n &.focus-visible {\n @include focus-soft;\n }\n }\n // Componente Message (Feedback)\n .feedback {\n margin-bottom: var(--spacing-scale-half);\n }\n}\n\n@mixin input-densities {\n @each $size in small, medium, large {\n &.#{$size},\n &[data-#{$size}] {\n --input-size: var(--input-#{$size});\n }\n }\n}\n\n@mixin input-dark {\n &.inverted,\n &.dark-mode {\n &,\n label {\n --color: var(--color-dark);\n --focus-color: var(--focus-color-dark);\n }\n }\n}\n\n@mixin input-dark-mode {\n &.inverted,\n &.dark-mode {\n .#{$prefix}input {\n &,\n label {\n --color: var(--color-dark);\n --focus-color: var(--focus-color-dark);\n }\n }\n }\n}\n","// Desabilitado\n@mixin disabled {\n cursor: not-allowed;\n opacity: var(--disabled);\n\n * {\n pointer-events: none;\n }\n}\n\n// Dark mode\n@mixin dark-mode(\n $color: \"color-dark\",\n $color-rgb: \"color-dark-rgb\",\n $text-color: $color,\n $interactive: \"interactive-dark\",\n $interactive-rgb: \"interactive-dark-rgb\",\n $visited: \"visited-dark\",\n $hover: \"hover-dark\",\n $pressed: \"pressed-dark\",\n $focus-color: \"focus-color-dark\",\n $focus: $focus-color\n) {\n --color: var(--#{$color});\n --color-rgb: var(--#{$color-rgb});\n --text-color: var(--#{$text-color});\n --interactive: var(--#{$interactive});\n --interactive-rgb: var(--#{$interactive-rgb});\n --visited: var(--#{$visited});\n --hover: var(--#{$hover});\n --pressed: var(--#{$pressed});\n --focus-color: var(--#{$focus-color});\n --focus: var(--#{$focus});\n}\n@mixin light-mode(\n $color: \"color-light\",\n $color-rgb: \"color-light-rgb\",\n $text-color: $color,\n $interactive: \"interactive-light\",\n $interactive-rgb: \"interactive-light-rgb\",\n $visited: \"visited-light\",\n $hover: \"hover-light\",\n $pressed: \"pressed-light\",\n $focus-color: \"focus-color-light\",\n $focus: $focus-color\n) {\n --color: var(--#{$color});\n --color-rgb: var(--#{$color-rgb});\n --text-color: var(--#{$text-color});\n --interactive: var(--#{$interactive});\n --interactive-rgb: var(--#{$interactive-rgb});\n --visited: var(--#{$visited});\n --hover: var(--#{$hover});\n --pressed: var(--#{$pressed});\n --focus-color: var(--#{$focus-color});\n --focus: var(--#{$focus});\n}\n","@mixin scrollbar {\n &::-webkit-scrollbar {\n height: var(--spacing-scale-base);\n width: var(--spacing-scale-base);\n }\n\n &::-webkit-scrollbar-track {\n background: var(--gray-10);\n }\n\n &::-webkit-scrollbar-thumb {\n background: var(--gray-30);\n }\n\n &:hover {\n &::-webkit-scrollbar-thumb {\n background: var(--gray-40);\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 foco: feedback ao navegar por teclado no elemento\n/// @example scss - Uso prático\n/// a {\n/// @include focus;\n/// }\n@mixin focus {\n &:focus {\n outline: none;\n }\n\n &.focus-visible,\n &:focus-visible {\n outline-color: var(--focus);\n outline-offset: var(--focus-offset);\n outline-style: var(--focus-style);\n outline-width: var(--focus-width);\n }\n}\n\n/// Aplica foco tênue\n/// @example scss - Uso prático\n/// input {\n/// &:focus,\n/// &:focus-visible,\n/// &.focus-visible {\n/// @include focus-soft;\n/// }\n/// }\n@mixin focus-soft {\n border-color: var(--focus) !important;\n box-shadow: 0 0 0 var(--surface-width-md) var(--focus);\n outline: none;\n}\n"],"names":[],"ignoreList":[],"sourceRoot":""}