@nice2dev/ui 1.0.6 → 1.0.10

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 (137) hide show
  1. package/dist/NiceAPIFlow.doc-DnQLPUie.js +30 -0
  2. package/dist/NiceAPIFlow.doc-Dx4qw1lm.cjs +6 -0
  3. package/dist/NiceBranchManager.doc-BXjiENlD.cjs +6 -0
  4. package/dist/NiceBranchManager.doc-xLB82YwU.js +30 -0
  5. package/dist/NiceButton-CDiS45Ya.cjs +1 -0
  6. package/dist/NiceButton-D9l39Rs7.js +595 -0
  7. package/dist/NiceCodeTemplate.doc-BWxTE4C_.cjs +6 -0
  8. package/dist/NiceCodeTemplate.doc-CA2U5F-v.js +30 -0
  9. package/dist/NiceDataBranchGraph.doc-CkitupWc.js +29 -0
  10. package/dist/NiceDataBranchGraph.doc-DDUgipqH.cjs +5 -0
  11. package/dist/NiceDataBranchManager.doc-B0ODKOs4.js +30 -0
  12. package/dist/NiceDataBranchManager.doc-CC5o8ihs.cjs +6 -0
  13. package/dist/NiceDataConflictResolver.doc-CdzScNie.cjs +5 -0
  14. package/dist/NiceDataConflictResolver.doc-V8vxYAeo.js +29 -0
  15. package/dist/NiceDataDiffViewer.doc-CR14Bq3A.cjs +6 -0
  16. package/dist/NiceDataDiffViewer.doc-w2I2QjhX.js +30 -0
  17. package/dist/NiceDataMapper.doc-C7jSyHRM.js +30 -0
  18. package/dist/NiceDataMapper.doc-DXjQHz87.cjs +6 -0
  19. package/dist/NiceDataMergeBuilder.doc-CV32WC_w.cjs +6 -0
  20. package/dist/NiceDataMergeBuilder.doc-DtuYb3nx.js +30 -0
  21. package/dist/NiceDataSnapshot.doc-CFLkY3ry.js +30 -0
  22. package/dist/NiceDataSnapshot.doc-CpZyQ17u.cjs +6 -0
  23. package/dist/NiceErrorBoundary-B5nF-OVn.cjs +1 -0
  24. package/dist/NiceErrorBoundary-BAeqfoSc.cjs +1 -0
  25. package/dist/NiceErrorBoundary-D75yr_WE.js +762 -0
  26. package/dist/NiceErrorBoundary-niMx1aSJ.js +837 -0
  27. package/dist/NiceEventOrchestrator.doc-C4SJfIDV.js +30 -0
  28. package/dist/NiceEventOrchestrator.doc-CxjsLxBG.cjs +6 -0
  29. package/dist/NiceForm-CKoJA6NG.js +5131 -0
  30. package/dist/NiceForm-D7xnpnRJ.cjs +382 -0
  31. package/dist/NiceForm.css +1 -0
  32. package/dist/NiceGitBlame.doc-BG3_K9_0.cjs +6 -0
  33. package/dist/NiceGitBlame.doc-DrJABEat.js +30 -0
  34. package/dist/NiceGitConflictResolver.doc-BK7hAfz6.js +30 -0
  35. package/dist/NiceGitConflictResolver.doc-CgroGM9_.cjs +6 -0
  36. package/dist/NiceGitDiffViewer.doc-BAwgcY_3.cjs +6 -0
  37. package/dist/NiceGitDiffViewer.doc-BXKJeP-E.js +30 -0
  38. package/dist/NiceGitGraph.doc-B-WtGuzn.cjs +5 -0
  39. package/dist/NiceGitGraph.doc-DxnDPCgC.js +29 -0
  40. package/dist/NiceGitHooks.doc-BrEizvMp.js +29 -0
  41. package/dist/NiceGitHooks.doc-C4EdV5zj.cjs +5 -0
  42. package/dist/NiceMergeRequestBuilder.doc-C5p8mYuh.cjs +6 -0
  43. package/dist/NiceMergeRequestBuilder.doc-Ct9RCmU8.js +30 -0
  44. package/dist/NiceModal-1QX7NhyH.js +95 -0
  45. package/dist/NiceModal-CAwsKVQ2.cjs +1 -0
  46. package/dist/NiceModuleLifecyclePanel-Brg1RLwi.cjs +1 -0
  47. package/dist/NiceModuleLifecyclePanel-C9xMSjOF.cjs +1 -0
  48. package/dist/NiceModuleLifecyclePanel-CMrPbSw9.js +5249 -0
  49. package/dist/NiceModuleLifecyclePanel-I_TXRiiY.js +5053 -0
  50. package/dist/NiceModuleLifecyclePanel.css +1 -0
  51. package/dist/NicePagination-DbE-uOkl.js +171 -0
  52. package/dist/NicePagination-DlealakT.cjs +1 -0
  53. package/dist/NicePinCodeInput-B8cI8zu8.js +11830 -0
  54. package/dist/NicePinCodeInput-CrMfdxxc.js +15287 -0
  55. package/dist/NicePinCodeInput-D0aF9MK8.cjs +692 -0
  56. package/dist/NicePinCodeInput-SGQaHvpE.cjs +419 -0
  57. package/dist/NicePinCodeInput.css +1 -1
  58. package/dist/NicePipelineEditor.doc-0eGt8zbX.cjs +5 -0
  59. package/dist/NicePipelineEditor.doc-DTmaOebn.js +29 -0
  60. package/dist/NicePipelineMonitor.doc-67CmsRcf.cjs +5 -0
  61. package/dist/NicePipelineMonitor.doc-mSMdhuG8.js +29 -0
  62. package/dist/NiceSavedQueryPanel-BZNvqSQW.cjs +596 -0
  63. package/dist/NiceSavedQueryPanel-CUAsdOjJ.js +6190 -0
  64. package/dist/NiceSavedQueryPanel-CZ5bYOe_.js +6449 -0
  65. package/dist/NiceSavedQueryPanel-Ce2s060j.cjs +596 -0
  66. package/dist/NiceStateDesigner.doc-B36u0hNU.js +29 -0
  67. package/dist/NiceStateDesigner.doc-MPmvNHSx.cjs +5 -0
  68. package/dist/NiceTabs-DvOmxKyQ.cjs +1 -0
  69. package/dist/NiceTabs-DzLHzwuA.js +1636 -0
  70. package/dist/NiceTestBuilder.doc-BFInj8GJ.js +30 -0
  71. package/dist/NiceTestBuilder.doc-CB03U_uR.cjs +6 -0
  72. package/dist/NiceToggle-CaY1u82g.js +277 -0
  73. package/dist/NiceToggle-DFJFQv_Z.cjs +1 -0
  74. package/dist/NiceWindow-CVgkxcCz.cjs +1 -0
  75. package/dist/NiceWindow-DeC83yfE.js +1409 -0
  76. package/dist/NiceWindow-IdHAcP70.cjs +1 -0
  77. package/dist/NiceWindow-SiCaREbq.js +1408 -0
  78. package/dist/charts-BAS21jkC.js +4621 -0
  79. package/dist/charts-Bx_kNBsE.js +4280 -0
  80. package/dist/charts-DECVsCHX.cjs +754 -0
  81. package/dist/charts-DShUbWrP.cjs +759 -0
  82. package/dist/charts.cjs +1 -1
  83. package/dist/charts.css +1 -0
  84. package/dist/charts.d.ts +45 -48
  85. package/dist/charts.mjs +1 -1
  86. package/dist/core-BZBTsGWN.cjs +96 -0
  87. package/dist/core-BpghV7Ls.js +17555 -0
  88. package/dist/core-C2ZmWe_u.cjs +96 -0
  89. package/dist/core-Da43q-pO.js +22094 -0
  90. package/dist/data-branching-CJlrg8qf.cjs +1 -0
  91. package/dist/data-branching-DCUwI53s.js +6121 -0
  92. package/dist/data-branching-De4ExX-S.cjs +1 -0
  93. package/dist/data-branching-DiRfob1f.js +6071 -0
  94. package/dist/data-branching.cjs +1 -0
  95. package/dist/data-branching.d.ts +364 -0
  96. package/dist/data-branching.mjs +9 -0
  97. package/dist/data.cjs +1 -1
  98. package/dist/data.d.ts +206 -192
  99. package/dist/data.mjs +1 -1
  100. package/dist/devops-BnYinjkT.cjs +17 -0
  101. package/dist/devops-CXynFG3X.cjs +17 -0
  102. package/dist/devops-Ckh57eti.js +7198 -0
  103. package/dist/devops-D0TfzV5B.js +7660 -0
  104. package/dist/devops.cjs +1 -0
  105. package/dist/devops.d.ts +721 -0
  106. package/dist/devops.mjs +12 -0
  107. package/dist/editors.cjs +1 -1
  108. package/dist/editors.d.ts +311 -393
  109. package/dist/editors.mjs +61 -64
  110. package/dist/feedback.cjs +1 -1
  111. package/dist/feedback.d.ts +3 -44
  112. package/dist/feedback.mjs +11 -10
  113. package/dist/index-B8wxZ8Ps.cjs +5192 -0
  114. package/dist/index-CBIZ6mTQ.cjs +5734 -0
  115. package/dist/index-CIl98Vbm.js +72951 -0
  116. package/dist/index-pAuGTbuB.js +57319 -0
  117. package/dist/index.cjs +1 -1
  118. package/dist/index.css +1 -1
  119. package/dist/index.d.ts +4673 -10015
  120. package/dist/index.mjs +880 -969
  121. package/dist/lazy.cjs +1 -0
  122. package/dist/lazy.d.ts +1848 -0
  123. package/dist/lazy.mjs +98 -0
  124. package/dist/navigation.cjs +1 -1
  125. package/dist/navigation.d.ts +151 -216
  126. package/dist/navigation.mjs +111 -48
  127. package/dist/no-code-B5bzduNP.cjs +332 -0
  128. package/dist/no-code-BCuadkm4.cjs +332 -0
  129. package/dist/no-code-D8RJ7lx0.js +7064 -0
  130. package/dist/no-code-TL7PyulA.js +7005 -0
  131. package/dist/no-code.cjs +1 -0
  132. package/dist/no-code.d.ts +833 -0
  133. package/dist/no-code.mjs +13 -0
  134. package/dist/overlays.cjs +1 -1
  135. package/dist/overlays.d.ts +13 -45
  136. package/dist/overlays.mjs +490 -24
  137. package/package.json +24 -2
