@esportsplus/ui 0.46.0 → 0.48.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 (75) hide show
  1. package/.github/workflows/bump.yml +2 -2
  2. package/.github/workflows/dependabot.yml +1 -1
  3. package/.github/workflows/publish.yml +3 -3
  4. package/README.md +287 -0
  5. package/build/components/accordion/index.d.ts +16 -16
  6. package/build/components/accordion/index.js +15 -17
  7. package/build/components/alert/index.d.ts +1 -1
  8. package/build/components/alert/index.js +45 -51
  9. package/build/components/back/index.d.ts +8 -7
  10. package/build/components/back/index.js +11 -11
  11. package/build/components/button/index.d.ts +21 -20
  12. package/build/components/button/index.js +32 -23
  13. package/build/components/checkbox/index.d.ts +3 -3
  14. package/build/components/checkbox/index.js +18 -21
  15. package/build/components/clipboard/index.d.ts +90 -70
  16. package/build/components/clipboard/onclick.d.ts +1 -1
  17. package/build/components/clipboard/onclick.js +18 -18
  18. package/build/components/counter/index.d.ts +2 -2
  19. package/build/components/counter/index.js +37 -32
  20. package/build/components/ellipsis/index.d.ts +1 -1
  21. package/build/components/ellipsis/index.js +7 -8
  22. package/build/components/form/action.d.ts +1 -1
  23. package/build/components/form/action.js +13 -15
  24. package/build/components/form/index.d.ts +1 -1
  25. package/build/components/highlight/index.d.ts +16 -16
  26. package/build/components/highlight/index.js +13 -15
  27. package/build/components/icon/index.d.ts +11 -10
  28. package/build/components/icon/index.js +9 -6
  29. package/build/components/input/index.d.ts +2 -2
  30. package/build/components/input/index.js +18 -18
  31. package/build/components/loader/index.d.ts +16 -16
  32. package/build/components/loader/index.js +41 -45
  33. package/build/components/loading/index.d.ts +1 -1
  34. package/build/components/loading/index.js +9 -9
  35. package/build/components/radio/index.d.ts +1 -1
  36. package/build/components/range/index.d.ts +2 -2
  37. package/build/components/range/index.js +22 -22
  38. package/build/components/scrollbar/index.d.ts +12 -11
  39. package/build/components/scrollbar/index.js +22 -33
  40. package/build/components/select/index.d.ts +1 -1
  41. package/build/components/select/index.js +86 -80
  42. package/build/components/switch/index.d.ts +1 -1
  43. package/build/components/textarea/index.d.ts +2 -2
  44. package/build/components/textarea/index.js +17 -18
  45. package/build/components/tooltip/index.d.ts +180 -140
  46. package/build/components/tooltip/menu.d.ts +12 -11
  47. package/build/components/tooltip/menu.js +33 -33
  48. package/build/components/tooltip/onclick.d.ts +1121 -1100
  49. package/build/components/tooltip/onclick.js +13 -15
  50. package/build/components/tooltip/onhover.d.ts +16 -16
  51. package/build/components/tooltip/onhover.js +15 -17
  52. package/build/components/typewriter/index.d.ts +11 -10
  53. package/build/components/typewriter/index.js +12 -11
  54. package/build/themes/dark/alert.d.ts +1 -1
  55. package/build/themes/dark/input.d.ts +10 -8
  56. package/build/themes/dark/select.d.ts +90 -70
  57. package/build/themes/dark/textarea.d.ts +10 -8
  58. package/package.json +17 -14
  59. package/src/components/accordion/index.ts +1 -2
  60. package/src/components/alert/index.ts +1 -2
  61. package/src/components/button/index.ts +22 -15
  62. package/src/components/checkbox/index.ts +1 -2
  63. package/src/components/clipboard/onclick.ts +1 -2
  64. package/src/components/counter/index.ts +7 -8
  65. package/src/components/highlight/index.ts +1 -2
  66. package/src/components/input/index.ts +1 -2
  67. package/src/components/loader/index.ts +1 -2
  68. package/src/components/range/index.ts +1 -2
  69. package/src/components/scrollbar/index.ts +1 -2
  70. package/src/components/select/index.ts +14 -3
  71. package/src/components/textarea/index.ts +1 -2
  72. package/src/components/tooltip/onclick.ts +1 -2
  73. package/src/components/tooltip/onhover.ts +1 -2
  74. package/src/components/typewriter/index.ts +1 -2
  75. package/tsconfig.json +6 -1
