@geoffcox/sterling-svelte 2.0.0 → 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 +21 -23
  2. package/.DS_Store +0 -0
  3. package/@types/clickOutside.d.ts +0 -15
  4. package/Button.svelte +0 -25
  5. package/Button.svelte.d.ts +0 -9
  6. package/Callout.svelte +0 -177
  7. package/Callout.svelte.d.ts +0 -15
  8. package/Callout.types.d.ts +0 -11
  9. package/Callout.types.js +0 -1
  10. package/Checkbox.svelte +0 -43
  11. package/Checkbox.svelte.d.ts +0 -10
  12. package/Dialog.svelte +0 -151
  13. package/Dialog.svelte.d.ts +0 -14
  14. package/Dropdown.svelte +0 -109
  15. package/Dropdown.svelte.d.ts +0 -18
  16. package/Input.svelte +0 -55
  17. package/Input.svelte.d.ts +0 -12
  18. package/Label.constants.d.ts +0 -2
  19. package/Label.constants.js +0 -2
  20. package/Label.svelte +0 -91
  21. package/Label.svelte.d.ts +0 -17
  22. package/Link.svelte +0 -25
  23. package/Link.svelte.d.ts +0 -12
  24. package/List.constants.d.ts +0 -1
  25. package/List.constants.js +0 -1
  26. package/List.svelte +0 -203
  27. package/List.svelte.d.ts +0 -20
  28. package/List.types.d.ts +0 -5
  29. package/List.types.js +0 -1
  30. package/ListItem.svelte +0 -49
  31. package/ListItem.svelte.d.ts +0 -13
  32. package/Menu.svelte +0 -83
  33. package/Menu.svelte.d.ts +0 -13
  34. package/MenuBar.constants.d.ts +0 -1
  35. package/MenuBar.constants.js +0 -1
  36. package/MenuBar.svelte +0 -113
  37. package/MenuBar.svelte.d.ts +0 -13
  38. package/MenuBar.types.d.ts +0 -4
  39. package/MenuBar.types.js +0 -1
  40. package/MenuButton.svelte +0 -116
  41. package/MenuButton.svelte.d.ts +0 -20
  42. package/MenuItem.constants.d.ts +0 -2
  43. package/MenuItem.constants.js +0 -2
  44. package/MenuItem.svelte +0 -342
  45. package/MenuItem.svelte.d.ts +0 -22
  46. package/MenuItem.types.d.ts +0 -20
  47. package/MenuItem.types.js +0 -1
  48. package/MenuItem.utils.d.ts +0 -7
  49. package/MenuItem.utils.js +0 -36
  50. package/MenuSeparator.svelte +0 -11
  51. package/MenuSeparator.svelte.d.ts +0 -6
  52. package/Popover.constants.d.ts +0 -1
  53. package/Popover.constants.js +0 -14
  54. package/Popover.svelte +0 -121
  55. package/Popover.svelte.d.ts +0 -15
  56. package/Popover.types.d.ts +0 -4
  57. package/Popover.types.js +0 -1
  58. package/Portal.constants.d.ts +0 -2
  59. package/Portal.constants.js +0 -2
  60. package/Portal.types.d.ts +0 -6
  61. package/Portal.types.js +0 -1
  62. package/Progress.constants.d.ts +0 -1
  63. package/Progress.constants.js +0 -1
  64. package/Progress.svelte +0 -36
  65. package/Progress.svelte.d.ts +0 -12
  66. package/Progress.types.d.ts +0 -4
  67. package/Progress.types.js +0 -1
  68. package/Radio.svelte +0 -53
  69. package/Radio.svelte.d.ts +0 -13
  70. package/Select.svelte +0 -196
  71. package/Select.svelte.d.ts +0 -20
  72. package/Slider.svelte +0 -133
  73. package/Slider.svelte.d.ts +0 -19
  74. package/Switch.svelte +0 -61
  75. package/Switch.svelte.d.ts +0 -21
  76. package/Tab.svelte +0 -51
  77. package/Tab.svelte.d.ts +0 -12
  78. package/TabList.constants.d.ts +0 -1
  79. package/TabList.constants.js +0 -1
  80. package/TabList.svelte +0 -202
  81. package/TabList.svelte.d.ts +0 -18
  82. package/TabList.types.d.ts +0 -5
  83. package/TabList.types.js +0 -1
  84. package/TextArea.constants.d.ts +0 -1
  85. package/TextArea.constants.js +0 -1
  86. package/TextArea.svelte +0 -74
  87. package/TextArea.svelte.d.ts +0 -19
  88. package/TextArea.types.d.ts +0 -4
  89. package/TextArea.types.js +0 -1
  90. package/Tooltip.svelte +0 -63
  91. package/Tooltip.svelte.d.ts +0 -10
  92. package/Tree.constants.d.ts +0 -1
  93. package/Tree.constants.js +0 -1
  94. package/Tree.svelte +0 -53
  95. package/Tree.svelte.d.ts +0 -15
  96. package/Tree.types.d.ts +0 -5
  97. package/Tree.types.js +0 -1
  98. package/TreeChevron.svelte +0 -27
  99. package/TreeChevron.svelte.d.ts +0 -9
  100. package/TreeItem.constants.d.ts +0 -1
  101. package/TreeItem.constants.js +0 -1
  102. package/TreeItem.svelte +0 -329
  103. package/TreeItem.svelte.d.ts +0 -22
  104. package/TreeItem.types.d.ts +0 -4
  105. package/TreeItem.types.js +0 -1
  106. package/actions/applyLightDarkMode.d.ts +0 -10
  107. package/actions/applyLightDarkMode.js +0 -36
  108. package/actions/clickOutside.d.ts +0 -15
  109. package/actions/clickOutside.js +0 -28
  110. package/actions/extraClass.d.ts +0 -8
  111. package/actions/extraClass.js +0 -14
  112. package/actions/forwardEvents.d.ts +0 -12
  113. package/actions/forwardEvents.js +0 -32
  114. package/actions/portal.d.ts +0 -8
  115. package/actions/portal.js +0 -19
  116. package/actions/trapKeyboardFocus.d.ts +0 -3
  117. package/actions/trapKeyboardFocus.js +0 -52
  118. package/idGenerator.d.ts +0 -4
  119. package/idGenerator.js +0 -10
  120. package/index.d.ts +0 -59
  121. package/index.js +0 -54
  122. package/mediaQueries/prefersColorSchemeDark.d.ts +0 -2
  123. package/mediaQueries/prefersColorSchemeDark.js +0 -14
  124. package/mediaQueries/prefersReducedMotion.d.ts +0 -2
  125. package/mediaQueries/prefersReducedMotion.js +0 -14
  126. package/mediaQueries/usingKeyboard.d.ts +0 -2
  127. package/mediaQueries/usingKeyboard.js +0 -17
