@api-client/ui 0.0.3 → 0.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 (595) hide show
  1. package/demo/amf/api-annotation.html +1 -0
  2. package/demo/amf/api-channel.html +1 -0
  3. package/demo/amf/api-console.html +1 -0
  4. package/demo/amf/api-documentation-document.html +1 -0
  5. package/demo/amf/api-documentation.html +1 -0
  6. package/demo/amf/api-editor.html +1 -0
  7. package/demo/amf/api-navigation.html +1 -0
  8. package/demo/amf/api-operation.html +1 -0
  9. package/demo/amf/api-payload.html +1 -0
  10. package/demo/amf/api-request.html +1 -0
  11. package/demo/amf/api-resource.html +1 -0
  12. package/demo/amf/api-schema-documentation.html +1 -0
  13. package/demo/amf/api-security-documentation.html +1 -0
  14. package/demo/amf/api-server-picker.html +1 -0
  15. package/demo/amf/api-summary.html +1 -0
  16. package/demo/amf/bare-components.html +2 -0
  17. package/demo/amf/index.html +2 -0
  18. package/demo/amf/oauth-authorize.html +2 -0
  19. package/demo/amf/request-editor.html +1 -0
  20. package/demo/elements/authorization/api-key.html +1 -0
  21. package/demo/elements/authorization/basic.html +1 -0
  22. package/demo/elements/authorization/bearer.html +1 -0
  23. package/demo/elements/authorization/cc.html +1 -0
  24. package/demo/elements/authorization/index.html +2 -0
  25. package/demo/elements/authorization/ntlm.html +1 -0
  26. package/demo/elements/authorization/oauth-error.html +2 -0
  27. package/demo/elements/authorization/oauth-popup.html +2 -0
  28. package/demo/elements/authorization/oauth2.html +1 -0
  29. package/demo/elements/authorization/oidc.html +1 -0
  30. package/demo/elements/authorization/redirect.html +3 -1
  31. package/demo/elements/context-menu/basic.html +2 -1
  32. package/demo/elements/context-menu/custom-data.html +2 -1
  33. package/demo/elements/context-menu/enabled-state.html +2 -1
  34. package/demo/elements/context-menu/icons.html +2 -1
  35. package/demo/elements/context-menu/index.html +2 -0
  36. package/demo/elements/context-menu/nested.html +2 -1
  37. package/demo/elements/context-menu/no-execute.html +2 -1
  38. package/demo/elements/context-menu/radio-menu.html +2 -1
  39. package/demo/elements/context-menu/separators.html +2 -1
  40. package/demo/elements/environment/environment-editor.html +1 -0
  41. package/demo/elements/environment/index.html +1 -0
  42. package/demo/elements/environment/server-editor.html +1 -1
  43. package/demo/elements/environment/variables-editor.html +1 -1
  44. package/demo/elements/har/har-viewer.html +1 -0
  45. package/demo/elements/highlight/index.html +1 -0
  46. package/demo/elements/highlight/marked-highlight.html +1 -0
  47. package/demo/elements/highlight/prism-highlight.html +1 -0
  48. package/demo/elements/http/body-editor.html +1 -0
  49. package/demo/elements/http/headers.html +1 -0
  50. package/demo/elements/http/http-assertions.html +1 -0
  51. package/demo/elements/http/request-editor.html +1 -0
  52. package/demo/elements/http/request-log.html +1 -0
  53. package/demo/elements/http/url-editing.html +1 -0
  54. package/demo/elements/icons/index.html +1 -0
  55. package/demo/elements/project/project-run-report.html +1 -0
  56. package/demo/elements/project/request-editor.html +1 -0
  57. package/demo/elements/ui/buttons/api-button.html +2 -1
  58. package/demo/elements/ui/buttons/api-icon-button.html +2 -1
  59. package/demo/elements/ui/buttons/segmented-buttons.html +2 -1
  60. package/demo/elements/ui/chip/api-chip.html +2 -1
  61. package/demo/elements/ui/collapse/ui-collapse.html +2 -1
  62. package/demo/elements/ui/dialog/ui-dialog.html +2 -1
  63. package/demo/elements/ui/inputs/api-checkbox.html +2 -1
  64. package/demo/elements/ui/inputs/api-input.html +2 -1
  65. package/demo/elements/ui/inputs/api-radio.html +2 -1
  66. package/demo/elements/ui/inputs/api-switch.html +2 -1
  67. package/demo/elements/ui/list/dropdown-list.html +2 -1
  68. package/demo/elements/ui/list/list.html +2 -1
  69. package/demo/elements/ui/notification/snack.html +2 -1
  70. package/demo/elements/ui/progress/ui-progress.html +2 -1
  71. package/demo/elements/ui/tabs/tabs.html +2 -1
  72. package/dist/amf/lib/AmfParameters.js +0 -4
  73. package/dist/amf/lib/AmfParameters.js.map +1 -1
  74. package/dist/amf/lib/navigation-layout/EndpointsTree.js +0 -2
  75. package/dist/amf/lib/navigation-layout/EndpointsTree.js.map +1 -1
  76. package/dist/amf/lib/navigation-layout/NaturalTree.js +0 -2
  77. package/dist/amf/lib/navigation-layout/NaturalTree.js.map +1 -1
  78. package/dist/amf/store/AmfGraphStore.js +0 -2
  79. package/dist/amf/store/AmfGraphStore.js.map +1 -1
  80. package/dist/amf/store/AmfStore.js +0 -7
  81. package/dist/amf/store/AmfStore.js.map +1 -1
  82. package/dist/bindings/base/HttpClientStoreBindings.js +4 -1
  83. package/dist/bindings/base/HttpClientStoreBindings.js.map +1 -1
  84. package/dist/bindings/base/PlatformBindings.js +6 -10
  85. package/dist/bindings/base/PlatformBindings.js.map +1 -1
  86. package/dist/bindings/base/ProxyBindings.js +9 -6
  87. package/dist/bindings/base/ProxyBindings.js.map +1 -1
  88. package/dist/bindings/base/SharedWorkerThread.js +4 -1
  89. package/dist/bindings/base/SharedWorkerThread.js.map +1 -1
  90. package/dist/bindings/base/StoreBindings.js +162 -170
  91. package/dist/bindings/base/StoreBindings.js.map +1 -1
  92. package/dist/bindings/web/WebConfigurationBindings.js +22 -24
  93. package/dist/bindings/web/WebConfigurationBindings.js.map +1 -1
  94. package/dist/bindings/web/WebFileBindings.js +7 -4
  95. package/dist/bindings/web/WebFileBindings.js.map +1 -1
  96. package/dist/bindings/web/WebHttpClientStoreBindings.js +19 -21
  97. package/dist/bindings/web/WebHttpClientStoreBindings.js.map +1 -1
  98. package/dist/bindings/web/WebNavigationBindings.js +4 -1
  99. package/dist/bindings/web/WebNavigationBindings.js.map +1 -1
  100. package/dist/bindings/web/WebProxyBindings.js +5 -6
  101. package/dist/bindings/web/WebProxyBindings.js.map +1 -1
  102. package/dist/bindings/web/WebStoreBindings.js +39 -44
  103. package/dist/bindings/web/WebStoreBindings.js.map +1 -1
  104. package/dist/contextual-menu/ContextualMenu.js +10 -19
  105. package/dist/contextual-menu/ContextualMenu.js.map +1 -1
  106. package/dist/contextual-menu/ContextualMenuElement.js +4 -32
  107. package/dist/contextual-menu/ContextualMenuElement.js.map +1 -1
  108. package/dist/contextual-menu/MenuItem.js +0 -12
  109. package/dist/contextual-menu/MenuItem.js.map +1 -1
  110. package/dist/define/amf/api-annotation-document.js +1 -1
  111. package/dist/define/amf/api-annotation-document.js.map +1 -1
  112. package/dist/define/amf/api-authorization-editor.js +1 -1
  113. package/dist/define/amf/api-authorization-editor.js.map +1 -1
  114. package/dist/define/amf/api-channel-document.js +1 -1
  115. package/dist/define/amf/api-channel-document.js.map +1 -1
  116. package/dist/define/amf/api-documentation-document.js +1 -1
  117. package/dist/define/amf/api-documentation-document.js.map +1 -1
  118. package/dist/define/amf/api-documentation.js +1 -1
  119. package/dist/define/amf/api-documentation.js.map +1 -1
  120. package/dist/define/amf/api-navigation.js +1 -1
  121. package/dist/define/amf/api-navigation.js.map +1 -1
  122. package/dist/define/amf/api-operation-document.js +1 -1
  123. package/dist/define/amf/api-operation-document.js.map +1 -1
  124. package/dist/define/amf/api-parameter-document.js +1 -1
  125. package/dist/define/amf/api-parameter-document.js.map +1 -1
  126. package/dist/define/amf/api-parametrized-security-scheme.js +1 -1
  127. package/dist/define/amf/api-parametrized-security-scheme.js.map +1 -1
  128. package/dist/define/amf/api-payload-document.js +1 -1
  129. package/dist/define/amf/api-payload-document.js.map +1 -1
  130. package/dist/define/amf/api-request-document.js +1 -1
  131. package/dist/define/amf/api-request-document.js.map +1 -1
  132. package/dist/define/amf/api-request-editor.js +1 -1
  133. package/dist/define/amf/api-request-editor.js.map +1 -1
  134. package/dist/define/amf/api-request.js +1 -1
  135. package/dist/define/amf/api-request.js.map +1 -1
  136. package/dist/define/amf/api-resource-document.js +1 -1
  137. package/dist/define/amf/api-resource-document.js.map +1 -1
  138. package/dist/define/amf/api-response-document.js +1 -1
  139. package/dist/define/amf/api-response-document.js.map +1 -1
  140. package/dist/define/amf/api-schema-document.js +1 -1
  141. package/dist/define/amf/api-schema-document.js.map +1 -1
  142. package/dist/define/amf/api-security-document.js +1 -1
  143. package/dist/define/amf/api-security-document.js.map +1 -1
  144. package/dist/define/amf/api-security-requirement-document.js +1 -1
  145. package/dist/define/amf/api-security-requirement-document.js.map +1 -1
  146. package/dist/define/amf/api-server-picker.js +1 -1
  147. package/dist/define/amf/api-server-picker.js.map +1 -1
  148. package/dist/define/amf/api-summary.js +1 -1
  149. package/dist/define/amf/api-summary.js.map +1 -1
  150. package/dist/define/amf/authorization/amf-apikey-authorization.js +1 -1
  151. package/dist/define/amf/authorization/amf-apikey-authorization.js.map +1 -1
  152. package/dist/define/amf/authorization/amf-basic-authorization.js +1 -1
  153. package/dist/define/amf/authorization/amf-basic-authorization.js.map +1 -1
  154. package/dist/define/amf/authorization/amf-bearer-authorization.js +1 -1
  155. package/dist/define/amf/authorization/amf-bearer-authorization.js.map +1 -1
  156. package/dist/define/amf/authorization/amf-oauth2-authorization.js +1 -1
  157. package/dist/define/amf/authorization/amf-oauth2-authorization.js.map +1 -1
  158. package/dist/define/amf/authorization/amf-oidc-authorization.js +1 -1
  159. package/dist/define/amf/authorization/amf-oidc-authorization.js.map +1 -1
  160. package/dist/define/amf/authorization/amf-passthrough-authorization.js +1 -1
  161. package/dist/define/amf/authorization/amf-passthrough-authorization.js.map +1 -1
  162. package/dist/define/amf/authorization/amf-ramlcustom-authorization.js +1 -1
  163. package/dist/define/amf/authorization/amf-ramlcustom-authorization.js.map +1 -1
  164. package/dist/define/authorization/apikey-authorization.js +1 -1
  165. package/dist/define/authorization/apikey-authorization.js.map +1 -1
  166. package/dist/define/authorization/basic-authorization.js +1 -1
  167. package/dist/define/authorization/basic-authorization.js.map +1 -1
  168. package/dist/define/authorization/bearer-authorization.js +1 -1
  169. package/dist/define/authorization/bearer-authorization.js.map +1 -1
  170. package/dist/define/authorization/cc-authorization.js +1 -1
  171. package/dist/define/authorization/cc-authorization.js.map +1 -1
  172. package/dist/define/authorization/ntlm-authorization.js +1 -1
  173. package/dist/define/authorization/ntlm-authorization.js.map +1 -1
  174. package/dist/define/authorization/oauth2-authorization.js +1 -1
  175. package/dist/define/authorization/oauth2-authorization.js.map +1 -1
  176. package/dist/define/authorization/oidc-authorization.js +1 -1
  177. package/dist/define/authorization/oidc-authorization.js.map +1 -1
  178. package/dist/define/contextual-menu/contextual-menu.js +1 -1
  179. package/dist/define/contextual-menu/contextual-menu.js.map +1 -1
  180. package/dist/define/dialog/confirm-delete-dialog.js +1 -1
  181. package/dist/define/dialog/confirm-delete-dialog.js.map +1 -1
  182. package/dist/define/dialog/rename-dialog.js +1 -1
  183. package/dist/define/dialog/rename-dialog.js.map +1 -1
  184. package/dist/define/files/share-file.js +1 -1
  185. package/dist/define/files/share-file.js.map +1 -1
  186. package/dist/define/har/har-viewer.js +1 -1
  187. package/dist/define/har/har-viewer.js.map +1 -1
  188. package/dist/define/highlight/marked-highlight.js +1 -1
  189. package/dist/define/highlight/marked-highlight.js.map +1 -1
  190. package/dist/define/highlight/prism-highlight.js +1 -1
  191. package/dist/define/highlight/prism-highlight.js.map +1 -1
  192. package/dist/define/http/http-assertions.js +1 -1
  193. package/dist/define/http/http-assertions.js.map +1 -1
  194. package/dist/define/http/http-body-editor.js +1 -1
  195. package/dist/define/http/http-body-editor.js.map +1 -1
  196. package/dist/define/http/http-body-multipart-editor.js +1 -1
  197. package/dist/define/http/http-body-multipart-editor.js.map +1 -1
  198. package/dist/define/http/http-body-text-editor.js +1 -1
  199. package/dist/define/http/http-body-text-editor.js.map +1 -1
  200. package/dist/define/http/http-body-urlencoded-editor.js +1 -1
  201. package/dist/define/http/http-body-urlencoded-editor.js.map +1 -1
  202. package/dist/define/http/http-headers-form.js +1 -1
  203. package/dist/define/http/http-headers-form.js.map +1 -1
  204. package/dist/define/http/http-log-body.js +1 -1
  205. package/dist/define/http/http-log-body.js.map +1 -1
  206. package/dist/define/http/http-log-headers.js +1 -1
  207. package/dist/define/http/http-log-headers.js.map +1 -1
  208. package/dist/define/http/http-log-timings.js +1 -1
  209. package/dist/define/http/http-log-timings.js.map +1 -1
  210. package/dist/define/http/http-request-config.js +1 -1
  211. package/dist/define/http/http-request-config.js.map +1 -1
  212. package/dist/define/http/http-request-editor.js +1 -1
  213. package/dist/define/http/http-request-editor.js.map +1 -1
  214. package/dist/define/http/http-request-log.js +1 -1
  215. package/dist/define/http/http-request-log.js.map +1 -1
  216. package/dist/define/http/http-snippets.js +1 -1
  217. package/dist/define/http/http-snippets.js.map +1 -1
  218. package/dist/define/http/http-url-input.js +1 -1
  219. package/dist/define/http/http-url-input.js.map +1 -1
  220. package/dist/define/http/http-url-params-form.js +1 -1
  221. package/dist/define/http/http-url-params-form.js.map +1 -1
  222. package/dist/define/http-project/http-project-request-history.js +1 -1
  223. package/dist/define/http-project/http-project-request-history.js.map +1 -1
  224. package/dist/define/http-project/http-project-request.js +2 -2
  225. package/dist/define/http-project/http-project-request.js.map +1 -1
  226. package/dist/define/http-project/project-navigation.js +1 -1
  227. package/dist/define/http-project/project-navigation.js.map +1 -1
  228. package/dist/define/http-project/project-run-report.js +1 -1
  229. package/dist/define/http-project/project-run-report.js.map +1 -1
  230. package/dist/define/http-project/project-runner.js +2 -2
  231. package/dist/define/http-project/project-runner.js.map +1 -1
  232. package/dist/define/layout/split-view.js +1 -1
  233. package/dist/define/layout/split-view.js.map +1 -1
  234. package/dist/define/schema-design/schema-design-navigation.js +1 -1
  235. package/dist/define/schema-design/schema-design-navigation.js.map +1 -1
  236. package/dist/define/schema-design/schema-namespace-selector.js +1 -1
  237. package/dist/define/schema-design/schema-namespace-selector.js.map +1 -1
  238. package/dist/define/ui/ui-button.js +1 -1
  239. package/dist/define/ui/ui-button.js.map +1 -1
  240. package/dist/define/ui/ui-chip.js +1 -1
  241. package/dist/define/ui/ui-chip.js.map +1 -1
  242. package/dist/define/ui/ui-collapse.js +1 -1
  243. package/dist/define/ui/ui-collapse.js.map +1 -1
  244. package/dist/define/ui/ui-dialog.js +1 -1
  245. package/dist/define/ui/ui-dialog.js.map +1 -1
  246. package/dist/define/ui/ui-dropdown-list.js +1 -1
  247. package/dist/define/ui/ui-dropdown-list.js.map +1 -1
  248. package/dist/define/ui/ui-icon-button.js +1 -1
  249. package/dist/define/ui/ui-icon-button.js.map +1 -1
  250. package/dist/define/ui/ui-icon.js +1 -1
  251. package/dist/define/ui/ui-icon.js.map +1 -1
  252. package/dist/define/ui/ui-list-item.js +1 -1
  253. package/dist/define/ui/ui-list-item.js.map +1 -1
  254. package/dist/define/ui/ui-list.js +1 -1
  255. package/dist/define/ui/ui-list.js.map +1 -1
  256. package/dist/define/ui/ui-listbox.js +1 -1
  257. package/dist/define/ui/ui-listbox.js.map +1 -1
  258. package/dist/define/ui/ui-progress.js +1 -1
  259. package/dist/define/ui/ui-progress.js.map +1 -1
  260. package/dist/define/ui/ui-segmented-button-set.js +1 -1
  261. package/dist/define/ui/ui-segmented-button-set.js.map +1 -1
  262. package/dist/define/ui/ui-segmented-button.js +1 -1
  263. package/dist/define/ui/ui-segmented-button.js.map +1 -1
  264. package/dist/define/ui/ui-snackbar.js +1 -1
  265. package/dist/define/ui/ui-snackbar.js.map +1 -1
  266. package/dist/define/ui/ui-tab.js +1 -1
  267. package/dist/define/ui/ui-tab.js.map +1 -1
  268. package/dist/define/ui/ui-tabs.js +1 -1
  269. package/dist/define/ui/ui-tabs.js.map +1 -1
  270. package/dist/directives/data-attr.js +0 -1
  271. package/dist/directives/data-attr.js.map +1 -1
  272. package/dist/elements/ApiElement.js +0 -7
  273. package/dist/elements/ApiElement.js.map +1 -1
  274. package/dist/elements/amf/ApiAnnotationDocument.element.js +0 -2
  275. package/dist/elements/amf/ApiAnnotationDocument.element.js.map +1 -1
  276. package/dist/elements/amf/ApiAuthorizationEditor.element.js +0 -32
  277. package/dist/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
  278. package/dist/elements/amf/ApiDocumentation.element.js +0 -91
  279. package/dist/elements/amf/ApiDocumentation.element.js.map +1 -1
  280. package/dist/elements/amf/ApiDocumentationBase.js +0 -9
  281. package/dist/elements/amf/ApiDocumentationBase.js.map +1 -1
  282. package/dist/elements/amf/ApiDocumentationDocument.element.js +0 -1
  283. package/dist/elements/amf/ApiDocumentationDocument.element.js.map +1 -1
  284. package/dist/elements/amf/ApiNavigation.element.js +0 -97
  285. package/dist/elements/amf/ApiNavigation.element.js.map +1 -1
  286. package/dist/elements/amf/ApiOperationDocument.element.js +0 -76
  287. package/dist/elements/amf/ApiOperationDocument.element.js.map +1 -1
  288. package/dist/elements/amf/ApiParameterDocument.element.js +0 -3
  289. package/dist/elements/amf/ApiParameterDocument.element.js.map +1 -1
  290. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js +0 -1
  291. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js.map +1 -1
  292. package/dist/elements/amf/ApiPayloadDocument.element.js +0 -1
  293. package/dist/elements/amf/ApiPayloadDocument.element.js.map +1 -1
  294. package/dist/elements/amf/ApiRequest.element.js +0 -78
  295. package/dist/elements/amf/ApiRequest.element.js.map +1 -1
  296. package/dist/elements/amf/ApiRequestDocument.element.js +0 -38
  297. package/dist/elements/amf/ApiRequestDocument.element.js.map +1 -1
  298. package/dist/elements/amf/ApiRequestEditor.element.js +0 -118
  299. package/dist/elements/amf/ApiRequestEditor.element.js.map +1 -1
  300. package/dist/elements/amf/ApiResourceDocument.element.js +0 -75
  301. package/dist/elements/amf/ApiResourceDocument.element.js.map +1 -1
  302. package/dist/elements/amf/ApiResponseDocument.element.js +0 -17
  303. package/dist/elements/amf/ApiResponseDocument.element.js.map +1 -1
  304. package/dist/elements/amf/ApiSchemaDocument.element.js +0 -28
  305. package/dist/elements/amf/ApiSchemaDocument.element.js.map +1 -1
  306. package/dist/elements/amf/ApiSecurityDocument.element.js +0 -28
  307. package/dist/elements/amf/ApiSecurityDocument.element.js.map +1 -1
  308. package/dist/elements/amf/ApiSecurityRequirementDocument.element.js +0 -1
  309. package/dist/elements/amf/ApiSecurityRequirementDocument.element.js.map +1 -1
  310. package/dist/elements/amf/ApiServerPicker.element.js +2 -65
  311. package/dist/elements/amf/ApiServerPicker.element.js.map +1 -1
  312. package/dist/elements/amf/ApiSummary.element.js +0 -26
  313. package/dist/elements/amf/ApiSummary.element.js.map +1 -1
  314. package/dist/elements/amf/authorization/AmfApiKey.js +0 -5
  315. package/dist/elements/amf/authorization/AmfApiKey.js.map +1 -1
  316. package/dist/elements/amf/authorization/AmfBasic.js +0 -4
  317. package/dist/elements/amf/authorization/AmfBasic.js.map +1 -1
  318. package/dist/elements/amf/authorization/AmfBearer.js +0 -4
  319. package/dist/elements/amf/authorization/AmfBearer.js.map +1 -1
  320. package/dist/elements/amf/authorization/AmfOauth2.js +0 -13
  321. package/dist/elements/amf/authorization/AmfOauth2.js.map +1 -1
  322. package/dist/elements/amf/authorization/AmfOidc.js +0 -4
  323. package/dist/elements/amf/authorization/AmfOidc.js.map +1 -1
  324. package/dist/elements/amf/authorization/AmfPassThrough.js +0 -6
  325. package/dist/elements/amf/authorization/AmfPassThrough.js.map +1 -1
  326. package/dist/elements/amf/authorization/AmfRamlCustom.js +0 -6
  327. package/dist/elements/amf/authorization/AmfRamlCustom.js.map +1 -1
  328. package/dist/elements/authorization/OAuth2Authorize.js +0 -14
  329. package/dist/elements/authorization/OAuth2Authorize.js.map +1 -1
  330. package/dist/elements/authorization/OidcAuthorize.js +0 -14
  331. package/dist/elements/authorization/OidcAuthorize.js.map +1 -1
  332. package/dist/elements/authorization/ui/ApiKeyAuthorization.js +0 -2
  333. package/dist/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
  334. package/dist/elements/authorization/ui/Authorization.js +18 -32
  335. package/dist/elements/authorization/ui/Authorization.js.map +1 -1
  336. package/dist/elements/authorization/ui/CcAuthorization.js +1 -3
  337. package/dist/elements/authorization/ui/CcAuthorization.js.map +1 -1
  338. package/dist/elements/authorization/ui/OAuth2Authorization.js +21 -50
  339. package/dist/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
  340. package/dist/elements/authorization/ui/OidcAuthorization.js +4 -6
  341. package/dist/elements/authorization/ui/OidcAuthorization.js.map +1 -1
  342. package/dist/elements/code/HttpSnippets.js +9 -8
  343. package/dist/elements/code/HttpSnippets.js.map +1 -1
  344. package/dist/elements/dialog/ConfirmDelete.js +0 -12
  345. package/dist/elements/dialog/ConfirmDelete.js.map +1 -1
  346. package/dist/elements/dialog/Rename.js +0 -6
  347. package/dist/elements/dialog/Rename.js.map +1 -1
  348. package/dist/elements/environment/EnvironmentEditor.js +8 -11
  349. package/dist/elements/environment/EnvironmentEditor.js.map +1 -1
  350. package/dist/elements/environment/ServerEditor.js +7 -45
  351. package/dist/elements/environment/ServerEditor.js.map +1 -1
  352. package/dist/elements/environment/VariablesEditor.js +7 -12
  353. package/dist/elements/environment/VariablesEditor.js.map +1 -1
  354. package/dist/elements/files/ShareFile.js +19 -57
  355. package/dist/elements/files/ShareFile.js.map +1 -1
  356. package/dist/elements/har/HarViewer.js +6 -7
  357. package/dist/elements/har/HarViewer.js.map +1 -1
  358. package/dist/elements/highlight/MarkedHighlight.js +4 -56
  359. package/dist/elements/highlight/MarkedHighlight.js.map +1 -1
  360. package/dist/elements/highlight/PrismHighlight.js +9 -18
  361. package/dist/elements/highlight/PrismHighlight.js.map +1 -1
  362. package/dist/elements/highlight/PrismHighlighter.js +4 -6
  363. package/dist/elements/highlight/PrismHighlighter.js.map +1 -1
  364. package/dist/elements/http/BodyEditor.js +21 -33
  365. package/dist/elements/http/BodyEditor.js.map +1 -1
  366. package/dist/elements/http/BodyMultipartEditor.js +17 -18
  367. package/dist/elements/http/BodyMultipartEditor.js.map +1 -1
  368. package/dist/elements/http/BodyTextEditor.js +2 -15
  369. package/dist/elements/http/BodyTextEditor.js.map +1 -1
  370. package/dist/elements/http/BodyUrlEncodedEditor.js +20 -21
  371. package/dist/elements/http/BodyUrlEncodedEditor.js.map +1 -1
  372. package/dist/elements/http/HeadersForm.js +16 -17
  373. package/dist/elements/http/HeadersForm.js.map +1 -1
  374. package/dist/elements/http/HttpAssertions.js +8 -6
  375. package/dist/elements/http/HttpAssertions.js.map +1 -1
  376. package/dist/elements/http/LogBody.js +10 -21
  377. package/dist/elements/http/LogBody.js.map +1 -1
  378. package/dist/elements/http/LogHeaders.js +4 -23
  379. package/dist/elements/http/LogHeaders.js.map +1 -1
  380. package/dist/elements/http/LogTimings.js +11 -13
  381. package/dist/elements/http/LogTimings.js.map +1 -1
  382. package/dist/elements/http/RequestConfigElement.js +7 -4
  383. package/dist/elements/http/RequestConfigElement.js.map +1 -1
  384. package/dist/elements/http/RequestEditor.js +54 -88
  385. package/dist/elements/http/RequestEditor.js.map +1 -1
  386. package/dist/elements/http/RequestLog.js +9 -14
  387. package/dist/elements/http/RequestLog.js.map +1 -1
  388. package/dist/elements/http/UrlInput.js +15 -25
  389. package/dist/elements/http/UrlInput.js.map +1 -1
  390. package/dist/elements/http/UrlParamsForm.js +16 -13
  391. package/dist/elements/http/UrlParamsForm.js.map +1 -1
  392. package/dist/elements/layout/LayoutManager.js +16 -24
  393. package/dist/elements/layout/LayoutManager.js.map +1 -1
  394. package/dist/elements/layout/LayoutPanelElement.js +17 -23
  395. package/dist/elements/layout/LayoutPanelElement.js.map +1 -1
  396. package/dist/elements/layout/SplitItem.js +4 -12
  397. package/dist/elements/layout/SplitItem.js.map +1 -1
  398. package/dist/elements/layout/SplitLayout.js +18 -24
  399. package/dist/elements/layout/SplitLayout.js.map +1 -1
  400. package/dist/elements/layout/SplitPanel.js +10 -16
  401. package/dist/elements/layout/SplitPanel.js.map +1 -1
  402. package/dist/elements/layout/SplitView.js +17 -26
  403. package/dist/elements/layout/SplitView.js.map +1 -1
  404. package/dist/elements/navigation/AppNavigationElement.js +8 -47
  405. package/dist/elements/navigation/AppNavigationElement.js.map +1 -1
  406. package/dist/elements/navigation/AppNavigationItemElement.js +19 -24
  407. package/dist/elements/navigation/AppNavigationItemElement.js.map +1 -1
  408. package/dist/elements/project/HttpProjectRequest.js +0 -38
  409. package/dist/elements/project/HttpProjectRequest.js.map +1 -1
  410. package/dist/elements/project/HttpProjectRequestHistory.js +9 -35
  411. package/dist/elements/project/HttpProjectRequestHistory.js.map +1 -1
  412. package/dist/elements/project/ProjectNavigation.js +0 -4
  413. package/dist/elements/project/ProjectNavigation.js.map +1 -1
  414. package/dist/elements/project/ProjectRunReport.js +4 -15
  415. package/dist/elements/project/ProjectRunReport.js.map +1 -1
  416. package/dist/elements/project/ProjectRunner.js +2 -47
  417. package/dist/elements/project/ProjectRunner.js.map +1 -1
  418. package/dist/elements/schema-design/AssociationFormElement.js +0 -13
  419. package/dist/elements/schema-design/AssociationFormElement.js.map +1 -1
  420. package/dist/elements/schema-design/DataEntityEditorElement.js +0 -22
  421. package/dist/elements/schema-design/DataEntityEditorElement.js.map +1 -1
  422. package/dist/elements/schema-design/DataModelVisualizationElement.js +0 -16
  423. package/dist/elements/schema-design/DataModelVisualizationElement.js.map +1 -1
  424. package/dist/elements/schema-design/DataSchemaDocument.js +0 -36
  425. package/dist/elements/schema-design/DataSchemaDocument.js.map +1 -1
  426. package/dist/elements/schema-design/EntityFormElement.js +0 -18
  427. package/dist/elements/schema-design/EntityFormElement.js.map +1 -1
  428. package/dist/elements/schema-design/PropertyFormElement.js +0 -12
  429. package/dist/elements/schema-design/PropertyFormElement.js.map +1 -1
  430. package/dist/elements/schema-design/SchemaDesignNavigation.js +0 -9
  431. package/dist/elements/schema-design/SchemaDesignNavigation.js.map +1 -1
  432. package/dist/elements/schema-design/SchemaNamespaceSelector.js +0 -9
  433. package/dist/elements/schema-design/SchemaNamespaceSelector.js.map +1 -1
  434. package/dist/elements/user/UserAvatarElement.js +0 -9
  435. package/dist/elements/user/UserAvatarElement.js.map +1 -1
  436. package/dist/events/http-client/models/CertificatesEvents.js +2 -2
  437. package/dist/events/http-client/models/CertificatesEvents.js.map +1 -1
  438. package/dist/http-client/idb/Base.js +5 -10
  439. package/dist/http-client/idb/Base.js.map +1 -1
  440. package/dist/http-client/idb/LegacyMockedStore.js +0 -1
  441. package/dist/http-client/idb/LegacyMockedStore.js.map +1 -1
  442. package/dist/http-client/idb/MockedStore.js +3 -1
  443. package/dist/http-client/idb/MockedStore.js.map +1 -1
  444. package/dist/http-client/store/DataImportProcessor.js +0 -3
  445. package/dist/http-client/store/DataImportProcessor.js.map +1 -1
  446. package/dist/http-client/store/HttpClientIdbDatabase.js +8 -7
  447. package/dist/http-client/store/HttpClientIdbDatabase.js.map +1 -1
  448. package/dist/http-client/store/IdbThread.js +23 -20
  449. package/dist/http-client/store/IdbThread.js.map +1 -1
  450. package/dist/http-client/store/idb/IdbProjectUi.js +4 -1
  451. package/dist/http-client/store/idb/IdbProjectUi.js.map +1 -1
  452. package/dist/http-client/store/idb/IdbStore.js +0 -2
  453. package/dist/http-client/store/idb/IdbStore.js.map +1 -1
  454. package/dist/http-client/store/idb/IdbUrlHistory.js +4 -1
  455. package/dist/http-client/store/idb/IdbUrlHistory.js.map +1 -1
  456. package/dist/http-client/store/idb/IdbWsHistory.js +4 -1
  457. package/dist/http-client/store/idb/IdbWsHistory.js.map +1 -1
  458. package/dist/lib/chart/HttpHistoryChart.js +7 -8
  459. package/dist/lib/chart/HttpHistoryChart.js.map +1 -1
  460. package/dist/mixins/FileDropMixin.js +0 -1
  461. package/dist/mixins/FileDropMixin.js.map +1 -1
  462. package/dist/mixins/RenderableMixin.js +11 -15
  463. package/dist/mixins/RenderableMixin.js.map +1 -1
  464. package/dist/pages/ApplicationScreen.js +34 -55
  465. package/dist/pages/ApplicationScreen.js.map +1 -1
  466. package/dist/pages/api-client/ApiClient.screen.js +11 -20
  467. package/dist/pages/api-client/ApiClient.screen.js.map +1 -1
  468. package/dist/pages/api-client/Authenticate.screen.js +4 -6
  469. package/dist/pages/api-client/Authenticate.screen.js.map +1 -1
  470. package/dist/pages/api-client/StoreConfig.screen.js +21 -37
  471. package/dist/pages/api-client/StoreConfig.screen.js.map +1 -1
  472. package/dist/pages/api-client/Telemetry.screen.js +1 -2
  473. package/dist/pages/api-client/Telemetry.screen.js.map +1 -1
  474. package/dist/pages/api-client/pages/Files.page.js +6 -27
  475. package/dist/pages/api-client/pages/Files.page.js.map +1 -1
  476. package/dist/pages/api-client/pages/Settings.page.js +2 -4
  477. package/dist/pages/api-client/pages/Settings.page.js.map +1 -1
  478. package/dist/pages/api-client/pages/Trash.page.js +2 -13
  479. package/dist/pages/api-client/pages/Trash.page.js.map +1 -1
  480. package/dist/pages/demo/DemoPage.d.ts.map +1 -1
  481. package/dist/pages/demo/DemoPage.js +25 -24
  482. package/dist/pages/demo/DemoPage.js.map +1 -1
  483. package/dist/pages/http-project/HttpProject.screen.js +25 -35
  484. package/dist/pages/http-project/HttpProject.screen.js.map +1 -1
  485. package/dist/pages/schema-design/SchemaDesigner.screen.js +14 -27
  486. package/dist/pages/schema-design/SchemaDesigner.screen.js.map +1 -1
  487. package/dist/store/HttpStore.js +0 -3
  488. package/dist/store/HttpStore.js.map +1 -1
  489. package/dist/store/UserCache.js +5 -5
  490. package/dist/store/UserCache.js.map +1 -1
  491. package/dist/ui/UiElement.js +4 -5
  492. package/dist/ui/UiElement.js.map +1 -1
  493. package/dist/ui/button/SegmentedButton.js +9 -11
  494. package/dist/ui/button/SegmentedButton.js.map +1 -1
  495. package/dist/ui/button/SegmentedButtonsSet.js +6 -7
  496. package/dist/ui/button/SegmentedButtonsSet.js.map +1 -1
  497. package/dist/ui/button/UiButton.js +17 -39
  498. package/dist/ui/button/UiButton.js.map +1 -1
  499. package/dist/ui/button/UiIconButton.js +9 -35
  500. package/dist/ui/button/UiIconButton.js.map +1 -1
  501. package/dist/ui/chip/UiChip.js +9 -49
  502. package/dist/ui/chip/UiChip.js.map +1 -1
  503. package/dist/ui/collapse/UiCollapse.js +15 -20
  504. package/dist/ui/collapse/UiCollapse.js.map +1 -1
  505. package/dist/ui/controllers/ActionController.js +143 -144
  506. package/dist/ui/controllers/ActionController.js.map +1 -1
  507. package/dist/ui/controllers/RadioSelectionController.js +0 -1
  508. package/dist/ui/controllers/RadioSelectionController.js.map +1 -1
  509. package/dist/ui/date/DateTime.js +3 -3
  510. package/dist/ui/date/DateTime.js.map +1 -1
  511. package/dist/ui/dialog/UiDialog.d.ts +1 -1
  512. package/dist/ui/dialog/UiDialog.d.ts.map +1 -1
  513. package/dist/ui/dialog/UiDialog.js +19 -41
  514. package/dist/ui/dialog/UiDialog.js.map +1 -1
  515. package/dist/ui/effects/ripple.js +20 -18
  516. package/dist/ui/effects/ripple.js.map +1 -1
  517. package/dist/ui/effects/rippleDirective.js +6 -7
  518. package/dist/ui/effects/rippleDirective.js.map +1 -1
  519. package/dist/ui/icons/UiIcon.js +4 -3
  520. package/dist/ui/icons/UiIcon.js.map +1 -1
  521. package/dist/ui/input/CheckboxElement.js +12 -10
  522. package/dist/ui/input/CheckboxElement.js.map +1 -1
  523. package/dist/ui/input/CheckedElement.js +2 -13
  524. package/dist/ui/input/CheckedElement.js.map +1 -1
  525. package/dist/ui/input/Input.js +169 -234
  526. package/dist/ui/input/Input.js.map +1 -1
  527. package/dist/ui/input/RadioElement.js +13 -11
  528. package/dist/ui/input/RadioElement.js.map +1 -1
  529. package/dist/ui/input/SwitchElement.js +0 -18
  530. package/dist/ui/input/SwitchElement.js.map +1 -1
  531. package/dist/ui/input/TextAreaElement.js +0 -15
  532. package/dist/ui/input/TextAreaElement.js.map +1 -1
  533. package/dist/ui/list/DividerElement.js +5 -10
  534. package/dist/ui/list/DividerElement.js.map +1 -1
  535. package/dist/ui/list/UiDropdownList.js +7 -48
  536. package/dist/ui/list/UiDropdownList.js.map +1 -1
  537. package/dist/ui/list/UiList.js +3 -15
  538. package/dist/ui/list/UiList.js.map +1 -1
  539. package/dist/ui/list/UiListItem.js +4 -17
  540. package/dist/ui/list/UiListItem.js.map +1 -1
  541. package/dist/ui/list/UiListbox.js +0 -1
  542. package/dist/ui/list/UiListbox.js.map +1 -1
  543. package/dist/ui/notification/SnackNotifications.js +1 -2
  544. package/dist/ui/notification/SnackNotifications.js.map +1 -1
  545. package/dist/ui/notification/Snackbar.js +27 -51
  546. package/dist/ui/notification/Snackbar.js.map +1 -1
  547. package/dist/ui/progress/Range.js +24 -23
  548. package/dist/ui/progress/Range.js.map +1 -1
  549. package/dist/ui/progress/UiProgress.js +0 -11
  550. package/dist/ui/progress/UiProgress.js.map +1 -1
  551. package/dist/ui/table/DataTable.js +7 -12
  552. package/dist/ui/table/DataTable.js.map +1 -1
  553. package/dist/ui/tabs/UiTab.js +24 -25
  554. package/dist/ui/tabs/UiTab.js.map +1 -1
  555. package/dist/ui/tabs/UiTabs.js +21 -35
  556. package/dist/ui/tabs/UiTabs.js.map +1 -1
  557. package/dist/visualization/elements/VizWorkspaceElement.js +12 -21
  558. package/dist/visualization/elements/VizWorkspaceElement.js.map +1 -1
  559. package/dist/visualization/lib/AssociationAnchors.js +16 -28
  560. package/dist/visualization/lib/AssociationAnchors.js.map +1 -1
  561. package/dist/visualization/lib/Point.js +0 -2
  562. package/dist/visualization/lib/Point.js.map +1 -1
  563. package/dist/visualization/lib/SelectionManager.js +10 -11
  564. package/dist/visualization/lib/SelectionManager.js.map +1 -1
  565. package/dist/visualization/lib/WorkspaceAlignment.js +0 -1
  566. package/dist/visualization/lib/WorkspaceAlignment.js.map +1 -1
  567. package/dist/visualization/lib/WorkspaceDebugging.js +5 -8
  568. package/dist/visualization/lib/WorkspaceDebugging.js.map +1 -1
  569. package/dist/visualization/lib/WorkspaceEdges.js +17 -19
  570. package/dist/visualization/lib/WorkspaceEdges.js.map +1 -1
  571. package/dist/visualization/lib/WorkspaceGestures.js +0 -3
  572. package/dist/visualization/lib/WorkspaceGestures.js.map +1 -1
  573. package/dist/visualization/lib/WorkspaceSizing.js +4 -6
  574. package/dist/visualization/lib/WorkspaceSizing.js.map +1 -1
  575. package/dist/visualization/lib/lines/RectilinearLine.js +8 -34
  576. package/dist/visualization/lib/lines/RectilinearLine.js.map +1 -1
  577. package/dist/visualization/lib/tips/RectilinearTip.js +0 -1
  578. package/dist/visualization/lib/tips/RectilinearTip.js.map +1 -1
  579. package/dist/visualization/lib/tips/TipArtist.js +0 -3
  580. package/dist/visualization/lib/tips/TipArtist.js.map +1 -1
  581. package/dist/visualization/plugin/dnd/DragAndDropPlugin.js +3 -5
  582. package/dist/visualization/plugin/dnd/DragAndDropPlugin.js.map +1 -1
  583. package/dist/visualization/plugin/group-selection/GroupSelection.js +19 -19
  584. package/dist/visualization/plugin/group-selection/GroupSelection.js.map +1 -1
  585. package/dist/visualization/plugin/positioning/WorkspaceLayout.js +21 -38
  586. package/dist/visualization/plugin/positioning/WorkspaceLayout.js.map +1 -1
  587. package/package.json +3 -2
  588. package/src/pages/demo/DemoPage.ts +12 -11
  589. package/src/ui/dialog/UiDialog.ts +6 -4
  590. package/test/ui/dialog/UiDialog.test.ts +236 -0
  591. package/tsconfig.json +2 -2
  592. package/demo/themes/default.css +0 -0
  593. package/demo/themes/m3/theme.dark.css +0 -40
  594. package/demo/themes/m3/theme.light.css +0 -40
  595. package/demo/themes/m3/tokens.css +0 -291