@@ -1,12 +1,12 @@
1
- import { html } from '@esportsplus/template';
1
+ import * as template_ed8f776bb07a460eadcbcfe445975fdf1 from '@esportsplus/template';
2
2
  import './scss/index.scss';
3
+ const template_ed8f776bb07a460eadcbcfe445975fdf2d = template_ed8f776bb07a460eadcbcfe445975fdf1.template(`<div
4
+ class='loading --border-width-700 --size-800'
5
+ style='--border-color: var(--color-border-500);'></div>`);
3
6
  export default (attributes) => {
4
- return html `
5
- <div
6
- class='loading --border-width-700 --size-800'
7
- style='--border-color: var(--color-border-500);'
8
- ${attributes}
9
- >
10
- </div>
11
- `;
7
+ return (() => {
8
+ let root_ed8f776bb07a460eadcbcfe445975fdf2c = template_ed8f776bb07a460eadcbcfe445975fdf2d(), element_ed8f776bb07a460eadcbcfe445975fdf2e = root_ed8f776bb07a460eadcbcfe445975fdf2c.firstChild;
9
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf2e, attributes);
10
+ return root_ed8f776bb07a460eadcbcfe445975fdf2c;
11
+ })();
12
12
  };
@@ -6,5 +6,5 @@ declare const _default: (this: {
6
6
  active: boolean;
7
7
  error: string;
8
8
  };
9
- }) => Node;
9
+ }) => DocumentFragment;
10
10
  export default _default;
@@ -1,4 +1,4 @@
1
- import { type Attributes } from '@esportsplus/template';
1
+ import { Attributes } from '@esportsplus/template';
2
2
  import './scss/index.scss';
3
3
  export default function (this: {
4
4
  attributes?: Attributes;
@@ -10,4 +10,4 @@ export default function (this: {
10
10
  error: string;
11
11
  value: number;
12
12
  };
13
- }): Node;
13
+ }): DocumentFragment;
@@ -1,7 +1,11 @@
1
- import { reactive, root } from '@esportsplus/reactivity';
2
- import { html } from '@esportsplus/template';
1
+ import * as template_ed8f776bb07a460eadcbcfe445975fdf1 from '@esportsplus/template';
2
+ import { reactive, root } from '@esportsplus/template';
3
3
  import form from '../../components/form/index.js';
4
4
  import './scss/index.scss';
