@nice2dev/ui 1.0.6 → 1.0.8

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 (99) 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-BAeqfoSc.cjs +1 -0
  24. package/dist/NiceErrorBoundary-niMx1aSJ.js +837 -0
  25. package/dist/NiceEventOrchestrator.doc-C4SJfIDV.js +30 -0
  26. package/dist/NiceEventOrchestrator.doc-CxjsLxBG.cjs +6 -0
  27. package/dist/NiceGitBlame.doc-BG3_K9_0.cjs +6 -0
  28. package/dist/NiceGitBlame.doc-DrJABEat.js +30 -0
  29. package/dist/NiceGitConflictResolver.doc-BK7hAfz6.js +30 -0
  30. package/dist/NiceGitConflictResolver.doc-CgroGM9_.cjs +6 -0
  31. package/dist/NiceGitDiffViewer.doc-BAwgcY_3.cjs +6 -0
  32. package/dist/NiceGitDiffViewer.doc-BXKJeP-E.js +30 -0
  33. package/dist/NiceGitGraph.doc-B-WtGuzn.cjs +5 -0
  34. package/dist/NiceGitGraph.doc-DxnDPCgC.js +29 -0
  35. package/dist/NiceGitHooks.doc-BrEizvMp.js +29 -0
  36. package/dist/NiceGitHooks.doc-C4EdV5zj.cjs +5 -0
  37. package/dist/NiceMergeRequestBuilder.doc-C5p8mYuh.cjs +6 -0
  38. package/dist/NiceMergeRequestBuilder.doc-Ct9RCmU8.js +30 -0
  39. package/dist/NiceModuleLifecyclePanel-Brg1RLwi.cjs +1 -0
  40. package/dist/NiceModuleLifecyclePanel-I_TXRiiY.js +5053 -0
  41. package/dist/NicePinCodeInput-CrMfdxxc.js +15287 -0
  42. package/dist/NicePinCodeInput-D0aF9MK8.cjs +692 -0
  43. package/dist/NicePipelineEditor.doc-0eGt8zbX.cjs +5 -0
  44. package/dist/NicePipelineEditor.doc-DTmaOebn.js +29 -0
  45. package/dist/NicePipelineMonitor.doc-67CmsRcf.cjs +5 -0
  46. package/dist/NicePipelineMonitor.doc-mSMdhuG8.js +29 -0
  47. package/dist/NiceSavedQueryPanel-BZNvqSQW.cjs +596 -0
  48. package/dist/NiceSavedQueryPanel-CUAsdOjJ.js +6190 -0
  49. package/dist/NiceStateDesigner.doc-B36u0hNU.js +29 -0
  50. package/dist/NiceStateDesigner.doc-MPmvNHSx.cjs +5 -0
  51. package/dist/NiceTestBuilder.doc-BFInj8GJ.js +30 -0
  52. package/dist/NiceTestBuilder.doc-CB03U_uR.cjs +6 -0
  53. package/dist/NiceToggle-CaY1u82g.js +277 -0
  54. package/dist/NiceToggle-DFJFQv_Z.cjs +1 -0
  55. package/dist/NiceWindow-IdHAcP70.cjs +1 -0
  56. package/dist/NiceWindow-SiCaREbq.js +1408 -0
  57. package/dist/charts-Bx_kNBsE.js +4280 -0
  58. package/dist/charts-DECVsCHX.cjs +754 -0
  59. package/dist/charts.cjs +1 -1
  60. package/dist/charts.css +1 -0
  61. package/dist/charts.d.ts +3 -3
  62. package/dist/charts.mjs +1 -1
  63. package/dist/core-BZBTsGWN.cjs +96 -0
  64. package/dist/core-BpghV7Ls.js +17555 -0
  65. package/dist/data-branching-De4ExX-S.cjs +1 -0
  66. package/dist/data-branching-DiRfob1f.js +6071 -0
  67. package/dist/data-branching.cjs +1 -0
  68. package/dist/data-branching.d.ts +401 -0
  69. package/dist/data-branching.mjs +9 -0
  70. package/dist/data.cjs +1 -1
  71. package/dist/data.mjs +1 -1
  72. package/dist/devops-BnYinjkT.cjs +17 -0
  73. package/dist/devops-Ckh57eti.js +7198 -0
  74. package/dist/devops.cjs +1 -0
  75. package/dist/devops.d.ts +758 -0
  76. package/dist/devops.mjs +12 -0
  77. package/dist/editors.cjs +1 -1
  78. package/dist/editors.mjs +3 -3
  79. package/dist/feedback.cjs +1 -1
  80. package/dist/feedback.mjs +1 -1
  81. package/dist/index-CBIZ6mTQ.cjs +5734 -0
  82. package/dist/index-CIl98Vbm.js +72951 -0
  83. package/dist/index.cjs +1 -1
  84. package/dist/index.css +1 -1
  85. package/dist/index.d.ts +3643 -93
  86. package/dist/index.mjs +1001 -952
  87. package/dist/lazy.cjs +1 -0
  88. package/dist/lazy.d.ts +1880 -0
  89. package/dist/lazy.mjs +98 -0
  90. package/dist/navigation.cjs +1 -1
  91. package/dist/navigation.mjs +69 -12
  92. package/dist/no-code-BCuadkm4.cjs +332 -0
  93. package/dist/no-code-TL7PyulA.js +7005 -0
  94. package/dist/no-code.cjs +1 -0
  95. package/dist/no-code.d.ts +870 -0
  96. package/dist/no-code.mjs +13 -0
  97. package/dist/overlays.cjs +1 -1
  98. package/dist/overlays.mjs +480 -24
  99. package/package.json +21 -1
