@vielzeug/refine 1.7.0 → 1.8.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.
Files changed (83) hide show
  1. package/dist/async.cjs +11 -11
  2. package/dist/async.cjs.map +1 -1
  3. package/dist/async.js +1 -2
  4. package/dist/async.js.map +1 -1
  5. package/dist/calendar.cjs +26 -26
  6. package/dist/calendar.cjs.map +1 -1
  7. package/dist/calendar.js +4 -5
  8. package/dist/calendar.js.map +1 -1
  9. package/dist/checkbox-group.cjs +9 -9
  10. package/dist/checkbox-group.cjs.map +1 -1
  11. package/dist/checkbox-group.js +1 -2
  12. package/dist/checkbox-group.js.map +1 -1
  13. package/dist/code-window.cjs +4 -4
  14. package/dist/code-window.cjs.map +1 -1
  15. package/dist/code-window.js +1 -2
  16. package/dist/code-window.js.map +1 -1
  17. package/dist/command-palette.cjs +6 -6
  18. package/dist/command-palette.cjs.map +1 -1
  19. package/dist/command-palette.js +46 -47
  20. package/dist/command-palette.js.map +1 -1
  21. package/dist/content/code-window/code-window.d.ts.map +1 -1
  22. package/dist/content/icon/icon.d.ts.map +1 -1
  23. package/dist/custom-elements.json +3716 -3716
  24. package/dist/datagrid.cjs +2 -2
  25. package/dist/datagrid.js +206 -206
  26. package/dist/datagrid.js.map +1 -1
  27. package/dist/disclosure/tab-panel/tab-panel.d.ts.map +1 -1
  28. package/dist/feedback/async/async.d.ts.map +1 -1
  29. package/dist/feedback/progress/progress.d.ts.map +1 -1
  30. package/dist/file-input.cjs +49 -49
  31. package/dist/file-input.cjs.map +1 -1
  32. package/dist/file-input.js +1 -2
  33. package/dist/file-input.js.map +1 -1
  34. package/dist/icon.cjs +1 -1
  35. package/dist/icon.cjs.map +1 -1
  36. package/dist/icon.js +1 -2
  37. package/dist/icon.js.map +1 -1
  38. package/dist/input.cjs +2 -2
  39. package/dist/input.js +6 -6
  40. package/dist/inputs/calendar/calendar.d.ts.map +1 -1
  41. package/dist/message-composer.cjs +2 -2
  42. package/dist/message-composer.js +6 -6
  43. package/dist/progress.cjs +13 -13
  44. package/dist/progress.cjs.map +1 -1
  45. package/dist/progress.js +3 -4
  46. package/dist/progress.js.map +1 -1
  47. package/dist/radio-group.cjs +11 -11
  48. package/dist/radio-group.cjs.map +1 -1
  49. package/dist/radio-group.js +1 -2
  50. package/dist/radio-group.js.map +1 -1
  51. package/dist/refine.cjs +197 -197
  52. package/dist/refine.cjs.map +1 -1
  53. package/dist/refine.iife.js +258 -258
  54. package/dist/refine.iife.js.map +1 -1
  55. package/dist/refine.js +225 -225
  56. package/dist/refine.js.map +1 -1
  57. package/dist/tab-panel.cjs +7 -7
  58. package/dist/tab-panel.cjs.map +1 -1
  59. package/dist/tab-panel.js +3 -4
  60. package/dist/tab-panel.js.map +1 -1
  61. package/dist/testing/index.d.ts +15 -60
  62. package/dist/testing/index.d.ts.map +1 -1
  63. package/dist/testing.cjs +1 -1
  64. package/dist/testing.cjs.map +1 -1
  65. package/dist/testing.js +7 -24
  66. package/dist/testing.js.map +1 -1
  67. package/dist/textarea.cjs +2 -2
  68. package/dist/textarea.js +6 -6
  69. package/package.json +6 -5
  70. package/dist/keymap/dist/_dev.cjs +0 -2
  71. package/dist/keymap/dist/_dev.cjs.map +0 -1
  72. package/dist/keymap/dist/_dev.js +0 -4
  73. package/dist/keymap/dist/_dev.js.map +0 -1
  74. package/dist/keymap/dist/format.cjs +0 -1
  75. package/dist/keymap/dist/format.js +0 -1
  76. package/dist/keymap/dist/index.cjs +0 -1
  77. package/dist/keymap/dist/index.js +0 -4
  78. package/dist/keymap/dist/keymap.cjs +0 -2
  79. package/dist/keymap/dist/keymap.cjs.map +0 -1
  80. package/dist/keymap/dist/keymap.js +0 -221
  81. package/dist/keymap/dist/keymap.js.map +0 -1
  82. package/dist/keymap/dist/layer.cjs +0 -1
  83. package/dist/keymap/dist/layer.js +0 -1
