@ardium-ui/ui 5.0.0-alpha.6 → 5.0.0-alpha.61

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 (245) hide show
  1. package/fesm2022/ardium-ui-ui.mjs +4809 -2358
  2. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  3. package/lib/_internal/disablable-component.d.ts +2 -1
  4. package/lib/_internal/focusable-component.d.ts +2 -1
  5. package/lib/_internal/form-field-component.d.ts +3 -2
  6. package/lib/_internal/item-storages/dropdown-item-storage.d.ts +20 -19
  7. package/lib/_internal/item-storages/simple-item-storage.d.ts +15 -12
  8. package/lib/_internal/item-storages/simplest-item-storage.d.ts +1 -1
  9. package/lib/_internal/ngmodel-component.d.ts +5 -8
  10. package/lib/_internal/selectable-list-component.d.ts +6 -6
  11. package/lib/_internal/utils/date.utils.d.ts +16 -0
  12. package/lib/badge/badge.directive.d.ts +3 -2
  13. package/lib/breakpoints/breakpoint.service.d.ts +12 -0
  14. package/lib/breakpoints/breakpoint.utils.d.ts +7 -0
  15. package/lib/breakpoints/breakpoints.d.ts +13 -0
  16. package/lib/breakpoints/index.d.ts +2 -0
  17. package/lib/buttons/_button-base.d.ts +12 -8
  18. package/lib/buttons/_button-base.defaults.d.ts +3 -2
  19. package/lib/buttons/button/button.component.d.ts +5 -5
  20. package/lib/buttons/button/button.defaults.d.ts +0 -2
  21. package/lib/buttons/button/button.directive.d.ts +17 -0
  22. package/lib/buttons/button/button.module.d.ts +3 -2
  23. package/lib/buttons/button/index.d.ts +1 -0
  24. package/lib/buttons/fab/fab.component.d.ts +3 -1
  25. package/lib/buttons/icon-button/icon-button.component.d.ts +6 -4
  26. package/lib/buttons/icon-button/icon-button.defaults.d.ts +2 -1
  27. package/lib/calendar/abstract-calendar.d.ts +128 -0
  28. package/lib/calendar/calendar.component.d.ts +8 -96
  29. package/lib/calendar/calendar.defaults.d.ts +16 -1
  30. package/lib/calendar/calendar.internal-directives.d.ts +24 -8
  31. package/lib/calendar/calendar.internal-types.d.ts +1 -0
  32. package/lib/calendar/calendar.module.d.ts +4 -9
  33. package/lib/calendar/calendar.types.d.ts +21 -5
  34. package/lib/calendar/index.d.ts +3 -0
  35. package/lib/calendar/range-calendar.component.d.ts +16 -0
  36. package/lib/calendar/range-calendar.directives.d.ts +51 -0
  37. package/lib/calendar/range-calendar.module.d.ts +10 -0
  38. package/lib/calendar/views/calendar-views.module.d.ts +13 -0
  39. package/lib/calendar/views/days-view/days-view.component.d.ts +20 -2
  40. package/lib/calendar/views/days-view/days-view.helpers.d.ts +2 -2
  41. package/lib/calendar/views/months-view/months-view.component.d.ts +15 -3
  42. package/lib/calendar/views/years-view/years-view.component.d.ts +16 -3
  43. package/lib/checkbox-list/checkbox-list.component.d.ts +9 -7
  44. package/lib/checkbox-list/checkbox-list.directives.d.ts +7 -0
  45. package/lib/checkbox-list/checkbox-list.module.d.ts +1 -1
  46. package/lib/chip/chip.component.d.ts +2 -1
  47. package/lib/chip/deletable-chip/deletable-chip.component.d.ts +2 -1
  48. package/lib/chip/selectable-chip/selectable-chip.component.d.ts +3 -2
  49. package/lib/dialog/dialog.component.d.ts +13 -8
  50. package/lib/dialog/dialog.types.d.ts +1 -0
  51. package/lib/divider/divider.component.d.ts +2 -1
  52. package/lib/dropdown-panel/dropdown-panel.component.d.ts +2 -1
  53. package/lib/file-inputs/file-input/file-input.component.d.ts +2 -1
  54. package/lib/file-inputs/file-input-base.d.ts +4 -5
  55. package/lib/form-field/auto-error/auto-error.component.d.ts +19 -0
  56. package/lib/form-field/auto-error/auto-error.provider.d.ts +7 -0
  57. package/lib/form-field/error/error.directive.d.ts +3 -2
  58. package/lib/form-field/form-field-base.d.ts +5 -2
  59. package/lib/form-field/form-field-child.token.d.ts +5 -5
  60. package/lib/form-field/form-field-native-inputs.d.ts +6 -11
  61. package/lib/form-field/form-field.component.d.ts +1 -1
  62. package/lib/form-field/form-field.defaults.d.ts +1 -0
  63. package/lib/form-field/form-field.module.d.ts +5 -4
  64. package/lib/form-field/hint/hint.directive.d.ts +3 -2
  65. package/lib/form-field/hint-error/hint-error.directive.d.ts +3 -2
  66. package/lib/form-field/horizontal-form-field.component.d.ts +1 -1
  67. package/lib/form-field/index.d.ts +4 -0
  68. package/lib/form-field/label/label.component.d.ts +3 -2
  69. package/lib/form-field-frame/form-field-frame.component.d.ts +4 -3
  70. package/lib/grid/grid.component.d.ts +51 -0
  71. package/lib/grid/grid.defaults.d.ts +16 -0
  72. package/lib/grid/grid.module.d.ts +7 -0
  73. package/lib/grid/grid.types.d.ts +38 -0
  74. package/lib/grid/grid.utils.d.ts +11 -0
  75. package/lib/grid/index.d.ts +4 -0
  76. package/lib/icon/icon.component.d.ts +2 -1
  77. package/lib/inputs/_simple-input-base.d.ts +7 -3
  78. package/lib/inputs/autocomplete-input/autocomplete-input.component.d.ts +5 -4
  79. package/lib/inputs/date-input/abstract-date-input.d.ts +112 -0
  80. package/lib/inputs/date-input/date-input.component.d.ts +19 -81
  81. package/lib/inputs/date-input/date-input.defaults.d.ts +21 -3
  82. package/lib/inputs/date-input/{date-input.directive.d.ts → date-input.directives.d.ts} +2 -2
  83. package/lib/inputs/date-input/date-input.module.d.ts +5 -4
  84. package/lib/inputs/date-input/date-input.serializers.d.ts +4 -2
  85. package/lib/inputs/date-input/date-input.types.d.ts +5 -4
  86. package/lib/inputs/date-input/date-range-input.component.d.ts +29 -0
  87. package/lib/inputs/date-input/date-range-input.directives.d.ts +82 -0
  88. package/lib/inputs/date-input/date-range-input.module.d.ts +17 -0
  89. package/lib/inputs/date-input/index.d.ts +7 -1
  90. package/lib/inputs/date-input/multipage-date-range-input.component.d.ts +44 -0
  91. package/lib/inputs/date-input/multipage-date-range-input.directives.d.ts +82 -0
  92. package/lib/inputs/date-input/multipage-date-range-input.module.d.ts +17 -0
  93. package/lib/inputs/digit-input/digit-input.component.d.ts +4 -3
  94. package/lib/inputs/hex-input/hex-input.component.d.ts +5 -3
  95. package/lib/inputs/input-utils.d.ts +6 -0
  96. package/lib/inputs/number-input/number-input.component.d.ts +18 -12
  97. package/lib/inputs/number-input/number-input.defaults.d.ts +4 -0
  98. package/lib/inputs/number-input/number-input.directives.d.ts +12 -0
  99. package/lib/inputs/number-input/number-input.module.d.ts +1 -1
  100. package/lib/inputs/password-input/password-input.component.d.ts +4 -3
  101. package/lib/kbd/kbd.component.d.ts +2 -1
  102. package/lib/kbd-shortcut/kbd-shortcut.component.d.ts +2 -1
  103. package/lib/modal/modal.component.d.ts +9 -6
  104. package/lib/modal/modal.defaults.d.ts +2 -0
  105. package/lib/option/option.component.d.ts +2 -1
  106. package/lib/progress-bar/progress-bar.component.d.ts +4 -3
  107. package/lib/progress-circle/progress-circle.component.d.ts +5 -4
  108. package/lib/search-functions.d.ts +1 -1
  109. package/lib/segment/segment.component.d.ts +6 -5
  110. package/lib/select/select.component.d.ts +38 -30
  111. package/lib/select/select.defaults.d.ts +9 -2
  112. package/lib/select/select.directive.d.ts +6 -0
  113. package/lib/select/select.module.d.ts +1 -1
  114. package/lib/select/select.types.d.ts +6 -2
  115. package/lib/select/select.utils.d.ts +2 -0
  116. package/lib/slider/abstract-slider.d.ts +35 -29
  117. package/lib/slider/index.d.ts +1 -0
  118. package/lib/slider/range-slider/range-slider.component.d.ts +12 -9
  119. package/lib/slider/range-slider/range-slider.types.d.ts +6 -0
  120. package/lib/slider/slider.component.d.ts +5 -4
  121. package/lib/slider/slider.types.d.ts +3 -3
  122. package/lib/star/rating-display/rating-display.component.d.ts +2 -1
  123. package/lib/star/rating-input/rating-input.component.d.ts +5 -3
  124. package/lib/star/rating-input/rating-input.defaults.d.ts +2 -2
  125. package/lib/tabber/index.d.ts +2 -1
  126. package/lib/tabber/tab/tab.component.d.ts +14 -8
  127. package/lib/tabber/tabber.component.d.ts +25 -9
  128. package/lib/tabber/tabber.defaults.d.ts +1 -0
  129. package/lib/tabber/tabber.directives.d.ts +9 -0
  130. package/lib/tabber/tabber.module.d.ts +3 -2
  131. package/lib/tabber/tabber.types.d.ts +5 -0
  132. package/lib/table/table.component.d.ts +16 -15
  133. package/lib/table-pagination/table-pagination.component.d.ts +4 -3
  134. package/lib/text-list/text-list.component.d.ts +2 -1
  135. package/lib/types/item-storage.types.d.ts +17 -18
  136. package/package.json +2 -1
  137. package/prebuilt-themes/default/buttons/button.css +74 -58
  138. package/prebuilt-themes/default/buttons/button.css.map +1 -1
  139. package/prebuilt-themes/default/buttons/fab.css +64 -51
  140. package/prebuilt-themes/default/buttons/fab.css.map +1 -1
  141. package/prebuilt-themes/default/buttons/icon-button.css +50 -44
  142. package/prebuilt-themes/default/buttons/icon-button.css.map +1 -1
  143. package/prebuilt-themes/default/calendar.css +131 -55
  144. package/prebuilt-themes/default/calendar.css.map +1 -1
  145. package/prebuilt-themes/default/card.css.map +1 -1
  146. package/prebuilt-themes/default/checkbox-list.css +48 -22
  147. package/prebuilt-themes/default/checkbox-list.css.map +1 -1
  148. package/prebuilt-themes/default/checkbox.css +4 -4
  149. package/prebuilt-themes/default/chips.css +74 -42
  150. package/prebuilt-themes/default/chips.css.map +1 -1
  151. package/prebuilt-themes/default/color-display.css +1 -1
  152. package/prebuilt-themes/default/core.css +10 -1
  153. package/prebuilt-themes/default/core.css.map +1 -1
  154. package/prebuilt-themes/default/dialog.css +7 -2
  155. package/prebuilt-themes/default/dialog.css.map +1 -1
  156. package/prebuilt-themes/default/dropdown-panel.css.map +1 -1
  157. package/prebuilt-themes/default/form-field-frame.css +6 -2
  158. package/prebuilt-themes/default/form-field-frame.css.map +1 -1
  159. package/prebuilt-themes/default/form-field.css +62 -29
  160. package/prebuilt-themes/default/form-field.css.map +1 -1
  161. package/prebuilt-themes/default/inputs/autocomplete-input.css +61 -25
  162. package/prebuilt-themes/default/inputs/autocomplete-input.css.map +1 -1
  163. package/prebuilt-themes/default/inputs/color-input.css +5 -44
  164. package/prebuilt-themes/default/inputs/color-input.css.map +1 -1
  165. package/prebuilt-themes/default/inputs/date-input.css +69 -21
  166. package/prebuilt-themes/default/inputs/date-input.css.map +1 -1
  167. package/prebuilt-themes/default/inputs/digit-input.css +1 -1
  168. package/prebuilt-themes/default/inputs/digit-input.css.map +1 -1
  169. package/prebuilt-themes/default/inputs/file-input.css +102 -62
  170. package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
  171. package/prebuilt-themes/default/inputs/hex-input.css +38 -20
  172. package/prebuilt-themes/default/inputs/hex-input.css.map +1 -1
  173. package/prebuilt-themes/default/inputs/input.css +31 -15
  174. package/prebuilt-themes/default/inputs/input.css.map +1 -1
  175. package/prebuilt-themes/default/inputs/number-input.css +42 -22
  176. package/prebuilt-themes/default/inputs/number-input.css.map +1 -1
  177. package/prebuilt-themes/default/inputs/password-input.css +58 -22
  178. package/prebuilt-themes/default/inputs/password-input.css.map +1 -1
  179. package/prebuilt-themes/default/inputs/search-bar.css +33 -16
  180. package/prebuilt-themes/default/inputs/search-bar.css.map +1 -1
  181. package/prebuilt-themes/default/kbd-shortcut.css +8 -4
  182. package/prebuilt-themes/default/kbd-shortcut.css.map +1 -1
  183. package/prebuilt-themes/default/kbd.css +19 -9
  184. package/prebuilt-themes/default/kbd.css.map +1 -1
  185. package/prebuilt-themes/default/modal.css +46 -22
  186. package/prebuilt-themes/default/modal.css.map +1 -1
  187. package/prebuilt-themes/default/progress-circle.css.map +1 -1
  188. package/prebuilt-themes/default/radio.css +46 -28
  189. package/prebuilt-themes/default/radio.css.map +1 -1
  190. package/prebuilt-themes/default/segment.css +71 -61
  191. package/prebuilt-themes/default/segment.css.map +1 -1
  192. package/prebuilt-themes/default/select.css +78 -44
  193. package/prebuilt-themes/default/select.css.map +1 -1
  194. package/prebuilt-themes/default/slide-toggle.css +88 -37
  195. package/prebuilt-themes/default/slide-toggle.css.map +1 -1
  196. package/prebuilt-themes/default/slider.css +93 -52
  197. package/prebuilt-themes/default/slider.css.map +1 -1
  198. package/prebuilt-themes/default/stars.css +4 -4
  199. package/prebuilt-themes/default/stars.css.map +1 -1
  200. package/prebuilt-themes/default/statebox.css +5 -5
  201. package/prebuilt-themes/default/tabber.css +47 -16
  202. package/prebuilt-themes/default/tabber.css.map +1 -1
  203. package/prebuilt-themes/default/table.css +0 -8
  204. package/prebuilt-themes/default/table.css.map +1 -1
  205. package/public-api.d.ts +2 -0
  206. package/themes/_variables.scss +2 -1
  207. package/themes/default/_mixins.scss +5 -5
  208. package/themes/default/buttons/_button-mixins.scss +43 -33
  209. package/themes/default/buttons/button.scss +54 -29
  210. package/themes/default/buttons/fab.scss +47 -26
  211. package/themes/default/buttons/icon-button.scss +40 -17
  212. package/themes/default/calendar.scss +148 -58
  213. package/themes/default/checkbox-list.scss +47 -21
  214. package/themes/default/chips.scss +70 -39
  215. package/themes/default/color-display.scss +1 -1
  216. package/themes/default/core.scss +13 -1
  217. package/themes/default/dialog.scss +9 -2
  218. package/themes/default/form-field-frame.scss +9 -4
  219. package/themes/default/form-field.scss +64 -28
  220. package/themes/default/inputs/_shared.scss +30 -9
  221. package/themes/default/inputs/autocomplete-input.scss +69 -14
  222. package/themes/default/inputs/color-input.scss +2 -2
  223. package/themes/default/inputs/date-input.scss +54 -5
  224. package/themes/default/inputs/digit-input.scss +1 -1
  225. package/themes/default/inputs/file-input.scss +86 -23
  226. package/themes/default/inputs/hex-input.scss +46 -9
  227. package/themes/default/inputs/input.scss +39 -4
  228. package/themes/default/inputs/number-input.scss +55 -15
  229. package/themes/default/inputs/password-input.scss +72 -15
  230. package/themes/default/inputs/search-bar.scss +41 -5
  231. package/themes/default/kbd-shortcut.scss +10 -4
  232. package/themes/default/kbd.scss +26 -9
  233. package/themes/default/modal.scss +56 -22
  234. package/themes/default/radio.scss +47 -26
  235. package/themes/default/segment.scss +77 -67
  236. package/themes/default/select.scss +98 -42
  237. package/themes/default/slide-toggle.scss +134 -59
  238. package/themes/default/slider.scss +102 -65
  239. package/themes/default/statebox.scss +1 -1
  240. package/themes/default/tabber.scss +48 -13
  241. package/themes/default/table.scss +8 -8
  242. package/lib/tabber/tab/tab.defaults.d.ts +0 -6
  243. package/prebuilt-themes/default/calendar-OLD.css +0 -294
  244. package/prebuilt-themes/default/calendar-OLD.css.map +0 -1
  245. package/themes/default/calendar-OLD.scss +0 -183
