@geoffcox/sterling-svelte 0.0.13 → 0.0.14

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.
@@ -11,11 +11,9 @@ const inputId = uuid();
11
11
  -->
12
12
  <div class="sterling-input">
13
13
  {#if $$slots.label}
14
- <div class="label">
15
- <Label {disabled} for={inputId}>
16
- <slot name="label" />
17
- </Label>
18
- </div>
14
+ <Label {disabled} for={inputId}>
15
+ <slot name="label" />
16
+ </Label>
19
17
  {/if}
20
18
  <input
21
19
  bind:value
@@ -113,9 +111,13 @@ const inputId = uuid();
113
111
  color: var(--Display__color--disabled);
114
112
  }
115
113
 
116
- .label {
114
+ .sterling-input > :global(label) {
117
115
  font-size: 0.7em;
118
- margin: 0.5em 0 0 0.7em;
116
+ margin: 0.5em 0.7em;
117
+ }
118
+
119
+ .sterling-input > :global(label):empty {
120
+ margin: 0;
119
121
  }
120
122
 
121
123
  @media (prefers-reduced-motion) {
@@ -3,7 +3,7 @@ import { v4 as uuid } from "uuid";
3
3
  import { computePosition, flip, offset, shift, autoUpdate } from "@floating-ui/dom";
4
4
  import { clickOutside } from "../clickOutside";
5
5
  import Label from "../display/Label.svelte";
6
- import List from "../lists/List.svelte";
6
+ import List from "../containers/List.svelte";
7
7
  import Input from "./Input.svelte";
8
8
  export let disabled = false;
9
9
  export let items = [];
@@ -130,7 +130,6 @@ const onListClick = (event) => {
130
130
  };
131
131
  const onPendingItemSelected = (event) => {
132
132
  pendingSelectedIndex = event.detail.index;
133
- console.log("pendingSelectedIndex changed");
134
133
  if (!open) {
135
134
  selectedIndex = pendingSelectedIndex;
136
135
  }
@@ -177,11 +176,16 @@ A single item that can be selected from a popup list of items.
177
176
  {...$$restProps}
178
177
  >
179
178
  {#if $$slots.label}
180
- <div class="label">
181
- <Label {disabled} for={inputId}>
182
- <slot name="label" />
183
- </Label>
184
- </div>
179
+ <Label {disabled} for={inputId}>
180
+ <!-- BUGBUG: Problem with slot let params conflict
181
+ It seems that when a default slot is used multiple times in a module,
182
+ the first time sets the possible let params.
183
+ If we don't define the same let params on this label slot that
184
+ is the default slot for label, then using the default slot for list
185
+ will error saying the property is not defined.
186
+ -->
187
+ <slot name="label" index={0} item={undefined} selected={false} />
188
+ </Label>
185
189
  {/if}
186
190
  <div class="input" id={inputId}>
187
191
  <div class="value">
@@ -204,21 +208,19 @@ A single item that can be selected from a popup list of items.
204
208
  >
205
209
  <div class="popup-content">
206
210
  <slot name="list">
207
- {#if $$slots.default === true}
211
+ {#if $$slots.default}
208
212
  <List
209
213
  bind:this={listRef}
210
214
  selectedIndex={pendingSelectedIndex}
211
215
  {items}
212
216
  {disabled}
213
- let:disabled
214
- let:index
215
- let:item
216
- let:selected
217
217
  on:click={onListClick}
218
218
  on:keydown={onListKeydown}
219
219
  on:itemSelected={onPendingItemSelected}
220
220
  >
221
- <slot {disabled} {index} {item} {selected} />
221
+ <svelte:fragment let:disabled let:index let:item let:selected>
222
+ <slot {disabled} {index} {item} {selected} />
223
+ </svelte:fragment>
222
224
  </List>
223
225
  {:else}
224
226
  <List
@@ -226,10 +228,6 @@ A single item that can be selected from a popup list of items.
226
228
  selectedIndex={pendingSelectedIndex}
227
229
  {items}
228
230
  {disabled}
229
- let:disabled
230
- let:index
231
- let:item
232
- let:selected
233
231
  on:click={onListClick}
234
232
  on:keydown={onListKeydown}
235
233
  on:itemSelected={onPendingItemSelected}
@@ -276,9 +274,13 @@ A single item that can be selected from a popup list of items.
276
274
  outline: none;
277
275
  }
278
276
 
279
- .label {
277
+ .sterling-select > :global(label) {
280
278
  font-size: 0.7em;
281
- margin: 0.5em 0.7em 0 0.7em;
279
+ margin: 0.5em 0.7em;
280
+ }
281
+
282
+ .sterling-select > :global(label):empty {
283
+ margin: 0;
282
284
  }
283
285
 
284
286
  .input {
@@ -1,14 +1,14 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- declare const __propDef: {
3
- props: {
2
+ declare class __sveltets_Render<T> {
3
+ props(): {
4
4
  [x: string]: any;
5
5
  disabled?: boolean | undefined;
6
- items?: any[] | undefined;
6
+ items?: T[] | undefined;
7
7
  open?: boolean | undefined;
8
8
  selectedIndex?: number | undefined;
9
- selectedItem?: any;
9
+ selectedItem?: T | undefined;
10
10
  };
11
- events: {
11
+ events(): {
12
12
  blur: FocusEvent;
13
13
  click: MouseEvent;
14
14
  copy: ClipboardEvent;
@@ -34,8 +34,12 @@ declare const __propDef: {
34
34
  } & {
35
35
  [evt: string]: CustomEvent<any>;
36
36
  };
37
- slots: {
38
- label: {};
37
+ slots(): {
38
+ label: {
39
+ index: number;
40
+ item: undefined;
41
+ selected: boolean;
42
+ };
39
43
  value: {};
40
44
  button: {
41
45
  open: boolean;
@@ -48,11 +52,11 @@ declare const __propDef: {
48
52
  selected: any;
49
53
  };
50
54
  };
51
- };
52
- export type SelectProps = typeof __propDef.props;
53
- export type SelectEvents = typeof __propDef.events;
54
- export type SelectSlots = typeof __propDef.slots;
55
+ }
56
+ export type SelectProps<T> = ReturnType<__sveltets_Render<T>['props']>;
57
+ export type SelectEvents<T> = ReturnType<__sveltets_Render<T>['events']>;
58
+ export type SelectSlots<T> = ReturnType<__sveltets_Render<T>['slots']>;
55
59
  /** A single item that can be selected from a popup list of items. */
56
- export default class Select extends SvelteComponentTyped<SelectProps, SelectEvents, SelectSlots> {
60
+ export default class Select<T> extends SvelteComponentTyped<SelectProps<T>, SelectEvents<T>, SelectSlots<T>> {
57
61
  }
58
62
  export {};
@@ -126,11 +126,9 @@ Slider lets the user chose a value within a min/max range by dragging a thumb bu
126
126
  -->
127
127
  <div class="sterling-slider" class:vertical>
128
128
  {#if $$slots.label}
129
- <div class="label">
130
- <Label {disabled} for={inputId}>
131
- <slot name="label" />
132
- </Label>
133
- </div>
129
+ <Label {disabled} for={inputId}>
130
+ <slot name="label" />
131
+ </Label>
134
132
  {/if}
135
133
  <div
136
134
  class="slider"
@@ -174,7 +172,7 @@ Slider lets the user chose a value within a min/max range by dragging a thumb bu
174
172
  height: 100%;
175
173
  }
176
174
 
177
- .label {
175
+ .sterling-slider > :global(label) {
178
176
  font-size: 0.7em;
179
177
  }
180
178
 
@@ -21,11 +21,9 @@ $:
21
21
 
22
22
  <div class="sterling-text-area" style={`--TextArea__resize: ${resize};`}>
23
23
  {#if $$slots.label}
24
- <div class="label">
25
- <Label {disabled} for={inputId}>
26
- <slot name="label" />
27
- </Label>
28
- </div>
24
+ <Label {disabled} for={inputId}>
25
+ <slot name="label" />
26
+ </Label>
29
27
  {/if}
30
28
  <textarea
31
29
  {...$$restProps}
@@ -138,9 +136,13 @@ $:
138
136
  color: var(--Display__color--disabled);
139
137
  }
140
138
 
141
- .label {
139
+ .sterling-text-area > :global(label) {
142
140
  font-size: 0.7em;
143
- margin: 0.5em 0 0 0.7em;
141
+ margin: 0.5em 0.7em;
142
+ }
143
+
144
+ .sterling-text-area > :global(label):empty {
145
+ margin: 0;
144
146
  }
145
147
 
146
148
  @media (prefers-reduced-motion) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geoffcox/sterling-svelte",
3
- "version": "0.0.13",
3
+ "version": "0.0.14",
4
4
  "author": "Geoff Cox",
5
5
  "description": "A modern, accessible, and lightweight component library for Svelte.",
6
6
  "license": "MIT",
@@ -53,6 +53,14 @@
53
53
  "./buttons/Button.svelte": "./buttons/Button.svelte",
54
54
  "./buttons/Button.types": "./buttons/Button.types.js",
55
55
  "./clickOutside": "./clickOutside.js",
56
+ "./containers/List.svelte": "./containers/List.svelte",
57
+ "./containers/ListItem.svelte": "./containers/ListItem.svelte",
58
+ "./containers/Tree.constants": "./containers/Tree.constants.js",
59
+ "./containers/Tree.svelte": "./containers/Tree.svelte",
60
+ "./containers/Tree.types": "./containers/Tree.types.js",
61
+ "./containers/TreeChevron.svelte": "./containers/TreeChevron.svelte",
62
+ "./containers/TreeItem.svelte": "./containers/TreeItem.svelte",
63
+ "./containers/TreeNode.svelte": "./containers/TreeNode.svelte",
56
64
  "./display/Label.svelte": "./display/Label.svelte",
57
65
  "./display/Progress.svelte": "./display/Progress.svelte",
58
66
  "./display/Progress.types": "./display/Progress.types.js",
@@ -65,7 +73,6 @@
65
73
  "./inputs/Switch.svelte": "./inputs/Switch.svelte",
66
74
  "./inputs/TextArea.svelte": "./inputs/TextArea.svelte",
67
75
  "./inputs/TextArea.types": "./inputs/TextArea.types.js",
68
- "./lists/List.svelte": "./lists/List.svelte",
69
76
  "./surfaces/CloseX.svelte": "./surfaces/CloseX.svelte",
70
77
  "./surfaces/Dialog.svelte": "./surfaces/Dialog.svelte",
71
78
  "./theme/applyDarkTheme": "./theme/applyDarkTheme.js",
@@ -51,7 +51,6 @@ const onCancel = (event) => {
51
51
  return false;
52
52
  };
53
53
  const onSubmit = (event) => {
54
- console.log(event);
55
54
  const anyEvent = event;
56
55
  if (anyEvent?.submitter.type === "submit") {
57
56
  if (dialogRef.open) {
@@ -63,7 +62,6 @@ const onSubmit = (event) => {
63
62
  return false;
64
63
  }
65
64
  } else {
66
- console.log("cancelling");
67
65
  event.preventDefault();
68
66
  return false;
69
67
  }