gg-wf-scripts 7.0.1 → 7.1.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/attrs.d.ts CHANGED
@@ -23,6 +23,7 @@ export declare const ATTR: {
23
23
  readonly switchField: "gg-switch-field";
24
24
  readonly switchQuery: "gg-switch-query";
25
25
  readonly case: "gg-case";
26
+ readonly caseDefault: "gg-case-default";
26
27
  readonly visibleWhen: "gg-visible-when";
27
28
  readonly queryBind: "gg-query-bind";
28
29
  readonly queryDebounce: "gg-query-debounce";
package/dist/attrs.js CHANGED
@@ -27,6 +27,7 @@ export const ATTR = {
27
27
  switchField: "gg-switch-field",
28
28
  switchQuery: "gg-switch-query",
29
29
  case: "gg-case",
30
+ caseDefault: "gg-case-default",
30
31
  // Visibility
31
32
  visibleWhen: "gg-visible-when",
32
33
  // URL params
package/dist/attrs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"attrs.js","sourceRoot":"","sources":["../src/attrs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,UAAU;IACV,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAE5B,eAAe;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,UAAU;IACjB,SAAS,EAAE,eAAe;IAC1B,YAAY,EAAE,kBAAkB;IAEhC,cAAc;IACd,cAAc,EAAE,qBAAqB;IACrC,gBAAgB,EAAE,uBAAuB;IACzC,SAAS,EAAE,eAAe;IAC1B,aAAa,EAAE,oBAAoB;IACnC,SAAS,EAAE,eAAe;IAE1B,WAAW;IACX,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,IAAI,EAAE,SAAS;IAEf,aAAa;IACb,WAAW,EAAE,iBAAiB;IAE9B,aAAa;IACb,SAAS,EAAE,eAAe;IAC1B,aAAa,EAAE,mBAAmB;IAClC,QAAQ,EAAE,cAAc;IACxB,WAAW,EAAE,iBAAiB;IAE9B,SAAS;IACT,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,WAAW,EAAE,iBAAiB;IAC9B,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG;IAC1B,UAAU,EAAE,QAAQ,IAAI,CAAC,UAAU,GAAG;IACtC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG;IACtB,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,GAAG;IAC9B,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,GAAG;IAC9B,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,QAAQ,GAAG;IACjE,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,GAAG;IACxB,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG;IAChC,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,GAAG;IACtC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;IACpC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;IACpC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;IACpC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;IACpC,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG;IAChC,eAAe,EAAE,IAAI,IAAI,CAAC,SAAS,SAAS;IAC5C,gBAAgB,EAAE,IAAI,IAAI,CAAC,gBAAgB,GAAG;IAC9C,cAAc,EAAE,IAAI,IAAI,CAAC,cAAc,GAAG;IAC1C,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG;IAChC,aAAa,EAAE,IAAI,IAAI,CAAC,aAAa,GAAG;IACxC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG;IACtB,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG;CACd,CAAC"}
1
+ {"version":3,"file":"attrs.js","sourceRoot":"","sources":["../src/attrs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,UAAU;IACV,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAE5B,eAAe;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,UAAU;IACjB,SAAS,EAAE,eAAe;IAC1B,YAAY,EAAE,kBAAkB;IAEhC,cAAc;IACd,cAAc,EAAE,qBAAqB;IACrC,gBAAgB,EAAE,uBAAuB;IACzC,SAAS,EAAE,eAAe;IAC1B,aAAa,EAAE,oBAAoB;IACnC,SAAS,EAAE,eAAe;IAE1B,WAAW;IACX,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,iBAAiB;IAE9B,aAAa;IACb,WAAW,EAAE,iBAAiB;IAE9B,aAAa;IACb,SAAS,EAAE,eAAe;IAC1B,aAAa,EAAE,mBAAmB;IAClC,QAAQ,EAAE,cAAc;IACxB,WAAW,EAAE,iBAAiB;IAE9B,SAAS;IACT,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,WAAW,EAAE,iBAAiB;IAC9B,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG;IAC1B,UAAU,EAAE,QAAQ,IAAI,CAAC,UAAU,GAAG;IACtC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG;IACtB,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,GAAG;IAC9B,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,GAAG;IAC9B,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,QAAQ,GAAG;IACjE,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,GAAG;IACxB,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG;IAChC,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,GAAG;IACtC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;IACpC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;IACpC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;IACpC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;IACpC,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG;IAChC,eAAe,EAAE,IAAI,IAAI,CAAC,SAAS,SAAS;IAC5C,gBAAgB,EAAE,IAAI,IAAI,CAAC,gBAAgB,GAAG;IAC9C,cAAc,EAAE,IAAI,IAAI,CAAC,cAAc,GAAG;IAC1C,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG;IAChC,aAAa,EAAE,IAAI,IAAI,CAAC,aAAa,GAAG;IACxC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG;IACtB,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG;CACd,CAAC"}
@@ -15,6 +15,11 @@ export declare function setSwitchState(el: Element, value: unknown): void;
15
15
  *
16
16
  * Comma in state/case = positional AND match. Pipe in a case position = OR
17
17
  * alternation within that position.
18
+ *
19
+ * [gg-case-default] is a presence-based modifier: a child with that attribute
20
+ * also shows when the state is empty across every comma-separated segment
21
+ * (single-key "" or multi-key "," / ",," etc). It can sit alongside [gg-case]
22
+ * to OR a "nothing selected yet" fallback into the same element.
18
23
  */
19
24
  export declare function applySwitchState(container: Element, options?: {
20
25
  instant?: boolean;
@@ -1,3 +1,4 @@
1
+ import { ATTR } from "../attrs.js";
1
2
  import { getPath } from "./path.js";
2
3
  import { setVisibility } from "./visibility.js";
3
4
  /**
@@ -41,17 +42,26 @@ function caseMatches(caseAttr, state) {
41
42
  *
42
43
  * Comma in state/case = positional AND match. Pipe in a case position = OR
43
44
  * alternation within that position.
45
+ *
46
+ * [gg-case-default] is a presence-based modifier: a child with that attribute
47
+ * also shows when the state is empty across every comma-separated segment
48
+ * (single-key "" or multi-key "," / ",," etc). It can sit alongside [gg-case]
49
+ * to OR a "nothing selected yet" fallback into the same element.
44
50
  */
45
51
  export function applySwitchState(container, options) {
46
- const state = container.getAttribute("gg-switch-state") ?? "";
52
+ const state = container.getAttribute(ATTR.switchState) ?? "";
53
+ const isEmpty = state.split(",").every((s) => s.trim() === "");
47
54
  const instant = options?.instant === true;
48
55
  Array.from(container.children).forEach((child) => {
49
56
  if (!(child instanceof HTMLElement))
50
57
  return;
51
- const caseAttr = child.getAttribute("gg-case");
52
- if (caseAttr == null)
58
+ const caseAttr = child.getAttribute(ATTR.case);
59
+ const isDefault = child.hasAttribute(ATTR.caseDefault);
60
+ if (caseAttr == null && !isDefault)
53
61
  return;
54
- setVisibility(child, caseMatches(caseAttr, state), { instant });
62
+ const matchesCase = caseAttr != null && caseMatches(caseAttr, state);
63
+ const matchesDefault = isDefault && isEmpty;
64
+ setVisibility(child, matchesCase || matchesDefault, { instant });
55
65
  });
56
66
  }
57
67
  //# sourceMappingURL=dom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/helpers/dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAa,EAAE,MAAe;IAC3D,IAAI,CAAC,gBAAgB,CAAc,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK,IAAI,IAAI;YAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,EAAW,EAAE,KAAc;IACxD,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,GAAW;IAC3C,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,KAAa;IAClD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACzD,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1C,OAAO,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAkB,EAClB,OAA+B;IAE/B,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/C,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC;YAAE,OAAO;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,QAAQ,IAAI,IAAI;YAAE,OAAO;QAC7B,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/helpers/dom.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gg-wf-scripts",
3
- "version": "7.0.1",
3
+ "version": "7.1.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {