morya-ui 0.2.7 → 0.2.9

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 (226) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +1 -0
  3. package/README.zh-CN.md +1 -0
  4. package/dist/{Button--RkQybU-.js → Button-DO5oukfg.js} +1 -1
  5. package/dist/Icon-B6IBrJ5S.js +606 -0
  6. package/dist/{Pagination-BKvR-RUW.js → Pagination-CUwCtWhz.js} +1 -1
  7. package/dist/Renderable-DHU4Jcfw.js +20 -0
  8. package/dist/accordion/style.css +26 -23
  9. package/dist/auto-complete/index.js +1 -1
  10. package/dist/auto-complete/style.css +64 -40
  11. package/dist/avatar/index.js +1 -1
  12. package/dist/avatar/style.css +26 -23
  13. package/dist/badge/style.css +26 -23
  14. package/dist/block-ui/style.css +26 -23
  15. package/dist/breadcrumb/style.css +26 -23
  16. package/dist/button/index.js +1 -1
  17. package/dist/button/style.css +26 -23
  18. package/dist/card/style.css +26 -23
  19. package/dist/carousel/index.js +1 -1
  20. package/dist/carousel/style.css +26 -23
  21. package/dist/cascade-select/index.js +1 -1
  22. package/dist/cascade-select/style.css +27 -24
  23. package/dist/checkbox/style.css +26 -23
  24. package/dist/chip/index.js +1 -1
  25. package/dist/chip/style.css +26 -23
  26. package/dist/command-menu/index.js +2 -2
  27. package/dist/command-menu/style.css +26 -23
  28. package/dist/component-registry.d.ts.map +1 -1
  29. package/dist/components/AutoComplete/styles.css +38 -17
  30. package/dist/components/Carousel/Carousel.vue.d.ts +1 -1
  31. package/dist/components/ConfirmPopup/ConfirmPopup.vue.d.ts +1 -1
  32. package/dist/components/DatePicker/styles.css +65 -21
  33. package/dist/components/Icon/icon-categories.d.ts +21 -0
  34. package/dist/components/Icon/icon-categories.d.ts.map +1 -0
  35. package/dist/components/Icon/icons-tabler.d.ts +77 -0
  36. package/dist/components/Icon/icons-tabler.d.ts.map +1 -0
  37. package/dist/components/Icon/icons-types.d.ts +36 -0
  38. package/dist/components/Icon/icons-types.d.ts.map +1 -0
  39. package/dist/components/Icon/icons.d.ts +75 -32
  40. package/dist/components/Icon/icons.d.ts.map +1 -1
  41. package/dist/components/Icon/index.d.ts +2 -0
  42. package/dist/components/Icon/index.d.ts.map +1 -1
  43. package/dist/components/IconField/IconField.vue.d.ts +3 -1
  44. package/dist/components/IconField/IconField.vue.d.ts.map +1 -1
  45. package/dist/components/IconField/styles.css +306 -31
  46. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  47. package/dist/components/Input/styles.css +172 -33
  48. package/dist/components/InputNumber/styles.css +103 -40
  49. package/dist/components/InputPassword/InputPassword.vue.d.ts.map +1 -1
  50. package/dist/components/InputPassword/styles.css +79 -79
  51. package/dist/components/Layout/LayoutContent.vue.d.ts +4 -8
  52. package/dist/components/Layout/LayoutContent.vue.d.ts.map +1 -1
  53. package/dist/components/Layout/LayoutSider.vue.d.ts +4 -6
  54. package/dist/components/Layout/LayoutSider.vue.d.ts.map +1 -1
  55. package/dist/components/Layout/composables/useLayoutRegionStyle.d.ts +2 -0
  56. package/dist/components/Layout/composables/useLayoutRegionStyle.d.ts.map +1 -1
  57. package/dist/components/Layout/styles.css +7 -42
  58. package/dist/components/Layout/types.d.ts +4 -7
  59. package/dist/components/Layout/types.d.ts.map +1 -1
  60. package/dist/components/Loading/Loading.vue.d.ts +25 -0
  61. package/dist/components/Loading/Loading.vue.d.ts.map +1 -0
  62. package/dist/components/Loading/LoadingIndicator.vue.d.ts +13 -0
  63. package/dist/components/Loading/LoadingIndicator.vue.d.ts.map +1 -0
  64. package/dist/components/Loading/directive.d.ts +12 -0
  65. package/dist/components/Loading/directive.d.ts.map +1 -0
  66. package/dist/components/Loading/index.d.ts +8 -0
  67. package/dist/components/Loading/index.d.ts.map +1 -0
  68. package/dist/components/Loading/loading.d.ts +35 -0
  69. package/dist/components/Loading/loading.d.ts.map +1 -0
  70. package/dist/components/Loading/styles.css +386 -0
  71. package/dist/components/Loading/types.d.ts +74 -0
  72. package/dist/components/Loading/types.d.ts.map +1 -0
  73. package/dist/components/Loading/useLoading.d.ts +11 -0
  74. package/dist/components/Loading/useLoading.d.ts.map +1 -0
  75. package/dist/components/Menu/styles.css +4 -1
  76. package/dist/components/Page/PageContent.vue.d.ts +2 -2
  77. package/dist/components/ProgressSpinner/ProgressSpinner.vue.d.ts +1 -1
  78. package/dist/components/Rating/Rating.vue.d.ts +1 -1
  79. package/dist/components/Table/Table.vue.d.ts +1 -1
  80. package/dist/components/Textarea/styles.css +15 -1
  81. package/dist/config-provider/style.css +198 -56
  82. package/dist/confirm-dialog/index.js +11 -11
  83. package/dist/confirm-dialog/style.css +26 -23
  84. package/dist/confirm-popup/index.js +2 -2
  85. package/dist/confirm-popup/style.css +26 -23
  86. package/dist/content-h8POj44-.js +28 -0
  87. package/dist/context-menu/index.js +2 -2
  88. package/dist/context-menu/style.css +26 -23
  89. package/dist/data-view/index.js +1 -1
  90. package/dist/data-view/style.css +26 -23
  91. package/dist/date-picker/index.js +1 -1
  92. package/dist/date-picker/style.css +91 -44
  93. package/dist/dialog/index.js +2 -2
  94. package/dist/dialog/style.css +26 -23
  95. package/dist/divider/style.css +26 -23
  96. package/dist/dock/index.js +2 -2
  97. package/dist/dock/style.css +26 -23
  98. package/dist/drawer/index.js +1 -1
  99. package/dist/drawer/style.css +26 -23
  100. package/dist/dropdown/index.js +2 -2
  101. package/dist/dropdown/style.css +26 -23
  102. package/dist/empty/index.js +1 -1
  103. package/dist/empty/style.css +26 -23
  104. package/dist/fieldset/index.js +1 -1
  105. package/dist/fieldset/style.css +26 -23
  106. package/dist/file-upload/index.js +1 -1
  107. package/dist/file-upload/style.css +26 -23
  108. package/dist/flex/style.css +26 -23
  109. package/dist/float-label/style.css +26 -23
  110. package/dist/fluid/style.css +26 -23
  111. package/dist/form/style.css +26 -23
  112. package/dist/gallery/index.js +1 -1
  113. package/dist/gallery/style.css +26 -23
  114. package/dist/grid/style.css +26 -23
  115. package/dist/icon/index.js +212 -2
  116. package/dist/icon/style.css +26 -23
  117. package/dist/icon-field/index.js +41 -7
  118. package/dist/icon-field/style.css +672 -54
  119. package/dist/icon-field/style.js +1 -0
  120. package/dist/{icon-xUOyawgJ.js → icon-iOBeyIRp.js} +1 -1
  121. package/dist/index.d.ts +10 -1
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +4722 -3962
  124. package/dist/inplace/style.css +26 -23
  125. package/dist/input/index.js +78 -80
  126. package/dist/input/style.css +198 -56
  127. package/dist/input-color/style.css +26 -23
  128. package/dist/input-group/style.css +26 -23
  129. package/dist/input-number/index.js +1 -1
  130. package/dist/input-number/style.css +129 -63
  131. package/dist/input-otp/style.css +26 -23
  132. package/dist/input-password/index.js +83 -82
  133. package/dist/input-password/style.css +105 -102
  134. package/dist/input-tags/index.js +1 -1
  135. package/dist/input-tags/style.css +26 -23
  136. package/dist/knob/style.css +26 -23
  137. package/dist/label/style.css +26 -23
  138. package/dist/layout/index.js +60 -83
  139. package/dist/layout/style.css +33 -65
  140. package/dist/listbox/style.css +26 -23
  141. package/dist/loading/index.js +467 -0
  142. package/dist/loading/style.css +1380 -0
  143. package/dist/loading/style.js +3 -0
  144. package/dist/mega-menu/index.js +2 -2
  145. package/dist/mega-menu/style.css +26 -23
  146. package/dist/menu/index.js +2 -2
  147. package/dist/menu/style.css +30 -24
  148. package/dist/menubar/index.js +2 -2
  149. package/dist/menubar/style.css +26 -23
  150. package/dist/message/index.js +8 -7
  151. package/dist/message/style.css +26 -23
  152. package/dist/meter-group/style.css +26 -23
  153. package/dist/order-list/index.js +1 -1
  154. package/dist/order-list/style.css +26 -23
  155. package/dist/page/index.js +1 -1
  156. package/dist/page/style.css +26 -23
  157. package/dist/pagination/index.js +1 -1
  158. package/dist/pagination/style.css +26 -23
  159. package/dist/panel/index.js +1 -1
  160. package/dist/panel/style.css +26 -23
  161. package/dist/pick-list/index.js +1 -1
  162. package/dist/pick-list/style.css +26 -23
  163. package/dist/popover/style.css +26 -23
  164. package/dist/progress-bar/style.css +26 -23
  165. package/dist/progress-spinner/style.css +26 -23
  166. package/dist/radio/style.css +26 -23
  167. package/dist/rating/index.js +1 -1
  168. package/dist/rating/style.css +26 -23
  169. package/dist/resolver-map.d.ts.map +1 -1
  170. package/dist/resolver.js +1 -0
  171. package/dist/result/index.js +1 -1
  172. package/dist/result/style.css +26 -23
  173. package/dist/scroll-top/index.js +1 -1
  174. package/dist/scroll-top/style.css +26 -23
  175. package/dist/scrollbar/style.css +26 -23
  176. package/dist/select/index.js +1 -1
  177. package/dist/select/style.css +27 -24
  178. package/dist/select-button/style.css +26 -23
  179. package/dist/shared/config.d.ts.map +1 -1
  180. package/dist/shared/styles/control-suffix.css +1 -1
  181. package/dist/sidebar/index.js +2 -2
  182. package/dist/sidebar/style.css +26 -23
  183. package/dist/skeleton/style.css +26 -23
  184. package/dist/slider/style.css +26 -23
  185. package/dist/space/style.css +26 -23
  186. package/dist/speed-dial/index.js +2 -2
  187. package/dist/speed-dial/style.css +26 -23
  188. package/dist/split-button/index.js +1 -1
  189. package/dist/split-button/style.css +26 -23
  190. package/dist/splitter/style.css +26 -23
  191. package/dist/status/index.js +1 -1
  192. package/dist/status/style.css +26 -23
  193. package/dist/stepper/index.js +1 -1
  194. package/dist/stepper/style.css +26 -23
  195. package/dist/styles/base.css +26 -23
  196. package/dist/styles.css +1 -1
  197. package/dist/switch/style.css +26 -23
  198. package/dist/table/index.js +2 -2
  199. package/dist/table/style.css +26 -23
  200. package/dist/tabs/index.js +1 -1
  201. package/dist/tabs/style.css +26 -23
  202. package/dist/tag/index.js +1 -1
  203. package/dist/tag/style.css +26 -23
  204. package/dist/terminal/style.css +26 -23
  205. package/dist/textarea/index.js +1 -1
  206. package/dist/textarea/style.css +41 -24
  207. package/dist/tiered-menu/index.js +1 -1
  208. package/dist/tiered-menu/style.css +26 -23
  209. package/dist/timeline/index.js +1 -1
  210. package/dist/timeline/style.css +26 -23
  211. package/dist/toast/index.js +13 -12
  212. package/dist/toast/style.css +26 -23
  213. package/dist/toggle-button/index.js +2 -2
  214. package/dist/toggle-button/style.css +26 -23
  215. package/dist/toolbar/style.css +26 -23
  216. package/dist/tooltip/style.css +26 -23
  217. package/dist/tree/index.js +1 -1
  218. package/dist/tree/style.css +26 -23
  219. package/dist/tree-select/index.js +1 -1
  220. package/dist/tree-select/style.css +27 -24
  221. package/dist/tree-table/index.js +1 -1
  222. package/dist/tree-table/style.css +26 -23
  223. package/dist/virtual-scroller/style.css +26 -23
  224. package/package.json +9 -2
  225. package/dist/Icon-DfpIfo2L.js +0 -521
  226. package/dist/Renderable-BaaCI4tS.js +0 -45