5
+ const template_ed8f776bb07a460eadcbcfe445975fdf2g = template_ed8f776bb07a460eadcbcfe445975fdf1.template(`<input
6
+ class='range --border-state --border-black'
7
+ type='range'
8
+ />`);
5
9
  export default function (attributes) {
6
10
  let { max, min } = attributes, state = attributes.state || reactive({
7
11
  active: false,
@@ -11,28 +15,24 @@ export default function (attributes) {
11
15
  if (attributes?.value) {
12
16
  state.value = Number(attributes.value);
13
17
  }
14
- return html `
15
- <input
16
- class='range --border-state --border-black'
17
- style='${() => `--thumb-position: ${((state.value - min) / (max - min)) * 100}%`}'
18
- type='range'
19
- ${this?.attributes}
20
- ${attributes}
21
- ${{
22
- class: () => state.active && '--active',
23
- onfocusin: () => {
18
+ return (() => {
19
+ let root_ed8f776bb07a460eadcbcfe445975fdf2f = template_ed8f776bb07a460eadcbcfe445975fdf2g(), element_ed8f776bb07a460eadcbcfe445975fdf2h = root_ed8f776bb07a460eadcbcfe445975fdf2f.firstChild;
20
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setStyle(element_ed8f776bb07a460eadcbcfe445975fdf2h, ';', () => `--thumb-position: ${((state.value - min) / (max - min)) * 100}%`);
21
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf2h, this?.attributes);
22
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf2h, attributes);
23
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setClass(element_ed8f776bb07a460eadcbcfe445975fdf2h, '', () => state.active && '--active');
24
+ template_ed8f776bb07a460eadcbcfe445975fdf1.on(element_ed8f776bb07a460eadcbcfe445975fdf2h, 'focusin', () => {
24
25
  state.active = true;
25
- },
26
- onfocusout: () => {
26
+ });
27
+ template_ed8f776bb07a460eadcbcfe445975fdf1.on(element_ed8f776bb07a460eadcbcfe445975fdf2h, 'focusout', () => {
27
28
  state.active = false;
28
- },
29
- oninput: (e) => {
29
+ });
30
+ template_ed8f776bb07a460eadcbcfe445975fdf1.delegate(element_ed8f776bb07a460eadcbcfe445975fdf2h, 'input', (e) => {
30
31
  state.value = Number(e.target.value);
31
- },
32
- onrender: form.input.onrender(state),
33
- value: root(() => attributes?.value || state.value || 0)
34
- }}
35
- />
36
- `;
32
+ });
33
+ template_ed8f776bb07a460eadcbcfe445975fdf1.onrender(element_ed8f776bb07a460eadcbcfe445975fdf2h, form.input.onrender(state));
34
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperty(element_ed8f776bb07a460eadcbcfe445975fdf2h, 'value', root(() => attributes?.value || state.value || 0));
35
+ return root_ed8f776bb07a460eadcbcfe445975fdf2f;
36
+ })();
37
37
  }
38
38
  ;
@@ -1,4 +1,5 @@
1
- import { type Attributes } from '@esportsplus/template';
1
+ import * as template_ed8f776bb07a460eadcbcfe445975fdf1 from '@esportsplus/template';
2
+ import { Attributes } from '@esportsplus/template';
2
3
  import './scss/index.scss';
