@lumx/core 3.1.0 → 3.1.2

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 (290) hide show
  1. package/{dist/CONTRIBUTING.md → CONTRIBUTING.md} +0 -0
  2. package/{dist/LICENSE.md → LICENSE.md} +0 -0
  3. package/{dist/css → css}/_retro-compat-v2.css +0 -0
  4. package/{dist/css → css}/design-tokens.css +0 -0
  5. package/{dist/css → css}/material.css +0 -0
  6. package/{dist/js → js}/constants/design-tokens.js +0 -0
  7. package/{dist/js → js}/constants/design-tokens.min.js +0 -0
  8. package/{dist/js → js}/constants/design-tokens.min.js.map +0 -0
  9. package/{dist/js → js}/constants/design-tokens.ts +0 -0
  10. package/{dist/js → js}/constants/index.js +0 -0
  11. package/{dist/js → js}/constants/index.min.js +0 -0
  12. package/{dist/js → js}/constants/index.min.js.map +0 -0
  13. package/{dist/js → js}/constants/index.ts +0 -0
  14. package/{dist/js → js}/constants/keycodes.js +0 -0
  15. package/{dist/js → js}/constants/keycodes.min.js +0 -0
  16. package/{dist/js → js}/constants/keycodes.min.js.map +0 -0
  17. package/{dist/js → js}/constants/keycodes.ts +0 -0
  18. package/{dist/js → js}/custom-colors.js +0 -0
  19. package/{dist/js → js}/custom-colors.min.js +0 -0
  20. package/js/custom-colors.min.js.map +1 -0
  21. package/{dist/js → js}/custom-colors.ts +0 -0
  22. package/{dist/js → js}/date-picker.js +0 -0
  23. package/{dist/js → js}/date-picker.min.js +0 -0
  24. package/js/date-picker.min.js.map +1 -0
  25. package/{dist/js → js}/date-picker.ts +0 -0
  26. package/{dist/js → js}/utils.js +0 -0
  27. package/{dist/js → js}/utils.min.js +0 -0
  28. package/js/utils.min.js.map +1 -0
  29. package/{dist/js → js}/utils.ts +0 -0
  30. package/{dist/lumx.css → lumx.css} +1 -1
  31. package/{dist/lumx.min.css → lumx.min.css} +1 -1
  32. package/package.json +1 -1
  33. package/{dist/scss → scss}/_components.scss +0 -0
  34. package/{dist/scss → scss}/_core.scss +0 -0
  35. package/{dist/scss → scss}/_design-tokens.scss +0 -0
  36. package/{dist/scss → scss}/_retro-compat-v2.scss +0 -0
  37. package/{dist/scss → scss}/components/avatar/_index.scss +0 -0
  38. package/{dist/scss → scss}/components/badge/_index.scss +0 -0
  39. package/{dist/scss → scss}/components/button/_index.scss +0 -0
  40. package/{dist/scss → scss}/components/button/_mixins.scss +0 -0
  41. package/{dist/scss → scss}/components/button/_variables.scss +0 -0
  42. package/{dist/scss → scss}/components/checkbox/_index.scss +0 -0
  43. package/{dist/scss → scss}/components/checkbox/_mixins.scss +0 -0
  44. package/{dist/scss → scss}/components/chip/_index.scss +0 -0
  45. package/{dist/scss → scss}/components/chip/_mixins.scss +0 -0
  46. package/{dist/scss → scss}/components/chip/_variables.scss +0 -0
  47. package/{dist/scss → scss}/components/comment-block/_index.scss +0 -0
  48. package/{dist/scss → scss}/components/date-picker/_index.scss +0 -0
  49. package/{dist/scss → scss}/components/dialog/_index.scss +0 -0
  50. package/{dist/scss → scss}/components/dialog/_variables.scss +0 -0
  51. package/{dist/scss → scss}/components/divider/_index.scss +0 -0
  52. package/{dist/scss → scss}/components/divider/_mixins.scss +0 -0
  53. package/{dist/scss → scss}/components/divider/_variables.scss +0 -0
  54. package/{dist/scss → scss}/components/drag-handle/_index.scss +0 -0
  55. package/{dist/scss → scss}/components/dropdown/_index.scss +0 -0
  56. package/{dist/scss → scss}/components/expansion-panel/_index.scss +0 -0
  57. package/{dist/scss → scss}/components/expansion-panel/_variables.scss +0 -0
  58. package/{dist/scss → scss}/components/flag/_index.scss +0 -0
  59. package/{dist/scss → scss}/components/flex-box/_index.scss +0 -0
  60. package/{dist/scss → scss}/components/generic-block/_index.scss +0 -0
  61. package/{dist/scss → scss}/components/grid/_index.scss +0 -0
  62. package/{dist/scss → scss}/components/grid-column/_index.scss +0 -0
  63. package/{dist/scss → scss}/components/icon/_index.scss +0 -0
  64. package/{dist/scss → scss}/components/icon/_mixins.scss +0 -0
  65. package/{dist/scss → scss}/components/icon/_variables.scss +0 -0
  66. package/{dist/scss → scss}/components/image-block/_index.scss +0 -0
  67. package/{dist/scss → scss}/components/inline-list/_index.scss +0 -0
  68. package/{dist/scss → scss}/components/input-helper/_index.scss +0 -0
  69. package/{dist/scss → scss}/components/input-helper/_mixins.scss +0 -0
  70. package/{dist/scss → scss}/components/input-helper/_variables.scss +0 -0
  71. package/{dist/scss → scss}/components/input-label/_index.scss +0 -0
  72. package/{dist/scss → scss}/components/input-label/_mixins.scss +0 -0
  73. package/{dist/scss → scss}/components/lightbox/_index.scss +0 -0
  74. package/{dist/scss → scss}/components/lightbox/_variables.scss +0 -0
  75. package/{dist/scss → scss}/components/link/_index.scss +0 -0
  76. package/{dist/scss → scss}/components/link/_mixins.scss +0 -0
  77. package/{dist/scss → scss}/components/link-preview/_index.scss +0 -0
  78. package/{dist/scss → scss}/components/list/_index.scss +0 -0
  79. package/{dist/scss → scss}/components/list/_mixins.scss +0 -0
  80. package/{dist/scss → scss}/components/list/_variables.scss +0 -0
  81. package/{dist/scss → scss}/components/message/_index.scss +0 -0
  82. package/{dist/scss → scss}/components/mosaic/_index.scss +0 -0
  83. package/{dist/scss → scss}/components/notification/_index.scss +0 -0
  84. package/{dist/scss → scss}/components/notification/_variables.scss +0 -0
  85. package/{dist/scss → scss}/components/notification-block/_index.scss +0 -0
  86. package/{dist/scss → scss}/components/popover/_index.scss +0 -0
  87. package/{dist/scss → scss}/components/popover/_variables.scss +0 -0
  88. package/{dist/scss → scss}/components/post-block/_index.scss +0 -0
  89. package/{dist/scss → scss}/components/progress/_index.scss +0 -0
  90. package/{dist/scss → scss}/components/progress/_variables.scss +0 -0
  91. package/{dist/scss → scss}/components/progress-tracker/_index.scss +0 -0
  92. package/{dist/scss → scss}/components/progress-tracker/_variables.scss +0 -0
  93. package/{dist/scss → scss}/components/radio-button/_index.scss +0 -0
  94. package/{dist/scss → scss}/components/radio-button/_mixins.scss +0 -0
  95. package/{dist/scss → scss}/components/select/_index.scss +0 -0
  96. package/{dist/scss → scss}/components/select/_mixins.scss +0 -0
  97. package/{dist/scss → scss}/components/side-navigation/_index.scss +0 -0
  98. package/{dist/scss → scss}/components/side-navigation/_mixins.scss +0 -0
  99. package/{dist/scss → scss}/components/skeleton/_index.scss +0 -0
  100. package/{dist/scss → scss}/components/skeleton/_mixins.scss +0 -0
  101. package/{dist/scss → scss}/components/slider/_index.scss +0 -0
  102. package/{dist/scss → scss}/components/slideshow/_index.scss +0 -0
  103. package/{dist/scss → scss}/components/slideshow/_variables.scss +0 -0
  104. package/{dist/scss → scss}/components/switch/_index.scss +0 -0
  105. package/{dist/scss → scss}/components/switch/_mixins.scss +0 -0
  106. package/{dist/scss → scss}/components/table/_index.scss +0 -0
  107. package/{dist/scss → scss}/components/table/_mixins.scss +0 -0
  108. package/{src/scss → scss}/components/tabs/_index.scss +5 -1
  109. package/{dist/scss → scss}/components/tabs/_mixins.scss +0 -0
  110. package/{dist/scss → scss}/components/text/_index.scss +0 -0
  111. package/{dist/scss → scss}/components/text-field/_index.scss +0 -0
  112. package/{dist/scss → scss}/components/text-field/_mixins.scss +0 -0
  113. package/{dist/scss → scss}/components/text-field/_variables.scss +0 -0
  114. package/{dist/scss → scss}/components/thumbnail/_index.scss +0 -0
  115. package/{dist/scss → scss}/components/thumbnail/_variables.scss +0 -0
  116. package/{dist/scss → scss}/components/toolbar/_index.scss +0 -0
  117. package/{dist/scss → scss}/components/toolbar/_variables.scss +0 -0
  118. package/{dist/scss → scss}/components/tooltip/_index.scss +0 -0
  119. package/{dist/scss → scss}/components/tooltip/_variables.scss +0 -0
  120. package/{dist/scss → scss}/components/uploader/_index.scss +0 -0
  121. package/{dist/scss → scss}/components/user-block/_index.scss +0 -0
  122. package/{dist/scss → scss}/core/base/_functions.scss +0 -0
  123. package/{dist/scss → scss}/core/base/_helpers.scss +0 -0
  124. package/{dist/scss → scss}/core/base/_index.scss +0 -0
  125. package/{dist/scss → scss}/core/base/_normalize.scss +0 -0
  126. package/{dist/scss → scss}/core/base/_variables.scss +0 -0
  127. package/{dist/scss → scss}/core/color/_functions.scss +0 -0
  128. package/{dist/scss → scss}/core/color/_index.scss +0 -0
  129. package/{dist/scss → scss}/core/color/_variables.scss +0 -0
  130. package/{dist/scss → scss}/core/elevation/_mixins.scss +0 -0
  131. package/{dist/scss → scss}/core/elevation/_variables.scss +0 -0
  132. package/{dist/scss → scss}/core/size/_variables.scss +0 -0
  133. package/{dist/scss → scss}/core/spacing/_index.scss +0 -0
  134. package/{dist/scss → scss}/core/spacing/_variables.scss +0 -0
  135. package/{dist/scss → scss}/core/state/_mixins.scss +0 -0
  136. package/{dist/scss → scss}/core/state/_variables.scss +0 -0
  137. package/{dist/scss → scss}/core/typography/_index.scss +0 -0
  138. package/{dist/scss → scss}/core/typography/_mixins.scss +0 -0
  139. package/{dist/scss → scss}/core/typography/_variables.scss +0 -0
  140. package/{dist/scss → scss}/lumx.scss +0 -0
  141. package/dist/js/custom-colors.min.js.map +0 -1
  142. package/dist/js/date-picker.min.js.map +0 -1
  143. package/dist/js/utils.min.js.map +0 -1
  144. package/dist/package.json +0 -81
  145. package/dist/scss/components/tabs/_index.scss +0 -111
  146. package/src/css/_retro-compat-v2.css +0 -117
  147. package/src/css/design-tokens.css +0 -544
  148. package/src/css/material.css +0 -62
  149. package/src/js/constants/design-tokens.ts +0 -2157
  150. package/src/js/constants/index.ts +0 -35
  151. package/src/js/constants/keycodes.ts +0 -44
  152. package/src/js/custom-colors.ts +0 -56
  153. package/src/js/date-picker.ts +0 -71
  154. package/src/js/utils.ts +0 -296
  155. package/src/scss/_components.scss +0 -35
  156. package/src/scss/_core.scss +0 -12
  157. package/src/scss/_design-tokens.scss +0 -1667
  158. package/src/scss/_retro-compat-v2.scss +0 -95
  159. package/src/scss/components/avatar/_index.scss +0 -42
  160. package/src/scss/components/badge/_index.scss +0 -47
  161. package/src/scss/components/button/_index.scss +0 -166
  162. package/src/scss/components/button/_mixins.scss +0 -271
  163. package/src/scss/components/button/_variables.scss +0 -6
  164. package/src/scss/components/checkbox/_index.scss +0 -231
  165. package/src/scss/components/checkbox/_mixins.scss +0 -69
  166. package/src/scss/components/chip/_index.scss +0 -156
  167. package/src/scss/components/chip/_mixins.scss +0 -37
  168. package/src/scss/components/chip/_variables.scss +0 -1
  169. package/src/scss/components/comment-block/_index.scss +0 -170
  170. package/src/scss/components/date-picker/_index.scss +0 -67
  171. package/src/scss/components/dialog/_index.scss +0 -169
  172. package/src/scss/components/dialog/_variables.scss +0 -8
  173. package/src/scss/components/divider/_index.scss +0 -39
  174. package/src/scss/components/divider/_mixins.scss +0 -60
  175. package/src/scss/components/divider/_variables.scss +0 -7
  176. package/src/scss/components/drag-handle/_index.scss +0 -7
  177. package/src/scss/components/dropdown/_index.scss +0 -22
  178. package/src/scss/components/expansion-panel/_index.scss +0 -80
  179. package/src/scss/components/expansion-panel/_variables.scss +0 -2
  180. package/src/scss/components/flag/_index.scss +0 -41
  181. package/src/scss/components/flex-box/_index.scss +0 -132
  182. package/src/scss/components/generic-block/_index.scss +0 -11
  183. package/src/scss/components/grid/_index.scss +0 -147
  184. package/src/scss/components/grid-column/_index.scss +0 -18
  185. package/src/scss/components/icon/_index.scss +0 -106
  186. package/src/scss/components/icon/_mixins.scss +0 -42
  187. package/src/scss/components/icon/_variables.scss +0 -6
  188. package/src/scss/components/image-block/_index.scss +0 -108
  189. package/src/scss/components/inline-list/_index.scss +0 -15
  190. package/src/scss/components/input-helper/_index.scss +0 -27
  191. package/src/scss/components/input-helper/_mixins.scss +0 -12
  192. package/src/scss/components/input-helper/_variables.scss +0 -1
  193. package/src/scss/components/input-label/_index.scss +0 -23
  194. package/src/scss/components/input-label/_mixins.scss +0 -12
  195. package/src/scss/components/lightbox/_index.scss +0 -59
  196. package/src/scss/components/lightbox/_variables.scss +0 -1
  197. package/src/scss/components/link/_index.scss +0 -35
  198. package/src/scss/components/link/_mixins.scss +0 -25
  199. package/src/scss/components/link-preview/_index.scss +0 -95
  200. package/src/scss/components/list/_index.scss +0 -96
  201. package/src/scss/components/list/_mixins.scss +0 -128
  202. package/src/scss/components/list/_variables.scss +0 -7
  203. package/src/scss/components/message/_index.scss +0 -36
  204. package/src/scss/components/mosaic/_index.scss +0 -120
  205. package/src/scss/components/notification/_index.scss +0 -78
  206. package/src/scss/components/notification/_variables.scss +0 -3
  207. package/src/scss/components/notification-block/_index.scss +0 -42
  208. package/src/scss/components/popover/_index.scss +0 -64
  209. package/src/scss/components/popover/_variables.scss +0 -1
  210. package/src/scss/components/post-block/_index.scss +0 -101
  211. package/src/scss/components/progress/_index.scss +0 -190
  212. package/src/scss/components/progress/_variables.scss +0 -12
  213. package/src/scss/components/progress-tracker/_index.scss +0 -131
  214. package/src/scss/components/progress-tracker/_variables.scss +0 -2
  215. package/src/scss/components/radio-button/_index.scss +0 -180
  216. package/src/scss/components/radio-button/_mixins.scss +0 -82
  217. package/src/scss/components/select/_index.scss +0 -295
  218. package/src/scss/components/select/_mixins.scss +0 -36
  219. package/src/scss/components/side-navigation/_index.scss +0 -69
  220. package/src/scss/components/side-navigation/_mixins.scss +0 -61
  221. package/src/scss/components/skeleton/_index.scss +0 -143
  222. package/src/scss/components/skeleton/_mixins.scss +0 -9
  223. package/src/scss/components/slider/_index.scss +0 -209
  224. package/src/scss/components/slideshow/_index.scss +0 -171
  225. package/src/scss/components/slideshow/_variables.scss +0 -1
  226. package/src/scss/components/switch/_index.scss +0 -257
  227. package/src/scss/components/switch/_mixins.scss +0 -77
  228. package/src/scss/components/table/_index.scss +0 -138
  229. package/src/scss/components/table/_mixins.scss +0 -115
  230. package/src/scss/components/tabs/_mixins.scss +0 -104
  231. package/src/scss/components/text/_index.scss +0 -29
  232. package/src/scss/components/text-field/_index.scss +0 -323
  233. package/src/scss/components/text-field/_mixins.scss +0 -149
  234. package/src/scss/components/text-field/_variables.scss +0 -2
  235. package/src/scss/components/thumbnail/_index.scss +0 -227
  236. package/src/scss/components/thumbnail/_variables.scss +0 -6
  237. package/src/scss/components/toolbar/_index.scss +0 -38
  238. package/src/scss/components/toolbar/_variables.scss +0 -1
  239. package/src/scss/components/tooltip/_index.scss +0 -91
  240. package/src/scss/components/tooltip/_variables.scss +0 -4
  241. package/src/scss/components/uploader/_index.scss +0 -115
  242. package/src/scss/components/user-block/_index.scss +0 -106
  243. package/src/scss/core/base/_functions.scss +0 -3
  244. package/src/scss/core/base/_helpers.scss +0 -21
  245. package/src/scss/core/base/_index.scss +0 -54
  246. package/src/scss/core/base/_normalize.scss +0 -353
  247. package/src/scss/core/base/_variables.scss +0 -39
  248. package/src/scss/core/color/_functions.scss +0 -7
  249. package/src/scss/core/color/_index.scss +0 -15
  250. package/src/scss/core/color/_variables.scss +0 -4
  251. package/src/scss/core/elevation/_mixins.scss +0 -10
  252. package/src/scss/core/elevation/_variables.scss +0 -7
  253. package/src/scss/core/size/_variables.scss +0 -3
  254. package/src/scss/core/spacing/_index.scss +0 -15
  255. package/src/scss/core/spacing/_variables.scss +0 -22
  256. package/src/scss/core/state/_mixins.scss +0 -127
  257. package/src/scss/core/state/_variables.scss +0 -1
  258. package/src/scss/core/typography/_index.scss +0 -16
  259. package/src/scss/core/typography/_mixins.scss +0 -25
  260. package/src/scss/core/typography/_variables.scss +0 -6
  261. package/src/scss/lumx.scss +0 -69
  262. package/style-dictionary/.eslintignore +0 -1
  263. package/style-dictionary/README.md +0 -19
  264. package/style-dictionary/config/_run.js +0 -12
  265. package/style-dictionary/config/_transform-group.js +0 -16
  266. package/style-dictionary/config/gen-css-variables.js +0 -25
  267. package/style-dictionary/config/gen-scss-variables.js +0 -65
  268. package/style-dictionary/config/gen-ts-variables.js +0 -52
  269. package/style-dictionary/config/utils/_color-attributes.js +0 -24
  270. package/style-dictionary/config/utils/_color-rgba-value.js +0 -22
  271. package/style-dictionary/config/utils/_css-prefer-variable.js +0 -24
  272. package/style-dictionary/config/utils/_genHeader.js +0 -3
  273. package/style-dictionary/config/utils/_lumx-variables.js +0 -12
  274. package/style-dictionary/config/utils/_pickFieldsInTree.js +0 -22
  275. package/style-dictionary/config/utils/_prettier-scss.js +0 -13
  276. package/style-dictionary/config/utils/_prettier-ts.js +0 -13
  277. package/style-dictionary/config/utils/_resolve-structure-alias.js +0 -76
  278. package/style-dictionary/index.js +0 -11
  279. package/style-dictionary/properties/components/button.json +0 -206
  280. package/style-dictionary/properties/components/material.json +0 -64
  281. package/style-dictionary/properties/components/navigation.json +0 -207
  282. package/style-dictionary/properties/components/tabs.json +0 -168
  283. package/style-dictionary/properties/components/text-field.json +0 -167
  284. package/style-dictionary/properties/core/border-radius.json +0 -3
  285. package/style-dictionary/properties/core/color.json +0 -421
  286. package/style-dictionary/properties/core/size.json +0 -11
  287. package/style-dictionary/properties/core/spacing.json +0 -11
  288. package/style-dictionary/properties/core/typography.json +0 -127
  289. package/tsconfig.json +0 -3
  290. package/webpack.config.js +0 -202
