@budibase/bbui 2.2.12-alpha.4 → 2.2.12-alpha.41

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 (44) hide show
  1. package/dist/bbui.es.js +3 -3
  2. package/dist/bbui.es.js.map +1 -1
  3. package/package.json +4 -3
  4. package/src/Accordion/Accordion.svelte +58 -0
  5. package/src/ActionButton/ActionButton.svelte +1 -0
  6. package/src/Actions/click_outside.js +13 -4
  7. package/src/Actions/position_dropdown.js +45 -52
  8. package/src/Avatar/Avatar.svelte +1 -0
  9. package/src/Button/Button.svelte +6 -2
  10. package/src/Drawer/DrawerContent.svelte +0 -1
  11. package/src/FancyForm/FancyButton.svelte +29 -0
  12. package/src/FancyForm/FancyButtonRadio.svelte +70 -0
  13. package/src/FancyForm/FancyCheckbox.svelte +53 -0
  14. package/src/FancyForm/FancyField.svelte +126 -0
  15. package/src/FancyForm/FancyFieldLabel.svelte +25 -0
  16. package/src/FancyForm/FancyForm.svelte +40 -0
  17. package/src/FancyForm/FancyInput.svelte +77 -0
  18. package/src/FancyForm/FancySelect.svelte +147 -0
  19. package/src/FancyForm/index.js +6 -0
  20. package/src/Form/Core/DatePicker.svelte +1 -1
  21. package/src/Form/Core/Picker.svelte +141 -124
  22. package/src/Form/Core/Select.svelte +3 -0
  23. package/src/Form/Core/TextField.svelte +0 -4
  24. package/src/Icon/IconAvatar.svelte +3 -0
  25. package/src/InlineAlert/InlineAlert.svelte +1 -0
  26. package/src/Label/Label.svelte +1 -0
  27. package/src/Layout/Page.svelte +82 -13
  28. package/src/Link/Link.svelte +4 -1
  29. package/src/List/ListItem.svelte +6 -3
  30. package/src/Modal/CustomContent.svelte +0 -1
  31. package/src/Modal/Modal.svench +0 -1
  32. package/src/Modal/ModalContent.svelte +3 -2
  33. package/src/Modal/QuizModal.svelte +0 -1
  34. package/src/Popover/Popover.svelte +21 -6
  35. package/src/Popover/Popover.svench +0 -1
  36. package/src/Table/StringRenderer.svelte +9 -1
  37. package/src/Table/Table.svelte +30 -19
  38. package/src/Tabs/Tab.svelte +2 -1
  39. package/src/Tags/Tag.svelte +1 -1
  40. package/src/Tags/Tags.svelte +10 -0
  41. package/src/Typography/Heading.svelte +6 -0
  42. package/src/bbui.css +7 -3
  43. package/src/context.js +1 -0
  44. package/src/index.js +4 -0