3
4
  type A = Attributes & {
4
5
  scrollbar?: Attributes;
@@ -7,20 +8,20 @@ type A = Attributes & {
7
8
  declare const _default: {
8
9
  (): ReturnType<(this: {
9
10
  attributes?: A | undefined;
10
- content?: import("@esportsplus/template").Renderable<any>;
11
- }, attributes: Readonly<A>, content: import("@esportsplus/template").Renderable<any>) => import("@esportsplus/template").Renderable<any>>;
11
+ content?: template_ed8f776bb07a460eadcbcfe445975fdf1.Renderable<any>;
12
+ }, attributes: Readonly<A>, content: template_ed8f776bb07a460eadcbcfe445975fdf1.Renderable<any>) => template_ed8f776bb07a460eadcbcfe445975fdf1.Renderable<any>>;
12
13
  <T extends A>(attributes: T): ReturnType<(this: {
13
14
  attributes?: A | undefined;
14
- content?: import("@esportsplus/template").Renderable<any>;
15
- }, attributes: Readonly<A>, content: import("@esportsplus/template").Renderable<any>) => import("@esportsplus/template").Renderable<any>>;
16
- <T extends import("@esportsplus/template").Renderable<any>>(content: T): ReturnType<(this: {
15
+ content?: template_ed8f776bb07a460eadcbcfe445975fdf1.Renderable<any>;
16
+ }, attributes: Readonly<A>, content: template_ed8f776bb07a460eadcbcfe445975fdf1.Renderable<any>) => template_ed8f776bb07a460eadcbcfe445975fdf1.Renderable<any>>;
17
+ <T extends template_ed8f776bb07a460eadcbcfe445975fdf1.Renderable<any>>(content: T): ReturnType<(this: {
17
18
  attributes?: A | undefined;
18
- content?: import("@esportsplus/template").Renderable<any>;
19
- }, attributes: Readonly<A>, content: import("@esportsplus/template").Renderable<any>) => import("@esportsplus/template").Renderable<any>>;
20
- (attributes: A, content: import("@esportsplus/template").Renderable<any>): ReturnType<(this: {
19
+ content?: template_ed8f776bb07a460eadcbcfe445975fdf1.Renderable<any>;
20
+ }, attributes: Readonly<A>, content: template_ed8f776bb07a460eadcbcfe445975fdf1.Renderable<any>) => template_ed8f776bb07a460eadcbcfe445975fdf1.Renderable<any>>;
21
+ (attributes: A, content: template_ed8f776bb07a460eadcbcfe445975fdf1.Renderable<any>): ReturnType<(this: {
21
22
  attributes?: A | undefined;
22
- content?: import("@esportsplus/template").Renderable<any>;
23
- }, attributes: Readonly<A>, content: import("@esportsplus/template").Renderable<any>) => import("@esportsplus/template").Renderable<any>>;
23
+ content?: template_ed8f776bb07a460eadcbcfe445975fdf1.Renderable<any>;
24
+ }, attributes: Readonly<A>, content: template_ed8f776bb07a460eadcbcfe445975fdf1.Renderable<any>) => template_ed8f776bb07a460eadcbcfe445975fdf1.Renderable<any>>;
24
25
  };
25
26
  export default _default;
26
27
  export type { A as Attributes };
@@ -1,8 +1,12 @@
1
- import { reactive } from '@esportsplus/reactivity';
2
- import { html } from '@esportsplus/template';
1
+ import * as template_ed8f776bb07a460eadcbcfe445975fdf1 from '@esportsplus/template';
2
+ import { reactive } from '@esportsplus/template';
3
3
  import { omit } from '@esportsplus/utilities';
4
4
  import template from '../../components/template/index.js';
5
5
  import './scss/index.scss';
6
+ const template_ed8f776bb07a460eadcbcfe445975fdf2j = template_ed8f776bb07a460eadcbcfe445975fdf1.template(`<div
7
+ class='scrollbar-container'><div
8
+ class='scrollbar-container-content'><!--$--></div><div
9
+ class='scrollbar'></div></div>`);
6
10
  const OMIT = ['scrollbar', 'scrollbar-container-content'];
7
11
  let root = document.body, width;