package/dist/textarea.cjs CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./styles/mixins/shape.css.cjs"),t=require("./styles/mixins/theme.css.cjs"),n=require("./styles/mixins/field-variants.css.cjs"),r=require("./styles/index.cjs"),i=require("./shared/prop-bundles.cjs"),a=require("./shared/size-presets.cjs"),o=require("./headless/ore.cjs"),s=require("./headless/auto-resize.cjs"),c=require("./headless/ref-callback.cjs"),l=require("./headless/text-field.cjs"),u=require("./inputs/shared/field-binding.cjs"),d=require("./inputs/shared/form-context.cjs"),f=require("./inputs/shared/templates.cjs"),p=require("./inputs/textarea/textarea.css.cjs");let m=require("@vielzeug/ore"),h=require("@vielzeug/ore/directives"),g=require("@vielzeug/ripple"),_=require("@vielzeug/ore/forms");var v=`ore-textarea`;(0,m.define)(v,{formAssociated:!0,props:{...i.themableBundle,...i.sizableBundle,...i.disablableBundle,...i.roundableBundle,"auto-resize":m.prop.bool(!1),error:m.prop.string(),fullwidth:m.prop.bool(!1),helper:m.prop.string(),label:m.prop.string(),"label-placement":m.prop.oneOf([`inset`,`outside`],`inset`),loading:m.prop.bool(!1),maxlength:m.prop.json(void 0),name:m.prop.string(),"no-resize":m.prop.bool(!1),placeholder:m.prop.string(),readonly:m.prop.bool(!1),ref:m.prop.data(),required:m.prop.bool(!1),resize:m.prop.string(),rows:m.prop.json(void 0),success:m.prop.bool(!1),value:m.prop.string(),variant:m.prop.string()},setup(e){let t=(0,m.useEmit)(),n=m.watchEffect,r=(0,m.inject)(d.FORM_CTX),i=d.useFormContext(e,r),a=(0,m.ref)(),p=s.createAutoResize({enabled:e[`auto-resize`]}),v=(0,g.computed)(()=>i.disabled.value||e.loading.value),y=o.lifecycleSignal(m.onCleanup),b=l.createTextField({disabled:v,error:e.error,helper:e.helper,label:e.label,labelPlacement:e[`label-placement`],maxLength:e.maxlength,onChange:(e,n)=>{t(`change`,{originalEvent:e,value:n})},onInput:(e,n)=>{t(`input`,{originalEvent:e,value:n})},prefix:`textarea`,readonly:e.readonly,required:e.required,signal:y,validateOn:r?.validateOn,value:e.value});b.attachFormField((0,_.useField)({disabled:b.disabled,onReset:()=>{b.reset(),requestAnimationFrame(()=>p.recompute())},toFormValue:e=>e,validationMessage:b.validationMessage,validity:b.validity,value:b.value}));let{ariaDescribedBy:x,ariaErrorMessage:S,ariaInvalid:C,ariaLabelledBy:w,assistiveId:T,counter:E,errorId:D,errorText:O,fieldId:k,helperText:A,labelId:j,labelVisible:M}=b;return(0,m.onElement)(a,t=>{let r=b.wire(t),i=p.wire(t),a=c.bindRefCallback(e.ref,t),o=n(()=>{t.style.resize=e[`auto-resize`].value||e[`no-resize`].value?`none`:e.resize.value||`vertical`,requestAnimationFrame(()=>p.recompute())});return()=>{a(),r(),i(),o()}}),(0,m.bind)({attr:{error:u.errorAttr(O),size:i.size,success:()=>e.success.value&&!O.value?!0:void 0,variant:i.variant}}),m.html`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./styles/mixins/shape.css.cjs"),t=require("./styles/mixins/theme.css.cjs"),n=require("./styles/mixins/field-variants.css.cjs"),r=require("./styles/index.cjs"),i=require("./shared/prop-bundles.cjs"),a=require("./shared/size-presets.cjs"),o=require("./headless/ore.cjs"),s=require("./headless/auto-resize.cjs"),c=require("./headless/ref-callback.cjs"),l=require("./headless/text-field.cjs"),u=require("./inputs/shared/field-binding.cjs"),d=require("./inputs/shared/form-context.cjs"),f=require("./inputs/shared/templates.cjs"),p=require("./inputs/textarea/textarea.css.cjs");let m=require("@vielzeug/ore"),h=require("@vielzeug/ripple"),g=require("@vielzeug/ore/forms"),_=require("@vielzeug/ore/directives");var v=`ore-textarea`;(0,m.define)(v,{formAssociated:!0,props:{...i.themableBundle,...i.sizableBundle,...i.disablableBundle,...i.roundableBundle,"auto-resize":m.prop.bool(!1),error:m.prop.string(),fullwidth:m.prop.bool(!1),helper:m.prop.string(),label:m.prop.string(),"label-placement":m.prop.oneOf([`inset`,`outside`],`inset`),loading:m.prop.bool(!1),maxlength:m.prop.json(void 0),name:m.prop.string(),"no-resize":m.prop.bool(!1),placeholder:m.prop.string(),readonly:m.prop.bool(!1),ref:m.prop.data(),required:m.prop.bool(!1),resize:m.prop.string(),rows:m.prop.json(void 0),success:m.prop.bool(!1),value:m.prop.string(),variant:m.prop.string()},setup(e){let t=(0,m.useEmit)(),n=m.watchEffect,r=(0,m.inject)(d.FORM_CTX),i=d.useFormContext(e,r),a=(0,m.ref)(),p=s.createAutoResize({enabled:e[`auto-resize`]}),v=(0,h.computed)(()=>i.disabled.value||e.loading.value),y=o.lifecycleSignal(m.onCleanup),b=l.createTextField({disabled:v,error:e.error,helper:e.helper,label:e.label,labelPlacement:e[`label-placement`],maxLength:e.maxlength,onChange:(e,n)=>{t(`change`,{originalEvent:e,value:n})},onInput:(e,n)=>{t(`input`,{originalEvent:e,value:n})},prefix:`textarea`,readonly:e.readonly,required:e.required,signal:y,validateOn:r?.validateOn,value:e.value});b.attachFormField((0,g.useField)({disabled:b.disabled,onReset:()=>{b.reset(),requestAnimationFrame(()=>p.recompute())},toFormValue:e=>e,validationMessage:b.validationMessage,validity:b.validity,value:b.value}));let{ariaDescribedBy:x,ariaErrorMessage:S,ariaInvalid:C,ariaLabelledBy:w,assistiveId:T,counter:E,errorId:D,errorText:O,fieldId:k,helperText:A,labelId:j,labelVisible:M}=b;return(0,m.onElement)(a,t=>{let r=b.wire(t),i=p.wire(t),a=c.bindRefCallback(e.ref,t),o=n(()=>{t.style.resize=e[`auto-resize`].value||e[`no-resize`].value?`none`:e.resize.value||`vertical`,requestAnimationFrame(()=>p.recompute())});return()=>{a(),r(),i(),o()}}),(0,m.bind)({attr:{error:u.errorAttr(O),size:i.size,success:()=>e.success.value&&!O.value?!0:void 0,variant:i.variant}}),m.html`
2
2
  <div class="textarea-wrapper" part="wrapper">
3
3
  <label class="label" part="label" for="${k}" id="${j}" ?hidden="${()=>!M.value}"
4
4
  >${e.label}</label
@@ -15,7 +15,7 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=requi
15
15
  ?disabled="${v}"
16
16
  ?readonly="${e.readonly}"
17
17
  ?required="${e.required}"
18
- :value="${(0,h.live)(b.value)}"
18
+ :value="${(0,_.live)(b.value)}"
19
19
  :aria-describedby="${x}"
20
20
  :aria-errormessage="${S}"
21
21
  :aria-invalid="${C}"
package/dist/textarea.js CHANGED
@@ -13,9 +13,9 @@ import { FORM_CTX as m, useFormContext as h } from "./inputs/shared/form-context
13
13
  import { renderFieldStatusRegion as g, renderStatusIcon as _ } from "./inputs/shared/templates.js";
14
14
  import v from "./inputs/textarea/textarea.css.js";
15
15
  import { bind as y, define as b, html as x, inject as S, onCleanup as C, onElement as w, prop as T, ref as E, useEmit as D, watchEffect as O } from "@vielzeug/ore";
16
- import { live as k } from "@vielzeug/ore/directives";
17
- import { computed as A } from "@vielzeug/ripple";
18
- import { useField as j } from "@vielzeug/ore/forms";
16
+ import { computed as k } from "@vielzeug/ripple";
17
+ import { useField as A } from "@vielzeug/ore/forms";
18
+ import { live as j } from "@vielzeug/ore/directives";
19
19
  //#region src/inputs/textarea/textarea.ts
20
20
  var M = "ore-textarea";
21
21
  b(M, {
@@ -46,7 +46,7 @@ b(M, {
46
46
  variant: T.string()
47
47
  },
48
48
  setup(e) {
49
- let t = D(), n = O, r = S(m), i = h(e, r), a = E(), o = u({ enabled: e["auto-resize"] }), s = A(() => i.disabled.value || e.loading.value), c = l(C), v = f({
49
+ let t = D(), n = O, r = S(m), i = h(e, r), a = E(), o = u({ enabled: e["auto-resize"] }), s = k(() => i.disabled.value || e.loading.value), c = l(C), v = f({
50
50
  disabled: s,
51
51
  error: e.error,
52
52
  helper: e.helper,
@@ -72,7 +72,7 @@ b(M, {
72
72
  validateOn: r?.validateOn,
73
73
  value: e.value
74
74
  });
75
- v.attachFormField(j({
75
+ v.attachFormField(A({
76
76
  disabled: v.disabled,
77
77
  onReset: () => {
78
78
  v.reset(), requestAnimationFrame(() => o.recompute());
@@ -112,7 +112,7 @@ b(M, {
112
112
  ?disabled="${s}"
113
113
  ?readonly="${e.readonly}"
114
114
  ?required="${e.required}"
115
- :value="${k(v.value)}"
115
+ :value="${j(v.value)}"
116
116
  :aria-describedby="${b}"
117
117
  :aria-errormessage="${T}"
118
118
  :aria-invalid="${M}"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vielzeug/refine",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "Accessible, themeable web components built on Ore custom element primitives",
5
5
  "keywords": [
6
6
  "web-components",
@@ -479,12 +479,13 @@
479
479
  },
480
480
  "dependencies": {
481
481
  "@vielzeug/arsenal": "1.1.2",
482
+ "@vielzeug/assay": "1.0.0",
482
483
  "@vielzeug/dnd": "1.2.2",
483
484
  "@vielzeug/keymap": "1.1.2",
484
- "@vielzeug/orbit": "1.1.2",
485
- "@vielzeug/ore": "1.2.3",
486
- "@vielzeug/ripple": "1.2.3",
487
- "@vielzeug/tempo": "1.0.4",
485
+ "@vielzeug/orbit": "1.1.3",
486
+ "@vielzeug/ore": "1.3.0",
487
+ "@vielzeug/ripple": "1.3.0",
488
+ "@vielzeug/tempo": "1.0.5",
488
489
  "lucide": "^1.23.0"
489
490
  },
490
491
  "devDependencies": {
@@ -1,2 +0,0 @@
1
- globalThis.__KEYMAP_PROD__;
2
- //# sourceMappingURL=_dev.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_dev.cjs","names":[],"sources":["../../../../keymap/dist/_dev.js"],"sourcesContent":["//#region src/_dev.ts\nvar e = !globalThis.__KEYMAP_PROD__;\nfunction t(t) {\n\te && console.warn(`[@vielzeug/keymap] ${t}`);\n}\n//#endregion\nexport { t as warn };\n\n//# sourceMappingURL=_dev.js.map"],"mappings":"AACS,WAAW"}
@@ -1,4 +0,0 @@
1
- globalThis.__KEYMAP_PROD__;
2
- //#endregion
3
-
4
- //# sourceMappingURL=_dev.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_dev.js","names":[],"sources":["../../../../keymap/dist/_dev.js"],"sourcesContent":["//#region src/_dev.ts\nvar e = !globalThis.__KEYMAP_PROD__;\nfunction t(t) {\n\te && console.warn(`[@vielzeug/keymap] ${t}`);\n}\n//#endregion\nexport { t as warn };\n\n//# sourceMappingURL=_dev.js.map"],"mappings":"AACS,WAAW"}
@@ -1 +0,0 @@
1
- require("./_dev.cjs");
@@ -1 +0,0 @@
1
- import "./_dev.js";
@@ -1 +0,0 @@
1
- require("./format.cjs");const e=require("./keymap.cjs");require("./layer.cjs"),exports.createKeymap=e.createKeymap;
@@ -1,4 +0,0 @@
1
- import "./format.js";
2
- import { createKeymap as e } from "./keymap.js";
3
- import "./layer.js";
4
- export { e as createKeymap };
@@ -1,2 +0,0 @@
1
- var e=class e extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}static is(t){return t instanceof e}},t=class extends e{constructor(e){super(e)}};function n(){if(typeof navigator>`u`)return`ctrl`;let e=navigator.userAgentData?.platform??navigator.platform??``;return/mac/i.test(e)?`meta`:`ctrl`}var r={alt:`alt`,cmd:`meta`,command:`meta`,control:`ctrl`,ctrl:`ctrl`,meta:`meta`,opt:`alt`,option:`alt`,shift:`shift`,win:`meta`},i={del:`delete`,down:`arrowdown`,esc:`escape`,left:`arrowleft`,right:`arrowright`,space:` `,spacebar:` `,up:`arrowup`};function a(e){return{...r,mod:e}}function o(e,t){let n=e.toLowerCase();return Object.hasOwn(t,n)?t[n]:null}function s(e){return Object.hasOwn(i,e)?i[e]:e}function c(e,r=n()){let i=e.trim().split(`+`).filter(Boolean).map(e=>e.toLowerCase());if(i.length===0)return null;let c=a(r),l=new Set,u=[];for(let e of i){let t=o(e,c);t?l.add(t):u.push(e)}if(u.length===0)return null;if(u.length>1)throw new t(`Ambiguous shortcut step: "${e}" — multiple non-modifier keys found`);return{key:s(u[0]),modifiers:l}}function l(e,r=n()){return e.trim().split(/\s+/).filter(Boolean).map(n=>{let i=c(n,r);if(i===null)throw new t(`Invalid shortcut step: "${n}" in "${e}"`);return i})}function u(e){return e.map(e=>{let t=[...e.modifiers].sort().join(`+`);return t?`${t}+${e.key}`:e.key}).join(` `)}function d(e,t){if(typeof e.key!=`string`||e.key.toLowerCase()!==t.key)return!1;let{modifiers:n}=t;return!(e.altKey!==n.has(`alt`)||e.ctrlKey!==n.has(`ctrl`)||e.metaKey!==n.has(`meta`)||e.shiftKey!==n.has(`shift`))}var f=!globalThis.__KEYMAP_PROD__;function p(e){f&&console.warn(`[@vielzeug/keymap] ${e}`)}function m(e){if(typeof e==`function`)return{handler:e,priority:0,trigger:`keydown`};let t=e.priority??0;return Number.isFinite(t)||p(`binding priority must be a finite number; received ${t}. Using 0.`),{handler:e.handler,priority:Number.isFinite(t)?t:0,trigger:e.trigger??`keydown`,when:e.when}}function h(e,t){let n=0,r=[],i=null;function a(){i!==null&&(clearTimeout(i),i=null)}function o(){a(),n=0,r=[]}function s(c){let l=n===0?e():r,u=[];for(let e of l){let t=e.shortcut[n];t&&d(c,t)&&u.push(e)}if(u.length===0){let e=n!==0;return o(),e?s(c):null}a();let f=u.find(e=>e.shortcut.length===n+1);return f?(o(),f):(r=u,n++,i=setTimeout(o,t),null)}return{advance:s,reset:o}}function g(e={},t={}){let{chordTimeout:r=1e3,modKey:i=n(),preventDefault:a=!0,stopPropagation:o=!1,when:s}=t,c=Number.isFinite(r)&&r>0?r:1e3;c!==r&&p(`chordTimeout must be a positive finite number; received ${r}. Using default of 1000ms.`);let d=new Map,f=[],g=[];function _(){f=[],g=[];for(let e of d.values())e.trigger===`keydown`?f.push(e):g.push(e)}function v(e,t){let n=l(e,i),r=u(n);return d.set(r,{shortcut:n,...m(t)}),_(),r}function y(e){let t=d.delete(e);return t&&_(),t}function b(e){return y(u(l(e,i)))}for(let[t,n]of Object.entries(e)){let e=l(t,i),r=u(e);d.set(r,{shortcut:e,...m(n)})}_();let x=h(()=>f,c),S=h(()=>g,c),C=new Set,w=new Map;function T(e){return function(t){if(s&&!s())return;let n=e.advance(t);n&&(n.when&&!n.when()||(a&&t.preventDefault(),o&&t.stopPropagation(),n.handler(t)))}}let E=T(x),D=T(S),O=new AbortController,k=!1;return{bind(e,t){let n=v(e,t);return()=>{y(n)}},get disposalSignal(){return O.signal},dispose(){if(!k){k=!0,O.abort();for(let e of C)e();C.clear(),x.reset(),S.reset()}},get disposed(){return k},listBindings(){return[...d.values()].map(e=>({priority:e.priority,shortcut:e.shortcut.map(e=>({key:e.key,modifiers:new Set(e.modifiers)})),trigger:e.trigger}))},mount(e){let t=w.get(e)??0;t>0&&p(`mount() called for a target that is already mounted — this registers a duplicate listener`),w.set(e,t+1),e.addEventListener(`keydown`,E),e.addEventListener(`keyup`,D);let n=()=>{e.removeEventListener(`keydown`,E),e.removeEventListener(`keyup`,D),C.delete(n);let t=(w.get(e)??1)-1;t<=0?w.delete(e):w.set(e,t)};return C.add(n),n},[Symbol.dispose](){this.dispose()},unbind(e){b(e)||p(`unbind() called for unknown shortcut: "${e}"`)}}}exports.KeymapError=e,exports.KeymapParseError=t,exports.canonicalizeShortcut=u,exports.createKeymap=g,exports.detectModKey=n,exports.matchStep=d,exports.parseShortcut=l,exports.parseStep=c;
2
- //# sourceMappingURL=keymap.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keymap.cjs","names":[],"sources":["../../../../keymap/dist/keymap.js"],"sourcesContent":["var e=class e extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}static is(t){return t instanceof e}},t=class extends e{constructor(e){super(e)}};function n(){if(typeof navigator>`u`)return`ctrl`;let e=navigator.userAgentData?.platform??navigator.platform??``;return/mac/i.test(e)?`meta`:`ctrl`}var r={alt:`alt`,cmd:`meta`,command:`meta`,control:`ctrl`,ctrl:`ctrl`,meta:`meta`,opt:`alt`,option:`alt`,shift:`shift`,win:`meta`},i={del:`delete`,down:`arrowdown`,esc:`escape`,left:`arrowleft`,right:`arrowright`,space:` `,spacebar:` `,up:`arrowup`};function a(e){return{...r,mod:e}}function o(e,t){let n=e.toLowerCase();return Object.hasOwn(t,n)?t[n]:null}function s(e){return Object.hasOwn(i,e)?i[e]:e}function c(e,r=n()){let i=e.trim().split(`+`).filter(Boolean).map(e=>e.toLowerCase());if(i.length===0)return null;let c=a(r),l=new Set,u=[];for(let e of i){let t=o(e,c);t?l.add(t):u.push(e)}if(u.length===0)return null;if(u.length>1)throw new t(`Ambiguous shortcut step: \"${e}\" — multiple non-modifier keys found`);return{key:s(u[0]),modifiers:l}}function l(e,r=n()){return e.trim().split(/\\s+/).filter(Boolean).map(n=>{let i=c(n,r);if(i===null)throw new t(`Invalid shortcut step: \"${n}\" in \"${e}\"`);return i})}function u(e){return e.map(e=>{let t=[...e.modifiers].sort().join(`+`);return t?`${t}+${e.key}`:e.key}).join(` `)}function d(e,t){if(typeof e.key!=`string`||e.key.toLowerCase()!==t.key)return!1;let{modifiers:n}=t;return!(e.altKey!==n.has(`alt`)||e.ctrlKey!==n.has(`ctrl`)||e.metaKey!==n.has(`meta`)||e.shiftKey!==n.has(`shift`))}function f(e,t){return e.length>t.length?!1:u(e)===u(t.slice(0,e.length))}function p(e,t,n={}){let{modKey:r,trigger:i=`keydown`}=n,a=l(e,r);return a.length===0?[]:t.filter(e=>e.trigger===i&&(f(a,e.shortcut)||f(e.shortcut,a)))}var m=!globalThis.__KEYMAP_PROD__;function h(e){m&&console.warn(`[@vielzeug/keymap] ${e}`)}var g={\" \":`Space`,arrowdown:`↓`,arrowleft:`←`,arrowright:`→`,arrowup:`↑`,backspace:`⌫`,delete:`⌦`,end:`End`,enter:`↵`,escape:`Esc`,home:`Home`,pagedown:`PgDn`,pageup:`PgUp`,tab:`⇥`},_={alt:`⌥`,ctrl:`⌃`,meta:`⌘`,shift:`⇧`},v={alt:`Alt`,ctrl:`Ctrl`,meta:`Win`,shift:`Shift`},y=[`ctrl`,`alt`,`shift`,`meta`];function b(e,t=n()){if(!e.trim())return h(`formatShortcut() received an empty shortcut string`),``;let r;try{r=l(e,t)}catch{return h(`formatShortcut() received an invalid shortcut: \"${e}\"`),``}let i=t===`meta`;return r.map(e=>{let t=y.filter(t=>e.modifiers.has(t)).map(e=>i?_[e]:v[e]),n=g[e.key]??e.key.toUpperCase();return i?`${t.join(``)}${n}`:[...t,n].join(`+`)}).join(` `)}function x(e){if(typeof e==`function`)return{handler:e,priority:0,trigger:`keydown`};let t=e.priority??0;return Number.isFinite(t)||h(`binding priority must be a finite number; received ${t}. Using 0.`),{handler:e.handler,priority:Number.isFinite(t)?t:0,trigger:e.trigger??`keydown`,when:e.when}}function S(e,t){let n=0,r=[],i=null;function a(){i!==null&&(clearTimeout(i),i=null)}function o(){a(),n=0,r=[]}function s(c){let l=n===0?e():r,u=[];for(let e of l){let t=e.shortcut[n];t&&d(c,t)&&u.push(e)}if(u.length===0){let e=n!==0;return o(),e?s(c):null}a();let f=u.find(e=>e.shortcut.length===n+1);return f?(o(),f):(r=u,n++,i=setTimeout(o,t),null)}return{advance:s,reset:o}}function C(e={},t={}){let{chordTimeout:r=1e3,modKey:i=n(),preventDefault:a=!0,stopPropagation:o=!1,when:s}=t,c=Number.isFinite(r)&&r>0?r:1e3;c!==r&&h(`chordTimeout must be a positive finite number; received ${r}. Using default of 1000ms.`);let d=new Map,f=[],p=[];function m(){f=[],p=[];for(let e of d.values())e.trigger===`keydown`?f.push(e):p.push(e)}function g(e,t){let n=l(e,i),r=u(n);return d.set(r,{shortcut:n,...x(t)}),m(),r}function _(e){let t=d.delete(e);return t&&m(),t}function v(e){return _(u(l(e,i)))}for(let[t,n]of Object.entries(e)){let e=l(t,i),r=u(e);d.set(r,{shortcut:e,...x(n)})}m();let y=S(()=>f,c),b=S(()=>p,c),C=new Set,w=new Map;function T(e){return function(t){if(s&&!s())return;let n=e.advance(t);n&&(n.when&&!n.when()||(a&&t.preventDefault(),o&&t.stopPropagation(),n.handler(t)))}}let E=T(y),D=T(b),O=new AbortController,k=!1;return{bind(e,t){let n=g(e,t);return()=>{_(n)}},get disposalSignal(){return O.signal},dispose(){if(!k){k=!0,O.abort();for(let e of C)e();C.clear(),y.reset(),b.reset()}},get disposed(){return k},listBindings(){return[...d.values()].map(e=>({priority:e.priority,shortcut:e.shortcut.map(e=>({key:e.key,modifiers:new Set(e.modifiers)})),trigger:e.trigger}))},mount(e){let t=w.get(e)??0;t>0&&h(`mount() called for a target that is already mounted — this registers a duplicate listener`),w.set(e,t+1),e.addEventListener(`keydown`,E),e.addEventListener(`keyup`,D);let n=()=>{e.removeEventListener(`keydown`,E),e.removeEventListener(`keyup`,D),C.delete(n);let t=(w.get(e)??1)-1;t<=0?w.delete(e):w.set(e,t)};return C.add(n),n},[Symbol.dispose](){this.dispose()},unbind(e){v(e)||h(`unbind() called for unknown shortcut: \"${e}\"`)}}}function w(e,t={},n={}){let r=!0,i=C(t,{...n,when:()=>r&&(n.when?.()??!0)});return{activate(){r=!0},get active(){return r},bind(e,t){return i.bind(e,t)},deactivate(){r=!1},get disposalSignal(){return i.disposalSignal},dispose(){i.dispose()},get disposed(){return i.disposed},listBindings(){return i.listBindings()},mount(e){return i.mount(e)},get parent(){return e},[Symbol.dispose](){this.dispose()},unbind(e){i.unbind(e)}}}export{e as KeymapError,t as KeymapParseError,u as canonicalizeShortcut,C as createKeymap,w as createKeymapLayer,n as detectModKey,p as findShortcutConflicts,b as formatShortcut,d as matchStep,l as parseShortcut,c as parseStep};\n//# sourceMappingURL=keymap.js.map"],"mappings":"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"}
@@ -1,221 +0,0 @@
1
- //#region ../keymap/dist/keymap.js
2
- var e = class e extends Error {
3
- constructor(e, t) {
4
- super(e, t), this.name = new.target.name, Object.setPrototypeOf(this, new.target.prototype);
5
- }
6
- static is(t) {
7
- return t instanceof e;
8
- }
9
- }, t = class extends e {
10
- constructor(e) {
11
- super(e);
12
- }
13
- };
14
- function n() {
15
- if (typeof navigator > "u") return "ctrl";
16
- let e = navigator.userAgentData?.platform ?? navigator.platform ?? "";
17
- return /mac/i.test(e) ? "meta" : "ctrl";
18
- }
19
- var r = {
20
- alt: "alt",
21
- cmd: "meta",
22
- command: "meta",
23
- control: "ctrl",
24
- ctrl: "ctrl",
25
- meta: "meta",
26
- opt: "alt",
27
- option: "alt",
28
- shift: "shift",
29
- win: "meta"
30
- }, i = {
31
- del: "delete",
32
- down: "arrowdown",
33
- esc: "escape",
34
- left: "arrowleft",
35
- right: "arrowright",
36
- space: " ",
37
- spacebar: " ",
38
- up: "arrowup"
39
- };
40
- function a(e) {
41
- return {
42
- ...r,
43
- mod: e
44
- };
45
- }
46
- function o(e, t) {
47
- let n = e.toLowerCase();
48
- return Object.hasOwn(t, n) ? t[n] : null;
49
- }
50
- function s(e) {
51
- return Object.hasOwn(i, e) ? i[e] : e;
52
- }
53
- function c(e, r = n()) {
54
- let i = e.trim().split("+").filter(Boolean).map((e) => e.toLowerCase());
55
- if (i.length === 0) return null;
56
- let c = a(r), l = /* @__PURE__ */ new Set(), u = [];
57
- for (let e of i) {
58
- let t = o(e, c);
59
- t ? l.add(t) : u.push(e);
60
- }
61
- if (u.length === 0) return null;
62
- if (u.length > 1) throw new t(`Ambiguous shortcut step: "${e}" — multiple non-modifier keys found`);
63
- return {
64
- key: s(u[0]),
65
- modifiers: l
66
- };
67
- }
68
- function l(e, r = n()) {
69
- return e.trim().split(/\s+/).filter(Boolean).map((n) => {
70
- let i = c(n, r);
71
- if (i === null) throw new t(`Invalid shortcut step: "${n}" in "${e}"`);
72
- return i;
73
- });
74
- }
75
- function u(e) {
76
- return e.map((e) => {
77
- let t = [...e.modifiers].sort().join("+");
78
- return t ? `${t}+${e.key}` : e.key;
79
- }).join(" ");
80
- }
81
- function d(e, t) {
82
- if (typeof e.key != "string" || e.key.toLowerCase() !== t.key) return !1;
83
- let { modifiers: n } = t;
84
- return !(e.altKey !== n.has("alt") || e.ctrlKey !== n.has("ctrl") || e.metaKey !== n.has("meta") || e.shiftKey !== n.has("shift"));
85
- }
86
- var f = !globalThis.__KEYMAP_PROD__;
87
- function p(e) {
88
- f && console.warn(`[@vielzeug/keymap] ${e}`);
89
- }
90
- function m(e) {
91
- if (typeof e == "function") return {
92
- handler: e,
93
- priority: 0,
94
- trigger: "keydown"
95
- };
96
- let t = e.priority ?? 0;
97
- return Number.isFinite(t) || p(`binding priority must be a finite number; received ${t}. Using 0.`), {
98
- handler: e.handler,
99
- priority: Number.isFinite(t) ? t : 0,
100
- trigger: e.trigger ?? "keydown",
101
- when: e.when
102
- };
103
- }
104
- function h(e, t) {
105
- let n = 0, r = [], i = null;
106
- function a() {
107
- i !== null && (clearTimeout(i), i = null);
108
- }
109
- function o() {
110
- a(), n = 0, r = [];
111
- }
112
- function s(c) {
113
- let l = n === 0 ? e() : r, u = [];
114
- for (let e of l) {
115
- let t = e.shortcut[n];
116
- t && d(c, t) && u.push(e);
117
- }
118
- if (u.length === 0) {
119
- let e = n !== 0;
120
- return o(), e ? s(c) : null;
121
- }
122
- a();
123
- let f = u.find((e) => e.shortcut.length === n + 1);
124
- return f ? (o(), f) : (r = u, n++, i = setTimeout(o, t), null);
125
- }
126
- return {
127
- advance: s,
128
- reset: o
129
- };
130
- }
131
- function g(e = {}, t = {}) {
132
- let { chordTimeout: r = 1e3, modKey: i = n(), preventDefault: a = !0, stopPropagation: o = !1, when: s } = t, c = Number.isFinite(r) && r > 0 ? r : 1e3;
133
- c !== r && p(`chordTimeout must be a positive finite number; received ${r}. Using default of 1000ms.`);
134
- let d = /* @__PURE__ */ new Map(), f = [], g = [];
135
- function _() {
136
- f = [], g = [];
137
- for (let e of d.values()) e.trigger === "keydown" ? f.push(e) : g.push(e);
138
- }
139
- function v(e, t) {
140
- let n = l(e, i), r = u(n);
141
- return d.set(r, {
142
- shortcut: n,
143
- ...m(t)
144
- }), _(), r;
145
- }
146
- function y(e) {
147
- let t = d.delete(e);
148
- return t && _(), t;
149
- }
150
- function b(e) {
151
- return y(u(l(e, i)));
152
- }
153
- for (let [t, n] of Object.entries(e)) {
154
- let e = l(t, i), r = u(e);
155
- d.set(r, {
156
- shortcut: e,
157
- ...m(n)
158
- });
159
- }
160
- _();
161
- let x = h(() => f, c), S = h(() => g, c), C = /* @__PURE__ */ new Set(), w = /* @__PURE__ */ new Map();
162
- function T(e) {
163
- return function(t) {
164
- if (s && !s()) return;
165
- let n = e.advance(t);
166
- n && (n.when && !n.when() || (a && t.preventDefault(), o && t.stopPropagation(), n.handler(t)));
167
- };
168
- }
169
- let E = T(x), D = T(S), O = new AbortController(), k = !1;
170
- return {
171
- bind(e, t) {
172
- let n = v(e, t);
173
- return () => {
174
- y(n);
175
- };
176
- },
177
- get disposalSignal() {
178
- return O.signal;
179
- },
180
- dispose() {
181
- if (!k) {
182
- k = !0, O.abort();
183
- for (let e of C) e();
184
- C.clear(), x.reset(), S.reset();
185
- }
186
- },
187
- get disposed() {
188
- return k;
189
- },
190
- listBindings() {
191
- return [...d.values()].map((e) => ({
192
- priority: e.priority,
193
- shortcut: e.shortcut.map((e) => ({
194
- key: e.key,
195
- modifiers: new Set(e.modifiers)
196
- })),
197
- trigger: e.trigger
198
- }));
199
- },
200
- mount(e) {
201
- let t = w.get(e) ?? 0;
202
- t > 0 && p("mount() called for a target that is already mounted — this registers a duplicate listener"), w.set(e, t + 1), e.addEventListener("keydown", E), e.addEventListener("keyup", D);
203
- let n = () => {
204
- e.removeEventListener("keydown", E), e.removeEventListener("keyup", D), C.delete(n);
205
- let t = (w.get(e) ?? 1) - 1;
206
- t <= 0 ? w.delete(e) : w.set(e, t);
207
- };
208
- return C.add(n), n;
209
- },
210
- [Symbol.dispose]() {
211
- this.dispose();
212
- },
213
- unbind(e) {
214
- b(e) || p(`unbind() called for unknown shortcut: "${e}"`);
215
- }
216
- };
217
- }
218
- //#endregion
219
- export { e as KeymapError, t as KeymapParseError, u as canonicalizeShortcut, g as createKeymap, n as detectModKey, d as matchStep, l as parseShortcut, c as parseStep };
220
-
221
- //# sourceMappingURL=keymap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keymap.js","names":[],"sources":["../../../../keymap/dist/keymap.js"],"sourcesContent":["var e=class e extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}static is(t){return t instanceof e}},t=class extends e{constructor(e){super(e)}};function n(){if(typeof navigator>`u`)return`ctrl`;let e=navigator.userAgentData?.platform??navigator.platform??``;return/mac/i.test(e)?`meta`:`ctrl`}var r={alt:`alt`,cmd:`meta`,command:`meta`,control:`ctrl`,ctrl:`ctrl`,meta:`meta`,opt:`alt`,option:`alt`,shift:`shift`,win:`meta`},i={del:`delete`,down:`arrowdown`,esc:`escape`,left:`arrowleft`,right:`arrowright`,space:` `,spacebar:` `,up:`arrowup`};function a(e){return{...r,mod:e}}function o(e,t){let n=e.toLowerCase();return Object.hasOwn(t,n)?t[n]:null}function s(e){return Object.hasOwn(i,e)?i[e]:e}function c(e,r=n()){let i=e.trim().split(`+`).filter(Boolean).map(e=>e.toLowerCase());if(i.length===0)return null;let c=a(r),l=new Set,u=[];for(let e of i){let t=o(e,c);t?l.add(t):u.push(e)}if(u.length===0)return null;if(u.length>1)throw new t(`Ambiguous shortcut step: \"${e}\" — multiple non-modifier keys found`);return{key:s(u[0]),modifiers:l}}function l(e,r=n()){return e.trim().split(/\\s+/).filter(Boolean).map(n=>{let i=c(n,r);if(i===null)throw new t(`Invalid shortcut step: \"${n}\" in \"${e}\"`);return i})}function u(e){return e.map(e=>{let t=[...e.modifiers].sort().join(`+`);return t?`${t}+${e.key}`:e.key}).join(` `)}function d(e,t){if(typeof e.key!=`string`||e.key.toLowerCase()!==t.key)return!1;let{modifiers:n}=t;return!(e.altKey!==n.has(`alt`)||e.ctrlKey!==n.has(`ctrl`)||e.metaKey!==n.has(`meta`)||e.shiftKey!==n.has(`shift`))}function f(e,t){return e.length>t.length?!1:u(e)===u(t.slice(0,e.length))}function p(e,t,n={}){let{modKey:r,trigger:i=`keydown`}=n,a=l(e,r);return a.length===0?[]:t.filter(e=>e.trigger===i&&(f(a,e.shortcut)||f(e.shortcut,a)))}var m=!globalThis.__KEYMAP_PROD__;function h(e){m&&console.warn(`[@vielzeug/keymap] ${e}`)}var g={\" \":`Space`,arrowdown:`↓`,arrowleft:`←`,arrowright:`→`,arrowup:`↑`,backspace:`⌫`,delete:`⌦`,end:`End`,enter:`↵`,escape:`Esc`,home:`Home`,pagedown:`PgDn`,pageup:`PgUp`,tab:`⇥`},_={alt:`⌥`,ctrl:`⌃`,meta:`⌘`,shift:`⇧`},v={alt:`Alt`,ctrl:`Ctrl`,meta:`Win`,shift:`Shift`},y=[`ctrl`,`alt`,`shift`,`meta`];function b(e,t=n()){if(!e.trim())return h(`formatShortcut() received an empty shortcut string`),``;let r;try{r=l(e,t)}catch{return h(`formatShortcut() received an invalid shortcut: \"${e}\"`),``}let i=t===`meta`;return r.map(e=>{let t=y.filter(t=>e.modifiers.has(t)).map(e=>i?_[e]:v[e]),n=g[e.key]??e.key.toUpperCase();return i?`${t.join(``)}${n}`:[...t,n].join(`+`)}).join(` `)}function x(e){if(typeof e==`function`)return{handler:e,priority:0,trigger:`keydown`};let t=e.priority??0;return Number.isFinite(t)||h(`binding priority must be a finite number; received ${t}. Using 0.`),{handler:e.handler,priority:Number.isFinite(t)?t:0,trigger:e.trigger??`keydown`,when:e.when}}function S(e,t){let n=0,r=[],i=null;function a(){i!==null&&(clearTimeout(i),i=null)}function o(){a(),n=0,r=[]}function s(c){let l=n===0?e():r,u=[];for(let e of l){let t=e.shortcut[n];t&&d(c,t)&&u.push(e)}if(u.length===0){let e=n!==0;return o(),e?s(c):null}a();let f=u.find(e=>e.shortcut.length===n+1);return f?(o(),f):(r=u,n++,i=setTimeout(o,t),null)}return{advance:s,reset:o}}function C(e={},t={}){let{chordTimeout:r=1e3,modKey:i=n(),preventDefault:a=!0,stopPropagation:o=!1,when:s}=t,c=Number.isFinite(r)&&r>0?r:1e3;c!==r&&h(`chordTimeout must be a positive finite number; received ${r}. Using default of 1000ms.`);let d=new Map,f=[],p=[];function m(){f=[],p=[];for(let e of d.values())e.trigger===`keydown`?f.push(e):p.push(e)}function g(e,t){let n=l(e,i),r=u(n);return d.set(r,{shortcut:n,...x(t)}),m(),r}function _(e){let t=d.delete(e);return t&&m(),t}function v(e){return _(u(l(e,i)))}for(let[t,n]of Object.entries(e)){let e=l(t,i),r=u(e);d.set(r,{shortcut:e,...x(n)})}m();let y=S(()=>f,c),b=S(()=>p,c),C=new Set,w=new Map;function T(e){return function(t){if(s&&!s())return;let n=e.advance(t);n&&(n.when&&!n.when()||(a&&t.preventDefault(),o&&t.stopPropagation(),n.handler(t)))}}let E=T(y),D=T(b),O=new AbortController,k=!1;return{bind(e,t){let n=g(e,t);return()=>{_(n)}},get disposalSignal(){return O.signal},dispose(){if(!k){k=!0,O.abort();for(let e of C)e();C.clear(),y.reset(),b.reset()}},get disposed(){return k},listBindings(){return[...d.values()].map(e=>({priority:e.priority,shortcut:e.shortcut.map(e=>({key:e.key,modifiers:new Set(e.modifiers)})),trigger:e.trigger}))},mount(e){let t=w.get(e)??0;t>0&&h(`mount() called for a target that is already mounted — this registers a duplicate listener`),w.set(e,t+1),e.addEventListener(`keydown`,E),e.addEventListener(`keyup`,D);let n=()=>{e.removeEventListener(`keydown`,E),e.removeEventListener(`keyup`,D),C.delete(n);let t=(w.get(e)??1)-1;t<=0?w.delete(e):w.set(e,t)};return C.add(n),n},[Symbol.dispose](){this.dispose()},unbind(e){v(e)||h(`unbind() called for unknown shortcut: \"${e}\"`)}}}function w(e,t={},n={}){let r=!0,i=C(t,{...n,when:()=>r&&(n.when?.()??!0)});return{activate(){r=!0},get active(){return r},bind(e,t){return i.bind(e,t)},deactivate(){r=!1},get disposalSignal(){return i.disposalSignal},dispose(){i.dispose()},get disposed(){return i.disposed},listBindings(){return i.listBindings()},mount(e){return i.mount(e)},get parent(){return e},[Symbol.dispose](){this.dispose()},unbind(e){i.unbind(e)}}}export{e as KeymapError,t as KeymapParseError,u as canonicalizeShortcut,C as createKeymap,w as createKeymapLayer,n as detectModKey,p as findShortcutConflicts,b as formatShortcut,d as matchStep,l as parseShortcut,c as parseStep};\n//# sourceMappingURL=keymap.js.map"],"mappings":"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"}
@@ -1 +0,0 @@
1
- require("./keymap.cjs");
@@ -1 +0,0 @@
1
- import "./keymap.js";