@r2digisolutions/ui 0.17.0 → 0.18.0

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.
@@ -17,4 +17,5 @@ import Field from './ui/Field/Field.svelte';
17
17
  import Input from './ui/Input/Input.svelte';
18
18
  import InputRadio from './ui/InputRadio/InputRadio.svelte';
19
19
  import Textarea from './ui/Textarea/Textarea.svelte';
20
- export { Alert, Avatar, Button, Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter, Container, Field, Section, Loading, TableList, Heading, Label, Input, InputRadio, Textarea, };
20
+ import Checkbox from './ui/Checkbox/Checkbox.svelte';
21
+ export { Alert, Avatar, Button, Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter, Container, Checkbox, Field, Section, Loading, TableList, Heading, Label, Input, InputRadio, Textarea, };
@@ -17,4 +17,5 @@ import Field from './ui/Field/Field.svelte';
17
17
  import Input from './ui/Input/Input.svelte';
18
18
  import InputRadio from './ui/InputRadio/InputRadio.svelte';
19
19
  import Textarea from './ui/Textarea/Textarea.svelte';
20
- export { Alert, Avatar, Button, Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter, Container, Field, Section, Loading, TableList, Heading, Label, Input, InputRadio, Textarea, };
20
+ import Checkbox from './ui/Checkbox/Checkbox.svelte';
21
+ export { Alert, Avatar, Button, Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter, Container, Checkbox, Field, Section, Loading, TableList, Heading, Label, Input, InputRadio, Textarea, };
@@ -0,0 +1,35 @@
1
+ <script lang="ts">
2
+ import type { Props } from './type.js';
3
+
4
+ let {
5
+ name,
6
+ label,
7
+ required,
8
+ checked,
9
+ disabled,
10
+ value,
11
+ group = $bindable([]),
12
+ onchange,
13
+ ...props
14
+ }: Props = $props();
15
+ </script>
16
+
17
+ <input
18
+ {...props}
19
+ {required}
20
+ bind:checked
21
+ {value}
22
+ type="checkbox"
23
+ {name}
24
+ class="shrink-0 rounded-sm border-gray-300 text-blue-600 focus:ring-blue-500 disabled:pointer-events-none disabled:opacity-50 dark:border-neutral-600 dark:bg-neutral-900 dark:checked:border-blue-500 dark:checked:bg-blue-500 dark:focus:ring-offset-gray-800"
25
+ onchange={(e) => {
26
+ const checked = e.currentTarget.checked;
27
+ const value = e.currentTarget.value;
28
+
29
+ onchange?.(Boolean(checked ?? false), value ?? null);
30
+ }}
31
+ />
32
+
33
+ {#if label}
34
+ <span class="sr-only">{label}</span>
35
+ {/if}
@@ -0,0 +1,4 @@
1
+ import type { Props } from './type.js';
2
+ declare const Checkbox: import("svelte").Component<Props, {}, "group">;
3
+ type Checkbox = ReturnType<typeof Checkbox>;
4
+ export default Checkbox;
@@ -0,0 +1,14 @@
1
+ import type { ClassValue } from 'svelte/elements';
2
+ type Value = string | number | boolean;
3
+ export interface Props {
4
+ class?: ClassValue;
5
+ group?: boolean[];
6
+ name?: string;
7
+ label?: string;
8
+ value?: Value;
9
+ checked?: boolean;
10
+ disabled?: boolean;
11
+ required?: boolean;
12
+ onchange?(checked: boolean, value: Value): void;
13
+ }
14
+ export {};
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@r2digisolutions/ui",
3
- "version": "0.17.0",
3
+ "version": "0.18.0",
4
4
  "private": false,
5
5
  "packageManager": "bun@1.2.19",
6
6
  "publishConfig": {