@schukai/monster 3.51.5 → 3.52.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.
- package/CHANGELOG.md +17 -0
- package/README.md +15 -12
- package/example/components/form/button.mjs +10 -0
- package/example/components/form/select.mjs +25 -0
- package/example/components/form/tree-select.mjs +27 -0
- package/example/components/host/host.mjs +0 -0
- package/example/components/notify/message.mjs +4 -0
- package/example/components/notify/notify.mjs +4 -0
- package/example/components/state/log.mjs +0 -0
- package/example/components/state/state.mjs +0 -0
- package/package.json +6 -2
- package/source/components/constants.mjs +132 -0
- package/source/components/datatable/columnbar.mjs +310 -0
- package/source/components/datatable/constants.mjs +121 -0
- package/source/components/datatable/dataset.mjs +219 -0
- package/source/components/datatable/datasource/dom.mjs +186 -0
- package/source/components/datatable/datasource/namespace.mjs +13 -0
- package/source/components/datatable/datasource/rest.mjs +400 -0
- package/source/components/datatable/datasource.mjs +102 -0
- package/source/components/datatable/datatable/header.mjs +268 -0
- package/source/components/datatable/datatable/namespace.mjs +13 -0
- package/source/components/datatable/datatable.mjs +789 -0
- package/source/components/datatable/embedded-pagination.mjs +113 -0
- package/source/components/datatable/filter/abstract-base.mjs +31 -0
- package/source/components/datatable/filter/date-range.mjs +1041 -0
- package/source/components/datatable/filter/input.mjs +175 -0
- package/source/components/datatable/filter/namespace.mjs +13 -0
- package/source/components/datatable/filter/range.mjs +671 -0
- package/source/components/datatable/filter/select.mjs +65 -0
- package/source/components/datatable/filter/settings.mjs +116 -0
- package/source/components/datatable/filter-button.mjs +98 -0
- package/source/components/datatable/filter.mjs +929 -0
- package/source/components/datatable/namespace.mjs +11 -0
- package/source/components/datatable/pagination.mjs +456 -0
- package/source/components/datatable/style/column-bar.pcss +123 -0
- package/source/components/datatable/style/dataset.pcss +13 -0
- package/source/components/datatable/style/datasource.pcss +16 -0
- package/source/components/datatable/style/datatable.pcss +239 -0
- package/source/components/datatable/style/embedded-pagination.pcss +101 -0
- package/source/components/datatable/style/filter-button.pcss +22 -0
- package/source/components/datatable/style/filter-controls-defaults.pcss +46 -0
- package/source/components/datatable/style/filter-date-range.pcss +9 -0
- package/source/components/datatable/style/filter-range.pcss +5 -0
- package/source/components/datatable/style/filter.pcss +156 -0
- package/source/components/datatable/style/pagination.pcss +59 -0
- package/source/components/datatable/style/select-filter.pcss +27 -0
- package/source/components/datatable/stylesheet/column-bar.mjs +33 -0
- package/source/components/datatable/stylesheet/dataset.mjs +33 -0
- package/source/components/datatable/stylesheet/datasource.mjs +33 -0
- package/source/components/datatable/stylesheet/datatable.mjs +33 -0
- package/source/components/datatable/stylesheet/embedded-pagination.mjs +33 -0
- package/source/components/datatable/stylesheet/filter-button.mjs +33 -0
- package/source/components/datatable/stylesheet/filter-controls-defaults.mjs +33 -0
- package/source/components/datatable/stylesheet/filter-date-range.mjs +33 -0
- package/source/components/datatable/stylesheet/filter-range.mjs +33 -0
- package/source/components/datatable/stylesheet/filter.mjs +33 -0
- package/source/components/datatable/stylesheet/namespace.mjs +13 -0
- package/source/components/datatable/stylesheet/pagination.mjs +33 -0
- package/source/components/datatable/stylesheet/select-filter.mjs +33 -0
- package/source/components/datatable/util.mjs +60 -0
- package/source/components/form/action-button.mjs +262 -0
- package/source/components/form/api-button.mjs +515 -0
- package/source/components/form/button-bar.mjs +739 -0
- package/source/components/form/button.mjs +350 -0
- package/source/components/form/confirm-button.mjs +330 -0
- package/source/components/form/constants.mjs +111 -0
- package/source/components/form/context-help.mjs +123 -0
- package/source/components/form/events.mjs +84 -0
- package/source/components/form/form.mjs +601 -0
- package/source/components/form/message-state-button.mjs +396 -0
- package/source/components/form/namespace.mjs +13 -0
- package/source/components/form/popper-button.mjs +435 -0
- package/source/components/form/popper.mjs +487 -0
- package/source/components/form/reload.mjs +360 -0
- package/source/components/form/select.mjs +2314 -0
- package/source/components/form/shadow-reload.mjs +137 -0
- package/source/components/form/state-button.mjs +182 -0
- package/source/components/form/style/action-button.pcss +41 -0
- package/source/components/form/style/api-button.pcss +0 -0
- package/source/components/form/style/button-bar.pcss +51 -0
- package/source/components/form/style/button.pcss +8 -0
- package/source/components/form/style/confirm-button.pcss +17 -0
- package/source/components/form/style/context-help.pcss +16 -0
- package/source/components/form/style/form.pcss +10 -0
- package/source/components/form/style/message-state-button.pcss +10 -0
- package/source/components/form/style/popper-button.pcss +16 -0
- package/source/components/form/style/popper.pcss +8 -0
- package/source/components/form/style/select.pcss +265 -0
- package/source/components/form/style/state-button.pcss +116 -0
- package/source/components/form/style/tabs.pcss +170 -0
- package/source/components/form/style/tree-select.pcss +81 -0
- package/source/components/form/stylesheet/action-button.mjs +33 -0
- package/source/components/form/stylesheet/api-button.mjs +33 -0
- package/source/components/form/stylesheet/button-bar.mjs +33 -0
- package/source/components/form/stylesheet/button.mjs +33 -0
- package/source/components/form/stylesheet/confirm-button.mjs +33 -0
- package/source/components/form/stylesheet/context-help.mjs +33 -0
- package/source/components/form/stylesheet/form.mjs +33 -0
- package/source/components/form/stylesheet/message-state-button.mjs +33 -0
- package/source/components/form/stylesheet/namespace.mjs +13 -0
- package/source/components/form/stylesheet/popper-button.mjs +33 -0
- package/source/components/form/stylesheet/popper.mjs +33 -0
- package/source/components/form/stylesheet/select.mjs +33 -0
- package/source/components/form/stylesheet/state-button.mjs +33 -0
- package/source/components/form/stylesheet/tabs.mjs +33 -0
- package/source/components/form/stylesheet/tree-select.mjs +33 -0
- package/source/components/form/tabs.mjs +1011 -0
- package/source/components/form/template.mjs +373 -0
- package/source/components/form/tree-select.mjs +527 -0
- package/source/components/form/types/namespace.mjs +13 -0
- package/source/components/form/types/state.mjs +93 -0
- package/source/components/form/util/fetch.mjs +133 -0
- package/source/components/form/util/floating-ui.mjs +245 -0
- package/source/components/form/util/namespace.mjs +13 -0
- package/source/components/form/util/popper.mjs +49 -0
- package/source/components/host/call-button.mjs +236 -0
- package/source/components/host/collapse.mjs +526 -0
- package/source/components/host/config-manager.mjs +304 -0
- package/source/components/host/constants.mjs +18 -0
- package/source/components/host/details.mjs +268 -0
- package/source/components/host/events.mjs +131 -0
- package/source/components/host/host.mjs +420 -0
- package/source/components/host/namespace.mjs +13 -0
- package/source/components/host/overlay.mjs +339 -0
- package/source/components/host/style/call-button.pcss +36 -0
- package/source/components/host/style/collapse.pcss +67 -0
- package/source/components/host/style/config-manager.pcss +5 -0
- package/source/components/host/style/details.pcss +68 -0
- package/source/components/host/style/host.pcss +43 -0
- package/source/components/host/style/overlay.pcss +73 -0
- package/source/components/host/style/toggle-button.pcss +36 -0
- package/source/components/host/style/viewer.pcss +13 -0
- package/source/components/host/stylesheet/call-button.mjs +33 -0
- package/source/components/host/stylesheet/collapse.mjs +33 -0
- package/source/components/host/stylesheet/config-manager.mjs +33 -0
- package/source/components/host/stylesheet/details.mjs +33 -0
- package/source/components/host/stylesheet/host.mjs +33 -0
- package/source/components/host/stylesheet/namespace.mjs +13 -0
- package/source/components/host/stylesheet/overlay.mjs +33 -0
- package/source/components/host/stylesheet/toggle-button.mjs +33 -0
- package/source/components/host/stylesheet/viewer.mjs +33 -0
- package/source/components/host/toggle-button.mjs +88 -0
- package/source/components/host/util.mjs +23 -0
- package/source/components/host/viewer.mjs +309 -0
- package/source/components/namespace.mjs +14 -0
- package/source/components/notify/constants.mjs +15 -0
- package/source/components/notify/events.mjs +15 -0
- package/source/components/notify/message.mjs +374 -0
- package/source/components/notify/namespace.mjs +15 -0
- package/source/components/notify/notify.mjs +236 -0
- package/source/components/notify/style/message.pcss +57 -0
- package/source/components/notify/style/notify.pcss +118 -0
- package/source/components/notify/stylesheet/message.mjs +33 -0
- package/source/components/notify/stylesheet/namespace.mjs +15 -0
- package/source/components/notify/stylesheet/notify.mjs +33 -0
- package/source/components/state/log/entry.mjs +126 -0
- package/source/components/state/log/namespace.mjs +13 -0
- package/source/components/state/log.mjs +275 -0
- package/source/components/state/namespace.mjs +13 -0
- package/source/components/state/state.mjs +131 -0
- package/source/components/state/style/log.pcss +111 -0
- package/source/components/state/style/state.pcss +113 -0
- package/source/components/state/stylesheet/log.mjs +33 -0
- package/source/components/state/stylesheet/state.mjs +33 -0
- package/source/components/style/badge.pcss +92 -0
- package/source/components/style/border.pcss +77 -0
- package/source/components/style/button.pcss +105 -0
- package/source/components/style/card.pcss +108 -0
- package/source/components/style/color.pcss +257 -0
- package/source/components/style/common.pcss +103 -0
- package/source/components/style/control.pcss +11 -0
- package/source/components/style/data-grid.pcss +43 -0
- package/source/components/style/display.pcss +42 -0
- package/source/components/style/floating-ui.pcss +33 -0
- package/source/components/style/form.pcss +5 -0
- package/source/components/style/host.pcss +15 -0
- package/source/components/style/link.pcss +63 -0
- package/source/components/style/mixin/badge.pcss +18 -0
- package/source/components/style/mixin/button.pcss +54 -0
- package/source/components/style/mixin/form.pcss +247 -0
- package/source/components/style/mixin/hover.pcss +8 -0
- package/source/components/style/mixin/media.pcss +107 -0
- package/source/components/style/mixin/property.pcss +288 -0
- package/source/components/style/mixin/skeleton.pcss +26 -0
- package/source/components/style/mixin/spinner.pcss +24 -0
- package/source/components/style/mixin/typography.pcss +52 -0
- package/source/components/style/normalize.pcss +14 -0
- package/source/components/style/popper.pcss +78 -0
- package/source/components/style/property.pcss +17 -0
- package/source/components/style/ripple.pcss +14 -0
- package/source/components/style/skeleton.pcss +28 -0
- package/source/components/style/space.pcss +47 -0
- package/source/components/style/spinner.pcss +6 -0
- package/source/components/style/table.pcss +46 -0
- package/source/components/style/theme.pcss +119 -0
- package/source/components/style/typography.pcss +131 -0
- package/source/components/stylesheet/badge.mjs +33 -0
- package/source/components/stylesheet/border.mjs +33 -0
- package/source/components/stylesheet/button.mjs +33 -0
- package/source/components/stylesheet/card.mjs +33 -0
- package/source/components/stylesheet/color.mjs +33 -0
- package/source/components/stylesheet/common.mjs +33 -0
- package/source/components/stylesheet/control.mjs +33 -0
- package/source/components/stylesheet/data-grid.mjs +33 -0
- package/source/components/stylesheet/display.mjs +33 -0
- package/source/components/stylesheet/floating-ui.mjs +33 -0
- package/source/components/stylesheet/form.mjs +33 -0
- package/source/components/stylesheet/host.mjs +33 -0
- package/source/components/stylesheet/link.mjs +33 -0
- package/source/components/stylesheet/namespace.mjs +13 -0
- package/source/components/stylesheet/normalize.mjs +33 -0
- package/source/components/stylesheet/popper.mjs +33 -0
- package/source/components/stylesheet/property.mjs +33 -0
- package/source/components/stylesheet/ripple.mjs +33 -0
- package/source/components/stylesheet/skeleton.mjs +33 -0
- package/source/components/stylesheet/space.mjs +33 -0
- package/source/components/stylesheet/spinner.mjs +33 -0
- package/source/components/stylesheet/table.mjs +33 -0
- package/source/components/stylesheet/theme.mjs +33 -0
- package/source/components/stylesheet/tree-menu.mjs +33 -0
- package/source/components/stylesheet/typography.mjs +33 -0
- package/source/components/tree-menu/namespace.mjs +13 -0
- package/source/components/tree-menu/style/tree-menu.pcss +107 -0
- package/source/components/tree-menu/stylesheet/namespace.mjs +13 -0
- package/source/components/tree-menu/stylesheet/tree-menu.mjs +33 -0
- package/source/components/tree-menu/tree-menu.mjs +660 -0
- package/source/constraints/abstract.mjs +17 -24
- package/source/constraints/abstractoperator.mjs +27 -22
- package/source/constraints/andoperator.mjs +20 -17
- package/source/constraints/invalid.mjs +17 -17
- package/source/constraints/isarray.mjs +20 -20
- package/source/constraints/isobject.mjs +20 -20
- package/source/constraints/oroperator.mjs +45 -45
- package/source/constraints/valid.mjs +17 -17
- package/source/data/buildmap.mjs +108 -103
- package/source/data/buildtree.mjs +59 -57
- package/source/data/datasource/dom.mjs +80 -84
- package/source/data/datasource/namespace.mjs +1 -1
- package/source/data/datasource/server/restapi/data-fetch-error.mjs +27 -25
- package/source/data/datasource/server/restapi/writeerror.mjs +34 -32
- package/source/data/datasource/server/restapi.mjs +176 -177
- package/source/data/datasource/server/webconnect.mjs +150 -156
- package/source/data/datasource/server.mjs +58 -59
- package/source/data/datasource/storage/localstorage.mjs +25 -24
- package/source/data/datasource/storage/sessionstorage.mjs +28 -25
- package/source/data/datasource/storage.mjs +74 -73
- package/source/data/datasource.mjs +176 -167
- package/source/data/diff.mjs +98 -97
- package/source/data/extend.mjs +42 -42
- package/source/data/pathfinder.mjs +301 -288
- package/source/data/pipe.mjs +36 -36
- package/source/data/transformer.mjs +742 -726
- package/source/dom/assembler.mjs +44 -44
- package/source/dom/attributes.mjs +142 -122
- package/source/dom/constants.mjs +62 -58
- package/source/dom/customcontrol.mjs +299 -299
- package/source/dom/customelement.mjs +843 -806
- package/source/dom/dimension.mjs +56 -46
- package/source/dom/events.mjs +74 -69
- package/source/dom/focusmanager.mjs +175 -175
- package/source/dom/locale.mjs +28 -28
- package/source/dom/ready.mjs +13 -13
- package/source/dom/resource/data.mjs +117 -111
- package/source/dom/resource/link/stylesheet.mjs +16 -16
- package/source/dom/resource/link.mjs +94 -96
- package/source/dom/resource/script.mjs +72 -74
- package/source/dom/resource.mjs +174 -172
- package/source/dom/resourcemanager.mjs +152 -156
- package/source/dom/slotted.mjs +78 -80
- package/source/dom/template.mjs +126 -112
- package/source/dom/theme.mjs +35 -35
- package/source/dom/updater.mjs +673 -651
- package/source/dom/util/extract-keys.mjs +34 -22
- package/source/dom/util/init-options-from-attributes.mjs +46 -38
- package/source/dom/util/namespace.mjs +13 -0
- package/source/dom/util/set-option-from-attribute.mjs +35 -29
- package/source/dom/util.mjs +112 -81
- package/source/dom/worker/factory.mjs +83 -83
- package/source/i18n/formatter.mjs +75 -73
- package/source/i18n/locale.mjs +146 -144
- package/source/i18n/provider.mjs +70 -64
- package/source/i18n/providers/embed.mjs +136 -127
- package/source/i18n/providers/fetch.mjs +84 -76
- package/source/i18n/translations.mjs +205 -195
- package/source/logging/handler/console.mjs +36 -36
- package/source/logging/handler.mjs +140 -140
- package/source/logging/logentry.mjs +25 -25
- package/source/logging/logger.mjs +177 -175
- package/source/math/random.mjs +63 -59
- package/source/monster.mjs +223 -103
- package/source/net/webconnect/message.mjs +31 -31
- package/source/net/webconnect.mjs +278 -271
- package/source/text/bracketed-key-value-hash.mjs +182 -179
- package/source/text/formatter.mjs +235 -210
- package/source/text/generate-range-comparison-expression.mjs +56 -34
- package/source/text/namespace.mjs +1 -1
- package/source/types/base.mjs +69 -61
- package/source/types/basewithoptions.mjs +46 -46
- package/source/types/binary.mjs +20 -20
- package/source/types/dataurl.mjs +96 -90
- package/source/types/global.mjs +45 -39
- package/source/types/id.mjs +25 -25
- package/source/types/internal.mjs +115 -114
- package/source/types/is.mjs +56 -40
- package/source/types/mediatype.mjs +119 -119
- package/source/types/namespace.mjs +1 -1
- package/source/types/node.mjs +160 -150
- package/source/types/nodelist.mjs +94 -96
- package/source/types/noderecursiveiterator.mjs +50 -50
- package/source/types/observablequeue.mjs +73 -73
- package/source/types/observer.mjs +104 -104
- package/source/types/observerlist.mjs +66 -66
- package/source/types/proxyobserver.mjs +210 -210
- package/source/types/queue.mjs +63 -63
- package/source/types/randomid.mjs +13 -13
- package/source/types/regex.mjs +3 -1
- package/source/types/stack.mjs +64 -64
- package/source/types/tokenlist.mjs +206 -205
- package/source/types/typeof.mjs +12 -10
- package/source/types/uniquequeue.mjs +48 -48
- package/source/types/uuid.mjs +32 -32
- package/source/types/validate.mjs +67 -67
- package/source/types/version.mjs +115 -105
- package/source/util/clone.mjs +103 -91
- package/source/util/comparator.mjs +97 -97
- package/source/util/deadmansswitch.mjs +40 -44
- package/source/util/freeze.mjs +10 -9
- package/source/util/namespace.mjs +1 -1
- package/source/util/processing.mjs +104 -105
- package/source/util/runtime.mjs +56 -44
- package/source/util/trimspaces.mjs +24 -24
- package/test/cases/components/form/button.mjs +122 -0
- package/test/cases/components/form/confirm-button.mjs +127 -0
- package/test/cases/components/form/form.mjs +317 -0
- package/test/cases/components/form/reload.mjs +188 -0
- package/test/cases/components/form/select.mjs +229 -0
- package/test/cases/components/form/state-button.mjs +130 -0
- package/test/cases/components/form/tabs.mjs +98 -0
- package/test/cases/components/form/template.mjs +189 -0
- package/test/cases/components/form/tree-select.mjs +216 -0
- package/test/cases/components/host/details.mjs +68 -0
- package/test/cases/components/host/host.mjs +70 -0
- package/test/cases/components/host/overlay.mjs +60 -0
- package/test/cases/components/host/util.mjs +79 -0
- package/test/cases/components/notify/message.mjs +39 -0
- package/test/cases/components/notify/notify.mjs +89 -0
- package/test/cases/dom/customcontrol.mjs +5 -4
- package/test/cases/math/random.mjs +0 -1
- package/test/cases/monster.mjs +1 -1
- package/test/cases/net/webconnect/message.mjs +0 -1
- package/test/cases/types/node.mjs +1 -1
- package/test/util/chai-dom.mjs +2 -2
- package/test/util/intersection-mock.mjs +69 -0
- package/test/util/jsdom.mjs +41 -25
- package/test/util/localstorage.mjs +1 -0
- package/test/util/resize-observer.mjs +29 -0
- package/test/util/websocket.mjs +4 -1
- package/test/web/import.js +16 -1
- package/test/web/test.html +28 -5
- package/test/web/tests.js +30398 -17879
@@ -0,0 +1,111 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright schukai GmbH and contributors 2023. All Rights Reserved.
|
3
|
+
* Node module: @schukai/monster
|
4
|
+
* This file is licensed under the AGPLv3 License.
|
5
|
+
* License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { ATTRIBUTE_PREFIX } from "../../dom/constants.mjs";
|
9
|
+
|
10
|
+
/**
|
11
|
+
* @memberOf Monster.Components.Form
|
12
|
+
* @since 1.0.0
|
13
|
+
* @type {string}
|
14
|
+
*/
|
15
|
+
const STYLE_DISPLAY_MODE_BLOCK = "block";
|
16
|
+
|
17
|
+
/**
|
18
|
+
* This attribute `data-monster-url` can be used to pass a URL to the control.
|
19
|
+
*
|
20
|
+
* @memberOf Monster.Components.Form
|
21
|
+
* @since 1.0.0
|
22
|
+
* @type {string}
|
23
|
+
*/
|
24
|
+
const ATTRIBUTE_FORM_URL = `${ATTRIBUTE_PREFIX}url`;
|
25
|
+
|
26
|
+
/**
|
27
|
+
* This attribute `data-monster-reload` can be used to control the reload.
|
28
|
+
*
|
29
|
+
* valid values: onshow
|
30
|
+
*
|
31
|
+
* @memberOf Monster.Components.Form
|
32
|
+
* @since 1.11.0
|
33
|
+
* @type {string}
|
34
|
+
*/
|
35
|
+
const ATTRIBUTE_FORM_RELOAD = `${ATTRIBUTE_PREFIX}reload`;
|
36
|
+
|
37
|
+
/**
|
38
|
+
* `data-monster-intend`
|
39
|
+
*
|
40
|
+
* @memberOf Monster.Components.Form
|
41
|
+
* @since 1.9.0
|
42
|
+
* @type {string}
|
43
|
+
*/
|
44
|
+
const ATTRIBUTE_VISIBILITY = `${ATTRIBUTE_PREFIX}visibility`;
|
45
|
+
/**
|
46
|
+
* `data-monster-intend`
|
47
|
+
*
|
48
|
+
* @memberOf Monster.Components.Form
|
49
|
+
* @since 1.9.0
|
50
|
+
* @deprecated since 3.32.0
|
51
|
+
* @type {string}
|
52
|
+
*/
|
53
|
+
const ATTRIBUTE_BUTTON_CLASS = `${ATTRIBUTE_PREFIX}button-class`;
|
54
|
+
|
55
|
+
/**
|
56
|
+
* `data-monster-intend`
|
57
|
+
*
|
58
|
+
* @memberOf Monster.Components.Form
|
59
|
+
* @since 1.8.0
|
60
|
+
* @type {string}
|
61
|
+
*/
|
62
|
+
const ATTRIBUTE_INTEND = `${ATTRIBUTE_PREFIX}intend`;
|
63
|
+
|
64
|
+
/**
|
65
|
+
* `data-monster-has-children`
|
66
|
+
*
|
67
|
+
* @memberOf Monster.Components.Form
|
68
|
+
* @since 1.8.0
|
69
|
+
* @type {string}
|
70
|
+
*/
|
71
|
+
const ATTRIBUTE_HAS_CHILDREN = `${ATTRIBUTE_PREFIX}has-children`;
|
72
|
+
|
73
|
+
/**
|
74
|
+
* This attribute `data-monster-datasource` can be used to pass a datasource.
|
75
|
+
*
|
76
|
+
* @memberOf Monster.Components.Form
|
77
|
+
* @since 1.6.0
|
78
|
+
* @type {string}
|
79
|
+
*/
|
80
|
+
const ATTRIBUTE_FORM_DATASOURCE = `${ATTRIBUTE_PREFIX}datasource`;
|
81
|
+
|
82
|
+
/**
|
83
|
+
* This attribute `data-monster-datasource-arguments` can be used to pass arguments.
|
84
|
+
*
|
85
|
+
* @memberOf Monster.Components.Form
|
86
|
+
* @since 1.6.0
|
87
|
+
* @type {string}
|
88
|
+
*/
|
89
|
+
const ATTRIBUTE_FORM_DATASOURCE_ARGUMENTS = `${ATTRIBUTE_PREFIX}datasource-arguments`;
|
90
|
+
|
91
|
+
/**
|
92
|
+
* This attribute `data-monster-button-label` can be used to pass labels.
|
93
|
+
*
|
94
|
+
* @memberOf Monster.Components.Form
|
95
|
+
* @since 1.6.0
|
96
|
+
* @type {string}
|
97
|
+
*/
|
98
|
+
const ATTRIBUTE_BUTTON_LABEL = `${ATTRIBUTE_PREFIX}button-label`;
|
99
|
+
|
100
|
+
export {
|
101
|
+
ATTRIBUTE_BUTTON_LABEL,
|
102
|
+
STYLE_DISPLAY_MODE_BLOCK,
|
103
|
+
ATTRIBUTE_FORM_URL,
|
104
|
+
ATTRIBUTE_FORM_DATASOURCE,
|
105
|
+
ATTRIBUTE_FORM_DATASOURCE_ARGUMENTS,
|
106
|
+
ATTRIBUTE_INTEND,
|
107
|
+
ATTRIBUTE_VISIBILITY,
|
108
|
+
ATTRIBUTE_FORM_RELOAD,
|
109
|
+
ATTRIBUTE_HAS_CHILDREN,
|
110
|
+
ATTRIBUTE_BUTTON_CLASS,
|
111
|
+
};
|
@@ -0,0 +1,123 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright schukai GmbH and contributors 2023. All Rights Reserved.
|
3
|
+
* Node module: @schukai/monster
|
4
|
+
* This file is licensed under the AGPLv3 License.
|
5
|
+
* License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
|
6
|
+
*/
|
7
|
+
import { instanceSymbol } from "../../constants.mjs";
|
8
|
+
import { registerCustomElement } from "../../dom/customelement.mjs";
|
9
|
+
import { CustomControl } from "../../dom/customcontrol.mjs";
|
10
|
+
import { ContextHelpStyleSheet } from "./stylesheet/context-help.mjs";
|
11
|
+
import { Popper } from "./popper.mjs";
|
12
|
+
|
13
|
+
export { ContextHelp };
|
14
|
+
|
15
|
+
/**
|
16
|
+
* The ContextHelp ist an element that can be used to display a tooltip or a popover.
|
17
|
+
*
|
18
|
+
* <img src="./images/context-help.png">
|
19
|
+
*
|
20
|
+
* Dependencies: the system uses functions of the [monsterjs](https://monsterjs.org/) library
|
21
|
+
* as well as [pooperjs](https://popper.js.org/docs/v2/).
|
22
|
+
*
|
23
|
+
* You can create this control either by specifying the HTML tag <monster-context-help-button />` directly in the HTML or using
|
24
|
+
* Javascript via the `document.createElement('monster-context-help');` method.
|
25
|
+
*
|
26
|
+
* ```html
|
27
|
+
* <monster-context-help></monster-context-help>
|
28
|
+
* ```
|
29
|
+
*
|
30
|
+
* Or you can create this CustomControl directly in Javascript:
|
31
|
+
*
|
32
|
+
* ```js
|
33
|
+
* import {Popper} from '@schukai/component-form/source/popper.js';
|
34
|
+
* document.createElement('monster-context-help');
|
35
|
+
* ```
|
36
|
+
*
|
37
|
+
* @startuml context-button.png
|
38
|
+
* skinparam monochrome true
|
39
|
+
* skinparam shadowing false
|
40
|
+
* HTMLElement <|-- CustomElement
|
41
|
+
* CustomElement <|-- CustomControl
|
42
|
+
* CustomControl <|-- Popper
|
43
|
+
* Popper <|-- ContextHelp
|
44
|
+
* @enduml
|
45
|
+
*
|
46
|
+
* @since 3.29.0
|
47
|
+
* @copyright schukai GmbH
|
48
|
+
* @memberOf Monster.Components.Form
|
49
|
+
* @summary A control that can be used to display a tooltip or a popover.
|
50
|
+
*/
|
51
|
+
class ContextHelp extends Popper {
|
52
|
+
/**
|
53
|
+
* This method is called by the `instanceof` operator.
|
54
|
+
* @returns {symbol}
|
55
|
+
* @since 2.1.0
|
56
|
+
*/
|
57
|
+
static get [instanceSymbol]() {
|
58
|
+
return Symbol.for("@schukai/component-form/popper@@instance");
|
59
|
+
}
|
60
|
+
|
61
|
+
/**
|
62
|
+
* To set the options via the html tag the attribute `data-monster-options` must be used.
|
63
|
+
* @see {@link https://monsterjs.org/en/doc/#configurate-a-monster-control}
|
64
|
+
*
|
65
|
+
* The individual configuration values can be found in the table.
|
66
|
+
*
|
67
|
+
* @property {Object} templates - The templates for the control.
|
68
|
+
* @property {string} templates.main - The main template.
|
69
|
+
* @property {string} mode - The mode of the popper. Possible values are `click`, `enter` and `hover`.
|
70
|
+
* @property {string} content - The content of the popper.
|
71
|
+
* @property {object} popper - The popper options.
|
72
|
+
* @property {string} popper.placement - The placement of the popper. Possible values are `top`, `bottom`, `left`, `right`, `auto`, `auto-start`, `auto-end`, `top-start`, `top-end`, `bottom-start`, `bottom-end`, `right-start`, `right-end`, `left-start`, `left-end`.
|
73
|
+
* @extends {CustomControl}
|
74
|
+
*/
|
75
|
+
get defaults() {
|
76
|
+
return Object.assign({}, super.defaults, {
|
77
|
+
templates: {
|
78
|
+
main: getTemplate(),
|
79
|
+
},
|
80
|
+
mode: "hover",
|
81
|
+
});
|
82
|
+
}
|
83
|
+
|
84
|
+
/**
|
85
|
+
* @return {string}
|
86
|
+
*/
|
87
|
+
static getTag() {
|
88
|
+
return "monster-context-help";
|
89
|
+
}
|
90
|
+
|
91
|
+
/**
|
92
|
+
* @return {Array<CSSStyleSheet>}
|
93
|
+
*/
|
94
|
+
static getCSSStyleSheet() {
|
95
|
+
return [ContextHelpStyleSheet];
|
96
|
+
}
|
97
|
+
}
|
98
|
+
|
99
|
+
/**
|
100
|
+
* @private
|
101
|
+
* @return {string}
|
102
|
+
*/
|
103
|
+
function getTemplate() {
|
104
|
+
// language=HTML
|
105
|
+
return `
|
106
|
+
<div data-monster-role="control" part="control">
|
107
|
+
|
108
|
+
<div data-monster-role="button" part="button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-question-circle-fill" viewBox="0 0 16 16">
|
109
|
+
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.496 6.033h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286a.237.237 0 0 0 .241.247zm2.325 6.443c.61 0 1.029-.394 1.029-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94 0 .533.425.927 1.01.927z"/>
|
110
|
+
</svg></div>
|
111
|
+
|
112
|
+
<div data-monster-role="popper" part="popper" tabindex="-1" class="monster-color-primary-1">
|
113
|
+
<div data-monster-role="arrow"></div>
|
114
|
+
<div part="content" class="flex">
|
115
|
+
<slot></slot>
|
116
|
+
</div>
|
117
|
+
</div>
|
118
|
+
|
119
|
+
</div>
|
120
|
+
`;
|
121
|
+
}
|
122
|
+
|
123
|
+
registerCustomElement(ContextHelp);
|
@@ -0,0 +1,84 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright schukai GmbH and contributors 2023. All Rights Reserved.
|
3
|
+
* Node module: @schukai/monster
|
4
|
+
* This file is licensed under the AGPLv3 License.
|
5
|
+
* License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
|
6
|
+
*/
|
7
|
+
|
8
|
+
/**
|
9
|
+
* This event is fired when options are set
|
10
|
+
*
|
11
|
+
* @memberOf Monster.Components.Form
|
12
|
+
* @event event:monster-options-set
|
13
|
+
* @type {object}
|
14
|
+
* @property {Object[]} options options
|
15
|
+
* @property {string} options.value value
|
16
|
+
* @property {string} options.label label
|
17
|
+
*/
|
18
|
+
|
19
|
+
/**
|
20
|
+
* This event is fired when something is selected
|
21
|
+
*
|
22
|
+
* @memberOf Monster.Components.Form
|
23
|
+
* @event event:monster-selected
|
24
|
+
* @type {object}
|
25
|
+
* @property {array|string} selection
|
26
|
+
*/
|
27
|
+
|
28
|
+
/**
|
29
|
+
* This event will be fired when something will change
|
30
|
+
*
|
31
|
+
* @memberOf Monster.Components.Form
|
32
|
+
* @event event:monster-change
|
33
|
+
* @type {object}
|
34
|
+
* @property {string} [type] event type
|
35
|
+
* @property {string} [value] the value that was changed
|
36
|
+
* @property {boolean} [checked] if it is a boolean value
|
37
|
+
*/
|
38
|
+
|
39
|
+
/**
|
40
|
+
* This event will be fired when a selection is removed
|
41
|
+
*
|
42
|
+
* @memberOf Monster.Components.Form
|
43
|
+
* @event event:monster-selection-removed
|
44
|
+
* @type {object}
|
45
|
+
* @property {string} [type] event type
|
46
|
+
* @property {string} [value] the value that was changed
|
47
|
+
*/
|
48
|
+
|
49
|
+
/**
|
50
|
+
* This event will be fired when a selection is cleared
|
51
|
+
*
|
52
|
+
* @memberOf Monster.Components.Form
|
53
|
+
* @event event:monster-selection-cleared
|
54
|
+
* @type {object}
|
55
|
+
* @property {string} [type] event type
|
56
|
+
*/
|
57
|
+
|
58
|
+
/**
|
59
|
+
* This event will be fired if something has changed
|
60
|
+
*
|
61
|
+
* @memberOf Monster.Components.Form
|
62
|
+
* @event event:monster-changed
|
63
|
+
* @type {object}
|
64
|
+
* @property {string} [type] event type
|
65
|
+
* @property {string} [value] the value that was changed
|
66
|
+
* @property {boolean} [checked] if it is a boolean value
|
67
|
+
**/
|
68
|
+
|
69
|
+
/**
|
70
|
+
* content fetched event
|
71
|
+
*
|
72
|
+
* @memberOf Monster.Components.Form
|
73
|
+
* @event event:monster-fetched
|
74
|
+
* @type {object}
|
75
|
+
* @property {string} url loaded uri
|
76
|
+
*/
|
77
|
+
|
78
|
+
/**
|
79
|
+
* button clicked event
|
80
|
+
*
|
81
|
+
* @memberOf Monster.Components.Form
|
82
|
+
* @event event:monster-button-clicked
|
83
|
+
* @type {object}
|
84
|
+
*/
|