@redvars/peacock 3.5.1 → 3.6.1

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 (225) hide show
  1. package/dist/{BaseButton-DuASuVth.js → BaseButton-BNFAYn-S.js} +2 -2
  2. package/dist/{BaseButton-DuASuVth.js.map → BaseButton-BNFAYn-S.js.map} +1 -1
  3. package/dist/BaseInput-14YmcfK7.js +27 -0
  4. package/dist/BaseInput-14YmcfK7.js.map +1 -0
  5. package/dist/banner.js +2 -3
  6. package/dist/banner.js.map +1 -1
  7. package/dist/{button-DouvOfEU.js → button-colors-Ccys3hvS.js} +5 -294
  8. package/dist/button-colors-Ccys3hvS.js.map +1 -0
  9. package/dist/button-group.js +226 -6
  10. package/dist/button-group.js.map +1 -1
  11. package/dist/button.js +294 -8
  12. package/dist/button.js.map +1 -1
  13. package/dist/calendar-column-view.js +634 -0
  14. package/dist/calendar-column-view.js.map +1 -0
  15. package/dist/calendar-event-BrQ_SEKD.js +199 -0
  16. package/dist/calendar-event-BrQ_SEKD.js.map +1 -0
  17. package/dist/calendar-month-view.js +376 -0
  18. package/dist/calendar-month-view.js.map +1 -0
  19. package/dist/calendar.js +339 -0
  20. package/dist/calendar.js.map +1 -0
  21. package/dist/canvas.js +361 -0
  22. package/dist/canvas.js.map +1 -0
  23. package/dist/cb-compound-expression.js +125 -0
  24. package/dist/cb-compound-expression.js.map +1 -0
  25. package/dist/cb-divider.js +150 -0
  26. package/dist/cb-divider.js.map +1 -0
  27. package/dist/cb-expression.js +75 -0
  28. package/dist/cb-expression.js.map +1 -0
  29. package/dist/cb-predicate.js +137 -0
  30. package/dist/cb-predicate.js.map +1 -0
  31. package/dist/code-editor.js +2 -1
  32. package/dist/code-editor.js.map +1 -1
  33. package/dist/code-highlighter.js +1 -1
  34. package/dist/code-highlighter.js.map +1 -1
  35. package/dist/condition-builder.js +58 -0
  36. package/dist/condition-builder.js.map +1 -0
  37. package/dist/custom-elements-jsdocs.json +8479 -3965
  38. package/dist/custom-elements.json +15228 -7544
  39. package/dist/dropdown-button.js +216 -0
  40. package/dist/dropdown-button.js.map +1 -0
  41. package/dist/event-manager-D-QCmUgR.js +113 -0
  42. package/dist/event-manager-D-QCmUgR.js.map +1 -0
  43. package/dist/fab.js +1 -1
  44. package/dist/flow-designer-DvTUrDp5.js +1656 -0
  45. package/dist/flow-designer-DvTUrDp5.js.map +1 -0
  46. package/dist/flow-designer-node-BWrPuxAR.js +548 -0
  47. package/dist/flow-designer-node-BWrPuxAR.js.map +1 -0
  48. package/dist/flow-designer-node.js +4 -0
  49. package/dist/flow-designer-node.js.map +1 -0
  50. package/dist/flow-designer.js +16 -0
  51. package/dist/flow-designer.js.map +1 -0
  52. package/dist/html-editor.js +27516 -0
  53. package/dist/html-editor.js.map +1 -0
  54. package/dist/icon-button-CK1ZuE-2.js +247 -0
  55. package/dist/icon-button-CK1ZuE-2.js.map +1 -0
  56. package/dist/index.js +29 -6
  57. package/dist/index.js.map +1 -1
  58. package/dist/{is-dark-mode-DicqGkCJ.js → is-dark-mode-DOcaw4Yq.js} +2 -27
  59. package/dist/is-dark-mode-DOcaw4Yq.js.map +1 -0
  60. package/dist/modal.js +412 -0
  61. package/dist/modal.js.map +1 -0
  62. package/dist/{navigation-rail-Lxetd5-Z.js → navigation-rail-DTTkqohi.js} +1049 -2391
  63. package/dist/navigation-rail-DTTkqohi.js.map +1 -0
  64. package/dist/notification-manager.js +268 -0
  65. package/dist/notification-manager.js.map +1 -0
  66. package/dist/peacock-loader.js +93 -8
  67. package/dist/peacock-loader.js.map +1 -1
  68. package/dist/popover-NC7b1lTq.js +1971 -0
  69. package/dist/popover-NC7b1lTq.js.map +1 -0
  70. package/dist/popover-content.js +125 -0
  71. package/dist/popover-content.js.map +1 -0
  72. package/dist/popover.js +4 -0
  73. package/dist/popover.js.map +1 -0
  74. package/dist/split-button.js +388 -0
  75. package/dist/split-button.js.map +1 -0
  76. package/dist/src/__controllers/floating-controller.d.ts +35 -0
  77. package/dist/src/calendar/base-event.d.ts +10 -0
  78. package/dist/src/calendar/calendar-column-view.d.ts +41 -0
  79. package/dist/src/calendar/calendar-event.d.ts +7 -0
  80. package/dist/src/calendar/calendar-month-view.d.ts +31 -0
  81. package/dist/src/calendar/calendar.d.ts +65 -0
  82. package/dist/src/calendar/event-manager.d.ts +17 -0
  83. package/dist/src/calendar/index.d.ts +4 -0
  84. package/dist/src/calendar/types.d.ts +13 -0
  85. package/dist/src/calendar/utils.d.ts +31 -0
  86. package/dist/src/canvas/canvas.d.ts +92 -0
  87. package/dist/src/canvas/index.d.ts +2 -0
  88. package/dist/src/condition-builder/cb-compound-expression.d.ts +31 -0
  89. package/dist/src/condition-builder/cb-divider.d.ts +26 -0
  90. package/dist/src/condition-builder/cb-expression.d.ts +31 -0
  91. package/dist/src/condition-builder/cb-predicate.d.ts +30 -0
  92. package/dist/src/condition-builder/condition-builder.d.ts +27 -0
  93. package/dist/src/condition-builder/index.d.ts +5 -0
  94. package/dist/src/dropdown-button/dropdown-button.d.ts +68 -0
  95. package/dist/src/dropdown-button/index.d.ts +1 -0
  96. package/dist/src/flow-designer/commands.d.ts +66 -0
  97. package/dist/src/flow-designer/flow-designer-node.d.ts +46 -0
  98. package/dist/src/flow-designer/flow-designer.d.ts +133 -0
  99. package/dist/src/flow-designer/index.d.ts +7 -0
  100. package/dist/src/flow-designer/layout.d.ts +30 -0
  101. package/dist/src/flow-designer/types.d.ts +142 -0
  102. package/dist/src/flow-designer/validation.d.ts +43 -0
  103. package/dist/src/flow-designer/workflow-utils.d.ts +40 -0
  104. package/dist/src/html-editor/html-editor.d.ts +89 -0
  105. package/dist/src/html-editor/index.d.ts +2 -0
  106. package/dist/src/index.d.ts +15 -0
  107. package/dist/src/list/index.d.ts +2 -0
  108. package/dist/src/list/list-item.d.ts +35 -0
  109. package/dist/src/list/list.d.ts +28 -0
  110. package/dist/src/menu/menu/menu.d.ts +5 -7
  111. package/dist/src/menu/menu-item/menu-item.d.ts +14 -13
  112. package/dist/src/modal/index.d.ts +1 -0
  113. package/dist/src/modal/modal.d.ts +57 -0
  114. package/dist/src/navigation-rail/navigation-rail.d.ts +3 -7
  115. package/dist/src/notification-manager/index.d.ts +1 -0
  116. package/dist/src/notification-manager/notification-manager.d.ts +44 -0
  117. package/dist/src/number-field/number-field.d.ts +2 -2
  118. package/dist/src/popover/index.d.ts +2 -0
  119. package/dist/src/popover/popover-content.d.ts +29 -0
  120. package/dist/src/popover/popover.d.ts +62 -0
  121. package/dist/src/split-button/index.d.ts +1 -0
  122. package/dist/src/split-button/split-button.d.ts +72 -0
  123. package/dist/src/svg/index.d.ts +1 -0
  124. package/dist/src/svg/svg.d.ts +38 -0
  125. package/dist/src/toolbar/toolbar.d.ts +3 -3
  126. package/dist/src/tooltip/tooltip.d.ts +2 -15
  127. package/dist/test/flow-designer.test.d.ts +1 -0
  128. package/dist/toolbar.js +3 -3
  129. package/dist/toolbar.js.map +1 -1
  130. package/dist/tsconfig.tsbuildinfo +1 -1
  131. package/package.json +10 -2
  132. package/readme.md +3 -3
  133. package/src/__controllers/floating-controller.ts +237 -0
  134. package/src/banner/banner.scss +2 -3
  135. package/src/button/button/button.ts +1 -0
  136. package/src/calendar/base-event.ts +49 -0
  137. package/src/calendar/calendar-column-view.scss +326 -0
  138. package/src/calendar/calendar-column-view.ts +392 -0
  139. package/src/calendar/calendar-event.ts +20 -0
  140. package/src/calendar/calendar-month-view.scss +192 -0
  141. package/src/calendar/calendar-month-view.ts +244 -0
  142. package/src/calendar/calendar.scss +71 -0
  143. package/src/calendar/calendar.ts +298 -0
  144. package/src/calendar/event-manager.ts +117 -0
  145. package/src/calendar/index.ts +4 -0
  146. package/src/calendar/types.ts +14 -0
  147. package/src/calendar/utils.ts +180 -0
  148. package/src/canvas/canvas.scss +60 -0
  149. package/src/canvas/canvas.ts +391 -0
  150. package/src/canvas/index.ts +2 -0
  151. package/src/code-highlighter/code-highlighter.ts +1 -1
  152. package/src/condition-builder/cb-compound-expression.scss +37 -0
  153. package/src/condition-builder/cb-compound-expression.ts +80 -0
  154. package/src/condition-builder/cb-divider.scss +93 -0
  155. package/src/condition-builder/cb-divider.ts +56 -0
  156. package/src/condition-builder/cb-expression.scss +14 -0
  157. package/src/condition-builder/cb-expression.ts +49 -0
  158. package/src/condition-builder/cb-predicate.scss +35 -0
  159. package/src/condition-builder/cb-predicate.ts +102 -0
  160. package/src/condition-builder/condition-builder.scss +13 -0
  161. package/src/condition-builder/condition-builder.ts +38 -0
  162. package/src/condition-builder/index.ts +5 -0
  163. package/src/dropdown-button/demo/index.html +110 -0
  164. package/src/dropdown-button/dropdown-button.scss +22 -0
  165. package/src/dropdown-button/dropdown-button.ts +206 -0
  166. package/src/dropdown-button/index.ts +1 -0
  167. package/src/flow-designer/DEMO.md +239 -0
  168. package/src/flow-designer/commands.ts +278 -0
  169. package/src/flow-designer/flow-designer-node.ts +172 -0
  170. package/src/flow-designer/flow-designer.scss +457 -0
  171. package/src/flow-designer/flow-designer.ts +611 -0
  172. package/src/flow-designer/index.ts +41 -0
  173. package/src/flow-designer/layout.ts +357 -0
  174. package/src/flow-designer/types.ts +166 -0
  175. package/src/flow-designer/validation.ts +284 -0
  176. package/src/flow-designer/workflow-utils.ts +282 -0
  177. package/src/html-editor/html-editor.scss +188 -0
  178. package/src/html-editor/html-editor.ts +491 -0
  179. package/src/html-editor/index.ts +3 -0
  180. package/src/index.ts +27 -1
  181. package/src/list/index.ts +2 -0
  182. package/src/list/list-item.scss +111 -0
  183. package/src/list/list-item.ts +175 -0
  184. package/src/list/list.scss +24 -0
  185. package/src/list/list.ts +51 -0
  186. package/src/menu/menu/menu.scss +2 -2
  187. package/src/menu/menu/menu.ts +91 -101
  188. package/src/menu/menu-item/menu-item.scss +4 -0
  189. package/src/menu/menu-item/menu-item.ts +82 -78
  190. package/src/modal/index.ts +1 -0
  191. package/src/modal/modal.scss +206 -0
  192. package/src/modal/modal.ts +195 -0
  193. package/src/navigation-rail/navigation-rail-item.scss +7 -38
  194. package/src/navigation-rail/navigation-rail-item.ts +1 -2
  195. package/src/navigation-rail/navigation-rail.scss +17 -21
  196. package/src/navigation-rail/navigation-rail.ts +6 -9
  197. package/src/notification-manager/index.ts +1 -0
  198. package/src/notification-manager/notification-manager.scss +113 -0
  199. package/src/notification-manager/notification-manager.ts +199 -0
  200. package/src/number-field/number-field.ts +2 -2
  201. package/src/peacock-loader.ts +83 -0
  202. package/src/popover/index.ts +2 -0
  203. package/src/popover/popover-content.scss +69 -0
  204. package/src/popover/popover-content.ts +51 -0
  205. package/src/popover/popover.scss +7 -0
  206. package/src/popover/popover.ts +170 -0
  207. package/src/split-button/index.ts +1 -0
  208. package/src/split-button/split-button-colors.scss +56 -0
  209. package/src/split-button/split-button-sizes.scss +28 -0
  210. package/src/split-button/split-button.scss +79 -0
  211. package/src/split-button/split-button.ts +236 -0
  212. package/src/svg/index.ts +1 -0
  213. package/src/svg/svg.scss +91 -0
  214. package/src/svg/svg.ts +160 -0
  215. package/src/table/table.ts +2 -2
  216. package/src/toolbar/toolbar.ts +3 -3
  217. package/src/tooltip/tooltip.scss +4 -3
  218. package/src/tooltip/tooltip.ts +46 -104
  219. package/dist/button-DouvOfEU.js.map +0 -1
  220. package/dist/button-group-CEdMwvJJ.js +0 -464
  221. package/dist/button-group-CEdMwvJJ.js.map +0 -1
  222. package/dist/is-dark-mode-DicqGkCJ.js.map +0 -1
  223. package/dist/navigation-rail-Lxetd5-Z.js.map +0 -1
  224. package/dist/src/menu/menu/MenuSurfaceController.d.ts +0 -18
  225. package/src/menu/menu/MenuSurfaceController.ts +0 -61
