ultimate-jekyll-manager 1.9.5 → 1.9.6
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/assets/css/core/_initialize.scss +0 -11
- package/dist/assets/css/core/_utilities.scss +5 -2
- package/dist/assets/js/libs/form-manager.js +5 -10
- package/dist/defaults/dist/_includes/core/body.html +1 -7
- package/package.json +8 -1
- package/.nvmrc +0 -1
- package/CHANGELOG.md +0 -804
- package/CLAUDE-ATTRIBUTION.md +0 -215
- package/PROGRESS.md +0 -36
- package/TODO-ATTRIBUTION2.md +0 -753
- package/TODO-AUTH-TESTING.md +0 -165
- package/TODO-BACKEND.md +0 -13
- package/TODO-CHAT1.md +0 -41
- package/TODO-CONSENT-LIVETEST.md +0 -201
- package/TODO-NEW.md +0 -21
- package/TODO-themes.md +0 -34
- package/TODO-tracking.md +0 -69
- package/TODO-tracking2.md +0 -103
- package/TODO.md +0 -415
- package/_notes/CLAUDE-pages.md +0 -19
- package/_notes/CLAUDE-pages2.md +0 -18
- package/_notes/LOGOS.md +0 -1
- package/_notes/NOTES-app.md +0 -92
- package/_notes/NOTES-sub-2.md +0 -42
- package/_notes/NOTES-sub-ai.md +0 -165
- package/_notes/NOTES-sub-endpoints.md +0 -44
- package/_notes/NOTES-sub-example.md +0 -92
- package/_notes/NOTES-sub-plan.md +0 -36
- package/_notes/NOTES-sub-status.md +0 -123
- package/_notes/TODO-Claude.rtf +0 -105
- package/_notes/TODO-FileStructure.md +0 -249
- package/_notes/TODO-checkout.md +0 -33
- package/_notes/TODO-frontend.md +0 -61
- package/_notes/TODO-legacy.md +0 -18
- package/_notes/TODO-template-system.md +0 -73
- package/_notes/TODO-theme.md +0 -17
- package/logs/test.log +0 -144
- package/plans/fix-translation-exclude-404s.md +0 -113
|
@@ -20,17 +20,6 @@ body {
|
|
|
20
20
|
padding: 0;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
// ============================================
|
|
24
|
-
// FormManager Loading Guard
|
|
25
|
-
// ============================================
|
|
26
|
-
|
|
27
|
-
// Forms with data-form-state block interaction until FormManager sets state
|
|
28
|
-
// to "ready". Replaces per-element disabled attributes as the loading guard.
|
|
29
|
-
form[data-form-state]:not([data-form-state="ready"]) {
|
|
30
|
-
pointer-events: none;
|
|
31
|
-
opacity: 0.65;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
23
|
// ============================================
|
|
35
24
|
// Font Display Configuration
|
|
36
25
|
// ============================================
|
|
@@ -13,8 +13,10 @@
|
|
|
13
13
|
.disabled,
|
|
14
14
|
[disabled],
|
|
15
15
|
:disabled,
|
|
16
|
+
[aria-disabled="true"],
|
|
16
17
|
[data-page-loading] button.btn,
|
|
17
|
-
[data-page-loading] .btn-action
|
|
18
|
+
[data-page-loading] .btn-action,
|
|
19
|
+
form[data-form-state]:not([data-form-state="ready"]) [type="submit"] {
|
|
18
20
|
cursor: not-allowed !important;
|
|
19
21
|
pointer-events: all !important;
|
|
20
22
|
|
|
@@ -26,7 +28,8 @@
|
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
[data-page-loading] button.btn,
|
|
29
|
-
[data-page-loading] .btn-action
|
|
31
|
+
[data-page-loading] .btn-action,
|
|
32
|
+
form[data-form-state]:not([data-form-state="ready"]) [type="submit"] {
|
|
30
33
|
opacity: var(--bs-btn-disabled-opacity);
|
|
31
34
|
color: var(--bs-btn-disabled-color);
|
|
32
35
|
}
|
|
@@ -93,24 +93,19 @@ export class FormManager {
|
|
|
93
93
|
* Initialize the form manager
|
|
94
94
|
*/
|
|
95
95
|
_init() {
|
|
96
|
-
// Set the form state attribute
|
|
97
|
-
// kicks in even if the HTML didn't include data-form-state.
|
|
96
|
+
// Set the form state attribute for debugging and consumer CSS hooks.
|
|
98
97
|
this.$form.setAttribute('data-form-state', this.state);
|
|
99
98
|
|
|
100
|
-
// Snapshot elements that are disabled in HTML markup
|
|
101
|
-
//
|
|
102
|
-
//
|
|
103
|
-
//
|
|
104
|
-
// loading guards that FM takes over.
|
|
99
|
+
// Snapshot elements that are disabled in HTML markup. These are
|
|
100
|
+
// business-logic disabled (e.g. "coming soon" options) and must stay
|
|
101
|
+
// disabled through every state transition. Submit buttons are excluded
|
|
102
|
+
// — disabled submit buttons in HTML are loading guards that FM takes over.
|
|
105
103
|
this.$form.querySelectorAll('button, input, select, textarea').forEach(($el) => {
|
|
106
104
|
if ($el.disabled && $el.type !== 'submit') {
|
|
107
105
|
this._permanentlyDisabled.add($el);
|
|
108
106
|
}
|
|
109
107
|
});
|
|
110
108
|
|
|
111
|
-
// Disable form during initialization
|
|
112
|
-
this._setDisabled(true);
|
|
113
|
-
|
|
114
109
|
// Attach submit handler
|
|
115
110
|
this.$form.addEventListener('submit', (e) => this._handleSubmit(e));
|
|
116
111
|
|
|
@@ -96,22 +96,16 @@
|
|
|
96
96
|
<script type="text/javascript">
|
|
97
97
|
(function() {
|
|
98
98
|
'use strict';
|
|
99
|
-
// Attach click listener immediately to prevent clicks on disabled elements
|
|
100
99
|
document.addEventListener('click', function(e) {
|
|
101
100
|
var target = e.target;
|
|
102
|
-
|
|
103
|
-
// Check if click is on a disabled element OR a button/form element during page load
|
|
104
101
|
if (
|
|
105
|
-
target.closest('*[disabled], *.disabled, :disabled')
|
|
102
|
+
target.closest('*[disabled], *.disabled, :disabled, [aria-disabled="true"]')
|
|
106
103
|
|| (
|
|
107
104
|
document.documentElement.hasAttribute('data-page-loading')
|
|
108
105
|
&& target.closest('button, input[type="submit"], input[type="button"], input[type="reset"], .btn-action')
|
|
109
106
|
)
|
|
110
107
|
) {
|
|
111
|
-
// Log the click for debugging
|
|
112
108
|
console.log('Click prevented (disabled):', target);
|
|
113
|
-
|
|
114
|
-
// Prevent all actions
|
|
115
109
|
e.preventDefault();
|
|
116
110
|
e.stopImmediatePropagation();
|
|
117
111
|
e.stopPropagation();
|
package/package.json
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ultimate-jekyll-manager",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.6",
|
|
4
4
|
"description": "Ultimate Jekyll dependency manager",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist/",
|
|
8
|
+
"bin/",
|
|
9
|
+
"docs/",
|
|
10
|
+
"assets/",
|
|
11
|
+
"CLAUDE.md"
|
|
12
|
+
],
|
|
6
13
|
"exports": {
|
|
7
14
|
".": "./dist/index.js",
|
|
8
15
|
"./build": "./dist/build.js",
|
package/.nvmrc
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
v22/*
|