@@ -373,6 +373,17 @@
373
373
  opacity: var(--m-opacity-disabled);
374
374
  }
375
375
 
376
+ .m-input-field__control--prefixed .m-input:disabled,
377
+ .m-input-field__control--suffixed .m-input:disabled,
378
+ .m-input-field__control--clearable .m-input:disabled,
379
+ .m-password--disabled .m-password__input,
380
+ .m-inputnumber--disabled .m-inputnumber__input,
381
+ .m-datepicker--disabled .m-datepicker__input,
382
+ .m-icon-field--anchored .m-input:disabled,
383
+ .m-icon-field--anchored .m-textarea:disabled {
384
+ opacity: 1;
385
+ }
386
+
376
387
  .m-input::placeholder,
377
388
  .m-textarea::placeholder,
378
389
  .m-password__input::placeholder,
@@ -692,14 +703,6 @@
692
703
  opacity: var(--m-opacity-disabled);
693
704
  }
694
705
 
695
- .m-icon-field--left :is(.m-input, .m-password__input, .m-inputnumber__input, input) {
696
- padding-left: var(--m-control-affix-padding);
697
- }
698
-
699
- .m-icon-field--right :is(.m-input, .m-password__input, .m-inputnumber__input, input) {
700
- padding-right: var(--m-control-affix-padding);
701
- }
702
-
703
706
  .m-inputgroup > .m-input,
