blue-web 1.15.1 → 1.16.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/dist/js/dialog.bundle.js +1 -1
- package/dist/js/dialog.d.ts +4 -3
- package/dist/js/dialog.js +9 -3
- package/dist/merged.scss +82 -2
- package/dist/style.css +64 -3
- package/dist/style.css.map +1 -1
- package/dist/style.min.css +3 -3
- package/dist/style.scss +3 -1
- package/dist/styles/_collapse.scss +2 -1
- package/dist/styles/_scrollspy.scss +71 -0
- package/dist/styles/_utils.scss +6 -0
- package/package.json +4 -4
package/dist/js/dialog.bundle.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e={786:(e,n,t)=>{t.d(n,{k:()=>l});const o={Cancel:["Cancel","Abbrechen"],Yes:["Yes","Ja"],No:["No","Nein"],Message:["Message","Nachricht"],"Toggle menu":["Toggle menu","Menü umschalten"],"Close all":["Close all","Alle schließen"],Error:["Error","Fehler"],Information:["Information","Information"]};function l(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return n=n||navigator.language.toLowerCase().indexOf("de")>-1?"de-DE":"en-US",t=t||o,t[e]?n.indexOf("de-")>-1?t[e][1]:t[e][0]:e}},762:(e,n,t)=>{function o(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}t.d(n,{Os:()=>l});const l=()=>o()+o()+"-"+o()+"-"+o()+"-"+o()+"-"+o()+o()+o()}},n={};function t(o){var l=n[o];if(void 0!==l)return l.exports;var a=n[o]={exports:{}};return e[o](a,a.exports,t),a.exports}t.d=(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},t.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n);var o=t(762),l=t(786);async function a(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{title:a=(0,l.k)("Message"),icon:i,switchPrimaryBtn:r=!1,acceptBtnText:s=("verify"===e?(0,l.k)("Yes"):"OK"),cancelBtnText:d=("verify"===e?(0,l.k)("No"):(0,l.k)("Cancel")),inputType:c="text"}=t;const
|
|
1
|
+
(()=>{"use strict";var e={786:(e,n,t)=>{t.d(n,{k:()=>l});const o={Cancel:["Cancel","Abbrechen"],Yes:["Yes","Ja"],No:["No","Nein"],Message:["Message","Nachricht"],"Toggle menu":["Toggle menu","Menü umschalten"],"Close all":["Close all","Alle schließen"],Error:["Error","Fehler"],Information:["Information","Information"]};function l(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return n=n||navigator.language.toLowerCase().indexOf("de")>-1?"de-DE":"en-US",t=t||o,t[e]?n.indexOf("de-")>-1?t[e][1]:t[e][0]:e}},762:(e,n,t)=>{function o(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}t.d(n,{Os:()=>l});const l=()=>o()+o()+"-"+o()+"-"+o()+"-"+o()+"-"+o()+o()+o()}},n={};function t(o){var l=n[o];if(void 0!==l)return l.exports;var a=n[o]={exports:{}};return e[o](a,a.exports,t),a.exports}t.d=(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},t.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n);var o=t(762),l=t(786);async function a(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{title:a=(0,l.k)("Message"),icon:i,switchPrimaryBtn:r=!1,acceptBtnText:s=("verify"===e?(0,l.k)("Yes"):"OK"),cancelBtnText:d=("verify"===e?(0,l.k)("No"):(0,l.k)("Cancel")),inputType:c="text",defaultValue:u}="string"==typeof t?JSON.parse(t):t;const m=(0,o.Os)();return document.getElementById(m)||document.body.insertAdjacentHTML("beforeend",`<dialog class="blue-modal modal" id="${m}" aria-labelledby="${m}-label">\n <div class="modal-dialog">\n <div class="modal-content">\n <form>\n <div class="modal-header">\n ${i?`<div class="me-2">${i}</div>`:""}\n <h1 class="modal-title fs-5" id="${m}-label">${a}</h1>\n <button\n type="button"\n class="btn-close"\n aria-label="${d}"\n onclick="document.getElementById('${m}').close()"\n ></button>\n </div>\n <div class="modal-body">\n ${"ask"===e?`<label for="${m}-input">${n}</label>\n <input\n type="${c}"\n ${void 0!==u?` value="${u}"`:""}\n id="${m}-input"\n class="form-control mt-3"\n />`:n}\n </div>\n <div class="modal-footer">\n ${"verify"===e||"ask"===e?`<button\n type="button"\n class="btn ${r?"btn-primary":"blue-btn-plain-primary"}"\n onclick="document.getElementById('${m}').close()"\n >\n ${d}\n </button>`:""}\n <button\n type="submit"\n class="btn ${r?"blue-btn-plain-primary":"btn-primary"}"\n >\n ${s}\n </button>\n </div>\n </form>\n </div>\n </div>\n\n <form method="dialog" class="blue-modal-backdrop">\n <button>${d}</button>\n </form>\n </dialog>`),new Promise((n=>{const t=document.getElementById(m),o=()=>{const e=document.getElementById(m);e&&e.remove()};t?.showModal(),t?.addEventListener("close",(()=>{o(),n(!1)})),t?.querySelector(".modal-content > form")?.addEventListener("submit",(l=>{l.preventDefault(),"ask"===e&&(t.close(),o(),n((t?.querySelector("input")).value||"")),t.close(),o(),n(!0)}))}))}window.blueWeb=window.blueWeb||{},window.blueWeb.dialog={ask:async function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return await a("ask",e,n)},tell:async function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};await a("tell",e,n)},verify:async function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return!0===await a("verify",e,n)}}})();
|
package/dist/js/dialog.d.ts
CHANGED
|
@@ -6,10 +6,11 @@ export interface DialogOptions {
|
|
|
6
6
|
acceptBtnText?: string;
|
|
7
7
|
cancelBtnText?: string;
|
|
8
8
|
inputType?: string;
|
|
9
|
+
defaultValue?: string;
|
|
9
10
|
}
|
|
10
|
-
export declare function ask(text: string, options?: DialogOptions): Promise<string | boolean>;
|
|
11
|
-
export declare function tell(text: string, options?: DialogOptions): Promise<void>;
|
|
12
|
-
export declare function verify(text: string, options?: DialogOptions): Promise<boolean>;
|
|
11
|
+
export declare function ask(text: string, options?: DialogOptions | string): Promise<string | boolean>;
|
|
12
|
+
export declare function tell(text: string, options?: DialogOptions | string): Promise<void>;
|
|
13
|
+
export declare function verify(text: string, options?: DialogOptions | string): Promise<boolean>;
|
|
13
14
|
declare global {
|
|
14
15
|
interface Window {
|
|
15
16
|
blueWeb: any;
|
package/dist/js/dialog.js
CHANGED
|
@@ -20,8 +20,9 @@ async function dialog(dialogType, text) {
|
|
|
20
20
|
switchPrimaryBtn = false,
|
|
21
21
|
acceptBtnText = dialogType === "verify" ? getPhrase("Yes") : "OK",
|
|
22
22
|
cancelBtnText = dialogType === "verify" ? getPhrase("No") : getPhrase("Cancel"),
|
|
23
|
-
inputType = "text"
|
|
24
|
-
|
|
23
|
+
inputType = "text",
|
|
24
|
+
defaultValue
|
|
25
|
+
} = typeof options === "string" ? JSON.parse(options) : options;
|
|
25
26
|
const id = guid();
|
|
26
27
|
const addToDom = () => {
|
|
27
28
|
document.body.insertAdjacentHTML("beforeend", /* HTML */`<dialog class="blue-modal modal" id="${id}" aria-labelledby="${id}-label">
|
|
@@ -40,7 +41,12 @@ async function dialog(dialogType, text) {
|
|
|
40
41
|
</div>
|
|
41
42
|
<div class="modal-body">
|
|
42
43
|
${dialogType === "ask" ? /* HTML */`<label for="${id}-input">${text}</label>
|
|
43
|
-
<input
|
|
44
|
+
<input
|
|
45
|
+
type="${inputType}"
|
|
46
|
+
${defaultValue !== undefined ? ` value="${defaultValue}"` : ""}
|
|
47
|
+
id="${id}-input"
|
|
48
|
+
class="form-control mt-3"
|
|
49
|
+
/>` : text}
|
|
44
50
|
</div>
|
|
45
51
|
<div class="modal-footer">
|
|
46
52
|
${dialogType === "verify" || dialogType === "ask" ? /* HTML */`<button
|
package/dist/merged.scss
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Blue Web v1.
|
|
2
|
+
* Blue Web v1.16.0 (https://bruegmann.github.io/blue-web)
|
|
3
3
|
* Licensed under GNU General Public License v3.0 (https://github.com/bruegmann/blue-web/blob/master/LICENSE).
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -10924,6 +10924,13 @@ body {
|
|
|
10924
10924
|
@include scroll-shadow(var(--bs-body-bg));
|
|
10925
10925
|
}
|
|
10926
10926
|
|
|
10927
|
+
// Sets `margin: 0` to last child.
|
|
10928
|
+
// Useful for creating a gap between items together with `mb-3`.
|
|
10929
|
+
// Inspired by Tailwind CSS class `last:m-0`.
|
|
10930
|
+
.m-last-0:last-child {
|
|
10931
|
+
margin: 0 !important;
|
|
10932
|
+
}
|
|
10933
|
+
|
|
10927
10934
|
.blue-loading {
|
|
10928
10935
|
background-color: $primary;
|
|
10929
10936
|
}
|
|
@@ -12189,7 +12196,8 @@ dialog.blue-modal:has(.offcanvas-start) {
|
|
|
12189
12196
|
.blue-collapse-group {
|
|
12190
12197
|
display: grid;
|
|
12191
12198
|
grid-template-rows: auto;
|
|
12192
|
-
grid-template-columns: 1fr;
|
|
12199
|
+
grid-template-columns: minmax(0, 1fr);
|
|
12200
|
+
max-width: 100%;
|
|
12193
12201
|
|
|
12194
12202
|
& > details {
|
|
12195
12203
|
display: contents;
|
|
@@ -12263,6 +12271,78 @@ dialog.blue-modal:has(.offcanvas-start) {
|
|
|
12263
12271
|
}
|
|
12264
12272
|
}
|
|
12265
12273
|
|
|
12274
|
+
.blue-scrollspy {
|
|
12275
|
+
--#{$prefix}nav-link-padding-x: #{$nav-link-padding-x * 0.5};
|
|
12276
|
+
--#{$prefix}nav-link-padding-y: #{$nav-link-padding-y * 0.5};
|
|
12277
|
+
@include rfs(0.875rem, --#{$prefix}nav-link-font-size);
|
|
12278
|
+
--#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};
|
|
12279
|
+
--#{$prefix}nav-link-color: #{$nav-link-color};
|
|
12280
|
+
--#{$prefix}nav-link-hover-color: #{$nav-link-hover-color};
|
|
12281
|
+
--#{$prefix}nav-link-disabled-color: #{$nav-link-disabled-color};
|
|
12282
|
+
|
|
12283
|
+
--#{$prefix}nav-tabs-border-width: #{$nav-tabs-border-width};
|
|
12284
|
+
--#{$prefix}nav-tabs-border-color: #{$nav-tabs-border-color};
|
|
12285
|
+
--#{$prefix}nav-tabs-border-radius: #{$nav-tabs-border-radius};
|
|
12286
|
+
--#{$prefix}nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};
|
|
12287
|
+
--#{$prefix}nav-tabs-link-active-color: #{$nav-tabs-link-active-color};
|
|
12288
|
+
--#{$prefix}nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};
|
|
12289
|
+
--#{$prefix}nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};
|
|
12290
|
+
|
|
12291
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
12292
|
+
scroll-behavior: smooth;
|
|
12293
|
+
}
|
|
12294
|
+
|
|
12295
|
+
overflow-y: auto;
|
|
12296
|
+
overscroll-behavior-y: contain;
|
|
12297
|
+
scroll-snap-type: y mandatory;
|
|
12298
|
+
|
|
12299
|
+
scroll-marker-group: before;
|
|
12300
|
+
|
|
12301
|
+
&::scroll-marker-group {
|
|
12302
|
+
display: flex;
|
|
12303
|
+
min-height: calc(
|
|
12304
|
+
(var(--#{$prefix}nav-link-padding-y) + var(--#{$prefix}nav-tabs-border-width)) * 2 +
|
|
12305
|
+
(var(--#{$prefix}nav-link-font-size) * var(--#{$prefix}body-line-height))
|
|
12306
|
+
);
|
|
12307
|
+
margin-bottom: 0.25rem;
|
|
12308
|
+
}
|
|
12309
|
+
|
|
12310
|
+
& > section {
|
|
12311
|
+
&::scroll-marker {
|
|
12312
|
+
content: attr(aria-label);
|
|
12313
|
+
|
|
12314
|
+
font-size: var(--#{$prefix}nav-link-font-size);
|
|
12315
|
+
box-sizing: border-box;
|
|
12316
|
+
text-decoration: none;
|
|
12317
|
+
|
|
12318
|
+
padding: var(--#{$prefix}nav-link-padding-y) var(--#{$prefix}nav-link-padding-x);
|
|
12319
|
+
border: var(--#{$prefix}nav-tabs-border-width) solid transparent;
|
|
12320
|
+
|
|
12321
|
+
border-radius: var(--#{$prefix}nav-tabs-border-radius);
|
|
12322
|
+
|
|
12323
|
+
&:is(:hover, :focus) {
|
|
12324
|
+
border-color: var(--#{$prefix}nav-tabs-link-hover-border-color);
|
|
12325
|
+
}
|
|
12326
|
+
|
|
12327
|
+
&:target-current,
|
|
12328
|
+
&:is(:active) {
|
|
12329
|
+
color: var(--#{$prefix}nav-tabs-link-active-color);
|
|
12330
|
+
background-color: var(--#{$prefix}nav-tabs-link-active-bg);
|
|
12331
|
+
border-color: var(--#{$prefix}border-color);
|
|
12332
|
+
}
|
|
12333
|
+
}
|
|
12334
|
+
}
|
|
12335
|
+
}
|
|
12336
|
+
|
|
12337
|
+
.blue-scrollspy-after {
|
|
12338
|
+
scroll-marker-group: after;
|
|
12339
|
+
|
|
12340
|
+
&::scroll-marker-group {
|
|
12341
|
+
margin-bottom: 0;
|
|
12342
|
+
margin-top: 0.25rem;
|
|
12343
|
+
}
|
|
12344
|
+
}
|
|
12345
|
+
|
|
12266
12346
|
|
|
12267
12347
|
/* Make DevExpress components look more like Bootstrap/Blue */
|
|
12268
12348
|
[class^="dxbl-"] {
|