@arthurzakharov/ui-kit 1.0.3 → 1.0.5

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 (180) hide show
  1. package/dist/assets/box-b_yPaNPs.css +1 -0
  2. package/dist/assets/button-XGvsKGqH.css +1 -0
  3. package/dist/assets/certifications-tJ3i72S_.css +1 -0
  4. package/dist/assets/choice-BEXd0fh0.css +1 -0
  5. package/dist/assets/hidden-input-DHJQHUKd.css +1 -0
  6. package/dist/assets/index-CqamBlbE.css +1 -0
  7. package/dist/assets/input-DTN-3ZET.css +1 -0
  8. package/dist/assets/label-DF2VBeUr.css +1 -0
  9. package/dist/assets/main-C0tWHTEq.css +1 -0
  10. package/dist/assets/radio-label-Bd5UiESO.css +1 -0
  11. package/dist/assets/radio-text-DAsITkgm.css +1 -0
  12. package/dist/components/certifications/certifications.component.d.ts +1 -5
  13. package/dist/components/certifications/certifications.component.js +8 -8
  14. package/dist/components/certifications/certifications.test.d.ts +1 -0
  15. package/dist/components/certifications/certifications.test.js +37 -0
  16. package/dist/components/certifications/certifications.types.d.ts +5 -0
  17. package/dist/components/certifications/certifications.types.js +2 -0
  18. package/dist/components/certifications/index.d.ts +1 -0
  19. package/dist/components/certifications/index.js +5 -0
  20. package/dist/components/control/components/box/box.component.d.ts +2 -0
  21. package/dist/components/control/components/box/box.component.js +33 -0
  22. package/dist/components/control/components/box/box.test.d.ts +1 -0
  23. package/dist/components/control/components/box/box.test.js +111 -0
  24. package/dist/components/control/components/box/box.types.d.ts +9 -0
  25. package/dist/components/control/components/box/box.types.js +2 -0
  26. package/dist/components/control/components/box/index.d.ts +1 -0
  27. package/dist/components/control/components/box/index.js +5 -0
  28. package/dist/components/control/components/button/button.component.d.ts +2 -0
  29. package/dist/components/control/components/button/button.component.js +54 -0
  30. package/dist/components/control/components/button/button.test.d.ts +1 -0
  31. package/dist/components/control/components/button/button.test.js +155 -0
  32. package/dist/components/control/components/button/button.types.d.ts +16 -0
  33. package/dist/components/control/components/button/button.types.js +2 -0
  34. package/dist/components/control/components/button/index.d.ts +1 -0
  35. package/dist/components/control/components/button/index.js +5 -0
  36. package/dist/components/control/components/card-image/card-image.component.d.ts +2 -0
  37. package/dist/components/control/components/card-image/card-image.component.js +8 -0
  38. package/dist/components/control/components/card-image/card-image.test.d.ts +1 -0
  39. package/dist/components/control/components/card-image/card-image.test.js +118 -0
  40. package/dist/components/control/components/card-image/card-image.types.d.ts +6 -0
  41. package/dist/components/control/components/card-image/card-image.types.js +2 -0
  42. package/dist/components/control/components/card-image/index.d.ts +1 -0
  43. package/dist/components/control/components/card-image/index.js +5 -0
  44. package/dist/components/control/components/card-text/card-text.component.d.ts +2 -0
  45. package/dist/components/control/components/card-text/card-text.component.js +8 -0
  46. package/dist/components/control/components/card-text/card-text.test.d.ts +1 -0
  47. package/dist/components/control/components/card-text/card-text.test.js +109 -0
  48. package/dist/components/control/components/card-text/card-text.types.d.ts +5 -0
  49. package/dist/components/control/components/card-text/card-text.types.js +2 -0
  50. package/dist/components/control/components/card-text/index.d.ts +1 -0
  51. package/dist/components/control/components/card-text/index.js +5 -0
  52. package/dist/components/control/components/checkbox/checkbox.component.d.ts +2 -0
  53. package/dist/components/control/components/checkbox/checkbox.component.js +8 -0
  54. package/dist/components/control/components/checkbox/checkbox.types.d.ts +5 -0
  55. package/dist/components/control/components/checkbox/checkbox.types.js +2 -0
  56. package/dist/components/control/components/checkbox/index.d.ts +1 -0
  57. package/dist/components/control/components/checkbox/index.js +5 -0
  58. package/dist/components/control/components/choice/choice.component.d.ts +2 -0
  59. package/dist/components/control/components/choice/choice.component.js +43 -0
  60. package/dist/components/control/components/choice/choice.test.d.ts +1 -0
  61. package/dist/components/control/components/choice/choice.test.js +138 -0
  62. package/dist/components/control/components/choice/choice.types.d.ts +8 -0
  63. package/dist/components/control/components/choice/choice.types.js +2 -0
  64. package/dist/components/control/components/choice/index.d.ts +1 -0
  65. package/dist/components/control/components/choice/index.js +5 -0
  66. package/dist/components/control/components/dropdown/dropdown.component.d.ts +2 -0
  67. package/dist/components/control/components/dropdown/dropdown.component.js +12 -0
  68. package/dist/components/control/components/dropdown/dropdown.types.d.ts +14 -0
  69. package/dist/components/control/components/dropdown/dropdown.types.js +2 -0
  70. package/dist/components/control/components/dropdown/index.d.ts +1 -0
  71. package/dist/components/control/components/dropdown/index.js +5 -0
  72. package/dist/components/control/components/hidden-input/hidden-input.component.d.ts +2 -0
  73. package/dist/components/control/components/hidden-input/hidden-input.component.js +26 -0
  74. package/dist/components/control/components/hidden-input/hidden-input.test.d.ts +1 -0
  75. package/dist/components/control/components/hidden-input/hidden-input.test.js +142 -0
  76. package/dist/components/control/components/hidden-input/hidden-input.types.d.ts +11 -0
  77. package/dist/components/control/components/hidden-input/hidden-input.types.js +2 -0
  78. package/dist/components/control/components/hidden-input/index.d.ts +1 -0
  79. package/dist/components/control/components/hidden-input/index.js +5 -0
  80. package/dist/components/control/components/input/index.d.ts +1 -0
  81. package/dist/components/control/components/input/index.js +5 -0
  82. package/dist/components/control/components/input/input.component.d.ts +2 -0
  83. package/dist/components/control/components/input/input.component.js +6 -0
  84. package/dist/components/control/components/input/input.test.d.ts +1 -0
  85. package/dist/components/control/components/input/input.test.js +104 -0
  86. package/dist/components/control/components/input/input.types.d.ts +7 -0
  87. package/dist/components/control/components/input/input.types.js +2 -0
  88. package/dist/components/control/components/label/index.d.ts +1 -0
  89. package/dist/components/control/components/label/index.js +5 -0
  90. package/dist/components/control/components/label/label.component.d.ts +2 -0
  91. package/dist/components/control/components/label/label.component.js +29 -0
  92. package/dist/components/control/components/label/label.test.d.ts +1 -0
  93. package/dist/components/control/components/label/label.test.js +91 -0
  94. package/dist/components/control/components/label/label.types.d.ts +8 -0
  95. package/dist/components/control/components/label/label.types.js +2 -0
  96. package/dist/components/control/components/radio/index.d.ts +1 -0
  97. package/dist/components/control/components/radio/index.js +5 -0
  98. package/dist/components/control/components/radio/radio.component.d.ts +2 -0
  99. package/dist/components/control/components/radio/radio.component.js +8 -0
  100. package/dist/components/control/components/radio/radio.types.d.ts +6 -0
  101. package/dist/components/control/components/radio/radio.types.js +2 -0
  102. package/dist/components/control/components/radio-label/index.d.ts +1 -0
  103. package/dist/components/control/components/radio-label/index.js +5 -0
  104. package/dist/components/control/components/radio-label/radio-label.component.d.ts +3 -0
  105. package/dist/components/control/components/radio-label/radio-label.component.js +38 -0
  106. package/dist/components/control/components/radio-label/radio-label.test.d.ts +1 -0
  107. package/dist/components/control/components/radio-label/radio-label.test.js +282 -0
  108. package/dist/components/control/components/radio-label/radio-label.types.d.ts +17 -0
  109. package/dist/components/control/components/radio-label/radio-label.types.js +2 -0
  110. package/dist/components/control/components/radio-text/index.d.ts +1 -0
  111. package/dist/components/control/components/radio-text/index.js +5 -0
  112. package/dist/components/control/components/radio-text/radio-text.component.d.ts +2 -0
  113. package/dist/components/control/components/radio-text/radio-text.component.js +34 -0
  114. package/dist/components/control/components/radio-text/radio-text.test.d.ts +1 -0
  115. package/dist/components/control/components/radio-text/radio-text.test.js +82 -0
  116. package/dist/components/control/components/radio-text/radio-text.types.d.ts +6 -0
  117. package/dist/components/control/components/radio-text/radio-text.types.js +2 -0
  118. package/dist/components/control/components/text/index.d.ts +1 -0
  119. package/dist/components/control/components/text/index.js +5 -0
  120. package/dist/components/control/components/text/text.component.d.ts +2 -0
  121. package/dist/components/control/components/text/text.component.js +8 -0
  122. package/dist/components/control/components/text/text.test.d.ts +1 -0
  123. package/dist/components/control/components/text/text.test.js +146 -0
  124. package/dist/components/control/components/text/text.types.d.ts +6 -0
  125. package/dist/components/control/components/text/text.types.js +2 -0
  126. package/dist/components/control/components/textarea/index.d.ts +1 -0
  127. package/dist/components/control/components/textarea/index.js +5 -0
  128. package/dist/components/control/components/textarea/textarea.component.d.ts +2 -0
  129. package/dist/components/control/components/textarea/textarea.component.js +7 -0
  130. package/dist/components/control/components/textarea/textarea.test.d.ts +1 -0
  131. package/dist/components/control/components/textarea/textarea.test.js +148 -0
  132. package/dist/components/control/components/textarea/textarea.types.d.ts +8 -0
  133. package/dist/components/control/components/textarea/textarea.types.js +2 -0
  134. package/dist/components/control/hooks/index.d.ts +1 -0
  135. package/dist/components/control/hooks/index.js +5 -0
  136. package/dist/components/control/hooks/useChoice/index.d.ts +1 -0
  137. package/dist/components/control/hooks/useChoice/index.js +5 -0
  138. package/dist/components/control/hooks/useChoice/useChoice.hook.d.ts +5 -0
  139. package/dist/components/control/hooks/useChoice/useChoice.hook.js +10 -0
  140. package/dist/components/control/hooks/useChoice/useChoice.hook.test.d.ts +1 -0
  141. package/dist/components/control/hooks/useChoice/useChoice.hook.test.js +35 -0
  142. package/dist/components/control/index.d.ts +17 -0
  143. package/dist/components/control/index.js +13 -0
  144. package/dist/components/control/types.d.ts +35 -0
  145. package/dist/components/control/types.js +2 -0
  146. package/dist/components/control/utils/index.d.ts +1 -0
  147. package/dist/components/control/utils/index.js +7 -0
  148. package/dist/components/control/utils/utils.d.ts +4 -0
  149. package/dist/components/control/utils/utils.js +7 -0
  150. package/dist/components/control/utils/utils.test.d.ts +1 -0
  151. package/dist/components/control/utils/utils.test.js +34 -0
  152. package/dist/enums.d.ts +14 -0
  153. package/dist/enums.js +5 -0
  154. package/dist/index-DZTmNCEj.js +407 -0
  155. package/dist/input.component-Ju0oHzs9.js +38 -0
  156. package/dist/magic-string.es-uPKorP4O.js +664 -0
  157. package/dist/main.d.ts +2 -1
  158. package/dist/main.js +6 -4
  159. package/dist/react-18-1BDDKgtP.js +41 -0
  160. package/dist/react.esm-CZ9PjZjp.js +75462 -0
  161. package/dist/types.d.ts +3 -0
  162. package/dist/types.js +2 -0
  163. package/dist/utils/converter/converter.d.ts +37 -0
  164. package/dist/utils/converter/converter.js +140 -0
  165. package/dist/utils/converter/converter.test.d.ts +1 -0
  166. package/dist/utils/converter/converter.test.js +121 -0
  167. package/dist/utils/converter/index.d.ts +1 -0
  168. package/dist/utils/converter/index.js +5 -0
  169. package/dist/utils/index.d.ts +2 -0
  170. package/dist/utils/index.js +7 -0
  171. package/dist/utils/time/index.d.ts +1 -0
  172. package/dist/utils/time/index.js +5 -0
  173. package/dist/utils/time/time.d.ts +7 -0
  174. package/dist/utils/time/time.js +34 -0
  175. package/dist/utils/time/time.test.d.ts +1 -0
  176. package/dist/utils/time/time.test.js +45 -0
  177. package/dist/vi.2VT5v0um-CyasTEXm.js +10517 -0
  178. package/package.json +17 -5
  179. package/dist/assets/certifications-CHPUtPfO.css +0 -1
  180. package/dist/assets/main-CkMkgeLf.css +0 -1
