@budibase/bbui 3.23.48 → 3.24.1

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 (37) hide show
  1. package/dist/bbui.mjs +111 -110
  2. package/dist/easymde-DHE3DJ3y.mjs +10820 -0
  3. package/dist/{index-7af4cf13.mjs → index-BI9c21WY.mjs} +20104 -42191
  4. package/package.json +5 -5
  5. package/src/ActionMenu/ActionMenu.svelte +11 -3
  6. package/src/ColorPicker/ColorPicker.svelte +1 -1
  7. package/src/Drawer/Drawer.svelte +2 -2
  8. package/src/Form/CollapsibleSearch.svelte +128 -0
  9. package/src/Form/Core/Checkbox.svelte +1 -1
  10. package/src/Form/Core/CheckboxGroup.svelte +1 -1
  11. package/src/Form/Core/EnvDropdown.svelte +1 -1
  12. package/src/Form/Core/Picker.svelte +9 -6
  13. package/src/Form/Core/RadioGroup.svelte +1 -1
  14. package/src/Form/Core/Search.svelte +12 -2
  15. package/src/Form/Core/Select.svelte +2 -0
  16. package/src/Form/Core/Signature.svelte +1 -1
  17. package/src/Form/Core/Switch.svelte +1 -1
  18. package/src/Form/Core/TextField.svelte +7 -2
  19. package/src/Form/Input.svelte +2 -1
  20. package/src/Form/Search.svelte +1 -0
  21. package/src/Form/Select.svelte +2 -0
  22. package/src/Icon/InnerIcon.svelte +1 -1
  23. package/src/Layout/Page.svelte +1 -1
  24. package/src/Markdown/MarkdownViewer.svelte +1 -1
  25. package/src/Markdown/SpectrumMDE.svelte +1 -1
  26. package/src/Menu/Separator.svelte +1 -1
  27. package/src/Modal/Modal.svelte +1 -1
  28. package/src/PhosphorIconPicker/PhosphorIconPicker.svelte +3 -1
  29. package/src/ProgressBar/ProgressBar.svelte +2 -2
  30. package/src/ProgressCircle/ProgressCircle.svelte +3 -3
  31. package/src/Switcher/Switcher.svelte +2 -1
  32. package/src/Tabs/Tabs.svelte +2 -2
  33. package/src/Tooltip/AbsTooltip.svelte +1 -1
  34. package/src/Tooltip/Tooltip.svelte +2 -2
  35. package/src/Typography/Body.svelte +0 -1
  36. package/src/index.ts +1 -0
  37. package/dist/easymde-ee925fe5.mjs +0 -10933
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@budibase/bbui",
3
3
  "description": "A UI solution used in the different Budibase projects.",
4
- "version": "3.23.48",
4
+ "version": "3.24.1",
5
5
  "license": "MPL-2.0",
6
- "svelte": "src/index.ts",
7
6
  "module": "dist/bbui.mjs",
8
7
  "exports": {
9
8
  ".": {
10
- "import": "./dist/bbui.mjs"
9
+ "import": "./dist/bbui.mjs",
10
+ "svelte": "./src/index.ts"
11
11
  },
12
12
  "./package.json": "./package.json"
13
13
  },
@@ -16,7 +16,7 @@
16
16
  "dev": "vite build --watch --mode=dev"
17
17
  },
18
18
  "devDependencies": {
19
- "@sveltejs/vite-plugin-svelte": "1.4.0",
19
+ "@sveltejs/vite-plugin-svelte": "^6.1.3",
20
20
  "vite-plugin-css-injected-by-js": "3.5.2"
21
21
  },
22
22
  "keywords": [
@@ -107,5 +107,5 @@
107
107
  }
108
108
  }
109
109
  },
110
- "gitHead": "0a78faa2adbb8fb3b81de2b9b00352e60178f12f"
110
+ "gitHead": "6838c955ce1adef31581d699de2c9a6c81d37de5"
111
111
  }