@@ -0,0 +1,595 @@
1
+ import { jsxs as l, jsx as e, Fragment as ve } from "react/jsx-runtime";
2
+ import Ce, { forwardRef as ne, useCallback as W, useMemo as z, useState as ee, useRef as be } from "react";
3
+ import { f as ie, g as oe, b as de, h as ue, i as ce, j as we, N as pe, k as Se, d as Me, C as ae } from "./core-BpghV7Ls.js";
4
+ const Re = ne(
5
+ ({
6
+ label: y,
7
+ helperText: v,
8
+ error: t,
9
+ required: A,
10
+ disabled: s,
11
+ readOnly: a,
12
+ size: B = "md",
13
+ name: M,
14
+ id: x,
15
+ className: R,
16
+ style: k,
17
+ accessMode: p,
18
+ displayStyle: g,
19
+ value: h,
20
+ defaultValue: _,
21
+ onChange: C,
22
+ onBlur: o,
23
+ onKeyDown: m,
24
+ placeholder: w,
25
+ type: D = "text",
26
+ maxLength: F,
27
+ prefix: I,
28
+ suffix: j,
29
+ clearable: c,
30
+ autoFocus: J,
31
+ submitOnEnter: S,
32
+ onSubmit: L,
33
+ showKeyboardHints: Q,
34
+ ...q
35
+ }, le) => {
36
+ const G = ie(p, x);
37
+ if (G === "hidden")
38
+ return null;
39
+ G === "disabled" && (s = !0), G === "readOnly" && (a = !0);
40
+ const { t: E } = oe(), d = de(x), te = ue("input", g), se = ce("input", g), V = W(() => C?.(""), [C]), $ = we({
41
+ enabled: S,
42
+ onSubmit: L
43
+ }), O = W(
44
+ (u) => {
45
+ $(u), m?.(u);
46
+ },
47
+ [$, m]
48
+ ), P = z(() => {
49
+ const u = [];
50
+ return S && u.push({ key: "Enter", description: E("shortcuts.submit", "Submit") }), c && u.push({ key: "Escape", description: E("shortcuts.clear", "Clear") }), u;
51
+ }, [S, c, E]);
52
+ return /* @__PURE__ */ l("div", { className: `nice-field ${R || ""}`, style: k, children: [
53
+ y && /* @__PURE__ */ l(
54
+ "label",
55
+ {
56
+ htmlFor: d,
57
+ className: `nice-field__label ${A ? "nice-field__label--required" : ""}`,
58
+ children: [
59
+ y,
60
+ Q && P.length > 0 && /* @__PURE__ */ e(pe, { shortcuts: P, size: "sm" })
61
+ ]
62
+ }
63
+ ),
64
+ /* @__PURE__ */ l(
65
+ "div",
66
+ {
67
+ className: `nice-input nice-input--${B} nice-input--ds-${se} ${t ? "nice-input--error" : ""} ${s ? "nice-input--disabled" : ""} ${a ? "nice-input--readonly" : ""}`,
68
+ style: te,
69
+ children: [
70
+ I && /* @__PURE__ */ e("span", { className: "nice-input__icon", children: I }),
71
+ /* @__PURE__ */ e(
72
+ "input",
73
+ {
74
+ ref: le,
75
+ id: d,
76
+ className: "nice-input__native",
77
+ type: D,
78
+ name: M,
79
+ value: h,
80
+ defaultValue: _,
81
+ placeholder: w,
82
+ disabled: s,
83
+ readOnly: a,
84
+ maxLength: F,
85
+ autoFocus: J,
86
+ "aria-invalid": !!t,
87
+ "aria-describedby": t ? `${d}-error` : v ? `${d}-helper` : void 0,
88
+ onChange: (u) => C?.(u.target.value),
89
+ onBlur: o,
90
+ onKeyDown: O,
91
+ ...q
92
+ }
93
+ ),
94
+ c && h && /* @__PURE__ */ e(
95
+ "button",
96
+ {
97
+ type: "button",
98
+ className: "nice-input__clear",
99
+ onClick: V,
100
+ "aria-label": E("controls.clear", "Clear"),
101
+ children: "✕"
102
+ }
103
+ ),
104
+ j && /* @__PURE__ */ e("span", { className: "nice-input__icon", children: j })
105
+ ]
106
+ }
107
+ ),
108
+ t && /* @__PURE__ */ e("div", { id: `${d}-error`, className: "nice-field__error", role: "alert", children: t }),
109
+ !t && v && /* @__PURE__ */ e("div", { id: `${d}-helper`, className: "nice-field__helper", children: v })
110
+ ] });
111
+ }
112
+ );
113
+ Re.displayName = "NiceTextInput";
114
+ const De = ne(
115
+ ({
116
+ label: y,
117
+ helperText: v,
118
+ error: t,
119
+ required: A,
120
+ disabled: s,
121
+ size: a = "md",
122
+ name: B,
123
+ id: M,
124
+ className: x,
125
+ style: R,
126
+ accessMode: k,
127
+ displayStyle: p,
128
+ options: g,
129
+ value: h,
130
+ onChange: _,
131
+ placeholder: C,
132
+ multiple: o = !1,
133
+ searchable: m = !1,
134
+ clearable: w = !1,
135
+ emptyText: D,
136
+ maxHeight: F = 240,
137
+ optionsSource: I,
138
+ valueField: j,
139
+ labelField: c,
140
+ virtualScroll: J,
141
+ optionHeight: S = 36,
142
+ onSearch: L,
143
+ loading: Q,
144
+ renderOption: q,
145
+ showKeyboardHints: le
146
+ }, G) => {
147
+ const E = ie(k, M);
148
+ if (E === "hidden")
149
+ return null;
150
+ (E === "disabled" || E === "readOnly") && (s = !0);
151
+ const { t: d } = oe(), te = ue("input", p), se = ce("input", p), V = de(M), [$, O] = ee(!1), [P, u] = ee(""), [K, H] = ee(-1), [he, Ne] = ee(0), _e = be(null), ye = Se(
152
+ I ?? null,
153
+ j ?? I?.keyField ?? "id",
154
+ c ?? "name"
155
+ ), T = I ? ye.options : g ?? [];
156
+ Me(_e, () => {
157
+ O(!1), u("");
158
+ });
159
+ const f = z(() => h ? Array.isArray(h) ? h : [h] : [], [h]), b = z(() => {
160
+ if (!P && !L || L)
161
+ return T;
162
+ const n = P.toLowerCase();
163
+ return T.filter(
164
+ (r) => r.label.toLowerCase().includes(n) || String(r.value).toLowerCase().includes(n)
165
+ );
166
+ }, [T, P, L]), me = z(() => {
167
+ const n = /* @__PURE__ */ new Map();
168
+ for (const r of b) {
169
+ const i = r.group || "";
170
+ n.has(i) || n.set(i, []), n.get(i).push(r);
171
+ }
172
+ return n;
173
+ }, [b]), X = W(
174
+ (n) => {
175
+ if (o) {
176
+ const r = f.includes(n) ? f.filter((i) => i !== n) : [...f, n];
177
+ _?.(r);
178
+ } else
179
+ _?.(n), O(!1), u("");
180
+ },
181
+ [o, f, _]
182
+ ), ke = W(
183
+ (n) => {
184
+ if (n.key === "Escape") {
185
+ O(!1), u("");
186
+ return;
187
+ }
188
+ if (n.key === "Enter" || n.key === " ") {
189
+ if (!$) {
190
+ O(!0), n.preventDefault();
191
+ return;
192
+ }
193
+ K >= 0 && b[K] && (X(b[K].value), n.preventDefault());
194
+ return;
195
+ }
196
+ n.key === "ArrowDown" && (n.preventDefault(), H((r) => Math.min(r + 1, b.length - 1))), n.key === "ArrowUp" && (n.preventDefault(), H((r) => Math.max(r - 1, 0)));
197
+ },
198
+ [$, K, b, X]
199
+ ), fe = z(() => f.length === 0 ? null : o ? f.map((n) => T.find((r) => r.value === n)?.label || n).join(", ") : T.find((n) => n.value === f[0])?.label || f[0], [f, T, o]), ge = W(
200
+ (n) => {
201
+ n.stopPropagation(), _?.(o ? [] : "");
202
+ },
203
+ [_, o]
204
+ ), $e = z(
205
+ () => [
206
+ { key: "Enter", description: d("shortcuts.select", "Select") },
207
+ { key: "Space", description: d("shortcuts.openDropdown", "Open dropdown") },
208
+ ae.moveUp,
209
+ ae.moveDown,
210
+ ae.cancel
211
+ ],
212
+ [d]
213
+ );
214
+ return /* @__PURE__ */ l("div", { className: `nice-field ${x || ""}`, style: R, children: [
215
+ y && /* @__PURE__ */ l(
216
+ "label",
217
+ {
218
+ htmlFor: V,
219
+ className: `nice-field__label ${A ? "nice-field__label--required" : ""}`,
220
+ children: [
221
+ y,
222
+ le && /* @__PURE__ */ e(pe, { shortcuts: $e, size: "sm" })
223
+ ]
224
+ }
225
+ ),
226
+ /* @__PURE__ */ l("div", { className: "nice-select", ref: _e, children: [
227
+ /* @__PURE__ */ l(
228
+ "button",
229
+ {
230
+ ref: G,
231
+ type: "button",
232
+ id: V,
233
+ role: "combobox",
234
+ "aria-expanded": $,
235
+ "aria-haspopup": "listbox",
236
+ "aria-invalid": !!t,
237
+ className: `nice-select__trigger nice-select__trigger--${a} nice-select--ds-${se} ${$ ? "nice-select__trigger--open" : ""} ${t ? "nice-select__trigger--error" : ""} ${s ? "nice-select__trigger--disabled" : ""}`,
238
+ style: te,
239
+ disabled: s,
240
+ onClick: () => O(!$),
241
+ onKeyDown: ke,
242
+ children: [
243
+ fe ? /* @__PURE__ */ e("span", { children: fe }) : /* @__PURE__ */ e("span", { className: "nice-select__placeholder", children: C || d("controls.select", "Select...") }),
244
+ /* @__PURE__ */ l("span", { style: { display: "flex", alignItems: "center", gap: 4 }, children: [
245
+ w && f.length > 0 && /* @__PURE__ */ e(
246
+ "span",
247
+ {
248
+ className: "nice-input__clear",
249
+ onClick: ge,
250
+ role: "button",
251
+ "aria-label": d("controls.clear", "Clear"),
252
+ children: "✕"
253
+ }
254
+ ),
255
+ /* @__PURE__ */ e(
256
+ "svg",
257
+ {
258
+ className: `nice-select__chevron ${$ ? "nice-select__chevron--open" : ""}`,
259
+ viewBox: "0 0 20 20",
260
+ fill: "currentColor",
261
+ children: /* @__PURE__ */ e(
262
+ "path",
263
+ {
264
+ fillRule: "evenodd",
265
+ d: "M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z",
266
+ clipRule: "evenodd"
267
+ }
268
+ )
269
+ }
270
+ )
271
+ ] })
272
+ ]
273
+ }
274
+ ),
275
+ $ && /* @__PURE__ */ l(
276
+ "div",
277
+ {
278
+ className: "nice-select__dropdown",
279
+ role: "listbox",
280
+ style: { maxHeight: F },
281
+ onScroll: J ? (n) => Ne(n.currentTarget.scrollTop) : void 0,
282
+ children: [
283
+ (m || L) && /* @__PURE__ */ e("div", { className: "nice-select__search", children: /* @__PURE__ */ e(
284
+ "input",
285
+ {
286
+ type: "text",
287
+ value: P,
288
+ onChange: (n) => {
289
+ u(n.target.value), H(0), L?.(n.target.value);
290
+ },
291
+ placeholder: d("controls.search", "Search..."),
292
+ autoFocus: !0
293
+ }
294
+ ) }),
295
+ Q && /* @__PURE__ */ e("div", { className: "nice-select__loading", children: /* @__PURE__ */ e("div", { className: "nice-spinner nice-spinner--sm", style: { margin: "8px auto" } }) }),
296
+ !Q && b.length === 0 ? /* @__PURE__ */ e("div", { className: "nice-select__empty", children: D || d("controls.noResults", "No results found") }) : J && !Array.from(me.keys()).some((n) => n !== "") ? (() => {
297
+ const r = b.length * S, i = Math.max(0, Math.floor(he / S) - 3), U = Math.min(
298
+ b.length,
299
+ Math.ceil((he + F) / S) + 3
300
+ ), Y = b.slice(i, U);
301
+ return /* @__PURE__ */ e("div", { style: { height: r, position: "relative" }, children: Y.map((N, xe) => {
302
+ const re = i + xe, Z = f.includes(N.value);
303
+ return /* @__PURE__ */ e(
304
+ "div",
305
+ {
306
+ role: "option",
307
+ "aria-selected": Z,
308
+ className: `nice-select__option ${Z ? "nice-select__option--selected" : ""} ${re === K ? "nice-select__option--highlighted" : ""} ${N.disabled ? "nice-select__option--disabled" : ""}`,
309
+ style: {
310
+ position: "absolute",
311
+ top: re * S,
312
+ left: 0,
313
+ right: 0,
314
+ height: S,
315
+ display: "flex",
316
+ alignItems: "center",
317
+ padding: "0 12px"
318
+ },
319
+ onClick: () => !N.disabled && X(String(N.value)),
320
+ onMouseEnter: () => H(re),
321
+ children: q ? q(N, Z) : /* @__PURE__ */ l(ve, { children: [
322
+ N.icon && /* @__PURE__ */ e("span", { children: N.icon }),
323
+ /* @__PURE__ */ l("div", { style: { flex: 1 }, children: [
324
+ /* @__PURE__ */ e("div", { children: N.label }),
325
+ N.description && /* @__PURE__ */ e("div", { className: "nice-select__option-desc", children: N.description })
326
+ ] }),
327
+ Z && /* @__PURE__ */ e(
328
+ "svg",
329
+ {
330
+ className: "nice-select__option-check",
331
+ viewBox: "0 0 20 20",
332
+ fill: "currentColor",
333
+ children: /* @__PURE__ */ e(
334
+ "path",
335
+ {
336
+ fillRule: "evenodd",
337
+ d: "M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z",
338
+ clipRule: "evenodd"
339
+ }
340
+ )
341
+ }
342
+ )
343
+ ] })
344
+ },
345
+ N.value
346
+ );
347
+ }) });
348
+ })() : Array.from(me.entries()).map(([n, r]) => /* @__PURE__ */ l(Ce.Fragment, { children: [
349
+ n && /* @__PURE__ */ e("div", { className: "nice-select__group-label", children: n }),
350
+ r.map((i) => {
351
+ const U = f.includes(i.value), Y = b.indexOf(i);
352
+ return /* @__PURE__ */ e(
353
+ "div",
354
+ {
355
+ role: "option",
356
+ "aria-selected": U,
357
+ className: `nice-select__option ${U ? "nice-select__option--selected" : ""} ${Y === K ? "nice-select__option--highlighted" : ""} ${i.disabled ? "nice-select__option--disabled" : ""}`,
358
+ onClick: () => !i.disabled && X(String(i.value)),
359
+ onMouseEnter: () => H(Y),
360
+ children: q ? q(i, U) : /* @__PURE__ */ l(ve, { children: [
361
+ i.icon && /* @__PURE__ */ e("span", { children: i.icon }),
362
+ /* @__PURE__ */ l("div", { style: { flex: 1 }, children: [
363
+ /* @__PURE__ */ e("div", { children: i.label }),
364
+ i.description && /* @__PURE__ */ e("div", { className: "nice-select__option-desc", children: i.description })
365
+ ] }),
366
+ U && /* @__PURE__ */ e(
367
+ "svg",
368
+ {
369
+ className: "nice-select__option-check",
370
+ viewBox: "0 0 20 20",
371
+ fill: "currentColor",
372
+ children: /* @__PURE__ */ e(
373
+ "path",
374
+ {
375
+ fillRule: "evenodd",
376
+ d: "M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z",
377
+ clipRule: "evenodd"
378
+ }
379
+ )
380
+ }
381
+ )
382
+ ] })
383
+ },
384
+ i.value
385
+ );
386
+ })
387
+ ] }, n))
388
+ ]
389
+ }
390
+ )
391
+ ] }),
392
+ t && /* @__PURE__ */ e("div", { className: "nice-field__error", role: "alert", children: t }),
393
+ !t && v && /* @__PURE__ */ e("div", { className: "nice-field__helper", children: v })
394
+ ] });
395
+ }
396
+ );
397
+ De.displayName = "NiceSelect";
398
+ const Ie = [
399
+ "#ef4444",
400
+ "#f97316",
401
+ "#f59e0b",
402
+ "#84cc16",
403
+ "#10b981",
404
+ "#06b6d4",
405
+ "#3b82f6",
406
+ "#6366f1",
407
+ "#8b5cf6",
408
+ "#ec4899",
409
+ "#64748b",
410
+ "#1e293b"
411
+ ];
412
+ function Ee() {
413
+ return "#" + Math.floor(Math.random() * 16777215).toString(16).padStart(6, "0");
414
+ }
415
+ const Ae = ne(
416
+ ({
417
+ label: y,
418
+ helperText: v,
419
+ error: t,
420
+ required: A,
421
+ disabled: s,
422
+ id: a,
423
+ className: B,
424
+ style: M,
425
+ accessMode: x,
426
+ displayStyle: R,
427
+ value: k = "#3b82f6",
428
+ onChange: p,
429
+ presets: g = Ie,
430
+ showInput: h = !0,
431
+ showRandom: _ = !0,
432
+ showKeyboardHints: C
433
+ }, o) => {
434
+ const m = ie(x, a);
435
+ if (m === "hidden")
436
+ return null;
437
+ (m === "disabled" || m === "readOnly") && (s = !0);
438
+ const { t: w } = oe(), D = de(a);
439
+ ce("input", R);
440
+ const F = be(null), I = W(() => {
441
+ s || p?.(Ee());
442
+ }, [s, p]), j = z(
443
+ () => [
444
+ { key: "Enter", description: w("shortcuts.openPicker", "Open color picker") },
445
+ { key: "Arrow keys", description: w("shortcuts.navigatePresets", "Navigate presets") }
446
+ ],
447
+ [w]
448
+ );
449
+ return /* @__PURE__ */ l("div", { className: `nice-field ${B || ""}`, style: M, children: [
450
+ y && /* @__PURE__ */ l(
451
+ "label",
452
+ {
453
+ htmlFor: D,
454
+ className: `nice-field__label ${A ? "nice-field__label--required" : ""}`,
455
+ children: [
456
+ y,
457
+ C && /* @__PURE__ */ e(pe, { shortcuts: j, size: "sm" })
458
+ ]
459
+ }
460
+ ),
461
+ /* @__PURE__ */ l("div", { className: "nice-color-picker", children: [
462
+ /* @__PURE__ */ l("div", { className: "nice-color-picker__preview-row", children: [
463
+ /* @__PURE__ */ e(
464
+ "div",
465
+ {
466
+ className: "nice-color-picker__swatch",
467
+ style: { background: k },
468
+ onClick: () => F.current?.click(),
469
+ role: "button",
470
+ tabIndex: 0,
471
+ "aria-label": "Pick color",
472
+ children: /* @__PURE__ */ e(
473
+ "input",
474
+ {
475
+ ref: (c) => {
476
+ F.current = c, typeof o == "function" ? o(c) : o && (o.current = c);
477
+ },
478
+ type: "color",
479
+ className: "nice-color-picker__native",
480
+ id: D,
481
+ value: k,
482
+ disabled: s,
483
+ onChange: (c) => p?.(c.target.value)
484
+ }
485
+ )
486
+ }
487
+ ),
488
+ h && /* @__PURE__ */ e("div", { className: "nice-input nice-input--sm", style: { width: 100 }, children: /* @__PURE__ */ e(
489
+ "input",
490
+ {
491
+ className: "nice-input__native",
492
+ type: "text",
493
+ value: k,
494
+ disabled: s,
495
+ onChange: (c) => p?.(c.target.value),
496
+ maxLength: 7
497
+ }
498
+ ) }),
499
+ _ && /* @__PURE__ */ e(
500
+ "button",
501
+ {
502
+ type: "button",
503
+ className: "nice-btn nice-btn--outline nice-btn--sm nice-color-picker__random",
504
+ onClick: I,
505
+ disabled: s,
506
+ title: "Random color",
507
+ "aria-label": "Random color",
508
+ children: "🎲"
509
+ }
510
+ )
511
+ ] }),
512
+ g.length > 0 && /* @__PURE__ */ e("div", { className: "nice-color-picker__presets", children: g.map((c) => /* @__PURE__ */ e(
513
+ "div",
514
+ {
515
+ className: `nice-color-picker__preset ${k === c ? "nice-color-picker__preset--active" : ""}`,
516
+ style: { background: c },
517
+ onClick: () => p?.(c),
518
+ role: "button",
519
+ tabIndex: 0,
520
+ "aria-label": c
521
+ },
522
+ c
523
+ )) })
524
+ ] }),
525
+ t && /* @__PURE__ */ e("div", { className: "nice-field__error", role: "alert", children: t }),
526
+ !t && v && /* @__PURE__ */ e("div", { className: "nice-field__helper", children: v })
527
+ ] });
528
+ }
529
+ );
530
+ Ae.displayName = "NiceColorPicker";
531
+ const Fe = ne(
532
+ ({
533
+ children: y,
534
+ variant: v = "primary",
535
+ size: t = "md",
536
+ type: A = "button",
537
+ disabled: s,
538
+ loading: a,
539
+ fullWidth: B,
540
+ onClick: M,
541
+ leftIcon: x,
542
+ rightIcon: R,
543
+ className: k,
544
+ style: p,
545
+ id: g,
546
+ accessMode: h,
547
+ displayStyle: _,
548
+ ...C
549
+ }, o) => {
550
+ const m = ie(h, g);
551
+ if (m === "hidden")
552
+ return null;
553
+ (m === "disabled" || m === "readOnly") && (s = !0);
554
+ const w = ue("button", _), D = ce("button", _);
555
+ return /* @__PURE__ */ l(
556
+ "button",
557
+ {
558
+ ref: o,
559
+ type: A,
560
+ id: g,
561
+ className: `nice-btn nice-btn--${v} nice-btn--${t} nice-btn--ds-${D} ${B ? "nice-btn--full-width" : ""} ${a ? "nice-btn--loading" : ""} ${k || ""}`,
562
+ style: { ...w, ...p },
563
+ disabled: s || a,
564
+ "aria-busy": a || void 0,
565
+ "aria-disabled": s || a || void 0,
566
+ onClick: M,
567
+ ...C,
568
+ children: [
569
+ a && /* @__PURE__ */ e(
570
+ "svg",
571
+ {
572
+ className: "nice-btn__spinner",
573
+ viewBox: "0 0 24 24",
574
+ fill: "none",
575
+ stroke: "currentColor",
576
+ strokeWidth: "3",
577
+ "aria-hidden": "true",
578
+ children: /* @__PURE__ */ e("circle", { cx: "12", cy: "12", r: "10", strokeDasharray: "31.4 31.4", strokeLinecap: "round" })
579
+ }
580
+ ),
581
+ !a && x && /* @__PURE__ */ e("span", { "aria-hidden": "true", children: x }),
582
+ /* @__PURE__ */ e("span", { children: y }),
583
+ !a && R && /* @__PURE__ */ e("span", { "aria-hidden": "true", children: R })
584
+ ]
585
+ }
586
+ );
587
+ }
588
+ );
589
+ Fe.displayName = "NiceButton";
590
+ export {
591
+ Ae as N,
592
+ De as a,
593
+ Re as b,
594
+ Fe as c
595
+ };
@@ -0,0 +1,6 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="https://nice2dev.com/schemas/component-doc-v1.json",t="NiceCodeTemplate",a="Code template manager with variable substitution and snippet generation.",s="no-code",n="1.0.7",o="stable",i=[{name:"templates",type:"CodeTemplate[]",required:!0,description:"Available templates"},{name:"variables",type:"Record<string, string>",description:"Template variables"},{name:"onGenerate",type:"(template: string, vars: Record<string, string>) => string",description:"Generate code callback"},{name:"language",type:"string",description:"Target language"}],c=[{title:"Code Template",description:"Generate code from templates",code:`<NiceCodeTemplate
2
+ templates={codeTemplates}
3
+ variables={{ className: 'MyClass' }}
4
+ onGenerate={handleGenerate}
5
+ language="typescript"
6
+ />`}],r={role:"region",ariaLabel:"Code template manager"},l=["NiceCodeEditor","NiceSnippetManager"],p={$schema:e,name:t,description:a,category:s,since:n,status:o,props:i,examples:c,accessibility:r,seeAlso:l};exports.$schema=e;exports.accessibility=r;exports.category=s;exports.default=p;exports.description=a;exports.examples=c;exports.name=t;exports.props=i;exports.seeAlso=l;exports.since=n;exports.status=o;
@@ -0,0 +1,30 @@
1
+ const e = "https://nice2dev.com/schemas/component-doc-v1.json", t = "NiceCodeTemplate", a = "Code template manager with variable substitution and snippet generation.", n = "no-code", s = "1.0.7", o = "stable", i = [{ name: "templates", type: "CodeTemplate[]", required: !0, description: "Available templates" }, { name: "variables", type: "Record<string, string>", description: "Template variables" }, { name: "onGenerate", type: "(template: string, vars: Record<string, string>) => string", description: "Generate code callback" }, { name: "language", type: "string", description: "Target language" }], c = [{ title: "Code Template", description: "Generate code from templates", code: `<NiceCodeTemplate
2
+ templates={codeTemplates}
3
+ variables={{ className: 'MyClass' }}
4
+ onGenerate={handleGenerate}
5
+ language="typescript"
6
+ />` }], r = { role: "region", ariaLabel: "Code template manager" }, l = ["NiceCodeEditor", "NiceSnippetManager"], p = {
7
+ $schema: e,
8
+ name: t,
9
+ description: a,
10
+ category: n,
11
+ since: s,
12
+ status: o,
13
+ props: i,
14
+ examples: c,
15
+ accessibility: r,
16
+ seeAlso: l
17
+ };
18
+ export {
19
+ e as $schema,
20
+ r as accessibility,
21
+ n as category,
22
+ p as default,
23
+ a as description,
24
+ c as examples,
25
+ t as name,
26
+ i as props,
27
+ l as seeAlso,
28
+ s as since,
29
+ o as status
30
+ };
@@ -0,0 +1,29 @@
1
+ const e = "https://nice2dev.com/schemas/component-doc-v1.json", t = "NiceDataBranchGraph", n = "Timeline visualization of data changes, merges, and environment promotions.", a = "data-branching", i = "1.0.7", o = "stable", c = [{ name: "history", type: "DataHistoryEntry[]", required: !0, description: "Data change history" }, { name: "environments", type: "string[]", description: "Environment names for lanes" }, { name: "onEntrySelect", type: "(entry: DataHistoryEntry) => void", description: "Entry selection callback" }, { name: "layout", type: "'horizontal' | 'vertical'", default: "horizontal", description: "Timeline layout" }], s = [{ title: "Data Branch Graph", description: "Visualize data change history", code: `<NiceDataBranchGraph
2
+ history={changeHistory}
3
+ environments={['DEV', 'TEST', 'PROD']}
4
+ onEntrySelect={handleSelect}
5
+ />` }], r = { role: "tree", ariaLabel: "Data change timeline" }, l = ["NiceDataDiffViewer", "NiceGitGraph"], h = {
6
+ $schema: e,
7
+ name: t,
8
+ description: n,
9
+ category: a,
10
+ since: i,
11
+ status: o,
12
+ props: c,
13
+ examples: s,
14
+ accessibility: r,
15
+ seeAlso: l
16
+ };
17
+ export {
18
+ e as $schema,
19
+ r as accessibility,
20
+ a as category,
21
+ h as default,
22
+ n as description,
23
+ s as examples,
24
+ t as name,
25
+ c as props,
26
+ l as seeAlso,
27
+ i as since,
28
+ o as status
29
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="https://nice2dev.com/schemas/component-doc-v1.json",t="NiceDataBranchGraph",n="Timeline visualization of data changes, merges, and environment promotions.",a="data-branching",i="1.0.7",o="stable",s=[{name:"history",type:"DataHistoryEntry[]",required:!0,description:"Data change history"},{name:"environments",type:"string[]",description:"Environment names for lanes"},{name:"onEntrySelect",type:"(entry: DataHistoryEntry) => void",description:"Entry selection callback"},{name:"layout",type:"'horizontal' | 'vertical'",default:"horizontal",description:"Timeline layout"}],c=[{title:"Data Branch Graph",description:"Visualize data change history",code:`<NiceDataBranchGraph
2
+ history={changeHistory}
3
+ environments={['DEV', 'TEST', 'PROD']}
4
+ onEntrySelect={handleSelect}
5
+ />`}],r={role:"tree",ariaLabel:"Data change timeline"},l=["NiceDataDiffViewer","NiceGitGraph"],h={$schema:e,name:t,description:n,category:a,since:i,status:o,props:s,examples:c,accessibility:r,seeAlso:l};exports.$schema=e;exports.accessibility=r;exports.category=a;exports.default=h;exports.description=n;exports.examples=c;exports.name=t;exports.props=s;exports.seeAlso=l;exports.since=i;exports.status=o;