@schukai/monster 3.64.0 → 3.65.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 (122) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/example/components/form/button.mjs +1 -1
  3. package/example/components/form/field-set.mjs +4 -0
  4. package/example/components/form/select.mjs +1 -1
  5. package/package.json +2 -1
  6. package/source/components/datatable/datatable/header.mjs +228 -221
  7. package/source/components/datatable/style/dataset.pcss +1 -0
  8. package/source/components/datatable/style/datatable.pcss +1 -0
  9. package/source/components/datatable/stylesheet/change-button.mjs +8 -4
  10. package/source/components/datatable/stylesheet/column-bar.mjs +8 -4
  11. package/source/components/datatable/stylesheet/dataset.mjs +9 -5
  12. package/source/components/datatable/stylesheet/datasource.mjs +8 -4
  13. package/source/components/datatable/stylesheet/datatable.mjs +9 -5
  14. package/source/components/datatable/stylesheet/embedded-pagination.mjs +8 -4
  15. package/source/components/datatable/stylesheet/filter-button.mjs +8 -4
  16. package/source/components/datatable/stylesheet/filter-controls-defaults.mjs +8 -4
  17. package/source/components/datatable/stylesheet/filter-date-range.mjs +8 -4
  18. package/source/components/datatable/stylesheet/filter-range.mjs +8 -4
  19. package/source/components/datatable/stylesheet/filter.mjs +8 -4
  20. package/source/components/datatable/stylesheet/pagination.mjs +8 -4
  21. package/source/components/datatable/stylesheet/save-button.mjs +8 -4
  22. package/source/components/datatable/stylesheet/select-filter.mjs +8 -4
  23. package/source/components/datatable/stylesheet/status.mjs +8 -4
  24. package/source/components/form/button.mjs +263 -281
  25. package/source/components/form/field-set.mjs +300 -0
  26. package/source/components/form/popper.mjs +13 -480
  27. package/source/components/form/style/field-set.pcss +13 -0
  28. package/source/components/form/stylesheet/action-button.mjs +8 -4
  29. package/source/components/form/stylesheet/api-button.mjs +8 -4
  30. package/source/components/form/stylesheet/button-bar.mjs +9 -5
  31. package/source/components/form/stylesheet/button.mjs +8 -4
  32. package/source/components/form/stylesheet/confirm-button.mjs +9 -5
  33. package/source/components/form/stylesheet/context-error.mjs +8 -4
  34. package/source/components/form/stylesheet/context-help.mjs +8 -4
  35. package/source/components/form/stylesheet/field-set.mjs +31 -0
  36. package/source/components/form/stylesheet/form.mjs +9 -5
  37. package/source/components/form/stylesheet/message-state-button.mjs +8 -4
  38. package/source/components/form/stylesheet/popper-button.mjs +8 -4
  39. package/source/components/form/stylesheet/select.mjs +8 -4
  40. package/source/components/form/stylesheet/state-button.mjs +8 -4
  41. package/source/components/form/stylesheet/toggle-switch.mjs +8 -4
  42. package/source/components/form/stylesheet/tree-select.mjs +8 -4
  43. package/source/components/host/collapse.mjs +14 -516
  44. package/source/components/host/config-manager.mjs +9 -2
  45. package/source/components/host/constants.mjs +9 -4
  46. package/source/components/host/details.mjs +14 -253
  47. package/source/components/host/stylesheet/call-button.mjs +8 -4
  48. package/source/components/host/stylesheet/config-manager.mjs +8 -4
  49. package/source/components/host/stylesheet/host.mjs +9 -5
  50. package/source/components/host/stylesheet/overlay.mjs +9 -5
  51. package/source/components/host/stylesheet/toggle-button.mjs +8 -4
  52. package/source/components/host/stylesheet/viewer.mjs +8 -4
  53. package/source/components/layout/collapse.mjs +542 -0
  54. package/source/components/layout/details.mjs +271 -0
  55. package/source/components/layout/panel.mjs +6 -0
  56. package/source/components/layout/popper.mjs +476 -0
  57. package/source/components/{host → layout}/stylesheet/collapse.mjs +8 -4
  58. package/source/components/{host → layout}/stylesheet/details.mjs +8 -4
  59. package/source/components/layout/stylesheet/panel.mjs +8 -4
  60. package/source/components/{form → layout}/stylesheet/popper.mjs +8 -4
  61. package/source/components/layout/stylesheet/split-panel.mjs +8 -4
  62. package/source/components/layout/stylesheet/tabs.mjs +8 -4
  63. package/source/components/layout/stylesheet/width-toggle.mjs +8 -4
  64. package/source/components/layout/tabs.mjs +3 -3
  65. package/source/components/layout/width-toggle.mjs +3 -3
  66. package/source/components/navigation/style/table-of-content.pcss +84 -0
  67. package/source/components/navigation/stylesheet/table-of-content.mjs +31 -0
  68. package/source/components/navigation/table-of-content.mjs +418 -0
  69. package/source/components/notify/stylesheet/message.mjs +8 -4
  70. package/source/components/notify/stylesheet/notify.mjs +8 -4
  71. package/source/components/state/stylesheet/log.mjs +8 -4
  72. package/source/components/state/stylesheet/state.mjs +9 -5
  73. package/source/components/style/link.pcss +0 -1
  74. package/source/components/style/mixin/typography.pcss +7 -7
  75. package/source/components/style/typography.pcss +1 -1
  76. package/source/components/stylesheet/badge.mjs +8 -4
  77. package/source/components/stylesheet/border.mjs +8 -4
  78. package/source/components/stylesheet/button.mjs +8 -4
  79. package/source/components/stylesheet/card.mjs +8 -4
  80. package/source/components/stylesheet/color.mjs +8 -4
  81. package/source/components/stylesheet/common.mjs +8 -4
  82. package/source/components/stylesheet/control.mjs +8 -4
  83. package/source/components/stylesheet/data-grid.mjs +8 -4
  84. package/source/components/stylesheet/display.mjs +8 -4
  85. package/source/components/stylesheet/floating-ui.mjs +8 -4
  86. package/source/components/stylesheet/form.mjs +8 -4
  87. package/source/components/stylesheet/host.mjs +8 -4
  88. package/source/components/stylesheet/icons.mjs +8 -4
  89. package/source/components/stylesheet/link.mjs +8 -4
  90. package/source/components/stylesheet/mixin/badge.mjs +31 -0
  91. package/source/components/stylesheet/mixin/button.mjs +31 -0
  92. package/source/components/stylesheet/mixin/form.mjs +31 -0
  93. package/source/components/stylesheet/mixin/hover.mjs +31 -0
  94. package/source/components/stylesheet/mixin/icon.mjs +31 -0
  95. package/source/components/stylesheet/mixin/media.mjs +31 -0
  96. package/source/components/stylesheet/mixin/property.mjs +31 -0
  97. package/source/components/stylesheet/mixin/skeleton.mjs +31 -0
  98. package/source/components/stylesheet/mixin/spinner.mjs +31 -0
  99. package/source/components/stylesheet/mixin/typography.mjs +31 -0
  100. package/source/components/stylesheet/normalize.mjs +8 -4
  101. package/source/components/stylesheet/popper.mjs +8 -4
  102. package/source/components/stylesheet/property.mjs +8 -4
  103. package/source/components/stylesheet/ripple.mjs +8 -4
  104. package/source/components/stylesheet/skeleton.mjs +8 -4
  105. package/source/components/stylesheet/space.mjs +8 -4
  106. package/source/components/stylesheet/spinner.mjs +8 -4
  107. package/source/components/stylesheet/table.mjs +8 -4
  108. package/source/components/stylesheet/theme.mjs +8 -4
  109. package/source/components/stylesheet/typography.mjs +9 -5
  110. package/source/components/tree-menu/stylesheet/tree-menu.mjs +8 -4
  111. package/source/dom/ready.mjs +10 -4
  112. package/source/monster.mjs +17 -80
  113. package/source/types/proxyobserver.mjs +4 -2
  114. package/source/types/version.mjs +1 -1
  115. package/test/cases/monster.mjs +1 -1
  116. package/test/web/tests.js +4 -4
  117. package/source/components/form/form-field.mjs +0 -341
  118. package/source/components/form/style/form-field.pcss +0 -4
  119. package/source/components/form/stylesheet/form-field.mjs +0 -27
  120. /package/source/components/{host → layout}/style/collapse.pcss +0 -0
  121. /package/source/components/{host → layout}/style/details.pcss +0 -0
  122. /package/source/components/{form → layout}/style/popper.pcss +0 -0
