najm-kit 2.1.32 → 2.1.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +7 -1
- package/dist/index.mjs +97 -92
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -267,6 +267,12 @@ interface NThemeCustomizerProps {
|
|
|
267
267
|
onPreviewModeChange: (mode: NajmMode) => void;
|
|
268
268
|
/** Whether to show the light/dark preview-mode control in the theme tab. */
|
|
269
269
|
showPreviewMode?: boolean;
|
|
270
|
+
/**
|
|
271
|
+
* Whether to render the internal Theme/Typography tab bar. Defaults to `true`.
|
|
272
|
+
* When `false`, the first resolved entry from `tabs` is rendered directly so
|
|
273
|
+
* a host application can present a single section inside its own tabs.
|
|
274
|
+
*/
|
|
275
|
+
showTabs?: boolean;
|
|
270
276
|
tabs?: readonly NThemeCustomizerTab[];
|
|
271
277
|
fontOptions?: readonly NThemeCustomizerFontOption[];
|
|
272
278
|
labels?: Partial<NThemeCustomizerLabels>;
|
|
@@ -274,7 +280,7 @@ interface NThemeCustomizerProps {
|
|
|
274
280
|
className?: string;
|
|
275
281
|
}
|
|
276
282
|
|
|
277
|
-
declare function NThemeCustomizer({ value, factoryValue, onChange, previewMode, onPreviewModeChange, showPreviewMode, tabs, fontOptions, labels, disabled, className, }: NThemeCustomizerProps): react_jsx_runtime.JSX.Element;
|
|
283
|
+
declare function NThemeCustomizer({ value, factoryValue, onChange, previewMode, onPreviewModeChange, showPreviewMode, showTabs, tabs, fontOptions, labels, disabled, className, }: NThemeCustomizerProps): react_jsx_runtime.JSX.Element;
|
|
278
284
|
|
|
279
285
|
/** Keeps authored TypeScript theme objects type-checked without changing them. */
|
|
280
286
|
declare function defineNajmThemeConfig(config: NajmThemeConfig): NajmThemeConfig;
|
package/dist/index.mjs
CHANGED
|
@@ -3289,6 +3289,7 @@ function NThemeCustomizer({
|
|
|
3289
3289
|
previewMode,
|
|
3290
3290
|
onPreviewModeChange,
|
|
3291
3291
|
showPreviewMode = true,
|
|
3292
|
+
showTabs = true,
|
|
3292
3293
|
tabs,
|
|
3293
3294
|
fontOptions,
|
|
3294
3295
|
labels,
|
|
@@ -3350,115 +3351,119 @@ function NThemeCustomizer({
|
|
|
3350
3351
|
}
|
|
3351
3352
|
return out;
|
|
3352
3353
|
}, [labels]);
|
|
3354
|
+
const themeContent = /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
3355
|
+
/* @__PURE__ */ jsx(
|
|
3356
|
+
ThemeCustomizerThemeTab,
|
|
3357
|
+
{
|
|
3358
|
+
value,
|
|
3359
|
+
factoryValue,
|
|
3360
|
+
onChange,
|
|
3361
|
+
previewMode,
|
|
3362
|
+
onPreviewModeChange,
|
|
3363
|
+
showPreviewMode,
|
|
3364
|
+
disabled,
|
|
3365
|
+
labels: {
|
|
3366
|
+
resetField: resetFieldLabel,
|
|
3367
|
+
resetSection: resetSectionLabel,
|
|
3368
|
+
colorSwatchFallback: colorSwatchFallbackLabel,
|
|
3369
|
+
defaultOption: defaultOptionLabel,
|
|
3370
|
+
lightMode: resolveLabel("lightMode", labels),
|
|
3371
|
+
darkMode: resolveLabel("darkMode", labels),
|
|
3372
|
+
surfaceGroup: resolveLabel("surfaceGroup", labels),
|
|
3373
|
+
brandGroup: resolveLabel("brandGroup", labels),
|
|
3374
|
+
feedbackGroup: resolveLabel("feedbackGroup", labels),
|
|
3375
|
+
borderFocusGroup: resolveLabel("borderFocusGroup", labels),
|
|
3376
|
+
sidebarGroup: resolveLabel("sidebarGroup", labels),
|
|
3377
|
+
chartsGroup: resolveLabel("chartsGroup", labels),
|
|
3378
|
+
globalBorderWidth: resolveLabel("globalBorderWidth", labels),
|
|
3379
|
+
tableSubsection: resolveLabel("tableSubsection", labels),
|
|
3380
|
+
tableHeaderColor: resolveLabel("tableHeaderColor", labels),
|
|
3381
|
+
tableHeaderTextColor: resolveLabel("tableHeaderTextColor", labels),
|
|
3382
|
+
tableBorderColor: resolveLabel("tableBorderColor", labels),
|
|
3383
|
+
previewMode: resolveLabel("previewMode", labels),
|
|
3384
|
+
tokens: tokenLabels,
|
|
3385
|
+
options: labels?.options ?? {}
|
|
3386
|
+
}
|
|
3387
|
+
}
|
|
3388
|
+
),
|
|
3389
|
+
/* @__PURE__ */ jsx("div", { className: "border-t border-border pt-4", children: /* @__PURE__ */ jsx(
|
|
3390
|
+
ThemeCustomizerComponentsLayoutTab,
|
|
3391
|
+
{
|
|
3392
|
+
value,
|
|
3393
|
+
factoryValue,
|
|
3394
|
+
onChange,
|
|
3395
|
+
disabled,
|
|
3396
|
+
showTableColors: false,
|
|
3397
|
+
labels: {
|
|
3398
|
+
resetField: resetFieldLabel,
|
|
3399
|
+
defaultOption: defaultOptionLabel,
|
|
3400
|
+
layoutSubsection: resolveLabel("layoutSubsection", labels),
|
|
3401
|
+
pageHeaderSubsection: resolveLabel("pageHeaderSubsection", labels),
|
|
3402
|
+
sidebarSubsection: resolveLabel("sidebarSubsection", labels),
|
|
3403
|
+
tableSubsection: resolveLabel("tableSubsection", labels),
|
|
3404
|
+
inputSubsection: resolveLabel("inputSubsection", labels),
|
|
3405
|
+
pageGutter: resolveLabel("pageGutter", labels),
|
|
3406
|
+
sectionGap: resolveLabel("sectionGap", labels),
|
|
3407
|
+
pageHeaderCard: resolveLabel("pageHeaderCard", labels),
|
|
3408
|
+
sidebarSectionLabels: resolveLabel("sidebarSectionLabels", labels),
|
|
3409
|
+
sidebarSectionSeparators: resolveLabel("sidebarSectionSeparators", labels),
|
|
3410
|
+
tableHeaderColor: resolveLabel("tableHeaderColor", labels),
|
|
3411
|
+
tableHeaderTextColor: resolveLabel("tableHeaderTextColor", labels),
|
|
3412
|
+
tableBorderColor: resolveLabel("tableBorderColor", labels),
|
|
3413
|
+
inputBorderWidth: resolveLabel("inputBorderWidth", labels),
|
|
3414
|
+
globalBorderWidth: resolveLabel("globalBorderWidth", labels),
|
|
3415
|
+
globalRadius: resolveLabel("globalRadius", labels)
|
|
3416
|
+
}
|
|
3417
|
+
}
|
|
3418
|
+
) })
|
|
3419
|
+
] });
|
|
3420
|
+
const typographyContent = /* @__PURE__ */ jsx(
|
|
3421
|
+
ThemeCustomizerTypographyTab,
|
|
3422
|
+
{
|
|
3423
|
+
value,
|
|
3424
|
+
factoryValue,
|
|
3425
|
+
onChange,
|
|
3426
|
+
fontOptions,
|
|
3427
|
+
disabled,
|
|
3428
|
+
labels: {
|
|
3429
|
+
resetField: resetFieldLabel,
|
|
3430
|
+
defaultOption: defaultOptionLabel,
|
|
3431
|
+
fontSans: resolveLabel("fontSans", labels),
|
|
3432
|
+
fontHeading: resolveLabel("fontHeading", labels),
|
|
3433
|
+
fontMono: resolveLabel("fontMono", labels),
|
|
3434
|
+
advancedTypography: resolveLabel("advancedTypography", labels),
|
|
3435
|
+
baseSize: resolveLabel("baseSize", labels),
|
|
3436
|
+
scale: resolveLabel("scale", labels),
|
|
3437
|
+
options: labels?.options ?? {},
|
|
3438
|
+
lineHeight: resolveLabel("lineHeight", labels),
|
|
3439
|
+
letterSpacing: resolveLabel("letterSpacing", labels)
|
|
3440
|
+
}
|
|
3441
|
+
}
|
|
3442
|
+
);
|
|
3353
3443
|
const items = visibleTabs.map((tab) => {
|
|
3354
3444
|
if (tab === "theme") {
|
|
3355
3445
|
return {
|
|
3356
3446
|
value: TAB_VALUE.theme,
|
|
3357
3447
|
label: themeLabel,
|
|
3358
3448
|
disabled,
|
|
3359
|
-
content:
|
|
3360
|
-
/* @__PURE__ */ jsx(
|
|
3361
|
-
ThemeCustomizerThemeTab,
|
|
3362
|
-
{
|
|
3363
|
-
value,
|
|
3364
|
-
factoryValue,
|
|
3365
|
-
onChange,
|
|
3366
|
-
previewMode,
|
|
3367
|
-
onPreviewModeChange,
|
|
3368
|
-
showPreviewMode,
|
|
3369
|
-
disabled,
|
|
3370
|
-
labels: {
|
|
3371
|
-
resetField: resetFieldLabel,
|
|
3372
|
-
resetSection: resetSectionLabel,
|
|
3373
|
-
colorSwatchFallback: colorSwatchFallbackLabel,
|
|
3374
|
-
defaultOption: defaultOptionLabel,
|
|
3375
|
-
lightMode: resolveLabel("lightMode", labels),
|
|
3376
|
-
darkMode: resolveLabel("darkMode", labels),
|
|
3377
|
-
surfaceGroup: resolveLabel("surfaceGroup", labels),
|
|
3378
|
-
brandGroup: resolveLabel("brandGroup", labels),
|
|
3379
|
-
feedbackGroup: resolveLabel("feedbackGroup", labels),
|
|
3380
|
-
borderFocusGroup: resolveLabel("borderFocusGroup", labels),
|
|
3381
|
-
sidebarGroup: resolveLabel("sidebarGroup", labels),
|
|
3382
|
-
chartsGroup: resolveLabel("chartsGroup", labels),
|
|
3383
|
-
globalBorderWidth: resolveLabel("globalBorderWidth", labels),
|
|
3384
|
-
tableSubsection: resolveLabel("tableSubsection", labels),
|
|
3385
|
-
tableHeaderColor: resolveLabel("tableHeaderColor", labels),
|
|
3386
|
-
tableHeaderTextColor: resolveLabel("tableHeaderTextColor", labels),
|
|
3387
|
-
tableBorderColor: resolveLabel("tableBorderColor", labels),
|
|
3388
|
-
previewMode: resolveLabel("previewMode", labels),
|
|
3389
|
-
tokens: tokenLabels,
|
|
3390
|
-
options: labels?.options ?? {}
|
|
3391
|
-
}
|
|
3392
|
-
}
|
|
3393
|
-
),
|
|
3394
|
-
/* @__PURE__ */ jsx("div", { className: "border-t border-border pt-4", children: /* @__PURE__ */ jsx(
|
|
3395
|
-
ThemeCustomizerComponentsLayoutTab,
|
|
3396
|
-
{
|
|
3397
|
-
value,
|
|
3398
|
-
factoryValue,
|
|
3399
|
-
onChange,
|
|
3400
|
-
disabled,
|
|
3401
|
-
showTableColors: false,
|
|
3402
|
-
labels: {
|
|
3403
|
-
resetField: resetFieldLabel,
|
|
3404
|
-
defaultOption: defaultOptionLabel,
|
|
3405
|
-
layoutSubsection: resolveLabel("layoutSubsection", labels),
|
|
3406
|
-
pageHeaderSubsection: resolveLabel("pageHeaderSubsection", labels),
|
|
3407
|
-
sidebarSubsection: resolveLabel("sidebarSubsection", labels),
|
|
3408
|
-
tableSubsection: resolveLabel("tableSubsection", labels),
|
|
3409
|
-
inputSubsection: resolveLabel("inputSubsection", labels),
|
|
3410
|
-
pageGutter: resolveLabel("pageGutter", labels),
|
|
3411
|
-
sectionGap: resolveLabel("sectionGap", labels),
|
|
3412
|
-
pageHeaderCard: resolveLabel("pageHeaderCard", labels),
|
|
3413
|
-
sidebarSectionLabels: resolveLabel("sidebarSectionLabels", labels),
|
|
3414
|
-
sidebarSectionSeparators: resolveLabel("sidebarSectionSeparators", labels),
|
|
3415
|
-
tableHeaderColor: resolveLabel("tableHeaderColor", labels),
|
|
3416
|
-
tableHeaderTextColor: resolveLabel("tableHeaderTextColor", labels),
|
|
3417
|
-
tableBorderColor: resolveLabel("tableBorderColor", labels),
|
|
3418
|
-
inputBorderWidth: resolveLabel("inputBorderWidth", labels),
|
|
3419
|
-
globalBorderWidth: resolveLabel("globalBorderWidth", labels),
|
|
3420
|
-
globalRadius: resolveLabel("globalRadius", labels)
|
|
3421
|
-
}
|
|
3422
|
-
}
|
|
3423
|
-
) })
|
|
3424
|
-
] })
|
|
3449
|
+
content: themeContent
|
|
3425
3450
|
};
|
|
3426
3451
|
}
|
|
3427
3452
|
return {
|
|
3428
3453
|
value: TAB_VALUE.typography,
|
|
3429
3454
|
label: typographyLabel,
|
|
3430
3455
|
disabled,
|
|
3431
|
-
content:
|
|
3432
|
-
ThemeCustomizerTypographyTab,
|
|
3433
|
-
{
|
|
3434
|
-
value,
|
|
3435
|
-
factoryValue,
|
|
3436
|
-
onChange,
|
|
3437
|
-
fontOptions,
|
|
3438
|
-
disabled,
|
|
3439
|
-
labels: {
|
|
3440
|
-
resetField: resetFieldLabel,
|
|
3441
|
-
defaultOption: defaultOptionLabel,
|
|
3442
|
-
fontSans: resolveLabel("fontSans", labels),
|
|
3443
|
-
fontHeading: resolveLabel("fontHeading", labels),
|
|
3444
|
-
fontMono: resolveLabel("fontMono", labels),
|
|
3445
|
-
advancedTypography: resolveLabel("advancedTypography", labels),
|
|
3446
|
-
baseSize: resolveLabel("baseSize", labels),
|
|
3447
|
-
scale: resolveLabel("scale", labels),
|
|
3448
|
-
options: labels?.options ?? {},
|
|
3449
|
-
lineHeight: resolveLabel("lineHeight", labels),
|
|
3450
|
-
letterSpacing: resolveLabel("letterSpacing", labels)
|
|
3451
|
-
}
|
|
3452
|
-
}
|
|
3453
|
-
)
|
|
3456
|
+
content: typographyContent
|
|
3454
3457
|
};
|
|
3455
3458
|
});
|
|
3456
3459
|
const handleResetTheme = () => onChange(resetComponentsLayoutSection(resetThemeSection(value, factoryValue), factoryValue));
|
|
3457
3460
|
const handleResetTypography = () => onChange(resetTypographySection(value, factoryValue));
|
|
3458
3461
|
const handleReset = () => {
|
|
3459
|
-
|
|
3462
|
+
const target = showTabs ? activeTab : TAB_VALUE[firstTab];
|
|
3463
|
+
if (target === TAB_VALUE.theme) handleResetTheme();
|
|
3460
3464
|
else handleResetTypography();
|
|
3461
3465
|
};
|
|
3466
|
+
const directContent = items[0]?.content ?? themeContent;
|
|
3462
3467
|
return /* @__PURE__ */ jsxs(
|
|
3463
3468
|
"div",
|
|
3464
3469
|
{
|
|
@@ -3469,7 +3474,7 @@ function NThemeCustomizer({
|
|
|
3469
3474
|
className
|
|
3470
3475
|
),
|
|
3471
3476
|
children: [
|
|
3472
|
-
/* @__PURE__ */ jsx(
|
|
3477
|
+
showTabs ? /* @__PURE__ */ jsx(
|
|
3473
3478
|
NTabs,
|
|
3474
3479
|
{
|
|
3475
3480
|
items,
|
|
@@ -3483,7 +3488,7 @@ function NThemeCustomizer({
|
|
|
3483
3488
|
trigger: "min-w-0 px-1.5 text-xs"
|
|
3484
3489
|
}
|
|
3485
3490
|
}
|
|
3486
|
-
),
|
|
3491
|
+
) : directContent,
|
|
3487
3492
|
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-end", children: /* @__PURE__ */ jsxs(
|
|
3488
3493
|
NButton,
|
|
3489
3494
|
{
|