@esportsplus/ui 0.25.8 → 0.26.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 (36) hide show
  1. package/build/components/checkbox/index.d.ts +125 -5
  2. package/build/components/checkbox/index.js +12 -12
  3. package/build/components/input/index.d.ts +21 -15
  4. package/build/components/input/index.js +6 -16
  5. package/build/components/input/scss/index.scss +1 -1
  6. package/build/components/radio/index.d.ts +116 -6
  7. package/build/components/radio/index.js +2 -32
  8. package/build/components/range/index.d.ts +22 -15
  9. package/build/components/range/index.js +10 -20
  10. package/build/components/range/scss/index.scss +1 -1
  11. package/build/components/root/scss/index.scss +1 -1
  12. package/build/components/select/index.d.ts +24 -8
  13. package/build/components/select/index.js +34 -38
  14. package/build/components/select/scss/index.scss +1 -1
  15. package/build/components/switch/index.d.ts +116 -6
  16. package/build/components/switch/index.js +2 -32
  17. package/build/components/textarea/index.d.ts +21 -15
  18. package/build/components/textarea/index.js +9 -15
  19. package/build/components/textarea/scss/index.scss +1 -1
  20. package/build/css-utilities/[margin,padding]/scss/index.scss +1 -1
  21. package/package.json +1 -1
  22. package/src/components/checkbox/index.ts +17 -18
  23. package/src/components/input/index.ts +10 -26
  24. package/src/components/input/scss/index.scss +13 -10
  25. package/src/components/input/scss/variables.scss +1 -1
  26. package/src/components/radio/index.ts +2 -42
  27. package/src/components/range/index.ts +16 -32
  28. package/src/components/range/scss/index.scss +26 -27
  29. package/src/components/root/scss/variables.scss +1 -1
  30. package/src/components/select/index.ts +46 -46
  31. package/src/components/select/scss/index.scss +22 -13
  32. package/src/components/select/scss/variables.scss +39 -1
  33. package/src/components/switch/index.ts +2 -42
  34. package/src/components/textarea/index.ts +11 -21
  35. package/src/components/textarea/scss/index.scss +11 -8
  36. package/src/tokens/scss/spacer.scss +2 -0
@@ -1,11 +1,131 @@
1
1
  import { type Attributes } from '@esportsplus/template';
2
2
  import './scss/index.scss';
