@redvars/peacock 3.5.0 → 3.6.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 (314) hide show
  1. package/dist/BaseButton-BNFAYn-S.js +219 -0
  2. package/dist/BaseButton-BNFAYn-S.js.map +1 -0
  3. package/dist/BaseHyperlinkMixin-BNuwbiEf.js +65 -0
  4. package/dist/BaseHyperlinkMixin-BNuwbiEf.js.map +1 -0
  5. package/dist/BaseInput-14YmcfK7.js +27 -0
  6. package/dist/BaseInput-14YmcfK7.js.map +1 -0
  7. package/dist/assets/components.css +1 -1
  8. package/dist/assets/components.css.map +1 -1
  9. package/dist/assets/styles.css +1 -1
  10. package/dist/assets/styles.css.map +1 -1
  11. package/dist/banner.js +14 -30
  12. package/dist/banner.js.map +1 -1
  13. package/dist/{button-DMN1dPAg.js → button-colors-Ccys3hvS.js} +5 -468
  14. package/dist/button-colors-Ccys3hvS.js.map +1 -0
  15. package/dist/button-group.js +228 -8
  16. package/dist/button-group.js.map +1 -1
  17. package/dist/button.js +294 -8
  18. package/dist/button.js.map +1 -1
  19. package/dist/calendar-column-view.js +634 -0
  20. package/dist/calendar-column-view.js.map +1 -0
  21. package/dist/calendar-event-BrQ_SEKD.js +199 -0
  22. package/dist/calendar-event-BrQ_SEKD.js.map +1 -0
  23. package/dist/calendar-month-view.js +376 -0
  24. package/dist/calendar-month-view.js.map +1 -0
  25. package/dist/calendar.js +339 -0
  26. package/dist/calendar.js.map +1 -0
  27. package/dist/canvas.js +361 -0
  28. package/dist/canvas.js.map +1 -0
  29. package/dist/card.js +18 -73
  30. package/dist/card.js.map +1 -1
  31. package/dist/cb-compound-expression.js +125 -0
  32. package/dist/cb-compound-expression.js.map +1 -0
  33. package/dist/cb-divider.js +150 -0
  34. package/dist/cb-divider.js.map +1 -0
  35. package/dist/cb-expression.js +75 -0
  36. package/dist/cb-expression.js.map +1 -0
  37. package/dist/cb-predicate.js +137 -0
  38. package/dist/cb-predicate.js.map +1 -0
  39. package/dist/chart-bar.js.map +1 -1
  40. package/dist/chart-doughnut.js +2 -2
  41. package/dist/chart-doughnut.js.map +1 -1
  42. package/dist/chart-pie.js +2 -2
  43. package/dist/chart-pie.js.map +1 -1
  44. package/dist/chart-stacked-bar.js.map +1 -1
  45. package/dist/code-editor.js +2 -1
  46. package/dist/code-editor.js.map +1 -1
  47. package/dist/code-highlighter.js +2 -1
  48. package/dist/code-highlighter.js.map +1 -1
  49. package/dist/condition-builder.js +58 -0
  50. package/dist/condition-builder.js.map +1 -0
  51. package/dist/custom-elements-jsdocs.json +10860 -5567
  52. package/dist/custom-elements.json +16180 -7996
  53. package/dist/dropdown-button.js +216 -0
  54. package/dist/dropdown-button.js.map +1 -0
  55. package/dist/event-manager-D-QCmUgR.js +113 -0
  56. package/dist/event-manager-D-QCmUgR.js.map +1 -0
  57. package/dist/fab.js +421 -9
  58. package/dist/fab.js.map +1 -1
  59. package/dist/flow-designer-dZnLJOQT.js +1656 -0
  60. package/dist/flow-designer-dZnLJOQT.js.map +1 -0
  61. package/dist/flow-designer-node-XMe-jlKg.js +548 -0
  62. package/dist/flow-designer-node-XMe-jlKg.js.map +1 -0
  63. package/dist/flow-designer-node.js +4 -0
  64. package/dist/flow-designer-node.js.map +1 -0
  65. package/dist/flow-designer.js +16 -0
  66. package/dist/flow-designer.js.map +1 -0
  67. package/dist/html-editor.js +358 -0
  68. package/dist/html-editor.js.map +1 -0
  69. package/dist/icon-button-CK1ZuE-2.js +247 -0
  70. package/dist/icon-button-CK1ZuE-2.js.map +1 -0
  71. package/dist/index.js +31 -8
  72. package/dist/index.js.map +1 -1
  73. package/dist/{is-dark-mode-DicqGkCJ.js → is-dark-mode-DOcaw4Yq.js} +2 -27
  74. package/dist/is-dark-mode-DOcaw4Yq.js.map +1 -0
  75. package/dist/modal.js +418 -0
  76. package/dist/modal.js.map +1 -0
  77. package/dist/{select-4pl4XBj7.js → navigation-rail-DyO0oAZU.js} +2000 -2767
  78. package/dist/navigation-rail-DyO0oAZU.js.map +1 -0
  79. package/dist/notification-manager.js +268 -0
  80. package/dist/notification-manager.js.map +1 -0
  81. package/dist/notification.js +3 -2
  82. package/dist/notification.js.map +1 -1
  83. package/dist/peacock-loader.js +102 -14
  84. package/dist/peacock-loader.js.map +1 -1
  85. package/dist/popover-NC7b1lTq.js +1971 -0
  86. package/dist/popover-NC7b1lTq.js.map +1 -0
  87. package/dist/popover-content.js +125 -0
  88. package/dist/popover-content.js.map +1 -0
  89. package/dist/popover.js +4 -0
  90. package/dist/popover.js.map +1 -0
  91. package/dist/search.js +4 -0
  92. package/dist/search.js.map +1 -1
  93. package/dist/split-button.js +388 -0
  94. package/dist/split-button.js.map +1 -0
  95. package/dist/src/__controllers/floating-controller.d.ts +35 -0
  96. package/dist/src/__mixins/BaseButtonMixin.d.ts +20 -0
  97. package/dist/src/__mixins/BaseHyperlinkMixin.d.ts +18 -0
  98. package/dist/src/__mixins/MixinConstructor.d.ts +1 -0
  99. package/dist/src/banner/banner.d.ts +0 -4
  100. package/dist/src/button/BaseButton.d.ts +4 -47
  101. package/dist/src/button/button/button.d.ts +32 -3
  102. package/dist/src/button/button-group/button-group.d.ts +2 -2
  103. package/dist/src/button/icon-button/icon-button.d.ts +33 -8
  104. package/dist/src/calendar/base-event.d.ts +10 -0
  105. package/dist/src/calendar/calendar-column-view.d.ts +41 -0
  106. package/dist/src/calendar/calendar-event.d.ts +7 -0
  107. package/dist/src/calendar/calendar-month-view.d.ts +31 -0
  108. package/dist/src/calendar/calendar.d.ts +65 -0
  109. package/dist/src/calendar/event-manager.d.ts +17 -0
  110. package/dist/src/calendar/index.d.ts +4 -0
  111. package/dist/src/calendar/types.d.ts +13 -0
  112. package/dist/src/calendar/utils.d.ts +31 -0
  113. package/dist/src/canvas/canvas.d.ts +92 -0
  114. package/dist/src/canvas/index.d.ts +2 -0
  115. package/dist/src/card/card.d.ts +4 -15
  116. package/dist/src/condition-builder/cb-compound-expression.d.ts +31 -0
  117. package/dist/src/condition-builder/cb-divider.d.ts +26 -0
  118. package/dist/src/condition-builder/cb-expression.d.ts +31 -0
  119. package/dist/src/condition-builder/cb-predicate.d.ts +30 -0
  120. package/dist/src/condition-builder/condition-builder.d.ts +27 -0
  121. package/dist/src/condition-builder/index.d.ts +5 -0
  122. package/dist/src/dropdown-button/dropdown-button.d.ts +68 -0
  123. package/dist/src/dropdown-button/index.d.ts +1 -0
  124. package/dist/src/fab/fab.d.ts +4 -35
  125. package/dist/src/flow-designer/commands.d.ts +66 -0
  126. package/dist/src/flow-designer/flow-designer-node.d.ts +46 -0
  127. package/dist/src/flow-designer/flow-designer.d.ts +133 -0
  128. package/dist/src/flow-designer/index.d.ts +7 -0
  129. package/dist/src/flow-designer/layout.d.ts +30 -0
  130. package/dist/src/flow-designer/types.d.ts +142 -0
  131. package/dist/src/flow-designer/validation.d.ts +43 -0
  132. package/dist/src/flow-designer/workflow-utils.d.ts +40 -0
  133. package/dist/src/focus-ring/focus-ring.d.ts +11 -5
  134. package/dist/src/html-editor/html-editor.d.ts +56 -0
  135. package/dist/src/html-editor/index.d.ts +2 -0
  136. package/dist/src/index.d.ts +16 -1
  137. package/dist/src/link/link.d.ts +1 -1
  138. package/dist/src/menu/menu/menu.d.ts +5 -7
  139. package/dist/src/menu/menu-item/menu-item.d.ts +14 -13
  140. package/dist/src/modal/index.d.ts +1 -0
  141. package/dist/src/modal/modal.d.ts +63 -0
  142. package/dist/src/navigation-rail/index.d.ts +2 -0
  143. package/dist/src/navigation-rail/navigation-rail-item.d.ts +55 -0
  144. package/dist/src/navigation-rail/navigation-rail.d.ts +71 -0
  145. package/dist/src/notification-manager/index.d.ts +1 -0
  146. package/dist/src/notification-manager/notification-manager.d.ts +44 -0
  147. package/dist/src/popover/index.d.ts +2 -0
  148. package/dist/src/popover/popover-content.d.ts +29 -0
  149. package/dist/src/popover/popover.d.ts +62 -0
  150. package/dist/src/sidebar-menu/index.d.ts +3 -0
  151. package/dist/src/sidebar-menu/sidebar-menu-item.d.ts +58 -0
  152. package/dist/src/sidebar-menu/sidebar-menu.d.ts +38 -0
  153. package/dist/src/sidebar-menu/sidebar-sub-menu.d.ts +35 -0
  154. package/dist/src/split-button/index.d.ts +1 -0
  155. package/dist/src/split-button/split-button.d.ts +72 -0
  156. package/dist/src/toolbar/toolbar.d.ts +10 -10
  157. package/dist/src/tooltip/tooltip.d.ts +5 -15
  158. package/dist/src/url-field/index.d.ts +1 -0
  159. package/dist/src/url-field/url-field.d.ts +48 -0
  160. package/dist/test/flow-designer.test.d.ts +1 -0
  161. package/dist/test/sidebar-menu.test.d.ts +1 -0
  162. package/dist/toolbar.js +10 -10
  163. package/dist/toolbar.js.map +1 -1
  164. package/dist/tsconfig.tsbuildinfo +1 -1
  165. package/package.json +4 -2
  166. package/readme.md +73 -65
  167. package/scss/mixin.scss +16 -0
  168. package/src/__controllers/floating-controller.ts +237 -0
  169. package/src/__mixins/BaseButtonMixin.ts +83 -0
  170. package/src/__mixins/BaseHyperlinkMixin.ts +68 -0
  171. package/src/__mixins/MixinConstructor.ts +1 -0
  172. package/src/{__base_element → __mixins}/README.md +2 -2
  173. package/src/banner/banner.scss +20 -25
  174. package/src/banner/banner.ts +1 -7
  175. package/src/button/BaseButton.ts +11 -100
  176. package/src/button/button/button-sizes.scss +4 -2
  177. package/src/button/button/button.ts +77 -23
  178. package/src/button/button-group/button-group.ts +2 -2
  179. package/src/button/icon-button/icon-button.ts +75 -33
  180. package/src/calendar/base-event.ts +49 -0
  181. package/src/calendar/calendar-column-view.scss +326 -0
  182. package/src/calendar/calendar-column-view.ts +392 -0
  183. package/src/calendar/calendar-event.ts +20 -0
  184. package/src/calendar/calendar-month-view.scss +192 -0
  185. package/src/calendar/calendar-month-view.ts +244 -0
  186. package/src/calendar/calendar.scss +71 -0
  187. package/src/calendar/calendar.ts +298 -0
  188. package/src/calendar/event-manager.ts +117 -0
  189. package/src/calendar/index.ts +4 -0
  190. package/src/calendar/types.ts +14 -0
  191. package/src/calendar/utils.ts +180 -0
  192. package/src/canvas/canvas.scss +60 -0
  193. package/src/canvas/canvas.ts +391 -0
  194. package/src/canvas/index.ts +2 -0
  195. package/src/card/card.ts +11 -71
  196. package/src/chart-bar/chart-bar.ts +9 -14
  197. package/src/chart-bar/chart-stacked-bar.ts +12 -18
  198. package/src/chart-doughnut/chart-doughnut.ts +23 -27
  199. package/src/chart-pie/chart-pie.ts +19 -23
  200. package/src/checkbox/checkbox.scss +17 -34
  201. package/src/checkbox/checkbox.ts +3 -1
  202. package/src/code-highlighter/code-highlighter.scss +1 -0
  203. package/src/code-highlighter/code-highlighter.ts +1 -1
  204. package/src/condition-builder/cb-compound-expression.scss +37 -0
  205. package/src/condition-builder/cb-compound-expression.ts +80 -0
  206. package/src/condition-builder/cb-divider.scss +93 -0
  207. package/src/condition-builder/cb-divider.ts +56 -0
  208. package/src/condition-builder/cb-expression.scss +14 -0
  209. package/src/condition-builder/cb-expression.ts +49 -0
  210. package/src/condition-builder/cb-predicate.scss +35 -0
  211. package/src/condition-builder/cb-predicate.ts +102 -0
  212. package/src/condition-builder/condition-builder.scss +13 -0
  213. package/src/condition-builder/condition-builder.ts +38 -0
  214. package/src/condition-builder/index.ts +5 -0
  215. package/src/date-picker/date-picker.ts +1 -1
  216. package/src/dropdown-button/demo/index.html +110 -0
  217. package/src/dropdown-button/dropdown-button.scss +22 -0
  218. package/src/dropdown-button/dropdown-button.ts +206 -0
  219. package/src/dropdown-button/index.ts +1 -0
  220. package/src/elevation/elevation.scss +5 -5
  221. package/src/fab/fab.ts +29 -100
  222. package/src/flow-designer/DEMO.md +239 -0
  223. package/src/flow-designer/commands.ts +278 -0
  224. package/src/flow-designer/flow-designer-node.ts +172 -0
  225. package/src/flow-designer/flow-designer.scss +457 -0
  226. package/src/flow-designer/flow-designer.ts +611 -0
  227. package/src/flow-designer/index.ts +41 -0
  228. package/src/flow-designer/layout.ts +357 -0
  229. package/src/flow-designer/types.ts +166 -0
  230. package/src/flow-designer/validation.ts +284 -0
  231. package/src/flow-designer/workflow-utils.ts +282 -0
  232. package/src/focus-ring/focus-ring.ts +47 -40
  233. package/src/html-editor/html-editor.scss +146 -0
  234. package/src/html-editor/html-editor.ts +276 -0
  235. package/src/html-editor/index.ts +3 -0
  236. package/src/index.ts +28 -1
  237. package/src/input/input.ts +3 -1
  238. package/src/link/link.ts +2 -2
  239. package/src/menu/menu/menu.scss +2 -2
  240. package/src/menu/menu/menu.ts +91 -101
  241. package/src/menu/menu-item/menu-item.scss +4 -0
  242. package/src/menu/menu-item/menu-item.ts +85 -79
  243. package/src/modal/index.ts +1 -0
  244. package/src/modal/modal.scss +206 -0
  245. package/src/modal/modal.ts +201 -0
  246. package/src/navigation-rail/index.ts +2 -0
  247. package/src/navigation-rail/navigation-rail-item.scss +216 -0
  248. package/src/navigation-rail/navigation-rail-item.ts +223 -0
  249. package/src/navigation-rail/navigation-rail.scss +72 -0
  250. package/src/navigation-rail/navigation-rail.ts +149 -0
  251. package/src/notification/notification.ts +3 -2
  252. package/src/notification-manager/index.ts +1 -0
  253. package/src/notification-manager/notification-manager.scss +113 -0
  254. package/src/notification-manager/notification-manager.ts +199 -0
  255. package/src/number-field/number-field.ts +6 -4
  256. package/src/pagination/pagination.ts +6 -4
  257. package/src/peacock-loader.ts +93 -5
  258. package/src/popover/index.ts +2 -0
  259. package/src/popover/popover-content.scss +69 -0
  260. package/src/popover/popover-content.ts +51 -0
  261. package/src/popover/popover.scss +7 -0
  262. package/src/popover/popover.ts +170 -0
  263. package/src/search/search.ts +4 -0
  264. package/src/sidebar-menu/demo/index.html +68 -0
  265. package/src/sidebar-menu/index.ts +3 -0
  266. package/src/sidebar-menu/sidebar-menu-item.scss +102 -0
  267. package/src/sidebar-menu/sidebar-menu-item.ts +151 -0
  268. package/src/{tree-view/tree-view.scss → sidebar-menu/sidebar-menu.scss} +1 -1
  269. package/src/sidebar-menu/sidebar-menu.ts +182 -0
  270. package/src/sidebar-menu/sidebar-sub-menu.scss +130 -0
  271. package/src/sidebar-menu/sidebar-sub-menu.ts +160 -0
  272. package/src/skeleton/skeleton.scss +18 -24
  273. package/src/snackbar/snackbar.ts +1 -1
  274. package/src/split-button/index.ts +1 -0
  275. package/src/split-button/split-button-colors.scss +56 -0
  276. package/src/split-button/split-button-sizes.scss +28 -0
  277. package/src/split-button/split-button.scss +79 -0
  278. package/src/split-button/split-button.ts +236 -0
  279. package/src/table/table.ts +2 -2
  280. package/src/tabs/tab.ts +4 -3
  281. package/src/text/text.css-component.scss +7 -1
  282. package/src/time-picker/time-picker.ts +1 -1
  283. package/src/toolbar/toolbar.ts +10 -10
  284. package/src/tooltip/tooltip.scss +4 -3
  285. package/src/tooltip/tooltip.ts +64 -98
  286. package/src/url-field/index.ts +1 -0
  287. package/src/url-field/url-field.scss +50 -0
  288. package/src/url-field/url-field.ts +239 -0
  289. package/dist/button-DMN1dPAg.js.map +0 -1
  290. package/dist/button-group-CX9CUUXk.js +0 -435
  291. package/dist/button-group-CX9CUUXk.js.map +0 -1
  292. package/dist/fab-C5Nzxk0E.js +0 -497
  293. package/dist/fab-C5Nzxk0E.js.map +0 -1
  294. package/dist/is-dark-mode-DicqGkCJ.js.map +0 -1
  295. package/dist/select-4pl4XBj7.js.map +0 -1
  296. package/dist/spread-B5cgadZl.js +0 -32
  297. package/dist/spread-B5cgadZl.js.map +0 -1
  298. package/dist/src/__base_element/BaseHyperlink.d.ts +0 -20
  299. package/dist/src/menu/menu/MenuSurfaceController.d.ts +0 -18
  300. package/dist/src/tree-view/index.d.ts +0 -2
  301. package/dist/src/tree-view/tree-node.d.ts +0 -69
  302. package/dist/src/tree-view/tree-view.d.ts +0 -40
  303. package/dist/src/tree-view/wc-tree-view.d.ts +0 -6
  304. package/dist/test/tree-view.test.d.ts +0 -1
  305. package/dist/throttle-C7ZAPqtu.js +0 -24
  306. package/dist/throttle-C7ZAPqtu.js.map +0 -1
  307. package/src/__base_element/BaseHyperlink.ts +0 -42
  308. package/src/menu/menu/MenuSurfaceController.ts +0 -61
  309. package/src/tree-view/demo/index.html +0 -57
  310. package/src/tree-view/index.ts +0 -2
  311. package/src/tree-view/tree-node.scss +0 -101
  312. package/src/tree-view/tree-node.ts +0 -268
  313. package/src/tree-view/tree-view.ts +0 -182
  314. package/src/tree-view/wc-tree-view.ts +0 -9