@@ -4,18 +4,73 @@
4
4
  @use '../coloring' as CM;
5
5
  @use '../../variables' as ARD;
6
6
 
7
+ // the variables are commented out intentionally
8
+ // read more in docs/dev/css-variables.md
9
+ :root {
10
+ // --ard-file-input-height: ;
11
+ // --ard-file-input-height-compact: ;
12
+ --ard-file-input-gap: 0.625rem;
13
+ // --ard-file-input-font-size: ;
14
+ // --ard-file-input-font-size-compact: ;
15
+ --ard-file-input-line-height: 1.25;
16
+ --ard-file-input-line-height-compact: 1;
17
+ --ard-file-input-font-weight: 400;
18
+ // --ard-file-input-padding: ;
19
+ // --ard-file-input-padding-compact: ;
20
+ // --ard-file-input-color: ;
21
+ // --ard-file-input-placeholder-color: ;
22
+ --ard-file-input-placeholder-opacity: 60%;
23
+
24
+ --ard-file-input-min-width: 10rem;
25
+ --ard-file-input-max-width: 100%;
26
+ --ard-file-input-gap: 0.375rem;
27
+ --ard-file-input-dragover-outline-width: 2px;
28
+ --ard-file-input-dragover-outline-style: solid;
29
+ --ard-file-input-browse-button-height: calc(100% - 0.25rem);
30
+ --ard-file-input-browse-button-width: unset;
31
+ --ard-file-input-browse-button-margin: 0.125rem;
32
+ --ard-file-input-browse-button-aspect-ratio: 1;
33
+ --ard-file-input-browse-button-border: none;
34
+ --ard-file-input-browse-button-border-radius: 9999px;
35
+ --ard-file-input-browse-button-background: none;
36
+ --ard-file-input-browse-button-padding: 0;
37
+ // --ard-file-input-browse-button-color: ;
38
+ // --ard-file-input-browse-button-color-error: ;
39
+ --ard-file-input-browse-button-overlay-offset: 0rem;
40
+ // --ard-file-input-browse-button-overlay-color: ;
41
+ --ard-file-input-browse-button-overlay-hover-opacity: 4%;
42
+ --ard-file-input-browse-button-overlay-focus-opacity: 0;
43
+ --ard-file-input-browse-button-overlay-active-opacity: 12%;
44
+ --ard-file-input-browse-button-overlay-focus-visible-opacity: 16%;
45
+ --ard-file-input-file-name-font-weight: 500;
46
+ --ard-file-input-file-ext-font-weight: 500;
47
+ }
48
+
7
49
  .ard-file-input-form-field-frame {
8
50
  .ard-form-field-overlay {
9
51
  display: none;
10
52
  }
11
53
  }
