@geoffcox/sterling-svelte 2.0.1 → 2.0.2

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 (127) hide show
  1. package/package.json +26 -28
  2. package/README.md +0 -18
  3. package/dist/@types/clickOutside.d.ts +0 -15
  4. package/dist/Button.svelte +0 -25
  5. package/dist/Button.svelte.d.ts +0 -9
  6. package/dist/Callout.svelte +0 -177
  7. package/dist/Callout.svelte.d.ts +0 -15
  8. package/dist/Callout.types.d.ts +0 -11
  9. package/dist/Callout.types.js +0 -1
  10. package/dist/Checkbox.svelte +0 -43
  11. package/dist/Checkbox.svelte.d.ts +0 -10
  12. package/dist/Dialog.svelte +0 -151
  13. package/dist/Dialog.svelte.d.ts +0 -14
  14. package/dist/Dropdown.svelte +0 -109
  15. package/dist/Dropdown.svelte.d.ts +0 -18
  16. package/dist/Input.svelte +0 -55
  17. package/dist/Input.svelte.d.ts +0 -12
  18. package/dist/Label.constants.d.ts +0 -2
  19. package/dist/Label.constants.js +0 -2
  20. package/dist/Label.svelte +0 -91
  21. package/dist/Label.svelte.d.ts +0 -17
  22. package/dist/Link.svelte +0 -25
  23. package/dist/Link.svelte.d.ts +0 -12
  24. package/dist/List.constants.d.ts +0 -1
  25. package/dist/List.constants.js +0 -1
  26. package/dist/List.svelte +0 -203
  27. package/dist/List.svelte.d.ts +0 -20
  28. package/dist/List.types.d.ts +0 -5
  29. package/dist/List.types.js +0 -1
  30. package/dist/ListItem.svelte +0 -49
  31. package/dist/ListItem.svelte.d.ts +0 -13
  32. package/dist/Menu.svelte +0 -83
  33. package/dist/Menu.svelte.d.ts +0 -13
  34. package/dist/MenuBar.constants.d.ts +0 -1
  35. package/dist/MenuBar.constants.js +0 -1
  36. package/dist/MenuBar.svelte +0 -113
  37. package/dist/MenuBar.svelte.d.ts +0 -13
  38. package/dist/MenuBar.types.d.ts +0 -4
  39. package/dist/MenuBar.types.js +0 -1
  40. package/dist/MenuButton.svelte +0 -116
  41. package/dist/MenuButton.svelte.d.ts +0 -20
  42. package/dist/MenuItem.constants.d.ts +0 -2
  43. package/dist/MenuItem.constants.js +0 -2
  44. package/dist/MenuItem.svelte +0 -342
  45. package/dist/MenuItem.svelte.d.ts +0 -22
  46. package/dist/MenuItem.types.d.ts +0 -20
  47. package/dist/MenuItem.types.js +0 -1
  48. package/dist/MenuItem.utils.d.ts +0 -7
  49. package/dist/MenuItem.utils.js +0 -36
  50. package/dist/MenuSeparator.svelte +0 -11
  51. package/dist/MenuSeparator.svelte.d.ts +0 -6
  52. package/dist/Popover.constants.d.ts +0 -1
  53. package/dist/Popover.constants.js +0 -14
  54. package/dist/Popover.svelte +0 -121
  55. package/dist/Popover.svelte.d.ts +0 -15
  56. package/dist/Popover.types.d.ts +0 -4
  57. package/dist/Popover.types.js +0 -1
  58. package/dist/Portal.constants.d.ts +0 -2
  59. package/dist/Portal.constants.js +0 -2
  60. package/dist/Portal.types.d.ts +0 -6
  61. package/dist/Portal.types.js +0 -1
  62. package/dist/Progress.constants.d.ts +0 -1
  63. package/dist/Progress.constants.js +0 -1
  64. package/dist/Progress.svelte +0 -36
  65. package/dist/Progress.svelte.d.ts +0 -12
  66. package/dist/Progress.types.d.ts +0 -4
  67. package/dist/Progress.types.js +0 -1
  68. package/dist/Radio.svelte +0 -53
  69. package/dist/Radio.svelte.d.ts +0 -13
  70. package/dist/Select.svelte +0 -196
  71. package/dist/Select.svelte.d.ts +0 -20
  72. package/dist/Slider.svelte +0 -133
  73. package/dist/Slider.svelte.d.ts +0 -19
  74. package/dist/Switch.svelte +0 -61
  75. package/dist/Switch.svelte.d.ts +0 -21
  76. package/dist/Tab.svelte +0 -51
  77. package/dist/Tab.svelte.d.ts +0 -12
  78. package/dist/TabList.constants.d.ts +0 -1
  79. package/dist/TabList.constants.js +0 -1
  80. package/dist/TabList.svelte +0 -202
  81. package/dist/TabList.svelte.d.ts +0 -18
  82. package/dist/TabList.types.d.ts +0 -5
  83. package/dist/TabList.types.js +0 -1
  84. package/dist/TextArea.constants.d.ts +0 -1
  85. package/dist/TextArea.constants.js +0 -1
  86. package/dist/TextArea.svelte +0 -74
  87. package/dist/TextArea.svelte.d.ts +0 -19
  88. package/dist/TextArea.types.d.ts +0 -4
  89. package/dist/TextArea.types.js +0 -1
  90. package/dist/Tooltip.svelte +0 -63
  91. package/dist/Tooltip.svelte.d.ts +0 -10
  92. package/dist/Tree.constants.d.ts +0 -1
  93. package/dist/Tree.constants.js +0 -1
  94. package/dist/Tree.svelte +0 -53
  95. package/dist/Tree.svelte.d.ts +0 -15
  96. package/dist/Tree.types.d.ts +0 -5
  97. package/dist/Tree.types.js +0 -1
  98. package/dist/TreeChevron.svelte +0 -27
  99. package/dist/TreeChevron.svelte.d.ts +0 -9
  100. package/dist/TreeItem.constants.d.ts +0 -1
  101. package/dist/TreeItem.constants.js +0 -1
  102. package/dist/TreeItem.svelte +0 -329
  103. package/dist/TreeItem.svelte.d.ts +0 -22
  104. package/dist/TreeItem.types.d.ts +0 -4
  105. package/dist/TreeItem.types.js +0 -1
  106. package/dist/actions/applyLightDarkMode.d.ts +0 -10
  107. package/dist/actions/applyLightDarkMode.js +0 -36
  108. package/dist/actions/clickOutside.d.ts +0 -15
  109. package/dist/actions/clickOutside.js +0 -28
  110. package/dist/actions/extraClass.d.ts +0 -8
  111. package/dist/actions/extraClass.js +0 -14
  112. package/dist/actions/forwardEvents.d.ts +0 -12
  113. package/dist/actions/forwardEvents.js +0 -32
  114. package/dist/actions/portal.d.ts +0 -8
  115. package/dist/actions/portal.js +0 -19
  116. package/dist/actions/trapKeyboardFocus.d.ts +0 -3
  117. package/dist/actions/trapKeyboardFocus.js +0 -52
  118. package/dist/idGenerator.d.ts +0 -4
  119. package/dist/idGenerator.js +0 -10
  120. package/dist/index.d.ts +0 -59
  121. package/dist/index.js +0 -54
  122. package/dist/mediaQueries/prefersColorSchemeDark.d.ts +0 -2
  123. package/dist/mediaQueries/prefersColorSchemeDark.js +0 -14
  124. package/dist/mediaQueries/prefersReducedMotion.d.ts +0 -2
  125. package/dist/mediaQueries/prefersReducedMotion.js +0 -14
  126. package/dist/mediaQueries/usingKeyboard.d.ts +0 -2
  127. package/dist/mediaQueries/usingKeyboard.js +0 -17
