@latitude-ui/widgets 0.0.13 → 0.0.15

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 (197) hide show
  1. package/README.md +2 -2
  2. package/button/index.d.ts +19 -0
  3. package/checkbox/{src/checkbox.component.d.ts → index.d.ts} +6 -3
  4. package/core/index.d.ts +39 -0
  5. package/fesm2022/latitude-ui-widgets-button.mjs +51 -0
  6. package/fesm2022/latitude-ui-widgets-button.mjs.map +1 -0
  7. package/fesm2022/latitude-ui-widgets-checkbox.mjs +40 -0
  8. package/fesm2022/latitude-ui-widgets-checkbox.mjs.map +1 -0
  9. package/fesm2022/latitude-ui-widgets-core.mjs +116 -0
  10. package/fesm2022/latitude-ui-widgets-core.mjs.map +1 -0
  11. package/fesm2022/latitude-ui-widgets-icons.mjs +118 -0
  12. package/fesm2022/latitude-ui-widgets-icons.mjs.map +1 -0
  13. package/fesm2022/latitude-ui-widgets-input.mjs +225 -0
  14. package/fesm2022/latitude-ui-widgets-input.mjs.map +1 -0
  15. package/fesm2022/latitude-ui-widgets-listbox.mjs +51 -0
  16. package/fesm2022/latitude-ui-widgets-listbox.mjs.map +1 -0
  17. package/fesm2022/latitude-ui-widgets-select.mjs +316 -0
  18. package/fesm2022/latitude-ui-widgets-select.mjs.map +1 -0
  19. package/fesm2022/latitude-ui-widgets-switch.mjs +37 -0
  20. package/fesm2022/latitude-ui-widgets-switch.mjs.map +1 -0
  21. package/fesm2022/latitude-ui-widgets-textbox-number.mjs +168 -0
  22. package/fesm2022/latitude-ui-widgets-textbox-number.mjs.map +1 -0
  23. package/fesm2022/latitude-ui-widgets-textbox.mjs +62 -0
  24. package/fesm2022/latitude-ui-widgets-textbox.mjs.map +1 -0
  25. package/fesm2022/latitude-ui-widgets-toolbar.mjs +20 -0
  26. package/fesm2022/latitude-ui-widgets-toolbar.mjs.map +1 -0
  27. package/fesm2022/latitude-ui-widgets.mjs +6 -0
  28. package/fesm2022/latitude-ui-widgets.mjs.map +1 -0
  29. package/icons/index.d.ts +19 -0
  30. package/index.d.ts +2 -0
  31. package/input/index.d.ts +116 -0
  32. package/listbox/index.d.ts +23 -0
  33. package/package.json +30 -45
  34. package/select/index.d.ts +74 -0
  35. package/switch/{src/switch.component.d.ts → index.d.ts} +6 -3
  36. package/textbox/index.d.ts +26 -0
  37. package/textbox-number/index.d.ts +44 -0
  38. package/toolbar/{src/toolbar.component.d.ts → index.d.ts} +5 -2
  39. package/button/latitude-ui-widgets-button.d.ts +0 -5
  40. package/button/public-api.d.ts +0 -2
  41. package/button/src/button.component.d.ts +0 -14
  42. package/button/src/button.types.d.ts +0 -2
  43. package/checkbox/latitude-ui-widgets-checkbox.d.ts +0 -5
  44. package/checkbox/public-api.d.ts +0 -1
  45. package/combobox/latitude-ui-widgets-combobox.d.ts +0 -5
  46. package/combobox/public-api.d.ts +0 -2
  47. package/core/latitude-ui-widgets-core.d.ts +0 -5
  48. package/core/public-api.d.ts +0 -6
  49. package/core/src/dimensions.d.ts +0 -13
  50. package/core/src/illegal.d.ts +0 -2
  51. package/core/src/listeners.d.ts +0 -8
  52. package/core/src/noop.d.ts +0 -1
  53. package/core/src/root.d.ts +0 -12
  54. package/core/src/uid.d.ts +0 -1
  55. package/esm2022/button/latitude-ui-widgets-button.js +0 -5
  56. package/esm2022/button/public-api.js +0 -3
  57. package/esm2022/button/src/button.component.js +0 -44
  58. package/esm2022/button/src/button.types.js +0 -1
  59. package/esm2022/checkbox/latitude-ui-widgets-checkbox.js +0 -5
  60. package/esm2022/checkbox/public-api.js +0 -2
  61. package/esm2022/checkbox/src/checkbox.component.js +0 -33
  62. package/esm2022/combobox/latitude-ui-widgets-combobox.js +0 -5
  63. package/esm2022/combobox/public-api.js +0 -2
  64. package/esm2022/core/latitude-ui-widgets-core.js +0 -5
  65. package/esm2022/core/public-api.js +0 -7
  66. package/esm2022/core/src/dimensions.js +0 -56
  67. package/esm2022/core/src/illegal.js +0 -5
  68. package/esm2022/core/src/listeners.js +0 -32
  69. package/esm2022/core/src/noop.js +0 -3
  70. package/esm2022/core/src/root.js +0 -20
  71. package/esm2022/core/src/uid.js +0 -4
  72. package/esm2022/icons/latitude-ui-widgets-icons.js +0 -5
  73. package/esm2022/icons/public-api.js +0 -3
  74. package/esm2022/icons/src/icon.component.js +0 -35
  75. package/esm2022/icons/src/icon.service.js +0 -62
  76. package/esm2022/icons/src/icon.tokens.js +0 -19
  77. package/esm2022/input/latitude-ui-widgets-input.js +0 -5
  78. package/esm2022/input/public-api.js +0 -6
  79. package/esm2022/input/src/input-error/i18n/en.js +0 -9
  80. package/esm2022/input/src/input-error/i18n/ru.js +0 -9
  81. package/esm2022/input/src/input-error/input-error.component.js +0 -22
  82. package/esm2022/input/src/input-error/input-error.i18n.js +0 -65
  83. package/esm2022/input/src/input-label/input-label.component.js +0 -20
  84. package/esm2022/input/src/input.component.js +0 -44
  85. package/esm2022/input/src/input.directive.js +0 -116
  86. package/esm2022/input/src/input.module.js +0 -9
  87. package/esm2022/input/src/input.types.js +0 -1
  88. package/esm2022/latitude-ui-widgets.js +0 -5
  89. package/esm2022/listbox/latitude-ui-widgets-listbox.js +0 -5
  90. package/esm2022/listbox/public-api.js +0 -4
  91. package/esm2022/listbox/src/listbox-option.component.js +0 -49
  92. package/esm2022/listbox/src/listbox.component.js +0 -14
  93. package/esm2022/listbox/src/listbox.module.js +0 -7
  94. package/esm2022/lookup/latitude-ui-widgets-lookup.js +0 -5
  95. package/esm2022/lookup/public-api.js +0 -3
  96. package/esm2022/lookup/src/lookup-outlet.directive.js +0 -13
  97. package/esm2022/lookup/src/lookup.component.js +0 -11
  98. package/esm2022/public-api.js +0 -2
  99. package/esm2022/select/latitude-ui-widgets-select.js +0 -5
  100. package/esm2022/select/public-api.js +0 -7
  101. package/esm2022/select/src/select/select.directive.js +0 -86
  102. package/esm2022/select/src/select-dropdown/select-dropdown.component.js +0 -39
  103. package/esm2022/select/src/select-multiple.component.js +0 -60
  104. package/esm2022/select/src/select-option/select-option.component.js +0 -21
  105. package/esm2022/select/src/select-option/select-option.directive.js +0 -19
  106. package/esm2022/select/src/select-single.component.js +0 -51
  107. package/esm2022/select/src/select-trigger/select-trigger.component.js +0 -29
  108. package/esm2022/select/src/select-value/select-value.component.js +0 -15
  109. package/esm2022/select/src/select-values/select-values.component.js +0 -16
  110. package/esm2022/select/src/select.module.js +0 -9
  111. package/esm2022/switch/latitude-ui-widgets-switch.js +0 -5
  112. package/esm2022/switch/public-api.js +0 -2
  113. package/esm2022/switch/src/switch.component.js +0 -30
  114. package/esm2022/textarea/latitude-ui-widgets-textarea.js +0 -5
  115. package/esm2022/textarea/public-api.js +0 -2
  116. package/esm2022/textarea/src/textarea.component.js +0 -26
  117. package/esm2022/textbox/latitude-ui-widgets-textbox.js +0 -5
  118. package/esm2022/textbox/public-api.js +0 -3
  119. package/esm2022/textbox/src/textbox.component.js +0 -25
  120. package/esm2022/textbox/src/textbox.directive.js +0 -25
  121. package/esm2022/textbox-number/latitude-ui-widgets-textbox-number.js +0 -5
  122. package/esm2022/textbox-number/public-api.js +0 -2
  123. package/esm2022/textbox-number/src/spinners.component.js +0 -22
  124. package/esm2022/textbox-number/src/textbox-number.component.js +0 -136
  125. package/esm2022/textbox-search/latitude-ui-widgets-textbox-search.js +0 -5
  126. package/esm2022/textbox-search/public-api.js +0 -2
  127. package/esm2022/textbox-search/src/textbox-search.component.js +0 -41
  128. package/esm2022/toolbar/latitude-ui-widgets-toolbar.js +0 -5
  129. package/esm2022/toolbar/public-api.js +0 -2
  130. package/esm2022/toolbar/src/toolbar.component.js +0 -14
  131. package/icons/latitude-ui-widgets-icons.d.ts +0 -5
  132. package/icons/public-api.d.ts +0 -2
  133. package/icons/src/icon.component.d.ts +0 -11
  134. package/icons/src/icon.service.d.ts +0 -15
  135. package/icons/src/icon.tokens.d.ts +0 -4
  136. package/input/latitude-ui-widgets-input.d.ts +0 -5
  137. package/input/public-api.d.ts +0 -5
  138. package/input/src/input-error/i18n/en.d.ts +0 -9
  139. package/input/src/input-error/i18n/ru.d.ts +0 -9
  140. package/input/src/input-error/input-error.component.d.ts +0 -9
  141. package/input/src/input-error/input-error.i18n.d.ts +0 -28
  142. package/input/src/input-label/input-label.component.d.ts +0 -11
  143. package/input/src/input.component.d.ts +0 -28
  144. package/input/src/input.directive.d.ts +0 -62
  145. package/input/src/input.module.d.ts +0 -4
  146. package/input/src/input.types.d.ts +0 -1
  147. package/latitude-ui-widgets.d.ts +0 -5
  148. package/listbox/latitude-ui-widgets-listbox.d.ts +0 -5
  149. package/listbox/public-api.d.ts +0 -3
  150. package/listbox/src/listbox-option.component.d.ts +0 -17
  151. package/listbox/src/listbox.component.d.ts +0 -5
  152. package/listbox/src/listbox.module.d.ts +0 -3
  153. package/lookup/README.md +0 -3
  154. package/lookup/latitude-ui-widgets-lookup.d.ts +0 -5
  155. package/lookup/public-api.d.ts +0 -2
  156. package/lookup/src/lookup-outlet.directive.d.ts +0 -5
  157. package/lookup/src/lookup.component.d.ts +0 -5
  158. package/public-api.d.ts +0 -2
  159. package/select/latitude-ui-widgets-select.d.ts +0 -5
  160. package/select/public-api.d.ts +0 -6
  161. package/select/src/select/select.directive.d.ts +0 -24
  162. package/select/src/select-dropdown/select-dropdown.component.d.ts +0 -14
  163. package/select/src/select-multiple.component.d.ts +0 -10
  164. package/select/src/select-option/select-option.component.d.ts +0 -10
  165. package/select/src/select-option/select-option.directive.d.ts +0 -14
  166. package/select/src/select-single.component.d.ts +0 -10
  167. package/select/src/select-trigger/select-trigger.component.d.ts +0 -9
  168. package/select/src/select-value/select-value.component.d.ts +0 -7
  169. package/select/src/select-values/select-values.component.d.ts +0 -7
  170. package/select/src/select.module.d.ts +0 -4
  171. package/styles/_colors.scss +0 -99
  172. package/styles/_defaults.scss +0 -135
  173. package/styles/_index.scss +0 -11
  174. package/styles/_typography.scss +0 -37
  175. package/styles/button/_index.scss +0 -199
  176. package/styles/forms/_index.scss +0 -867
  177. package/styles/icons/_index.scss +0 -34
  178. package/styles/list/_index.scss +0 -0
  179. package/styles/listbox/_index.scss +0 -30
  180. package/switch/latitude-ui-widgets-switch.d.ts +0 -5
  181. package/switch/public-api.d.ts +0 -1
  182. package/textarea/latitude-ui-widgets-textarea.d.ts +0 -5
  183. package/textarea/public-api.d.ts +0 -1
  184. package/textarea/src/textarea.component.d.ts +0 -9
  185. package/textbox/latitude-ui-widgets-textbox.d.ts +0 -5
  186. package/textbox/public-api.d.ts +0 -2
  187. package/textbox/src/textbox.component.d.ts +0 -8
  188. package/textbox/src/textbox.directive.d.ts +0 -12
  189. package/textbox-number/latitude-ui-widgets-textbox-number.d.ts +0 -5
  190. package/textbox-number/public-api.d.ts +0 -1
  191. package/textbox-number/src/spinners.component.d.ts +0 -8
  192. package/textbox-number/src/textbox-number.component.d.ts +0 -36
  193. package/textbox-search/latitude-ui-widgets-textbox-search.d.ts +0 -5
  194. package/textbox-search/public-api.d.ts +0 -1
  195. package/textbox-search/src/textbox-search.component.d.ts +0 -15
  196. package/toolbar/latitude-ui-widgets-toolbar.d.ts +0 -5
  197. package/toolbar/public-api.d.ts +0 -1
