diff --git a/assets/css/molybdenum.css b/assets/css/molybdenum.css
index fb63e24..cf32fba 100755
--- a/assets/css/molybdenum.css
+++ b/assets/css/molybdenum.css
@@ -1,5 +1,5 @@
/*!
- * molybdenum v1.1.0 Companion CSS
+ * molybdenum v1.0.250619.1428 Companion CSS
* Copyright 2025 PT Nusa Angkasa Siber
* Released under the MIT License
*/
@@ -195,7 +195,11 @@ background-screen, load-screen, dialog-screen
-webkit-user-select: none;
-webkit-user-drag: none;
}
-load-screen:not(body>load-screen)
+dialog-box load-screen
+{
+ top: 2.5em;
+}
+load-screen:not(body>load-screen):not(dialog-box load-screen)
{
position: absolute;
}
@@ -211,6 +215,8 @@ dialog-box
position: relative;
max-width: 90vw;
max-height: 90vh;
+ min-width: 25ch;
+ min-height: 10em;
width: max-content;
height: max-content;
background-color: var(--primary-background);
@@ -219,7 +225,12 @@ dialog-box
padding: .5em;
transition: scale .25s;
scale: 0;
+ overflow: hidden;
}
+/* dialog-box div:has(load-screen)
+{
+ overflow-y: clip !important;
+} */
dialog-title
{
display: grid;
diff --git a/assets/js/molybdenum.js b/assets/js/molybdenum.js
index 14d18fd..80522ae 100755
--- a/assets/js/molybdenum.js
+++ b/assets/js/molybdenum.js
@@ -1,14 +1,26 @@
/*!
- * molybdenum v1.1.0
+ * molybdenum v1.0.250619.1428
* Copyright 2025 PT Nusa Angkasa Siber
* Released under the MIT License
*/
class molybdenum{
- version = '1.1.0';
+ version = '1.0.250619.1428';
_alerts = [];
_confirms = [];
_loads = [];
_dialogs = [];
+ lastDialog()
+ {
+ return this._dialogs.at(-1);
+ }
+ lastLoadScreenId()
+ {
+ if(this._loads.length > 0)
+ {
+ return this._loads.at(-1).id;
+ }
+ return null;
+ }
newElement(name = "div", options = {}){
const ele = document.createElement(name);
options.style ? ele.style = options.style : null;
@@ -596,7 +608,7 @@ class molybdenum{
}
Group = class extends HTMLElement
{
- static observedAttributes = ["label", "type", "collapsed"];
+ static observedAttributes = ["label", "type", "collapsed", "disabled"];
constructor()
{
super();
@@ -619,7 +631,7 @@ class molybdenum{
{
padding: .35em;
}
- :host([type="box"][collapsed])
+ :host([type="box"][collapsed]), :host([type="box"][disabled])
{
padding: .32em;
}
@@ -633,7 +645,7 @@ class molybdenum{
padding-left: .25ch;
padding-right: .25ch;
}
- :host([collapsed]) group-content
+ :host([collapsed]) group-content, :host([disabled]) group-content
{
display: none;
}
@@ -667,6 +679,7 @@ class molybdenum{
`;
+ this._labelButton = $(this.shadowRoot).children("group-label").children("a-button");
this._labelText = $(this.shadowRoot).children("group-label").children("a-button").children("span");
this._labelIcon = $(this.shadowRoot).children("group-label").children("a-button").children("m-inline");
}
@@ -688,7 +701,7 @@ class molybdenum{
{
$(this.shadowRoot).children("group-label").children("a-button").children("m-inline").text("expand_less");
}
- $(this.shadowRoot).children("group-label").children("a-button").click(()=>
+ this._labelButton.click(()=>
{
this.collapsed = !this.collapsed;
});
@@ -721,6 +734,19 @@ class molybdenum{
this._labelIcon.text("expand_less");
}
}
+ else if (name === "disabled")
+ {
+ if (this.disabled)
+ {
+ this._labelIcon.text("expand_more");
+ this._labelButton.prop("disabled",true);
+ }
+ else
+ {
+ this._labelIcon.text("expand_less");
+ this._labelButton.prop("disabled",false);
+ }
+ }
}
get collapsed() {
return this.hasAttribute("collapsed");
@@ -732,6 +758,16 @@ class molybdenum{
this.removeAttribute("collapsed");
}
}
+ get disabled() {
+ return this.hasAttribute("disabled");
+ }
+ set disabled(value) {
+ if (value) {
+ this.setAttribute("disabled", "");
+ } else {
+ this.removeAttribute("disabled");
+ }
+ }
get label() {
return this.getAttribute("label");
}