@@ -1,528 +1,26 @@
1
1
  /**
2
- * Copyright 2023 schukai GmbH
3
- * SPDX-License-Identifier: AGPL-3.0
4
- */
5
-
6
- import {
7
- assembleMethodSymbol,
8
- CustomElement,
9
- getSlottedElements,
10
- registerCustomElement,
11
- } from "../../dom/customelement.mjs";
12
- import { CollapseStyleSheet } from "./stylesheet/collapse.mjs";
13
- import { fireCustomEvent } from "../../dom/events.mjs";
14
- import { getDocument } from "../../dom/util.mjs";
15
- import { addAttributeToken } from "../../dom/attributes.mjs";
16
- import { ATTRIBUTE_ERRORMESSAGE } from "../../dom/constants.mjs";
17
- import { Host } from "./host.mjs";
18
- import { generateUniqueConfigKey } from "./util.mjs";
19
- import { DeadMansSwitch } from "../../util/deadmansswitch.mjs";
20
- import { instanceSymbol } from "../../constants.mjs";
21
-
22
- export { Collapse, nameSymbol };
23
-
24
- /**
25
- * @private
26
- * @type {symbol}
27
- */
28
- const timerCallbackSymbol = Symbol("timerCallback");
29
-
30
- /**
31
- * @private
32
- * @type {symbol}
33
- */
34
- const detailsElementSymbol = Symbol("detailsElement");
35
-
36
- /**
37
- * @private
38
- * @type {symbol}
39
- */
40
- const controlElementSymbol = Symbol("controlElement");
41
-
42
- /**
43
- * local symbol
44
- * @private
45
- * @type {symbol}
46
- */
47
- const resizeObserverSymbol = Symbol("resizeObserver");
48
-
49
- /**
50
- * @private
51
- * @type {symbol}
52
- */
53
- const detailsSlotElementSymbol = Symbol("detailsSlotElement");
54
-
55
- /**
56
- * @private
57
- * @type {symbol}
58
- */
59
- const detailsContainerElementSymbol = Symbol("detailsContainerElement");
60
- /**
61
-
62
- * @private
63
- * @type {symbol}
64
- */
65
- const detailsDecoElementSymbol = Symbol("detailsDecoElement");
66
-
67
- /**
68
- * @private
69
- * @type {symbol}
70
- */
71
- const nameSymbol = Symbol("name");
72
-
73
- /**
74
- * The Collapse component is used to show a details.
75
- *
76
- * <img src="./images/collapse.png">
77
- *
78
- * Dependencies: the system uses functions of the [monsterjs](https://monsterjs.org/) library
79
- *
80
- * You can create this control either by specifying the HTML tag <monster-collapse />` directly in the HTML or using
81
- * Javascript via the `document.createElement('monster-collapse');` method.
82
- *
83
- * ```html
84
- * <monster-collapse></monster-collapse>
85
- * ```
86
- *
87
- * Or you can create this CustomControl directly in Javascript:
88
- *
89
- * ```js
90
- * import '@schukai/monster/source/components/host/collapse.mjs';
91
- * document.createElement('monster-collapse');
92
- * ```
2
+ * Copyright © schukai GmbH and all contributing authors, {{copyRightYear}}. All rights reserved.
3
+ * Node module: @schukai/monster
93
4
  *
94
- * The Body should have a class "hidden" to ensure that the styles are applied correctly.
5
+ * This source code is licensed under the GNU Affero General Public License version 3 (AGPLv3).
6
+ * The full text of the license can be found at: https://www.gnu.org/licenses/agpl-3.0.en.html
95
7
  *
96
- * ```css
97
- * body.hidden {
98
- * visibility: hidden;
99
- * }
100
- * ```
101
- *
102
- * @startuml collapse.png
103
- * skinparam monochrome true
104
- * skinparam shadowing false
105
- * HTMLElement <|-- CustomElement
106
- * CustomElement <|-- Collapse
107
- * @enduml
108
- *
109
- * @copyright schukai GmbH
110
- * @memberOf Monster.Components.Host
111
- * @summary A simple collapse component
112
- * @fires Monster.Components.Host.Collapse.event:monster-collapse-before-open
113
- * @fires Monster.Components.Host.Collapse.event:monster-collapse-open
114
- * @fires Monster.Components.Host.Collapse.event:monster-collapse-before-close
115
- * @fires Monster.Components.Host.Collapse.event:monster-collapse-closed
116
- * @fires Monster.Components.Host.Collapse.event:monster-collapse-adjust-height
8
+ * For those who do not wish to adhere to the AGPLv3, a commercial license is available.
9
+ * Acquiring a commercial license allows you to use this software without complying with the AGPLv3 terms.
10
+ * For more information about purchasing a commercial license, please contact schukai GmbH.
117
11
  */
