solid-ui 3.1.3-10 → 3.1.3-11

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 (173) hide show
  1. package/dist/_virtual/~icons/svg-spinners/3-dots-fade.cjs.js +2 -0
  2. package/dist/_virtual/~icons/svg-spinners/3-dots-fade.cjs.js.map +1 -0
  3. package/dist/_virtual/~icons/svg-spinners/3-dots-fade.esm.js +11 -0
  4. package/dist/_virtual/~icons/svg-spinners/3-dots-fade.esm.js.map +1 -0
  5. package/dist/chunks/{DialogProvider-CrvbR_fd.js → DialogProvider-ge2aA77F.js} +3 -3
  6. package/dist/chunks/DialogProvider-ge2aA77F.js.map +1 -0
  7. package/dist/chunks/{account-Ma2Ipfjx.js → account-CdqIoTsl.js} +11 -11
  8. package/dist/chunks/{account-Ma2Ipfjx.js.map → account-CdqIoTsl.js.map} +1 -1
  9. package/dist/chunks/{auth-BI22fz6P.js → auth-D8B5yczR.js} +9 -9
  10. package/dist/chunks/{auth-BI22fz6P.js.map → auth-D8B5yczR.js.map} +1 -1
  11. package/dist/chunks/{avatar-DN7FzC2N.js → avatar-DNGFKkhm.js} +4 -4
  12. package/dist/chunks/{avatar-DN7FzC2N.js.map → avatar-DNGFKkhm.js.map} +1 -1
  13. package/dist/chunks/{button-DHahwxqn.js → button-oanBb_ha.js} +2 -2
  14. package/dist/chunks/{button-DHahwxqn.js.map → button-oanBb_ha.js.map} +1 -1
  15. package/dist/chunks/combobox-Dav1bNHS.js +734 -0
  16. package/dist/chunks/combobox-Dav1bNHS.js.map +1 -0
  17. package/dist/chunks/{combobox-option-DB6KGb7o.js → combobox-option-DxJvAZ_Q.js} +2 -2
  18. package/dist/chunks/{combobox-option-DB6KGb7o.js.map → combobox-option-DxJvAZ_Q.js.map} +1 -1
  19. package/dist/chunks/{components-DH1slGZY.js → components-PQfnwrHI.js} +10 -10
  20. package/dist/chunks/components-PQfnwrHI.js.map +1 -0
  21. package/dist/chunks/{context-CA1Kq0FW.js → context-B_xwK-Y_.js} +2 -2
  22. package/dist/chunks/{context-CA1Kq0FW.js.map → context-B_xwK-Y_.js.map} +1 -1
  23. package/dist/chunks/{dialog-YaqTwAtR.js → dialog-Ujvm11_B.js} +5 -5
  24. package/dist/chunks/{dialog-YaqTwAtR.js.map → dialog-Ujvm11_B.js.map} +1 -1
  25. package/dist/chunks/{dialog-content-B3I3H7hj.js → dialog-content-CEITrC59.js} +2 -2
  26. package/dist/chunks/{dialog-content-B3I3H7hj.js.map → dialog-content-CEITrC59.js.map} +1 -1
  27. package/dist/chunks/{dialog-footer-BjcYeVhg.js → dialog-footer-DVLEK5bU.js} +2 -2
  28. package/dist/chunks/{dialog-footer-BjcYeVhg.js.map → dialog-footer-DVLEK5bU.js.map} +1 -1
  29. package/dist/chunks/{dialog-header-BynEzovK.js → dialog-header-kEWl21oD.js} +2 -2
  30. package/dist/chunks/{dialog-header-BynEzovK.js.map → dialog-header-kEWl21oD.js.map} +1 -1
  31. package/dist/chunks/{dialogs-root-B61LtZks.js → dialogs-root-dPGfuzSZ.js} +3 -3
  32. package/dist/chunks/{dialogs-root-B61LtZks.js.map → dialogs-root-dPGfuzSZ.js.map} +1 -1
  33. package/dist/chunks/{guard-YhbCPY-V.js → guard-DZGvf4tS.js} +4 -4
  34. package/dist/chunks/{guard-YhbCPY-V.js.map → guard-DZGvf4tS.js.map} +1 -1
  35. package/dist/chunks/{input-CVKu3XRI.js → input-BjCX2bFe.js} +8 -8
  36. package/dist/chunks/input-BjCX2bFe.js.map +1 -0
  37. package/dist/chunks/{login-button-76PlEs2Y.js → login-button-Ta3tkpn4.js} +5 -5
  38. package/dist/chunks/{login-button-76PlEs2Y.js.map → login-button-Ta3tkpn4.js.map} +1 -1
  39. package/dist/chunks/{logout-button-Dt3Utgj0.js → logout-button-Db6VmUmJ.js} +5 -5
  40. package/dist/chunks/{logout-button-Dt3Utgj0.js.map → logout-button-Db6VmUmJ.js.map} +1 -1
  41. package/dist/chunks/{menu-6ayNsxFG.js → menu-CQEXqNO6.js} +2 -2
  42. package/dist/chunks/{menu-6ayNsxFG.js.map → menu-CQEXqNO6.js.map} +1 -1
  43. package/dist/chunks/{menu-item-Ckl9f1rG.js → menu-item-BHJ4xljI.js} +2 -2
  44. package/dist/chunks/{menu-item-Ckl9f1rG.js.map → menu-item-BHJ4xljI.js.map} +1 -1
  45. package/dist/chunks/{provider-BfO67dzy.js → provider-CoVkCkMs.js} +5 -5
  46. package/dist/chunks/provider-CoVkCkMs.js.map +1 -0
  47. package/dist/chunks/{select-DHFgELMJ.js → select-OM-SgY4K.js} +101 -66
  48. package/dist/chunks/select-OM-SgY4K.js.map +1 -0
  49. package/dist/chunks/{select-option-Duk4S4Sc.js → select-option-pVhYlXrt.js} +2 -2
  50. package/dist/chunks/{select-option-Duk4S4Sc.js.map → select-option-pVhYlXrt.js.map} +1 -1
  51. package/dist/chunks/{signup-button-B10K6b8A.js → signup-button-wO4uoqUi.js} +5 -5
  52. package/dist/chunks/{signup-button-B10K6b8A.js.map → signup-button-wO4uoqUi.js.map} +1 -1
  53. package/dist/chunks/{solid-emblem-DgBJk5Th.js → solid-emblem-D2clBuKZ.js} +2 -2
  54. package/dist/chunks/{solid-emblem-DgBJk5Th.js.map → solid-emblem-D2clBuKZ.js.map} +1 -1
  55. package/dist/chunks/{src-CdZhCYdF.js → src-B9CXYA44.js} +3 -3
  56. package/dist/chunks/{src-CdZhCYdF.js.map → src-B9CXYA44.js.map} +1 -1
  57. package/dist/components/account.js +1 -1
  58. package/dist/components/avatar.js +1 -1
  59. package/dist/components/button.js +1 -1
  60. package/dist/components/combobox/Combobox.cjs.js +21 -21
  61. package/dist/components/combobox/Combobox.cjs.js.map +1 -1
  62. package/dist/components/combobox/Combobox.d.ts +30 -3
  63. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  64. package/dist/components/combobox/Combobox.esm.js +268 -107
  65. package/dist/components/combobox/Combobox.esm.js.map +1 -1
  66. package/dist/components/combobox/Combobox.stories.d.ts +54 -0
  67. package/dist/components/combobox/Combobox.stories.d.ts.map +1 -1
  68. package/dist/components/combobox/Combobox.styles.cjs.js +1 -1
  69. package/dist/components/combobox/Combobox.styles.cjs.js.map +1 -1
  70. package/dist/components/combobox/Combobox.styles.esm.js +1 -1
  71. package/dist/components/combobox/Combobox.styles.esm.js.map +1 -1
  72. package/dist/components/combobox/index.cjs.js +1 -1
  73. package/dist/components/combobox/index.cjs.js.map +1 -1
  74. package/dist/components/combobox/index.d.ts +1 -0
  75. package/dist/components/combobox/index.d.ts.map +1 -1
  76. package/dist/components/combobox/index.esm.js +3 -3
  77. package/dist/components/combobox/index.esm.js.map +1 -1
  78. package/dist/components/combobox-option.js +1 -1
  79. package/dist/components/combobox.js +2 -2
  80. package/dist/components/dialog-content.js +1 -1
  81. package/dist/components/dialog-footer.js +1 -1
  82. package/dist/components/dialog-header.js +1 -1
  83. package/dist/components/dialog-provider/DialogProvider.cjs.js.map +1 -1
  84. package/dist/components/dialog-provider/DialogProvider.d.ts +2 -1
  85. package/dist/components/dialog-provider/DialogProvider.d.ts.map +1 -1
  86. package/dist/components/dialog-provider/DialogProvider.esm.js.map +1 -1
  87. package/dist/components/dialog-provider.js +1 -1
  88. package/dist/components/dialog.js +1 -1
  89. package/dist/components/dialogs-root.js +1 -1
  90. package/dist/components/guard.js +1 -1
  91. package/dist/components/input/Input.cjs.js +5 -5
  92. package/dist/components/input/Input.cjs.js.map +1 -1
  93. package/dist/components/input/Input.d.ts +1 -1
  94. package/dist/components/input/Input.d.ts.map +1 -1
  95. package/dist/components/input/Input.esm.js +7 -7
  96. package/dist/components/input/Input.esm.js.map +1 -1
  97. package/dist/components/input.js +1 -1
  98. package/dist/components/login-button.js +1 -1
  99. package/dist/components/login-modal.js +1 -1
  100. package/dist/components/logout-button.js +1 -1
  101. package/dist/components/menu-item.js +1 -1
  102. package/dist/components/menu.js +1 -1
  103. package/dist/components/provider/Provider.cjs.js.map +1 -1
  104. package/dist/components/provider/Provider.d.ts +2 -1
  105. package/dist/components/provider/Provider.d.ts.map +1 -1
  106. package/dist/components/provider/Provider.esm.js.map +1 -1
  107. package/dist/components/provider.js +1 -1
  108. package/dist/components/select/Select.cjs.js +7 -6
  109. package/dist/components/select/Select.cjs.js.map +1 -1
  110. package/dist/components/select/Select.d.ts +12 -2
  111. package/dist/components/select/Select.d.ts.map +1 -1
  112. package/dist/components/select/Select.esm.js +96 -65
  113. package/dist/components/select/Select.esm.js.map +1 -1
  114. package/dist/components/select/index.cjs.js.map +1 -1
  115. package/dist/components/select/index.d.ts +1 -0
  116. package/dist/components/select/index.d.ts.map +1 -1
  117. package/dist/components/select/index.esm.js.map +1 -1
  118. package/dist/components/select-option.js +1 -1
  119. package/dist/components/select.js +1 -1
  120. package/dist/components/signup-button.js +1 -1
  121. package/dist/components/solid-emblem.js +1 -1
  122. package/dist/components.js +22 -22
  123. package/dist/index.cjs.js +1 -1
  124. package/dist/index.cjs.js.map +1 -1
  125. package/dist/index.esm.js +2 -2
  126. package/dist/index.js +6 -6
  127. package/dist/lib/components/index.cjs.js +1 -1
  128. package/dist/lib/components/index.esm.js +2 -2
  129. package/dist/lib/components/traits/FormControlTrait.cjs.js +2 -0
  130. package/dist/lib/components/traits/FormControlTrait.cjs.js.map +1 -0
  131. package/dist/lib/components/traits/{InputTrait.d.ts → FormControlTrait.d.ts} +10 -11
  132. package/dist/lib/components/traits/FormControlTrait.d.ts.map +1 -0
  133. package/dist/lib/components/traits/FormControlTrait.esm.js +45 -0
  134. package/dist/lib/components/traits/FormControlTrait.esm.js.map +1 -0
  135. package/dist/lib/components/traits/index.cjs.js +1 -1
  136. package/dist/lib/components/traits/index.d.ts +2 -2
  137. package/dist/lib/components/traits/index.d.ts.map +1 -1
  138. package/dist/lib/components/traits/index.esm.js +2 -2
  139. package/dist/lib/components/web-component/WebComponent.cjs.js.map +1 -1
  140. package/dist/lib/components/web-component/WebComponent.d.ts +2 -2
  141. package/dist/lib/components/web-component/WebComponent.d.ts.map +1 -1
  142. package/dist/lib/components/web-component/WebComponent.esm.js.map +1 -1
  143. package/dist/lib/timing.cjs.js +2 -0
  144. package/dist/lib/timing.cjs.js.map +1 -0
  145. package/dist/lib/timing.d.ts +6 -0
  146. package/dist/lib/timing.d.ts.map +1 -0
  147. package/dist/lib/timing.esm.js +13 -0
  148. package/dist/lib/timing.esm.js.map +1 -0
  149. package/dist/lib/values.cjs.js +2 -0
  150. package/dist/lib/values.cjs.js.map +1 -0
  151. package/dist/lib/values.d.ts +2 -0
  152. package/dist/lib/values.d.ts.map +1 -0
  153. package/dist/lib/values.esm.js +8 -0
  154. package/dist/lib/values.esm.js.map +1 -0
  155. package/dist/loader.js +6 -6
  156. package/dist/solid-ui.js +91 -90
  157. package/dist/solid-ui.min.js +91 -90
  158. package/dist/solid-ui.min.js.map +1 -1
  159. package/dist/storybook/components/StorybookProvider.d.ts +2 -1
  160. package/dist/storybook/components/StorybookProvider.d.ts.map +1 -1
  161. package/package.json +2 -1
  162. package/dist/chunks/DialogProvider-CrvbR_fd.js.map +0 -1
  163. package/dist/chunks/combobox-BWOPh9dj.js +0 -474
  164. package/dist/chunks/combobox-BWOPh9dj.js.map +0 -1
  165. package/dist/chunks/components-DH1slGZY.js.map +0 -1
  166. package/dist/chunks/input-CVKu3XRI.js.map +0 -1
  167. package/dist/chunks/provider-BfO67dzy.js.map +0 -1
  168. package/dist/chunks/select-DHFgELMJ.js.map +0 -1
  169. package/dist/lib/components/traits/InputTrait.cjs.js +0 -2
  170. package/dist/lib/components/traits/InputTrait.cjs.js.map +0 -1
  171. package/dist/lib/components/traits/InputTrait.d.ts.map +0 -1
  172. package/dist/lib/components/traits/InputTrait.esm.js +0 -45
  173. package/dist/lib/components/traits/InputTrait.esm.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","names":["Select"],"sources":["../../../src/components/select/index.ts"],"sourcesContent":["import Select from './Select'\n\nexport { Select }\nexport default Select\n"],"mappings":"kIAGA,IAAA,EAAeA,EAAAA"}