@@ -1,202 +0,0 @@
1
- <svelte:options runes={true} />
2
-
3
- <script lang="ts">import { setContext } from 'svelte';
4
- import { TAB_LIST_CONTEXT_KEY } from './TabList.constants';
5
- let { children, class: _class, disabled = false, onSelect, selectedValue = $bindable(), vertical = false, ...rest } = $props();
6
- let tabListRef;
7
- let lastSelectedTabRef;
8
- let tabListContext = {
9
- get disabled() {
10
- return disabled;
11
- },
12
- set disabled(value) {
13
- disabled = value;
14
- },
15
- get selectedValue() {
16
- return selectedValue;
17
- },
18
- set selectedValue(value) {
19
- selectedValue = value;
20
- },
21
- get vertical() {
22
- return vertical;
23
- },
24
- set vertical(value) {
25
- vertical = value;
26
- }
27
- };
28
- $effect(() => {
29
- tabListContext.disabled = disabled;
30
- });
31
- $effect(() => {
32
- tabListContext.selectedValue = selectedValue;
33
- });
34
- $effect(() => {
35
- tabListContext.vertical = vertical;
36
- });
37
- setContext(TAB_LIST_CONTEXT_KEY, tabListContext);
38
- $effect(() => {
39
- onSelect?.(selectedValue);
40
- });
41
- export const blur = () => {
42
- tabListRef?.blur();
43
- };
44
- export const focus = (options) => {
45
- let selectedItem = getSelectedTabElement();
46
- if (selectedValue && selectedItem) {
47
- selectTab(selectedValue, selectedItem);
48
- }
49
- else {
50
- selectFirstTab();
51
- }
52
- };
53
- const isElementTab = (candidate) => {
54
- return (candidate &&
55
- candidate.getAttribute('data-value') !== null &&
56
- candidate.getAttribute('data-value') !== undefined &&
57
- candidate.getAttribute('role') === 'tab');
58
- };
59
- const getSelectedTabElement = () => {
60
- if (isElementTab(lastSelectedTabRef) &&
61
- lastSelectedTabRef?.getAttribute('data-value') === selectedValue &&
62
- lastSelectedTabRef?.closest('[role="tablist"]') === tabListRef) {
63
- return lastSelectedTabRef;
64
- }
65
- else {
66
- return tabListRef?.querySelector('[data-value][aria-selected=true]');
67
- }
68
- };
69
- const selectTab = (value, element) => {
70
- selectedValue = value;
71
- lastSelectedTabRef = element;
72
- element.scrollIntoView({ block: 'nearest', inline: 'nearest' });
73
- element.focus();
74
- };
75
- export const selectFirstTab = () => {
76
- let candidate = tabListRef?.firstElementChild;
77
- while (candidate && !isElementTab(candidate)) {
78
- candidate = candidate.nextElementSibling;
79
- }
80
- let candidateValue = candidate?.getAttribute('data-value');
81
- if (candidateValue && candidate) {
82
- selectTab(candidateValue, candidate);
83
- return true;
84
- }
85
- return false;
86
- };
87
- export const selectPreviousTab = () => {
88
- let selectedTab = getSelectedTabElement();
89
- let candidate = selectedTab?.previousElementSibling;
90
- while (candidate && !isElementTab(candidate)) {
91
- candidate = candidate.previousElementSibling;
92
- }
93
- let candidateValue = candidate?.getAttribute('data-value');
94
- if (candidateValue && candidate) {
95
- selectTab(candidateValue, candidate);
96
- return true;
97
- }
98
- return false;
99
- };
100
- export const selectNextTab = () => {
101
- let selectedTab = getSelectedTabElement();
102
- let candidate = selectedTab?.nextElementSibling;
103
- while (candidate && !isElementTab(candidate)) {
104
- candidate = candidate.nextElementSibling;
105
- }
106
- let candidateValue = candidate?.getAttribute('data-value');
107
- if (candidateValue && candidate) {
108
- selectTab(candidateValue, candidate);
109
- return true;
110
- }
111
- return false;
112
- };
113
- export const selectLastTab = () => {
114
- let candidate = tabListRef?.lastElementChild;
115
- while (candidate && !isElementTab(candidate)) {
116
- candidate = candidate.previousElementSibling;
117
- }
118
- let candidateValue = candidate?.getAttribute('data-value');
119
- if (candidateValue && candidate) {
120
- selectTab(candidateValue, candidate);
121
- return true;
122
- }
123
- return false;
124
- };
125
- const onClick = (event) => {
126
- if (!disabled) {
127
- let candidate = event.target;
128
- let candidateValue = candidate?.getAttribute('data-value');
129
- if (candidateValue === undefined || candidateValue === null) {
130
- candidate = candidate?.closest('[role=tab]');
131
- candidateValue = candidate?.getAttribute('data-value');
132
- }
133
- if (candidateValue && candidate) {
134
- selectTab(candidateValue, candidate);
135
- }
136
- }
137
- rest.onclick?.(event);
138
- };
139
- const onKeydown = (event) => {
140
- // if using arrows, only move when there are no modifier keys
141
- if (!disabled && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) {
142
- switch (event.key) {
143
- case 'Home':
144
- selectFirstTab();
145
- event.preventDefault();
146
- event.stopPropagation();
147
- break;
148
- case 'End':
149
- selectLastTab();
150
- event.preventDefault();
151
- event.stopPropagation();
152
- break;
153
- case 'ArrowLeft':
154
- if (!vertical) {
155
- selectPreviousTab();
156
- }
157
- event.preventDefault();
158
- event.stopPropagation();
159
- break;
160
- case 'ArrowRight':
161
- if (!vertical) {
162
- selectNextTab();
163
- }
164
- event.preventDefault();
165
- event.stopPropagation();
166
- break;
167
- case 'ArrowUp':
168
- if (vertical) {
169
- selectPreviousTab();
170
- }
171
- event.preventDefault();
172
- event.stopPropagation();
173
- break;
174
- case 'ArrowDown':
175
- if (vertical) {
176
- selectNextTab();
177
- }
178
- event.preventDefault();
179
- event.stopPropagation();
180
- break;
181
- default:
182
- break;
183
- }
184
- }
185
- rest.onkeydown?.(event);
186
- };
187
- </script>
188
-
189
- <div
190
- aria-orientation={vertical ? 'vertical' : 'horizontal'}
191
- bind:this={tabListRef}
192
- class={`sterling-tab-list ${_class}`}
193
- class:disabled
194
- class:vertical
195
- role="tablist"
196
- tabindex="-1"
197
- onclick={onClick}
198
- onkeydown={onKeydown}
199
- {...rest}
200
- >
201
- {@render children?.()}
202
- </div>
@@ -1,18 +0,0 @@
1
- /// <reference types="svelte" />
2
- import type { HTMLAttributes } from 'svelte/elements';
3
- type Props = HTMLAttributes<HTMLDivElement> & {
4
- disabled?: boolean | null;
5
- selectedValue?: string;
6
- vertical?: boolean | null;
7
- onSelect?: (value?: string) => void;
8
- };
9
- declare const TabList: import("svelte").Component<Props, {
10
- blur: () => void;
11
- focus: (options?: FocusOptions) => void;
12
- selectFirstTab: () => boolean;
13
- selectPreviousTab: () => boolean;
14
- selectNextTab: () => boolean;
15
- selectLastTab: () => boolean;
16
- }, "selectedValue">;
17
- type TabList = ReturnType<typeof TabList>;
18
- export default TabList;
@@ -1,5 +0,0 @@
1
- export type TabListContext = {
2
- disabled?: boolean | null | undefined;
3
- selectedValue?: string | undefined;
4
- vertical?: boolean | null | undefined;
5
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export declare const TEXT_AREA_RESIZES: readonly ["none", "horizontal", "vertical", "both"];
@@ -1 +0,0 @@
1
- export const TEXT_AREA_RESIZES = ['none', 'horizontal', 'vertical', 'both'];
@@ -1,74 +0,0 @@
1
- <svelte:options runes={true} />
2
-
3
- <script lang="ts">import { tick } from 'svelte';
4
- let { class: _class, disabled = false, value = $bindable(''), autoHeight = false, resize = $bindable('none'), style, ...rest } = $props();
5
- let textAreaRef;
6
- const correctResize = async () => {
7
- await tick();
8
- setTimeout(() => {
9
- if (autoHeight) {
10
- if (resize === 'both') {
11
- console.warn('The resize property cannot be set to "both" when autoHeight is true. The resize property will be set to "horizontal".');
12
- resize = 'horizontal';
13
- }
14
- if (resize === 'vertical') {
15
- console.warn('The resize property cannot be set to "vertical" when autoHeight is true. The resize property will be set to "none".');
16
- resize = 'none';
17
- }
18
- }
19
- }, 0);
20
- };
21
- const autoSetHeight = () => {
22
- if (autoHeight && textAreaRef) {
23
- // the style must be directly set to avoid re-rendering looping latency
24
- // setting to auto for a moment allows the textarea to shrink
25
- textAreaRef.style.height = 'auto';
26
- textAreaRef.style.height = `${textAreaRef.scrollHeight}px`;
27
- }
28
- };
29
- $effect(() => {
30
- autoHeight;
31
- resize;
32
- correctResize();
33
- autoSetHeight();
34
- });
35
- const onInput = (event) => {
36
- autoSetHeight();
37
- rest.oninput?.(event);
38
- };
39
- export const blur = () => {
40
- textAreaRef?.blur();
41
- };
42
- export const click = () => {
43
- textAreaRef?.click();
44
- };
45
- export const focus = (options) => {
46
- textAreaRef?.focus();
47
- };
48
- export const select = () => {
49
- textAreaRef?.select();
50
- };
51
- export const setSelectionRange = (start, end, direction) => {
52
- textAreaRef?.setSelectionRange(start, end, direction);
53
- };
54
- export const setRangeText = (replacement, start, end, selectionMode) => {
55
- if (start && end) {
56
- textAreaRef?.setRangeText(replacement, start, end, selectionMode);
57
- }
58
- else {
59
- textAreaRef?.setRangeText(replacement);
60
- }
61
- };
62
- </script>
63
-
64
- <div class={`sterling-text-area ${_class}`} class:disabled>
65
- <textarea
66
- bind:this={textAreaRef}
67
- bind:value
68
- {disabled}
69
- rows="1"
70
- {...rest}
71
- oninput={onInput}
72
- style={`--TextArea__resize: ${resize};${style}`}
73
- ></textarea>
74
- </div>
@@ -1,19 +0,0 @@
1
- /// <reference types="svelte" />
2
- import type { TextAreaResize } from './TextArea.types';
3
- import type { HTMLTextareaAttributes } from 'svelte/elements';
4
- type Props = HTMLTextareaAttributes & {
5
- autoHeight?: boolean | null | undefined;
6
- disabled?: boolean | null | undefined;
7
- value?: string;
8
- resize?: TextAreaResize;
9
- };
10
- declare const TextArea: import("svelte").Component<Props, {
11
- blur: () => void;
12
- click: () => void;
13
- focus: (options?: FocusOptions) => void;
14
- select: () => void;
15
- setSelectionRange: (start: number | null, end: number | null, direction?: 'forward' | 'backward' | 'none') => void;
16
- setRangeText: (replacement: string, start?: number, end?: number, selectionMode?: SelectionMode) => void;
17
- }, "value" | "resize">;
18
- type TextArea = ReturnType<typeof TextArea>;
19
- export default TextArea;
@@ -1,4 +0,0 @@
1
- import type { TEXT_AREA_RESIZES } from './TextArea.constants';
2
- type TextAreaResizeTuple = typeof TEXT_AREA_RESIZES;
3
- export type TextAreaResize = TextAreaResizeTuple[number];
4
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,63 +0,0 @@
1
- <svelte:options runes={true} />
2
-
3
- <script lang="ts">import { onMount } from 'svelte';
4
- import Callout from './Callout.svelte';
5
- let { children, class: _class, disabled = false, hoverDelayMilliseconds = 1000, open = $bindable(false), tip, ...rest } = $props();
6
- let originRef = $state();
7
- let reference = $derived(!!children ? originRef?.previousElementSibling : undefined);
8
- $inspect({ reference });
9
- const show = () => {
10
- if (!disabled) {
11
- open = true;
12
- }
13
- };
14
- const hide = () => (open = false);
15
- const delayShow = () => {
16
- hoverDelayMilliseconds === 0
17
- ? show()
18
- : setTimeout(() => {
19
- show();
20
- }, hoverDelayMilliseconds);
21
- };
22
- $effect(() => {
23
- if (disabled) {
24
- hide();
25
- }
26
- });
27
- // ----- Event Listeners ----- //
28
- let cleanupAutoShowUpdate = () => { };
29
- const autoShowUpdate = () => {
30
- cleanupAutoShowUpdate();
31
- cleanupAutoShowUpdate = () => { };
32
- const element = reference;
33
- open = false;
34
- if (element) {
35
- element.addEventListener('mouseenter', delayShow);
36
- element.addEventListener('mouseleave', hide);
37
- cleanupAutoShowUpdate = () => {
38
- element.removeEventListener('mouseenter', delayShow);
39
- element.removeEventListener('mouseleave', hide);
40
- };
41
- }
42
- };
43
- $effect(() => {
44
- reference;
45
- autoShowUpdate();
46
- });
47
- // ----- EventHandlers ----- //
48
- onMount(() => {
49
- autoShowUpdate();
50
- });
51
- </script>
52
-
53
- {@render children?.()}
54
- <div class="sterling-tooltip-origin" bind:this={originRef}></div>
55
- <Callout class={_class} {open} {reference} {...rest}>
56
- {#if tip}
57
- {#if typeof tip === 'string'}
58
- {tip}
59
- {:else}
60
- {@render tip()}
61
- {/if}
62
- {/if}
63
- </Callout>
@@ -1,10 +0,0 @@
1
- import { type Snippet } from 'svelte';
2
- import type { CalloutProps } from './Callout.types';
3
- type Props = Omit<CalloutProps, 'reference'> & {
4
- disabled?: boolean;
5
- hoverDelayMilliseconds?: number;
6
- tip?: string | Snippet;
7
- };
8
- declare const Tooltip: import("svelte").Component<Props, {}, "open">;
9
- type Tooltip = ReturnType<typeof Tooltip>;
10
- export default Tooltip;
@@ -1 +0,0 @@
1
- export declare const TREE_CONTEXT_KEY = "sterlingTree";
@@ -1 +0,0 @@
1
- export const TREE_CONTEXT_KEY = 'sterlingTree';
package/dist/Tree.svelte DELETED
@@ -1,53 +0,0 @@
1
- <svelte:options runes={true} />
2
-
3
- <script lang="ts">import { setContext } from 'svelte';
4
- import { usingKeyboard } from './mediaQueries/usingKeyboard';
5
- import { TREE_CONTEXT_KEY } from './Tree.constants';
6
- let { children, class: _class, disabled = false, expandedValues = $bindable([]), onExpandCollapse, onSelect, selectedValue = $bindable(undefined), ...rest } = $props();
7
- let treeRef;
8
- let treeContext = {
9
- get disabled() {
10
- return disabled;
11
- },
12
- get expandedValues() {
13
- return expandedValues;
14
- },
15
- set expandedValues(value) {
16
- expandedValues = value;
17
- },
18
- get selectedValue() {
19
- return selectedValue;
20
- },
21
- set selectedValue(value) {
22
- selectedValue = value;
23
- }
24
- };
25
- setContext(TREE_CONTEXT_KEY, treeContext);
26
- $effect(() => {
27
- onSelect?.(selectedValue);
28
- });
29
- $effect(() => {
30
- onExpandCollapse?.(expandedValues);
31
- });
32
- export const blur = () => {
33
- treeRef?.blur();
34
- };
35
- export const focus = (options) => {
36
- treeRef?.focus(options);
37
- };
38
- </script>
39
-
40
- <div
41
- bind:this={treeRef}
42
- aria-disabled={disabled}
43
- class={`sterling-tree ${_class}`}
44
- class:disabled
45
- class:using-keyboard={$usingKeyboard}
46
- role="tree"
47
- tabindex="0"
48
- {...rest}
49
- >
50
- <div class="container">
51
- {@render children?.()}
52
- </div>
53
- </div>
@@ -1,15 +0,0 @@
1
- /// <reference types="svelte" />
2
- import type { HTMLAttributes } from 'svelte/elements';
3
- type Props = HTMLAttributes<HTMLDivElement> & {
4
- disabled?: boolean | null;
5
- expandedValues?: string[];
6
- selectedValue?: string;
7
- onExpandCollapse?: (expandedValues: string[]) => void;
8
- onSelect?: (selectedValue: string | undefined) => void;
9
- };
10
- declare const Tree: import("svelte").Component<Props, {
11
- blur: () => void;
12
- focus: (options?: FocusOptions) => void;
13
- }, "selectedValue" | "expandedValues">;
14
- type Tree = ReturnType<typeof Tree>;
15
- export default Tree;
@@ -1,5 +0,0 @@
1
- export type TreeContext = {
2
- disabled: boolean | null | undefined;
3
- expandedValues: string[];
4
- selectedValue: string | undefined;
5
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,27 +0,0 @@
1
- <svelte:options runes={true} />
2
-
3
- <script lang="ts">import { onMount } from 'svelte';
4
- let { class: _class, expanded = false, hasChildren = false, ...rest } = $props();
5
- let previousExpanded = expanded;
6
- let mounted = false;
7
- onMount(() => {
8
- setTimeout(() => {
9
- mounted = true;
10
- }, 0);
11
- });
12
- let animate = $state(false);
13
- $effect(() => {
14
- if (expanded !== previousExpanded && mounted) {
15
- animate = true;
16
- }
17
- previousExpanded = expanded;
18
- });
19
- </script>
20
-
21
- <div
22
- class={`sterling-tree-chevron ${_class}`}
23
- class:leaf={!hasChildren}
24
- class:animate
25
- class:expanded
26
- {...rest}
27
- ></div>
@@ -1,9 +0,0 @@
1
- /// <reference types="svelte" />
2
- import type { HTMLAttributes } from 'svelte/elements';
3
- type Props = HTMLAttributes<HTMLDivElement> & {
4
- expanded?: boolean | null | undefined;
5
- hasChildren?: boolean | null | undefined;
6
- };
7
- declare const TreeChevron: import("svelte").Component<Props, {}, "">;
8
- type TreeChevron = ReturnType<typeof TreeChevron>;
9
- export default TreeChevron;
@@ -1 +0,0 @@
1
- export declare const TREE_ITEM_CONTEXT_KEY = "sterlingTreeItem";
@@ -1 +0,0 @@
1
- export const TREE_ITEM_CONTEXT_KEY = 'sterlingTreeItem';