118
- class Collapse extends CustomElement {
119
- /**
120
- * This method is called by the `instanceof` operator.
121
- * @returns {symbol}
122
- */
123
- static get [instanceSymbol]() {
124
- return Symbol.for("@schukai/component-host/collapse@@instance");
125
- }
126
-
127
- /**
128
- *
129
- */
130
- constructor() {
131
- super();
132
- // the name is only used for the host config and the event name
133
- this[nameSymbol] = "collapse";
134
- }
135
-
136
- /**
137
- * To set the options via the html tag the attribute `data-monster-options` must be used.
138
- * @see {@link https://monsterjs.org/en/doc/#configurate-a-monster-control}
139
- *
140
- * The individual configuration values can be found in the table.
141
- *
142
- * @property {Object} templates Template definitions
143
- * @property {string} templates.main Main template
144
- * @property {Object} classes CSS classes
145
- * @property {string} classes.container CSS class for the container
146
- * @property {Object} features Feature configuration
147
- * @property {boolean} features.accordion Enable accordion mode
148
- * @property {boolean} features.persistState Enable persist state (Host and Config-Manager required)
149
- * @property {boolean} features.useScrollValues Use scroll values (scrollHeight) instead of clientHeight for the height calculation
150
- */
151
- get defaults() {
152
- return Object.assign({}, super.defaults, {
153
- templates: {
154
- main: getTemplate(),
155
- },
156
- classes: {
157
- container: "padding",
158
- },
159
- features: {
160
- accordion: true,
161
- persistState: true,
162
- useScrollValues: false,
163
- },
164
- });
165
- }
166
-
167
- /**
168
- *
169
- * @returns {Monster.Components.Host.Collapse}
170
- */
171
- [assembleMethodSymbol]() {
172
- super[assembleMethodSymbol]();
173
- initControlReferences.call(this);
174
- initStateFromHostConfig.call(this);
175
- initResizeObserver.call(this);
176
- initEventHandler.call(this);
177
- }
178
-
179
- /**
180
- *
181
- */
182
- connectedCallback() {
183
- super.connectedCallback();
184
- updateResizeObserverObservation.call(this);
185
- // this[resizeObserverSymbol].observe(getDocument().body);
186
- }
187
-
188
- /**
189
- *
190
- */
191
- disconnectedCallback() {
192
- super.disconnectedCallback();
193
- //this[resizeObserverSymbol].disconnect();
194
- }
195
-
196
- /**
197
- *
198
- * @returns {Monster.Components.Host.Collapse}
199
- */
200
- toggle() {
201
- if (this[detailsElementSymbol].classList.contains("active")) {
202
- this.close();
203
- } else {
204
- this.open();
205
- }
206
- return this;
207
- }
208
-
209
- /**
210
- *
211
- * @returns {boolean}
212
- */
213
- isClosed() {
214
- return !this[detailsElementSymbol].classList.contains("active");
215
- }
216
-
217
- /**
218
- *
219
- * @returns {boolean}
220
- */
221
- isOpen() {
222
- return !this.isClosed();
223
- }
224
-
225
- /**
226
- *
227
- * @returns {Monster.Components.Host.Collapse}
228
- * @fires Monster.Components.Host.Collapse.event:monster-collapse-before-open
229
- * @fires Monster.Components.Host.Collapse.event:monster-collapse-open
230
- */
231
- open() {
232
- let node;
233
- if (this[detailsElementSymbol].classList.contains("active")) {
234
- return this;
235
- }
236
-
237
- fireCustomEvent(this, "monster-" + this[nameSymbol] + "-before-open", {});
238
-
239
- adjustHeight.call(this);
240
- this[detailsElementSymbol].classList.add("active");
241
-
242
- if (this.getOption("features.accordion") === true) {
243
- node = this;
244
- while (node.nextElementSibling instanceof Collapse) {
245
- node = node.nextElementSibling;
246
- node.close();
247
- }
248
-
249
- node = this;
250
- while (node.previousElementSibling instanceof Collapse) {
251
- node = node.previousElementSibling;
252
- node.close();
253
- }
254
- }
255
-
256
- setTimeout(() => {
257
- setTimeout(() => {
258
- updateStateConfig.call(this);
259
- fireCustomEvent(this, "monster-" + this[nameSymbol] + "-open", {});
260
- setTimeout(() => {
261
- this[controlElementSymbol].classList.remove("overflow-hidden");
262
- }, 500);
263
- }, 0);
264
- }, 0);
265
-
266
- return this;
267
- }
268
-
269
- /**
270
- *
271
- * @returns {Monster.Components.Host.Collapse}
272
- * @fires Monster.Components.Host.Collapse.event:monster-collapse-before-close
273
- * @fires Monster.Components.Host.Collapse.event:monster-collapse-closed
274
- */
275
- close() {
276
- if (!this[detailsElementSymbol].classList.contains("active")) {
277
- return this;
278
- }
279
-
280
- fireCustomEvent(this, "monster-" + this[nameSymbol] + "-before-close", {});
281
- this[controlElementSymbol].classList.add("overflow-hidden");
282
12
 
283
- setTimeout(() => {
284
- this[detailsElementSymbol].classList.remove("active");
285
- setTimeout(() => {
286
- updateStateConfig.call(this);
287
- fireCustomEvent(this, "monster-" + this[nameSymbol] + "-closed", {});
288
- }, 0);
289
- }, 0);
290
-
291
- return this;
292
- }
293
-
294
- /**
295
- *
296
- * @return {string}
297
- */
298
- static getTag() {
299
- return "monster-collapse";
300
- }
301
-
302
- /**
303
- * @return {Array<CSSStyleSheet>}
304
- */
305
- static getCSSStyleSheet() {
306
- return [CollapseStyleSheet];
307
- }
308
-
309
- /**
310
- * This method is called when the element is inserted into a document, including into a shadow tree.
311
- * @return {Monster.Components.Host.Collapse}
312
- * @fires Monster.Components.Host.Collapse.event:monster-collapse-adjust-height
313
- */
314
- adjustHeight() {
315
- adjustHeight.call(this);
316
- return this;
317
- }
318
- }
319
-
320
- function adjustHeight() {
321
- let height = 0;
322
-
323
- if (this[detailsContainerElementSymbol]) {
324
- if (this.getOption("features.useScrollValues")) {
325
- height += this[detailsContainerElementSymbol].scrollHeight;
326
- } else {
327
- height += this[detailsContainerElementSymbol].clientHeight;
328
- }
329
- }
330
-
331
- if (this[detailsDecoElementSymbol]) {
332
- if (this.getOption("features.useScrollValues")) {
333
- height += this[detailsDecoElementSymbol].scrollHeight;
334
- } else {
335
- height += this[detailsDecoElementSymbol].clientHeight + 1;
336
- }
337
- }
338
-
339
- if (height === 0) {
340
- if (this.getOption("features.useScrollValues")) {
341
- height = this[detailsElementSymbol].scrollHeight;
342
- } else {
343
- height = this[detailsElementSymbol].clientHeight;
344
- }
345
-
346
- if (height === 0) {
347
- height = "auto";
348
- }
349
- } else {
350
- height += "px";
351
- }
352
-
353
- this[detailsElementSymbol].style.setProperty(
354
- "--monster-height",
355
- height,
356
- "important",
357
- );
358
- fireCustomEvent(this, "monster-" + this[nameSymbol] + "-adjust-height", {});
359
- }
360
-
361
- function updateResizeObserverObservation() {
362
- this[resizeObserverSymbol].disconnect();
363
-
364
- const slottedNodes = getSlottedElements.call(this);
365
- slottedNodes.forEach((node) => {
366
- this[resizeObserverSymbol].observe(node);
367
- });
368
-
369
- if (this[detailsContainerElementSymbol]) {
370
- this[resizeObserverSymbol].observe(this[detailsContainerElementSymbol]);
371
- }
372
-
373
- this.adjustHeight();
374
- }
375
-
376
- /**
377
- * @private
378
- */
379
- function initEventHandler() {
380
- if (!this.shadowRoot) {
381
- throw new Error("no shadow-root is defined");
382
- }
383
-
384
- initSlotChangedHandler.call(this);
385
- return this;
386
- }
387
-
388
- function initSlotChangedHandler() {
389
- this[detailsSlotElementSymbol].addEventListener("slotchange", () => {
390
- updateResizeObserverObservation.call(this);
391
- });
392
- }
393
-
394
- /**
395
- * @private
396
- * @return {Select}
397
- * @throws {Error} no shadow-root is defined
398
- */
399
- function initControlReferences() {
400
- if (!this.shadowRoot) {
401
- throw new Error("no shadow-root is defined");
402
- }
403
-
404
- this[controlElementSymbol] = this.shadowRoot.querySelector(
405
- "[data-monster-role=control]",
406
- );
407
- this[detailsElementSymbol] = this.shadowRoot.querySelector(
408
- "[data-monster-role=detail]",
409
- );
410
- this[detailsSlotElementSymbol] = this.shadowRoot.querySelector("slot");
411
- this[detailsContainerElementSymbol] = this.shadowRoot.querySelector(
412
- "[data-monster-role=container]",
413
- );
414
- this[detailsDecoElementSymbol] = this.shadowRoot.querySelector(
415
- "[data-monster-role=deco]",
416
- );
417
- }
418
-
419
- /**
420
- * @private
421
- * @returns {string}
422
- */
423
- function getConfigKey() {
424
- return generateUniqueConfigKey(this[nameSymbol], this.id, "state");
425
- }
426
-
427
- /**
428
- * @private
429
- */
430
- function updateStateConfig() {
431
- if (!this.getOption("features.persistState")) {
432
- return;
433
- }
434
-
435
- if (!this[detailsElementSymbol]) {
436
- return;
437
- }
438
-
439
- const document = getDocument();
440
- const host = document.querySelector("monster-host");
441
- if (!(host && this.id)) {
442
- return;
443
- }
444
-
445
- const configKey = getConfigKey.call(this);
446
-
447
- try {
448
- host.setConfig(configKey, this.isOpen());
449
- } catch (error) {
450
- addAttributeToken(this, ATTRIBUTE_ERRORMESSAGE, String(error));
451
- }
452
- }
13
+ import { Collapse as NewCollapse } from "../layout/collapse.mjs";
14
+ export { Collapse };
453
15
 