3
- type A = Attributes & {
4
- 'checkbox-tag'?: Attributes;
3
+ declare const template: (this: {
4
+ type: string;
5
+ }, attributes?: Attributes & {
5
6
  state?: {
6
7
  active: boolean;
7
8
  error: string;
8
9
  };
9
- };
10
- export default function (attributes?: A): Node;
11
- export {};
10
+ }) => Node;
11
+ declare const _default: (attributes?: ({
12
+ [key: `aria-${string}`]: string | number | boolean | undefined;
13
+ [key: `data-${string}`]: string | undefined;
14
+ class?: import("@esportsplus/template/build/types").Attribute | import("@esportsplus/template/build/types").Attribute[];
15
+ onconnect?: ((element: import("@esportsplus/template").Element) => void) | undefined;
16
+ ondisconnect?: ((element: import("@esportsplus/template").Element) => void) | undefined;
17
+ onrender?: ((element: import("@esportsplus/template").Element) => void) | undefined;
18
+ ontick?: ((dispose: VoidFunction, element: import("@esportsplus/template").Element) => void) | undefined;
19
+ style?: import("@esportsplus/template/build/types").Attribute | import("@esportsplus/template/build/types").Attribute[];
20
+ } & {
21
+ onabort?: ((this: import("@esportsplus/template").Element, event: UIEvent) => void) | undefined;
22
+ onanimationcancel?: ((this: import("@esportsplus/template").Element, event: AnimationEvent) => void) | undefined;
23
+ onanimationend?: ((this: import("@esportsplus/template").Element, event: AnimationEvent) => void) | undefined;
24
+ onanimationiteration?: ((this: import("@esportsplus/template").Element, event: AnimationEvent) => void) | undefined;
25
+ onanimationstart?: ((this: import("@esportsplus/template").Element, event: AnimationEvent) => void) | undefined;
26
+ onauxclick?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
27
+ onbeforeinput?: ((this: import("@esportsplus/template").Element, event: InputEvent) => void) | undefined;
28
+ onbeforetoggle?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
29
+ onblur?: ((this: import("@esportsplus/template").Element, event: FocusEvent) => void) | undefined;
30
+ oncancel?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
31
+ oncanplay?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
32
+ oncanplaythrough?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
33
+ onchange?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
34
+ onclick?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
35
+ onclose?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
36
+ oncompositionend?: ((this: import("@esportsplus/template").Element, event: CompositionEvent) => void) | undefined;
37
+ oncompositionstart?: ((this: import("@esportsplus/template").Element, event: CompositionEvent) => void) | undefined;
38
+ oncompositionupdate?: ((this: import("@esportsplus/template").Element, event: CompositionEvent) => void) | undefined;
39
+ oncontextlost?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
40
+ oncontextmenu?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
41
+ oncontextrestored?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
42
+ oncopy?: ((this: import("@esportsplus/template").Element, event: ClipboardEvent) => void) | undefined;
43
+ oncuechange?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
44
+ oncut?: ((this: import("@esportsplus/template").Element, event: ClipboardEvent) => void) | undefined;
45
+ ondblclick?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
46
+ ondrag?: ((this: import("@esportsplus/template").Element, event: DragEvent) => void) | undefined;
47
+ ondragend?: ((this: import("@esportsplus/template").Element, event: DragEvent) => void) | undefined;
48
+ ondragenter?: ((this: import("@esportsplus/template").Element, event: DragEvent) => void) | undefined;
49
+ ondragleave?: ((this: import("@esportsplus/template").Element, event: DragEvent) => void) | undefined;
50
+ ondragover?: ((this: import("@esportsplus/template").Element, event: DragEvent) => void) | undefined;
51
+ ondragstart?: ((this: import("@esportsplus/template").Element, event: DragEvent) => void) | undefined;
52
+ ondrop?: ((this: import("@esportsplus/template").Element, event: DragEvent) => void) | undefined;
53
+ ondurationchange?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
54
+ onemptied?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
55
+ onended?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
56
+ onerror?: ((this: import("@esportsplus/template").Element, event: ErrorEvent) => void) | undefined;
57
+ onfocus?: ((this: import("@esportsplus/template").Element, event: FocusEvent) => void) | undefined;
58
+ onfocusin?: ((this: import("@esportsplus/template").Element, event: FocusEvent) => void) | undefined;
59
+ onfocusout?: ((this: import("@esportsplus/template").Element, event: FocusEvent) => void) | undefined;
60
+ onformdata?: ((this: import("@esportsplus/template").Element, event: FormDataEvent) => void) | undefined;
61
+ ongotpointercapture?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
62
+ oninput?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
63
+ oninvalid?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
64
+ onkeydown?: ((this: import("@esportsplus/template").Element, event: KeyboardEvent) => void) | undefined;
65
+ onkeypress?: ((this: import("@esportsplus/template").Element, event: KeyboardEvent) => void) | undefined;
66
+ onkeyup?: ((this: import("@esportsplus/template").Element, event: KeyboardEvent) => void) | undefined;
67
+ onload?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
68
+ onloadeddata?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
69
+ onloadedmetadata?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
70
+ onloadstart?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
71
+ onlostpointercapture?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
72
+ onmousedown?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
73
+ onmouseenter?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
74
+ onmouseleave?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
75
+ onmousemove?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
76
+ onmouseout?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
77
+ onmouseover?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
78
+ onmouseup?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
79
+ onpaste?: ((this: import("@esportsplus/template").Element, event: ClipboardEvent) => void) | undefined;
80
+ onpause?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
81
+ onplay?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
82
+ onplaying?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
83
+ onpointercancel?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
84
+ onpointerdown?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
85
+ onpointerenter?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
86
+ onpointerleave?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
87
+ onpointermove?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
88
+ onpointerout?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
89
+ onpointerover?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
90
+ onpointerup?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
91
+ onprogress?: ((this: import("@esportsplus/template").Element, event: ProgressEvent<EventTarget>) => void) | undefined;
92
+ onratechange?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
93
+ onreset?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
94
+ onresize?: ((this: import("@esportsplus/template").Element, event: UIEvent) => void) | undefined;
95
+ onscroll?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
96
+ onscrollend?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
97
+ onsecuritypolicyviolation?: ((this: import("@esportsplus/template").Element, event: SecurityPolicyViolationEvent) => void) | undefined;
98
+ onseeked?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
99
+ onseeking?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
100
+ onselect?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
101
+ onselectionchange?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
102
+ onselectstart?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
103
+ onslotchange?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
104
+ onstalled?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
105
+ onsubmit?: ((this: import("@esportsplus/template").Element, event: SubmitEvent) => void) | undefined;
106
+ onsuspend?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
107
+ ontimeupdate?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
108
+ ontoggle?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
109
+ ontouchcancel?: ((this: import("@esportsplus/template").Element, event: TouchEvent) => void) | undefined;
110
+ ontouchend?: ((this: import("@esportsplus/template").Element, event: TouchEvent) => void) | undefined;
111
+ ontouchmove?: ((this: import("@esportsplus/template").Element, event: TouchEvent) => void) | undefined;
112
+ ontouchstart?: ((this: import("@esportsplus/template").Element, event: TouchEvent) => void) | undefined;
113
+ ontransitioncancel?: ((this: import("@esportsplus/template").Element, event: TransitionEvent) => void) | undefined;
114
+ ontransitionend?: ((this: import("@esportsplus/template").Element, event: TransitionEvent) => void) | undefined;
115
+ ontransitionrun?: ((this: import("@esportsplus/template").Element, event: TransitionEvent) => void) | undefined;
116
+ ontransitionstart?: ((this: import("@esportsplus/template").Element, event: TransitionEvent) => void) | undefined;
117
+ onvolumechange?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
118
+ onwaiting?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
119
+ onwebkitanimationend?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
120
+ onwebkitanimationiteration?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
121
+ onwebkitanimationstart?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
122
+ onwebkittransitionend?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
123
+ onwheel?: ((this: import("@esportsplus/template").Element, event: WheelEvent) => void) | undefined;
124
+ } & Record<PropertyKey, unknown> & {
125
+ state?: {
126
+ active: boolean;
127
+ error: string;
128
+ };
129
+ }) | undefined) => Node;
130
+ export default _default;
131
+ export { template };
@@ -3,31 +3,31 @@ import { html } from '@esportsplus/template';
3
3
  import { omit } from '@esportsplus/utilities';