@@ -1,323 +0,0 @@
1
- @use "sass:math";
2
-
3
- /* ==========================================================================
4
- Text field
5
- ========================================================================== */
6
-
7
- .#{$lumx-base-prefix}-text-field {
8
- $self: &;
9
-
10
- --lumx-text-field-wrapper-padding-vertical:
11
- calc(
12
- (var(--lumx-text-field-input-min-height) - var(--lumx-material-text-field-input-content-line-height)) / 2
13
- );
14
-
15
- padding-top: var(--lumx-material-text-field-padding-top);
16
- padding-bottom: var(--lumx-material-text-field-padding-bottom);
17
-
18
- &__header {
19
- display: flex;
20
- align-items: center;
21
- margin-bottom: var(--lumx-material-text-field-header-wrapper-margin-bottom);
22
- }
23
-
24
- &__label {
25
- @include lumx-text-field-label;
26
-
27
- flex: 1 1 auto;
28
-
29
- #{$self}--theme-light & {
30
- @include lumx-text-field-label-color(
31
- lumx-base-const("state", "DEFAULT"),
32
- lumx-base-const("theme", "LIGHT")
33
- );
34
- }
35
-
36
- #{$self}--theme-dark & {
37
- @include lumx-text-field-label-color(lumx-base-const("state", "DEFAULT"), lumx-base-const("theme", "DARK"));
38
- }
39
- }
40
-
41
- &__char-counter {
42
- display: flex;
43
- flex-shrink: 0;
44
- align-items: center;
45
- margin-left: auto;
46
-
47
- span {
48
- font-size: var(--lumx-material-text-field-header-label-font-size);
49
- font-weight: var(--lumx-material-text-field-header-label-font-weight);
50
- line-height: var(--lumx-material-text-field-header-label-line-height);
51
-
52
- #{$self}--theme-light & {
53
- color: lumx-color-variant("dark", "L2");
54
- }
55
-
56
- #{$self}--theme-dark & {
57
- color: lumx-color-variant("light", "L2");
58
- }
59
- }
60
-
61
- i {
62
- margin-left: math.div($lumx-spacing-unit, 2);
63
-
64
- #{$self}--theme-light & {
65
- color: lumx-color-variant("red", "N");
66
- }
67
-
68
- #{$self}--theme-dark & {
69
- color: lumx-color-variant("light", "N");
70
- }
71
- }
72
- }
73
-
74
- &__wrapper {
75
- #{$self}--theme-light & {
76
- @include lumx-text-field-wrapper(lumx-base-const("theme", "LIGHT"));
77
- }
78
-
79
- #{$self}--theme-dark & {
80
- @include lumx-text-field-wrapper(lumx-base-const("theme", "DARK"));
81
- }
82
- }
83
-
84
- &__input-icon {
85
- #{$self}--theme-light & {
86
- @include lumx-text-field-input-icon(lumx-base-const("theme", "LIGHT"));
87
- @include lumx-text-field-input-content-color(
88
- lumx-base-const("state", "DEFAULT"),
89
- lumx-base-const("theme", "LIGHT")
90
- );
91
- }
92
-
93
- #{$self}--theme-dark & {
94
- @include lumx-text-field-input-icon(lumx-base-const("theme", "DARK"));
95
- @include lumx-text-field-input-content-color(
96
- lumx-base-const("state", "DEFAULT"),
97
- lumx-base-const("theme", "DARK")
98
- );
99
- }
100
- }
101
-
102
- &__input-wrapper {
103
- @include lumx-text-field-input-wrapper;
104
- }
105
-
106
- &__input-native {
107
- #{$self}--theme-light & {
108
- @include lumx-text-field-input-native(lumx-base-const("theme", "LIGHT"));
109
- @include lumx-text-field-input-content-color(
110
- lumx-base-const("state", "DEFAULT"),
111
- lumx-base-const("theme", "LIGHT")
112
- );
113
-
114
- &::placeholder {
115
- @include lumx-text-field-input-placeholder-color(
116
- lumx-base-const("state", "DEFAULT"),
117
- lumx-base-const("theme", "LIGHT")
118
- );
119
- }
120
- }
121
-
122
- #{$self}--theme-dark & {
123
- @include lumx-text-field-input-native(lumx-base-const("theme", "DARK"));
124
- @include lumx-text-field-input-content-color(
125
- lumx-base-const("state", "DEFAULT"),
126
- lumx-base-const("theme", "DARK")
127
- );
128
-
129
- &::placeholder {
130
- @include lumx-text-field-input-placeholder-color(
131
- lumx-base-const("state", "DEFAULT"),
132
- lumx-base-const("theme", "DARK")
133
- );
134
- }
135
- }
136
-
137
- #{$self}--has-chips & {
138
- flex: 1 1 auto;
139
- width: auto;
140
- min-width: $lumx-text-field-min-width;
141
- margin: $lumx-chip-group-spacing 0;
142
- line-height: var(--lumx-material-chip-size-s-height);
143
- }
144
-
145
- &--textarea {
146
- resize: none;
147
- }
148
- }
149
-
150
- &__input-clear,
151
- &__after-element {
152
- @include lumx-text-field-input-clear;
153
- }
154
-
155
- &__chips {
156
- @include lumx-text-field-chips;
157
- }
158
-
159
- &__helper {
160
- margin-top: $lumx-spacing-unit;
161
- }
162
- }
163
-
164
- /* Text field states
165
- ========================================================================== */
166
-
167
- // Disabled state
168
- .#{$lumx-base-prefix}-text-field--is-disabled {
169
- .#{$lumx-base-prefix}-text-field__wrapper {
170
- @include lumx-state-disabled-input;
171
- }
172
-
173
- &.#{$lumx-base-prefix}-text-field--theme-light {
174
- .#{$lumx-base-prefix}-text-field__label,
175
- .#{$lumx-base-prefix}-text-field__helper {
176
- @include lumx-state-disabled-text(lumx-base-const("theme", "LIGHT"));
177
- }
178
- }
179
-
180
- &.#{$lumx-base-prefix}-text-field--theme-dark {
181
- .#{$lumx-base-prefix}-text-field__label,
182
- .#{$lumx-base-prefix}-text-field__helper {
183
- @include lumx-state-disabled-text(lumx-base-const("theme", "DARK"));
184
- }
185
- }
186
- }
187
-
188
- // Hover state
189
- .#{$lumx-base-prefix}-text-field--theme-light {
190
- .#{$lumx-base-prefix}-text-field__wrapper:hover {
191
- @include lumx-text-field-wrapper-state(lumx-base-const("state", "HOVER"), lumx-base-const("theme", "LIGHT"));
192
- }
193
-
194
- .#{$lumx-base-prefix}-text-field__input-icon,
195
- .#{$lumx-base-prefix}-text-field__input-native {
196
- @include lumx-text-field-input-content-color(
197
- lumx-base-const("state", "HOVER"),
198
- lumx-base-const("theme", "LIGHT")
199
- );
200
- }
201
-
202
- .#{$lumx-base-prefix}-text-field__input-native::placeholder {
203
- @include lumx-text-field-input-placeholder-color(
204
- lumx-base-const("state", "HOVER"),
205
- lumx-base-const("theme", "LIGHT")
206
- );
207
- }
208
- }
209
-
210
- .#{$lumx-base-prefix}-text-field--theme-dark {
211
- .#{$lumx-base-prefix}-text-field__wrapper:hover {
212
- @include lumx-text-field-wrapper-state(lumx-base-const("state", "HOVER"), lumx-base-const("theme", "DARK"));
213
- }
214
-
215
- .#{$lumx-base-prefix}-text-field__input-icon,
216
- .#{$lumx-base-prefix}-text-field__input-native {
217
- @include lumx-text-field-input-content-color(
218
- lumx-base-const("state", "HOVER"),
219
- lumx-base-const("theme", "DARK")
220
- );
221
- }
222
-
223
- .#{$lumx-base-prefix}-text-field__input-native::placeholder {
224
- @include lumx-text-field-input-placeholder-color(
225
- lumx-base-const("state", "HOVER"),
226
- lumx-base-const("theme", "DARK")
227
- );
228
- }
229
- }
230
-
231
- // Focus state
232
- .#{$lumx-base-prefix}-text-field--theme-light.#{$lumx-base-prefix}-text-field--is-focus {
233
- .#{$lumx-base-prefix}-text-field__label {
234
- @include lumx-text-field-label-color(lumx-base-const("state", "FOCUS"), lumx-base-const("theme", "LIGHT"));
235
- }
236
-
237
- .#{$lumx-base-prefix}-text-field__wrapper {
238
- @include lumx-text-field-wrapper-state(lumx-base-const("state", "FOCUS"), lumx-base-const("theme", "LIGHT"));
239
- }
240
-
241
- .#{$lumx-base-prefix}-text-field__input-icon,
242
- .#{$lumx-base-prefix}-text-field__input-native {
243
- @include lumx-text-field-input-content-color(
244
- lumx-base-const("state", "FOCUS"),
245
- lumx-base-const("theme", "LIGHT")
246
- );
247
- }
248
-
249
- .#{$lumx-base-prefix}-text-field__input-native::placeholder {
250
- @include lumx-text-field-input-placeholder-color(
251
- lumx-base-const("state", "FOCUS"),
252
- lumx-base-const("theme", "LIGHT")
253
- );
254
- }
255
- }
256
-
257
- .#{$lumx-base-prefix}-text-field--theme-dark.#{$lumx-base-prefix}-text-field--is-focus {
258
- .#{$lumx-base-prefix}-text-field__label {
259
- @include lumx-text-field-label-color(lumx-base-const("state", "FOCUS"), lumx-base-const("theme", "DARK"));
260
- }
261
-
262
- .#{$lumx-base-prefix}-text-field__wrapper {
263
- @include lumx-text-field-wrapper-state(lumx-base-const("state", "FOCUS"), lumx-base-const("theme", "DARK"));
264
- }
265
-
266
- .#{$lumx-base-prefix}-text-field__input-icon,
267
- .#{$lumx-base-prefix}-text-field__input-native {
268
- @include lumx-text-field-input-content-color(
269
- lumx-base-const("state", "FOCUS"),
270
- lumx-base-const("theme", "DARK")
271
- );
272
- }
273
-
274
- .#{$lumx-base-prefix}-text-field__input-native::placeholder {
275
- @include lumx-text-field-input-placeholder-color(
276
- lumx-base-const("state", "FOCUS"),
277
- lumx-base-const("theme", "DARK")
278
- );
279
- }
280
- }
281
-
282
- /* Text field validity
283
- ========================================================================== */
284
-
285
- .#{$lumx-base-prefix}-text-field--theme-light.#{$lumx-base-prefix}-text-field--is-valid {
286
- .#{$lumx-base-prefix}-text-field__wrapper {
287
- @include lumx-text-field-wrapper-validity("valid", lumx-base-const("theme", "LIGHT"));
288
- }
289
-
290
- .#{$lumx-base-prefix}-text-field__input-validity {
291
- @include lumx-text-field-input-validity("valid", lumx-base-const("theme", "LIGHT"));
292
- }
293
- }
294
-
295
- .#{$lumx-base-prefix}-text-field--theme-light.#{$lumx-base-prefix}-text-field--has-error {
296
- .#{$lumx-base-prefix}-text-field__wrapper {
297
- @include lumx-text-field-wrapper-validity("error", lumx-base-const("theme", "LIGHT"));
298
- }
299
-
300
- .#{$lumx-base-prefix}-text-field__input-validity {
301
- @include lumx-text-field-input-validity("error", lumx-base-const("theme", "LIGHT"));
302
- }
303
- }
304
-
305
- .#{$lumx-base-prefix}-text-field--theme-dark.#{$lumx-base-prefix}-text-field--is-valid {
306
- .#{$lumx-base-prefix}-text-field__wrapper {
307
- @include lumx-text-field-wrapper-validity("valid", lumx-base-const("theme", "DARK"));
308
- }
309
-
310
- .#{$lumx-base-prefix}-text-field__input-validity {
311
- @include lumx-text-field-input-validity("valid", lumx-base-const("theme", "DARK"));
312
- }
313
- }
314
-
315
- .#{$lumx-base-prefix}-text-field--theme-dark.#{$lumx-base-prefix}-text-field--has-error {
316
- .#{$lumx-base-prefix}-text-field__wrapper {
317
- @include lumx-text-field-wrapper-validity("error", lumx-base-const("theme", "DARK"));
318
- }
319
-
320
- .#{$lumx-base-prefix}-text-field__input-validity {
321
- @include lumx-text-field-input-validity("error", lumx-base-const("theme", "DARK"));
322
- }
323
- }
@@ -1,149 +0,0 @@
1
- @use "sass:math";
2
-
3
- @mixin lumx-text-field-label() {
4
- font-size: var(--lumx-material-text-field-header-label-font-size);
5
- font-weight: var(--lumx-material-text-field-header-label-font-weight);
6
- line-height: var(--lumx-material-text-field-header-label-line-height);
7
- }
8
-
9
- @mixin lumx-text-field-label-color($state, $theme) {
10
- color: var(--lumx-text-field-#{$state}-#{$theme}-header-label-color);
11
- }
12
-
13
- @mixin lumx-text-field-wrapper($theme) {
14
- position: relative;
15
- display: flex;
16
- align-items: flex-start;
17
- min-height: var(--lumx-text-field-input-min-height);
18
- padding: 0 var(--lumx-text-field-input-padding-horizontal);
19
- background-color: var(--lumx-text-field-state-default-#{$theme}-input-background-color);
20
- border-radius: var(--lumx-text-field-input-border-radius);
21
- outline: none;
22
- transition-duration: $lumx-text-field-transition-duration;
23
- transition-property: background-color, box-shadow;
24
-
25
- &::before {
26
- position: absolute;
27
- top: 0;
28
- right: 0;
29
- bottom: 0;
30
- left: 0;
31
- pointer-events: none;
32
- content: "";
33
- border: 0 solid var(--lumx-text-field-state-default-#{$theme}-input-border-color);
34
- border-width: var(--lumx-text-field-state-default-input-border-top-width) var(--lumx-text-field-state-default-input-border-right-width) var(--lumx-text-field-state-default-input-border-bottom-width) var(--lumx-text-field-state-default-input-border-left-width);
35
- border-radius: var(--lumx-text-field-input-border-radius);
36
- }
37
- }
38
-
39
- @mixin lumx-text-field-wrapper-state($state, $theme) {
40
- background-color: var(--lumx-text-field-#{$state}-#{$theme}-input-background-color);
41
-
42
- &::before {
43
- border-color: var(--lumx-text-field-#{$state}-#{$theme}-input-border-color);
44
- border-width: var(--lumx-text-field-#{$state}-input-border-top-width) var(--lumx-text-field-#{$state}-input-border-right-width) var(--lumx-text-field-#{$state}-input-border-bottom-width) var(--lumx-text-field-#{$state}-input-border-left-width);
45
- }
46
- }
47
-
48
- @mixin lumx-text-field-wrapper-validity($validity, $theme) {
49
- &::before {
50
- border-width: var(--lumx-text-field-state-focus-input-border-top-width) var(--lumx-text-field-state-focus-input-border-right-width) var(--lumx-text-field-state-focus-input-border-bottom-width) var(--lumx-text-field-state-focus-input-border-left-width);
51
-
52
- @if $theme == lumx-base-const("theme", "LIGHT") {
53
- @if $validity == "valid" {
54
- border-color: lumx-color-variant("green", "N");
55
- } @else if $validity == "error" {
56
- border-color: lumx-color-variant("red", "N");
57
- }
58
- } @else if $theme == lumx-base-const("theme", "DARK") {
59
- border-color: lumx-color-variant("light", "N");
60
- }
61
- }
62
- }
63
-
64
- @mixin lumx-text-field-input-icon($theme) {
65
- flex-shrink: 0;
66
- margin-top: calc(var(--lumx-text-field-wrapper-padding-vertical) + ((var(--lumx-material-text-field-input-content-line-height) - var(--lumx-size-xs)) / 2));
67
- margin-right: $lumx-spacing-unit;
68
-
69
- @if $theme == lumx-base-const("theme", "LIGHT") {
70
- color: lumx-color-variant("dark", "N");
71
- } @else if $theme == lumx-base-const("theme", "DARK") {
72
- color: lumx-color-variant("light", "N");
73
- }
74
- }
75
-
76
- @mixin lumx-text-field-input-wrapper() {
77
- flex: 1 1 auto;
78
- padding: var(--lumx-text-field-wrapper-padding-vertical) 0;
79
- }
80
-
81
- @mixin lumx-text-field-input-native($theme) {
82
- display: block;
83
- width: 100%;
84
- padding: 0;
85
- margin: 0;
86
- font-size: var(--lumx-material-text-field-input-content-font-size);
87
- line-height: var(--lumx-material-text-field-input-content-line-height);
88
- background-color: transparent;
89
- border: none;
90
- outline: none;
91
-
92
- &[type="number"] {
93
- appearance: textfield;
94
- }
95
-
96
- &[type="number"]::-webkit-inner-spin-button,
97
- &[type="number"]::-webkit-outer-spin-button {
98
- appearance: none;
99
- }
100
-
101
- @if $theme == lumx-base-const("theme", "LIGHT") {
102
- color: lumx-color-variant("dark", "N");
103
- } @else if $theme == lumx-base-const("theme", "DARK") {
104
- color: lumx-color-variant("light", "N");
105
- }
106
- }
107
-
108
- @mixin lumx-text-field-input-content-color($state, $theme) {
109
- color: var(--lumx-text-field-#{$state}-#{$theme}-input-content-color);
110
- }
111
-
112
- @mixin lumx-text-field-input-placeholder-color($state, $theme) {
113
- color: var(--lumx-text-field-#{$state}-#{$theme}-input-placeholder-color);
114
- }
115
-
116
- @mixin lumx-text-field-input-validity($validity, $theme) {
117
- flex-shrink: 0;
118
- margin-top: calc(var(--lumx-text-field-wrapper-padding-vertical) + ((var(--lumx-material-text-field-input-content-line-height) - var(--lumx-size-xxs)) / 2));
119
- margin-left: $lumx-spacing-unit;
120
-
121
- @if $theme == lumx-base-const("theme", "LIGHT") {
122
- @if $validity == "valid" {
123
- color: lumx-color-variant("green", "N");
124
- } @else if $validity == "error" {
125
- color: lumx-color-variant("red", "N");
126
- }
127
- } @else if $theme == lumx-base-const("theme", "DARK") {
128
- color: lumx-color-variant("light", "N");
129
- }
130
- }
131
-
132
- @mixin lumx-text-field-input-clear() {
133
- flex-shrink: 0;
134
- margin: calc(var(--lumx-text-field-wrapper-padding-vertical) + ((var(--lumx-material-text-field-input-content-line-height) - (var(--lumx-button-height) / 1.5)) / 2)) math.div($lumx-spacing-unit, 2);
135
- margin-right: 0;
136
- }
137
-
138
- @mixin lumx-text-field-chips() {
139
- display: flex;
140
- flex: 1 1 auto;
141
- flex-wrap: wrap;
142
- align-items: center;
143
- margin: calc((var(--lumx-text-field-input-min-height) - var(--lumx-size-s) - 6px) / 2) 0;
144
-
145
- .#{$lumx-base-prefix}-chip {
146
- margin: $lumx-chip-group-spacing 0;
147
- margin-right: $lumx-chip-group-spacing * 2;
148
- }
149
- }
@@ -1,2 +0,0 @@
1
- $lumx-text-field-transition-duration: 100ms;
2
- $lumx-text-field-min-width: 100px;
@@ -1,227 +0,0 @@
1
- @use "sass:map";
2
- @use "sass:math";
3
-
4
- /* ==========================================================================
5
- Thumbnail
6
- ========================================================================== */
7
-
8
- .#{$lumx-base-prefix}-thumbnail {
9
- $self: &;
10
-
11
- position: relative;
12
- flex-shrink: 0;
13
- padding: 0;
14
- background: none;
15
- border: none;
16
- outline: none;
17
-
18
- &--fill-height {
19
- &,
20
- #{$self}__background {
21
- display: flex;
22
- flex: 1 1 auto;
23
- flex-direction: column;
24
- justify-content: center;
25
- height: fit-content;
26
- min-height: 100%;
27
- }
28
-
29
- #{$self}__image {
30
- width: unset;
31
- }
32
- }
33
-
34
- &__background {
35
- position: relative;
36
- width: 100%;
37
-
38
- #{$self}--variant-rounded & {
39
- border-radius: var(--lumx-border-radius);
40
- }
41
- }
42
-
43
- &__image {
44
- display: block;
45
- max-width: 100%;
46
- max-height: 100%;
47
- font-size: 0;
48
-
49
- &--has-defined-size {
50
- width: fit-content;
51
- height: fit-content;
52
- }
53
- }
54
-
55
- &__background,
56
- &__image {
57
- overflow: hidden;
58
-
59
- #{$self}--align-left & {
60
- margin-right: auto;
61
- }
62
-
63
- #{$self}--align-center & {
64
- margin: 0 auto;
65
- }
66
-
67
- #{$self}--align-right & {
68
- margin-left: auto;
69
- }
70
- }
71
-
72
- &__badge {
73
- position: absolute;
74
- right: math.div(-$lumx-spacing-unit, 2);
75
- bottom: math.div(-$lumx-spacing-unit, 2);
76
- }
77
- }
78
-
79
- /* Thumbnail sizes
80
- ========================================================================== */
81
-
82
- @each $key, $size in $lumx-sizes {
83
- .#{$lumx-base-prefix}-thumbnail--size-#{$key} {
84
- width: $size;
85
- }
86
- }
87
-
88
- /* Thumbnail aspect ratio
89
- ========================================================================== */
90
-
91
- .#{$lumx-base-prefix}-thumbnail:not(.#{$lumx-base-prefix}-thumbnail--aspect-ratio-original) {
92
- .#{$lumx-base-prefix}-thumbnail__image {
93
- position: absolute;
94
- top: 0;
95
- right: 0;
96
- bottom: 0;
97
- left: 0;
98
- width: 100%;
99
- height: 100%;
100
- object-fit: cover;
101
- object-position: center;
102
- }
103
- }
104
-
105
- @each $key, $aspect-ratio in $lumx-thumbnail-aspect-ratio {
106
- .#{$lumx-base-prefix}-thumbnail--aspect-ratio-#{$key}:not(.#{$lumx-base-prefix}-thumbnail--fill-height)
107
- .#{$lumx-base-prefix}-thumbnail__background {
108
- padding-top: $aspect-ratio;
109
- }
110
- }
111
-
112
- /* Thumbnail states
113
- ========================================================================== */
114
-
115
- .#{$lumx-base-prefix}-thumbnail--is-clickable {
116
- &:not(.#{$lumx-base-prefix}-thumbnail--fill-height) {
117
- display: block;
118
- }
119
-
120
- position: relative;
121
- cursor: pointer;
122
-
123
- &::after {
124
- @include lumx-state-transition;
125
-
126
- position: absolute;
127
- top: 0;
128
- right: 0;
129
- bottom: 0;
130
- left: 0;
131
- pointer-events: none;
132
- content: "";
133
- }
134
-
135
- /* Hover */
136
- &:hover::after,
137
- &:focus::after {
138
- @include lumx-state(lumx-base-const("state", "HOVER"), lumx-base-const("emphasis", "LOW"), "dark");
139
- }
140
-
141
- /* Active */
142
- &:active::after {
143
- @include lumx-state(lumx-base-const("state", "ACTIVE"), lumx-base-const("emphasis", "LOW"), "dark");
144
- }
145
- }
146
-
147
- /* Focused (variant rounded) */
148
- .#{$lumx-base-prefix}-thumbnail--variant-rounded.#{$lumx-base-prefix}-thumbnail--is-clickable {
149
- &[data-focus-visible-added]::after {
150
- border-radius: var(--lumx-border-radius);
151
- }
152
- }
153
-
154
- /* Focused (light theme) */
155
- .#{$lumx-base-prefix}-thumbnail--theme-light.#{$lumx-base-prefix}-thumbnail--is-clickable {
156
- &[data-focus-visible-added]::after {
157
- @include lumx-state(lumx-base-const("state", "FOCUS"), lumx-base-const("emphasis", "LOW"), "dark");
158
- }
159
- }
160
-
161
- /* Focused (dark theme) */
162
- .#{$lumx-base-prefix}-thumbnail--theme-dark.#{$lumx-base-prefix}-thumbnail--is-clickable {
163
- &[data-focus-visible-added]::after {
164
- @include lumx-state(lumx-base-const("state", "FOCUS"), lumx-base-const("emphasis", "LOW"), "light");
165
- }
166
- }
167
-
168
- /* Loading state */
169
- .#{$lumx-base-prefix}-thumbnail--is-loading {
170
- &.#{$lumx-base-prefix}-thumbnail--theme-light .#{$lumx-base-prefix}-thumbnail__background {
171
- @include lumx-skeleton("light");
172
- }
173
-
174
- &.#{$lumx-base-prefix}-thumbnail--theme-dark .#{$lumx-base-prefix}-thumbnail__background {
175
- @include lumx-skeleton("dark");
176
- }
177
- }
178
-
179
- /* Error state */
180
- .#{$lumx-base-prefix}-thumbnail--has-error {
181
- /** Icon fallback */
182
- &.#{$lumx-base-prefix}-thumbnail--has-icon-error-fallback {
183
- .#{$lumx-base-prefix}-thumbnail__fallback {
184
- position: absolute;
185
- top: 0;
186
- right: 0;
187
- bottom: 0;
188
- left: 0;
189
- display: flex;
190
- align-items: center;
191
- justify-content: center;
192
- }
193
-
194
- &.#{$lumx-base-prefix}-thumbnail--theme-light .#{$lumx-base-prefix}-thumbnail__fallback {
195
- background-color: lumx-color-variant("dark", "L6");
196
- }
197
-
198
- &.#{$lumx-base-prefix}-thumbnail--theme-dark .#{$lumx-base-prefix}-thumbnail__fallback {
199
- background-color: lumx-color-variant("light", "L6");
200
- }
201
- }
202
-
203
- /* Custom fallback */
204
- &.#{$lumx-base-prefix}-thumbnail--has-custom-error-fallback {
205
- /* Disable aspect ratio */
206
- .#{$lumx-base-prefix}-thumbnail__background {
207
- padding-top: 0;
208
- }
209
- }
210
- }
211
-
212
- /* Thumbnail badge mask
213
- ========================================================================== */
214
-
215
- $badge-radius-size: math.div(map.get($lumx-sizes, lumx-base-const("size", "XS")), 2) + 2;
216
-
217
- .#{$lumx-base-prefix}-thumbnail--has-badge {
218
- .#{$lumx-base-prefix}-thumbnail__background,
219
- .#{$lumx-base-prefix}-thumbnail__fallback {
220
- mask-image:
221
- radial-gradient(
222
- circle at calc(100% - #{$badge-radius-size - 6}) calc(100% - #{$badge-radius-size - 6}),
223
- transparent $badge-radius-size,
224
- black $badge-radius-size + 1
225
- );
226
- }
227
- }