@appius-fr/apx 2.3.0 → 2.5.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/APX.mjs +2 -0
- package/README.md +55 -0
- package/dist/APX.dev.mjs +592 -6
- package/dist/APX.mjs +1 -1
- package/dist/APX.prod.mjs +1 -1
- package/dist/APX.standalone.js +2543 -0
- package/dist/APX.standalone.js.map +1 -0
- package/modules/dialog/README.md +24 -0
- package/modules/dialog/dialog.mjs +54 -3
- package/modules/toast/README.md +127 -0
- package/modules/toast/css/toast.css +60 -0
- package/modules/toast/toast.mjs +374 -0
- package/package.json +3 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"APX.standalone.js","mappings":";;;;;;;;;;;;;;;;;;AAAA;AACgH;AACjB;AAC/F,8BAA8B,mFAA2B,CAAC,4FAAqC;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,WAAW;AACX;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,uGAAuG,MAAM,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,YAAY,aAAa,OAAO,KAAK,YAAY,WAAW,UAAU,UAAU,YAAY,WAAW,UAAU,YAAY,aAAa,aAAa,OAAO,KAAK,UAAU,OAAO,KAAK,UAAU,UAAU,UAAU,YAAY,aAAa,aAAa,OAAO,MAAM,UAAU,YAAY,WAAW,OAAO,YAAY,SAAS,UAAU,UAAU,YAAY,aAAa,aAAa,aAAa,WAAW,YAAY,aAAa,OAAO,QAAQ,YAAY,aAAa,WAAW,OAAO,YAAY,MAAM,YAAY,aAAa,WAAW,UAAU,YAAY,aAAa,WAAW,UAAU,YAAY,aAAa,OAAO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B;AAC/C,wBAAwB,kHAAa;;AAErC,uBAAuB,uGAAa;AACpC;AACA,iBAAiB,+FAAM;AACvB,6BAA6B,sGAAkB;;AAE/C,aAAa,0GAAG,CAAC,sFAAO;;;;AAImD;AAC3E,OAAO,iEAAe,sFAAO,IAAI,sFAAO,UAAU,sFAAO,mBAAmB,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzB7E,MAAqG;AACrG,MAA2F;AAC3F,MAAkG;AAClG,MAAqH;AACrH,MAA8G;AAC9G,MAA8G;AAC9G,MAA4G;AAC5G;AACA;;AAEA;;AAEA,4BAA4B,qGAAmB;AAC/C,wBAAwB,kHAAa;;AAErC,uBAAuB,uGAAa;AACpC;AACA,iBAAiB,+FAAM;AACvB,6BAA6B,sGAAkB;;AAE/C,aAAa,0GAAG,CAAC,yFAAO;;;;AAIsD;AAC9E,OAAO,iEAAe,yFAAO,IAAI,yFAAO,UAAU,yFAAO,mBAAmB,EAAC;;;;;;;;;;;;AC1BhE;;AAEb;AACA;AACA;AACA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnFa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACjCa;;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","sources":["webpack://APX/./modules/dialog/css/dialog.css","webpack://APX/./modules/toast/css/toast.css","webpack://APX/./modules/tristate/css/tristate.css","webpack://APX/./node_modules/css-loader/dist/runtime/api.js","webpack://APX/./node_modules/css-loader/dist/runtime/getUrl.js","webpack://APX/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://APX/./modules/dialog/html/dialog.html","webpack://APX/./modules/dialog/css/dialog.css?a567","webpack://APX/./modules/toast/css/toast.css?8a48","webpack://APX/./modules/tristate/css/tristate.css?a094","webpack://APX/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://APX/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://APX/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://APX/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://APX/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://APX/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://APX/./modules/common.mjs","webpack://APX/./modules/dialog/dialog.mjs","webpack://APX/./modules/listen/listen.mjs","webpack://APX/./modules/toast/toast.mjs","webpack://APX/./modules/tristate/tristate.mjs","webpack://APX/webpack/bootstrap","webpack://APX/webpack/runtime/compat get default export","webpack://APX/webpack/runtime/define property getters","webpack://APX/webpack/runtime/hasOwnProperty shorthand","webpack://APX/webpack/runtime/make namespace object","webpack://APX/webpack/runtime/jsonp chunk loading","webpack://APX/webpack/runtime/nonce","webpack://APX/./APX.mjs"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/* Dialog styling */\r\n.APX-dialog {\r\n display: none;\r\n position: fixed;\r\n z-index: 1002;\r\n left: 0;\r\n top: 0;\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n background-color: rgba(0, 0, 0, 0.4);\r\n /* Dimmed background for focus on dialog */\r\n}\r\n\r\n.APX-dialog-content {\r\n background-color: #fefefe;\r\n padding: 40px;\r\n border: none;\r\n width: auto;\r\n min-width: 300px;\r\n max-width: 80%;\r\n margin: auto;\r\n border-radius: 8px;\r\n box-shadow: 0px 6px 20px rgba(0, 0, 0, 0.1);\r\n font-family: 'Helvetica Neue', Arial, sans-serif;\r\n}\r\n\r\nh2.APX-dialog-title{\r\n margin-top:0;\r\n}\r\n\r\n.APX-close-dialog {\r\n color: #aaa;\r\n float: right;\r\n font-size: 24px;\r\n margin-top: -10px;\r\n /* Adjust positioning */\r\n margin-right: -10px;\r\n}\r\n\r\n.APX-close-dialog:hover,\r\n.APX-close-dialog:focus {\r\n color: #333;\r\n /* Darker color on hover/focus */\r\n cursor: pointer;\r\n}\r\n\r\n/* Input fields styling */\r\n.APX-dialog-content input[type=\"text\"],\r\n.APX-dialog-content input[type=\"number\"],\r\n.APX-dialog-content input[type=\"date\"],\r\n.APX-dialog-content input[type=\"datetime-local\"] {\r\n width: 100%;\r\n padding: 10px;\r\n margin-bottom: 20px;\r\n border: 1px solid #ccc;\r\n border-radius: 4px;\r\n font-family: 'Helvetica Neue', Arial, sans-serif;\r\n font-size: 16px;\r\n box-sizing: border-box;\r\n transition: border-color 0.3s;\r\n}\r\n\r\n.APX-dialog-content input[type=\"text\"]:focus,\r\n.APX-dialog-content input[type=\"number\"]:focus,\r\n.APX-dialog-content input[type=\"date\"]:focus,\r\n.APX-dialog-content input[type=\"datetime-local\"]:focus {\r\n border-color: #2C3E50;\r\n /* Deep Blue Color */\r\n outline: none;\r\n}\r\n\r\n/* Button in the dialog */\r\n.APX-dialog-button-container button {\r\n position: relative;\r\n background-color: #2C3E50;\r\n color: #ECF0F1;\r\n border: none;\r\n padding: 10px 20px;\r\n border-radius: 5px;\r\n font-size: 16px;\r\n cursor: pointer;\r\n transition: all 0.3s ease;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\r\n}\r\n\r\n.APX-dialog-button-container button:hover {\r\n background-color: #34495E;\r\n transform: translateY(-1px);\r\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);\r\n}\r\n\r\n.APX-dialog-button-container {\r\n display: flex;\r\n gap: 10px;\r\n margin-top:1em;\r\n /* spacing between buttons */\r\n}\r\n\r\n/* Loading indicator */\r\n.APX-dialog-loading-indicator {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n height: 100px;\r\n width: 100%;\r\n}\r\n\r\n.APX-dialog-loading-indicator::before {\r\n content: '';\r\n width: 40px;\r\n height: 40px;\r\n border: 4px solid #f3f3f3;\r\n border-top: 4px solid #2C3E50;\r\n border-radius: 50%;\r\n animation: APX-dialog-spin 1s linear infinite;\r\n}\r\n\r\n@keyframes APX-dialog-spin {\r\n 0% { transform: rotate(0deg); }\r\n 100% { transform: rotate(360deg); }\r\n}\r\n.APX-dialog-button-disabled {\r\n opacity: 0.5;\r\n cursor: not-allowed !important;\r\n background-color: #95a5a6 !important; /* Grayed out color */\r\n box-shadow: none !important;\r\n transition: all 0.2s ease;\r\n transform: none !important;\r\n}\r\n\r\n.APX-dialog-button-disabled:hover {\r\n background-color: #95a5a6 !important; /* Keep gray on hover */\r\n transform: none !important;\r\n}\r\n\r\n/* Add a subtle strikethrough effect */\r\n.APX-dialog-button-disabled::after {\r\n content: '';\r\n position: absolute;\r\n top: 50%;\r\n left: 0;\r\n width: 100%;\r\n height: 1px;\r\n background-color: rgba(0, 0, 0, 0.2);\r\n transform: rotate(-5deg);\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./modules/dialog/css/dialog.css\"],\"names\":[],\"mappings\":\"AAAA,mBAAmB;AACnB;IACI,aAAa;IACb,eAAe;IACf,aAAa;IACb,OAAO;IACP,MAAM;IACN,WAAW;IACX,YAAY;IACZ,cAAc;IACd,oCAAoC;IACpC,0CAA0C;AAC9C;;AAEA;IACI,yBAAyB;IACzB,aAAa;IACb,YAAY;IACZ,WAAW;IACX,gBAAgB;IAChB,cAAc;IACd,YAAY;IACZ,kBAAkB;IAClB,2CAA2C;IAC3C,gDAAgD;AACpD;;AAEA;IACI,YAAY;AAChB;;AAEA;IACI,WAAW;IACX,YAAY;IACZ,eAAe;IACf,iBAAiB;IACjB,uBAAuB;IACvB,mBAAmB;AACvB;;AAEA;;IAEI,WAAW;IACX,gCAAgC;IAChC,eAAe;AACnB;;AAEA,yBAAyB;AACzB;;;;IAII,WAAW;IACX,aAAa;IACb,mBAAmB;IACnB,sBAAsB;IACtB,kBAAkB;IAClB,gDAAgD;IAChD,eAAe;IACf,sBAAsB;IACtB,6BAA6B;AACjC;;AAEA;;;;IAII,qBAAqB;IACrB,oBAAoB;IACpB,aAAa;AACjB;;AAEA,yBAAyB;AACzB;IACI,kBAAkB;IAClB,yBAAyB;IACzB,cAAc;IACd,YAAY;IACZ,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,eAAe;IACf,yBAAyB;IACzB,wCAAwC;AAC5C;;AAEA;IACI,yBAAyB;IACzB,2BAA2B;IAC3B,yCAAyC;AAC7C;;AAEA;IACI,aAAa;IACb,SAAS;IACT,cAAc;IACd,4BAA4B;AAChC;;AAEA,sBAAsB;AACtB;IACI,aAAa;IACb,uBAAuB;IACvB,mBAAmB;IACnB,aAAa;IACb,WAAW;AACf;;AAEA;IACI,WAAW;IACX,WAAW;IACX,YAAY;IACZ,yBAAyB;IACzB,6BAA6B;IAC7B,kBAAkB;IAClB,6CAA6C;AACjD;;AAEA;IACI,KAAK,uBAAuB,EAAE;IAC9B,OAAO,yBAAyB,EAAE;AACtC;AACA;IACI,YAAY;IACZ,8BAA8B;IAC9B,oCAAoC,EAAE,qBAAqB;IAC3D,2BAA2B;IAC3B,yBAAyB;IACzB,0BAA0B;AAC9B;;AAEA;IACI,oCAAoC,EAAE,uBAAuB;IAC7D,0BAA0B;AAC9B;;AAEA,sCAAsC;AACtC;IACI,WAAW;IACX,kBAAkB;IAClB,QAAQ;IACR,OAAO;IACP,WAAW;IACX,WAAW;IACX,oCAAoC;IACpC,wBAAwB;AAC5B\",\"sourcesContent\":[\"/* Dialog styling */\\r\\n.APX-dialog {\\r\\n display: none;\\r\\n position: fixed;\\r\\n z-index: 1002;\\r\\n left: 0;\\r\\n top: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n overflow: auto;\\r\\n background-color: rgba(0, 0, 0, 0.4);\\r\\n /* Dimmed background for focus on dialog */\\r\\n}\\r\\n\\r\\n.APX-dialog-content {\\r\\n background-color: #fefefe;\\r\\n padding: 40px;\\r\\n border: none;\\r\\n width: auto;\\r\\n min-width: 300px;\\r\\n max-width: 80%;\\r\\n margin: auto;\\r\\n border-radius: 8px;\\r\\n box-shadow: 0px 6px 20px rgba(0, 0, 0, 0.1);\\r\\n font-family: 'Helvetica Neue', Arial, sans-serif;\\r\\n}\\r\\n\\r\\nh2.APX-dialog-title{\\r\\n margin-top:0;\\r\\n}\\r\\n\\r\\n.APX-close-dialog {\\r\\n color: #aaa;\\r\\n float: right;\\r\\n font-size: 24px;\\r\\n margin-top: -10px;\\r\\n /* Adjust positioning */\\r\\n margin-right: -10px;\\r\\n}\\r\\n\\r\\n.APX-close-dialog:hover,\\r\\n.APX-close-dialog:focus {\\r\\n color: #333;\\r\\n /* Darker color on hover/focus */\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/* Input fields styling */\\r\\n.APX-dialog-content input[type=\\\"text\\\"],\\r\\n.APX-dialog-content input[type=\\\"number\\\"],\\r\\n.APX-dialog-content input[type=\\\"date\\\"],\\r\\n.APX-dialog-content input[type=\\\"datetime-local\\\"] {\\r\\n width: 100%;\\r\\n padding: 10px;\\r\\n margin-bottom: 20px;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 4px;\\r\\n font-family: 'Helvetica Neue', Arial, sans-serif;\\r\\n font-size: 16px;\\r\\n box-sizing: border-box;\\r\\n transition: border-color 0.3s;\\r\\n}\\r\\n\\r\\n.APX-dialog-content input[type=\\\"text\\\"]:focus,\\r\\n.APX-dialog-content input[type=\\\"number\\\"]:focus,\\r\\n.APX-dialog-content input[type=\\\"date\\\"]:focus,\\r\\n.APX-dialog-content input[type=\\\"datetime-local\\\"]:focus {\\r\\n border-color: #2C3E50;\\r\\n /* Deep Blue Color */\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n/* Button in the dialog */\\r\\n.APX-dialog-button-container button {\\r\\n position: relative;\\r\\n background-color: #2C3E50;\\r\\n color: #ECF0F1;\\r\\n border: none;\\r\\n padding: 10px 20px;\\r\\n border-radius: 5px;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n transition: all 0.3s ease;\\r\\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n.APX-dialog-button-container button:hover {\\r\\n background-color: #34495E;\\r\\n transform: translateY(-1px);\\r\\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);\\r\\n}\\r\\n\\r\\n.APX-dialog-button-container {\\r\\n display: flex;\\r\\n gap: 10px;\\r\\n margin-top:1em;\\r\\n /* spacing between buttons */\\r\\n}\\r\\n\\r\\n/* Loading indicator */\\r\\n.APX-dialog-loading-indicator {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 100px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.APX-dialog-loading-indicator::before {\\r\\n content: '';\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border: 4px solid #f3f3f3;\\r\\n border-top: 4px solid #2C3E50;\\r\\n border-radius: 50%;\\r\\n animation: APX-dialog-spin 1s linear infinite;\\r\\n}\\r\\n\\r\\n@keyframes APX-dialog-spin {\\r\\n 0% { transform: rotate(0deg); }\\r\\n 100% { transform: rotate(360deg); }\\r\\n}\\r\\n.APX-dialog-button-disabled {\\r\\n opacity: 0.5;\\r\\n cursor: not-allowed !important;\\r\\n background-color: #95a5a6 !important; /* Grayed out color */\\r\\n box-shadow: none !important;\\r\\n transition: all 0.2s ease;\\r\\n transform: none !important;\\r\\n}\\r\\n\\r\\n.APX-dialog-button-disabled:hover {\\r\\n background-color: #95a5a6 !important; /* Keep gray on hover */\\r\\n transform: none !important;\\r\\n}\\r\\n\\r\\n/* Add a subtle strikethrough effect */\\r\\n.APX-dialog-button-disabled::after {\\r\\n content: '';\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 1px;\\r\\n background-color: rgba(0, 0, 0, 0.2);\\r\\n transform: rotate(-5deg);\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.APX-toast-container {\r\n position: fixed;\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--apx-toast-gap, 8px);\r\n z-index: var(--apx-toast-z-index, 11000);\r\n pointer-events: none;\r\n}\r\n\r\n.APX-toast-container--bottom-right { right: 12px; bottom: 12px; align-items: flex-end; }\r\n.APX-toast-container--bottom-left { left: 12px; bottom: 12px; align-items: flex-start; }\r\n.APX-toast-container--top-right { right: 12px; top: 12px; align-items: flex-end; }\r\n.APX-toast-container--top-left { left: 12px; top: 12px; align-items: flex-start; }\r\n\r\n.APX-toast {\r\n min-width: var(--apx-toast-min-width, 260px);\r\n max-width: var(--apx-toast-max-width, 420px);\r\n font-size: var(--apx-toast-font-size, 14px);\r\n border-radius: var(--apx-toast-radius, 6px);\r\n box-shadow: var(--apx-toast-shadow, 0 6px 24px rgba(0,0,0,0.2));\r\n padding: var(--apx-toast-padding, 10px 42px 10px 14px);\r\n color: #111;\r\n background: #eee;\r\n pointer-events: auto;\r\n position: relative;\r\n transition: opacity 180ms ease, transform 180ms ease;\r\n}\r\n\r\n.APX-toast--info { background: var(--apx-toast-info-bg, #0dcaf0); color: var(--apx-toast-info-fg, #052c65); }\r\n.APX-toast--success { background: var(--apx-toast-success-bg, #198754); color: var(--apx-toast-success-fg, #ffffff); }\r\n.APX-toast--warning { background: var(--apx-toast-warning-bg, #ffc107); color: var(--apx-toast-warning-fg, #664d03); }\r\n.APX-toast--danger { background: var(--apx-toast-danger-bg, #dc3545); color: var(--apx-toast-danger-fg, #ffffff); }\r\n\r\n.APX-toast__content { line-height: 1.35; }\r\n\r\n.APX-toast__close {\r\n position: absolute;\r\n top: 50%; right: 10px;\r\n width: 24px; height: 24px;\r\n transform: translateY(-50%);\r\n display: inline-flex; align-items: center; justify-content: center;\r\n background: transparent; color: currentColor;\r\n border: 0; border-radius: 4px; padding: 0; margin: 0;\r\n cursor: pointer; appearance: none; -webkit-appearance: none;\r\n opacity: .75; transition: opacity 120ms ease;\r\n}\r\n.APX-toast__close:hover { opacity: 1; }\r\n.APX-toast__close:focus { outline: 2px solid rgba(0,0,0,.2); outline-offset: 2px; }\r\n.APX-toast__close::before {\r\n content: '×';\r\n font-size: 16px; line-height: 1; text-align: center;\r\n}\r\n\r\n/* Animations */\r\n.APX-toast--enter { opacity: 0; transform: translateY(8px); }\r\n.APX-toast--enter.APX-toast--enter-active { opacity: 1; transform: translateY(0); }\r\n.APX-toast--exit { opacity: 1; transform: translateY(0); }\r\n.APX-toast--exit.APX-toast--exit-active { opacity: 0; transform: translateY(8px); }\r\n\r\n\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./modules/toast/css/toast.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,eAAe;IACf,aAAa;IACb,sBAAsB;IACtB,8BAA8B;IAC9B,wCAAwC;IACxC,oBAAoB;AACxB;;AAEA,qCAAqC,WAAW,EAAE,YAAY,EAAE,qBAAqB,EAAE;AACvF,oCAAoC,UAAU,EAAE,YAAY,EAAE,uBAAuB,EAAE;AACvF,kCAAkC,WAAW,EAAE,SAAS,EAAE,qBAAqB,EAAE;AACjF,iCAAiC,UAAU,EAAE,SAAS,EAAE,uBAAuB,EAAE;;AAEjF;IACI,4CAA4C;IAC5C,4CAA4C;IAC5C,2CAA2C;IAC3C,2CAA2C;IAC3C,+DAA+D;IAC/D,sDAAsD;IACtD,WAAW;IACX,gBAAgB;IAChB,oBAAoB;IACpB,kBAAkB;IAClB,oDAAoD;AACxD;;AAEA,mBAAmB,6CAA6C,EAAE,wCAAwC,EAAE;AAC5G,sBAAsB,gDAAgD,EAAE,2CAA2C,EAAE;AACrH,sBAAsB,gDAAgD,EAAE,2CAA2C,EAAE;AACrH,qBAAqB,+CAA+C,EAAE,0CAA0C,EAAE;;AAElH,sBAAsB,iBAAiB,EAAE;;AAEzC;IACI,kBAAkB;IAClB,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,YAAY;IACzB,2BAA2B;IAC3B,oBAAoB,EAAE,mBAAmB,EAAE,uBAAuB;IAClE,uBAAuB,EAAE,mBAAmB;IAC5C,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS;IACpD,eAAe,EAAE,gBAAgB,EAAE,wBAAwB;IAC3D,YAAY,EAAE,8BAA8B;AAChD;AACA,0BAA0B,UAAU,EAAE;AACtC,0BAA0B,iCAAiC,EAAE,mBAAmB,EAAE;AAClF;IACI,YAAY;IACZ,eAAe,EAAE,cAAc,EAAE,kBAAkB;AACvD;;AAEA,eAAe;AACf,oBAAoB,UAAU,EAAE,0BAA0B,EAAE;AAC5D,4CAA4C,UAAU,EAAE,wBAAwB,EAAE;AAClF,mBAAmB,UAAU,EAAE,wBAAwB,EAAE;AACzD,0CAA0C,UAAU,EAAE,0BAA0B,EAAE\",\"sourcesContent\":[\".APX-toast-container {\\r\\n position: fixed;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n gap: var(--apx-toast-gap, 8px);\\r\\n z-index: var(--apx-toast-z-index, 11000);\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.APX-toast-container--bottom-right { right: 12px; bottom: 12px; align-items: flex-end; }\\r\\n.APX-toast-container--bottom-left { left: 12px; bottom: 12px; align-items: flex-start; }\\r\\n.APX-toast-container--top-right { right: 12px; top: 12px; align-items: flex-end; }\\r\\n.APX-toast-container--top-left { left: 12px; top: 12px; align-items: flex-start; }\\r\\n\\r\\n.APX-toast {\\r\\n min-width: var(--apx-toast-min-width, 260px);\\r\\n max-width: var(--apx-toast-max-width, 420px);\\r\\n font-size: var(--apx-toast-font-size, 14px);\\r\\n border-radius: var(--apx-toast-radius, 6px);\\r\\n box-shadow: var(--apx-toast-shadow, 0 6px 24px rgba(0,0,0,0.2));\\r\\n padding: var(--apx-toast-padding, 10px 42px 10px 14px);\\r\\n color: #111;\\r\\n background: #eee;\\r\\n pointer-events: auto;\\r\\n position: relative;\\r\\n transition: opacity 180ms ease, transform 180ms ease;\\r\\n}\\r\\n\\r\\n.APX-toast--info { background: var(--apx-toast-info-bg, #0dcaf0); color: var(--apx-toast-info-fg, #052c65); }\\r\\n.APX-toast--success { background: var(--apx-toast-success-bg, #198754); color: var(--apx-toast-success-fg, #ffffff); }\\r\\n.APX-toast--warning { background: var(--apx-toast-warning-bg, #ffc107); color: var(--apx-toast-warning-fg, #664d03); }\\r\\n.APX-toast--danger { background: var(--apx-toast-danger-bg, #dc3545); color: var(--apx-toast-danger-fg, #ffffff); }\\r\\n\\r\\n.APX-toast__content { line-height: 1.35; }\\r\\n\\r\\n.APX-toast__close {\\r\\n position: absolute;\\r\\n top: 50%; right: 10px;\\r\\n width: 24px; height: 24px;\\r\\n transform: translateY(-50%);\\r\\n display: inline-flex; align-items: center; justify-content: center;\\r\\n background: transparent; color: currentColor;\\r\\n border: 0; border-radius: 4px; padding: 0; margin: 0;\\r\\n cursor: pointer; appearance: none; -webkit-appearance: none;\\r\\n opacity: .75; transition: opacity 120ms ease;\\r\\n}\\r\\n.APX-toast__close:hover { opacity: 1; }\\r\\n.APX-toast__close:focus { outline: 2px solid rgba(0,0,0,.2); outline-offset: 2px; }\\r\\n.APX-toast__close::before {\\r\\n content: '×';\\r\\n font-size: 16px; line-height: 1; text-align: center;\\r\\n}\\r\\n\\r\\n/* Animations */\\r\\n.APX-toast--enter { opacity: 0; transform: translateY(8px); }\\r\\n.APX-toast--enter.APX-toast--enter-active { opacity: 1; transform: translateY(0); }\\r\\n.APX-toast--exit { opacity: 1; transform: translateY(0); }\\r\\n.APX-toast--exit.APX-toast--exit-active { opacity: 0; transform: translateY(8px); }\\r\\n\\r\\n\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2732%27%20height%3D%2732%27%3E%3Cpath%20%20fill%3D%22%23cccccc%22%20d%3D%22M25.107%2032.030h-18.214c-3.456%200-6.268-2.81-6.268-6.264v-19.529c0-3.456%202.812-6.268%206.268-6.268h18.214c3.456%200%206.268%202.812%206.268%206.268v19.529c0%203.452-2.812%206.264-6.268%206.264zM6.893%201.85c-2.419%200-4.386%201.967-4.386%204.386v19.529c0%202.417%201.967%204.382%204.386%204.382h18.214c2.419%200%204.386-1.965%204.386-4.382v-19.529c0-2.419-1.967-4.386-4.386-4.386h-18.214z%22%3E%3C/path%3E%3C/svg%3E\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2732%27%20height%3D%2732%27%3E%3Cpath%20fill%3D%22%230654ba%22%20d%3D%22M0.543%205.647c0-3.119%202.531-5.647%205.65-5.647h19.309c3.12%200%205.65%202.511%205.65%205.647v20.705c0%203.119-2.531%205.647-5.65%205.647h-19.309c-3.12%200-5.65-2.511-5.65-5.647v-20.705zM5.313%2017.587l7.039%206.839%2013.831-13.439-2.636-2.561-10.929%2010.62-4.442-4.317-2.862%202.858z%22%3E%3C/path%3E%3C/svg%3E\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20viewBox%3D%220%200%2032%2032%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m0.543%205.647c0-3.119%202.531-5.647%205.65-5.647h19.309c3.12%200%205.65%202.511%205.65%205.647v20.705c0%203.119-2.531%205.647-5.65%205.647h-19.309c-3.12%200-5.65-2.511-5.65-5.647v-20.705z%22%20fill%3D%22%23f00%22%2F%3E%3Cpath%20d%3D%22m8%208%2016%2016%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M24%208L8%2024%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.apx-tristate {\r\n display: inline-block;\r\n vertical-align: middle;\r\n text-align: center;\r\n cursor: pointer;\r\n position: relative;\r\n min-width:13px;\r\n min-height:13px;\r\n background-size: contain;\r\n background-color: white;\r\n border-radius:3px;\r\n}\r\n.apx-tristate.unchecked {\r\n background-image: url(${___CSS_LOADER_URL_REPLACEMENT_0___});\r\n}\r\n.apx-tristate.checked {\r\n background-image: url(${___CSS_LOADER_URL_REPLACEMENT_1___});\r\n background-repeat: no-repeat;\r\n background-position: center;\r\n}\r\n.apx-tristate.crossed {\r\n background-image: url(${___CSS_LOADER_URL_REPLACEMENT_2___});\r\n background-repeat: no-repeat;\r\n background-position: center;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./modules/tristate/css/tristate.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,qBAAqB;IACrB,sBAAsB;IACtB,kBAAkB;IAClB,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,wBAAwB;IACxB,uBAAuB;IACvB,iBAAiB;AACrB;AACA;IACI,yDAAylB;AAC7lB;AACA;IACI,yDAA6e;IAC7e,4BAA4B;IAC5B,2BAA2B;AAC/B;AACA;IACI,yDAAsnB;IACtnB,4BAA4B;IAC5B,2BAA2B;AAC/B\",\"sourcesContent\":[\".apx-tristate {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n text-align: center;\\r\\n cursor: pointer;\\r\\n position: relative;\\r\\n min-width:13px;\\r\\n min-height:13px;\\r\\n background-size: contain;\\r\\n background-color: white;\\r\\n border-radius:3px;\\r\\n}\\r\\n.apx-tristate.unchecked {\\r\\n background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2732%27%20height%3D%2732%27%3E%3Cpath%20%20fill%3D%22%23cccccc%22%20d%3D%22M25.107%2032.030h-18.214c-3.456%200-6.268-2.81-6.268-6.264v-19.529c0-3.456%202.812-6.268%206.268-6.268h18.214c3.456%200%206.268%202.812%206.268%206.268v19.529c0%203.452-2.812%206.264-6.268%206.264zM6.893%201.85c-2.419%200-4.386%201.967-4.386%204.386v19.529c0%202.417%201.967%204.382%204.386%204.382h18.214c2.419%200%204.386-1.965%204.386-4.382v-19.529c0-2.419-1.967-4.386-4.386-4.386h-18.214z%22%3E%3C/path%3E%3C/svg%3E');\\r\\n}\\r\\n.apx-tristate.checked {\\r\\n background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2732%27%20height%3D%2732%27%3E%3Cpath%20fill%3D%22%230654ba%22%20d%3D%22M0.543%205.647c0-3.119%202.531-5.647%205.65-5.647h19.309c3.12%200%205.65%202.511%205.65%205.647v20.705c0%203.119-2.531%205.647-5.65%205.647h-19.309c-3.12%200-5.65-2.511-5.65-5.647v-20.705zM5.313%2017.587l7.039%206.839%2013.831-13.439-2.636-2.561-10.929%2010.62-4.442-4.317-2.862%202.858z%22%3E%3C/path%3E%3C/svg%3E');\\r\\n background-repeat: no-repeat;\\r\\n background-position: center;\\r\\n}\\r\\n.apx-tristate.crossed {\\r\\n background-image: url('data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20viewBox%3D%220%200%2032%2032%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m0.543%205.647c0-3.119%202.531-5.647%205.65-5.647h19.309c3.12%200%205.65%202.511%205.65%205.647v20.705c0%203.119-2.531%205.647-5.65%205.647h-19.309c-3.12%200-5.65-2.511-5.65-5.647v-20.705z%22%20fill%3D%22%23f00%22%2F%3E%3Cpath%20d%3D%22m8%208%2016%2016%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M24%208L8%2024%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E');\\r\\n background-repeat: no-repeat;\\r\\n background-position: center;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","// Module\nvar code = \"<div class=\\\"APX-dialog\\\">\\r\\n <div class=\\\"APX-dialog-content\\\">\\r\\n <span class=\\\"APX-close-dialog\\\">×</span>\\r\\n <h2 class=\\\"APX-dialog-title\\\"></h2>\\r\\n <div class=\\\"APX-dialog-dynamic-content\\\"></div>\\r\\n <div class=\\\"APX-dialog-button-container\\\"></div>\\r\\n </div>\\r\\n</div>\";\n// Exports\nmodule.exports = code;","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./dialog.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./dialog.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./toast.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./toast.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./tristate.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./tristate.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","// Function to load the CSS from a given URL\r\nfunction loadCss(url) {\r\n return fetch(url)\r\n .then(response => response.text())\r\n .then(css => {\r\n const styleSheet = document.createElement(\"style\");\r\n styleSheet.type = \"text/css\";\r\n styleSheet.textContent = css; // Use textContent instead of innerText\r\n document.head.appendChild(styleSheet);\r\n })\r\n .catch(error => {\r\n console.error(\"Failed to load CSS:\", error);\r\n });\r\n}\r\n\r\nexport {\r\n loadCss\r\n}","// Importing the CSS and HTML templates\r\nimport './css/dialog.css';\r\nimport dialogTemplate from './html/dialog.html?raw';\r\n\r\nconst createDialog = (options) => {\r\n const dialogDefaults = {\r\n title: '',\r\n content: '',\r\n contentURI: '',\r\n buttons: [],\r\n size: 'medium',\r\n showLoadingIndicator: false,\r\n contentMethod: 'GET',\r\n contentData: null,\r\n contentHeaders: undefined\r\n };\r\n\r\n const { title, content, contentURI, buttons, size, showLoadingIndicator, contentMethod, contentData, contentHeaders } = { ...dialogDefaults, ...options };\r\n\r\n const wrapper = document.createElement('div');\r\n wrapper.innerHTML = dialogTemplate.trim();\r\n const dialogElement = wrapper.firstChild;\r\n\r\n // Lifecycle event management\r\n const lifecycleResolvers = {};\r\n const lifecycleEvents = {};\r\n\r\n // Define lifecycle promises as properties\r\n ['opening', 'opened', 'closing', 'closed', 'contentLoading', 'contentLoaded'].forEach((event) => {\r\n lifecycleEvents[event] = new Promise((resolve) => {\r\n lifecycleResolvers[event] = resolve;\r\n });\r\n });\r\n\r\n const triggerEvent = (event) => {\r\n if (lifecycleResolvers[event]) {\r\n lifecycleResolvers[event]();\r\n } else {\r\n console.warn(`No resolver found for lifecycle event: ${event}`);\r\n }\r\n };\r\n\r\n const dialog = {\r\n element: dialogElement,\r\n buttons: {},\r\n isClosed: false,\r\n lifecycle: lifecycleEvents, // Lifecycle promises directly exposed here\r\n disableButton: (key) => {\r\n const button = dialogElement.querySelector(`.APX-dialog-button[data-key=\"${key}\"]`);\r\n if (button) {\r\n button.disabled = true;\r\n button.classList.add('APX-dialog-button-disabled');\r\n }\r\n },\r\n enableButton: (key) => {\r\n const button = dialogElement.querySelector(`.APX-dialog-button[data-key=\"${key}\"]`);\r\n if (button) {\r\n button.disabled = false;\r\n button.classList.remove('APX-dialog-button-disabled');\r\n }\r\n },\r\n open: async () => {\r\n try {\r\n triggerEvent('opening');\r\n await dialog.lifecycle.opening;\r\n\r\n // If loading indicator is enabled and we're fetching content, show dialog first\r\n if (showLoadingIndicator && contentURI) {\r\n // Append dialog to the DOM and display it first\r\n document.body.appendChild(dialogElement);\r\n dialogElement.style.display = \"flex\";\r\n \r\n // Show loading indicator\r\n dialogElement.querySelector(\".APX-dialog-dynamic-content\").innerHTML = '<div class=\"APX-dialog-loading-indicator\"></div>';\r\n \r\n // Load content after dialog is visible\r\n await fetchAndInsertContent();\r\n } else {\r\n // Default behavior: load content first, then show dialog\r\n await fetchAndInsertContent();\r\n \r\n // Append dialog to the DOM and display it\r\n document.body.appendChild(dialogElement);\r\n dialogElement.style.display = \"flex\";\r\n }\r\n\r\n triggerEvent('opened');\r\n await dialog.lifecycle.opened;\r\n } catch (error) {\r\n console.error('Error opening dialog:', error);\r\n }\r\n return dialog; // Return for daisy-chaining\r\n },\r\n close: async () => {\r\n try {\r\n triggerEvent('closing');\r\n await dialog.lifecycle.closing;\r\n\r\n // Cleanup and remove dialog\r\n closeDialogAndCleanup();\r\n\r\n triggerEvent('closed');\r\n await dialog.lifecycle.closed;\r\n } catch (error) {\r\n console.error('Error during dialog closing:', error);\r\n }\r\n return dialog; // Return for daisy-chaining\r\n }\r\n };\r\n\r\n const closeDialogAndCleanup = () => {\r\n if (dialog.isClosed) return;\r\n\r\n dialog.isClosed = true;\r\n dialogElement.style.display = \"none\";\r\n if (document.body.contains(dialogElement)) {\r\n document.body.removeChild(dialogElement);\r\n }\r\n };\r\n\r\n const setDialogSize = () => {\r\n const dialogContent = dialogElement.querySelector(\".APX-dialog-content\");\r\n const sizes = {\r\n small: { width: '300px', height: '200px' },\r\n medium: { width: '500px', height: '400px' },\r\n large: { width: '800px', height: '600px' }\r\n };\r\n\r\n if (size === 'auto') return;\r\n\r\n const selectedSize = sizes[size] || (typeof size === 'object' && size);\r\n if (selectedSize) {\r\n dialogContent.style.minWidth = selectedSize.width || '500px';\r\n dialogContent.style.minHeight = selectedSize.height || '400px';\r\n }\r\n };\r\n\r\n const addButtons = () => {\r\n const buttonContainer = dialogElement.querySelector(\".APX-dialog-button-container\");\r\n\r\n buttons.forEach(({ key, label, order = 0, align = 'flex-end', closeOnClick = true }) => {\r\n const button = document.createElement('button');\r\n button.classList.add('APX-dialog-button');\r\n button.textContent = label;\r\n button.style.order = order;\r\n button.setAttribute('data-key', key);\r\n\r\n // Create button context with disable/enable methods\r\n const buttonContext = {\r\n disable: () => {\r\n button.disabled = true;\r\n button.classList.add('APX-dialog-button-disabled');\r\n },\r\n enable: () => {\r\n button.disabled = false;\r\n button.classList.remove('APX-dialog-button-disabled');\r\n },\r\n key,\r\n element: button\r\n };\r\n\r\n if (closeOnClick) {\r\n // Handle as a one-time Promise\r\n let firstClickResolved = false;\r\n\r\n const firstClickPromise = new Promise((resolve) => {\r\n button.onclick = () => {\r\n if (!firstClickResolved && !button.disabled) {\r\n firstClickResolved = true;\r\n resolve({ dialog, button: buttonContext }); // Pass both dialog and button context\r\n dialog.close(); // Close the dialog\r\n }\r\n };\r\n });\r\n\r\n // Assign the promise for chaining with `.then`\r\n dialog.buttons[key] = firstClickPromise;\r\n } else {\r\n // Handle as a repeated event handler\r\n let handlers = []; // Store handlers for `.then()`\r\n\r\n const clickPromise = {\r\n then: (callback) => {\r\n if (typeof callback === 'function') {\r\n handlers.push(callback); // Add to handlers\r\n }\r\n return clickPromise; // Allow chaining\r\n },\r\n };\r\n\r\n button.onclick = () => {\r\n if (!button.disabled) {\r\n handlers.forEach((handler) => handler({ dialog, button: buttonContext })); // Pass both dialog and button context\r\n }\r\n };\r\n\r\n dialog.buttons[key] = clickPromise; // Assign the \"fake\" promise\r\n }\r\n\r\n buttonContainer.appendChild(button);\r\n buttonContainer.style.justifyContent = align;\r\n });\r\n };\r\n\r\n const fetchAndInsertContent = async () => {\r\n const originalCursor = document.body.style.cursor;\r\n document.body.style.cursor = 'wait';\r\n const dynamicContent = dialogElement.querySelector(\".APX-dialog-dynamic-content\");\r\n \r\n try {\r\n triggerEvent('contentLoading');\r\n await dialog.lifecycle.contentLoading;\r\n\r\n const contentHtml = contentURI\r\n ? await fetchContent(contentURI)\r\n : content;\r\n\r\n dynamicContent.innerHTML = contentHtml;\r\n\r\n triggerEvent('contentLoaded');\r\n await dialog.lifecycle.contentLoaded;\r\n } catch (error) {\r\n console.error('Error loading content:', error);\r\n } finally {\r\n document.body.style.cursor = originalCursor;\r\n }\r\n };\r\n\r\n const fetchContent = async (uri) => {\r\n const method = (contentMethod || 'GET').toUpperCase();\r\n\r\n // Always allow custom headers; we only add Content-Type when we can infer it\r\n const headers = { ...(contentHeaders || {}) };\r\n const hasContentType = Object.keys(headers).some((k) => k.toLowerCase() === 'content-type');\r\n\r\n /**\r\n * Build RequestInit depending on method and contentData type.\r\n * We avoid setting Content-Type for FormData and raw string/Blob payloads,\r\n * unless the caller explicitly provided it via contentHeaders.\r\n */\r\n const init = { method };\r\n\r\n if (method === 'POST') {\r\n let body = undefined;\r\n\r\n const isFormData = typeof FormData !== 'undefined' && contentData instanceof FormData;\r\n const isURLSearchParams = typeof URLSearchParams !== 'undefined' && contentData instanceof URLSearchParams;\r\n const isBlob = typeof Blob !== 'undefined' && contentData instanceof Blob;\r\n const isString = typeof contentData === 'string';\r\n const isPlainObject = contentData && typeof contentData === 'object' && !isFormData && !isURLSearchParams && !isBlob;\r\n\r\n if (isFormData) {\r\n body = contentData;\r\n // Do not set Content-Type for FormData; browser will set the boundary\r\n } else if (isURLSearchParams) {\r\n body = contentData;\r\n if (!hasContentType) headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';\r\n } else if (isPlainObject) {\r\n body = JSON.stringify(contentData);\r\n if (!hasContentType) headers['Content-Type'] = 'application/json';\r\n } else if (isString || isBlob) {\r\n body = contentData;\r\n // Content-Type left to caller if needed\r\n } else if (contentData != null) {\r\n // Fallback: try send as-is\r\n body = contentData;\r\n }\r\n\r\n if (body !== undefined) {\r\n init.body = body;\r\n }\r\n }\r\n\r\n if (Object.keys(headers).length > 0) {\r\n init.headers = headers;\r\n }\r\n\r\n const response = await fetch(uri, init);\r\n if (!response.ok) throw new Error(`Failed to fetch content: ${response.statusText}`);\r\n return response.text();\r\n };\r\n\r\n // Initialize dialog\r\n setDialogSize();\r\n addButtons();\r\n\r\n // Set title and close button handler\r\n dialogElement.querySelector(\".APX-dialog-title\").textContent = title;\r\n dialogElement.querySelector('.APX-close-dialog').onclick = dialog.close;\r\n\r\n return dialog;\r\n};\r\n\r\nexport default createDialog;\r\n","let counter = 0;\r\nconst doCallbacks = {};\r\nconst timeouts = {};\r\n\r\n/**\r\n * This function adds an event listener to the elements and returns an object with a do method to add callback functions.\r\n * @param {Object} apx - The apx object to augment with the listen function.\r\n * @returns {Object} - The augmented apx object.\r\n */\r\nexport default function (apx) {\r\n let elements = apx.elements;\r\n\r\n /**\r\n * Adds an event listener to the elements and returns an object with a do method to add callback functions.\r\n * @param {string} eventType - The type of event to listen for (e.g. 'click', 'keydown', etc.).\r\n * @param {string} [selector] - The CSS selector to use for event delegation (optional).\r\n * @returns {Object} - An object with a do method to add callback functions.\r\n * @example\r\n * apx.listen('click', '.my-button').do((event) => {\r\n * console.log('Button clicked!', event.target);\r\n * });\r\n */\r\n apx.listen = function (eventTypes, secondArgument, thirdArgument) {\r\n let selector;\r\n let options = {};\r\n // Determine if the second argument is a selector or options\r\n if (typeof secondArgument === 'string') {\r\n selector = secondArgument;\r\n options = thirdArgument || {};\r\n } else {\r\n options = secondArgument || {};\r\n }\r\n\r\n const uniqueId = generateUniqueId();\r\n const timeoutDuration = options.timeout || 0;\r\n \r\n if (!Array.isArray(eventTypes)) {\r\n eventTypes = [eventTypes]; // Ensure eventTypes is an array\r\n }\r\n \r\n eventTypes.forEach((eventType) => {\r\n elements.forEach((element) => {\r\n element.addEventListener(eventType, (event) => {\r\n executeCallbacks(event, uniqueId, timeoutDuration, selector, element);\r\n });\r\n });\r\n });\r\n\r\n return {\r\n /**\r\n * Adds a callback function to the doCallbacks object for the current event listener.\r\n * @param {Function} doCallback - The callback function to execute when the event is triggered.\r\n * @returns {Object} - Returns the current object to allow for chained calls.\r\n * @example\r\n * apx.listen('click', '.my-button').do((event) => {\r\n * console.log('Button clicked!', event.target);\r\n * }).do((event) => {\r\n * console.log('Another callback function!');\r\n * });\r\n */\r\n do: function (doCallback) {\r\n if (!doCallbacks[uniqueId]) {\r\n doCallbacks[uniqueId] = [];\r\n }\r\n doCallbacks[uniqueId].push(doCallback);\r\n return this; // Return the object to allow for chained calls\r\n },\r\n };\r\n };\r\n\r\n /**\r\n * Manually triggers the registered callbacks for a given event type on all elements or creates a new event if a string is provided.\r\n * @param {string|Event} event - The event to trigger. This can be an event type string (like 'click') or an actual Event object.\r\n */\r\n apx.trigger = function (event) {\r\n let eventType;\r\n if (typeof event === 'string') {\r\n eventType = event;\r\n event = new Event(event, { bubbles: true, cancelable: true });\r\n } else if (event instanceof Event) {\r\n eventType = event.type;\r\n } else {\r\n console.error('Invalid event type provided to apx.trigger. It must be either a string or Event object.');\r\n return;\r\n }\r\n\r\n apx.elements.forEach((element) => {\r\n element.dispatchEvent(event); // This will allow the event to bubble up naturally.\r\n });\r\n\r\n // Handle event delegation manually by executing callbacks if the target matches the selector\r\n Object.keys(doCallbacks).forEach((uniqueId) => {\r\n const callbackDetails = doCallbacks[uniqueId];\r\n if (callbackDetails && callbackDetails.eventType === eventType) {\r\n // Check if the event target matches the selector used during listener registration\r\n const { selector } = callbackDetails;\r\n if (!selector || event.target.matches(selector)) {\r\n executeCallbacks(event, uniqueId, 0, selector, event.target); // Immediate execution, no timeout\r\n }\r\n }\r\n });\r\n };\r\n \r\n return apx;\r\n};\r\n\r\n\r\nfunction executeCallbacks(event, uniqueId, timeoutDuration, selector = '', element) {\r\n const matchedElement = selector ? closest(event.target, selector) : element;\r\n if (!matchedElement) {\r\n return;\r\n }\r\n\r\n // Clear any previous timeout for this uniqueId to prevent unintended behavior\r\n clearTimeout(timeouts[uniqueId]);\r\n\r\n // Function to handle the execution of callbacks\r\n function handleCallbackExecution() {\r\n if (doCallbacks[uniqueId]) {\r\n doCallbacks[uniqueId].reduce((prevPromise, doCallback) => {\r\n return prevPromise.then(() => {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n const result = doCallback.bind(matchedElement)(event);\r\n if (result instanceof Promise) {\r\n result.then(resolve).catch(reject);\r\n } else {\r\n resolve(result);\r\n }\r\n } catch (error) {\r\n reject(error);\r\n }\r\n });\r\n });\r\n }, Promise.resolve()).catch(error => {\r\n console.error('Error in callback chain:', error);\r\n });\r\n }\r\n }\r\n\r\n // Check if timeoutDuration is zero to decide whether to delay the callback execution or not\r\n if (timeoutDuration === 0) {\r\n handleCallbackExecution();\r\n } else {\r\n timeouts[uniqueId] = setTimeout(handleCallbackExecution, timeoutDuration);\r\n }\r\n}\r\n\r\n\r\nfunction generateUniqueId() {\r\n const randomPart = Math.random().toString(36).substr(2, 9); // More randomness\r\n const uniqueId = `${Date.now()}_${randomPart}_${counter}`;\r\n counter = (counter + 1) % 1000; // Reset counter to avoid overflow\r\n\r\n return uniqueId;\r\n}\r\n\r\nfunction closest(element, selector) {\r\n while (element && element.nodeType === 1) {\r\n if (element.matches(selector)) {\r\n return element;\r\n }\r\n element = element.parentNode;\r\n }\r\n return null;\r\n}\r\n","// Minimal, framework-agnostic ToastManager for APX\r\n// ESM-first, no side effects on import. DOM only when used.\r\nimport './css/toast.css';\r\n\r\n/**\r\n * @typedef {Object} ToastConfig\r\n * @property {'bottom-right'|'bottom-left'|'top-right'|'top-left'} [position]\r\n * @property {number} [maxToasts]\r\n * @property {number} [defaultDurationMs]\r\n * @property {number} [zIndex]\r\n * @property {'polite'|'assertive'|'off'} [ariaLive]\r\n * @property {number} [gap]\r\n * @property {boolean} [dedupe]\r\n * @property {string} [containerClass]\r\n * @property {number} [offset]\r\n */\r\n\r\n/**\r\n * @typedef {Object} ToastOptions\r\n * @property {string|Node} message\r\n * @property {'info'|'success'|'warning'|'danger'} [type]\r\n * @property {number} [durationMs]\r\n * @property {boolean} [dismissible]\r\n * @property {string} [id]\r\n * @property {(ref: ToastRef, ev: MouseEvent) => void} [onClick]\r\n * @property {(ref: ToastRef, reason: 'timeout'|'close'|'api'|'overflow') => void} [onClose]\r\n * @property {string} [className]\r\n */\r\n\r\n/**\r\n * @typedef {Object} ToastRef\r\n * @property {string} id\r\n * @property {HTMLElement} el\r\n * @property {(reason?: 'api'|'close') => void} close\r\n * @property {(partial: Partial<ToastOptions>) => void} update\r\n * @property {() => Promise<void>} whenClosed\r\n * @property {(event: 'close'|'click', handler: Function) => () => void} on\r\n * @property {(event: 'close'|'click', handler: Function) => void} off\r\n */\r\n\r\nconst isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\r\n\r\nconst DEFAULT_CONFIG = {\r\n position: 'bottom-right',\r\n maxToasts: 5,\r\n defaultDurationMs: 5000,\r\n zIndex: 11000,\r\n ariaLive: 'polite',\r\n gap: 8,\r\n dedupe: false,\r\n containerClass: '',\r\n offset: 0\r\n};\r\n\r\n/**\r\n * Create an element with classes\r\n */\r\nfunction createEl(tag, classNames) {\r\n const el = document.createElement(tag);\r\n if (classNames) {\r\n classNames.split(' ').filter(Boolean).forEach(c => el.classList.add(c));\r\n }\r\n return el;\r\n}\r\n\r\n/**\r\n * ToastManager class\r\n */\r\nclass ToastManager {\r\n /** @param {Partial<ToastConfig>=} config */\r\n constructor(config) {\r\n /** @type {ToastConfig} */\r\n this.config = { ...DEFAULT_CONFIG, ...(config || {}) };\r\n /** @type {HTMLElement|null} */\r\n this.container = null;\r\n /** @type {Map<string, ToastRef>} */\r\n this.idToRef = new Map();\r\n /** @type {ToastRef[]} */\r\n this.open = [];\r\n }\r\n\r\n /** @param {Partial<ToastConfig>} config */\r\n configure(config) {\r\n this.config = { ...this.config, ...(config || {}) };\r\n if (this.container) this.applyContainerConfig();\r\n }\r\n\r\n /** @param {'polite'|'assertive'|'off'} mode */\r\n setAriaLive(mode) { this.configure({ ariaLive: mode }); }\r\n\r\n /** @returns {ToastRef[]} */\r\n getOpenToasts() { return this.open.slice(); }\r\n\r\n /** @param {ToastOptions} opts */\r\n show(opts) {\r\n if (!isBrowser) return /** @type {any} */(null);\r\n const options = this.normalizeOptions(opts);\r\n\r\n if (this.config.dedupe && options.id && this.idToRef.has(options.id)) {\r\n const ref = this.idToRef.get(options.id);\r\n ref.update(options);\r\n return ref;\r\n }\r\n\r\n this.ensureContainer();\r\n\r\n const toastEl = createEl('div', `APX-toast APX-toast--${options.type}`);\r\n toastEl.setAttribute('role', 'status');\r\n const toastId = options.id || `t_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;\r\n toastEl.dataset.toastId = toastId;\r\n if (options.className) toastEl.className += ` ${options.className}`;\r\n\r\n const contentEl = createEl('div', 'APX-toast__content');\r\n if (typeof options.message === 'string') {\r\n contentEl.textContent = options.message;\r\n } else if (options.message) {\r\n contentEl.appendChild(options.message);\r\n }\r\n toastEl.appendChild(contentEl);\r\n\r\n let closeBtn = null;\r\n if (options.dismissible !== false) {\r\n closeBtn = createEl('button', 'APX-toast__close');\r\n closeBtn.setAttribute('aria-label', 'Close');\r\n closeBtn.type = 'button';\r\n toastEl.appendChild(closeBtn);\r\n }\r\n\r\n this.container.appendChild(toastEl);\r\n\r\n // Enter animation\r\n toastEl.classList.add('APX-toast--enter');\r\n requestAnimationFrame(() => {\r\n toastEl.classList.add('APX-toast--enter-active');\r\n });\r\n\r\n // Event handling and timers\r\n let remaining = options.durationMs;\r\n let timerId = null;\r\n let startTs = null;\r\n const handlers = { click: new Set(), close: new Set() };\r\n\r\n const startTimer = () => {\r\n if (!remaining || remaining <= 0) return; // sticky\r\n startTs = Date.now();\r\n timerId = window.setTimeout(() => ref.close('timeout'), remaining);\r\n };\r\n const pauseTimer = () => {\r\n if (timerId != null) {\r\n window.clearTimeout(timerId);\r\n timerId = null;\r\n if (startTs != null) remaining -= (Date.now() - startTs);\r\n }\r\n };\r\n\r\n /** @type {ToastRef} */\r\n const ref = {\r\n id: toastId,\r\n el: toastEl,\r\n close: (reason) => {\r\n cleanup(reason || 'api');\r\n },\r\n update: (partial) => {\r\n const merged = this.normalizeOptions({ ...options, ...partial });\r\n // update content\r\n if (typeof merged.message === 'string') {\r\n contentEl.textContent = merged.message;\r\n } else if (merged.message) {\r\n contentEl.innerHTML = '';\r\n contentEl.appendChild(merged.message);\r\n }\r\n // update type class\r\n ['info','success','warning','danger'].forEach(t => toastEl.classList.remove(`APX-toast--${t}`));\r\n toastEl.classList.add(`APX-toast--${merged.type}`);\r\n // update classes\r\n if (options.className !== merged.className) {\r\n if (options.className) toastEl.classList.remove(...options.className.split(' ').filter(Boolean));\r\n if (merged.className) toastEl.classList.add(...merged.className.split(' ').filter(Boolean));\r\n }\r\n // update duration logic\r\n options.durationMs = merged.durationMs;\r\n remaining = merged.durationMs;\r\n pauseTimer();\r\n startTimer();\r\n },\r\n whenClosed: () => closedPromise,\r\n on: (event, handler) => { handlers[event].add(handler); return () => ref.off(event, handler); },\r\n off: (event, handler) => { handlers[event].delete(handler); }\r\n };\r\n\r\n const notify = (event, arg) => handlers[event].forEach(fn => { try { fn(arg); } catch (_) {} });\r\n\r\n const closedPromise = new Promise(resolve => {\r\n const finish = (reason) => {\r\n notify('close', reason);\r\n if (typeof options.onClose === 'function') {\r\n try { options.onClose(ref, reason); } catch(_){}\r\n }\r\n resolve();\r\n };\r\n\r\n const cleanup = (reason) => {\r\n if (!toastEl) return;\r\n pauseTimer();\r\n // If overflow, remove immediately to enforce hard cap\r\n if (reason === 'overflow') {\r\n if (toastEl.parentElement) toastEl.parentElement.removeChild(toastEl);\r\n const idx = this.open.indexOf(ref);\r\n if (idx >= 0) this.open.splice(idx, 1);\r\n this.idToRef.delete(toastId);\r\n finish(reason);\r\n return;\r\n }\r\n\r\n // Otherwise, animate out\r\n toastEl.classList.add('APX-toast--exit');\r\n requestAnimationFrame(() => toastEl.classList.add('APX-toast--exit-active'));\r\n\r\n const removeEl = () => {\r\n toastEl.removeEventListener('transitionend', removeEl);\r\n if (toastEl.parentElement) toastEl.parentElement.removeChild(toastEl);\r\n const idx = this.open.indexOf(ref);\r\n if (idx >= 0) this.open.splice(idx, 1);\r\n this.idToRef.delete(toastId);\r\n finish(reason);\r\n };\r\n toastEl.addEventListener('transitionend', removeEl);\r\n };\r\n\r\n // attach close behavior\r\n ref.close = (reason) => cleanup(reason || 'api');\r\n });\r\n\r\n // Click handling\r\n toastEl.addEventListener('click', (ev) => {\r\n notify('click', ev);\r\n if (typeof options.onClick === 'function') {\r\n try { options.onClick(ref, ev); } catch(_){}\r\n }\r\n });\r\n\r\n // Hover pause\r\n toastEl.addEventListener('mouseenter', pauseTimer);\r\n toastEl.addEventListener('mouseleave', () => startTimer());\r\n\r\n if (closeBtn) closeBtn.addEventListener('click', (ev) => { ev.stopPropagation(); ref.close('close'); });\r\n\r\n // Track\r\n this.open.push(ref);\r\n this.idToRef.set(toastId, ref);\r\n\r\n // Overflow policy\r\n if (this.open.length > this.config.maxToasts) {\r\n const oldest = this.open[0];\r\n oldest.close('overflow');\r\n }\r\n\r\n startTimer();\r\n return ref;\r\n }\r\n\r\n /**\r\n * Convenience helpers\r\n */\r\n info(message, opts) { return this.show({ ...(opts||{}), message, type: 'info' }); }\r\n success(message, opts) { return this.show({ ...(opts||{}), message, type: 'success' }); }\r\n warning(message, opts) { return this.show({ ...(opts||{}), message, type: 'warning' }); }\r\n danger(message, opts) { return this.show({ ...(opts||{}), message, type: 'danger' }); }\r\n\r\n /** @param {'api'|'overflow'} [reason] */\r\n closeAll(reason) {\r\n // copy to avoid mutation during iteration\r\n const all = this.open.slice();\r\n all.forEach(r => r.close(reason || 'api'));\r\n }\r\n\r\n /** @param {ToastOptions} opts */\r\n normalizeOptions(opts) {\r\n const o = { ...opts };\r\n if (!o.type) o.type = 'info';\r\n if (typeof o.dismissible !== 'boolean') o.dismissible = true;\r\n if (typeof o.durationMs !== 'number') o.durationMs = this.config.defaultDurationMs;\r\n return o;\r\n }\r\n\r\n ensureContainer() {\r\n if (this.container || !isBrowser) return;\r\n const c = createEl('div', 'APX-toast-container');\r\n const pos = this.config.position || 'bottom-right';\r\n c.classList.add(`APX-toast-container--${pos}`);\r\n if (this.config.containerClass) c.classList.add(this.config.containerClass);\r\n c.style.zIndex = String(this.config.zIndex);\r\n c.style.gap = `${this.config.gap}px`;\r\n if (this.config.offset) {\r\n const offset = `${this.config.offset}px`;\r\n if (pos.includes('bottom')) c.style.bottom = offset; else c.style.top = offset;\r\n if (pos.includes('right')) c.style.right = offset; else c.style.left = offset;\r\n }\r\n c.setAttribute('aria-live', String(this.config.ariaLive));\r\n document.body.appendChild(c);\r\n this.container = c;\r\n this.applyContainerConfig();\r\n }\r\n\r\n applyContainerConfig() {\r\n if (!this.container) return;\r\n this.container.style.zIndex = String(this.config.zIndex);\r\n this.container.style.gap = `${this.config.gap}px`;\r\n this.container.setAttribute('aria-live', String(this.config.ariaLive));\r\n // Update position class\r\n const posClasses = ['bottom-right','bottom-left','top-right','top-left'].map(p => `APX-toast-container--${p}`);\r\n this.container.classList.remove(...posClasses);\r\n this.container.classList.add(`APX-toast-container--${this.config.position}`);\r\n }\r\n}\r\n\r\n/**\r\n * @param {Partial<ToastConfig>=} config\r\n * @returns {ToastManager}\r\n */\r\nfunction createToastManager(config) {\r\n return new ToastManager(config);\r\n}\r\n\r\n// High-level APX.toast API (default & named managers)\r\nlet _defaultManager = null;\r\nconst _getDefault = () => {\r\n if (!_defaultManager) _defaultManager = createToastManager();\r\n return _defaultManager;\r\n};\r\n\r\n/**\r\n * Toast API surface to be attached as APX.toast.\r\n * Callable form proxies to defaultManager.show(opts): APX.toast({...})\r\n */\r\nfunction toast(opts) {\r\n return _getDefault().show(opts);\r\n}\r\n\r\nObject.assign(toast, {\r\n /**\r\n * Create a manager. If first arg is string, register as named under toast.custom[name]\r\n * @param {string|Partial<ToastConfig>} nameOrConfig\r\n * @param {Partial<ToastConfig>=} maybeConfig\r\n * @returns {ToastManager}\r\n */\r\n create: (nameOrConfig, maybeConfig) => {\r\n if (typeof nameOrConfig === 'string') {\r\n const name = nameOrConfig;\r\n const manager = new ToastManager({ ...(maybeConfig || {}) });\r\n if (!toast.custom) toast.custom = {};\r\n toast.custom[name] = manager;\r\n return manager;\r\n }\r\n return new ToastManager({ ...(nameOrConfig || {}) });\r\n },\r\n /** @type {Record<string, ToastManager>} */\r\n custom: {},\r\n /** @param {string} name */\r\n use: (name) => (toast.custom && toast.custom[name]) || null,\r\n Manager: ToastManager,\r\n show: (opts) => _getDefault().show(opts),\r\n info: (message, opts) => _getDefault().info(message, opts),\r\n success: (message, opts) => _getDefault().success(message, opts),\r\n warning: (message, opts) => _getDefault().warning(message, opts),\r\n danger: (message, opts) => _getDefault().danger(message, opts),\r\n configure: (config) => _getDefault().configure(config),\r\n setAriaLive: (mode) => _getDefault().setAriaLive(mode),\r\n closeAll: (reason) => _getDefault().closeAll(reason),\r\n getOpenToasts: () => _getDefault().getOpenToasts()\r\n});\r\n\r\nexport default toast;\r\nexport { ToastManager, createToastManager, toast };\r\n","import './css/tristate.css';\r\n\r\n/**\r\n * Creates a tri-state checkbox for each checkbox element in the apx.elements array.\r\n * @param {Array<HTMLElement>} apx - An array of HTMLElements which is returned by APX()\r\n * @example\r\n * // Call the tristate function on an array of checkbox elements\r\n * apx.tristate();\r\n */\r\nexport default function (apx) {\r\n apx.tristate = function (options = {}){\r\n apx.elements.forEach((element) => {\r\n if (element.type === 'checkbox') {\r\n const [originalCheckbox, tristateDom, hiddenInput] = createTriStateCheckbox(element,options);\r\n //If there is a \"options.callbacks.after\" callback in options call it\r\n if(options.callbacks && options.callbacks.after && typeof options.callbacks.after === 'function') {\r\n options.callbacks.after(originalCheckbox, tristateDom, hiddenInput);\r\n } \r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction toggleTriStateCheckboxState(customCheckbox, actualCheckbox, hiddenInput) {\r\n if (customCheckbox.classList.contains('checked')) {\r\n customCheckbox.classList.remove('checked');\r\n customCheckbox.classList.add('crossed');\r\n actualCheckbox.checked = false;\r\n hiddenInput.value = 'false';\r\n } else if (customCheckbox.classList.contains('crossed')) {\r\n customCheckbox.classList.remove('crossed');\r\n customCheckbox.classList.add('unchecked');\r\n hiddenInput.removeAttribute('name'); // Ensure the hidden input doesn't post any value\r\n hiddenInput.removeAttribute('value'); // Ensure the hidden input doesn't post any value\r\n } else {\r\n customCheckbox.classList.remove('unchecked');\r\n customCheckbox.classList.add('checked');\r\n actualCheckbox.checked = true;\r\n hiddenInput.value = 'true';\r\n hiddenInput.setAttribute('name', actualCheckbox.dataset.name); // Restore the name for posting\r\n }\r\n}\r\n\r\nfunction createTriStateCheckbox(checkboxElement, options) {\r\n \r\n //get the checkbox margins including browser default\r\n const checkboxStyle = window.getComputedStyle(checkboxElement);\r\n // Hide the original checkbox\r\n checkboxElement.style.display = 'none';\r\n\r\n // Create the custom checkbox div and set its initial state\r\n const tristateDom = document.createElement('div');\r\n tristateDom.classList.add('apx-tristate');\r\n if (options.size) {\r\n if (options.size.width) {\r\n tristateDom.style.width = options.size.width + 'px';\r\n }\r\n if (options.size.height) {\r\n tristateDom.style.height = options.size.height + 'px';\r\n }\r\n }\r\n if(options.classes) tristateDom.classList.add(...computeClasses(options.classes));\r\n\r\n tristateDom.style.margin = checkboxStyle.margin;\r\n\r\n if (checkboxElement.checked) {\r\n tristateDom.classList.add('checked');\r\n } else {\r\n tristateDom.classList.add('unchecked');\r\n }\r\n\r\n // Create the hidden input field\r\n const hiddenInput = document.createElement('input');\r\n hiddenInput.type = 'hidden';\r\n hiddenInput.name = checkboxElement.name; // Copy the name from the original checkbox\r\n checkboxElement.dataset.name = checkboxElement.name; // Store the name in a data attribute for later use\r\n checkboxElement.removeAttribute('name'); // Remove the name from the original checkbox to avoid double posting\r\n\r\n if (options.defaultState) setDefaultState(options, tristateDom, hiddenInput);\r\n else{\r\n // Set the initial value for the hidden input based on the checkbox's state\r\n if (checkboxElement.checked) {\r\n hiddenInput.value = 'true';\r\n } else {\r\n hiddenInput.name = ''; // Ensure the hidden input doesn't post any value\r\n hiddenInput.value = '';\r\n }\r\n }\r\n\r\n //handle accessibility, set the tabindex to the same as the checkbox\r\n tristateDom.tabIndex = checkboxElement.tabIndex;\r\n\r\n // Insert the hidden input inside the custom checkbox div\r\n tristateDom.appendChild(hiddenInput);\r\n\r\n // Insert it next to the actual checkbox\r\n checkboxElement.parentNode.insertBefore(tristateDom, checkboxElement.nextSibling);\r\n\r\n // Add event listener\r\n tristateDom.addEventListener('click', function (e) {\r\n toggleTriStateCheckboxState(tristateDom, checkboxElement, hiddenInput);\r\n bubbleEventsToOriginalCheckbox(options, checkboxElement, tristateDom, hiddenInput, e);\r\n });\r\n tristateDom.addEventListener('keyup', onkeyup.bind(null, checkboxElement));\r\n\r\n return [checkboxElement, tristateDom, hiddenInput];\r\n}\r\n\r\nfunction setDefaultState(options, tristateDom, hiddenInput) {\r\n //for all values possible for defaultState, set the initial state of the checkbox\r\n if (options.defaultState === 'checked') {\r\n tristateDom.classList.remove('unchecked');\r\n tristateDom.classList.add('checked');\r\n hiddenInput.value = 'true';\r\n }\r\n else if (options.defaultState === 'unchecked') {\r\n tristateDom.classList.remove('checked');\r\n tristateDom.classList.add('unchecked');\r\n hiddenInput.removeAttribute('name'); // Ensure the hidden input doesn't post any value\r\n hiddenInput.removeAttribute('value'); // Ensure the hidden input doesn't post any value\r\n }\r\n else if (options.defaultState === 'crossed') {\r\n tristateDom.classList.remove('checked');\r\n tristateDom.classList.add('crossed');\r\n hiddenInput.value = 'false';\r\n }\r\n}\r\n\r\nfunction computeClasses(classes) {\r\n let computedClasses = [];\r\n if(typeof classes === 'string') {\r\n //replace multiple white spaces with a single space\r\n classes = classes.replace(/\\s\\s+/g, ' ');\r\n if(classes.indexOf(' ') > -1)\r\n computedClasses = classes.split(' ');\r\n else if(classes.indexOf(',') > -1)\r\n computedClasses = classes.split(',');\r\n else\r\n computedClasses = [classes];\r\n }\r\n else if(Array.isArray(classes)) {\r\n computedClasses = classes;\r\n }\r\n return computedClasses;\r\n}\r\n\r\nfunction bubbleEventsToOriginalCheckbox(options, checkboxElement, tristateDom, hiddenInput, event) {\r\n //if options.callbacks.change is set, call it\r\n if(options.callbacks && options.callbacks.change && typeof options.callbacks.change === 'function') {\r\n options.callbacks.change(checkboxElement, tristateDom, hiddenInput);\r\n }\r\n\r\n if(!options.bubbleEvents) return;\r\n\r\n if(event.type === 'click') {\r\n checkboxElement.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true }));\r\n }\r\n else if(event.type === 'keyup') {\r\n checkboxElement.dispatchEvent(new KeyboardEvent('keyup', { key: ' ', bubbles: true, cancelable: true }));\r\n }\r\n else if(event.type === 'change') {\r\n checkboxElement.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));\r\n }\r\n}\r\n\r\nfunction onkeyup(checkboxElement, event) {\r\n if (event.keyCode === 32) {\r\n bubbleEventsToOriginalCheckbox(checkboxElement, event);\r\n event.preventDefault();\r\n event.target.click();\r\n }\r\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"main\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","__webpack_require__.nc = undefined;","import augmentWithListen from './modules/listen/listen.mjs';\r\nimport augmentWithTristate from './modules/tristate/tristate.mjs';\r\nimport dialog from './modules/dialog/dialog.mjs';\r\nimport toast from './modules/toast/toast.mjs';\r\nimport { loadCss } from './modules/common.mjs';\r\n\r\n/**\r\n * Creates an APX object that wraps one or more HTML elements.\r\n * @param {string|HTMLElement|NodeList|HTMLCollection|Array<HTMLElement>|jQuery|Function} input - The input to create the APX object from.\r\n * @returns {Object} The APX object.\r\n * @throws {Error} If the input type is invalid.\r\n * @example\r\n * // XPath\r\n * const apx1 = APX('//div[@class=\"example\"]');\r\n *\r\n * // CSS selector\r\n * const apx2 = APX('.example');\r\n *\r\n * // Single element\r\n * const element = document.querySelector('.example');\r\n * const apx3 = APX(element);\r\n *\r\n * // NodeList or HTMLCollection\r\n * const nodeList = document.querySelectorAll('.example');\r\n * const apx4 = APX(nodeList);\r\n *\r\n * // Array of elements\r\n * const elements = [document.querySelector('.example1'), document.querySelector('.example2')];\r\n * const apx5 = APX(elements);\r\n *\r\n * // jQuery object\r\n * const $example = $('.example');\r\n * const apx6 = APX($example);\r\n *\r\n * // Function returning an APX object\r\n * const apx7 = APX(() => APX('.example'));\r\n */\r\nconst APX = function (input, context = document) {\r\n let elements;\r\n\r\n // Validate context\r\n if (typeof context === 'string') {\r\n context = document.querySelector(context);\r\n }\r\n else if (APX.isAPXObject(context)) {\r\n context = context.first();\r\n } else if (!(context instanceof HTMLElement || context instanceof Document)) {\r\n throw new Error('Invalid context for APX');\r\n }\r\n\r\n if (typeof input === 'string' && input.startsWith('//')) {\r\n // XPath with context\r\n elements = document.evaluate(input, context, null, XPathResult.ANY_TYPE, null);\r\n let nodes = [];\r\n let node = elements.iterateNext();\r\n while (node) {\r\n nodes.push(node);\r\n node = elements.iterateNext();\r\n }\r\n elements = nodes;\r\n } else if (typeof input === 'string') {\r\n // CSS selector with context\r\n elements = context.querySelectorAll(input);\r\n } else if (input instanceof HTMLElement) {\r\n // Single element within context\r\n elements = context.contains(input) ? [input] : [];\r\n } else if (input instanceof NodeList || input instanceof HTMLCollection) {\r\n // NodeList or HTMLCollection within context\r\n elements = Array.from(input).filter(el => context.contains(el));\r\n } else if (Array.isArray(input) && input.every(el => el instanceof HTMLElement)) {\r\n // Array of elements within context\r\n elements = input.filter(el => context.contains(el));\r\n } else if (typeof jQuery != 'undefined' && input instanceof jQuery) {\r\n // jQuery object within context\r\n elements = Array.from(input.get()).filter(el => context.contains(el));\r\n } else if (typeof input === 'function') {\r\n // Function returning an APX object with context\r\n elements = APX(input(), context);\r\n } else {\r\n throw new Error('Invalid input type for APX');\r\n }\r\n\r\n var apx = {\r\n elements: elements,\r\n _isAPXObject: true\r\n };\r\n apx.length = elements.length;\r\n apx.each = function (callback) {\r\n if (this.elements instanceof Array) this.elements.forEach(callback);\r\n if (this.elements instanceof NodeList) Array.from(this.elements).forEach(callback);\r\n return this;\r\n };\r\n apx.get = function (index) {\r\n return this.elements[index];\r\n };\r\n apx.all = function () {\r\n if (this.elements instanceof Array) return this.elements;\r\n if (this.elements instanceof NodeList) return Array.from(this.elements);\r\n return this;\r\n };\r\n apx.first = function () {\r\n return this.get(0);\r\n };\r\n augmentWithListen(apx);\r\n augmentWithTristate(apx);\r\n return apx;\r\n};\r\n\r\nAPX.loadCss = loadCss;\r\nAPX.dialog = dialog;\r\nAPX.toast = toast;\r\nAPX.isAPXObject = function (obj) {\r\n return obj && obj._isAPXObject === true;\r\n}\r\nAPX.is_numeric = (n) => {\r\n return !isNaN(n - parseFloat(n));\r\n}\r\n\r\nexport default APX;"],"names":["loadCss","url","fetch","then","response","text","css","styleSheet","document","createElement","type","textContent","head","appendChild","error","console","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","_toPropertyKey","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","dialogTemplate","createDialog","options","dialogDefaults","title","content","contentURI","buttons","size","showLoadingIndicator","contentMethod","contentData","contentHeaders","_dialogDefaults$optio","wrapper","innerHTML","trim","dialogElement","firstChild","lifecycleResolvers","lifecycleEvents","event","triggerEvent","warn","concat","dialog","element","isClosed","lifecycle","disableButton","button","querySelector","disabled","classList","add","enableButton","remove","open","_open","_callee","_callee$","_context","opening","body","style","display","fetchAndInsertContent","opened","t0","close","_close","_callee2","_callee2$","_context2","closing","closeDialogAndCleanup","closed","contains","removeChild","setDialogSize","dialogContent","sizes","small","width","height","medium","large","selectedSize","minWidth","minHeight","addButtons","buttonContainer","_ref","label","_ref$order","order","_ref$align","align","_ref$closeOnClick","closeOnClick","setAttribute","buttonContext","disable","enable","firstClickResolved","firstClickPromise","onclick","handlers","clickPromise","callback","handler","justifyContent","_ref2","_callee3","originalCursor","dynamicContent","contentHtml","_callee3$","_context3","cursor","contentLoading","fetchContent","contentLoaded","t1","_ref3","_callee4","uri","headers","hasContentType","init","isFormData","isURLSearchParams","isBlob","isString","isPlainObject","_callee4$","_context4","toUpperCase","some","k","toLowerCase","FormData","URLSearchParams","Blob","JSON","stringify","ok","statusText","_x","counter","doCallbacks","timeouts","apx","elements","listen","eventTypes","secondArgument","thirdArgument","selector","uniqueId","generateUniqueId","timeoutDuration","timeout","Array","isArray","eventType","addEventListener","executeCallbacks","_do","doCallback","trigger","Event","bubbles","cancelable","dispatchEvent","callbackDetails","target","matches","matchedElement","closest","clearTimeout","handleCallbackExecution","reduce","prevPromise","result","bind","setTimeout","randomPart","Math","random","toString","substr","Date","now","nodeType","parentNode","isBrowser","window","DEFAULT_CONFIG","position","maxToasts","defaultDurationMs","zIndex","ariaLive","gap","dedupe","containerClass","offset","createEl","tag","classNames","el","split","Boolean","ToastManager","config","_classCallCheck","container","idToRef","Map","_createClass","configure","applyContainerConfig","setAriaLive","mode","getOpenToasts","show","opts","_this","normalizeOptions","id","has","ref","get","update","ensureContainer","toastEl","toastId","dataset","className","contentEl","message","closeBtn","dismissible","requestAnimationFrame","remaining","durationMs","timerId","startTs","click","Set","startTimer","pauseTimer","reason","cleanup","partial","merged","_toastEl$classList","_toastEl$classList2","_toConsumableArray","whenClosed","closedPromise","on","off","notify","_","onClose","parentElement","idx","indexOf","splice","removeEl","removeEventListener","ev","onClick","stopPropagation","set","oldest","success","warning","danger","closeAll","all","pos","includes","bottom","top","right","left","_this$container$class","posClasses","map","createToastManager","_defaultManager","_getDefault","toast","assign","nameOrConfig","maybeConfig","manager","custom","use","Manager","tristate","_createTriStateCheckb","createTriStateCheckbox","_createTriStateCheckb2","_slicedToArray","originalCheckbox","tristateDom","hiddenInput","callbacks","after","toggleTriStateCheckboxState","customCheckbox","actualCheckbox","checked","removeAttribute","checkboxElement","_tristateDom$classLis","checkboxStyle","getComputedStyle","classes","computeClasses","margin","defaultState","setDefaultState","tabIndex","insertBefore","nextSibling","bubbleEventsToOriginalCheckbox","onkeyup","computedClasses","replace","change","bubbleEvents","MouseEvent","KeyboardEvent","keyCode","preventDefault","augmentWithListen","augmentWithTristate","APX","context","isAPXObject","first","HTMLElement","Document","startsWith","evaluate","XPathResult","ANY_TYPE","nodes","node","iterateNext","querySelectorAll","NodeList","HTMLCollection","from","every","jQuery","_isAPXObject","each","index","is_numeric","parseFloat"],"sourceRoot":""}
|
package/modules/dialog/README.md
CHANGED
|
@@ -36,6 +36,27 @@ myDialog.buttons.cancel.then(() => {
|
|
|
36
36
|
myDialog.open();
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
+
### POST Content Fetch (since 2.4.0)
|
|
40
|
+
|
|
41
|
+
You can fetch dialog content via POST with optional payload and headers:
|
|
42
|
+
|
|
43
|
+
```javascript
|
|
44
|
+
const postDialog = APX.dialog({
|
|
45
|
+
title: 'Submit and Load',
|
|
46
|
+
contentURI: '/api/dialog/content',
|
|
47
|
+
contentMethod: 'POST',
|
|
48
|
+
contentData: { foo: 'bar' }, // also supports FormData, URLSearchParams, string, Blob
|
|
49
|
+
contentHeaders: { 'X-Request-ID': '123' },
|
|
50
|
+
buttons: [
|
|
51
|
+
{ key: 'ok', label: 'OK', closeOnClick: true },
|
|
52
|
+
{ key: 'cancel', label: 'Cancel', closeOnClick: true }
|
|
53
|
+
],
|
|
54
|
+
size: 'medium'
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
postDialog.open();
|
|
58
|
+
```
|
|
59
|
+
|
|
39
60
|
### Daisy-Chaining
|
|
40
61
|
|
|
41
62
|
While you can daisy-chain the `open()` method directly after creating the dialog, it is generally more intuitive to define button actions before opening the dialog. Here's an example of daisy-chaining:
|
|
@@ -82,6 +103,9 @@ myDialog.open();
|
|
|
82
103
|
|
|
83
104
|
- **`title`** (String): The title displayed at the top of the dialog.
|
|
84
105
|
- **`contentURI`** (String): A URL to load content into the dialog dynamically.
|
|
106
|
+
- **`contentMethod`** (String, Optional, since 2.4.0): HTTP method for fetching `contentURI`. Defaults to `'GET'`. Supports `'POST'` and other methods (string is passed through).
|
|
107
|
+
- **`contentData`** (Any, Optional, since 2.4.0): Payload sent when `contentMethod` is `'POST'` (or other methods with a body). Supports `FormData`, `URLSearchParams`, plain objects (auto-JSON), `string`, and `Blob`.
|
|
108
|
+
- **`contentHeaders`** (Object, Optional, since 2.4.0): Additional headers for the fetch. If you provide `Content-Type`, it will override the auto-detected one.
|
|
85
109
|
- **`content`** (String): Inline HTML content to render directly inside the dialog (overrides `contentURI` if both are provided).
|
|
86
110
|
- **`buttons`** (Array): An array of button configurations.
|
|
87
111
|
- **`key`** (String): A unique key to identify the button.
|
|
@@ -9,10 +9,13 @@ const createDialog = (options) => {
|
|
|
9
9
|
contentURI: '',
|
|
10
10
|
buttons: [],
|
|
11
11
|
size: 'medium',
|
|
12
|
-
showLoadingIndicator: false
|
|
12
|
+
showLoadingIndicator: false,
|
|
13
|
+
contentMethod: 'GET',
|
|
14
|
+
contentData: null,
|
|
15
|
+
contentHeaders: undefined
|
|
13
16
|
};
|
|
14
17
|
|
|
15
|
-
const { title, content, contentURI, buttons, size, showLoadingIndicator } = { ...dialogDefaults, ...options };
|
|
18
|
+
const { title, content, contentURI, buttons, size, showLoadingIndicator, contentMethod, contentData, contentHeaders } = { ...dialogDefaults, ...options };
|
|
16
19
|
|
|
17
20
|
const wrapper = document.createElement('div');
|
|
18
21
|
wrapper.innerHTML = dialogTemplate.trim();
|
|
@@ -224,7 +227,55 @@ const createDialog = (options) => {
|
|
|
224
227
|
};
|
|
225
228
|
|
|
226
229
|
const fetchContent = async (uri) => {
|
|
227
|
-
const
|
|
230
|
+
const method = (contentMethod || 'GET').toUpperCase();
|
|
231
|
+
|
|
232
|
+
// Always allow custom headers; we only add Content-Type when we can infer it
|
|
233
|
+
const headers = { ...(contentHeaders || {}) };
|
|
234
|
+
const hasContentType = Object.keys(headers).some((k) => k.toLowerCase() === 'content-type');
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Build RequestInit depending on method and contentData type.
|
|
238
|
+
* We avoid setting Content-Type for FormData and raw string/Blob payloads,
|
|
239
|
+
* unless the caller explicitly provided it via contentHeaders.
|
|
240
|
+
*/
|
|
241
|
+
const init = { method };
|
|
242
|
+
|
|
243
|
+
if (method === 'POST') {
|
|
244
|
+
let body = undefined;
|
|
245
|
+
|
|
246
|
+
const isFormData = typeof FormData !== 'undefined' && contentData instanceof FormData;
|
|
247
|
+
const isURLSearchParams = typeof URLSearchParams !== 'undefined' && contentData instanceof URLSearchParams;
|
|
248
|
+
const isBlob = typeof Blob !== 'undefined' && contentData instanceof Blob;
|
|
249
|
+
const isString = typeof contentData === 'string';
|
|
250
|
+
const isPlainObject = contentData && typeof contentData === 'object' && !isFormData && !isURLSearchParams && !isBlob;
|
|
251
|
+
|
|
252
|
+
if (isFormData) {
|
|
253
|
+
body = contentData;
|
|
254
|
+
// Do not set Content-Type for FormData; browser will set the boundary
|
|
255
|
+
} else if (isURLSearchParams) {
|
|
256
|
+
body = contentData;
|
|
257
|
+
if (!hasContentType) headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
|
|
258
|
+
} else if (isPlainObject) {
|
|
259
|
+
body = JSON.stringify(contentData);
|
|
260
|
+
if (!hasContentType) headers['Content-Type'] = 'application/json';
|
|
261
|
+
} else if (isString || isBlob) {
|
|
262
|
+
body = contentData;
|
|
263
|
+
// Content-Type left to caller if needed
|
|
264
|
+
} else if (contentData != null) {
|
|
265
|
+
// Fallback: try send as-is
|
|
266
|
+
body = contentData;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
if (body !== undefined) {
|
|
270
|
+
init.body = body;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
if (Object.keys(headers).length > 0) {
|
|
275
|
+
init.headers = headers;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
const response = await fetch(uri, init);
|
|
228
279
|
if (!response.ok) throw new Error(`Failed to fetch content: ${response.statusText}`);
|
|
229
280
|
return response.text();
|
|
230
281
|
};
|