rizzo-css 0.0.1 → 0.0.3
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.
- package/README.md +13 -7
- package/bin/rizzo-css.js +303 -0
- package/dist/rizzo.min.css +1 -1
- package/package.json +13 -4
- package/scaffold/astro/Accordion.astro +178 -0
- package/scaffold/astro/Alert.astro +131 -0
- package/scaffold/astro/Avatar.astro +59 -0
- package/scaffold/astro/Badge.astro +24 -0
- package/scaffold/astro/Breadcrumb.astro +61 -0
- package/scaffold/astro/Button.astro +3 -0
- package/scaffold/astro/Card.astro +18 -0
- package/scaffold/astro/Checkbox.astro +38 -0
- package/scaffold/astro/CopyToClipboard.astro +199 -0
- package/scaffold/astro/Divider.astro +37 -0
- package/scaffold/astro/Dropdown.astro +807 -0
- package/scaffold/astro/FormGroup.astro +51 -0
- package/scaffold/astro/Input.astro +59 -0
- package/scaffold/astro/Modal.astro +212 -0
- package/scaffold/astro/Pagination.astro +240 -0
- package/scaffold/astro/ProgressBar.astro +65 -0
- package/scaffold/astro/Radio.astro +38 -0
- package/scaffold/astro/Select.astro +49 -0
- package/scaffold/astro/Spinner.astro +30 -0
- package/scaffold/astro/Table.astro +181 -0
- package/scaffold/astro/Tabs.astro +223 -0
- package/scaffold/astro/Textarea.astro +58 -0
- package/scaffold/astro/Toast.astro +30 -0
- package/scaffold/astro/Tooltip.astro +32 -0
- package/scaffold/astro/icons/Brush.astro +11 -0
- package/scaffold/astro/icons/Cake.astro +12 -0
- package/scaffold/astro/icons/Check.astro +30 -0
- package/scaffold/astro/icons/Cherry.astro +12 -0
- package/scaffold/astro/icons/ChevronDown.astro +30 -0
- package/scaffold/astro/icons/Circle.astro +30 -0
- package/scaffold/astro/icons/Close.astro +31 -0
- package/scaffold/astro/icons/Copy.astro +31 -0
- package/scaffold/astro/icons/Eye.astro +31 -0
- package/scaffold/astro/icons/Filter.astro +30 -0
- package/scaffold/astro/icons/Flame.astro +29 -0
- package/scaffold/astro/icons/Flower.astro +12 -0
- package/scaffold/astro/icons/Gear.astro +31 -0
- package/scaffold/astro/icons/Heart.astro +29 -0
- package/scaffold/astro/icons/IceCream.astro +32 -0
- package/scaffold/astro/icons/Leaf.astro +30 -0
- package/scaffold/astro/icons/Lemon.astro +12 -0
- package/scaffold/astro/icons/Moon.astro +30 -0
- package/scaffold/astro/icons/Owl.astro +35 -0
- package/scaffold/astro/icons/Palette.astro +34 -0
- package/scaffold/astro/icons/Rainbow.astro +32 -0
- package/scaffold/astro/icons/Search.astro +31 -0
- package/scaffold/astro/icons/Shield.astro +29 -0
- package/scaffold/astro/icons/Snowflake.astro +35 -0
- package/scaffold/astro/icons/Sort.astro +31 -0
- package/scaffold/astro/icons/Sun.astro +30 -0
- package/scaffold/astro/icons/Sunset.astro +11 -0
- package/scaffold/astro/icons/Zap.astro +10 -0
- package/scaffold/astro/icons/devicons/Astro.astro +54 -0
- package/scaffold/astro/icons/devicons/Bash.astro +35 -0
- package/scaffold/astro/icons/devicons/Css3.astro +30 -0
- package/scaffold/astro/icons/devicons/Git.astro +25 -0
- package/scaffold/astro/icons/devicons/Html5.astro +28 -0
- package/scaffold/astro/icons/devicons/Javascript.astro +26 -0
- package/scaffold/astro/icons/devicons/Nodejs.astro +48 -0
- package/scaffold/astro/icons/devicons/Plaintext.astro +34 -0
- package/scaffold/astro/icons/devicons/React.astro +28 -0
- package/scaffold/astro/icons/devicons/Svelte.astro +26 -0
- package/scaffold/astro/icons/devicons/Vue.astro +27 -0
- package/scaffold/svelte/.gitkeep +0 -0
- package/scaffold/svelte/Accordion.svelte +128 -0
- package/scaffold/svelte/Alert.svelte +79 -0
- package/scaffold/svelte/Avatar.svelte +39 -0
- package/scaffold/svelte/Badge.svelte +31 -0
- package/scaffold/svelte/Breadcrumb.svelte +46 -0
- package/scaffold/svelte/Button.svelte +23 -0
- package/scaffold/svelte/Card.svelte +14 -0
- package/scaffold/svelte/Checkbox.svelte +37 -0
- package/scaffold/svelte/CopyToClipboard.svelte +76 -0
- package/scaffold/svelte/Divider.svelte +28 -0
- package/scaffold/svelte/Dropdown.svelte +237 -0
- package/scaffold/svelte/FormGroup.svelte +41 -0
- package/scaffold/svelte/Input.svelte +57 -0
- package/scaffold/svelte/Modal.svelte +152 -0
- package/scaffold/svelte/Pagination.svelte +93 -0
- package/scaffold/svelte/ProgressBar.svelte +56 -0
- package/scaffold/svelte/Radio.svelte +38 -0
- package/scaffold/svelte/Select.svelte +47 -0
- package/scaffold/svelte/Spinner.svelte +14 -0
- package/scaffold/svelte/Table.svelte +155 -0
- package/scaffold/svelte/Tabs.svelte +109 -0
- package/scaffold/svelte/Textarea.svelte +57 -0
- package/scaffold/svelte/Toast.svelte +30 -0
- package/scaffold/svelte/Tooltip.svelte +19 -0
- package/scaffold/svelte/index.ts +33 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
interface Props {
|
|
3
|
+
id?: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
value?: string;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
required?: boolean;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
readonly?: boolean;
|
|
10
|
+
rows?: number;
|
|
11
|
+
cols?: number;
|
|
12
|
+
size?: 'sm' | 'md' | 'lg';
|
|
13
|
+
error?: boolean;
|
|
14
|
+
success?: boolean;
|
|
15
|
+
class?: string;
|
|
16
|
+
ariaDescribedby?: string;
|
|
17
|
+
ariaInvalid?: boolean | 'true' | 'false';
|
|
18
|
+
}
|
|
19
|
+
let {
|
|
20
|
+
id,
|
|
21
|
+
name,
|
|
22
|
+
value = $bindable(''),
|
|
23
|
+
placeholder,
|
|
24
|
+
required = false,
|
|
25
|
+
disabled = false,
|
|
26
|
+
readonly = false,
|
|
27
|
+
rows = 4,
|
|
28
|
+
cols,
|
|
29
|
+
size = 'md',
|
|
30
|
+
error = false,
|
|
31
|
+
success = false,
|
|
32
|
+
class: className = '',
|
|
33
|
+
ariaDescribedby,
|
|
34
|
+
ariaInvalid,
|
|
35
|
+
}: Props = $props();
|
|
36
|
+
|
|
37
|
+
const sizeClass = size !== 'md' ? `form-input--${size}` : '';
|
|
38
|
+
const errorClass = error ? 'form-input--error' : '';
|
|
39
|
+
const successClass = success ? 'form-input--success' : '';
|
|
40
|
+
const classes = ['form-input', sizeClass, errorClass, successClass, className].filter(Boolean).join(' ').trim();
|
|
41
|
+
const invalid = error || ariaInvalid === true || ariaInvalid === 'true';
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
<textarea
|
|
45
|
+
{id}
|
|
46
|
+
{name}
|
|
47
|
+
bind:value
|
|
48
|
+
{placeholder}
|
|
49
|
+
{required}
|
|
50
|
+
{disabled}
|
|
51
|
+
{readonly}
|
|
52
|
+
{rows}
|
|
53
|
+
cols={cols}
|
|
54
|
+
class={classes}
|
|
55
|
+
aria-invalid={invalid ? 'true' : 'false'}
|
|
56
|
+
aria-describedby={ariaDescribedby}
|
|
57
|
+
></textarea>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import Alert from './Alert.svelte';
|
|
3
|
+
|
|
4
|
+
interface Props {
|
|
5
|
+
variant?: 'success' | 'error' | 'warning' | 'info';
|
|
6
|
+
dismissible?: boolean;
|
|
7
|
+
autoDismiss?: number;
|
|
8
|
+
position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center' | 'bottom-center';
|
|
9
|
+
class?: string;
|
|
10
|
+
id?: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
let {
|
|
14
|
+
variant = 'info',
|
|
15
|
+
dismissible = true,
|
|
16
|
+
autoDismiss = 5000,
|
|
17
|
+
position = 'top-right',
|
|
18
|
+
class: className = '',
|
|
19
|
+
id,
|
|
20
|
+
}: Props = $props();
|
|
21
|
+
|
|
22
|
+
const positionClass = `toast--${position}`;
|
|
23
|
+
const classes = ['toast', positionClass, className].filter(Boolean).join(' ').trim();
|
|
24
|
+
</script>
|
|
25
|
+
|
|
26
|
+
<div class={classes} data-toast-container>
|
|
27
|
+
<Alert {variant} {dismissible} {autoDismiss} {id}>
|
|
28
|
+
<slot />
|
|
29
|
+
</Alert>
|
|
30
|
+
</div>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
interface Props {
|
|
3
|
+
text: string;
|
|
4
|
+
position?: 'top' | 'bottom' | 'left' | 'right';
|
|
5
|
+
delay?: number;
|
|
6
|
+
class?: string;
|
|
7
|
+
id?: string;
|
|
8
|
+
}
|
|
9
|
+
let { text, position = 'top', delay = 0, class: className = '', id }: Props = $props();
|
|
10
|
+
|
|
11
|
+
const tooltipId = id ?? `tooltip-${Math.random().toString(36).slice(2, 11)}`;
|
|
12
|
+
const positionClass = `tooltip--${position}`;
|
|
13
|
+
const classes = ['tooltip', positionClass, className].filter(Boolean).join(' ').trim();
|
|
14
|
+
const delayStyle = delay > 0 ? `--tooltip-delay: ${delay}ms;` : '';
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<span class={classes} role="tooltip" id={tooltipId} aria-hidden="true" style={delayStyle}>
|
|
18
|
+
{text}
|
|
19
|
+
</span>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Svelte components — same BEM classes and design system as Astro.
|
|
3
|
+
* Import from this file or from individual components.
|
|
4
|
+
*/
|
|
5
|
+
export { default as Button } from './Button.svelte';
|
|
6
|
+
export { default as Badge } from './Badge.svelte';
|
|
7
|
+
export { default as Card } from './Card.svelte';
|
|
8
|
+
export { default as Divider } from './Divider.svelte';
|
|
9
|
+
export { default as Spinner } from './Spinner.svelte';
|
|
10
|
+
export { default as ProgressBar } from './ProgressBar.svelte';
|
|
11
|
+
export { default as Avatar } from './Avatar.svelte';
|
|
12
|
+
export { default as Alert } from './Alert.svelte';
|
|
13
|
+
export { default as Breadcrumb } from './Breadcrumb.svelte';
|
|
14
|
+
export type { BreadcrumbItem } from './Breadcrumb.svelte';
|
|
15
|
+
export { default as FormGroup } from './FormGroup.svelte';
|
|
16
|
+
export { default as Input } from './Input.svelte';
|
|
17
|
+
export { default as Checkbox } from './Checkbox.svelte';
|
|
18
|
+
export { default as Textarea } from './Textarea.svelte';
|
|
19
|
+
export { default as Select } from './Select.svelte';
|
|
20
|
+
export { default as Radio } from './Radio.svelte';
|
|
21
|
+
export { default as CopyToClipboard } from './CopyToClipboard.svelte';
|
|
22
|
+
export { default as Tooltip } from './Tooltip.svelte';
|
|
23
|
+
export { default as Pagination } from './Pagination.svelte';
|
|
24
|
+
export { default as Tabs } from './Tabs.svelte';
|
|
25
|
+
export type { Tab } from './Tabs.svelte';
|
|
26
|
+
export { default as Accordion } from './Accordion.svelte';
|
|
27
|
+
export type { AccordionItem } from './Accordion.svelte';
|
|
28
|
+
export { default as Dropdown } from './Dropdown.svelte';
|
|
29
|
+
export type { MenuItem } from './Dropdown.svelte';
|
|
30
|
+
export { default as Modal } from './Modal.svelte';
|
|
31
|
+
export { default as Toast } from './Toast.svelte';
|
|
32
|
+
export { default as Table } from './Table.svelte';
|
|
33
|
+
export type { TableColumn } from './Table.svelte';
|