@api-client/ui 0.5.38 → 0.5.40

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 (299) hide show
  1. package/build/src/md/list/internals/ListItem.d.ts +24 -15
  2. package/build/src/md/list/internals/ListItem.d.ts.map +1 -1
  3. package/build/src/md/list/internals/ListItem.js +85 -59
  4. package/build/src/md/list/internals/ListItem.js.map +1 -1
  5. package/build/src/md/list/internals/ListItem.styles.js +11 -11
  6. package/build/src/md/list/internals/ListItem.styles.js.map +1 -1
  7. package/build/src/md/select/internals/Option.d.ts +4 -14
  8. package/build/src/md/select/internals/Option.d.ts.map +1 -1
  9. package/build/src/md/select/internals/Option.js +13 -28
  10. package/build/src/md/select/internals/Option.js.map +1 -1
  11. package/build/src/md/select/internals/Select.d.ts +1 -1
  12. package/build/src/md/select/internals/Select.d.ts.map +1 -1
  13. package/build/src/md/select/internals/Select.js +15 -5
  14. package/build/src/md/select/internals/Select.js.map +1 -1
  15. package/build/tsconfig.tsbuildinfo +1 -0
  16. package/package.json +1 -1
  17. package/src/md/list/internals/ListItem.styles.ts +11 -11
  18. package/src/md/list/internals/ListItem.ts +68 -43
  19. package/src/md/select/internals/Option.ts +14 -26
  20. package/src/md/select/internals/Select.ts +15 -5
  21. package/.aiexclude +0 -3
  22. package/.cursor/rules/html-and-css-best-practices.mdc +0 -63
  23. package/.cursor/rules/lit-best-practices.mdc +0 -89
  24. package/.editorconfig +0 -29
  25. package/.github/CONTRIBUTING.md +0 -24
  26. package/.github/instructions/html-and-css-best-practices.instructions.md +0 -70
  27. package/.github/instructions/lit-best-practices.instructions.md +0 -90
  28. package/.github/release.yml +0 -14
  29. package/.github/stale.yml +0 -23
  30. package/.github/workflows/auto-release.yml +0 -182
  31. package/.github/workflows/release.yml +0 -82
  32. package/.prettierrc.js +0 -14
  33. package/.vscode/settings.json +0 -18
  34. package/RELEASE.md +0 -163
  35. package/RELEASE_SETUP.md +0 -235
  36. package/build/src/demo/DemoPage.d.ts +0 -81
  37. package/build/src/demo/DemoPage.d.ts.map +0 -1
  38. package/build/src/demo/DemoPage.js +0 -175
  39. package/build/src/demo/DemoPage.js.map +0 -1
  40. package/build/src/demo/DemoStyles.d.ts +0 -3
  41. package/build/src/demo/DemoStyles.d.ts.map +0 -1
  42. package/build/src/demo/DemoStyles.js +0 -60
  43. package/build/src/demo/DemoStyles.js.map +0 -1
  44. package/build/test/elements/navigation/Navigation.test.d.ts +0 -3
  45. package/build/test/elements/navigation/Navigation.test.d.ts.map +0 -1
  46. package/build/test/elements/navigation/Navigation.test.js +0 -113
  47. package/build/test/elements/navigation/Navigation.test.js.map +0 -1
  48. package/commitlint.config.cjs +0 -2
  49. package/demo/elements/authorization/AuthPlugin.js +0 -57
  50. package/demo/elements/authorization/AuthProxy.js +0 -215
  51. package/demo/elements/authorization/api-key.html +0 -27
  52. package/demo/elements/authorization/api-key.ts +0 -44
  53. package/demo/elements/authorization/basic.html +0 -27
  54. package/demo/elements/authorization/basic.ts +0 -43
  55. package/demo/elements/authorization/bearer.html +0 -27
  56. package/demo/elements/authorization/bearer.ts +0 -43
  57. package/demo/elements/authorization/env.js +0 -8
  58. package/demo/elements/authorization/index.html +0 -44
  59. package/demo/elements/authorization/ntlm.html +0 -27
  60. package/demo/elements/authorization/ntlm.ts +0 -43
  61. package/demo/elements/authorization/oauth-authorize.html +0 -75
  62. package/demo/elements/authorization/oauth-authorize.ts +0 -40
  63. package/demo/elements/authorization/oauth-error.html +0 -18
  64. package/demo/elements/authorization/oauth-error.ts +0 -10
  65. package/demo/elements/authorization/oauth-popup.html +0 -36
  66. package/demo/elements/authorization/oauth2.html +0 -27
  67. package/demo/elements/authorization/oauth2.ts +0 -100
  68. package/demo/elements/authorization/oidc.html +0 -27
  69. package/demo/elements/authorization/oidc.ts +0 -139
  70. package/demo/elements/authorization/private.crt +0 -31
  71. package/demo/elements/authorization/private.csr +0 -28
  72. package/demo/elements/authorization/private.key +0 -51
  73. package/demo/elements/authorization/private.pem +0 -31
  74. package/demo/elements/authorization/redirect.html +0 -20
  75. package/demo/elements/authorization/ssl-commands.sh +0 -30
  76. package/demo/elements/authorization/ssl.conf +0 -24
  77. package/demo/elements/autocomplete/index.html +0 -64
  78. package/demo/elements/autocomplete/index.ts +0 -171
  79. package/demo/elements/code-editor/CodeEditorDemo.ts +0 -173
  80. package/demo/elements/code-editor/index.html +0 -19
  81. package/demo/elements/context-menu/DemoIcons.ts +0 -21
  82. package/demo/elements/context-menu/basic.html +0 -25
  83. package/demo/elements/context-menu/basic.ts +0 -119
  84. package/demo/elements/context-menu/custom-data.html +0 -25
  85. package/demo/elements/context-menu/custom-data.ts +0 -62
  86. package/demo/elements/context-menu/demo.css +0 -28
  87. package/demo/elements/context-menu/enabled-state.html +0 -25
  88. package/demo/elements/context-menu/enabled-state.ts +0 -73
  89. package/demo/elements/context-menu/icons.html +0 -25
  90. package/demo/elements/context-menu/icons.ts +0 -64
  91. package/demo/elements/context-menu/index.html +0 -43
  92. package/demo/elements/context-menu/nested.html +0 -25
  93. package/demo/elements/context-menu/nestedt.ts +0 -152
  94. package/demo/elements/context-menu/no-execute.html +0 -25
  95. package/demo/elements/context-menu/no-execute.ts +0 -134
  96. package/demo/elements/context-menu/radio-menu.html +0 -25
  97. package/demo/elements/context-menu/radio-menu.ts +0 -83
  98. package/demo/elements/context-menu/separators.html +0 -25
  99. package/demo/elements/context-menu/separators.ts +0 -172
  100. package/demo/elements/currency/index.html +0 -91
  101. package/demo/elements/currency/index.ts +0 -352
  102. package/demo/elements/environment/environment-editor.html +0 -20
  103. package/demo/elements/environment/environment-editor.ts +0 -49
  104. package/demo/elements/environment/index.html +0 -33
  105. package/demo/elements/environment/server-editor.html +0 -20
  106. package/demo/elements/environment/server-editor.ts +0 -67
  107. package/demo/elements/environment/variables-editor.html +0 -20
  108. package/demo/elements/environment/variables-editor.ts +0 -94
  109. package/demo/elements/har/har-viewer.html +0 -20
  110. package/demo/elements/har/har-viewer.ts +0 -76
  111. package/demo/elements/har/har1.har +0 -3044
  112. package/demo/elements/har/har2.json +0 -439
  113. package/demo/elements/har/index.html +0 -26
  114. package/demo/elements/highlight/example.md +0 -27
  115. package/demo/elements/highlight/index.html +0 -31
  116. package/demo/elements/highlight/marked-highlight.html +0 -132
  117. package/demo/elements/highlight/marked-highlight.ts +0 -22
  118. package/demo/elements/highlight/prism-highlight.html +0 -62
  119. package/demo/elements/highlight/prism-highlight.ts +0 -17
  120. package/demo/elements/http/body-editor.html +0 -17
  121. package/demo/elements/http/body-editor.ts +0 -115
  122. package/demo/elements/http/headers.html +0 -17
  123. package/demo/elements/http/headers.ts +0 -59
  124. package/demo/elements/http/http-assertions.html +0 -20
  125. package/demo/elements/http/http-assertions.ts +0 -89
  126. package/demo/elements/http/http-flows.html +0 -23
  127. package/demo/elements/http/http-flows.ts +0 -89
  128. package/demo/elements/http/index.html +0 -45
  129. package/demo/elements/http/request-editor.html +0 -26
  130. package/demo/elements/http/request-editor.ts +0 -197
  131. package/demo/elements/http/request-log.html +0 -16
  132. package/demo/elements/http/request-log.ts +0 -136
  133. package/demo/elements/http/url-editing.html +0 -17
  134. package/demo/elements/http/url-editing.ts +0 -112
  135. package/demo/elements/icons/index.html +0 -81
  136. package/demo/elements/icons/index.ts +0 -52
  137. package/demo/elements/index.html +0 -72
  138. package/demo/elements/mention-textarea/index.html +0 -19
  139. package/demo/elements/mention-textarea/index.ts +0 -205
  140. package/demo/elements/navigation/navigation-item.html +0 -49
  141. package/demo/elements/navigation/navigation-item.ts +0 -131
  142. package/demo/elements/navigation/navigation.html +0 -20
  143. package/demo/elements/navigation/navigation.ts +0 -45
  144. package/demo/elements/project/index.html +0 -29
  145. package/demo/elements/project/project-run-report.html +0 -20
  146. package/demo/elements/project/project-run-report.ts +0 -132
  147. package/demo/elements/project/request-editor.html +0 -23
  148. package/demo/elements/project/request-editor.ts +0 -232
  149. package/demo/elements/user/user-avatar.html +0 -17
  150. package/demo/elements/user/user-avatar.ts +0 -60
  151. package/demo/env.js +0 -4
  152. package/demo/index.html +0 -34
  153. package/demo/layout/index.html +0 -94
  154. package/demo/layout/index.ts +0 -190
  155. package/demo/md/DemoStyles.ts +0 -61
  156. package/demo/md/UiDemoPage.ts +0 -6
  157. package/demo/md/buttons/button.html +0 -121
  158. package/demo/md/buttons/button.ts +0 -246
  159. package/demo/md/buttons/group.html +0 -36
  160. package/demo/md/buttons/group.ts +0 -171
  161. package/demo/md/checkbox/index.html +0 -39
  162. package/demo/md/checkbox/index.ts +0 -220
  163. package/demo/md/chip/chip.html +0 -70
  164. package/demo/md/chip/chip.ts +0 -219
  165. package/demo/md/chip/pawel6c9a.jpg +0 -0
  166. package/demo/md/collapse/CustomDetail.ts +0 -89
  167. package/demo/md/collapse/collapse.html +0 -21
  168. package/demo/md/collapse/collapse.ts +0 -78
  169. package/demo/md/date-picker/date-picker.ts +0 -336
  170. package/demo/md/date-picker/index.html +0 -171
  171. package/demo/md/dialog/confirm-dialog.html +0 -49
  172. package/demo/md/dialog/confirm-dialog.ts +0 -121
  173. package/demo/md/dialog/dialog.html +0 -25
  174. package/demo/md/dialog/dialog.ts +0 -468
  175. package/demo/md/dropdown-list/index.html +0 -31
  176. package/demo/md/dropdown-list/index.ts +0 -158
  177. package/demo/md/icon-button/index.html +0 -122
  178. package/demo/md/icon-button/index.ts +0 -132
  179. package/demo/md/index.html +0 -73
  180. package/demo/md/inputs/input.html +0 -73
  181. package/demo/md/inputs/input.ts +0 -278
  182. package/demo/md/inputs/radio.html +0 -39
  183. package/demo/md/inputs/radio.ts +0 -156
  184. package/demo/md/inputs/switch.html +0 -45
  185. package/demo/md/inputs/switch.ts +0 -144
  186. package/demo/md/list/list.html +0 -65
  187. package/demo/md/list/list.ts +0 -204
  188. package/demo/md/listbox/listbox.html +0 -31
  189. package/demo/md/listbox/listbox.ts +0 -27
  190. package/demo/md/menu/index.html +0 -19
  191. package/demo/md/menu/index.ts +0 -514
  192. package/demo/md/notification/snack.html +0 -21
  193. package/demo/md/notification/snack.ts +0 -70
  194. package/demo/md/progress/progress.html +0 -46
  195. package/demo/md/progress/progress.ts +0 -161
  196. package/demo/md/segmented-button/index.html +0 -21
  197. package/demo/md/segmented-button/index.ts +0 -55
  198. package/demo/md/select/index.html +0 -16
  199. package/demo/md/select/index.ts +0 -207
  200. package/demo/md/tabs/tabs.html +0 -40
  201. package/demo/md/tabs/tabs.ts +0 -214
  202. package/demo/oauth-popup.html +0 -36
  203. package/demo/page.css +0 -8
  204. package/demo/resources/calendar-month.png +0 -0
  205. package/demo/resources/favorite.png +0 -0
  206. package/demo/resources/fingerprint.png +0 -0
  207. package/demo/resources/home-work.png +0 -0
  208. package/demo/resources/mood.png +0 -0
  209. package/demo/resources/print.png +0 -0
  210. package/demo/resources/stars.png +0 -0
  211. package/demo/resources/theaters.png +0 -0
  212. package/demo/tsconfig.json +0 -4
  213. package/eslint.config.js +0 -97
  214. package/scripts/copy-assets.js +0 -21
  215. package/scripts/release.js +0 -66
  216. package/src/demo/DemoPage.ts +0 -169
  217. package/src/demo/DemoStyles.ts +0 -60
  218. package/test/README.md +0 -375
  219. package/test/contextual-menu/ContextMenu.test.ts +0 -760
  220. package/test/contextual-menu/ContextMenuElement.test.ts +0 -569
  221. package/test/core/activity.spec.ts +0 -413
  222. package/test/core/activity_manager.spec.ts +0 -544
  223. package/test/core/application.spec.ts +0 -218
  224. package/test/core/fragment.spec.ts +0 -565
  225. package/test/core/fragment_manager.spec.ts +0 -404
  226. package/test/core/live_data.spec.ts +0 -558
  227. package/test/core/renderer.spec.ts +0 -113
  228. package/test/dom-assertions.test.ts +0 -182
  229. package/test/elements/MonacoSetup.ts +0 -65
  230. package/test/elements/authorization/basic-method.test.ts +0 -177
  231. package/test/elements/authorization/bearer-method.test.ts +0 -143
  232. package/test/elements/authorization/ntlm-method.test.ts +0 -219
  233. package/test/elements/authorization/oauth2-client-credentials-method.test.ts +0 -334
  234. package/test/elements/authorization/oauth2-code-method.test.ts +0 -320
  235. package/test/elements/authorization/oauth2-custom-grant-method.test.ts +0 -255
  236. package/test/elements/authorization/oauth2-device-code-method.test.ts +0 -371
  237. package/test/elements/authorization/oauth2-implicit-method.test.ts +0 -407
  238. package/test/elements/authorization/oauth2-jwt-method.test.ts +0 -217
  239. package/test/elements/authorization/oauth2-password-method.test.ts +0 -275
  240. package/test/elements/authorization/openid-method.test.ts +0 -591
  241. package/test/elements/autocomplete/autocomplete-input.spec.ts +0 -646
  242. package/test/elements/code-editor/code-editor.accessibility.test.ts +0 -298
  243. package/test/elements/code-editor/code-editor.test.ts +0 -574
  244. package/test/elements/currency/CurrencyPicker.accessibility.test.ts +0 -328
  245. package/test/elements/currency/CurrencyPicker.core.test.ts +0 -318
  246. package/test/elements/currency/CurrencyPicker.integration.test.ts +0 -482
  247. package/test/elements/currency/CurrencyPicker.test.ts +0 -486
  248. package/test/elements/data-table/DataTable.browser.test.ts +0 -649
  249. package/test/elements/har/HarUtils.test.ts +0 -45
  250. package/test/elements/har/HarViewerElement.test.ts +0 -687
  251. package/test/elements/har/test-data/har1.har +0 -3044
  252. package/test/elements/highlight/MarkedHighlightElement.test.ts +0 -452
  253. package/test/elements/highlight/PrismHighlightElement.test.ts +0 -79
  254. package/test/elements/highlight/PrismHighlighter.test.ts +0 -94
  255. package/test/elements/highlight/remoteSanitization.md +0 -1
  256. package/test/elements/highlight/test.md +0 -3
  257. package/test/elements/highlight/test1.md +0 -3
  258. package/test/elements/highlight/test2.md +0 -1
  259. package/test/elements/http/BodyFormdataEditorElement.test.ts +0 -482
  260. package/test/elements/http/BodyMultipartEditorElement.test.ts +0 -658
  261. package/test/elements/http/BodyRawEditorElement.test.ts +0 -90
  262. package/test/elements/http/CertificateAdd.test.ts +0 -457
  263. package/test/elements/http/HttpAssertions.test.ts +0 -994
  264. package/test/elements/http/HttpFlows.test.ts +0 -502
  265. package/test/elements/http/UrlEncodeUtils.test.ts +0 -202
  266. package/test/elements/layout/SplitItem.test.ts +0 -440
  267. package/test/elements/layout/SplitLayoutManager.test.ts +0 -1501
  268. package/test/elements/layout/SplitPanel.test.ts +0 -1109
  269. package/test/elements/mention-textarea/MentionTextArea.basic.test.ts +0 -114
  270. package/test/elements/mention-textarea/MentionTextArea.test.ts +0 -613
  271. package/test/elements/navigation/Navigation.test.ts +0 -120
  272. package/test/env.ts +0 -15
  273. package/test/events/EventTypes.test.ts +0 -363
  274. package/test/events/EventsTestHelpers.ts +0 -16
  275. package/test/helpers/TestUtils.ts +0 -243
  276. package/test/helpers/UiMock.ts +0 -185
  277. package/test/lib/Dom.test.ts +0 -231
  278. package/test/md/button/UiButton.test.ts +0 -347
  279. package/test/md/button/UiIconButton.test.ts +0 -155
  280. package/test/md/chip/UiChip.test.ts +0 -219
  281. package/test/md/collapse/UiCollapse.test.ts +0 -250
  282. package/test/md/collapse/flex-layout.test.ts +0 -105
  283. package/test/md/date-time/DateTime.test.ts +0 -348
  284. package/test/md/dialog/UiConfirmDialog.test.ts +0 -131
  285. package/test/md/dialog/UiDialog.test.ts +0 -759
  286. package/test/md/menu/Menu.test.ts +0 -855
  287. package/test/md/menu/MenuIntegration.test.ts +0 -426
  288. package/test/md/menu/MenuItem.test.ts +0 -652
  289. package/test/md/menu/SubMenu.test.ts +0 -410
  290. package/test/md/progress/UiCircularProgressElement.test.ts +0 -481
  291. package/test/md/progress/UiProgressElement.test.ts +0 -117
  292. package/test/md/progress/UiRangeElement.test.ts +0 -156
  293. package/test/md/select/Select.test.ts +0 -925
  294. package/test/plugins/takeScreenshotPlugin.js +0 -35
  295. package/test/setup.test.ts +0 -217
  296. package/test/setup.ts +0 -117
  297. package/test/tsconfig.json +0 -7
  298. package/web-dev-server.config.js +0 -21
  299. package/web-test-runner.config.js +0 -90
