nuance-ui 0.2.2 → 0.2.5

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 (113) hide show
  1. package/LICENSE.md +9 -9
  2. package/README.md +75 -75
  3. package/dist/module.json +1 -1
  4. package/dist/runtime/components/action-icon/action-icon-section.vue +3 -3
  5. package/dist/runtime/components/action-icon/action-icon.vue +22 -22
  6. package/dist/runtime/components/alert.vue +128 -128
  7. package/dist/runtime/components/app-shell/app-shell-aside.vue +30 -30
  8. package/dist/runtime/components/app-shell/app-shell-footer.vue +29 -29
  9. package/dist/runtime/components/app-shell/app-shell-header.vue +30 -30
  10. package/dist/runtime/components/app-shell/app-shell-navbar.vue +34 -34
  11. package/dist/runtime/components/app-shell/app-shell-section.vue +10 -10
  12. package/dist/runtime/components/app-shell/app-shell.vue +34 -34
  13. package/dist/runtime/components/avatar/avatar-group.vue +3 -3
  14. package/dist/runtime/components/avatar/avatar.vue +14 -14
  15. package/dist/runtime/components/background-image.vue +18 -18
  16. package/dist/runtime/components/badge.vue +159 -160
  17. package/dist/runtime/components/box.vue +3 -3
  18. package/dist/runtime/components/breadcrumbs.vue +78 -78
  19. package/dist/runtime/components/button/button-group.vue +3 -3
  20. package/dist/runtime/components/button/button.vue +37 -37
  21. package/dist/runtime/components/button/unstyled-button.vue +23 -23
  22. package/dist/runtime/components/calendar/calendar.vue +60 -60
  23. package/dist/runtime/components/calendar/ui/core/calendar-cell.vue +115 -115
  24. package/dist/runtime/components/calendar/ui/core/calendar-header.vue +95 -95
  25. package/dist/runtime/components/calendar/ui/core/calendar-root.vue +3 -3
  26. package/dist/runtime/components/calendar/ui/levels/calendar-decade.vue +40 -40
  27. package/dist/runtime/components/calendar/ui/levels/calendar-month.vue +77 -77
  28. package/dist/runtime/components/calendar/ui/levels/calendar-year.vue +40 -40
  29. package/dist/runtime/components/card/card-section.vue +3 -3
  30. package/dist/runtime/components/card/card.vue +3 -3
  31. package/dist/runtime/components/checkbox/checkbox-card.vue +36 -36
  32. package/dist/runtime/components/checkbox/checkbox-group.vue +16 -16
  33. package/dist/runtime/components/checkbox/checkbox-indicator.vue +116 -116
  34. package/dist/runtime/components/checkbox/checkbox.vue +140 -140
  35. package/dist/runtime/components/chip/chip-group.vue +2 -2
  36. package/dist/runtime/components/chip/chip.vue +200 -200
  37. package/dist/runtime/components/combobox/combobox-dropdown.vue +14 -14
  38. package/dist/runtime/components/combobox/combobox-empty.vue +3 -3
  39. package/dist/runtime/components/combobox/combobox-group.vue +21 -21
  40. package/dist/runtime/components/combobox/combobox-option-list.vue +3 -3
  41. package/dist/runtime/components/combobox/combobox-option.vue +26 -26
  42. package/dist/runtime/components/combobox/combobox-options-dropdown.vue +28 -28
  43. package/dist/runtime/components/combobox/combobox-root.vue +3 -3
  44. package/dist/runtime/components/combobox/combobox-target.vue +3 -3
  45. package/dist/runtime/components/container.vue +8 -8
  46. package/dist/runtime/components/date-time-picker.vue +65 -65
  47. package/dist/runtime/components/dialog/ui/dialog-close-button.vue +11 -11
  48. package/dist/runtime/components/dialog/ui/dialog-header.vue +5 -5
  49. package/dist/runtime/components/dialog/ui/dialog-root.vue +20 -20
  50. package/dist/runtime/components/dialog/ui/dialog-title.vue +5 -5
  51. package/dist/runtime/components/drawer/drawer-close-button.vue +3 -3
  52. package/dist/runtime/components/drawer/drawer-header.vue +3 -3
  53. package/dist/runtime/components/drawer/drawer-root.vue +15 -15
  54. package/dist/runtime/components/drawer/drawer-title.vue +3 -3
  55. package/dist/runtime/components/files/file-upload-button.vue +12 -12
  56. package/dist/runtime/components/files/file-upload-icon.vue +1 -1
  57. package/dist/runtime/components/input/date-picker.vue +85 -85
  58. package/dist/runtime/components/input/email-input.vue +21 -21
  59. package/dist/runtime/components/input/number-input.vue +132 -132
  60. package/dist/runtime/components/input/password-input.vue +28 -28
  61. package/dist/runtime/components/input/text-input.vue +33 -33
  62. package/dist/runtime/components/input/ui/button-input.vue +64 -64
  63. package/dist/runtime/components/input/ui/input-base.vue +283 -283
  64. package/dist/runtime/components/input/ui/input-inline.vue +105 -105
  65. package/dist/runtime/components/input/ui/input-label.vue +4 -4
  66. package/dist/runtime/components/input/ui/input-wrapper.vue +54 -54
  67. package/dist/runtime/components/input/ui/spin-input.vue +69 -69
  68. package/dist/runtime/components/link/link-button.vue +16 -16
  69. package/dist/runtime/components/link/link.vue +10 -10
  70. package/dist/runtime/components/loader/_loaders/bars-loader.vue +5 -5
  71. package/dist/runtime/components/loader/_loaders/dots-loader.vue +5 -5
  72. package/dist/runtime/components/loader/_loaders/oval-loader.vue +1 -1
  73. package/dist/runtime/components/loader/loader.vue +1 -1
  74. package/dist/runtime/components/modal/modal-close-button.vue +3 -3
  75. package/dist/runtime/components/modal/modal-header.vue +3 -3
  76. package/dist/runtime/components/modal/modal-root.vue +13 -13
  77. package/dist/runtime/components/modal/modal-title.vue +3 -3
  78. package/dist/runtime/components/nav-link/nav-icon-link.vue +15 -15
  79. package/dist/runtime/components/nav-link/nav-link.vue +130 -130
  80. package/dist/runtime/components/paper.vue +33 -33
  81. package/dist/runtime/components/popover/popover-dropdown.vue +69 -70
  82. package/dist/runtime/components/popover/popover-target.vue +8 -8
  83. package/dist/runtime/components/popover/popover.vue +1 -1
  84. package/dist/runtime/components/progress/progress-label.vue +3 -3
  85. package/dist/runtime/components/progress/progress-root.vue +3 -3
  86. package/dist/runtime/components/progress/progress-section.vue +8 -8
  87. package/dist/runtime/components/progress/progress.vue +9 -9
  88. package/dist/runtime/components/renderless/renderless.vue +3 -3
  89. package/dist/runtime/components/roving-focus/roving-focus-item.vue +14 -14
  90. package/dist/runtime/components/roving-focus/roving-focus.vue +3 -3
  91. package/dist/runtime/components/select/select.vue +59 -59
  92. package/dist/runtime/components/table/table.d.ts +30 -30
  93. package/dist/runtime/components/table/ui/table-sort-icon.vue +1 -1
  94. package/dist/runtime/components/table/ui/table-sortable-header.vue +11 -11
  95. package/dist/runtime/components/table/ui/table.vue +295 -295
  96. package/dist/runtime/components/tabs/tabs-list.vue +10 -10
  97. package/dist/runtime/components/tabs/tabs-panel.vue +11 -11
  98. package/dist/runtime/components/tabs/tabs-root.vue +8 -8
  99. package/dist/runtime/components/tabs/tabs-tab.vue +20 -20
  100. package/dist/runtime/components/text.vue +67 -67
  101. package/dist/runtime/components/textarea.vue +34 -34
  102. package/dist/runtime/components/time-picker/time-picker.vue +230 -230
  103. package/dist/runtime/components/title.vue +14 -14
  104. package/dist/runtime/components/transition/transition.vue +3 -3
  105. package/dist/runtime/components/tree/_ui/tree-item.vue +128 -129
  106. package/dist/runtime/components/tree/_ui/tree-root.vue +21 -21
  107. package/dist/runtime/components/tree/tree.vue +20 -20
  108. package/dist/runtime/components/visually-hidden/visually-hidden-input.vue +1 -1
  109. package/dist/runtime/components/visually-hidden/visually-hidden.vue +9 -9
  110. package/dist/runtime/modals/_confirm-modal/confirm-modal.vue +31 -31
  111. package/dist/runtime/modals/modals-provider.vue +10 -10
  112. package/dist/runtime/styles/dark-theme.css +1 -1
  113. package/package.json +9 -48
