@swiftwc/ui 0.0.0-dev.98 → 1.0.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) hide show
  1. package/{web-components.html-data → html-data}/en.json +155 -57
  2. package/package.json +14 -11
  3. package/scss/_components.scss +1 -1
  4. package/scss/_maps.scss +3 -1
  5. package/scss/_utils.scss +3 -1
  6. package/scss/_vars.scss +1 -0
  7. package/scss/base/_layout.scss +8 -8
  8. package/scss/base/_reboot.scss +4 -29
  9. package/scss/base/_root.scss +27 -12
  10. package/scss/colors/_index.scss +66 -1
  11. package/scss/components/_alert-dialog.scss +3 -3
  12. package/scss/components/_bordered-button.scss +2 -2
  13. package/scss/components/_bordered-prominent-button.scss +3 -3
  14. package/scss/components/_borderless-button.scss +2 -2
  15. package/scss/components/_confirmation-dialog.scss +1 -1
  16. package/scss/components/_content-unavailable.scss +1 -1
  17. package/scss/components/{_body-view.scss → _content-view.scss} +2 -2
  18. package/scss/components/_date-picker.scss +1 -1
  19. package/scss/components/_detail-placeholder.scss +5 -5
  20. package/scss/components/_disclosure-group.scss +2 -2
  21. package/scss/components/_fine-tooltip.scss +1 -1
  22. package/scss/components/_form-view.scss +3 -3
  23. package/scss/components/_full-screen.scss +1 -1
  24. package/scss/components/_glass-button.scss +2 -2
  25. package/scss/components/_glass-prominent-button.scss +3 -3
  26. package/scss/components/_group-box.scss +1 -1
  27. package/scss/components/_h-divider.scss +1 -1
  28. package/scss/components/_h-flex-stack.scss +3 -1
  29. package/scss/components/_h-stack.scss +1 -1
  30. package/scss/components/_image-view.scss +1 -1
  31. package/scss/components/_index.scss +35 -24
  32. package/scss/components/_label-view.scss +1 -1
  33. package/scss/components/_labeled-content.scss +1 -1
  34. package/scss/components/_list-view.scss +3 -3
  35. package/scss/components/_menu-view.scss +3 -3
  36. package/scss/components/_navigation-large-title.scss +15 -9
  37. package/scss/components/_navigation-split-view.scss +18 -18
  38. package/scss/components/_navigation-stack.scss +1 -1
  39. package/scss/components/_navigation-title.scss +1 -1
  40. package/scss/components/_picker-view.scss +159 -119
  41. package/scss/components/_plain-button.scss +2 -2
  42. package/scss/components/_progress-view.scss +1 -1
  43. package/scss/components/_scroll-view-proxy.scss +1 -1
  44. package/scss/components/_scroll-view-toolbars.scss +1 -1
  45. package/scss/components/_scroll-view.scss +2 -2
  46. package/scss/components/_search-view.scss +1 -1
  47. package/scss/components/_section-view.scss +1 -1
  48. package/scss/components/_sheet-view.scss +2 -2
  49. package/scss/components/_sidebar-toggle.scss +1 -1
  50. package/scss/components/_sidebar-view.scss +2 -2
  51. package/scss/components/_sticky-container.scss +1 -1
  52. package/scss/components/_tab-bar.scss +1 -1
  53. package/scss/components/_tab-item.scss +1 -1
  54. package/scss/components/_tab-view.scss +23 -15
  55. package/scss/components/_table-column.scss +1 -1
  56. package/scss/components/_table-row.scss +1 -1
  57. package/scss/components/_table-view.scss +1 -1
  58. package/scss/components/_text-field.scss +1 -1
  59. package/scss/components/_text-view.scss +1 -1
  60. package/scss/components/_toggle-view.scss +88 -30
  61. package/scss/components/_tool-bar-item-group.scss +1 -1
  62. package/scss/components/_tool-bar-item.scss +2 -2
  63. package/scss/components/_tool-bar.scss +2 -2
  64. package/scss/components/_v-divider.scss +1 -1
  65. package/scss/components/_v-flex-stack.scss +3 -1
  66. package/scss/components/_v-keyboard.scss +1 -1
  67. package/scss/components/_v-stack.scss +1 -1
  68. package/scss/final/_touch-glass.scss +8 -1
  69. package/scss/mixins/_index.scss +2 -2
  70. package/scss/placeholders/_buttons.scss +5 -5
  71. package/scss/placeholders/_lists.scss +3 -3
  72. package/scss/transitions/_alert-dialog.scss +1 -1
  73. package/scss/transitions/_bwd.navbar.scss +1 -1
  74. package/scss/transitions/_bwd.scss +3 -3
  75. package/scss/transitions/_confirmation-dialog.scss +1 -1
  76. package/scss/transitions/_disclosure-group.scss +1 -1
  77. package/scss/transitions/_fine-tooltip.scss +1 -1
  78. package/scss/transitions/_fwd.navbar.scss +1 -1
  79. package/scss/transitions/_fwd.scss +1 -1
  80. package/scss/transitions/_glass-button.scss +1 -1
  81. package/scss/transitions/_glass-prominent-button.scss +1 -1
  82. package/scss/transitions/_index.scss +1 -1
  83. package/scss/transitions/_menu-view.scss +1 -1
  84. package/scss/transitions/_navigation-split-view.scss +1 -1
  85. package/scss/transitions/_progress-view.scss +1 -1
  86. package/scss/transitions/_sheet-view.scss +1 -1
  87. package/scss/transitions/_sidebar-view.scss +1 -1
  88. package/scss/transitions/_tab-bar.scss +1 -1
  89. package/scss/utils/_background.scss +52 -0
  90. package/scss/utils/_frame.scss +2 -2
  91. package/scss/utils/_index.scss +33 -8
  92. package/scss/utils/_spacing.scss +1 -1
  93. package/scss/utils/_stacks.scss +5 -3
  94. package/generated/buses/alert-dialog.d.ts +0 -2
  95. package/generated/buses/alert-dialog.js +0 -1
  96. package/generated/buses/confirmation-dialog.d.ts +0 -2
  97. package/generated/buses/confirmation-dialog.js +0 -1
  98. package/generated/buses/index.d.ts +0 -6
  99. package/generated/buses/index.js +0 -6
  100. package/generated/buses/lifecycle-observer.d.ts +0 -2
  101. package/generated/buses/lifecycle-observer.js +0 -1
  102. package/generated/client/index.d.ts +0 -30
  103. package/generated/client/index.js +0 -279
  104. package/generated/components/alert-dialog.d.ts +0 -11
  105. package/generated/components/alert-dialog.js +0 -102
  106. package/generated/components/body-view.d.ts +0 -13
  107. package/generated/components/body-view.js +0 -17
  108. package/generated/components/bordered-button.d.ts +0 -17
  109. package/generated/components/bordered-button.js +0 -56
  110. package/generated/components/bordered-prominent-button.d.ts +0 -17
  111. package/generated/components/bordered-prominent-button.js +0 -56
  112. package/generated/components/borderless-button.d.ts +0 -17
  113. package/generated/components/borderless-button.js +0 -56
  114. package/generated/components/color-scheme.d.ts +0 -12
  115. package/generated/components/color-scheme.js +0 -54
  116. package/generated/components/confirmation-dialog.d.ts +0 -12
  117. package/generated/components/confirmation-dialog.js +0 -116
  118. package/generated/components/content-unavailable.d.ts +0 -30
  119. package/generated/components/content-unavailable.js +0 -82
  120. package/generated/components/date-picker.d.ts +0 -52
  121. package/generated/components/date-picker.js +0 -480
  122. package/generated/components/disclosure-group.d.ts +0 -17
  123. package/generated/components/disclosure-group.js +0 -66
  124. package/generated/components/fine-tooltip.d.ts +0 -15
  125. package/generated/components/fine-tooltip.js +0 -111
  126. package/generated/components/form-view.d.ts +0 -16
  127. package/generated/components/form-view.js +0 -65
  128. package/generated/components/glass-button.d.ts +0 -16
  129. package/generated/components/glass-button.js +0 -53
  130. package/generated/components/glass-prominent-button.d.ts +0 -16
  131. package/generated/components/glass-prominent-button.js +0 -53
  132. package/generated/components/h-stack.d.ts +0 -22
  133. package/generated/components/h-stack.js +0 -26
  134. package/generated/components/image-view.d.ts +0 -18
  135. package/generated/components/image-view.js +0 -68
  136. package/generated/components/index.d.ts +0 -47
  137. package/generated/components/index.js +0 -47
  138. package/generated/components/label-view.d.ts +0 -27
  139. package/generated/components/label-view.js +0 -87
  140. package/generated/components/labeled-content.d.ts +0 -27
  141. package/generated/components/labeled-content.js +0 -160
  142. package/generated/components/list-view.d.ts +0 -15
  143. package/generated/components/list-view.js +0 -22
  144. package/generated/components/menu-view.d.ts +0 -20
  145. package/generated/components/menu-view.js +0 -140
  146. package/generated/components/navigation-large-title.d.ts +0 -18
  147. package/generated/components/navigation-large-title.js +0 -188
  148. package/generated/components/navigation-split-view.d.ts +0 -15
  149. package/generated/components/navigation-split-view.js +0 -25
  150. package/generated/components/navigation-stack.d.ts +0 -15
  151. package/generated/components/navigation-stack.js +0 -29
  152. package/generated/components/navigation-title.d.ts +0 -18
  153. package/generated/components/navigation-title.js +0 -72
  154. package/generated/components/picker-view.d.ts +0 -68
  155. package/generated/components/picker-view.js +0 -1153
  156. package/generated/components/plain-button.d.ts +0 -7
  157. package/generated/components/plain-button.js +0 -22
  158. package/generated/components/progress-view.d.ts +0 -20
  159. package/generated/components/progress-view.js +0 -125
  160. package/generated/components/screen-view.d.ts +0 -5
  161. package/generated/components/screen-view.js +0 -11
  162. package/generated/components/scroll-view-proxy.d.ts +0 -13
  163. package/generated/components/scroll-view-proxy.js +0 -17
  164. package/generated/components/scroll-view.d.ts +0 -22
  165. package/generated/components/scroll-view.js +0 -237
  166. package/generated/components/search-view.d.ts +0 -12
  167. package/generated/components/search-view.js +0 -27
  168. package/generated/components/section-view.d.ts +0 -21
  169. package/generated/components/section-view.js +0 -64
  170. package/generated/components/sheet-view.d.ts +0 -11
  171. package/generated/components/sheet-view.js +0 -45
  172. package/generated/components/sidebar-toggle.d.ts +0 -15
  173. package/generated/components/sidebar-toggle.js +0 -88
  174. package/generated/components/sidebar-view.d.ts +0 -10
  175. package/generated/components/sidebar-view.js +0 -37
  176. package/generated/components/sticky-container.d.ts +0 -11
  177. package/generated/components/sticky-container.js +0 -26
  178. package/generated/components/tab-bar.d.ts +0 -10
  179. package/generated/components/tab-bar.js +0 -40
  180. package/generated/components/tab-item.d.ts +0 -10
  181. package/generated/components/tab-item.js +0 -134
  182. package/generated/components/tab-view.d.ts +0 -31
  183. package/generated/components/tab-view.js +0 -198
  184. package/generated/components/table-view.d.ts +0 -26
  185. package/generated/components/table-view.js +0 -161
  186. package/generated/components/text-field.d.ts +0 -42
  187. package/generated/components/text-field.js +0 -526
  188. package/generated/components/toggle-view.d.ts +0 -41
  189. package/generated/components/toggle-view.js +0 -249
  190. package/generated/components/tool-bar-item-group.d.ts +0 -13
  191. package/generated/components/tool-bar-item-group.js +0 -31
  192. package/generated/components/tool-bar-item.d.ts +0 -16
  193. package/generated/components/tool-bar-item.js +0 -69
  194. package/generated/components/tool-bar.d.ts +0 -26
  195. package/generated/components/tool-bar.js +0 -95
  196. package/generated/components/v-keyboard.d.ts +0 -20
  197. package/generated/components/v-keyboard.js +0 -89
  198. package/generated/components/v-stack.d.ts +0 -25
  199. package/generated/components/v-stack.js +0 -29
  200. package/generated/css/index.css +0 -10592
  201. package/generated/events/alert-dialog.d.ts +0 -13
  202. package/generated/events/alert-dialog.js +0 -1
  203. package/generated/events/confirmation-dialog.d.ts +0 -14
  204. package/generated/events/confirmation-dialog.js +0 -1
  205. package/generated/events/date-picker.d.ts +0 -13
  206. package/generated/events/date-picker.js +0 -1
  207. package/generated/events/index.d.ts +0 -9
  208. package/generated/events/index.js +0 -9
  209. package/generated/events/lifecycle-observer.d.ts +0 -18
  210. package/generated/events/lifecycle-observer.js +0 -1
  211. package/generated/events/picker-view.d.ts +0 -29
  212. package/generated/events/picker-view.js +0 -1
  213. package/generated/events/scroll-view.d.ts +0 -18
  214. package/generated/events/scroll-view.js +0 -1
  215. package/generated/events/tab-view.d.ts +0 -54
  216. package/generated/events/tab-view.js +0 -1
  217. package/generated/events/text-field.d.ts +0 -13
  218. package/generated/events/text-field.js +0 -1
  219. package/generated/events/toggle-view.d.ts +0 -14
  220. package/generated/events/toggle-view.js +0 -1
  221. package/generated/i18n/index.d.ts +0 -33
  222. package/generated/i18n/index.js +0 -164
  223. package/generated/i18n/locales/el.d.ts +0 -16
  224. package/generated/i18n/locales/el.js +0 -16
  225. package/generated/i18n/locales/en.d.ts +0 -16
  226. package/generated/i18n/locales/en.js +0 -16
  227. package/generated/i18n/locales/index.d.ts +0 -4
  228. package/generated/i18n/locales/index.js +0 -4
  229. package/generated/index.d.ts +0 -2
  230. package/generated/index.js +0 -3
  231. package/generated/internal/class/cleanup-registry.d.ts +0 -5
  232. package/generated/internal/class/cleanup-registry.js +0 -38
  233. package/generated/internal/class/css-style-observer.d.ts +0 -8
  234. package/generated/internal/class/css-style-observer.js +0 -26
  235. package/generated/internal/class/form-associated-base.d.ts +0 -16
  236. package/generated/internal/class/form-associated-base.js +0 -78
  237. package/generated/internal/class/mutation-observer-set.d.ts +0 -9
  238. package/generated/internal/class/mutation-observer-set.js +0 -42
  239. package/generated/internal/class/mutation-observer-singleton.d.ts +0 -10
  240. package/generated/internal/class/mutation-observer-singleton.js +0 -64
  241. package/generated/internal/class/navigation-path.d.ts +0 -15
  242. package/generated/internal/class/navigation-path.js +0 -84
  243. package/generated/internal/class/navigation-view.d.ts +0 -8
  244. package/generated/internal/class/navigation-view.js +0 -72
  245. package/generated/internal/class/resize-observer-singleton.d.ts +0 -7
  246. package/generated/internal/class/resize-observer-singleton.js +0 -22
  247. package/generated/internal/decorators/adaptive-slot.d.ts +0 -1
  248. package/generated/internal/decorators/adaptive-slot.js +0 -50
  249. package/generated/internal/decorators/custom-element.d.ts +0 -5
  250. package/generated/internal/decorators/custom-element.js +0 -5
  251. package/generated/internal/decorators/index.d.ts +0 -6
  252. package/generated/internal/decorators/index.js +0 -6
  253. package/generated/internal/decorators/microtask-on-connected.d.ts +0 -39
  254. package/generated/internal/decorators/microtask-on-connected.js +0 -67
  255. package/generated/internal/privateNamespace.d.ts +0 -14
  256. package/generated/internal/privateNamespace.js +0 -168
  257. package/generated/internal/utils/add.d.ts +0 -1
  258. package/generated/internal/utils/add.js +0 -7
  259. package/generated/internal/utils/cash/ancestors.d.ts +0 -1
  260. package/generated/internal/utils/cash/ancestors.js +0 -27
  261. package/generated/internal/utils/cash/index.d.ts +0 -24
  262. package/generated/internal/utils/cash/index.js +0 -27
  263. package/generated/internal/utils/cash/next-all.d.ts +0 -1
  264. package/generated/internal/utils/cash/next-all.js +0 -10
  265. package/generated/internal/utils/cash/next.d.ts +0 -1
  266. package/generated/internal/utils/cash/next.js +0 -9
  267. package/generated/internal/utils/cash/prev-all.d.ts +0 -1
  268. package/generated/internal/utils/cash/prev-all.js +0 -10
  269. package/generated/internal/utils/cash/prev.d.ts +0 -1
  270. package/generated/internal/utils/cash/prev.js +0 -9
  271. package/generated/internal/utils/cash/prop.d.ts +0 -18
  272. package/generated/internal/utils/cash/prop.js +0 -30
  273. package/generated/internal/utils/cash/siblings.d.ts +0 -1
  274. package/generated/internal/utils/cash/siblings.js +0 -10
  275. package/generated/internal/utils/clamp.d.ts +0 -1
  276. package/generated/internal/utils/clamp.js +0 -4
  277. package/generated/internal/utils/compare-big-decimals.d.ts +0 -1
  278. package/generated/internal/utils/compare-big-decimals.js +0 -80
  279. package/generated/internal/utils/css-time.d.ts +0 -1
  280. package/generated/internal/utils/css-time.js +0 -3
  281. package/generated/internal/utils/debounce.d.ts +0 -1
  282. package/generated/internal/utils/debounce.js +0 -13
  283. package/generated/internal/utils/define-translations.d.ts +0 -1
  284. package/generated/internal/utils/define-translations.js +0 -3
  285. package/generated/internal/utils/dev-flags.d.ts +0 -3
  286. package/generated/internal/utils/dev-flags.js +0 -5
  287. package/generated/internal/utils/ensure-placeholder.d.ts +0 -1
  288. package/generated/internal/utils/ensure-placeholder.js +0 -41
  289. package/generated/internal/utils/frame.d.ts +0 -1
  290. package/generated/internal/utils/frame.js +0 -6
  291. package/generated/internal/utils/index.d.ts +0 -20
  292. package/generated/internal/utils/index.js +0 -23
  293. package/generated/internal/utils/is-inside.d.ts +0 -1
  294. package/generated/internal/utils/is-inside.js +0 -4
  295. package/generated/internal/utils/kebab-case.d.ts +0 -1
  296. package/generated/internal/utils/kebab-case.js +0 -8
  297. package/generated/internal/utils/list-active.d.ts +0 -7
  298. package/generated/internal/utils/list-active.js +0 -83
  299. package/generated/internal/utils/microtask.d.ts +0 -1
  300. package/generated/internal/utils/microtask.js +0 -3
  301. package/generated/internal/utils/onoff.d.ts +0 -45
  302. package/generated/internal/utils/onoff.js +0 -31
  303. package/generated/internal/utils/set.d.ts +0 -1
  304. package/generated/internal/utils/set.js +0 -7
  305. package/generated/internal/utils/sleep.d.ts +0 -1
  306. package/generated/internal/utils/sleep.js +0 -3
  307. package/generated/internal/utils/slow-hide-show.d.ts +0 -1
  308. package/generated/internal/utils/slow-hide-show.js +0 -16
  309. package/generated/internal/utils/timeout.d.ts +0 -5
  310. package/generated/internal/utils/timeout.js +0 -16
  311. package/generated/internal/utils/touch-glass.d.ts +0 -7
  312. package/generated/internal/utils/touch-glass.js +0 -19
  313. package/generated/internal/vendor/morphdom.d.ts +0 -6
  314. package/generated/internal/vendor/morphdom.js +0 -720
  315. package/generated/morphdom/index.d.ts +0 -8
  316. package/generated/morphdom/index.js +0 -8
  317. package/generated/morphdom/morph.d.ts +0 -4
  318. package/generated/morphdom/morph.js +0 -10
  319. package/generated/morphdom/query-morph.d.ts +0 -5
  320. package/generated/morphdom/query-morph.js +0 -12
  321. package/generated/morphdom/render-to-string.d.ts +0 -12
  322. package/generated/morphdom/render-to-string.js +0 -48
  323. package/generated/morphdom/unsafe-html.d.ts +0 -2
  324. package/generated/morphdom/unsafe-html.js +0 -4
  325. package/generated/namespace-browser/base.d.ts +0 -45
  326. package/generated/namespace-browser/base.js +0 -115
  327. package/generated/namespace-browser/event.d.ts +0 -10
  328. package/generated/namespace-browser/event.js +0 -1
  329. package/generated/namespace-browser/index.d.ts +0 -7
  330. package/generated/namespace-browser/index.js +0 -1
  331. package/generated/snapshot/index.d.ts +0 -9
  332. package/generated/snapshot/index.js +0 -60
  333. package/generated/tpl/html.d.ts +0 -5
  334. package/generated/tpl/html.js +0 -7
  335. package/generated/tpl/index.d.ts +0 -6
  336. package/generated/tpl/index.js +0 -6
  337. package/generated/tpl/is-template-result.d.ts +0 -3
  338. package/generated/tpl/is-template-result.js +0 -1
  339. package/generated/tpl/render.d.ts +0 -2
  340. package/generated/tpl/render.js +0 -132
  341. /package/{web-components.css-data → css-data}/en.json +0 -0
  342. /package/scss/utils/{_scroll-view.scss → _scroll-view.scss.txt} +0 -0