@@ -23,7 +23,7 @@
23
23
  // This is needed because display: contents is considered "invisible".
24
24
  // It should only ever be an action button, so should be fine.
25
25
  function getAnchor(node: HTMLDivElement) {
26
- anchor = (node.firstChild as HTMLElement) ?? undefined
26
+ anchor = (node.firstElementChild as HTMLElement) ?? undefined
27
27
  }
28
28
 
29
29
  export const show = () => {
@@ -81,8 +81,16 @@
81
81
  borderRadius={roundedPopover ? "12px" : undefined}
82
82
  on:open
83
83
  on:close
84
- on:mouseenter={openOnHover ? cancelHide : null}
85
- on:mouseleave={openOnHover ? queueHide : null}
84
+ on:mouseenter={() => {
85
+ if (openOnHover) {
86
+ cancelHide()
87
+ }
88
+ }}
89
+ on:mouseleave={() => {
90
+ if (openOnHover) {
91
+ queueHide()
92
+ }
93
+ }}
86
94
  bind:open
87
95
  >
88
96
  <Menu>
@@ -196,7 +196,7 @@
196
196
  class="fill {themeClasses}"
197
197
  style={value ? `background: ${value};` : ""}
198
198
  class:placeholder={!value}
199
- />
199
+ ></div>
200
200
  </div>
201
201
 
202
202
  <!-- svelte-ignore a11y-no-static-element-interactions -->
@@ -178,7 +178,7 @@
178
178
  class="underlay"
179
179
  class:hidden={!$modal}
180
180
  transition:drawerFade|local
181
- />
181
+ ></div>
182
182
  <div
183
183
  class="drawer"
184
184
  class:stacked={depth > 0}
@@ -211,7 +211,7 @@
211
211
  </div>
212
212
  </header>
213
213
  <slot name="body" />
214
- <div class="overlay" class:hidden={$modal || depth === 0} />
214
+ <div class="overlay" class:hidden={$modal || depth === 0}></div>
215
215
  </div>
216
216
  </div>
217
217
  </Portal>
@@ -0,0 +1,128 @@
1
+ <script lang="ts">
2
+ import { createEventDispatcher, tick } from "svelte"
3
+ import Icon from "../Icon/Icon.svelte"
4
+ import Search from "./Search.svelte"
5
+
6
+ export let value: string | undefined = undefined
7
+ export let placeholder: string | undefined = undefined
8
+ export let disabled = false
9
+ export let quiet = false
10
+ export let updateOnChange = true
11
+ export let width: string = "220px"
12
+ export let open = false
13
+ export let collapseOnBlur = true
14
+ export let inputRef: HTMLInputElement | undefined = undefined
15
+
16
+ const dispatch = createEventDispatcher()
17
+
18
+ const handleChange = (event: CustomEvent<string>) => {
19
+ value = event.detail
20
+ dispatch("change", event.detail)
21
+ }
22
+
23
+ const handleClear = () => {
24
+ open = false
25
+ dispatch("clear")
26
+ }
27
+
28
+ const openSearch = async () => {
29
+ if (disabled) {
30
+ return
31
+ }
32
+ open = true
33
+ await tick()
34
+ inputRef?.focus()
35
+ }
36
+
37
+ const handleBlur = (event: FocusEvent) => {
38
+ if (collapseOnBlur) {
39
+ const inputValue = (event.target as HTMLInputElement | null)?.value || ""
40
+ if (!inputValue.trim()) {
41
+ open = false
42
+ }
43
+ }
44
+ dispatch("blur", event)
45
+ }
46
+
47
+ const forwardEvent = (event: Event) => {
48
+ dispatch(event.type, event)
49
+ }
50
+ </script>
51
+
52
+ <div class="collapsible-search" style={`--collapsible-search-width: ${width}`}>
53
+ {#if !open}
54
+ <button
55
+ class="search-toggle"
56
+ type="button"
57
+ on:click={openSearch}
58
+ aria-label="Open search"
59
+ >
60
+ <Icon name="magnifying-glass" size="S" />
61
+ </button>
62
+ {/if}
63
+ <div class="collapsible-search-input" class:open>
64
+ <Search
65
+ {updateOnChange}
66
+ {disabled}
67
+ {placeholder}
68
+ {quiet}
69
+ {value}
70
+ bind:inputRef
71
+ on:change={handleChange}
72
+ on:clear={handleClear}
73
+ on:blur={handleBlur}
74
+ on:focus={forwardEvent}
75
+ on:input={forwardEvent}
76
+ on:click={forwardEvent}
77
+ />
78
+ </div>
79
+ </div>
80
+
81
+ <style>
82
+ .collapsible-search {
83
+ display: flex;
84
+ align-items: center;
85
+ gap: var(--spacing-xs);
86
+ }
87
+
88
+ .collapsible-search-input {
89
+ width: 0;
90
+ opacity: 0;
91
+ overflow: hidden;
92
+ pointer-events: none;
93
+ visibility: hidden;
94
+ transition:
95
+ width 200ms ease,
96
+ opacity 200ms ease;
97
+ }
98
+
99
+ .collapsible-search-input.open {
100
+ width: var(--collapsible-search-width);
101
+ opacity: 1;
102
+ overflow: visible;
103
+ pointer-events: auto;
104
+ visibility: visible;
105
+ }
106
+
107
+ .search-toggle {
108
+ display: inline-flex;
109
+ align-items: center;
110
+ justify-content: center;
111
+ width: 32px;
112
+ height: 32px;
113
+ border-radius: 6px;
114
+ border: 1px solid var(--spectrum-global-color-gray-200);
115
+ background-color: var(--spectrum-global-color-gray-100);
116
+ color: var(--spectrum-global-color-gray-800);
117
+ cursor: pointer;
118
+ }
119
+
120
+ .search-toggle:hover {
121
+ background-color: var(--spectrum-global-color-gray-300);
122
+ }
123
+
124
+ .search-toggle:focus {
125
+ outline: 2px solid var(--spectrum-global-color-blue-400);
126
+ outline-offset: 2px;
127
+ }
128
+ </style>
@@ -1,9 +1,9 @@
1
1
  <script lang="ts">
2
- import { Icon } from "@budibase/bbui"
3
2
  import "@spectrum-css/checkbox/dist/index-vars.css"
4
3
  import "@spectrum-css/fieldgroup/dist/index-vars.css"
5
4
  import { createEventDispatcher } from "svelte"
6
5
  import type { ChangeEventHandler } from "svelte/elements"
6
+ import Icon from "../../Icon/Icon.svelte"
7
7
 
8
8
  export let value = false
9
9
  export let id: string | undefined = undefined
@@ -7,7 +7,7 @@
7
7
  import "@spectrum-css/fieldgroup/dist/index-vars.css"
8
8
  import "@spectrum-css/radio/dist/index-vars.css"
9
9
  import { createEventDispatcher } from "svelte"
10
- import { Icon } from "@budibase/bbui"
10
+ import Icon from "../../Icon/Icon.svelte"
11
11
 
12
12
  export let direction: "horizontal" | "vertical" = "vertical"
13
13
  export let value: V[] = []
@@ -154,7 +154,7 @@
154
154
  <div class="spectrum-Menu-itemLabel">
155
155
  <div class="primary-text">
156
156
  {variable.name}
157
- <span />
157
+ <span></span>
158
158
  </div>
159
159
  </div>
160
160
  </li>
@@ -22,6 +22,7 @@
22
22
  import type { PickerIconInput, ResolvedIcon } from "../../types/Picker"
23
23
 
24
24
  export let id: string | undefined = undefined
25
+ export let size: "S" | "M" | "L" = "M"
25
26
  export let disabled: boolean = false
26
27
  export let fieldText: string = ""
27
28
  export let fieldIcon: PickerIconInput = undefined
@@ -83,7 +84,6 @@
83
84
 
84
85
  let button: HTMLButtonElement | null = null
85
86
  let component: HTMLUListElement | null = null
86
- let optionIconDescriptor: ResolvedIcon | null = null
87
87
  let virtualizedOptions: Array<{ option: O; idx: number }> = []
88
88
  let virtualPaddingTop = 0
89
89
  let virtualPaddingBottom = 0
@@ -224,7 +224,7 @@
224
224
 
225
225
  <button
226
226
  {id}
227
- class="spectrum-Picker spectrum-Picker--sizeM"
227
+ class="spectrum-Picker spectrum-Picker--size{size}"
228
228
  class:spectrum-Picker--quiet={quiet}
229
229
  {disabled}
230
230
  class:is-open={open}
@@ -337,9 +337,10 @@
337
337
  class="virtual-spacer"
338
338
  aria-hidden="true"
339
339
  style={`height:${virtualPaddingTop}px`}
340
- />
340
+ ></li>
341
341
  {/if}
342
342
  {#each virtualizedOptions as { option, idx } (getOptionValue(option, idx) ?? idx)}
343
+ {@const optionIcon = resolveIcon(getOptionIcon(option, idx))}
343
344
  <li
344
345
  class="spectrum-Menu-item"
345
346
  class:is-selected={isOptionSelected(getOptionValue(option, idx))}
@@ -351,9 +352,9 @@
351
352
  on:mouseleave={e => onOptionMouseleave(e, option)}
352
353
  class:is-disabled={!isOptionEnabled(option)}
353
354
  >
354
- {#if (optionIconDescriptor = resolveIcon(getOptionIcon(option, idx)))}
355
+ {#if optionIcon}
355
356
  <span class="option-extra icon">
356
- <PickerIcon icon={optionIconDescriptor} {useOptionIconImage} />
357
+ <PickerIcon icon={optionIcon} {useOptionIconImage} />
357
358
  </span>
358
359
  {/if}
359
360
  {#if getOptionColour(option, idx)}
@@ -396,7 +397,7 @@
396
397
  class="virtual-spacer"
397
398
  aria-hidden="true"
398
399
  style={`height:${virtualPaddingBottom}px`}
399
- />
400
+ ></li>
400
401
  {/if}
401
402
  {/if}
402
403
  </ul>
@@ -419,6 +420,8 @@
419
420
  .spectrum-Picker {
420
421
  width: 100%;
421
422
  box-shadow: none;
423
+ border: 1px solid var(--spectrum-global-color-gray-200);
424
+ border-radius: 6px;
422
425
  }
423
426
  .spectrum-Picker-label.auto-width {
424
427
  margin-right: var(--spacing-xs);
@@ -49,7 +49,7 @@
49
49
  class="spectrum-Radio-input"
50
50
  {disabled}
51
51
  />
52
- <span class="spectrum-Radio-button" />
52
+ <span class="spectrum-Radio-button"></span>
53
53
  <label for="" class="spectrum-Radio-label">
54
54
  {getOptionLabel(option)}
55
55
  </label>
@@ -11,13 +11,23 @@
11
11
  export let quiet = false
12
12
  export let inputRef: HTMLElement | undefined = undefined
13
13
 
14
- const dispatch = createEventDispatcher()
14
+ interface SearchEvents {
15
+ change: any
16
+ clear: void
17
+ }
18
+
19
+ const dispatch = createEventDispatcher<SearchEvents>()
15
20
  let focus = false
16
21
 
17
22
  const updateValue = (value: any) => {
18
23
  dispatch("change", value)
19
24
  }
20
25
 
26
+ const clearValue = () => {
27
+ updateValue("")
28
+ dispatch("clear")
29
+ }
30
+
21
31
  const onFocus = () => {
22
32
  focus = true
23
33
  }
@@ -71,7 +81,7 @@
71
81
  />
72
82
  </div>
73
83
  <button
74
- on:click={() => updateValue("")}
84
+ on:click={clearValue}
75
85
  type="reset"
76
86
  class="spectrum-ClearButton spectrum-Search-clearButton"
77
87
  >
@@ -30,6 +30,7 @@
30
30
  | ((_option: O, _index?: number) => string)
31
31
  | undefined = undefined
32
32
  export let readonly: boolean = false
33
+ export let size: "S" | "M" | "L" = "M"
33
34
  export let quiet: boolean = false
34
35
  export let autoWidth: boolean = false
35
36
  export let autocomplete: boolean = false
@@ -98,6 +99,7 @@
98
99
  bind:open
99
100
  bind:searchTerm
100
101
  on:loadMore
102
+ {size}
101
103
  {quiet}
102
104
  {id}
103
105
  {disabled}
@@ -188,7 +188,7 @@
188
188
  id="signature-canvas"
189
189
  bind:this={canvasRef}
190
190
  style="--max-sig-width: {width}px; --max-sig-height: {height}px"
191
- />
191
+ ></canvas>
192
192
  {#if editable}
193
193
  <div class="indicator-overlay">
194
194
  <div class="sign-here">
@@ -26,7 +26,7 @@
26
26
  type="checkbox"
27
27
  class="spectrum-Switch-input"
28
28
  />
29
- <span class="spectrum-Switch-switch" />
29
+ <span class="spectrum-Switch-switch"></span>
30
30
  {#if text}
31
31
  <label class="spectrum-Switch-label" for={id}>{text}</label>
32
32
  {/if}
@@ -1,6 +1,7 @@
1
1
  <script lang="ts">
2
2
  import "@spectrum-css/textfield/dist/index-vars.css"
3
3
  import { createEventDispatcher, onMount, tick } from "svelte"
4
+ import type { FullAutoFill } from "svelte/elements"
4
5
  import type { UIEvent } from "@budibase/types"
5
6
 
6
7
  export let value: string | null = null
@@ -13,7 +14,7 @@
13
14
  export let quiet = false
14
15
  export let align: "left" | "right" | "center" | undefined = undefined
15
16
  export let autofocus: boolean | null = false
16
- export let autocomplete: boolean | string | undefined
17
+ export let autocomplete: FullAutoFill | boolean | null | undefined = undefined
17
18
 
18
19
  const dispatch = createEventDispatcher()
19
20
 
@@ -69,12 +70,16 @@
69
70
  return type === "number" ? "decimal" : "text"
70
71
  }
71
72
 
73
+ let autocompleteValue: FullAutoFill | null | undefined
74
+
72
75
  $: autocompleteValue =
73
76
  typeof autocomplete === "boolean"
74
77
  ? autocomplete
75
78
  ? "on"
76
79
  : "off"
77
- : undefined
80
+ : autocomplete === null
81
+ ? null
82
+ : autocomplete
78
83
 
79
84
  onMount(async () => {
80
85
  if (disabled) return
@@ -2,6 +2,7 @@
2
2
  import Field from "./Field.svelte"
3
3
  import TextField from "./Core/TextField.svelte"
4
4
  import { createEventDispatcher } from "svelte"
5
+ import type { FullAutoFill } from "svelte/elements"
5
6
 
6
7
  export let value: any = undefined
7
8
  export let label: string | undefined = undefined
@@ -14,7 +15,7 @@
14
15
  export let updateOnChange = true
15
16
  export let quiet = false
16
17
  export let autofocus: boolean | undefined = undefined
17
- export let autocomplete: boolean | string | undefined = undefined
18
+ export let autocomplete: FullAutoFill | boolean | null | undefined = undefined
18
19
  export let helpText: string | undefined = undefined
19
20
 
20
21
  const dispatch = createEventDispatcher<{
@@ -30,6 +30,7 @@
30
30
  {quiet}
31
31
  bind:inputRef
32
32
  on:change={onChange}
33
+ on:clear
33
34
  on:click
34
35
  on:input
35
36
  on:focus
@@ -28,6 +28,7 @@
28
28
  | ((_option: O, _index?: number) => boolean)
29
29
  | undefined = undefined
30
30
  export let quiet: boolean = false
31
+ export let size: "S" | "M" | "L" = "M"
31
32
  export let autoWidth: boolean = false
32
33
  export let sort: boolean = false
33
34
  export let tooltip: string | undefined = undefined
@@ -62,6 +63,7 @@
62
63
 
63
64
  <Field {helpText} {label} {labelPosition} {error} {tooltip}>
64
65
  <Select
66
+ {size}
65
67
  {quiet}
66
68
  {loading}
67
69
  {disabled}
@@ -55,7 +55,7 @@
55
55
  aria-hidden={hidden ? "true" : "false"}
56
56
  aria-label={tooltip || name}
57
57
  title={tooltip}
58
- />
58
+ ></i>
59
59
 
60
60
  <style>
61
61
  i {
@@ -19,7 +19,7 @@
19
19
  <div class="main">
20
20
  <div class="content" class:wide class:noPadding class:narrow class:narrower>
21
21
  <slot />
22
- <div class="fix-scroll-padding" />
22
+ <div class="fix-scroll-padding"></div>
23
23
  </div>
24
24
  </div>
25
25
  <div
@@ -23,7 +23,7 @@
23
23
  }
24
24
  </script>
25
25
 
26
- <div class="markdown-viewer" style="height:{height};" bind:this={ref} />
26
+ <div class="markdown-viewer" style="height:{height};" bind:this={ref}></div>
27
27
 
28
28
  <style>
29
29
  .markdown-viewer {
@@ -42,7 +42,7 @@
42
42
  </script>
43
43
 
44
44
  <div class:disabled style={styleString}>
45
- <textarea disabled {id} bind:this={element} />
45
+ <textarea disabled {id} bind:this={element}></textarea>
46
46
  </div>
47
47
 
48
48
  <style>
@@ -1 +1 @@
1
- <li class="spectrum-Menu-divider" role="separator" />
1
+ <li class="spectrum-Menu-divider" role="separator"></li>
@@ -147,7 +147,7 @@
147
147
  class="background"
148
148
  in:fade={{ duration: 200 }}
149
149
  out:fade|local={{ duration: 200 }}
150
- />
150
+ ></div>
151
151
  <div class="modal-wrapper" on:mousedown|self={handleOutsideClick}>
152
152
  <div
153
153
  class="modal-inner-wrapper"
@@ -4,8 +4,10 @@
4
4
  import { createEventDispatcher } from "svelte"
5
5
  import { PhosphorIcons } from "./icons"
6
6
  import TextField from "../Form/Core/TextField.svelte"
7
- import { ActionButton, Body, PopoverAlignment } from "@budibase/bbui"
7
+ import ActionButton from "../ActionButton/ActionButton.svelte"
8
+ import Body from "../Typography/Body.svelte"
8
9
  import Popover from "../Popover/Popover.svelte"
10
+ import { PopoverAlignment } from "../constants"
9
11
 
10
12
  export let value: string | undefined
11
13
 
@@ -42,9 +42,9 @@
42
42
  style="width: {typeof value === 'number'
43
43
  ? value
44
44
  : 0}%; --duration: {duration}ms;"
45
- />
45
+ ></div>
46
46
  </div>
47
- <div class="spectrum-ProgressBar-label" hidden={false} />
47
+ <div class="spectrum-ProgressBar-label" hidden={false}></div>
48
48
  </div>
49
49
 
50
50
  <style>
@@ -48,16 +48,16 @@
48
48
  class:spectrum-ProgressCircle--overBackground={overBackground}
49
49
  class="spectrum-ProgressCircle spectrum-ProgressCircle--{convertSize(size)}"
50
50
  >
51
- <div class="spectrum-ProgressCircle-track" />
51
+ <div class="spectrum-ProgressCircle-track"></div>
52
52
  <div class="spectrum-ProgressCircle-fills">
53
53
  <div class="spectrum-ProgressCircle-fillMask1">
54
54
  <div class="spectrum-ProgressCircle-fillSubMask1" style={subMask1Style}>
55
- <div class="spectrum-ProgressCircle-fill" />
55
+ <div class="spectrum-ProgressCircle-fill"></div>
56
56
  </div>
57
57
  </div>
58
58
  <div class="spectrum-ProgressCircle-fillMask2">
59
59
  <div class="spectrum-ProgressCircle-fillSubMask2" style={subMask2Style}>
60
- <div class="spectrum-ProgressCircle-fill" />
60
+ <div class="spectrum-ProgressCircle-fill"></div>
61
61
  </div>
62
62
  </div>
63
63
  </div>
@@ -1,6 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { createEventDispatcher } from "svelte"
3
- import { AbsTooltip, ActionButton } from "@budibase/bbui"
3
+ import AbsTooltip from "../Tooltip/AbsTooltip.svelte"
4
+ import ActionButton from "../ActionButton/ActionButton.svelte"
4
5
 
5
6
  export let leftIcon: string
6
7
  export let leftNotificationTooltip: string | undefined = undefined
@@ -123,14 +123,14 @@
123
123
  class="spectrum-Tabs-selectionIndicator"
124
124
  class:emphasized
125
125
  style="width: {width}; height: {height}; left: {left}; top: {top};"
126
- />
126
+ ></div>
127
127
  {/if}
128
128
  </div>
129
129
 
130
130
  <div
131
131
  class="spectrum-Tabs-content spectrum-Tabs-content-{_id}"
132
132
  class:noPadding
133
- />
133
+ ></div>
134
134
 
135
135
  <style>
136
136
  .spectrum-Tabs--quiet {
@@ -97,7 +97,7 @@
97
97
  transition:fade|local={{ duration: 130 }}
98
98
  >
99
99
  <span class="spectrum-Tooltip-label">{text}</span>
100
- <span class="spectrum-Tooltip-tip" style={tipStyle} />
100
+ <span class="spectrum-Tooltip-tip" style={tipStyle}></span>
101
101
  </span>
102
102
  </Portal>
103
103
  {/if}
@@ -10,7 +10,7 @@
10
10
  {#if textWrapping}
11
11
  <span class="spectrum-Tooltip spectrum-Tooltip--{direction} is-open tooltip">
12
12
  <span class="spectrum-Tooltip-label">{text}</span>
13
- <span class="spectrum-Tooltip-tip" />
13
+ <span class="spectrum-Tooltip-tip"></span>
14
14
  </span>
15
15
  {:else}
16
16
  <!-- The default show on hover tooltip does not support text wrapping -->
@@ -18,7 +18,7 @@
18
18
  <slot />
19
19
  <div class={`spectrum-Tooltip spectrum-Tooltip--${direction}`}>
20
20
  <span class="spectrum-Tooltip-label">{text}</span>
21
- <span class="spectrum-Tooltip-tip" />
21
+ <span class="spectrum-Tooltip-tip"></span>
22
22
  </div>
23
23
  </span>
24
24
  {/if}
@@ -24,7 +24,6 @@
24
24
  <style>
25
25
  p {
26
26
  text-wrap: pretty;
27
- letter-spacing: -0.01em !important;
28
27
  text-rendering: optimizelegibility;
29
28
  }
30
29
  </style>
package/src/index.ts CHANGED
@@ -12,6 +12,7 @@ export { default as Dropzone } from "./Form/Dropzone.svelte"
12
12
  export { default as EnvDropdown } from "./Form/EnvDropdown.svelte"
13
13
  export { default as FieldLabel } from "./Form/FieldLabel.svelte"
14
14
  export { default as File } from "./Form/File.svelte"
15
+ export { default as CollapsibleSearch } from "./Form/CollapsibleSearch.svelte"
15
16
  export { default as Input } from "./Form/Input.svelte"
16
17
  export { default as InputDropdown } from "./Form/InputDropdown.svelte"
17
18
  export { default as Multiselect } from "./Form/Multiselect.svelte"