704
707
  .m-inputgroup > .m-input-field,
705
708
  .m-inputgroup > .m-password-field,
@@ -718,16 +721,22 @@
718
721
 
719
722
  .m-inputgroup > .m-input,
720
723
  .m-inputgroup .m-input,
721
- .m-inputgroup .m-password__input,
722
- .m-inputgroup .m-inputnumber__input {
724
+ .m-inputgroup .m-password,
725
+ .m-inputgroup .m-inputnumber__input-wrap,
726
+ .m-inputgroup .m-input-field__control--prefixed,
727
+ .m-inputgroup .m-input-field__control--suffixed,
728
+ .m-inputgroup .m-input-field__control--clearable {
723
729
  border-radius: 0;
724
730
  width: 100%;
725
731
  }
726
732
 
727
733
  .m-inputgroup > :first-child.m-input,
728
734
  .m-inputgroup > :first-child .m-input,
729
- .m-inputgroup > :first-child .m-password__input,
730
- .m-inputgroup > :first-child .m-inputnumber__input,
735
+ .m-inputgroup > :first-child .m-password,
736
+ .m-inputgroup > :first-child .m-inputnumber__input-wrap,
737
+ .m-inputgroup > :first-child .m-input-field__control--prefixed,
738
+ .m-inputgroup > :first-child .m-input-field__control--suffixed,
739
+ .m-inputgroup > :first-child .m-input-field__control--clearable,
731
740
  .m-inputgroup > :first-child.m-inputgroup-addon {
732
741
  border-bottom-left-radius: var(--m-radius-control);
733
742
  border-top-left-radius: var(--m-radius-control);
@@ -735,8 +744,11 @@
735
744
 
736
745
  .m-inputgroup > :last-child.m-input,
737
746
  .m-inputgroup > :last-child .m-input,
738
- .m-inputgroup > :last-child .m-password__input,
739
- .m-inputgroup > :last-child .m-inputnumber__input,
747
+ .m-inputgroup > :last-child .m-password,
748
+ .m-inputgroup > :last-child .m-inputnumber__input-wrap,
749
+ .m-inputgroup > :last-child .m-input-field__control--prefixed,
750
+ .m-inputgroup > :last-child .m-input-field__control--suffixed,
751
+ .m-inputgroup > :last-child .m-input-field__control--clearable,
740
752
  .m-inputgroup > :last-child.m-inputgroup-addon {
741
753
  border-bottom-right-radius: var(--m-radius-control);
742
754
  border-top-right-radius: var(--m-radius-control);
@@ -887,9 +899,6 @@
887
899
  }
888
900
 
889
901
  /* Shared Naive-like hover/focus for remaining form triggers */
890
- .m-inputnumber__input:hover:not(:disabled):not(:focus),
891
- .m-password__input:hover:not(:disabled):not(:focus),
892
- .m-datepicker__input:hover:not(:disabled):not(:focus),
893
902
  .m-inputotp__input:hover:not(:disabled):not(:focus),
894
903
  .m-cascadeselect__trigger:hover:not(:disabled):not(:focus-visible),
895
904
  .m-treeselect__trigger:hover:not(:disabled):not(:focus-visible),
@@ -900,9 +909,6 @@
900
909
  border-color: var(--m-color-primary-hover);
901
910
  }
902
911
 
903
- .m-inputnumber__input:focus-visible,
904
- .m-password__input:focus-visible,
905
- .m-datepicker__input:focus-visible,
906
912
  .m-inputotp__input:focus-visible,
907
913
  .m-cascadeselect__trigger:focus-visible,
908
914
  .m-treeselect__trigger:focus-visible,
@@ -919,9 +925,6 @@
919
925
  outline: none;
920
926
  }
921
927
 
922
- .m-inputnumber--invalid .m-inputnumber__input:focus-visible,
923
- .m-password--invalid .m-password__input:focus-visible,
924
- .m-datepicker--invalid .m-datepicker__input:focus-visible,
925
928
  .m-inputotp--invalid .m-inputotp__input:focus-visible,
926
929
  .m-inputtags--invalid:focus-within,