@@ -1,111 +0,0 @@
1
- var _a;
2
- import { CleanupRegistry } from '../internal/class/cleanup-registry';
3
- import { $, devFlags, onoff } from '../internal/utils';
4
- import { html } from '../tpl';
5
- /**
6
- * @summary A tooltip that shows an unobtrusive helpful message on pointer:fine screens. Use it by adding a `help` attribute to any element.
7
- */
8
- export class FineTooltip extends HTMLElement {
9
- constructor() {
10
- super();
11
- }
12
- #handleTriggerRemovalMutation = (mutations) => {
13
- if (this.#queryTrigger?.isConnected)
14
- return;
15
- this?.remove();
16
- };
17
- #handleTriggerAttrMutation = (mutations) => {
18
- for (const { target, attributeName } of mutations)
19
- if (target instanceof HTMLElement && attributeName)
20
- this.#render(target.getAttribute(attributeName));
21
- };
22
- #handleMeasure = ([{ target, borderBoxSize }]) => {
23
- if (devFlags.debug)
24
- console.debug(`${_a.name} ⚡️ measure`);
25
- if (target.hasAttribute('closing'))
26
- return;
27
- if (!(target instanceof HTMLElement))
28
- return;
29
- const { top } = target.getBoundingClientRect();
30
- const vpHeight = self.visualViewport?.height ?? 0, blockSize = borderBoxSize.at(0)?.blockSize ?? 0;
31
- if (top > vpHeight - blockSize - 50) {
32
- target.style.setProperty('position-area', 'top center');
33
- target.style.setProperty('transform-origin', 'bottom');
34
- }
35
- };
36
- #mutationObserver = new MutationObserver(this.#handleTriggerAttrMutation);
37
- #mutationObserver2 = new MutationObserver(this.#handleTriggerRemovalMutation);
38
- #resizeObserver = new ResizeObserver(this.#handleMeasure);
39
- get #queryTrigger() {
40
- const positionAnchor = this.style.positionAnchor;
41
- if (!positionAnchor.startsWith('--help-'))
42
- return;
43
- const trigger = document.querySelector(`[style*="${CSS.escape(positionAnchor)}"][help]`);
44
- return trigger ?? undefined;
45
- }
46
- #render = (str) => {
47
- const label = this.querySelector(':scope>label-view') ?? this.appendChild($(html `<label-view></label-view>`, '>1'));
48
- if (str)
49
- label.setAttribute('title', str);
50
- else
51
- label.removeAttribute('title');
52
- };
53
- connectedCallback() {
54
- if (devFlags.debug)
55
- console.debug(`${_a.name} ⚡️ connect`);
56
- this.removeAttribute('closing');
57
- this.popover = 'manual';
58
- this.inert = true;
59
- CleanupRegistry.register(this, onoff('toggle', this.#handleToggle, this).on());
60
- CleanupRegistry.register(this, onoff('beforetoggle', this.#handleBeforetoggle, this).on());
61
- this.showPopover();
62
- }
63
- disconnectedCallback() {
64
- if (devFlags.debug)
65
- console.debug(`${_a.name} ⚡️ disconnect`);
66
- this.#resizeObserver.unobserve(this);
67
- this.#mutationObserver?.disconnect();
68
- this.#mutationObserver2?.disconnect();
69
- this.#queryTrigger?.style.removeProperty('anchor-name');
70
- CleanupRegistry.unregister(this);
71
- }
72
- #handleToggle = ({ newState }) => {
73
- if ('closed' !== newState)
74
- return;
75
- this.remove();
76
- };
77
- #handleBeforetoggle = (evt) => {
78
- if ('open' !== evt.newState)
79
- return;
80
- const trigger = this.#queryTrigger;
81
- if (!trigger) {
82
- evt.preventDefault();
83
- this.remove();
84
- return;
85
- }
86
- else {
87
- this.#render(trigger.getAttribute('help'));
88
- this.#mutationObserver.observe(trigger, {
89
- attributes: true,
90
- attributeFilter: ['help'],
91
- });
92
- this.#mutationObserver2.observe(document.body, {
93
- childList: true,
94
- subtree: true,
95
- });
96
- this.#resizeObserver.observe(this);
97
- }
98
- this.toggleAttribute('open', 'open' === evt.newState);
99
- };
100
- hidePopover() {
101
- if (this.hasAttribute('closing'))
102
- return;
103
- this.setAttribute('closing', '');
104
- Promise.allSettled(this.getAnimations().map(({ finished }) => finished)).then(() => {
105
- if (!this.hasAttribute('closing'))
106
- return;
107
- this?.remove();
108
- });
109
- }
110
- }
111
- _a = FineTooltip;
@@ -1,16 +0,0 @@
1
- import { FormBase } from '../namespace-browser/base';
2
- /**
3
- * @summary A container view that groups controls together for entering data, like a settings screen.
4
- *
5
- * @attr {hidden} navigation-link-indicator-visibility — Hides accessories like right-arrow-chevron on NavigationLink buttons inside.
6
- */
7
- export declare class FormView extends FormBase {
8
- constructor();
9
- static polyfillDisconnectedCallback(el: HTMLFormElement): void;
10
- static polyfillConnectedCallback(el: HTMLFormElement): void;
11
- }
12
- declare global {
13
- interface HTMLElementTagNameMap {
14
- 'form-view': FormView;
15
- }
16
- }
@@ -1,65 +0,0 @@
1
- import { CleanupRegistry } from '../internal/class/cleanup-registry';
2
- import { devFlags, listActive, onoff } from '../internal/utils';
3
- import { FormBase } from '../namespace-browser/base';
4
- /**
5
- * @summary A container view that groups controls together for entering data, like a settings screen.
6
- *
7
- * @attr {hidden} navigation-link-indicator-visibility — Hides accessories like right-arrow-chevron on NavigationLink buttons inside.
8
- */
9
- export class FormView extends FormBase {
10
- constructor() {
11
- super();
12
- }
13
- static polyfillDisconnectedCallback(el) {
14
- if (devFlags.debug)
15
- console.debug(`${FormView.name} ⚡️ disconnect`);
16
- // finally
17
- CleanupRegistry.unregister(el);
18
- }
19
- static polyfillConnectedCallback(el) {
20
- if (devFlags.debug)
21
- console.debug(`${FormView.name} ⚡️ connect`);
22
- if (el.closest('[is=sidebar-view],[is=tab-bar]')) {
23
- el.method = 'dialog';
24
- el.noValidate = true;
25
- }
26
- CleanupRegistry.register(el, onoff(listActive(el), el).on());
27
- if (el.matches(':empty'))
28
- el.insertAdjacentHTML('beforeend', `<button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
29
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
30
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
31
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
32
- <details is="disclosure-group">
33
- <summary><button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></summary>
34
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
35
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
36
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
37
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
38
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
39
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
40
- </details>
41
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
42
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
43
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
44
- <details is="disclosure-group">
45
- <summary><label-view system-image="smiley" title="Item 1"></label-view></summary>
46
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
47
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
48
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
49
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
50
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
51
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
52
- </details>
53
- <details is="disclosure-group">
54
- <summary><label-view system-image="smiley" title="Item 1"></label-view></summary>
55
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
56
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
57
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
58
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
59
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
60
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
61
- </details>
62
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>
63
- <button type="button" tabindex="0"><label-view system-image="smiley" title="Item 1"></label-view></button>`);
64
- }
65
- }
@@ -1,16 +0,0 @@
1
- import { ButtonBase } from '../namespace-browser/base';
2
- /**
3
- * @summary A control that starts an action. Styled with a glass border, adapting to the button’s surroundings.
4
- *
5
- * @example <button is="glass-button"><label-view system-image="hand-tap" title="Tap Me"></label-view></button> — Creating a glass button
6
- *
7
- * @slot overlay
8
- *
9
- */
10
- export declare class GlassButton extends ButtonBase {
11
- static get observedAttributes(): string[];
12
- constructor();
13
- static polyfillDisconnectedCallback(el: ButtonBase): void;
14
- static polyfillConnectedCallback(el: ButtonBase): void;
15
- static polyfillAttributeChangedCallback([{ attributeName, target, oldValue }]: Pick<MutationRecord, 'attributeName' | 'oldValue' | 'target'>[]): void;
16
- }
@@ -1,53 +0,0 @@
1
- import { CleanupRegistry } from '../internal/class/cleanup-registry';
2
- import { devFlags, ensurePlaceholder, onoff, touchGlass } from '../internal/utils';
3
- import { ButtonBase } from '../namespace-browser/base';
4
- import { Snapshot } from '../snapshot';
5
- /**
6
- * @summary A control that starts an action. Styled with a glass border, adapting to the button’s surroundings.
7
- *
8
- * @example <button is="glass-button"><label-view system-image="hand-tap" title="Tap Me"></label-view></button> — Creating a glass button
9
- *
10
- * @slot overlay
11
- *
12
- */
13
- export class GlassButton extends ButtonBase {
14
- static get observedAttributes() {
15
- return [
16
- /**
17
- * A value that describes the purpose of a button
18
- * @type {destructive|confirm}
19
- */
20
- 'role',
21
- 'title-key',
22
- ];
23
- }
24
- constructor() {
25
- super();
26
- }
27
- static polyfillDisconnectedCallback(el) {
28
- if (devFlags.debug)
29
- console.debug(`${GlassButton.name} ⚡️ disconnect`);
30
- CleanupRegistry.unregister(el);
31
- }
32
- static polyfillConnectedCallback(el) {
33
- if (devFlags.debug)
34
- console.debug(`${GlassButton.name} ⚡️ connect`);
35
- CleanupRegistry.register(el, onoff(touchGlass(el, (t) => t, () => true), el).on());
36
- el.tabIndex = 0;
37
- }
38
- static polyfillAttributeChangedCallback([{ attributeName, target, oldValue }]) {
39
- if (devFlags.debug)
40
- console.debug(`${GlassButton.name} ⚡️ attr-change [${attributeName}] ("${oldValue}" → "${target.getAttribute(attributeName ?? '')}")`);
41
- const node = target instanceof HTMLButtonElement;
42
- if (!node)
43
- return;
44
- switch (attributeName) {
45
- case 'title-key':
46
- case 'role':
47
- Snapshot.waitReady.then(() => {
48
- ensurePlaceholder(target, target.getAttribute('role'), target.getAttribute('title-key'), Snapshot.config);
49
- });
50
- break;
51
- }
52
- }
53
- }
@@ -1,16 +0,0 @@
1
- import { ButtonBase } from '../namespace-browser/base';
2
- /**
3
- * @summary A control that starts an action. Styled with a prominent glass border, adapting to the button’s surroundings.
4
- *
5
- * @example <button is="glass-prominent-button"><label-view system-image="hand-tap" title="Tap Me"></label-view></button> — Creating a prominent glass button
6
- *
7
- * @slot overlay
8
- *
9
- */
10
- export declare class GlassProminentButton extends ButtonBase {
11
- static get observedAttributes(): string[];
12
- constructor();
13
- static polyfillDisconnectedCallback(el: ButtonBase): void;
14
- static polyfillConnectedCallback(el: ButtonBase): void;
15
- static polyfillAttributeChangedCallback([{ attributeName, target, oldValue }]: Pick<MutationRecord, 'attributeName' | 'oldValue' | 'target'>[]): void;
16
- }
@@ -1,53 +0,0 @@
1
- import { CleanupRegistry } from '../internal/class/cleanup-registry';
2
- import { devFlags, ensurePlaceholder, onoff, touchGlass } from '../internal/utils';
3
- import { ButtonBase } from '../namespace-browser/base';
4
- import { Snapshot } from '../snapshot';
5
- /**
6
- * @summary A control that starts an action. Styled with a prominent glass border, adapting to the button’s surroundings.
7
- *
8
- * @example <button is="glass-prominent-button"><label-view system-image="hand-tap" title="Tap Me"></label-view></button> — Creating a prominent glass button
9
- *
10
- * @slot overlay
11
- *
12
- */
13
- export class GlassProminentButton extends ButtonBase {
14
- static get observedAttributes() {
15
- return [
16
- /**
17
- * A value that describes the purpose of a button
18
- * @type {destructive|confirm}
19
- */
20
- 'role',
21
- 'title-key',
22
- ];
23
- }
24
- constructor() {
25
- super();
26
- }
27
- static polyfillDisconnectedCallback(el) {
28
- if (devFlags.debug)
29
- console.debug(`${GlassProminentButton.name} ⚡️ disconnect`);
30
- CleanupRegistry.unregister(el);
31
- }
32
- static polyfillConnectedCallback(el) {
33
- if (devFlags.debug)
34
- console.debug(`${GlassProminentButton.name} ⚡️ connect`);
35
- CleanupRegistry.register(el, onoff(touchGlass(el, (t) => t, () => true), el).on());
36
- el.tabIndex = 0;
37
- }
38
- static polyfillAttributeChangedCallback([{ attributeName, target, oldValue }]) {
39
- if (devFlags.debug)
40
- console.debug(`${GlassProminentButton.name} ⚡️ attr-change [${attributeName}] ("${oldValue}" → "${target.getAttribute(attributeName ?? '')}")`);
41
- const node = target instanceof HTMLButtonElement;
42
- if (!node)
43
- return;
44
- switch (attributeName) {
45
- case 'title-key':
46
- case 'role':
47
- Snapshot.waitReady.then(() => {
48
- ensurePlaceholder(target, target.getAttribute('role'), target.getAttribute('title-key'), Snapshot.config);
49
- });
50
- break;
51
- }
52
- }
53
- }
@@ -1,22 +0,0 @@
1
- /**
2
- * @summary A view that arranges its children side by side.
3
- *
4
- * @attr {@Template} template — The main-axis grid template
5
- *
6
- * @attr {@Spacing} spacing — The gap between the primary axis
7
- *
8
- * @attr {@blockSet} alignment — The cross-axis alignment
9
- * @attr {@inlineSet} distribution — The main-axis alignment
10
- * @attr {@inlinePlacementSet} placement — The main-axis alignment
11
- *
12
- */
13
- export declare class HStack extends HTMLElement {
14
- constructor();
15
- connectedCallback(): void;
16
- disconnectedCallback(): void;
17
- }
18
- declare global {
19
- interface HTMLElementTagNameMap {
20
- 'h-stack': HStack;
21
- }
22
- }
@@ -1,26 +0,0 @@
1
- import { devFlags } from '../internal/utils';
2
- /**
3
- * @summary A view that arranges its children side by side.
4
- *
5
- * @attr {@Template} template — The main-axis grid template
6
- *
7
- * @attr {@Spacing} spacing — The gap between the primary axis
8
- *
9
- * @attr {@blockSet} alignment — The cross-axis alignment
10
- * @attr {@inlineSet} distribution — The main-axis alignment
11
- * @attr {@inlinePlacementSet} placement — The main-axis alignment
12
- *
13
- */
14
- export class HStack extends HTMLElement {
15
- constructor() {
16
- super();
17
- }
18
- connectedCallback() {
19
- if (devFlags.debug)
20
- console.debug(`${HStack.name} ⚡️ connect`);
21
- }
22
- disconnectedCallback() {
23
- if (devFlags.debug)
24
- console.debug(`${HStack.name} ⚡️ disconnect`);
25
- }
26
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * @summary A view that displays an image.
3
- *
4
- */
5
- export declare class ImageView extends HTMLElement {
6
- #private;
7
- static get observedAttributes(): string[];
8
- static get template(): DocumentFragment;
9
- constructor();
10
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
11
- disconnectedCallback(): void;
12
- connectedCallback(): void;
13
- }
14
- declare global {
15
- interface HTMLElementTagNameMap {
16
- 'image-view': ImageView;
17
- }
18
- }
@@ -1,68 +0,0 @@
1
- import { $, devFlags } from '../internal/utils';
2
- import { queryMorph } from '../morphdom';
3
- import { html } from '../tpl';
4
- /**
5
- * @summary A view that displays an image.
6
- *
7
- */
8
- export class ImageView extends HTMLElement {
9
- static get observedAttributes() {
10
- return ['system-name', 'system-weight'];
11
- }
12
- static #template;
13
- static get template() {
14
- return (this.#template ??= $(html `<slot></slot>`));
15
- }
16
- #shadowRoot;
17
- constructor() {
18
- super();
19
- this.#shadowRoot = this.attachShadow({ mode: 'closed' });
20
- this.#shadowRoot.appendChild(document.importNode(this.constructor.template, true));
21
- }
22
- attributeChangedCallback(name, oldValue, newValue) {
23
- if (devFlags.debug)
24
- console.debug(`${ImageView.name} ⚡️ attr-change [${name}] ("${oldValue}" → "${newValue}")`);
25
- if (oldValue === newValue)
26
- return;
27
- switch (name) {
28
- case 'system-weight': {
29
- this.#render(this.getAttribute('system-name'), newValue);
30
- break;
31
- }
32
- case 'system-name': {
33
- this.#render(newValue, this.getAttribute('system-weight'));
34
- // // this.innerHTML = `<i style="line-height: 1.05" class="ph ph-${newValue}"></i>`
35
- // //this.setAttribute('class', `ph ph-${newValue}`)
36
- // let image = this.querySelector(':scope>:not([slot])')
37
- // if (newValue) {
38
- // const el = image ?? $(`<i style="line-height: 1"></i>`, '>1')
39
- // el.setAttribute('class', `ph ph-${newValue}`)
40
- // image ??= this.appendChild(el)
41
- // // image ??= this.appendChild($(`<i style="line-height: 1.05"></i>`, '>1'))
42
- // // image.setAttribute('class', `ph ph-${newValue}`)
43
- // } else image?.remove()
44
- break;
45
- }
46
- }
47
- }
48
- #render(icon, weight) {
49
- // if (!icon) {
50
- // this.querySelector(':scope>:not([slot])')?.remove()
51
- // return
52
- // }
53
- const tokens = [`ph${weight ? `-${weight}` : ''}`, `ph-${icon}`];
54
- // const container = this.querySelector<HTMLElement>(':scope>:not([slot])') ?? this.appendChild<HTMLElement>($(`<i style="line-height: 1"></i>`, '>1'))
55
- queryMorph(':not([slot])', html `<i style="line-height: 1" class="${tokens.join(' ')}"></i>`, this, { removeIf: !icon });
56
- // if ('1' !== container.style.getPropertyValue('line-height')) container.style.setProperty('line-height', '1')
57
- // for (const token of container.classList) if (token.startsWith('ph') && !tokens.includes(token)) container.classList.remove(token)
58
- // container.classList.add(...tokens)
59
- }
60
- disconnectedCallback() {
61
- if (devFlags.debug)
62
- console.debug(`${ImageView.name} ⚡️ disconnect`);
63
- }
64
- connectedCallback() {
65
- if (devFlags.debug)
66
- console.debug(`${ImageView.name} ⚡️ connect`);
67
- }
68
- }
@@ -1,47 +0,0 @@
1
- export * from './alert-dialog';
2
- export * from './body-view';
3
- export * from './bordered-button';
4
- export * from './bordered-prominent-button';
5
- export * from './borderless-button';
6
- export * from './color-scheme';
7
- export * from './confirmation-dialog';
8
- export * from './content-unavailable';
9
- export * from './date-picker';
10
- export * from './disclosure-group';
11
- export * from './fine-tooltip';
12
- export * from './form-view';
13
- export * from './glass-button';
14
- export * from './glass-prominent-button';
15
- export * from './h-stack';
16
- export * from './image-view';
17
- export * from './label-view';
18
- export * from './labeled-content';
19
- export * from './list-view';
20
- export * from './menu-view';
21
- export * from './navigation-large-title';
22
- export * from './navigation-split-view';
23
- export * from './navigation-stack';
24
- export * from './navigation-title';
25
- export * from './picker-view';
26
- export * from './plain-button';
27
- export * from './progress-view';
28
- export * from './screen-view';
29
- export * from './scroll-view-proxy';
30
- export * from './scroll-view';
31
- export * from './search-view';
32
- export * from './section-view';
33
- export * from './sheet-view';
34
- export * from './sidebar-toggle';
35
- export * from './sidebar-view';
36
- export * from './sticky-container';
37
- export * from './tab-bar';
38
- export * from './tab-item';
39
- export * from './tab-view';
40
- export * from './table-view';
41
- export * from './text-field';
42
- export * from './toggle-view';
43
- export * from './tool-bar-item-group';
44
- export * from './tool-bar-item';
45
- export * from './tool-bar';
46
- export * from './v-keyboard';
47
- export * from './v-stack';
@@ -1,47 +0,0 @@
1
- export * from './alert-dialog';
2
- export * from './body-view';
3
- export * from './bordered-button';
4
- export * from './bordered-prominent-button';
5
- export * from './borderless-button';
6
- export * from './color-scheme';
7
- export * from './confirmation-dialog';
8
- export * from './content-unavailable';
9
- export * from './date-picker';
10
- export * from './disclosure-group';
11
- export * from './fine-tooltip';
12
- export * from './form-view';
13
- export * from './glass-button';
14
- export * from './glass-prominent-button';
15
- export * from './h-stack';
16
- export * from './image-view';
17
- export * from './label-view';
18
- export * from './labeled-content';
19
- export * from './list-view';
20
- export * from './menu-view';
21
- export * from './navigation-large-title';
22
- export * from './navigation-split-view';
23
- export * from './navigation-stack';
24
- export * from './navigation-title';
25
- export * from './picker-view';
26
- export * from './plain-button';
27
- export * from './progress-view';
28
- export * from './screen-view';
29
- export * from './scroll-view-proxy';
30
- export * from './scroll-view';
31
- export * from './search-view';
32
- export * from './section-view';
33
- export * from './sheet-view';
34
- export * from './sidebar-toggle';
35
- export * from './sidebar-view';
36
- export * from './sticky-container';
37
- export * from './tab-bar';
38
- export * from './tab-item';
39
- export * from './tab-view';
40
- export * from './table-view';
41
- export * from './text-field';
42
- export * from './toggle-view';
43
- export * from './tool-bar-item-group';
44
- export * from './tool-bar-item';
45
- export * from './tool-bar';
46
- export * from './v-keyboard';
47
- export * from './v-stack';
@@ -1,27 +0,0 @@
1
- /**
2
- * @summary A view that labels items with an icon and a title.
3
- *
4
- * @example <label-view><span>Hello world!</span></label-view> — Creating a label using a `span` element
5
- * @example <label-view title="Hello world!"></label-view> — Creating a label using the `title` attribute
6
- * @example <label-view system-image="hand-waving"><span>Hello world!</span></label-view> — Creating a label with an icon and a title using the `system-image` attribute
7
- * @example <label-view><i slot="icon" class="ph ph-duotone ph-hand-waving"></i><span>Hello world!</span></label-view> — Creating a label with an icon and a title using the `icon` slot
8
- *
9
- * @attr {@Font} font — Sets the default font for text in this view.
10
- *
11
- * @slot — Any children without a `slot` attribute are placed in the title block.
12
- * @slot icon — Use the `slot="icon"` attribute to place childen in the icon block.
13
- *
14
- * @cssprop --label-gap — The gap between the icon and the title.
15
- * @cssprop {number} --label-image-size — The size of the icon.
16
- * @cssprop --label-padding-inline — The padding inline of the label.
17
- *
18
- */
19
- export declare class LabelView extends HTMLElement {
20
- #private;
21
- static get observedAttributes(): string[];
22
- static get template(): DocumentFragment;
23
- constructor();
24
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
25
- disconnectedCallback(): void;
26
- connectedCallback(): void;
27
- }