@@ -1,12 +0,0 @@
1
- export declare const forwardEvents: (node: HTMLElement, params: {
2
- target: HTMLElement;
3
- events?: string[];
4
- customEvents?: string[];
5
- }) => {
6
- update: (params: {
7
- target: HTMLElement;
8
- events?: string[];
9
- customEvents?: [];
10
- }) => void;
11
- destroy(): void;
12
- };
@@ -1,32 +0,0 @@
1
- export const forwardEvents = (node, params) => {
2
- const addListeners = (node, target, events, customEvents) => {
3
- let forward = (event) => {
4
- target.dispatchEvent(event);
5
- };
6
- let forwardCustom = (event) => {
7
- const customEvent = event;
8
- target.dispatchEvent(new CustomEvent(customEvent.type, {
9
- bubbles: customEvent.bubbles,
10
- cancelable: customEvent.cancelable,
11
- detail: customEvent.detail
12
- }));
13
- };
14
- events?.forEach((e) => node.addEventListener(e, forward));
15
- customEvents?.forEach((e) => node.addEventListener(e, forwardCustom));
16
- return () => {
17
- events?.forEach((e) => node.removeEventListener(e, forward));
18
- customEvents?.forEach((e) => node.removeEventListener(e, forwardCustom));
19
- };
20
- };
21
- let unsubscribe = addListeners(node, params.target, params.events, params.customEvents);
22
- const update = (params) => {
23
- unsubscribe();
24
- unsubscribe = addListeners(node, params.target, params.events, params.customEvents);
25
- };
26
- return {
27
- update,
28
- destroy() {
29
- unsubscribe();
30
- }
31
- };
32
- };
@@ -1,8 +0,0 @@
1
- export declare const portal: (node: HTMLElement, params: {
2
- target?: HTMLElement;
3
- }) => {
4
- update: (params: {
5
- target?: HTMLElement;
6
- }) => void;
7
- destroy(): void;
8
- };
package/actions/portal.js DELETED
@@ -1,19 +0,0 @@
1
- export const portal = (node, params) => {
2
- const child = node;
3
- let portaled = false;
4
- const createPortal = (node, params) => {
5
- if (!portaled && params.target && node) {
6
- params.target.appendChild(node);
7
- portaled = true;
8
- }
9
- };
10
- createPortal(child, params);
11
- return {
12
- update: (params) => createPortal(child, params),
13
- destroy() {
14
- if (portaled) {
15
- child?.parentNode?.removeChild(child);
16
- }
17
- }
18
- };
19
- };
@@ -1,3 +0,0 @@
1
- export declare const trapKeyboardFocus: (node: HTMLElement) => {
2
- destroy: () => void;
3
- };
@@ -1,52 +0,0 @@
1
- const getFirstFocusable = (node) => {
2
- // we can't select [tabIndex] as many elements don't have tabIndex as a declared property
3
- // but do default to tabIndex >= 0.
4
- const nodes = node.querySelectorAll('*');
5
- const elements = Array.from(nodes)
6
- .map((n) => n)
7
- .filter((n) => n.tabIndex !== undefined && n.tabIndex >= 0);
8
- return elements.length > 0 ? elements[0] : null;
9
- };
10
- const getLastFocusable = (node) => {
11
- // we can't select [tabIndex] as many elements don't have tabIndex as a declared property
12
- // but do default to tabIndex >= 0.
13
- const nodes = node.querySelectorAll('*');
14
- const elements = Array.from(nodes)
15
- .map((n) => n)
16
- .filter((n) => n.tabIndex !== undefined && n.tabIndex >= 0);
17
- return elements.length > 0 ? elements[elements.length - 1] : null;
18
- };
19
- export const trapKeyboardFocus = (node) => {
20
- const onKeydown = (e) => {
21
- let handledFocus = false;
22
- if (e.key === 'Tab') {
23
- if (e.shiftKey) {
24
- const firstFocusable = getFirstFocusable(node);
25
- if (document.activeElement === firstFocusable) {
26
- const lastFocusable = getLastFocusable(node);
27
- lastFocusable?.focus();
28
- handledFocus = true;
29
- }
30
- }
31
- else {
32
- const lastFocusable = getLastFocusable(node);
33
- if (document.activeElement === lastFocusable) {
34
- const firstFocusable = getFirstFocusable(node);
35
- firstFocusable?.focus();
36
- handledFocus = true;
37
- }
38
- }
39
- }
40
- if (handledFocus) {
41
- e.stopPropagation();
42
- e.preventDefault();
43
- return false;
44
- }
45
- };
46
- node.addEventListener('keydown', onKeydown);
47
- return {
48
- destroy: () => {
49
- node.removeEventListener('keydown', onKeydown);
50
- }
51
- };
52
- };
package/idGenerator.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export declare const idGenerator: {
2
- next: () => number;
3
- nextId: (prefix?: string) => string;
4
- };
package/idGenerator.js DELETED
@@ -1,10 +0,0 @@
1
- let id = 0;
2
- const next = () => {
3
- return ++id;
4
- };
5
- export const idGenerator = {
6
- next,
7
- nextId: (prefix) => {
8
- return prefix ? `${prefix}-${next()}` : `${next()}`;
9
- }
10
- };
package/index.d.ts DELETED
@@ -1,59 +0,0 @@
1
- export type { ClickOutsideEvent, ClickOutsideEventDetail } from './@types/clickOutside';
2
- export { applyLightDarkMode } from './actions/applyLightDarkMode';
3
- export { clickOutside } from './actions/clickOutside';
4
- export { extraClass } from './actions/extraClass';
5
- export { forwardEvents } from './actions/forwardEvents';
6
- export { portal } from './actions/portal';
7
- export { trapKeyboardFocus } from './actions/trapKeyboardFocus';
8
- export { prefersColorSchemeDark } from './mediaQueries/prefersColorSchemeDark';
9
- export { prefersReducedMotion } from './mediaQueries/prefersReducedMotion';
10
- export { usingKeyboard } from './mediaQueries/usingKeyboard';
11
- export { idGenerator } from './idGenerator';
12
- export type { ListContext } from './List.types';
13
- export type { MenuBarContext } from './MenuBar.types';
14
- export type { MenuItemContext, MenuItemRegistration, MenuItemRole } from './MenuItem.types';
15
- export type { PopoverPlacement } from './Popover.types';
16
- export type { ProgressOrientation } from './Progress.types';
17
- export type { TabListContext } from './TabList.types';
18
- export type { TextAreaResize } from './TextArea.types';
19
- export type { TreeContext } from './Tree.types';
20
- export type { TreeItemContext } from './TreeItem.types';
21
- export { LABEL_STATUSES, LABEL_VARIANTS } from './Label.constants';
22
- export { LIST_CONTEXT_KEY } from './List.constants';
23
- export { MENU_BAR_CONTEXT_KEY } from './MenuBar.constants';
24
- export { MENU_ITEM_CONTEXT_KEY, MENU_ITEM_ROLES } from './MenuItem.constants';
25
- export { POPOVER_PLACEMENTS } from './Popover.constants';
26
- export { PROGRESS_ORIENTATIONS } from './Progress.constants';
27
- export { TAB_LIST_CONTEXT_KEY } from './TabList.constants';
28
- export { TEXT_AREA_RESIZES } from './TextArea.constants';
29
- export { TREE_CONTEXT_KEY } from './Tree.constants';
30
- export { TREE_ITEM_CONTEXT_KEY } from './TreeItem.constants';
31
- import Button from './Button.svelte';
32
- import Callout from './Callout.svelte';
33
- import Checkbox from './Checkbox.svelte';
34
- import Dialog from './Dialog.svelte';
35
- import Dropdown from './Dropdown.svelte';
36
- import Label from './Label.svelte';
37
- import Input from './Input.svelte';
38
- import Link from './Link.svelte';
39
- import List from './List.svelte';
40
- import ListItem from './ListItem.svelte';
41
- import Menu from './Menu.svelte';
42
- import MenuBar from './MenuBar.svelte';
43
- import MenuButton from './MenuButton.svelte';
44
- import MenuItem from './MenuItem.svelte';
45
- import MenuSeparator from './MenuSeparator.svelte';
46
- import Popover from './Popover.svelte';
47
- import Progress from './Progress.svelte';
48
- import Radio from './Radio.svelte';
49
- import Select from './Select.svelte';
50
- import Slider from './Slider.svelte';
51
- import Switch from './Switch.svelte';
52
- import Tab from './Tab.svelte';
53
- import TabList from './TabList.svelte';
54
- import TextArea from './TextArea.svelte';
55
- import Tooltip from './Tooltip.svelte';
56
- import Tree from './Tree.svelte';
57
- import TreeChevron from './TreeChevron.svelte';
58
- import TreeItem from './TreeItem.svelte';
59
- export { Button, Callout, Checkbox, Dialog, Dropdown, Input, Label, Link, List, ListItem, Menu, MenuBar, MenuButton, MenuItem, MenuSeparator, Popover, Progress, Radio, Select, Slider, Switch, Tab, TabList, TextArea, Tooltip, Tree, TreeChevron, TreeItem };
package/index.js DELETED
@@ -1,54 +0,0 @@
1
- // ----- actions ----- //
2
- export { applyLightDarkMode } from './actions/applyLightDarkMode';
3
- export { clickOutside } from './actions/clickOutside';
4
- export { extraClass } from './actions/extraClass';
5
- export { forwardEvents } from './actions/forwardEvents';
6
- export { portal } from './actions/portal';
7
- export { trapKeyboardFocus } from './actions/trapKeyboardFocus';
8
- // ----- media queries ----- //
9
- export { prefersColorSchemeDark } from './mediaQueries/prefersColorSchemeDark';
10
- export { prefersReducedMotion } from './mediaQueries/prefersReducedMotion';
11
- export { usingKeyboard } from './mediaQueries/usingKeyboard';
12
- // ----- functions ----- //
13
- export { idGenerator } from './idGenerator';
14
- // ----- Component constants ----- //
15
- export { LABEL_STATUSES, LABEL_VARIANTS } from './Label.constants';
16
- export { LIST_CONTEXT_KEY } from './List.constants';
17
- export { MENU_BAR_CONTEXT_KEY } from './MenuBar.constants';
18
- export { MENU_ITEM_CONTEXT_KEY, MENU_ITEM_ROLES } from './MenuItem.constants';
19
- export { POPOVER_PLACEMENTS } from './Popover.constants';
20
- export { PROGRESS_ORIENTATIONS } from './Progress.constants';
21
- export { TAB_LIST_CONTEXT_KEY } from './TabList.constants';
22
- export { TEXT_AREA_RESIZES } from './TextArea.constants';
23
- export { TREE_CONTEXT_KEY } from './Tree.constants';
24
- export { TREE_ITEM_CONTEXT_KEY } from './TreeItem.constants';
25
- // ----- Components ----- //
26
- import Button from './Button.svelte';
27
- import Callout from './Callout.svelte';
28
- import Checkbox from './Checkbox.svelte';
29
- import Dialog from './Dialog.svelte';
30
- import Dropdown from './Dropdown.svelte';
31
- import Label from './Label.svelte';
32
- import Input from './Input.svelte';
33
- import Link from './Link.svelte';
34
- import List from './List.svelte';
35
- import ListItem from './ListItem.svelte';
36
- import Menu from './Menu.svelte';
37
- import MenuBar from './MenuBar.svelte';
38
- import MenuButton from './MenuButton.svelte';
39
- import MenuItem from './MenuItem.svelte';
40
- import MenuSeparator from './MenuSeparator.svelte';
41
- import Popover from './Popover.svelte';
42
- import Progress from './Progress.svelte';
43
- import Radio from './Radio.svelte';
44
- import Select from './Select.svelte';
45
- import Slider from './Slider.svelte';
46
- import Switch from './Switch.svelte';
47
- import Tab from './Tab.svelte';
48
- import TabList from './TabList.svelte';
49
- import TextArea from './TextArea.svelte';
50
- import Tooltip from './Tooltip.svelte';
51
- import Tree from './Tree.svelte';
52
- import TreeChevron from './TreeChevron.svelte';
53
- import TreeItem from './TreeItem.svelte';
54
- export { Button, Callout, Checkbox, Dialog, Dropdown, Input, Label, Link, List, ListItem, Menu, MenuBar, MenuButton, MenuItem, MenuSeparator, Popover, Progress, Radio, Select, Slider, Switch, Tab, TabList, TextArea, Tooltip, Tree, TreeChevron, TreeItem };
@@ -1,2 +0,0 @@
1
- /// <reference types="svelte" />
2
- export declare const prefersColorSchemeDark: import("svelte/store").Writable<boolean>;
@@ -1,14 +0,0 @@
1
- import { onMount } from 'svelte';
2
- import { writable } from 'svelte/store';
3
- export const prefersColorSchemeDark = writable(false, (set) => {
4
- let matchMedia = undefined;
5
- const mediaChangeHandler = (e) => set(e.matches);
6
- onMount(() => {
7
- matchMedia = window.matchMedia('(prefers-color-scheme: dark)');
8
- set(matchMedia.matches);
9
- matchMedia.addEventListener('change', mediaChangeHandler);
10
- });
11
- return () => {
12
- matchMedia?.removeEventListener('change', mediaChangeHandler);
13
- };
14
- });
@@ -1,2 +0,0 @@
1
- /// <reference types="svelte" />
2
- export declare const prefersReducedMotion: import("svelte/store").Writable<boolean>;
@@ -1,14 +0,0 @@
1
- import { onMount } from 'svelte';
2
- import { writable } from 'svelte/store';
3
- export const prefersReducedMotion = writable(false, (set) => {
4
- let matchMedia = undefined;
5
- const mediaChangeHandler = (e) => set(e.matches);
6
- onMount(() => {
7
- matchMedia = window.matchMedia('(prefers-reduced-motion: reduce)');
8
- set(matchMedia.matches);
9
- matchMedia.addEventListener('change', mediaChangeHandler);
10
- });
11
- return () => {
12
- matchMedia?.removeEventListener('change', mediaChangeHandler);
13
- };
14
- });
@@ -1,2 +0,0 @@
1
- /// <reference types="svelte" />
2
- export declare const usingKeyboard: import("svelte/store").Writable<boolean>;
@@ -1,17 +0,0 @@
1
- import { onMount } from 'svelte';
2
- import { writable } from 'svelte/store';
3
- import { createKeyborg } from 'keyborg';
4
- export const usingKeyboard = writable(false, (set) => {
5
- let keyborg = undefined;
6
- const keyborgHandler = (value) => {
7
- set(value);
8
- };
9
- onMount(() => {
10
- keyborg = createKeyborg(window);
11
- set(keyborg.isNavigatingWithKeyboard());
12
- keyborg.subscribe(keyborgHandler);
13
- });
14
- return () => {
15
- keyborg?.unsubscribe(keyborgHandler);
16
- };
17
- });