454
16
  /**
455
- * @private
456
- * @returns {Promise}
457
- */
458
- function initStateFromHostConfig() {
459
- if (!this.getOption("features.persistState")) {
460
- return Promise.resolve({});
461
- }
462
-
463
- const document = getDocument();
464
- const host = document.querySelector("monster-host");
465
-
466
- if (!(host && this.id)) {
467
- return Promise.resolve({});
468
- }
469
-
470
- const configKey = getConfigKey.call(this);
471
- return host
472
- .getConfig(configKey)
473
- .then((state) => {
474
- if (state === true) {
475
- this.open();
476
- } else {
477
- this.close();
478
- }
479
- })
480
- .catch((error) => {
481
- addAttributeToken(this, ATTRIBUTE_ERRORMESSAGE, error.toString());
482
- });
483
- }
484
-
485
- /**
486
- * @private
17
+ * @since 1.10.0
18
+ * @copyright schukai GmbH
19
+ * @memberOf Monster.Components.Form
20
+ * @deprecated since 3.64.0 use {@link Monster.Components.Layout.Collapse}
487
21
  */
488
- function initResizeObserver() {
489
- // against flickering
490
- this[resizeObserverSymbol] = new ResizeObserver((entries) => {
491
- if (this[timerCallbackSymbol] instanceof DeadMansSwitch) {
492
- try {
493
- this[timerCallbackSymbol].touch();
494
- return;
495
- } catch (e) {
496
- delete this[timerCallbackSymbol];
497
- }
498
- }
499
-
500
- this[timerCallbackSymbol] = new DeadMansSwitch(200, () => {
501
- checkAndRearrangeContent.call(this);
502
- });
503
- });
504
- }
22
+ class Collapse extends NewCollapse {
505
23
 
506
- function checkAndRearrangeContent() {
507
- this.adjustHeight();
508
24
  }
509
25
 
510
- /**
511
- * @private
512
- * @return {string}
513
- */
514
- function getTemplate() {
515
- // language=HTML
516
- return `
517
- <div data-monster-role="control" part="control" class="overflow-hidden">
518
- <div data-monster-role="detail">
519
- <div data-monster-attributes="class path:classes.container" part="container"
520
- data-monster-role="container">
521
- <slot></slot>
522
- </div>
523
- <div class="deco-line" data-monster-role="deco"></div>
524
- </div>
525
- </div>`;
526
- }
527
26
 
528
- registerCustomElement(Collapse);
@@ -1,6 +1,13 @@
1
1
  /**
2
- * Copyright 2023 schukai GmbH
3
- * SPDX-License-Identifier: AGPL-3.0
2
+ * Copyright © schukai GmbH and all contributing authors, {{copyRightYear}}. All rights reserved.
3
+ * Node module: @schukai/monster
4
+ *
5
+ * This source code is licensed under the GNU Affero General Public License version 3 (AGPLv3).
6
+ * The full text of the license can be found at: https://www.gnu.org/licenses/agpl-3.0.en.html
7
+ *
8
+ * For those who do not wish to adhere to the AGPLv3, a commercial license is available.
9
+ * Acquiring a commercial license allows you to use this software without complying with the AGPLv3 terms.
10
+ * For more information about purchasing a commercial license, please contact schukai GmbH.
4
11
  */
5
12
 
6
13
  import {
@@ -1,8 +1,13 @@
1
1
  /**
2
- * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
- * Node module: @schukai/component-form
4
- * This file is licensed under the AGPLv3 License.
5
- * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
2
+ * Copyright © schukai GmbH and all contributing authors, {{copyRightYear}}. All rights reserved.
3
+ * Node module: @schukai/monster
4
+ *
5
+ * This source code is licensed under the GNU Affero General Public License version 3 (AGPLv3).
6
+ * The full text of the license can be found at: https://www.gnu.org/licenses/agpl-3.0.en.html
7
+ *
8
+ * For those who do not wish to adhere to the AGPLv3, a commercial license is available.
9
+ * Acquiring a commercial license allows you to use this software without complying with the AGPLv3 terms.
10
+ * For more information about purchasing a commercial license, please contact schukai GmbH.
6
11
  */
7
12
 
8
13
  import { ATTRIBUTE_PREFIX } from "../../dom/constants.mjs";