12
54
  .ard-file-input {
55
+ @include inputMixin.genericInput(
56
+ var(--ard-file-input-height, var(--ard-form-field-height, 2.3125rem)),
57
+ var(--ard-file-input-height-compact, var(--ard-form-field-height-compact, 1.6875rem)),
58
+ var(--ard-file-input-gap, 0.625rem),
59
+ var(--ard-file-input-font-size, var(--ard-form-field-font-size, 1rem)),
60
+ var(--ard-file-input-font-size-compact, var(--ard-form-field-font-size-compact, 0.875rem)),
61
+ var(--ard-file-input-line-height, 1.25),
62
+ var(--ard-file-input-line-height-compact, 1),
63
+ var(--ard-file-input-font-weight, 400),
64
+ var(--ard-file-input-padding, var(--ard-form-field-padding, 0 0.375rem)),
65
+ var(--ard-file-input-padding-compact, var(--ard-form-field-padding-compact, 0 0.375rem)),
66
+ var(--ard-file-input-color, #{ARD.$text}),
67
+ var(--ard-file-input-placeholder-color, #{ARD.$text}),
68
+ var(--ard-file-input-placeholder-opacity, 60%)
69
+ );
13
70
  @include CM.typeColors();
14
- @include inputMixin.genericInput();
15
- padding: 0 0.375rem;
16
- min-width: 10rem;
17
- max-width: 100%;
18
- gap: 0.375rem;
71
+ min-width: var(--ard-file-input-min-width, 10rem);
72
+ max-width: var(--ard-file-input-max-width, 100%);
73
+ gap: var(--ard-file-input-gap, 0.375rem);
19
74
  cursor: default;
20
75
  border-radius: var(--ard-variant-border-radius);
21
76
 
@@ -25,23 +80,25 @@
25
80
  }
26
81
 
27
82
  &.ard-state-dragover {
28
- outline: 2px solid var(--ard-cmpcl--content-light);
83
+ outline: var(--ard-file-input-dragover-outline-width, 2px) var(--ard-file-input-dragover-outline-style, solid)
84
+ var(--ard-cmpcl--content-light);
29
85
  }
30
86
 
31
87
  .ard-file-input__value {
32
- font-size: 92%;
33
88
  overflow: hidden;
34
89
  text-overflow: ellipsis;
35
- max-height: 1.25rem;
36
90
  }
37
91
  .ard-browse-button {
38
92
  cursor: pointer;
39
- height: calc(100% - 0.25rem);
40
- margin: 0.125rem;
41
- aspect-ratio: 1;
42
- border: none;
43
- background: none;
44
- padding: 0;
93
+ height: var(--ard-file-input-browse-button-height, calc(100% - 0.25rem));
94
+ width: var(--ard-file-input-browse-button-width, unset);
95
+ margin: var(--ard-file-input-browse-button-margin, 0.125rem);
96
+ aspect-ratio: var(--ard-file-input-browse-button-aspect-ratio, 1);
97
+ border: var(--ard-file-input-browse-button-border, none);
98
+ border-radius: var(--ard-file-input-browse-button-border-radius, 9999px);
99
+ background: var(--ard-file-input-browse-button-background, none);
100
+ padding: var(--ard-file-input-browse-butto-padding, 0);
101
+ color: var(--ard-file-input-browse-button-color, #{ARD.$text});
45
102
  position: relative;
46
103
  display: flex;
47
104
  justify-content: center;
@@ -49,28 +106,28 @@
49
106
  outline: none;
50
107
 
51
108
  .ard-focus-overlay {
52
- @include defaultMixins.focus-overlay(0.25rem);
53
- background: ARD.$overlay;
54
- border-radius: 9999px;
109
+ @include defaultMixins.focus-overlay(var(--ard-file-input-browse-button-overlay-offset, 0.25rem));
110
+ background: var(--ard-file-input-browse-button-overlay-color, #{ARD.$overlay});
111
+ border-radius: var(--ard-file-input-browse-button-border-radius, 9999px);
55
112
  }
56
113
  &:hover {
57
114
  .ard-focus-overlay {
58
- opacity: 4%;
115
+ opacity: var(--ard-file-input-browse-button-overlay-hover-opacity, 4%);
59
116
  }
60
117
  }
61
118
  &:focus {
62
119
  .ard-focus-overlay {
63
- opacity: 8%;
120
+ opacity: var(--ard-file-input-browse-button-overlay-focus-opacity, 8%);
64
121
  }
65
122
  }
66
123
  &:active {
67
124
  .ard-focus-overlay {
68
- opacity: 12%;
125
+ opacity: var(--ard-file-input-browse-button-overlay-active-opacity, 12%);
69
126
  }
70
127
  }
71
128
  &:focus-visible {
72
129
  .ard-focus-overlay {
73
- opacity: 16%;
130
+ opacity: var(--ard-file-input-browse-button-overlay-focus-visible-opacity, 16%);
74
131
  }
75
132
  }
76
133
  }
@@ -92,7 +149,13 @@
92
149
  .ard-file-input__full-file-name {
93
150
  display: grid;
94
151
  grid-template-columns: 1fr max-content;
95
- font-weight: 500;
152
+
153
+ .ard-file-input__file-name {
154
+ font-weight: var(--ard-file-input-file-name-font-weight, 500);
155
+ }
156
+ .ard-file-input__file-ext {
157
+ font-weight: var(--ard-file-input-file-ext-font-weight, 500);
158
+ }
96
159
  }
97
160
  }
98
161
  ard-file-input .ard-form-field-content-container {
@@ -102,7 +165,7 @@ ard-file-input .ard-form-field-frame {
102
165
  &.ard-has-error .ard-file-input {
103
166
  .ard-file-input__value,
104
167
  .ard-browse-button {
105
- color: ARD.$danger700;
168
+ color: var(--ard-file-input-browse-button-color-error, #{ARD.$danger700});
106
169
  }
107
170
  }
108
171
  }
@@ -3,25 +3,62 @@
3
3
  @use '../clear-button' as CB;
4
4
  @use '../../variables' as ARD;
5
5
 
6
+ // the variables are commented out intentionally
7
+ // read more in docs/dev/css-variables.md
8
+ :root {
9
+ // --ard-hex-input-height: ;
10
+ // --ard-hex-input-height-compact: ;
11
+ --ard-hex-input-gap: 0.625rem;
12
+ // --ard-hex-input-font-size: ;
13
+ // --ard-hex-input-font-size-compact: ;
14
+ --ard-hex-input-line-height: 1.25;
15
+ --ard-hex-input-line-height-compact: 1;
16
+ --ard-hex-input-font-weight: 400;
17
+ // --ard-hex-input-padding: ;
18
+ // --ard-hex-input-padding-compact: ;
19
+ // --ard-hex-input-color: ;
20
+ // --ard-hex-input-placeholder-color: ;
21
+ --ard-hex-input-placeholder-opacity: 60%;
22
+
23
+ --ard-hex-input-min-width: 10rem;
24
+ --ard-hex-input-max-width: 100%;
25
+ --ard-hex-input-hash-margin: 0 0 -0.5rem 0;
26
+ // --ard-hex-input-hash-color: ;
27
+ --ard-hex-input-hash-opacity: 70%;
28
+ }
29
+
6
30
  .ard-hex-input {
7
- @include inputMixin.genericInput();
8
- padding: 0 0.375rem;
9
- min-width: 10rem;
10
- max-width: 100%;
31
+ @include inputMixin.genericInput(
32
+ var(--ard-hex-input-height, var(--ard-form-field-height, 2.3125rem)),
33
+ var(--ard-hex-input-height-compact, var(--ard-form-field-height-compact, 1.6875rem)),
34
+ var(--ard-hex-input-gap, 0.625rem),
35
+ var(--ard-hex-input-font-size, var(--ard-form-field-font-size, 1rem)),
36
+ var(--ard-hex-input-font-size-compact, var(--ard-form-field-font-size-compact, 0.875rem)),
37
+ var(--ard-hex-input-line-height, 1.25),
38
+ var(--ard-hex-input-line-height-compact, 1),
39
+ var(--ard-hex-input-font-weight, 400),
40
+ var(--ard-hex-input-padding, var(--ard-form-field-padding, 0 0.375rem)),
41
+ var(--ard-hex-input-padding-compact, var(--ard-form-field-padding-compact, 0 0.375rem)),
42
+ var(--ard-hex-input-color, #{ARD.$text}),
43
+ var(--ard-hex-input-placeholder-color, #{ARD.$text}),
44
+ var(--ard-hex-input-placeholder-opacity, 60%)
45
+ );
46
+ min-width: var(--ard-hex-input-min-width, 10rem);
47
+ max-width: var(--ard-hex-input-max-width, 100%);
11
48
 
12
49
  @include CB.clearButton();
13
50
 
14
51
  .ard-input-container {
15
52
  input {
16
- font-family: monospace;
53
+ font-family: var(--ard-font-family-mono);
17
54
  }
18
55
  }
19
56
 
20
57
  .ard-hash-container {
21
- margin-right: -0.5rem;
22
- color: ARD.$text3;
23
- opacity: 70%;
58
+ margin: var(--ard-hex-input-hash-margin, 0 0 -0.5rem 0);
59
+ color: var(--ard-hex-input-hash-color, #{ARD.$text});
60
+ opacity: var(--ard-hex-input-hash-opacity, 70%);
24
61
  user-select: none;
25
- font-family: monospace;
62
+ font-family: var(--ard-font-family-mono);
26
63
  }
27
64
  }
@@ -1,12 +1,47 @@
1
1
  @use './shared' as inputMixin;
2
2
  @use '../mixins' as defaultMixins;
3
3
  @use '../clear-button' as CB;
4
+ @use '../../variables' as ARD;
5
+
6
+ // the variables are commented out intentionally
7
+ // read more in docs/dev/css-variables.md
8
+ :root {
9
+ // --ard-input-height: ;
10
+ // --ard-input-height-compact: ;
11
+ --ard-input-gap: 0.625rem;
12
+ // --ard-input-font-size: ;
13
+ // --ard-input-font-size-compact: ;
14
+ --ard-input-line-height: 1.25;
15
+ --ard-input-line-height-compact: 1;
16
+ --ard-input-font-weight: 400;
17
+ // --ard-input-padding: ;
18
+ // --ard-input-padding-compact: ;
19
+ // --ard-input-color: ;
20
+ // --ard-input-placeholder-color: ;
21
+ --ard-input-placeholder-opacity: 60%;
22
+
23
+ --ard-input-min-width: 10rem;
24
+ --ard-input-max-width: 100%;
25
+ }
4
26
 
5
27
  .ard-input {
6
- @include inputMixin.genericInput();
7
- padding: 0 0.375rem;
8
- min-width: 10rem;
9
- max-width: 100%;
28
+ @include inputMixin.genericInput(
29
+ var(--ard-input-height, var(--ard-form-field-height, 2.3125rem)),
30
+ var(--ard-input-height-compact, var(--ard-form-field-height-compact, 1.6875rem)),
31
+ var(--ard-input-gap, 0.625rem),
32
+ var(--ard-input-font-size, var(--ard-form-field-font-size, 1rem)),
33
+ var(--ard-input-font-size-compact, var(--ard-form-field-font-size-compact, 0.875rem)),
34
+ var(--ard-input-line-height, 1.25),
35
+ var(--ard-input-line-height-compact, 1),
36
+ var(--ard-input-font-weight, 400),
37
+ var(--ard-input-padding, var(--ard-form-field-padding, 0 0.375rem)),
38
+ var(--ard-input-padding-compact, var(--ard-form-field-padding-compact, 0 0.375rem)),
39
+ var(--ard-input-color, #{ARD.$text}),
40
+ var(--ard-input-placeholder-color, #{ARD.$text}),
41
+ var(--ard-input-placeholder-opacity, 60%)
42
+ );
43
+ min-width: var(--ard-input-min-width, 10rem);
44
+ max-width: var(--ard-input-max-width, 100%);
10
45
 
11
46
  @include CB.clearButton();
12
47
  }
@@ -2,33 +2,67 @@
2
2
  @use '../mixins' as defaultMixins;
3
3
  @use '../../variables' as ARD;
4
4
 
5
- ard-number-input {
6
- width: 9.5rem;
5
+ // the variables are commented out intentionally
6
+ // read more in docs/dev/css-variables.md
7
+ :root {
8
+ // --ard-number-input-height: ;
9
+ // --ard-number-input-height-compact: ;
10
+ --ard-number-input-gap: 0.625rem;
11
+ // --ard-number-input-font-size: ;
12
+ // --ard-number-input-font-size-compact: ;
13
+ --ard-number-input-line-height: 1.25;
14
+ --ard-number-input-line-height-compact: 1;
15
+ --ard-number-input-font-weight: 400;
16
+ // --ard-number-input-padding: ;
17
+ // --ard-number-input-padding-compact: ;
18
+ // --ard-number-input-color: ;
19
+ // --ard-number-input-placeholder-color: ;
20
+ --ard-number-input-placeholder-opacity: 60%;
21
+
22
+ // --ard-number-input-width: ;
23
+ --ard-number-input-rounded-border-radius: 8px;
24
+ }
7
25
 
8
- &:not(:has(.ard-quick-change-button)) {
9
- width: 6rem;
10
- }
26
+ ard-number-input {
27
+ width: var(--ard-number-input-width, unset);
11
28
  }
12
29
 
13
30
  .ard-number-input {
14
- @include inputMixin.genericInput();
31
+ @include inputMixin.genericInput(
32
+ var(--ard-number-input-height, var(--ard-form-field-height, 2.3125rem)),
33
+ var(--ard-number-input-height-compact, var(--ard-form-field-height-compact, 1.6875rem)),
34
+ var(--ard-number-input-gap, 0.625rem),
35
+ var(--ard-number-input-font-size, var(--ard-form-field-font-size, 1rem)),
36
+ var(--ard-number-input-font-size-compact, var(--ard-form-field-font-size-compact, 0.875rem)),
37
+ var(--ard-number-input-line-height, 1.25),
38
+ var(--ard-number-input-line-height-compact, 1),
39
+ var(--ard-number-input-font-weight, 400),
40
+ var(--ard-number-input-padding, var(--ard-form-field-padding, 0 0.375rem)),
41
+ var(--ard-number-input-padding-compact, var(--ard-form-field-padding-compact, 0 0.375rem)),
42
+ var(--ard-number-input-color, #{ARD.$text}),
43
+ var(--ard-number-input-placeholder-color, #{ARD.$text}),
44
+ var(--ard-number-input-placeholder-opacity, 60%)
45
+ );
15
46
  @include defaultMixins.formAppearances();
16
- min-height: 2.1875rem;
17
- height: 2.1875rem;
18
47
  gap: 0;
19
48
  width: 100%;
20
49
 
21
50
  .ard-input-container {
22
51
  height: 100%;
23
52
  max-width: 100%;
53
+ padding: var(--ard-number-input-padding, var(--ard-form-field-padding, 0 0.375rem));
24
54
 
25
55
  & > input {
26
56
  width: 100%;
27
57
  }
28
58
  }
59
+ .ard-placeholder {
60
+ padding: var(--ard-number-input-padding, var(--ard-form-field-padding, 0 0.375rem));
61
+ }
29
62
 
30
63
  .ard-quick-change-button {
31
64
  position: relative;
65
+ min-width: var(--ard-number-input-height, var(--ard-form-field-height, 2.3125rem));
32
66
 
33
67
  .ard-button {
34
68
  height: 100%;
@@ -63,11 +97,11 @@ ard-number-input {
63
97
 
64
98
  //! variants
65
99
  &.ard-variant-rounded {
66
- border-radius: 8px;
100
+ border-radius: var(--ard-number-input-rounded-border-radius, 8px);
67
101
 
68
102
  &.ard-quick-change-false {
69
103
  .ard-input-container {
70
- border-radius: 8px;
104
+ border-radius: var(--ard-number-input-rounded-border-radius, 8px);
71
105
  }
72
106
  }
73
107
  }
@@ -79,8 +113,8 @@ ard-number-input {
79
113
 
80
114
  .ard-button {
81
115
  border-radius: 9999px !important;
82
- height: 30px;
83
- width: 30px;
116
+ width: var(--ard-number-input-height, var(--ard-form-field-height, 2.3125rem));
117
+ height: var(--ard-number-input-height, var(--ard-form-field-height, 2.3125rem));
84
118
  margin: 0 2px;
85
119
  }
86
120
 
@@ -111,9 +145,15 @@ ard-number-input {
111
145
 
112
146
  //! compact
113
147
  &.ard-compact {
114
- min-height: 1.6875rem;
115
- height: 1.6875rem;
116
- font-size: 0.925rem;
148
+ .ard-input-container {
149
+ padding: var(--ard-number-input-padding-compact, var(--ard-form-field-padding-compact, 0 0.375rem));
150
+ }
151
+ .ard-placeholder {
152
+ padding: var(--ard-number-input-padding-compact, var(--ard-form-field-padding-compact, 0 0.375rem));
153
+ }
154
+ .ard-quick-change-button {
155
+ min-width: var(--ard-number-input-height-compact, var(--ard-form-field-height-compact, 1.6875rem));
156
+ }
117
157
  }
118
158
  }
119
159
 
@@ -3,11 +3,59 @@
3
3
  @use '../clear-button' as CB;
4
4
  @use '../../variables' as ARD;
5
5
 
6
+ // the variables are commented out intentionally
7
+ // read more in docs/dev/css-variables.md
8
+ :root {
9
+ // --ard-password-input-height: ;
10
+ // --ard-password-input-height-compact: ;
11
+ --ard-password-input-gap: 0.625rem;
12
+ // --ard-password-input-font-size: ;
13
+ // --ard-password-input-font-size-compact: ;
14
+ --ard-password-input-line-height: 1.25;
15
+ --ard-password-input-line-height-compact: 1;
16
+ --ard-password-input-font-weight: 400;
17
+ // --ard-password-input-padding: ;
18
+ // --ard-password-input-padding-compact: ;
19
+ // --ard-password-input-color: ;
20
+ // --ard-password-input-placeholder-color: ;
21
+ --ard-password-input-placeholder-opacity: 60%;
22
+
23
+ --ard-password-input-min-width: 10rem;
24
+ --ard-password-input-max-width: 100%;
25
+ --ard-password-input-disabled-opacity: 50%;
26
+ --ard-password-input-reveal-button-margin: 0.125rem;
27
+ --ard-password-input-reveal-button-font-size: 0.8rem;
28
+ --ard-password-input-reveal-button-height: calc(100% - 0.25rem);
29
+ --ard-password-input-reveal-button-width: unset;
30
+ --ard-password-input-reveal-button-aspect-ratio: 1;
31
+ --ard-password-input-reveal-button-padding: 0;
32
+ // --ard-password-input-reveal-button-color: ;
33
+ --ard-password-input-reveal-button-border-radius: 9999px;
34
+ --ard-password-input-reveal-button-border: none;
35
+ --ard-password-input-reveal-button-background: transparent;
36
+ --ard-password-input-reveal-button-hover-background: rgba(0, 0, 0, 4%);
37
+ --ard-password-input-reveal-button-focus-background: rgba(0, 0, 0, 12%);
38
+ --ard-password-input-reveal-button-active-background: rgba(0, 0, 0, 20%);
39
+ }
40
+
6
41
  .ard-password-input {
7
- @include inputMixin.genericInput();
8
- padding: 0 0.375rem;
9
- min-width: 10rem;
10
- max-width: 100%;
42
+ @include inputMixin.genericInput(
43
+ var(--ard-password-input-height, var(--ard-form-field-height, 2.3125rem)),
44
+ var(--ard-password-input-height-compact, var(--ard-form-field-height-compact, 1.6875rem)),
45
+ var(--ard-password-input-gap, 0.625rem),
46
+ var(--ard-password-input-font-size, var(--ard-form-field-font-size, 1rem)),
47
+ var(--ard-password-input-font-size-compact, var(--ard-form-field-font-size-compact, 0.875rem)),
48
+ var(--ard-password-input-line-height, 1.25),
49
+ var(--ard-password-input-line-height-compact, 1),
50
+ var(--ard-password-input-font-weight, 400),
51
+ var(--ard-password-input-padding, var(--ard-form-field-padding, 0 0.375rem)),
52
+ var(--ard-password-input-padding-compact, var(--ard-form-field-padding-compact, 0 0.375rem)),
53
+ var(--ard-password-input-color, #{ARD.$text}),
54
+ var(--ard-password-input-placeholder-color, #{ARD.$text}),
55
+ var(--ard-password-input-placeholder-opacity, 60%)
56
+ );
57
+ min-width: var(--ard-password-input-min-width, 10rem);
58
+ max-width: var(--ard-password-input-max-width, 100%);
11
59
 
12
60
  &.ard-revealable {
13
61
  padding-right: 0;
@@ -17,27 +65,36 @@
17
65
  display: flex;
18
66
  align-items: center;
19
67
  justify-content: center;
20
- padding: 0;
21
- margin: 0.125rem;
22
- height: calc(100% - 0.25rem);
23
- aspect-ratio: 1;
24
- font-size: 0.8rem;
25
- border-radius: 9999px;
26
- border: none;
27
- background: transparent;
68
+ padding: var(--ard-password-input-reveal-button-padding, 0);
69
+ color: var(--ard-password-input-reveal-button-color, #{ARD.$text});
70
+ margin: var(--ard-password-input-reveal-button-margin, 0.125rem);
71
+ height: var(--ard-password-input-reveal-button-height, calc(100% - 0.25rem));
72
+ width: var(--ard-password-input-reveal-button-width, unset);
73
+ aspect-ratio: var(--ard-password-input-reveal-button-aspect-ratio, 1);
74
+ font-size: var(--ard-password-input-reveal-button-font-size, 0.8rem);
75
+ border-radius: var(--ard-password-input-reveal-button-border-radius, 9999px);
76
+ border: var(--ard-password-input-reveal-button-border, none);
77
+ background: var(--ard-password-input-reveal-button-background, transparent);
28
78
  outline: none;
29
79
  cursor: pointer;
30
80
 
31
81
  transition: background-color 0.2s ARD.$timing-fn;
32
82
 
33
83
  &:hover {
34
- background: rgba(0, 0, 0, 4%);
84
+ background: var(--ard-password-input-reveal-button-hover-background, rgba(0, 0, 0, 4%));
35
85
  }
36
86
  &:focus {
37
- background: rgba(0, 0, 0, 12%);
87
+ background: var(--ard-password-input-reveal-button-focus-background, rgba(0, 0, 0, 12%));
38
88
  }
39
89
  &:active {
40
- background: rgba(0, 0, 0, 20%);
90
+ background: var(--ard-password-input-reveal-button-active-background, rgba(0, 0, 0, 20%));
41
91
  }
42
92
  }
43
93
  }
94
+ //! disabled state
95
+ .ard-disabled {
96
+ .ard-password-input {
97
+ pointer-events: none;
98
+ opacity: var(--ard-password-input-disabled-opacity, 50%);
99
+ }
100
+ }
@@ -1,12 +1,48 @@
1
1
  @use './shared' as inputMixin;
2
2
  @use '../mixins' as defaultMixins;
3
3
  @use '../clear-button' as CB;
4
+ @use '../../variables' as ARD;
5
+
6
+ // the variables are commented out intentionally
7
+ // read more in docs/dev/css-variables.md
8
+ :root {
9
+ // --ard-search-bar-height: ;
10
+ // --ard-search-bar-height-compact: ;
11
+ --ard-search-bar-gap: 0.625rem;
12
+ // --ard-search-bar-font-size: ;
13
+ // --ard-search-bar-font-size-compact: ;
14
+ --ard-search-bar-line-height: 1.25;
15
+ --ard-search-bar-line-height-compact: 1;
16
+ --ard-search-bar-font-weight: 400;
17
+ // --ard-search-bar-padding: ;
18
+ // --ard-search-bar-padding-compact: ;
19
+ // --ard-search-bar-color: ;
20
+ // --ard-search-bar-placeholder-color: ;
21
+ --ard-search-bar-placeholder-opacity: 60%;
22
+
23
+ --ard-search-bar-min-width: 10rem;
24
+ --ard-search-bar-max-width: 100%;
25
+ --ard-search-bar-disabled-opacity: 50%;
26
+ }
4
27
 
5
28
  .ard-search-bar {
6
- @include inputMixin.genericInput();
7
- padding: 0 0.375rem;
8
- min-width: 10rem;
9
- max-width: 100%;
29
+ @include inputMixin.genericInput(
30
+ var(--ard-search-bar-height, var(--ard-form-field-height, 2.3125rem)),
31
+ var(--ard-search-bar-height-compact, var(--ard-form-field-height-compact, 1.6875rem)),
32
+ var(--ard-search-bar-gap, 0.625rem),
33
+ var(--ard-search-bar-font-size, var(--ard-form-field-font-size, 1rem)),
34
+ var(--ard-search-bar-font-size-compact, var(--ard-form-field-font-size-compact, 0.875rem)),
35
+ var(--ard-search-bar-line-height, 1.25),
36
+ var(--ard-search-bar-line-height-compact, 1),
37
+ var(--ard-search-bar-font-weight, 400),
38
+ var(--ard-search-bar-padding, var(--ard-form-field-padding, 0 0.375rem)),
39
+ var(--ard-search-bar-padding-compact, var(--ard-form-field-padding-compact, 0 0.375rem)),
40
+ var(--ard-search-bar-color, #{ARD.$text}),
41
+ var(--ard-search-bar-placeholder-color, #{ARD.$text}),
42
+ var(--ard-search-bar-placeholder-opacity, 60%)
43
+ );
44
+ min-width: var(--ard-search-bar-min-width, 10rem);
45
+ max-width: var(--ard-search-bar-max-width, 100%);
10
46
 
11
47
  @include CB.clearButton();
12
48
  }
@@ -14,6 +50,6 @@
14
50
  .ard-disabled {
15
51
  .ard-search-bar {
16
52
  pointer-events: none;
17
- opacity: 50%;
53
+ opacity: var(--ard-search-bar-disabled-opacity, 50%);
18
54
  }
19
55
  }
@@ -1,13 +1,19 @@
1
1
  @use '../variables' as ARD;
2
2
 
3
+ // the variables are commented out intentionally
4
+ // read more in docs/dev/css-variables.md
5
+ :root {
6
+ --ard-kbd-shortcut-font-size: 0.875em;
7
+ --ard-kbd-shortcut-transparent-font-size: 0.75em;
8
+ }
9
+
3
10
  .ard-kbd-shortcut {
4
- font-family: monospace;
5
- color: ARD.$text2;
11
+ font-family: var(--ard-font-family-mono);
6
12
 
7
13
  > span {
8
- font-size: 0.9em;
14
+ font-size: var(--ard-kbd-shortcut-font-size, 0.875em);
9
15
  }
10
16
  &.ard-appearance-transparent > span {
11
- font-size: 0.75em;
17
+ font-size: var(--ard-kbd-shortcut-transparent-font-size, 0.75em);
12
18
  }
13
19
  }
@@ -1,21 +1,38 @@
1
1
  @use '../variables' as ARD;
2
2
 
3
+ // the variables are commented out intentionally
4
+ // read more in docs/dev/css-variables.md
5
+ :root {
6
+ // --ard-kbd-font-size: ;
7
+ --ard-kbd-border-radius: 0.1875em;
8
+ --ard-kbd-margin: 0 0.125em;
9
+ --ard-kbd-padding: 0.125em 0.375em;
10
+ --ard-kbd-border-width: 1px;
11
+ --ard-kbd-border-style: solid;
12
+ --ard-kbd-border-color: ;
13
+ --ard-kbd-box-shadow-settings: inset 0 -1px 0;
14
+ // --ard-kbd-box-shadow-color: ;
15
+ // --ard-kbd-bg: ;
16
+ // --ard-kbd-filled-bg: ;
17
+ }
18
+
3
19
  .ard-kbd {
4
- border-radius: 0.2em;
5
- font-family: monospace;
6
- font-size: 0.9em;
7
- margin: 0 0.125em;
20
+ border-radius: var(--ard-kbd-border-radius, 0.1875em);
21
+ font-family: var(--ard-font-family-mono);
22
+ font-size: var(--ard-kbd-font-size, 0.875em);
23
+ margin: var(--ard-kbd-margin, 0 0.125em);
8
24
  color: ARD.$text2;
9
25
 
10
26
  //! appearance
11
27
  &.ard-appearance-outlined,
12
28
  &.ard-appearance-filled {
13
- border: 1px solid ARD.$detail-ultralight;
14
- box-shadow: inset 0 -1px 0 ARD.$darken-overlay;
15
- padding: 0.15em 0.35em;
16
- background-color: ARD.$bg;
29
+ border: var(--ard-kbd-border-width, 1px) var(--ard-kbd-border-style, solid)
30
+ var(--ard-kbd-border-color, #{ARD.$detail-ultralight});
31
+ box-shadow: var(--ard-kbd-box-shadow-settings, inset 0 -1px 0) var(--ard-kbd-box-shadow-color, #{ARD.$detail-light});
32
+ padding: var(--ard-kbd-padding, 0.125em 0.375em);
33
+ background-color: var(--ard-kbd-bg, #{ARD.$bg});
17
34
  }
18
35
  &.ard-appearance-filled {
19
- background: ARD.$bg-d;
36
+ background: var(--ard-kbd-filled-bg, #{ARD.$bg-d});
20
37
  }
21
38
  }