1
+ {"version":3,"file":"index.cjs.js","names":["Select"],"sources":["../../../src/components/select/index.ts"],"sourcesContent":["import Select from './Select'\n\nexport * from './Select'\nexport { Select }\nexport default Select\n"],"mappings":"kIAIA,IAAA,EAAeA,EAAAA"}
@@ -1,4 +1,5 @@
1
1
  import { default as Select } from './Select';
2
+ export * from './Select';
2
3
  export { Select };
3
4
  export default Select;
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/select/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/select/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,eAAe,MAAM,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","names":["Select"],"sources":["../../../src/components/select/index.ts"],"sourcesContent":["import Select from './Select'\n\nexport { Select }\nexport default Select\n"],"mappings":";;AAGA,IAAA,IAAeA"}
1
+ {"version":3,"file":"index.esm.js","names":["Select"],"sources":["../../../src/components/select/index.ts"],"sourcesContent":["import Select from './Select'\n\nexport * from './Select'\nexport { Select }\nexport default Select\n"],"mappings":";;AAIA,IAAA,IAAeA"}
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../chunks/select-option-Duk4S4Sc.js";
1
+ import { n as e, t } from "../chunks/select-option-pVhYlXrt.js";
2
2
  export { e as SelectOption, t as default };
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../chunks/select-DHFgELMJ.js";
1
+ import { n as e, t } from "../chunks/select-OM-SgY4K.js";
2
2
  export { e as Select, t as default };
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../chunks/signup-button-B10K6b8A.js";
1
+ import { n as e, t } from "../chunks/signup-button-wO4uoqUi.js";
2
2
  export { e as SignupButton, t as default };
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../chunks/solid-emblem-DgBJk5Th.js";
1
+ import { n as e, t } from "../chunks/solid-emblem-D2clBuKZ.js";
2
2
  export { e as SolidEmblem, t as default };
@@ -1,25 +1,25 @@
1
- import "./chunks/auth-BI22fz6P.js";
2
- import "./chunks/dialog-YaqTwAtR.js";
3
- import "./chunks/dialog-header-BynEzovK.js";
4
- import "./chunks/button-DHahwxqn.js";
5
- import "./chunks/dialog-content-B3I3H7hj.js";
6
- import "./chunks/dialog-footer-BjcYeVhg.js";
7
- import "./chunks/combobox-BWOPh9dj.js";
8
- import "./chunks/combobox-option-DB6KGb7o.js";
9
- import "./chunks/avatar-DN7FzC2N.js";
10
- import "./chunks/login-button-76PlEs2Y.js";
11
- import "./chunks/logout-button-Dt3Utgj0.js";
12
- import "./chunks/menu-item-Ckl9f1rG.js";
13
- import "./chunks/menu-6ayNsxFG.js";
14
- import "./chunks/signup-button-B10K6b8A.js";
15
- import "./chunks/account-Ma2Ipfjx.js";
1
+ import "./chunks/auth-D8B5yczR.js";
2
+ import "./chunks/dialog-Ujvm11_B.js";
3
+ import "./chunks/dialog-header-kEWl21oD.js";
4
+ import "./chunks/button-oanBb_ha.js";
5
+ import "./chunks/dialog-content-CEITrC59.js";
6
+ import "./chunks/dialog-footer-DVLEK5bU.js";
7
+ import "./chunks/combobox-Dav1bNHS.js";
8
+ import "./chunks/combobox-option-DxJvAZ_Q.js";
9
+ import "./chunks/avatar-DNGFKkhm.js";
10
+ import "./chunks/login-button-Ta3tkpn4.js";
11
+ import "./chunks/logout-button-Db6VmUmJ.js";
12
+ import "./chunks/menu-item-BHJ4xljI.js";
13
+ import "./chunks/menu-CQEXqNO6.js";
14
+ import "./chunks/signup-button-wO4uoqUi.js";
15
+ import "./chunks/account-CdqIoTsl.js";
16
16
  import "./components/dialog-provider.js";
17
- import "./chunks/dialogs-root-B61LtZks.js";
17
+ import "./chunks/dialogs-root-dPGfuzSZ.js";
18
18
  import "./chunks/footer-BLSjn5ur.js";
19
- import "./chunks/guard-YhbCPY-V.js";
20
- import "./chunks/input-CVKu3XRI.js";
19
+ import "./chunks/guard-DZGvf4tS.js";
20
+ import "./chunks/input-BjCX2bFe.js";
21
21
  import "./chunks/photo-capture-DzK6wZF4.js";
