@vielzeug/refine 3.1.0 → 3.2.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.
- package/dist/content/stepper/step.css.cjs +1 -1
- package/dist/content/stepper/step.css.cjs.map +1 -1
- package/dist/content/stepper/step.css.js +1 -1
- package/dist/content/stepper/step.css.js.map +1 -1
- package/dist/inputs/checkbox/checkbox.css.cjs +1 -1
- package/dist/inputs/checkbox/checkbox.css.cjs.map +1 -1
- package/dist/inputs/checkbox/checkbox.css.js +1 -1
- package/dist/inputs/checkbox/checkbox.css.js.map +1 -1
- package/dist/inputs/message-composer/message-composer.css.cjs +1 -1
- package/dist/inputs/message-composer/message-composer.css.cjs.map +1 -1
- package/dist/inputs/message-composer/message-composer.css.js +1 -1
- package/dist/inputs/message-composer/message-composer.css.js.map +1 -1
- package/dist/inputs/radio/radio.css.cjs +1 -1
- package/dist/inputs/radio/radio.css.cjs.map +1 -1
- package/dist/inputs/radio/radio.css.js +1 -1
- package/dist/inputs/radio/radio.css.js.map +1 -1
- package/dist/inputs/switch/switch.css.cjs +1 -1
- package/dist/inputs/switch/switch.css.cjs.map +1 -1
- package/dist/inputs/switch/switch.css.js +1 -1
- package/dist/inputs/switch/switch.css.js.map +1 -1
- package/dist/inputs/switch/switch.d.ts.map +1 -1
- package/dist/layout/navbar/navbar.css.cjs +1 -1
- package/dist/layout/navbar/navbar.css.cjs.map +1 -1
- package/dist/layout/navbar/navbar.css.js +1 -1
- package/dist/layout/navbar/navbar.css.js.map +1 -1
- package/dist/layout/sidebar/sidebar.d.ts +1 -0
- package/dist/layout/sidebar/sidebar.d.ts.map +1 -1
- package/dist/overlay/menu/menu.css.cjs +1 -1
- package/dist/overlay/menu/menu.css.cjs.map +1 -1
- package/dist/overlay/menu/menu.css.js +1 -1
- package/dist/overlay/menu/menu.css.js.map +1 -1
- package/dist/overlay/shared/use-floating-trigger.cjs +1 -1
- package/dist/overlay/shared/use-floating-trigger.cjs.map +1 -1
- package/dist/overlay/shared/use-floating-trigger.d.ts +3 -3
- package/dist/overlay/shared/use-floating-trigger.d.ts.map +1 -1
- package/dist/overlay/shared/use-floating-trigger.js +16 -4
- package/dist/overlay/shared/use-floating-trigger.js.map +1 -1
- package/dist/refine.cjs +61 -28
- package/dist/refine.cjs.map +1 -1
- package/dist/refine.iife.js +61 -28
- package/dist/refine.iife.js.map +1 -1
- package/dist/refine.js +61 -28
- package/dist/refine.js.map +1 -1
- package/dist/sidebar.cjs +10 -2
- package/dist/sidebar.cjs.map +1 -1
- package/dist/sidebar.js +10 -1
- package/dist/sidebar.js.map +1 -1
- package/dist/switch.cjs +28 -3
- package/dist/switch.cjs.map +1 -1
- package/dist/switch.js +54 -30
- package/dist/switch.js.map +1 -1
- package/package.json +2 -2
package/dist/switch.cjs
CHANGED
|
@@ -1,10 +1,35 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./styles/mixins/
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./styles/mixins/shape.css.cjs"),t=require("./styles/mixins/states.css.cjs"),n=require("./styles/mixins/theme.css.cjs"),r=require("./core/checkable.cjs"),i=require("./core/ore.cjs"),a=require("./shared/prop-bundles.cjs"),o=require("./shared/size-presets.cjs"),s=require("./inputs/shared/field-binding.cjs"),c=require("./inputs/shared/templates.cjs"),l=require("./inputs/shared/native-field-event.cjs"),u=require("./inputs/switch/switch.css.cjs");let d=require("@vielzeug/ore");var f=`ore-switch`,p=d.css`
|
|
2
|
+
@media (pointer: coarse) {
|
|
3
|
+
:host,
|
|
4
|
+
:host([size='md']) {
|
|
5
|
+
--_touch-target: var(--size-11);
|
|
6
|
+
--_font-size: var(--text-base);
|
|
7
|
+
--_gap: var(--size-3);
|
|
8
|
+
--_height: var(--size-7);
|
|
9
|
+
--_thumb-size: var(--size-6);
|
|
10
|
+
--_width: var(--size-14);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
:host([size='sm']) {
|
|
14
|
+
--_touch-target: var(--size-11);
|
|
15
|
+
--_font-size: var(--text-sm);
|
|
16
|
+
--_gap: var(--size-2);
|
|
17
|
+
--_height: var(--size-5);
|
|
18
|
+
--_thumb-size: var(--size-4);
|
|
19
|
+
--_width: var(--size-10);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
:host([size='lg']) {
|
|
23
|
+
--_touch-target: var(--size-11);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
`;(0,d.define)(f,{formAssociated:!0,props:{...a.themableBundle,...a.sizableBundle,...a.disablableBundle,checked:d.prop.bool(!1),error:d.prop.string(),helper:d.prop.string(),name:d.prop.string(),value:d.prop.string(`on`)},setup(e){let t=(0,d.getHost)(),n=r.createCheckable({checked:e.checked,clearIndeterminateFirst:!1,disabled:e.disabled,error:e.error,helper:e.helper,onToggle:e=>{n.triggerValidation(`change`),l.setFieldChecked(t,e.checked),l.dispatchNativeFieldEvent(t,`input`),l.dispatchNativeFieldEvent(t,`change`)},prefix:`switch`,signal:i.lifecycleSignal(d.onCleanup),value:e.value});n.attachFormField((0,d.useField)({disabled:n.disabled,toFormValue:e=>e,value:n.checkableFormValue}));let{assistiveId:a,checked:o,disabled:u,errorText:f,handleClick:p,handleKeydown:m,helperText:h,labelId:g}=n;return l.defineFieldChecked(t,()=>o.value,e=>{o.value=e}),s.applyCheckableBinding(e.size,{assistiveId:a,checked:o,disabled:u,errorText:f,handleClick:p,handleKeydown:m,helperText:h,labelId:g},`switch`),d.html`
|
|
2
27
|
<div class="switch-wrapper" part="switch">
|
|
3
28
|
<div class="switch-track" part="track">
|
|
4
29
|
<div class="switch-thumb" part="thumb"></div>
|
|
5
30
|
</div>
|
|
6
31
|
</div>
|
|
7
32
|
<span class="label" part="label" id="${g}"><slot></slot></span>
|
|
8
|
-
${
|
|
9
|
-
`},styles:[
|
|
33
|
+
${c.renderHelperRegion(a,f,h)}
|
|
34
|
+
`},styles:[n.colorThemeMixin,n.forcedColorsFormControlMixin,t.disabledStateMixin,e.sizeVariantMixin(o.SWITCH_SIZE_PRESET),p,u.default]}),exports.SWITCH_TAG=f;
|
|
10
35
|
//# sourceMappingURL=switch.cjs.map
|
package/dist/switch.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch.cjs","names":[],"sources":["../src/inputs/switch/switch.ts"],"sourcesContent":["import { define, getHost, html, onCleanup, prop, useField } from '@vielzeug/ore';\nimport { createCheckable, lifecycleSignal } from '../../core';\nimport { disablableBundle, SWITCH_SIZE_PRESET, sizableBundle, themableBundle } from '../../shared';\nimport {
|
|
1
|
+
{"version":3,"file":"switch.cjs","names":[],"sources":["../src/inputs/switch/switch.ts"],"sourcesContent":["import { css, define, getHost, html, onCleanup, prop, useField } from '@vielzeug/ore';\nimport { createCheckable, lifecycleSignal } from '../../core';\nimport { disablableBundle, SWITCH_SIZE_PRESET, sizableBundle, themableBundle } from '../../shared';\nimport { colorThemeMixin, disabledStateMixin, forcedColorsFormControlMixin, sizeVariantMixin } from '../../styles';\nimport type { CheckableProps, ComponentSize, ThemeColor } from '../../types';\nimport { applyCheckableBinding } from '../shared/field-binding';\nimport { defineFieldChecked, dispatchNativeFieldEvent, setFieldChecked } from '../shared/native-field-event';\nimport { renderHelperRegion } from '../shared/templates';\nimport componentStyles from './switch.css?inline';\n\nexport type OreSwitchEvents = {\n change: Event;\n input: Event;\n};\n\nexport type OreSwitchProps = CheckableProps & {\n /** Theme color */\n color?: ThemeColor;\n /** Disable interaction */\n disabled?: boolean;\n /** Error message (marks field as invalid) */\n error?: string;\n /** Helper text displayed below the switch */\n helper?: string;\n /** Component size */\n size?: ComponentSize;\n};\n\n/**\n * A toggle switch component for binary on/off states.\n *\n * @element ore-switch\n *\n * @attr {boolean} checked - Checked/on state\n * @attr {boolean} disabled - Disable switch interaction\n * @attr {string} value - Field value\n * @attr {string} name - Form field name\n * @attr {string} color - Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'\n * @attr {string} size - Switch size: 'sm' | 'md' | 'lg'\n * @attr {string} error - Error message (marks field as invalid)\n * @attr {string} helper - Helper text displayed below the switch\n *\n * @fires input - Emitted when switch is toggled.\n * @fires change - Emitted when switch is toggled.\n *\n * @slot - Switch label text\n *\n * @cssprop --switch-width - Track width\n * @cssprop --switch-height - Track height\n * @cssprop --switch-track-bg - Inactive track background color\n * @cssprop --switch-checked-bg - Active/checked track background color\n * @cssprop --switch-thumb-bg - Thumb background color\n * @cssprop --switch-font-size - Label font size\n * @part switch - The switch wrapper element\n * @part track - The switch track element\n * @part thumb - The switch thumb element\n * @part label - The label element\n * @part helper-text - The helper/error text element\n *\n * @example\n * ```html\n * <ore-switch name=\"notifications\" checked color=\"primary\">Enable notifications</ore-switch>\n * <ore-switch name=\"darkMode\" size=\"sm\">Dark mode</ore-switch>\n * <ore-switch disabled helper=\"Contact admin to change\">Admin only</ore-switch>\n * ```\n */\nexport const SWITCH_TAG = 'ore-switch' as const;\nconst switchCoarsePointerMixin = css`\n @media (pointer: coarse) {\n :host,\n :host([size='md']) {\n --_touch-target: var(--size-11);\n --_font-size: var(--text-base);\n --_gap: var(--size-3);\n --_height: var(--size-7);\n --_thumb-size: var(--size-6);\n --_width: var(--size-14);\n }\n\n :host([size='sm']) {\n --_touch-target: var(--size-11);\n --_font-size: var(--text-sm);\n --_gap: var(--size-2);\n --_height: var(--size-5);\n --_thumb-size: var(--size-4);\n --_width: var(--size-10);\n }\n\n :host([size='lg']) {\n --_touch-target: var(--size-11);\n }\n }\n`;\ndefine<OreSwitchProps>(SWITCH_TAG, {\n formAssociated: true,\n props: {\n ...themableBundle,\n ...sizableBundle,\n ...disablableBundle,\n checked: prop.bool(false),\n error: prop.string(),\n helper: prop.string(),\n name: prop.string(),\n value: prop.string('on'),\n },\n setup(props) {\n const el = getHost();\n\n const checkable = createCheckable({\n checked: props.checked,\n clearIndeterminateFirst: false,\n disabled: props.disabled,\n error: props.error,\n helper: props.helper,\n onToggle: (payload) => {\n checkable.triggerValidation('change');\n setFieldChecked(el, payload.checked);\n dispatchNativeFieldEvent(el, 'input');\n dispatchNativeFieldEvent(el, 'change');\n },\n prefix: 'switch',\n signal: lifecycleSignal(onCleanup),\n value: props.value,\n });\n\n checkable.attachFormField(\n useField<string | null>({\n disabled: checkable.disabled,\n toFormValue: (v) => v,\n value: checkable.checkableFormValue,\n }),\n );\n\n const { assistiveId, checked, disabled, errorText, handleClick, handleKeydown, helperText, labelId } = checkable;\n\n defineFieldChecked(\n el,\n () => checked.value,\n (value) => {\n checked.value = value;\n },\n );\n\n applyCheckableBinding(\n props.size,\n { assistiveId, checked, disabled, errorText, handleClick, handleKeydown, helperText, labelId },\n 'switch',\n );\n\n return html`\n <div class=\"switch-wrapper\" part=\"switch\">\n <div class=\"switch-track\" part=\"track\">\n <div class=\"switch-thumb\" part=\"thumb\"></div>\n </div>\n </div>\n <span class=\"label\" part=\"label\" id=\"${labelId}\"><slot></slot></span>\n ${renderHelperRegion(assistiveId, errorText, helperText)}\n `;\n },\n styles: [\n colorThemeMixin,\n forcedColorsFormControlMixin,\n disabledStateMixin,\n sizeVariantMixin(SWITCH_SIZE_PRESET),\n switchCoarsePointerMixin,\n componentStyles,\n ],\n});\n"],"mappings":"gjBAkEA,IAAa,EAAa,aACpB,EAA2B,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;GA0BpC,EAAA,EAAA,OAAA,CAAuB,EAAY,CACjC,eAAgB,GAChB,MAAO,CACL,GAAG,EAAA,eACH,GAAG,EAAA,cACH,GAAG,EAAA,iBACH,QAAS,EAAA,KAAK,KAAK,EAAK,EACxB,MAAO,EAAA,KAAK,OAAO,EACnB,OAAQ,EAAA,KAAK,OAAO,EACpB,KAAM,EAAA,KAAK,OAAO,EAClB,MAAO,EAAA,KAAK,OAAO,IAAI,CACzB,EACA,MAAM,EAAO,CACX,IAAM,GAAA,EAAK,EAAA,QAAA,CAAQ,EAEb,EAAY,EAAA,gBAAgB,CAChC,QAAS,EAAM,QACf,wBAAyB,GACzB,SAAU,EAAM,SAChB,MAAO,EAAM,MACb,OAAQ,EAAM,OACd,SAAW,GAAY,CACrB,EAAU,kBAAkB,QAAQ,EACpC,EAAA,gBAAgB,EAAI,EAAQ,OAAO,EACnC,EAAA,yBAAyB,EAAI,OAAO,EACpC,EAAA,yBAAyB,EAAI,QAAQ,CACvC,EACA,OAAQ,SACR,OAAQ,EAAA,gBAAgB,EAAA,SAAS,EACjC,MAAO,EAAM,KACf,CAAC,EAED,EAAU,iBAAA,EACR,EAAA,SAAA,CAAwB,CACtB,SAAU,EAAU,SACpB,YAAc,GAAM,EACpB,MAAO,EAAU,kBACnB,CAAC,CACH,EAEA,GAAM,CAAE,cAAa,UAAS,WAAU,YAAW,cAAa,gBAAe,aAAY,WAAY,EAgBvG,OAdA,EAAA,mBACE,MACM,EAAQ,MACb,GAAU,CACT,EAAQ,MAAQ,CAClB,CACF,EAEA,EAAA,sBACE,EAAM,KACN,CAAE,cAAa,UAAS,WAAU,YAAW,cAAa,gBAAe,aAAY,SAAQ,EAC7F,QACF,EAEO,EAAA,IAAI;;;;;;6CAM8B,EAAQ;QAC7C,EAAA,mBAAmB,EAAa,EAAW,CAAU,EAAE;KAE7D,EACA,OAAQ,CACN,EAAA,gBACA,EAAA,6BACA,EAAA,mBACA,EAAA,iBAAiB,EAAA,kBAAkB,EACnC,EACA,EAAA,OACF,CACF,CAAC"}
|
package/dist/switch.js
CHANGED
|
@@ -1,24 +1,48 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
12
|
-
import g from "
|
|
13
|
-
import { define as _, getHost as v, html as y, onCleanup as b, prop as x, useField as S } from "@vielzeug/ore";
|
|
1
|
+
import { sizeVariantMixin as e } from "./styles/mixins/shape.css.js";
|
|
2
|
+
import { disabledStateMixin as t } from "./styles/mixins/states.css.js";
|
|
3
|
+
import { colorThemeMixin as n, forcedColorsFormControlMixin as r } from "./styles/mixins/theme.css.js";
|
|
4
|
+
import { createCheckable as i } from "./core/checkable.js";
|
|
5
|
+
import { lifecycleSignal as a } from "./core/ore.js";
|
|
6
|
+
import { disablableBundle as o, sizableBundle as s, themableBundle as c } from "./shared/prop-bundles.js";
|
|
7
|
+
import { SWITCH_SIZE_PRESET as l } from "./shared/size-presets.js";
|
|
8
|
+
import { applyCheckableBinding as u } from "./inputs/shared/field-binding.js";
|
|
9
|
+
import { renderHelperRegion as d } from "./inputs/shared/templates.js";
|
|
10
|
+
import { defineFieldChecked as f, dispatchNativeFieldEvent as p, setFieldChecked as m } from "./inputs/shared/native-field-event.js";
|
|
11
|
+
import h from "./inputs/switch/switch.css.js";
|
|
12
|
+
import { css as g, define as _, getHost as v, html as y, onCleanup as b, prop as x, useField as S } from "@vielzeug/ore";
|
|
14
13
|
//#region src/inputs/switch/switch.ts
|
|
15
|
-
var C = "ore-switch"
|
|
14
|
+
var C = "ore-switch", w = g`
|
|
15
|
+
@media (pointer: coarse) {
|
|
16
|
+
:host,
|
|
17
|
+
:host([size='md']) {
|
|
18
|
+
--_touch-target: var(--size-11);
|
|
19
|
+
--_font-size: var(--text-base);
|
|
20
|
+
--_gap: var(--size-3);
|
|
21
|
+
--_height: var(--size-7);
|
|
22
|
+
--_thumb-size: var(--size-6);
|
|
23
|
+
--_width: var(--size-14);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
:host([size='sm']) {
|
|
27
|
+
--_touch-target: var(--size-11);
|
|
28
|
+
--_font-size: var(--text-sm);
|
|
29
|
+
--_gap: var(--size-2);
|
|
30
|
+
--_height: var(--size-5);
|
|
31
|
+
--_thumb-size: var(--size-4);
|
|
32
|
+
--_width: var(--size-10);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:host([size='lg']) {
|
|
36
|
+
--_touch-target: var(--size-11);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
`;
|
|
16
40
|
_(C, {
|
|
17
41
|
formAssociated: !0,
|
|
18
42
|
props: {
|
|
19
|
-
...l,
|
|
20
43
|
...c,
|
|
21
44
|
...s,
|
|
45
|
+
...o,
|
|
22
46
|
checked: x.bool(!1),
|
|
23
47
|
error: x.string(),
|
|
24
48
|
helper: x.string(),
|
|
@@ -26,17 +50,17 @@ _(C, {
|
|
|
26
50
|
value: x.string("on")
|
|
27
51
|
},
|
|
28
52
|
setup(e) {
|
|
29
|
-
let t = v(), n =
|
|
53
|
+
let t = v(), n = i({
|
|
30
54
|
checked: e.checked,
|
|
31
55
|
clearIndeterminateFirst: !1,
|
|
32
56
|
disabled: e.disabled,
|
|
33
57
|
error: e.error,
|
|
34
58
|
helper: e.helper,
|
|
35
59
|
onToggle: (e) => {
|
|
36
|
-
n.triggerValidation("change"),
|
|
60
|
+
n.triggerValidation("change"), m(t, e.checked), p(t, "input"), p(t, "change");
|
|
37
61
|
},
|
|
38
62
|
prefix: "switch",
|
|
39
|
-
signal:
|
|
63
|
+
signal: a(b),
|
|
40
64
|
value: e.value
|
|
41
65
|
});
|
|
42
66
|
n.attachFormField(S({
|
|
@@ -44,16 +68,16 @@ _(C, {
|
|
|
44
68
|
toFormValue: (e) => e,
|
|
45
69
|
value: n.checkableFormValue
|
|
46
70
|
}));
|
|
47
|
-
let { assistiveId: r, checked:
|
|
48
|
-
return
|
|
49
|
-
|
|
50
|
-
}),
|
|
71
|
+
let { assistiveId: r, checked: o, disabled: s, errorText: c, handleClick: l, handleKeydown: h, helperText: g, labelId: _ } = n;
|
|
72
|
+
return f(t, () => o.value, (e) => {
|
|
73
|
+
o.value = e;
|
|
74
|
+
}), u(e.size, {
|
|
51
75
|
assistiveId: r,
|
|
52
|
-
checked:
|
|
76
|
+
checked: o,
|
|
53
77
|
disabled: s,
|
|
54
78
|
errorText: c,
|
|
55
79
|
handleClick: l,
|
|
56
|
-
handleKeydown:
|
|
80
|
+
handleKeydown: h,
|
|
57
81
|
helperText: g,
|
|
58
82
|
labelId: _
|
|
59
83
|
}, "switch"), y`
|
|
@@ -63,16 +87,16 @@ _(C, {
|
|
|
63
87
|
</div>
|
|
64
88
|
</div>
|
|
65
89
|
<span class="label" part="label" id="${_}"><slot></slot></span>
|
|
66
|
-
${
|
|
90
|
+
${d(r, c, g)}
|
|
67
91
|
`;
|
|
68
92
|
},
|
|
69
93
|
styles: [
|
|
70
|
-
r,
|
|
71
|
-
i,
|
|
72
94
|
n,
|
|
73
|
-
|
|
74
|
-
t
|
|
75
|
-
|
|
95
|
+
r,
|
|
96
|
+
t,
|
|
97
|
+
e(l),
|
|
98
|
+
w,
|
|
99
|
+
h
|
|
76
100
|
]
|
|
77
101
|
});
|
|
78
102
|
//#endregion
|
package/dist/switch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch.js","names":[],"sources":["../src/inputs/switch/switch.ts"],"sourcesContent":["import { define, getHost, html, onCleanup, prop, useField } from '@vielzeug/ore';\nimport { createCheckable, lifecycleSignal } from '../../core';\nimport { disablableBundle, SWITCH_SIZE_PRESET, sizableBundle, themableBundle } from '../../shared';\nimport {
|
|
1
|
+
{"version":3,"file":"switch.js","names":[],"sources":["../src/inputs/switch/switch.ts"],"sourcesContent":["import { css, define, getHost, html, onCleanup, prop, useField } from '@vielzeug/ore';\nimport { createCheckable, lifecycleSignal } from '../../core';\nimport { disablableBundle, SWITCH_SIZE_PRESET, sizableBundle, themableBundle } from '../../shared';\nimport { colorThemeMixin, disabledStateMixin, forcedColorsFormControlMixin, sizeVariantMixin } from '../../styles';\nimport type { CheckableProps, ComponentSize, ThemeColor } from '../../types';\nimport { applyCheckableBinding } from '../shared/field-binding';\nimport { defineFieldChecked, dispatchNativeFieldEvent, setFieldChecked } from '../shared/native-field-event';\nimport { renderHelperRegion } from '../shared/templates';\nimport componentStyles from './switch.css?inline';\n\nexport type OreSwitchEvents = {\n change: Event;\n input: Event;\n};\n\nexport type OreSwitchProps = CheckableProps & {\n /** Theme color */\n color?: ThemeColor;\n /** Disable interaction */\n disabled?: boolean;\n /** Error message (marks field as invalid) */\n error?: string;\n /** Helper text displayed below the switch */\n helper?: string;\n /** Component size */\n size?: ComponentSize;\n};\n\n/**\n * A toggle switch component for binary on/off states.\n *\n * @element ore-switch\n *\n * @attr {boolean} checked - Checked/on state\n * @attr {boolean} disabled - Disable switch interaction\n * @attr {string} value - Field value\n * @attr {string} name - Form field name\n * @attr {string} color - Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'\n * @attr {string} size - Switch size: 'sm' | 'md' | 'lg'\n * @attr {string} error - Error message (marks field as invalid)\n * @attr {string} helper - Helper text displayed below the switch\n *\n * @fires input - Emitted when switch is toggled.\n * @fires change - Emitted when switch is toggled.\n *\n * @slot - Switch label text\n *\n * @cssprop --switch-width - Track width\n * @cssprop --switch-height - Track height\n * @cssprop --switch-track-bg - Inactive track background color\n * @cssprop --switch-checked-bg - Active/checked track background color\n * @cssprop --switch-thumb-bg - Thumb background color\n * @cssprop --switch-font-size - Label font size\n * @part switch - The switch wrapper element\n * @part track - The switch track element\n * @part thumb - The switch thumb element\n * @part label - The label element\n * @part helper-text - The helper/error text element\n *\n * @example\n * ```html\n * <ore-switch name=\"notifications\" checked color=\"primary\">Enable notifications</ore-switch>\n * <ore-switch name=\"darkMode\" size=\"sm\">Dark mode</ore-switch>\n * <ore-switch disabled helper=\"Contact admin to change\">Admin only</ore-switch>\n * ```\n */\nexport const SWITCH_TAG = 'ore-switch' as const;\nconst switchCoarsePointerMixin = css`\n @media (pointer: coarse) {\n :host,\n :host([size='md']) {\n --_touch-target: var(--size-11);\n --_font-size: var(--text-base);\n --_gap: var(--size-3);\n --_height: var(--size-7);\n --_thumb-size: var(--size-6);\n --_width: var(--size-14);\n }\n\n :host([size='sm']) {\n --_touch-target: var(--size-11);\n --_font-size: var(--text-sm);\n --_gap: var(--size-2);\n --_height: var(--size-5);\n --_thumb-size: var(--size-4);\n --_width: var(--size-10);\n }\n\n :host([size='lg']) {\n --_touch-target: var(--size-11);\n }\n }\n`;\ndefine<OreSwitchProps>(SWITCH_TAG, {\n formAssociated: true,\n props: {\n ...themableBundle,\n ...sizableBundle,\n ...disablableBundle,\n checked: prop.bool(false),\n error: prop.string(),\n helper: prop.string(),\n name: prop.string(),\n value: prop.string('on'),\n },\n setup(props) {\n const el = getHost();\n\n const checkable = createCheckable({\n checked: props.checked,\n clearIndeterminateFirst: false,\n disabled: props.disabled,\n error: props.error,\n helper: props.helper,\n onToggle: (payload) => {\n checkable.triggerValidation('change');\n setFieldChecked(el, payload.checked);\n dispatchNativeFieldEvent(el, 'input');\n dispatchNativeFieldEvent(el, 'change');\n },\n prefix: 'switch',\n signal: lifecycleSignal(onCleanup),\n value: props.value,\n });\n\n checkable.attachFormField(\n useField<string | null>({\n disabled: checkable.disabled,\n toFormValue: (v) => v,\n value: checkable.checkableFormValue,\n }),\n );\n\n const { assistiveId, checked, disabled, errorText, handleClick, handleKeydown, helperText, labelId } = checkable;\n\n defineFieldChecked(\n el,\n () => checked.value,\n (value) => {\n checked.value = value;\n },\n );\n\n applyCheckableBinding(\n props.size,\n { assistiveId, checked, disabled, errorText, handleClick, handleKeydown, helperText, labelId },\n 'switch',\n );\n\n return html`\n <div class=\"switch-wrapper\" part=\"switch\">\n <div class=\"switch-track\" part=\"track\">\n <div class=\"switch-thumb\" part=\"thumb\"></div>\n </div>\n </div>\n <span class=\"label\" part=\"label\" id=\"${labelId}\"><slot></slot></span>\n ${renderHelperRegion(assistiveId, errorText, helperText)}\n `;\n },\n styles: [\n colorThemeMixin,\n forcedColorsFormControlMixin,\n disabledStateMixin,\n sizeVariantMixin(SWITCH_SIZE_PRESET),\n switchCoarsePointerMixin,\n componentStyles,\n ],\n});\n"],"mappings":";;;;;;;;;;;;;AAkEA,IAAa,IAAa,cACpB,IAA2B,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BpC,EAAuB,GAAY;CACjC,gBAAgB;CAChB,OAAO;EACL,GAAG;EACH,GAAG;EACH,GAAG;EACH,SAAS,EAAK,KAAK,EAAK;EACxB,OAAO,EAAK,OAAO;EACnB,QAAQ,EAAK,OAAO;EACpB,MAAM,EAAK,OAAO;EAClB,OAAO,EAAK,OAAO,IAAI;CACzB;CACA,MAAM,GAAO;EACX,IAAM,IAAK,EAAQ,GAEb,IAAY,EAAgB;GAChC,SAAS,EAAM;GACf,yBAAyB;GACzB,UAAU,EAAM;GAChB,OAAO,EAAM;GACb,QAAQ,EAAM;GACd,WAAW,MAAY;IAIrB,AAHA,EAAU,kBAAkB,QAAQ,GACpC,EAAgB,GAAI,EAAQ,OAAO,GACnC,EAAyB,GAAI,OAAO,GACpC,EAAyB,GAAI,QAAQ;GACvC;GACA,QAAQ;GACR,QAAQ,EAAgB,CAAS;GACjC,OAAO,EAAM;EACf,CAAC;EAED,EAAU,gBACR,EAAwB;GACtB,UAAU,EAAU;GACpB,cAAc,MAAM;GACpB,OAAO,EAAU;EACnB,CAAC,CACH;EAEA,IAAM,EAAE,gBAAa,YAAS,aAAU,cAAW,gBAAa,kBAAe,eAAY,eAAY;EAgBvG,OAdA,EACE,SACM,EAAQ,QACb,MAAU;GACT,EAAQ,QAAQ;EAClB,CACF,GAEA,EACE,EAAM,MACN;GAAE;GAAa;GAAS;GAAU;GAAW;GAAa;GAAe;GAAY;EAAQ,GAC7F,QACF,GAEO,CAAI;;;;;;6CAM8B,EAAQ;QAC7C,EAAmB,GAAa,GAAW,CAAU,EAAE;;CAE7D;CACA,QAAQ;EACN;EACA;EACA;EACA,EAAiB,CAAkB;EACnC;EACA;CACF;AACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vielzeug/refine",
|
|
3
|
-
"version": "3.1
|
|
4
|
-
"description": "Accessible, themeable web components built on
|
|
3
|
+
"version": "3.2.1",
|
|
4
|
+
"description": "Accessible, themeable web components built on ore",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"web-components",
|
|
7
7
|
"custom-elements",
|