927
930
  .m-inputcolor--invalid .m-inputcolor__text:focus-visible {
@@ -989,78 +992,693 @@
989
992
  }
990
993
  }
991
994
 
995
+ .m-input:focus {
996
+ outline: none;
997
+ }
998
+
999
+ .m-input:hover:not(:disabled):not(:focus) {
1000
+ border-color: var(--m-color-primary-hover);
1001
+ }
1002
+
1003
+ .m-input:focus-visible {
1004
+ border-color: var(--m-color-primary-hover);
1005
+ box-shadow: var(--m-focus-shadow);
1006
+ outline: none;
1007
+ }
1008
+
1009
+ .m-input--invalid:focus-visible {
1010
+ border-color: var(--m-color-danger);
1011
+ box-shadow: var(--m-focus-shadow-danger);
1012
+ }
1013
+
1014
+ .m-input-field {
1015
+ display: grid;
1016
+ gap: var(--m-space-2);
1017
+ }
1018
+
1019
+ .m-input-field--fluid {
1020
+ width: 100%;
1021
+ }
1022
+
1023
+ .m-input-field__label {
1024
+ color: var(--m-color-text);
1025
+ font-family: var(--m-font-sans);
1026
+ font-size: var(--m-font-size-md);
1027
+ font-weight: 600;
1028
+ }
1029
+
1030
+ .m-input-field__help {
1031
+ color: var(--m-color-text-muted);
1032
+ font-size: var(--m-font-size-xs);
1033
+ }
1034
+
1035
+ .m-input-field__help--invalid {
1036
+ color: var(--m-color-danger);
1037
+ }
1038
+
1039
+ .m-input-field__control {
1040
+ position: relative;
1041
+ }
1042
+
1043
+ /*
1044
+ * Affix/clear shell: prefix/suffix participate in flex flow so long slot
1045
+ * content reserves real width instead of fighting fixed input padding.
1046
+ */
1047
+ .m-input-field__control--prefixed,
1048
+ .m-input-field__control--suffixed,
1049
+ .m-input-field__control--clearable {
1050
+ align-items: center;
1051
+ background: var(--m-color-surface);
1052
+ border: var(--m-border-width) solid var(--m-color-border);
1053
+ border-radius: var(--m-radius-control);
1054
+ box-sizing: border-box;
1055
+ display: flex;
1056
+ max-width: 100%;
1057
+ min-height: var(--m-control-height-medium);
1058
+ transition:
1059
+ border-color var(--m-motion-fast) var(--m-motion-ease),
1060
+ box-shadow var(--m-motion-fast) var(--m-motion-ease),
1061
+ background-color var(--m-motion-fast) var(--m-motion-ease);
1062
+ }
1063
+
1064
+ .m-input-field--fluid .m-input-field__control--prefixed,
1065
+ .m-input-field--fluid .m-input-field__control--suffixed,
1066
+ .m-input-field--fluid .m-input-field__control--clearable {
1067
+ width: 100%;
1068
+ }
1069
+
1070
+ .m-input-field__control--prefixed:has(.m-input--small),
1071
+ .m-input-field__control--suffixed:has(.m-input--small),
1072
+ .m-input-field__control--clearable:has(.m-input--small),
1073
+ .m-input-field__control--prefixed:has(.m-input--sm),
1074
+ .m-input-field__control--suffixed:has(.m-input--sm),
1075
+ .m-input-field__control--clearable:has(.m-input--sm) {
1076
+ min-height: var(--m-control-height-small);
1077
+ }
1078
+
1079
+ .m-input-field__control--prefixed:has(.m-input--large),
1080
+ .m-input-field__control--suffixed:has(.m-input--large),
1081
+ .m-input-field__control--clearable:has(.m-input--large),
1082
+ .m-input-field__control--prefixed:has(.m-input--lg),
1083
+ .m-input-field__control--suffixed:has(.m-input--lg),
1084
+ .m-input-field__control--clearable:has(.m-input--lg) {
1085
+ min-height: var(--m-control-height-large);
1086
+ }
1087
+
1088
+ .m-input-field__control--prefixed:has(.m-input--filled),
1089
+ .m-input-field__control--suffixed:has(.m-input--filled),
1090
+ .m-input-field__control--clearable:has(.m-input--filled) {
1091
+ background: color-mix(
1092
+ in srgb,
1093
+ var(--m-color-text-muted) 12%,
1094
+ var(--m-color-surface)
1095
+ );
1096
+ border-color: transparent;
1097
+ }
1098
+
1099
+ .m-input-field__control--prefixed:has(.m-input--invalid),
1100
+ .m-input-field__control--suffixed:has(.m-input--invalid),
1101
+ .m-input-field__control--clearable:has(.m-input--invalid) {
1102
+ border-color: var(--m-color-danger);
1103
+ }
1104
+
1105
+ .m-input-field__control--prefixed:hover:not(:focus-within):has(
1106
+ .m-input:not(:disabled)
1107
+ ),
1108
+ .m-input-field__control--suffixed:hover:not(:focus-within):has(
1109
+ .m-input:not(:disabled)
1110
+ ),
1111
+ .m-input-field__control--clearable:hover:not(:focus-within):has(
1112
+ .m-input:not(:disabled)
1113
+ ) {
1114
+ border-color: var(--m-color-primary-hover);
1115
+ }
1116
+
1117
+ .m-input-field__control--prefixed:focus-within,
1118
+ .m-input-field__control--suffixed:focus-within,
1119
+ .m-input-field__control--clearable:focus-within {
1120
+ border-color: var(--m-color-primary-hover);
1121
+ box-shadow: var(--m-focus-shadow);
1122
+ }
1123
+
1124
+ .m-input-field__control--prefixed:has(.m-input--invalid):focus-within,
1125
+ .m-input-field__control--suffixed:has(.m-input--invalid):focus-within,
1126
+ .m-input-field__control--clearable:has(.m-input--invalid):focus-within {
1127
+ border-color: var(--m-color-danger);
1128
+ box-shadow: var(--m-focus-shadow-danger);
1129
+ }
1130
+
1131
+ .m-input-field__control--prefixed:has(.m-input:disabled),
1132
+ .m-input-field__control--suffixed:has(.m-input:disabled),
1133
+ .m-input-field__control--clearable:has(.m-input:disabled) {
1134
+ cursor: not-allowed;
1135
+ opacity: var(--m-opacity-disabled);
1136
+ }
1137
+
1138
+ .m-input-field__control--prefixed .m-input,
1139
+ .m-input-field__control--suffixed .m-input,
1140
+ .m-input-field__control--clearable .m-input {
1141
+ background: transparent;
1142
+ border: 0;
1143
+ border-radius: 0;
1144
+ box-shadow: none;
1145
+ flex: 1 1 auto;
1146
+ height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
1147
+ line-height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
1148
+ min-height: 0;
1149
+ min-width: 0;
1150
+ width: auto;
1151
+ }
1152
+
1153
+ .m-input-field__control--prefixed:has(.m-input--small) .m-input,
1154
+ .m-input-field__control--suffixed:has(.m-input--small) .m-input,
1155
+ .m-input-field__control--clearable:has(.m-input--small) .m-input,
1156
+ .m-input-field__control--prefixed:has(.m-input--sm) .m-input,
1157
+ .m-input-field__control--suffixed:has(.m-input--sm) .m-input,
1158
+ .m-input-field__control--clearable:has(.m-input--sm) .m-input {
1159
+ height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
1160
+ line-height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
1161
+ }
1162
+
1163
+ .m-input-field__control--prefixed:has(.m-input--large) .m-input,
1164
+ .m-input-field__control--suffixed:has(.m-input--large) .m-input,
1165
+ .m-input-field__control--clearable:has(.m-input--large) .m-input,
1166
+ .m-input-field__control--prefixed:has(.m-input--lg) .m-input,
1167
+ .m-input-field__control--suffixed:has(.m-input--lg) .m-input,
1168
+ .m-input-field__control--clearable:has(.m-input--lg) .m-input {
1169
+ height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
1170
+ line-height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
1171
+ }
1172
+
1173
+ .m-input-field__control--prefixed .m-input:hover:not(:disabled):not(:focus),
1174
+ .m-input-field__control--suffixed .m-input:hover:not(:disabled):not(:focus),
1175
+ .m-input-field__control--clearable .m-input:hover:not(:disabled):not(:focus),
1176
+ .m-input-field__control--prefixed .m-input:focus-visible,
1177
+ .m-input-field__control--suffixed .m-input:focus-visible,
1178
+ .m-input-field__control--clearable .m-input:focus-visible,
1179
+ .m-input-field__control--prefixed .m-input--invalid:focus-visible,
1180
+ .m-input-field__control--suffixed .m-input--invalid:focus-visible,
1181
+ .m-input-field__control--clearable .m-input--invalid:focus-visible {
1182
+ border-color: transparent;
1183
+ box-shadow: none;
1184
+ }
1185
+
1186
+ .m-input-field__control--prefixed .m-input {
1187
+ padding-left: 0;
1188
+ }
1189
+
1190
+ .m-input-field__control--suffixed .m-input,
1191
+ .m-input-field__control--clearable.m-input-field__control--suffixed .m-input {
1192
+ padding-right: 0;
1193
+ }
1194
+
1195
+ .m-input__prefix,
1196
+ .m-input__suffix {
1197
+ align-items: center;
1198
+ color: var(--m-color-text-muted);
1199
+ display: inline-flex;
1200
+ flex: 0 0 auto;
1201
+ font-size: inherit;
1202
+ gap: var(--m-space-1);
1203
+ line-height: 1;
1204
+ padding-inline: var(--m-space-2);
1205
+ pointer-events: none;
1206
+ white-space: nowrap;
1207
+ }
1208
+
1209
+ .m-input-field__control--prefixed .m-input__prefix,
1210
+ .m-input-field__control--suffixed .m-input__suffix {
1211
+ font-size: var(--m-control-font-medium);
1212
+ }
1213
+
1214
+ .m-input-field__control:has(.m-input--small) .m-input__prefix,
1215
+ .m-input-field__control:has(.m-input--small) .m-input__suffix,
1216
+ .m-input-field__control:has(.m-input--sm) .m-input__prefix,
1217
+ .m-input-field__control:has(.m-input--sm) .m-input__suffix {
1218
+ font-size: var(--m-control-font-small);
1219
+ padding-inline: var(--m-space-2);
1220
+ }
1221
+
1222
+ .m-input-field__control:has(.m-input--large) .m-input__prefix,
1223
+ .m-input-field__control:has(.m-input--large) .m-input__suffix,
1224
+ .m-input-field__control:has(.m-input--lg) .m-input__prefix,
1225
+ .m-input-field__control:has(.m-input--lg) .m-input__suffix {
1226
+ font-size: var(--m-control-font-large);
1227
+ padding-inline: var(--m-space-3);
1228
+ }
1229
+
1230
+ .m-input__prefix button,
1231
+ .m-input__suffix button,
1232
+ .m-input__prefix a,
1233
+ .m-input__suffix a {
1234
+ pointer-events: auto;
1235
+ }
1236
+
1237
+ .m-input {
1238
+ background: var(--m-color-surface);
1239
+ border: var(--m-border-width) solid var(--m-color-border);
1240
+ border-radius: var(--m-radius-control);
1241
+ color: var(--m-color-text);
1242
+ font-family: var(--m-font-sans);
1243
+ font-size: var(--m-control-font-medium);
1244
+ line-height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
1245
+ min-height: var(--m-control-height-medium);
1246
+ padding: 0 var(--m-control-padding-x-medium);
1247
+ transition:
1248
+ border-color var(--m-motion-fast) var(--m-motion-ease),
1249
+ box-shadow var(--m-motion-fast) var(--m-motion-ease),
1250
+ background-color var(--m-motion-fast) var(--m-motion-ease),
1251
+ opacity var(--m-motion-fast) var(--m-motion-ease);
1252
+ }
1253
+
1254
+ .m-input--filled {
1255
+ background: color-mix(
1256
+ in srgb,
1257
+ var(--m-color-text-muted) 12%,
1258
+ var(--m-color-surface)
1259
+ );
1260
+ border-color: transparent;
1261
+ }
1262
+
1263
+ .m-input--fluid {
1264
+ width: 100%;
1265
+ }
1266
+
1267
+ .m-input--invalid {
1268
+ border-color: var(--m-color-danger);
1269
+ }
1270
+
1271
+ .m-input--small,
1272
+ .m-input--sm {
1273
+ font-size: var(--m-control-font-small);
1274
+ line-height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
1275
+ min-height: var(--m-control-height-small);
1276
+ padding: 0 var(--m-control-padding-x-small);
1277
+ }
1278
+
1279
+ .m-input--normal {
1280
+ font-size: var(--m-control-font-medium);
1281
+ line-height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
1282
+ min-height: var(--m-control-height-medium);
1283
+ padding: 0 var(--m-control-padding-x-medium);
1284
+ }
1285
+
1286
+ .m-input--large,
1287
+ .m-input--lg {
1288
+ font-size: var(--m-control-font-large);
1289
+ line-height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
1290
+ min-height: var(--m-control-height-large);
1291
+ padding: 0 var(--m-control-padding-x-large);
1292
+ }
1293
+
1294
+ .m-input-field__control .m-input {
1295
+ width: 100%;
1296
+ }
1297
+
1298
+ .m-input-field__control--prefixed .m-input,
1299
+ .m-input-field__control--suffixed .m-input,
1300
+ .m-input-field__control--clearable .m-input {
1301
+ width: auto;
1302
+ }
1303
+
1304
+ .m-input__clear {
1305
+ align-items: center;
1306
+ align-self: center;
1307
+ background: transparent;
1308
+ border: 0;
1309
+ border-radius: var(--m-radius-sm);
1310
+ color: var(--m-color-text-muted);
1311
+ cursor: pointer;
1312
+ display: flex;
1313
+ flex: 0 0 auto;
1314
+ font-size: var(--m-font-size-lg);
1315
+ height: var(--m-control-affix-size);
1316
+ justify-content: center;
1317
+ padding: 0;
1318
+ width: var(--m-control-affix-size);
1319
+ }
1320
+
1321
+ .m-input__clear:hover:not(:disabled) {
1322
+ color: var(--m-color-text);
1323
+ }
1324
+
1325
+ .m-input__clear:focus-visible {
1326
+ box-shadow: var(--m-focus-shadow);
1327
+ outline: none;
1328
+ }
1329
+
1330
+ .m-input__clear:disabled {
1331
+ cursor: not-allowed;
1332
+ opacity: var(--m-opacity-disabled);
1333
+ }
1334
+
992
1335
  /* —— Form: IconField —— */
