@axel669/zephyr 0.1.17 → 0.2.0-beta.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 (115) hide show
  1. package/LICENSE +21 -21
  2. package/package.json +10 -7
  3. package/readme.md +55 -44
  4. package/src/async/button.svelte +31 -0
  5. package/src/async/load-zone.svelte +17 -0
  6. package/src/composed/data-table/th.svelte +60 -0
  7. package/src/composed/data-table.md +83 -0
  8. package/src/composed/data-table.svelte +136 -150
  9. package/src/composed/entry-button.md +34 -0
  10. package/src/composed/entry-button.svelte +29 -68
  11. package/src/composed/table-functions.js +13 -0
  12. package/src/composed/toast/message.svelte +56 -44
  13. package/src/composed/toast.md +36 -0
  14. package/src/composed/toast.svelte +68 -108
  15. package/src/control/button.md +37 -0
  16. package/src/control/button.svelte +25 -0
  17. package/src/control/input.svelte +107 -0
  18. package/src/control/label.md +45 -0
  19. package/src/control/label.svelte +36 -0
  20. package/src/control/link.md +46 -0
  21. package/src/control/link.svelte +28 -0
  22. package/src/control/radio.md +56 -0
  23. package/src/control/radio.svelte +26 -0
  24. package/src/control/select.md +68 -0
  25. package/src/control/select.svelte +62 -0
  26. package/src/control/tabs.md +45 -0
  27. package/src/control/tabs.svelte +39 -0
  28. package/src/control/toggle.md +55 -0
  29. package/src/control/toggle.svelte +47 -0
  30. package/src/data-display/avatar.md +32 -0
  31. package/src/data-display/avatar.svelte +23 -0
  32. package/src/data-display/badge.md +24 -0
  33. package/src/data-display/badge.svelte +12 -0
  34. package/src/data-display/chip.md +32 -0
  35. package/src/data-display/chip.svelte +26 -0
  36. package/src/data-display/details.md +3 -0
  37. package/src/{details.svelte → data-display/details.svelte} +3 -3
  38. package/src/data-display/popover.md +28 -0
  39. package/src/data-display/popover.svelte +23 -0
  40. package/src/data-display/progress.md +42 -0
  41. package/src/data-display/progress.svelte +25 -0
  42. package/src/data-display/table.md +7 -0
  43. package/src/data-display/table.svelte +36 -0
  44. package/src/data-display/tooltip.md +25 -0
  45. package/src/data-display/tooltip.svelte +15 -0
  46. package/src/dialogs/alert.md +3 -0
  47. package/src/dialogs/alert.svelte +4 -4
  48. package/src/dialogs/confirm.md +3 -0
  49. package/src/dialogs/confirm.svelte +5 -5
  50. package/src/functions.md +77 -0
  51. package/src/handler$.mjs +20 -68
  52. package/src/index.mjs +58 -92
  53. package/src/info/icon.md +17 -0
  54. package/src/info/icon.svelte +9 -0
  55. package/src/info/notification.md +32 -0
  56. package/src/info/notification.svelte +16 -0
  57. package/src/info/titlebar.md +49 -0
  58. package/src/info/titlebar.svelte +18 -0
  59. package/src/info/toaster.md +22 -0
  60. package/src/info/toaster.svelte +14 -0
  61. package/src/inline-dialog.svelte +23 -23
  62. package/src/layout/dialog.md +34 -0
  63. package/src/layout/dialog.svelte +24 -0
  64. package/src/layout/drawer.md +61 -0
  65. package/src/layout/drawer.svelte +47 -0
  66. package/src/layout/flex.md +39 -0
  67. package/src/layout/flex.svelte +22 -0
  68. package/src/layout/grid.md +57 -0
  69. package/src/layout/grid.svelte +26 -0
  70. package/src/layout/modal.md +47 -0
  71. package/src/layout/modal.svelte +58 -0
  72. package/src/layout/paper.md +90 -0
  73. package/src/layout/paper.svelte +45 -0
  74. package/src/layout/screen.md +28 -0
  75. package/src/layout/screen.svelte +32 -0
  76. package/src/{circle-spinner.svelte → spinner/circle-spinner.svelte} +2 -2
  77. package/src/{hexagon-spinner.svelte → spinner/hexagon-spinner.svelte} +2 -2
  78. package/src/spinner/spinners.md +3 -0
  79. package/src/text.md +34 -0
  80. package/src/text.svelte +20 -49
  81. package/src/variant.mjs +12 -12
  82. package/src/wsx.mjs +24 -45
  83. package/src/avatar.svelte +0 -54
  84. package/src/badge.svelte +0 -40
  85. package/src/button.svelte +0 -86
  86. package/src/chip.svelte +0 -56
  87. package/src/dialog.svelte +0 -54
  88. package/src/drawer.svelte +0 -121
  89. package/src/flex.svelte +0 -57
  90. package/src/grid.svelte +0 -66
  91. package/src/icon.svelte +0 -34
  92. package/src/input/area.svelte +0 -98
  93. package/src/input/elems.mjs +0 -7
  94. package/src/input/email.svelte +0 -104
  95. package/src/input/file.svelte +0 -82
  96. package/src/input/number.svelte +0 -104
  97. package/src/input/password.svelte +0 -101
  98. package/src/input/search.svelte +0 -104
  99. package/src/input/text.svelte +0 -104
  100. package/src/link.svelte +0 -67
  101. package/src/modal.svelte +0 -73
  102. package/src/notification.svelte +0 -57
  103. package/src/paper.svelte +0 -127
  104. package/src/popover.svelte +0 -60
  105. package/src/progress.svelte +0 -60
  106. package/src/radio.svelte +0 -82
  107. package/src/screen.svelte +0 -69
  108. package/src/select.svelte +0 -122
  109. package/src/table.svelte +0 -69
  110. package/src/tabs.svelte +0 -78
  111. package/src/titlebar.svelte +0 -69
  112. package/src/toaster.svelte +0 -42
  113. package/src/toggle.svelte +0 -94
  114. package/src/tooltip.svelte +0 -45
  115. package/src/vars.mjs +0 -61