@@ -1,867 +0,0 @@
1
- lat-input-label {
2
- color: var(--lat-text-color-subtle);
3
- //color: var(--lat-text-color-strong);
4
-
5
- font-size: var(--lat-font-size-small);
6
- font-family: var(--lat-font-family-sans), sans-serif;
7
- font-weight: var(--lat-font-weight-normal);
8
-
9
- user-select: none;
10
- line-height: 1rem;
11
-
12
-
13
- label {
14
- display: inline-flex;
15
-
16
- align-self: flex-start;
17
- align-items: center;
18
- justify-self: start;
19
-
20
- color: inherit;
21
- text-align: right;
22
- line-height: inherit;
23
- vertical-align: middle;
24
-
25
- font-size: inherit;
26
- font-family: inherit;
27
- font-weight: inherit;
28
-
29
- .lat-label-asterix {
30
- color: var(--lat-danger-color);
31
- margin-left: 4px;
32
- }
33
- }
34
- }
35
-
36
-
37
- lat-input {
38
- display: flex;
39
-
40
- gap: 4px;
41
- flex-direction: column;
42
-
43
- align-items: flex-start;
44
- justify-content: flex-start;
45
-
46
- font-family: var(--lat-font-family-sans), sans-serif;
47
- font-weight: var(--lat-font-weight-normal);
48
-
49
- line-height: normal;
50
-
51
- & > div[role="textbox"] {
52
- position: relative;
53
-
54
- overflow: hidden;
55
- box-sizing: border-box;
56
-
57
- margin-inline: calc(0.25rem * -1);
58
-
59
- button {
60
- position: relative;
61
-
62
- box-sizing: border-box;
63
-
64
- display: flex;
65
-
66
- align-items: center;
67
- justify-content: flex-start;
68
-
69
- width: 100%;
70
-
71
- height: auto;
72
- min-height: 28px;
73
- line-height: 28px;
74
-
75
- cursor: default;
76
-
77
- text-align: left;
78
- touch-action: manipulation;
79
-
80
- border-radius: 4px;
81
-
82
- padding-block: 0.25rem;
83
- padding-inline: 0.25rem;
84
-
85
- color: var(--lat-text-color);
86
- background-color: transparent;
87
-
88
- font-size: inherit;
89
- font-family: inherit;
90
- font-weight: inherit;
91
-
92
- &:hover {
93
- color: var(--lat-text-color);
94
- background-color: var(--lat-background-color-active);
95
- }
96
-
97
- transition-property: background, border, color, fill, opacity;
98
- transition-duration: 0.2s;
99
- }
100
- }
101
-
102
- & > * {
103
- width: 100%;
104
- }
105
-
106
- lat-input-label {
107
- }
108
-
109
- lat-input-error {
110
- display: flex;
111
-
112
- cursor: default;
113
- flex-direction: column;
114
-
115
- align-items: flex-start;
116
-
117
- gap: 4px;
118
-
119
- color: var(--lat-danger-color);
120
- text-align: right;
121
- line-height: inherit;
122
- vertical-align: middle;
123
-
124
- font-size: 11px;
125
- font-family: inherit;
126
- font-weight: inherit;
127
- }
128
- }
129
-
130
- lat-switch {
131
- display: inline-flex;
132
-
133
- cursor: default;
134
-
135
- align-items: center;
136
- justify-content: flex-start;
137
-
138
- font-family: var(--lat-font-family-sans), sans-serif;
139
- font-weight: var(--lat-font-weight-normal);
140
-
141
- &[data-size="sm"] {
142
- height: 24px;
143
- font-size: 12px;
144
- line-height: 24px;
145
-
146
- button {
147
- width: 32px;
148
- height: 18px;
149
- line-height: 18px;
150
-
151
- & > div {
152
- width: 14px;
153
- height: 14px;
154
- }
155
-
156
- &[aria-checked="true"] {
157
- --lat-translate-x: 14px;
158
- }
159
-
160
- &[aria-checked="false"] {
161
- --lat-translate-x: 0;
162
- }
163
- }
164
- }
165
-
166
- &[data-size="md"] {
167
- height: 28px;
168
- font-size: 12px;
169
- line-height: 28px;
170
-
171
- button {
172
- width: 40px;
173
- height: 22px;
174
- line-height: 22px;
175
-
176
- & > div {
177
- width: 18px;
178
- height: 18px;
179
- }
180
-
181
- &[aria-checked="true"] {
182
- --lat-translate-x: 18px;
183
- }
184
-
185
- &[aria-checked="false"] {
186
- --lat-translate-x: 0;
187
- }
188
- }
189
- }
190
-
191
- &[data-size="lg"] {
192
- height: 32px;
193
- font-size: 14px;
194
- line-height: 32px;
195
-
196
- button {
197
- width: 44px;
198
- height: 26px;
199
- line-height: 26px;
200
-
201
- & > div {
202
- width: 22px;
203
- height: 22px;
204
- }
205
-
206
- &[aria-checked="true"] {
207
- --lat-translate-x: 22px;
208
- }
209
-
210
- &[aria-checked="false"] {
211
- --lat-translate-x: 0;
212
- }
213
- }
214
- }
215
-
216
- button {
217
- display: inline-flex;
218
-
219
- align-items: center;
220
- justify-content: flex-start;
221
-
222
- height: 100%;
223
-
224
- flex-shrink: 0;
225
-
226
- border-width: 1px;
227
- border-style: solid;
228
- border-color: var(--lat-thumb-border-color);
229
- border-radius: 9999px;
230
-
231
- color: var(--lat-text-color);
232
- background-color: var(--lat-thumb-background-color);
233
-
234
-
235
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
236
- transition-timing-function: cubic-bezier(.4, 0, .2, 1);
237
- transition-duration: .2s;
238
-
239
- padding: 2px 1px;
240
- margin-right: .5rem;
241
-
242
-
243
- & > div {
244
- display: block;
245
- box-sizing: border-box;
246
-
247
- border-width: 0;
248
- border-style: solid;
249
- border-color: var(--lat-outline-color-strong);
250
- border-radius: 9999px;
251
-
252
- box-shadow: inset 0 0 0 var(--lat-thumb-border-width) var(--lat-thumb-border-color);
253
- background-color: var(--lat-thumb-color);
254
-
255
- transition-property: transform;
256
- transition-timing-function: cubic-bezier(.4, 0, .2, 1);
257
- transition-duration: .2s;
258
-
259
- transform: translate(var(--lat-translate-x), 0)
260
- }
261
-
262
- &[aria-checked="true"] {
263
- --lat-thumb-color: #ffffff;
264
- --lat-thumb-border-width: 0;
265
- --lat-thumb-border-color: var(--lat-primary-color);
266
- --lat-thumb-background-color: var(--lat-primary-color);
267
- }
268
-
269
- &[aria-checked="false"] {
270
- --lat-thumb-color: #ffffff;
271
- --lat-thumb-border-width: 1px;
272
- --lat-thumb-border-color: var(--lat-outline-color-strong);
273
- --lat-thumb-background-color: var(--lat-background-color-subtle);
274
- }
275
- }
276
- }
277
-
278
- @mixin textbox-size(
279
- $size,
280
- $height,
281
- $font-size,
282
- $line-height,
283
- $padding-block,
284
- $padding-inline,
285
- ) {
286
- &[data-size="#{$size}"] {
287
- --lat-textbox-height: #{$height};
288
- --lat-textbox-font-size: #{$font-size};
289
- --lat-textbox-line-height: #{$line-height};
290
- --lat-textbox-padding-block: #{$padding-block};
291
- --lat-textbox-padding-inline: #{$padding-inline};
292
-
293
- @content;
294
- }
295
- }
296
-
297
-
298
- lat-textbox, lat-textarea, lat-select {
299
- --lat-textbox-height: auto;
300
- --lat-textbox-line-height: inherit;
301
- --lat-textbox-font-size: var(--lat-font-size-small);
302
- --lat-textbox-font-family: var(--lat-font-family-sans);
303
- --lat-textbox-font-weight: var(--lat-font-weight-normal);
304
- --lat-textbox-padding-block: 0;
305
- --lat-textbox-padding-inline: 0;
306
- --lat-textbox-border-style: solid;
307
- --lat-textbox-border-color: transparent;
308
- --lat-textbox-border-width: 1px;
309
- --lat-textbox-border-radius: 4px;
310
- --lat-textbox-color: initial;
311
- --lat-textbox-background-color: initial;
312
- --lat-textbox-placeholder-color: initial;
313
- }
314
-
315
- lat-textbox, lat-textarea, lat-select {
316
- --lat-textbox-color: var(--lat-text-color);
317
- --lat-textbox-placeholder-color: var(--lat-text-color-subtle);
318
- --lat-textbox-border-width: 0.0625rem;
319
- --lat-textbox-border-color: var(--lat-outline-color-strong);
320
- --lat-textbox-background-color: #ffffff;
321
- }
322
-
323
- lat-textbox, lat-textarea {
324
- position: relative;
325
- box-sizing: border-box;
326
-
327
- display: inline-flex;
328
- overflow: hidden;
329
-
330
- width: 100%;
331
-
332
- font-size: var(--lat-textbox-font-size);
333
- font-family: var(--lat-textbox-font-family), sans-serif;
334
- font-weight: var(--lat-textbox-font-weight);
335
-
336
- border-width: var(--lat-textbox-border-width);
337
- border-style: var(--lat-textbox-border-style);
338
- border-color: var(--lat-textbox-border-color);
339
- border-radius: var(--lat-textbox-border-radius);
340
-
341
- color: var(--lat-textbox-color);
342
- background-color: var(--lat-textbox-background-color);
343
-
344
- transition-property: background, border, color, fill, opacity;
345
- transition-duration: .2s;
346
-
347
- &:hover {
348
- --lat-textbox-color: var(--lat-text-color);
349
- --lat-textbox-border-color: var(--lat-outline-color-hover);
350
- }
351
-
352
- &:focus-within {
353
- --lat-textbox-color: var(--lat-text-color);
354
- --lat-textbox-border-color: var(--lat-outline-color-active);
355
- }
356
-
357
- &[data-dirty="true"][data-invalid="true"] {
358
- --lat-textbox-border-color: var(--lat-danger-color);
359
- }
360
-
361
- &[data-readonly="true"] {
362
- --lat-textbox-color: var(--lat-text-color);
363
- --lat-textbox-border-color: transparent;
364
- --lat-textbox-background-color: #ffffff;
365
-
366
- margin-inline: calc(var(--lat-textbox-padding-inline) * -1);
367
-
368
- input, textarea {
369
- cursor: default;
370
- }
371
-
372
- &:hover {
373
- --lat-textbox-color: var(--lat-text-color);
374
- --lat-textbox-border-color: transparent;
375
- --lat-textbox-background-color: var(--lat-background-color-hover);
376
- }
377
-
378
- &:focus-within {
379
- --lat-textbox-color: var(--lat-text-color);
380
- --lat-textbox-border-color: transparent;
381
- --lat-textbox-background-color: var(--lat-background-color-active);
382
- }
383
- }
384
-
385
- input, textarea {
386
- position: relative;
387
- overflow: hidden;
388
- box-sizing: border-box;
389
-
390
- display: inline-flex;
391
-
392
- align-items: center;
393
- justify-content: center;
394
-
395
- text-align: left;
396
- touch-action: manipulation;
397
-
398
- width: 100%;
399
-
400
- height: var(--lat-textbox-height);
401
- line-height: var(--lat-textbox-line-height);
402
-
403
- font-size: inherit;
404
- font-family: inherit;
405
- font-weight: inherit;
406
-
407
- margin: 0;
408
- padding: 0;
409
-
410
- border: none;
411
- outline: none;
412
-
413
- padding-block: var(--lat-textbox-padding-block);
414
- padding-inline: var(--lat-textbox-padding-inline);
415
-
416
- flex-grow: 1;
417
-
418
- vertical-align: top;
419
-
420
- color: inherit;
421
- background-color: initial;
422
-
423
- &::placeholder {
424
- color: var(--lat-textbox-placeholder-color);
425
-
426
- font-size: var(--lat-textbox-font-size);
427
- font-family: var(--lat-textbox-font-family), sans-serif;
428
- font-weight: var(--lat-textbox-font-weight);
429
- }
430
- }
431
-
432
- @include textbox-size(
433
- "sm",
434
- 1.5rem,
435
- 0.75rem,
436
- 1.125rem,
437
- 0.25rem,
438
- 0.5rem
439
- );
440
-
441
- @include textbox-size(
442
- "md",
443
- 1.75rem,
444
- 0.75rem,
445
- 1.125rem,
446
- 0.25rem,
447
- 0.5rem
448
- );
449
-
450
- @include textbox-size(
451
- "lg",
452
- 2rem,
453
- 0.875rem,
454
- 1.3125rem,
455
- 0.25rem,
456
- 0.5rem
457
- );
458
- }
459
-
460
- lat-textarea {
461
- height: auto;
462
- box-sizing: content-box;
463
-
464
- textarea {
465
- overflow: auto;
466
- }
467
- }
468
-
469
- lat-select {
470
- position: relative;
471
- box-sizing: border-box;
472
-
473
- display: inline-flex;
474
-
475
- overflow: hidden;
476
-
477
- min-width: 100px;
478
- max-width: 100%;
479
-
480
- &[type="single"] {
481
-
482
- lat-select-value,
483
- lat-select-values {
484
- flex: 1 1 auto;
485
- }
486
-
487
- lat-select-value {
488
- span {
489
- width: 100%;
490
- background-color: transparent;
491
- }
492
- }
493
- }
494
-
495
-
496
- lat-select-trigger {
497
- position: relative;
498
- box-sizing: border-box;
499
-
500
- display: flex;
501
- flex-wrap: nowrap;
502
- overflow-x: hidden;
503
-
504
- align-items: center;
505
- justify-content: space-between;
506
-
507
- cursor: pointer;
508
- user-select: none;
509
-
510
- width: 100%;
511
- max-width: 100%;
512
-
513
- line-height: var(--lat-textbox-line-height);
514
-
515
- font-size: var(--lat-textbox-font-size);
516
- font-family: var(--lat-textbox-font-family), sans-serif;
517
- font-weight: var(--lat-textbox-font-weight);
518
-
519
- border-width: var(--lat-textbox-border-width);
520
- border-style: var(--lat-textbox-border-style);
521
- border-color: var(--lat-textbox-border-color);
522
- border-radius: var(--lat-textbox-border-radius);
523
-
524
- color: var(--lat-textbox-color);
525
- background-color: var(--lat-textbox-background-color);
526
-
527
- transition-property: background, border, color, fill, opacity;
528
- transition-duration: .2s;
529
-
530
- &:hover {
531
- --lat-textbox-color: var(--lat-text-color);
532
- --lat-textbox-border-color: var(--lat-outline-color-hover);
533
- }
534
-
535
- &:focus-within {
536
- --lat-textbox-color: var(--lat-text-color);
537
- --lat-textbox-border-color: var(--lat-outline-color-active);
538
- }
539
-
540
- @include textbox-size(
541
- "sm",
542
- 1.5rem,
543
- 0.75rem,
544
- 1.125rem,
545
- 0.25rem,
546
- 0.5rem
547
- );
548
-
549
- @include textbox-size(
550
- "md",
551
- 1.75rem,
552
- 0.75rem,
553
- 1.125rem,
554
- 0.25rem,
555
- 0.5rem
556
- );
557
-
558
- @include textbox-size(
559
- "lg",
560
- 2rem,
561
- 0.875rem,
562
- 1.3125rem,
563
- 0.25rem,
564
- 0.5rem
565
- );
566
-
567
- lat-select-values {
568
- display: flex;
569
- flex-wrap: nowrap;
570
- overflow-x: hidden;
571
-
572
- gap: 0.5rem;
573
- height: 100%;
574
-
575
- margin-inline: 0.5rem;
576
-
577
- lat-select-value {
578
- display: flex;
579
- overflow: hidden;
580
-
581
- min-width: 0;
582
- min-height: 0;
583
-
584
- flex-shrink: 0;
585
- align-items: center;
586
- justify-content: flex-start;
587
-
588
- cursor: pointer;
589
- user-select: none;
590
-
591
- font-size: calc(var(--lat-textbox-font-size) - 1px);
592
-
593
- span {
594
- display: inline-block;
595
-
596
- padding-block: 2px;
597
- padding-inline: 8px;
598
-
599
- border-radius: 4px;
600
-
601
- background-color: var(--lat-background-color-subtle-hover);
602
- }
603
-
604
- }
605
- }
606
-
607
- lat-select-values + .lat-select-control {
608
- position: relative;
609
- box-sizing: content-box;
610
-
611
- display: flex;
612
-
613
- flex-direction: column;
614
-
615
- border-left-style: solid;
616
- border-left-width: 1px;
617
- border-left-color: var(--lat-textbox-border-color);
618
-
619
- lat-button {
620
- --lat-button-height: var(--lat-textbox-height);
621
- width: var(--lat-textbox-height);
622
-
623
- &:hover {
624
- background-color: transparent;
625
- }
626
- }
627
- }
628
-
629
-
630
- }
631
-
632
- }
633
-
634
- .lat-select-dropdown-backdrop {
635
- opacity: 1;
636
- visibility: hidden;
637
-
638
- &.cdk-overlay-backdrop-showing {
639
- opacity: 0;
640
- visibility: visible;
641
- }
642
- }
643
-
644
- lat-select-dropdown {
645
-
646
- box-sizing: border-box;
647
-
648
- display: flex;
649
-
650
- flex-direction: column;
651
-
652
- outline: none;
653
- pointer-events: auto;
654
-
655
- max-height: 300px;
656
-
657
- padding-block: 4px;
658
- padding-inline: 0;
659
-
660
- border-radius: 4px;
661
-
662
- box-shadow: var(--lat-box-shadow-large);
663
- background-color: var(--lat-background-color);
664
-
665
- &[data-side="top"] {
666
- margin: 0 0 4px 0;
667
- }
668
-
669
- &[data-side="right"] {
670
- margin: 0 0 0 4px;
671
- }
672
-
673
- &[data-side="bottom"] {
674
- margin: 4px 0 0 0;
675
- }
676
-
677
- &[data-side="left"] {
678
- margin: 0 4px 0 0;
679
- }
680
-
681
-
682
- lat-textbox {
683
- margin: 2px 4px 4px;
684
- width: auto;
685
- }
686
-
687
- lat-listbox {
688
- [role="listbox"] {
689
- box-sizing: border-box;
690
-
691
- scrollbar-width: none; /* Firefox */
692
- -ms-overflow-style: none; /* IE and Edge */
693
-
694
- &::-webkit-scrollbar {
695
- display: none;
696
- }
697
- }
698
-
699
- [role="option"] {
700
- box-sizing: border-box;
701
-
702
- display: inline-flex;
703
-
704
- flex-wrap: nowrap;
705
- flex-direction: row;
706
-
707
- width: auto;
708
-
709
- gap: 10px;
710
- margin-inline: 4px;
711
- padding-inline: 10px;
712
-
713
- align-items: center;
714
- justify-content: flex-start;
715
-
716
- height: 28px;
717
- min-height: 28px;
718
- border-radius: 4px;
719
-
720
- cursor: pointer;
721
- user-select: none;
722
-
723
- font-size: var(--lat-font-size-small);
724
- font-family: var(--lat-font-family-sans), sans-serif;
725
- font-weight: var(--lat-font-weight-normal);
726
-
727
- color: var(--lat-text-color);
728
- background-color: var(--lat-background-color);
729
-
730
- transition-property: background, border, color, fill, opacity;
731
- transition-duration: 0.2s;
732
-
733
- &:hover {
734
- fill: var(--lat-text-color);
735
- color: var(--lat-text-color);
736
- border-color: var(--lat-background-color-subtle-hover);
737
- background-color: var(--lat-background-color-subtle-hover);
738
- }
739
-
740
- //&:active {
741
- // fill: var(--lat-text-color);
742
- // color: var(--lat-text-color);
743
- // border-color: var(--lat-background-color-subtle-active);
744
- // background-color: var(--lat-background-color-subtle-active);
745
- //}
746
- }
747
- }
748
-
749
- //
750
-
751
- //}
752
- }
753
-
754
- lat-textbox[type="number"] {
755
- lat-spinners {
756
- position: relative;
757
- box-sizing: content-box;
758
-
759
- display: flex;
760
-
761
- flex-direction: column;
762
-
763
- align-items: center;
764
- justify-content: center;
765
-
766
- width: var(--lat-textbox-height);
767
- max-height: var(--lat-textbox-height);
768
- line-height: var(--lat-textbox-height);
769
-
770
- border-left-style: solid;
771
- border-left-width: 1px;
772
- border-left-color: var(--lat-textbox-border-color);
773
-
774
- transition-property: background, border, color, fill, opacity;
775
- transition-duration: .2s;
776
-
777
- lat-button {
778
- --lat-button-height: calc(var(--lat-textbox-height) / 2);
779
-
780
- width: 100%;
781
- border-radius: 0;
782
- }
783
- }
784
- }
785
-
786
- lat-checkbox {
787
- display: inline-flex;
788
-
789
- cursor: default;
790
-
791
- align-items: center;
792
- justify-content: flex-start;
793
-
794
- font-family: var(--lat-font-family-sans), sans-serif;
795
- font-weight: var(--lat-font-weight-normal);
796
-
797
- &[data-size="sm"] {
798
- height: 24px;
799
- font-size: 12px;
800
- line-height: 24px;
801
-
802
- button {
803
- width: 14px;
804
- height: 14px;
805
- line-height: 14px;
806
- }
807
- }
808
-
809
- &[data-size="md"] {
810
- height: 28px;
811
- font-size: 12px;
812
- line-height: 28px;
813
-
814
- button {
815
- width: 18px;
816
- height: 18px;
817
- line-height: 18px;
818
- }
819
- }
820
-
821
- &[data-size="lg"] {
822
- height: 32px;
823
- font-size: 14px;
824
- line-height: 32px;
825
-
826
- button {
827
- width: 22px;
828
- height: 22px;
829
- line-height: 22px;
830
- }
831
- }
832
-
833
- button {
834
- display: inline-flex;
835
-
836
- align-items: center;
837
- justify-content: center;
838
-
839
- flex-shrink: 0;
840
-
841
- border-width: 1px;
842
- border-style: solid;
843
- border-color: var(--lat-checkbox-border-color);
844
- border-radius: 4px;
845
-
846
- color: var(--lat-checkbox-text-color);
847
- background-color: var(--lat-checkbox-background-color);
848
-
849
- transition-property: background, border, color, fill, opacity;
850
- transition-duration: .2s;
851
-
852
- &[aria-checked="true"] {
853
- --lat-checkbox-text-color: #ffffff;
854
- --lat-checkbox-border-color: var(--lat-primary-color);
855
- --lat-checkbox-background-color: var(--lat-primary-color);
856
- }
857
-
858
- &[aria-checked="false"] {
859
- --lat-checkbox-text-color: #ffffff;
860
- --lat-checkbox-border-color: var(--lat-outline-color);
861
- --lat-checkbox-background-color: var(--lat-background-color);
862
- }
863
- }
864
- }
865
-
866
-
867
-