22
- import "./chunks/provider-BfO67dzy.js";
23
- import "./chunks/select-DHFgELMJ.js";
24
- import "./chunks/select-option-Duk4S4Sc.js";
25
- import "./chunks/solid-emblem-DgBJk5Th.js";
22
+ import "./chunks/provider-CoVkCkMs.js";
23
+ import "./chunks/select-OM-SgY4K.js";
24
+ import "./chunks/select-option-pVhYlXrt.js";
25
+ import "./chunks/solid-emblem-D2clBuKZ.js";
package/dist/index.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./lib/ns.cjs.js"),t=require("./lib/log.cjs.js"),n=require("./utils/index.cjs.js"),r=require("./lib/style.cjs.js"),i=require("./lib/iconBase.cjs.js"),a=require("./widgets/forms/autocomplete/language.cjs.js"),o=require("./widgets/index.cjs.js"),s=require("./login/login.cjs.js"),c=require("./acl/index.cjs.js"),l=require("./create/index.cjs.js"),u=require("./matrix/index.cjs.js"),d=require("./media/index.cjs.js"),f=require("./lib/messageArea.cjs.js"),p=require("./lib/participation.cjs.js"),m=require("./lib/pad.cjs.js"),h=require("./chat/infinite.cjs.js"),g=require("./lib/preferences.cjs.js"),_=require("./lib/table.cjs.js"),v=require("./lib/tabs.cjs.js"),y=require("./header/index.cjs.js"),b=require("./footer/index.cjs.js"),x=require("./create/types.cjs.js"),S=require("./lib/auth/Account.cjs.js"),C=require("./lib/auth/NoopAuth.cjs.js"),w=require("./lib/auth/context.cjs.js"),T=require("./lib/components/ids.cjs.js"),E=require("./lib/dialogs/context.cjs.js"),D=require("./lib/components/decorators.cjs.js"),O=require("./lib/components/web-component/WebComponent.cjs.js"),k=require("./lib/dialogs/events/close-dialog.cjs.js"),A=require("./lib/components/traits/DialogTrait.cjs.js"),j=require("./lib/components/traits/InputTrait.cjs.js");require("./lib/components/index.cjs.js");const M=require("./lib/dialogs/Dialog.cjs.js"),N=require("./lib/dialogs/events/show-dialog.cjs.js"),P=require("./lib/dialogs/helpers.cjs.js");require("./lib/dialogs/index.cjs.js");const F=require("./lib/auth/SolidAuth.cjs.js");require("./lib/auth/index.cjs.js");var I=typeof window<`u`?window.document:null;exports.Account=S.default,exports.CloseDialogEvent=k.CloseDialogEvent,exports.DEFAULT_AUTH_CONTEXT=w.DEFAULT_AUTH_CONTEXT,exports.DEFAULT_DIALOG_CONTEXT=E.DEFAULT_DIALOG_CONTEXT,exports.DEFAULT_SIGNUP_URL=F.DEFAULT_SIGNUP_URL,exports.Dialog=M.default,exports.DialogTrait=A.default,exports.InputTrait=j.default,exports.NoopAuth=C.default,exports.ShowDialogEvent=N.ShowDialogEvent,exports.SolidAuth=F.default,exports.WebComponent=O.default,exports.acl=c.acl,exports.aclControl=c.aclControl,exports.authContext=w.authContext,exports.create=l.create,Object.defineProperty(exports,"createTypes",{enumerable:!0,get:function(){return x.types_exports}}),exports.customElement=D.customElement,exports.dialogContext=E.dialogContext,exports.dom=I,exports.generateId=T.generateId,exports.icons=i.icons,exports.infiniteMessageArea=h.infiniteMessageArea,exports.initFooter=b.initFooter,exports.initHeader=y.initHeader,Object.defineProperty(exports,"language",{enumerable:!0,get:function(){return a.language_exports}}),Object.defineProperty(exports,"log",{enumerable:!0,get:function(){return t.log_exports}}),Object.defineProperty(exports,"login",{enumerable:!0,get:function(){return s.login_exports}}),exports.matrix=u.matrix,exports.media=d.media,exports.messageArea=f.messageArea,exports.ns=e.default,Object.defineProperty(exports,"pad",{enumerable:!0,get:function(){return m.pad_exports}}),Object.defineProperty(exports,"participation",{enumerable:!0,get:function(){return p.participation_exports}}),Object.defineProperty(exports,"preferences",{enumerable:!0,get:function(){return g.preferences_exports}}),exports.showDialog=P.showDialog,exports.style=r.style,exports.table=_.renderTableViewPane,Object.defineProperty(exports,"tabs",{enumerable:!0,get:function(){return v.tabs_exports}}),Object.defineProperty(exports,"utils",{enumerable:!0,get:function(){return n.utils_exports}}),Object.defineProperty(exports,"widgets",{enumerable:!0,get:function(){return o.widgets_exports}});
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./lib/ns.cjs.js"),t=require("./lib/log.cjs.js"),n=require("./utils/index.cjs.js"),r=require("./lib/style.cjs.js"),i=require("./lib/iconBase.cjs.js"),a=require("./widgets/forms/autocomplete/language.cjs.js"),o=require("./widgets/index.cjs.js"),s=require("./login/login.cjs.js"),c=require("./acl/index.cjs.js"),l=require("./create/index.cjs.js"),u=require("./matrix/index.cjs.js"),d=require("./media/index.cjs.js"),f=require("./lib/messageArea.cjs.js"),p=require("./lib/participation.cjs.js"),m=require("./lib/pad.cjs.js"),h=require("./chat/infinite.cjs.js"),g=require("./lib/preferences.cjs.js"),_=require("./lib/table.cjs.js"),v=require("./lib/tabs.cjs.js"),y=require("./header/index.cjs.js"),b=require("./footer/index.cjs.js"),x=require("./create/types.cjs.js"),S=require("./lib/auth/Account.cjs.js"),C=require("./lib/auth/NoopAuth.cjs.js"),w=require("./lib/auth/context.cjs.js"),T=require("./lib/components/ids.cjs.js"),E=require("./lib/dialogs/context.cjs.js"),D=require("./lib/components/decorators.cjs.js"),O=require("./lib/components/web-component/WebComponent.cjs.js"),k=require("./lib/dialogs/events/close-dialog.cjs.js"),A=require("./lib/components/traits/DialogTrait.cjs.js"),j=require("./lib/components/traits/FormControlTrait.cjs.js");require("./lib/components/index.cjs.js");const M=require("./lib/dialogs/Dialog.cjs.js"),N=require("./lib/dialogs/events/show-dialog.cjs.js"),P=require("./lib/dialogs/helpers.cjs.js");require("./lib/dialogs/index.cjs.js");const F=require("./lib/auth/SolidAuth.cjs.js");require("./lib/auth/index.cjs.js");var I=typeof window<`u`?window.document:null;exports.Account=S.default,exports.CloseDialogEvent=k.CloseDialogEvent,exports.DEFAULT_AUTH_CONTEXT=w.DEFAULT_AUTH_CONTEXT,exports.DEFAULT_DIALOG_CONTEXT=E.DEFAULT_DIALOG_CONTEXT,exports.DEFAULT_SIGNUP_URL=F.DEFAULT_SIGNUP_URL,exports.Dialog=M.default,exports.DialogTrait=A.default,exports.FormControlTrait=j.default,exports.NoopAuth=C.default,exports.ShowDialogEvent=N.ShowDialogEvent,exports.SolidAuth=F.default,exports.WebComponent=O.default,exports.acl=c.acl,exports.aclControl=c.aclControl,exports.authContext=w.authContext,exports.create=l.create,Object.defineProperty(exports,"createTypes",{enumerable:!0,get:function(){return x.types_exports}}),exports.customElement=D.customElement,exports.dialogContext=E.dialogContext,exports.dom=I,exports.generateId=T.generateId,exports.icons=i.icons,exports.infiniteMessageArea=h.infiniteMessageArea,exports.initFooter=b.initFooter,exports.initHeader=y.initHeader,Object.defineProperty(exports,"language",{enumerable:!0,get:function(){return a.language_exports}}),Object.defineProperty(exports,"log",{enumerable:!0,get:function(){return t.log_exports}}),Object.defineProperty(exports,"login",{enumerable:!0,get:function(){return s.login_exports}}),exports.matrix=u.matrix,exports.media=d.media,exports.messageArea=f.messageArea,exports.ns=e.default,Object.defineProperty(exports,"pad",{enumerable:!0,get:function(){return m.pad_exports}}),Object.defineProperty(exports,"participation",{enumerable:!0,get:function(){return p.participation_exports}}),Object.defineProperty(exports,"preferences",{enumerable:!0,get:function(){return g.preferences_exports}}),exports.showDialog=P.showDialog,exports.style=r.style,exports.table=_.renderTableViewPane,Object.defineProperty(exports,"tabs",{enumerable:!0,get:function(){return v.tabs_exports}}),Object.defineProperty(exports,"utils",{enumerable:!0,get:function(){return n.utils_exports}}),Object.defineProperty(exports,"widgets",{enumerable:!0,get:function(){return o.widgets_exports}});
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["// REMOVE @ts-ignore as you migrate files to TypeScript\n// @ts-ignore\nimport ns from './lib/ns'\nimport { acl, aclControl } from './acl/index'\nimport { create } from './create/index'\n// @ts-ignore\nimport { icons } from './lib/iconBase'\nimport * as language from './widgets/forms/autocomplete/language'\nimport * as log from './lib/log'\nimport { matrix } from './matrix/index'\nimport { media } from './media/index'\n// @ts-ignore\nimport { messageArea } from './lib/messageArea'\n// @ts-ignore\nimport { infiniteMessageArea } from './chat/infinite'\n// @ts-ignore\nimport * as pad from './lib/pad'\n// @ts-ignore\nimport * as participation from './lib/participation'\n// @ts-ignore\nimport * as preferences from './lib/preferences'\n// @ts-ignore\nimport { style } from './lib/style'\n// @ts-ignore\nimport { renderTableViewPane as table } from './lib/table'\nimport * as tabs from './lib/tabs'\n// @ts-ignore\nimport * as utils from './utils'\nimport * as login from './login/login'\nimport * as widgets from './widgets/index'\nimport { initHeader } from './header'\nimport { initFooter } from './footer'\nimport * as createTypes from './create/types'\n\nexport const dom = typeof window !== 'undefined' ? window.document : null // Idea that UI.dom can be adapted in non-browser environments\n\n// this variables are directly used in the storybook\nexport {\n ns,\n acl,\n aclControl,\n create,\n createTypes,\n icons,\n language,\n log,\n login,\n matrix,\n media,\n messageArea,\n infiniteMessageArea,\n pad,\n participation,\n preferences,\n style,\n table,\n tabs,\n utils,\n widgets,\n initHeader,\n initFooter\n}\n// uses in solid-panes\nexport type { CreateContext, NewAppInstanceOptions } from './create/types'\n\nexport * from './lib/auth'\nexport * from './lib/components'\nexport * from './lib/dialogs'\n"],"mappings":"4lDAkCA,IAAa,EAAM,OAAO,OAAW,IAAc,OAAO,SAAW"}
1
+ {"version":3,"file":"index.cjs.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["// REMOVE @ts-ignore as you migrate files to TypeScript\n// @ts-ignore\nimport ns from './lib/ns'\nimport { acl, aclControl } from './acl/index'\nimport { create } from './create/index'\n// @ts-ignore\nimport { icons } from './lib/iconBase'\nimport * as language from './widgets/forms/autocomplete/language'\nimport * as log from './lib/log'\nimport { matrix } from './matrix/index'\nimport { media } from './media/index'\n// @ts-ignore\nimport { messageArea } from './lib/messageArea'\n// @ts-ignore\nimport { infiniteMessageArea } from './chat/infinite'\n// @ts-ignore\nimport * as pad from './lib/pad'\n// @ts-ignore\nimport * as participation from './lib/participation'\n// @ts-ignore\nimport * as preferences from './lib/preferences'\n// @ts-ignore\nimport { style } from './lib/style'\n// @ts-ignore\nimport { renderTableViewPane as table } from './lib/table'\nimport * as tabs from './lib/tabs'\n// @ts-ignore\nimport * as utils from './utils'\nimport * as login from './login/login'\nimport * as widgets from './widgets/index'\nimport { initHeader } from './header'\nimport { initFooter } from './footer'\nimport * as createTypes from './create/types'\n\nexport const dom = typeof window !== 'undefined' ? window.document : null // Idea that UI.dom can be adapted in non-browser environments\n\n// this variables are directly used in the storybook\nexport {\n ns,\n acl,\n aclControl,\n create,\n createTypes,\n icons,\n language,\n log,\n login,\n matrix,\n media,\n messageArea,\n infiniteMessageArea,\n pad,\n participation,\n preferences,\n style,\n table,\n tabs,\n utils,\n widgets,\n initHeader,\n initFooter\n}\n// uses in solid-panes\nexport type { CreateContext, NewAppInstanceOptions } from './create/types'\n\nexport * from './lib/auth'\nexport * from './lib/components'\nexport * from './lib/dialogs'\n"],"mappings":"kmDAkCA,IAAa,EAAM,OAAO,OAAW,IAAc,OAAO,SAAW"}
package/dist/index.esm.js CHANGED
@@ -29,7 +29,7 @@ import { customElement as A } from "./lib/components/decorators.esm.js";
29
29
  import j from "./lib/components/web-component/WebComponent.esm.js";
30
30
  import { CloseDialogEvent as M } from "./lib/dialogs/events/close-dialog.esm.js";
31
31
  import N from "./lib/components/traits/DialogTrait.esm.js";
32
- import P from "./lib/components/traits/InputTrait.esm.js";
32
+ import P from "./lib/components/traits/FormControlTrait.esm.js";
33
33
  import "./lib/components/index.esm.js";
34
34
  import F from "./lib/dialogs/Dialog.esm.js";
35
35
  import { ShowDialogEvent as I } from "./lib/dialogs/events/show-dialog.esm.js";
@@ -40,6 +40,6 @@ import "./lib/auth/index.esm.js";
40
40
  //#region src/index.ts
41
41
  var B = typeof window < "u" ? window.document : null;
42
42
  //#endregion
43
- export { C as Account, M as CloseDialogEvent, T as DEFAULT_AUTH_CONTEXT, O as DEFAULT_DIALOG_CONTEXT, z as DEFAULT_SIGNUP_URL, F as Dialog, N as DialogTrait, P as InputTrait, w as NoopAuth, I as ShowDialogEvent, R as SolidAuth, j as WebComponent, c as acl, l as aclControl, E as authContext, u as create, S as createTypes, A as customElement, k as dialogContext, B as dom, D as generateId, i as icons, g as infiniteMessageArea, x as initFooter, b as initHeader, a as language, t as log, s as login, d as matrix, f as media, p as messageArea, e as ns, h as pad, m as participation, _ as preferences, L as showDialog, r as style, v as table, y as tabs, n as utils, o as widgets };
43
+ export { C as Account, M as CloseDialogEvent, T as DEFAULT_AUTH_CONTEXT, O as DEFAULT_DIALOG_CONTEXT, z as DEFAULT_SIGNUP_URL, F as Dialog, N as DialogTrait, P as FormControlTrait, w as NoopAuth, I as ShowDialogEvent, R as SolidAuth, j as WebComponent, c as acl, l as aclControl, E as authContext, u as create, S as createTypes, A as customElement, k as dialogContext, B as dom, D as generateId, i as icons, g as infiniteMessageArea, x as initFooter, b as initHeader, a as language, t as log, s as login, d as matrix, f as media, p as messageArea, e as ns, h as pad, m as participation, _ as preferences, L as showDialog, r as style, v as table, y as tabs, n as utils, o as widgets };
44
44
 
45
45
  //# sourceMappingURL=index.esm.js.map
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { h as e } from "./chunks/solid-logic.esm-BrMdCG2_.js";
2
- import { C as t, S as n, _ as r, a as i, b as a, c as o, d as s, f as c, g as l, h as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b, v as x, x as S, y as C } from "./chunks/src-CdZhCYdF.js";
3
- import { a as w, c as T, l as E, n as D, o as O, s as k, t as A, u as j } from "./chunks/auth-BI22fz6P.js";
4
- import { n as M, t as N } from "./chunks/context-CA1Kq0FW.js";
5
- import { r as P } from "./chunks/dialog-YaqTwAtR.js";
6
- import { i as F, n as I, r as L, t as R } from "./chunks/components-DH1slGZY.js";
2
+ import { C as t, S as n, _ as r, a as i, b as a, c as o, d as s, f as c, g as l, h as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b, v as x, x as S, y as C } from "./chunks/src-B9CXYA44.js";
3
+ import { a as w, c as T, l as E, n as D, o as O, s as k, t as A, u as j } from "./chunks/auth-D8B5yczR.js";
4
+ import { n as M, t as N } from "./chunks/context-B_xwK-Y_.js";
5
+ import { r as P } from "./chunks/dialog-Ujvm11_B.js";
6
+ import { i as F, n as I, r as L, t as R } from "./chunks/components-PQfnwrHI.js";
7
7
  import { t as z } from "./chunks/close-dialog-DfAh83bX.js";
8
8
  import { t as B } from "./chunks/show-dialog-eEW5yRBv.js";
9
- export { j as Account, z as CloseDialogEvent, k as DEFAULT_AUTH_CONTEXT, N as DEFAULT_DIALOG_CONTEXT, A as DEFAULT_SIGNUP_URL, O as Dialog, P as DialogTrait, R as InputTrait, E as NoopAuth, B as ShowDialogEvent, D as SolidAuth, I as WebComponent, u as acl, l as aclControl, T as authContext, p as create, m as createTypes, L as customElement, M as dialogContext, y as dom, F as generateId, a as icons, o as infiniteMessageArea, _ as initFooter, d as initHeader, C as language, t as log, r as login, g as matrix, c as media, s as messageArea, e as ns, f as pad, b as participation, v as preferences, w as showDialog, S as style, h as table, i as tabs, n as utils, x as widgets };
9
+ export { j as Account, z as CloseDialogEvent, k as DEFAULT_AUTH_CONTEXT, N as DEFAULT_DIALOG_CONTEXT, A as DEFAULT_SIGNUP_URL, O as Dialog, P as DialogTrait, R as FormControlTrait, E as NoopAuth, B as ShowDialogEvent, D as SolidAuth, I as WebComponent, u as acl, l as aclControl, T as authContext, p as create, m as createTypes, L as customElement, M as dialogContext, y as dom, F as generateId, a as icons, o as infiniteMessageArea, _ as initFooter, d as initHeader, C as language, t as log, r as login, g as matrix, c as media, s as messageArea, e as ns, f as pad, b as participation, v as preferences, w as showDialog, S as style, h as table, i as tabs, n as utils, x as widgets };
@@ -1 +1 @@
1
- const e=require("./ids.cjs.js"),t=require("./decorators.cjs.js"),n=require("./web-component/WebComponent.cjs.js");require("./web-component/index.cjs.js");const r=require("./traits/DialogTrait.cjs.js"),i=require("./traits/InputTrait.cjs.js");require("./traits/index.cjs.js"),exports.DialogTrait=r.default,exports.InputTrait=i.default,exports.WebComponent=n.default,exports.customElement=t.customElement,exports.generateId=e.generateId;
1
+ const e=require("./ids.cjs.js"),t=require("./decorators.cjs.js"),n=require("./web-component/WebComponent.cjs.js");require("./web-component/index.cjs.js");const r=require("./traits/DialogTrait.cjs.js"),i=require("./traits/FormControlTrait.cjs.js");require("./traits/index.cjs.js"),exports.DialogTrait=r.default,exports.FormControlTrait=i.default,exports.WebComponent=n.default,exports.customElement=t.customElement,exports.generateId=e.generateId;
@@ -3,6 +3,6 @@ import { customElement as t } from "./decorators.esm.js";
3
3
  import n from "./web-component/WebComponent.esm.js";
4
4
  import "./web-component/index.esm.js";
5
5
  import r from "./traits/DialogTrait.esm.js";
6
- import i from "./traits/InputTrait.esm.js";
6
+ import i from "./traits/FormControlTrait.esm.js";
7
7
  import "./traits/index.esm.js";
8
- export { r as DialogTrait, i as InputTrait, n as WebComponent, t as customElement, e as generateId };
8
+ export { r as DialogTrait, i as FormControlTrait, n as WebComponent, t as customElement, e as generateId };
@@ -0,0 +1,2 @@
1
+ const e=require("../ids.cjs.js");require("../index.cjs.js");let t=require("lit");var n=class{controlId;labelId;target;config;constructor(t,n){this.config=n,this.controlId=`control-${e.generateId()}`,this.labelId=`label-${this.controlId}`,this.target=t}firstUpdated(){this.config.getInternals().setFormValue(String(this.target.value??``)),this.updateValidity()}updated(e){(e.has(`value`)||e.has(`required`))&&this.updateValidity()}formResetCallback(){this.target.value=``,this.config.getInternals().setFormValue(``),this.updateValidity()}renderLabel(){return this.target.label?t.html`<label id="${this.labelId}" for="${this.controlId}">${this.target.label}</label>`:t.nothing}onInput(){this.setValue(this.config.getControlElement()?.value)}onSubmit(){this.config.getInternals().form?.requestSubmit()}setValue(e){this.target.value=e,this.config.getInternals().setFormValue(String(this.target.value??``)),this.target.dispatchEvent(new InputEvent(`input`,{bubbles:!0,composed:!0}))}updateValidity(){let e=this.config.getInternals();this.target.required&&(this.target.value??``)===``?e.setValidity({valueMissing:!0},`Please fill out this field.`,this.config.getControlElement()??void 0):e.setValidity({})}};exports.default=n;
2
+ //# sourceMappingURL=FormControlTrait.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormControlTrait.cjs.js","names":[],"sources":["../../../../src/lib/components/traits/FormControlTrait.ts"],"sourcesContent":["import { WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\n\nimport { generateId } from '@/lib/components'\n\nimport type { WebComponentTrait } from './WebComponentTrait'\n\nexport type FormControlTraitTarget = WebComponent & {\n name: string;\n label: string;\n required: boolean;\n value: unknown;\n}\n\nexport interface FormControlTraitConfig {\n getControlElement(): HTMLInputElement | HTMLSelectElement | null\n getInternals(): ElementInternals\n}\n\nexport default class FormControlTrait implements WebComponentTrait {\n public controlId: string\n public labelId: string\n public target: FormControlTraitTarget\n private config: FormControlTraitConfig\n\n constructor (target: FormControlTraitTarget, config: FormControlTraitConfig) {\n this.config = config\n this.controlId = `control-${generateId()}`\n this.labelId = `label-${this.controlId}`\n this.target = target\n }\n\n firstUpdated () {\n this.config.getInternals().setFormValue(String(this.target.value ?? ''))\n this.updateValidity()\n }\n\n updated (changedProperties: Map<PropertyKey, unknown>) {\n if (changedProperties.has('value') || changedProperties.has('required')) {\n this.updateValidity()\n }\n }\n\n formResetCallback () {\n this.target.value = ''\n this.config.getInternals().setFormValue('')\n this.updateValidity()\n }\n\n renderLabel () {\n return this.target.label\n ? html`<label id=\"${this.labelId}\" for=\"${this.controlId}\">${this.target.label}</label>`\n : nothing\n }\n\n onInput () {\n this.setValue(this.config.getControlElement()?.value)\n }\n\n onSubmit () {\n this.config.getInternals().form?.requestSubmit()\n }\n\n setValue (value: unknown) {\n this.target.value = value\n\n this.config.getInternals().setFormValue(String(this.target.value ?? ''))\n this.target.dispatchEvent(new InputEvent('input', { bubbles: true, composed: true }))\n }\n\n private updateValidity () {\n const internals = this.config.getInternals()\n\n if (this.target.required && (this.target.value ?? '') === '') {\n internals.setValidity(\n { valueMissing: true },\n 'Please fill out this field.',\n this.config.getControlElement() ?? undefined\n )\n } else {\n internals.setValidity({})\n }\n }\n}\n"],"mappings":"iFAmBA,IAAqB,EAArB,KAAmE,CACjE,UACA,QACA,OACA,OAEA,YAAa,EAAgC,EAAgC,CAC3E,KAAK,OAAS,EACd,KAAK,UAAY,WAAW,EAAA,WAAW,IACvC,KAAK,QAAU,SAAS,KAAK,YAC7B,KAAK,OAAS,CAChB,CAEA,cAAgB,CACd,KAAK,OAAO,aAAa,CAAC,CAAC,aAAa,OAAO,KAAK,OAAO,OAAS,EAAE,CAAC,EACvE,KAAK,eAAe,CACtB,CAEA,QAAS,EAA8C,EACjD,EAAkB,IAAI,OAAO,GAAK,EAAkB,IAAI,UAAU,IACpE,KAAK,eAAe,CAExB,CAEA,mBAAqB,CACnB,KAAK,OAAO,MAAQ,GACpB,KAAK,OAAO,aAAa,CAAC,CAAC,aAAa,EAAE,EAC1C,KAAK,eAAe,CACtB,CAEA,aAAe,CACb,OAAO,KAAK,OAAO,MACf,EAAA,IAAI,cAAc,KAAK,QAAQ,SAAS,KAAK,UAAU,IAAI,KAAK,OAAO,MAAM,UAC7E,EAAA,OACN,CAEA,SAAW,CACT,KAAK,SAAS,KAAK,OAAO,kBAAkB,CAAC,EAAE,KAAK,CACtD,CAEA,UAAY,CACV,KAAK,OAAO,aAAa,CAAC,CAAC,MAAM,cAAc,CACjD,CAEA,SAAU,EAAgB,CACxB,KAAK,OAAO,MAAQ,EAEpB,KAAK,OAAO,aAAa,CAAC,CAAC,aAAa,OAAO,KAAK,OAAO,OAAS,EAAE,CAAC,EACvE,KAAK,OAAO,cAAc,IAAI,WAAW,QAAS,CAAE,QAAS,GAAM,SAAU,EAAK,CAAC,CAAC,CACtF,CAEA,gBAA0B,CACxB,IAAM,EAAY,KAAK,OAAO,aAAa,EAEvC,KAAK,OAAO,WAAa,KAAK,OAAO,OAAS,MAAQ,GACxD,EAAU,YACR,CAAE,aAAc,EAAK,EACrB,8BACA,KAAK,OAAO,kBAAkB,GAAK,IAAA,EACrC,EAEA,EAAU,YAAY,CAAC,CAAC,CAE5B,CACF"}
@@ -1,30 +1,29 @@
1
1
  import { WebComponent } from '..';
2
2
  import { nothing } from 'lit';
3
3
  import { WebComponentTrait } from './WebComponentTrait';
4
- export type InputTraitTarget = WebComponent & {
4
+ export type FormControlTraitTarget = WebComponent & {
5
5
  name: string;
6
6
  label: string;
7
7
  required: boolean;
8
- value: string;
8
+ value: unknown;
9
9
  };
10
- export interface InputTraitConfig {
11
- getInputElement(): HTMLInputElement | HTMLSelectElement | null;
10
+ export interface FormControlTraitConfig {
11
+ getControlElement(): HTMLInputElement | HTMLSelectElement | null;
12
12
  getInternals(): ElementInternals;
13
- onValueChanged?: (value: string) => void;
14
13
  }
15
- export default class InputTrait implements WebComponentTrait {
16
- inputId: string;
14
+ export default class FormControlTrait implements WebComponentTrait {
15
+ controlId: string;
17
16
  labelId: string;
18
- target: InputTraitTarget;
17
+ target: FormControlTraitTarget;
19
18
  private config;
20
- constructor(target: InputTraitTarget, config: InputTraitConfig);
19
+ constructor(target: FormControlTraitTarget, config: FormControlTraitConfig);
21
20
  firstUpdated(): void;
22
21
  updated(changedProperties: Map<PropertyKey, unknown>): void;
23
22
  formResetCallback(): void;
24
23
  renderLabel(): import('lit-html').TemplateResult<1> | typeof nothing;
25
24
  onInput(): void;
26
25
  onSubmit(): void;
27
- setValue(value: string): void;
26
+ setValue(value: unknown): void;
28
27
  private updateValidity;
29
28
  }
30
- //# sourceMappingURL=InputTrait.d.ts.map
29
+ //# sourceMappingURL=FormControlTrait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormControlTrait.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/traits/FormControlTrait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAQ,OAAO,EAAE,MAAM,KAAK,CAAA;AAInC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAA;AAED,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,IAAI,gBAAgB,GAAG,iBAAiB,GAAG,IAAI,CAAA;IAChE,YAAY,IAAI,gBAAgB,CAAA;CACjC;AAED,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,iBAAiB;IACzD,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,sBAAsB,CAAA;IACrC,OAAO,CAAC,MAAM,CAAwB;gBAEzB,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,sBAAsB;IAO3E,YAAY;IAKZ,OAAO,CAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAMrD,iBAAiB;IAMjB,WAAW;IAMX,OAAO;IAIP,QAAQ;IAIR,QAAQ,CAAE,KAAK,EAAE,OAAO;IAOxB,OAAO,CAAC,cAAc;CAavB"}
@@ -0,0 +1,45 @@
1
+ import { generateId as e } from "../ids.esm.js";
2
+ import "../index.esm.js";
3
+ import { html as t, nothing as n } from "lit";
4
+ //#region src/lib/components/traits/FormControlTrait.ts
5
+ var r = class {
6
+ controlId;
7
+ labelId;
8
+ target;
9
+ config;
10
+ constructor(t, n) {
11
+ this.config = n, this.controlId = `control-${e()}`, this.labelId = `label-${this.controlId}`, this.target = t;
12
+ }
13
+ firstUpdated() {
14
+ this.config.getInternals().setFormValue(String(this.target.value ?? "")), this.updateValidity();
15
+ }
16
+ updated(e) {
17
+ (e.has("value") || e.has("required")) && this.updateValidity();
18
+ }
19
+ formResetCallback() {
20
+ this.target.value = "", this.config.getInternals().setFormValue(""), this.updateValidity();
21
+ }
22
+ renderLabel() {
23
+ return this.target.label ? t`<label id="${this.labelId}" for="${this.controlId}">${this.target.label}</label>` : n;
24
+ }
25
+ onInput() {
26
+ this.setValue(this.config.getControlElement()?.value);
27
+ }
28
+ onSubmit() {
29
+ this.config.getInternals().form?.requestSubmit();
30
+ }
31
+ setValue(e) {
32
+ this.target.value = e, this.config.getInternals().setFormValue(String(this.target.value ?? "")), this.target.dispatchEvent(new InputEvent("input", {
33
+ bubbles: !0,
34
+ composed: !0
35
+ }));
36
+ }
37
+ updateValidity() {
38
+ let e = this.config.getInternals();
39
+ this.target.required && (this.target.value ?? "") === "" ? e.setValidity({ valueMissing: !0 }, "Please fill out this field.", this.config.getControlElement() ?? void 0) : e.setValidity({});
40
+ }
41
+ };
42
+ //#endregion
43
+ export { r as default };
44
+
45
+ //# sourceMappingURL=FormControlTrait.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormControlTrait.esm.js","names":[],"sources":["../../../../src/lib/components/traits/FormControlTrait.ts"],"sourcesContent":["import { WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\n\nimport { generateId } from '@/lib/components'\n\nimport type { WebComponentTrait } from './WebComponentTrait'\n\nexport type FormControlTraitTarget = WebComponent & {\n name: string;\n label: string;\n required: boolean;\n value: unknown;\n}\n\nexport interface FormControlTraitConfig {\n getControlElement(): HTMLInputElement | HTMLSelectElement | null\n getInternals(): ElementInternals\n}\n\nexport default class FormControlTrait implements WebComponentTrait {\n public controlId: string\n public labelId: string\n public target: FormControlTraitTarget\n private config: FormControlTraitConfig\n\n constructor (target: FormControlTraitTarget, config: FormControlTraitConfig) {\n this.config = config\n this.controlId = `control-${generateId()}`\n this.labelId = `label-${this.controlId}`\n this.target = target\n }\n\n firstUpdated () {\n this.config.getInternals().setFormValue(String(this.target.value ?? ''))\n this.updateValidity()\n }\n\n updated (changedProperties: Map<PropertyKey, unknown>) {\n if (changedProperties.has('value') || changedProperties.has('required')) {\n this.updateValidity()\n }\n }\n\n formResetCallback () {\n this.target.value = ''\n this.config.getInternals().setFormValue('')\n this.updateValidity()\n }\n\n renderLabel () {\n return this.target.label\n ? html`<label id=\"${this.labelId}\" for=\"${this.controlId}\">${this.target.label}</label>`\n : nothing\n }\n\n onInput () {\n this.setValue(this.config.getControlElement()?.value)\n }\n\n onSubmit () {\n this.config.getInternals().form?.requestSubmit()\n }\n\n setValue (value: unknown) {\n this.target.value = value\n\n this.config.getInternals().setFormValue(String(this.target.value ?? ''))\n this.target.dispatchEvent(new InputEvent('input', { bubbles: true, composed: true }))\n }\n\n private updateValidity () {\n const internals = this.config.getInternals()\n\n if (this.target.required && (this.target.value ?? '') === '') {\n internals.setValidity(\n { valueMissing: true },\n 'Please fill out this field.',\n this.config.getControlElement() ?? undefined\n )\n } else {\n internals.setValidity({})\n }\n }\n}\n"],"mappings":";;;;AAmBA,IAAqB,IAArB,MAAmE;CACjE;CACA;CACA;CACA;CAEA,YAAa,GAAgC,GAAgC;EAI3E,AAHA,KAAK,SAAS,GACd,KAAK,YAAY,WAAW,EAAW,KACvC,KAAK,UAAU,SAAS,KAAK,aAC7B,KAAK,SAAS;CAChB;CAEA,eAAgB;EAEd,AADA,KAAK,OAAO,aAAa,CAAC,CAAC,aAAa,OAAO,KAAK,OAAO,SAAS,EAAE,CAAC,GACvE,KAAK,eAAe;CACtB;CAEA,QAAS,GAA8C;EACrD,CAAI,EAAkB,IAAI,OAAO,KAAK,EAAkB,IAAI,UAAU,MACpE,KAAK,eAAe;CAExB;CAEA,oBAAqB;EAGnB,AAFA,KAAK,OAAO,QAAQ,IACpB,KAAK,OAAO,aAAa,CAAC,CAAC,aAAa,EAAE,GAC1C,KAAK,eAAe;CACtB;CAEA,cAAe;EACb,OAAO,KAAK,OAAO,QACf,CAAI,cAAc,KAAK,QAAQ,SAAS,KAAK,UAAU,IAAI,KAAK,OAAO,MAAM,YAC7E;CACN;CAEA,UAAW;EACT,KAAK,SAAS,KAAK,OAAO,kBAAkB,CAAC,EAAE,KAAK;CACtD;CAEA,WAAY;EACV,KAAK,OAAO,aAAa,CAAC,CAAC,MAAM,cAAc;CACjD;CAEA,SAAU,GAAgB;EAIxB,AAHA,KAAK,OAAO,QAAQ,GAEpB,KAAK,OAAO,aAAa,CAAC,CAAC,aAAa,OAAO,KAAK,OAAO,SAAS,EAAE,CAAC,GACvE,KAAK,OAAO,cAAc,IAAI,WAAW,SAAS;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC;CACtF;CAEA,iBAA0B;EACxB,IAAM,IAAY,KAAK,OAAO,aAAa;EAE3C,AAAI,KAAK,OAAO,aAAa,KAAK,OAAO,SAAS,QAAQ,KACxD,EAAU,YACR,EAAE,cAAc,GAAK,GACrB,+BACA,KAAK,OAAO,kBAAkB,KAAK,KAAA,CACrC,IAEA,EAAU,YAAY,CAAC,CAAC;CAE5B;AACF"}
@@ -1 +1 @@
1
- const e=require("./DialogTrait.cjs.js"),t=require("./InputTrait.cjs.js");exports.DialogTrait=e.default,exports.InputTrait=t.default;
1
+ const e=require("./DialogTrait.cjs.js"),t=require("./FormControlTrait.cjs.js");exports.DialogTrait=e.default,exports.FormControlTrait=t.default;
@@ -1,6 +1,6 @@
1
1
  export * from './DialogTrait';
2
- export * from './InputTrait';
2
+ export * from './FormControlTrait';
3
3
  export * from './WebComponentTrait';
4
4
  export { default as DialogTrait } from './DialogTrait';
5
- export { default as InputTrait } from './InputTrait';
5
+ export { default as FormControlTrait } from './FormControlTrait';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/traits/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AAEnC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/traits/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AAEnC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA"}
@@ -1,3 +1,3 @@
1
1
  import e from "./DialogTrait.esm.js";
2
- import t from "./InputTrait.esm.js";
3
- export { e as DialogTrait, t as InputTrait };
2
+ import t from "./FormControlTrait.esm.js";
3
+ export { e as DialogTrait, t as FormControlTrait };
@@ -1 +1 @@
1
- {"version":3,"file":"WebComponent.cjs.js","names":[],"sources":["../../../../src/lib/components/web-component/WebComponent.ts"],"sourcesContent":["import { html, LitElement, type CSSResultGroup } from 'lit'\nimport type { WebComponentTrait, WebComponentTraitMethodKey } from '@/lib/components/traits/WebComponentTrait'\n\nimport styles from './WebComponent.styles.css'\n\nexport default abstract class WebComponent extends LitElement {\n static states?: Record<string, Function>\n\n protected static finalizeStyles (componentStyles?: CSSResultGroup) {\n const elementStyles = super.finalizeStyles(componentStyles)\n\n return [styles, ...elementStyles]\n }\n\n protected internals?: ElementInternals\n protected globalListeners: [type: string, listener: EventListener][] = []\n protected traits: WebComponentTrait[] = []\n\n disconnectedCallback (): void {\n super.disconnectedCallback()\n\n for (const [type, listener] of this.globalListeners) {\n window.removeEventListener(type, listener)\n }\n\n this.globalListeners = []\n }\n\n protected addTrait<T extends WebComponentTrait>(trait: T): T {\n this.traits.push(trait)\n\n return trait\n }\n\n protected firstUpdated () {\n this.forwardMethodCall('firstUpdated')\n }\n\n protected updated (changedProperties: Map<PropertyKey, unknown>) {\n this.forwardMethodCall('updated', changedProperties)\n }\n\n protected formResetCallback () {\n this.forwardMethodCall('formResetCallback')\n }\n\n protected willUpdate (changedProperties: Map<string, any>) {\n super.willUpdate(changedProperties)\n\n const states = this.static().states\n\n if (!states) {\n return\n }\n\n for (const [state, condition] of Object.entries(states)) {\n // FIXME when browser support is good enough, use the internals API instead with :state() selectors\n this.toggleAttribute(`data-state-${state}`, !!condition(this))\n }\n }\n\n protected addGlobalEventListener <T extends keyof WindowEventMap>(type: T, listener: (this: Window, ev: WindowEventMap[T]) => any) {\n this.globalListeners.push([type, listener as EventListener])\n\n window.addEventListener(type, listener)\n }\n\n protected render () {\n return html`<slot></slot>`\n }\n\n protected getInternals (): ElementInternals {\n this.internals ??= this.attachInternals()\n\n return this.internals\n }\n\n private static (): typeof WebComponent {\n return this.constructor as typeof WebComponent\n }\n\n private forwardMethodCall<T extends WebComponentTraitMethodKey>(method: T, ...args: Parameters<Required<WebComponentTrait>[T]>) {\n for (const trait of this.traits) {\n (trait[method] as Function | undefined)?.(...args)\n }\n }\n}\n"],"mappings":"qEAKA,IAA8B,EAA9B,cAAmD,EAAA,UAAW,CAC5D,OAAO,OAEP,OAAiB,eAAgB,EAAkC,CAGjE,MAAO,CAAC,EAAA,QAAQ,GAFM,MAAM,eAAe,CAExB,CAAa,CAClC,CAEA,UACA,gBAAuE,CAAC,EACxE,OAAwC,CAAC,EAEzC,sBAA8B,CAC5B,MAAM,qBAAqB,EAE3B,IAAK,GAAM,CAAC,EAAM,KAAa,KAAK,gBAClC,OAAO,oBAAoB,EAAM,CAAQ,EAG3C,KAAK,gBAAkB,CAAC,CAC1B,CAEA,SAAgD,EAAa,CAG3D,OAFA,KAAK,OAAO,KAAK,CAAK,EAEf,CACT,CAEA,cAA0B,CACxB,KAAK,kBAAkB,cAAc,CACvC,CAEA,QAAmB,EAA8C,CAC/D,KAAK,kBAAkB,UAAW,CAAiB,CACrD,CAEA,mBAA+B,CAC7B,KAAK,kBAAkB,mBAAmB,CAC5C,CAEA,WAAsB,EAAqC,CACzD,MAAM,WAAW,CAAiB,EAElC,IAAM,EAAS,KAAK,OAAO,CAAC,CAAC,OAExB,KAIL,IAAK,GAAM,CAAC,EAAO,KAAc,OAAO,QAAQ,CAAM,EAEpD,KAAK,gBAAgB,cAAc,IAAS,CAAC,CAAC,EAAU,IAAI,CAAC,CAEjE,CAEA,uBAAkE,EAAS,EAAwD,CACjI,KAAK,gBAAgB,KAAK,CAAC,EAAM,CAAyB,CAAC,EAE3D,OAAO,iBAAiB,EAAM,CAAQ,CACxC,CAEA,QAAoB,CAClB,MAAO,GAAA,IAAI,eACb,CAEA,cAA4C,CAG1C,MAFA,MAAK,YAAc,KAAK,gBAAgB,EAEjC,KAAK,SACd,CAEA,QAAuC,CACrC,OAAO,KAAK,WACd,CAEA,kBAAgE,EAAW,GAAG,EAAkD,CAC9H,IAAK,IAAM,KAAS,KAAK,OACvB,EAAO,EAAO,GAA4B,GAAG,CAAI,CAErD,CACF"}
1
+ {"version":3,"file":"WebComponent.cjs.js","names":[],"sources":["../../../../src/lib/components/web-component/WebComponent.ts"],"sourcesContent":["import { html, LitElement, type CSSResultGroup, type PropertyValues } from 'lit'\nimport type { WebComponentTrait, WebComponentTraitMethodKey } from '@/lib/components/traits/WebComponentTrait'\n\nimport styles from './WebComponent.styles.css'\n\nexport default abstract class WebComponent extends LitElement {\n static states?: Record<string, Function>\n\n protected static finalizeStyles (componentStyles?: CSSResultGroup) {\n const elementStyles = super.finalizeStyles(componentStyles)\n\n return [styles, ...elementStyles]\n }\n\n protected internals?: ElementInternals\n protected globalListeners: [type: string, listener: EventListener][] = []\n protected traits: WebComponentTrait[] = []\n\n disconnectedCallback (): void {\n super.disconnectedCallback()\n\n for (const [type, listener] of this.globalListeners) {\n window.removeEventListener(type, listener)\n }\n\n this.globalListeners = []\n }\n\n protected addTrait<T extends WebComponentTrait>(trait: T): T {\n this.traits.push(trait)\n\n return trait\n }\n\n protected firstUpdated () {\n this.forwardMethodCall('firstUpdated')\n }\n\n protected updated (changedProperties: Map<PropertyKey, unknown>) {\n this.forwardMethodCall('updated', changedProperties)\n }\n\n protected formResetCallback () {\n this.forwardMethodCall('formResetCallback')\n }\n\n protected willUpdate (changedProperties: PropertyValues<this>) {\n super.willUpdate(changedProperties)\n\n const states = this.static().states\n\n if (!states) {\n return\n }\n\n for (const [state, condition] of Object.entries(states)) {\n // FIXME when browser support is good enough, use the internals API instead with :state() selectors\n this.toggleAttribute(`data-state-${state}`, !!condition(this))\n }\n }\n\n protected addGlobalEventListener <T extends keyof WindowEventMap>(type: T, listener: (this: Window, ev: WindowEventMap[T]) => any) {\n this.globalListeners.push([type, listener as EventListener])\n\n window.addEventListener(type, listener)\n }\n\n protected render () {\n return html`<slot></slot>`\n }\n\n protected getInternals (): ElementInternals {\n this.internals ??= this.attachInternals()\n\n return this.internals\n }\n\n private static (): typeof WebComponent {\n return this.constructor as typeof WebComponent\n }\n\n private forwardMethodCall<T extends WebComponentTraitMethodKey>(method: T, ...args: Parameters<Required<WebComponentTrait>[T]>) {\n for (const trait of this.traits) {\n (trait[method] as Function | undefined)?.(...args)\n }\n }\n}\n"],"mappings":"qEAKA,IAA8B,EAA9B,cAAmD,EAAA,UAAW,CAC5D,OAAO,OAEP,OAAiB,eAAgB,EAAkC,CAGjE,MAAO,CAAC,EAAA,QAAQ,GAFM,MAAM,eAAe,CAExB,CAAa,CAClC,CAEA,UACA,gBAAuE,CAAC,EACxE,OAAwC,CAAC,EAEzC,sBAA8B,CAC5B,MAAM,qBAAqB,EAE3B,IAAK,GAAM,CAAC,EAAM,KAAa,KAAK,gBAClC,OAAO,oBAAoB,EAAM,CAAQ,EAG3C,KAAK,gBAAkB,CAAC,CAC1B,CAEA,SAAgD,EAAa,CAG3D,OAFA,KAAK,OAAO,KAAK,CAAK,EAEf,CACT,CAEA,cAA0B,CACxB,KAAK,kBAAkB,cAAc,CACvC,CAEA,QAAmB,EAA8C,CAC/D,KAAK,kBAAkB,UAAW,CAAiB,CACrD,CAEA,mBAA+B,CAC7B,KAAK,kBAAkB,mBAAmB,CAC5C,CAEA,WAAsB,EAAyC,CAC7D,MAAM,WAAW,CAAiB,EAElC,IAAM,EAAS,KAAK,OAAO,CAAC,CAAC,OAExB,KAIL,IAAK,GAAM,CAAC,EAAO,KAAc,OAAO,QAAQ,CAAM,EAEpD,KAAK,gBAAgB,cAAc,IAAS,CAAC,CAAC,EAAU,IAAI,CAAC,CAEjE,CAEA,uBAAkE,EAAS,EAAwD,CACjI,KAAK,gBAAgB,KAAK,CAAC,EAAM,CAAyB,CAAC,EAE3D,OAAO,iBAAiB,EAAM,CAAQ,CACxC,CAEA,QAAoB,CAClB,MAAO,GAAA,IAAI,eACb,CAEA,cAA4C,CAG1C,MAFA,MAAK,YAAc,KAAK,gBAAgB,EAEjC,KAAK,SACd,CAEA,QAAuC,CACrC,OAAO,KAAK,WACd,CAEA,kBAAgE,EAAW,GAAG,EAAkD,CAC9H,IAAK,IAAM,KAAS,KAAK,OACvB,EAAO,EAAO,GAA4B,GAAG,CAAI,CAErD,CACF"}
@@ -1,4 +1,4 @@
1
- import { LitElement, CSSResultGroup } from 'lit';
1
+ import { LitElement, CSSResultGroup, PropertyValues } from 'lit';
2
2
  import { WebComponentTrait } from '../traits/WebComponentTrait';
3
3
  export default abstract class WebComponent extends LitElement {
4
4
  static states?: Record<string, Function>;
@@ -11,7 +11,7 @@ export default abstract class WebComponent extends LitElement {
11
11
  protected firstUpdated(): void;
12
12
  protected updated(changedProperties: Map<PropertyKey, unknown>): void;
13
13
  protected formResetCallback(): void;
14
- protected willUpdate(changedProperties: Map<string, any>): void;
14
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
15
15
  protected addGlobalEventListener<T extends keyof WindowEventMap>(type: T, listener: (this: Window, ev: WindowEventMap[T]) => any): void;
16
16
  protected render(): import('lit-html').TemplateResult<1>;
17
17
  protected getInternals(): ElementInternals;
@@ -1 +1 @@
1
- {"version":3,"file":"WebComponent.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/web-component/WebComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAA8B,MAAM,2CAA2C,CAAA;AAI9G,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,YAAa,SAAQ,UAAU;IAC3D,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAExC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAE,eAAe,CAAC,EAAE,cAAc;IAMjE,SAAS,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAA;IACtC,SAAS,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAK;IACzE,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAK;IAE1C,oBAAoB,IAAK,IAAI;IAU7B,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,iBAAiB,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAM5D,SAAS,CAAC,YAAY;IAItB,SAAS,CAAC,OAAO,CAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAI/D,SAAS,CAAC,iBAAiB;IAI3B,SAAS,CAAC,UAAU,CAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAezD,SAAS,CAAC,sBAAsB,CAAE,CAAC,SAAS,MAAM,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,GAAG;IAMjI,SAAS,CAAC,MAAM;IAIhB,SAAS,CAAC,YAAY,IAAK,gBAAgB;IAM3C,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,iBAAiB;CAK1B"}
1
+ {"version":3,"file":"WebComponent.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/web-component/WebComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAA;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAA8B,MAAM,2CAA2C,CAAA;AAI9G,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,YAAa,SAAQ,UAAU;IAC3D,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAExC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAE,eAAe,CAAC,EAAE,cAAc;IAMjE,SAAS,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAA;IACtC,SAAS,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAK;IACzE,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAK;IAE1C,oBAAoB,IAAK,IAAI;IAU7B,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,iBAAiB,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAM5D,SAAS,CAAC,YAAY;IAItB,SAAS,CAAC,OAAO,CAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAI/D,SAAS,CAAC,iBAAiB;IAI3B,SAAS,CAAC,UAAU,CAAE,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC;IAe7D,SAAS,CAAC,sBAAsB,CAAE,CAAC,SAAS,MAAM,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,GAAG;IAMjI,SAAS,CAAC,MAAM;IAIhB,SAAS,CAAC,YAAY,IAAK,gBAAgB;IAM3C,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,iBAAiB;CAK1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebComponent.esm.js","names":[],"sources":["../../../../src/lib/components/web-component/WebComponent.ts"],"sourcesContent":["import { html, LitElement, type CSSResultGroup } from 'lit'\nimport type { WebComponentTrait, WebComponentTraitMethodKey } from '@/lib/components/traits/WebComponentTrait'\n\nimport styles from './WebComponent.styles.css'\n\nexport default abstract class WebComponent extends LitElement {\n static states?: Record<string, Function>\n\n protected static finalizeStyles (componentStyles?: CSSResultGroup) {\n const elementStyles = super.finalizeStyles(componentStyles)\n\n return [styles, ...elementStyles]\n }\n\n protected internals?: ElementInternals\n protected globalListeners: [type: string, listener: EventListener][] = []\n protected traits: WebComponentTrait[] = []\n\n disconnectedCallback (): void {\n super.disconnectedCallback()\n\n for (const [type, listener] of this.globalListeners) {\n window.removeEventListener(type, listener)\n }\n\n this.globalListeners = []\n }\n\n protected addTrait<T extends WebComponentTrait>(trait: T): T {\n this.traits.push(trait)\n\n return trait\n }\n\n protected firstUpdated () {\n this.forwardMethodCall('firstUpdated')\n }\n\n protected updated (changedProperties: Map<PropertyKey, unknown>) {\n this.forwardMethodCall('updated', changedProperties)\n }\n\n protected formResetCallback () {\n this.forwardMethodCall('formResetCallback')\n }\n\n protected willUpdate (changedProperties: Map<string, any>) {\n super.willUpdate(changedProperties)\n\n const states = this.static().states\n\n if (!states) {\n return\n }\n\n for (const [state, condition] of Object.entries(states)) {\n // FIXME when browser support is good enough, use the internals API instead with :state() selectors\n this.toggleAttribute(`data-state-${state}`, !!condition(this))\n }\n }\n\n protected addGlobalEventListener <T extends keyof WindowEventMap>(type: T, listener: (this: Window, ev: WindowEventMap[T]) => any) {\n this.globalListeners.push([type, listener as EventListener])\n\n window.addEventListener(type, listener)\n }\n\n protected render () {\n return html`<slot></slot>`\n }\n\n protected getInternals (): ElementInternals {\n this.internals ??= this.attachInternals()\n\n return this.internals\n }\n\n private static (): typeof WebComponent {\n return this.constructor as typeof WebComponent\n }\n\n private forwardMethodCall<T extends WebComponentTraitMethodKey>(method: T, ...args: Parameters<Required<WebComponentTrait>[T]>) {\n for (const trait of this.traits) {\n (trait[method] as Function | undefined)?.(...args)\n }\n }\n}\n"],"mappings":";;;AAKA,IAA8B,IAA9B,cAAmD,EAAW;CAC5D,OAAO;CAEP,OAAiB,eAAgB,GAAkC;EAGjE,OAAO,CAAC,GAAQ,GAFM,MAAM,eAAe,CAExB,CAAa;CAClC;CAEA;CACA,kBAAuE,CAAC;CACxE,SAAwC,CAAC;CAEzC,uBAA8B;EAC5B,MAAM,qBAAqB;EAE3B,KAAK,IAAM,CAAC,GAAM,MAAa,KAAK,iBAClC,OAAO,oBAAoB,GAAM,CAAQ;EAG3C,KAAK,kBAAkB,CAAC;CAC1B;CAEA,SAAgD,GAAa;EAG3D,OAFA,KAAK,OAAO,KAAK,CAAK,GAEf;CACT;CAEA,eAA0B;EACxB,KAAK,kBAAkB,cAAc;CACvC;CAEA,QAAmB,GAA8C;EAC/D,KAAK,kBAAkB,WAAW,CAAiB;CACrD;CAEA,oBAA+B;EAC7B,KAAK,kBAAkB,mBAAmB;CAC5C;CAEA,WAAsB,GAAqC;EACzD,MAAM,WAAW,CAAiB;EAElC,IAAM,IAAS,KAAK,OAAO,CAAC,CAAC;EAExB,OAIL,KAAK,IAAM,CAAC,GAAO,MAAc,OAAO,QAAQ,CAAM,GAEpD,KAAK,gBAAgB,cAAc,KAAS,CAAC,CAAC,EAAU,IAAI,CAAC;CAEjE;CAEA,uBAAkE,GAAS,GAAwD;EAGjI,AAFA,KAAK,gBAAgB,KAAK,CAAC,GAAM,CAAyB,CAAC,GAE3D,OAAO,iBAAiB,GAAM,CAAQ;CACxC;CAEA,SAAoB;EAClB,OAAO,CAAI;CACb;CAEA,eAA4C;EAG1C,OAFA,KAAK,cAAc,KAAK,gBAAgB,GAEjC,KAAK;CACd;CAEA,SAAuC;EACrC,OAAO,KAAK;CACd;CAEA,kBAAgE,GAAW,GAAG,GAAkD;EAC9H,KAAK,IAAM,KAAS,KAAK,QACvB,EAAO,EAAO,GAA4B,GAAG,CAAI;CAErD;AACF"}
1
+ {"version":3,"file":"WebComponent.esm.js","names":[],"sources":["../../../../src/lib/components/web-component/WebComponent.ts"],"sourcesContent":["import { html, LitElement, type CSSResultGroup, type PropertyValues } from 'lit'\nimport type { WebComponentTrait, WebComponentTraitMethodKey } from '@/lib/components/traits/WebComponentTrait'\n\nimport styles from './WebComponent.styles.css'\n\nexport default abstract class WebComponent extends LitElement {\n static states?: Record<string, Function>\n\n protected static finalizeStyles (componentStyles?: CSSResultGroup) {\n const elementStyles = super.finalizeStyles(componentStyles)\n\n return [styles, ...elementStyles]\n }\n\n protected internals?: ElementInternals\n protected globalListeners: [type: string, listener: EventListener][] = []\n protected traits: WebComponentTrait[] = []\n\n disconnectedCallback (): void {\n super.disconnectedCallback()\n\n for (const [type, listener] of this.globalListeners) {\n window.removeEventListener(type, listener)\n }\n\n this.globalListeners = []\n }\n\n protected addTrait<T extends WebComponentTrait>(trait: T): T {\n this.traits.push(trait)\n\n return trait\n }\n\n protected firstUpdated () {\n this.forwardMethodCall('firstUpdated')\n }\n\n protected updated (changedProperties: Map<PropertyKey, unknown>) {\n this.forwardMethodCall('updated', changedProperties)\n }\n\n protected formResetCallback () {\n this.forwardMethodCall('formResetCallback')\n }\n\n protected willUpdate (changedProperties: PropertyValues<this>) {\n super.willUpdate(changedProperties)\n\n const states = this.static().states\n\n if (!states) {\n return\n }\n\n for (const [state, condition] of Object.entries(states)) {\n // FIXME when browser support is good enough, use the internals API instead with :state() selectors\n this.toggleAttribute(`data-state-${state}`, !!condition(this))\n }\n }\n\n protected addGlobalEventListener <T extends keyof WindowEventMap>(type: T, listener: (this: Window, ev: WindowEventMap[T]) => any) {\n this.globalListeners.push([type, listener as EventListener])\n\n window.addEventListener(type, listener)\n }\n\n protected render () {\n return html`<slot></slot>`\n }\n\n protected getInternals (): ElementInternals {\n this.internals ??= this.attachInternals()\n\n return this.internals\n }\n\n private static (): typeof WebComponent {\n return this.constructor as typeof WebComponent\n }\n\n private forwardMethodCall<T extends WebComponentTraitMethodKey>(method: T, ...args: Parameters<Required<WebComponentTrait>[T]>) {\n for (const trait of this.traits) {\n (trait[method] as Function | undefined)?.(...args)\n }\n }\n}\n"],"mappings":";;;AAKA,IAA8B,IAA9B,cAAmD,EAAW;CAC5D,OAAO;CAEP,OAAiB,eAAgB,GAAkC;EAGjE,OAAO,CAAC,GAAQ,GAFM,MAAM,eAAe,CAExB,CAAa;CAClC;CAEA;CACA,kBAAuE,CAAC;CACxE,SAAwC,CAAC;CAEzC,uBAA8B;EAC5B,MAAM,qBAAqB;EAE3B,KAAK,IAAM,CAAC,GAAM,MAAa,KAAK,iBAClC,OAAO,oBAAoB,GAAM,CAAQ;EAG3C,KAAK,kBAAkB,CAAC;CAC1B;CAEA,SAAgD,GAAa;EAG3D,OAFA,KAAK,OAAO,KAAK,CAAK,GAEf;CACT;CAEA,eAA0B;EACxB,KAAK,kBAAkB,cAAc;CACvC;CAEA,QAAmB,GAA8C;EAC/D,KAAK,kBAAkB,WAAW,CAAiB;CACrD;CAEA,oBAA+B;EAC7B,KAAK,kBAAkB,mBAAmB;CAC5C;CAEA,WAAsB,GAAyC;EAC7D,MAAM,WAAW,CAAiB;EAElC,IAAM,IAAS,KAAK,OAAO,CAAC,CAAC;EAExB,OAIL,KAAK,IAAM,CAAC,GAAO,MAAc,OAAO,QAAQ,CAAM,GAEpD,KAAK,gBAAgB,cAAc,KAAS,CAAC,CAAC,EAAU,IAAI,CAAC;CAEjE;CAEA,uBAAkE,GAAS,GAAwD;EAGjI,AAFA,KAAK,gBAAgB,KAAK,CAAC,GAAM,CAAyB,CAAC,GAE3D,OAAO,iBAAiB,GAAM,CAAQ;CACxC;CAEA,SAAoB;EAClB,OAAO,CAAI;CACb;CAEA,eAA4C;EAG1C,OAFA,KAAK,cAAc,KAAK,gBAAgB,GAEjC,KAAK;CACd;CAEA,SAAuC;EACrC,OAAO,KAAK;CACd;CAEA,kBAAgE,GAAW,GAAG,GAAkD;EAC9H,KAAK,IAAM,KAAS,KAAK,QACvB,EAAO,EAAO,GAA4B,GAAG,CAAI;CAErD;AACF"}
@@ -0,0 +1,2 @@
1
+ function e(e,t){let n=null,r=(...i)=>{r.cancel(),n=setTimeout(()=>t(...i),e)};return r.cancel=()=>{n!==null&&(clearTimeout(n),n=null)},r}exports.debounce=e;
2
+ //# sourceMappingURL=timing.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timing.cjs.js","names":[],"sources":["../../src/lib/timing.ts"],"sourcesContent":["export interface DebouncedFunction<Args extends any[]> {\n (...args: Args): void;\n cancel(): void;\n}\n\nexport function debounce<Args extends any[]> (\n delay: number,\n callback: (...args: Args) => unknown\n): DebouncedFunction<Args> {\n let timeout: ReturnType<typeof setTimeout> | null = null\n\n const debouncedCallback: DebouncedFunction<Args> = (...args: Args) => {\n debouncedCallback.cancel()\n timeout = setTimeout(() => callback(...args), delay)\n }\n\n debouncedCallback.cancel = () => {\n if (timeout === null) {\n return\n }\n\n clearTimeout(timeout)\n timeout = null\n }\n\n return debouncedCallback\n}\n"],"mappings":"AAKA,SAAgB,EACd,EACA,EACyB,CACzB,IAAI,EAAgD,KAE9C,GAA8C,GAAG,IAAe,CACpE,EAAkB,OAAO,EACzB,EAAU,eAAiB,EAAS,GAAG,CAAI,EAAG,CAAK,CACrD,EAWA,MATA,GAAkB,WAAe,CAC3B,IAAY,OAIhB,aAAa,CAAO,EACpB,EAAU,KACZ,EAEO,CACT"}
@@ -0,0 +1,6 @@
1
+ export interface DebouncedFunction<Args extends any[]> {
2
+ (...args: Args): void;
3
+ cancel(): void;
4
+ }
5
+ export declare function debounce<Args extends any[]>(delay: number, callback: (...args: Args) => unknown): DebouncedFunction<Args>;
6
+ //# sourceMappingURL=timing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../src/lib/timing.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB,CAAC,IAAI,SAAS,GAAG,EAAE;IACnD,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,wBAAgB,QAAQ,CAAC,IAAI,SAAS,GAAG,EAAE,EACzC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,GACnC,iBAAiB,CAAC,IAAI,CAAC,CAkBzB"}
@@ -0,0 +1,13 @@
1
+ //#region src/lib/timing.ts
2
+ function e(e, t) {
3
+ let n = null, r = (...i) => {
4
+ r.cancel(), n = setTimeout(() => t(...i), e);
5
+ };
6
+ return r.cancel = () => {
7
+ n !== null && (clearTimeout(n), n = null);
8
+ }, r;
9
+ }
10
+ //#endregion
11
+ export { e as debounce };
12
+
13
+ //# sourceMappingURL=timing.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timing.esm.js","names":[],"sources":["../../src/lib/timing.ts"],"sourcesContent":["export interface DebouncedFunction<Args extends any[]> {\n (...args: Args): void;\n cancel(): void;\n}\n\nexport function debounce<Args extends any[]> (\n delay: number,\n callback: (...args: Args) => unknown\n): DebouncedFunction<Args> {\n let timeout: ReturnType<typeof setTimeout> | null = null\n\n const debouncedCallback: DebouncedFunction<Args> = (...args: Args) => {\n debouncedCallback.cancel()\n timeout = setTimeout(() => callback(...args), delay)\n }\n\n debouncedCallback.cancel = () => {\n if (timeout === null) {\n return\n }\n\n clearTimeout(timeout)\n timeout = null\n }\n\n return debouncedCallback\n}\n"],"mappings":";AAKA,SAAgB,EACd,GACA,GACyB;CACzB,IAAI,IAAgD,MAE9C,KAA8C,GAAG,MAAe;EAEpE,AADA,EAAkB,OAAO,GACzB,IAAU,iBAAiB,EAAS,GAAG,CAAI,GAAG,CAAK;CACrD;CAWA,OATA,EAAkB,eAAe;EAC3B,MAAY,SAIhB,aAAa,CAAO,GACpB,IAAU;CACZ,GAEO;AACT"}
@@ -0,0 +1,2 @@
1
+ function e(e){return e==null||e===``}exports.isEmptyValue=e;
2
+ //# sourceMappingURL=values.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"values.cjs.js","names":[],"sources":["../../src/lib/values.ts"],"sourcesContent":["export function isEmptyValue (value: unknown): boolean {\n return value === null || value === undefined || value === ''\n}\n"],"mappings":"AAAA,SAAgB,EAAc,EAAyB,CACrD,OAAO,GAAU,MAA+B,IAAU,EAC5D"}
@@ -0,0 +1,2 @@
1
+ export declare function isEmptyValue(value: unknown): boolean;
2
+ //# sourceMappingURL=values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../src/lib/values.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAErD"}
@@ -0,0 +1,8 @@
1
+ //#region src/lib/values.ts
2
+ function e(e) {
3
+ return e == null || e === "";
4
+ }
5
+ //#endregion
6
+ export { e as isEmptyValue };
7
+
8
+ //# sourceMappingURL=values.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"values.esm.js","names":[],"sources":["../../src/lib/values.ts"],"sourcesContent":["export function isEmptyValue (value: unknown): boolean {\n return value === null || value === undefined || value === ''\n}\n"],"mappings":";AAAA,SAAgB,EAAc,GAAyB;CACrD,OAAO,KAAU,QAA+B,MAAU;AAC5D"}
package/dist/loader.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { h as e } from "./chunks/solid-logic.esm-BrMdCG2_.js";
2
- import { C as t, S as n, _ as r, a as i, b as a, c as o, d as s, f as c, g as l, h as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b, v as x, x as S, y as C } from "./chunks/src-CdZhCYdF.js";
3
- import { a as w, c as T, l as E, n as D, o as O, s as k, t as A, u as j } from "./chunks/auth-BI22fz6P.js";
4
- import { n as M, t as N } from "./chunks/context-CA1Kq0FW.js";
5
- import { r as P } from "./chunks/dialog-YaqTwAtR.js";
6
- import { i as F, n as I, r as L, t as R } from "./chunks/components-DH1slGZY.js";
2
+ import { C as t, S as n, _ as r, a as i, b as a, c as o, d as s, f as c, g as l, h as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b, v as x, x as S, y as C } from "./chunks/src-B9CXYA44.js";
3
+ import { a as w, c as T, l as E, n as D, o as O, s as k, t as A, u as j } from "./chunks/auth-D8B5yczR.js";
4
+ import { n as M, t as N } from "./chunks/context-B_xwK-Y_.js";
5
+ import { r as P } from "./chunks/dialog-Ujvm11_B.js";
6
+ import { i as F, n as I, r as L, t as R } from "./chunks/components-PQfnwrHI.js";
7
7
  import { t as z } from "./chunks/close-dialog-DfAh83bX.js";
8
8
  import { t as B } from "./chunks/show-dialog-eEW5yRBv.js";
9
9
  import "./components.js";
10
- export { j as Account, z as CloseDialogEvent, k as DEFAULT_AUTH_CONTEXT, N as DEFAULT_DIALOG_CONTEXT, A as DEFAULT_SIGNUP_URL, O as Dialog, P as DialogTrait, R as InputTrait, E as NoopAuth, B as ShowDialogEvent, D as SolidAuth, I as WebComponent, u as acl, l as aclControl, T as authContext, p as create, m as createTypes, L as customElement, M as dialogContext, y as dom, F as generateId, a as icons, o as infiniteMessageArea, _ as initFooter, d as initHeader, C as language, t as log, r as login, g as matrix, c as media, s as messageArea, e as ns, f as pad, b as participation, v as preferences, w as showDialog, S as style, h as table, i as tabs, n as utils, x as widgets };
10
+ export { j as Account, z as CloseDialogEvent, k as DEFAULT_AUTH_CONTEXT, N as DEFAULT_DIALOG_CONTEXT, A as DEFAULT_SIGNUP_URL, O as Dialog, P as DialogTrait, R as FormControlTrait, E as NoopAuth, B as ShowDialogEvent, D as SolidAuth, I as WebComponent, u as acl, l as aclControl, T as authContext, p as create, m as createTypes, L as customElement, M as dialogContext, y as dom, F as generateId, a as icons, o as infiniteMessageArea, _ as initFooter, d as initHeader, C as language, t as log, r as login, g as matrix, c as media, s as messageArea, e as ns, f as pad, b as participation, v as preferences, w as showDialog, S as style, h as table, i as tabs, n as utils, x as widgets };