package/src/wsx.mjs CHANGED
@@ -1,45 +1,24 @@
1
- import wind from "@axel669/windstorm"
2
- const { wsx } = wind
3
-
4
- /*md
5
- [@] Actions/wsx
6
-
7
- # wsx Action
8
-
9
- The wsx action can be used to set the `ws-x` attribute on a DOM element by using
10
- an object as the source rather than trying to do the string manipulation
11
- directly.
12
- - `null`, `undefined`, and `false` will not insert the wind function
13
- - `true` will insert the wind function with no args
14
- - any string value will insert the wind function with the arguments formatted
15
- for the parser (replace spaces and underscores as needed).
16
-
17
- ## Usage
18
- ```js
19
- // will generate ws-x="grid gr-col[1fr_1fr]"
20
- $: windStff = {
21
- grid: true,
22
- gr-col: "1fr 1fr",
23
- p: false
24
- }
25
- ```
26
- ```svelte
27
- <div use:wsx={windStuff}>
28
- </div>
29
- ```
30
- */
31
-
32
- export default (node, props) => {
33
- const update = (props) => {
34
- if (props === null || props === undefined) {
35
- node.setAttribute("ws-x", null)
36
- return
37
- }
38
- node.setAttribute(
39
- "ws-x",
40
- wsx(props)
41
- )
42
- }
43
- update(props)
44
- return { update }
45
- }
1
+ import ws from "@axel669/windstorm"
2
+
3
+ ws.custom("outline", (o) => ws.prop("outline", o))
4
+
5
+ export default (node, props) => {
6
+ const update = (props) => {
7
+ const { slot = null, ...goodProps } = props ?? {}
8
+ if (goodProps === null || goodProps === undefined) {
9
+ node.setAttribute("ws-x", null)
10
+ return
11
+ }
12
+ node.setAttribute(
13
+ "ws-x",
14
+ ws.x(goodProps)
15
+ )
16
+ if (slot === null) {
17
+ node.removeAttribute("slot")
18
+ return
19
+ }
20
+ node.setAttribute("slot", slot)
21
+ }
22
+ update(props)
23
+ return { update }
24
+ }
package/src/avatar.svelte DELETED
@@ -1,54 +0,0 @@
1
- <script>
2
- /*md
3
- [@] Components/Data Display/Avatar
4
-
5
- # Avatar
6
-
7
- Displays an image or text in a circular container.
8
-
9
- ## Base
10
- [Windstorm Avatar](https://axel669.github.io/lib.windstorm/#components-avatar)
11
-
12
- ## Props
13
- All [windstorm functions](https://axel669.github.io/lib.windstorm/#css-shorthands)
14
- are supported.
15
-
16
- - ### alt `string`
17
- Alt text for the image. Has no effect if image prop is not used.
18
- - ### color `string`
19
- Sets `$color`
20
- - ### image `string`
21
- An image url. If no url is provided the text property is displayed.
22
- - ### text `string`
23
- Text to show in the avatar area if image is not used.
24
-
25
- ## Example
26
- ```svelte
27
- <Avatar image="url" />
28
- <Avatar image="url" alt="text" />
29
- <Avatar text="Hi" color="primary" />
30
- ```
31
- */
32
-
33
- import wsx from "./wsx.mjs"
34
-
35
- export let alt = ""
36
- export let image = null
37
-
38
- export let text = ""
39
-
40
- export let color = false
41
-
42
- $: wind = {
43
- $color: color,
44
- ...$$restProps
45
- }
46
- </script>
47
-
48
- <ws-avatar use:wsx={wind}>
49
- {#if image !== null}
50
- <img src={image} {alt} />
51
- {:else}
52
- {text}
53
- {/if}
54
- </ws-avatar>
package/src/badge.svelte DELETED
@@ -1,40 +0,0 @@
1
- <script>
2
- /*md
3
- [@] Components/Data Display/Badge
4
-
5
- # Badge
6
- Adds a small badge over the upper-right corner of some content.
7
-
8
- ## Base
9
- [Windstorm Badge](https://axel669.github.io/lib.windstorm/#components-badge)
10
-
11
- ## Props
12
- All [windstorm functions](https://axel669.github.io/lib.windstorm/#css-shorthands)
13
- are supported.
14
-
15
- - ### color `string`
16
- Sets `$color`
17
- - ### text `string`
18
- The badge text.
19
-
20
- ## Example
21
- ```svelte
22
- <Badge text="100">
23
- Unread Messages
24
- </Badge>
25
- <Badge text="1k+" color="warning">
26
- <button>Clickable Content</button>
27
- </Badge>
28
- ```
29
- */
30
- import wsx from "./wsx.mjs"
31
-
32
- export let color = "default"
33
- export let text = ""
34
-
35
- $: wind = { $color: color, ...$$restProps }
36
- </script>
37
-
38
- <ws-badge ws-text={text} use:wsx={wind}>
39
- <slot />
40
- </ws-badge>
package/src/button.svelte DELETED
@@ -1,86 +0,0 @@
1
- <script>
2
- /*md
3
- [@] Components/Button
4
-
5
- # Button
6
-
7
- Basic clickable component for handling user interaction.
8
-
9
- ## Base
10
- [Windstorm Button](https://axel669.github.io/lib.windstorm/#components-button)
11
-
12
- ## Props
13
- All [windstorm functions](https://axel669.github.io/lib.windstorm/#css-shorthands)
14
- are supported.
15
-
16
- - ### color `string`
17
- Sets `$color`
18
- - ### compact `bool`
19
- Sets `$compact`
20
- - ### for `string`
21
- The ID of a dom element that the button is tied to. Only works with
22
- label buttons.
23
- - ### label `string`
24
- If true, the button will be displayed in the DOM using a `<label>`
25
- element instead of a `<button>`.
26
- - ### fill / outline `bool`
27
- Sets the button type to @fill if fill is true, @outline if outline
28
- is true, or @flat if neither is true.
29
-
30
- ## Events
31
- - click
32
-
33
- ## Example
34
- ```svelte
35
- <Button on:click={action}>
36
- Flat Button
37
- </Button>
38
- <Button on:click={action} outline>
39
- Outlined Button
40
- </Button>
41
- <Button on:click={action} fill color="danger">
42
- Filled Button
43
- </Button>
44
-
45
- <Button label for="thing">
46
- Toggle
47
- </Button>
48
- <input type="checkbox" id="toggle" />
49
- ```
50
- */
51
-
52
- import wsx from "./wsx.mjs"
53
- import variant from "./variant.mjs"
54
-
55
- export let color = false
56
- export let compact = false
57
- export let disabled
58
-
59
- export let fill = false
60
- export let outline = false
61
-
62
- let _for = ""
63
- export { _for as for }
64
- export let label = false
65
-
66
- $: type = variant({ fill, outline })
67
-
68
- $: wind = {
69
- [type]: true,
70
- $color: color,
71
- $compact: compact,
72
- "@button": label,
73
- ...$$restProps
74
- }
75
- </script>
76
-
77
- {#if label === true}
78
- <!-- svelte-ignore a11y-click-events-have-key-events -->
79
- <label use:wsx={wind} {disabled} for={_for} on:click|stopPropagation>
80
- <slot />
81
- </label>
82
- {:else}
83
- <button use:wsx={wind} {disabled} on:click|stopPropagation>
84
- <slot />
85
- </button>
86
- {/if}
package/src/chip.svelte DELETED
@@ -1,56 +0,0 @@
1
- <script>
2
- /*md
3
- [@] Components/Data Display/Chip
4
-
5
- # Chip
6
- Shows a small piece of information that is separate from the surrounding
7
- info and optionally allows interaction.
8
-
9
- ## Base
10
- [Windstorm Chip](https://axel669.github.io/lib.windstorm/#components-chip)
11
-
12
- ## Props
13
- All [windstorm functions](https://axel669.github.io/lib.windstorm/#css-shorthands)
14
- are supported.
15
-
16
- - ### color `string`
17
- Sets `$color`
18
- - ### clickable `bool`
19
- If true, the chip will have the button ripple effect when clicked.
20
- - ### fill `bool`
21
- If true, sets @fill on the chip. If false @outline is set instead.
22
-
23
- ## Events
24
- - click
25
-
26
- ## Example
27
- ```svelte
28
- Emails:
29
- <Chip clickable>admin@site.com</Chip>
30
- <Chip clickable color="warning">weirdge@site.com</Chip>
31
- <Chip color="primary" fill>required@site.io</Chip>
32
- ```
33
- */
34
-
35
- import wsx from "./wsx.mjs"
36
- import variant from "./variant.mjs"
37
-
38
- export let color = "default"
39
- export let clickable = false
40
-
41
- export let fill = false
42
-
43
- $: type = variant({ fill }, "@outline")
44
-
45
- $: wind = {
46
- [type]: true,
47
- $color: color,
48
- $click: clickable,
49
- ...$$restProps
50
- }
51
- </script>
52
-
53
- <!-- svelte-ignore a11y-click-events-have-key-events -->
54
- <ws-chip use:wsx={wind} on:click>
55
- <slot />
56
- </ws-chip>
package/src/dialog.svelte DELETED
@@ -1,54 +0,0 @@
1
- <script>
2
- /*md
3
- [@] Components/Containers/Dialog
4
-
5
- # Dialog
6
-
7
- A modal container for creating dialogs. The Dialog component is a modal
8
- element that uses a Paper element for the layout of content. All props and
9
- slots for the Dialog are passed to the underlying Paper component.
10
-
11
- The Dialog component is used as a wrapper for content and is used in
12
- conjunction with the Modal component to be controlled on screen.
13
-
14
- ## Props
15
- See the Paper component props.
16
-
17
- ## Usage
18
- `cool-dialog.svelte`
19
- ```svelte
20
- <Dialog>
21
- <Titlebar slot="header">
22
- <Text slot="title" title>
23
- Some Title
24
- </Text>
25
- </Titlebar>
26
-
27
- <span>Content</span>
28
- </Dialog>
29
- ```
30
-
31
- `app.svelte`
32
- ```svelte
33
- <Modal component={CoolDialog} />
34
- <EntryButton this={Modal} component={CoolDialog}>
35
- Open Cool Dialog
36
- </EntryButton>
37
- ```
38
- */
39
-
40
- import { fade } from "svelte/transition"
41
-
42
- import wsx from "./wsx.mjs"
43
-
44
- import Paper from "./paper.svelte"
45
- </script>
46
-
47
- <!-- svelte-ignore a11y-click-events-have-key-events -->
48
- <wind-wrapper transition:fade={{ duration: 200 }} ws-x="@dialog grid" on:click|stopPropagation>
49
- <Paper {...$$props}>
50
- <slot name="header" slot="header" />
51
- <slot />
52
- <slot name="footer" slot="footer" />
53
- </Paper>
54
- </wind-wrapper>
package/src/drawer.svelte DELETED
@@ -1,121 +0,0 @@
1
- <script context="module">
2
- const defs = {
3
- select: {
4
- "@select": true,
5
- "w-min": "35vw",
6
- grid: true,
7
- over: "hidden"
8
- },
9
- menu: {
10
- "@menu": true,
11
- w: "15vw",
12
- },
13
- action: {
14
- "@action": true,
15
- w: "15vw",
16
- }
17
- }
18
- const css = {
19
- select: (t, u) => `
20
- transform: translateY(-${u * 100}%);
21
- opacity: ${t};
22
- `,
23
- menu: (t, u) => `
24
- transform: translateX(-${u * 100}%);
25
- opacity: ${t};
26
- `,
27
- action: (t, u) => `
28
- transform: translateX(${u * 100}%);
29
- opacity: ${t};
30
- `
31
- }
32
- </script>
33
-
34
- <script>
35
- /*md
36
- [@] Components/Containers/Drawer
37
-
38
- # Drawer
39
-
40
- A modal container for creating dialogs. The Dialog component is a modal
41
- element that uses a Paper element for the layout of content. All extra props
42
- and slots for the Drawer are passed to the underlying Paper component.
43
-
44
- The Drawer component is used as a wrapper for content and is used in
45
- conjunction with the Modal component to be controlled on screen.
46
-
47
- ## Props
48
- - ### close `function`
49
- If passed, this function will be called when the user clicks in the
50
- empty area outside of the drawer contents.
51
- - ### height `string`
52
- Sets the height of the select drawer, no effect for menu and action
53
- drawers which default to full height of the window.
54
- - ### type `string`
55
- The type of drawer. Default is "menu"
56
- - #### "menu"
57
- Makes a drawer that slides in on the left side of the screen
58
- - #### "action"
59
- Makes a drawer that slides in on the right side of the screen
60
- - #### "select"
61
- Makes a drawer that is centered horizontally and slides in from
62
- the top of the screen
63
-
64
- ## Usage
65
- `cool-drawer.svelte`
66
- ```svelte
67
- <Drawer>
68
- <Titlebar slot="header">
69
- <Text slot="title" title>
70
- Some Title
71
- </Text>
72
- </Titlebar>
73
-
74
- <span>Content</span>
75
- </Drawer>
76
- ```
77
-
78
- `app.svelte`
79
- ```svelte
80
- <Modal component={CoolDrawer} />
81
- <EntryButton this={Modal} component={CoolDrawer}>
82
- Open Cool Dialog
83
- </EntryButton>
84
- ```
85
- */
86
-
87
- import { fly } from "svelte/transition"
88
-
89
- import wsx from "./wsx.mjs"
90
-
91
- import Paper from "./paper.svelte"
92
-
93
- export let height
94
- export let type = "menu"
95
-
96
- const slide = (node, options) => ({
97
- delay: 0,
98
- duration: 200,
99
- css: css[type],
100
- })
101
-
102
- const animation = {
103
- duration: 200
104
- }
105
-
106
- $: container = {
107
- ...defs[type],
108
- h: (type === "select") ? height : "100%",
109
- grid: true,
110
- }
111
- </script>
112
- <!-- svelte-ignore a11y-click-events-have-key-events -->
113
- <wind-drawer-container use:wsx={container} on:click|stopPropagation>
114
- <wind-transition transition:slide ws-x="grid">
115
- <Paper {...$$restProps}>
116
- <slot name="header" slot="header" />
117
- <slot />
118
- <slot name="footer" slot="footer" />
119
- </Paper>
120
- </wind-transition>
121
- </wind-drawer-container>
package/src/flex.svelte DELETED
@@ -1,57 +0,0 @@
1
- <script>
2
- /*md
3
- [@] Components/Containers/Flex
4
-
5
- # Flex
6
-
7
- Container that uses flex layout by default with some nice default values.
8
-
9
- ## Base
10
- [Windstorm Flex](https://axel669.github.io/lib.windstorm/#components-flex)
11
-
12
- ## Props
13
- All [windstorm functions](https://axel669.github.io/lib.windstorm/#css-shorthands)
14
- are supported.
15
-
16
- - ### direction `string`
17
- Sets `fl-dir`
18
- - ### pad `string`
19
- Sets `p`
20
- - ### gap `string`
21
- Sets `gap`
22
- - ### cross `string`
23
- Sets `fl-cr-a`, default is `"stretch"`
24
- - ### main `string`
25
- Sets `fl-m-a`, default is `"start"`
26
-
27
- ## Usage
28
- ```svelte
29
- <Flex cross="stretch">
30
- <Text>Content</Text>
31
- <Text>More content</Text>
32
- <Text>Event more content</Text>
33
- <Flex>
34
- ```
35
- */
36
-
37
- import wsx from "./wsx.mjs"
38
-
39
- export let direction = false
40
- export let pad = false
41
- export let gap = false
42
- export let cross = "stretch"
43
- export let main = "start"
44
-
45
- $: wind = {
46
- "fl-dir": direction,
47
- "fl-cr-a": cross,
48
- "fl-m-a": main,
49
- p: pad,
50
- gap: gap,
51
- ...$$restProps
52
- }
53
- </script>
54
-
55
- <ws-flex use:wsx={wind}>
56
- <slot />
57
- </ws-flex>
package/src/grid.svelte DELETED
@@ -1,66 +0,0 @@
1
- <script>
2
- /*md
3
- [@] Components/Containers/Grid
4
-
5
- # Grid
6
-
7
- Container that uses grid layout by default with some nice default values.
8
-
9
- ## Base
10
- [Windstorm Grid](https://axel669.github.io/lib.windstorm/#components-grid)
11
-
12
- ## Props
13
- All [windstorm functions](https://axel669.github.io/lib.windstorm/#css-shorthands)
14
- are supported.
15
-
16
- - ### direction `string`
17
- Sets `gr-dir`
18
- - ### pad `string`
19
- Sets `p`
20
- - ### gap `string`
21
- Sets `gap`
22
- - ### cols `string|Array`
23
- Sets `gr-col`. Accepts either an array of values that are joined by " "
24
- or a regular string value.
25
- - ### rows `string|Array`
26
- Sets `gr-row`. Accepts either an array of values that are joined by " "
27
- or a regular string value.
28
- - ### autoCol `string`
29
- Sets `gr-acol`
30
- - ### autoRow `string`
31
- Sets `gr-arow`
32
-
33
- ## Usage
34
- ```svelte
35
- <Grid cross="stretch">
36
- <Text>Content</Text>
37
- <Text>More content</Text>
38
- <Text>Event more content</Text>
39
- <Grid>
40
- ```
41
- */
42
- import wsx from "./wsx.mjs"
43
-
44
- export let direction = false
45
- export let pad = false
46
- export let gap = false
47
- export let cols = null
48
- export let rows = null
49
- export let autoCol = false
50
- export let autoRow = false
51
-
52
- $: wind = {
53
- "gr-dir": direction,
54
- "gr-col": cols?.join?.(" ") ?? cols ?? false,
55
- "gr-row": rows?.join?.(" ") ?? rows ?? false,
56
- "gr-acol": autoCol,
57
- "gr-arow": autoRow,
58
- p: pad,
59
- gap: gap,
60
- ...$$restProps
61
- }
62
- </script>
63
-
64
- <ws-grid use:wsx={wind}>
65
- <slot />
66
- </ws-grid>
package/src/icon.svelte DELETED
@@ -1,34 +0,0 @@
1
- <script>
2
- /*md
3
- [@] Components/Icon
4
-
5
- # Icon
6
-
7
- Displays a [Tabler Icon](https://tabler-icons.io/) and some optional text.
8
- The icon will appear at the beginning of the text.
9
-
10
- ## Base
11
- [Windstorm Icon](https://axel669.github.io/lib.windstorm/#components-icon)
12
-
13
- ## Props
14
- All [windstorm functions](https://axel669.github.io/lib.windstorm/#css-shorthands)
15
- are supported.
16
-
17
- - ### name `string`
18
- The name of the icon. Use the tabler icon class name without the "ti-".
19
-
20
- ## Usage
21
- ```svelte
22
- <Icon name="hexagon" />
23
- <Icon name="hexagons">Are the bestagons</Icon>
24
- ```
25
- */
26
-
27
- import wsx from "./wsx.mjs"
28
-
29
- export let name
30
- </script>
31
-
32
- <ws-icon class="ti-{name}" use:wsx={$$restProps}>
33
- <slot />
34
- </ws-icon>