8
12
  export default template.factory(function (attributes, content) {
@@ -10,18 +14,13 @@ export default template.factory(function (attributes, content) {
10
14
  height: 100,
11
15
  translate: 0
12
16
  });
13
- return html `
14
- <div
15
- class='scrollbar-container'
16
- ${this?.attributes && omit(this.attributes, OMIT)}
17
- ${omit(attributes, OMIT)}
18
- >
19
- <div
20
- class='scrollbar-container-content'
21
- ${this?.attributes?.['scrollbar-container-content']}
22
- ${attributes['scrollbar-container-content']}
23
- ${{
24
- onscroll: function () {
17
+ return (() => {
18
+ let root_ed8f776bb07a460eadcbcfe445975fdf2i = template_ed8f776bb07a460eadcbcfe445975fdf2j(), element_ed8f776bb07a460eadcbcfe445975fdf2k = root_ed8f776bb07a460eadcbcfe445975fdf2i.firstChild, element_ed8f776bb07a460eadcbcfe445975fdf2l = element_ed8f776bb07a460eadcbcfe445975fdf2k.firstElementChild, element_ed8f776bb07a460eadcbcfe445975fdf2m = element_ed8f776bb07a460eadcbcfe445975fdf2l.firstChild, element_ed8f776bb07a460eadcbcfe445975fdf2n = element_ed8f776bb07a460eadcbcfe445975fdf2l.nextElementSibling;
19
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf2k, this?.attributes && omit(this.attributes, OMIT));
20
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf2k, omit(attributes, OMIT));
21
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf2l, this?.attributes?.['scrollbar-container-content']);
22
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf2l, attributes['scrollbar-container-content']);
23
+ template_ed8f776bb07a460eadcbcfe445975fdf1.on(element_ed8f776bb07a460eadcbcfe445975fdf2l, 'scroll', function () {
25
24
  if (width === undefined) {
26
25
  width = this.offsetWidth - this.clientWidth;
27
26
  if (width && width !== 17) {
@@ -30,25 +29,15 @@ export default template.factory(function (attributes, content) {
30
29
  }
31
30
  state.height = (this.clientHeight / this.scrollHeight) * 100;
32
31
  state.translate = (this.scrollTop / this.clientHeight) * 100;
33
- }
34
- }}
35
- >
36
- ${content}
37
- </div>
38
-
39
- <div
40
- class='scrollbar'
41
- ${this?.attributes?.scrollbar}
42
- ${attributes.scrollbar}
43
- ${{
44
- class: () => state.height >= 100 && 'scrollbar--hidden',
45
- style: () => `
32
+ });
33
+ template_ed8f776bb07a460eadcbcfe445975fdf1.slot(element_ed8f776bb07a460eadcbcfe445975fdf2m, content);
34
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf2n, this?.attributes?.scrollbar);
35
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf2n, attributes.scrollbar);
36
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setClass(element_ed8f776bb07a460eadcbcfe445975fdf2n, '', () => state.height >= 100 && 'scrollbar--hidden');
37
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setStyle(element_ed8f776bb07a460eadcbcfe445975fdf2n, '', () => `
46
38
  --translate: translate3d(0, ${state.translate}%, 0);
47
39
  --height: ${state.height}%;
48
- `
49
- }}
50
- >
51
- </div>
52
- </div>
53
- `;
40
+ `);
41
+ return root_ed8f776bb07a460eadcbcfe445975fdf2i;
42
+ })();
54
43
  });
@@ -1,4 +1,4 @@
1
- import { Renderable, type Attributes } from '@esportsplus/template';
1
+ import { Attributes, Renderable } from '@esportsplus/template';
2
2
  import { Attributes as Attr } from '../../components/scrollbar/index.js';
3
3
  import './scss/index.scss';