@@ -1,32 +0,0 @@
1
- import { e, i, t } from './directive-ZPhl09Yt.js';
2
-
3
- class SpreadDirective extends i {
4
- constructor(partInfo) {
5
- super(partInfo);
6
- if (partInfo.type !== t.ELEMENT) {
7
- throw new Error('spread() can only be used on elements');
8
- }
9
- }
10
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
- render(_props) {
12
- return '';
13
- }
14
- update(part, [props]) {
15
- if (!props)
16
- return;
17
- // eslint-disable-next-line guard-for-in,no-restricted-syntax
18
- for (const key in props) {
19
- const value = props[key];
20
- if (value === undefined || value === null) {
21
- part.element.removeAttribute(key);
22
- }
23
- else {
24
- part.element.setAttribute(key, value);
25
- }
26
- }
27
- }
28
- }
29
- const spread = e(SpreadDirective);
30
-
31
- export { spread as s };
32
- //# sourceMappingURL=spread-B5cgadZl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spread-B5cgadZl.js","sources":["../../src/__directive/spread.ts"],"sourcesContent":["import {\n directive,\n Directive,\n ElementPart,\n PartInfo,\n PartType,\n} from 'lit/directive.js';\n\nclass SpreadDirective extends Directive {\n constructor(partInfo: PartInfo) {\n super(partInfo);\n if (partInfo.type !== PartType.ELEMENT) {\n throw new Error('spread() can only be used on elements');\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(_props: { [key: string]: any } | undefined) {\n return '';\n }\n\n update(part: ElementPart, [props]: [{ [key: string]: any } | undefined]) {\n if (!props) return;\n // eslint-disable-next-line guard-for-in,no-restricted-syntax\n for (const key in props) {\n const value = props[key];\n if (value === undefined || value === null) {\n part.element.removeAttribute(key);\n } else {\n part.element.setAttribute(key, value);\n }\n }\n }\n}\n\nexport const spread = directive(SpreadDirective);\n"],"names":["Directive","PartType","directive"],"mappings":";;AAQA,MAAM,eAAgB,SAAQA,CAAS,CAAA;AACrC,IAAA,WAAA,CAAY,QAAkB,EAAA;QAC5B,KAAK,CAAC,QAAQ,CAAC;QACf,IAAI,QAAQ,CAAC,IAAI,KAAKC,CAAQ,CAAC,OAAO,EAAE;AACtC,YAAA,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC;QAC1D;IACF;;AAGA,IAAA,MAAM,CAAC,MAA0C,EAAA;AAC/C,QAAA,OAAO,EAAE;IACX;AAEA,IAAA,MAAM,CAAC,IAAiB,EAAE,CAAC,KAAK,CAAuC,EAAA;AACrE,QAAA,IAAI,CAAC,KAAK;YAAE;;AAEZ,QAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACvB,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;YACxB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;AACzC,gBAAA,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC;YACnC;iBAAO;gBACL,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC;YACvC;QACF;IACF;AACD;MAEY,MAAM,GAAGC,CAAS,CAAC,eAAe;;;;"}
@@ -1,20 +0,0 @@
1
- import { LitElement } from 'lit';
2
- type Constructor<T = {}> = new (...args: any[]) => T;
3
- /**
4
- * 1. Define an interface for the members the mixin adds.
5
- * This makes the type annotation much cleaner.
6
- */
7
- export interface BaseHyperlinkInterface {
8
- href?: string;
9
- target: '_self' | '_parent' | '_blank' | '_top' | string;
10
- __isLink(): boolean;
11
- }
12
- /**
13
- * 2. Define the Mixin type separately for readability.
14
- */
15
- type BaseHyperlinkMixinType = <T extends Constructor<LitElement>>(superclass: T) => T & Constructor<BaseHyperlinkInterface>;
16
- /**
17
- * 3. Apply the type annotation to the variable.
18
- */
19
- declare const BaseHyperlink: BaseHyperlinkMixinType;
20
- export default BaseHyperlink;
@@ -1,18 +0,0 @@
1
- import { ReactiveController, ReactiveControllerHost } from 'lit';
2
- import { type Placement, type Strategy } from '@floating-ui/dom';
3
- type PositionOptions = {
4
- reference: HTMLElement;
5
- floating: HTMLElement;
6
- placement: Placement;
7
- offset: number;
8
- strategy?: Strategy;
9
- };
10
- export declare class MenuSurfaceController implements ReactiveController {
11
- private host;
12
- private cleanup?;
13
- constructor(host: ReactiveControllerHost);
14
- start(options: PositionOptions): void;
15
- stop(): void;
16
- hostDisconnected(): void;
17
- }
18
- export {};
@@ -1,2 +0,0 @@
1
- export { TreeNode } from './tree-node.js';
2
- export { TreeView } from './tree-view.js';
@@ -1,69 +0,0 @@
1
- import { LitElement } from 'lit';
2
- /**
3
- * @label Tree Node
4
- * @tag wc-tree-node
5
- * @rawTag tree-node
6
- * @parentRawTag tree-view
7
- * @summary A tree node represents a single item in a hierarchical tree structure. It supports nesting, icons, links, and keyboard navigation.
8
- *
9
- * @example
10
- * ```html
11
- * <wc-tree-view>
12
- * <wc-tree-node label="Parent">
13
- * <wc-tree-node label="Child"></wc-tree-node>
14
- * </wc-tree-node>
15
- * </wc-tree-view>
16
- * ```
17
- * @tags navigation
18
- */
19
- export declare class TreeNode extends LitElement {
20
- static styles: import("lit").CSSResultGroup[];
21
- /**
22
- * The value used to identify this node when selected.
23
- */
24
- value: string;
25
- /**
26
- * The display label for this node.
27
- */
28
- label: string;
29
- /**
30
- * Optional icon name to display before the label.
31
- */
32
- icon: string;
33
- /**
34
- * Optional hyperlink to navigate to on click.
35
- */
36
- href: string;
37
- /**
38
- * Sets or retrieves the window or frame at which to target content.
39
- */
40
- target: string;
41
- /**
42
- * If true, the user cannot interact with the node.
43
- */
44
- disabled: boolean;
45
- /**
46
- * Whether the node is currently selected.
47
- */
48
- selected: boolean;
49
- /**
50
- * Whether child nodes are visible.
51
- */
52
- expanded: boolean;
53
- /**
54
- * The nesting depth level (set automatically by the parent tree-view).
55
- */
56
- level: number;
57
- private readonly _nativeElement;
58
- focus(): void;
59
- blur(): void;
60
- private _getChildNodes;
61
- connectedCallback(): void;
62
- private _syncHostAria;
63
- private _updateChildLevels;
64
- private _handleClick;
65
- private _handleKeyDown;
66
- updated(changedProps: Map<string, unknown>): void;
67
- private _renderContent;
68
- render(): import("lit-html").TemplateResult<1>;
69
- }
@@ -1,40 +0,0 @@
1
- import { LitElement } from 'lit';
2
- import { TreeNode } from './tree-node.js';
3
- /**
4
- * @label Tree View
5
- * @tag wc-tree-view
6
- * @rawTag tree-view
7
- * @summary A tree view is a hierarchical structure that provides nested levels of navigation. It supports keyboard navigation, single/multi select, and expandable nodes.
8
- *
9
- * @example
10
- * ```html
11
- * <wc-tree-view>
12
- * <wc-tree-node label="Parent" expanded>
13
- * <wc-tree-node label="Child 1"></wc-tree-node>
14
- * <wc-tree-node label="Child 2"></wc-tree-node>
15
- * </wc-tree-node>
16
- * </wc-tree-view>
17
- * ```
18
- * @tags navigation
19
- */
20
- export declare class TreeView extends LitElement {
21
- static styles: import("lit").CSSResultGroup[];
22
- /**
23
- * The value of the currently selected node.
24
- */
25
- selectedNode: string;
26
- connectedCallback(): void;
27
- updated(changedProps: Map<string, unknown>): void;
28
- disconnectedCallback(): void;
29
- private _getTopLevelNodes;
30
- private _getAllVisibleNodes;
31
- private _onNodeClick;
32
- private _updateSelectedState;
33
- private _clearSelectedState;
34
- private _syncSelectedStateFromProperty;
35
- private _onSlotChange;
36
- private _collectAllNodes;
37
- private _onKeyDown;
38
- render(): import("lit-html").TemplateResult<1>;
39
- static Node: typeof TreeNode;
40
- }
@@ -1,6 +0,0 @@
1
- import { TreeView } from './tree-view.js';
2
- import { TreeNode } from './tree-node.js';
3
- export declare class WcTreeNode extends TreeNode {
4
- }
5
- export declare class WcTreeView extends TreeView {
6
- }
@@ -1 +0,0 @@
1
- import '../src/tree-view/wc-tree-view.js';
@@ -1,24 +0,0 @@
1
- function throttle(func, delay, options = { leading: true, trailing: true }) {
2
- let timerId;
3
- let lastExec = 0;
4
- return function (...args) {
5
- // @ts-ignore
6
- const context = this;
7
- const now = Date.now();
8
- const shouldCallNow = options.leading && now - lastExec >= delay;
9
- if (shouldCallNow) {
10
- func.apply(context, args);
11
- lastExec = now;
12
- }
13
- else if (options.trailing && !timerId) {
14
- timerId = setTimeout(() => {
15
- func.apply(context, args);
16
- lastExec = Date.now();
17
- timerId = null;
18
- }, delay);
19
- }
20
- };
21
- }
22
-
23
- export { throttle as t };
24
- //# sourceMappingURL=throttle-C7ZAPqtu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"throttle-C7ZAPqtu.js","sources":["../../src/__utils/throttle.ts"],"sourcesContent":["export function throttle(\n func: Function,\n delay: number,\n options = { leading: true, trailing: true },\n) {\n let timerId: any;\n let lastExec = 0;\n\n return function (...args: any[]) {\n // @ts-ignore\n const context = this;\n const now = Date.now();\n\n const shouldCallNow = options.leading && now - lastExec >= delay;\n\n if (shouldCallNow) {\n func.apply(context, args);\n lastExec = now;\n } else if (options.trailing && !timerId) {\n timerId = setTimeout(() => {\n func.apply(context, args);\n lastExec = Date.now();\n timerId = null;\n }, delay);\n }\n };\n}"],"names":[],"mappings":"SAAgB,QAAQ,CACtB,IAAc,EACd,KAAa,EACb,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAA;AAE3C,IAAA,IAAI,OAAY;IAChB,IAAI,QAAQ,GAAG,CAAC;IAEhB,OAAO,UAAU,GAAG,IAAW,EAAA;;QAE7B,MAAM,OAAO,GAAG,IAAI;AACpB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QAEtB,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,GAAG,QAAQ,IAAI,KAAK;QAEhE,IAAI,aAAa,EAAE;AACjB,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;YACzB,QAAQ,GAAG,GAAG;QAChB;AAAO,aAAA,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE;AACvC,YAAA,OAAO,GAAG,UAAU,CAAC,MAAK;AACxB,gBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AACzB,gBAAA,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;gBACrB,OAAO,GAAG,IAAI;YAChB,CAAC,EAAE,KAAK,CAAC;QACX;AACF,IAAA,CAAC;AACH;;;;"}
@@ -1,42 +0,0 @@
1
- import { LitElement } from 'lit';
2
- import { property } from 'lit/decorators.js';
3
-
4
- type Constructor<T = {}> = new (...args: any[]) => T;
5
-
6
- /**
7
- * 1. Define an interface for the members the mixin adds.
8
- * This makes the type annotation much cleaner.
9
- */
10
- export interface BaseHyperlinkInterface {
11
- href?: string;
12
- target: '_self' | '_parent' | '_blank' | '_top' | string;
13
- __isLink(): boolean;
14
- }
15
-
16
- /**
17
- * 2. Define the Mixin type separately for readability.
18
- */
19
- type BaseHyperlinkMixinType = <T extends Constructor<LitElement>>(superclass: T) => T & Constructor<BaseHyperlinkInterface>;
20
-
21
- /**
22
- * 3. Apply the type annotation to the variable.
23
- */
24
- const BaseHyperlink: BaseHyperlinkMixinType = <T extends Constructor<LitElement>>(superclass: T) => {
25
- // Naming the class (BaseHyperlinkElement) instead of using 'Mixin' or anonymous
26
- // prevents the "__childPart" visibility error.
27
- class BaseHyperlinkElement extends superclass implements BaseHyperlinkInterface {
28
- @property({ reflect: true })
29
- href?: string;
30
-
31
- @property()
32
- target: '_self' | '_parent' | '_blank' | '_top' | string = '_self';
33
-
34
- __isLink(): boolean {
35
- return !!this.href;
36
- }
37
- }
38
-
39
- return BaseHyperlinkElement as T & Constructor<BaseHyperlinkInterface>;
40
- };
41
-
42
- export default BaseHyperlink;
@@ -1,61 +0,0 @@
1
- import { ReactiveController, ReactiveControllerHost } from 'lit';
2
- import {
3
- autoUpdate,
4
- computePosition,
5
- flip,
6
- offset,
7
- shift,
8
- type Placement,
9
- type Strategy,
10
- } from '@floating-ui/dom';
11
-
12
- type PositionOptions = {
13
- reference: HTMLElement;
14
- floating: HTMLElement;
15
- placement: Placement;
16
- offset: number;
17
- strategy?: Strategy;
18
- };
19
-
20
- async function updateSurfacePosition(options: PositionOptions & { strategy: Strategy }) {
21
- const { x, y } = await computePosition(options.reference, options.floating, {
22
- strategy: options.strategy,
23
- placement: options.placement,
24
- middleware: [offset(options.offset), flip(), shift({ padding: 8 })],
25
- });
26
-
27
- Object.assign(options.floating.style, {
28
- position: options.strategy,
29
- left: `${x}px`,
30
- top: `${y}px`,
31
- });
32
- }
33
-
34
- export class MenuSurfaceController implements ReactiveController {
35
- private cleanup?: () => void;
36
-
37
- constructor(private host: ReactiveControllerHost) {
38
- this.host.addController(this);
39
- }
40
-
41
- start(options: PositionOptions) {
42
- this.stop();
43
-
44
- const strategy = options.strategy ?? 'fixed';
45
-
46
- this.cleanup = autoUpdate(options.reference, options.floating, () => {
47
- updateSurfacePosition({ ...options, strategy });
48
- });
49
-
50
- updateSurfacePosition({ ...options, strategy });
51
- }
52
-
53
- stop() {
54
- this.cleanup?.();
55
- this.cleanup = undefined;
56
- }
57
-
58
- hostDisconnected() {
59
- this.stop();
60
- }
61
- }
@@ -1,57 +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, initial-scale=1.0, viewport-fit=cover' />
6
- <link rel='stylesheet' href='/dist/assets/styles/tokens.css' />
7
- <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+Mono:wght@100..900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">
8
-
9
- <style>
10
- body {
11
- background: #fafafa;
12
- padding: 2rem;
13
- font-family: 'Noto Sans', sans-serif;
14
- }
15
- h2 {
16
- margin-top: 2rem;
17
- margin-bottom: 0.5rem;
18
- }
19
- </style>
20
- </head>
21
- <body>
22
-
23
- <h2>Basic Tree View</h2>
24
- <wc-tree-view>
25
- <wc-tree-node label="Documents" icon="folder" expanded>
26
- <wc-tree-node label="Work" icon="folder" expanded>
27
- <wc-tree-node label="Project A" icon="description"></wc-tree-node>
28
- <wc-tree-node label="Project B" icon="description"></wc-tree-node>
29
- </wc-tree-node>
30
- <wc-tree-node label="Personal" icon="folder">
31
- <wc-tree-node label="Resume.pdf" icon="picture_as_pdf"></wc-tree-node>
32
- </wc-tree-node>
33
- </wc-tree-node>
34
- <wc-tree-node label="Pictures" icon="photo_library">
35
- <wc-tree-node label="Vacation.jpg" icon="image"></wc-tree-node>
36
- <wc-tree-node label="Family.jpg" icon="image"></wc-tree-node>
37
- </wc-tree-node>
38
- <wc-tree-node label="Disabled Node" icon="block" disabled></wc-tree-node>
39
- </wc-tree-view>
40
-
41
- <h2>Tree View without Icons</h2>
42
- <wc-tree-view>
43
- <wc-tree-node label="Category 1" expanded>
44
- <wc-tree-node label="Item 1.1"></wc-tree-node>
45
- <wc-tree-node label="Item 1.2">
46
- <wc-tree-node label="Item 1.2.1"></wc-tree-node>
47
- <wc-tree-node label="Item 1.2.2"></wc-tree-node>
48
- </wc-tree-node>
49
- </wc-tree-node>
50
- <wc-tree-node label="Category 2">
51
- <wc-tree-node label="Item 2.1"></wc-tree-node>
52
- </wc-tree-node>
53
- </wc-tree-view>
54
-
55
- <script type='module' src='/dist/peacock-loader.js'></script>
56
- </body>
57
- </html>
@@ -1,2 +0,0 @@
1
- export { TreeNode } from './tree-node.js';
2
- export { TreeView } from './tree-view.js';
@@ -1,101 +0,0 @@
1
- @use '../../scss/mixin';
2
-
3
- @include mixin.base-styles;
4
-
5
- :host {
6
- display: block;
7
-
8
- // M3 tree node sizing
9
- --tree-node-height: 2.5rem;
10
- --tree-node-icon-size: 1.25rem;
11
- --tree-node-border-radius: var(--global-shape-corner-full, 9999px);
12
-
13
- // M3 color tokens
14
- --tree-node-label-color: var(--color-on-surface);
15
- --tree-node-icon-color: var(--color-on-surface-variant);
16
- --tree-node-selected-background: var(--color-secondary-container);
17
- --tree-node-selected-color: var(--color-on-secondary-container);
18
- --tree-node-hover-background: var(--color-inverse-primary);
19
- --tree-node-focus-ring-color: var(--color-primary);
20
- }
21
-
22
- .tree-node {
23
- display: block;
24
- }
25
-
26
- .tree-node-content {
27
- display: flex;
28
- align-items: center;
29
- gap: 0.25rem;
30
- height: var(--tree-node-height);
31
- border-radius: var(--tree-node-border-radius);
32
- color: var(--tree-node-label-color);
33
- cursor: pointer;
34
- user-select: none;
35
- text-decoration: none;
36
- outline: none;
37
-
38
- @include mixin.get-typography(body-medium);
39
-
40
- &:not(.disabled):hover {
41
- background-color: var(--tree-node-hover-background);
42
- }
43
-
44
- &:focus-visible {
45
- @include mixin.focus-ring(var(--tree-node-focus-ring-color));
46
- }
47
-
48
- &.selected {
49
- background-color: var(--tree-node-selected-background);
50
- color: var(--tree-node-selected-color);
51
-
52
- .node-icon {
53
- --icon-color: var(--tree-node-selected-color);
54
- }
55
- }
56
-
57
- &.disabled {
58
- cursor: not-allowed;
59
- opacity: 0.38;
60
- pointer-events: none;
61
- }
62
- }
63
-
64
- .expand-icon {
65
- --icon-size: var(--tree-node-icon-size);
66
- --icon-color: var(--tree-node-icon-color);
67
- flex-shrink: 0;
68
- transition: transform var(--duration-short2, 200ms) var(--easing-standard, ease);
69
-
70
- &.expanded {
71
- transform: rotate(90deg);
72
- }
73
- }
74
-
75
- .icon-space {
76
- display: inline-block;
77
- width: var(--tree-node-icon-size);
78
- height: var(--tree-node-icon-size);
79
- flex-shrink: 0;
80
- }
81
-
82
- .node-icon {
83
- --icon-size: var(--tree-node-icon-size);
84
- --icon-color: var(--tree-node-icon-color);
85
- flex-shrink: 0;
86
- }
87
-
88
- .tree-node-label {
89
- flex: 1;
90
- overflow: hidden;
91
- text-overflow: ellipsis;
92
- white-space: nowrap;
93
- }
94
-
95
- .node-children {
96
- display: none;
97
-
98
- &.expanded {
99
- display: block;
100
- }
101
- }