@schukai/monster 3.65.0 → 3.65.21
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 +48 -327
- package/README.md +44 -40
- package/package.json +1 -48
- package/source/components/constants.mjs +10 -3
- package/source/components/datatable/change-button.mjs +18 -11
- package/source/components/datatable/columnbar.mjs +10 -1
- package/source/components/datatable/constants.mjs +11 -4
- package/source/components/datatable/dataset.mjs +212 -203
- package/source/components/datatable/datasource/dom.mjs +14 -1
- package/source/components/datatable/datasource/rest.mjs +10 -1
- package/source/components/datatable/datasource.mjs +10 -1
- package/source/components/datatable/datatable/header.mjs +220 -218
- package/source/components/datatable/datatable.mjs +754 -752
- package/source/components/datatable/embedded-pagination.mjs +10 -1
- package/source/components/datatable/filter/abstract-base.mjs +10 -1
- package/source/components/datatable/filter/date-range.mjs +10 -1
- package/source/components/datatable/filter/input.mjs +10 -1
- package/source/components/datatable/filter/range.mjs +10 -1
- package/source/components/datatable/filter/select.mjs +11 -4
- package/source/components/datatable/filter/settings.mjs +14 -0
- package/source/components/datatable/filter/util.mjs +14 -0
- package/source/components/datatable/filter-button.mjs +10 -1
- package/source/components/datatable/filter.mjs +15 -11
- package/source/components/datatable/pagination.mjs +18 -9
- package/source/components/datatable/save-button.mjs +280 -270
- package/source/components/datatable/status.mjs +15 -5
- package/source/components/datatable/stylesheet/change-button.mjs +16 -7
- package/source/components/datatable/stylesheet/column-bar.mjs +16 -7
- package/source/components/datatable/stylesheet/dataset.mjs +16 -7
- package/source/components/datatable/stylesheet/datasource.mjs +16 -7
- package/source/components/datatable/stylesheet/datatable.mjs +16 -7
- package/source/components/datatable/stylesheet/embedded-pagination.mjs +16 -7
- package/source/components/datatable/stylesheet/filter-button.mjs +16 -7
- package/source/components/datatable/stylesheet/filter-controls-defaults.mjs +16 -7
- package/source/components/datatable/stylesheet/filter-date-range.mjs +16 -7
- package/source/components/datatable/stylesheet/filter-range.mjs +16 -7
- package/source/components/datatable/stylesheet/filter.mjs +16 -7
- package/source/components/datatable/stylesheet/pagination.mjs +16 -7
- package/source/components/datatable/stylesheet/save-button.mjs +16 -7
- package/source/components/datatable/stylesheet/select-filter.mjs +16 -7
- package/source/components/datatable/stylesheet/status.mjs +16 -7
- package/source/components/datatable/util.mjs +16 -8
- package/source/components/form/action-button.mjs +11 -3
- package/source/components/form/api-button.mjs +11 -3
- package/source/components/form/button-bar.mjs +11 -3
- package/source/components/form/button.mjs +254 -249
- package/source/components/form/confirm-button.mjs +11 -3
- package/source/components/form/constants.mjs +10 -3
- package/source/components/form/context-error.mjs +69 -52
- package/source/components/form/context-help.mjs +11 -3
- package/source/components/form/field-set.mjs +10 -15
- package/source/components/form/form.mjs +12 -4
- package/source/components/form/message-state-button.mjs +11 -3
- package/source/components/form/popper-button.mjs +11 -3
- package/source/components/form/popper.mjs +6 -6
- package/source/components/form/reload.mjs +12 -4
- package/source/components/form/select.mjs +44 -33
- package/source/components/form/shadow-reload.mjs +11 -3
- package/source/components/form/state-button.mjs +11 -3
- package/source/components/form/stylesheet/action-button.mjs +16 -7
- package/source/components/form/stylesheet/api-button.mjs +16 -7
- package/source/components/form/stylesheet/button-bar.mjs +16 -7
- package/source/components/form/stylesheet/button.mjs +16 -7
- package/source/components/form/stylesheet/confirm-button.mjs +16 -7
- package/source/components/form/stylesheet/context-error.mjs +16 -7
- package/source/components/form/stylesheet/context-help.mjs +16 -7
- package/source/components/form/stylesheet/field-set.mjs +16 -7
- package/source/components/form/stylesheet/form.mjs +16 -7
- package/source/components/form/stylesheet/message-state-button.mjs +16 -7
- package/source/components/form/stylesheet/popper-button.mjs +16 -7
- package/source/components/form/stylesheet/select.mjs +16 -7
- package/source/components/form/stylesheet/state-button.mjs +16 -7
- package/source/components/form/stylesheet/toggle-switch.mjs +16 -7
- package/source/components/form/stylesheet/tree-select.mjs +16 -7
- package/source/components/form/tabs.mjs +12 -8
- package/source/components/form/template.mjs +11 -3
- package/source/components/form/toggle-switch.mjs +12 -8
- package/source/components/form/tree-select.mjs +10 -3
- package/source/components/form/types/state.mjs +10 -3
- package/source/components/form/util/fetch.mjs +10 -3
- package/source/components/form/util/floating-ui.mjs +10 -3
- package/source/components/form/util/popper.mjs +10 -3
- package/source/components/host/call-button.mjs +10 -1
- package/source/components/host/collapse.mjs +4 -6
- package/source/components/host/config-manager.mjs +2 -0
- package/source/components/host/constants.mjs +2 -0
- package/source/components/host/details.mjs +5 -8
- package/source/components/host/host.mjs +10 -1
- package/source/components/host/overlay.mjs +10 -1
- package/source/components/host/stylesheet/call-button.mjs +16 -7
- package/source/components/host/stylesheet/config-manager.mjs +16 -7
- package/source/components/host/stylesheet/host.mjs +16 -7
- package/source/components/host/stylesheet/overlay.mjs +16 -7
- package/source/components/host/stylesheet/toggle-button.mjs +16 -7
- package/source/components/host/stylesheet/viewer.mjs +16 -7
- package/source/components/host/toggle-button.mjs +10 -1
- package/source/components/host/util.mjs +14 -0
- package/source/components/host/viewer.mjs +10 -1
- package/source/components/layout/collapse.mjs +4 -3
- package/source/components/layout/details.mjs +2 -0
- package/source/components/layout/panel.mjs +179 -169
- package/source/components/layout/popper.mjs +324 -320
- package/source/components/layout/split-panel.mjs +329 -303
- package/source/components/layout/stylesheet/collapse.mjs +16 -7
- package/source/components/layout/stylesheet/details.mjs +16 -7
- package/source/components/layout/stylesheet/panel.mjs +16 -7
- package/source/components/layout/stylesheet/popper.mjs +16 -7
- package/source/components/layout/stylesheet/split-panel.mjs +16 -7
- package/source/components/layout/stylesheet/tabs.mjs +16 -7
- package/source/components/layout/stylesheet/width-toggle.mjs +16 -7
- package/source/components/layout/tabs.mjs +39 -24
- package/source/components/layout/width-toggle.mjs +148 -138
- package/source/components/navigation/style/table-of-content.pcss +20 -5
- package/source/components/navigation/stylesheet/table-of-content.mjs +17 -8
- package/source/components/navigation/table-of-content.mjs +394 -266
- package/source/components/notify/constants.mjs +10 -3
- package/source/components/notify/message.mjs +16 -9
- package/source/components/notify/notify.mjs +11 -4
- package/source/components/notify/stylesheet/message.mjs +16 -7
- package/source/components/notify/stylesheet/notify.mjs +16 -7
- package/source/components/state/log/entry.mjs +10 -1
- package/source/components/state/log.mjs +10 -1
- package/source/components/state/state.mjs +10 -1
- package/source/components/state/stylesheet/log.mjs +16 -7
- package/source/components/state/stylesheet/state.mjs +16 -7
- package/source/components/style/mixin/form.pcss +0 -1
- package/source/components/stylesheet/badge.mjs +16 -7
- package/source/components/stylesheet/border.mjs +16 -7
- package/source/components/stylesheet/button.mjs +16 -7
- package/source/components/stylesheet/card.mjs +16 -7
- package/source/components/stylesheet/color.mjs +16 -7
- package/source/components/stylesheet/common.mjs +16 -7
- package/source/components/stylesheet/control.mjs +16 -7
- package/source/components/stylesheet/data-grid.mjs +16 -7
- package/source/components/stylesheet/display.mjs +16 -7
- package/source/components/stylesheet/floating-ui.mjs +16 -7
- package/source/components/stylesheet/form.mjs +16 -7
- package/source/components/stylesheet/host.mjs +16 -7
- package/source/components/stylesheet/icons.mjs +16 -7
- package/source/components/stylesheet/link.mjs +16 -7
- package/source/components/stylesheet/mixin/badge.mjs +16 -7
- package/source/components/stylesheet/mixin/button.mjs +16 -7
- package/source/components/stylesheet/mixin/form.mjs +16 -7
- package/source/components/stylesheet/mixin/hover.mjs +16 -7
- package/source/components/stylesheet/mixin/icon.mjs +16 -7
- package/source/components/stylesheet/mixin/media.mjs +16 -7
- package/source/components/stylesheet/mixin/property.mjs +16 -7
- package/source/components/stylesheet/mixin/skeleton.mjs +16 -7
- package/source/components/stylesheet/mixin/spinner.mjs +16 -7
- package/source/components/stylesheet/mixin/typography.mjs +16 -7
- package/source/components/stylesheet/normalize.mjs +16 -7
- package/source/components/stylesheet/popper.mjs +16 -7
- package/source/components/stylesheet/property.mjs +16 -7
- package/source/components/stylesheet/ripple.mjs +16 -7
- package/source/components/stylesheet/skeleton.mjs +16 -7
- package/source/components/stylesheet/space.mjs +16 -7
- package/source/components/stylesheet/spinner.mjs +16 -7
- package/source/components/stylesheet/table.mjs +16 -7
- package/source/components/stylesheet/theme.mjs +16 -7
- package/source/components/stylesheet/tree-menu.mjs +10 -3
- package/source/components/stylesheet/typography.mjs +16 -7
- package/source/components/tree-menu/stylesheet/tree-menu.mjs +16 -7
- package/source/components/tree-menu/tree-menu.mjs +19 -8
- package/source/constants.mjs +10 -6
- package/source/constraints/abstract.mjs +10 -3
- package/source/constraints/abstractoperator.mjs +10 -3
- package/source/constraints/andoperator.mjs +10 -3
- package/source/constraints/invalid.mjs +10 -3
- package/source/constraints/isarray.mjs +10 -3
- package/source/constraints/isobject.mjs +10 -3
- package/source/constraints/oroperator.mjs +10 -3
- package/source/constraints/valid.mjs +10 -3
- package/source/data/buildmap.mjs +10 -3
- package/source/data/buildtree.mjs +10 -3
- package/source/data/datasource/dom.mjs +95 -87
- package/source/data/datasource/server/restapi/data-fetch-error.mjs +10 -3
- package/source/data/datasource/server/restapi/writeerror.mjs +10 -3
- package/source/data/datasource/server/restapi.mjs +10 -3
- package/source/data/datasource/server/webconnect.mjs +10 -3
- package/source/data/datasource/server.mjs +10 -3
- package/source/data/datasource/storage/localstorage.mjs +10 -3
- package/source/data/datasource/storage/sessionstorage.mjs +10 -3
- package/source/data/datasource/storage.mjs +10 -3
- package/source/data/datasource.mjs +10 -3
- package/source/data/diff.mjs +10 -3
- package/source/data/extend.mjs +10 -3
- package/source/data/pathfinder.mjs +10 -3
- package/source/data/pipe.mjs +10 -3
- package/source/data/transformer.mjs +34 -10
- package/source/dom/assembler.mjs +10 -3
- package/source/dom/attributes.mjs +10 -3
- package/source/dom/constants.mjs +10 -3
- package/source/dom/customcontrol.mjs +11 -4
- package/source/dom/customelement.mjs +31 -17
- package/source/dom/dimension.mjs +10 -3
- package/source/dom/events.mjs +10 -3
- package/source/dom/focusmanager.mjs +10 -3
- package/source/dom/locale.mjs +10 -3
- package/source/dom/ready.mjs +2 -1
- package/source/dom/resource/data.mjs +133 -123
- package/source/dom/resource/link/stylesheet.mjs +10 -3
- package/source/dom/resource/link.mjs +10 -3
- package/source/dom/resource/script.mjs +10 -3
- package/source/dom/resource.mjs +10 -4
- package/source/dom/resourcemanager.mjs +10 -3
- package/source/dom/slotted.mjs +14 -0
- package/source/dom/template.mjs +124 -136
- package/source/dom/theme.mjs +10 -3
- package/source/dom/updater.mjs +10 -3
- package/source/dom/util/extract-keys.mjs +10 -3
- package/source/dom/util/init-options-from-attributes.mjs +68 -61
- package/source/dom/util/set-option-from-attribute.mjs +10 -3
- package/source/dom/util.mjs +11 -4
- package/source/dom/worker/factory.mjs +10 -3
- package/source/i18n/formatter.mjs +10 -3
- package/source/i18n/locale.mjs +10 -3
- package/source/i18n/provider.mjs +10 -3
- package/source/i18n/providers/embed.mjs +10 -3
- package/source/i18n/providers/fetch.mjs +10 -3
- package/source/i18n/translations.mjs +10 -3
- package/source/logging/handler/console.mjs +10 -3
- package/source/logging/handler.mjs +10 -3
- package/source/logging/logentry.mjs +10 -3
- package/source/logging/logger.mjs +10 -3
- package/source/math/random.mjs +10 -3
- package/source/monster.mjs +3 -9
- package/source/net/webconnect/message.mjs +10 -3
- package/source/net/webconnect.mjs +20 -5
- package/source/text/bracketed-key-value-hash.mjs +10 -3
- package/source/text/formatter.mjs +10 -3
- package/source/text/generate-range-comparison-expression.mjs +10 -3
- package/source/text/util.mjs +14 -0
- package/source/types/base.mjs +10 -3
- package/source/types/basewithoptions.mjs +10 -3
- package/source/types/binary.mjs +10 -3
- package/source/types/dataurl.mjs +10 -3
- package/source/types/global.mjs +14 -7
- package/source/types/id.mjs +10 -3
- package/source/types/internal.mjs +11 -3
- package/source/types/is.mjs +10 -3
- package/source/types/mediatype.mjs +10 -3
- package/source/types/node.mjs +10 -3
- package/source/types/nodelist.mjs +10 -3
- package/source/types/noderecursiveiterator.mjs +10 -3
- package/source/types/observablequeue.mjs +10 -3
- package/source/types/observer.mjs +10 -3
- package/source/types/observerlist.mjs +10 -3
- package/source/types/proxyobserver.mjs +10 -3
- package/source/types/queue.mjs +10 -3
- package/source/types/randomid.mjs +10 -3
- package/source/types/regex.mjs +10 -3
- package/source/types/stack.mjs +10 -3
- package/source/types/tokenlist.mjs +10 -3
- package/source/types/typeof.mjs +10 -3
- package/source/types/uniquequeue.mjs +10 -3
- package/source/types/uuid.mjs +10 -3
- package/source/types/validate.mjs +10 -3
- package/source/types/version.mjs +10 -3
- package/source/util/clone.mjs +10 -3
- package/source/util/comparator.mjs +10 -3
- package/source/util/deadmansswitch.mjs +10 -3
- package/source/util/freeze.mjs +10 -3
- package/source/util/processing.mjs +10 -3
- package/source/util/runtime.mjs +10 -7
- package/source/util/sleep.mjs +10 -10
- package/source/util/trimspaces.mjs +10 -3
- package/test/cases/data/datasource/server/websocket.mjs +7 -9
- package/test/cases/data/transformer.mjs +47 -15
- package/test/cases/dom/customcontrol.mjs +0 -1
- package/test/cases/dom/customelement.mjs +1 -3
- package/test/cases/dom/template.mjs +3 -1
- package/test/util/jsdom.mjs +8 -7
- package/test/util/websocket.mjs +5 -1
- package/test/web/import.js +2 -1
- package/test/web/puppeteer.mjs +111 -0
- package/test/web/test.html +2 -2
- package/test/web/tests.js +2036 -1189
- package/example/components/form/button.mjs +0 -10
- package/example/components/form/field-set.mjs +0 -4
- package/example/components/form/select.mjs +0 -25
- package/example/components/form/toggle-switch.mjs +0 -7
- package/example/components/form/tree-select.mjs +0 -27
- package/example/components/host/host.mjs +0 -0
- package/example/components/notify/message.mjs +0 -4
- package/example/components/notify/notify.mjs +0 -4
- package/example/components/state/log.mjs +0 -0
- package/example/components/state/state.mjs +0 -0
- package/example/constraints/andoperator.mjs +0 -17
- package/example/constraints/invalid.mjs +0 -6
- package/example/constraints/isarray.mjs +0 -11
- package/example/constraints/isobject.mjs +0 -12
- package/example/constraints/oroperator.mjs +0 -15
- package/example/constraints/valid.mjs +0 -6
- package/example/data/buildmap.mjs +0 -67
- package/example/data/datasource/server/restapi.mjs +0 -20
- package/example/data/datasource/server/webconnect.mjs +0 -9
- package/example/data/datasource.mjs +0 -7
- package/example/data/diff.mjs +0 -39
- package/example/data/pathfinder-1.mjs +0 -23
- package/example/data/pathfinder-2.mjs +0 -19
- package/example/data/pipe.mjs +0 -14
- package/example/data/transformer.mjs +0 -9
- package/example/dom/customelement.mjs +0 -14
- package/example/dom/theme.mjs +0 -5
- package/example/dom/updater.mjs +0 -23
- package/example/i18n/formatter.mjs +0 -10
- package/example/i18n/providers/embed.mjs +0 -5
- package/example/i18n/providers/fetch.mjs +0 -5
- package/example/i18n/translations.mjs +0 -20
- package/example/net/webconnect.mjs +0 -16
- package/example/types/basewithoptions.mjs +0 -10
- package/example/types/is-1.mjs +0 -5
- package/example/types/is-10.mjs +0 -6
- package/example/types/is-2.mjs +0 -4
- package/example/types/is-3.mjs +0 -4
- package/example/types/is-4.mjs +0 -5
- package/example/types/is-5.mjs +0 -4
- package/example/types/is-6.mjs +0 -4
- package/example/types/is-7.mjs +0 -4
- package/example/types/is-8.mjs +0 -4
- package/example/types/is-9.mjs +0 -6
- package/example/types/noderecursiveiterator.mjs +0 -32
- package/example/types/observer.mjs +0 -9
- package/example/types/proxyobserver.mjs +0 -25
- package/example/types/queue.mjs +0 -20
- package/example/types/tokenlist-1.mjs +0 -4
- package/example/types/tokenlist-2.mjs +0 -7
- package/example/types/tokenlist-3.mjs +0 -5
- package/example/types/tokenlist-4.mjs +0 -5
- package/example/types/tokenlist-5.mjs +0 -5
- package/example/types/typeof.mjs +0 -9
- package/example/types/version-1.mjs +0 -6
- package/example/types/version-2.mjs +0 -3
- package/example/util/comparator.mjs +0 -10
- package/example/util/deadmansswitch.mjs +0 -9
- package/example/util/processing.mjs +0 -17
- package/source/components/datatable/datasource/namespace.mjs +0 -13
- package/source/components/datatable/datatable/namespace.mjs +0 -13
- package/source/components/datatable/events.mjs +0 -24
- package/source/components/datatable/filter/namespace.mjs +0 -13
- package/source/components/datatable/namespace.mjs +0 -11
- package/source/components/datatable/stylesheet/namespace.mjs +0 -13
- package/source/components/events.mjs +0 -17
- package/source/components/form/events.mjs +0 -108
- package/source/components/form/namespace.mjs +0 -13
- package/source/components/form/stylesheet/namespace.mjs +0 -13
- package/source/components/form/types/namespace.mjs +0 -13
- package/source/components/form/util/namespace.mjs +0 -13
- package/source/components/host/events.mjs +0 -131
- package/source/components/host/namespace.mjs +0 -13
- package/source/components/host/stylesheet/namespace.mjs +0 -13
- package/source/components/layout/events.mjs +0 -30
- package/source/components/layout/namespace.mjs +0 -13
- package/source/components/namespace.mjs +0 -14
- package/source/components/notify/events.mjs +0 -15
- package/source/components/notify/namespace.mjs +0 -15
- package/source/components/notify/stylesheet/namespace.mjs +0 -15
- package/source/components/state/log/namespace.mjs +0 -13
- package/source/components/state/namespace.mjs +0 -13
- package/source/components/stylesheet/namespace.mjs +0 -13
- package/source/components/tree-menu/namespace.mjs +0 -13
- package/source/components/tree-menu/stylesheet/namespace.mjs +0 -13
- package/source/constraints/namespace.mjs +0 -13
- package/source/data/datasource/namespace.mjs +0 -13
- package/source/data/datasource/server/namespace.mjs +0 -13
- package/source/data/datasource/server/restapi/namespace.mjs +0 -13
- package/source/data/datasource/storage/namespace.mjs +0 -13
- package/source/data/namespace.mjs +0 -13
- package/source/dom/namespace.mjs +0 -13
- package/source/dom/resource/link/namespace.mjs +0 -13
- package/source/dom/resource/namespace.mjs +0 -13
- package/source/dom/util/namespace.mjs +0 -13
- package/source/dom/worker/namespace.mjs +0 -13
- package/source/i18n/namespace.mjs +0 -13
- package/source/i18n/providers/namespace.mjs +0 -13
- package/source/logging/handler/namespace.mjs +0 -11
- package/source/logging/namespace.mjs +0 -13
- package/source/math/namespace.mjs +0 -13
- package/source/net/namespace.mjs +0 -13
- package/source/net/webconnect/namespace.mjs +0 -13
- package/source/text/namespace.mjs +0 -13
- package/source/types/namespace.mjs +0 -13
- package/source/util/namespace.mjs +0 -13
package/README.md
CHANGED
|
@@ -1,42 +1,46 @@
|
|
|
1
1
|
# Monster
|
|
2
2
|
|
|
3
|
-
Monster is an ideal choice for building visually appealing and high-performance web interfaces
|
|
4
|
-
|
|
3
|
+
Monster is an ideal choice for building visually appealing and high-performance web interfaces and websites using modern
|
|
4
|
+
JavaScript techniques.
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
innovative web components.
|
|
6
|
+
By leveraging cutting-edge JavaScript features such as classes, WeakRef, WeakMaps, proxies, and the MutationObserver
|
|
7
|
+
interface, Monster
|
|
8
|
+
offers a blend of traditional methods and innovative web components.
|
|
9
9
|
|
|
10
|
-
Designed for seamless integration, Monster complements
|
|
11
|
-
without dominating the entire architecture.
|
|
10
|
+
Designed for seamless integration, Monster complements existing web projects without dominating the entire architecture.
|
|
12
11
|
|
|
13
|
-
Unlike solutions that introduce a
|
|
14
|
-
|
|
15
|
-
JavaScript for web development.
|
|
12
|
+
Unlike solutions that introduce a new layer of abstraction and proprietary languages, Monster focuses on enhancing
|
|
13
|
+
the native capabilities of HTML, CSS, and JavaScript for web development.
|
|
16
14
|
|
|
17
|
-
With a design
|
|
18
|
-
|
|
15
|
+
With a design goal to optimize performance and achieve stellar outcomes, Monster achieves
|
|
16
|
+
this using minimal JavaScript code.
|
|
19
17
|
|
|
20
|
-
Monster
|
|
21
|
-
|
|
18
|
+
Monster is built with ES6 modules and uses
|
|
19
|
+
the [import](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/import)
|
|
20
|
+
and [export](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export) statements.
|
|
22
21
|
|
|
23
|
-
For
|
|
22
|
+
For certain functions, additional [polyfills](#polyfill) may be required.
|
|
24
23
|
|
|
25
24
|
## Documentation
|
|
26
25
|
|
|
27
|
-
To
|
|
26
|
+
To access our documentation and examples, visit [monsterjs.org/](https://monsterjs.org/).
|
|
28
27
|
|
|
29
28
|
## Installation
|
|
30
29
|
|
|
31
|
-
|
|
30
|
+
Install Monster using npm, Yarn, or pnpm:
|
|
31
|
+
|
|
32
|
+
- `npm install @schukai/monster`
|
|
33
|
+
- `yarn add @schukai/monster`
|
|
34
|
+
- `pnpm add @schukai/monster`
|
|
32
35
|
|
|
33
36
|
## Usage
|
|
34
37
|
|
|
35
|
-
|
|
36
|
-
|
|
38
|
+
Here is a simple example of how to use Monster. We create a small file named `index.mjs`
|
|
39
|
+
(where 'm' stands for module). In this example, we perform substitutions in a string:
|
|
37
40
|
|
|
38
41
|
```js
|
|
39
42
|
import {Formatter} from '@schukai/monster/source/text/formatter.mjs';
|
|
43
|
+
|
|
40
44
|
const text = '${mykey${subkey}}';
|
|
41
45
|
let obj = {
|
|
42
46
|
mykey2: "1",
|
|
@@ -44,16 +48,17 @@ let obj = {
|
|
|
44
48
|
};
|
|
45
49
|
|
|
46
50
|
new Formatter(obj).format(text);
|
|
47
|
-
//
|
|
51
|
+
// Outputs: 1
|
|
48
52
|
```
|
|
49
53
|
|
|
50
|
-
To integrate this function into a website it is recommended to use a bundler
|
|
54
|
+
To integrate this function into a website, it is recommended to use a bundler such
|
|
55
|
+
as [esbuild](https://esbuild.github.io/):
|
|
51
56
|
|
|
52
57
|
```sh
|
|
53
|
-
esbuild index.mjs --outfile
|
|
58
|
+
esbuild index.mjs --outfile=dist.js
|
|
54
59
|
```
|
|
55
60
|
|
|
56
|
-
|
|
61
|
+
You can now include it in your website:
|
|
57
62
|
|
|
58
63
|
```html
|
|
59
64
|
<!DOCTYPE html>
|
|
@@ -66,40 +71,39 @@ We can now integrate that into our website.
|
|
|
66
71
|
<body>
|
|
67
72
|
```
|
|
68
73
|
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
Voilà!
|
|
71
75
|
|
|
72
76
|
### Polyfill
|
|
73
77
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
However, many functions can be mapped via [polyfill.io](https://polyfill.io/) and thus the compatibility can be increased.
|
|
78
|
+
While we strive to work around some browser bugs, generally, we do not use polyfills or feature detection.
|
|
79
|
+
However, many functions can be supplemented through [polyfill.io](https://polyfill.io/), thus enhancing compatibility.
|
|
77
80
|
|
|
78
81
|
```html
|
|
79
|
-
<script id="polyfill"
|
|
80
|
-
|
|
81
|
-
|
|
82
|
+
<script id="polyfill"
|
|
83
|
+
src="https://polyfill.io/v3/polyfill.min.js?features=AbortController,Array.prototype.entries,Array.prototype.fill,Array.prototype.find,Array.prototype.includes,Array.prototype.keys,Array.prototype.sort,Array.prototype.values,atob,AudioContext,blissfuljs,Blob,CharacterData.prototype.nextElementSibling,CharacterData.prototype.previousElementSibling,CharacterData.prototype.remove,console,console.error,console.log,CSS.supports,CustomEvent,DocumentFragment,DocumentFragment.prototype.append,DocumentFragment.prototype.prepend,DOMRect,DOMTokenList,DOMTokenList.prototype.forEach,DOMTokenList.prototype.replace,Element.prototype.append,Element.prototype.getAttributeNames,Element.prototype.prepend,Element.prototype.remove,Element.prototype.scroll,Event,EventSource,fetch,Function.prototype.name,globalThis,HTMLDocument,HTMLPictureElement,HTMLTemplateElement,IntersectionObserver,IntersectionObserverEntry,Intl,Intl.DateTimeFormat,Intl.NumberFormat,Intl.PluralRules,Map,Math.log2,MutationObserver,Node.prototype.contains,Node.prototype.getRootNode,Node.prototype.isConnected,Node.prototype.isSameNode,NodeList.prototype.forEach,Number.isFinite,Number.isInteger,Object.assign,Object.entries,Object.freeze,Object.getOwnPropertyNames,Object.prototype.toString,Reflect,Reflect.defineProperty,Reflect.get,Reflect.getOwnPropertyDescriptor,Reflect.setPrototypeOf,requestAnimationFrame,ResizeObserver,Set,String.prototype.includes,String.prototype.matchAll,String.prototype.padStart,Symbol,Symbol.for,Symbol.hasInstance,Symbol.iterator,TextDecoder,TextEncoder,Uint16Array,Uint8Array,URLSearchParams,WeakSet"
|
|
84
|
+
crossorigin="anonymous"
|
|
85
|
+
referrerpolicy="no-referrer"></script>
|
|
82
86
|
```
|
|
83
87
|
|
|
84
88
|
## Questions
|
|
85
89
|
|
|
86
90
|
For questions and commercial support, please contact [schukai GmbH](https://www.schukai.com/).
|
|
87
|
-
The issue list of this
|
|
91
|
+
The issue list of this repository is exclusively for bug reports and feature requests.
|
|
88
92
|
|
|
89
93
|
## Issues
|
|
90
94
|
|
|
91
|
-
Please
|
|
92
|
-
|
|
95
|
+
Please ensure you read the Issue Reporting Checklist before opening an issue. Issues not conforming to the guidelines
|
|
96
|
+
may
|
|
97
|
+
be closed immediately.
|
|
93
98
|
|
|
94
99
|
## License
|
|
95
100
|
|
|
96
|
-
Copyright ©
|
|
97
|
-
|
|
98
|
-
[AGPL](https://www.gnu.org/licenses/agpl-3.0.de.html)
|
|
101
|
+
Copyright © 2024 schukai GmbH
|
|
99
102
|
|
|
100
|
-
|
|
103
|
+
Licensed under [AGPL](https://www.gnu.org/licenses/agpl-3.0.de.html). Commercial licenses are also available.
|
|
101
104
|
|
|
102
105
|
## Changelog
|
|
103
106
|
|
|
104
|
-
Detailed changes for each release are documented in
|
|
105
|
-
|
|
107
|
+
Detailed changes for each release are documented in the
|
|
108
|
+
[CHANGELOG](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/blob/master/application/CHANGELOG.md).
|
|
109
|
+
|
package/package.json
CHANGED
|
@@ -1,48 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@schukai/monster",
|
|
3
|
-
"version": "3.65.0",
|
|
4
|
-
"description": "Monster is a simple library for creating fast, robust and lightweight websites.",
|
|
5
|
-
"keywords": [
|
|
6
|
-
"framework",
|
|
7
|
-
"web",
|
|
8
|
-
"dom",
|
|
9
|
-
"css",
|
|
10
|
-
"sass",
|
|
11
|
-
"mobile-first",
|
|
12
|
-
"app",
|
|
13
|
-
"front-end",
|
|
14
|
-
"templates",
|
|
15
|
-
"schukai",
|
|
16
|
-
"core",
|
|
17
|
-
"shopcloud",
|
|
18
|
-
"alvine",
|
|
19
|
-
"monster",
|
|
20
|
-
"buildmap",
|
|
21
|
-
"stack",
|
|
22
|
-
"observer",
|
|
23
|
-
"observable",
|
|
24
|
-
"uuid",
|
|
25
|
-
"node",
|
|
26
|
-
"nodelist",
|
|
27
|
-
"css-in-js",
|
|
28
|
-
"logger",
|
|
29
|
-
"log",
|
|
30
|
-
"theme"
|
|
31
|
-
],
|
|
32
|
-
"main": "source/monster.mjs",
|
|
33
|
-
"module": "source/monster.mjs",
|
|
34
|
-
"type": "module",
|
|
35
|
-
"homepage": "https://monsterjs.org/",
|
|
36
|
-
"repository": {
|
|
37
|
-
"type": "git",
|
|
38
|
-
"url": "https://gitlab.schukai.com/oss/libraries/javascript/monster.git"
|
|
39
|
-
},
|
|
40
|
-
"author": "schukai GmbH",
|
|
41
|
-
"license": "AGPL 3.0",
|
|
42
|
-
"dependencies": {
|
|
43
|
-
"@floating-ui/dom": "^1.6.3",
|
|
44
|
-
"@popperjs/core": "^2.11.8",
|
|
45
|
-
"estraverse": "^5.3.0",
|
|
46
|
-
"vite-plugin-directory-index": "^3.0.1"
|
|
47
|
-
}
|
|
48
|
-
}
|
|
1
|
+
{"author":"schukai GmbH","dependencies":{"@floating-ui/dom":"^1.6.5","@popperjs/core":"^2.11.8"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"3.65.21"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright schukai GmbH and
|
|
2
|
+
* Copyright © schukai GmbH and all contributing authors, {{copyRightYear}}. All rights reserved.
|
|
3
3
|
* Node module: @schukai/monster
|
|
4
|
-
*
|
|
5
|
-
*
|
|
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.
|
|
11
|
+
*
|
|
12
|
+
* SPDX-License-Identifier: AGPL-3.0
|
|
6
13
|
*/
|
|
7
14
|
|
|
8
15
|
import { ATTRIBUTE_PREFIX } from "../dom/constants.mjs";
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
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.
|
|
11
|
+
*
|
|
3
12
|
* SPDX-License-Identifier: AGPL-3.0
|
|
4
13
|
*/
|
|
5
14
|
|
|
@@ -11,9 +20,10 @@ import {
|
|
|
11
20
|
CustomElement,
|
|
12
21
|
registerCustomElement,
|
|
13
22
|
} from "../../dom/customelement.mjs";
|
|
23
|
+
import {findElementWithSelectorUpwards} from "../../dom/util.mjs";
|
|
14
24
|
import { isString } from "../../types/is.mjs";
|
|
15
25
|
import { State } from "../form/types/state.mjs";
|
|
16
|
-
import
|
|
26
|
+
import "../form/state-button.mjs";
|
|
17
27
|
import { ATTRIBUTE_DATASOURCE_SELECTOR } from "./constants.mjs";
|
|
18
28
|
import { ChangeButtonStyleSheet } from "./stylesheet/change-button.mjs";
|
|
19
29
|
|
|
@@ -36,8 +46,6 @@ const datasetLinkedElementSymbol = Symbol("datasetLinkedElement");
|
|
|
36
46
|
*/
|
|
37
47
|
const overlayLinkedElementSymbol = Symbol("overlayLinkedElement");
|
|
38
48
|
|
|
39
|
-
|
|
40
|
-
|
|
41
49
|
/**
|
|
42
50
|
* The ColumnBar component is used to show and configure the columns of a datatable.
|
|
43
51
|
*
|
|
@@ -57,7 +65,7 @@ const overlayLinkedElementSymbol = Symbol("overlayLinkedElement");
|
|
|
57
65
|
* document.createElement('monster-datatable-change-button');
|
|
58
66
|
* ```
|
|
59
67
|
*
|
|
60
|
-
* The Body should have a class "hidden" to ensure that the
|
|
68
|
+
* The Body should have a class "hidden" to ensure that the
|
|
61
69
|
* styles are applied correctly.
|
|
62
70
|
*
|
|
63
71
|
* ```css
|
|
@@ -182,12 +190,12 @@ function initControlReferences() {
|
|
|
182
190
|
const selector = this.getOption("dataset.selector");
|
|
183
191
|
|
|
184
192
|
if (isString(selector)) {
|
|
185
|
-
|
|
186
|
-
|
|
193
|
+
|
|
194
|
+
const element = findElementWithSelectorUpwards( this,selector);
|
|
195
|
+
if (element===null) {
|
|
187
196
|
throw new Error("the selector must match exactly one element");
|
|
188
197
|
}
|
|
189
198
|
|
|
190
|
-
const element = elements[0];
|
|
191
199
|
if (!(element instanceof HTMLElement)) {
|
|
192
200
|
throw new TypeError("the element must be a dataset");
|
|
193
201
|
}
|
|
@@ -198,12 +206,11 @@ function initControlReferences() {
|
|
|
198
206
|
const selector2 = this.getOption("overlay.selector");
|
|
199
207
|
|
|
200
208
|
if (isString(selector2)) {
|
|
201
|
-
const
|
|
202
|
-
if (
|
|
209
|
+
const element = findElementWithSelectorUpwards( this,selector);
|
|
210
|
+
if (element===null) {
|
|
203
211
|
throw new Error("the selector must match exactly one element");
|
|
204
212
|
}
|
|
205
213
|
|
|
206
|
-
const element = elements[0];
|
|
207
214
|
if (!(element instanceof HTMLElement)) {
|
|
208
215
|
throw new TypeError("the element must be a overlay");
|
|
209
216
|
}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
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.
|
|
11
|
+
*
|
|
3
12
|
* SPDX-License-Identifier: AGPL-3.0
|
|
4
13
|
*/
|
|
5
14
|
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright schukai GmbH and
|
|
3
|
-
* Node module: @schukai/
|
|
4
|
-
*
|
|
5
|
-
*
|
|
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.
|
|
11
|
+
*
|
|
12
|
+
* SPDX-License-Identifier: AGPL-3.0
|
|
6
13
|
*/
|
|
7
14
|
|
|
8
15
|
import { ATTRIBUTE_PREFIX } from "../../dom/constants.mjs";
|