993
1336
  .m-icon-field {
994
- align-items: center;
995
- display: inline-flex;
1337
+ display: block;
996
1338
  max-width: 100%;
997
1339
  position: relative;
998
1340
  width: 100%;
999
1341
  }
1000
1342
 
1343
+ .m-icon-field__body {
1344
+ min-width: 0;
1345
+ width: 100%;
1346
+ }
1347
+
1001
1348
  .m-icon-field__icon {
1002
1349
  align-items: center;
1003
1350
  color: var(--m-color-text-muted);
1004
1351
  display: inline-flex;
1352
+ flex: 0 0 auto;
1353
+ line-height: 1;
1005
1354
  pointer-events: none;
1355
+ z-index: 1;
1356
+ }
1357
+
1358
+ /* Fallback when slot is a bare input/textarea (no control shell to anchor into). */
1359
+ .m-icon-field:not(.m-icon-field--anchored) .m-icon-field__icon {
1006
1360
  position: absolute;
1007
1361
  top: 50%;
1008
1362
  transform: translateY(-50%);
1009
- z-index: 1;
1010
1363
  }
1011
1364
 
1012
- .m-icon-field--left .m-icon-field__icon {
1013
- left: var(--m-control-padding-x-medium);
1365
+ .m-icon-field--left:not(.m-icon-field--anchored) .m-icon-field__icon {
1366
+ left: var(--m-space-2);
1014
1367
  }
1015
1368
 
1016
- .m-icon-field--right .m-icon-field__icon {
1017
- right: var(--m-control-padding-x-medium);
1369
+ .m-icon-field--right:not(.m-icon-field--anchored) .m-icon-field__icon {
1370
+ right: var(--m-space-2);
1018
1371
  }
1019
1372
 
1020
- .m-icon-field--left :is(.m-input, .m-textarea, .m-password__input, .m-inputnumber__input) {
1373
+ .m-icon-field--left:not(.m-icon-field--anchored)
1374
+ :is(.m-input, .m-textarea, input, textarea) {
1021
1375
  padding-left: var(--m-control-affix-padding);
1022
1376
  }
1023
1377
 
1024
- .m-icon-field--right :is(.m-input, .m-textarea, .m-password__input, .m-inputnumber__input) {
1378
+ .m-icon-field--right:not(.m-icon-field--anchored)
1379
+ :is(.m-input, .m-textarea, input, textarea) {
1025
1380
  padding-right: var(--m-control-affix-padding);
1026
1381
  }
1027
1382
 
1028
- .m-icon-field--left:has(.m-input--small, .m-textarea--small, .m-password--small, .m-inputnumber--small)
1029
- .m-icon-field__icon {
1030
- left: var(--m-control-padding-x-small);
1383
+ /*
1384
+ * Anchored mode: icon teleports into the control shell and participates in
1385
+ * flex flow (same model as Input prefix/suffix).
1386
+ */
1387
+ .m-icon-field--anchored :is(
1388
+ .m-input-field__control,
1389
+ .m-textarea-field__control,
1390
+ .m-password,
1391
+ .m-inputnumber__input-wrap,
1392
+ .m-autocomplete__control,
1393
+ .m-datepicker__control
1394
+ ) {
1395
+ align-items: center;
1396
+ display: flex;
1031
1397
  }
1032
1398
 
1033
- .m-icon-field--right:has(.m-input--small, .m-textarea--small, .m-password--small, .m-inputnumber--small)
1034
- .m-icon-field__icon {
1035
- right: var(--m-control-padding-x-small);
1399
+ .m-icon-field--anchored .m-icon-field__icon {
1400
+ position: static;
1401
+ transform: none;
1402
+ }
1403
+
1404
+ .m-icon-field--left.m-icon-field--anchored .m-icon-field__icon {
1405
+ order: -1;
1406
+ padding-inline: var(--m-space-2);
1407
+ }
1408
+
1409
+ .m-icon-field--right.m-icon-field--anchored .m-icon-field__icon {
1410
+ order: 1;
1411
+ padding-inline: var(--m-space-2);
1412
+ }
1413
+
1414
+ .m-icon-field--right.m-icon-field--anchored :is(
1415
+ .m-input__clear,
1416
+ .m-password__clear,
1417
+ .m-textarea__clear,
1418
+ .m-inputnumber__clear,
1419
+ .m-autocomplete__clear,
1420
+ .m-autocomplete__spinner,
1421
+ .m-autocomplete__dropdown,
1422
+ .m-datepicker__clear,
1423
+ .m-password__toggle
1424
+ ) {
1425
+ order: 2;
1426
+ }
1427
+
1428
+ /* Promote plain bordered inputs into the control shell when IconField anchors. */
1429
+ .m-icon-field--anchored
1430
+ .m-input-field__control:not(
1431
+ .m-input-field__control--prefixed,
1432
+ .m-input-field__control--suffixed,
1433
+ .m-input-field__control--clearable
1434
+ ) {
1435
+ background: var(--m-color-surface);
1436
+ border: var(--m-border-width) solid var(--m-color-border);
1437
+ border-radius: var(--m-radius-control);
1438
+ box-sizing: border-box;
1439
+ min-height: var(--m-control-height-medium);
1440
+ transition:
1441
+ border-color var(--m-motion-fast) var(--m-motion-ease),
1442
+ box-shadow var(--m-motion-fast) var(--m-motion-ease);
1443
+ }
1444
+
1445
+ .m-icon-field--anchored
1446
+ .m-textarea-field__control:not(.m-textarea-field__control--clearable) {
1447
+ background: var(--m-color-surface);
1448
+ border: var(--m-border-width) solid var(--m-color-border);
1449
+ border-radius: var(--m-radius-control);
1450
+ box-sizing: border-box;
1451
+ transition:
1452
+ border-color var(--m-motion-fast) var(--m-motion-ease),
1453
+ box-shadow var(--m-motion-fast) var(--m-motion-ease);
1454
+ }
1455
+
1456
+ .m-icon-field--anchored
1457
+ .m-input-field__control:not(
1458
+ .m-input-field__control--prefixed,
1459
+ .m-input-field__control--suffixed,
1460
+ .m-input-field__control--clearable
1461
+ )
1462
+ .m-input {
1463
+ background: transparent;
1464
+ border: 0;
1465
+ border-radius: 0;
1466
+ box-shadow: none;
1467
+ flex: 1 1 auto;
1468
+ height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
1469
+ line-height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
1470
+ min-height: 0;
1471
+ min-width: 0;
1472
+ width: auto;
1473
+ }
1474
+
1475
+ .m-icon-field--anchored
1476
+ .m-textarea-field__control:not(.m-textarea-field__control--clearable)
1477
+ .m-textarea {
1478
+ background: transparent;
1479
+ border: 0;
1480
+ border-radius: 0;
1481
+ box-shadow: none;
1482
+ flex: 1 1 auto;
1483
+ min-width: 0;
1484
+ width: auto;
1485
+ }
1486
+
1487
+ .m-icon-field--anchored
1488
+ .m-input-field__control:not(
1489
+ .m-input-field__control--prefixed,
1490
+ .m-input-field__control--suffixed,
1491
+ .m-input-field__control--clearable
1492
+ ):hover:not(:focus-within):has(.m-input:not(:disabled)),
1493
+ .m-icon-field--anchored
1494
+ .m-textarea-field__control:not(.m-textarea-field__control--clearable):hover:not(
1495
+ :focus-within
1496
+ ):has(.m-textarea:not(:disabled)) {
1497
+ border-color: var(--m-color-primary-hover);
1498
+ }
1499
+
1500
+ .m-icon-field--anchored
1501
+ .m-input-field__control:not(
1502
+ .m-input-field__control--prefixed,
1503
+ .m-input-field__control--suffixed,
1504
+ .m-input-field__control--clearable
1505
+ ):has(.m-input--filled),
1506
+ .m-icon-field--anchored
1507
+ .m-textarea-field__control:not(.m-textarea-field__control--clearable):has(
1508
+ .m-textarea--filled
1509
+ ) {
1510
+ background: color-mix(
1511
+ in srgb,
1512
+ var(--m-color-text-muted) 12%,
1513
+ var(--m-color-surface)
1514
+ );
1515
+ border-color: transparent;
1516
+ }
1517
+
1518
+ .m-icon-field--anchored
1519
+ .m-input-field__control:not(
1520
+ .m-input-field__control--prefixed,
1521
+ .m-input-field__control--suffixed,
1522
+ .m-input-field__control--clearable
1523
+ ):has(.m-input--invalid),
1524
+ .m-icon-field--anchored
1525
+ .m-textarea-field__control:not(.m-textarea-field__control--clearable):has(
1526
+ .m-textarea--invalid
1527
+ ) {
1528
+ border-color: var(--m-color-danger);
1529
+ }
1530
+
1531
+ .m-icon-field--anchored
1532
+ .m-input-field__control:has(.m-input:disabled),
1533
+ .m-icon-field--anchored
1534
+ .m-textarea-field__control:has(.m-textarea:disabled) {
1535
+ cursor: not-allowed;
1536
+ opacity: var(--m-opacity-disabled);
1537
+ }
1538
+
1539
+ .m-icon-field--anchored
1540
+ .m-input-field__control:not(
1541
+ .m-input-field__control--prefixed,
1542
+ .m-input-field__control--suffixed,
1543
+ .m-input-field__control--clearable
1544
+ ):focus-within,
1545
+ .m-icon-field--anchored
1546
+ .m-textarea-field__control:not(.m-textarea-field__control--clearable):focus-within {
1547
+ border-color: var(--m-color-primary-hover);
1548
+ box-shadow: var(--m-focus-shadow);
1549
+ }
1550
+
1551
+ .m-icon-field--anchored
1552
+ .m-input-field__control:not(
1553
+ .m-input-field__control--prefixed,
1554
+ .m-input-field__control--suffixed,
1555
+ .m-input-field__control--clearable
1556
+ )
1557
+ .m-input:focus-visible,
1558
+ .m-icon-field--anchored
1559
+ .m-textarea-field__control:not(.m-textarea-field__control--clearable)
1560
+ .m-textarea:focus-visible {
1561
+ border-color: transparent;
1562
+ box-shadow: none;
1563
+ }
1564
+
1565
+ .m-icon-field--left.m-icon-field--anchored :is(
1566
+ .m-input,
1567
+ .m-textarea,
1568
+ .m-password__input,
1569
+ .m-inputnumber__input,
1570
+ .m-autocomplete__input,
1571
+ .m-datepicker__input
1572
+ ) {
1573
+ padding-left: 0;
1574
+ }
1575
+
1576
+ .m-icon-field--right.m-icon-field--anchored :is(
1577
+ .m-input,
1578
+ .m-textarea,
1579
+ .m-password__input,
1580
+ .m-inputnumber__input,
1581
+ .m-autocomplete__input,
1582
+ .m-datepicker__input
1583
+ ) {
1584
+ padding-right: 0;
1036
1585
  }
1037
1586
 
1038
- .m-icon-field--left:has(.m-input--large, .m-textarea--large, .m-password--large, .m-inputnumber--large)
1587
+ /* Size-aware icon inset */
1588
+ .m-icon-field--anchored:has(
1589
+ .m-input--small,
1590
+ .m-textarea--small,
1591
+ .m-password--small,
1592
+ .m-inputnumber--small,
1593
+ .m-autocomplete--small,
1594
+ .m-datepicker--small,
1595
+ .m-input--sm,
1596
+ .m-textarea--sm
1597
+ )
1039
1598
  .m-icon-field__icon {
1040
- left: var(--m-control-padding-x-large);
1599
+ padding-inline: var(--m-space-2);
1041
1600
  }
1042
1601
 
1043
- .m-icon-field--right:has(.m-input--large, .m-textarea--large, .m-password--large, .m-inputnumber--large)
1602
+ .m-icon-field--anchored:has(
1603
+ .m-input--large,
1604
+ .m-textarea--large,
1605
+ .m-password--large,
1606
+ .m-inputnumber--large,
1607
+ .m-autocomplete--large,
1608
+ .m-datepicker--large,
1609
+ .m-input--lg,
1610
+ .m-textarea--lg
1611
+ )
1044
1612
  .m-icon-field__icon {
1045
- right: var(--m-control-padding-x-large);
1613
+ padding-inline: var(--m-space-3);
1046
1614
  }
1047
1615
 
1048
- .m-icon-field--left:has(.m-input--small, .m-textarea--small, .m-password--small, .m-inputnumber--small)
1049
- :is(.m-input, .m-textarea, .m-password__input, .m-inputnumber__input) {
1050
- padding-left: var(--m-control-affix-gap);
1616
+ .m-icon-field--anchored:has(
1617
+ .m-input--small,
1618
+ .m-textarea--small,
1619
+ .m-password--small,
1620
+ .m-inputnumber--small,
1621
+ .m-autocomplete--small,
1622
+ .m-datepicker--small,
1623
+ .m-input--sm,
1624
+ .m-textarea--sm
1625
+ )
1626
+ .m-input-field__control:not(
1627
+ .m-input-field__control--prefixed,
1628
+ .m-input-field__control--suffixed,
1629
+ .m-input-field__control--clearable
1630
+ ) {
1631
+ min-height: var(--m-control-height-small);
1051
1632
  }
1052
1633
 
1053
- .m-icon-field--right:has(.m-input--small, .m-textarea--small, .m-password--small, .m-inputnumber--small)
1054
- :is(.m-input, .m-textarea, .m-password__input, .m-inputnumber__input) {
1055
- padding-right: var(--m-control-affix-gap);
1634
+ .m-icon-field--anchored:has(
1635
+ .m-input--small,
1636
+ .m-inputnumber--small,
1637
+ .m-autocomplete--small,
1638
+ .m-datepicker--small,
1639
+ .m-password--small,
1640
+ .m-input--sm
1641
+ )
1642
+ .m-input-field__control:not(
1643
+ .m-input-field__control--prefixed,
1644
+ .m-input-field__control--suffixed,
1645
+ .m-input-field__control--clearable
1646
+ )
1647
+ .m-input {
1648
+ height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
1649
+ line-height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
1056
1650
  }
1057
1651
 
1058
- .m-icon-field--left:has(.m-input--large, .m-textarea--large, .m-password--large, .m-inputnumber--large)
1059
- :is(.m-input, .m-textarea, .m-password__input, .m-inputnumber__input) {
1060
- padding-left: calc(var(--m-control-affix-padding) + var(--m-space-1));
1652
+ .m-icon-field--anchored:has(
1653
+ .m-input--large,
1654
+ .m-password--large,
1655
+ .m-inputnumber--large,
1656
+ .m-autocomplete--large,
1657
+ .m-datepicker--large,
1658
+ .m-input--lg
1659
+ )
1660
+ .m-input-field__control:not(
1661
+ .m-input-field__control--prefixed,
1662
+ .m-input-field__control--suffixed,
1663
+ .m-input-field__control--clearable
1664
+ ) {
1665
+ min-height: var(--m-control-height-large);
1061
1666
  }
1062
1667
 
1063
- .m-icon-field--right:has(.m-input--large, .m-textarea--large, .m-password--large, .m-inputnumber--large)
1064
- :is(.m-input, .m-textarea, .m-password__input, .m-inputnumber__input) {
1065
- padding-right: calc(var(--m-control-affix-padding) + var(--m-space-1));
1668
+ .m-icon-field--anchored:has(
1669
+ .m-input--large,
1670
+ .m-password--large,
1671
+ .m-inputnumber--large,
1672
+ .m-autocomplete--large,
1673
+ .m-datepicker--large,
1674
+ .m-input--lg
1675
+ )
1676
+ .m-input-field__control:not(
1677
+ .m-input-field__control--prefixed,
1678
+ .m-input-field__control--suffixed,
1679
+ .m-input-field__control--clearable
1680
+ )
1681
+ .m-input {
1682
+ height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
1683
+ line-height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
1066
1684
  }