@@ -0,0 +1,30 @@
1
+ const e = "https://nice2dev.com/schemas/component-doc-v1.json", t = "NiceTestBuilder", s = "Visual test case builder with assertions, mocks, and test scenario management.", i = "no-code", n = "1.0.7", o = "stable", c = [{ name: "testSuite", type: "TestSuite", required: !0, description: "Test suite configuration" }, { name: "onChange", type: "(suite: TestSuite) => void", description: "Suite change callback" }, { name: "onRun", type: "(tests: TestCase[]) => Promise<TestResult[]>", description: "Run tests callback" }, { name: "mockProviders", type: "MockProvider[]", description: "Available mock providers" }], a = [{ title: "Test Builder", description: "Build test cases visually", code: `<NiceTestBuilder
2
+ testSuite={currentSuite}
3
+ onChange={handleSuiteChange}
4
+ onRun={handleRunTests}
5
+ mockProviders={mocks}
6
+ />` }], r = { role: "application", ariaLabel: "Visual test builder" }, u = ["NiceTestRunner", "NiceAPIFlow"], l = {
7
+ $schema: e,
8
+ name: t,
9
+ description: s,
10
+ category: i,
11
+ since: n,
12
+ status: o,
13
+ props: c,
14
+ examples: a,
15
+ accessibility: r,
16
+ seeAlso: u
17
+ };
18
+ export {
19
+ e as $schema,
20
+ r as accessibility,
21
+ i as category,
22
+ l as default,
23
+ s as description,
24
+ a as examples,
25
+ t as name,
26
+ c as props,
27
+ u as seeAlso,
28
+ n as since,
29
+ o as status
30
+ };
@@ -0,0 +1,6 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="https://nice2dev.com/schemas/component-doc-v1.json",s="NiceTestBuilder",t="Visual test case builder with assertions, mocks, and test scenario management.",i="no-code",n="1.0.7",c="stable",o=[{name:"testSuite",type:"TestSuite",required:!0,description:"Test suite configuration"},{name:"onChange",type:"(suite: TestSuite) => void",description:"Suite change callback"},{name:"onRun",type:"(tests: TestCase[]) => Promise<TestResult[]>",description:"Run tests callback"},{name:"mockProviders",type:"MockProvider[]",description:"Available mock providers"}],a=[{title:"Test Builder",description:"Build test cases visually",code:`<NiceTestBuilder
2
+ testSuite={currentSuite}
3
+ onChange={handleSuiteChange}
4
+ onRun={handleRunTests}
5
+ mockProviders={mocks}
6
+ />`}],r={role:"application",ariaLabel:"Visual test builder"},l=["NiceTestRunner","NiceAPIFlow"],u={$schema:e,name:s,description:t,category:i,since:n,status:c,props:o,examples:a,accessibility:r,seeAlso:l};exports.$schema=e;exports.accessibility=r;exports.category=i;exports.default=u;exports.description=t;exports.examples=a;exports.name=s;exports.props=o;exports.seeAlso=l;exports.since=n;exports.status=c;
@@ -0,0 +1,277 @@
1
+ import { jsxs as v, jsx as e } from "react/jsx-runtime";
2
+ import ne, { forwardRef as j, useCallback as D, useMemo as R } from "react";
3
+ import { f as S, g as A, b as H, h as E, i as K, j as ce, C as te, N as L } from "./core-BpghV7Ls.js";
4
+ const ie = j(
5
+ ({
6
+ label: r,
7
+ helperText: p,
8
+ error: i,
9
+ required: N,
10
+ disabled: c,
11
+ readOnly: o,
12
+ size: _ = "md",
13
+ name: f,
14
+ id: b,
15
+ className: C,
16
+ style: d,
17
+ accessMode: x,
18
+ displayStyle: k,
19
+ value: s,
20
+ onChange: n,
21
+ onBlur: u,
22
+ onKeyDown: g,
23
+ placeholder: y,
24
+ min: m,
25
+ max: h,
26
+ step: t = 1,
27
+ precision: M,
28
+ prefix: O,
29
+ suffix: U,
30
+ showStepper: F = !0,
31
+ submitOnEnter: T,
32
+ onSubmit: G,
33
+ showKeyboardHints: J
34
+ }, P) => {
35
+ const w = S(x, b);
36
+ if (w === "hidden")
37
+ return null;
38
+ w === "disabled" && (c = !0), w === "readOnly" && (o = !0);
39
+ const { t: I } = A(), q = H(b), Q = E("input", k), V = K("input", k), $ = D(
40
+ (l) => {
41
+ let a = l;
42
+ return m !== void 0 && (a = Math.max(m, a)), h !== void 0 && (a = Math.min(h, a)), M !== void 0 && (a = parseFloat(a.toFixed(M))), a;
43
+ },
44
+ [m, h, M]
45
+ ), X = D(
46
+ (l) => {
47
+ const a = l.target.value;
48
+ if (a === "") {
49
+ n?.(null);
50
+ return;
51
+ }
52
+ const W = parseFloat(a);
53
+ isNaN(W) || n?.($(W));
54
+ },
55
+ [n, $]
56
+ ), Y = D(() => {
57
+ n?.($((s ?? 0) + t));
58
+ }, [s, t, n, $]), Z = D(() => {
59
+ n?.($((s ?? 0) - t));
60
+ }, [s, t, n, $]), z = ce({
61
+ enabled: T,
62
+ onSubmit: G
63
+ }), ee = D(
64
+ (l) => {
65
+ z(l), g?.(l);
66
+ },
67
+ [z, g]
68
+ ), B = R(() => {
69
+ const l = [];
70
+ return T && l.push(te.submit), F && (l.push({ key: "ArrowUp", description: I("shortcuts.increment", "Increase value") }), l.push({ key: "ArrowDown", description: I("shortcuts.decrement", "Decrease value") })), l;
71
+ }, [T, F, I]);
72
+ return /* @__PURE__ */ v("div", { className: `nice-field ${C || ""}`, style: d, children: [
73
+ r && /* @__PURE__ */ v(
74
+ "label",
75
+ {
76
+ htmlFor: q,
77
+ className: `nice-field__label ${N ? "nice-field__label--required" : ""}`,
78
+ children: [
79
+ r,
80
+ J && B.length > 0 && /* @__PURE__ */ e(L, { shortcuts: B, size: "sm" })
81
+ ]
82
+ }
83
+ ),
84
+ /* @__PURE__ */ v(
85
+ "div",
86
+ {
87
+ className: `nice-input nice-input--${_} nice-input--ds-${V} ${i ? "nice-input--error" : ""} ${c ? "nice-input--disabled" : ""} ${o ? "nice-input--readonly" : ""}`,
88
+ style: Q,
89
+ children: [
90
+ O && /* @__PURE__ */ e("span", { className: "nice-input__icon", children: O }),
91
+ F && !o && /* @__PURE__ */ e(
92
+ "button",
93
+ {
94
+ type: "button",
95
+ className: "nice-input__clear",
96
+ onClick: Z,
97
+ disabled: c,
98
+ "aria-label": I("controls.decrement", "Decrement"),
99
+ children: "−"
100
+ }
101
+ ),
102
+ /* @__PURE__ */ e(
103
+ "input",
104
+ {
105
+ ref: P,
106
+ id: q,
107
+ className: "nice-input__native",
108
+ type: "number",
109
+ name: f,
110
+ value: s ?? "",
111
+ placeholder: y,
112
+ min: m,
113
+ max: h,
114
+ step: t,
115
+ disabled: c,
116
+ readOnly: o,
117
+ "aria-invalid": !!i,
118
+ onChange: X,
119
+ onBlur: u,
120
+ onKeyDown: ee
121
+ }
122
+ ),
123
+ F && !o && /* @__PURE__ */ e(
124
+ "button",
125
+ {
126
+ type: "button",
127
+ className: "nice-input__clear",
128
+ onClick: Y,
129
+ disabled: c,
130
+ "aria-label": I("controls.increment", "Increment"),
131
+ children: "+"
132
+ }
133
+ ),
134
+ U && /* @__PURE__ */ e("span", { className: "nice-input__icon", children: U })
135
+ ]
136
+ }
137
+ ),
138
+ i && /* @__PURE__ */ e("div", { className: "nice-field__error", role: "alert", children: i }),
139
+ !i && p && /* @__PURE__ */ e("div", { className: "nice-field__helper", children: p })
140
+ ] });
141
+ }
142
+ );
143
+ ie.displayName = "NiceNumberInput";
144
+ const se = j(
145
+ ({
146
+ label: r,
147
+ checked: p = !1,
148
+ indeterminate: i = !1,
149
+ onChange: N,
150
+ disabled: c,
151
+ size: o = "md",
152
+ name: _,
153
+ id: f,
154
+ className: b,
155
+ style: C,
156
+ error: d,
157
+ accessMode: x,
158
+ displayStyle: k,
159
+ showKeyboardHints: s
160
+ }, n) => {
161
+ const u = S(x, f);
162
+ if (u === "hidden")
163
+ return null;
164
+ (u === "disabled" || u === "readOnly") && (c = !0);
165
+ const { t: g } = A(), y = H(f);
166
+ K("toggle", k);
167
+ const m = R(
168
+ () => [{ key: "Space", description: g("shortcuts.toggle", "Toggle") }],
169
+ [g]
170
+ ), h = ne.useCallback(
171
+ (t) => {
172
+ t && (t.indeterminate = i), typeof n == "function" ? n(t) : n && (n.current = t);
173
+ },
174
+ [i, n]
175
+ );
176
+ return /* @__PURE__ */ v("div", { className: b, style: C, children: [
177
+ /* @__PURE__ */ v(
178
+ "label",
179
+ {
180
+ className: `nice-checkbox ${o !== "md" ? `nice-checkbox--${o}` : ""} ${c ? "nice-checkbox--disabled" : ""}`,
181
+ htmlFor: y,
182
+ children: [
183
+ /* @__PURE__ */ e(
184
+ "input",
185
+ {
186
+ ref: h,
187
+ id: y,
188
+ type: "checkbox",
189
+ className: "nice-checkbox__input",
190
+ name: _,
191
+ checked: p,
192
+ disabled: c,
193
+ "aria-invalid": !!d,
194
+ onChange: (t) => N?.(t.target.checked)
195
+ }
196
+ ),
197
+ /* @__PURE__ */ e("span", { className: "nice-checkbox__box", children: /* @__PURE__ */ e(
198
+ "svg",
199
+ {
200
+ viewBox: "0 0 12 12",
201
+ fill: "none",
202
+ stroke: "currentColor",
203
+ strokeWidth: "2",
204
+ strokeLinecap: "round",
205
+ strokeLinejoin: "round",
206
+ children: i ? /* @__PURE__ */ e("line", { x1: "2", y1: "6", x2: "10", y2: "6" }) : /* @__PURE__ */ e("polyline", { points: "2 6 5 9 10 3" })
207
+ }
208
+ ) }),
209
+ r && /* @__PURE__ */ e("span", { children: r }),
210
+ s && /* @__PURE__ */ e(L, { shortcuts: m, size: "sm" })
211
+ ]
212
+ }
213
+ ),
214
+ d && /* @__PURE__ */ e("div", { className: "nice-field__error", role: "alert", children: d })
215
+ ] });
216
+ }
217
+ );
218
+ se.displayName = "NiceCheckbox";
219
+ const le = j(
220
+ ({
221
+ label: r,
222
+ checked: p = !1,
223
+ onChange: i,
224
+ disabled: N,
225
+ size: c = "md",
226
+ name: o,
227
+ id: _,
228
+ className: f,
229
+ style: b,
230
+ accessMode: C,
231
+ displayStyle: d,
232
+ showKeyboardHints: x
233
+ }, k) => {
234
+ const s = S(C, _);
235
+ if (s === "hidden")
236
+ return null;
237
+ (s === "disabled" || s === "readOnly") && (N = !0);
238
+ const { t: n } = A(), u = H(_), g = E("toggle", d), y = K("toggle", d), m = R(
239
+ () => [{ key: "Space", description: n("shortcuts.toggle", "Toggle on/off") }],
240
+ [n]
241
+ );
242
+ return /* @__PURE__ */ v(
243
+ "label",
244
+ {
245
+ className: `nice-toggle nice-toggle--ds-${y} ${c !== "md" ? `nice-toggle--${c}` : ""} ${N ? "nice-toggle--disabled" : ""} ${f || ""}`,
246
+ htmlFor: u,
247
+ style: { ...g, ...b },
248
+ children: [
249
+ /* @__PURE__ */ e(
250
+ "input",
251
+ {
252
+ ref: k,
253
+ id: u,
254
+ type: "checkbox",
255
+ className: "nice-toggle__input",
256
+ name: o,
257
+ checked: p,
258
+ disabled: N,
259
+ role: "switch",
260
+ "aria-checked": p,
261
+ onChange: (h) => i?.(h.target.checked)
262
+ }
263
+ ),
264
+ /* @__PURE__ */ e("span", { className: "nice-toggle__track", children: /* @__PURE__ */ e("span", { className: "nice-toggle__thumb" }) }),
265
+ r && /* @__PURE__ */ e("span", { children: r }),
266
+ x && /* @__PURE__ */ e(L, { shortcuts: m, size: "sm" })
267
+ ]
268
+ }
269
+ );
270
+ }
271
+ );
272
+ le.displayName = "NiceToggle";
273
+ export {
274
+ se as N,
275
+ ie as a,
276
+ le as b
277
+ };
@@ -0,0 +1 @@
1
+ "use strict";const e=require("react/jsx-runtime"),i=require("react"),s=require("./core-BZBTsGWN.cjs"),K=i.forwardRef(({label:d,helperText:x,error:l,required:g,disabled:n,readOnly:r,size:b="md",name:f,id:j,className:$,style:m,accessMode:v,displayStyle:k,value:o,onChange:c,onBlur:h,onKeyDown:_,placeholder:y,min:p,max:N,step:t=1,precision:D,prefix:R,suffix:F,showStepper:M=!0,submitOnEnter:T,onSubmit:U,showKeyboardHints:z},B)=>{const w=s.useNiceAccessMode(v,j);if(w==="hidden")return null;w==="disabled"&&(n=!0),w==="readOnly"&&(r=!0);const{t:I}=s.useNiceTranslation(),A=s.useControlId(j),W=s.useComponentDisplayStyle("input",k),E=s.useComponentDisplayClass("input",k),C=i.useCallback(a=>{let u=a;return p!==void 0&&(u=Math.max(p,u)),N!==void 0&&(u=Math.min(N,u)),D!==void 0&&(u=parseFloat(u.toFixed(D))),u},[p,N,D]),G=i.useCallback(a=>{const u=a.target.value;if(u===""){c?.(null);return}const H=parseFloat(u);isNaN(H)||c?.(C(H))},[c,C]),J=i.useCallback(()=>{c?.(C((o??0)+t))},[o,t,c,C]),P=i.useCallback(()=>{c?.(C((o??0)-t))},[o,t,c,C]),S=s.useSubmitOnEnter({enabled:T,onSubmit:U}),Q=i.useCallback(a=>{S(a),_?.(a)},[S,_]),q=i.useMemo(()=>{const a=[];return T&&a.push(s.COMMON_SHORTCUTS.submit),M&&(a.push({key:"ArrowUp",description:I("shortcuts.increment","Increase value")}),a.push({key:"ArrowDown",description:I("shortcuts.decrement","Decrease value")})),a},[T,M,I]);return e.jsxs("div",{className:`nice-field ${$||""}`,style:m,children:[d&&e.jsxs("label",{htmlFor:A,className:`nice-field__label ${g?"nice-field__label--required":""}`,children:[d,z&&q.length>0&&e.jsx(s.NiceKeyboardHint,{shortcuts:q,size:"sm"})]}),e.jsxs("div",{className:`nice-input nice-input--${b} nice-input--ds-${E} ${l?"nice-input--error":""} ${n?"nice-input--disabled":""} ${r?"nice-input--readonly":""}`,style:W,children:[R&&e.jsx("span",{className:"nice-input__icon",children:R}),M&&!r&&e.jsx("button",{type:"button",className:"nice-input__clear",onClick:P,disabled:n,"aria-label":I("controls.decrement","Decrement"),children:"−"}),e.jsx("input",{ref:B,id:A,className:"nice-input__native",type:"number",name:f,value:o??"",placeholder:y,min:p,max:N,step:t,disabled:n,readOnly:r,"aria-invalid":!!l,onChange:G,onBlur:h,onKeyDown:Q}),M&&!r&&e.jsx("button",{type:"button",className:"nice-input__clear",onClick:J,disabled:n,"aria-label":I("controls.increment","Increment"),children:"+"}),F&&e.jsx("span",{className:"nice-input__icon",children:F})]}),l&&e.jsx("div",{className:"nice-field__error",role:"alert",children:l}),!l&&x&&e.jsx("div",{className:"nice-field__helper",children:x})]})});K.displayName="NiceNumberInput";const L=i.forwardRef(({label:d,checked:x=!1,indeterminate:l=!1,onChange:g,disabled:n,size:r="md",name:b,id:f,className:j,style:$,error:m,accessMode:v,displayStyle:k,showKeyboardHints:o},c)=>{const h=s.useNiceAccessMode(v,f);if(h==="hidden")return null;(h==="disabled"||h==="readOnly")&&(n=!0);const{t:_}=s.useNiceTranslation(),y=s.useControlId(f);s.useComponentDisplayClass("toggle",k);const p=i.useMemo(()=>[{key:"Space",description:_("shortcuts.toggle","Toggle")}],[_]),N=i.useCallback(t=>{t&&(t.indeterminate=l),typeof c=="function"?c(t):c&&(c.current=t)},[l,c]);return e.jsxs("div",{className:j,style:$,children:[e.jsxs("label",{className:`nice-checkbox ${r!=="md"?`nice-checkbox--${r}`:""} ${n?"nice-checkbox--disabled":""}`,htmlFor:y,children:[e.jsx("input",{ref:N,id:y,type:"checkbox",className:"nice-checkbox__input",name:b,checked:x,disabled:n,"aria-invalid":!!m,onChange:t=>g?.(t.target.checked)}),e.jsx("span",{className:"nice-checkbox__box",children:e.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:l?e.jsx("line",{x1:"2",y1:"6",x2:"10",y2:"6"}):e.jsx("polyline",{points:"2 6 5 9 10 3"})})}),d&&e.jsx("span",{children:d}),o&&e.jsx(s.NiceKeyboardHint,{shortcuts:p,size:"sm"})]}),m&&e.jsx("div",{className:"nice-field__error",role:"alert",children:m})]})});L.displayName="NiceCheckbox";const O=i.forwardRef(({label:d,checked:x=!1,onChange:l,disabled:g,size:n="md",name:r,id:b,className:f,style:j,accessMode:$,displayStyle:m,showKeyboardHints:v},k)=>{const o=s.useNiceAccessMode($,b);if(o==="hidden")return null;(o==="disabled"||o==="readOnly")&&(g=!0);const{t:c}=s.useNiceTranslation(),h=s.useControlId(b),_=s.useComponentDisplayStyle("toggle",m),y=s.useComponentDisplayClass("toggle",m),p=i.useMemo(()=>[{key:"Space",description:c("shortcuts.toggle","Toggle on/off")}],[c]);return e.jsxs("label",{className:`nice-toggle nice-toggle--ds-${y} ${n!=="md"?`nice-toggle--${n}`:""} ${g?"nice-toggle--disabled":""} ${f||""}`,htmlFor:h,style:{..._,...j},children:[e.jsx("input",{ref:k,id:h,type:"checkbox",className:"nice-toggle__input",name:r,checked:x,disabled:g,role:"switch","aria-checked":x,onChange:N=>l?.(N.target.checked)}),e.jsx("span",{className:"nice-toggle__track",children:e.jsx("span",{className:"nice-toggle__thumb"})}),d&&e.jsx("span",{children:d}),v&&e.jsx(s.NiceKeyboardHint,{shortcuts:p,size:"sm"})]})});O.displayName="NiceToggle";exports.NiceCheckbox=L;exports.NiceNumberInput=K;exports.NiceToggle=O;
@@ -0,0 +1 @@
1
+ "use strict";const e=require("react/jsx-runtime"),F=require("./core-C2ZmWe_u.cjs"),n=require("react"),ut=({visible:t,onClose:i,title:o,items:r,showCancelButton:m=!0,cancelText:u,className:f,style:g})=>{const{t:p}=F.Wo();return t?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"nice-actionsheet__overlay",onClick:i}),e.jsxs("div",{className:`nice-actionsheet ${f||""}`,style:g,children:[o&&e.jsx("div",{className:"nice-actionsheet__title",children:o}),e.jsx("div",{className:"nice-actionsheet__items",children:r.map((k,l)=>e.jsxs("button",{className:`nice-actionsheet__item ${k.type==="danger"?"nice-actionsheet__item--danger":""}`,disabled:k.disabled,onClick:()=>{k.onClick?.(),i()},children:[k.icon&&e.jsx("span",{className:"nice-actionsheet__icon",children:k.icon}),k.text]},l))}),m&&e.jsx("button",{className:"nice-actionsheet__cancel",onClick:i,children:u||p("cancel","Cancel")})]})]}):null},mt=({visible:t,onClose:i,targetRef:o,position:r="bottom",title:m,showArrow:u=!0,width:f,children:g,className:p,style:k,displayStyle:l})=>{F.useComponentDisplayClass("tooltip",l);const v=n.useRef(null),[$,w]=n.useState({top:0,left:0}),R=n.useCallback(()=>{const x=o.current,P=v.current;if(!x||!P)return;const s=x.getBoundingClientRect(),b=P.getBoundingClientRect();let d=0,C=0;const I=8;switch(r){case"top":d=s.top-b.height-I,C=s.left+(s.width-b.width)/2;break;case"bottom":d=s.bottom+I,C=s.left+(s.width-b.width)/2;break;case"left":d=s.top+(s.height-b.height)/2,C=s.left-b.width-I;break;case"right":d=s.top+(s.height-b.height)/2,C=s.right+I;break}w({top:d+window.scrollY,left:C+window.scrollX})},[o,r]);return n.useEffect(()=>{if(t){requestAnimationFrame(R);const x=P=>{v.current&&!v.current.contains(P.target)&&o.current&&!o.current.contains(P.target)&&i()};return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)}},[t,R,i,o]),t?e.jsxs("div",{ref:v,className:`nice-popover nice-popover--${r} ${p||""}`,style:{...k,position:"absolute",top:$.top,left:$.left,width:f},children:[u&&e.jsx("div",{className:`nice-popover__arrow nice-popover__arrow--${r}`}),m&&e.jsx("div",{className:"nice-popover__title",children:m}),e.jsx("div",{className:"nice-popover__content",children:g})]}):null},ht=({visible:t,message:i,container:o,showIndicator:r=!0,shading:m=!0,className:u,style:f})=>{const{t:g}=F.Wo();if(!t)return null;const p=!!o?.current,k=e.jsxs("div",{className:`nice-loadpanel ${u||""}`,style:f,children:[m&&e.jsx("div",{className:"nice-loadpanel__shade"}),e.jsxs("div",{className:"nice-loadpanel__box",children:[r&&e.jsx("div",{className:"nice-spinner nice-spinner--md"}),e.jsx("span",{className:"nice-loadpanel__text",children:i||g("loading","Loading...")})]})]});if(p&&o.current){const l=o.current;return l.style.position=l.style.position||"relative",k}return k},ft=({direction:t="row",align:i,justify:o,wrap:r,gap:m,flex:u,children:f,className:g,style:p})=>e.jsx("div",{className:`nice-box ${g||""}`,style:{display:"flex",flexDirection:t,alignItems:i,justifyContent:o,flexWrap:r?"wrap":void 0,gap:m,flex:u,...p},children:f}),pt=({direction:t="row",items:i,gap:o,className:r,style:m})=>e.jsx("div",{className:`nice-responsivebox ${r||""}`,style:{display:"flex",flexDirection:t,gap:o,...m},children:i.map((u,f)=>e.jsx("div",{style:{flex:u.ratio??1,flexBasis:u.baseSize,flexShrink:u.shrink??1},children:u.children},f))}),wt=({width:t=200,height:i=200,minWidth:o=50,minHeight:r=50,maxWidth:m=1/0,maxHeight:u=1/0,handles:f=["right","bottom","bottomRight"],onResize:g,children:p,className:k,style:l})=>{const[v,$]=n.useState({width:t,height:i}),w=n.useRef(null),R=(s,b)=>{b.preventDefault();const d=b.clientX,C=b.clientY,I=v.width,q=v.height,_=c=>{const y=c.clientX-d,S=c.clientY-C;let E=I,a=q;(s.includes("right")||s==="right")&&(E=I+y),(s.includes("bottom")||s==="bottom")&&(a=q+S),(s.includes("left")||s==="left")&&(E=I-y),(s.includes("top")||s==="top")&&(a=q-S),E=Math.max(o,Math.min(m,E)),a=Math.max(r,Math.min(u,a)),$({width:E,height:a}),g?.({width:E,height:a})},T=()=>{document.removeEventListener("pointermove",_),document.removeEventListener("pointerup",T)};document.addEventListener("pointermove",_),document.addEventListener("pointerup",T)},x=s=>{switch(s){case"top":case"bottom":return"ns-resize";case"left":case"right":return"ew-resize";case"topLeft":case"bottomRight":return"nwse-resize";case"topRight":case"bottomLeft":return"nesw-resize";default:return"default"}},P=s=>{const b={position:"absolute",zIndex:1},d=8;return s==="right"?{...b,top:0,right:-d/2,width:d,height:"100%",cursor:x(s)}:s==="bottom"?{...b,left:0,bottom:-d/2,width:"100%",height:d,cursor:x(s)}:s==="left"?{...b,top:0,left:-d/2,width:d,height:"100%",cursor:x(s)}:s==="top"?{...b,top:-d/2,left:0,width:"100%",height:d,cursor:x(s)}:s==="bottomRight"?{...b,bottom:-d/2,right:-d/2,width:d*2,height:d*2,cursor:x(s)}:s==="bottomLeft"?{...b,bottom:-d/2,left:-d/2,width:d*2,height:d*2,cursor:x(s)}:s==="topRight"?{...b,top:-d/2,right:-d/2,width:d*2,height:d*2,cursor:x(s)}:s==="topLeft"?{...b,top:-d/2,left:-d/2,width:d*2,height:d*2,cursor:x(s)}:b};return e.jsxs("div",{ref:w,className:`nice-resizable ${k||""}`,style:{...l,width:v.width,height:v.height,position:"relative",overflow:"hidden"},children:[p,f.map(s=>e.jsx("div",{style:P(s),onPointerDown:b=>R(s,b)},s))]})},xt=({direction:t="vertical",showScrollbar:i="onInteraction",width:o,height:r,onScroll:m,children:u,className:f,style:g})=>{const p=t==="horizontal"||t==="both"?"auto":"hidden",k=t==="vertical"||t==="both"?"auto":"hidden",l=i==="never"?"nice-scrollview--hide-sb":i==="always"?"nice-scrollview--show-sb":"";return e.jsx("div",{className:`nice-scrollview ${l} ${f||""}`,style:{...g,width:o,height:r,overflowX:p,overflowY:k},onScroll:m,children:u})};function pe(t,i){if(!t)return{score:1,indices:[]};const o=t.toLowerCase(),r=i.toLowerCase();let m=0;const u=[];let f=0,g=-1;for(let p=0;p<r.length&&m<o.length;p++)r[p]===o[m]&&(u.push(p),g===p-1&&(f+=3),(p===0||/[\s\-_/.]/.test(i[p-1]))&&(f+=5),i[p]===t[m]&&(f+=1),f+=1,g=p,m++);return m<o.length?null:(f-=u[0]*.1,{score:f,indices:u})}function Ee(t,i){if(i.length===0)return[t];const o=[];let r=0;const m=new Set(i);for(let u=0;u<t.length;u++)m.has(u)&&(r<u&&o.push(t.slice(r,u)),o.push(n.createElement("mark",{key:`m-${u}`,className:"nice-command-palette__match"},t[u])),r=u+1);return r<t.length&&o.push(t.slice(r)),o}function _t(t,i){switch(i.type){case"REGISTER":{const o=new Map(t.commands);return o.set(i.command.id,i.command),{...t,commands:o}}case"REGISTER_BATCH":{const o=new Map(t.commands);for(const r of i.commands)o.set(r.id,r);return{...t,commands:o}}case"UNREGISTER":{const o=new Map(t.commands);return o.delete(i.id),{...t,commands:o}}case"OPEN":return{...t,isOpen:!0,query:"",selectedIndex:0};case"CLOSE":return{...t,isOpen:!1,query:"",selectedIndex:0};case"SET_QUERY":return{...t,query:i.query,selectedIndex:0};case"SET_SELECTED":return{...t,selectedIndex:i.index};case"ADD_RECENT":{const o=t.recentIds.filter(r=>r!==i.id);return{...t,recentIds:[i.id,...o].slice(0,i.maxRecent)}}default:return t}}const ze=n.createContext(null);function Se(){const t=n.useContext(ze);if(!t)throw new Error("useCommandPalette must be used within NiceCommandPaletteProvider");return t}const Me=({children:t,commands:i,placeholder:o="Type a command...",maxVisible:r=10,maxRecent:m=5,className:u,emptyText:f="No commands found",closeOnAction:g=!0,onOpen:p,onClose:k})=>{const[l,v]=n.useReducer(_t,{commands:new Map(i?.map(a=>[a.id,a])??[]),isOpen:!1,query:"",selectedIndex:0,recentIds:[]}),$=n.useRef(null),w=n.useRef(null),[R,x]=n.useState(!1),P=n.useCallback(a=>{v({type:"REGISTER",command:a})},[]),s=n.useCallback(a=>{v({type:"UNREGISTER",id:a})},[]),b=n.useCallback(a=>{v({type:"REGISTER_BATCH",commands:a})},[]),d=n.useCallback(()=>{v({type:"OPEN"}),p?.()},[p]),C=n.useCallback(()=>{v({type:"CLOSE"}),k?.()},[k]),I=n.useCallback(()=>{l.isOpen?C():d()},[l.isOpen,C,d]),_=n.useMemo(()=>{const a=Array.from(l.commands.values()).filter(h=>!h.hidden);if(!l.query.trim()){const h=l.recentIds.map(M=>l.commands.get(M)).filter(M=>!!M&&!M.hidden),D=a.filter(M=>!l.recentIds.includes(M.id));return D.sort((M,K)=>M.label.localeCompare(K.label)),[...h,...D].map(M=>({command:M,match:null,isRecent:l.recentIds.includes(M.id)}))}return a.map(h=>{const D=pe(l.query,h.label),M=h.description?pe(l.query,h.description):null,K=h.keywords?.map(z=>pe(l.query,z)).filter(Boolean)[0]??null,ce=[D,M,K].filter(Boolean).sort((z,Y)=>(Y?.score??0)-(z?.score??0))[0];return{command:h,match:ce,isRecent:!1}}).filter(h=>h.match!==null).sort((h,D)=>(D.match?.score??0)-(h.match?.score??0))},[l.commands,l.query,l.recentIds]).slice(0,r),T=n.useCallback(async a=>{const j=l.commands.get(a);if(!(!j||j.disabled)){x(!0);try{await j.action(),v({type:"ADD_RECENT",id:a,maxRecent:m})}finally{x(!1),g&&C()}}},[l.commands,m,g,C]);n.useEffect(()=>{const a=j=>{(j.metaKey||j.ctrlKey)&&j.key==="k"&&(j.preventDefault(),I()),j.key==="Escape"&&l.isOpen&&(j.preventDefault(),C())};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[I,l.isOpen,C]),n.useEffect(()=>{l.isOpen&&requestAnimationFrame(()=>$.current?.focus())},[l.isOpen]);const c=n.useCallback(a=>{const j=_.length;if(j){if(a.key==="ArrowDown")a.preventDefault(),v({type:"SET_SELECTED",index:(l.selectedIndex+1)%j});else if(a.key==="ArrowUp")a.preventDefault(),v({type:"SET_SELECTED",index:(l.selectedIndex-1+j)%j});else if(a.key==="Enter"){a.preventDefault();const h=_[l.selectedIndex];h&&T(h.command.id)}}},[_,l.selectedIndex,T]);n.useEffect(()=>{if(!w.current)return;w.current.children[l.selectedIndex]?.scrollIntoView({block:"nearest"})},[l.selectedIndex]);const y=n.useMemo(()=>({registerCommand:P,unregisterCommand:s,registerCommands:b,open:d,close:C,toggle:I,isOpen:l.isOpen,executeCommand:T}),[P,s,b,d,C,I,l.isOpen,T]),S=n.useMemo(()=>{const a=new Map;for(const j of _){const h=j.command.category??"General";a.has(h)||a.set(h,[]),a.get(h).push(j)}return a},[_]);let E=0;return e.jsxs(ze.Provider,{value:y,children:[t,l.isOpen&&e.jsx("div",{className:`nice-command-palette__overlay ${u??""}`,onClick:C,children:e.jsxs("div",{className:"nice-command-palette",role:"dialog","aria-label":"Command Palette","aria-modal":"true",onClick:a=>a.stopPropagation(),children:[e.jsx("div",{className:"nice-command-palette__input-wrapper",children:e.jsx("input",{ref:$,className:"nice-command-palette__input",type:"text",placeholder:o,value:l.query,onChange:a=>v({type:"SET_QUERY",query:a.target.value}),onKeyDown:c,"aria-label":"Search commands","aria-autocomplete":"list","aria-controls":"nice-command-palette-list","aria-activedescendant":_[l.selectedIndex]?`nice-cmd-${_[l.selectedIndex].command.id}`:void 0})}),e.jsxs("div",{ref:w,id:"nice-command-palette-list",className:"nice-command-palette__list",role:"listbox",children:[_.length===0&&e.jsx("div",{className:"nice-command-palette__empty",children:f}),Array.from(S.entries()).map(([a,j])=>e.jsxs("div",{className:"nice-command-palette__group",children:[e.jsx("div",{className:"nice-command-palette__category",children:a}),j.map(h=>{const D=E++,M=D===l.selectedIndex;return e.jsxs("div",{id:`nice-cmd-${h.command.id}`,className:`nice-command-palette__item ${M?"nice-command-palette__item--selected":""} ${h.command.disabled?"nice-command-palette__item--disabled":""}`,role:"option","aria-selected":M,"aria-disabled":h.command.disabled,onClick:()=>!h.command.disabled&&T(h.command.id),onMouseEnter:()=>v({type:"SET_SELECTED",index:D}),children:[h.command.icon&&e.jsx("span",{className:"nice-command-palette__icon",children:h.command.icon}),e.jsxs("div",{className:"nice-command-palette__label-group",children:[e.jsx("span",{className:"nice-command-palette__label",children:h.match&&l.query?Ee(h.command.label,h.match.indices):h.command.label}),h.command.description&&e.jsx("span",{className:"nice-command-palette__description",children:h.command.description})]}),h.command.shortcut&&e.jsx("kbd",{className:"nice-command-palette__shortcut",children:h.command.shortcut}),h.isRecent&&e.jsx("span",{className:"nice-command-palette__recent-badge",children:"Recent"})]},h.command.id)})]},a))]}),R&&e.jsx("div",{className:"nice-command-palette__executing",children:"Executing..."})]})})]})};Me.displayName="NiceCommandPaletteProvider";function gt(t){const{registerCommands:i,unregisterCommand:o}=Se();n.useEffect(()=>(i(t),()=>{for(const r of t)o(r.id)}),[])}const Re=n.forwardRef(({blocked:t,message:i,children:o,className:r,style:m,id:u},f)=>{const g=F.useControlId(u);return e.jsxs("div",{ref:f,id:g,className:`nice-block-ui ${r||""}`,style:{position:"relative",...m},children:[o,t&&e.jsx("div",{className:"nice-block-ui__overlay","aria-busy":"true",role:"alert",children:i&&e.jsx("div",{className:"nice-block-ui__message",children:i})})]})});Re.displayName="NiceBlockUI";const Ie=n.forwardRef(({windows:t,children:i,onChange:o,onClose:r,onFocus:m,showTaskbar:u=!0,size:f="md",className:g,style:p,id:k,...l},v)=>{const $=F.useControlId(k),{t:w}=F.Wo(),[R,x]=n.useState(null),P=n.useRef(null),s=t??[],b=Math.max(1,...s.map(c=>c.zIndex??1)),d=n.useCallback((c,y)=>{const S=s.map(E=>E.key===c?{...E,...y}:E);o?.(S)},[s,o]),C=n.useCallback(c=>{d(c,{zIndex:b+1}),m?.(c)},[d,b,m]),I=n.useCallback(c=>{r?.(c),o?.(s.filter(y=>y.key!==c))},[s,o,r]),q=n.useCallback(c=>{const y=s.find(S=>S.key===c);y&&d(c,{minimized:!y.minimized,maximized:!1})},[s,d]),_=n.useCallback(c=>{const y=s.find(S=>S.key===c);y&&d(c,{maximized:!y.maximized,minimized:!1})},[s,d]);n.useEffect(()=>{if(!R)return;const c=S=>{const E=s.find(a=>a.key===R.key);if(E)if(R.mode==="move")d(R.key,{x:S.clientX-R.offsetX,y:S.clientY-R.offsetY});else{const j=P.current?.getBoundingClientRect(),h=j?.left??0,D=j?.top??0;d(R.key,{width:Math.max(200,S.clientX-h-E.x),height:Math.max(100,S.clientY-D-E.y)})}},y=()=>x(null);return document.addEventListener("mousemove",c),document.addEventListener("mouseup",y),()=>{document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",y)}},[R,s,d]);const T=n.useCallback((c,y,S)=>{y.preventDefault();const E=s.find(a=>a.key===c);E&&(C(c),x({key:c,offsetX:S==="move"?y.clientX-E.x:0,offsetY:S==="move"?y.clientY-E.y:0,mode:S}))},[s,C]);return e.jsxs("div",{ref:c=>{P.current=c,typeof v=="function"?v(c):v&&(v.current=c)},id:$,className:`nice-wm nice-wm--${f} ${g??""}`,style:{...p,position:"relative",overflow:"hidden"},...l,children:[s.map(c=>{if(c.minimized)return null;const y=c.maximized,S=y?{position:"absolute",top:0,left:0,width:"100%",height:"100%",zIndex:c.zIndex??1}:{position:"absolute",top:c.y,left:c.x,width:c.width,height:c.height,zIndex:c.zIndex??1};return e.jsxs("div",{className:`nice-wm__window ${y?"nice-wm__window--maximized":""}`,style:S,onMouseDown:()=>C(c.key),role:"dialog","aria-label":c.title,children:[e.jsxs("div",{className:"nice-wm__titlebar",onMouseDown:E=>!y&&T(c.key,E,"move"),children:[c.icon&&e.jsx("span",{className:"nice-wm__icon",children:c.icon}),e.jsx("span",{className:"nice-wm__title",children:c.title}),e.jsxs("div",{className:"nice-wm__controls",children:[(c.minimizable??!0)&&e.jsx("button",{type:"button",className:"nice-wm__ctrl-btn nice-wm__ctrl-btn--min",onClick:()=>q(c.key),title:w("wm.minimize","Minimize"),children:"─"}),(c.maximizable??!0)&&e.jsx("button",{type:"button",className:"nice-wm__ctrl-btn nice-wm__ctrl-btn--max",onClick:()=>_(c.key),title:w("wm.maximize","Maximize"),children:y?"❐":"☐"}),(c.closable??!0)&&e.jsx("button",{type:"button",className:"nice-wm__ctrl-btn nice-wm__ctrl-btn--close",onClick:()=>I(c.key),title:w("wm.close","Close"),children:"✕"})]})]}),e.jsx("div",{className:"nice-wm__body",children:c.content}),(c.resizable??!0)&&!y&&e.jsx("div",{className:"nice-wm__resize-handle",onMouseDown:E=>T(c.key,E,"resize")})]},c.key)}),t===void 0&&i,u&&e.jsx("div",{className:"nice-wm__taskbar",role:"toolbar","aria-label":w("wm.taskbar","Taskbar"),children:s.map(c=>e.jsxs("button",{type:"button",className:`nice-wm__taskbar-btn ${c.minimized?"nice-wm__taskbar-btn--minimized":""}`,onClick:()=>{c.minimized&&q(c.key),C(c.key)},children:[c.icon&&e.jsx("span",{className:"nice-wm__taskbar-icon",children:c.icon}),e.jsx("span",{className:"nice-wm__taskbar-label",children:c.title})]},c.key))})]})});Ie.displayName="NiceWindowManager";function bt(t,i){const o=document.querySelector(t);if(!o)return null;const r=o.getBoundingClientRect();return{top:r.top-i+window.scrollY,left:r.left-i+window.scrollX,width:r.width+i*2,height:r.height+i*2}}function vt(t,i,o,r){const u={w:window.innerWidth,h:window.innerHeight+window.scrollY},f={top:{top:t.top-o-12,left:t.left+t.width/2-i/2},bottom:{top:t.top+t.height+12,left:t.left+t.width/2-i/2},left:{top:t.top+t.height/2-o/2,left:t.left-i-12},right:{top:t.top+t.height/2-o/2,left:t.left+t.width+12}};if(r&&r!=="auto")return{...f[r],actualPlacement:r};for(const g of["bottom","top","right","left"]){const p=f[g];if(p.top>=0&&p.left>=0&&p.top+o<=u.h&&p.left+i<=u.w)return{...p,actualPlacement:g}}return{...f.bottom,actualPlacement:"bottom"}}const ye=({steps:t,active:i,onFinish:o,onSkip:r,onStepChange:m,closeOnEscape:u=!0,closeOnOverlayClick:f=!1,showProgress:g=!0,showSkipButton:p=!0,labels:k,animationDuration:l=300,overlayOpacity:v=.6,zIndex:$=1e4})=>{const[w,R]=n.useState(0),[x,P]=n.useState(null),[s,b]=n.useState({w:340,h:200}),[d,C]=n.useState(!0),I=n.useRef(null),q=n.useRef(-1),_=t[w],T=w===t.length-1,c=w===0,y=k?.next??"Next",S=k?.back??"Back",E=k?.finish??"Finish",a=k?.skip??"Skip",j=k?.stepOf??"of";n.useEffect(()=>{if(I.current){const z=I.current.getBoundingClientRect();b({w:z.width,h:z.height})}},[w,i]),n.useEffect(()=>{if(!i||!_)return;const z=()=>{const Y=bt(_.target,_.highlightPadding??8);P(Y)};if(z(),_.scrollIntoView!==!1){document.querySelector(_.target)?.scrollIntoView({behavior:"smooth",block:"center"});const oe=setTimeout(z,350);return()=>clearTimeout(oe)}},[i,_,w]),n.useEffect(()=>{!i||!_||q.current!==w&&(q.current>=0&&q.current<t.length&&t[q.current]?.onLeave?.(),_.onEnter?.(),q.current=w)},[i,_,w,t]),n.useEffect(()=>{if(!i||!_?.advanceOn)return;const z=document.querySelector(_.target);if(!z)return;const Y=()=>h();return z.addEventListener(_.advanceOn.event,Y),()=>z.removeEventListener(_.advanceOn.event,Y)},[i,_,w]),n.useEffect(()=>{if(!i)return;const z=Y=>{Y.key==="Escape"&&u?r?.():Y.key==="ArrowRight"?h():Y.key==="ArrowLeft"&&D()};return document.addEventListener("keydown",z),()=>document.removeEventListener("keydown",z)},[i,w,u]),n.useEffect(()=>{C(!0);const z=setTimeout(()=>C(!1),l);return()=>clearTimeout(z)},[w,l]);const h=n.useCallback(()=>{if(T)_?.onLeave?.(),o?.();else{const z=w+1;R(z),m?.(z)}},[w,T,o,m,_]),D=n.useCallback(()=>{if(!c){const z=w-1;R(z),m?.(z)}},[w,c,m]),M=n.useMemo(()=>x?vt(x,s.w,s.h,_?.placement):{top:window.innerHeight/2,left:window.innerWidth/2,actualPlacement:"bottom"},[x,s,_?.placement]);if(!i||!_)return null;const K=Math.max(document.documentElement.scrollWidth,window.innerWidth),ce=Math.max(document.documentElement.scrollHeight,window.innerHeight);return e.jsxs("div",{className:"nice-tutorial",style:{zIndex:$},"aria-modal":"true",role:"dialog","aria-label":"Tutorial",children:[e.jsxs("svg",{className:"nice-tutorial__overlay",style:{position:"absolute",top:0,left:0,width:K,height:ce,pointerEvents:"auto"},onClick:f?r:void 0,children:[e.jsx("defs",{children:e.jsxs("mask",{id:"nice-tutorial-mask",children:[e.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:"white"}),x&&e.jsx("rect",{x:x.left,y:x.top,width:x.width,height:x.height,rx:"8",fill:"black",className:d?"nice-tutorial__spotlight--entering":""})]})}),e.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`rgba(0,0,0,${v})`,mask:"url(#nice-tutorial-mask)"})]}),x&&e.jsx("div",{className:`nice-tutorial__highlight ${d?"nice-tutorial__highlight--entering":""}`,style:{position:"absolute",top:x.top,left:x.left,width:x.width,height:x.height,transition:`all ${l}ms ease`}}),_.disableInteraction&&x&&e.jsx("div",{className:"nice-tutorial__blocker",style:{position:"absolute",top:x.top,left:x.left,width:x.width,height:x.height}}),e.jsxs("div",{ref:I,className:`nice-tutorial__tooltip nice-tutorial__tooltip--${M.actualPlacement} ${d?"nice-tutorial__tooltip--entering":""}`,style:{position:"absolute",top:M.top,left:M.left,transition:`all ${l}ms ease`,maxWidth:380,zIndex:$+1},children:[_.showArrow!==!1&&e.jsx("div",{className:`nice-tutorial__arrow nice-tutorial__arrow--${M.actualPlacement}`}),e.jsxs("div",{className:"nice-tutorial__header",children:[e.jsx("h4",{className:"nice-tutorial__title",children:_.title}),p&&e.jsx("button",{type:"button",className:"nice-tutorial__close",onClick:r,"aria-label":a,children:"✕"})]}),e.jsx("div",{className:"nice-tutorial__content",dangerouslySetInnerHTML:{__html:F.sanitizeHtml(_.content)}}),e.jsxs("div",{className:"nice-tutorial__footer",children:[g&&e.jsxs("div",{className:"nice-tutorial__progress",children:[t.map((z,Y)=>e.jsx("span",{className:`nice-tutorial__dot ${Y===w?"nice-tutorial__dot--active":""} ${Y<w?"nice-tutorial__dot--done":""}`},Y)),e.jsxs("span",{className:"nice-tutorial__step-label",children:[w+1," ",j," ",t.length]})]}),e.jsxs("div",{className:"nice-tutorial__actions",children:[p&&!T&&e.jsx("button",{type:"button",className:"nice-tutorial__btn nice-tutorial__btn--skip",onClick:r,children:a}),!c&&e.jsx("button",{type:"button",className:"nice-tutorial__btn nice-tutorial__btn--back",onClick:D,children:S}),!_.waitForAction&&e.jsx("button",{type:"button",className:"nice-tutorial__btn nice-tutorial__btn--next",onClick:h,children:T?E:y})]})]})]})]})};ye.displayName="NiceTutorial";const Le=n.createContext({startTutorial:()=>{},stopTutorial:()=>{},isActive:!1,currentStep:0,nextStep:()=>{},prevStep:()=>{},goToStep:()=>{}});function yt(){return n.useContext(Le)}const Te=({children:t})=>{const[i,o]=n.useState([]),[r,m]=n.useState(!1),[u,f]=n.useState(0),g=n.useCallback(w=>{o(w),f(0),m(!0)},[]),p=n.useCallback(()=>{m(!1),f(0),o([])},[]),k=n.useCallback(()=>{f(w=>Math.min(w+1,i.length-1))},[i.length]),l=n.useCallback(()=>{f(w=>Math.max(w-1,0))},[]),v=n.useCallback(w=>{f(Math.max(0,Math.min(w,i.length-1)))},[i.length]),$={startTutorial:g,stopTutorial:p,isActive:r,currentStep:u,nextStep:k,prevStep:l,goToStep:v};return e.jsxs(Le.Provider,{value:$,children:[t,r&&i.length>0&&e.jsx(ye,{steps:i,active:r,onFinish:p,onSkip:p,onStepChange:f})]})};Te.displayName="NiceTutorialProvider";function Nt(t,i,o,r,m){const u=t<=m,f=t+m>=o,g=i<=m,p=i+m>=r;return g&&u?"top-left":g&&f?"top-right":p&&u?"bottom-left":p&&f?"bottom-right":u?"left":f?"right":g?"top":p?"bottom":"none"}function kt(t){switch(t){case"left":return{left:0,top:0,width:"50%",height:"100%"};case"right":return{left:"50%",top:0,width:"50%",height:"100%"};case"top":return{left:0,top:0,width:"100%",height:"50%"};case"bottom":return{left:0,top:"50%",width:"100%",height:"50%"};case"top-left":return{left:0,top:0,width:"50%",height:"50%"};case"top-right":return{left:"50%",top:0,width:"50%",height:"50%"};case"bottom-left":return{left:0,top:"50%",width:"50%",height:"50%"};case"bottom-right":return{left:"50%",top:"50%",width:"50%",height:"50%"};default:return null}}const $e=n.forwardRef(({windowKey:t,title:i,icon:o,children:r,footer:m,x:u,y:f,defaultPosition:g,width:p=480,height:k=360,minWidth:l=200,minHeight:v=120,maxWidth:$,maxHeight:w,zIndex:R=1,closable:x=!0,minimizable:P=!0,maximizable:s=!0,fullscreenable:b=!1,pinnable:d=!1,resizable:C=!0,draggable:I=!0,snappable:q=!0,snapThreshold:_=20,minimized:T,maximized:c,fullscreen:y,pinned:S,focused:E,onClose:a,onMinimize:j,onMaximize:h,onFullscreen:D,onPin:M,onFocus:K,onMove:ce,onResize:z,onSnap:Y,onTitleBarDoubleClick:oe,size:Pe="md",statusBar:Ne,titleBarActions:De,className:Ye,style:Xe,id:ke,accessMode:qe,...Oe},We)=>{const Ae=F.useControlId(ke),Be=F.useNiceAccessMode(qe,ke),{t:re}=F.Wo(),we=n.useRef(null);we.current==null&&(we.current=`nice-window-${Math.random().toString(36).slice(2,10)}`);const X=t??we.current,Fe=u??g?.x??100,He=f??g?.y??100;if(Be==="hidden")return null;const[me,ie]=n.useState({x:Fe,y:He}),[he,fe]=n.useState({width:p,height:k}),[Ue,Ke]=n.useState(!1),[Ge,Ve]=n.useState(!1),[Qe,Ze]=n.useState(!1),[Je,et]=n.useState(!1),[H,xe]=n.useState("none"),tt=T??Ue,B=c??Ge,W=y??Qe,le=S??Je,_e=E??!0,te=me.x,ne=me.y,G=he.width,V=he.height,Q=n.useRef(null),A=n.useRef(null),L=n.useRef(null),nt=n.useCallback(()=>{a?.(X)},[X,a]),it=n.useCallback(()=>{Ke(!0),j?.(X)},[X,j]),ge=n.useCallback(()=>{const N=!B;Ve(N),!N&&L.current?(ie({x:L.current.x,y:L.current.y}),fe({width:L.current.w,height:L.current.h}),L.current=null):N&&(L.current={x:te,y:ne,w:G,h:V}),xe("none"),h?.(X,N)},[X,B,te,ne,G,V,h]),be=n.useCallback(()=>{const N=!W;Ze(N),N?L.current={x:te,y:ne,w:G,h:V}:L.current&&(ie({x:L.current.x,y:L.current.y}),fe({width:L.current.w,height:L.current.h}),L.current=null),D?.(X,N)},[X,W,te,ne,G,V,D]),st=n.useCallback(()=>{const N=!le;et(N),M?.(X,N)},[X,le,M]),ae=n.useCallback(()=>{K?.(X)},[X,K]),ct=n.useCallback(()=>{oe?oe(X):s&&ge()},[X,s,ge,oe]);n.useEffect(()=>{const N=Z=>{if(!Q.current)return;const U=Z.clientX-Q.current.startX+Q.current.origX,de=Z.clientY-Q.current.startY+Q.current.origY;ie({x:U,y:de}),ce?.(X,{x:U,y:de})},O=Z=>{if(Q.current){if(q){const U=Nt(Z.clientX,Z.clientY,window.innerWidth,window.innerHeight,_);U!=="none"&&(L.current={x:me.x,y:me.y,w:G,h:V},xe(U),Y?.(X,U))}Q.current=null}};return document.addEventListener("mousemove",N),document.addEventListener("mouseup",O),()=>{document.removeEventListener("mousemove",N),document.removeEventListener("mouseup",O)}});const ot=n.useCallback(N=>{!I||B||W||(N.preventDefault(),H!=="none"&&(L.current&&(ie({x:L.current.x,y:L.current.y}),fe({width:L.current.w,height:L.current.h})),xe("none")),ae(),Q.current={startX:N.clientX,startY:N.clientY,origX:te,origY:ne})},[I,B,W,H,te,ne,ae]);n.useEffect(()=>{const N=Z=>{if(!A.current)return;const U=Z.clientX-A.current.startX,de=Z.clientY-A.current.startY,se=A.current.handle;let J=A.current.origW,ee=A.current.origH;if(se.includes("e")&&(J=A.current.origW+U),se.includes("w")&&(J=A.current.origW-U),se.includes("s")&&(ee=A.current.origH+de),se.includes("n")&&(ee=A.current.origH-de),J=Math.max(l,$?Math.min($,J):J),ee=Math.max(v,w?Math.min(w,ee):ee),se.includes("w")){const ve=he.width-J;ie(ue=>({...ue,x:ue.x+ve}))}if(se.includes("n")){const ve=he.height-ee;ie(ue=>({...ue,y:ue.y+ve}))}fe({width:J,height:ee}),z?.(X,{width:J,height:ee})},O=()=>{A.current=null};return document.addEventListener("mousemove",N),document.addEventListener("mouseup",O),()=>{document.removeEventListener("mousemove",N),document.removeEventListener("mouseup",O)}});const rt=n.useCallback((N,O)=>{!C||B||W||H!=="none"||(O.preventDefault(),O.stopPropagation(),ae(),A.current={startX:O.clientX,startY:O.clientY,origW:G,origH:V,handle:N})},[C,B,W,H,G,V,ae]);if(n.useEffect(()=>{if(!_e)return;const N=O=>{O.key==="Escape"&&W&&be()};return document.addEventListener("keydown",N),()=>document.removeEventListener("keydown",N)},[_e,W,be]),tt)return null;const Ce=H!=="none"?kt(H):null,je=B||W,lt=W?{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:999999}:B?{position:"absolute",top:0,left:0,width:"100%",height:"100%",zIndex:R}:Ce?{position:"absolute",...Ce,zIndex:R}:{position:"absolute",top:ne,left:te,width:G,height:V,zIndex:R},at=["n","e","s","w","ne","se","sw","nw"],dt={n:"ns-resize",s:"ns-resize",e:"ew-resize",w:"ew-resize",ne:"nesw-resize",sw:"nesw-resize",nw:"nwse-resize",se:"nwse-resize"};return e.jsxs("div",{ref:We,id:Ae,className:`nice-window nice-window--${Pe} ${_e?"nice-window--focused":""} ${le?"nice-window--pinned":""} ${je?"nice-window--maximized":""} ${H!=="none"?`nice-window--snapped-${H}`:""} ${Ye??""}`,style:{...lt,...Xe},onMouseDown:ae,role:"dialog","aria-label":i,...Oe,children:[e.jsxs("div",{className:"nice-window__titlebar",onMouseDown:ot,onDoubleClick:ct,children:[o&&e.jsx("span",{className:"nice-window__icon",children:o}),e.jsx("span",{className:"nice-window__title",children:i}),e.jsxs("div",{className:"nice-window__actions",children:[De,d&&e.jsx("button",{type:"button",className:`nice-window__action nice-window__action--pin ${le?"nice-window__action--active":""}`,onClick:st,title:re("window.pin",le?"Unpin":"Pin"),children:"📌"}),P&&e.jsx("button",{type:"button",className:"nice-window__action nice-window__action--minimize",onClick:it,title:re("window.minimize","Minimize"),children:"─"}),s&&e.jsx("button",{type:"button",className:"nice-window__action nice-window__action--maximize",onClick:ge,title:re("window.maximize",B?"Restore":"Maximize"),children:B?"❐":"☐"}),b&&e.jsx("button",{type:"button",className:"nice-window__action nice-window__action--fullscreen",onClick:be,title:re("window.fullscreen",W?"Exit Full Screen":"Full Screen"),children:W?"⇲":"⇱"}),x&&e.jsx("button",{type:"button",className:"nice-window__action nice-window__action--close",onClick:nt,title:re("window.close","Close"),children:"✕"})]})]}),e.jsx("div",{className:"nice-window__body",children:r}),m&&e.jsx("div",{className:"nice-window__footer",children:m}),Ne&&e.jsx("div",{className:"nice-window__statusbar",children:Ne}),C&&!je&&H==="none"&&e.jsx(e.Fragment,{children:at.map(N=>e.jsx("div",{className:`nice-window__resize nice-window__resize--${N}`,style:{cursor:dt[N]},onMouseDown:O=>rt(N,O)},N))})]})});$e.displayName="NiceWindow";exports.NiceActionSheet=ut;exports.NiceBlockUI=Re;exports.NiceBox=ft;exports.NiceCommandPaletteProvider=Me;exports.NiceLoadPanel=ht;exports.NicePopover=mt;exports.NiceResizable=wt;exports.NiceResponsiveBox=pt;exports.NiceScrollView=xt;exports.NiceTutorial=ye;exports.NiceTutorialProvider=Te;exports.NiceWindow=$e;exports.NiceWindowManager=Ie;exports.fuzzyMatch=pe;exports.highlightMatches=Ee;exports.useCommandPalette=Se;exports.useNiceTutorial=yt;exports.useRegisterCommands=gt;