@@ -1,158 +0,0 @@
1
- import { html, TemplateResult } from 'lit'
2
- import { DemoPage } from '../../../src/demo/DemoPage.js'
3
- import { reactive } from '../../../src/decorators/index.js'
4
- import { HorizontalAlignment, VerticalAlignment } from '../../../src/lib/ElementPositioning.js'
5
- import '../../../src/md/dropdown-list/ui-dropdown-list.js'
6
- import '../../../src/md/list/ui-list.js'
7
- import '../../../src/md/list/ui-list-item.js'
8
- import '../../../src/md/icon-button/ui-icon-button.js'
9
- import '../../../src/md/icons/ui-icon.js'
10
- import '../../../src/md/button/ui-button.js'
11
-
12
- class ComponentDemoPage extends DemoPage {
13
- override accessor componentName = 'UI dropdown list'
14
-
15
- @reactive() accessor list1Selected: string | undefined
16
-
17
- @reactive() accessor list2Selected: string | undefined
18
-
19
- @reactive() accessor list3Selected: string | undefined
20
-
21
- @reactive() accessor verticalAlign: VerticalAlignment | undefined
22
-
23
- @reactive() accessor horizontalAlign: HorizontalAlignment | undefined
24
-
25
- @reactive() accessor noOverlap: boolean | undefined
26
-
27
- list1SelectHandler(e: CustomEvent): void {
28
- const target = e.detail.item as HTMLElement | undefined
29
- if (!target) {
30
- return
31
- }
32
- this.list1Selected = target.dataset.item as string
33
- }
34
-
35
- list2SelectHandler(e: CustomEvent): void {
36
- const target = e.detail.item as HTMLElement | undefined
37
- if (!target) {
38
- return
39
- }
40
- this.list2Selected = target.dataset.item
41
- }
42
-
43
- list3SelectHandler(e: CustomEvent): void {
44
- const target = e.detail.item as HTMLElement | undefined
45
- if (!target) {
46
- return
47
- }
48
- this.list3Selected = target.dataset.item
49
- }
50
-
51
- noOverlapHandler(e: Event): void {
52
- const input = e.target as HTMLInputElement
53
- this.noOverlap = input.checked
54
- }
55
-
56
- verticalHandler(e: Event): void {
57
- const target = e.target as HTMLSelectElement
58
- if (target.value) {
59
- this.verticalAlign = target.value as VerticalAlignment
60
- } else {
61
- this.verticalAlign = undefined
62
- }
63
- }
64
-
65
- horizontalHandler(e: Event): void {
66
- const target = e.target as HTMLSelectElement
67
- if (target.value) {
68
- this.horizontalAlign = target.value as HorizontalAlignment
69
- } else {
70
- this.horizontalAlign = undefined
71
- }
72
- }
73
-
74
- contentTemplate(): TemplateResult {
75
- const { list1Selected, list2Selected, list3Selected, verticalAlign, horizontalAlign, noOverlap } = this
76
- return html`
77
- <a href="../">Back</a>
78
- <section class="demo-section">
79
- <h2 class="title-large">Icon button list</h2>
80
-
81
- <div class="demo-row">
82
- <ui-dropdown-list @select="${this.list1SelectHandler}">
83
- <ui-icon-button aria-label="Trigger the menu"><ui-icon icon="moreVert"></ui-icon></ui-icon-button>
84
- <ui-list slot="dropdown" role="menu">
85
- <ui-list-item role="menuitem" data-item="item 1">Item 1</ui-list-item>
86
- <ui-list-item role="menuitem" data-item="item 2">Item 2</ui-list-item>
87
- <ui-list-item role="menuitem" data-item="item 3">Item 3</ui-list-item>
88
- <ui-list-item role="menuitem" data-item="item 4">Item 4</ui-list-item>
89
- </ui-list>
90
- </ui-dropdown-list>
91
- <p>Last selected: ${list1Selected || 'none'}</p>
92
- </div>
93
-
94
- <h2 class="title-large">Button list</h2>
95
-
96
- <div class="demo-row">
97
- <ui-dropdown-list @select="${this.list2SelectHandler}">
98
- <ui-button color="outlined">Click me</ui-button>
99
- <ui-list slot="dropdown" role="menu">
100
- <ui-list-item role="menuitem" data-item="item 1">Item 1</ui-list-item>
101
- <ui-list-item role="menuitem" data-item="item 2">Item 2</ui-list-item>
102
- <ui-list-item role="menuitem" data-item="item 3">Item 3</ui-list-item>
103
- <ui-list-item role="menuitem" data-item="item 4">Item 4</ui-list-item>
104
- </ui-list>
105
- </ui-dropdown-list>
106
- <p>Last selected: ${list2Selected || 'none'}</p>
107
- </div>
108
-
109
- <h2 class="title-large">A list in an <code>overflow: hidden</code> element</h2>
110
-
111
- <div class="demo-row">
112
- <div class="button-in-lists">
113
- <ui-dropdown-list
114
- @select="${this.list3SelectHandler}"
115
- .verticalAlign="${verticalAlign}"
116
- .horizontalAlign="${horizontalAlign}"
117
- ?noOverlap="${noOverlap}"
118
- >
119
- <ui-icon-button aria-label="Trigger the menu"><ui-icon icon="moreVert"></ui-icon></ui-icon-button>
120
- <ui-list slot="dropdown" role="menu">
121
- <ui-list-item role="menuitem" data-item="item 1">Item 1</ui-list-item>
122
- <ui-list-item role="menuitem" data-item="item 2">Item 2</ui-list-item>
123
- <ui-list-item role="menuitem" data-item="item 3">Item 3</ui-list-item>
124
- <ui-list-item role="menuitem" data-item="item 4">Item 4</ui-list-item>
125
- </ui-list>
126
- </ui-dropdown-list>
127
- </div>
128
- <label for="verticalAlign">Vertical align</label>
129
- <select id="verticalAlign" @change="${this.verticalHandler}">
130
- <option value="">None</option>
131
- <option value="top">Top</option>
132
- <option value="bottom">Bottom</option>
133
- <option value="middle">Middle</option>
134
- <option value="auto">Auto</option>
135
- </select>
136
- <label for="horizontalAlign">Horizontal align</label>
137
- <select id="horizontalAlign" @change="${this.horizontalHandler}">
138
- <option value="">None</option>
139
- <option value="left">Left</option>
140
- <option value="right">Right</option>
141
- <option value="middle">Middle</option>
142
- <option value="auto">Auto</option>
143
- </select>
144
-
145
- <label>
146
- <input type="checkbox" name="noOverlap" @change="${this.noOverlapHandler}" />
147
- No overlap
148
- </label>
149
-
150
- <p>Last selected: ${list3Selected || 'none'}</p>
151
- </div>
152
- </section>
153
- `
154
- }
155
- }
156
-
157
- const instance = new ComponentDemoPage()
158
- instance.render()
@@ -1,122 +0,0 @@
1
- <!doctype html>
2
- <html lang="en-GB">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes">
6
- <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0">
7
- <title>UI icon button</title>
8
- <link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel="stylesheet">
9
- <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" rel="stylesheet" />
10
- <link href="../../../src/styles/m3/tokens.css" rel="stylesheet" type="text/css" />
11
- <link href="../../../src/styles/m3/theme.css" rel="stylesheet" type="text/css" />
12
- <link href="../../../src/styles/m3/native.css" rel="stylesheet" type="text/css" />
13
- <style>
14
- .demo-row {
15
- margin: 20px 0;
16
- display: flex;
17
- gap: 12px;
18
- flex-wrap: wrap;
19
- }
20
-
21
- .demo .demo-section {
22
- max-width: 858px;
23
- margin: 0 auto 80px auto;
24
-
25
- --_row-height: 80px;
26
- }
27
-
28
- .demo .demo-section.l {
29
- max-width: 1080px;
30
-
31
- --_row-height: 120px;
32
- }
33
-
34
- .demo .demo-section.xl {
35
- max-width: 1380px;
36
-
37
- --_row-height: 180px;
38
- }
39
-
40
- .demo h2, .demo h3 {
41
- margin-bottom: 36px;
42
- }
43
-
44
- ol {
45
- padding-left: 0;
46
- list-style: none;
47
- counter-reset: item;
48
- }
49
-
50
- ol > li {
51
- margin-top: 4px;
52
- margin-bottom: 20px;
53
- margin-left: 36px;
54
- counter-increment: item;
55
- vertical-align: baseline;
56
- }
57
-
58
- ol > li:before {
59
- display: inline-block;
60
- width: 24px;
61
- height: 32px;
62
- margin-top: -4px;
63
- margin-right: 10px;
64
- margin-left: -36px;
65
- border-radius: 12px;
66
- background: var(--md-sys-color-inverse-surface);
67
- color: var(--md-sys-color-inverse-on-surface);
68
- line-height: 32px;
69
- text-align: center;
70
- }
71
-
72
- ol.decimal > li:before {
73
- content: counter(item, decimal);
74
- }
75
-
76
- .color-grid,
77
- .state-grid {
78
- display: grid;
79
- gap: 0 0;
80
- justify-items: center;
81
- align-items: center;
82
-
83
- padding: 40px;
84
- border-radius: 20px;
85
- border: 1px var(--md-sys-color-outline) solid;
86
- }
87
-
88
- .color-grid {
89
- grid-template-columns: 80px 1fr 1fr 1fr;
90
- grid-template-rows: var(--_row-height) var(--_row-height) var(--_row-height) var(--_row-height) var(--_row-height);
91
-
92
- }
93
-
94
- .state-grid {
95
- grid-template-columns: 80px 1fr 1fr 1fr;
96
- grid-template-rows: var(--_row-height) var(--_row-height);
97
- }
98
-
99
- .legend-marker {
100
- width: 24px;
101
- height: 24px;
102
- border-radius: 50%;
103
- background-color: var(--md-sys-color-inverse-surface);
104
- color: var(--md-sys-color-inverse-on-surface);
105
- display: flex;
106
- justify-content: center;
107
- align-items: center;
108
- }
109
-
110
- .frame {
111
- padding: 40px;
112
- border-radius: 20px;
113
- border: 1px var(--md-sys-color-outline) solid;
114
- }
115
- </style>
116
- </head>
117
- <body>
118
- <div id="app"></div>
119
-
120
- <script type="module" src="/.tmp/demo/md/icon-button/index.js"></script>
121
- </body>
122
- </html>
@@ -1,132 +0,0 @@
1
- import { html, TemplateResult } from 'lit'
2
- import { DemoPage } from '../../../src/demo/DemoPage.js'
3
- import IconButtonElement, { type MdIconButtonWidth } from '../../../src/md/icon-button/internals/IconButton.js'
4
- import reactive from '../../../src/decorators/reactive.js'
5
- import type { MdButtonSize, MdButtonShape } from '../../../src/md/button/internals/base.js'
6
-
7
- import '../../../src/md/icon-button/ui-icon-button.js'
8
- import '../../../src/md/icons/ui-icon.js'
9
-
10
- class ComponentDemoPage extends DemoPage {
11
- override accessor componentName = 'UI icon button'
12
-
13
- @reactive() accessor size: MdButtonSize = 's'
14
-
15
- @reactive() accessor shape: MdButtonShape = 'round'
16
-
17
- @reactive() accessor width: MdIconButtonWidth = 'default'
18
-
19
- _clickHandler(e: Event): void {
20
- const button = e.target as IconButtonElement
21
- console.log(`A ${button.localName} button was clicked.`)
22
- }
23
-
24
- _activeHandler(e: Event): void {
25
- const button = e.target as IconButtonElement
26
- console.log(`A ${button.localName} button was ${button.selected ? 'activated' : 'deactivated'}`)
27
- }
28
-
29
- handleSizeChange(e: Event): void {
30
- const select = e.target as HTMLSelectElement
31
- this.size = select.value as MdButtonSize
32
- }
33
-
34
- handleShapeChange(e: Event): void {
35
- const select = e.target as HTMLSelectElement
36
- this.shape = select.value as MdButtonShape
37
- }
38
-
39
- handleWidthChange(e: Event): void {
40
- const select = e.target as HTMLSelectElement
41
- this.width = select.value as MdIconButtonWidth
42
- }
43
-
44
- readonly icon = html`<ui-icon>settings</ui-icon>`
45
-
46
- contentTemplate(): TemplateResult {
47
- const { size: s, shape: h, icon: i, width: w } = this
48
- return html`
49
- <a href="../">Back</a>
50
- ${this.renderConfigurationSection()}
51
- <section class="demo-section ${s}">
52
- <h2 class="display-large">Color</h2>
53
- <div class="color-grid">
54
- <span>&nbsp</span>
55
- <span class="legend-marker">1</span>
56
- <span class="legend-marker">2</span>
57
- <span class="legend-marker">3</span>
58
- <span class="legend-marker">A</span>
59
- <ui-icon-button color="filled" .size="${s}" .shape="${h}" .width="${w}">${i}</ui-icon-button>
60
- <ui-icon-button color="filled" .size="${s}" .shape="${h}" .width="${w}" toggle>${i}</ui-icon-button>
61
- <ui-icon-button color="filled" .size="${s}" .shape="${h}" .width="${w}" toggle selected>${i}</ui-icon-button>
62
- <span class="legend-marker">B</span>
63
- <ui-icon-button color="tonal" .size="${s}" .shape="${h}" .width="${w}">${i}</ui-icon-button>
64
- <ui-icon-button color="tonal" .size="${s}" .shape="${h}" .width="${w}" toggle>${i}</ui-icon-button>
65
- <ui-icon-button color="tonal" .size="${s}" .shape="${h}" .width="${w}" toggle selected>${i}</ui-icon-button>
66
- <span class="legend-marker">C</span>
67
- <ui-icon-button color="outlined" .size="${s}" .shape="${h}" .width="${w}">${i}</ui-icon-button>
68
- <ui-icon-button color="outlined" .size="${s}" .shape="${h}" .width="${w}" toggle>${i}</ui-icon-button>
69
- <ui-icon-button color="outlined" .size="${s}" .shape="${h}" .width="${w}" toggle selected
70
- >${i}</ui-icon-button
71
- >
72
- <span class="legend-marker">D</span>
73
- <ui-icon-button .size="${s}" .shape="${h}" .width="${w}">${i}</ui-icon-button>
74
- <ui-icon-button .size="${s}" .shape="${h}" .width="${w}" toggle>${i}</ui-icon-button>
75
- <ui-icon-button .size="${s}" .shape="${h}" .width="${w}" toggle selected>${i}</ui-icon-button>
76
- </div>
77
- <p class="body-medium">A. Filled, B. Tonal, C. Outlined, D. Standard</p>
78
- <ol class="decimal body-medium">
79
- <li>Default</li>
80
- <li>Toggle: unselected</li>
81
- <li>Toggle: selected</li>
82
- </ol>
83
- </section>
84
- `
85
- }
86
-
87
- renderConfigurationSection(): TemplateResult {
88
- const { size: s, shape: h, width: w } = this
89
- return html`
90
- <section class="demo-section">
91
- <h2 class="title-large">Configuration</h2>
92
- <div class="md-select outlined">
93
- <label for="size">Size</label>
94
- <select class="md-select" id="size" @change="${this.handleSizeChange}" name="size" .value="${s}">
95
- <button>
96
- <selectedcontent></selectedcontent>
97
- </button>
98
- <option value="xs">Extra small</option>
99
- <option value="s">Small</option>
100
- <option value="m">Medium</option>
101
- <option value="l">Large</option>
102
- <option value="xl">Extra large</option>
103
- </select>
104
- </div>
105
- <div class="md-select outlined">
106
- <label for="shape">Shape</label>
107
- <select id="shape" @change="${this.handleShapeChange}" name="shape" .value="${h}">
108
- <button>
109
- <selectedcontent></selectedcontent>
110
- </button>
111
- <option value="round">Round</option>
112
- <option value="square">Square</option>
113
- </select>
114
- </div>
115
- <div class="md-select outlined">
116
- <label for="width">Width</label>
117
- <select id="width" @change="${this.handleWidthChange}" name="width" .value="${w}">
118
- <button>
119
- <selectedcontent></selectedcontent>
120
- </button>
121
- <option value="default">Default</option>
122
- <option value="narrow">Narrow</option>
123
- <option value="wide">Wide</option>
124
- </select>
125
- </div>
126
- </section>
127
- `
128
- }
129
- }
130
-
131
- const instance = new ComponentDemoPage()
132
- instance.render()
@@ -1,73 +0,0 @@
1
- <!doctype html>
2
- <html lang="en-GB">
3
- <head>
4
- <meta charset="utf-8">
5
- <title>API Client UI</title>
6
- <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0">
7
- <link
8
- href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap"
9
- rel="stylesheet"
10
- />
11
- <link href="../../src/styles/m3/tokens.css" rel="stylesheet" type="text/css" />
12
- <link href="../../src/styles/m3/theme.css" rel="stylesheet" type="text/css" />
13
- <link href="../page.css" rel="stylesheet" type="text/css" />
14
- </head>
15
- <body>
16
- <main>
17
- <h1>The base UI components library</h1>
18
- <a href="../">Back</a>
19
- <nav>
20
- <h2>Elements</h2>
21
- <dl>
22
- <dt><a href="buttons/button.html">button</a></dt>
23
- <dd>A Material 3 button.</dd>
24
- <dt><a href="buttons/group.html">button group</a></dt>
25
- <dd>A Material 3 button group.</dd>
26
- <dt><a href="checkbox/index.html">checkbox</a></dt>
27
- <dd>A Material 3 checkbox.</dd>
28
- <dt><a href="chip/chip.html">chip</a></dt>
29
- <dd>A Material 3 chip.</dd>
30
- <dt><a href="collapse/collapse.html">collapse</a></dt>
31
- <dd>An animated collapse element.</dd>
32
- <dt><a href="date-picker/index.html">date-picker</a></dt>
33
- <dd>A Material 3 date picker element.</dd>
34
- <dt><a href="dialog/dialog.html">dialog</a></dt>
35
- <dd>A Material 3 dialog element.</dd>
36
- <dt><a href="dialog/confirm-dialog.html">confirm-dialog</a></dt>
37
- <dd>A Material 3 confirm-dialog element.</dd>
38
- <dt><a href="dropdown-list/index.html">dropdown-list</a></dt>
39
- <dd>A Material 3 dropdown-list.</dd>
40
- <dt><a href="icon-button/index.html">icon-button</a></dt>
41
- <dd>A Material 3 icon button.</dd>
42
- <dt><a href="list/list.html">list</a></dt>
43
- <dd>A Material 3 list and list item.</dd>
44
- <dt><a href="dropdown-list/index.html">dropdown-list</a></dt>
45
- <dd>A Material 3 dropdown-list.</dd>
46
- <dt><a href="listbox/listbox.html">listbox</a></dt>
47
- <dd>A Material 3 listbox.</dd>
48
- <dt><a href="menu/index.html">menu</a></dt>
49
- <dd>A Material 3 menu.</dd>
50
- <dt><a href="select/index.html">select</a></dt>
51
- <dd>A Material 3 select.</dd>
52
- <dt><a href="inputs/switch.html">switch</a></dt>
53
- <dd>A Material 3 switch.</dd>
54
-
55
- <dt><a href="progress/progress.html">progress</a></dt>
56
- <dd>A Material 3 progress element.</dd>
57
-
58
-
59
- <dt><a href="inputs/input.html">Text field</a></dt>
60
- <dd>A Material 3 text field and text area.</dd>
61
- <dt><a href="notification/snack.html">snackbar</a></dt>
62
- <dd>A Material 3 snackbar notification.</dd>
63
- <dt><a href="segmented-button/index.html">segmented-button</a></dt>
64
- <dd>A Material 3 segmented buttons.</dd>
65
- <dt><a href="inputs/radio.html">radio</a></dt>
66
- <dd>A Material 3 radio input.</dd>
67
- <dt><a href="tabs/tabs.html">tabs</a></dt>
68
- <dd>A Material 3 tabs.</dd>
69
- </dl>
70
- </nav>
71
- </main>
72
- </body>
73
- </html>
@@ -1,73 +0,0 @@
1
- <!doctype html>
2
- <html lang="en-GB">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes">
6
- <title>UI text field</title>
7
- <link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel="stylesheet">
8
- <link href="../../../src/styles/m3/tokens.css" rel="stylesheet" type="text/css" />
9
- <link href="../../../src/styles/m3/theme.css" rel="stylesheet" type="text/css" />
10
- <style>
11
- .demo-section {
12
- display: flex;
13
- flex-direction: column;
14
- gap: 20px;
15
- }
16
-
17
- .input-compare {
18
- display: grid;
19
- grid-template-columns: repeat(2, 1fr);
20
- grid-template-rows: repeat(1, 1fr);
21
- gap: 8px;;
22
- }
23
-
24
- .demo-row {
25
- margin: 20px 0;
26
- }
27
-
28
- .demo .demo-section {
29
- max-width: 858px;
30
- margin: 0 auto 80px auto;
31
- }
32
-
33
- .demo h2, .demo h3 {
34
- margin-bottom: 36px;
35
- }
36
-
37
- .frame {
38
- padding: 40px;
39
- border-radius: 20px;
40
- border: 1px var(--md-sys-color-outline) solid;
41
- }
42
-
43
- .demo-grid {
44
- grid-template-columns: 160px 1fr 1fr;
45
- display: grid;
46
- gap: 0 0;
47
- justify-items: center;
48
- align-items: center;
49
- grid-template-rows: 40px repeat(auto-fit, minmax(80px, 1fr));
50
- grid-auto-rows: 80px;
51
-
52
- padding: 40px;
53
- border-radius: 20px;
54
- border: 1px var(--md-sys-color-outline) solid;
55
- }
56
-
57
- .row-name {
58
- justify-self: end;
59
- text-align: right;
60
- }
61
-
62
- ui-filled-text-field,
63
- ui-outlined-text-field {
64
- max-width: 240px;
65
- }
66
- </style>
67
- </head>
68
- <body>
69
- <div id="app"></div>
70
-
71
- <script type="module" src="/.tmp/demo/md/inputs/input.js"></script>
72
- </body>
73
- </html>