@@ -0,0 +1,77 @@
1
+ <script>
2
+ import { createEventDispatcher } from "svelte"
3
+ import FancyField from "./FancyField.svelte"
4
+ import FancyFieldLabel from "./FancyFieldLabel.svelte"
5
+ import { fade } from "svelte/transition"
6
+
7
+ export let label
8
+ export let value
9
+ export let type = "text"
10
+ export let disabled = false
11
+ export let error = null
12
+ export let validate = null
13
+ export let suffix = null
14
+
15
+ const dispatch = createEventDispatcher()
16
+
17
+ let focused = false
18
+ $: placeholder = !focused && !value
19
+
20
+ const onChange = e => {
21
+ const newValue = e.target.value
22
+ dispatch("change", newValue)
23
+ value = newValue
24
+ if (validate) {
25
+ error = validate(newValue)
26
+ }
27
+ }
28
+ </script>
29
+
30
+ <FancyField {error} {value} {validate} {disabled} {focused}>
31
+ {#if label}
32
+ <FancyFieldLabel {placeholder}>{label}</FancyFieldLabel>
33
+ {/if}
34
+ <input
35
+ {disabled}
36
+ value={value || ""}
37
+ type={type || "text"}
38
+ on:input={onChange}
39
+ on:focus={() => (focused = true)}
40
+ on:blur={() => (focused = false)}
41
+ class:placeholder
42
+ />
43
+ {#if suffix && !placeholder}
44
+ <div in:fade|local={{ duration: 130 }} class="suffix">{suffix}</div>
45
+ {/if}
46
+ </FancyField>
47
+
48
+ <style>
49
+ input {
50
+ width: 100%;
51
+ transition: transform 130ms ease-out;
52
+ transform: translateY(9px);
53
+ background: transparent;
54
+ font-size: 15px;
55
+ line-height: 17px;
56
+ font-family: var(--font-sans);
57
+ color: var(--spectrum-global-color-gray-900);
58
+ outline: none;
59
+ border: none;
60
+ padding: 0;
61
+ margin: 0;
62
+ }
63
+ input.placeholder {
64
+ transform: translateY(0);
65
+ position: absolute;
66
+ top: 0;
67
+ left: 0;
68
+ height: 100%;
69
+ }
70
+ .suffix {
71
+ color: var(--spectrum-global-color-gray-600);
72
+ transform: translateY(9px);
73
+ font-size: 15px;
74
+ line-height: 17px;
75
+ font-family: var(--font-sans);
76
+ }
77
+ </style>
@@ -0,0 +1,147 @@
1
+ <script>
2
+ import { createEventDispatcher } from "svelte"
3
+ import FancyField from "./FancyField.svelte"
4
+ import Icon from "../Icon/Icon.svelte"
5
+ import Popover from "../Popover/Popover.svelte"
6
+ import FancyFieldLabel from "./FancyFieldLabel.svelte"
7
+
8
+ export let label
9
+ export let value
10
+ export let disabled = false
11
+ export let error = null
12
+ export let validate = null
13
+ export let options = []
14
+ export let getOptionLabel = option => extractProperty(option, "label")
15
+ export let getOptionValue = option => extractProperty(option, "value")
16
+
17
+ const dispatch = createEventDispatcher()
18
+
19
+ let open = false
20
+ let popover
21
+ let wrapper
22
+
23
+ $: placeholder = !value
24
+ $: selectedLabel = getSelectedLabel(value)
25
+
26
+ const extractProperty = (value, property) => {
27
+ if (value && typeof value === "object") {
28
+ return value[property]
29
+ }
30
+ return value
31
+ }
32
+
33
+ const onChange = newValue => {
34
+ dispatch("change", newValue)
35
+ value = newValue
36
+ if (validate) {
37
+ error = validate(newValue)
38
+ }
39
+ open = false
40
+ }
41
+
42
+ const getSelectedLabel = value => {
43
+ if (!value || !options?.length) {
44
+ return ""
45
+ }
46
+ const selectedOption = options.find(x => getOptionValue(x) === value)
47
+ if (!selectedOption) {
48
+ return value
49
+ }
50
+ return getOptionLabel(selectedOption)
51
+ }
52
+ </script>
53
+
54
+ <FancyField
55
+ bind:ref={wrapper}
56
+ {error}
57
+ {value}
58
+ {validate}
59
+ {disabled}
60
+ clickable
61
+ on:click={() => (open = true)}
62
+ >
63
+ {#if label}
64
+ <FancyFieldLabel {placeholder}>{label}</FancyFieldLabel>
65
+ {/if}
66
+
67
+ <div class="value" class:placeholder>
68
+ {selectedLabel || ""}
69
+ </div>
70
+
71
+ <div class="arrow">
72
+ <Icon name="ChevronDown" />
73
+ </div>
74
+ </FancyField>
75
+
76
+ <Popover
77
+ anchor={wrapper}
78
+ align="left"
79
+ portalTarget={document.documentElement}
80
+ bind:this={popover}
81
+ {open}
82
+ on:close={() => (open = false)}
83
+ useAnchorWidth={true}
84
+ maxWidth={null}
85
+ >
86
+ <div class="popover-content">
87
+ {#if options.length}
88
+ {#each options as option, idx}
89
+ <div
90
+ class="popover-option"
91
+ tabindex="0"
92
+ on:click={() => onChange(getOptionValue(option, idx))}
93
+ >
94
+ <span class="option-text">
95
+ {getOptionLabel(option, idx)}
96
+ </span>
97
+ {#if value === getOptionValue(option, idx)}
98
+ <Icon name="Checkmark" />
99
+ {/if}
100
+ </div>
101
+ {/each}
102
+ {/if}
103
+ </div>
104
+ </Popover>
105
+
106
+ <style>
107
+ .value {
108
+ display: block;
109
+ flex: 1 1 auto;
110
+ font-size: 15px;
111
+ line-height: 17px;
112
+ color: var(--spectrum-global-color-gray-900);
113
+ transition: transform 130ms ease-out, opacity 130ms ease-out;
114
+ opacity: 1;
115
+ white-space: nowrap;
116
+ text-overflow: ellipsis;
117
+ overflow: hidden;
118
+ width: 0;
119
+ transform: translateY(9px);
120
+ }
121
+ .value.placeholder {
122
+ transform: translateY(0);
123
+ opacity: 0;
124
+ pointer-events: none;
125
+ margin-top: 0;
126
+ }
127
+ .popover-content {
128
+ display: flex;
129
+ flex-direction: column;
130
+ justify-content: flex-start;
131
+ align-items: stretch;
132
+ padding: 7px 0;
133
+ }
134
+ .popover-option {
135
+ display: flex;
136
+ flex-direction: row;
137
+ justify-content: space-between;
138
+ align-items: center;
139
+ padding: 7px 16px;
140
+ transition: background 130ms ease-out;
141
+ font-size: 15px;
142
+ }
143
+ .popover-option:hover {
144
+ background: var(--spectrum-global-color-gray-200);
145
+ cursor: pointer;
146
+ }
147
+ </style>
@@ -0,0 +1,6 @@
1
+ export { default as FancyInput } from "./FancyInput.svelte"
2
+ export { default as FancyCheckbox } from "./FancyCheckbox.svelte"
3
+ export { default as FancySelect } from "./FancySelect.svelte"
4
+ export { default as FancyButton } from "./FancyButton.svelte"
5
+ export { default as FancyForm } from "./FancyForm.svelte"
6
+ export { default as FancyButtonRadio } from "./FancyButtonRadio.svelte"
@@ -264,7 +264,7 @@
264
264
  max-height: 100%;
265
265
  }
266
266
  :global(.flatpickr-calendar) {
267
- font-family: "Source Sans Pro", sans-serif;
267
+ font-family: var(--font-sans);
268
268
  }
269
269
  .is-disabled {
270
270
  pointer-events: none !important;
@@ -2,12 +2,12 @@
2
2
  import "@spectrum-css/picker/dist/index-vars.css"
3
3
  import "@spectrum-css/popover/dist/index-vars.css"
4
4
  import "@spectrum-css/menu/dist/index-vars.css"
5
- import { fly } from "svelte/transition"
6
5
  import { createEventDispatcher } from "svelte"
7
6
  import clickOutside from "../../Actions/click_outside"
8
7
  import Search from "./Search.svelte"
9
8
  import Icon from "../../Icon/Icon.svelte"
10
9
  import StatusLight from "../../StatusLight/StatusLight.svelte"
10
+ import Popover from "../../Popover/Popover.svelte"
11
11
 
12
12
  export let id = null
13
13
  export let disabled = false
@@ -33,7 +33,10 @@
33
33
  export let sort = false
34
34
 
35
35
  const dispatch = createEventDispatcher()
36
+
36
37
  let searchTerm = null
38
+ let button
39
+ let popover
37
40
 
38
41
  $: sortedOptions = getSortedOptions(options, getOptionLabel, sort)
39
42
  $: filteredOptions = getFilteredOptions(
@@ -42,7 +45,9 @@
42
45
  getOptionLabel
43
46
  )
44
47
 
45
- const onClick = () => {
48
+ const onClick = e => {
49
+ e.preventDefault()
50
+ e.stopPropagation()
46
51
  dispatch("click")
47
52
  if (readonly) {
48
53
  return
@@ -76,77 +81,119 @@
76
81
  }
77
82
  </script>
78
83
 
79
- <div use:clickOutside={() => (open = false)}>
80
- <button
81
- {id}
82
- class="spectrum-Picker spectrum-Picker--sizeM"
83
- class:spectrum-Picker--quiet={quiet}
84
- {disabled}
85
- class:is-invalid={!!error}
86
- class:is-open={open}
87
- aria-haspopup="listbox"
88
- on:click={onClick}
89
- >
90
- {#if fieldIcon}
91
- <span class="option-extra">
92
- <Icon name={fieldIcon} />
93
- </span>
94
- {/if}
95
- {#if fieldColour}
96
- <span class="option-extra">
97
- <StatusLight square color={fieldColour} />
98
- </span>
99
- {/if}
100
- <span
101
- class="spectrum-Picker-label"
102
- class:is-placeholder={isPlaceholder}
103
- class:auto-width={autoWidth}
104
- >
105
- {fieldText}
84
+ <button
85
+ {id}
86
+ class="spectrum-Picker spectrum-Picker--sizeM"
87
+ class:spectrum-Picker--quiet={quiet}
88
+ {disabled}
89
+ class:is-invalid={!!error}
90
+ class:is-open={open}
91
+ aria-haspopup="listbox"
92
+ on:click={onClick}
93
+ bind:this={button}
94
+ >
95
+ {#if fieldIcon}
96
+ <span class="option-extra icon">
97
+ <Icon size="S" name={fieldIcon} />
106
98
  </span>
107
- {#if error}
108
- <svg
109
- class="spectrum-Icon spectrum-Icon--sizeM spectrum-Picker-validationIcon"
110
- focusable="false"
111
- aria-hidden="true"
112
- aria-label="Folder"
113
- >
114
- <use xlink:href="#spectrum-icon-18-Alert" />
115
- </svg>
116
- {/if}
99
+ {/if}
100
+ {#if fieldColour}
101
+ <span class="option-extra">
102
+ <StatusLight square color={fieldColour} />
103
+ </span>
104
+ {/if}
105
+ <span
106
+ class="spectrum-Picker-label"
107
+ class:is-placeholder={isPlaceholder}
108
+ class:auto-width={autoWidth}
109
+ >
110
+ {fieldText}
111
+ </span>
112
+ {#if error}
117
113
  <svg
118
- class="spectrum-Icon spectrum-UIIcon-ChevronDown100 spectrum-Picker-menuIcon"
114
+ class="spectrum-Icon spectrum-Icon--sizeM spectrum-Picker-validationIcon"
119
115
  focusable="false"
120
116
  aria-hidden="true"
117
+ aria-label="Folder"
121
118
  >
122
- <use xlink:href="#spectrum-css-icon-Chevron100" />
119
+ <use xlink:href="#spectrum-icon-18-Alert" />
123
120
  </svg>
124
- </button>
125
- {#if open}
126
- <div
127
- transition:fly|local={{ y: -20, duration: 200 }}
128
- class="spectrum-Popover spectrum-Popover--bottom spectrum-Picker-popover is-open"
129
- class:auto-width={autoWidth}
130
- >
131
- {#if autocomplete}
132
- <Search
133
- value={searchTerm}
134
- on:change={event => (searchTerm = event.detail)}
135
- {disabled}
136
- placeholder="Search"
137
- />
121
+ {/if}
122
+ <svg
123
+ class="spectrum-Icon spectrum-UIIcon-ChevronDown100 spectrum-Picker-menuIcon"
124
+ focusable="false"
125
+ aria-hidden="true"
126
+ >
127
+ <use xlink:href="#spectrum-css-icon-Chevron100" />
128
+ </svg>
129
+ </button>
130
+
131
+ <Popover
132
+ anchor={button}
133
+ align="left"
134
+ bind:this={popover}
135
+ {open}
136
+ on:close={() => (open = false)}
137
+ useAnchorWidth={!autoWidth}
138
+ maxWidth={autoWidth ? 400 : null}
139
+ >
140
+ <div
141
+ class="popover-content"
142
+ class:auto-width={autoWidth}
143
+ use:clickOutside={() => (open = false)}
144
+ >
145
+ {#if autocomplete}
146
+ <Search
147
+ value={searchTerm}
148
+ on:change={event => (searchTerm = event.detail)}
149
+ {disabled}
150
+ placeholder="Search"
151
+ />
152
+ {/if}
153
+ <ul class="spectrum-Menu" role="listbox">
154
+ {#if placeholderOption}
155
+ <li
156
+ class="spectrum-Menu-item placeholder"
157
+ class:is-selected={isPlaceholder}
158
+ role="option"
159
+ aria-selected="true"
160
+ tabindex="0"
161
+ on:click={() => onSelectOption(null)}
162
+ >
163
+ <span class="spectrum-Menu-itemLabel">{placeholderOption}</span>
164
+ <svg
165
+ class="spectrum-Icon spectrum-UIIcon-Checkmark100 spectrum-Menu-checkmark spectrum-Menu-itemIcon"
166
+ focusable="false"
167
+ aria-hidden="true"
168
+ >
169
+ <use xlink:href="#spectrum-css-icon-Checkmark100" />
170
+ </svg>
171
+ </li>
138
172
  {/if}
139
- <ul class="spectrum-Menu" role="listbox">
140
- {#if placeholderOption}
173
+ {#if filteredOptions.length}
174
+ {#each filteredOptions as option, idx}
141
175
  <li
142
- class="spectrum-Menu-item placeholder"
143
- class:is-selected={isPlaceholder}
176
+ class="spectrum-Menu-item"
177
+ class:is-selected={isOptionSelected(getOptionValue(option, idx))}
144
178
  role="option"
145
179
  aria-selected="true"
146
180
  tabindex="0"
147
- on:click={() => onSelectOption(null)}
181
+ on:click={() => onSelectOption(getOptionValue(option, idx))}
182
+ class:is-disabled={!isOptionEnabled(option)}
148
183
  >
149
- <span class="spectrum-Menu-itemLabel">{placeholderOption}</span>
184
+ {#if getOptionIcon(option, idx)}
185
+ <span class="option-extra icon">
186
+ <Icon size="S" name={getOptionIcon(option, idx)} />
187
+ </span>
188
+ {/if}
189
+ {#if getOptionColour(option, idx)}
190
+ <span class="option-extra">
191
+ <StatusLight square color={getOptionColour(option, idx)} />
192
+ </span>
193
+ {/if}
194
+ <span class="spectrum-Menu-itemLabel">
195
+ {getOptionLabel(option, idx)}
196
+ </span>
150
197
  <svg
151
198
  class="spectrum-Icon spectrum-UIIcon-Checkmark100 spectrum-Menu-checkmark spectrum-Menu-itemIcon"
152
199
  focusable="false"
@@ -155,61 +202,13 @@
155
202
  <use xlink:href="#spectrum-css-icon-Checkmark100" />
156
203
  </svg>
157
204
  </li>
158
- {/if}
159
- {#if filteredOptions.length}
160
- {#each filteredOptions as option, idx}
161
- <li
162
- class="spectrum-Menu-item"
163
- class:is-selected={isOptionSelected(getOptionValue(option, idx))}
164
- role="option"
165
- aria-selected="true"
166
- tabindex="0"
167
- on:click={() => onSelectOption(getOptionValue(option, idx))}
168
- class:is-disabled={!isOptionEnabled(option)}
169
- >
170
- {#if getOptionIcon(option, idx)}
171
- <span class="option-extra">
172
- <Icon name={getOptionIcon(option, idx)} />
173
- </span>
174
- {/if}
175
- {#if getOptionColour(option, idx)}
176
- <span class="option-extra">
177
- <StatusLight square color={getOptionColour(option, idx)} />
178
- </span>
179
- {/if}
180
- <span class="spectrum-Menu-itemLabel">
181
- {getOptionLabel(option, idx)}
182
- </span>
183
- <svg
184
- class="spectrum-Icon spectrum-UIIcon-Checkmark100 spectrum-Menu-checkmark spectrum-Menu-itemIcon"
185
- focusable="false"
186
- aria-hidden="true"
187
- >
188
- <use xlink:href="#spectrum-css-icon-Checkmark100" />
189
- </svg>
190
- </li>
191
- {/each}
192
- {/if}
193
- </ul>
194
- </div>
195
- {/if}
196
- </div>
205
+ {/each}
206
+ {/if}
207
+ </ul>
208
+ </div>
209
+ </Popover>
197
210
 
198
211
  <style>
199
- .spectrum-Popover {
200
- max-height: 240px;
201
- z-index: 999;
202
- top: 100%;
203
- }
204
- .spectrum-Popover:not(.auto-width) {
205
- width: 100%;
206
- }
207
- .spectrum-Popover.auto-width :global(.spectrum-Menu-itemLabel) {
208
- max-width: 400px;
209
- white-space: nowrap;
210
- overflow: hidden;
211
- text-overflow: ellipsis;
212
- }
213
212
  .spectrum-Picker {
214
213
  width: 100%;
215
214
  box-shadow: none;
@@ -229,9 +228,6 @@
229
228
  .spectrum-Picker-label.auto-width.is-placeholder {
230
229
  padding-right: 2px;
231
230
  }
232
- .auto-width .spectrum-Menu-item {
233
- padding-right: var(--spacing-xl);
234
- }
235
231
 
236
232
  /* Icon and colour alignment */
237
233
  .spectrum-Menu-checkmark {
@@ -241,27 +237,48 @@
241
237
  .option-extra {
242
238
  padding-right: 8px;
243
239
  }
240
+ .option-extra.icon {
241
+ margin: 0 -1px;
242
+ }
243
+
244
+ /* Popover */
245
+ .popover-content {
246
+ display: contents;
247
+ }
248
+ .popover-content.auto-width .spectrum-Menu-itemLabel {
249
+ white-space: nowrap;
250
+ overflow: hidden;
251
+ text-overflow: ellipsis;
252
+ }
253
+ .popover-content:not(.auto-width) .spectrum-Menu-itemLabel {
254
+ width: 0;
255
+ flex: 1 1 auto;
256
+ }
257
+ .popover-content.auto-width .spectrum-Menu-item {
258
+ padding-right: var(--spacing-xl);
259
+ }
260
+ .spectrum-Menu-item.is-disabled {
261
+ pointer-events: none;
262
+ }
244
263
 
245
- .spectrum-Popover :global(.spectrum-Search) {
264
+ /* Search styles inside popover */
265
+ .popover-content :global(.spectrum-Search) {
246
266
  margin-top: -1px;
247
267
  margin-left: -1px;
248
268
  width: calc(100% + 2px);
249
269
  }
250
- .spectrum-Popover :global(.spectrum-Search input) {
270
+ .popover-content :global(.spectrum-Search input) {
251
271
  height: auto;
252
272
  border-bottom-left-radius: 0;
253
273
  border-bottom-right-radius: 0;
254
274
  padding-top: var(--spectrum-global-dimension-size-100);
255
275
  padding-bottom: var(--spectrum-global-dimension-size-100);
256
276
  }
257
- .spectrum-Popover :global(.spectrum-Search .spectrum-ClearButton) {
277
+ .popover-content :global(.spectrum-Search .spectrum-ClearButton) {
258
278
  right: 1px;
259
279
  top: 2px;
260
280
  }
261
- .spectrum-Popover :global(.spectrum-Search .spectrum-Textfield-icon) {
281
+ .popover-content :global(.spectrum-Search .spectrum-Textfield-icon) {
262
282
  top: 9px;
263
283
  }
264
- .spectrum-Menu-item.is-disabled {
265
- pointer-events: none;
266
- }
267
284
  </style>
@@ -18,8 +18,11 @@
18
18
  export let autoWidth = false
19
19
  export let autocomplete = false
20
20
  export let sort = false
21
+
21
22
  const dispatch = createEventDispatcher()
23
+
22
24
  let open = false
25
+
23
26
  $: fieldText = getFieldText(value, options, placeholder)
24
27
  $: fieldIcon = getFieldAttribute(getOptionIcon, value, options)
25
28
  $: fieldColour = getFieldAttribute(getOptionColour, value, options)
@@ -112,8 +112,4 @@
112
112
  .spectrum-Textfield {
113
113
  width: 100%;
114
114
  }
115
- input:disabled {
116
- color: var(--spectrum-global-color-gray-600) !important;
117
- -webkit-text-fill-color: var(--spectrum-global-color-gray-600) !important;
118
- }
119
115
  </style>
@@ -19,6 +19,7 @@
19
19
  .icon {
20
20
  width: 28px;
21
21
  height: 28px;
22
+ flex: 0 0 28px;
22
23
  display: grid;
23
24
  place-items: center;
24
25
  border-radius: 50%;
@@ -34,6 +35,7 @@
34
35
  .icon.size--S {
35
36
  width: 22px;
36
37
  height: 22px;
38
+ flex: 0 0 22px;
37
39
  }
38
40
  .icon.size--S :global(.spectrum-Icon) {
39
41
  width: 16px;
@@ -46,6 +48,7 @@
46
48
  .icon.size--L {
47
49
  width: 40px;
48
50
  height: 40px;
51
+ flex: 0 0 40px;
49
52
  }
50
53
  .icon.size--L :global(.spectrum-Icon) {
51
54
  width: 28px;
@@ -56,5 +56,6 @@
56
56
  --spectrum-semantic-positive-icon-color: #2d9d78;
57
57
  --spectrum-semantic-negative-icon-color: #e34850;
58
58
  min-width: 100px;
59
+ margin: 0;
59
60
  }
60
61
  </style>
@@ -21,6 +21,7 @@
21
21
  label {
22
22
  padding: 0;
23
23
  white-space: nowrap;
24
+ color: var(--spectrum-global-color-gray-600);
24
25
  }
25
26
 
26
27
  .muted {