@nonoun/native-ui 0.2.7 → 0.2.9

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.
Files changed (153) hide show
  1. package/dist/components/ui-accordion/ui-accordion-element.d.ts.map +1 -1
  2. package/dist/components/ui-avatar/ui-avatar-element.d.ts +2 -0
  3. package/dist/components/ui-avatar/ui-avatar-element.d.ts.map +1 -1
  4. package/dist/components/ui-calendar/calendar-store.d.ts.map +1 -1
  5. package/dist/components/ui-calendar/ui-calendar-element.d.ts +1 -0
  6. package/dist/components/ui-calendar/ui-calendar-element.d.ts.map +1 -1
  7. package/dist/components/ui-chat/ui-chat-input-element.d.ts.map +1 -1
  8. package/dist/components/ui-checkbox/ui-checkbox-element.d.ts +1 -0
  9. package/dist/components/ui-checkbox/ui-checkbox-element.d.ts.map +1 -1
  10. package/dist/components/ui-combobox/ui-combobox-element.d.ts +1 -0
  11. package/dist/components/ui-combobox/ui-combobox-element.d.ts.map +1 -1
  12. package/dist/components/ui-command/ui-command-element.d.ts.map +1 -1
  13. package/dist/components/ui-command/ui-command-group-element.d.ts +1 -0
  14. package/dist/components/ui-command/ui-command-group-element.d.ts.map +1 -1
  15. package/dist/components/ui-controller/ui-controller-element.d.ts +1 -0
  16. package/dist/components/ui-controller/ui-controller-element.d.ts.map +1 -1
  17. package/dist/components/ui-dialog/ui-dialog-element.d.ts +0 -1
  18. package/dist/components/ui-dialog/ui-dialog-element.d.ts.map +1 -1
  19. package/dist/components/ui-drawer/ui-drawer-element.d.ts +0 -1
  20. package/dist/components/ui-drawer/ui-drawer-element.d.ts.map +1 -1
  21. package/dist/components/ui-field/ui-field-element.d.ts.map +1 -1
  22. package/dist/components/ui-input/ui-input-element.d.ts +1 -0
  23. package/dist/components/ui-input/ui-input-element.d.ts.map +1 -1
  24. package/dist/components/ui-input-otp/ui-input-otp-element.d.ts +1 -0
  25. package/dist/components/ui-input-otp/ui-input-otp-element.d.ts.map +1 -1
  26. package/dist/components/ui-listbox/ui-listbox-element.d.ts.map +1 -1
  27. package/dist/components/ui-nav/ui-nav-group-element.d.ts +1 -1
  28. package/dist/components/ui-pagination/ui-pagination-element.d.ts.map +1 -1
  29. package/dist/components/ui-radio/ui-radio-element.d.ts.map +1 -1
  30. package/dist/components/ui-radio/ui-radio-group-element.d.ts +1 -0
  31. package/dist/components/ui-radio/ui-radio-group-element.d.ts.map +1 -1
  32. package/dist/components/ui-range/ui-range-element.d.ts +4 -0
  33. package/dist/components/ui-range/ui-range-element.d.ts.map +1 -1
  34. package/dist/components/ui-segmented-control/ui-segment-element.d.ts.map +1 -1
  35. package/dist/components/ui-segmented-control/ui-segmented-control-element.d.ts +1 -0
  36. package/dist/components/ui-segmented-control/ui-segmented-control-element.d.ts.map +1 -1
  37. package/dist/components/ui-select/ui-select-element.d.ts +1 -0
  38. package/dist/components/ui-select/ui-select-element.d.ts.map +1 -1
  39. package/dist/components/ui-slideshow/ui-slideshow-element.d.ts.map +1 -1
  40. package/dist/components/ui-switch/ui-switch-element.d.ts +4 -0
  41. package/dist/components/ui-switch/ui-switch-element.d.ts.map +1 -1
  42. package/dist/components/ui-table/index.d.ts +1 -1
  43. package/dist/components/ui-table/index.d.ts.map +1 -1
  44. package/dist/components/ui-table/table-store.d.ts +0 -1
  45. package/dist/components/ui-table/table-store.d.ts.map +1 -1
  46. package/dist/components/ui-table/ui-table-element.d.ts +1 -0
  47. package/dist/components/ui-table/ui-table-element.d.ts.map +1 -1
  48. package/dist/components/ui-table/ui-table-header-element.d.ts +1 -0
  49. package/dist/components/ui-table/ui-table-header-element.d.ts.map +1 -1
  50. package/dist/components/ui-tabs/ui-tab-element.d.ts.map +1 -1
  51. package/dist/components/ui-tabs/ui-tabs-element.d.ts.map +1 -1
  52. package/dist/components/ui-textarea/ui-textarea-element.d.ts +1 -0
  53. package/dist/components/ui-textarea/ui-textarea-element.d.ts.map +1 -1
  54. package/dist/components/ui-tree/ui-tree-item-element.d.ts +4 -0
  55. package/dist/components/ui-tree/ui-tree-item-element.d.ts.map +1 -1
  56. package/dist/components-lean.css +208 -84
  57. package/dist/components.css +216 -84
  58. package/dist/containers/ui-layout-sidebar/ui-layout-sidebar-element.d.ts.map +1 -1
  59. package/dist/core/form-associable.d.ts +2 -2
  60. package/dist/core/trait-runtime.d.ts.map +1 -1
  61. package/dist/core/ui-element.d.ts +2 -0
  62. package/dist/core/ui-element.d.ts.map +1 -1
  63. package/dist/custom-elements.json +4715 -2573
  64. package/dist/dialog-controller.js +54 -349
  65. package/dist/foundation.css +1 -15
  66. package/dist/icons/ui-icon-element.d.ts +1 -0
  67. package/dist/icons/ui-icon-element.d.ts.map +1 -1
  68. package/dist/index.d.ts +1 -1
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/{nav/inspector → inspector}/build-inspector.d.ts +2 -2
  71. package/dist/inspector/build-inspector.d.ts.map +1 -0
  72. package/dist/{nav/inspector → inspector}/ds-color-swatch-element.d.ts +1 -1
  73. package/dist/inspector/ds-color-swatch-element.d.ts.map +1 -0
  74. package/dist/inspector/ds-color-swatch.d.ts.map +1 -0
  75. package/dist/{nav/inspector → inspector}/ds-colors-element.d.ts +1 -1
  76. package/dist/inspector/ds-colors-element.d.ts.map +1 -0
  77. package/dist/inspector/ds-colors.d.ts.map +1 -0
  78. package/dist/inspector/ds-inspector-element.d.ts +15 -0
  79. package/dist/inspector/ds-inspector-element.d.ts.map +1 -0
  80. package/dist/inspector/ds-inspector.d.ts +3 -0
  81. package/dist/inspector/ds-inspector.d.ts.map +1 -0
  82. package/dist/{nav/inspector → inspector}/ds-themes-element.d.ts +1 -1
  83. package/dist/inspector/ds-themes-element.d.ts.map +1 -0
  84. package/dist/inspector/ds-themes.d.ts.map +1 -0
  85. package/dist/{nav/inspector → inspector}/ds-variable-element.d.ts +1 -1
  86. package/dist/inspector/ds-variable-element.d.ts.map +1 -0
  87. package/dist/inspector/ds-variable.d.ts.map +1 -0
  88. package/dist/{nav/inspector → inspector}/index.d.ts +1 -0
  89. package/dist/inspector/index.d.ts.map +1 -0
  90. package/dist/inspector.css +1 -1
  91. package/dist/inspector.d.ts +10 -6
  92. package/dist/inspector.d.ts.map +1 -1
  93. package/dist/inspector.js +94 -75
  94. package/dist/kernel/index.d.ts +1 -0
  95. package/dist/kernel/index.d.ts.map +1 -1
  96. package/dist/kernel/overlay-manager.d.ts +5 -1
  97. package/dist/kernel/overlay-manager.d.ts.map +1 -1
  98. package/dist/kernel.js +212 -194
  99. package/dist/list-navigate-controller.js +457 -0
  100. package/dist/native-ui-lean.css +209 -99
  101. package/dist/native-ui.css +217 -99
  102. package/dist/native-ui.js +7 -7
  103. package/dist/register-all.js +4 -3
  104. package/dist/register-all2.js +151 -79
  105. package/dist/traits/adapters/collapsible-adapter.d.ts.map +1 -1
  106. package/dist/traits/adapters/copyable-adapter.d.ts.map +1 -1
  107. package/dist/traits/adapters/draggable-adapter.d.ts.map +1 -1
  108. package/dist/traits/adapters/hoverable-adapter.d.ts.map +1 -1
  109. package/dist/traits/adapters/intersectable-adapter.d.ts.map +1 -1
  110. package/dist/traits/adapters/resizable-adapter.d.ts.map +1 -1
  111. package/dist/traits/adapters/searchable-adapter.d.ts.map +1 -1
  112. package/dist/traits/adapters/sortable-adapter.d.ts.map +1 -1
  113. package/dist/traits/adapters/swipeable-adapter.d.ts.map +1 -1
  114. package/dist/traits/adapters/virtualizable-adapter.d.ts.map +1 -1
  115. package/dist/traits/collapsible-controller.d.ts.map +1 -1
  116. package/dist/traits/dialog-controller.d.ts.map +1 -1
  117. package/dist/traits/drag-controller.d.ts +3 -0
  118. package/dist/traits/drag-controller.d.ts.map +1 -1
  119. package/dist/traits/drop-zone-controller.d.ts +1 -1
  120. package/dist/traits/drop-zone-controller.d.ts.map +1 -1
  121. package/dist/traits/focus-trap-controller.d.ts.map +1 -1
  122. package/dist/traits/hover-controller.d.ts +1 -1
  123. package/dist/traits/hover-controller.d.ts.map +1 -1
  124. package/dist/traits/intersect-controller.d.ts.map +1 -1
  125. package/dist/traits/popover-controller.d.ts.map +1 -1
  126. package/dist/traits/press-controller.d.ts.map +1 -1
  127. package/dist/traits/resize-controller.d.ts.map +1 -1
  128. package/dist/traits/selection-controller.d.ts.map +1 -1
  129. package/dist/traits/sort-controller.d.ts.map +1 -1
  130. package/dist/traits/swipe-controller.d.ts.map +1 -1
  131. package/dist/traits/validate-controller.d.ts +2 -0
  132. package/dist/traits/validate-controller.d.ts.map +1 -1
  133. package/dist/traits.js +5 -6
  134. package/dist/ui-icon-element.js +407 -3949
  135. package/dist/ui-layout-inspector-element.js +3777 -0
  136. package/dist/uid.js +63 -3
  137. package/package.json +1 -1
  138. package/dist/define.js +0 -62
  139. package/dist/nav/inspector/build-inspector.d.ts.map +0 -1
  140. package/dist/nav/inspector/ds-color-swatch-element.d.ts.map +0 -1
  141. package/dist/nav/inspector/ds-color-swatch.d.ts.map +0 -1
  142. package/dist/nav/inspector/ds-colors-element.d.ts.map +0 -1
  143. package/dist/nav/inspector/ds-colors.d.ts.map +0 -1
  144. package/dist/nav/inspector/ds-themes-element.d.ts.map +0 -1
  145. package/dist/nav/inspector/ds-themes.d.ts.map +0 -1
  146. package/dist/nav/inspector/ds-variable-element.d.ts.map +0 -1
  147. package/dist/nav/inspector/ds-variable.d.ts.map +0 -1
  148. package/dist/nav/inspector/index.d.ts.map +0 -1
  149. package/dist/ui-element.js +0 -128
  150. /package/dist/{nav/inspector → inspector}/ds-color-swatch.d.ts +0 -0
  151. /package/dist/{nav/inspector → inspector}/ds-colors.d.ts +0 -0
  152. /package/dist/{nav/inspector → inspector}/ds-themes.d.ts +0 -0
  153. /package/dist/{nav/inspector → inspector}/ds-variable.d.ts +0 -0