@@ -0,0 +1,146 @@
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { f as v, e, a as b, b as h, d as y, r as i } from "../../../../react.esm-CZ9PjZjp.js";
3
+ import { useState as f, useEffect as m } from "react";
4
+ import { d as p, f as c } from "../../../../index-DZTmNCEj.js";
5
+ import { c as S } from "../../../../input.component-Ju0oHzs9.js";
6
+ import { d as w, i as r, g as u } from "../../../../vi.2VT5v0um-CyasTEXm.js";
7
+ const g = {
8
+ title: "Components/Control/Text",
9
+ component: p.Text,
10
+ tags: ["autodocs"],
11
+ args: {
12
+ label: "Text label",
13
+ state: "idle",
14
+ type: "text",
15
+ id: "text-input",
16
+ value: "Some value",
17
+ disabled: !1,
18
+ onChange: v(),
19
+ onFocus: v(),
20
+ onBlur: v()
21
+ },
22
+ argTypes: {
23
+ state: {
24
+ control: "select",
25
+ options: ["idle", "error", "success", "warning"]
26
+ },
27
+ type: {
28
+ control: "text"
29
+ },
30
+ disabled: {
31
+ control: "boolean"
32
+ }
33
+ },
34
+ render: (a) => {
35
+ const [d, o] = f(a.value);
36
+ return m(() => {
37
+ o(a.value);
38
+ }, [a.value]), /* @__PURE__ */ s("div", { style: { maxWidth: 300 }, children: /* @__PURE__ */ s(
39
+ p.Text,
40
+ {
41
+ ...a,
42
+ value: d,
43
+ onChange: (n, t, l) => {
44
+ o(n), a.onChange?.(n, t, l);
45
+ }
46
+ }
47
+ ) });
48
+ }
49
+ }, x = {
50
+ args: {
51
+ state: void 0,
52
+ type: void 0,
53
+ onAutofill: void 0,
54
+ onAutofillCancel: void 0,
55
+ disabled: void 0,
56
+ onFocus: void 0,
57
+ onBlur: void 0
58
+ }
59
+ }, T = {
60
+ args: {
61
+ value: ""
62
+ }
63
+ }, C = {
64
+ args: {
65
+ disabled: !1
66
+ }
67
+ }, H = {
68
+ args: {
69
+ disabled: !0
70
+ }
71
+ }, I = {
72
+ args: {
73
+ state: "idle"
74
+ }
75
+ }, V = {
76
+ args: {
77
+ state: "error"
78
+ }
79
+ }, A = {
80
+ args: {
81
+ state: "success"
82
+ }
83
+ }, M = {
84
+ args: {
85
+ value: ""
86
+ },
87
+ play: async ({ args: a, canvas: d, step: o, userEvent: n }) => {
88
+ const t = d.getByTestId("input"), l = d.getByTestId("text-label");
89
+ await o("Initial state should be idle", async () => {
90
+ await e(t).toHaveValue(a.value), await e(l).toHaveClass(c.TextLabelIdle);
91
+ }), await o("Focusing input should activate label", async () => {
92
+ await n.click(t), await e(l).toHaveClass(c.TextLabelActive), await e(t).toHaveFocus();
93
+ }), await o("Blurring empty input should return to idle", async () => {
94
+ await n.tab(), await e(l).toHaveClass(c.TextLabelIdle), await e(t).not.toHaveFocus();
95
+ }), await o("Autofill start should activate label", async () => {
96
+ b.animationStart(t, { animationName: S["autofill-start"] }), await h(() => e(l).toHaveClass(c.TextLabelActive));
97
+ }), await o("Autofill cancel should deactivate label", async () => {
98
+ b.animationStart(t, { animationName: S["autofill-cancel"] }), await h(() => e(l).toHaveClass(c.TextLabelIdle));
99
+ }), await o("Typing should keep label active", async () => {
100
+ await n.click(t), await n.type(t, "Hello World"), await e(t).toHaveValue("Hello World"), await e(l).toHaveClass(c.TextLabelActive);
101
+ }), await o("Blurring with value should keep label active", async () => {
102
+ await n.tab(), await e(l).toHaveClass(c.TextLabelActive);
103
+ }), await o("Autofill cancel with value should keep label active", async () => {
104
+ b.animationStart(t, { animationName: S["autofill-cancel"] }), await h(() => e(l).toHaveClass(c.TextLabelActive));
105
+ });
106
+ }
107
+ }, $ = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
108
+ __proto__: null,
109
+ DefaultValues: x,
110
+ Disabled: H,
111
+ Enabled: C,
112
+ Interactive: M,
113
+ StateError: V,
114
+ StateIdle: I,
115
+ StateSuccess: A,
116
+ WithoutValue: T,
117
+ default: g
118
+ }, Symbol.toStringTag, { value: "Module" })), { DefaultValues: D, WithoutValue: L, Enabled: E, Disabled: W, StateIdle: B, StateError: F, StateSuccess: k, Interactive: _ } = y($);
119
+ w("Text Snapshot", () => {
120
+ r("DefaultValues", async () => {
121
+ const { container: a } = i(/* @__PURE__ */ s(D, {}));
122
+ u(a).toMatchSnapshot();
123
+ }), r("WithoutValue", async () => {
124
+ const { container: a } = i(/* @__PURE__ */ s(L, {}));
125
+ u(a).toMatchSnapshot();
126
+ }), r("Enabled", async () => {
127
+ const { container: a } = i(/* @__PURE__ */ s(E, {}));
128
+ u(a).toMatchSnapshot();
129
+ }), r("Disabled", async () => {
130
+ const { container: a } = i(/* @__PURE__ */ s(W, {}));
131
+ u(a).toMatchSnapshot();
132
+ }), r("StateIdle", async () => {
133
+ const { container: a } = i(/* @__PURE__ */ s(B, {}));
134
+ u(a).toMatchSnapshot();
135
+ }), r("StateError", async () => {
136
+ const { container: a } = i(/* @__PURE__ */ s(F, {}));
137
+ u(a).toMatchSnapshot();
138
+ }), r("StateSuccess", async () => {
139
+ const { container: a } = i(/* @__PURE__ */ s(k, {}));
140
+ u(a).toMatchSnapshot();
141
+ }), r("Interactive", async () => {
142
+ const { container: a } = i(/* @__PURE__ */ s(_, {}));
143
+ u(a).toMatchSnapshot();
144
+ });
145
+ });
146
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC50ZXN0LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jb250cm9sL2NvbXBvbmVudHMvdGV4dC90ZXh0LnN0b3JpZXMudHN4IiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29udHJvbC9jb21wb25lbnRzL3RleHQvdGV4dC50ZXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1ldGEsIFN0b3J5T2JqIH0gZnJvbSAnQHN0b3J5Ym9vay9yZWFjdC12aXRlJztcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBleHBlY3QsIGZuLCBmaXJlRXZlbnQsIHdhaXRGb3IgfSBmcm9tICdzdG9yeWJvb2svdGVzdCc7XG5pbXBvcnQgeyBDb250cm9sIH0gZnJvbSAnQC9jb21wb25lbnRzL2NvbnRyb2wnO1xuaW1wb3J0IGNuIGZyb20gJ0AvY29tcG9uZW50cy9jb250cm9sL2NvbXBvbmVudHMvdGV4dC90ZXh0Lm1vZHVsZS5jc3MnO1xuaW1wb3J0IGlucHV0Q24gZnJvbSAnQC9jb21wb25lbnRzL2NvbnRyb2wvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5tb2R1bGUuY3NzJztcblxuY29uc3QgbWV0YSA9IHtcbiAgdGl0bGU6ICdDb21wb25lbnRzL0NvbnRyb2wvVGV4dCcsXG4gIGNvbXBvbmVudDogQ29udHJvbC5UZXh0LFxuICB0YWdzOiBbJ2F1dG9kb2NzJ10sXG4gIGFyZ3M6IHtcbiAgICBsYWJlbDogJ1RleHQgbGFiZWwnLFxuICAgIHN0YXRlOiAnaWRsZScsXG4gICAgdHlwZTogJ3RleHQnLFxuICAgIGlkOiAndGV4dC1pbnB1dCcsXG4gICAgdmFsdWU6ICdTb21lIHZhbHVlJyxcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25DaGFuZ2U6IGZuKCksXG4gICAgb25Gb2N1czogZm4oKSxcbiAgICBvbkJsdXI6IGZuKCksXG4gIH0sXG4gIGFyZ1R5cGVzOiB7XG4gICAgc3RhdGU6IHtcbiAgICAgIGNvbnRyb2w6ICdzZWxlY3QnLFxuICAgICAgb3B0aW9uczogWydpZGxlJywgJ2Vycm9yJywgJ3N1Y2Nlc3MnLCAnd2FybmluZyddLFxuICAgIH0sXG4gICAgdHlwZToge1xuICAgICAgY29udHJvbDogJ3RleHQnLFxuICAgIH0sXG4gICAgZGlzYWJsZWQ6IHtcbiAgICAgIGNvbnRyb2w6ICdib29sZWFuJyxcbiAgICB9LFxuICB9LFxuICByZW5kZXI6IChhcmdzKSA9PiB7XG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSB1c2VTdGF0ZTxzdHJpbmc+KGFyZ3MudmFsdWUpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIHNldFZhbHVlKGFyZ3MudmFsdWUpO1xuICAgIH0sIFthcmdzLnZhbHVlXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBzdHlsZT17eyBtYXhXaWR0aDogMzAwIH19PlxuICAgICAgICA8Q29udHJvbC5UZXh0XG4gICAgICAgICAgey4uLmFyZ3N9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUsIGlkLCBzb3VyY2UpID0+IHtcbiAgICAgICAgICAgIHNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIGFyZ3Mub25DaGFuZ2U/Lih2YWx1ZSwgaWQsIHNvdXJjZSk7XG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH0sXG59IHNhdGlzZmllcyBNZXRhPHR5cGVvZiBDb250cm9sLlRleHQ+O1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhO1xudHlwZSBTdG9yeSA9IFN0b3J5T2JqPHR5cGVvZiBtZXRhPjtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRWYWx1ZXM6IFN0b3J5ID0ge1xuICBhcmdzOiB7XG4gICAgc3RhdGU6IHVuZGVmaW5lZCxcbiAgICB0eXBlOiB1bmRlZmluZWQsXG4gICAgb25BdXRvZmlsbDogdW5kZWZpbmVkLFxuICAgIG9uQXV0b2ZpbGxDYW5jZWw6IHVuZGVmaW5lZCxcbiAgICBkaXNhYmxlZDogdW5kZWZpbmVkLFxuICAgIG9uRm9jdXM6IHVuZGVmaW5lZCxcbiAgICBvbkJsdXI6IHVuZGVmaW5lZCxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBXaXRob3V0VmFsdWU6IFN0b3J5ID0ge1xuICBhcmdzOiB7XG4gICAgdmFsdWU6ICcnLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IEVuYWJsZWQ6IFN0b3J5ID0ge1xuICBhcmdzOiB7XG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IERpc2FibGVkOiBTdG9yeSA9IHtcbiAgYXJnczoge1xuICAgIGRpc2FibGVkOiB0cnVlLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IFN0YXRlSWRsZTogU3RvcnkgPSB7XG4gIGFyZ3M6IHtcbiAgICBzdGF0ZTogJ2lkbGUnLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IFN0YXRlRXJyb3I6IFN0b3J5ID0ge1xuICBhcmdzOiB7XG4gICAgc3RhdGU6ICdlcnJvcicsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgU3RhdGVTdWNjZXNzOiBTdG9yeSA9IHtcbiAgYXJnczoge1xuICAgIHN0YXRlOiAnc3VjY2VzcycsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgSW50ZXJhY3RpdmU6IFN0b3J5ID0ge1xuICBhcmdzOiB7XG4gICAgdmFsdWU6ICcnLFxuICB9LFxuICBwbGF5OiBhc3luYyAoeyBhcmdzLCBjYW52YXMsIHN0ZXAsIHVzZXJFdmVudCB9KSA9PiB7XG4gICAgY29uc3QgaW5wdXQgPSBjYW52YXMuZ2V0QnlUZXN0SWQoJ2lucHV0Jyk7XG4gICAgY29uc3QgbGFiZWwgPSBjYW52YXMuZ2V0QnlUZXN0SWQoJ3RleHQtbGFiZWwnKTtcblxuICAgIGF3YWl0IHN0ZXAoJ0luaXRpYWwgc3RhdGUgc2hvdWxkIGJlIGlkbGUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCBleHBlY3QoaW5wdXQpLnRvSGF2ZVZhbHVlKGFyZ3MudmFsdWUpO1xuICAgICAgYXdhaXQgZXhwZWN0KGxhYmVsKS50b0hhdmVDbGFzcyhjbi5UZXh0TGFiZWxJZGxlKTtcbiAgICB9KTtcblxuICAgIGF3YWl0IHN0ZXAoJ0ZvY3VzaW5nIGlucHV0IHNob3VsZCBhY3RpdmF0ZSBsYWJlbCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHVzZXJFdmVudC5jbGljayhpbnB1dCk7XG4gICAgICBhd2FpdCBleHBlY3QobGFiZWwpLnRvSGF2ZUNsYXNzKGNuLlRleHRMYWJlbEFjdGl2ZSk7XG4gICAgICBhd2FpdCBleHBlY3QoaW5wdXQpLnRvSGF2ZUZvY3VzKCk7XG4gICAgfSk7XG5cbiAgICBhd2FpdCBzdGVwKCdCbHVycmluZyBlbXB0eSBpbnB1dCBzaG91bGQgcmV0dXJuIHRvIGlkbGUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB1c2VyRXZlbnQudGFiKCk7XG4gICAgICBhd2FpdCBleHBlY3QobGFiZWwpLnRvSGF2ZUNsYXNzKGNuLlRleHRMYWJlbElkbGUpO1xuICAgICAgYXdhaXQgZXhwZWN0KGlucHV0KS5ub3QudG9IYXZlRm9jdXMoKTtcbiAgICB9KTtcblxuICAgIGF3YWl0IHN0ZXAoJ0F1dG9maWxsIHN0YXJ0IHNob3VsZCBhY3RpdmF0ZSBsYWJlbCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGZpcmVFdmVudC5hbmltYXRpb25TdGFydChpbnB1dCwgeyBhbmltYXRpb25OYW1lOiBpbnB1dENuWydhdXRvZmlsbC1zdGFydCddIH0pO1xuICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiBleHBlY3QobGFiZWwpLnRvSGF2ZUNsYXNzKGNuLlRleHRMYWJlbEFjdGl2ZSkpO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgc3RlcCgnQXV0b2ZpbGwgY2FuY2VsIHNob3VsZCBkZWFjdGl2YXRlIGxhYmVsJywgYXN5bmMgKCkgPT4ge1xuICAgICAgZmlyZUV2ZW50LmFuaW1hdGlvblN0YXJ0KGlucHV0LCB7IGFuaW1hdGlvbk5hbWU6IGlucHV0Q25bJ2F1dG9maWxsLWNhbmNlbCddIH0pO1xuICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiBleHBlY3QobGFiZWwpLnRvSGF2ZUNsYXNzKGNuLlRleHRMYWJlbElkbGUpKTtcbiAgICB9KTtcblxuICAgIGF3YWl0IHN0ZXAoJ1R5cGluZyBzaG91bGQga2VlcCBsYWJlbCBhY3RpdmUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB1c2VyRXZlbnQuY2xpY2soaW5wdXQpO1xuICAgICAgYXdhaXQgdXNlckV2ZW50LnR5cGUoaW5wdXQsICdIZWxsbyBXb3JsZCcpO1xuICAgICAgYXdhaXQgZXhwZWN0KGlucHV0KS50b0hhdmVWYWx1ZSgnSGVsbG8gV29ybGQnKTtcbiAgICAgIGF3YWl0IGV4cGVjdChsYWJlbCkudG9IYXZlQ2xhc3MoY24uVGV4dExhYmVsQWN0aXZlKTtcbiAgICB9KTtcblxuICAgIGF3YWl0IHN0ZXAoJ0JsdXJyaW5nIHdpdGggdmFsdWUgc2hvdWxkIGtlZXAgbGFiZWwgYWN0aXZlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgdXNlckV2ZW50LnRhYigpO1xuICAgICAgYXdhaXQgZXhwZWN0KGxhYmVsKS50b0hhdmVDbGFzcyhjbi5UZXh0TGFiZWxBY3RpdmUpO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgc3RlcCgnQXV0b2ZpbGwgY2FuY2VsIHdpdGggdmFsdWUgc2hvdWxkIGtlZXAgbGFiZWwgYWN0aXZlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgZmlyZUV2ZW50LmFuaW1hdGlvblN0YXJ0KGlucHV0LCB7IGFuaW1hdGlvbk5hbWU6IGlucHV0Q25bJ2F1dG9maWxsLWNhbmNlbCddIH0pO1xuICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiBleHBlY3QobGFiZWwpLnRvSGF2ZUNsYXNzKGNuLlRleHRMYWJlbEFjdGl2ZSkpO1xuICAgIH0pO1xuICB9LFxufTtcbiIsImltcG9ydCB7IGNvbXBvc2VTdG9yaWVzIH0gZnJvbSAnQHN0b3J5Ym9vay9yZWFjdC12aXRlJztcbmltcG9ydCB7IHJlbmRlciB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IHsgZGVzY3JpYmUsIGV4cGVjdCwgaXQgfSBmcm9tICd2aXRlc3QnO1xuaW1wb3J0ICogYXMgc3RvcmllcyBmcm9tICdAL2NvbXBvbmVudHMvY29udHJvbC9jb21wb25lbnRzL3RleHQvdGV4dC5zdG9yaWVzJztcblxuY29uc3QgeyBEZWZhdWx0VmFsdWVzLCBXaXRob3V0VmFsdWUsIEVuYWJsZWQsIERpc2FibGVkLCBTdGF0ZUlkbGUsIFN0YXRlRXJyb3IsIFN0YXRlU3VjY2VzcywgSW50ZXJhY3RpdmUgfSA9XG4gIGNvbXBvc2VTdG9yaWVzKHN0b3JpZXMpO1xuXG5kZXNjcmliZSgnVGV4dCBTbmFwc2hvdCcsICgpID0+IHtcbiAgaXQoJ0RlZmF1bHRWYWx1ZXMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8RGVmYXVsdFZhbHVlcyAvPik7XG4gICAgZXhwZWN0KGNvbnRhaW5lcikudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0pO1xuXG4gIGl0KCdXaXRob3V0VmFsdWUnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8V2l0aG91dFZhbHVlIC8+KTtcbiAgICBleHBlY3QoY29udGFpbmVyKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSk7XG5cbiAgaXQoJ0VuYWJsZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8RW5hYmxlZCAvPik7XG4gICAgZXhwZWN0KGNvbnRhaW5lcikudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0pO1xuXG4gIGl0KCdEaXNhYmxlZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxEaXNhYmxlZCAvPik7XG4gICAgZXhwZWN0KGNvbnRhaW5lcikudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0pO1xuXG4gIGl0KCdTdGF0ZUlkbGUnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8U3RhdGVJZGxlIC8+KTtcbiAgICBleHBlY3QoY29udGFpbmVyKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSk7XG5cbiAgaXQoJ1N0YXRlRXJyb3InLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8U3RhdGVFcnJvciAvPik7XG4gICAgZXhwZWN0KGNvbnRhaW5lcikudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0pO1xuXG4gIGl0KCdTdGF0ZVN1Y2Nlc3MnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8U3RhdGVTdWNjZXNzIC8+KTtcbiAgICBleHBlY3QoY29udGFpbmVyKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSk7XG5cbiAgaXQoJ0ludGVyYWN0aXZlJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPEludGVyYWN0aXZlIC8+KTtcbiAgICBleHBlY3QoY29udGFpbmVyKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSk7XG59KTtcbiJdLCJuYW1lcyI6WyJtZXRhIiwiQ29udHJvbCIsImZuIiwiYXJncyIsInZhbHVlIiwic2V0VmFsdWUiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsImpzeCIsImlkIiwic291cmNlIiwiRGVmYXVsdFZhbHVlcyIsIldpdGhvdXRWYWx1ZSIsIkVuYWJsZWQiLCJEaXNhYmxlZCIsIlN0YXRlSWRsZSIsIlN0YXRlRXJyb3IiLCJTdGF0ZVN1Y2Nlc3MiLCJJbnRlcmFjdGl2ZSIsImNhbnZhcyIsInN0ZXAiLCJ1c2VyRXZlbnQiLCJpbnB1dCIsImxhYmVsIiwiZXhwZWN0IiwiY24iLCJmaXJlRXZlbnQiLCJpbnB1dENuIiwid2FpdEZvciIsImNvbXBvc2VTdG9yaWVzIiwi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
@@ -0,0 +1,6 @@
1
+ import { InputProps } from '../input/input.types';
2
+ import { State } from '../../types';
3
+ export interface TextProps extends InputProps {
4
+ label: string;
5
+ state?: State;
6
+ }
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC50eXBlcy5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1 @@
1
+ export { Textarea } from './textarea.component';
@@ -0,0 +1,5 @@
1
+ import { T as r } from "../../../../index-DZTmNCEj.js";
2
+ export {
3
+ r as Textarea
4
+ };
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOyJ9
@@ -0,0 +1,2 @@
1
+ import { TextareaProps } from './textarea.types';
2
+ export declare const Textarea: (props: TextareaProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import "react/jsx-runtime";
2
+ import "usehooks-ts";
3
+ import { T as e } from "../../../../index-DZTmNCEj.js";
4
+ export {
5
+ e as Textarea
6
+ };
7
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OyJ9
@@ -0,0 +1,148 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { f as c, w as m, e as n, u as r, a as h, b as v, d as b, r as s } from "../../../../react.esm-CZ9PjZjp.js";
3
+ import { useState as y, useEffect as g } from "react";
4
+ import { d as S, e as f } from "../../../../index-DZTmNCEj.js";
5
+ import { d as p, i as l, g as i } from "../../../../vi.2VT5v0um-CyasTEXm.js";
6
+ const x = {
7
+ title: "Components/Control/Textarea",
8
+ component: S.Textarea,
9
+ tags: ["autodocs"],
10
+ args: {
11
+ state: "idle",
12
+ placeholder: "Textarea placeholder",
13
+ rows: 5,
14
+ onAutofill: c(),
15
+ onAutofillCancel: c(),
16
+ id: "textarea",
17
+ value: "Some value",
18
+ disabled: !1,
19
+ onChange: c(),
20
+ onFocus: c(),
21
+ onBlur: c()
22
+ },
23
+ argTypes: {
24
+ state: {
25
+ control: "select",
26
+ options: ["idle", "error", "success"]
27
+ },
28
+ rows: {
29
+ control: "number"
30
+ },
31
+ disabled: {
32
+ control: "boolean"
33
+ }
34
+ },
35
+ render: (a) => {
36
+ const [u, e] = y(a.value);
37
+ return g(() => {
38
+ e(a.value);
39
+ }, [a.value]), /* @__PURE__ */ o("div", { style: { maxWidth: 300 }, children: /* @__PURE__ */ o(
40
+ S.Textarea,
41
+ {
42
+ ...a,
43
+ value: u,
44
+ onChange: (d, t, w) => {
45
+ e(d), a.onChange?.(d, t, w);
46
+ }
47
+ }
48
+ ) });
49
+ }
50
+ }, A = {
51
+ args: {
52
+ state: void 0,
53
+ placeholder: void 0,
54
+ rows: void 0,
55
+ onAutofill: void 0,
56
+ onAutofillCancel: void 0,
57
+ disabled: void 0,
58
+ onFocus: void 0,
59
+ onBlur: void 0
60
+ }
61
+ }, E = {
62
+ args: {
63
+ value: ""
64
+ }
65
+ }, V = {
66
+ args: {
67
+ disabled: !1
68
+ }
69
+ }, C = {
70
+ args: {
71
+ disabled: !0
72
+ }
73
+ }, H = {
74
+ args: {
75
+ state: "idle"
76
+ }
77
+ }, I = {
78
+ args: {
79
+ state: "error"
80
+ }
81
+ }, M = {
82
+ args: {
83
+ state: "success"
84
+ }
85
+ }, T = {
86
+ args: {
87
+ value: ""
88
+ },
89
+ play: async ({ args: a, canvasElement: u, step: e }) => {
90
+ const t = m(u).getByTestId("textarea");
91
+ await e("Initial state should be idle", async () => {
92
+ await n(t).toHaveValue(a.value);
93
+ }), await e("Focusing textarea", async () => {
94
+ await r.click(t), await n(t).toHaveFocus();
95
+ }), await e("Blurring empty textarea", async () => {
96
+ await r.tab(), await n(t).not.toHaveFocus();
97
+ }), await e("Autofill start should trigger onAutofill", async () => {
98
+ h.animationStart(t, { animationName: f["autofill-start"] }), await v(() => n(t).toHaveAttribute("data-is-idle", "false"));
99
+ }), await e("Autofill cancel should trigger onAutofillCancel", async () => {
100
+ h.animationStart(t, { animationName: f["autofill-cancel"] }), await v(() => n(t).toHaveAttribute("data-is-idle", "true"));
101
+ }), await e("Typing should update value", async () => {
102
+ await r.click(t), await r.type(t, "Hello World"), await n(t).toHaveValue("Hello World");
103
+ }), await e("Blurring textarea with value", async () => {
104
+ await r.tab(), await n(t).not.toHaveFocus();
105
+ }), await e("Autofill cancel with value should trigger onAutofillCancel", async () => {
106
+ h.animationStart(t, { animationName: f["autofill-cancel"] }), await v(() => n(t).toHaveAttribute("data-is-idle", "false"));
107
+ });
108
+ }
109
+ }, D = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
110
+ __proto__: null,
111
+ DefaultValues: A,
112
+ Disabled: C,
113
+ Enabled: V,
114
+ Interactive: T,
115
+ StateError: I,
116
+ StateIdle: H,
117
+ StateSuccess: M,
118
+ WithoutValue: E,
119
+ default: x
120
+ }, Symbol.toStringTag, { value: "Module" })), { DefaultValues: $, WithoutValue: F, Enabled: W, Disabled: B, StateIdle: _, StateError: j, StateSuccess: N, Interactive: k } = b(D);
121
+ p("Textarea Snapshot", () => {
122
+ l("DefaultValues", async () => {
123
+ const { container: a } = s(/* @__PURE__ */ o($, {}));
124
+ i(a).toMatchSnapshot();
125
+ }), l("WithoutValue", async () => {
126
+ const { container: a } = s(/* @__PURE__ */ o(F, {}));
127
+ i(a).toMatchSnapshot();
128
+ }), l("Enabled", async () => {
129
+ const { container: a } = s(/* @__PURE__ */ o(W, {}));
130
+ i(a).toMatchSnapshot();
131
+ }), l("Disabled", async () => {
132
+ const { container: a } = s(/* @__PURE__ */ o(B, {}));
133
+ i(a).toMatchSnapshot();
134
+ }), l("StateIdle", async () => {
135
+ const { container: a } = s(/* @__PURE__ */ o(_, {}));
136
+ i(a).toMatchSnapshot();
137
+ }), l("StateError", async () => {
138
+ const { container: a } = s(/* @__PURE__ */ o(j, {}));
139
+ i(a).toMatchSnapshot();
140
+ }), l("StateSuccess", async () => {
141
+ const { container: a } = s(/* @__PURE__ */ o(N, {}));
142
+ i(a).toMatchSnapshot();
143
+ }), l("Interactive", async () => {
144
+ const { container: a } = s(/* @__PURE__ */ o(k, {}));
145
+ i(a).toMatchSnapshot();
146
+ });
147
+ });
148
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEudGVzdC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29udHJvbC9jb21wb25lbnRzL3RleHRhcmVhL3RleHRhcmVhLnN0b3JpZXMudHN4IiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29udHJvbC9jb21wb25lbnRzL3RleHRhcmVhL3RleHRhcmVhLnRlc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YSwgU3RvcnlPYmogfSBmcm9tICdAc3Rvcnlib29rL3JlYWN0LXZpdGUnO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGV4cGVjdCwgZm4sIGZpcmVFdmVudCwgdXNlckV2ZW50LCB3YWl0Rm9yLCB3aXRoaW4gfSBmcm9tICdzdG9yeWJvb2svdGVzdCc7XG5pbXBvcnQgeyBDb250cm9sIH0gZnJvbSAnQC9jb21wb25lbnRzL2NvbnRyb2wnO1xuaW1wb3J0IGNuIGZyb20gJ0AvY29tcG9uZW50cy9jb250cm9sL2NvbXBvbmVudHMvdGV4dGFyZWEvdGV4dGFyZWEubW9kdWxlLmNzcyc7XG5cbmNvbnN0IG1ldGEgPSB7XG4gIHRpdGxlOiAnQ29tcG9uZW50cy9Db250cm9sL1RleHRhcmVhJyxcbiAgY29tcG9uZW50OiBDb250cm9sLlRleHRhcmVhLFxuICB0YWdzOiBbJ2F1dG9kb2NzJ10sXG4gIGFyZ3M6IHtcbiAgICBzdGF0ZTogJ2lkbGUnLFxuICAgIHBsYWNlaG9sZGVyOiAnVGV4dGFyZWEgcGxhY2Vob2xkZXInLFxuICAgIHJvd3M6IDUsXG4gICAgb25BdXRvZmlsbDogZm4oKSxcbiAgICBvbkF1dG9maWxsQ2FuY2VsOiBmbigpLFxuICAgIGlkOiAndGV4dGFyZWEnLFxuICAgIHZhbHVlOiAnU29tZSB2YWx1ZScsXG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIG9uQ2hhbmdlOiBmbigpLFxuICAgIG9uRm9jdXM6IGZuKCksXG4gICAgb25CbHVyOiBmbigpLFxuICB9LFxuICBhcmdUeXBlczoge1xuICAgIHN0YXRlOiB7XG4gICAgICBjb250cm9sOiAnc2VsZWN0JyxcbiAgICAgIG9wdGlvbnM6IFsnaWRsZScsICdlcnJvcicsICdzdWNjZXNzJ10sXG4gICAgfSxcbiAgICByb3dzOiB7XG4gICAgICBjb250cm9sOiAnbnVtYmVyJyxcbiAgICB9LFxuICAgIGRpc2FibGVkOiB7XG4gICAgICBjb250cm9sOiAnYm9vbGVhbicsXG4gICAgfSxcbiAgfSxcbiAgcmVuZGVyOiAoYXJncykgPT4ge1xuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gdXNlU3RhdGU8c3RyaW5nPihhcmdzLnZhbHVlKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBzZXRWYWx1ZShhcmdzLnZhbHVlKTtcbiAgICB9LCBbYXJncy52YWx1ZV0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgc3R5bGU9e3sgbWF4V2lkdGg6IDMwMCB9fT5cbiAgICAgICAgPENvbnRyb2wuVGV4dGFyZWFcbiAgICAgICAgICB7Li4uYXJnc31cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSwgaWQsIHNvdXJjZSkgPT4ge1xuICAgICAgICAgICAgc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgYXJncy5vbkNoYW5nZT8uKHZhbHVlLCBpZCwgc291cmNlKTtcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfSxcbn0gc2F0aXNmaWVzIE1ldGE8dHlwZW9mIENvbnRyb2wuVGV4dGFyZWE+O1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhO1xudHlwZSBTdG9yeSA9IFN0b3J5T2JqPHR5cGVvZiBtZXRhPjtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRWYWx1ZXM6IFN0b3J5ID0ge1xuICBhcmdzOiB7XG4gICAgc3RhdGU6IHVuZGVmaW5lZCxcbiAgICBwbGFjZWhvbGRlcjogdW5kZWZpbmVkLFxuICAgIHJvd3M6IHVuZGVmaW5lZCxcbiAgICBvbkF1dG9maWxsOiB1bmRlZmluZWQsXG4gICAgb25BdXRvZmlsbENhbmNlbDogdW5kZWZpbmVkLFxuICAgIGRpc2FibGVkOiB1bmRlZmluZWQsXG4gICAgb25Gb2N1czogdW5kZWZpbmVkLFxuICAgIG9uQmx1cjogdW5kZWZpbmVkLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IFdpdGhvdXRWYWx1ZTogU3RvcnkgPSB7XG4gIGFyZ3M6IHtcbiAgICB2YWx1ZTogJycsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgRW5hYmxlZDogU3RvcnkgPSB7XG4gIGFyZ3M6IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgRGlzYWJsZWQ6IFN0b3J5ID0ge1xuICBhcmdzOiB7XG4gICAgZGlzYWJsZWQ6IHRydWUsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgU3RhdGVJZGxlOiBTdG9yeSA9IHtcbiAgYXJnczoge1xuICAgIHN0YXRlOiAnaWRsZScsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgU3RhdGVFcnJvcjogU3RvcnkgPSB7XG4gIGFyZ3M6IHtcbiAgICBzdGF0ZTogJ2Vycm9yJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBTdGF0ZVN1Y2Nlc3M6IFN0b3J5ID0ge1xuICBhcmdzOiB7XG4gICAgc3RhdGU6ICdzdWNjZXNzJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBJbnRlcmFjdGl2ZTogU3RvcnkgPSB7XG4gIGFyZ3M6IHtcbiAgICB2YWx1ZTogJycsXG4gIH0sXG4gIHBsYXk6IGFzeW5jICh7IGFyZ3MsIGNhbnZhc0VsZW1lbnQsIHN0ZXAgfSkgPT4ge1xuICAgIGNvbnN0IGNhbnZhcyA9IHdpdGhpbihjYW52YXNFbGVtZW50KTtcbiAgICBjb25zdCB0ZXh0YXJlYSA9IGNhbnZhcy5nZXRCeVRlc3RJZCgndGV4dGFyZWEnKTtcblxuICAgIGF3YWl0IHN0ZXAoJ0luaXRpYWwgc3RhdGUgc2hvdWxkIGJlIGlkbGUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCBleHBlY3QodGV4dGFyZWEpLnRvSGF2ZVZhbHVlKGFyZ3MudmFsdWUpO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgc3RlcCgnRm9jdXNpbmcgdGV4dGFyZWEnLCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB1c2VyRXZlbnQuY2xpY2sodGV4dGFyZWEpO1xuICAgICAgYXdhaXQgZXhwZWN0KHRleHRhcmVhKS50b0hhdmVGb2N1cygpO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgc3RlcCgnQmx1cnJpbmcgZW1wdHkgdGV4dGFyZWEnLCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB1c2VyRXZlbnQudGFiKCk7XG4gICAgICBhd2FpdCBleHBlY3QodGV4dGFyZWEpLm5vdC50b0hhdmVGb2N1cygpO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgc3RlcCgnQXV0b2ZpbGwgc3RhcnQgc2hvdWxkIHRyaWdnZXIgb25BdXRvZmlsbCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGZpcmVFdmVudC5hbmltYXRpb25TdGFydCh0ZXh0YXJlYSwgeyBhbmltYXRpb25OYW1lOiBjblsnYXV0b2ZpbGwtc3RhcnQnXSB9KTtcbiAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4gZXhwZWN0KHRleHRhcmVhKS50b0hhdmVBdHRyaWJ1dGUoJ2RhdGEtaXMtaWRsZScsICdmYWxzZScpKTtcbiAgICB9KTtcblxuICAgIGF3YWl0IHN0ZXAoJ0F1dG9maWxsIGNhbmNlbCBzaG91bGQgdHJpZ2dlciBvbkF1dG9maWxsQ2FuY2VsJywgYXN5bmMgKCkgPT4ge1xuICAgICAgZmlyZUV2ZW50LmFuaW1hdGlvblN0YXJ0KHRleHRhcmVhLCB7IGFuaW1hdGlvbk5hbWU6IGNuWydhdXRvZmlsbC1jYW5jZWwnXSB9KTtcbiAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4gZXhwZWN0KHRleHRhcmVhKS50b0hhdmVBdHRyaWJ1dGUoJ2RhdGEtaXMtaWRsZScsICd0cnVlJykpO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgc3RlcCgnVHlwaW5nIHNob3VsZCB1cGRhdGUgdmFsdWUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB1c2VyRXZlbnQuY2xpY2sodGV4dGFyZWEpO1xuICAgICAgYXdhaXQgdXNlckV2ZW50LnR5cGUodGV4dGFyZWEsICdIZWxsbyBXb3JsZCcpO1xuICAgICAgYXdhaXQgZXhwZWN0KHRleHRhcmVhKS50b0hhdmVWYWx1ZSgnSGVsbG8gV29ybGQnKTtcbiAgICB9KTtcblxuICAgIGF3YWl0IHN0ZXAoJ0JsdXJyaW5nIHRleHRhcmVhIHdpdGggdmFsdWUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB1c2VyRXZlbnQudGFiKCk7XG4gICAgICBhd2FpdCBleHBlY3QodGV4dGFyZWEpLm5vdC50b0hhdmVGb2N1cygpO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgc3RlcCgnQXV0b2ZpbGwgY2FuY2VsIHdpdGggdmFsdWUgc2hvdWxkIHRyaWdnZXIgb25BdXRvZmlsbENhbmNlbCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGZpcmVFdmVudC5hbmltYXRpb25TdGFydCh0ZXh0YXJlYSwgeyBhbmltYXRpb25OYW1lOiBjblsnYXV0b2ZpbGwtY2FuY2VsJ10gfSk7XG4gICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IGV4cGVjdCh0ZXh0YXJlYSkudG9IYXZlQXR0cmlidXRlKCdkYXRhLWlzLWlkbGUnLCAnZmFsc2UnKSk7XG4gICAgfSk7XG4gIH0sXG59O1xuIiwiaW1wb3J0IHsgY29tcG9zZVN0b3JpZXMgfSBmcm9tICdAc3Rvcnlib29rL3JlYWN0LXZpdGUnO1xuaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgeyBkZXNjcmliZSwgZXhwZWN0LCBpdCB9IGZyb20gJ3ZpdGVzdCc7XG5pbXBvcnQgKiBhcyBzdG9yaWVzIGZyb20gJ0AvY29tcG9uZW50cy9jb250cm9sL2NvbXBvbmVudHMvdGV4dGFyZWEvdGV4dGFyZWEuc3Rvcmllcyc7XG5cbmNvbnN0IHsgRGVmYXVsdFZhbHVlcywgV2l0aG91dFZhbHVlLCBFbmFibGVkLCBEaXNhYmxlZCwgU3RhdGVJZGxlLCBTdGF0ZUVycm9yLCBTdGF0ZVN1Y2Nlc3MsIEludGVyYWN0aXZlIH0gPVxuICBjb21wb3NlU3RvcmllcyhzdG9yaWVzKTtcblxuZGVzY3JpYmUoJ1RleHRhcmVhIFNuYXBzaG90JywgKCkgPT4ge1xuICBpdCgnRGVmYXVsdFZhbHVlcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxEZWZhdWx0VmFsdWVzIC8+KTtcbiAgICBleHBlY3QoY29udGFpbmVyKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSk7XG5cbiAgaXQoJ1dpdGhvdXRWYWx1ZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxXaXRob3V0VmFsdWUgLz4pO1xuICAgIGV4cGVjdChjb250YWluZXIpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICB9KTtcblxuICBpdCgnRW5hYmxlZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxFbmFibGVkIC8+KTtcbiAgICBleHBlY3QoY29udGFpbmVyKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSk7XG5cbiAgaXQoJ0Rpc2FibGVkJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPERpc2FibGVkIC8+KTtcbiAgICBleHBlY3QoY29udGFpbmVyKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSk7XG5cbiAgaXQoJ1N0YXRlSWRsZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxTdGF0ZUlkbGUgLz4pO1xuICAgIGV4cGVjdChjb250YWluZXIpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICB9KTtcblxuICBpdCgnU3RhdGVFcnJvcicsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxTdGF0ZUVycm9yIC8+KTtcbiAgICBleHBlY3QoY29udGFpbmVyKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSk7XG5cbiAgaXQoJ1N0YXRlU3VjY2VzcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxTdGF0ZVN1Y2Nlc3MgLz4pO1xuICAgIGV4cGVjdChjb250YWluZXIpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICB9KTtcblxuICBpdCgnSW50ZXJhY3RpdmUnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8SW50ZXJhY3RpdmUgLz4pO1xuICAgIGV4cGVjdChjb250YWluZXIpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICB9KTtcbn0pO1xuIl0sIm5hbWVzIjpbIm1ldGEiLCJDb250cm9sIiwiZm4iLCJhcmdzIiwidmFsdWUiLCJzZXRWYWx1ZSIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwianN4IiwiaWQiLCJzb3VyY2UiLCJEZWZhdWx0VmFsdWVzIiwiV2l0aG91dFZhbHVlIiwiRW5hYmxlZCIsIkRpc2FibGVkIiwiU3RhdGVJZGxlIiwiU3RhdGVFcnJvciIsIlN0YXRlU3VjY2VzcyIsIkludGVyYWN0aXZlIiwiY2FudmFzRWxlbWVudCIsInN0ZXAiLCJ0ZXh0YXJlYSIsIndpdGhpbiIsImV4cGVjdCIsInVzZXJFdmVudCIsImZpcmVFdmVudCIsImNuIiwid2FpdEZvciIsImNvbXBvc2VTdG9yaWVzIiwic3RvcmllcyIsImRlc2NyaWJlIiwiaXQiLCJjb250YWluZXIiLCJyZW5kZXIiXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUEsTUFBTUEsSUFBTztBQUFBLEVBQ1gsT0FBTztBQUFBLEVBQ1AsV0FBV0MsRUFBUTtBQUFBLEVBQ25CLE1BQU0sQ0FBQyxVQUFVO0FBQUEsRUFDakIsTUFBTTtBQUFBLElBQ0osT0FBTztBQUFBLElBQ1AsYUFBYTtBQUFBLElBQ2IsTUFBTTtBQUFBLElBQ04sWUFBWUMsRUFBQTtBQUFBLElBQ1osa0JBQWtCQSxFQUFBO0FBQUEsSUFDbEIsSUFBSTtBQUFBLElBQ0osT0FBTztBQUFBLElBQ1AsVUFBVTtBQUFBLElBQ1YsVUFBVUEsRUFBQTtBQUFBLElBQ1YsU0FBU0EsRUFBQTtBQUFBLElBQ1QsUUFBUUEsRUFBQTtBQUFBLEVBQUc7QUFBQSxFQUViLFVBQVU7QUFBQSxJQUNSLE9BQU87QUFBQSxNQUNMLFNBQVM7QUFBQSxNQUNULFNBQVMsQ0FBQyxRQUFRLFNBQVMsU0FBUztBQUFBLElBQUE7QUFBQSxJQUV0QyxNQUFNO0FBQUEsTUFDSixTQUFTO0FBQUEsSUFBQTtBQUFBLElBRVgsVUFBVTtBQUFBLE1BQ1IsU0FBUztBQUFBLElBQUE7QUFBQSxFQUNYO0FBQUEsRUFFRixRQUFRLENBQUNDLE1BQVM7QUFDaEIsVUFBTSxDQUFDQyxHQUFPQyxDQUFRLElBQUlDLEVBQWlCSCxFQUFLLEtBQUs7QUFFckQsV0FBQUksRUFBVSxNQUFNO0FBQ2QsTUFBQUYsRUFBU0YsRUFBSyxLQUFLO0FBQUEsSUFDckIsR0FBRyxDQUFDQSxFQUFLLEtBQUssQ0FBQyxxQkFHWixPQUFBLEVBQUksT0FBTyxFQUFFLFVBQVUsT0FDdEIsVUFBQSxnQkFBQUs7QUFBQSxNQUFDUCxFQUFRO0FBQUEsTUFBUjtBQUFBLFFBQ0UsR0FBR0U7QUFBQSxRQUNKLE9BQUFDO0FBQUEsUUFDQSxVQUFVLENBQUNBLEdBQU9LLEdBQUlDLE1BQVc7QUFDL0IsVUFBQUwsRUFBU0QsQ0FBSyxHQUNkRCxFQUFLLFdBQVdDLEdBQU9LLEdBQUlDLENBQU07QUFBQSxRQUNuQztBQUFBLE1BQUE7QUFBQSxJQUFBLEdBRUo7QUFBQSxFQUVKO0FBQ0YsR0FLYUMsSUFBdUI7QUFBQSxFQUNsQyxNQUFNO0FBQUEsSUFDSixPQUFPO0FBQUEsSUFDUCxhQUFhO0FBQUEsSUFDYixNQUFNO0FBQUEsSUFDTixZQUFZO0FBQUEsSUFDWixrQkFBa0I7QUFBQSxJQUNsQixVQUFVO0FBQUEsSUFDVixTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFBQTtBQUVaLEdBRWFDLElBQXNCO0FBQUEsRUFDakMsTUFBTTtBQUFBLElBQ0osT0FBTztBQUFBLEVBQUE7QUFFWCxHQUVhQyxJQUFpQjtBQUFBLEVBQzVCLE1BQU07QUFBQSxJQUNKLFVBQVU7QUFBQSxFQUFBO0FBRWQsR0FFYUMsSUFBa0I7QUFBQSxFQUM3QixNQUFNO0FBQUEsSUFDSixVQUFVO0FBQUEsRUFBQTtBQUVkLEdBRWFDLElBQW1CO0FBQUEsRUFDOUIsTUFBTTtBQUFBLElBQ0osT0FBTztBQUFBLEVBQUE7QUFFWCxHQUVhQyxJQUFvQjtBQUFBLEVBQy9CLE1BQU07QUFBQSxJQUNKLE9BQU87QUFBQSxFQUFBO0FBRVgsR0FFYUMsSUFBc0I7QUFBQSxFQUNqQyxNQUFNO0FBQUEsSUFDSixPQUFPO0FBQUEsRUFBQTtBQUVYLEdBRWFDLElBQXFCO0FBQUEsRUFDaEMsTUFBTTtBQUFBLElBQ0osT0FBTztBQUFBLEVBQUE7QUFBQSxFQUVULE1BQU0sT0FBTyxFQUFFLE1BQUFmLEdBQU0sZUFBQWdCLEdBQWUsTUFBQUMsUUFBVztBQUU3QyxVQUFNQyxJQURTQyxFQUFPSCxDQUFhLEVBQ1gsWUFBWSxVQUFVO0FBRTlDLFVBQU1DLEVBQUssZ0NBQWdDLFlBQVk7QUFDckQsWUFBTUcsRUFBT0YsQ0FBUSxFQUFFLFlBQVlsQixFQUFLLEtBQUs7QUFBQSxJQUMvQyxDQUFDLEdBRUQsTUFBTWlCLEVBQUsscUJBQXFCLFlBQVk7QUFDMUMsWUFBTUksRUFBVSxNQUFNSCxDQUFRLEdBQzlCLE1BQU1FLEVBQU9GLENBQVEsRUFBRSxZQUFBO0FBQUEsSUFDekIsQ0FBQyxHQUVELE1BQU1ELEVBQUssMkJBQTJCLFlBQVk7QUFDaEQsWUFBTUksRUFBVSxJQUFBLEdBQ2hCLE1BQU1ELEVBQU9GLENBQVEsRUFBRSxJQUFJLFlBQUE7QUFBQSxJQUM3QixDQUFDLEdBRUQsTUFBTUQsRUFBSyw0Q0FBNEMsWUFBWTtBQUNqRUssTUFBQUEsRUFBVSxlQUFlSixHQUFVLEVBQUUsZUFBZUssRUFBRyxnQkFBZ0IsR0FBRyxHQUMxRSxNQUFNQyxFQUFRLE1BQU1KLEVBQU9GLENBQVEsRUFBRSxnQkFBZ0IsZ0JBQWdCLE9BQU8sQ0FBQztBQUFBLElBQy9FLENBQUMsR0FFRCxNQUFNRCxFQUFLLG1EQUFtRCxZQUFZO0FBQ3hFSyxNQUFBQSxFQUFVLGVBQWVKLEdBQVUsRUFBRSxlQUFlSyxFQUFHLGlCQUFpQixHQUFHLEdBQzNFLE1BQU1DLEVBQVEsTUFBTUosRUFBT0YsQ0FBUSxFQUFFLGdCQUFnQixnQkFBZ0IsTUFBTSxDQUFDO0FBQUEsSUFDOUUsQ0FBQyxHQUVELE1BQU1ELEVBQUssOEJBQThCLFlBQVk7QUFDbkQsWUFBTUksRUFBVSxNQUFNSCxDQUFRLEdBQzlCLE1BQU1HLEVBQVUsS0FBS0gsR0FBVSxhQUFhLEdBQzVDLE1BQU1FLEVBQU9GLENBQVEsRUFBRSxZQUFZLGFBQWE7QUFBQSxJQUNsRCxDQUFDLEdBRUQsTUFBTUQsRUFBSyxnQ0FBZ0MsWUFBWTtBQUNyRCxZQUFNSSxFQUFVLElBQUEsR0FDaEIsTUFBTUQsRUFBT0YsQ0FBUSxFQUFFLElBQUksWUFBQTtBQUFBLElBQzdCLENBQUMsR0FFRCxNQUFNRCxFQUFLLDhEQUE4RCxZQUFZO0FBQ25GSyxNQUFBQSxFQUFVLGVBQWVKLEdBQVUsRUFBRSxlQUFlSyxFQUFHLGlCQUFpQixHQUFHLEdBQzNFLE1BQU1DLEVBQVEsTUFBTUosRUFBT0YsQ0FBUSxFQUFFLGdCQUFnQixnQkFBZ0IsT0FBTyxDQUFDO0FBQUEsSUFDL0UsQ0FBQztBQUFBLEVBQ0g7QUFDRjs7Ozs7Ozs7Ozs7OENDeEpNLEVBQUUsZUFBQVYsR0FBZSxjQUFBQyxHQUFjLFNBQUFDLEdBQVMsVUFBQUMsR0FBVSxXQUFBQyxHQUFXLFlBQUFDLEdBQVksY0FBQUMsR0FBYyxhQUFBQyxNQUMzRlUsRUFBZUMsQ0FBTztBQUV4QkMsRUFBUyxxQkFBcUIsTUFBTTtBQUNsQyxFQUFBQyxFQUFHLGlCQUFpQixZQUFZO0FBQzlCLFVBQU0sRUFBRSxXQUFBQyxFQUFBLElBQWNDLEVBQU8sZ0JBQUF6QixFQUFDRyxLQUFjLENBQUU7QUFDOUNZLElBQUFBLEVBQU9TLENBQVMsRUFBRSxnQkFBQTtBQUFBLEVBQ3BCLENBQUMsR0FFREQsRUFBRyxnQkFBZ0IsWUFBWTtBQUM3QixVQUFNLEVBQUUsV0FBQUMsRUFBQSxJQUFjQyxFQUFPLGdCQUFBekIsRUFBQ0ksS0FBYSxDQUFFO0FBQzdDVyxJQUFBQSxFQUFPUyxDQUFTLEVBQUUsZ0JBQUE7QUFBQSxFQUNwQixDQUFDLEdBRURELEVBQUcsV0FBVyxZQUFZO0FBQ3hCLFVBQU0sRUFBRSxXQUFBQyxFQUFBLElBQWNDLEVBQU8sZ0JBQUF6QixFQUFDSyxLQUFRLENBQUU7QUFDeENVLElBQUFBLEVBQU9TLENBQVMsRUFBRSxnQkFBQTtBQUFBLEVBQ3BCLENBQUMsR0FFREQsRUFBRyxZQUFZLFlBQVk7QUFDekIsVUFBTSxFQUFFLFdBQUFDLEVBQUEsSUFBY0MsRUFBTyxnQkFBQXpCLEVBQUNNLEtBQVMsQ0FBRTtBQUN6Q1MsSUFBQUEsRUFBT1MsQ0FBUyxFQUFFLGdCQUFBO0FBQUEsRUFDcEIsQ0FBQyxHQUVERCxFQUFHLGFBQWEsWUFBWTtBQUMxQixVQUFNLEVBQUUsV0FBQUMsRUFBQSxJQUFjQyxFQUFPLGdCQUFBekIsRUFBQ08sS0FBVSxDQUFFO0FBQzFDUSxJQUFBQSxFQUFPUyxDQUFTLEVBQUUsZ0JBQUE7QUFBQSxFQUNwQixDQUFDLEdBRURELEVBQUcsY0FBYyxZQUFZO0FBQzNCLFVBQU0sRUFBRSxXQUFBQyxFQUFBLElBQWNDLEVBQU8sZ0JBQUF6QixFQUFDUSxLQUFXLENBQUU7QUFDM0NPLElBQUFBLEVBQU9TLENBQVMsRUFBRSxnQkFBQTtBQUFBLEVBQ3BCLENBQUMsR0FFREQsRUFBRyxnQkFBZ0IsWUFBWTtBQUM3QixVQUFNLEVBQUUsV0FBQUMsRUFBQSxJQUFjQyxFQUFPLGdCQUFBekIsRUFBQ1MsS0FBYSxDQUFFO0FBQzdDTSxJQUFBQSxFQUFPUyxDQUFTLEVBQUUsZ0JBQUE7QUFBQSxFQUNwQixDQUFDLEdBRURELEVBQUcsZUFBZSxZQUFZO0FBQzVCLFVBQU0sRUFBRSxXQUFBQyxFQUFBLElBQWNDLEVBQU8sZ0JBQUF6QixFQUFDVSxLQUFZLENBQUU7QUFDNUNLLElBQUFBLEVBQU9TLENBQVMsRUFBRSxnQkFBQTtBQUFBLEVBQ3BCLENBQUM7QUFDSCxDQUFDOyJ9
@@ -0,0 +1,8 @@
1
+ import { Interactive, State } from '../../types';
2
+ export interface TextareaProps extends Interactive<string> {
3
+ state?: State;
4
+ placeholder?: string;
5
+ rows?: number;
6
+ onAutofill?: (id: string) => void;
7
+ onAutofillCancel?: (id: string) => void;
8
+ }
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEudHlwZXMuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1 @@
1
+ export { useChoice } from './useChoice';
@@ -0,0 +1,5 @@
1
+ import { useChoice as r } from "./useChoice/useChoice.hook.js";
2
+ export {
3
+ r as useChoice
4
+ };
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOyJ9
@@ -0,0 +1 @@
1
+ export { useChoice } from './useChoice.hook';
@@ -0,0 +1,5 @@
1
+ import { useChoice as r } from "./useChoice.hook.js";
2
+ export {
3
+ r as useChoice
4
+ };
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOyJ9
@@ -0,0 +1,5 @@
1
+ import { ChoiceType, ChoiceValue, InputChangeSource, Interactive } from '../../types';
2
+ export declare const useChoice: (value: ChoiceValue, id: string, cb: Interactive<ChoiceValue>["onChange"]) => {
3
+ type: ChoiceType;
4
+ onChoiceChange: (newValue: string, source?: InputChangeSource) => void;
5
+ };
@@ -0,0 +1,10 @@
1
+ const s = (o, i, e) => ({
2
+ type: typeof o == "string" ? "radio" : "checkbox",
3
+ onChoiceChange: (t, r) => {
4
+ e(typeof o == "string" ? t : o.includes(t) ? o.filter((n) => n !== t).filter(Boolean) : [...o, t].filter(Boolean), i, r);
5
+ }
6
+ });
7
+ export {
8
+ s as useChoice
9
+ };
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlQ2hvaWNlLmhvb2suanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbnRyb2wvaG9va3MvdXNlQ2hvaWNlL3VzZUNob2ljZS5ob29rLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2hvaWNlVHlwZSwgQ2hvaWNlVmFsdWUsIElucHV0Q2hhbmdlU291cmNlLCBJbnRlcmFjdGl2ZSB9IGZyb20gJ0AvY29tcG9uZW50cy9jb250cm9sL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IHVzZUNob2ljZSA9ICh2YWx1ZTogQ2hvaWNlVmFsdWUsIGlkOiBzdHJpbmcsIGNiOiBJbnRlcmFjdGl2ZTxDaG9pY2VWYWx1ZT5bJ29uQ2hhbmdlJ10pID0+IHtcbiAgY29uc3QgdHlwZTogQ2hvaWNlVHlwZSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyAncmFkaW8nIDogJ2NoZWNrYm94JztcblxuICByZXR1cm4ge1xuICAgIHR5cGUsXG4gICAgb25DaG9pY2VDaGFuZ2U6IChuZXdWYWx1ZTogc3RyaW5nLCBzb3VyY2U/OiBJbnB1dENoYW5nZVNvdXJjZSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY2IobmV3VmFsdWUsIGlkLCBzb3VyY2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2IoXG4gICAgICAgICAgdmFsdWUuaW5jbHVkZXMobmV3VmFsdWUpXG4gICAgICAgICAgICA/IHZhbHVlLmZpbHRlcigodikgPT4gdiAhPT0gbmV3VmFsdWUpLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgICAgOiBbLi4udmFsdWUsIG5ld1ZhbHVlXS5maWx0ZXIoQm9vbGVhbiksXG4gICAgICAgICAgaWQsXG4gICAgICAgICAgc291cmNlLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG59O1xuIl0sIm5hbWVzIjpbInVzZUNob2ljZSIsInZhbHVlIiwiaWQiLCJjYiIsIm5ld1ZhbHVlIiwic291cmNlIiwidiJdLCJtYXBwaW5ncyI6IkFBRU8sTUFBTUEsSUFBWSxDQUFDQyxHQUFvQkMsR0FBWUMsT0FHakQ7QUFBQSxFQUNMLE1BSHVCLE9BQU9GLEtBQVUsV0FBVyxVQUFVO0FBQUEsRUFJN0QsZ0JBQWdCLENBQUNHLEdBQWtCQyxNQUErQjtBQUNoRSxJQUNFRixFQURFLE9BQU9GLEtBQVUsV0FDaEJHLElBR0RILEVBQU0sU0FBU0csQ0FBUSxJQUNuQkgsRUFBTSxPQUFPLENBQUNLLE1BQU1BLE1BQU1GLENBQVEsRUFBRSxPQUFPLE9BQU8sSUFDbEQsQ0FBQyxHQUFHSCxHQUFPRyxDQUFRLEVBQUUsT0FBTyxPQUFPLEdBTDVCRixHQUFJRyxDQUFNO0FBQUEsRUFVM0I7QUFBQTsifQ==
@@ -0,0 +1,35 @@
1
+ import { useChoice as n } from "./useChoice.hook.js";
2
+ import { d as a, i, v as c, g as s } from "../../../../vi.2VT5v0um-CyasTEXm.js";
3
+ a("useChoice", () => {
4
+ const t = "test-id";
5
+ a("Radio", () => {
6
+ i("should return radio type when value is string", () => {
7
+ const o = c.fn(), { type: e } = n("option1", t, o);
8
+ s(e).toBe("radio");
9
+ }), i("should call callback with new value, with source specified", () => {
10
+ const o = c.fn(), { onChoiceChange: e } = n("option1", t, o);
11
+ e("option2", "mouse"), s(o).toHaveBeenCalledWith("option2", t, "mouse");
12
+ }), i("should call callback with new value, without source specified", () => {
13
+ const o = c.fn(), { onChoiceChange: e } = n("option1", t, o);
14
+ e("option2"), s(o).toHaveBeenCalledWith("option2", t, void 0);
15
+ });
16
+ }), a("Checkbox", () => {
17
+ i("should return checkbox type when value is array of strings", () => {
18
+ const o = c.fn(), { type: e } = n(["option1"], t, o);
19
+ s(e).toBe("checkbox");
20
+ }), i("should add value when not present", () => {
21
+ const o = c.fn(), { onChoiceChange: e } = n(["option1"], t, o);
22
+ e("option2", "keyboard"), s(o).toHaveBeenCalledWith(["option1", "option2"], t, "keyboard");
23
+ }), i("should remove value when present", () => {
24
+ const o = c.fn(), { onChoiceChange: e } = n(["option1", "option2"], t, o);
25
+ e("option1", "keyboard"), s(o).toHaveBeenCalledWith(["option2"], t, "keyboard");
26
+ }), i("should filter out empty values", () => {
27
+ const o = c.fn(), { onChoiceChange: e } = n(["option1"], t, o);
28
+ e("", "mouse"), s(o).toHaveBeenCalledWith(["option1"], t, "mouse");
29
+ }), i("should call callback with new value, without source specified", () => {
30
+ const o = c.fn(), { onChoiceChange: e } = n(["option1"], t, o);
31
+ e("option2"), s(o).toHaveBeenCalledWith(["option1", "option2"], t, void 0);
32
+ });
33
+ });
34
+ });
35
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlQ2hvaWNlLmhvb2sudGVzdC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29udHJvbC9ob29rcy91c2VDaG9pY2UvdXNlQ2hvaWNlLmhvb2sudGVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZXNjcmliZSwgZXhwZWN0LCBpdCwgdmkgfSBmcm9tICd2aXRlc3QnO1xuaW1wb3J0IHsgdXNlQ2hvaWNlIH0gZnJvbSAnQC9jb21wb25lbnRzL2NvbnRyb2wvaG9va3MnO1xuXG5kZXNjcmliZSgndXNlQ2hvaWNlJywgKCkgPT4ge1xuICBjb25zdCBpZCA9ICd0ZXN0LWlkJztcblxuICBkZXNjcmliZSgnUmFkaW8nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gcmFkaW8gdHlwZSB3aGVuIHZhbHVlIGlzIHN0cmluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IGNiID0gdmkuZm4oKTtcbiAgICAgIGNvbnN0IHsgdHlwZSB9ID0gdXNlQ2hvaWNlKCdvcHRpb24xJywgaWQsIGNiKTtcbiAgICAgIGV4cGVjdCh0eXBlKS50b0JlKCdyYWRpbycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjYWxsIGNhbGxiYWNrIHdpdGggbmV3IHZhbHVlLCB3aXRoIHNvdXJjZSBzcGVjaWZpZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBjYiA9IHZpLmZuKCk7XG4gICAgICBjb25zdCB7IG9uQ2hvaWNlQ2hhbmdlIH0gPSB1c2VDaG9pY2UoJ29wdGlvbjEnLCBpZCwgY2IpO1xuICAgICAgb25DaG9pY2VDaGFuZ2UoJ29wdGlvbjInLCAnbW91c2UnKTtcbiAgICAgIGV4cGVjdChjYikudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ29wdGlvbjInLCBpZCwgJ21vdXNlJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGNhbGwgY2FsbGJhY2sgd2l0aCBuZXcgdmFsdWUsIHdpdGhvdXQgc291cmNlIHNwZWNpZmllZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGNiID0gdmkuZm4oKTtcbiAgICAgIGNvbnN0IHsgb25DaG9pY2VDaGFuZ2UgfSA9IHVzZUNob2ljZSgnb3B0aW9uMScsIGlkLCBjYik7XG4gICAgICBvbkNob2ljZUNoYW5nZSgnb3B0aW9uMicpO1xuICAgICAgZXhwZWN0KGNiKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnb3B0aW9uMicsIGlkLCB1bmRlZmluZWQpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnQ2hlY2tib3gnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gY2hlY2tib3ggdHlwZSB3aGVuIHZhbHVlIGlzIGFycmF5IG9mIHN0cmluZ3MnLCAoKSA9PiB7XG4gICAgICBjb25zdCBjYiA9IHZpLmZuKCk7XG4gICAgICBjb25zdCB7IHR5cGUgfSA9IHVzZUNob2ljZShbJ29wdGlvbjEnXSwgaWQsIGNiKTtcbiAgICAgIGV4cGVjdCh0eXBlKS50b0JlKCdjaGVja2JveCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBhZGQgdmFsdWUgd2hlbiBub3QgcHJlc2VudCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGNiID0gdmkuZm4oKTtcbiAgICAgIGNvbnN0IHsgb25DaG9pY2VDaGFuZ2UgfSA9IHVzZUNob2ljZShbJ29wdGlvbjEnXSwgaWQsIGNiKTtcbiAgICAgIG9uQ2hvaWNlQ2hhbmdlKCdvcHRpb24yJywgJ2tleWJvYXJkJyk7XG4gICAgICBleHBlY3QoY2IpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFsnb3B0aW9uMScsICdvcHRpb24yJ10sIGlkLCAna2V5Ym9hcmQnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVtb3ZlIHZhbHVlIHdoZW4gcHJlc2VudCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGNiID0gdmkuZm4oKTtcbiAgICAgIGNvbnN0IHsgb25DaG9pY2VDaGFuZ2UgfSA9IHVzZUNob2ljZShbJ29wdGlvbjEnLCAnb3B0aW9uMiddLCBpZCwgY2IpO1xuICAgICAgb25DaG9pY2VDaGFuZ2UoJ29wdGlvbjEnLCAna2V5Ym9hcmQnKTtcbiAgICAgIGV4cGVjdChjYikudG9IYXZlQmVlbkNhbGxlZFdpdGgoWydvcHRpb24yJ10sIGlkLCAna2V5Ym9hcmQnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmlsdGVyIG91dCBlbXB0eSB2YWx1ZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBjYiA9IHZpLmZuKCk7XG4gICAgICBjb25zdCB7IG9uQ2hvaWNlQ2hhbmdlIH0gPSB1c2VDaG9pY2UoWydvcHRpb24xJ10sIGlkLCBjYik7XG4gICAgICBvbkNob2ljZUNoYW5nZSgnJywgJ21vdXNlJyk7XG4gICAgICBleHBlY3QoY2IpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFsnb3B0aW9uMSddLCBpZCwgJ21vdXNlJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGNhbGwgY2FsbGJhY2sgd2l0aCBuZXcgdmFsdWUsIHdpdGhvdXQgc291cmNlIHNwZWNpZmllZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGNiID0gdmkuZm4oKTtcbiAgICAgIGNvbnN0IHsgb25DaG9pY2VDaGFuZ2UgfSA9IHVzZUNob2ljZShbJ29wdGlvbjEnXSwgaWQsIGNiKTtcbiAgICAgIG9uQ2hvaWNlQ2hhbmdlKCdvcHRpb24yJyk7XG4gICAgICBleHBlY3QoY2IpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFsnb3B0aW9uMScsICdvcHRpb24yJ10sIGlkLCB1bmRlZmluZWQpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiaWQiLCJpdCIsImNiIiwidmkiLCJ0eXBlIiwidXNlQ2hvaWNlIiwiZXhwZWN0Iiwib25DaG9pY2VDaGFuZ2UiXSwibWFwcGluZ3MiOiI7O0FBR0FBLEVBQVMsYUFBYSxNQUFNO0FBQzFCLFFBQU1DLElBQUs7QUFFWCxFQUFBRCxFQUFTLFNBQVMsTUFBTTtBQUN0QixJQUFBRSxFQUFHLGlEQUFpRCxNQUFNO0FBQ3hELFlBQU1D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
@@ -0,0 +1,17 @@
1
+ export declare const Control: {
2
+ Box: import('react').ForwardRefExoticComponent<import('./components/box/box.types').BoxProps & import('react').RefAttributes<HTMLDivElement>>;
3
+ Button: (props: import('./components/button/button.types').ButtonProps) => import("react/jsx-runtime").JSX.Element;
4
+ CardImage: (props: import('./components/card-image/card-image.types').CardImageProps) => import("react/jsx-runtime").JSX.Element;
5
+ CardText: (props: import('./components/card-text/card-text.types').CardTextProps) => import("react/jsx-runtime").JSX.Element;
6
+ Checkbox: (props: import('./components/checkbox/checkbox.types').CheckboxProps) => import("react/jsx-runtime").JSX.Element;
7
+ Choice: (props: import('./components/choice/choice.types').ChoiceProps) => import("react/jsx-runtime").JSX.Element;
8
+ Dropdown: (props: import('./components/dropdown/dropdown.types').DropdownProps) => import("react/jsx-runtime").JSX.Element;
9
+ HiddenInput: (props: import('./components/hidden-input/hidden-input.types').HiddenInputProps) => import("react/jsx-runtime").JSX.Element;
10
+ Input: ({ id, value, disabled, type, onAutofill, onAutofillCancel, onChange, onFocus, onBlur, }: import('./components/input/input.types').InputProps) => import("react/jsx-runtime").JSX.Element;
11
+ Label: (props: import('./components/label/label.types').LabelProps) => import("react/jsx-runtime").JSX.Element;
12
+ Radio: (props: import('./components/radio/radio.types').RadioProps) => import("react/jsx-runtime").JSX.Element;
13
+ RadioLabel: <T extends import('./types').ChoiceValue>(props: import('./components/radio-label/radio-label.types').RadioLabelProps<T>) => import("react/jsx-runtime").JSX.Element;
14
+ RadioText: (props: import('./components/radio-text/radio-text.types').RadioTextProps) => import("react/jsx-runtime").JSX.Element;
15
+ Text: (props: import('./components/text/text.types').TextProps) => import("react/jsx-runtime").JSX.Element;
16
+ Textarea: (props: import('./components/textarea/textarea.types').TextareaProps) => import("react/jsx-runtime").JSX.Element;
17
+ };
@@ -0,0 +1,13 @@
1
+ import "./components/box/box.component.js";
2
+ import "./components/button/button.component.js";
3
+ import { d as l } from "../../index-DZTmNCEj.js";
4
+ import "./components/choice/choice.component.js";
5
+ import "./components/hidden-input/hidden-input.component.js";
6
+ import "../../input.component-Ju0oHzs9.js";
7
+ import "./components/label/label.component.js";
8
+ import "./components/radio-label/radio-label.component.js";
9
+ import "./components/radio-text/radio-text.component.js";
10
+ export {
11
+ l as Control
12
+ };
13
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7In0=
@@ -0,0 +1,35 @@
1
+ export type InputChangeSource = 'mouse' | 'keyboard';
2
+ export interface Interactive<V> {
3
+ id: string;
4
+ value: V;
5
+ disabled?: boolean;
6
+ onChange: (value: V, id: string, source?: InputChangeSource) => void;
7
+ onFocus?: (id: string) => void;
8
+ onBlur?: (id: string) => void;
9
+ }
10
+ export type RadioChoice = {
11
+ label: string;
12
+ value: string;
13
+ icon?: string;
14
+ };
15
+ export type ChoiceType = 'radio' | 'checkbox';
16
+ export type ChoiceValue = string | string[];
17
+ export type State = 'idle' | 'error' | 'success';
18
+ export type QuestionPath = string[];
19
+ export type QuestionChoice = {
20
+ value: string;
21
+ label: string;
22
+ icon?: string;
23
+ /**
24
+ * - string[] - array of question keys, that defines future path;
25
+ * - string - valid url that would be used for redirect;
26
+ */
27
+ path?: QuestionPath | string;
28
+ info?: string;
29
+ isPreselected?: boolean;
30
+ isDefault?: boolean;
31
+ };
32
+ export type Size = {
33
+ width: number;
34
+ height: number;
35
+ };
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1 @@
1
+ export { getChoiceId, containsHtml, clickHasNode } from './utils';
@@ -0,0 +1,7 @@
1
+ import { clickHasNode as e, containsHtml as t, getChoiceId as i } from "./utils.js";
2
+ export {
3
+ e as clickHasNode,
4
+ t as containsHtml,
5
+ i as getChoiceId
6
+ };
7
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOyJ9
@@ -0,0 +1,4 @@
1
+ import { RefObject } from 'react';
2
+ export declare const getChoiceId: (id: string, value: string, index: number) => string;
3
+ export declare const containsHtml: (str?: string) => boolean;
4
+ export declare const clickHasNode: (event: MouseEvent | TouchEvent | FocusEvent, element: RefObject<HTMLElement>) => boolean;
@@ -0,0 +1,7 @@
1
+ const c = (t, n, r) => [t, r, n.replace(/\s+/g, "-")].join("-"), e = (t) => /<([a-z][a-z0-9]*)\b[^>]*>(.*?)<\/\1>|<([a-z][a-z0-9]*)\b[^>]*\/?>/i.test(t || ""), o = (t, n) => !!(n.current && n.current.contains(t.target));
2
+ export {
3
+ o as clickHasNode,
4
+ e as containsHtml,
5
+ c as getChoiceId
6
+ };
7
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbnRyb2wvdXRpbHMvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QgfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBjb25zdCBnZXRDaG9pY2VJZCA9IChpZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gIHJldHVybiBbaWQsIGluZGV4LCB2YWx1ZS5yZXBsYWNlKC9cXHMrL2csICctJyldLmpvaW4oJy0nKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb250YWluc0h0bWwgPSAoc3RyPzogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiAvPChbYS16XVthLXowLTldKilcXGJbXj5dKj4oLio/KTxcXC9cXDE+fDwoW2Etel1bYS16MC05XSopXFxiW14+XSpcXC8/Pi9pLnRlc3Qoc3RyIHx8ICcnKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjbGlja0hhc05vZGUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50IHwgRm9jdXNFdmVudCwgZWxlbWVudDogUmVmT2JqZWN0PEhUTUxFbGVtZW50Pik6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gQm9vbGVhbihlbGVtZW50LmN1cnJlbnQgJiYgZWxlbWVudC5jdXJyZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSk7XG59O1xuIl0sIm5hbWVzIjpbImdldENob2ljZUlkIiwiaWQiLCJ2YWx1ZSIsImluZGV4IiwiY29udGFpbnNIdG1sIiwic3RyIiwiY2xpY2tIYXNOb2RlIiwiZXZlbnQiLCJlbGVtZW50Il0sIm1hcHBpbmdzIjoiQUFFTyxNQUFNQSxJQUFjLENBQUNDLEdBQVlDLEdBQWVDLE1BQzlDLENBQUNGLEdBQUlFLEdBQU9ELEVBQU0sUUFBUSxRQUFRLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxHQUc1Q0UsSUFBZSxDQUFDQyxNQUNwQixxRUFBcUUsS0FBS0EsS0FBTyxFQUFFLEdBRy9FQyxJQUFlLENBQUNDLEdBQTZDQyxNQUNqRSxHQUFRQSxFQUFRLFdBQVdBLEVBQVEsUUFBUSxTQUFTRCxFQUFNLE1BQWM7In0=
@@ -0,0 +1 @@
1
+ export {};