@@ -7,9 +7,10 @@ import { html, LitElement } from 'lit';
7
7
  import { property } from 'lit/decorators.js';
8
8
  import * as Icons from './Icons.js';
9
9
  export default class UiIcon extends LitElement {
10
- iconInternal;
11
- hasIconInternal = false;
12
- iconValue;
10
+ constructor() {
11
+ super(...arguments);
12
+ this.hasIconInternal = false;
13
+ }
13
14
  /**
14
15
  * An icon to be rendered from the ApiIcons library.
15
16
  * When incorrect icon is referenced nothing is rendered.
@@ -1 +1 @@
1
- {"version":3,"file":"UiIcon.js","sourceRoot":"","sources":["../../../src/ui/icons/UiIcon.ts"],"names":[],"mappings":";AAAA;;;EAGE;AACF,OAAO,EAAE,IAAI,EAAkB,UAAU,EAAqB,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAGpC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,UAAU;IACpC,YAAY,CAAuB;IAEnC,eAAe,GAAG,KAAK,CAAC;IAExB,SAAS,CAAgC;IAEjD;;;;OAIG;IAEH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,KAA2B;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;QAC9B,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,OAAO;SACR;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvB,4BAA4B;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACO,UAAU,CAAC,IAA0B;QAC7C,MAAM,IAAI,GAAI,KAAe,CAAC,IAAgB,CAAkC,CAAC;QACjF,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACM,MAAM;QACb,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAA,eAAe,CAAC;SAC5B;QACD,OAAO,IAAI,CAAA,GAAG,UAAU,EAAE,CAAC;IAC7B,CAAC;CACF;AA3CC;IADC,QAAQ,EAAE;kCAGV","sourcesContent":["/*\nCopyright 2022 Pawel Psztyc\nLicensed under the CC-BY 2.0\n*/\nimport { html, TemplateResult, LitElement, SVGTemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport * as Icons from './Icons.js';\nimport { IconType } from './Icons.js';\n\nexport default class UiIcon extends LitElement {\n private iconInternal: IconType | undefined;\n\n private hasIconInternal = false;\n\n private iconValue: SVGTemplateResult | undefined;\n\n /**\n * An icon to be rendered from the ApiIcons library.\n * When incorrect icon is referenced nothing is rendered.\n * @attribute\n */\n @property()\n get icon(): IconType | undefined {\n return this.iconInternal;\n }\n\n set icon(value: IconType | undefined) {\n const old = this.iconInternal;\n if (old === value) {\n return;\n }\n this.iconInternal = value;\n this.updateIcon(value);\n // don't request update here\n }\n\n /**\n * @returns True when the icon was found and is rendered.\n */\n get hasIcon(): boolean {\n return this.hasIconInternal;\n }\n\n /**\n * Maps icon name to it's definition and sets `hasIcon` value.\n *\n * @param name Icon name\n */\n protected updateIcon(name: IconType | undefined): void {\n const icon = (Icons as never)[name as IconType] as SVGTemplateResult | undefined;\n this.hasIconInternal = !!icon;\n this.iconValue = icon;\n this.requestUpdate();\n }\n\n /**\n * @return Template result for an icon\n */\n override render(): TemplateResult {\n const { hasIcon, iconValue: _iconValue } = this;\n if (!hasIcon) {\n return html`<slot></slot>`;\n }\n return html`${_iconValue}`;\n }\n}\n"]}
1
+ {"version":3,"file":"UiIcon.js","sourceRoot":"","sources":["../../../src/ui/icons/UiIcon.ts"],"names":[],"mappings":";AAAA;;;EAGE;AACF,OAAO,EAAE,IAAI,EAAkB,UAAU,EAAqB,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAGpC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,UAAU;IAA9C;;QAGU,oBAAe,GAAG,KAAK,CAAC;IAqDlC,CAAC;IAjDC;;;;OAIG;IAEH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,KAA2B;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;QAC9B,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,OAAO;SACR;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvB,4BAA4B;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACO,UAAU,CAAC,IAA0B;QAC7C,MAAM,IAAI,GAAI,KAAe,CAAC,IAAgB,CAAkC,CAAC;QACjF,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACM,MAAM;QACb,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAA,eAAe,CAAC;SAC5B;QACD,OAAO,IAAI,CAAA,GAAG,UAAU,EAAE,CAAC;IAC7B,CAAC;CACF;AA3CC;IADC,QAAQ,EAAE;kCAGV","sourcesContent":["/*\nCopyright 2022 Pawel Psztyc\nLicensed under the CC-BY 2.0\n*/\nimport { html, TemplateResult, LitElement, SVGTemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport * as Icons from './Icons.js';\nimport { IconType } from './Icons.js';\n\nexport default class UiIcon extends LitElement {\n private iconInternal: IconType | undefined;\n\n private hasIconInternal = false;\n\n private iconValue: SVGTemplateResult | undefined;\n\n /**\n * An icon to be rendered from the ApiIcons library.\n * When incorrect icon is referenced nothing is rendered.\n * @attribute\n */\n @property()\n get icon(): IconType | undefined {\n return this.iconInternal;\n }\n\n set icon(value: IconType | undefined) {\n const old = this.iconInternal;\n if (old === value) {\n return;\n }\n this.iconInternal = value;\n this.updateIcon(value);\n // don't request update here\n }\n\n /**\n * @returns True when the icon was found and is rendered.\n */\n get hasIcon(): boolean {\n return this.hasIconInternal;\n }\n\n /**\n * Maps icon name to it's definition and sets `hasIcon` value.\n *\n * @param name Icon name\n */\n protected updateIcon(name: IconType | undefined): void {\n const icon = (Icons as never)[name as IconType] as SVGTemplateResult | undefined;\n this.hasIconInternal = !!icon;\n this.iconValue = icon;\n this.requestUpdate();\n }\n\n /**\n * @return Template result for an icon\n */\n override render(): TemplateResult {\n const { hasIcon, iconValue: _iconValue } = this;\n if (!hasIcon) {\n return html`<slot></slot>`;\n }\n return html`${_iconValue}`;\n }\n}\n"]}
@@ -9,6 +9,18 @@ import { check, checkIndeterminate } from '../icons/Icons.js';
9
9
  import { ripple } from "../effects/rippleDirective.js";
10
10
  import '../../define/ui/ui-ripple.js';
11
11
  export default class CheckboxElement extends CheckedElement {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.showRipple = false;
15
+ this.getRipple = () => {
16
+ this.showRipple = true;
17
+ return this.ripple;
18
+ };
19
+ this.renderRipple = () => {
20
+ const { disabled } = this;
21
+ return html `<ui-ripple class="ripple" unbounded ?disabled="${disabled}"></ui-ripple>`;
22
+ };
23
+ }
12
24
  static get styles() {
13
25
  return elementStyles;
14
26
  }
@@ -22,12 +34,6 @@ export default class CheckboxElement extends CheckedElement {
22
34
  }
23
35
  return nothing;
24
36
  }
25
- ripple;
26
- showRipple = false;
27
- getRipple = () => {
28
- this.showRipple = true;
29
- return this.ripple;
30
- };
31
37
  async handleFocus() {
32
38
  const _ripple = await this.getRipple();
33
39
  _ripple?.beginFocus();
@@ -65,10 +71,6 @@ export default class CheckboxElement extends CheckedElement {
65
71
  </div>
66
72
  `;
67
73
  }
68
- renderRipple = () => {
69
- const { disabled } = this;
70
- return html `<ui-ripple class="ripple" unbounded ?disabled="${disabled}"></ui-ripple>`;
71
- };
72
74
  }
73
75
  __decorate([
74
76
  queryAsync('ui-ripple')
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxElement.js","sourceRoot":"","sources":["../../../src/ui/input/CheckboxElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResult, html, SVGTemplateResult, TemplateResult, nothing } from \"lit\";\nimport { queryAsync, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { when } from 'lit/directives/when.js';\nimport elementStyles from './Checkbox.styles.js';\nimport CheckedElement from \"./CheckedElement.js\";\nimport { check, checkIndeterminate } from '../icons/Icons.js';\nimport { ripple } from \"../effects/rippleDirective.js\";\nimport '../../define/ui/ui-ripple.js';\nimport UiRipple from \"../effects/ripple.js\";\n\nexport default class CheckboxElement extends CheckedElement {\n static override get styles(): CSSResult | CSSResult[] {\n return elementStyles;\n }\n\n protected get _icon(): SVGTemplateResult | typeof nothing {\n const { indeterminate, checked } = this;\n if (indeterminate) {\n return checkIndeterminate;\n }\n if (checked) {\n return check;\n }\n return nothing;\n }\n\n @queryAsync('ui-ripple') protected ripple!: Promise<UiRipple | null>;\n\n @state() protected showRipple = false;\n\n protected readonly getRipple = (): Promise<UiRipple | null> => {\n this.showRipple = true;\n return this.ripple;\n };\n\n protected override async handleFocus(): Promise<void> {\n const _ripple = await this.getRipple();\n _ripple?.beginFocus();\n }\n\n protected override async handleBlur(): Promise<void> {\n const _ripple = await this.getRipple();\n _ripple?.endFocus();\n }\n\n override async handleKeyDown(e: KeyboardEvent): Promise<void> {\n super.handleKeyDown(e);\n if (['Space'].includes(e.code)) {\n const _ripple = await this.getRipple();\n _ripple?.beginPress();\n }\n }\n\n override async handleKeyUp(e: KeyboardEvent): Promise<void> {\n super.handleKeyUp(e);\n if (['Space'].includes(e.code)) {\n const _ripple = await this.getRipple();\n _ripple?.endPress();\n }\n }\n\n protected override render(): TemplateResult {\n const { pressed=false } = this;\n const containerClasses = classMap({\n surface: true,\n pressed,\n });\n return html`\n <div class=\"${containerClasses}\" ${ripple(this.getRipple)}>\n <div class=\"container\"></div>\n <div class=\"state\"></div>\n ${when(this.showRipple, this.renderRipple)}\n <div class=\"icon\">${this._icon}</div>\n </div>\n `;\n }\n\n protected renderRipple = (): TemplateResult => {\n const { disabled } = this;\n return html`<ui-ripple class=\"ripple\" unbounded ?disabled=\"${disabled}\"></ui-ripple>`;\n };\n}\n"]}
1
+ {"version":3,"file":"CheckboxElement.js","sourceRoot":"","sources":["../../../src/ui/input/CheckboxElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResult, html, SVGTemplateResult, TemplateResult, nothing } from \"lit\";\nimport { queryAsync, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { when } from 'lit/directives/when.js';\nimport elementStyles from './Checkbox.styles.js';\nimport CheckedElement from \"./CheckedElement.js\";\nimport { check, checkIndeterminate } from '../icons/Icons.js';\nimport { ripple } from \"../effects/rippleDirective.js\";\nimport '../../define/ui/ui-ripple.js';\nimport UiRipple from \"../effects/ripple.js\";\n\nexport default class CheckboxElement extends CheckedElement {\n static override get styles(): CSSResult | CSSResult[] {\n return elementStyles;\n }\n\n protected get _icon(): SVGTemplateResult | typeof nothing {\n const { indeterminate, checked } = this;\n if (indeterminate) {\n return checkIndeterminate;\n }\n if (checked) {\n return check;\n }\n return nothing;\n }\n\n @queryAsync('ui-ripple') protected ripple!: Promise<UiRipple | null>;\n\n @state() protected showRipple = false;\n\n protected readonly getRipple = (): Promise<UiRipple | null> => {\n this.showRipple = true;\n return this.ripple;\n };\n\n protected override async handleFocus(): Promise<void> {\n const _ripple = await this.getRipple();\n _ripple?.beginFocus();\n }\n\n protected override async handleBlur(): Promise<void> {\n const _ripple = await this.getRipple();\n _ripple?.endFocus();\n }\n\n override async handleKeyDown(e: KeyboardEvent): Promise<void> {\n super.handleKeyDown(e);\n if (['Space'].includes(e.code)) {\n const _ripple = await this.getRipple();\n _ripple?.beginPress();\n }\n }\n\n override async handleKeyUp(e: KeyboardEvent): Promise<void> {\n super.handleKeyUp(e);\n if (['Space'].includes(e.code)) {\n const _ripple = await this.getRipple();\n _ripple?.endPress();\n }\n }\n\n protected override render(): TemplateResult {\n const { pressed=false } = this;\n const containerClasses = classMap({\n surface: true,\n pressed,\n });\n return html`\n <div class=\"${containerClasses}\" ${ripple(this.getRipple)}>\n <div class=\"container\"></div>\n <div class=\"state\"></div>\n ${when(this.showRipple, this.renderRipple)}\n <div class=\"icon\">${this._icon}</div>\n </div>\n `;\n }\n\n protected renderRipple = (): TemplateResult => {\n const { disabled } = this;\n return html`<ui-ripple class=\"ripple\" unbounded ?disabled=\"${disabled}\"></ui-ripple>`;\n };\n}\n"]}
@@ -13,7 +13,7 @@ export default class CheckedElement extends UiElement {
13
13
  static get formAssociated() {
14
14
  return true;
15
15
  }
16
- #_internals = this.attachInternals();
16
+ #_internals;
17
17
  get form() {
18
18
  return this.#_internals && this.#_internals.form;
19
19
  }
@@ -31,11 +31,6 @@ export default class CheckedElement extends UiElement {
31
31
  this.requestUpdate('disabled', old);
32
32
  this._updateFormValue();
33
33
  }
34
- /**
35
- * The name of the form control, submitted as a pair with the control's value as part of the form data.
36
- * @attribute
37
- */
38
- name;
39
34
  #_value;
40
35
  /**
41
36
  * When a form is submitted, only checkboxes which are currently checked are submitted to the server,
@@ -116,18 +111,12 @@ export default class CheckedElement extends UiElement {
116
111
  }
117
112
  this._updateFormValue();
118
113
  }
119
- /**
120
- * While the element can be easily styled with the `:valid` and `:invalid` pseudo classes
121
- * it also exposes an attribute to style the element as invalid. This attribute changes
122
- * when the element validation is performed.
123
- * @attribute
124
- */
125
- invalid;
126
114
  get _validationError() {
127
115
  return 'Please check this box if you want to proceed.';
128
116
  }
129
117
  constructor() {
130
118
  super();
119
+ this.#_internals = this.attachInternals();
131
120
  // The default value for the `<input type="checkbox"/>
132
121
  this.value = 'on';
133
122
  this.#_checked = false;
@@ -1 +1 @@
1
- {"version":3,"file":"CheckedElement.js","sourceRoot":"","sources":["../../../src/ui/input/CheckedElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { property } from \"lit/decorators.js\";\nimport { UiElement } from \"../UiElement.js\";\nimport { EndPressConfig } from \"../controllers/ActionController.js\";\nimport { isDisabled, setDisabled } from \"../lib/disabled.js\";\n\n/**\n * A base class for UI elements that can be checked (as in a form: checkbox, switch, radio).\n * \n * @fires change - when the checked element changes it's checked state\n * @fires input - when the checked element changes it's checked state\n */\nexport default class CheckedElement extends UiElement {\n #_userInteracted: boolean;\n\n static get formAssociated(): boolean {\n return true;\n }\n\n #_internals = this.attachInternals();\n\n get form(): HTMLFormElement | null {\n return this.#_internals && this.#_internals.form;\n }\n\n get type(): string { return this.localName; }\n\n get disabled(): boolean {\n return isDisabled(this);\n }\n\n /**\n * When set, the button is a disabled state.\n * @attribute\n */\n @property({ reflect: true, type: Boolean }) \n set disabled(value: boolean) {\n const old = isDisabled(this);\n setDisabled(this, value);\n this.requestUpdate('disabled', old);\n this._updateFormValue();\n }\n\n /**\n * The name of the form control, submitted as a pair with the control's value as part of the form data.\n * @attribute\n */\n @property({ type: String }) name?: string;\n\n #_value?: string; \n\n /**\n * When a form is submitted, only checkboxes which are currently checked are submitted to the server, \n * and the reported value is the `value` of the value attribute. \n * If the `value` is not otherwise specified, it is the string `on` by default. \n * @attribute\n */\n @property({ type: String })\n get value(): string | undefined {\n return this.#_value;\n }\n\n set value(value: string | undefined) {\n if (this.#_value === value) {\n return;\n }\n this.#_value = value;\n this._updateFormValue();\n }\n\n #_checked: boolean;\n\n /**\n * A Boolean attribute indicating whether this checkbox is checked.\n * \n * A checkbox's value is only included in the submitted data \n * if the checkbox is currently `checked`. If it is, then the value \n * of the checkbox's `value` attribute is reported as the input's value.\n * @attribute\n */\n @property({ type: Boolean, reflect: true })\n get checked(): boolean {\n return this.#_checked;\n }\n\n set checked(value: boolean) {\n const old = this.#_checked;\n if (old === value) {\n return;\n }\n this.#_checked = value;\n this._setChecked(value);\n this.requestUpdate('checked', old);\n }\n\n #_indeterminate: boolean;\n\n /**\n * In addition to the checked and unchecked states, there is a third state a checkbox can be in: indeterminate. \n * This is a state in which it's impossible to say whether the item is toggled on or off.\n * \n * If you submit a form with an indeterminate checkbox, the same thing happens as \n * if the checkbox were unchecked — no data is submitted to represent the checkbox.\n * @attribute\n */\n @property({ type: Boolean, reflect: true })\n get indeterminate(): boolean {\n return this.#_indeterminate;\n }\n\n set indeterminate(value: boolean) {\n if (this.#_indeterminate === value) {\n return;\n }\n this.#_indeterminate = value;\n this._updateFormValue();\n }\n\n #_required?: boolean;\n\n /**\n * Set to true to mark the checked element as required. \n * @attribute\n */\n @property({ reflect: true, type: Boolean }) \n get required(): boolean | undefined {\n return this.#_required;\n }\n\n set required(value: boolean | undefined) {\n const old = this.#_required;\n if (old === value) {\n return;\n }\n this.#_required = value;\n this.requestUpdate('required', 'old');\n if (value) {\n this.setAttribute('aria-required', 'true');\n } else {\n this.removeAttribute('aria-required');\n }\n this._updateFormValue();\n }\n\n /**\n * While the element can be easily styled with the `:valid` and `:invalid` pseudo classes\n * it also exposes an attribute to style the element as invalid. This attribute changes \n * when the element validation is performed.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) invalid?: boolean;\n\n protected get _validationError(): string {\n return 'Please check this box if you want to proceed.';\n }\n\n constructor() {\n super();\n // The default value for the `<input type=\"checkbox\"/>\n this.value = 'on';\n this.#_checked = false;\n this.#_indeterminate = false;\n this.#_userInteracted = false;\n this.actionController.cancelKeyboardEvents = true;\n this.addEventListener('invalid', this._invalidHandler.bind(this));\n this.addEventListener('click', this.handleClick.bind(this));\n this.addEventListener('pointerdown', this.handlePointerDown.bind(this));\n this.addEventListener('pointerup', this.handlePointerUp.bind(this));\n this.addEventListener('pointercancel', this.handlePointerCancel.bind(this));\n this.addEventListener('pointerleave', this.handlePointerLeave.bind(this));\n this.addEventListener('contextmenu', this.handleContextMenu.bind(this));\n this.addEventListener('keydown', this.handleKeyDown.bind(this));\n this.addEventListener('keyup', this.handleKeyUp.bind(this));\n this.addEventListener('focus', this.handleFocus.bind(this));\n this.addEventListener('blur', this.handleBlur.bind(this));\n }\n \n override connectedCallback(): void {\n super.connectedCallback();\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'checkbox');\n }\n if (!this.hasAttribute('tabindex') && !this.disabled) {\n this.setAttribute('tabindex', '0');\n }\n this._setChecked(this.checked);\n }\n\n /**\n * When form-associated custom elements are supported in the browser it\n * is called when the form has been reset\n */\n formResetCallback(): void {\n this.checked = false;\n this._postCheckedChange();\n }\n\n /**\n * When form-associated custom elements are supported in the browser it\n * is called when the form state has been restored\n *\n * @param formState Restored value\n */\n formStateRestoreCallback(formState?: string): void {\n if (this.value === formState) {\n this.checked = true;\n this._postCheckedChange();\n }\n }\n\n override handleClick(e: MouseEvent): void {\n super.handleClick(e);\n this.toggle();\n }\n\n override endPress(config: EndPressConfig): void {\n super.endPress(config);\n const { cancelled, reason } = config;\n if (cancelled) {\n return;\n }\n if (reason === 'enter' || reason === 'space') {\n this.toggle();\n }\n }\n\n protected handleFocus(): void { \n // \n }\n\n protected handleBlur(): void { \n // \n }\n\n protected _setChecked(value = false): void {\n const { indeterminate } = this;\n const attrValue = indeterminate ? 'mixed' : String(value);\n this.setAttribute('aria-checked', attrValue);\n this._updateFormValue();\n }\n\n protected _updateFormValue(): void {\n const { value = null, checked, indeterminate, disabled, required } = this;\n if (!checked || indeterminate || disabled) {\n this.#_internals.setFormValue(null);\n } else {\n this.#_internals.setFormValue(value);\n }\n\n if (required && !checked) {\n this.#_internals.setValidity({\n valueMissing: true,\n }, this._validationError);\n } else if (this.#_internals.validity.valueMissing) {\n this.#_internals.setValidity({});\n }\n }\n\n protected _notifyChange(): void {\n // The <input type=\"checkbox\"/> dispatches both events.\n this.dispatchEvent(new Event('input'));\n this.dispatchEvent(new Event('change'));\n }\n\n protected _invalidHandler(): void {\n if (!this.#_userInteracted) {\n return;\n }\n this.invalid = true;\n }\n\n toggle(): void {\n if (this.disabled) {\n return;\n }\n this.#_userInteracted = true;\n this.invalid = false;\n this.checked = !this.checked;\n this._updateFormValue();\n this._postCheckedChange();\n }\n\n protected _postCheckedChange(): void {\n this._notifyChange();\n this.#_internals.checkValidity();\n }\n\n /**\n * Returns true if the element's value has no validity problems; false otherwise. \n * Fires an invalid event at the element in the latter case.\n */\n checkValidity(): boolean {\n this.#_userInteracted = true;\n return this.#_internals.checkValidity();\n }\n\n /**\n * Returns `true` if internals's target element has no validity problems; otherwise, returns false, \n * fires an invalid event at the element, and (if the event isn't canceled) reports \n * the problem to the user.\n */\n reportValidity(): boolean {\n this.#_userInteracted = true;\n return this.#_internals.reportValidity();\n }\n}\n"]}
1
+ {"version":3,"file":"CheckedElement.js","sourceRoot":"","sources":["../../../src/ui/input/CheckedElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { property } from \"lit/decorators.js\";\nimport { UiElement } from \"../UiElement.js\";\nimport { EndPressConfig } from \"../controllers/ActionController.js\";\nimport { isDisabled, setDisabled } from \"../lib/disabled.js\";\n\n/**\n * A base class for UI elements that can be checked (as in a form: checkbox, switch, radio).\n * \n * @fires change - when the checked element changes it's checked state\n * @fires input - when the checked element changes it's checked state\n */\nexport default class CheckedElement extends UiElement {\n #_userInteracted: boolean;\n\n static get formAssociated(): boolean {\n return true;\n }\n\n #_internals = this.attachInternals();\n\n get form(): HTMLFormElement | null {\n return this.#_internals && this.#_internals.form;\n }\n\n get type(): string { return this.localName; }\n\n get disabled(): boolean {\n return isDisabled(this);\n }\n\n /**\n * When set, the button is a disabled state.\n * @attribute\n */\n @property({ reflect: true, type: Boolean }) \n set disabled(value: boolean) {\n const old = isDisabled(this);\n setDisabled(this, value);\n this.requestUpdate('disabled', old);\n this._updateFormValue();\n }\n\n /**\n * The name of the form control, submitted as a pair with the control's value as part of the form data.\n * @attribute\n */\n @property({ type: String }) name?: string;\n\n #_value?: string; \n\n /**\n * When a form is submitted, only checkboxes which are currently checked are submitted to the server, \n * and the reported value is the `value` of the value attribute. \n * If the `value` is not otherwise specified, it is the string `on` by default. \n * @attribute\n */\n @property({ type: String })\n get value(): string | undefined {\n return this.#_value;\n }\n\n set value(value: string | undefined) {\n if (this.#_value === value) {\n return;\n }\n this.#_value = value;\n this._updateFormValue();\n }\n\n #_checked: boolean;\n\n /**\n * A Boolean attribute indicating whether this checkbox is checked.\n * \n * A checkbox's value is only included in the submitted data \n * if the checkbox is currently `checked`. If it is, then the value \n * of the checkbox's `value` attribute is reported as the input's value.\n * @attribute\n */\n @property({ type: Boolean, reflect: true })\n get checked(): boolean {\n return this.#_checked;\n }\n\n set checked(value: boolean) {\n const old = this.#_checked;\n if (old === value) {\n return;\n }\n this.#_checked = value;\n this._setChecked(value);\n this.requestUpdate('checked', old);\n }\n\n #_indeterminate: boolean;\n\n /**\n * In addition to the checked and unchecked states, there is a third state a checkbox can be in: indeterminate. \n * This is a state in which it's impossible to say whether the item is toggled on or off.\n * \n * If you submit a form with an indeterminate checkbox, the same thing happens as \n * if the checkbox were unchecked — no data is submitted to represent the checkbox.\n * @attribute\n */\n @property({ type: Boolean, reflect: true })\n get indeterminate(): boolean {\n return this.#_indeterminate;\n }\n\n set indeterminate(value: boolean) {\n if (this.#_indeterminate === value) {\n return;\n }\n this.#_indeterminate = value;\n this._updateFormValue();\n }\n\n #_required?: boolean;\n\n /**\n * Set to true to mark the checked element as required. \n * @attribute\n */\n @property({ reflect: true, type: Boolean }) \n get required(): boolean | undefined {\n return this.#_required;\n }\n\n set required(value: boolean | undefined) {\n const old = this.#_required;\n if (old === value) {\n return;\n }\n this.#_required = value;\n this.requestUpdate('required', 'old');\n if (value) {\n this.setAttribute('aria-required', 'true');\n } else {\n this.removeAttribute('aria-required');\n }\n this._updateFormValue();\n }\n\n /**\n * While the element can be easily styled with the `:valid` and `:invalid` pseudo classes\n * it also exposes an attribute to style the element as invalid. This attribute changes \n * when the element validation is performed.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) invalid?: boolean;\n\n protected get _validationError(): string {\n return 'Please check this box if you want to proceed.';\n }\n\n constructor() {\n super();\n // The default value for the `<input type=\"checkbox\"/>\n this.value = 'on';\n this.#_checked = false;\n this.#_indeterminate = false;\n this.#_userInteracted = false;\n this.actionController.cancelKeyboardEvents = true;\n this.addEventListener('invalid', this._invalidHandler.bind(this));\n this.addEventListener('click', this.handleClick.bind(this));\n this.addEventListener('pointerdown', this.handlePointerDown.bind(this));\n this.addEventListener('pointerup', this.handlePointerUp.bind(this));\n this.addEventListener('pointercancel', this.handlePointerCancel.bind(this));\n this.addEventListener('pointerleave', this.handlePointerLeave.bind(this));\n this.addEventListener('contextmenu', this.handleContextMenu.bind(this));\n this.addEventListener('keydown', this.handleKeyDown.bind(this));\n this.addEventListener('keyup', this.handleKeyUp.bind(this));\n this.addEventListener('focus', this.handleFocus.bind(this));\n this.addEventListener('blur', this.handleBlur.bind(this));\n }\n \n override connectedCallback(): void {\n super.connectedCallback();\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'checkbox');\n }\n if (!this.hasAttribute('tabindex') && !this.disabled) {\n this.setAttribute('tabindex', '0');\n }\n this._setChecked(this.checked);\n }\n\n /**\n * When form-associated custom elements are supported in the browser it\n * is called when the form has been reset\n */\n formResetCallback(): void {\n this.checked = false;\n this._postCheckedChange();\n }\n\n /**\n * When form-associated custom elements are supported in the browser it\n * is called when the form state has been restored\n *\n * @param formState Restored value\n */\n formStateRestoreCallback(formState?: string): void {\n if (this.value === formState) {\n this.checked = true;\n this._postCheckedChange();\n }\n }\n\n override handleClick(e: MouseEvent): void {\n super.handleClick(e);\n this.toggle();\n }\n\n override endPress(config: EndPressConfig): void {\n super.endPress(config);\n const { cancelled, reason } = config;\n if (cancelled) {\n return;\n }\n if (reason === 'enter' || reason === 'space') {\n this.toggle();\n }\n }\n\n protected handleFocus(): void { \n // \n }\n\n protected handleBlur(): void { \n // \n }\n\n protected _setChecked(value = false): void {\n const { indeterminate } = this;\n const attrValue = indeterminate ? 'mixed' : String(value);\n this.setAttribute('aria-checked', attrValue);\n this._updateFormValue();\n }\n\n protected _updateFormValue(): void {\n const { value = null, checked, indeterminate, disabled, required } = this;\n if (!checked || indeterminate || disabled) {\n this.#_internals.setFormValue(null);\n } else {\n this.#_internals.setFormValue(value);\n }\n\n if (required && !checked) {\n this.#_internals.setValidity({\n valueMissing: true,\n }, this._validationError);\n } else if (this.#_internals.validity.valueMissing) {\n this.#_internals.setValidity({});\n }\n }\n\n protected _notifyChange(): void {\n // The <input type=\"checkbox\"/> dispatches both events.\n this.dispatchEvent(new Event('input'));\n this.dispatchEvent(new Event('change'));\n }\n\n protected _invalidHandler(): void {\n if (!this.#_userInteracted) {\n return;\n }\n this.invalid = true;\n }\n\n toggle(): void {\n if (this.disabled) {\n return;\n }\n this.#_userInteracted = true;\n this.invalid = false;\n this.checked = !this.checked;\n this._updateFormValue();\n this._postCheckedChange();\n }\n\n protected _postCheckedChange(): void {\n this._notifyChange();\n this.#_internals.checkValidity();\n }\n\n /**\n * Returns true if the element's value has no validity problems; false otherwise. \n * Fires an invalid event at the element in the latter case.\n */\n checkValidity(): boolean {\n this.#_userInteracted = true;\n return this.#_internals.checkValidity();\n }\n\n /**\n * Returns `true` if internals's target element has no validity problems; otherwise, returns false, \n * fires an invalid event at the element, and (if the event isn't canceled) reports \n * the problem to the user.\n */\n reportValidity(): boolean {\n this.#_userInteracted = true;\n return this.#_internals.reportValidity();\n }\n}\n"]}
@@ -28,14 +28,10 @@ export default class Input extends UiElement {
28
28
  static get formAssociated() {
29
29
  return true;
30
30
  }
31
- #_internals = this.attachInternals();
31
+ #_internals;
32
32
  get form() {
33
33
  return this.#_internals && this.#_internals.form;
34
34
  }
35
- /**
36
- * @attribute
37
- */
38
- type;
39
35
  /**
40
36
  * Disables the input.
41
37
  * @attribute
@@ -58,18 +54,6 @@ export default class Input extends UiElement {
58
54
  this.blur();
59
55
  }
60
56
  }
61
- /**
62
- * The name of the form control, submitted as a pair with the control's value as part of the form data.
63
- * @attribute
64
- */
65
- name;
66
- /**
67
- * When a form is submitted, only checkboxes which are currently checked are submitted to the server,
68
- * and the reported value is the `value` of the value attribute.
69
- * If the `value` is not otherwise specified, it is the string `on` by default.
70
- * @attribute
71
- */
72
- value = '';
73
57
  #_required;
74
58
  /**
75
59
  * Set to true to mark the input element as required.
@@ -87,167 +71,6 @@ export default class Input extends UiElement {
87
71
  this.requestUpdate('required', 'old');
88
72
  this._updateFormValue();
89
73
  }
90
- /**
91
- * While the element can be easily styled with the `:valid` and `:invalid` pseudo classes
92
- * it also exposes an attribute to style the element as invalid. This attribute changes
93
- * when the element validation is performed.
94
- *
95
- * Calling `reportValidity()` will automatically update `invalid`.
96
- * @attribute
97
- */
98
- invalid;
99
- /**
100
- * The error message that replaces supporting text when `error` is true. If
101
- * `errorText` is an empty string, then the supporting text will continue to
102
- * show.
103
- *
104
- * Calling `reportValidity()` will automatically update `errorText` to the
105
- * native `validationMessage`.
106
- * @attribute
107
- */
108
- invalidText = '';
109
- /**
110
- * The label to be rendered with the input.
111
- * @attribute
112
- */
113
- label;
114
- /**
115
- * Whether or not the text field has a leading icon. Used for SSR.
116
- * @attribute
117
- */
118
- hasPrefix = false;
119
- /**
120
- * Whether or not the text field has a trailing icon. Used for SSR.
121
- * @attribute
122
- */
123
- hasSuffix = false;
124
- /**
125
- * Conveys additional information below the text field, such as how it should
126
- * be used.
127
- * @attribute
128
- */
129
- supportingText = '';
130
- /**
131
- * Override the input text CSS `direction`. Useful for RTL languages that use
132
- * LTR notation for fractions.
133
- * @attribute
134
- */
135
- textDirection = '';
136
- /**
137
- * When set the label of the input disappears after input rather than float over the input.
138
- * @attribute
139
- */
140
- noFloating;
141
- /**
142
- * Defines the greatest value in the range of permitted values.
143
- *
144
- * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#max
145
- * @attribute
146
- */
147
- max = '';
148
- /**
149
- * The maximum number of characters a user can enter into the text field. Set
150
- * to -1 for none.
151
- *
152
- * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#maxlength
153
- * @attribute
154
- */
155
- maxLength = -1;
156
- /**
157
- * Defines the most negative value in the range of permitted values.
158
- *
159
- * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#min
160
- * @attribute
161
- */
162
- min = '';
163
- /**
164
- * The minimum number of characters a user can enter into the text field. Set
165
- * to -1 for none.
166
- *
167
- * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#minlength
168
- * @attribute
169
- */
170
- minLength = -1;
171
- /**
172
- * A regular expression that the text field's value must match to pass
173
- * constraint validation.
174
- *
175
- * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#pattern
176
- * @attribute
177
- */
178
- pattern = '';
179
- /**
180
- * @attribute
181
- */
182
- placeholder = '';
183
- /**
184
- * Indicates whether or not a user should be able to edit the text field's
185
- * value.
186
- *
187
- * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#readonly
188
- *
189
- * @attribute
190
- */
191
- readOnly = false;
192
- /**
193
- * Bind the `<input>`'s `autocomplete` property.
194
- * @default off
195
- * @attribute
196
- */
197
- autocomplete = 'off';
198
- /**
199
- * Binds this to the `<input>`'s `inputMode` property.
200
- * @attribute
201
- */
202
- inputMode = '';
203
- /**
204
- * Binds this to the `<input>`'s `autocapitalize` property.
205
- *
206
- * Possible values are:
207
- *
208
- * - `off` or `none`: No autocapitalization is applied (all letters default to lowercase)
209
- * - `on` or `sentences`: The first letter of each sentence defaults to a capital letter;
210
- * all other letters default to lowercase
211
- * - `words`: The first letter of each word defaults to a capital letter; all other letters default to lowercase
212
- * - `characters`: All letters should default to uppercase
213
- *
214
- * @default off
215
- * @attr
216
- */
217
- autocapitalize = 'off';
218
- /**
219
- * Binds this to the `<input>`'s `autocorrect` property.
220
- * @default off
221
- * @attribute
222
- */
223
- autocorrect = 'off';
224
- /**
225
- * Binds this to the `<input>`'s `results` property,
226
- * used with type=search.
227
- *
228
- * The maximum number of items that should be displayed in the
229
- * drop-down list of previous search queries. Safari only.
230
- * @attribute
231
- */
232
- results;
233
- /**
234
- * Binds this to the `<input>`'s `accept` property,
235
- * used with type=file.
236
- * @attribute
237
- */
238
- accept;
239
- /**
240
- * Binds this to the`<input>`'s `multiple` property,
241
- * used with type=file.
242
- * @attribute
243
- */
244
- multiple;
245
- /**
246
- * Binds this to the `<input>`'s `size` property.
247
- * @attribute
248
- */
249
- size;
250
- pendingSetters = new Map();
251
74
  setNativeValue(key, value) {
252
75
  const { input } = this;
253
76
  if (input) {
@@ -292,14 +115,6 @@ export default class Input extends UiElement {
292
115
  set selectionStart(value) {
293
116
  this.setNativeValue('selectionStart', value);
294
117
  }
295
- /**
296
- * Returns or sets the element's step attribute, which works with min and max
297
- * to limit the increments at which a numeric or date-time value can be set.
298
- *
299
- * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#step
300
- * @attribute
301
- */
302
- step = '';
303
118
  /**
304
119
  * Returns the native validation error message that would be displayed upon
305
120
  * calling `reportValidity()`.
@@ -345,63 +160,183 @@ export default class Input extends UiElement {
345
160
  get willValidate() {
346
161
  return this.getNativeValue('willValidate') ?? false;
347
162
  }
348
- /**
349
- * Returns true when the text field has been interacted with. Native
350
- * validation errors only display in response to user interactions.
351
- */
352
- dirty = false;
353
- focused = false;
354
- input;
355
- prefixes;
356
- suffixes;
357
- /**
358
- * The validation message displayed from a native error via
359
- * `reportValidity()`.
360
- */
361
- nativeErrorText = '';
362
- /**
363
- * Whether or not a native error has been reported via `reportValidity()`.
364
- */
365
- nativeError = false;
366
- counterId = 'counter';
367
- supportingTextId = 'support';
368
- labelId = 'support';
369
- ariaAutoComplete = null;
370
- ariaControls = null;
371
- ariaActiveDescendant = null;
372
- ariaExpanded = null;
373
- /**
374
- * The `aria-label` of the text field's input.
375
- */
376
- ariaLabel;
377
- /**
378
- * The `aria-labelledby` of the text field's input.
379
- *
380
- * Note: currently only usable in SSR light DOM.
381
- */
382
- ariaLabelledBy;
383
- dataRole = null;
384
- /**
385
- * When set to true, the error text's `role="alert"` will be removed, then
386
- * re-added after an animation frame. This will re-announce an error message
387
- * to screen readers.
388
- */
389
- refreshErrorAlert = false;
390
163
  /**
391
164
  * When set is shows password in the `password` input.
392
165
  * This is private so the password can be viewed only through user interaction.
393
166
  */
394
- #showPassword = false;
395
- removingTabindex = false;
167
+ #showPassword;
396
168
  get files() {
397
169
  return this.getNativeValue('files');
398
170
  }
399
- /**
400
- * When set it adds a `<datalist>` element to the input.
401
- */
402
- list;
403
171
  constructor() {
404
172
  super();
173
+ this.#_internals = this.attachInternals();
174
+ /**
175
+ * When a form is submitted, only checkboxes which are currently checked are submitted to the server,
176
+ * and the reported value is the `value` of the value attribute.
177
+ * If the `value` is not otherwise specified, it is the string `on` by default.
178
+ * @attribute
179
+ */
180
+ this.value = '';
181
+ /**
182
+ * The error message that replaces supporting text when `error` is true. If
183
+ * `errorText` is an empty string, then the supporting text will continue to
184
+ * show.
185
+ *
186
+ * Calling `reportValidity()` will automatically update `errorText` to the
187
+ * native `validationMessage`.
188
+ * @attribute
189
+ */
190
+ this.invalidText = '';
191
+ /**
192
+ * Whether or not the text field has a leading icon. Used for SSR.
193
+ * @attribute
194
+ */
195
+ this.hasPrefix = false;
196
+ /**
197
+ * Whether or not the text field has a trailing icon. Used for SSR.
198
+ * @attribute
199
+ */
200
+ this.hasSuffix = false;
201
+ /**
202
+ * Conveys additional information below the text field, such as how it should
203
+ * be used.
204
+ * @attribute
205
+ */
206
+ this.supportingText = '';
207
+ /**
208
+ * Override the input text CSS `direction`. Useful for RTL languages that use
209
+ * LTR notation for fractions.
210
+ * @attribute
211
+ */
212
+ this.textDirection = '';
213
+ /**
214
+ * Defines the greatest value in the range of permitted values.
215
+ *
216
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#max
217
+ * @attribute
218
+ */
219
+ this.max = '';
220
+ /**
221
+ * The maximum number of characters a user can enter into the text field. Set
222
+ * to -1 for none.
223
+ *
224
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#maxlength
225
+ * @attribute
226
+ */
227
+ this.maxLength = -1;
228
+ /**
229
+ * Defines the most negative value in the range of permitted values.
230
+ *
231
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#min
232
+ * @attribute
233
+ */
234
+ this.min = '';
235
+ /**
236
+ * The minimum number of characters a user can enter into the text field. Set
237
+ * to -1 for none.
238
+ *
239
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#minlength
240
+ * @attribute
241
+ */
242
+ this.minLength = -1;
243
+ /**
244
+ * A regular expression that the text field's value must match to pass
245
+ * constraint validation.
246
+ *
247
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#pattern
248
+ * @attribute
249
+ */
250
+ this.pattern = '';
251
+ /**
252
+ * @attribute
253
+ */
254
+ this.placeholder = '';
255
+ /**
256
+ * Indicates whether or not a user should be able to edit the text field's
257
+ * value.
258
+ *
259
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#readonly
260
+ *
261
+ * @attribute
262
+ */
263
+ this.readOnly = false;
264
+ /**
265
+ * Bind the `<input>`'s `autocomplete` property.
266
+ * @default off
267
+ * @attribute
268
+ */
269
+ this.autocomplete = 'off';
270
+ /**
271
+ * Binds this to the `<input>`'s `inputMode` property.
272
+ * @attribute
273
+ */
274
+ this.inputMode = '';
275
+ /**
276
+ * Binds this to the `<input>`'s `autocapitalize` property.
277
+ *
278
+ * Possible values are:
279
+ *
280
+ * - `off` or `none`: No autocapitalization is applied (all letters default to lowercase)
281
+ * - `on` or `sentences`: The first letter of each sentence defaults to a capital letter;
282
+ * all other letters default to lowercase
283
+ * - `words`: The first letter of each word defaults to a capital letter; all other letters default to lowercase
284
+ * - `characters`: All letters should default to uppercase
285
+ *
286
+ * @default off
287
+ * @attr
288
+ */
289
+ this.autocapitalize = 'off';
290
+ /**
291
+ * Binds this to the `<input>`'s `autocorrect` property.
292
+ * @default off
293
+ * @attribute
294
+ */
295
+ this.autocorrect = 'off';
296
+ this.pendingSetters = new Map();
297
+ /**
298
+ * Returns or sets the element's step attribute, which works with min and max
299
+ * to limit the increments at which a numeric or date-time value can be set.
300
+ *
301
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#step
302
+ * @attribute
303
+ */
304
+ this.step = '';
305
+ /**
306
+ * Returns true when the text field has been interacted with. Native
307
+ * validation errors only display in response to user interactions.
308
+ */
309
+ this.dirty = false;
310
+ this.focused = false;
311
+ /**
312
+ * The validation message displayed from a native error via
313
+ * `reportValidity()`.
314
+ */
315
+ this.nativeErrorText = '';
316
+ /**
317
+ * Whether or not a native error has been reported via `reportValidity()`.
318
+ */
319
+ this.nativeError = false;
320
+ this.counterId = 'counter';
321
+ this.supportingTextId = 'support';
322
+ this.labelId = 'support';
323
+ this.ariaAutoComplete = null;
324
+ this.ariaControls = null;
325
+ this.ariaActiveDescendant = null;
326
+ this.ariaExpanded = null;
327
+ this.dataRole = null;
328
+ /**
329
+ * When set to true, the error text's `role="alert"` will be removed, then
330
+ * re-added after an animation frame. This will re-announce an error message
331
+ * to screen readers.
332
+ */
333
+ this.refreshErrorAlert = false;
334
+ /**
335
+ * When set is shows password in the `password` input.
336
+ * This is private so the password can be viewed only through user interaction.
337
+ */
338
+ this.#showPassword = false;
339
+ this.removingTabindex = false;
405
340
  this.type = 'text';
406
341
  this.#_userInteracted = false;
407
342
  this.actionController.cancelKeyboardEvents = false;