package/dist/uid.js CHANGED
@@ -75,13 +75,73 @@ function _() {
75
75
  for (let e of t) g(e);
76
76
  }
77
77
  }
78
- function v(e) {
78
+ var v = class {
79
+ [Symbol.toStringTag] = "Signal";
80
+ #e;
81
+ constructor(e) {
82
+ this.#e = e;
83
+ }
84
+ get value() {
85
+ return p(this.#e), this.#e._value;
86
+ }
87
+ set value(e) {
88
+ Object.is(this.#e._value, e) || (this.#e._value = e, h(this.#e));
89
+ }
90
+ peek() {
91
+ return this.#e._value;
92
+ }
93
+ };
94
+ function y(e) {
95
+ let t = new u(e), n = new v(t);
96
+ return r.set(n, t), n;
97
+ }
98
+ var b = class {
99
+ [Symbol.toStringTag] = "Computed";
100
+ #e;
101
+ constructor(e) {
102
+ this.#e = e;
103
+ }
104
+ get value() {
105
+ return p(this.#e), this.#e._dirty && this.#t(), this.#e._value;
106
+ }
107
+ peek() {
108
+ return this.#e._dirty && this.#t(), this.#e._value;
109
+ }
110
+ #t() {
111
+ let e = this.#e;
112
+ if (i.has(e)) throw Error("Circular computed dependency detected.");
113
+ m(e), i.add(e);
114
+ let t = a();
115
+ o(e);
116
+ try {
117
+ e._value = e._fn();
118
+ } finally {
119
+ o(t), i.delete(e), e._dirty = !1;
120
+ }
121
+ }
122
+ };
123
+ function x(e) {
124
+ let t = new d(e), n = new b(t);
125
+ return r.set(n, t), n;
126
+ }
127
+ function S(e) {
79
128
  let t = new f(e);
80
129
  return g(t), () => {
81
130
  t._disposed || (t._disposed = !0, m(t));
82
131
  };
83
132
  }
84
- function y(e = "ui") {
133
+ function C(e) {
134
+ c();
135
+ try {
136
+ e();
137
+ } finally {
138
+ l(), s() === 0 && _();
139
+ }
140
+ }
141
+ function w(e, t) {
142
+ customElements.get(e) || customElements.define(e, t);
143
+ }
144
+ function T(e = "ui") {
85
145
  return `${e}-${crypto.randomUUID().slice(0, 8)}`;
86
146
  }
87
- export { m as a, _ as c, c as d, r as f, p as h, u as i, a as l, o as m, v as n, i as o, h as p, d as r, l as s, y as t, s as u };
147
+ export { x as a, a as c, S as i, r as l, w as n, y as o, C as r, u as s, T as t, o as u };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nonoun/native-ui",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "description": "Zero-dependency web component library with an OKLCH CSS design system, signal-based reactivity, and composable trait controllers",
5
5
  "license": "MIT",
6
6
  "type": "module",
package/dist/define.js DELETED
@@ -1,62 +0,0 @@
1
- import { a as e, c as t, d as n, f as r, h as i, i as a, l as o, m as s, o as c, p as l, r as u, s as d, u as f } from "./uid.js";
2
- var p = class {
3
- [Symbol.toStringTag] = "Signal";
4
- #e;
5
- constructor(e) {
6
- this.#e = e;
7
- }
8
- get value() {
9
- return i(this.#e), this.#e._value;
10
- }
11
- set value(e) {
12
- Object.is(this.#e._value, e) || (this.#e._value = e, l(this.#e));
13
- }
14
- peek() {
15
- return this.#e._value;
16
- }
17
- };
18
- function m(e) {
19
- let t = new a(e), n = new p(t);
20
- return r.set(n, t), n;
21
- }
22
- var h = class {
23
- [Symbol.toStringTag] = "Computed";
24
- #e;
25
- constructor(e) {
26
- this.#e = e;
27
- }
28
- get value() {
29
- return i(this.#e), this.#e._dirty && this.#t(), this.#e._value;
30
- }
31
- peek() {
32
- return this.#e._dirty && this.#t(), this.#e._value;
33
- }
34
- #t() {
35
- let t = this.#e;
36
- if (c.has(t)) throw Error("Circular computed dependency detected.");
37
- e(t), c.add(t);
38
- let n = o();
39
- s(t);
40
- try {
41
- t._value = t._fn();
42
- } finally {
43
- s(n), c.delete(t), t._dirty = !1;
44
- }
45
- }
46
- };
47
- function g(e) {
48
- let t = new u(e), n = new h(t);
49
- return r.set(n, t), n;
50
- }
51
- function _(e) {
52
- n();
53
- try {
54
- e();
55
- } finally {
56
- d(), f() === 0 && t();
57
- }
58
- }
59
- function v(e, t) {
60
- customElements.get(e) || customElements.define(e, t);
61
- }
62
- export { m as i, _ as n, g as r, v as t };
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-inspector.d.ts","sourceRoot":"","sources":["../../../src/nav/inspector/build-inspector.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,gBAAgB,CAAC;AACxB,OAAO,sBAAsB,CAAC;AAC9B,OAAO,gBAAgB,CAAC;AAGxB,OAAO,uCAAuC,CAAC;AAC/C,OAAO,6CAA6C,CAAC;AA4ErD,wBAAgB,cAAc,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAiI3D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ds-color-swatch-element.d.ts","sourceRoot":"","sources":["../../../src/nav/inspector/ds-color-swatch-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAoJrD,qBAAa,aAAc,SAAQ,SAAS;;IAC1C,MAAM,CAAC,kBAAkB,WAAqB;IAM9C,IAAI,KAAK,IAAI,MAAM,CAA6C;IAChE,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAAsC;IAE3D,IAAI,IAAI,IAAI,MAAM,CAA4C;IAC9D,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,EAAqC;IAEzD,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAapF,KAAK,IAAI,IAAI;IAqCb,QAAQ,IAAI,IAAI;IAUhB,gEAAgE;IAChE,OAAO,IAAI,IAAI;CAsEhB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ds-color-swatch.d.ts","sourceRoot":"","sources":["../../../src/nav/inspector/ds-color-swatch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAI7D,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ds-colors-element.d.ts","sourceRoot":"","sources":["../../../src/nav/inspector/ds-colors-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGrD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,QAAS,SAAQ,SAAS;;IACrC,MAAM,CAAC,kBAAkB,WAAY;IAIrC,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAQpF,KAAK,IAAI,IAAI;IAab,QAAQ,IAAI,IAAI;IAWhB,OAAO,IAAI,IAAI;CAuBhB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ds-colors.d.ts","sourceRoot":"","sources":["../../../src/nav/inspector/ds-colors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ds-themes-element.d.ts","sourceRoot":"","sources":["../../../src/nav/inspector/ds-themes-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAeD,qBAAa,QAAS,SAAQ,SAAS;;IACrC,MAAM,CAAC,kBAAkB,WAAY;IAIrC,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAQpF,KAAK,IAAI,IAAI;IASb,QAAQ,IAAI,IAAI;CA+CjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ds-themes.d.ts","sourceRoot":"","sources":["../../../src/nav/inspector/ds-themes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ds-variable-element.d.ts","sourceRoot":"","sources":["../../../src/nav/inspector/ds-variable-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,UAAW,SAAQ,SAAS;;IACvC,MAAM,CAAC,kBAAkB,WAAY;IAMrC,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAQpF,KAAK,IAAI,IAAI;IAWb,QAAQ,IAAI,IAAI;IAYhB,IAAI,IAAI,IAAI;CA8Db"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ds-variable.d.ts","sourceRoot":"","sources":["../../../src/nav/inspector/ds-variable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAItD,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/nav/inspector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,128 +0,0 @@
1
- import { n as e } from "./uid.js";
2
- var t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Set();
3
- function r(e) {
4
- if (t.has(e.name)) {
5
- console.warn(`[native-ui] Trait "${e.name}" is already registered.`);
6
- return;
7
- }
8
- t.set(e.name, e);
9
- for (let t of n) t(e.name);
10
- }
11
- /** Subscribe to trait registration events. Returns unsubscribe function. */
12
- function i(e) {
13
- return n.add(e), () => n.delete(e);
14
- }
15
- function a(e) {
16
- return t.get(e);
17
- }
18
- function o() {
19
- return new Set(t.keys());
20
- }
21
- /**
22
- * Parse a namespaced trait attribute like "draggable-axis" into
23
- * { trait: "draggable", key: "axis" }. Returns null if the attribute
24
- * doesn't match any registered trait name prefix.
25
- */
26
- function s(e) {
27
- let t = o();
28
- for (let n of t) if (e.startsWith(n + "-")) return {
29
- trait: n,
30
- key: e.slice(n.length + 1)
31
- };
32
- return null;
33
- }
34
- /**
35
- * Collect all `{traitName}-*` attributes from an element for a given trait.
36
- * Returns a plain object mapping option keys to string values.
37
- *
38
- * Example: element has `draggable-axis="x"` and `draggable-mode="slot"`
39
- * → collectTraitOptions(el, 'draggable') returns { axis: 'x', mode: 'slot' }
40
- */
41
- function c(e, t) {
42
- let n = t + "-", r = {};
43
- for (let t of e.attributes) t.name.startsWith(n) && (r[t.name.slice(n.length)] = t.value);
44
- return r;
45
- }
46
- /** Base custom element class with reactive effect lifecycle, child deferral, and trait protocol. */
47
- var l = class extends HTMLElement {
48
- #e = [];
49
- #t = /* @__PURE__ */ new Map();
50
- #n = null;
51
- #r = /* @__PURE__ */ new Set();
52
- #i = null;
53
- #a = !1;
54
- addEffect(t) {
55
- this.#e.push(e(t));
56
- }
57
- connectedCallback() {
58
- if (this.#a) return;
59
- this.#a = !0, this.setup();
60
- let e = this.getAttribute("traits");
61
- e !== null && this.#o(e);
62
- }
63
- disconnectedCallback() {
64
- this.#a = !1, this.#c(), this.#n?.disconnect(), this.#n = null, this.#i?.(), this.#i = null, this.#r.clear(), this.teardown();
65
- for (let e of this.#e) e();
66
- this.#e = [];
67
- }
68
- setup() {}
69
- teardown() {}
70
- deferChildren(e) {
71
- this.firstChild ? e() : queueMicrotask(() => {
72
- this.isConnected && e();
73
- });
74
- }
75
- attributeChangedCallback(e, t, n) {}
76
- /**
77
- * Get a trait controller instance by name.
78
- * Returns null if no controller with that name is active.
79
- */
80
- getTraitController(e) {
81
- return this.#t.get(e) ?? null;
82
- }
83
- #o(e) {
84
- this.#s(e), this.#n = new MutationObserver((e) => {
85
- for (let t of e) if (t.attributeName === "traits") this.#s(this.getAttribute("traits") ?? "");
86
- else if (t.attributeName) {
87
- let e = s(t.attributeName);
88
- if (e) {
89
- let t = a(e.trait), n = this.#t.get(e.trait);
90
- t && n && t.update && t.update(n, c(this, e.trait));
91
- }
92
- }
93
- }), this.#n.observe(this, { attributes: !0 });
94
- }
95
- #s(e) {
96
- let t = new Set(e.split(/\s+/).filter(Boolean));
97
- for (let [e, n] of this.#t) if (!t.has(e)) {
98
- let t = a(e);
99
- t && t.destroy(n), this.#t.delete(e);
100
- }
101
- this.#r.clear();
102
- for (let e of t) {
103
- if (this.#t.has(e)) continue;
104
- let t = a(e);
105
- if (!t) {
106
- this.#r.add(e);
107
- continue;
108
- }
109
- for (let [n] of this.#t) if (a(n)?.conflicts?.includes(e) || t.conflicts?.includes(n)) {
110
- let t = `[native-ui] Trait conflict: "${e}" and "${n}" are incompatible.`;
111
- console.warn(t);
112
- }
113
- let n = c(this, e), r = t.create(this, n);
114
- this.#t.set(e, r);
115
- }
116
- this.#r.size > 0 && !this.#i ? this.#i = i((e) => {
117
- this.#r.has(e) && (this.#r.delete(e), this.#s(this.getAttribute("traits") ?? ""), this.#r.size === 0 && (this.#i?.(), this.#i = null));
118
- }) : this.#r.size === 0 && this.#i && (this.#i(), this.#i = null);
119
- }
120
- #c() {
121
- for (let [e, t] of this.#t) {
122
- let n = a(e);
123
- n && n.destroy(t);
124
- }
125
- this.#t.clear();
126
- }
127
- };
128
- export { a, o as i, c as n, i as o, s as r, r as s, l as t };