@ixfx/components 0.2.3 → 0.2.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 (291) hide show
  1. package/LICENSE +1 -1
  2. package/bundle/chunk-pbuEa-1d.js +13 -0
  3. package/bundle/index.d.ts +4702 -569
  4. package/bundle/index.d.ts.map +1 -1
  5. package/bundle/index.js +34929 -2800
  6. package/bundle/index.js.map +1 -1
  7. package/bundle/style.css +133 -0
  8. package/dist/ac-text.d.ts +97 -0
  9. package/dist/ac-text.d.ts.map +1 -0
  10. package/dist/ac-text.js +484 -0
  11. package/dist/ac-text.js.map +1 -0
  12. package/dist/button-DgKUzE5o.js +121 -0
  13. package/dist/button-DgKUzE5o.js.map +1 -0
  14. package/dist/button.d.ts +21 -0
  15. package/dist/button.d.ts.map +1 -0
  16. package/dist/button.js +3 -0
  17. package/dist/checkbox.d.ts +34 -0
  18. package/dist/checkbox.d.ts.map +1 -0
  19. package/dist/checkbox.js +251 -0
  20. package/dist/checkbox.js.map +1 -0
  21. package/dist/chunk-pbuEa-1d.js +13 -0
  22. package/dist/colour-C3MQIjFJ-BJV-QC-3.js +4138 -0
  23. package/dist/colour-C3MQIjFJ-BJV-QC-3.js.map +1 -0
  24. package/dist/colour-picker-Bw-AZoWx.js +922 -0
  25. package/dist/colour-picker-Bw-AZoWx.js.map +1 -0
  26. package/dist/colour-picker.d.ts +2 -0
  27. package/dist/colour-picker.js +2 -0
  28. package/dist/crumbs.d.ts +92 -0
  29. package/dist/crumbs.d.ts.map +1 -0
  30. package/dist/crumbs.js +789 -0
  31. package/dist/crumbs.js.map +1 -0
  32. package/dist/data-display.d.ts +24 -12
  33. package/dist/data-display.d.ts.map +1 -1
  34. package/dist/data-display.js +96 -105
  35. package/dist/data-display.js.map +1 -1
  36. package/dist/decorate-BZbkqIhA.js +9 -0
  37. package/dist/defaults-FEZaGiYZ.js +38 -0
  38. package/dist/defaults-FEZaGiYZ.js.map +1 -0
  39. package/dist/dist-By5URG0Y.js +1290 -0
  40. package/dist/dist-By5URG0Y.js.map +1 -0
  41. package/dist/dist-D7kJgnSE.js +1039 -0
  42. package/dist/dist-D7kJgnSE.js.map +1 -0
  43. package/dist/editable-label.d.ts +71 -0
  44. package/dist/editable-label.d.ts.map +1 -0
  45. package/dist/editable-label.js +279 -0
  46. package/dist/editable-label.js.map +1 -0
  47. package/dist/hex-editor-Gib1Grg2.d.ts +131 -0
  48. package/dist/hex-editor-Gib1Grg2.d.ts.map +1 -0
  49. package/dist/hex-editor-Wd6ZtZA2.js +1147 -0
  50. package/dist/hex-editor-Wd6ZtZA2.js.map +1 -0
  51. package/dist/hex.d.ts +2 -0
  52. package/dist/hex.js +2 -0
  53. package/dist/highlight-CAjwQ4GE.js +50 -0
  54. package/dist/highlight-CAjwQ4GE.js.map +1 -0
  55. package/dist/icon-BR5aTIiP.js +100 -0
  56. package/dist/icon-BR5aTIiP.js.map +1 -0
  57. package/dist/icon-DQKdfR7U.d.ts +36 -0
  58. package/dist/icon-DQKdfR7U.d.ts.map +1 -0
  59. package/dist/icons.d.ts +3 -0
  60. package/dist/icons.js +9 -0
  61. package/dist/icons.js.map +1 -0
  62. package/dist/incr-search-BjCNClnC.js +311 -0
  63. package/dist/incr-search-BjCNClnC.js.map +1 -0
  64. package/dist/incr-search.d.ts +2 -0
  65. package/dist/incr-search.js +3 -0
  66. package/dist/index-B1hNR7Z9.d.ts +36 -0
  67. package/dist/index-B1hNR7Z9.d.ts.map +1 -0
  68. package/dist/index-C5dK8RZa.d.ts +23 -0
  69. package/dist/index-C5dK8RZa.d.ts.map +1 -0
  70. package/dist/index-C9iBN908.d.ts +160 -0
  71. package/dist/index-C9iBN908.d.ts.map +1 -0
  72. package/dist/index-CPVcTTXo.d.ts +396 -0
  73. package/dist/index-CPVcTTXo.d.ts.map +1 -0
  74. package/dist/index-CQxanqXF.d.ts +183 -0
  75. package/dist/index-CQxanqXF.d.ts.map +1 -0
  76. package/dist/index-CpbBI3n7.d.ts +1239 -0
  77. package/dist/index-CpbBI3n7.d.ts.map +1 -0
  78. package/dist/index.d.ts +422 -13
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +5729 -14
  81. package/dist/index.js.map +1 -1
  82. package/dist/interaction-CQDQJf2Q.js +1 -0
  83. package/dist/keyboard-De_vOHLg.js +20 -0
  84. package/dist/keyboard-De_vOHLg.js.map +1 -0
  85. package/dist/labelled-input-base-DS6-6C0r.js +155 -0
  86. package/dist/labelled-input-base-DS6-6C0r.js.map +1 -0
  87. package/dist/labelled-input-base-DnRh4reU.d.ts +43 -0
  88. package/dist/labelled-input-base-DnRh4reU.d.ts.map +1 -0
  89. package/dist/labelled-radial-input.d.ts +34 -0
  90. package/dist/labelled-radial-input.d.ts.map +1 -0
  91. package/dist/labelled-radial-input.js +188 -0
  92. package/dist/labelled-radial-input.js.map +1 -0
  93. package/dist/labelled-range-input.d.ts +2 -0
  94. package/dist/labelled-range-input.js +132 -0
  95. package/dist/labelled-range-input.js.map +1 -0
  96. package/dist/led.d.ts +25 -0
  97. package/dist/led.d.ts.map +1 -0
  98. package/dist/led.js +92 -0
  99. package/dist/led.js.map +1 -0
  100. package/dist/menu-BV6UFx_z.js +813 -0
  101. package/dist/menu-BV6UFx_z.js.map +1 -0
  102. package/dist/menu-item-Cikacp4F.d.ts +128 -0
  103. package/dist/menu-item-Cikacp4F.d.ts.map +1 -0
  104. package/dist/menu-item-DEzL_Yjk.js +766 -0
  105. package/dist/menu-item-DEzL_Yjk.js.map +1 -0
  106. package/dist/menu.d.ts +3 -0
  107. package/dist/menu.js +3 -0
  108. package/dist/miller.d.ts +324 -0
  109. package/dist/miller.d.ts.map +1 -0
  110. package/dist/miller.js +1343 -0
  111. package/dist/miller.js.map +1 -0
  112. package/dist/narrowed-text.d.ts +72 -0
  113. package/dist/narrowed-text.d.ts.map +1 -0
  114. package/dist/narrowed-text.js +571 -0
  115. package/dist/narrowed-text.js.map +1 -0
  116. package/dist/panel.d.ts +43 -0
  117. package/dist/panel.d.ts.map +1 -0
  118. package/dist/panel.js +408 -0
  119. package/dist/panel.js.map +1 -0
  120. package/dist/plots.d.ts +2 -0
  121. package/dist/plots.js +2 -0
  122. package/dist/polar-pad.d.ts +67 -0
  123. package/dist/polar-pad.d.ts.map +1 -0
  124. package/dist/polar-pad.js +537 -0
  125. package/dist/polar-pad.js.map +1 -0
  126. package/dist/popup-Ddx9LCzY.js +24 -0
  127. package/dist/popup-Ddx9LCzY.js.map +1 -0
  128. package/dist/prominence-CreDBdCs.js +98 -0
  129. package/dist/prominence-CreDBdCs.js.map +1 -0
  130. package/dist/radial-input-CNJ8asY2.js +849 -0
  131. package/dist/radial-input-CNJ8asY2.js.map +1 -0
  132. package/dist/radial-input-xSTd4kEz.d.ts +70 -0
  133. package/dist/radial-input-xSTd4kEz.d.ts.map +1 -0
  134. package/dist/radial-input.d.ts +2 -0
  135. package/dist/radial-input.js +2 -0
  136. package/dist/range-input.d.ts +43 -0
  137. package/dist/range-input.d.ts.map +1 -0
  138. package/dist/range-input.js +459 -0
  139. package/dist/range-input.js.map +1 -0
  140. package/dist/range.d.ts +28 -0
  141. package/dist/range.d.ts.map +1 -0
  142. package/dist/range.js +136 -0
  143. package/dist/range.js.map +1 -0
  144. package/dist/registry-CZEB1YI9.js +21 -0
  145. package/dist/registry-CZEB1YI9.js.map +1 -0
  146. package/dist/selecthorizontal.d.ts +13 -8
  147. package/dist/selecthorizontal.d.ts.map +1 -1
  148. package/dist/selecthorizontal.js +21 -25
  149. package/dist/selecthorizontal.js.map +1 -1
  150. package/dist/snap-container.d.ts +50 -0
  151. package/dist/snap-container.d.ts.map +1 -0
  152. package/dist/snap-container.js +297 -0
  153. package/dist/snap-container.js.map +1 -0
  154. package/dist/split-layout.d.ts +56 -0
  155. package/dist/split-layout.d.ts.map +1 -0
  156. package/dist/split-layout.js +545 -0
  157. package/dist/split-layout.js.map +1 -0
  158. package/dist/style.css +133 -0
  159. package/dist/swipe.d.ts +48 -0
  160. package/dist/swipe.d.ts.map +1 -0
  161. package/dist/swipe.js +204 -0
  162. package/dist/swipe.js.map +1 -0
  163. package/dist/tab-list-CFF7uSYH.d.ts +66 -0
  164. package/dist/tab-list-CFF7uSYH.d.ts.map +1 -0
  165. package/dist/tabs.d.ts +2 -0
  166. package/dist/tabs.js +203 -0
  167. package/dist/tabs.js.map +1 -0
  168. package/dist/tickled-controller-Cq1Va0rR.d.ts +218 -0
  169. package/dist/tickled-controller-Cq1Va0rR.d.ts.map +1 -0
  170. package/dist/tickled-styles-Bg3QbcrD.js +327 -0
  171. package/dist/tickled-styles-Bg3QbcrD.js.map +1 -0
  172. package/dist/timeline-DBWJsSjd.js +1748 -0
  173. package/dist/timeline-DBWJsSjd.js.map +1 -0
  174. package/dist/timeline.d.ts +2 -0
  175. package/dist/timeline.js +2 -0
  176. package/dist/tooltip-DMxmBNky.js +104 -0
  177. package/dist/tooltip-DMxmBNky.js.map +1 -0
  178. package/dist/tooltip-kfUBWYVB.d.ts +26 -0
  179. package/dist/tooltip-kfUBWYVB.d.ts.map +1 -0
  180. package/dist/tree-component-CQpoPo4s.d.ts +326 -0
  181. package/dist/tree-component-CQpoPo4s.d.ts.map +1 -0
  182. package/dist/tree-data-model-DGvRVOFY.js +190 -0
  183. package/dist/tree-data-model-DGvRVOFY.js.map +1 -0
  184. package/dist/tree.d.ts +100 -0
  185. package/dist/tree.d.ts.map +1 -0
  186. package/dist/tree.js +1144 -0
  187. package/dist/tree.js.map +1 -0
  188. package/dist/types-BKaqnpwx.d.ts +8 -0
  189. package/dist/types-BKaqnpwx.d.ts.map +1 -0
  190. package/dist/xy-axis-BANbgrI5.js +6243 -0
  191. package/dist/xy-axis-BANbgrI5.js.map +1 -0
  192. package/dist/xy-axis-CIFok7MF.d.ts +141 -0
  193. package/dist/xy-axis-CIFok7MF.d.ts.map +1 -0
  194. package/dist/xy-pad.d.ts +81 -0
  195. package/dist/xy-pad.d.ts.map +1 -0
  196. package/dist/xy-pad.js +435 -0
  197. package/dist/xy-pad.js.map +1 -0
  198. package/package.json +48 -39
  199. package/README.md +0 -14
  200. package/dist/charts/frequency-histogram-plot.d.ts +0 -33
  201. package/dist/charts/frequency-histogram-plot.d.ts.map +0 -1
  202. package/dist/charts/frequency-histogram-plot.js +0 -54
  203. package/dist/charts/frequency-histogram-plot.js.map +0 -1
  204. package/dist/charts/histogram-vis.d.ts +0 -57
  205. package/dist/charts/histogram-vis.d.ts.map +0 -1
  206. package/dist/charts/histogram-vis.js +0 -222
  207. package/dist/charts/histogram-vis.js.map +0 -1
  208. package/dist/charts/plot.d.ts +0 -199
  209. package/dist/charts/plot.d.ts.map +0 -1
  210. package/dist/charts/plot.js +0 -914
  211. package/dist/charts/plot.js.map +0 -1
  212. package/dist/crumb-nav.d.ts +0 -41
  213. package/dist/crumb-nav.d.ts.map +0 -1
  214. package/dist/crumb-nav.js +0 -198
  215. package/dist/crumb-nav.js.map +0 -1
  216. package/dist/crumb-navigation.d.ts +0 -30
  217. package/dist/crumb-navigation.d.ts.map +0 -1
  218. package/dist/crumb-navigation.js +0 -307
  219. package/dist/crumb-navigation.js.map +0 -1
  220. package/dist/dial.d.ts +0 -89
  221. package/dist/dial.d.ts.map +0 -1
  222. package/dist/dial.js +0 -506
  223. package/dist/dial.js.map +0 -1
  224. package/dist/my-element.d.ts +0 -14
  225. package/dist/my-element.d.ts.map +0 -1
  226. package/dist/my-element.js +0 -44
  227. package/dist/my-element.js.map +0 -1
  228. package/dist/split-layout/split-layout.d.ts +0 -35
  229. package/dist/split-layout/split-layout.d.ts.map +0 -1
  230. package/dist/split-layout/split-layout.js +0 -220
  231. package/dist/split-layout/split-layout.js.map +0 -1
  232. package/dist/svg-edit-label.d.ts +0 -2
  233. package/dist/svg-edit-label.d.ts.map +0 -1
  234. package/dist/svg-edit-label.js +0 -110
  235. package/dist/svg-edit-label.js.map +0 -1
  236. package/dist/tabs/tab-layout-item.d.ts +0 -10
  237. package/dist/tabs/tab-layout-item.d.ts.map +0 -1
  238. package/dist/tabs/tab-layout-item.js +0 -20
  239. package/dist/tabs/tab-layout-item.js.map +0 -1
  240. package/dist/tabs/tab-layout.d.ts +0 -10
  241. package/dist/tabs/tab-layout.d.ts.map +0 -1
  242. package/dist/tabs/tab-layout.js +0 -25
  243. package/dist/tabs/tab-layout.js.map +0 -1
  244. package/dist/tabs/tab-list-item.d.ts +0 -18
  245. package/dist/tabs/tab-list-item.d.ts.map +0 -1
  246. package/dist/tabs/tab-list-item.js +0 -63
  247. package/dist/tabs/tab-list-item.js.map +0 -1
  248. package/dist/tabs/tab-list.d.ts +0 -21
  249. package/dist/tabs/tab-list.d.ts.map +0 -1
  250. package/dist/tabs/tab-list.js +0 -148
  251. package/dist/tabs/tab-list.js.map +0 -1
  252. package/dist/tabs/tab-panel.d.ts +0 -11
  253. package/dist/tabs/tab-panel.d.ts.map +0 -1
  254. package/dist/tabs/tab-panel.js +0 -30
  255. package/dist/tabs/tab-panel.js.map +0 -1
  256. package/dist/tabs/tab-panels.d.ts +0 -30
  257. package/dist/tabs/tab-panels.d.ts.map +0 -1
  258. package/dist/tabs/tab-panels.js +0 -80
  259. package/dist/tabs/tab-panels.js.map +0 -1
  260. package/dist/util/circle-arc.d.ts +0 -34
  261. package/dist/util/circle-arc.d.ts.map +0 -1
  262. package/dist/util/circle-arc.js +0 -77
  263. package/dist/util/circle-arc.js.map +0 -1
  264. package/dist/util/compare.d.ts +0 -53
  265. package/dist/util/compare.d.ts.map +0 -1
  266. package/dist/util/compare.js +0 -91
  267. package/dist/util/compare.js.map +0 -1
  268. package/dist/util/content-editable.d.ts +0 -2
  269. package/dist/util/content-editable.d.ts.map +0 -1
  270. package/dist/util/content-editable.js +0 -13
  271. package/dist/util/content-editable.js.map +0 -1
  272. package/dist/util/drag-controller.d.ts +0 -13
  273. package/dist/util/drag-controller.d.ts.map +0 -1
  274. package/dist/util/drag-controller.js +0 -21
  275. package/dist/util/drag-controller.js.map +0 -1
  276. package/dist/util/key-value.d.ts +0 -5
  277. package/dist/util/key-value.d.ts.map +0 -1
  278. package/dist/util/key-value.js +0 -30
  279. package/dist/util/key-value.js.map +0 -1
  280. package/dist/util/primitive-types.d.ts +0 -6
  281. package/dist/util/primitive-types.d.ts.map +0 -1
  282. package/dist/util/primitive-types.js +0 -2
  283. package/dist/util/primitive-types.js.map +0 -1
  284. package/dist/util/svg-editable-text.d.ts +0 -22
  285. package/dist/util/svg-editable-text.d.ts.map +0 -1
  286. package/dist/util/svg-editable-text.js +0 -121
  287. package/dist/util/svg-editable-text.js.map +0 -1
  288. package/dist/util/time.d.ts +0 -2
  289. package/dist/util/time.d.ts.map +0 -1
  290. package/dist/util/time.js +0 -2
  291. package/dist/util/time.js.map +0 -1