4
4
  import form from '../../components/form/index.js';
5
5
  import './scss/index.scss';
6
- const OMIT = ['checkbox-tag'];
7
- export default function (attributes) {
8
- let a = attributes?.['checkbox-tag'], state = attributes?.state || reactive({
6
+ const OMIT = ['checked', 'value'];
7
+ const template = function (attributes) {
8
+ let state = attributes?.state || reactive({
9
9
  active: false,
10
10
  error: ''
11
11
  });
12
- if (a?.checked) {
12
+ if (attributes?.checked) {
13
13
  state.active = true;
14
14
  }
15
15
  return html `
16
- <div class='checkbox ${() => state.active && '--active'}' ${a ? omit(attributes, OMIT) : attributes}>
16
+ <div class='${this.type} ${() => state.active && '--active'}' ${attributes && omit(attributes, OMIT)}>
17
17
  <input
18
- class='checkbox-tag'
19
- type='checkbox'
20
18
  ${{
21
- checked: a?.checked || root(() => state.active),
19
+ checked: attributes?.checked || root(() => state.active),
20
+ class: `${this.type}-tag`,
22
21
  onchange: (e) => {
23
22
  state.active = e.target.checked;
24
23
  },
25
24
  onrender: form.input.onrender(state),
26
- value: a?.value || 1
25
+ type: this.type === 'radio' ? 'radio' : 'checkbox',
26
+ value: attributes?.value || 1
27
27
  }}
28
- ${a}
29
28
  >
30
29
  </div>
31
30
  `;
32
- }
33
- ;
31
+ };
32
+ export default template.bind({ type: 'checkbox' });
33
+ export { template };
@@ -1,21 +1,27 @@
1
1
  import { type Attributes } from '@esportsplus/template';
2
2
  import './scss/index.scss';
3
+ type A = Attributes & {
4
+ state?: {
5
+ active: boolean;
6
+ error: string;
7
+ };
8
+ };
3
9
  declare const _default: {
4
10
  (): ReturnType<(this: {
5
- attributes?: Attributes | undefined;
6
- content?: import("@esportsplus/template").Renderable<any>;
7
- }, attributes: Readonly<Attributes>, content: import("@esportsplus/template").Renderable<any>) => import("@esportsplus/template").Renderable<any>>;
8
- <T extends Attributes>(attributes: T): ReturnType<(this: {
9
- attributes?: Attributes | undefined;
10
- content?: import("@esportsplus/template").Renderable<any>;
11
- }, attributes: Readonly<Attributes>, content: import("@esportsplus/template").Renderable<any>) => import("@esportsplus/template").Renderable<any>>;
12
- <T extends import("@esportsplus/template").Renderable<any>>(content: T): ReturnType<(this: {
13
- attributes?: Attributes | undefined;
14
- content?: import("@esportsplus/template").Renderable<any>;
15
- }, attributes: Readonly<Attributes>, content: import("@esportsplus/template").Renderable<any>) => import("@esportsplus/template").Renderable<any>>;
16
- (attributes: Attributes, content: import("@esportsplus/template").Renderable<any>): ReturnType<(this: {
17
- attributes?: Attributes | undefined;
18
- content?: import("@esportsplus/template").Renderable<any>;
19
- }, attributes: Readonly<Attributes>, content: import("@esportsplus/template").Renderable<any>) => import("@esportsplus/template").Renderable<any>>;
11
+ attributes?: A | undefined;
12
+ content?: undefined;
13
+ }, attributes: Readonly<A>, content: never) => import("@esportsplus/template").Renderable<any>>;
14
+ <T extends A>(attributes: T): ReturnType<(this: {
15
+ attributes?: A | undefined;
16
+ content?: undefined;
17
+ }, attributes: Readonly<A>, content: never) => import("@esportsplus/template").Renderable<any>>;
18
+ <T extends never>(content: T): ReturnType<(this: {
19
+ attributes?: A | undefined;
20
+ content?: undefined;
21
+ }, attributes: Readonly<A>, content: never) => import("@esportsplus/template").Renderable<any>>;
22
+ (attributes: A, content: never): ReturnType<(this: {
23
+ attributes?: A | undefined;
24
+ content?: undefined;
25
+ }, attributes: Readonly<A>, content: never) => import("@esportsplus/template").Renderable<any>>;
20
26
  };
21
27
  export default _default;
@@ -1,17 +1,15 @@
1
1
  import { reactive } from '@esportsplus/reactivity';
2
2
  import { html } from '@esportsplus/template';
3
- import { omit } from '@esportsplus/utilities';
4
3
  import form from '../../components/form/index.js';
5
4
  import template from '../../components/template/index.js';
6
5
  import './scss/index.scss';
7
- const OMIT = ['input-tag'];
8
- export default template.factory(function (attributes, content) {
9
- let a = attributes['input-tag'], state = attributes.state || reactive({
6
+ export default template.factory(function (attributes) {
7
+ let state = attributes.state || reactive({
10
8
  active: false,
11
9
  error: ''
12
10
  });
13
11
  return html `
14
- <label
12
+ <input
15
13
  class='input'
16
14
  ${{
17
15
  class: () => state.active && '--active',
@@ -20,19 +18,11 @@ export default template.factory(function (attributes, content) {
20
18
  },
21
19
  onfocusout: () => {
22
20
  state.active = false;
23
- }
24
- }}
25
- ${a ? omit(attributes, OMIT) : attributes}
26
- >
27
- <input
28
- class='input-tag'
29
- ${{
21
+ },
30
22
  onrender: form.input.onrender(state),
31
23
  type: (attributes.type || 'text')
32
24
  }}
33
- ${a}
34
- >
35
- ${content}
36
- </label>
25
+ ${attributes}
26
+ />
37
27
  `;
38
28
  });
@@ -1,2 +1,2 @@
1
- @layer components {.input{--background:var(--background-default);--background-active:var(--background-default);--background-default:transparent;--background-hover:var(--background-default);--background-pressed:var(--background-default);--border-color:var(--border-color-default);--border-color-default:var(--background);--border-radius:var(--border-radius-400);--border-style:solid;--border-width:0px;--box-shadow:var(--box-shadow-default);--box-shadow-default:none;--color:var(--color-default);--color-active:var(--color-default);--color-default:var(--color-text-400);--color-hover:var(--color-default);--color-pressed:var(--color-default);--font-size:var(--font-size-400);--line-height:var(--line-height-400);--padding-horizontal:var(--size-400);--padding-vertical:var(--size-400);--size:var(--size-400)}.input:not(.--active):not(.--active):hover{--background:var(--background-hover);--border-color:var(--border-color-hover);--box-shadow:var(--box-shadow-hover);--color:var(--color-hover)}.input:not(.--active):not(.--active):active{--background:var(--background-pressed);--border-color:var(--border-color-pressed);--box-shadow:var(--box-shadow-pressed);--color:var(--color-pressed)}.input.--active{--background:var(--background-active);--border-color:var(--border-color-active);--box-shadow:var(--box-shadow-active);--color:var(--color-active)}.input{background:var(--background);border:var(--border-width)var(--border-style)var(--border-color);border-radius:var(--border-radius);cursor:text;font-size:var(--font-size);line-height:var(--line-height);min-height:calc(var(--padding-vertical)*2 + var(--size));text-overflow:ellipsis;white-space:nowrap;flex-wrap:wrap;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.input:invalid,.input:required{box-shadow:none}.input-tag{color:var(--color);padding:var(--padding-vertical)var(--padding-horizontal);flex:auto;min-width:0}.input-tag[type=number]{appearance:textfield}}
1
+ @layer components {.input{--background:var(--background-default);--background-active:var(--background-default);--background-default:transparent;--background-hover:var(--background-default);--background-pressed:var(--background-default);--border-color:var(--border-color-default);--border-color-default:var(--background);--border-radius:var(--border-radius-400);--border-style:solid;--border-width:0px;--box-shadow:var(--box-shadow-default);--box-shadow-default:none;--color:var(--color-default);--color-active:var(--color-default);--color-default:var(--color-text-400);--color-hover:var(--color-default);--color-pressed:var(--color-default);--font-size:var(--font-size-400);--line-height:var(--line-height-400);--padding-horizontal:var(--size-400);--padding-vertical:var(--size-400);--size:var(--size-400)}.input:not(.--active):not(.--active):hover{--background:var(--background-hover);--border-color:var(--border-color-hover);--box-shadow:var(--box-shadow-hover);--color:var(--color-hover)}.input:not(.--active):not(.--active):active{--background:var(--background-pressed);--border-color:var(--border-color-pressed);--box-shadow:var(--box-shadow-pressed);--color:var(--color-pressed)}.input.--active{--background:var(--background-active);--border-color:var(--border-color-active);--box-shadow:var(--box-shadow-active);--color:var(--color-active)}.input{background:var(--background);border:var(--border-width)var(--border-style)var(--border-color);border-radius:var(--border-radius);color:var(--color);cursor:text;font-size:var(--font-size);line-height:var(--line-height);min-height:calc(var(--padding-vertical)*2 + var(--size));min-width:0;padding:var(--padding-vertical)var(--padding-horizontal);text-overflow:ellipsis;transition:background var(--transition-duration)ease-in-out,border-color var(--transition-duration)ease-in-out,box-shadow var(--transition-duration)ease-in-out,opacity var(--transition-duration)ease-in-out,transform var(--transition-duration)ease-in-out;white-space:nowrap;flex-wrap:wrap;flex:auto;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.input:invalid,.input:required{box-shadow:none}.input[type=number]{appearance:textfield}}
2
2
  /*$vite$:1*/
@@ -1,11 +1,121 @@
1
- import { type Attributes } from '@esportsplus/template';
2
1
  import './scss/index.scss';
3
- type A = Attributes & {
4
- 'radio-tag'?: Attributes;
2
+ declare const _default: (attributes?: ({
3
+ [key: `aria-${string}`]: string | number | boolean | undefined;
4
+ [key: `data-${string}`]: string | undefined;
5
+ class?: import("@esportsplus/template/build/types").Attribute | import("@esportsplus/template/build/types").Attribute[];
6
+ onconnect?: ((element: import("@esportsplus/template").Element) => void) | undefined;
7
+ ondisconnect?: ((element: import("@esportsplus/template").Element) => void) | undefined;
8
+ onrender?: ((element: import("@esportsplus/template").Element) => void) | undefined;
9
+ ontick?: ((dispose: VoidFunction, element: import("@esportsplus/template").Element) => void) | undefined;
10
+ style?: import("@esportsplus/template/build/types").Attribute | import("@esportsplus/template/build/types").Attribute[];
11
+ } & {
12
+ onabort?: ((this: import("@esportsplus/template").Element, event: UIEvent) => void) | undefined;
13
+ onanimationcancel?: ((this: import("@esportsplus/template").Element, event: AnimationEvent) => void) | undefined;
14
+ onanimationend?: ((this: import("@esportsplus/template").Element, event: AnimationEvent) => void) | undefined;
15
+ onanimationiteration?: ((this: import("@esportsplus/template").Element, event: AnimationEvent) => void) | undefined;
16
+ onanimationstart?: ((this: import("@esportsplus/template").Element, event: AnimationEvent) => void) | undefined;
17
+ onauxclick?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
18
+ onbeforeinput?: ((this: import("@esportsplus/template").Element, event: InputEvent) => void) | undefined;
19
+ onbeforetoggle?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
20
+ onblur?: ((this: import("@esportsplus/template").Element, event: FocusEvent) => void) | undefined;
21
+ oncancel?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
22
+ oncanplay?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
23
+ oncanplaythrough?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
24
+ onchange?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
25
+ onclick?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
26
+ onclose?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
27
+ oncompositionend?: ((this: import("@esportsplus/template").Element, event: CompositionEvent) => void) | undefined;
28
+ oncompositionstart?: ((this: import("@esportsplus/template").Element, event: CompositionEvent) => void) | undefined;
29
+ oncompositionupdate?: ((this: import("@esportsplus/template").Element, event: CompositionEvent) => void) | undefined;
30
+ oncontextlost?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
31
+ oncontextmenu?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
32
+ oncontextrestored?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
33
+ oncopy?: ((this: import("@esportsplus/template").Element, event: ClipboardEvent) => void) | undefined;
34
+ oncuechange?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
35
+ oncut?: ((this: import("@esportsplus/template").Element, event: ClipboardEvent) => void) | undefined;
36
+ ondblclick?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
37
+ ondrag?: ((this: import("@esportsplus/template").Element, event: DragEvent) => void) | undefined;
38
+ ondragend?: ((this: import("@esportsplus/template").Element, event: DragEvent) => void) | undefined;
39
+ ondragenter?: ((this: import("@esportsplus/template").Element, event: DragEvent) => void) | undefined;
40
+ ondragleave?: ((this: import("@esportsplus/template").Element, event: DragEvent) => void) | undefined;
41
+ ondragover?: ((this: import("@esportsplus/template").Element, event: DragEvent) => void) | undefined;
42
+ ondragstart?: ((this: import("@esportsplus/template").Element, event: DragEvent) => void) | undefined;
43
+ ondrop?: ((this: import("@esportsplus/template").Element, event: DragEvent) => void) | undefined;
44
+ ondurationchange?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
45
+ onemptied?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
46
+ onended?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
47
+ onerror?: ((this: import("@esportsplus/template").Element, event: ErrorEvent) => void) | undefined;
48
+ onfocus?: ((this: import("@esportsplus/template").Element, event: FocusEvent) => void) | undefined;
49
+ onfocusin?: ((this: import("@esportsplus/template").Element, event: FocusEvent) => void) | undefined;
50
+ onfocusout?: ((this: import("@esportsplus/template").Element, event: FocusEvent) => void) | undefined;
51
+ onformdata?: ((this: import("@esportsplus/template").Element, event: FormDataEvent) => void) | undefined;
52
+ ongotpointercapture?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
53
+ oninput?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
54
+ oninvalid?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
55
+ onkeydown?: ((this: import("@esportsplus/template").Element, event: KeyboardEvent) => void) | undefined;
56
+ onkeypress?: ((this: import("@esportsplus/template").Element, event: KeyboardEvent) => void) | undefined;
57
+ onkeyup?: ((this: import("@esportsplus/template").Element, event: KeyboardEvent) => void) | undefined;
58
+ onload?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
59
+ onloadeddata?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
60
+ onloadedmetadata?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
61
+ onloadstart?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
62
+ onlostpointercapture?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
63
+ onmousedown?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
64
+ onmouseenter?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
65
+ onmouseleave?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
66
+ onmousemove?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
67
+ onmouseout?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
68
+ onmouseover?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
69
+ onmouseup?: ((this: import("@esportsplus/template").Element, event: MouseEvent) => void) | undefined;
70
+ onpaste?: ((this: import("@esportsplus/template").Element, event: ClipboardEvent) => void) | undefined;
71
+ onpause?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
72
+ onplay?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
73
+ onplaying?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
74
+ onpointercancel?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
75
+ onpointerdown?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
76
+ onpointerenter?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
77
+ onpointerleave?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
78
+ onpointermove?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
79
+ onpointerout?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
80
+ onpointerover?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
81
+ onpointerup?: ((this: import("@esportsplus/template").Element, event: PointerEvent) => void) | undefined;
82
+ onprogress?: ((this: import("@esportsplus/template").Element, event: ProgressEvent<EventTarget>) => void) | undefined;
83
+ onratechange?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
84
+ onreset?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
85
+ onresize?: ((this: import("@esportsplus/template").Element, event: UIEvent) => void) | undefined;
86
+ onscroll?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
87
+ onscrollend?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
88
+ onsecuritypolicyviolation?: ((this: import("@esportsplus/template").Element, event: SecurityPolicyViolationEvent) => void) | undefined;
89
+ onseeked?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
90
+ onseeking?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
91
+ onselect?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
92
+ onselectionchange?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
93
+ onselectstart?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
94
+ onslotchange?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
95
+ onstalled?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
96
+ onsubmit?: ((this: import("@esportsplus/template").Element, event: SubmitEvent) => void) | undefined;
97
+ onsuspend?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
98
+ ontimeupdate?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
99
+ ontoggle?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
100
+ ontouchcancel?: ((this: import("@esportsplus/template").Element, event: TouchEvent) => void) | undefined;
101
+ ontouchend?: ((this: import("@esportsplus/template").Element, event: TouchEvent) => void) | undefined;
102
+ ontouchmove?: ((this: import("@esportsplus/template").Element, event: TouchEvent) => void) | undefined;
103
+ ontouchstart?: ((this: import("@esportsplus/template").Element, event: TouchEvent) => void) | undefined;
104
+ ontransitioncancel?: ((this: import("@esportsplus/template").Element, event: TransitionEvent) => void) | undefined;
105
+ ontransitionend?: ((this: import("@esportsplus/template").Element, event: TransitionEvent) => void) | undefined;
106
+ ontransitionrun?: ((this: import("@esportsplus/template").Element, event: TransitionEvent) => void) | undefined;
107
+ ontransitionstart?: ((this: import("@esportsplus/template").Element, event: TransitionEvent) => void) | undefined;
108
+ onvolumechange?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
109
+ onwaiting?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
110
+ onwebkitanimationend?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
111
+ onwebkitanimationiteration?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
112
+ onwebkitanimationstart?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
113
+ onwebkittransitionend?: ((this: import("@esportsplus/template").Element, event: Event) => void) | undefined;
114
+ onwheel?: ((this: import("@esportsplus/template").Element, event: WheelEvent) => void) | undefined;
115
+ } & Record<PropertyKey, unknown> & {
5
116
  state?: {
6
117
  active: boolean;
7
118
  error: string;
8
119
  };
9
- };
10
- export default function (attributes?: A): Node;
11
- export {};
120
+ }) | undefined) => Node;
121
+ export default _default;
@@ -1,33 +1,3 @@
1
- import { reactive, root } from '@esportsplus/reactivity';
2
- import { html } from '@esportsplus/template';
3
- import { omit } from '@esportsplus/utilities';
4
- import form from '../../components/form/index.js';
1
+ import { template } from '../../components/checkbox/index.js';
5
2
  import './scss/index.scss';
6
- const OMIT = ['radio-tag'];
7
- export default function (attributes) {
8
- let a = attributes?.['radio-tag'], state = attributes?.state || reactive({
9
- active: false,
10
- error: ''
11
- });
12
- if (a?.checked) {
13
- state.active = true;
14
- }
15
- return html `
16
- <div class='radio ${() => state.active && '--active'}' ${a ? omit(attributes, OMIT) : attributes}>
17
- <input
18
- class='radio-tag'
19
- type='radio'
20
- ${{
21
- checked: a?.checked || root(() => state.active),
22
- onchange: (e) => {
23
- state.active = e.target.checked;
24
- },
25
- onrender: form.input.onrender(state),
26
- value: a?.value || 1
27
- }}
28
- ${a}
29
- >
30
- </div>
31
- `;
32
- }
33
- ;
3
+ export default template.bind({ type: 'radio' });
@@ -1,21 +1,28 @@
1
1
  import { type Attributes } from '@esportsplus/template';
2
2
  import './scss/index.scss';
3
+ type A = Attributes & {
4
+ state?: {
5
+ active: boolean;
6
+ error: string;
7
+ value: number;
8
+ };
9
+ };
3
10
  declare const _default: {
4
11
  (): ReturnType<(this: {
5
- attributes?: Attributes | undefined;
6
- content?: import("@esportsplus/template").Renderable<any>;
7
- }, attributes: Readonly<Attributes>, content: import("@esportsplus/template").Renderable<any>) => import("@esportsplus/template").Renderable<any>>;
8
- <T extends Attributes>(attributes: T): ReturnType<(this: {
9
- attributes?: Attributes | undefined;
10
- content?: import("@esportsplus/template").Renderable<any>;
11
- }, attributes: Readonly<Attributes>, content: import("@esportsplus/template").Renderable<any>) => import("@esportsplus/template").Renderable<any>>;
12
- <T extends import("@esportsplus/template").Renderable<any>>(content: T): ReturnType<(this: {
13
- attributes?: Attributes | undefined;
14
- content?: import("@esportsplus/template").Renderable<any>;
15
- }, attributes: Readonly<Attributes>, content: import("@esportsplus/template").Renderable<any>) => import("@esportsplus/template").Renderable<any>>;
16
- (attributes: Attributes, content: import("@esportsplus/template").Renderable<any>): ReturnType<(this: {
17
- attributes?: Attributes | undefined;
18
- content?: import("@esportsplus/template").Renderable<any>;
19
- }, attributes: Readonly<Attributes>, content: import("@esportsplus/template").Renderable<any>) => import("@esportsplus/template").Renderable<any>>;
12
+ attributes?: A | undefined;
13
+ content?: undefined;
14
+ }, attributes: Readonly<A>, content: never) => import("@esportsplus/template").Renderable<any>>;
15
+ <T extends A>(attributes: T): ReturnType<(this: {
16
+ attributes?: A | undefined;
17
+ content?: undefined;
18
+ }, attributes: Readonly<A>, content: never) => import("@esportsplus/template").Renderable<any>>;
19
+ <T extends never>(content: T): ReturnType<(this: {
20
+ attributes?: A | undefined;
21
+ content?: undefined;
22
+ }, attributes: Readonly<A>, content: never) => import("@esportsplus/template").Renderable<any>>;
23
+ (attributes: A, content: never): ReturnType<(this: {
24
+ attributes?: A | undefined;
25
+ content?: undefined;
26
+ }, attributes: Readonly<A>, content: never) => import("@esportsplus/template").Renderable<any>>;
20
27
  };
21
28
  export default _default;
@@ -1,22 +1,21 @@
1
1
  import { reactive, root } from '@esportsplus/reactivity';
2
2
  import { html } from '@esportsplus/template';
3
- import { omit } from '@esportsplus/utilities';
4
3
  import form from '../../components/form/index.js';
5
4
  import template from '../../components/template/index.js';
6
5
  import './scss/index.scss';
7
- const OMIT = ['range-tag'];
8
- export default template.factory(function (attributes, content) {
9
- let a = attributes['range-tag'], state = attributes.state || reactive({
6
+ export default template.factory(function (attributes) {
7
+ let state = attributes.state || reactive({
10
8
  active: false,
11
9
  error: '',
12
10
  value: 0
13
11
  });
14
- if (a?.value) {
15
- state.value = Number(a.value);
12
+ if (attributes?.value) {
13
+ state.value = Number(attributes.value);
16
14
  }
17
15
  return html `
18
- <div
16
+ <input
19
17
  class='range --border-state --border-black'
18
+ type='range'
20
19
  ${{
21
20
  class: () => state.active && '--active',
22
21
  onfocusin: () => {
@@ -24,23 +23,14 @@ export default template.factory(function (attributes, content) {
24
23
  },
25
24
  onfocusout: () => {
26
25
  state.active = false;
27
- }
28
- }}
29
- ${a ? omit(attributes, OMIT) : attributes}
30
- >
31
- <input
32
- class='range-tag'
33
- type='range'
34
- ${{
26
+ },
35
27
  oninput: (e) => {
36
28
  state.value = Number(e.target.value);
37
29
  },
38
30
  onrender: form.input.onrender(state),
39
- value: root(() => a?.value || state.value || 0)
31
+ value: root(() => attributes?.value || state.value || 0)
40
32
  }}
41
- ${a}
42
- >
43
- ${content}
44
- </div>
33
+ ${attributes}
34
+ />
45
35
  `;
46
36
  });
@@ -1,2 +1,2 @@
1
- @layer components {.range{--background:var(--background-default);--background-active:var(--background-default);--background-default:var(--color-black-300);--background-hover:var(--background-default);--background-pressed:var(--background-default);--border-width:var(--border-width-700);--height:var(--size-200);--thumb-background:var(--color-white-400);--thumb-size:var(--size-400);--width:100%}.range label:not(.--active):not(.--active):hover,.range:not(.--active):not(.--active):hover{--background:var(--background-hover)}.range label:not(.--active):not(.--active):active,.range:not(.--active):not(.--active):active{--background:var(--background-pressed)}.range.--active{--background:var(--background-active)}.range,.range-tag{width:var(--width)}.range-tag{background:var(--background);height:var(--height);margin:calc((var(--height) - var(--thumb-size))/2)0;border:0;border-radius:240px;transition:opacity .2s}.range-tag::-moz-range-thumb{background:var(--thumb-background);border:var(--border-width)solid var(--border-color);cursor:pointer;height:var(--thumb-size);width:var(--thumb-size);border-radius:100%}.range-tag::-webkit-slider-thumb{background:var(--thumb-background);border:var(--border-width)solid var(--border-color);cursor:pointer;height:var(--thumb-size);width:var(--thumb-size);border-radius:100%}.range-tag{appearance:none;outline:none}.range-tag::-moz-range-thumb{appearance:none;outline:none}.range-tag::-webkit-slider-thumb{appearance:none;outline:none}}
1
+ @layer components {.range{--background:var(--background-default);--background-active:var(--background-default);--background-default:var(--color-black-300);--background-hover:var(--background-default);--background-pressed:var(--background-default);--border-width:var(--border-width-700);--height:var(--size-200);--thumb-background:var(--color-white-400);--thumb-size:var(--size-400);--width:100%}.range label:not(.--active):not(.--active):hover,.range:not(.--active):not(.--active):hover{--background:var(--background-hover)}.range label:not(.--active):not(.--active):active,.range:not(.--active):not(.--active):active{--background:var(--background-pressed)}.range.--active{--background:var(--background-active)}.range{background:var(--background);height:var(--height);margin:calc((var(--thumb-size) - var(--height))/2)0;transition:background var(--transition-duration)ease-in-out,border-color var(--transition-duration)ease-in-out,box-shadow var(--transition-duration)ease-in-out,opacity var(--transition-duration)ease-in-out,transform var(--transition-duration)ease-in-out;width:var(--width);border:0;border-radius:240px}.range::-moz-range-thumb{background:var(--thumb-background);border:var(--border-width)solid var(--border-color);cursor:pointer;height:var(--thumb-size);width:var(--thumb-size);border-radius:100%}.range::-webkit-slider-thumb{background:var(--thumb-background);border:var(--border-width)solid var(--border-color);cursor:pointer;height:var(--thumb-size);width:var(--thumb-size);border-radius:100%}.range{appearance:none;outline:none}.range::-moz-range-thumb{appearance:none;outline:none}.range::-webkit-slider-thumb{appearance:none;outline:none}}
2
2
  /*$vite$:1*/