4
4
  type A = {
@@ -1,11 +1,16 @@
1
- import { reactive } from '@esportsplus/reactivity';
2
- import { html } from '@esportsplus/template';
1
+ import * as template_ed8f776bb07a460eadcbcfe445975fdf1 from '@esportsplus/template';
2
+ import { reactive } from '@esportsplus/template';
3
3
  import { EMPTY_ARRAY, omit, toArray } from '@esportsplus/utilities';
4
4
  import form from '../../components/form/index.js';
5
5
  import root from '../../components/root/index.js';
6
6
  import scrollbar from '../../components/scrollbar/index.js';
7
7
  import template from '../../components/template/index.js';
8
8
  import './scss/index.scss';
9
+ const template_ed8f776bb07a460eadcbcfe445975fdf2p = template_ed8f776bb07a460eadcbcfe445975fdf1.template(`<div
10
+ class='link select-option '><!--$--></div>`);
11
+ const template_ed8f776bb07a460eadcbcfe445975fdf2t = template_ed8f776bb07a460eadcbcfe445975fdf1.template(`<div
12
+ class='select tooltip '><!--$--><div class='select-arrow'></div><input class='select-tag'
13
+ /><!--$--></div>`);
9
14
  const OMIT = [
10
15
  'arrow',
11
16
  'options',
@@ -48,86 +53,87 @@ const select = template.factory(function (attributes, content) {
48
53
  render: false,
49
54
  selected: attributes.selected || Object.keys(options)[0]
50
55
  });
51
- return html `
52
- <div
53
- class='select tooltip ${() => state.active && '--active'}'
54
- ${this?.attributes && omit(this.attributes, OMIT)}
55
- ${omit(attributes, OMIT)}
56
- onclick=${() => {
57
- if (state.render) {
58
- set(state, !state.active);
59
- }
60
- state.render = true;
61
- }}
62
- >
63
- ${content ? (() => content(state)) : (() => options[state.selected] || '-')}
64
-
65
- <div class='select-arrow' ${this?.attributes?.arrow} ${attributes.arrow}></div>
66
-
67
- <input class='select-tag'
68
- ${{
69
- name: attributes.name,
70
- onclick: () => { },
71
- onrender: form.input.onrender(state),
72
- value: () => state.selected
73
- }}
74
- />
75
-
76
- ${() => {
77
- if (!state.render) {
78
- return;
79
- }
80
- let keys = Object.keys(options), selected = reactive(Object.fromEntries(keys.map(key => [key, false])));
81
- return sb({
82
- ...this?.attributes?.['tooltip-content'] || EMPTY_ARRAY,
83
- ...attributes['tooltip-content'],
84
- class: [
85
- ...toArray(attributes['tooltip-content']?.class),
86
- `tooltip-content--${attributes['tooltip-content']?.direction || 's'}`
87
- ],
88
- onclick: (e) => {
89
- let element = e.target, key = element.dataset?.key;
90
- if (key === undefined) {
91
- let parent;
92
- while (parent = element.parentElement) {
93
- key = parent.dataset?.key;
94
- if (key !== undefined) {
95
- break;
56
+ return (() => {
57
+ let root_ed8f776bb07a460eadcbcfe445975fdf2s = template_ed8f776bb07a460eadcbcfe445975fdf2t(), element_ed8f776bb07a460eadcbcfe445975fdf2u = root_ed8f776bb07a460eadcbcfe445975fdf2s.firstChild, element_ed8f776bb07a460eadcbcfe445975fdf2v = element_ed8f776bb07a460eadcbcfe445975fdf2u.firstChild, element_ed8f776bb07a460eadcbcfe445975fdf2w = element_ed8f776bb07a460eadcbcfe445975fdf2u.firstElementChild, element_ed8f776bb07a460eadcbcfe445975fdf2x = element_ed8f776bb07a460eadcbcfe445975fdf2w.nextElementSibling, element_ed8f776bb07a460eadcbcfe445975fdf2y = element_ed8f776bb07a460eadcbcfe445975fdf2v.nextSibling.nextSibling.nextSibling;
58
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setClass(element_ed8f776bb07a460eadcbcfe445975fdf2u, ' ', () => state.active && '--active');
59
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf2u, this?.attributes && omit(this.attributes, OMIT));
60
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf2u, omit(attributes, OMIT));
61
+ template_ed8f776bb07a460eadcbcfe445975fdf1.delegate(element_ed8f776bb07a460eadcbcfe445975fdf2u, 'click', () => {
62
+ if (state.render) {
63
+ set(state, !state.active);
64
+ }
65
+ state.render = true;
66
+ });
67
+ new template_ed8f776bb07a460eadcbcfe445975fdf1.EffectSlot(element_ed8f776bb07a460eadcbcfe445975fdf2v, content ? (() => content(state)) : (() => {
68
+ let selected = options[state.selected];
69
+ if (!selected) {
70
+ return '-';
71
+ }
72
+ if (selected !== null && typeof selected === 'object' && 'content' in selected) {
73
+ return selected.content;
74
+ }
75
+ return selected;
76
+ }));
77
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf2w, this?.attributes?.arrow);
78
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf2w, attributes.arrow);
79
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperty(element_ed8f776bb07a460eadcbcfe445975fdf2x, 'name', attributes.name);
80
+ template_ed8f776bb07a460eadcbcfe445975fdf1.delegate(element_ed8f776bb07a460eadcbcfe445975fdf2x, 'click', () => { });
81
+ template_ed8f776bb07a460eadcbcfe445975fdf1.onrender(element_ed8f776bb07a460eadcbcfe445975fdf2x, form.input.onrender(state));
82
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperty(element_ed8f776bb07a460eadcbcfe445975fdf2x, 'value', () => state.selected);
83
+ new template_ed8f776bb07a460eadcbcfe445975fdf1.EffectSlot(element_ed8f776bb07a460eadcbcfe445975fdf2y, () => {
84
+ if (!state.render) {
85
+ return;
86
+ }
87
+ let keys = Object.keys(options), selected = reactive(Object.fromEntries(keys.map(key => [key, false])));
88
+ return sb({
89
+ ...this?.attributes?.['tooltip-content'] || EMPTY_ARRAY,
90
+ ...attributes['tooltip-content'],
91
+ class: [
92
+ ...toArray(attributes['tooltip-content']?.class),
93
+ `tooltip-content--${attributes['tooltip-content']?.direction || 's'}`
94
+ ],
95
+ onclick: (e) => {
96
+ let element = e.target, key = element.dataset?.key;
97
+ if (key === undefined) {
98
+ let parent;
99
+ while (parent = element.parentElement) {
100
+ key = parent.dataset?.key;
101
+ if (key !== undefined) {
102
+ break;
103
+ }
96
104
  }
97
105
  }
106
+ if (key === undefined) {
107
+ return;
108
+ }
109
+ let previous = state.selected;
110
+ set(state, false);
111
+ state.selected = key;
112
+ selected[key] = true;
113
+ selected[previous] = false;
114
+ },
115
+ onconnect: () => {
116
+ set(state, true);
117
+ },
118
+ scrollbar: attributes.scrollbar,
119
+ 'scrollbar-container-content': attributes['scrollbar-container-content']
120
+ }, keys.map((key) => {
121
+ let content = options[key];
122
+ if (content !== null && typeof content === 'object' && 'content' in content) {
123
+ content = content.content;
98
124
  }
99
- if (key === undefined) {
100
- return;
101
- }
102
- let previous = state.selected;
103
- set(state, false);
104
- state.selected = key;
105
- selected[key] = true;
106
- selected[previous] = false;
107
- },
108
- onconnect: () => {
109
- set(state, true);
110
- },
111
- scrollbar: attributes.scrollbar,
112
- 'scrollbar-container-content': attributes['scrollbar-container-content']
113
- }, keys.map((key) => {
114
- let content = options[key];
115
- if (content !== null && typeof content === 'object' && 'content' in content) {
116
- content = content.content;
117
- }
118
- return html `
119
- <div
120
- class='link select-option ${() => selected[key] && '--active'}'
121
- ${this?.attributes?.option}
122
- ${option}
123
- data-key='${key}'
124
- >
125
- ${content}
126
- </div>
127
- `;
128
- }));
129
- }}
130
- </div>
131
- `;
125
+ return (() => {
126
+ let root_ed8f776bb07a460eadcbcfe445975fdf2o = template_ed8f776bb07a460eadcbcfe445975fdf2p(), element_ed8f776bb07a460eadcbcfe445975fdf2q = root_ed8f776bb07a460eadcbcfe445975fdf2o.firstChild, element_ed8f776bb07a460eadcbcfe445975fdf2r = element_ed8f776bb07a460eadcbcfe445975fdf2q.firstChild;
127
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setClass(element_ed8f776bb07a460eadcbcfe445975fdf2q, ' ', () => selected[key] && '--active');
128
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf2q, this?.attributes?.option);
129
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf2q, option);
130
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperty(element_ed8f776bb07a460eadcbcfe445975fdf2q, 'data-key', key);
131
+ template_ed8f776bb07a460eadcbcfe445975fdf1.slot(element_ed8f776bb07a460eadcbcfe445975fdf2r, content);
132
+ return root_ed8f776bb07a460eadcbcfe445975fdf2o;
133
+ })();
134
+ }));
135
+ });
136
+ return root_ed8f776bb07a460eadcbcfe445975fdf2s;
137
+ })();
132
138
  });