@@ -0,0 +1,216 @@
1
+ import { a as i, _ as __decorate, I as IndividualComponent, i as i$1, b } from './IndividualComponent-DUINtMGK.js';
2
+ import { n } from './property-1psGvXOq.js';
3
+ import { r } from './state-DwbEjqVk.js';
4
+ import { e } from './query-QBcUV-L_.js';
5
+ import { e as e$1 } from './class-map-YU7g0o3B.js';
6
+ import './directive-ZPhl09Yt.js';
7
+
8
+ var css_248z = i`* {
9
+ box-sizing: border-box;
10
+ }
11
+
12
+ .screen-reader-only {
13
+ display: none !important;
14
+ }
15
+
16
+ :host {
17
+ display: inline-flex;
18
+ position: relative;
19
+ --dropdown-button-container-shape: var(--shape-corner-medium);
20
+ }
21
+
22
+ .trigger-button {
23
+ --button-container-shape: var(--dropdown-button-container-shape);
24
+ }
25
+
26
+ .dropdown-icon {
27
+ transition: transform 200ms ease;
28
+ }
29
+
30
+ .trigger-button.active .dropdown-icon {
31
+ transform: rotate(180deg);
32
+ }`;
33
+
34
+ /**
35
+ * @label Dropdown Button
36
+ * @tag wc-dropdown-button
37
+ * @rawTag dropdown-button
38
+ *
39
+ * @summary A button that opens a dropdown menu when clicked.
40
+ * @overview
41
+ * <p>The dropdown button combines a single button with a dropdown menu. Clicking the button toggles a menu of actions or options. It follows M3 Material Design, keeping a compact control while exposing related actions on demand.</p>
42
+ *
43
+ * @cssprop --dropdown-button-container-shape: Defines the border radius of the dropdown button container shape.
44
+ *
45
+ * @fires {CustomEvent} toggle-menu - Dispatched when the dropdown menu is opened or closed.
46
+ *
47
+ * @example
48
+ * ```html
49
+ * <wc-dropdown-button>
50
+ * Actions
51
+ * <wc-menu-item slot="menu">Edit</wc-menu-item>
52
+ * <wc-menu-item slot="menu">Delete</wc-menu-item>
53
+ * </wc-dropdown-button>
54
+ * ```
55
+ * @tags controls
56
+ */
57
+ let DropdownButton = class DropdownButton extends i$1 {
58
+ constructor() {
59
+ super(...arguments);
60
+ /**
61
+ * Button size.
62
+ * Possible values are `"xs"`, `"sm"`, `"md"`, `"lg"`, `"xl"`. Defaults to `"sm"`.
63
+ */
64
+ this.size = 'sm';
65
+ /**
66
+ * The visual style of the dropdown button.
67
+ *
68
+ * Possible variant values:
69
+ * `"filled"` is a filled button.
70
+ * `"outlined"` is an outlined button.
71
+ * `"text"` is a transparent button.
72
+ * `"tonal"` is a light color button.
73
+ * `"elevated"` is an elevated button.
74
+ */
75
+ this.variant = 'filled';
76
+ /**
77
+ * Defines the primary color of the dropdown button.
78
+ */
79
+ this.color = 'primary';
80
+ /**
81
+ * Whether the dropdown button is disabled.
82
+ */
83
+ this.disabled = false;
84
+ /**
85
+ * Menu placement relative to the button.
86
+ * Possible values are `"bottom-start"`, `"bottom-end"`, `"top-start"`, `"top-end"`. Defaults to `"bottom-start"`.
87
+ */
88
+ this.placement = 'bottom-start';
89
+ this._menuOpen = false;
90
+ this._menuId = `dropdown-menu-${Math.random().toString(36).slice(2, 9)}`;
91
+ this._onMenuOpened = () => {
92
+ this._menuOpen = true;
93
+ this.dispatchEvent(new CustomEvent('toggle-menu', {
94
+ detail: { open: true },
95
+ bubbles: true,
96
+ composed: true,
97
+ }));
98
+ };
99
+ this._onMenuClosed = () => {
100
+ this._menuOpen = false;
101
+ this.dispatchEvent(new CustomEvent('toggle-menu', {
102
+ detail: { open: false },
103
+ bubbles: true,
104
+ composed: true,
105
+ }));
106
+ };
107
+ this._onKeyDown = (event) => {
108
+ if (this.disabled)
109
+ return;
110
+ if (event.key === 'ArrowDown' && !this._menuOpen) {
111
+ event.preventDefault();
112
+ this._menu.anchorElement = this;
113
+ this._menu?.show();
114
+ requestAnimationFrame(() => this._menu?.focus());
115
+ }
116
+ if (event.key === 'Escape' && this._menuOpen) {
117
+ this._menu?.close();
118
+ this._triggerButton?.focus();
119
+ }
120
+ };
121
+ }
122
+ focus() {
123
+ this._triggerButton?.focus();
124
+ }
125
+ _onButtonClick(event) {
126
+ event.stopPropagation();
127
+ if (this.disabled)
128
+ return;
129
+ if (this._menuOpen) {
130
+ this._menu?.close();
131
+ }
132
+ else {
133
+ this._menu.anchorElement = this;
134
+ this._menu?.show();
135
+ }
136
+ }
137
+ connectedCallback() {
138
+ super.connectedCallback();
139
+ this.addEventListener('keydown', this._onKeyDown);
140
+ }
141
+ disconnectedCallback() {
142
+ this.removeEventListener('keydown', this._onKeyDown);
143
+ super.disconnectedCallback();
144
+ }
145
+ render() {
146
+ const buttonClasses = {
147
+ 'trigger-button': true,
148
+ active: this._menuOpen,
149
+ disabled: this.disabled,
150
+ };
151
+ return b `
152
+ <wc-button
153
+ class=${e$1(buttonClasses)}
154
+ size=${this.size}
155
+ variant=${this.variant}
156
+ color=${this.color}
157
+ icon-align="end"
158
+ ?disabled=${this.disabled}
159
+ .configAria=${{
160
+ 'aria-haspopup': 'menu',
161
+ 'aria-expanded': String(this._menuOpen),
162
+ 'aria-controls': this._menuId,
163
+ }}
164
+ @click=${this._onButtonClick}
165
+ >
166
+ <slot></slot>
167
+ <wc-icon
168
+ slot="icon"
169
+ name="arrow_drop_down"
170
+ class="dropdown-icon"
171
+ aria-hidden="true"
172
+ ></wc-icon>
173
+ </wc-button>
174
+
175
+ <wc-menu
176
+ id=${this._menuId}
177
+ placement=${this.placement}
178
+ @opened=${this._onMenuOpened}
179
+ @closed=${this._onMenuClosed}
180
+ >
181
+ <slot name="menu"></slot>
182
+ </wc-menu>
183
+ `;
184
+ }
185
+ };
186
+ DropdownButton.styles = [css_248z];
187
+ __decorate([
188
+ n({ reflect: true })
189
+ ], DropdownButton.prototype, "size", void 0);
190
+ __decorate([
191
+ n({ reflect: true })
192
+ ], DropdownButton.prototype, "variant", void 0);
193
+ __decorate([
194
+ n({ reflect: true })
195
+ ], DropdownButton.prototype, "color", void 0);
196
+ __decorate([
197
+ n({ type: Boolean, reflect: true })
198
+ ], DropdownButton.prototype, "disabled", void 0);
199
+ __decorate([
200
+ n({ reflect: true })
201
+ ], DropdownButton.prototype, "placement", void 0);
202
+ __decorate([
203
+ r()
204
+ ], DropdownButton.prototype, "_menuOpen", void 0);
205
+ __decorate([
206
+ e('.trigger-button')
207
+ ], DropdownButton.prototype, "_triggerButton", void 0);
208
+ __decorate([
209
+ e('wc-menu')
210
+ ], DropdownButton.prototype, "_menu", void 0);
211
+ DropdownButton = __decorate([
212
+ IndividualComponent
213
+ ], DropdownButton);
214
+
215
+ export { DropdownButton };
216
+ //# sourceMappingURL=dropdown-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-button.js","sources":["../../src/dropdown-button/dropdown-button.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './dropdown-button.scss';\n\n/**\n * @label Dropdown Button\n * @tag wc-dropdown-button\n * @rawTag dropdown-button\n *\n * @summary A button that opens a dropdown menu when clicked.\n * @overview\n * <p>The dropdown button combines a single button with a dropdown menu. Clicking the button toggles a menu of actions or options. It follows M3 Material Design, keeping a compact control while exposing related actions on demand.</p>\n *\n * @cssprop --dropdown-button-container-shape: Defines the border radius of the dropdown button container shape.\n *\n * @fires {CustomEvent} toggle-menu - Dispatched when the dropdown menu is opened or closed.\n *\n * @example\n * ```html\n * <wc-dropdown-button>\n * Actions\n * <wc-menu-item slot=\"menu\">Edit</wc-menu-item>\n * <wc-menu-item slot=\"menu\">Delete</wc-menu-item>\n * </wc-dropdown-button>\n * ```\n * @tags controls\n */\n@IndividualComponent\nexport class DropdownButton extends LitElement {\n static override styles = [styles];\n\n /**\n * Button size.\n * Possible values are `\"xs\"`, `\"sm\"`, `\"md\"`, `\"lg\"`, `\"xl\"`. Defaults to `\"sm\"`.\n */\n @property({ reflect: true }) size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'sm';\n\n /**\n * The visual style of the dropdown button.\n *\n * Possible variant values:\n * `\"filled\"` is a filled button.\n * `\"outlined\"` is an outlined button.\n * `\"text\"` is a transparent button.\n * `\"tonal\"` is a light color button.\n * `\"elevated\"` is an elevated button.\n */\n @property({ reflect: true }) variant:\n | 'elevated'\n | 'filled'\n | 'tonal'\n | 'outlined'\n | 'text' = 'filled';\n\n /**\n * Defines the primary color of the dropdown button.\n */\n @property({ reflect: true }) color:\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'success'\n | 'danger'\n | 'warning'\n | 'surface'\n | 'on-surface' = 'primary';\n\n /**\n * Whether the dropdown button is disabled.\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * Menu placement relative to the button.\n * Possible values are `\"bottom-start\"`, `\"bottom-end\"`, `\"top-start\"`, `\"top-end\"`. Defaults to `\"bottom-start\"`.\n */\n @property({ reflect: true }) placement:\n | 'bottom-start'\n | 'bottom-end'\n | 'top-start'\n | 'top-end' = 'bottom-start';\n\n @state() private _menuOpen = false;\n\n @query('.trigger-button') private readonly _triggerButton!: HTMLElement & {\n focus: () => void;\n };\n\n @query('wc-menu') private readonly _menu!: HTMLElement & {\n open: boolean;\n anchorElement: HTMLElement | null;\n show: () => void;\n close: () => void;\n focus: () => void;\n };\n\n private _menuId = `dropdown-menu-${Math.random().toString(36).slice(2, 9)}`;\n\n override focus() {\n this._triggerButton?.focus();\n }\n\n private _onButtonClick(event: MouseEvent) {\n event.stopPropagation();\n if (this.disabled) return;\n\n if (this._menuOpen) {\n this._menu?.close();\n } else {\n this._menu.anchorElement = this;\n this._menu?.show();\n }\n }\n\n private _onMenuOpened = () => {\n this._menuOpen = true;\n this.dispatchEvent(\n new CustomEvent('toggle-menu', {\n detail: { open: true },\n bubbles: true,\n composed: true,\n }),\n );\n };\n\n private _onMenuClosed = () => {\n this._menuOpen = false;\n this.dispatchEvent(\n new CustomEvent('toggle-menu', {\n detail: { open: false },\n bubbles: true,\n composed: true,\n }),\n );\n };\n\n private _onKeyDown = (event: KeyboardEvent) => {\n if (this.disabled) return;\n\n if (event.key === 'ArrowDown' && !this._menuOpen) {\n event.preventDefault();\n this._menu.anchorElement = this;\n this._menu?.show();\n requestAnimationFrame(() => this._menu?.focus());\n }\n\n if (event.key === 'Escape' && this._menuOpen) {\n this._menu?.close();\n this._triggerButton?.focus();\n }\n };\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('keydown', this._onKeyDown);\n }\n\n override disconnectedCallback() {\n this.removeEventListener('keydown', this._onKeyDown);\n super.disconnectedCallback();\n }\n\n override render() {\n const buttonClasses = {\n 'trigger-button': true,\n active: this._menuOpen,\n disabled: this.disabled,\n };\n\n return html`\n <wc-button\n class=${classMap(buttonClasses)}\n size=${this.size}\n variant=${this.variant}\n color=${this.color}\n icon-align=\"end\"\n ?disabled=${this.disabled}\n .configAria=${{\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(this._menuOpen),\n 'aria-controls': this._menuId,\n }}\n @click=${this._onButtonClick}\n >\n <slot></slot>\n <wc-icon\n slot=\"icon\"\n name=\"arrow_drop_down\"\n class=\"dropdown-icon\"\n aria-hidden=\"true\"\n ></wc-icon>\n </wc-button>\n\n <wc-menu\n id=${this._menuId}\n placement=${this.placement}\n @opened=${this._onMenuOpened}\n @closed=${this._onMenuClosed}\n >\n <slot name=\"menu\"></slot>\n </wc-menu>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","styles","property","state","query"],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ import { c as __classPrivateFieldGet } from './IndividualComponent-DUINtMGK.js';
2
+ import { C as CalendarEvent } from './calendar-event-BrQ_SEKD.js';
3
+
4
+ var _EventManager_events, _MonthEventManager_events;
5
+ class ColumnEvent extends CalendarEvent {
6
+ constructor(event) {
7
+ super(event.start, event.end, event.title, event.color, event.data);
8
+ this.width = 1;
9
+ }
10
+ }
11
+ class EventManager {
12
+ constructor() {
13
+ _EventManager_events.set(this, []);
14
+ this.columns = [];
15
+ }
16
+ addEvents(events) {
17
+ events.forEach(event => {
18
+ __classPrivateFieldGet(this, _EventManager_events, "f").push(new ColumnEvent(event));
19
+ });
20
+ }
21
+ process() {
22
+ this.columns = [];
23
+ let events = __classPrivateFieldGet(this, _EventManager_events, "f").sort((a, b) => {
24
+ return a.start.valueOf() - b.start.valueOf() || b.length() - a.length();
25
+ });
26
+ let oldLength = null;
27
+ /* Bucketing: group non-overlapping events into columns */
28
+ while (events.length) {
29
+ if (oldLength === events.length) {
30
+ throw new Error('Events not processed in previous run, breaking infinite loop');
31
+ }
32
+ oldLength = events.length;
33
+ const column = [];
34
+ for (let i = 0; i < events.length; i++) {
35
+ if (i === 0) {
36
+ column.push(events[i]);
37
+ }
38
+ else if (events[i].start.valueOf() >= column[column.length - 1].end.valueOf()) {
39
+ column.push(events[i]);
40
+ }
41
+ }
42
+ this.columns.push(column);
43
+ events = events.filter(e => !column.find(ce => ce.gid === e.gid));
44
+ }
45
+ /* Calculate widths for events that span multiple columns */
46
+ for (let i = 0; i < this.columns.length - 1; i++) {
47
+ this.columns[i].forEach(event => {
48
+ for (let j = i + 1; j < this.columns.length; j++) {
49
+ if (this.columns[j].find(colEvent => event.isOverlapping(colEvent))) {
50
+ break;
51
+ }
52
+ event.width++;
53
+ }
54
+ });
55
+ }
56
+ }
57
+ }
58
+ _EventManager_events = new WeakMap();
59
+ class MonthEventManager {
60
+ constructor() {
61
+ _MonthEventManager_events.set(this, []);
62
+ this.columns = [];
63
+ }
64
+ addEvents(events) {
65
+ events.forEach(event => {
66
+ __classPrivateFieldGet(this, _MonthEventManager_events, "f").push(new ColumnEvent(event));
67
+ });
68
+ }
69
+ process() {
70
+ this.columns = [];
71
+ let events = __classPrivateFieldGet(this, _MonthEventManager_events, "f").sort((a, b) => {
72
+ return a.start.valueOf() - b.start.valueOf() || b.length() - a.length();
73
+ });
74
+ let oldLength = null;
75
+ while (events.length) {
76
+ if (oldLength === events.length) {
77
+ throw new Error('Events not processed in previous run, breaking infinite loop');
78
+ }
79
+ oldLength = events.length;
80
+ const column = [];
81
+ for (let i = 0; i < events.length; i++) {
82
+ if (i === 0) {
83
+ column.push(events[i]);
84
+ }
85
+ else {
86
+ const lastEnd = new Date(column[column.length - 1].end);
87
+ lastEnd.setHours(23, 59, 59, 999);
88
+ const nextStart = new Date(events[i].start);
89
+ nextStart.setHours(0, 0, 0, 0);
90
+ if (nextStart.valueOf() > lastEnd.valueOf()) {
91
+ column.push(events[i]);
92
+ }
93
+ }
94
+ }
95
+ this.columns.push(column);
96
+ events = events.filter(e => !column.find(ce => ce.gid === e.gid));
97
+ }
98
+ for (let i = 0; i < this.columns.length - 1; i++) {
99
+ this.columns[i].forEach(event => {
100
+ for (let j = i + 1; j < this.columns.length; j++) {
101
+ if (this.columns[j].find(colEvent => event.isOverlapping(colEvent))) {
102
+ break;
103
+ }
104
+ event.width++;
105
+ }
106
+ });
107
+ }
108
+ }
109
+ }
110
+ _MonthEventManager_events = new WeakMap();
111
+
112
+ export { EventManager as E, MonthEventManager as M };
113
+ //# sourceMappingURL=event-manager-D-QCmUgR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-manager-D-QCmUgR.js","sources":["../../src/calendar/event-manager.ts"],"sourcesContent":["import { CalendarEvent } from './calendar-event.js';\n\nexport class ColumnEvent extends CalendarEvent {\n width: number = 1;\n\n constructor(event: CalendarEvent) {\n super(event.start, event.end, event.title, event.color, event.data);\n }\n}\n\nexport class EventManager {\n #events: ColumnEvent[] = [];\n columns: ColumnEvent[][] = [];\n\n addEvents(events: CalendarEvent[]): void {\n events.forEach(event => {\n this.#events.push(new ColumnEvent(event));\n });\n }\n\n process(): void {\n this.columns = [];\n let events = this.#events.sort((a, b) => {\n return a.start.valueOf() - b.start.valueOf() || b.length() - a.length();\n });\n\n let oldLength: number | null = null;\n /* Bucketing: group non-overlapping events into columns */\n while (events.length) {\n if (oldLength === events.length) {\n throw new Error(\n 'Events not processed in previous run, breaking infinite loop',\n );\n }\n oldLength = events.length;\n\n const column: ColumnEvent[] = [];\n for (let i = 0; i < events.length; i++) {\n if (i === 0) {\n column.push(events[i]);\n } else if (events[i].start.valueOf() >= column[column.length - 1].end.valueOf()) {\n column.push(events[i]);\n }\n }\n this.columns.push(column);\n events = events.filter(e => !column.find(ce => ce.gid === e.gid));\n }\n\n /* Calculate widths for events that span multiple columns */\n for (let i = 0; i < this.columns.length - 1; i++) {\n this.columns[i].forEach(event => {\n for (let j = i + 1; j < this.columns.length; j++) {\n if (this.columns[j].find(colEvent => event.isOverlapping(colEvent))) {\n break;\n }\n event.width++;\n }\n });\n }\n }\n}\n\nexport class MonthEventManager {\n #events: ColumnEvent[] = [];\n columns: ColumnEvent[][] = [];\n\n addEvents(events: CalendarEvent[]): void {\n events.forEach(event => {\n this.#events.push(new ColumnEvent(event));\n });\n }\n\n process(): void {\n this.columns = [];\n let events = this.#events.sort((a, b) => {\n return a.start.valueOf() - b.start.valueOf() || b.length() - a.length();\n });\n\n let oldLength: number | null = null;\n while (events.length) {\n if (oldLength === events.length) {\n throw new Error(\n 'Events not processed in previous run, breaking infinite loop',\n );\n }\n oldLength = events.length;\n\n const column: ColumnEvent[] = [];\n for (let i = 0; i < events.length; i++) {\n if (i === 0) {\n column.push(events[i]);\n } else {\n const lastEnd = new Date(column[column.length - 1].end);\n lastEnd.setHours(23, 59, 59, 999);\n const nextStart = new Date(events[i].start);\n nextStart.setHours(0, 0, 0, 0);\n if (nextStart.valueOf() > lastEnd.valueOf()) {\n column.push(events[i]);\n }\n }\n }\n this.columns.push(column);\n events = events.filter(e => !column.find(ce => ce.gid === e.gid));\n }\n\n for (let i = 0; i < this.columns.length - 1; i++) {\n this.columns[i].forEach(event => {\n for (let j = i + 1; j < this.columns.length; j++) {\n if (this.columns[j].find(colEvent => event.isOverlapping(colEvent))) {\n break;\n }\n event.width++;\n }\n });\n }\n }\n}\n"],"names":[],"mappings":";;;;AAEM,MAAO,WAAY,SAAQ,aAAa,CAAA;AAG5C,IAAA,WAAA,CAAY,KAAoB,EAAA;QAC9B,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;QAHrE,IAAA,CAAA,KAAK,GAAW,CAAC;IAIjB;AACD;MAEY,YAAY,CAAA;AAAzB,IAAA,WAAA,GAAA;AACE,QAAA,oBAAA,CAAA,GAAA,CAAA,IAAA,EAAyB,EAAE,CAAA;QAC3B,IAAA,CAAA,OAAO,GAAoB,EAAE;IAgD/B;AA9CE,IAAA,SAAS,CAAC,MAAuB,EAAA;AAC/B,QAAA,MAAM,CAAC,OAAO,CAAC,KAAK,IAAG;YACrB,sBAAA,CAAA,IAAI,EAAA,oBAAA,EAAA,GAAA,CAAQ,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;AAC3C,QAAA,CAAC,CAAC;IACJ;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;AACjB,QAAA,IAAI,MAAM,GAAG,sBAAA,CAAA,IAAI,EAAA,oBAAA,EAAA,GAAA,CAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;YACtC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE;AACzE,QAAA,CAAC,CAAC;QAEF,IAAI,SAAS,GAAkB,IAAI;;AAEnC,QAAA,OAAO,MAAM,CAAC,MAAM,EAAE;AACpB,YAAA,IAAI,SAAS,KAAK,MAAM,CAAC,MAAM,EAAE;AAC/B,gBAAA,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D;YACH;AACA,YAAA,SAAS,GAAG,MAAM,CAAC,MAAM;YAEzB,MAAM,MAAM,GAAkB,EAAE;AAChC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,gBAAA,IAAI,CAAC,KAAK,CAAC,EAAE;oBACX,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB;qBAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE;oBAC/E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB;YACF;AACA,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;YACzB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QACnE;;AAGA,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAG;AAC9B,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAChD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE;wBACnE;oBACF;oBACA,KAAK,CAAC,KAAK,EAAE;gBACf;AACF,YAAA,CAAC,CAAC;QACJ;IACF;AACD;;MAEY,iBAAiB,CAAA;AAA9B,IAAA,WAAA,GAAA;AACE,QAAA,yBAAA,CAAA,GAAA,CAAA,IAAA,EAAyB,EAAE,CAAA;QAC3B,IAAA,CAAA,OAAO,GAAoB,EAAE;IAoD/B;AAlDE,IAAA,SAAS,CAAC,MAAuB,EAAA;AAC/B,QAAA,MAAM,CAAC,OAAO,CAAC,KAAK,IAAG;YACrB,sBAAA,CAAA,IAAI,EAAA,yBAAA,EAAA,GAAA,CAAQ,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;AAC3C,QAAA,CAAC,CAAC;IACJ;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;AACjB,QAAA,IAAI,MAAM,GAAG,sBAAA,CAAA,IAAI,EAAA,yBAAA,EAAA,GAAA,CAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;YACtC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE;AACzE,QAAA,CAAC,CAAC;QAEF,IAAI,SAAS,GAAkB,IAAI;AACnC,QAAA,OAAO,MAAM,CAAC,MAAM,EAAE;AACpB,YAAA,IAAI,SAAS,KAAK,MAAM,CAAC,MAAM,EAAE;AAC/B,gBAAA,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D;YACH;AACA,YAAA,SAAS,GAAG,MAAM,CAAC,MAAM;YAEzB,MAAM,MAAM,GAAkB,EAAE;AAChC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,gBAAA,IAAI,CAAC,KAAK,CAAC,EAAE;oBACX,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB;qBAAO;AACL,oBAAA,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBACvD,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;AACjC,oBAAA,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC3C,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC9B,IAAI,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE;wBAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACxB;gBACF;YACF;AACA,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;YACzB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QACnE;AAEA,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAG;AAC9B,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAChD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE;wBACnE;oBACF;oBACA,KAAK,CAAC,KAAK,EAAE;gBACf;AACF,YAAA,CAAC,CAAC;QACJ;IACF;AACD;;;;;"}
package/dist/fab.js CHANGED
@@ -2,7 +2,7 @@ import { a as i, _ as __decorate, I as IndividualComponent, A, c as __classPriva
2
2
  import { n } from './property-1psGvXOq.js';
3
3
  import { r } from './state-DwbEjqVk.js';
4
4
  import { e } from './class-map-YU7g0o3B.js';
5
- import { B as BaseButton, o, s as spread } from './BaseButton-DuASuVth.js';
5
+ import { B as BaseButton, o, s as spread } from './BaseButton-BNFAYn-S.js';
6
6
  import { i as isActivationClick, d as dispatchActivationClick } from './dispatch-event-utils-CuEqjlPT.js';
7
7
  import { t as throttle } from './BaseHyperlinkMixin-BNuwbiEf.js';
8
8
  import './directive-ZPhl09Yt.js';