@@ -47,139 +47,139 @@ function handleBlur() {
47
47
  </script>
48
48
 
49
49
  <template>
50
- <InputWrapper v-bind='rest' :class='$style.root' :right-section-p-e>
51
- <BaseInput>
52
- <template v-if='!!$slots.leftSection' #leftSection>
53
- <slot name='leftSection' />
54
- </template>
55
-
56
- <template #default='{ id, css }'>
57
- <input
58
- :id
59
- v-model='value'
60
- :class='css'
61
- :min
62
- :max
63
- :step
64
- type='number'
65
- @focus='focused = true'
66
- @blur='handleBlur()'
67
- @wheel.prevent='handleWheel'
68
- >
69
- </template>
70
-
71
- <template v-if='!!$slots.rightSection || !hideControls' #rightSection>
72
- <slot name='rightSection'>
73
- <div :class='$style.controls'>
74
- <UnstyledButton
75
- :class='$style.control'
76
- :disabled='disabled || typeof value === "number" && !Number.isNaN(max) && value >= max'
77
- @click='value = clamp(value + step, min, max)'
78
- >
79
- <Icon name='gravity-ui:chevron-up' />
80
- </UnstyledButton>
81
- <UnstyledButton
82
- :class='$style.control'
83
- :disabled='disabled || typeof value === "number" && !Number.isNaN(min) && value <= min'
84
- @click='value = clamp(value - step, min, max)'
85
- >
86
- <Icon name='gravity-ui:chevron-down' />
87
- </UnstyledButton>
88
- </div>
89
- </slot>
90
- </template>
91
- </BaseInput>
92
-
93
- <template v-if='!!$slots.label' #label>
94
- <slot name='label' />
95
- </template>
96
- <template v-if='!!$slots.error' #error>
97
- <slot name='error' />
98
- </template>
99
- <template v-if='!!$slots.description' #description>
100
- <slot name='description' />
101
- </template>
102
- </InputWrapper>
50
+ <InputWrapper v-bind='rest' :class='$style.root' :right-section-p-e>
51
+ <BaseInput>
52
+ <template v-if='!!$slots.leftSection' #leftSection>
53
+ <slot name='leftSection' />
54
+ </template>
55
+
56
+ <template #default='{ id, css }'>
57
+ <input
58
+ :id
59
+ v-model='value'
60
+ :class='css'
61
+ :min
62
+ :max
63
+ :step
64
+ type='number'
65
+ @focus='focused = true'
66
+ @blur='handleBlur()'
67
+ @wheel.prevent='handleWheel'
68
+ >
69
+ </template>
70
+
71
+ <template v-if='!!$slots.rightSection || !hideControls' #rightSection>
72
+ <slot name='rightSection'>
73
+ <div :class='$style.controls'>
74
+ <UnstyledButton
75
+ :class='$style.control'
76
+ :disabled='disabled || typeof value === "number" && !Number.isNaN(max) && value >= max'
77
+ @click='value = clamp(value + step, min, max)'
78
+ >
79
+ <Icon name='gravity-ui:chevron-up' />
80
+ </UnstyledButton>
81
+ <UnstyledButton
82
+ :class='$style.control'
83
+ :disabled='disabled || typeof value === "number" && !Number.isNaN(min) && value <= min'
84
+ @click='value = clamp(value - step, min, max)'
85
+ >
86
+ <Icon name='gravity-ui:chevron-down' />
87
+ </UnstyledButton>
88
+ </div>
89
+ </slot>
90
+ </template>
91
+ </BaseInput>
92
+
93
+ <template v-if='!!$slots.label' #label>
94
+ <slot name='label' />
95
+ </template>
96
+ <template v-if='!!$slots.error' #error>
97
+ <slot name='error' />
98
+ </template>
99
+ <template v-if='!!$slots.description' #description>
100
+ <slot name='description' />
101
+ </template>
102
+ </InputWrapper>
103
103
  </template>
104
104
 
105
105
  <style module lang="postcss">
106
- .root {
107
- --ni-right-section-width-xs: rem(17px);
108
- --ni-right-section-width-sm: rem(24px);
109
- --ni-right-section-width-md: rem(27px);
110
- --ni-right-section-width-lg: rem(31px);
111
- --ni-right-section-width-xl: rem(34px);
112
- }
113
-
114
- .controls {
115
- --ni-chevron-size-xs: rem(10px);
116
- --ni-chevron-size-sm: rem(14px);
117
- --ni-chevron-size-md: rem(16px);
118
- --ni-chevron-size-lg: rem(18px);
119
- --ni-chevron-size-xl: rem(20px);
120
- --ni-chevron-size: var(--ni-chevron-size-sm);
121
-
122
- display: flex;
123
- flex-direction: column;
124
-
125
- width: 100%;
126
- max-width: calc(var(--ni-chevron-size) * 1.7);
127
- height: calc(var(--input-height) - rem(2px));
128
- margin-inline-start: auto;
129
- }
130
-
131
- .control {
132
- --control-border: 1px solid var(--input-bd);
133
- --control-radius: calc(var(--input-radius) - rem(1px));
134
-
135
- cursor: pointer;
136
-
137
- display: flex;
138
-
139
- flex: 0 0 50%;
140
- align-items: center;
141
- justify-content: center;
142
-
143
- width: 100%;
144
- height: calc(var(--input-height) / 2 - rem(1px));
145
- padding: 0;
146
- border-inline-start: var(--control-border);
147
-
148
- color: var(--color-text);
149
-
150
- background-color: transparent;
151
-
152
- &:where(:disabled) {
153
- cursor: not-allowed;
154
-
155
- color: var(--color-disabled-text);
156
-
157
- opacity: 0.6;
158
- background-color: transparent;
159
- }
160
-
161
- .root[data-error] :where(&) {
162
- color: var(--color-error);
163
- }
164
-
165
- &:where(:first-of-type) {
166
- border-radius: 0;
167
- border-start-end-radius: var(--control-radius);
168
- }
169
-
170
- &:last-of-type {
171
- border-radius: 0;
172
- border-end-end-radius: var(--control-radius);
173
- }
174
-
175
- @mixin hover {
176
- @mixin where-light {
177
- background-color: var(--color-gray-0);
178
- }
179
-
180
- @mixin where-dark {
181
- background-color: var(--color-dark-4);
182
- }
183
- }
184
- }
106
+ .root {
107
+ --ni-right-section-width-xs: rem(17px);
108
+ --ni-right-section-width-sm: rem(24px);
109
+ --ni-right-section-width-md: rem(27px);
110
+ --ni-right-section-width-lg: rem(31px);
111
+ --ni-right-section-width-xl: rem(34px);
112
+ }
113
+
114
+ .controls {
115
+ --ni-chevron-size-xs: rem(10px);
116
+ --ni-chevron-size-sm: rem(14px);
117
+ --ni-chevron-size-md: rem(16px);
118
+ --ni-chevron-size-lg: rem(18px);
119
+ --ni-chevron-size-xl: rem(20px);
120
+ --ni-chevron-size: var(--ni-chevron-size-sm);
121
+
122
+ display: flex;
123
+ flex-direction: column;
124
+
125
+ width: 100%;
126
+ max-width: calc(var(--ni-chevron-size) * 1.7);
127
+ height: calc(var(--input-height) - rem(2px));
128
+ margin-inline-start: auto;
129
+ }
130
+
131
+ .control {
132
+ --control-border: 1px solid var(--input-bd);
133
+ --control-radius: calc(var(--input-radius) - rem(1px));
134
+
135
+ cursor: pointer;
136
+
137
+ display: flex;
138
+
139
+ flex: 0 0 50%;
140
+ align-items: center;
141
+ justify-content: center;
142
+
143
+ width: 100%;
144
+ height: calc(var(--input-height) / 2 - rem(1px));
145
+ padding: 0;
146
+ border-inline-start: var(--control-border);
147
+
148
+ color: var(--color-text);
149
+
150
+ background-color: transparent;
151
+
152
+ &:where(:disabled) {
153
+ cursor: not-allowed;
154
+
155
+ color: var(--color-disabled-text);
156
+
157
+ opacity: 0.6;
158
+ background-color: transparent;
159
+ }
160
+
161
+ .root[data-error] :where(&) {
162
+ color: var(--color-error);
163
+ }
164
+
165
+ &:where(:first-of-type) {
166
+ border-radius: 0;
167
+ border-start-end-radius: var(--control-radius);
168
+ }
169
+
170
+ &:last-of-type {
171
+ border-radius: 0;
172
+ border-end-end-radius: var(--control-radius);
173
+ }
174
+
175
+ @mixin hover {
176
+ @mixin where-light {
177
+ background-color: var(--color-gray-0);
178
+ }
179
+
180
+ @mixin where-dark {
181
+ background-color: var(--color-dark-4);
182
+ }
183
+ }
184
+ }
185
185
  </style>
@@ -24,32 +24,32 @@ const password = ref(true);
24
24
  </script>
25
25
 
26
26
  <template>
27
- <TextInput
28
- v-bind='props'
29
- :type='password ? "password" : "text"'
30
- right-section-p-e='all'
31
- >
32
- <template #rightSection>
33
- <slot name='rightSection'>
34
- <ActionIcon variant='subtle' @click='password = !password'>
35
- <Icon v-if='password' name='gravity-ui:eye' />
36
- <Icon v-else name='gravity-ui:eye-slash' />
37
- </ActionIcon>
38
- </slot>
39
- </template>
40
-
41
- <template v-if='!!$slots.leftSection' #leftSection>
42
- <slot name='leftSection' />
43
- </template>
44
-
45
- <template v-if='!!$slots.label' #label>
46
- <slot name='label' />
47
- </template>
48
- <template v-if='!!$slots.error' #error>
49
- <slot name='error' />
50
- </template>
51
- <template v-if='!!$slots.description' #description>
52
- <slot name='description' />
53
- </template>
54
- </TextInput>
27
+ <TextInput
28
+ v-bind='props'
29
+ :type='password ? "password" : "text"'
30
+ right-section-p-e='all'
31
+ >
32
+ <template #rightSection>
33
+ <slot name='rightSection'>
34
+ <ActionIcon variant='subtle' @click='password = !password'>
35
+ <Icon v-if='password' name='gravity-ui:eye' />
36
+ <Icon v-else name='gravity-ui:eye-slash' />
37
+ </ActionIcon>
38
+ </slot>
39
+ </template>
40
+
41
+ <template v-if='!!$slots.leftSection' #leftSection>
42
+ <slot name='leftSection' />
43
+ </template>
44
+
45
+ <template v-if='!!$slots.label' #label>
46
+ <slot name='label' />
47
+ </template>
48
+ <template v-if='!!$slots.error' #error>
49
+ <slot name='error' />
50
+ </template>
51
+ <template v-if='!!$slots.description' #description>
52
+ <slot name='description' />
53
+ </template>
54
+ </TextInput>
55
55
  </template>
@@ -31,37 +31,37 @@ defineExpose({
31
31
  </script>
32
32
 
33
33
  <template>
34
- <InputWrapper v-bind='props' :class='[$attrs.class, classes?.wrapper]'>
35
- <BaseInput>
36
- <template v-if='!!$slots.leftSection' #leftSection>
37
- <slot name='leftSection' />
38
- </template>
39
-
40
- <template #default='{ id, css }'>
41
- <input
42
- v-bind='{ ...$attrs, class: css }'
43
- :id
44
- ref='input'
45
- v-model='value'
46
- :required
47
- :disabled
48
- :readonly
49
- >
50
- </template>
51
-
52
- <template v-if='!!$slots.rightSection' #rightSection>
53
- <slot name='rightSection' />
54
- </template>
55
- </BaseInput>
56
-
57
- <template v-if='!!$slots.label' #label>
58
- <slot name='label' />
59
- </template>
60
- <template v-if='!!$slots.error' #error>
61
- <slot name='error' />
62
- </template>
63
- <template v-if='!!$slots.description' #description>
64
- <slot name='description' />
65
- </template>
66
- </InputWrapper>
34
+ <InputWrapper v-bind='props' :class='[$attrs.class, classes?.wrapper]'>
35
+ <BaseInput>
36
+ <template v-if='!!$slots.leftSection' #leftSection>
37
+ <slot name='leftSection' />
38
+ </template>
39
+
40
+ <template #default='{ id, css }'>
41
+ <input
42
+ v-bind='{ ...$attrs, class: css }'
43
+ :id
44
+ ref='input'
45
+ v-model='value'
46
+ :required
47
+ :disabled
48
+ :readonly
49
+ >
50
+ </template>
51
+
52
+ <template v-if='!!$slots.rightSection' #rightSection>
53
+ <slot name='rightSection' />
54
+ </template>
55
+ </BaseInput>
56
+
57
+ <template v-if='!!$slots.label' #label>
58
+ <slot name='label' />
59
+ </template>
60
+ <template v-if='!!$slots.error' #error>
61
+ <slot name='error' />
62
+ </template>
63
+ <template v-if='!!$slots.description' #description>
64
+ <slot name='description' />
65
+ </template>
66
+ </InputWrapper>
67
67
  </template>
@@ -33,71 +33,71 @@ defineExpose({
33
33
  </script>
34
34
 
35
35
  <template>
36
- <InputWrapper v-bind='props' :class='classes?.root'>
37
- <InputBase :class='$style.base' :classes='{ section: classes?.section }'>
38
- <template v-if='!!$slots.leftSection' #leftSection>
39
- <slot name='leftSection' />
40
- </template>
41
-
42
- <template #default='{ id, css }'>
43
- <UnstyledButton
44
- :id
45
- ref='button'
46
- v-bind='{ ...$attrs, class: null }'
47
- :disabled
48
- :readonly
49
- :class='[css, $style.button, classes?.input]'
50
- :mod='{ multiline: props.multiline }'
51
- >
52
- <slot />
53
- </UnstyledButton>
54
- <input
55
- :id
56
- v-model='model'
57
- :name
58
- type='hidden'
59
- :required
60
- :disabled
61
- :readonly
62
- >
63
- </template>
64
-
65
- <template v-if='!!$slots.rightSection' #rightSection>
66
- <slot name='rightSection' />
67
- </template>
68
- </InputBase>
69
-
70
- <template v-if='!!$slots.label' #label>
71
- <slot name='label' />
72
- </template>
73
- <template v-if='!!$slots.error' #error>
74
- <slot name='error' />
75
- </template>
76
- <template v-if='!!$slots.description' #description>
77
- <slot name='description' />
78
- </template>
79
- </InputWrapper>
36
+ <InputWrapper v-bind='props' :class='classes?.root'>
37
+ <InputBase :class='$style.base' :classes='{ section: classes?.section }'>
38
+ <template v-if='!!$slots.leftSection' #leftSection>
39
+ <slot name='leftSection' />
40
+ </template>
41
+
42
+ <template #default='{ id, css }'>
43
+ <UnstyledButton
44
+ :id
45
+ ref='button'
46
+ v-bind='{ ...$attrs, class: null }'
47
+ :disabled
48
+ :readonly
49
+ :class='[css, $style.button, classes?.input]'
50
+ :mod='{ multiline: props.multiline }'
51
+ >
52
+ <slot />
53
+ </UnstyledButton>
54
+ <input
55
+ :id
56
+ v-model='model'
57
+ :name
58
+ type='hidden'
59
+ :required
60
+ :disabled
61
+ :readonly
62
+ >
63
+ </template>
64
+
65
+ <template v-if='!!$slots.rightSection' #rightSection>
66
+ <slot name='rightSection' />
67
+ </template>
68
+ </InputBase>
69
+
70
+ <template v-if='!!$slots.label' #label>
71
+ <slot name='label' />
72
+ </template>
73
+ <template v-if='!!$slots.error' #error>
74
+ <slot name='error' />
75
+ </template>
76
+ <template v-if='!!$slots.description' #description>
77
+ <slot name='description' />
78
+ </template>
79
+ </InputWrapper>
80
80
  </template>
81
81
 
82
82
  <style lang="postcss" module>
83
- .base {
84
- --input-cursor: pointer;
85
- }
86
-
87
- .button {
88
- width: 100%;
89
- min-width: rem(100px);
90
-
91
- font-weight: 400;
92
-
93
- &:where([data-multiline]) {
94
- height: auto;
95
- padding-block: calc(var(--input-padding-inline-end) / 2);
96
- }
97
- }
98
-
99
- .section {
100
- font-size: var(--font-size-lg);
101
- color: var(--color-dimmed);
102
- }
83
+ .base {
84
+ --input-cursor: pointer;
85
+ }
86
+
87
+ .button {
88
+ width: 100%;
89
+ min-width: rem(100px);
90
+
91
+ font-weight: 400;
92
+
93
+ &:where([data-multiline]) {
94
+ height: auto;
95
+ padding-block: calc(var(--input-padding-inline-end) / 2);
96
+ }
97
+ }
98
+
99
+ .section {
100
+ font-size: var(--font-size-lg);
101
+ color: var(--color-dimmed);
102
+ }
103
103
  </style>