@inspark/components-web 14.0.14 → 19.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.
Files changed (270) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +54 -0
  3. package/assets/fonts/fontawesome/FontAwesome.otf +0 -0
  4. package/assets/fonts/fontawesome/fontawesome-webfont.eot +0 -0
  5. package/assets/fonts/fontawesome/fontawesome-webfont.svg +2671 -0
  6. package/assets/fonts/fontawesome/fontawesome-webfont.ttf +0 -0
  7. package/assets/fonts/fontawesome/fontawesome-webfont.woff +0 -0
  8. package/assets/fonts/fontawesome/fontawesome-webfont.woff2 +0 -0
  9. package/assets/fonts/lato/Lato-Bold.ttf +0 -0
  10. package/assets/fonts/lato/Lato-BoldItalic.ttf +0 -0
  11. package/assets/fonts/lato/Lato-Italic.ttf +0 -0
  12. package/assets/fonts/lato/Lato-Regular.ttf +0 -0
  13. package/assets/fonts/open-sans/BoldItalic/OpenSans-BoldItalic.eot +0 -0
  14. package/assets/fonts/open-sans/BoldItalic/OpenSans-BoldItalic.svg +21121 -0
  15. package/assets/fonts/open-sans/BoldItalic/OpenSans-BoldItalic.ttf +0 -0
  16. package/assets/fonts/open-sans/BoldItalic/OpenSans-BoldItalic.woff +0 -0
  17. package/assets/fonts/open-sans/BoldItalic/OpenSans-BoldItalic.woff2 +0 -0
  18. package/assets/fonts/open-sans/ExtraBoldItalic/OpenSans-ExtraboldItalic.eot +0 -0
  19. package/assets/fonts/open-sans/ExtraBoldItalic/OpenSans-ExtraboldItalic.svg +21120 -0
  20. package/assets/fonts/open-sans/ExtraBoldItalic/OpenSans-ExtraboldItalic.ttf +0 -0
  21. package/assets/fonts/open-sans/ExtraBoldItalic/OpenSans-ExtraboldItalic.woff +0 -0
  22. package/assets/fonts/open-sans/ExtraBoldItalic/OpenSans-ExtraboldItalic.woff2 +0 -0
  23. package/assets/fonts/open-sans/SemiboldItalic/OpenSans-SemiboldItalic.eot +0 -0
  24. package/assets/fonts/open-sans/SemiboldItalic/OpenSans-SemiboldItalic.svg +21154 -0
  25. package/assets/fonts/open-sans/SemiboldItalic/OpenSans-SemiboldItalic.ttf +0 -0
  26. package/assets/fonts/open-sans/SemiboldItalic/OpenSans-SemiboldItalic.woff +0 -0
  27. package/assets/fonts/open-sans/SemiboldItalic/OpenSans-SemiboldItalic.woff2 +0 -0
  28. package/assets/fonts/primeicons/primeicons.woff2 +0 -0
  29. package/copy.json +12 -0
  30. package/design-tokens/colors.yml +34 -0
  31. package/migrate-sass-imports.js +87 -0
  32. package/package.json +46 -1
  33. package/src/_mixins.scss +39 -40
  34. package/src/_variables.scss +32 -33
  35. package/src/badge/_mixins.scss +5 -5
  36. package/src/badge/_variables.scss +2 -2
  37. package/src/badge/ids-badge.scss +1 -1
  38. package/src/base/_functions.scss +1 -1
  39. package/src/base/_mixins.scss +6 -6
  40. package/src/base/_variables.scss +1 -1
  41. package/src/base/ids-base.scss +3 -3
  42. package/src/box-shadow/_mixins.scss +1 -1
  43. package/src/box-shadow/_variables.scss +2 -0
  44. package/src/box-shadow/ids-box-shadow.scss +1 -1
  45. package/src/button/_mixins.scss +779 -775
  46. package/src/button/_variables.scss +3 -0
  47. package/src/button/ids-button.scss +1 -1
  48. package/src/button-group/_mixins.scss +3 -3
  49. package/src/button-group/ids-button-group.scss +1 -1
  50. package/src/card/_mixins.scss +382 -376
  51. package/src/card/_variables.scss +3 -1
  52. package/src/card/ids-card.scss +1 -1
  53. package/src/checkbox/_mixins.scss +430 -428
  54. package/src/checkbox/_variables.scss +2 -0
  55. package/src/checkbox/ids-checkbox.scss +1 -1
  56. package/src/common.scss +44 -45
  57. package/src/container/_mixins.scss +3 -2
  58. package/src/container/_variables.scss +3 -1
  59. package/src/container/ids-container.scss +1 -1
  60. package/src/crop/_mixins.scss +1 -1
  61. package/src/crop/_variables.scss +2 -0
  62. package/src/crop/ids-crop.scss +1 -1
  63. package/src/crumb/_mixins.scss +37 -36
  64. package/src/crumb/_variables.scss +2 -0
  65. package/src/crumb/ids-crumb.scss +1 -1
  66. package/src/flex/ids-flex.scss +1 -1
  67. package/src/form/_mixins.scss +3 -3
  68. package/src/form/_variables.scss +2 -2
  69. package/src/form/ids-form.scss +1 -1
  70. package/src/form-group/_mixins.scss +1 -1
  71. package/src/form-group/ids-form-group.scss +1 -1
  72. package/src/grid/_mixins.scss +3 -3
  73. package/src/grid/_variables.scss +3 -1
  74. package/src/grid/ids-grid.scss +1 -1
  75. package/src/helpers/helpers.scss +1 -1
  76. package/src/icon/_mixins.scss +397 -395
  77. package/src/icon/_variables.scss +2 -2
  78. package/src/icon/ids-icon.scss +1 -1
  79. package/src/image/_mixins.scss +1 -1
  80. package/src/image/_variables.scss +2 -0
  81. package/src/image/ids-image.scss +1 -1
  82. package/src/input/_mixins.scss +418 -415
  83. package/src/input/_variables.scss +4 -2
  84. package/src/input/ids-input.scss +2 -2
  85. package/src/input-group/_mixins.scss +108 -104
  86. package/src/input-group/_variables.scss +2 -2
  87. package/src/input-group/ids-input-group.scss +1 -1
  88. package/src/inspark.scss +2 -2
  89. package/src/label/_mixins.scss +5 -5
  90. package/src/label/_variables.scss +2 -0
  91. package/src/label/ids-label.scss +1 -1
  92. package/src/list/_mixins.scss +288 -287
  93. package/src/list/_variables.scss +2 -0
  94. package/src/list/ids-list.scss +1 -1
  95. package/src/list-group/_mixins.scss +282 -278
  96. package/src/list-group/_variables.scss +2 -0
  97. package/src/list-group/ids-list-group.scss +1 -1
  98. package/src/mediaqueries/_mixins.scss +1 -1
  99. package/src/mediaqueries/_variables.scss +2 -0
  100. package/src/mediaqueries/ids-mediaqueries.scss +1 -1
  101. package/src/nav/_mixins.scss +92 -89
  102. package/src/nav/_variables.scss +2 -0
  103. package/src/nav/ids-nav.scss +1 -1
  104. package/src/navbar/_mixins.scss +653 -650
  105. package/src/navbar/_variables.scss +3 -2
  106. package/src/navbar/ids-navbar.scss +1 -1
  107. package/src/new-component-template/_mixins.scss +2 -2
  108. package/src/new-component-template/_variables.scss +2 -2
  109. package/src/new-component-template/ids-new-component-template.scss +1 -1
  110. package/src/overlay/_mixins.scss +2 -2
  111. package/src/overlay/ids-overlay.scss +1 -1
  112. package/src/pallete/blue.scss +1 -1
  113. package/src/pallete/contrast.scss +1 -1
  114. package/src/pallete/pallete.scss +5 -5
  115. package/src/panel/_mixins.scss +765 -763
  116. package/src/panel/_variables.scss +3 -2
  117. package/src/panel/ids-panel.scss +1 -1
  118. package/src/particles/_mixins.scss +65 -64
  119. package/src/particles/ids-particles.scss +1 -1
  120. package/src/radio/_mixins.scss +212 -210
  121. package/src/radio/_variables.scss +2 -0
  122. package/src/radio/ids-radio.scss +1 -1
  123. package/src/ratio/_mixins.scss +1 -1
  124. package/src/ratio/_variables.scss +2 -0
  125. package/src/ratio/ids-ratio.scss +1 -1
  126. package/src/sass-mq/_mixins.scss +1 -1
  127. package/src/sass-mq/_variables.scss +2 -0
  128. package/src/sass-mq/ids-sass-mq.scss +1 -1
  129. package/src/select/_mixins.scss +269 -267
  130. package/src/select/_variables.scss +3 -0
  131. package/src/select/ids-select.scss +1 -1
  132. package/src/sidebar/_mixins.scss +3 -3
  133. package/src/sidebar/_variables.scss +2 -2
  134. package/src/sidebar/ids-sidebar.scss +1 -1
  135. package/src/static/_mixins.scss +1 -1
  136. package/src/static/ids-static.scss +1 -1
  137. package/src/table/_mixins.scss +522 -518
  138. package/src/table/_variables.scss +2 -0
  139. package/src/table/ids-table.scss +1 -1
  140. package/src/textarea/_mixins.scss +39 -39
  141. package/src/textarea/_variables.scss +2 -0
  142. package/src/textarea/ids-textarea.scss +1 -1
  143. package/src/theme/_mixins.scss +4 -3
  144. package/src/theme/_variables.scss +5 -4
  145. package/src/theme/blue.scss +440 -448
  146. package/src/theme/contrast.scss +398 -406
  147. package/src/theme/green.scss +432 -440
  148. package/src/theme/ids-theme.scss +5 -5
  149. package/src/theme/light.scss +398 -406
  150. package/src/tools/_tools.border-radius.scss +1 -0
  151. package/src/tools/_tools.rem.scss +1 -0
  152. package/src/tools/ids-tools.scss +9 -9
  153. package/src/tooltip/_mixins.scss +820 -817
  154. package/src/tooltip/_variables.scss +2 -2
  155. package/src/tooltip/ids-tooltip.scss +1 -1
  156. package/src/tree-table/_mixins.scss +335 -331
  157. package/src/tree-table/_variables.scss +2 -2
  158. package/src/tree-table/ids-tree-table.scss +1 -1
  159. package/src/typography/_mixins.scss +6 -1
  160. package/src/typography/_variables.scss +2 -2
  161. package/src/typography/ids-typography.scss +2 -2
  162. package/src/utilities/_loader.utilities.scss +17 -20
  163. package/src/utilities/_utilities.border.scss +2 -0
  164. package/src/utilities/_utilities.clearfix.scss +1 -0
  165. package/src/utilities/_utilities.headings.scss +2 -0
  166. package/src/utilities/_utilities.hide.scss +58 -56
  167. package/src/utilities/_utilities.lineheight.scss +2 -0
  168. package/src/utilities/_utilities.overflow.scss +1 -1
  169. package/src/utilities/_utilities.position.scss +3 -0
  170. package/src/utilities/_utilities.spacing.scss +77 -75
  171. package/src/utilities/_utilities.themes.scss +3 -0
  172. package/src/utilities/_utilities.typography.scss +179 -177
  173. package/src/utilities/_utilities.widths.scss +2 -2
  174. package/src/widgets/_components.widget.scss +3 -0
  175. package/src/widgets/_components.widget.themes.scss +3 -0
  176. package/src/widgets/_components.widgetStatus.scss +2 -0
  177. package/src/widgets/_components.widgetStatus.themes.scss +2 -0
  178. package/src/widgets/_components.widgetValue.scss +2 -0
  179. package/src/widgets/ids-widgets.scss +5 -5
  180. package/update_full.js +14 -0
  181. package/webpack.config.js +51 -0
  182. package/index.css +0 -24206
  183. package/index.js +0 -125
  184. package/src/nvd3/_components.charts-nvd3.scss +0 -182
  185. package/src/nvd3/_components.charts-nvd3.themes.scss +0 -179
  186. package/src/nvd3/_variables-theme-contrast.scss +0 -123
  187. package/src/nvd3/_variables-theme-green.scss +0 -123
  188. package/src/nvd3/_variables-theme-light.scss +0 -123
  189. package/src/nvd3/_variables.scss +0 -123
  190. package/src/nvd3/angular-nvd3.js +0 -719
  191. package/src/nvd3/bars/_components.bars.scss +0 -47
  192. package/src/nvd3/bars/_components.bars.themes.scss +0 -47
  193. package/src/nvd3/boxplot/_components.boxplot.scss +0 -23
  194. package/src/nvd3/boxplot/_components.boxplot.themes.scss +0 -21
  195. package/src/nvd3/bullet/_components.bullet.scss +0 -66
  196. package/src/nvd3/bullet/_components.bullet.themes.scss +0 -66
  197. package/src/nvd3/candlestick/_components.candlestick.scss +0 -31
  198. package/src/nvd3/candlestick/_components.candlestick.themes.scss +0 -31
  199. package/src/nvd3/force-directed-graph/_components.force-directed-graph.scss +0 -16
  200. package/src/nvd3/force-directed-graph/_components.force-directed-graph.themes.scss +0 -16
  201. package/src/nvd3/furious-legend/_components.furious-legend.scss +0 -27
  202. package/src/nvd3/furious-legend/_components.furious-legend.themes.scss +0 -27
  203. package/src/nvd3/lineplusbar/_components.lineplusbar.scss +0 -12
  204. package/src/nvd3/lineplusbar/_components.lineplusbar.themes.scss +0 -12
  205. package/src/nvd3/lines/_components.lines.scss +0 -172
  206. package/src/nvd3/lines/_components.lines.themes.scss +0 -170
  207. package/src/nvd3/ohlc/_components.ohlc.scss +0 -18
  208. package/src/nvd3/ohlc/_components.ohlc.themes.scss +0 -18
  209. package/src/nvd3/parallelcoordinates/_components.parallelcoordinates.scss +0 -35
  210. package/src/nvd3/parallelcoordinates/_components.parallelcoordinates.themes.scss +0 -35
  211. package/src/nvd3/pie/_components.pie.scss +0 -99
  212. package/src/nvd3/pie/_components.pie.themes.scss +0 -97
  213. package/src/nvd3/scatter/_components.scatter.scss +0 -21
  214. package/src/nvd3/scatter/_components.scatter.themes.scss +0 -21
  215. package/src/nvd3/sparkline/_components.sparkline.scss +0 -54
  216. package/src/nvd3/sparkline/_components.sparkline.themes.scss +0 -54
  217. package/src/nvd3/stackedarea/_components.stackedarea.scss +0 -146
  218. package/src/nvd3/stackedarea/_components.stackedarea.themes.scss +0 -145
  219. package/src/nvd3/tooltip/_components.tooltip.scss +0 -186
  220. package/src/nvd3/tooltip/_components.tooltip.themes.scss +0 -186
  221. /package/{fonts → assets/fonts/lato}/lato-bold.woff +0 -0
  222. /package/{fonts → assets/fonts/lato}/lato-bold.woff2 +0 -0
  223. /package/{fonts → assets/fonts/lato}/lato-bolditalic.woff +0 -0
  224. /package/{fonts → assets/fonts/lato}/lato-bolditalic.woff2 +0 -0
  225. /package/{fonts → assets/fonts/lato}/lato-italic.woff +0 -0
  226. /package/{fonts → assets/fonts/lato}/lato-italic.woff2 +0 -0
  227. /package/{fonts → assets/fonts/lato}/lato-regular.woff +0 -0
  228. /package/{fonts → assets/fonts/lato}/lato-regular.woff2 +0 -0
  229. /package/{fonts → assets/fonts/material-design-icons}/MaterialIcons-Regular.ttf +0 -0
  230. /package/{fonts → assets/fonts/material-design-icons}/MaterialIcons-Regular.woff +0 -0
  231. /package/{fonts → assets/fonts/material-design-icons}/MaterialIcons-Regular.woff2 +0 -0
  232. /package/{fonts → assets/fonts/open-sans/Bold}/OpenSans-Bold.eot +0 -0
  233. /package/{fonts → assets/fonts/open-sans/Bold}/OpenSans-Bold.svg +0 -0
  234. /package/{fonts → assets/fonts/open-sans/Bold}/OpenSans-Bold.ttf +0 -0
  235. /package/{fonts → assets/fonts/open-sans/Bold}/OpenSans-Bold.woff +0 -0
  236. /package/{fonts → assets/fonts/open-sans/Bold}/OpenSans-Bold.woff2 +0 -0
  237. /package/{fonts → assets/fonts/open-sans/ExtraBold}/OpenSans-Extrabold.eot +0 -0
  238. /package/{fonts → assets/fonts/open-sans/ExtraBold}/OpenSans-Extrabold.svg +0 -0
  239. /package/{fonts → assets/fonts/open-sans/ExtraBold}/OpenSans-Extrabold.ttf +0 -0
  240. /package/{fonts → assets/fonts/open-sans/ExtraBold}/OpenSans-Extrabold.woff +0 -0
  241. /package/{fonts → assets/fonts/open-sans/ExtraBold}/OpenSans-Extrabold.woff2 +0 -0
  242. /package/{fonts → assets/fonts/open-sans/Italic}/OpenSans-Italic.eot +0 -0
  243. /package/{fonts → assets/fonts/open-sans/Italic}/OpenSans-Italic.svg +0 -0
  244. /package/{fonts → assets/fonts/open-sans/Italic}/OpenSans-Italic.ttf +0 -0
  245. /package/{fonts → assets/fonts/open-sans/Italic}/OpenSans-Italic.woff +0 -0
  246. /package/{fonts → assets/fonts/open-sans/Italic}/OpenSans-Italic.woff2 +0 -0
  247. /package/{fonts → assets/fonts/open-sans/Light}/OpenSans-Light.eot +0 -0
  248. /package/{fonts → assets/fonts/open-sans/Light}/OpenSans-Light.svg +0 -0
  249. /package/{fonts → assets/fonts/open-sans/Light}/OpenSans-Light.ttf +0 -0
  250. /package/{fonts → assets/fonts/open-sans/Light}/OpenSans-Light.woff +0 -0
  251. /package/{fonts → assets/fonts/open-sans/Light}/OpenSans-Light.woff2 +0 -0
  252. /package/{fonts → assets/fonts/open-sans/LightItalic}/OpenSansLight-Italic.eot +0 -0
  253. /package/{fonts → assets/fonts/open-sans/LightItalic}/OpenSansLight-Italic.svg +0 -0
  254. /package/{fonts → assets/fonts/open-sans/LightItalic}/OpenSansLight-Italic.ttf +0 -0
  255. /package/{fonts → assets/fonts/open-sans/LightItalic}/OpenSansLight-Italic.woff +0 -0
  256. /package/{fonts → assets/fonts/open-sans/LightItalic}/OpenSansLight-Italic.woff2 +0 -0
  257. /package/{fonts → assets/fonts/open-sans/Regular}/OpenSans.eot +0 -0
  258. /package/{fonts → assets/fonts/open-sans/Regular}/OpenSans.svg +0 -0
  259. /package/{fonts → assets/fonts/open-sans/Regular}/OpenSans.ttf +0 -0
  260. /package/{fonts → assets/fonts/open-sans/Regular}/OpenSans.woff +0 -0
  261. /package/{fonts → assets/fonts/open-sans/Regular}/OpenSans.woff2 +0 -0
  262. /package/{fonts → assets/fonts/open-sans/Semibold}/OpenSans-Semibold.eot +0 -0
  263. /package/{fonts → assets/fonts/open-sans/Semibold}/OpenSans-Semibold.svg +0 -0
  264. /package/{fonts → assets/fonts/open-sans/Semibold}/OpenSans-Semibold.ttf +0 -0
  265. /package/{fonts → assets/fonts/open-sans/Semibold}/OpenSans-Semibold.woff +0 -0
  266. /package/{fonts → assets/fonts/open-sans/Semibold}/OpenSans-Semibold.woff2 +0 -0
  267. /package/{fonts → assets/fonts/primeicons}/primeicons.eot +0 -0
  268. /package/{fonts → assets/fonts/primeicons}/primeicons.svg +0 -0
  269. /package/{fonts → assets/fonts/primeicons}/primeicons.ttf +0 -0
  270. /package/{fonts → assets/fonts/primeicons}/primeicons.woff +0 -0