133
139
  export default select;
@@ -6,5 +6,5 @@ declare const _default: (this: {
6
6
  active: boolean;
7
7
  error: string;
8
8
  };
9
- }) => Node;
9
+ }) => DocumentFragment;
10
10
  export default _default;
@@ -1,4 +1,4 @@
1
- import { type Attributes } from '@esportsplus/template';
1
+ import { Attributes } from '@esportsplus/template';
2
2
  import './scss/index.scss';
3
3
  export default function (this: {
4
4
  attributes?: Attributes;
@@ -7,4 +7,4 @@ export default function (this: {
7
7
  active: boolean;
8
8
  error: string;
9
9
  };
10
- }): Node;
10
+ }): DocumentFragment;
@@ -1,31 +1,30 @@
1
- import { reactive } from '@esportsplus/reactivity';
2
- import { html } from '@esportsplus/template';
1
+ import * as template_ed8f776bb07a460eadcbcfe445975fdf1 from '@esportsplus/template';
2
+ import { reactive } 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 template_ed8f776bb07a460eadcbcfe445975fdf30 = template_ed8f776bb07a460eadcbcfe445975fdf1.template(`<textarea
7
+ class='textarea'></textarea>`);
6
8
  const OMIT = ['state'];
7
9
  export default function (attributes) {
8
10
  let state = attributes.state || reactive({
9
11
  active: false,
10
12
  error: ''
11
13
  });
12
- return html `
13
- <textarea
14
- class='textarea'
15
- ${this?.attributes && omit(this.attributes, OMIT)}
16
- ${omit(attributes, OMIT)}
17
- ${{
18
- class: () => state.active && '--active',
19
- onfocusin: () => {
14
+ return (() => {
15
+ let root_ed8f776bb07a460eadcbcfe445975fdf2z = template_ed8f776bb07a460eadcbcfe445975fdf30(), element_ed8f776bb07a460eadcbcfe445975fdf31 = root_ed8f776bb07a460eadcbcfe445975fdf2z.firstChild;
16
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf31, this?.attributes && omit(this.attributes, OMIT));
17
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperties(element_ed8f776bb07a460eadcbcfe445975fdf31, omit(attributes, OMIT));
18
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setClass(element_ed8f776bb07a460eadcbcfe445975fdf31, '', () => state.active && '--active');
19
+ template_ed8f776bb07a460eadcbcfe445975fdf1.on(element_ed8f776bb07a460eadcbcfe445975fdf31, 'focusin', () => {
20
20
  state.active = true;
21
- },
22
- onfocusout: () => {
21
+ });
22
+ template_ed8f776bb07a460eadcbcfe445975fdf1.on(element_ed8f776bb07a460eadcbcfe445975fdf31, 'focusout', () => {
23
23
  state.active = false;
24
- },
25
- onrender: form.input.onrender(state),
26
- value: attributes?.value || ''
27
- }}
28
- ></textarea>
29
- `;
24
+ });
25
+ template_ed8f776bb07a460eadcbcfe445975fdf1.onrender(element_ed8f776bb07a460eadcbcfe445975fdf31, form.input.onrender(state));
26
+ template_ed8f776bb07a460eadcbcfe445975fdf1.setProperty(element_ed8f776bb07a460eadcbcfe445975fdf31, 'value', attributes?.value || '');
27
+ return root_ed8f776bb07a460eadcbcfe445975fdf2z;
28
+ })();
30
29
  }
31
30
  ;