package/dist/panel.js ADDED
@@ -0,0 +1,408 @@
1
+ import { t as __decorate } from "./decorate-BZbkqIhA.js";
2
+ import "./icon-BR5aTIiP.js";
3
+ import { LitElement, css, html, nothing } from "lit";
4
+ import { customElement, property, state } from "lit/decorators.js";
5
+ //#region src/panel/panel.ts
6
+ let PanelElement = class PanelElement extends LitElement {
7
+ constructor(..._args) {
8
+ super(..._args);
9
+ this.collapsed = false;
10
+ this.orientation = `horizontal`;
11
+ this.closable = false;
12
+ this.title = ``;
13
+ this.iconName = ``;
14
+ this.toggleInteraction = `implicit`;
15
+ this.variant = `titlebar`;
16
+ this._isVertical = false;
17
+ }
18
+ _onToggleClick() {
19
+ this.collapsed = !this.collapsed;
20
+ this.dispatchEvent(new CustomEvent(`toggle`, {
21
+ detail: { collapsed: this.collapsed },
22
+ bubbles: true,
23
+ composed: true
24
+ }));
25
+ }
26
+ _onCloseClick() {
27
+ this.dispatchEvent(new CustomEvent(`close`, {
28
+ bubbles: true,
29
+ composed: true
30
+ }));
31
+ this.remove();
32
+ }
33
+ _getCaretIcon() {
34
+ return `chevron-down`;
35
+ }
36
+ updated(changed) {
37
+ super.updated(changed);
38
+ if (changed.has(`orientation`)) this._isVertical = this.orientation === `vertical`;
39
+ }
40
+ render() {
41
+ const caretIcon = this._getCaretIcon();
42
+ const showCaret = this.toggleInteraction !== `disabled`;
43
+ const implicitToggle = this.toggleInteraction === `implicit`;
44
+ const caretRotation = this._isVertical ? this.collapsed ? `` : `-90deg` : this.collapsed ? `-90deg` : ``;
45
+ return html`
46
+ <div
47
+ class="titlebar"
48
+ role="toolbar"
49
+ @click=${implicitToggle ? this._onToggleClick : nothing}
50
+ >
51
+ <div class="title-text-wrapper">
52
+ ${this.iconName ? html`<ixfx-icon class="title-icon" name=${this.iconName}></ixfx-icon>` : nothing}
53
+ <span class="title-text">${this.title}</span>
54
+ </div>
55
+
56
+ <div class="toolbar" @click=${(e) => e.stopPropagation()}>
57
+ <slot name="toolbar"></slot>
58
+ ${this.closable ? html`
59
+ <button
60
+ class="close-btn"
61
+ type="button"
62
+ aria-label="Close panel"
63
+ @click=${this._onCloseClick}
64
+ >
65
+ <ixfx-icon name="close"></ixfx-icon>
66
+ </button>
67
+ ` : nothing}
68
+ ${showCaret ? html`
69
+ <button
70
+ class="caret-btn"
71
+ type="button"
72
+ aria-label=${this.collapsed ? `Expand panel` : `Collapse panel`}
73
+ @click=${this._onToggleClick}
74
+ >
75
+ <ixfx-icon name=${caretIcon} prominence .rotate=${caretRotation.length > 0 ? caretRotation : nothing}></ixfx-icon>
76
+ </button>
77
+ ` : nothing}
78
+ </div>
79
+ </div>
80
+
81
+ <div class="content-wrapper" ?expanded=${!this.collapsed}>
82
+ <div class="content-inner">
83
+ <slot></slot>
84
+ </div>
85
+ </div>
86
+ `;
87
+ }
88
+ static {
89
+ this.styles = css`
90
+ :host {
91
+ display: flex;
92
+ flex-direction: column;
93
+ background: var(--surface-3);
94
+ border: var(--border-subtle);
95
+ border-radius: var(--radius-m);
96
+ overflow: hidden;
97
+ box-sizing: border-box;
98
+ }
99
+
100
+ :host([orientation="vertical"]) {
101
+ flex-direction: row;
102
+ align-self: flex-start;
103
+ min-width: 0 !important;
104
+ flex-shrink: 1;
105
+ }
106
+
107
+ .titlebar {
108
+ display: flex;
109
+ flex-direction: row;
110
+ align-items: center;
111
+ padding: var(--space-s) var(--space-m);
112
+ background: var(--surface-4);
113
+ color: var(--surface-3-text);
114
+ min-height: 2em;
115
+ flex-shrink: 0;
116
+ }
117
+
118
+ :host([orientation="vertical"]) .titlebar {
119
+ flex-direction: row;
120
+ min-width: 2em;
121
+ writing-mode: vertical-rl;
122
+ text-orientation: mixed;
123
+ }
124
+
125
+ .caret-btn,
126
+ .close-btn {
127
+ display: inline-flex;
128
+ align-items: center;
129
+ justify-content: center;
130
+ background: none;
131
+ border: none;
132
+ padding: var(--space-xs);
133
+ margin: 0;
134
+ cursor: pointer;
135
+ color: inherit;
136
+ border-radius: var(--radius-s);
137
+ transition: background var(--transition);
138
+ opacity: var(--prominence-idle-opacity);
139
+ }
140
+
141
+ .caret-btn:hover,
142
+ .close-btn:hover {
143
+ background: var(--surface-5);
144
+ opacity: var(--prominence-tickled-opacity);
145
+
146
+ }
147
+
148
+ .caret-btn:focus-visible,
149
+ .close-btn:focus-visible {
150
+ outline: 2px solid var(--accent);
151
+ outline-offset: 1px;
152
+ }
153
+
154
+ ixfx-icon {
155
+ width: 1.25em;
156
+ height: 1.25em;
157
+ transition: transform var(--transition);
158
+ }
159
+
160
+ .title-icon {
161
+ flex-shrink: 0;
162
+ }
163
+
164
+ .title-text {
165
+ flex: 1;
166
+ padding-left: 1ch;
167
+ font-family: var(--font-family);
168
+ font-size: var(--text-m);
169
+ font-weight: var(--font-weight-bold, 600);
170
+ white-space: nowrap;
171
+ overflow: hidden;
172
+ align-self: center;
173
+ text-overflow: ellipsis;
174
+ user-select: none;
175
+ -webkit-user-select: none;
176
+ }
177
+
178
+ :host([toggle-interaction="implicit"]) .titlebar {
179
+ cursor: pointer;
180
+ }
181
+
182
+ :host([orientation="vertical"]) .title-text {
183
+ writing-mode: vertical-rl;
184
+ padding-left: 0;
185
+ padding-bottom: 1ch;
186
+ text-orientation: mixed;
187
+ transform: rotate(180deg);
188
+ }
189
+
190
+ .toolbar {
191
+ display: flex;
192
+ align-items: center;
193
+ gap: var(--space-xs);
194
+ margin-left: auto;
195
+ }
196
+
197
+ :host([orientation="vertical"]) .toolbar {
198
+ flex-direction: column;
199
+ margin-left: 0;
200
+ margin-top: auto;
201
+ writing-mode: horizontal-tb;
202
+ }
203
+
204
+ slot[name="toolbar"] {
205
+ display: contents;
206
+ }
207
+
208
+ ::slotted(slot[name="toolbar"]) {
209
+ display: contents;
210
+ }
211
+
212
+ .content-wrapper {
213
+ interpolate-size: allow-keywords;
214
+ overflow: hidden;
215
+ height: 0;
216
+ transition: height var(--transition, 0.2s ease-out);
217
+ background: var(--surface-3);
218
+
219
+ }
220
+
221
+ .content-wrapper[expanded] {
222
+ height: auto;
223
+ }
224
+
225
+ :host([orientation="vertical"]) .content-wrapper {
226
+ height: unset;
227
+ width: 0;
228
+ transition: width var(--transition, 0.2s ease-out);
229
+ }
230
+
231
+ :host([orientation="vertical"]) .content-wrapper[expanded] {
232
+ width: auto;
233
+ }
234
+
235
+ .content-inner {
236
+ box-shadow: var(--deboss-3);
237
+
238
+ min-height: 0;
239
+ min-width: 0;
240
+ overflow: hidden;
241
+ padding: var(--space-m);
242
+ transform: translateY(-100%);
243
+ transition: transform var(--transition, 0.2s ease-out);
244
+ }
245
+
246
+ .content-wrapper[expanded] .content-inner {
247
+ transform: translateY(0);
248
+ }
249
+
250
+ :host([orientation="vertical"]) .content-inner {
251
+ width: max-content;
252
+ height:100%;
253
+ transform: translateX(-100%);
254
+ }
255
+
256
+ :host([orientation="vertical"]) .content-wrapper[expanded] .content-inner {
257
+ transform: translateX(0);
258
+ }
259
+
260
+ .title-text-wrapper {
261
+ display:flex;
262
+ padding: 0 var(--space-s);
263
+ }
264
+
265
+ /* === Midline variant === */
266
+
267
+ :host([variant="midline"]) {
268
+ border: none !important;
269
+ border-radius: 0 !important;
270
+ background: transparent;
271
+ }
272
+
273
+ :host([variant="midline"][orientation="horizontal"]) .titlebar,
274
+ :host([variant="midline"][orientation="vertical"]) .titlebar {
275
+ background: transparent;
276
+ padding: var(--space-xs) var(--space-m);
277
+ min-height: unset;
278
+ position: relative;
279
+ }
280
+
281
+ :host([variant="midline"][orientation="vertical"]) .titlebar {
282
+ padding: var(--space-m) var(--space-xs);
283
+ min-width: unset;
284
+ }
285
+
286
+ :host([variant="midline"]) .title-text-wrapper {
287
+ position: relative;
288
+ z-index: 1;
289
+ display: flex;
290
+ align-items: center;
291
+ gap: var(--space-s);
292
+ background: var(--surface-3);
293
+ }
294
+
295
+ :host([variant="midline"]) .title-text {
296
+ font-weight: normal;
297
+ color: var(--surface-3-text);
298
+ padding: 0 0.5ch 0 0.5ch;
299
+ background: transparent;
300
+ box-shadow: none;
301
+ flex: unset;
302
+ width: auto;
303
+ white-space: nowrap;
304
+ }
305
+
306
+ :host([variant="midline"]) .title-icon {
307
+ background: transparent;
308
+ flex-shrink: 0;
309
+ }
310
+
311
+ :host([variant="midline"]) .caret-btn {
312
+ position: relative;
313
+ z-index: 1;
314
+ background: var(--surface-3);
315
+ opacity: 1;
316
+ }
317
+
318
+ :host([variant="midline"][orientation="vertical"]) .title-text {
319
+ transform: rotate(180deg);
320
+ padding: 0.5ch 0 0.5ch 0ch;
321
+ }
322
+
323
+ :host([variant="midline"]) .toolbar {
324
+ position: relative;
325
+ z-index: 2;
326
+ background: var(--surface-3);
327
+ margin-left: 0;
328
+ }
329
+
330
+ :host([variant="midline"][orientation="horizontal"]) .toolbar {
331
+ margin-left: auto;
332
+ }
333
+
334
+ /* Debossed line runs from after title-text to before toolbar */
335
+ :host([variant="midline"]) .titlebar::after {
336
+ content: '';
337
+ position: absolute;
338
+ top: 50%;
339
+ left: 0;
340
+ right: 0;
341
+ height: 1px;
342
+ transform: translateY(-50%);
343
+ background: var(--surface-2);
344
+ box-shadow:
345
+ 0 -1px 0 var(--surface-5),
346
+ 0 1px 0 var(--surface-1);
347
+ z-index: 0;
348
+ }
349
+
350
+ /* For vertical midline, line runs vertically */
351
+ :host([variant="midline"][orientation="vertical"]) .titlebar::after {
352
+ top: 0;
353
+ bottom: 0;
354
+ left: 50%;
355
+ right: unset;
356
+ width: 1px;
357
+ height: 100%;
358
+ transform: translateX(-50%);
359
+ box-shadow:
360
+ -1px 0 0 var(--surface-5),
361
+ 1px 0 0 var(--surface-1);
362
+ }
363
+
364
+ :host([variant="midline"]) .content-inner {
365
+ box-shadow: none;
366
+ background: var(--surface-3);
367
+ }
368
+
369
+ :host([variant="midline"]) .content-wrapper {
370
+ background: transparent;
371
+ }
372
+
373
+ :host([variant="midline"][orientation="vertical"]) .content-wrapper {
374
+ background: transparent;
375
+ }
376
+ `;
377
+ }
378
+ };
379
+ __decorate([property({
380
+ type: Boolean,
381
+ reflect: true
382
+ })], PanelElement.prototype, "collapsed", void 0);
383
+ __decorate([property({
384
+ type: String,
385
+ attribute: `orientation`,
386
+ reflect: true
387
+ })], PanelElement.prototype, "orientation", void 0);
388
+ __decorate([property({ type: Boolean })], PanelElement.prototype, "closable", void 0);
389
+ __decorate([property({ type: String })], PanelElement.prototype, "title", void 0);
390
+ __decorate([property({
391
+ type: String,
392
+ attribute: `icon-name`
393
+ })], PanelElement.prototype, "iconName", void 0);
394
+ __decorate([property({
395
+ type: String,
396
+ attribute: `toggle-interaction`
397
+ })], PanelElement.prototype, "toggleInteraction", void 0);
398
+ __decorate([property({
399
+ type: String,
400
+ attribute: `variant`,
401
+ reflect: true
402
+ })], PanelElement.prototype, "variant", void 0);
403
+ __decorate([state()], PanelElement.prototype, "_isVertical", void 0);
404
+ PanelElement = __decorate([customElement(`ixfx-panel`)], PanelElement);
405
+ //#endregion
406
+ export { PanelElement };
407
+
408
+ //# sourceMappingURL=panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel.js","names":[],"sources":["../src/panel/panel.ts"],"sourcesContent":["import { css, html, LitElement, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport '../icons/icon.js';\n\nexport type PanelOrientation = `horizontal` | `vertical`;\nexport type PanelVariant = `titlebar` | `midline`;\nexport type PanelToggleInteraction = `implicit` | `explicit` | `disabled`;\n\nexport interface PanelToggleDetail {\n readonly collapsed: boolean;\n}\n\nexport type PanelToggleEvent = CustomEvent<PanelToggleDetail>;\nexport type PanelCloseEvent = CustomEvent<void>;\n\nexport interface PanelElementEventMap {\n toggle: PanelToggleEvent;\n close: PanelCloseEvent;\n}\n\n@customElement(`ixfx-panel`)\nexport class PanelElement extends LitElement {\n @property({ type: Boolean, reflect: true }) collapsed = false;\n @property({ type: String, attribute: `orientation`, reflect: true }) orientation: PanelOrientation = `horizontal`;\n @property({ type: Boolean }) closable = false;\n @property({ type: String }) title = ``;\n @property({ type: String, attribute: `icon-name` }) iconName = ``;\n @property({ type: String, attribute: `toggle-interaction` }) toggleInteraction: PanelToggleInteraction = `implicit`;\n @property({ type: String, attribute: `variant`, reflect: true }) variant: PanelVariant = `titlebar`;\n\n @state() private _isVertical = false;\n\n private _onToggleClick() {\n this.collapsed = !this.collapsed;\n this.dispatchEvent(\n new CustomEvent<PanelToggleDetail>(`toggle`, {\n detail: { collapsed: this.collapsed },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private _onCloseClick() {\n this.dispatchEvent(\n new CustomEvent<void>(`close`, {\n bubbles: true,\n composed: true,\n }),\n );\n this.remove();\n }\n\n private _getCaretIcon(): string {\n return `chevron-down`;\n }\n\n protected override updated(changed: Map<string, unknown>): void {\n super.updated(changed);\n if (changed.has(`orientation`)) {\n this._isVertical = this.orientation === `vertical`;\n }\n }\n\n protected override render() {\n const caretIcon = this._getCaretIcon();\n const showCaret = this.toggleInteraction !== `disabled`;\n const implicitToggle = this.toggleInteraction === `implicit`;\n\n const caretRotation = this._isVertical\n ? (this.collapsed ? `` : `-90deg`)\n : (this.collapsed ? `-90deg` : ``);\n\n return html`\n <div\n class=\"titlebar\"\n role=\"toolbar\"\n @click=${implicitToggle ? this._onToggleClick : nothing}\n >\n <div class=\"title-text-wrapper\">\n ${this.iconName ? html`<ixfx-icon class=\"title-icon\" name=${this.iconName}></ixfx-icon>` : nothing}\n <span class=\"title-text\">${this.title}</span>\n </div>\n\n <div class=\"toolbar\" @click=${(e: Event) => e.stopPropagation()}>\n <slot name=\"toolbar\"></slot>\n ${this.closable\n ? html`\n <button\n class=\"close-btn\"\n type=\"button\"\n aria-label=\"Close panel\"\n @click=${this._onCloseClick}\n >\n <ixfx-icon name=\"close\"></ixfx-icon>\n </button>\n `\n : nothing}\n ${showCaret\n ? html`\n <button\n class=\"caret-btn\"\n type=\"button\"\n aria-label=${this.collapsed ? `Expand panel` : `Collapse panel`}\n @click=${this._onToggleClick}\n >\n <ixfx-icon name=${caretIcon} prominence .rotate=${caretRotation.length > 0 ? caretRotation : nothing}></ixfx-icon>\n </button>\n `\n : nothing}\n </div>\n </div>\n\n <div class=\"content-wrapper\" ?expanded=${!this.collapsed}>\n <div class=\"content-inner\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n static override styles = css`\n :host {\n display: flex;\n flex-direction: column;\n background: var(--surface-3);\n border: var(--border-subtle);\n border-radius: var(--radius-m);\n overflow: hidden;\n box-sizing: border-box;\n }\n\n :host([orientation=\"vertical\"]) {\n flex-direction: row;\n align-self: flex-start;\n min-width: 0 !important;\n flex-shrink: 1;\n }\n\n .titlebar {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: var(--space-s) var(--space-m);\n background: var(--surface-4);\n color: var(--surface-3-text);\n min-height: 2em;\n flex-shrink: 0;\n }\n\n :host([orientation=\"vertical\"]) .titlebar {\n flex-direction: row;\n min-width: 2em;\n writing-mode: vertical-rl;\n text-orientation: mixed;\n }\n\n .caret-btn,\n .close-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n padding: var(--space-xs);\n margin: 0;\n cursor: pointer;\n color: inherit;\n border-radius: var(--radius-s);\n transition: background var(--transition);\n opacity: var(--prominence-idle-opacity);\n }\n\n .caret-btn:hover,\n .close-btn:hover {\n background: var(--surface-5);\n opacity: var(--prominence-tickled-opacity);\n\n }\n\n .caret-btn:focus-visible,\n .close-btn:focus-visible {\n outline: 2px solid var(--accent);\n outline-offset: 1px;\n }\n\n ixfx-icon {\n width: 1.25em;\n height: 1.25em;\n transition: transform var(--transition);\n }\n\n .title-icon {\n flex-shrink: 0;\n }\n\n .title-text {\n flex: 1;\n padding-left: 1ch;\n font-family: var(--font-family);\n font-size: var(--text-m);\n font-weight: var(--font-weight-bold, 600);\n white-space: nowrap;\n overflow: hidden;\n align-self: center;\n text-overflow: ellipsis;\n user-select: none;\n -webkit-user-select: none;\n }\n\n :host([toggle-interaction=\"implicit\"]) .titlebar {\n cursor: pointer;\n }\n\n :host([orientation=\"vertical\"]) .title-text {\n writing-mode: vertical-rl;\n padding-left: 0;\n padding-bottom: 1ch;\n text-orientation: mixed;\n transform: rotate(180deg);\n }\n\n .toolbar {\n display: flex;\n align-items: center;\n gap: var(--space-xs);\n margin-left: auto;\n }\n\n :host([orientation=\"vertical\"]) .toolbar {\n flex-direction: column;\n margin-left: 0;\n margin-top: auto;\n writing-mode: horizontal-tb;\n }\n\n slot[name=\"toolbar\"] {\n display: contents;\n }\n\n ::slotted(slot[name=\"toolbar\"]) {\n display: contents;\n }\n\n .content-wrapper {\n interpolate-size: allow-keywords;\n overflow: hidden;\n height: 0;\n transition: height var(--transition, 0.2s ease-out);\n background: var(--surface-3);\n \n }\n\n .content-wrapper[expanded] {\n height: auto;\n }\n\n :host([orientation=\"vertical\"]) .content-wrapper {\n height: unset;\n width: 0;\n transition: width var(--transition, 0.2s ease-out);\n }\n\n :host([orientation=\"vertical\"]) .content-wrapper[expanded] {\n width: auto;\n }\n\n .content-inner {\n box-shadow: var(--deboss-3);\n\n min-height: 0;\n min-width: 0;\n overflow: hidden;\n padding: var(--space-m);\n transform: translateY(-100%);\n transition: transform var(--transition, 0.2s ease-out);\n }\n\n .content-wrapper[expanded] .content-inner {\n transform: translateY(0);\n }\n\n :host([orientation=\"vertical\"]) .content-inner {\n width: max-content;\n height:100%;\n transform: translateX(-100%);\n }\n\n :host([orientation=\"vertical\"]) .content-wrapper[expanded] .content-inner {\n transform: translateX(0);\n }\n\n .title-text-wrapper {\n display:flex;\n padding: 0 var(--space-s);\n }\n\n /* === Midline variant === */\n\n :host([variant=\"midline\"]) {\n border: none !important;\n border-radius: 0 !important;\n background: transparent;\n }\n\n :host([variant=\"midline\"][orientation=\"horizontal\"]) .titlebar,\n :host([variant=\"midline\"][orientation=\"vertical\"]) .titlebar {\n background: transparent;\n padding: var(--space-xs) var(--space-m);\n min-height: unset;\n position: relative;\n }\n\n :host([variant=\"midline\"][orientation=\"vertical\"]) .titlebar {\n padding: var(--space-m) var(--space-xs);\n min-width: unset;\n }\n\n :host([variant=\"midline\"]) .title-text-wrapper {\n position: relative;\n z-index: 1;\n display: flex;\n align-items: center;\n gap: var(--space-s);\n background: var(--surface-3);\n }\n\n :host([variant=\"midline\"]) .title-text {\n font-weight: normal;\n color: var(--surface-3-text);\n padding: 0 0.5ch 0 0.5ch;\n background: transparent;\n box-shadow: none;\n flex: unset;\n width: auto;\n white-space: nowrap;\n }\n\n :host([variant=\"midline\"]) .title-icon {\n background: transparent;\n flex-shrink: 0;\n }\n\n :host([variant=\"midline\"]) .caret-btn {\n position: relative;\n z-index: 1;\n background: var(--surface-3);\n opacity: 1;\n }\n\n :host([variant=\"midline\"][orientation=\"vertical\"]) .title-text {\n transform: rotate(180deg);\n padding: 0.5ch 0 0.5ch 0ch;\n }\n\n :host([variant=\"midline\"]) .toolbar {\n position: relative;\n z-index: 2;\n background: var(--surface-3);\n margin-left: 0;\n }\n\n :host([variant=\"midline\"][orientation=\"horizontal\"]) .toolbar {\n margin-left: auto;\n }\n\n /* Debossed line runs from after title-text to before toolbar */\n :host([variant=\"midline\"]) .titlebar::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 0;\n right: 0;\n height: 1px;\n transform: translateY(-50%);\n background: var(--surface-2);\n box-shadow:\n 0 -1px 0 var(--surface-5),\n 0 1px 0 var(--surface-1);\n z-index: 0;\n }\n\n /* For vertical midline, line runs vertically */\n :host([variant=\"midline\"][orientation=\"vertical\"]) .titlebar::after {\n top: 0;\n bottom: 0;\n left: 50%;\n right: unset;\n width: 1px;\n height: 100%;\n transform: translateX(-50%);\n box-shadow:\n -1px 0 0 var(--surface-5),\n 1px 0 0 var(--surface-1);\n }\n\n :host([variant=\"midline\"]) .content-inner {\n box-shadow: none;\n background: var(--surface-3);\n }\n\n :host([variant=\"midline\"]) .content-wrapper {\n background: transparent;\n }\n\n :host([variant=\"midline\"][orientation=\"vertical\"]) .content-wrapper {\n background: transparent;\n }\n `;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ixfx-panel': PanelElement;\n }\n}\n\nexport interface PanelElement {\n addEventListener: (<K extends keyof PanelElementEventMap>(\n type: K,\n listener: (this: PanelElement, event: PanelElementEventMap[K]) => void,\n options?: boolean | AddEventListenerOptions,\n ) => void) & ((\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ) => void);\n}"],"mappings":";;;;;AAqBO,IAAA,eAAA,MAAM,qBAAqB,WAAW;;;mBACa;qBAC6C;kBAC7D;eACJ;kBAC2B;2BAC0C;iBAChB;qBAE1D;;CAE/B,iBAAyB;AACvB,OAAK,YAAY,CAAC,KAAK;AACvB,OAAK,cACH,IAAI,YAA+B,UAAU;GAC3C,QAAQ,EAAE,WAAW,KAAK,WAAW;GACrC,SAAS;GACT,UAAU;GACX,CAAC,CACH;;CAGH,gBAAwB;AACtB,OAAK,cACH,IAAI,YAAkB,SAAS;GAC7B,SAAS;GACT,UAAU;GACX,CAAC,CACH;AACD,OAAK,QAAQ;;CAGf,gBAAgC;AAC9B,SAAO;;CAGT,QAA2B,SAAqC;AAC9D,QAAM,QAAQ,QAAQ;AACtB,MAAI,QAAQ,IAAI,cAAc,CAC5B,MAAK,cAAc,KAAK,gBAAgB;;CAI5C,SAA4B;EAC1B,MAAM,YAAY,KAAK,eAAe;EACtC,MAAM,YAAY,KAAK,sBAAsB;EAC7C,MAAM,iBAAiB,KAAK,sBAAsB;EAElD,MAAM,gBAAgB,KAAK,cACtB,KAAK,YAAY,KAAK,WACtB,KAAK,YAAY,WAAW;AAEjC,SAAO,IAAI;;;;iBAIE,iBAAiB,KAAK,iBAAiB,QAAQ;;;YAGpD,KAAK,WAAW,IAAI,sCAAsC,KAAK,SAAS,iBAAiB,QAAQ;qCACxE,KAAK,MAAM;;;uCAGT,MAAa,EAAE,iBAAiB,CAAC;;YAE5D,KAAK,WACH,IAAI;;;;;uBAKK,KAAK,cAAc;;;;cAK5B,QAAQ;YACV,YACE,IAAI;;;;yBAIO,KAAK,YAAY,iBAAiB,iBAAiB;qBACvD,KAAK,eAAe;;8BAEX,UAAU,sBAAsB,cAAc,SAAS,IAAI,gBAAgB,QAAQ;;cAGnG,QAAQ;;;;+CAIyB,CAAC,KAAK,UAAU;;;;;;;;gBAQpC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAnG3B,SAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,aAAA,WAAA,aAAA,KAAA,EAAA;YAC1C,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAe,SAAS;CAAM,CAAC,CAAA,EAAA,aAAA,WAAA,eAAA,KAAA,EAAA;YACnE,SAAS,EAAE,MAAM,SAAS,CAAC,CAAA,EAAA,aAAA,WAAA,YAAA,KAAA,EAAA;YAC3B,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,aAAA,WAAA,SAAA,KAAA,EAAA;YAC1B,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAa,CAAC,CAAA,EAAA,aAAA,WAAA,YAAA,KAAA,EAAA;YAClD,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAsB,CAAC,CAAA,EAAA,aAAA,WAAA,qBAAA,KAAA,EAAA;YAC3D,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAW,SAAS;CAAM,CAAC,CAAA,EAAA,aAAA,WAAA,WAAA,KAAA,EAAA;YAE/D,OAAO,CAAA,EAAA,aAAA,WAAA,eAAA,KAAA,EAAA;2BAVT,cAAc,aAAa,CAAA,EAAA,aAAA"}
@@ -0,0 +1,2 @@
1
+ import { a as SingleAxisAgeStyle, c as PlotDataSeriesOptions, d as ColourResult, f as applyAgeModification, h as readBaseColour, i as PlotSingleAxis, l as ColourMapConfig, m as parseColourScaleAttr, n as XyAgeStyle, o as SingleAxisDrawStyle, p as computeColour, r as XyDrawStyle, s as PlotDataSeries, t as PlotXyAxis, u as ColourMode } from "./xy-axis-CIFok7MF.js";
2
+ export { ColourMapConfig, ColourMode, ColourResult, PlotDataSeries, PlotDataSeriesOptions, PlotSingleAxis, PlotXyAxis, SingleAxisAgeStyle, SingleAxisDrawStyle, XyAgeStyle, XyDrawStyle, applyAgeModification, computeColour, parseColourScaleAttr, readBaseColour };
package/dist/plots.js ADDED
@@ -0,0 +1,2 @@
1
+ import { a as computeColour, i as applyAgeModification, n as PlotSingleAxis, o as parseColourScaleAttr, r as PlotDataSeries, s as readBaseColour, t as PlotXyAxis } from "./xy-axis-BANbgrI5.js";
2
+ export { PlotDataSeries, PlotSingleAxis, PlotXyAxis, applyAgeModification, computeColour, parseColourScaleAttr, readBaseColour };
@@ -0,0 +1,67 @@
1
+ import * as _$lit from "lit";
2
+ import { LitElement, PropertyValues, html } from "lit";
3
+
4
+ //#region src/polar-pad/polar-pad.d.ts
5
+ declare class PolarPad extends LitElement {
6
+ static styles: _$lit.CSSResult;
7
+ /** Current angle in degrees. 0 = right, increases clockwise. */
8
+ angle: number;
9
+ /** Current radius 0–1. 0 = origin, 1 = edge. */
10
+ radius: number;
11
+ /** Number of concentric rings to display. 0 = none. */
12
+ rings: number;
13
+ /** Number of evenly-spaced radial spoke lines to display. 0 = none. */
14
+ rays: number;
15
+ /** Show a line from origin to the marker. */
16
+ showRay: boolean;
17
+ /** Show a dot at the origin (centre). */
18
+ showOrigin: boolean;
19
+ /** Hide cursor during drag and hover. */
20
+ hideCursor: boolean;
21
+ /** When set, marker snaps to nearest ring/spoke depending on what's displayed. */
22
+ snapValue: boolean;
23
+ /** Disable all interaction (pointer and keyboard). */
24
+ disabled: boolean;
25
+ /** Number of quantised stops for both angle and radius. Overridden by stops-angle/stops-radius if set. */
26
+ stops?: number;
27
+ /** Number of quantised stops for angle. If set, overrides the stops setting for angle. */
28
+ stopsAngle?: number;
29
+ /** Number of quantised stops for radius. If set, overrides the stops setting for radius. */
30
+ stopsRadius?: number;
31
+ private _dragging;
32
+ private _dragStartAngle;
33
+ private _dragStartRadius;
34
+ private _pressedKeys;
35
+ private _prevAngle;
36
+ private _prevRadius;
37
+ private _onPointerDown;
38
+ private _onPointerMove;
39
+ private _onPointerUp;
40
+ private _updateFromPointer;
41
+ private _onKeyDown;
42
+ private _onKeyUp;
43
+ private _handleKeyboardMove;
44
+ private _setCssVars;
45
+ updated(_changed: PropertyValues): void;
46
+ disconnectedCallback(): void;
47
+ private _renderRings;
48
+ private _renderSpokes;
49
+ private _renderRay;
50
+ private _renderOrigin;
51
+ render(): ReturnType<typeof html>;
52
+ /** Stable per-instance uid for SVG clipPath IDs. */
53
+ private readonly _uid;
54
+ }
55
+ type PolarPadInputDetail = {
56
+ readonly angle: number;
57
+ readonly radius: number;
58
+ };
59
+ type PolarPadInputEvent = CustomEvent<PolarPadInputDetail>;
60
+ declare global {
61
+ interface HTMLElementTagNameMap {
62
+ 'ixfx-polar-pad': PolarPad;
63
+ }
64
+ } //# sourceMappingURL=polar-pad.d.ts.map
65
+ //#endregion
66
+ export { PolarPad, PolarPadInputDetail, PolarPadInputEvent };
67
+ //# sourceMappingURL=polar-pad.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polar-pad.d.ts","names":[],"sources":["../src/polar-pad/polar-pad.ts"],"mappings":";;;;cA+Ja,QAAA,SAAiB,UAAA;EAAA,OACZ,MAAA,EADI,KAAA,CACE,SAAA;EAidpB;EAzU0B,KAAA;EAyUA;EAtUA,MAAA;EAsUA;EAnUA,KAAA;;EAGA,IAAA;;EAGuC,OAAA;;EAGG,UAAA;;EAGA,UAAA;;EAGD,SAAA;;EAGzB,QAAA;;EAGhB,KAAA;;EAG0B,UAAA;;EAGC,WAAA;EAAA,QAE/C,SAAA;EAAA,QACA,eAAA;EAAA,QACA,gBAAA;EAAA,QACA,YAAA;EAAA,QACA,UAAA;EAAA,QACA,WAAA;EAAA,QAMA,cAAA;EAAA,QAgBA,cAAA;EAAA,QAOA,YAAA;EAAA,QAeA,kBAAA;EAAA,QAuCA,UAAA;EAAA,QASA,QAAA;EAAA,QAIA,mBAAA;EAAA,QAiEA,WAAA;EAMC,OAAA,CAAQ,QAAA,EAAU,cAAA;EAKlB,oBAAA,CAAA;EAAA,QAUD,YAAA;EAAA,QAWA,aAAA;EAAA,QAiBA,UAAA;EAAA,QAMA,aAAA;EAUC,MAAA,CAAA,GAAU,UAAA,QAAkB,IAAA;;mBA+CpB,IAAA;AAAA;AAAA,KAOP,mBAAA;EAAA,SACD,KAAA;EAAA,SACA,MAAA;AAAA;AAAA,KAGC,kBAAA,GAAqB,WAAA,CAAY,mBAAA;AAAA,QAErC,MAAA;EAAA,UACI,qBAAA;IACR,gBAAA,EAAkB,QAAA;EAAA;AAAA"}