@@ -1,775 +1,779 @@
1
- @import "../base/variables";
2
- @import "./variables";
3
-
4
- /*
5
-
6
- Buttons
7
-
8
- markup:
9
- <button class="c-btn">
10
- Button
11
- </button>
12
-
13
- */
14
-
15
- /**
16
- * 1. Allow us to style box model properties.
17
- * 2. Line different sized buttons up a little nicer.
18
- * 3. Make buttons inherit font styles (often necessary when styling `input`s as
19
- * buttons).
20
- * 4. Reset/normalize some styles.
21
- * 5. Force all button-styled elements to appear clickable.
22
- */
23
-
24
- @mixin c-btn {
25
- .c-btn {
26
- display: inline-flex; /* [1] */
27
- align-items: center; /* [2] */
28
- font: inherit; /* [3] */
29
- text-align: center; /* [4] */
30
- margin: 0; /* [4] */
31
- margin-right: $unit-tiny;
32
- cursor: pointer; /* [5] */
33
- overflow: visible;
34
- border: $btn-default-border;
35
- border-radius: $btn-border-radius;
36
- padding: $inuit-global-spacing-unit-small $inuit-global-spacing-unit;
37
- transition: $global-transition;
38
- box-shadow: none;
39
- line-height: inherit;
40
- //-webkit-font-smoothing: antialiased;
41
- text-decoration: none;
42
- text-transform: none;
43
- white-space: nowrap;
44
- background-color: $btn-default-background;
45
- background-color: var(--ids-theme-btn-default-background, $btn-default-background);
46
- //-webkit-appearance: button;
47
-
48
- &,
49
- &:link,
50
- &:visited,
51
- &:hover,
52
- &:active {
53
- color: $btn-default-color;
54
- color: var(--ids-theme-btn-default-color, $btn-default-color);
55
- }
56
-
57
- &:hover {
58
- border-color: transparent;
59
- box-shadow: none;
60
- background-color: $btn-default-background--hover;
61
- background-color: var(--ids-theme-btn-default-background--hover, $btn-default-background--hover);
62
- outline: 0;
63
- text-decoration: none;
64
- }
65
-
66
- &:focus {
67
- outline: none;
68
- }
69
-
70
- &:active {
71
- border-color: transparent;
72
- box-shadow: none;
73
- background-color: $btn-default-background--pressed;
74
- background-color: var(--ids-theme-btn-default-background--pressed, $btn-default-background--pressed);
75
- outline: none;
76
- }
77
-
78
- &:disabled {
79
- color: $btn-disabled-color;
80
- color: var(--ids-theme-btn-disabled-color, $btn-disabled-color);
81
- cursor: not-allowed;
82
- }
83
-
84
- @content;
85
- }
86
- }
87
-
88
- /*
89
- Style variants
90
-
91
- bare - Buttons with no styles (good a11y practice to use <button></button> for actions rather than <a></a>)
92
- link - Link buttons
93
- primary - The primary action of the page it is placed on. Place only one primary button on each page/dialog.
94
- secondary - Secondary buttons
95
- tertiary - Tertiary buttons
96
- disabled - Action is disabled. Buttons using this modifier should not be clickable.
97
- active - Active or toggled. Buttons using this modifier should not be clickable.
98
- destroy - A destructive action which can't be undone and might involve loss of data.
99
-
100
- markup:
101
- <button class="c-btn c-btn_{$modifiers}" type="button">
102
- Button
103
- </button>
104
-
105
- */
106
- @mixin c-btn_bare {
107
- .c-btn_bare {
108
- height: auto;
109
- border: 0;
110
- border-radius: 0;
111
- padding: 0;
112
- line-height: inherit;
113
- box-shadow: none;
114
- background: none;
115
- outline: none;
116
-
117
- &,
118
- &:link,
119
- &:visited,
120
- &:hover,
121
- &:active,
122
- &:focus {
123
- box-shadow: none;
124
- background: none;
125
- outline: none;
126
- }
127
-
128
- &,
129
- &:link,
130
- &:visited {
131
- color: $btn-bare-color--visited;
132
- color: var(--ids-theme-btn-bare-color--visited, $btn-bare-color--visited);
133
- }
134
-
135
- &:hover {
136
- color: $btn-bare-color--hover;
137
- color: var(--ids-theme-btn-bare-color--hover, $btn-bare-color--hover);
138
- }
139
-
140
- &:active,
141
- &:focus {
142
- color: var(--ids-theme-btn-bare-color--pressed, $btn-bare-color--pressed);
143
- }
144
- }
145
- }
146
-
147
- // = LINK BUTTON
148
- //
149
- @mixin _c-btn_link-reset {
150
- ._c-btn_link-reset {
151
- border: 1px solid transparent;
152
- background: transparent;
153
- box-shadow: none;
154
- }
155
- }
156
-
157
- @mixin c-btn_link {
158
- .c-btn_link {
159
- @include _c-btn_link-reset;
160
-
161
- transition: color 0.1s linear;
162
- color: $link-color;
163
- color: var(--ids-theme-link-color, $link-color);
164
-
165
- &:hover {
166
- @include _c-btn_link-reset;
167
-
168
- color: $link-hover-color;
169
- color: var(--ids-theme-link-hover-color, $link-hover-color);
170
- }
171
- }
172
- }
173
-
174
- @mixin c-btn_link-disabled {
175
- .c-btn_link-disabled,
176
- .c-btn_link.c-btn_disabled {
177
- @include _c-btn_link-reset;
178
-
179
- color: $link-disabled-color;
180
- color: var(--ids-theme-link-disabled-color, $link-disabled-color);
181
-
182
- &:hover,
183
- &:active {
184
- border: 1px solid transparent;
185
- }
186
- }
187
- }
188
-
189
- @mixin c-btn_primary {
190
- .c-btn_primary {
191
- border-color: $btn-primary-border-color;
192
- border-color: var(--ids-theme-btn-primary-border-color, $btn-primary-border-color);
193
- box-shadow: $btn-shadow;
194
- background-color: $btn-primary-background;
195
- background-color: var(--ids-theme-btn-primary-background, $btn-primary-background);
196
-
197
- &,
198
- &:link,
199
- &:visited,
200
- &:hover,
201
- &:active {
202
- color: $btn-primary-color;
203
- color: var(--ids-theme-btn-primary-color, $btn-primary-color);
204
- }
205
-
206
- &:hover {
207
- border-color: transparent;
208
- background-color: $btn-primary-background--hover;
209
- background-color: var(--ids-theme-btn-primary-background--hover, $btn-primary-background--hover);
210
- }
211
-
212
- &:active {
213
- border-color: transparent;
214
- background-color: var(--ids-theme-btn-primary-background--pressed, $btn-primary-background--pressed);
215
- }
216
-
217
- &:disabled {
218
- background-color: $btn-primary-background--disabled;
219
- background-color: var(--ids-theme-btn-primary-background--disabled, $btn-primary-background--disabled);
220
- color: $btn-primary-color--disabled;
221
- color: var(--ids-theme-btn-primary-color--disabled, $btn-primary-color--disabled);
222
- }
223
- }
224
- }
225
-
226
- @mixin c-btn_secondary {
227
- .c-btn_secondary {
228
- border-color: $btn-secondary-border-color;
229
- border-color: var(--ids-theme-btn-secondary-border-color, $btn-secondary-border-color);
230
- box-shadow: $btn-shadow;
231
- background-color: $btn-secondary-background;
232
- background-color: var(--ids-theme-btn-secondary-background, $btn-secondary-background);
233
-
234
- &,
235
- &:link,
236
- &:visited,
237
- &:hover,
238
- &:active {
239
- color: $btn-secondary-color;
240
- color: var(--ids-theme-btn-secondary-color, $btn-secondary-color);
241
- }
242
-
243
- &:hover {
244
- border-color: transparent;
245
- background-color: $btn-secondary-background--hover;
246
- background-color: var(--ids-theme-btn-secondary-background--hover, $btn-secondary-background--hover);
247
- }
248
-
249
- &:active {
250
- border-color: transparent;
251
- background-color: $btn-secondary-background--pressed;
252
- background-color: var(--ids-theme-btn-secondary-background--pressed, $btn-secondary-background--pressed);
253
- }
254
- }
255
- }
256
-
257
- @mixin c-btn_tertiary {
258
- .c-btn_tertiary {
259
- border-color: $btn-tertiary-border-color;
260
- border-color: var(--ids-theme-btn-tertiary-border-color, $btn-tertiary-border-color);
261
- box-shadow: $btn-shadow;
262
- background-color: $btn-tertiary-background;
263
- background-color: var(--ids-theme-btn-tertiary-background, $btn-tertiary-background);
264
-
265
- &,
266
- &:link,
267
- &:visited,
268
- &:hover,
269
- &:active {
270
- color: $btn-tertiary-color;
271
- color: var(--ids-theme-btn-tertiary-color, $btn-tertiary-color);
272
- }
273
-
274
- &:hover {
275
- border-color: transparent;
276
- background-color: $btn-tertiary-background--hover;
277
- background-color: var(--ids-theme-btn-tertiary-background--hover, $btn-tertiary-background--hover);
278
- }
279
-
280
- &:active {
281
- border-color: transparent;
282
- background-color: $btn-tertiary-background--pressed;
283
- background-color: var(--ids-theme-btn-tertiary-background--pressed, $btn-tertiary-background--pressed);
284
- }
285
- }
286
- }
287
-
288
- @mixin c-btn_destroy {
289
- .c-btn_destroy {
290
- &:active,
291
- &:hover {
292
- border-color: $btn-destroy-border-color;
293
- border-color: var(--ids-theme-btn-destroy-border-color, $btn-destroy-border-color);
294
- background: $btn-destroy-background;
295
- background: var(--ids-theme-btn-destroy-background, $btn-destroy-background);
296
- color: $btn-destroy-color;
297
- color: var(--ids-theme-btn-destroy-color, $btn-destroy-color);
298
- }
299
- }
300
- }
301
-
302
- @mixin c-btn_disabled {
303
- .c-btn_disabled {
304
- &,
305
- &:link,
306
- &:visited,
307
- &:hover,
308
- &:active {
309
- border-color: $btn-disabled-border-color;
310
- border-color: var(--ids-theme-btn-disabled-border-color, $btn-disabled-border-color);
311
- box-shadow: none;
312
- cursor: not-allowed;
313
- background-color: $btn-disabled-background;
314
- background-color: var(--ids-theme-btn-disabled-background, $btn-disabled-background);
315
- color: $btn-disabled-color;
316
- color: var(--ids-theme-btn-disabled-color, $btn-disabled-color);
317
- }
318
- }
319
- }
320
-
321
- @mixin c-btn_inactive {
322
- .c-btn_inactive {
323
- background: $btn-default-background;
324
- background: var(--ids-theme-btn-default-background, $btn-default-background);
325
- }
326
- }
327
-
328
- @mixin c-btn_active {
329
- .c-btn_active {
330
- background: $ids-theme-secondary;
331
- background: var(--ids-theme-ids-theme-secondary, $ids-theme-secondary);
332
- }
333
- }
334
-
335
- /*
336
- Ghost buttons
337
-
338
- Ghost buttons have see-through backgrounds and are bordered.
339
-
340
- small - small button with small horizontal spacing and tiny vertical spacing.
341
- large - large button with large horizontal spacing and default vertical spacing.
342
- full - Use this modifier to force a button to fill its parent's width.
343
- primary - primary colored button. Use to make accent to action.
344
- secondary - secondary button.
345
- tertiary - tertiary button.
346
-
347
- markup:
348
- <button class="c-btn c-btn_ghost c-btn_{$modifiers}" type="button">
349
- Button
350
- </button>
351
-
352
- */
353
-
354
- @mixin c-btn_ghost {
355
-
356
- border: $btn-ghost-border-width solid currentColor;
357
- padding: ($inuit-global-spacing-unit-small - $btn-ghost-border-width) ($inuit-global-spacing-unit - $btn-ghost-border-width);
358
-
359
- &,
360
- &:hover,
361
- &:active,
362
- &:focus {
363
- background: none;
364
- }
365
-
366
- &.c-btn_tiny {
367
- padding: (($inuit-global-spacing-unit-tiny - $btn-ghost-border-width) * 0.5) ($inuit-global-spacing-unit-tiny - $btn-ghost-border-width);
368
- }
369
-
370
- &.c-btn_small {
371
- padding: ($inuit-global-spacing-unit-tiny - $btn-ghost-border-width - 2px) ($inuit-global-spacing-unit-small - $btn-ghost-border-width);
372
- }
373
-
374
- &.c-btn_large {
375
- padding: ($inuit-global-spacing-unit - $btn-ghost-border-width) ($inuit-global-spacing-unit-large - $btn-ghost-border-width);
376
- }
377
-
378
- &.c-btn_primary {
379
- color: $ids-theme-primary;
380
- color: var(--ids-theme-ids-theme-primary, $ids-theme-primary);
381
-
382
- &:hover,
383
- &:focus {
384
- box-shadow: 0 0 9px 0px $ids-theme-secondary;
385
- box-shadow: 0 0 9px 0px var(--ids-theme-ids-theme-secondary, $ids-theme-secondary);
386
- }
387
- }
388
-
389
- &.c-btn_secondary {
390
- color: $ids-theme-secondary;
391
- color: var(--ids-theme-ids-theme-secondary, $ids-theme-secondary);
392
-
393
- &:hover,
394
- &:focus {
395
- box-shadow: 0 0 9px 0px $ids-theme-secondary;
396
- box-shadow: 0 0 9px 0px var(--ids-theme-ids-theme-secondary, $ids-theme-secondary);
397
- }
398
- }
399
-
400
- &.c-btn_tertiary {
401
- color: $text-color;
402
- color: var(--ids-theme-text-color, $text-color);
403
-
404
- &:hover,
405
- &:focus {
406
- color: $text-color;
407
- color: var(--ids-theme-text-color, $text-color);
408
- }
409
- }
410
-
411
-
412
- }
413
-
414
- @mixin ids-btn_ghost {
415
- .c-btn_ghost {
416
- @include c-btn_ghost;
417
- }
418
- }
419
-
420
- /*
421
- Size variants
422
-
423
- small - small button with small horizontal spacing and tiny vertical spacing.
424
- large - large button with large horizontal spacing and default vertical spacing.
425
- full - Use this modifier to force a button to fill its parent's width.
426
-
427
- markup:
428
- <button type="button" class="c-btn c-btn_{$modifiers}">
429
- Button
430
- </button>
431
-
432
- */
433
- @mixin ids-btn-size-variants {
434
- .c-btn_tiny {
435
- padding: $inuit-global-spacing-unit-tiny $inuit-global-spacing-unit-tiny;
436
- font-size: $font-size-sm;
437
- }
438
-
439
- .c-btn_small {
440
- padding: $inuit-global-spacing-unit-tiny $inuit-global-spacing-unit-small;
441
- font-size: $font-size-sm;
442
-
443
- .in {
444
- font-size: $font-size-lg;
445
- }
446
- }
447
-
448
- .c-btn_input-height {
449
- padding: 7px $inuit-global-spacing-unit-small;
450
- font-size: $font-size-base;
451
- }
452
-
453
- .c-btn_large {
454
- padding: inuit-rem($inuit-global-spacing-unit) inuit-rem($inuit-global-spacing-unit-large);
455
- }
456
-
457
- .c-btn_full {
458
- display: block;
459
- width: 100%;
460
- padding-right: 0;
461
- padding-left: 0;
462
- }
463
- }
464
-
465
-
466
- /*
467
- Round iconic buttons
468
-
469
- markup:
470
- <button class="c-btn c-btn_icon" type="button">
471
- <span class="fa fa-user"></span>
472
- </button>
473
-
474
- */
475
- @mixin c-btn_icon {
476
- .c-btn_icon {
477
- display: inline;
478
- margin-right: $unit-tiny;
479
- min-width: $inuit-global-spacing-unit-small;
480
- border-radius: $btn-rounded-border-radius;
481
- //padding: $inuit-global-spacing-unit-tiny $inuit-global-spacing-unit-small;
482
- border: none;
483
- box-shadow: none;
484
- line-height: inherit;
485
- -webkit-font-smoothing: antialiased;
486
- text-decoration: none;
487
- text-transform: none;
488
- white-space: nowrap;
489
- background-color: transparent;
490
- -webkit-appearance: none;
491
- }
492
- }
493
-
494
- @mixin c-btn_rounded {
495
- .c-btn_rounded {
496
- border-radius: $btn-rounded-border-radius;
497
- }
498
- }
499
-
500
- /*
501
- Datepicker button
502
-
503
- For use in datepicker as datepicker button in calendar.
504
-
505
- markup:
506
- <button class="c-btn _c-btn_datepicker" type="button">
507
- 24
508
- </button>
509
-
510
- */
511
-
512
- @mixin ids-btn-datepicker {
513
- .c-btn_daypicker {
514
- padding: 8px 12px;
515
- background-color: transparent;
516
- margin: 0;
517
- }
518
-
519
- .c-btn_daypicker-current {
520
- background: $btn-datepicker-current-background;
521
- background: var(--ids-theme-btn-datepicker-current-background, $btn-datepicker-current-background);
522
- color: $btn-datepicker-current-color;
523
- color: var(--ids-theme-btn-datepicker-current-color, $btn-datepicker-current-color);
524
- }
525
-
526
- .c-btn_daypicker-selected {
527
- background: $ids-theme-primary;
528
- background: var(--ids-theme-ids-theme-primary, $ids-theme-primary);
529
- border-radius: 100%;
530
- color: $btn-datepicker-selected-color;
531
- color: var(--ids-theme-btn-datepicker-selected-color, $btn-datepicker-selected-color);
532
-
533
- // If selected date is current date
534
- > .c-btn_daypicker-current { // todo(turchaninov): убрать зависимость компонента от утилиты
535
- color: $btn-datepicker-selected-color-current;
536
- color: var(--ids-theme-btn-datepicker-selected-color-current, $btn-datepicker-selected-color-current);
537
- }
538
-
539
- &:hover {
540
- color: $btn-datepicker-selected-color--hover;
541
- color: var(--ids-theme-btn-datepicker-selected-color--hover, $btn-datepicker-selected-color--hover);
542
-
543
- > .c-btn_daypicker-selected-current {
544
- color: $btn-datepicker-selected-color-current--hover;
545
- color: var(--ids-theme-btn-datepicker-selected-color-current--hover, $btn-datepicker-selected-color-current--hover);
546
- }
547
- }
548
- }
549
- }
550
-
551
-
552
- /*
553
- Round iconic buttons
554
-
555
- markup:
556
- <button class="c-btn c-btn_menu-toggle" type="button">
557
- <span class="fa fa-user"></span>
558
- </button>
559
-
560
- <button class="c-btn c-btn_border-free" type="button">
561
- <span class="fa fa-user"></span>
562
- </button>
563
-
564
- Styleguide 6.1.1.5
565
- */
566
-
567
- @mixin ids-btn-round-iconic {
568
- .c-btn_menu-toggle {
569
- height: auto;
570
- padding: 0 $unit-tiny !important;
571
- border: 0;
572
- border-radius: 0;
573
- line-height: inherit;
574
- box-shadow: none;
575
- background: none;
576
- outline: none;
577
- color: $btn-menu-toggle;
578
- color: var(--ids-theme-btn-menu-toggle, $btn-menu-toggle);
579
-
580
- &,
581
- &:link,
582
- &:visited,
583
- &:hover,
584
- &:active,
585
- &:focus {
586
- box-shadow: none;
587
- background: none;
588
- outline: none;
589
- }
590
- }
591
-
592
- .c-btn_border-free {
593
- display: inline-flex;
594
- align-items: center;
595
- @include c-btn_ghost;
596
-
597
- border: none;
598
- }
599
- }
600
-
601
- @mixin c-btn_svg-24 {
602
- .c-btn_svg-24 {
603
- padding: 4px 6px;
604
- font-size: 0;
605
- }
606
- }
607
-
608
- @mixin ids-btn-floating {
609
- .c-btn_floating-bottom-left {
610
- position: absolute;
611
- bottom: 50px;
612
- right: 120px;
613
- width: 60px;
614
- height: 60px;
615
- z-index: $zindex-1;
616
- }
617
-
618
- .c-btn_floating-bottom-right {
619
- position: absolute;
620
- bottom: 50px;
621
- right: 50px;
622
- width: 60px;
623
- height: 60px;
624
- z-index: $zindex-1;
625
- }
626
- }
627
-
628
-
629
- /*
630
- Inline buttons
631
-
632
- markup:
633
- <button class="c-btn c-btn_inline" type="button">
634
- <span class="fa fa-user"></span>
635
- </button>
636
- <button class="c-btn c-btn_inline" type="button">
637
- <span class="fa fa-calendar"></span>
638
- </button>
639
-
640
- */
641
-
642
- @mixin ids-btn-inline($sibling-selector: ".c-btn_inline") {
643
- .c-btn_inline {
644
- margin-bottom: 0;
645
-
646
- + #{$sibling-selector} {
647
- margin-left: 0.2rem; // Account for 4px inline margin
648
- }
649
- }
650
- }
651
-
652
- /*
653
- Grouped buttons
654
-
655
- For use in Button group components
656
-
657
- markup:
658
- <button class="c-btn _c-btn_grouped" type="button">
659
- <span class="fa fa-user"></span>
660
- </button>
661
-
662
- */
663
-
664
- @mixin _c-btn_grouped {
665
- margin-right: 0;
666
- margin-bottom: 0;
667
- border-left-width: 0;
668
- border-radius: 0;
669
- border-right: 1px solid $btn-grouped-border-color;
670
- border-right: 1px solid var(--ids-theme-btn-grouped-border-color, $btn-grouped-border-color);
671
-
672
- &:first-child {
673
- border-left-width: 1px;
674
- border-top-left-radius: $btn-border-radius;
675
- border-bottom-left-radius: $btn-border-radius;
676
- }
677
-
678
- &:last-child:not(.c-dropdown-menu),
679
- .c-dropdown__toggle {
680
- border-top-right-radius: $btn-border-radius;
681
- border-bottom-right-radius: $btn-border-radius;
682
- border-right-color: transparent;
683
- }
684
- }
685
-
686
- @mixin ids-btn-grouped {
687
- ._c-btn_grouped {
688
- @include _c-btn_grouped;
689
- }
690
- }
691
-
692
- /*
693
- Underlined buttons
694
-
695
- For use in Tabs as tab labels. To prevent jumping use c-btn_underlined-transparent
696
-
697
- markup:
698
- <button class="c-btn c-btn_underlined" type="button">
699
- <span class="fa fa-user"></span>
700
- </button>
701
-
702
- Styleguide 6.1.1.9
703
- */
704
-
705
- @mixin ids-btn-underlined {
706
- .c-btn_underlined-transparent {
707
- margin-right: 0;
708
- margin-bottom: 0;
709
- border-left-width: 0;
710
- border-radius: 0;
711
- border-bottom: 1px solid transparent;
712
- }
713
-
714
- .c-btn_underlined-primary {
715
- margin-right: 0;
716
- margin-bottom: 0;
717
- border-left-width: 0;
718
- border-radius: 0;
719
- border-bottom: 1px solid $ids-theme-primary;
720
- border-bottom: 1px solid var(--ids-theme-primary, $ids-theme-primary);
721
- }
722
- }
723
-
724
-
725
- @mixin ids-btn-map-filter {
726
- .c-btn_map-filter {
727
- position: absolute;
728
- height: 50px;
729
- width: 50px;
730
- right: 40px;
731
- top: 40px;
732
- padding: 0;
733
- border-radius: 50%;
734
- z-index: $zindex-footer;
735
- @include ids-box-shadow-core-styles;
736
- }
737
-
738
- .c-btn_map-filter2 {
739
- position: absolute;
740
- height: 50px;
741
- width: 50px;
742
- right: 100px;
743
- top: 40px;
744
- padding: 0;
745
- border-radius: 50%;
746
- z-index: $zindex-dropdown - 1;
747
- }
748
- }
749
-
750
- @mixin ids-button-core-styles {
751
- @include c-btn;
752
- @include c-btn_bare;
753
- @include _c-btn_link-reset;
754
- @include c-btn_link;
755
- @include c-btn_link-disabled;
756
- @include c-btn_primary;
757
- @include c-btn_secondary;
758
- @include c-btn_tertiary;
759
- @include c-btn_destroy;
760
- @include c-btn_disabled;
761
- @include c-btn_inactive;
762
- @include c-btn_active;
763
- @include ids-btn_ghost;
764
- @include ids-btn-size-variants;
765
- @include c-btn_icon;
766
- @include c-btn_rounded;
767
- @include ids-btn-datepicker;
768
- @include ids-btn-round-iconic;
769
- @include c-btn_svg-24;
770
- @include ids-btn-floating;
771
- @include ids-btn-inline;
772
- @include ids-btn-grouped;
773
- @include ids-btn-underlined;
774
- @include ids-btn-map-filter;
775
- }
1
+ @use "../base/variables" as *;
2
+ @use "../theme/variables" as *;
3
+ @use "../typography/variables" as *;
4
+ @use "../box-shadow/mixins" as *;
5
+ @use "./variables" as *;
6
+ @use "../tools/tools.border-radius" as *;
7
+
8
+ /*
9
+
10
+ Buttons
11
+
12
+ markup:
13
+ <button class="c-btn">
14
+ Button
15
+ </button>
16
+
17
+ */
18
+
19
+ /**
20
+ * 1. Allow us to style box model properties.
21
+ * 2. Line different sized buttons up a little nicer.
22
+ * 3. Make buttons inherit font styles (often necessary when styling `input`s as
23
+ * buttons).
24
+ * 4. Reset/normalize some styles.
25
+ * 5. Force all button-styled elements to appear clickable.
26
+ */
27
+
28
+ @mixin c-btn {
29
+ .c-btn {
30
+ display: inline-flex; /* [1] */
31
+ align-items: center; /* [2] */
32
+ font: inherit; /* [3] */
33
+ text-align: center; /* [4] */
34
+ margin: 0; /* [4] */
35
+ margin-right: $unit-tiny;
36
+ cursor: pointer; /* [5] */
37
+ overflow: visible;
38
+ border: $btn-default-border;
39
+ border-radius: $btn-border-radius;
40
+ padding: $inuit-global-spacing-unit-small $inuit-global-spacing-unit;
41
+ transition: $global-transition;
42
+ box-shadow: none;
43
+ line-height: inherit;
44
+ //-webkit-font-smoothing: antialiased;
45
+ text-decoration: none;
46
+ text-transform: none;
47
+ white-space: nowrap;
48
+ background-color: $btn-default-background;
49
+ background-color: var(--ids-theme-btn-default-background, $btn-default-background);
50
+ //-webkit-appearance: button;
51
+
52
+ &,
53
+ &:link,
54
+ &:visited,
55
+ &:hover,
56
+ &:active {
57
+ color: $btn-default-color;
58
+ color: var(--ids-theme-btn-default-color, $btn-default-color);
59
+ }
60
+
61
+ &:hover {
62
+ border-color: transparent;
63
+ box-shadow: none;
64
+ background-color: $btn-default-background--hover;
65
+ background-color: var(--ids-theme-btn-default-background--hover, $btn-default-background--hover);
66
+ outline: 0;
67
+ text-decoration: none;
68
+ }
69
+
70
+ &:focus {
71
+ outline: none;
72
+ }
73
+
74
+ &:active {
75
+ border-color: transparent;
76
+ box-shadow: none;
77
+ background-color: $btn-default-background--pressed;
78
+ background-color: var(--ids-theme-btn-default-background--pressed, $btn-default-background--pressed);
79
+ outline: none;
80
+ }
81
+
82
+ &:disabled {
83
+ color: $btn-disabled-color;
84
+ color: var(--ids-theme-btn-disabled-color, $btn-disabled-color);
85
+ cursor: not-allowed;
86
+ }
87
+
88
+ @content;
89
+ }
90
+ }
91
+
92
+ /*
93
+ Style variants
94
+
95
+ bare - Buttons with no styles (good a11y practice to use <button></button> for actions rather than <a></a>)
96
+ link - Link buttons
97
+ primary - The primary action of the page it is placed on. Place only one primary button on each page/dialog.
98
+ secondary - Secondary buttons
99
+ tertiary - Tertiary buttons
100
+ disabled - Action is disabled. Buttons using this modifier should not be clickable.
101
+ active - Active or toggled. Buttons using this modifier should not be clickable.
102
+ destroy - A destructive action which can't be undone and might involve loss of data.
103
+
104
+ markup:
105
+ <button class="c-btn c-btn_{$modifiers}" type="button">
106
+ Button
107
+ </button>
108
+
109
+ */
110
+ @mixin c-btn_bare {
111
+ .c-btn_bare {
112
+ height: auto;
113
+ border: 0;
114
+ border-radius: 0;
115
+ padding: 0;
116
+ line-height: inherit;
117
+ box-shadow: none;
118
+ background: none;
119
+ outline: none;
120
+
121
+ &,
122
+ &:link,
123
+ &:visited,
124
+ &:hover,
125
+ &:active,
126
+ &:focus {
127
+ box-shadow: none;
128
+ background: none;
129
+ outline: none;
130
+ }
131
+
132
+ &,
133
+ &:link,
134
+ &:visited {
135
+ color: $btn-bare-color--visited;
136
+ color: var(--ids-theme-btn-bare-color--visited, $btn-bare-color--visited);
137
+ }
138
+
139
+ &:hover {
140
+ color: $btn-bare-color--hover;
141
+ color: var(--ids-theme-btn-bare-color--hover, $btn-bare-color--hover);
142
+ }
143
+
144
+ &:active,
145
+ &:focus {
146
+ color: var(--ids-theme-btn-bare-color--pressed, $btn-bare-color--pressed);
147
+ }
148
+ }
149
+ }
150
+
151
+ // = LINK BUTTON
152
+ //
153
+ @mixin _c-btn_link-reset {
154
+ ._c-btn_link-reset {
155
+ border: 1px solid transparent;
156
+ background: transparent;
157
+ box-shadow: none;
158
+ }
159
+ }
160
+
161
+ @mixin c-btn_link {
162
+ .c-btn_link {
163
+ @include _c-btn_link-reset;
164
+
165
+ transition: color 0.1s linear;
166
+ color: $link-color;
167
+ color: var(--ids-theme-link-color, $link-color);
168
+
169
+ &:hover {
170
+ @include _c-btn_link-reset;
171
+
172
+ color: $link-hover-color;
173
+ color: var(--ids-theme-link-hover-color, $link-hover-color);
174
+ }
175
+ }
176
+ }
177
+
178
+ @mixin c-btn_link-disabled {
179
+ .c-btn_link-disabled,
180
+ .c-btn_link.c-btn_disabled {
181
+ @include _c-btn_link-reset;
182
+
183
+ color: $link-disabled-color;
184
+ color: var(--ids-theme-link-disabled-color, $link-disabled-color);
185
+
186
+ &:hover,
187
+ &:active {
188
+ border: 1px solid transparent;
189
+ }
190
+ }
191
+ }
192
+
193
+ @mixin c-btn_primary {
194
+ .c-btn_primary {
195
+ border-color: $btn-primary-border-color;
196
+ border-color: var(--ids-theme-btn-primary-border-color, $btn-primary-border-color);
197
+ box-shadow: $btn-shadow;
198
+ background-color: $btn-primary-background;
199
+ background-color: var(--ids-theme-btn-primary-background, $btn-primary-background);
200
+
201
+ &,
202
+ &:link,
203
+ &:visited,
204
+ &:hover,
205
+ &:active {
206
+ color: $btn-primary-color;
207
+ color: var(--ids-theme-btn-primary-color, $btn-primary-color);
208
+ }
209
+
210
+ &:hover {
211
+ border-color: transparent;
212
+ background-color: $btn-primary-background--hover;
213
+ background-color: var(--ids-theme-btn-primary-background--hover, $btn-primary-background--hover);
214
+ }
215
+
216
+ &:active {
217
+ border-color: transparent;
218
+ background-color: var(--ids-theme-btn-primary-background--pressed, $btn-primary-background--pressed);
219
+ }
220
+
221
+ &:disabled {
222
+ background-color: $btn-primary-background--disabled;
223
+ background-color: var(--ids-theme-btn-primary-background--disabled, $btn-primary-background--disabled);
224
+ color: $btn-primary-color--disabled;
225
+ color: var(--ids-theme-btn-primary-color--disabled, $btn-primary-color--disabled);
226
+ }
227
+ }
228
+ }
229
+
230
+ @mixin c-btn_secondary {
231
+ .c-btn_secondary {
232
+ border-color: $btn-secondary-border-color;
233
+ border-color: var(--ids-theme-btn-secondary-border-color, $btn-secondary-border-color);
234
+ box-shadow: $btn-shadow;
235
+ background-color: $btn-secondary-background;
236
+ background-color: var(--ids-theme-btn-secondary-background, $btn-secondary-background);
237
+
238
+ &,
239
+ &:link,
240
+ &:visited,
241
+ &:hover,
242
+ &:active {
243
+ color: $btn-secondary-color;
244
+ color: var(--ids-theme-btn-secondary-color, $btn-secondary-color);
245
+ }
246
+
247
+ &:hover {
248
+ border-color: transparent;
249
+ background-color: $btn-secondary-background--hover;
250
+ background-color: var(--ids-theme-btn-secondary-background--hover, $btn-secondary-background--hover);
251
+ }
252
+
253
+ &:active {
254
+ border-color: transparent;
255
+ background-color: $btn-secondary-background--pressed;
256
+ background-color: var(--ids-theme-btn-secondary-background--pressed, $btn-secondary-background--pressed);
257
+ }
258
+ }
259
+ }
260
+
261
+ @mixin c-btn_tertiary {
262
+ .c-btn_tertiary {
263
+ border-color: $btn-tertiary-border-color;
264
+ border-color: var(--ids-theme-btn-tertiary-border-color, $btn-tertiary-border-color);
265
+ box-shadow: $btn-shadow;
266
+ background-color: $btn-tertiary-background;
267
+ background-color: var(--ids-theme-btn-tertiary-background, $btn-tertiary-background);
268
+
269
+ &,
270
+ &:link,
271
+ &:visited,
272
+ &:hover,
273
+ &:active {
274
+ color: $btn-tertiary-color;
275
+ color: var(--ids-theme-btn-tertiary-color, $btn-tertiary-color);
276
+ }
277
+
278
+ &:hover {
279
+ border-color: transparent;
280
+ background-color: $btn-tertiary-background--hover;
281
+ background-color: var(--ids-theme-btn-tertiary-background--hover, $btn-tertiary-background--hover);
282
+ }
283
+
284
+ &:active {
285
+ border-color: transparent;
286
+ background-color: $btn-tertiary-background--pressed;
287
+ background-color: var(--ids-theme-btn-tertiary-background--pressed, $btn-tertiary-background--pressed);
288
+ }
289
+ }
290
+ }
291
+
292
+ @mixin c-btn_destroy {
293
+ .c-btn_destroy {
294
+ &:active,
295
+ &:hover {
296
+ border-color: $btn-destroy-border-color;
297
+ border-color: var(--ids-theme-btn-destroy-border-color, $btn-destroy-border-color);
298
+ background: $btn-destroy-background;
299
+ background: var(--ids-theme-btn-destroy-background, $btn-destroy-background);
300
+ color: $btn-destroy-color;
301
+ color: var(--ids-theme-btn-destroy-color, $btn-destroy-color);
302
+ }
303
+ }
304
+ }
305
+
306
+ @mixin c-btn_disabled {
307
+ .c-btn_disabled {
308
+ &,
309
+ &:link,
310
+ &:visited,
311
+ &:hover,
312
+ &:active {
313
+ border-color: $btn-disabled-border-color;
314
+ border-color: var(--ids-theme-btn-disabled-border-color, $btn-disabled-border-color);
315
+ box-shadow: none;
316
+ cursor: not-allowed;
317
+ background-color: $btn-disabled-background;
318
+ background-color: var(--ids-theme-btn-disabled-background, $btn-disabled-background);
319
+ color: $btn-disabled-color;
320
+ color: var(--ids-theme-btn-disabled-color, $btn-disabled-color);
321
+ }
322
+ }
323
+ }
324
+
325
+ @mixin c-btn_inactive {
326
+ .c-btn_inactive {
327
+ background: $btn-default-background;
328
+ background: var(--ids-theme-btn-default-background, $btn-default-background);
329
+ }
330
+ }
331
+
332
+ @mixin c-btn_active {
333
+ .c-btn_active {
334
+ background: $ids-theme-secondary;
335
+ background: var(--ids-theme-ids-theme-secondary, $ids-theme-secondary);
336
+ }
337
+ }
338
+
339
+ /*
340
+ Ghost buttons
341
+
342
+ Ghost buttons have see-through backgrounds and are bordered.
343
+
344
+ small - small button with small horizontal spacing and tiny vertical spacing.
345
+ large - large button with large horizontal spacing and default vertical spacing.
346
+ full - Use this modifier to force a button to fill its parent's width.
347
+ primary - primary colored button. Use to make accent to action.
348
+ secondary - secondary button.
349
+ tertiary - tertiary button.
350
+
351
+ markup:
352
+ <button class="c-btn c-btn_ghost c-btn_{$modifiers}" type="button">
353
+ Button
354
+ </button>
355
+
356
+ */
357
+
358
+ @mixin c-btn_ghost {
359
+
360
+ border: $btn-ghost-border-width solid currentColor;
361
+ padding: ($inuit-global-spacing-unit-small - $btn-ghost-border-width) ($inuit-global-spacing-unit - $btn-ghost-border-width);
362
+
363
+ &,
364
+ &:hover,
365
+ &:active,
366
+ &:focus {
367
+ background: none;
368
+ }
369
+
370
+ &.c-btn_tiny {
371
+ padding: (($inuit-global-spacing-unit-tiny - $btn-ghost-border-width) * 0.5) ($inuit-global-spacing-unit-tiny - $btn-ghost-border-width);
372
+ }
373
+
374
+ &.c-btn_small {
375
+ padding: ($inuit-global-spacing-unit-tiny - $btn-ghost-border-width - 2px) ($inuit-global-spacing-unit-small - $btn-ghost-border-width);
376
+ }
377
+
378
+ &.c-btn_large {
379
+ padding: ($inuit-global-spacing-unit - $btn-ghost-border-width) ($inuit-global-spacing-unit-large - $btn-ghost-border-width);
380
+ }
381
+
382
+ &.c-btn_primary {
383
+ color: $ids-theme-primary;
384
+ color: var(--ids-theme-ids-theme-primary, $ids-theme-primary);
385
+
386
+ &:hover,
387
+ &:focus {
388
+ box-shadow: 0 0 9px 0px $ids-theme-secondary;
389
+ box-shadow: 0 0 9px 0px var(--ids-theme-ids-theme-secondary, $ids-theme-secondary);
390
+ }
391
+ }
392
+
393
+ &.c-btn_secondary {
394
+ color: $ids-theme-secondary;
395
+ color: var(--ids-theme-ids-theme-secondary, $ids-theme-secondary);
396
+
397
+ &:hover,
398
+ &:focus {
399
+ box-shadow: 0 0 9px 0px $ids-theme-secondary;
400
+ box-shadow: 0 0 9px 0px var(--ids-theme-ids-theme-secondary, $ids-theme-secondary);
401
+ }
402
+ }
403
+
404
+ &.c-btn_tertiary {
405
+ color: $text-color;
406
+ color: var(--ids-theme-text-color, $text-color);
407
+
408
+ &:hover,
409
+ &:focus {
410
+ color: $text-color;
411
+ color: var(--ids-theme-text-color, $text-color);
412
+ }
413
+ }
414
+
415
+
416
+ }
417
+
418
+ @mixin ids-btn_ghost {
419
+ .c-btn_ghost {
420
+ @include c-btn_ghost;
421
+ }
422
+ }
423
+
424
+ /*
425
+ Size variants
426
+
427
+ small - small button with small horizontal spacing and tiny vertical spacing.
428
+ large - large button with large horizontal spacing and default vertical spacing.
429
+ full - Use this modifier to force a button to fill its parent's width.
430
+
431
+ markup:
432
+ <button type="button" class="c-btn c-btn_{$modifiers}">
433
+ Button
434
+ </button>
435
+
436
+ */
437
+ @mixin ids-btn-size-variants {
438
+ .c-btn_tiny {
439
+ padding: $inuit-global-spacing-unit-tiny $inuit-global-spacing-unit-tiny;
440
+ font-size: $font-size-sm;
441
+ }
442
+
443
+ .c-btn_small {
444
+ padding: $inuit-global-spacing-unit-tiny $inuit-global-spacing-unit-small;
445
+ font-size: $font-size-sm;
446
+
447
+ .in {
448
+ font-size: $font-size-lg;
449
+ }
450
+ }
451
+
452
+ .c-btn_input-height {
453
+ padding: 7px $inuit-global-spacing-unit-small;
454
+ font-size: $font-size-base;
455
+ }
456
+
457
+ .c-btn_large {
458
+ padding: inuit-rem($inuit-global-spacing-unit) inuit-rem($inuit-global-spacing-unit-large);
459
+ }
460
+
461
+ .c-btn_full {
462
+ display: block;
463
+ width: 100%;
464
+ padding-right: 0;
465
+ padding-left: 0;
466
+ }
467
+ }
468
+
469
+
470
+ /*
471
+ Round iconic buttons
472
+
473
+ markup:
474
+ <button class="c-btn c-btn_icon" type="button">
475
+ <span class="fa fa-user"></span>
476
+ </button>
477
+
478
+ */
479
+ @mixin c-btn_icon {
480
+ .c-btn_icon {
481
+ display: inline;
482
+ margin-right: $unit-tiny;
483
+ min-width: $inuit-global-spacing-unit-small;
484
+ border-radius: $btn-rounded-border-radius;
485
+ //padding: $inuit-global-spacing-unit-tiny $inuit-global-spacing-unit-small;
486
+ border: none;
487
+ box-shadow: none;
488
+ line-height: inherit;
489
+ -webkit-font-smoothing: antialiased;
490
+ text-decoration: none;
491
+ text-transform: none;
492
+ white-space: nowrap;
493
+ background-color: transparent;
494
+ -webkit-appearance: none;
495
+ }
496
+ }
497
+
498
+ @mixin c-btn_rounded {
499
+ .c-btn_rounded {
500
+ border-radius: $btn-rounded-border-radius;
501
+ }
502
+ }
503
+
504
+ /*
505
+ Datepicker button
506
+
507
+ For use in datepicker as datepicker button in calendar.
508
+
509
+ markup:
510
+ <button class="c-btn _c-btn_datepicker" type="button">
511
+ 24
512
+ </button>
513
+
514
+ */
515
+
516
+ @mixin ids-btn-datepicker {
517
+ .c-btn_daypicker {
518
+ padding: 8px 12px;
519
+ background-color: transparent;
520
+ margin: 0;
521
+ }
522
+
523
+ .c-btn_daypicker-current {
524
+ background: $btn-datepicker-current-background;
525
+ background: var(--ids-theme-btn-datepicker-current-background, $btn-datepicker-current-background);
526
+ color: $btn-datepicker-current-color;
527
+ color: var(--ids-theme-btn-datepicker-current-color, $btn-datepicker-current-color);
528
+ }
529
+
530
+ .c-btn_daypicker-selected {
531
+ background: $ids-theme-primary;
532
+ background: var(--ids-theme-ids-theme-primary, $ids-theme-primary);
533
+ border-radius: 100%;
534
+ color: $btn-datepicker-selected-color;
535
+ color: var(--ids-theme-btn-datepicker-selected-color, $btn-datepicker-selected-color);
536
+
537
+ // If selected date is current date
538
+ > .c-btn_daypicker-current { // todo(turchaninov): убрать зависимость компонента от утилиты
539
+ color: $btn-datepicker-selected-color-current;
540
+ color: var(--ids-theme-btn-datepicker-selected-color-current, $btn-datepicker-selected-color-current);
541
+ }
542
+
543
+ &:hover {
544
+ color: $btn-datepicker-selected-color--hover;
545
+ color: var(--ids-theme-btn-datepicker-selected-color--hover, $btn-datepicker-selected-color--hover);
546
+
547
+ > .c-btn_daypicker-selected-current {
548
+ color: $btn-datepicker-selected-color-current--hover;
549
+ color: var(--ids-theme-btn-datepicker-selected-color-current--hover, $btn-datepicker-selected-color-current--hover);
550
+ }
551
+ }
552
+ }
553
+ }
554
+
555
+
556
+ /*
557
+ Round iconic buttons
558
+
559
+ markup:
560
+ <button class="c-btn c-btn_menu-toggle" type="button">
561
+ <span class="fa fa-user"></span>
562
+ </button>
563
+
564
+ <button class="c-btn c-btn_border-free" type="button">
565
+ <span class="fa fa-user"></span>
566
+ </button>
567
+
568
+ Styleguide 6.1.1.5
569
+ */
570
+
571
+ @mixin ids-btn-round-iconic {
572
+ .c-btn_menu-toggle {
573
+ height: auto;
574
+ padding: 0 $unit-tiny !important;
575
+ border: 0;
576
+ border-radius: 0;
577
+ line-height: inherit;
578
+ box-shadow: none;
579
+ background: none;
580
+ outline: none;
581
+ color: $btn-menu-toggle;
582
+ color: var(--ids-theme-btn-menu-toggle, $btn-menu-toggle);
583
+
584
+ &,
585
+ &:link,
586
+ &:visited,
587
+ &:hover,
588
+ &:active,
589
+ &:focus {
590
+ box-shadow: none;
591
+ background: none;
592
+ outline: none;
593
+ }
594
+ }
595
+
596
+ .c-btn_border-free {
597
+ display: inline-flex;
598
+ align-items: center;
599
+ @include c-btn_ghost;
600
+
601
+ border: none;
602
+ }
603
+ }
604
+
605
+ @mixin c-btn_svg-24 {
606
+ .c-btn_svg-24 {
607
+ padding: 4px 6px;
608
+ font-size: 0;
609
+ }
610
+ }
611
+
612
+ @mixin ids-btn-floating {
613
+ .c-btn_floating-bottom-left {
614
+ position: absolute;
615
+ bottom: 50px;
616
+ right: 120px;
617
+ width: 60px;
618
+ height: 60px;
619
+ z-index: $zindex-1;
620
+ }
621
+
622
+ .c-btn_floating-bottom-right {
623
+ position: absolute;
624
+ bottom: 50px;
625
+ right: 50px;
626
+ width: 60px;
627
+ height: 60px;
628
+ z-index: $zindex-1;
629
+ }
630
+ }
631
+
632
+
633
+ /*
634
+ Inline buttons
635
+
636
+ markup:
637
+ <button class="c-btn c-btn_inline" type="button">
638
+ <span class="fa fa-user"></span>
639
+ </button>
640
+ <button class="c-btn c-btn_inline" type="button">
641
+ <span class="fa fa-calendar"></span>
642
+ </button>
643
+
644
+ */
645
+
646
+ @mixin ids-btn-inline($sibling-selector: ".c-btn_inline") {
647
+ .c-btn_inline {
648
+ margin-bottom: 0;
649
+
650
+ + #{$sibling-selector} {
651
+ margin-left: 0.2rem; // Account for 4px inline margin
652
+ }
653
+ }
654
+ }
655
+
656
+ /*
657
+ Grouped buttons
658
+
659
+ For use in Button group components
660
+
661
+ markup:
662
+ <button class="c-btn _c-btn_grouped" type="button">
663
+ <span class="fa fa-user"></span>
664
+ </button>
665
+
666
+ */
667
+
668
+ @mixin c-btn_grouped {
669
+ margin-right: 0;
670
+ margin-bottom: 0;
671
+ border-left-width: 0;
672
+ border-radius: 0;
673
+ border-right: 1px solid $btn-grouped-border-color;
674
+ border-right: 1px solid var(--ids-theme-btn-grouped-border-color, $btn-grouped-border-color);
675
+
676
+ &:first-child {
677
+ border-left-width: 1px;
678
+ border-top-left-radius: $btn-border-radius;
679
+ border-bottom-left-radius: $btn-border-radius;
680
+ }
681
+
682
+ &:last-child:not(.c-dropdown-menu),
683
+ .c-dropdown__toggle {
684
+ border-top-right-radius: $btn-border-radius;
685
+ border-bottom-right-radius: $btn-border-radius;
686
+ border-right-color: transparent;
687
+ }
688
+ }
689
+
690
+ @mixin ids-btn-grouped {
691
+ ._c-btn_grouped {
692
+ @include c-btn_grouped;
693
+ }
694
+ }
695
+
696
+ /*
697
+ Underlined buttons
698
+
699
+ For use in Tabs as tab labels. To prevent jumping use c-btn_underlined-transparent
700
+
701
+ markup:
702
+ <button class="c-btn c-btn_underlined" type="button">
703
+ <span class="fa fa-user"></span>
704
+ </button>
705
+
706
+ Styleguide 6.1.1.9
707
+ */
708
+
709
+ @mixin ids-btn-underlined {
710
+ .c-btn_underlined-transparent {
711
+ margin-right: 0;
712
+ margin-bottom: 0;
713
+ border-left-width: 0;
714
+ border-radius: 0;
715
+ border-bottom: 1px solid transparent;
716
+ }
717
+
718
+ .c-btn_underlined-primary {
719
+ margin-right: 0;
720
+ margin-bottom: 0;
721
+ border-left-width: 0;
722
+ border-radius: 0;
723
+ border-bottom: 1px solid $ids-theme-primary;
724
+ border-bottom: 1px solid var(--ids-theme-primary, $ids-theme-primary);
725
+ }
726
+ }
727
+
728
+
729
+ @mixin ids-btn-map-filter {
730
+ .c-btn_map-filter {
731
+ position: absolute;
732
+ height: 50px;
733
+ width: 50px;
734
+ right: 40px;
735
+ top: 40px;
736
+ padding: 0;
737
+ border-radius: 50%;
738
+ z-index: $zindex-footer;
739
+ @include ids-box-shadow-core-styles;
740
+ }
741
+
742
+ .c-btn_map-filter2 {
743
+ position: absolute;
744
+ height: 50px;
745
+ width: 50px;
746
+ right: 100px;
747
+ top: 40px;
748
+ padding: 0;
749
+ border-radius: 50%;
750
+ z-index: $zindex-dropdown - 1;
751
+ }
752
+ }
753
+
754
+ @mixin ids-button-core-styles {
755
+ @include c-btn;
756
+ @include c-btn_bare;
757
+ @include _c-btn_link-reset;
758
+ @include c-btn_link;
759
+ @include c-btn_link-disabled;
760
+ @include c-btn_primary;
761
+ @include c-btn_secondary;
762
+ @include c-btn_tertiary;
763
+ @include c-btn_destroy;
764
+ @include c-btn_disabled;
765
+ @include c-btn_inactive;
766
+ @include c-btn_active;
767
+ @include ids-btn_ghost;
768
+ @include ids-btn-size-variants;
769
+ @include c-btn_icon;
770
+ @include c-btn_rounded;
771
+ @include ids-btn-datepicker;
772
+ @include ids-btn-round-iconic;
773
+ @include c-btn_svg-24;
774
+ @include ids-btn-floating;
775
+ @include ids-btn-inline;
776
+ @include ids-btn-grouped;
777
+ @include ids-btn-underlined;
778
+ @include ids-btn-map-filter;
779
+ }