@functionalcms/svelte-components 4.10.23 → 4.10.24

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.
@@ -36,7 +36,7 @@
36
36
  size = '',
37
37
  // Provides bind:checked capabilities that consumer can use
38
38
  checked = $bindable([]),
39
- ...restProps
39
+ ...restProps
40
40
  }: Partial<Props & HtmlParts> = $props();
41
41
 
42
42
  let labelClasses = $derived(
@@ -96,29 +96,31 @@
96
96
  };
97
97
  </script>
98
98
 
99
- <fieldset class={fieldsetClasses}>
100
- <legend class={legendClasses}>{label}</legend>
101
- {#each options as { value, label }, index}
102
- <label
103
- class={labelClasses}
104
- class:disabled={isDisabled || disabledOptions.includes(value) || undefined}
105
- >
106
- <input
107
- class={inputClasses}
108
- id="{id}-{name}-{index}"
109
- {type}
110
- {name}
111
- {value}
112
- disabled={isDisabled || disabledOptions.includes(value)}
113
- checked={checkedOptions.includes(value)}
114
- onchange={onChange}
115
- {...restProps}
116
- />
117
- <span class={labelSpanClasses} aria-hidden="true"></span>
118
- <span class={labelCopyClasses}>{label}</span>
119
- </label>
120
- {/each}
121
- </fieldset>
99
+ <div class="w-100">
100
+ <fieldset class={fieldsetClasses}>
101
+ <legend class={legendClasses}>{label}</legend>
102
+ {#each options as { value, label }, index}
103
+ <label
104
+ class={labelClasses}
105
+ class:disabled={isDisabled || disabledOptions.includes(value) || undefined}
106
+ >
107
+ <input
108
+ class={inputClasses}
109
+ id="{id}-{name}-{index}"
110
+ {type}
111
+ {name}
112
+ {value}
113
+ disabled={isDisabled || disabledOptions.includes(value)}
114
+ checked={checkedOptions.includes(value)}
115
+ onchange={onChange}
116
+ {...restProps}
117
+ />
118
+ <span class={labelSpanClasses} aria-hidden="true"></span>
119
+ <span class={labelCopyClasses}>{label}</span>
120
+ </label>
121
+ {/each}
122
+ </fieldset>
123
+ </div>
122
124
 
123
125
  <style>
124
126
  /**
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn } from "../../utils.js";
2
+ import { cn } from '../../utils.js';
3
3
 
4
4
  interface Props {
5
5
  id: string;
@@ -32,7 +32,7 @@
32
32
  css = '',
33
33
  singleSelected = $bindable(''),
34
34
  multiSelected = $bindable([]), // multiSelected can be used for two-way bindings
35
- selected = () => {},
35
+ selected = () => {}
36
36
  }: Partial<Props> = $props();
37
37
 
38
38
  const changeHandler = () => {
@@ -42,45 +42,45 @@
42
42
 
43
43
  let disable = isDisabled;
44
44
  let classes = $derived(
45
- cn(
46
- isSkinned ? 'select' : 'select-base',
47
- size ? `select-${size}` : '',
48
- css ? `${css}` : ''));
45
+ cn(isSkinned ? 'select' : 'select-base', size ? `select-${size}` : '', css ? `${css}` : '')
46
+ );
49
47
  </script>
50
48
 
51
- <label class="screenreader-only" for={id}> {label} </label>
52
- {#if isMultiple}
53
- <select
54
- id={id}
55
- class={classes}
56
- {name}
57
- disabled={disable}
58
- multiple
59
- size={multipleSize}
60
- bind:value={multiSelected}
61
- onchange={changeHandler}
62
- >
63
- {#each options as { value, label }}
64
- <option {value}>{label}</option>
65
- {/each}
66
- </select>
67
- {:else}
68
- <select
69
- id={id}
70
- class={classes}
71
- {name}
72
- disabled={disable}
73
- bind:value={singleSelected}
74
- onchange={changeHandler}
75
- >
76
- <option value="" disabled selected>
77
- {defaultOptionLabel}
78
- </option>
79
- {#each options as { value, label }}
80
- <option {value}>{label}</option>
81
- {/each}
82
- </select>
83
- {/if}
49
+ <div class="w-100">
50
+ <label for={id}> {label} </label>
51
+ {#if isMultiple}
52
+ <select
53
+ {id}
54
+ class={classes}
55
+ {name}
56
+ disabled={disable}
57
+ multiple
58
+ size={multipleSize}
59
+ bind:value={multiSelected}
60
+ onchange={changeHandler}
61
+ >
62
+ {#each options as { value, label }}
63
+ <option {value}>{label}</option>
64
+ {/each}
65
+ </select>
66
+ {:else}
67
+ <select
68
+ {id}
69
+ class={classes}
70
+ {name}
71
+ disabled={disable}
72
+ bind:value={singleSelected}
73
+ onchange={changeHandler}
74
+ >
75
+ <option value="" disabled selected>
76
+ {defaultOptionLabel}
77
+ </option>
78
+ {#each options as { value, label }}
79
+ <option {value}>{label}</option>
80
+ {/each}
81
+ </select>
82
+ {/if}
83
+ </div>
84
84
 
85
85
  <style>
86
86
  .select,
@@ -15,7 +15,7 @@
15
15
  }
16
16
  let {
17
17
  id = '',
18
- name= '',
18
+ name = '',
19
19
  label = '',
20
20
  css = '',
21
21
  labelPosition = 'left',
@@ -64,22 +64,24 @@
64
64
  };
65
65
  </script>
66
66
 
67
- <label class={switchContainer} for={id}>
68
- {#if labelPosition === 'left'}<span class="switch-label">{label}</span>{/if}
69
- <input
70
- type="checkbox"
71
- class="switch-input"
72
- {id}
73
- {name}
74
- bind:checked={isChecked}
75
- disabled={isDisabled}
76
- onclick={handleClick}
77
- onkeypress={handleKeypress}
78
- role="switch"
79
- />
80
- <span class={switchSpan()} aria-hidden="true"></span>
81
- {#if labelPosition === 'right'}<span class="switch-label">{label}</span>{/if}
82
- </label>
67
+ <div class="w-100">
68
+ <label class={switchContainer} for={id}>
69
+ {#if labelPosition === 'left'}<span class="switch-label">{label}</span>{/if}
70
+ <input
71
+ type="checkbox"
72
+ class="switch-input"
73
+ {id}
74
+ {name}
75
+ bind:checked={isChecked}
76
+ disabled={isDisabled}
77
+ onclick={handleClick}
78
+ onkeypress={handleKeypress}
79
+ role="switch"
80
+ />
81
+ <span class={switchSpan()} aria-hidden="true"></span>
82
+ {#if labelPosition === 'right'}<span class="switch-label">{label}</span>{/if}
83
+ </label>
84
+ </div>
83
85
 
84
86
  <style>
85
87
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@functionalcms/svelte-components",
3
- "version": "4.10.23",
3
+ "version": "4.10.24",
4
4
  "watch": {
5
5
  "build": {
6
6
  "patterns": [
@@ -70,7 +70,8 @@
70
70
  "ioredis": "^5.6.1",
71
71
  "marked": "^15.0.11",
72
72
  "oauth4webapi": "^3.5.0",
73
- "sveltekit-superforms": "^2.25.0"
73
+ "sveltekit-superforms": "^2.25.0",
74
+ "yup": "^1.6.1"
74
75
  },
75
76
  "peerDependencies": {
76
77
  "@sveltejs/kit": "^2.20.8",