@nice2dev/ui 1.0.17 → 1.0.18

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 (148) hide show
  1. package/CHANGELOG.md +252 -0
  2. package/dist/NiceAlertDialog.doc-BST0-aVs.cjs +14 -0
  3. package/dist/NiceAlertDialog.doc-GRpJU_5Y.js +38 -0
  4. package/dist/NiceAnimatePresence.doc-BrttRpeS.js +36 -0
  5. package/dist/NiceAnimatePresence.doc-IdEWrSnT.cjs +12 -0
  6. package/dist/NiceCalendarScheduler.doc-Cc-DFMhR.js +33 -0
  7. package/dist/NiceCalendarScheduler.doc-TPe0kRBN.cjs +9 -0
  8. package/dist/NiceCameraFeed.doc-BJl0gdWv.js +31 -0
  9. package/dist/NiceCameraFeed.doc-Bt4eZ8MH.cjs +7 -0
  10. package/dist/NiceChip.doc-Bccf4IQe.cjs +7 -0
  11. package/dist/NiceChip.doc-DEsqjL7z.js +31 -0
  12. package/dist/NiceCombobox.doc-8hMzrsdM.js +34 -0
  13. package/dist/NiceCombobox.doc-C5IPnVuz.cjs +10 -0
  14. package/dist/NiceConfigProvider.doc-CKIudO44.js +32 -0
  15. package/dist/NiceConfigProvider.doc-bMLQj3Zx.cjs +8 -0
  16. package/dist/NiceCronEditor.doc-BThdELxx.js +31 -0
  17. package/dist/NiceCronEditor.doc-w_TbOWFo.cjs +7 -0
  18. package/dist/NiceDataList.doc-DHXrpTPT.cjs +9 -0
  19. package/dist/NiceDataList.doc-R8SchHqZ.js +33 -0
  20. package/dist/NiceDiagram.doc-CASS0Tnj.cjs +8 -0
  21. package/dist/NiceDiagram.doc-DGX-Hwhg.js +32 -0
  22. package/dist/NiceDocPage.doc-BVBe27kj.cjs +1 -0
  23. package/dist/NiceDocPage.doc-CDcL3Sqt.js +25 -0
  24. package/dist/NiceDrawingCanvas.doc-DYYFKKMW.js +32 -0
  25. package/dist/NiceDrawingCanvas.doc-wa684gbC.cjs +8 -0
  26. package/dist/NiceDropdown.doc-D2NS9hBT.js +35 -0
  27. package/dist/NiceDropdown.doc-dAgER8da.cjs +11 -0
  28. package/dist/NiceDropzone.doc-CVVNc9SE.cjs +9 -0
  29. package/dist/NiceDropzone.doc-aeajYWqU.js +33 -0
  30. package/dist/NiceEnergyMonitor.doc-BBnVKuwf.js +32 -0
  31. package/dist/NiceEnergyMonitor.doc-lf6CCIYi.cjs +8 -0
  32. package/dist/NiceErrorBoundary-COY0cEsF.js +762 -0
  33. package/dist/NiceErrorBoundary-CR-_ZScD.cjs +1 -0
  34. package/dist/NiceExpressionBuilder.doc-CTjqEcZR.cjs +8 -0
  35. package/dist/NiceExpressionBuilder.doc-Cu_ORFhd.js +32 -0
  36. package/dist/NiceFileExplorer.doc-B0aN041v.js +32 -0
  37. package/dist/NiceFileExplorer.doc-DNHYQF_t.cjs +8 -0
  38. package/dist/NiceFloatingActionButton.doc-BOlJwq4S.cjs +7 -0
  39. package/dist/NiceFloatingActionButton.doc-oYnwvMP9.js +31 -0
  40. package/dist/NiceFontPicker.doc-B10vOqeF.cjs +8 -0
  41. package/dist/NiceFontPicker.doc-DuPp0cDP.js +32 -0
  42. package/dist/NiceForm-COk1rNVa.js +5357 -0
  43. package/dist/NiceForm-CU8Dldq-.cjs +382 -0
  44. package/dist/NiceGestureHandler.doc-9GGvVnM5.cjs +8 -0
  45. package/dist/NiceGestureHandler.doc-BduQU3SA.js +32 -0
  46. package/dist/NiceHeader.doc-Cxoy_f_k.cjs +6 -0
  47. package/dist/NiceHeader.doc-DjAVl-T4.js +30 -0
  48. package/dist/NiceImage.doc-COy4iVy1.js +34 -0
  49. package/dist/NiceImage.doc-CvnaTRj8.cjs +10 -0
  50. package/dist/NiceInPlaceEditor.doc-8nC6Kqvn.cjs +1 -0
  51. package/dist/NiceInPlaceEditor.doc-gF1XPyu5.js +25 -0
  52. package/dist/NiceInteractiveTimeline.doc-BTeASFR4.js +50 -0
  53. package/dist/NiceInteractiveTimeline.doc-WMOVQhMe.cjs +11 -0
  54. package/dist/NiceJsonEditor.doc-BpVa-AlY.js +31 -0
  55. package/dist/NiceJsonEditor.doc-DeyoVDQw.cjs +7 -0
  56. package/dist/NiceMegaMenu.doc-CO34gN43.cjs +7 -0
  57. package/dist/NiceMegaMenu.doc-DpchTBL6.js +31 -0
  58. package/dist/NiceMentionInput.doc-O0W58Unu.js +32 -0
  59. package/dist/NiceMentionInput.doc-ZSPjBsZc.cjs +8 -0
  60. package/dist/NiceModal-CIITx65V.cjs +1 -0
  61. package/dist/NiceModal-CN23FZsc.js +95 -0
  62. package/dist/NiceModuleLifecyclePanel-BDnsr5ZW.js +6349 -0
  63. package/dist/NiceModuleLifecyclePanel-F1uN0gMh.cjs +1 -0
  64. package/dist/NiceMotion.doc-COF5BldG.cjs +9 -0
  65. package/dist/NiceMotion.doc-utheTBgM.js +33 -0
  66. package/dist/NiceMultiColumnComboBox.doc-Ben0Q0J0.cjs +1 -0
  67. package/dist/NiceMultiColumnComboBox.doc-CK1DppZI.js +25 -0
  68. package/dist/NiceNotificationList.doc-CBWusjJX.cjs +7 -0
  69. package/dist/NiceNotificationList.doc-D7lQIxK0.js +31 -0
  70. package/dist/NiceOfflineSync.doc-BLQFyOf2.cjs +8 -0
  71. package/dist/NiceOfflineSync.doc-CKWFmR3b.js +32 -0
  72. package/dist/NicePagination-B4U0LwZy.js +171 -0
  73. package/dist/NicePagination-CGQf54a9.cjs +1 -0
  74. package/dist/NicePinCodeInput-DG_-eXXJ.cjs +419 -0
  75. package/dist/NicePinCodeInput-g-yUiepm.js +11875 -0
  76. package/dist/NicePreview.doc-Cl7_5MVR.js +30 -0
  77. package/dist/NicePreview.doc-atKISvmp.cjs +6 -0
  78. package/dist/NicePropertyGrid.doc-D6xljYe1.cjs +7 -0
  79. package/dist/NicePropertyGrid.doc-nX2etusg.js +31 -0
  80. package/dist/NiceRadio.doc-BTURz62X.js +27 -0
  81. package/dist/NiceRadio.doc-Cc8-1vbn.cjs +3 -0
  82. package/dist/NiceRecurrencePicker.doc-78HjPJm0.js +31 -0
  83. package/dist/NiceRecurrencePicker.doc-vC2YmCXF.cjs +7 -0
  84. package/dist/NiceRichTextEditor.doc-ClPCkzCd.cjs +6 -0
  85. package/dist/NiceRichTextEditor.doc-CtmV9UvX.js +30 -0
  86. package/dist/NiceSavedQueryPanel-CE3QR4RY.js +6446 -0
  87. package/dist/NiceSavedQueryPanel-DSnj-3Es.cjs +596 -0
  88. package/dist/NiceSceneSelector.doc-CY2OmaWQ.cjs +7 -0
  89. package/dist/NiceSceneSelector.doc-UsVgDrw1.js +31 -0
  90. package/dist/NiceScrollArea.doc-C6Y-odUa.js +27 -0
  91. package/dist/NiceScrollArea.doc-LdxDrGDY.cjs +3 -0
  92. package/dist/NiceSheet.doc-CsIu3Y1G.cjs +11 -0
  93. package/dist/NiceSheet.doc-DLfSY-MA.js +35 -0
  94. package/dist/NiceSpeedDial.doc-CSWvNR9n.cjs +7 -0
  95. package/dist/NiceSpeedDial.doc-DqnpBcMy.js +31 -0
  96. package/dist/NiceSplitPane.doc-Ck_FvdL6.cjs +9 -0
  97. package/dist/NiceSplitPane.doc-Di68JZuy.js +33 -0
  98. package/dist/NiceSpotlight.doc-CM4PnsHE.js +34 -0
  99. package/dist/NiceSpotlight.doc-Dm_B-kUJ.cjs +10 -0
  100. package/dist/NiceStepNavigation.doc-DXraCs7t.js +31 -0
  101. package/dist/NiceStepNavigation.doc-TSy2dWmf.cjs +7 -0
  102. package/dist/NiceSteps.doc-C_mkhnez.cjs +10 -0
  103. package/dist/NiceSteps.doc-PW1zubHM.js +34 -0
  104. package/dist/NiceSwitch.doc-CLc7OxrE.cjs +6 -0
  105. package/dist/NiceSwitch.doc-dGMMY4es.js +30 -0
  106. package/dist/NiceTabs-32xjguOv.cjs +1 -0
  107. package/dist/NiceTabs-Blk0h4jY.js +1624 -0
  108. package/dist/NiceTransition.doc-BmImVoB8.js +35 -0
  109. package/dist/NiceTransition.doc-GA1N91ON.cjs +11 -0
  110. package/dist/NiceTree.doc-D7SCXljC.js +40 -0
  111. package/dist/NiceTree.doc-DZx3hUwY.cjs +16 -0
  112. package/dist/NiceUnitConverter.doc-DmiyYOH_.cjs +10 -0
  113. package/dist/NiceUnitConverter.doc-YnzD3uKT.js +34 -0
  114. package/dist/NiceVirtualGrid.doc-DI2c9ckY.js +35 -0
  115. package/dist/NiceVirtualGrid.doc-rtwudxTG.cjs +11 -0
  116. package/dist/NiceVirtualList.doc-BpoTiXoV.js +31 -0
  117. package/dist/NiceVirtualList.doc-C8q-Hfl0.cjs +7 -0
  118. package/dist/NiceWindow-B4jA_-hi.js +1409 -0
  119. package/dist/NiceWindow-UpKllge7.cjs +1 -0
  120. package/dist/charts-0BEMJ0Xt.js +4657 -0
  121. package/dist/charts-CbxmU6Z2.cjs +761 -0
  122. package/dist/charts.cjs +1 -1
  123. package/dist/charts.d.ts +19 -19
  124. package/dist/charts.mjs +1 -1
  125. package/dist/core-BIA5_uSq.js +22316 -0
  126. package/dist/core-DQYnL6uf.cjs +96 -0
  127. package/dist/data.cjs +1 -1
  128. package/dist/data.mjs +1 -1
  129. package/dist/editors.cjs +1 -1
  130. package/dist/editors.mjs +3 -3
  131. package/dist/feedback.cjs +1 -1
  132. package/dist/feedback.d.ts +10 -10
  133. package/dist/feedback.mjs +2 -2
  134. package/dist/index-BjBsn6ad.cjs +5194 -0
  135. package/dist/index-C2Uoywo9.js +63852 -0
  136. package/dist/index.cjs +1 -1
  137. package/dist/index.css +1 -1
  138. package/dist/index.d.ts +1631 -53
  139. package/dist/index.mjs +943 -895
  140. package/dist/lazy.cjs +1 -1
  141. package/dist/lazy.d.ts +4 -3
  142. package/dist/lazy.mjs +3 -3
  143. package/dist/navigation.cjs +1 -1
  144. package/dist/navigation.mjs +4 -4
  145. package/dist/overlays.cjs +1 -1
  146. package/dist/overlays.mjs +2 -2
  147. package/dist/style.css +1 -1
  148. package/package.json +3 -3
package/dist/index.d.ts CHANGED
@@ -6995,6 +6995,30 @@ export declare interface NiceAddressValue {
6995
6995
  country?: string;
6996
6996
  }
6997
6997
 
6998
+ /**
6999
+ * Fixes a child element to the viewport once the user scrolls past a
7000
+ * threshold. Implemented via a scroll listener (not `position: sticky`)
7001
+ * so we can fire `onChange` and use either an `offsetTop` OR an
7002
+ * `offsetBottom` anchor independently of the parent's overflow setup.
7003
+ *
7004
+ * To preserve the document's flow when affixed, we render a same-size
7005
+ * placeholder in the element's original position.
7006
+ */
7007
+ export declare const NiceAffix: default_2.FC<NiceAffixProps>;
7008
+
7009
+ /** Props for {@link NiceAffix} — sticky-position wrapper with offset triggers. */
7010
+ export declare interface NiceAffixProps extends NiceStandardProps {
7011
+ children: default_2.ReactNode;
7012
+ /** Distance from the viewport top at which the element fixes. Either `offsetTop` OR `offsetBottom`. */
7013
+ offsetTop?: number;
7014
+ /** Distance from the viewport bottom at which the element fixes. */
7015
+ offsetBottom?: number;
7016
+ /** Scrollable container; defaults to `window`. */
7017
+ target?: () => HTMLElement | Window;
7018
+ /** Fires when the element transitions between affixed / un-affixed. */
7019
+ onChange?: (affixed: boolean) => void;
7020
+ }
7021
+
6998
7022
  /** Supported aggregate functions for column footers. */
6999
7023
  export declare type NiceAggregateType = 'sum' | 'avg' | 'count' | 'min' | 'max';
7000
7024
 
@@ -7005,7 +7029,7 @@ export { NiceAIProvider }
7005
7029
  export declare const NiceAlert: default_2.FC<NiceAlertProps>;
7006
7030
 
7007
7031
  /** Props for the {@link NiceAlert} component — a status message bar (info/success/warning/error). */
7008
- export declare interface NiceAlertProps extends NiceBaseProps {
7032
+ export declare interface NiceAlertProps extends NiceStandardProps {
7009
7033
  /** Alert size. */
7010
7034
  size?: NiceSize;
7011
7035
  /** Visual variant determining color and icon. */
@@ -7099,6 +7123,40 @@ export declare interface NiceAnalyticsTrackerProps {
7099
7123
  cookieless?: boolean;
7100
7124
  }
7101
7125
 
7126
+ /**
7127
+ * Table-of-contents navigation. Each item points to an element by
7128
+ * `id`. Clicking scrolls to it; an `IntersectionObserver` highlights
7129
+ * the currently-visible heading as users scroll the page (scroll-spy).
7130
+ *
7131
+ * Affixing uses CSS `position: sticky` (no fixed positioning) so it
7132
+ * stays nicely inside whatever parent container it's dropped into.
7133
+ */
7134
+ export declare const NiceAnchor: default_2.FC<NiceAnchorProps>;
7135
+
7136
+ /** Single entry in the {@link NiceAnchor} list. */
7137
+ export declare interface NiceAnchorItem {
7138
+ /** Element id to scroll to (without `#`). */
7139
+ href: string;
7140
+ /** Display label. */
7141
+ title: string;
7142
+ /** Nested anchor items for sub-headings. */
7143
+ children?: NiceAnchorItem[];
7144
+ }
7145
+
7146
+ /** Props for {@link NiceAnchor} — table-of-contents navigation list. */
7147
+ export declare interface NiceAnchorProps extends NiceStandardProps {
7148
+ /** Flat or nested list of headings. */
7149
+ items: NiceAnchorItem[];
7150
+ /** Render as `position: sticky` so the list stays on screen while scrolling. */
7151
+ affix?: boolean;
7152
+ /** Top offset (px) for `position: sticky` placement. */
7153
+ offsetTop?: number;
7154
+ /** Pixel offset applied to `scrollIntoView`-style jumps (compensates for fixed headers). */
7155
+ targetOffset?: number;
7156
+ /** Fires whenever the active item changes via scroll-spy. */
7157
+ onChange?: (href: string) => void;
7158
+ }
7159
+
7102
7160
  export { NiceAnimationConfig }
7103
7161
 
7104
7162
  export { NiceAnimationPreset }
@@ -7189,6 +7247,26 @@ export { NiceAriaProps }
7189
7247
 
7190
7248
  export { NiceArrayDataSourceConfig }
7191
7249
 
7250
+ /**
7251
+ * Container that uses CSS `aspect-ratio` to keep its width/height
7252
+ * proportional. Child elements should be 100%-sized — `<img>` /
7253
+ * `<video>` / `<iframe>` work naturally, and any positioned element
7254
+ * with `inset: 0` will fill the box.
7255
+ */
7256
+ export declare const NiceAspectRatio: default_2.FC<NiceAspectRatioProps>;
7257
+
7258
+ /** Props for {@link NiceAspectRatio} — maintains a width:height ratio while flexing horizontally. */
7259
+ export declare interface NiceAspectRatioProps extends NiceStandardProps {
7260
+ children: default_2.ReactNode;
7261
+ /**
7262
+ * Aspect ratio expressed as a single number (`16 / 9 = 1.777…`) or
7263
+ * a CSS shorthand string (`'16/9'`, `'4 / 3'`).
7264
+ */
7265
+ ratio?: number | string;
7266
+ /** Optional cap on the rendered width. */
7267
+ maxWidth?: number | string;
7268
+ }
7269
+
7192
7270
  export declare type NiceAuditAction = 'create' | 'update' | 'delete' | 'view' | 'export' | 'import' | 'login' | 'logout' | 'custom';
7193
7271
 
7194
7272
  export declare interface NiceAuditEntry {
@@ -7408,7 +7486,7 @@ export declare const NiceAvatar: default_2.FC<NiceAvatarProps>;
7408
7486
  export declare const NiceAvatarGroup: default_2.FC<NiceAvatarGroupProps>;
7409
7487
 
7410
7488
  /** Props for the {@link NiceAvatarGroup} component — stacks multiple {@link NiceAvatar} elements with a "+N" overflow indicator. */
7411
- export declare interface NiceAvatarGroupProps extends NiceBaseProps {
7489
+ export declare interface NiceAvatarGroupProps extends NiceStandardProps {
7412
7490
  /** Avatar group size. */
7413
7491
  size?: NiceSize;
7414
7492
  /** NiceAvatar elements to display. */
@@ -7418,7 +7496,7 @@ export declare interface NiceAvatarGroupProps extends NiceBaseProps {
7418
7496
  }
7419
7497
 
7420
7498
  /** Props for the {@link NiceAvatar} component — a user avatar with image, initials, or fallback. */
7421
- export declare interface NiceAvatarProps extends NiceBaseProps {
7499
+ export declare interface NiceAvatarProps extends NiceStandardProps {
7422
7500
  /** Image URL. */
7423
7501
  src?: string;
7424
7502
  /** Alt text for the image. */
@@ -7433,6 +7511,31 @@ export declare interface NiceAvatarProps extends NiceBaseProps {
7433
7511
  color?: string;
7434
7512
  }
7435
7513
 
7514
+ /**
7515
+ * Floating "back to top" button. Listens to its target's scroll
7516
+ * position and reveals itself once the user has scrolled past
7517
+ * `visibilityHeight`. Click scrolls smoothly back to the top
7518
+ * with the configured `duration`.
7519
+ */
7520
+ export declare const NiceBackTop: default_2.FC<NiceBackTopProps>;
7521
+
7522
+ /** Props for {@link NiceBackTop} — floating "back to top" button. */
7523
+ export declare interface NiceBackTopProps extends NiceStandardProps {
7524
+ /** Scroll distance (px) that must elapse before the button appears. */
7525
+ visibilityHeight?: number;
7526
+ /**
7527
+ * Function that returns the scrollable container. Defaults to
7528
+ * `window` (the document scroller). Use for scoped panes.
7529
+ */
7530
+ target?: () => HTMLElement | Window;
7531
+ /** Animation duration in ms. Used by the easing tween. */
7532
+ duration?: number;
7533
+ /** Override the button's default ↑ glyph. */
7534
+ children?: default_2.ReactNode;
7535
+ /** Fires after the scroll-to-top finishes. */
7536
+ onScroll?: () => void;
7537
+ }
7538
+
7436
7539
  export declare function NiceBackupDiffViewer({ diffs, title, defaultMode, defaultActions, className, style, }: NiceBackupDiffViewerProps): JSX_2.Element;
7437
7540
 
7438
7541
  export declare interface NiceBackupDiffViewerProps {
@@ -7561,7 +7664,7 @@ export declare interface NiceBackupTagEditorProps {
7561
7664
  export declare const NiceBadge: default_2.FC<NiceBadgeProps>;
7562
7665
 
7563
7666
  /** Props for the {@link NiceBadge} component — a small status label or counter chip. */
7564
- export declare interface NiceBadgeProps extends NiceBaseProps {
7667
+ export declare interface NiceBadgeProps extends NiceStandardProps {
7565
7668
  /** Badge content (text, number, etc.). */
7566
7669
  children: default_2.ReactNode;
7567
7670
  /** Visual variant controlling the colour scheme. */
@@ -7584,7 +7687,7 @@ export declare type NiceBarcodeFormat = 'CODE128' | 'CODE39' | 'EAN13' | 'EAN8'
7584
7687
  export declare const NiceBarcodeGenerator: ForwardRefExoticComponent<NiceBarcodeGeneratorProps & RefAttributes<HTMLCanvasElement>>;
7585
7688
 
7586
7689
  /** Props for the {@link NiceBarcodeGenerator} component — renders a barcode on a `<canvas>`. */
7587
- export declare interface NiceBarcodeGeneratorProps extends NiceBaseProps {
7690
+ export declare interface NiceBarcodeGeneratorProps extends NiceStandardProps {
7588
7691
  /** Text value to encode. */
7589
7692
  value: string;
7590
7693
  /** Barcode symbology (default CODE128). */
@@ -7620,7 +7723,7 @@ declare interface NiceBarGaugeItem {
7620
7723
  }
7621
7724
 
7622
7725
  /** Props for the {@link NiceBarGauge} component — a circular segmented bar gauge. */
7623
- export declare interface NiceBarGaugeProps extends NiceBaseProps {
7726
+ export declare interface NiceBarGaugeProps extends NiceStandardProps {
7624
7727
  /** Gauge items. */
7625
7728
  items: NiceBarGaugeItem[];
7626
7729
  /** Minimum scale value. */
@@ -7643,6 +7746,33 @@ export declare interface NiceBarGaugeProps extends NiceBaseProps {
7643
7746
 
7644
7747
  export { NiceBaseProps }
7645
7748
 
7749
+ /**
7750
+ * Renders a semantic `<blockquote>` with optional citation + author
7751
+ * attribution. Three visual variants (`default`, `bordered`, `filled`)
7752
+ * map onto BEM modifier classes so consumers can re-theme via CSS
7753
+ * tokens without rewriting markup.
7754
+ */
7755
+ export declare const NiceBlockquote: default_2.FC<NiceBlockquoteProps>;
7756
+
7757
+ /**
7758
+ * Props for {@link NiceBlockquote} — styled quote / pull-quote block.
7759
+ *
7760
+ * NOTE: We omit `NiceStandardProps.variant` because here `variant` is a local
7761
+ * visual style ('bordered' / 'filled' / 'default') rather than the design-system
7762
+ * `NiceVariant` (primary/secondary/…).
7763
+ */
7764
+ export declare interface NiceBlockquoteProps extends Omit<NiceStandardProps, 'variant'> {
7765
+ children: default_2.ReactNode;
7766
+ /** Citation source URL (sets the native `cite` attribute on `<blockquote>`). */
7767
+ cite?: string;
7768
+ /** Display author/attribution line below the quote. */
7769
+ author?: string;
7770
+ /** Visual variant. */
7771
+ variant?: NiceBlockquoteVariant;
7772
+ }
7773
+
7774
+ export declare type NiceBlockquoteVariant = 'default' | 'bordered' | 'filled';
7775
+
7646
7776
  export declare const NiceBlockUI: default_2.ForwardRefExoticComponent<NiceBlockUIProps & default_2.RefAttributes<HTMLDivElement>>;
7647
7777
 
7648
7778
  /** Props for the {@link NiceBlockUI} component — an overlay that blocks user interaction on its children. */
@@ -7787,7 +7917,7 @@ export declare const NiceBullet: default_2.FC<NiceBulletProps>;
7787
7917
  declare type NiceBulletLabelPlacement = 'top' | 'left' | 'right' | 'bottom' | 'none';
7788
7918
 
7789
7919
  /** Props for the {@link NiceBullet} component — a horizontal bullet chart comparing actual vs. target. */
7790
- export declare interface NiceBulletProps extends NiceBaseProps {
7920
+ export declare interface NiceBulletProps extends Omit<NiceStandardProps, 'size'> {
7791
7921
  /** Actual value. */
7792
7922
  value: number;
7793
7923
  /** Target / goal value. */
@@ -7948,8 +8078,65 @@ export declare interface NiceCalendarProps extends NiceBaseProps, TracelessStora
7948
8078
 
7949
8079
  export declare type NiceCalendarView = 'days' | 'months' | 'years' | 'decade';
7950
8080
 
8081
+ /**
8082
+ * Stationary callout block — like an `<Alert>` but without the
8083
+ * connotations of a dismissable system notification. Use to highlight
8084
+ * caveats inline within docs / forms / settings panes.
8085
+ *
8086
+ * `closable` callouts use local state so the component is usable
8087
+ * without a controlled-close wire-up. Use `onClose` for analytics
8088
+ * or to also remove the entry from a parent collection.
8089
+ */
8090
+ export declare const NiceCallout: default_2.FC<NiceCalloutProps>;
8091
+
8092
+ /** Props for {@link NiceCallout} — non-interactive informational block. */
8093
+ export declare interface NiceCalloutProps extends NiceStandardProps {
8094
+ children: default_2.ReactNode;
8095
+ /** Semantic intent — drives colour + default glyph + ARIA role. */
8096
+ type?: NiceCalloutType;
8097
+ /** Optional heading rendered above the body. */
8098
+ title?: string;
8099
+ /** Override the default glyph for the chosen `type`. */
8100
+ icon?: default_2.ReactNode;
8101
+ /** Render an "x" button that dismisses the callout. */
8102
+ closable?: boolean;
8103
+ /** Fires when the user dismisses the callout. */
8104
+ onClose?: () => void;
8105
+ }
8106
+
8107
+ export declare type NiceCalloutType = 'info' | 'warning' | 'error' | 'success' | 'tip';
8108
+
7951
8109
  export declare const NiceCard: default_2.FC<NiceCardProps>;
7952
8110
 
8111
+ /**
8112
+ * Card grid via native CSS Grid. When `columns` is a number we set
8113
+ * `grid-template-columns: repeat(N, 1fr)` once. When it's a
8114
+ * breakpoint map we emit a tiny scoped `<style>` with CSS variable
8115
+ * overrides per `@media (min-width: …)` so the layout reflows
8116
+ * without JS resize listeners.
8117
+ */
8118
+ export declare const NiceCardGrid: default_2.FC<NiceCardGridProps>;
8119
+
8120
+ /** Responsive columns config — either a fixed number OR per-breakpoint. */
8121
+ export declare type NiceCardGridColumns = number | {
8122
+ xs?: number;
8123
+ sm?: number;
8124
+ md?: number;
8125
+ lg?: number;
8126
+ xl?: number;
8127
+ };
8128
+
8129
+ /** Props for {@link NiceCardGrid} — CSS-Grid card layout with responsive columns. */
8130
+ export declare interface NiceCardGridProps extends NiceStandardProps {
8131
+ children: default_2.ReactNode;
8132
+ /** Column count. Fixed number OR breakpoint map (`xs`/`sm`/`md`/`lg`/`xl`). */
8133
+ columns?: NiceCardGridColumns;
8134
+ /** Gap between cards. */
8135
+ gap?: number | string;
8136
+ /** Add a subtle elevation/transform on hover to each direct child. */
8137
+ hoverable?: boolean;
8138
+ }
8139
+
7953
8140
  /** Props for the {@link NiceCard} component — a bordered content container with optional header and footer. */
7954
8141
  export declare interface NiceCardProps extends NiceBaseProps {
7955
8142
  /** Card size. */
@@ -8007,7 +8194,7 @@ export declare interface NiceCardViewProps<T extends NiceCardViewItem = NiceCard
8007
8194
  export declare const NiceCarousel: default_2.ForwardRefExoticComponent<NiceCarouselProps & default_2.RefAttributes<HTMLDivElement>>;
8008
8195
 
8009
8196
  /** Props for the {@link NiceCarousel} component — a swipeable slide show with arrows, dots, and auto-play. */
8010
- export declare interface NiceCarouselProps extends NiceBaseProps {
8197
+ export declare interface NiceCarouselProps extends NiceStandardProps {
8011
8198
  /** Array of items to display */
8012
8199
  items: default_2.ReactNode[];
8013
8200
  /** How many visible slides at a time (default: 1) */
@@ -8028,12 +8215,73 @@ export declare interface NiceCarouselProps extends NiceBaseProps {
8028
8215
  size?: NiceSize;
8029
8216
  }
8030
8217
 
8218
+ /** Hierarchical option in a {@link NiceCascadeSelect} tree. */
8219
+ export declare interface NiceCascadeOption {
8220
+ /** Identifier used in the selected-values path. */
8221
+ value: string;
8222
+ /** Display label. */
8223
+ label: default_2.ReactNode;
8224
+ /** Children — when present, this option is expandable. */
8225
+ children?: NiceCascadeOption[];
8226
+ /** Disable picking this option (children still selectable). */
8227
+ disabled?: boolean;
8228
+ }
8229
+
8230
+ /**
8231
+ * Multi-column cascading dropdown. Click an option in column N to
8232
+ * either commit the selection (leaf) or open its children in
8233
+ * column N+1. The selected path renders as `Label1 / Label2 / …`.
8234
+ *
8235
+ * Built without portals so it lives inside the document flow — fine
8236
+ * for sidebar pickers; consumers wrapping into modals should bring
8237
+ * their own positioning if needed.
8238
+ */
8239
+ export declare const NiceCascadeSelect: default_2.FC<NiceCascadeSelectProps>;
8240
+
8241
+ /** Props for {@link NiceCascadeSelect} — multi-column cascading dropdown. */
8242
+ export declare interface NiceCascadeSelectProps extends NiceStandardProps {
8243
+ /** Top-level option tree. */
8244
+ options: NiceCascadeOption[];
8245
+ /** Controlled selection path (root → leaf). */
8246
+ value?: string[];
8247
+ /** Default selection path (uncontrolled). */
8248
+ defaultValue?: string[];
8249
+ /** Fires whenever the user selects a path. */
8250
+ onChange?: (values: string[]) => void;
8251
+ /** Placeholder when nothing is selected. Defaults to translated `'Select'`. */
8252
+ placeholder?: string;
8253
+ /** Disable the trigger. */
8254
+ disabled?: boolean;
8255
+ }
8256
+
8031
8257
  export declare interface NiceCategoryPref {
8032
8258
  categoryId: string;
8033
8259
  channels: Record<string, boolean>;
8034
8260
  priority: 'all' | 'high' | 'critical';
8035
8261
  }
8036
8262
 
8263
+ /**
8264
+ * Centers its children horizontally and/or vertically using flexbox.
8265
+ *
8266
+ * Defaults to centering on both axes, which mirrors the common
8267
+ * `display: flex; place-items: center` pattern.
8268
+ */
8269
+ export declare const NiceCenter: default_2.FC<NiceCenterProps>;
8270
+
8271
+ /** Props for {@link NiceCenter} — flex-based content centering wrapper. */
8272
+ export declare interface NiceCenterProps extends NiceStandardProps {
8273
+ /** Content to center. */
8274
+ children: default_2.ReactNode;
8275
+ /** Center horizontally. */
8276
+ horizontal?: boolean;
8277
+ /** Center vertically. */
8278
+ vertical?: boolean;
8279
+ /** Render as `inline-flex` instead of `flex` (wraps to content). */
8280
+ inline?: boolean;
8281
+ /** Minimum container height — useful when only `vertical` centering is meaningful. */
8282
+ minHeight?: number | string;
8283
+ }
8284
+
8037
8285
  export declare interface NiceChangelogEntry {
8038
8286
  version: string;
8039
8287
  date?: string;
@@ -8094,7 +8342,7 @@ export declare interface NiceChartAnnotation {
8094
8342
  * Props for the NiceChart component — an SVG-based bar, line, and area chart
8095
8343
  * with stacking, zoom, crosshair, annotations, legend interaction and PNG export.
8096
8344
  */
8097
- export declare interface NiceChartProps extends NiceBaseProps {
8345
+ export declare interface NiceChartProps extends NiceStandardProps {
8098
8346
  series: NiceChartSeries[];
8099
8347
  categories?: string[];
8100
8348
  width?: number;
@@ -8175,6 +8423,45 @@ export declare interface NiceChatProps extends NiceBaseProps {
8175
8423
 
8176
8424
  export declare const NiceCheckbox: default_2.ForwardRefExoticComponent<NiceCheckboxProps & default_2.RefAttributes<HTMLInputElement>>;
8177
8425
 
8426
+ /**
8427
+ * Renders a `role="group"` of native `<input type="checkbox">` for
8428
+ * multi-selection. Keeps controlled / uncontrolled state in sync via
8429
+ * the standard pattern.
8430
+ */
8431
+ export declare function NiceCheckboxGroup<T = string>({ value, defaultValue, options, disabled, direction, name, onChange, className, style, }: NiceCheckboxGroupProps<T>): default_2.ReactElement;
8432
+
8433
+ export declare namespace NiceCheckboxGroup {
8434
+ var displayName: string;
8435
+ }
8436
+
8437
+ /** Single option in {@link NiceCheckboxGroup}. `value` is the form value persisted in the group state. */
8438
+ export declare interface NiceCheckboxGroupOption<T = string> {
8439
+ label: default_2.ReactNode;
8440
+ value: T;
8441
+ disabled?: boolean;
8442
+ }
8443
+
8444
+ /**
8445
+ * Props for {@link NiceCheckboxGroup} — a multi-select checkbox set
8446
+ * backed by an array of selected values.
8447
+ */
8448
+ export declare interface NiceCheckboxGroupProps<T = string> extends NiceStandardProps {
8449
+ /** Controlled selected values. */
8450
+ value?: T[];
8451
+ /** Default selected values (uncontrolled). */
8452
+ defaultValue?: T[];
8453
+ /** Available options. */
8454
+ options: NiceCheckboxGroupOption<T>[];
8455
+ /** Disable every option. Per-option `disabled` still respected if false. */
8456
+ disabled?: boolean;
8457
+ /** Layout direction. */
8458
+ direction?: 'horizontal' | 'vertical';
8459
+ /** Optional accessible group name (sets `aria-label` on the wrapper). */
8460
+ name?: string;
8461
+ /** Fires whenever the selected set changes. */
8462
+ onChange?: (values: T[]) => void;
8463
+ }
8464
+
8178
8465
  /** Props for the {@link NiceCheckbox} component. */
8179
8466
  export declare interface NiceCheckboxProps extends NiceBaseProps {
8180
8467
  /** Checkbox label. */
@@ -8216,7 +8503,7 @@ export declare interface NiceCheckboxProps extends NiceBaseProps {
8216
8503
  export declare const NiceCircularGauge: default_2.FC<NiceCircularGaugeProps>;
8217
8504
 
8218
8505
  /** Props for the {@link NiceCircularGauge} component — an arc-based circular gauge with configurable ranges. */
8219
- export declare interface NiceCircularGaugeProps extends NiceBaseProps {
8506
+ export declare interface NiceCircularGaugeProps extends NiceStandardProps {
8220
8507
  /** Current gauge value. */
8221
8508
  value: number;
8222
8509
  /** Minimum scale value. */
@@ -8249,6 +8536,27 @@ export declare interface NiceCircularGaugeProps extends NiceBaseProps {
8249
8536
 
8250
8537
  export declare const NiceClassicShell: ForwardRefExoticComponent<NiceShellProps & RefAttributes<HTMLDivElement>>;
8251
8538
 
8539
+ /**
8540
+ * Component form of the `useClickOutside` hook — useful when you
8541
+ * already have a JSX tree and don't want to thread a ref through it.
8542
+ * Listens for `mousedown` by default plus `touchstart` for parity
8543
+ * with the hook.
8544
+ */
8545
+ export declare const NiceClickOutside: default_2.FC<NiceClickOutsideProps>;
8546
+
8547
+ export declare type NiceClickOutsideEvent = 'mousedown' | 'mouseup' | 'click';
8548
+
8549
+ /** Props for {@link NiceClickOutside} — declarative outside-click detector. */
8550
+ export declare interface NiceClickOutsideProps extends NiceStandardProps {
8551
+ children: default_2.ReactNode;
8552
+ /** Fires when a click lands outside the wrapper. */
8553
+ onClickOutside: (event: MouseEvent | TouchEvent) => void;
8554
+ /** Pause detection (effectively no-op). */
8555
+ disabled?: boolean;
8556
+ /** Which pointer event to listen for. `mousedown` matches the common dropdown-close convention. */
8557
+ mouseEvent?: NiceClickOutsideEvent;
8558
+ }
8559
+
8252
8560
  export declare interface NiceCodeCompletionItem {
8253
8561
  /** Label displayed in completion list */
8254
8562
  label: string;
@@ -8609,6 +8917,81 @@ export declare interface NiceCodeTemplateProps extends NiceBaseProps {
8609
8917
 
8610
8918
  export declare type NiceCodeTheme = 'vs' | 'vs-dark' | 'hc-black' | 'hc-light' | 'auto';
8611
8919
 
8920
+ /**
8921
+ * Single-panel disclosure. Composes nicely with `NiceAccordion`-style
8922
+ * patterns where many `NiceCollapse` instances share a parent that
8923
+ * coordinates them.
8924
+ */
8925
+ export declare const NiceCollapse: default_2.FC<NiceCollapseProps>;
8926
+
8927
+ /**
8928
+ * Props for {@link NiceCollapse} — disclosure widget.
8929
+ *
8930
+ * Supports both controlled (`expanded` + `onExpandedChange`) and
8931
+ * uncontrolled (`defaultExpanded`) usage.
8932
+ */
8933
+ export declare interface NiceCollapseProps extends NiceStandardProps {
8934
+ /** Content shown when expanded. */
8935
+ children: default_2.ReactNode;
8936
+ /** Controlled expanded flag. When set, the component is fully driven by the parent. */
8937
+ expanded?: boolean;
8938
+ /** Default expanded state for uncontrolled usage. */
8939
+ defaultExpanded?: boolean;
8940
+ /** Fires on every toggle (controlled or uncontrolled). */
8941
+ onExpandedChange?: (expanded: boolean) => void;
8942
+ /**
8943
+ * Trigger element rendered above the panel. Receives accessibility
8944
+ * wiring via `aria-controls` / `aria-expanded` on the surrounding
8945
+ * button automatically.
8946
+ */
8947
+ trigger: default_2.ReactNode;
8948
+ /** Animate height transitions. Default true. */
8949
+ animated?: boolean;
8950
+ /** Disable toggling (trigger button gets `disabled`). */
8951
+ disabled?: boolean;
8952
+ }
8953
+
8954
+ /**
8955
+ * Visual card with a built-in collapse affordance. Same disclosure
8956
+ * semantics as `NiceCollapse` (ARIA `aria-expanded` + `aria-controls`)
8957
+ * with a card-specific chrome.
8958
+ *
8959
+ * Toggle button label flows through `useNiceTranslation` so the
8960
+ * chevron's `aria-label` follows the picker.
8961
+ */
8962
+ export declare const NiceCollapsibleCard: default_2.FC<NiceCollapsibleCardProps>;
8963
+
8964
+ /**
8965
+ * Props for {@link NiceCollapsibleCard} — card whose body collapses.
8966
+ *
8967
+ * `title` omitted from the standard prop bag because here it's a rich
8968
+ * ReactNode header (text/icon/etc.), not the tooltip-text string the
8969
+ * base prop describes.
8970
+ */
8971
+ export declare interface NiceCollapsibleCardProps extends Omit<NiceStandardProps, 'title'> {
8972
+ children: default_2.ReactNode;
8973
+ /** Card title (rendered in the header). */
8974
+ title: default_2.ReactNode;
8975
+ /** Extra header content rendered between title and chevron. */
8976
+ extra?: default_2.ReactNode;
8977
+ /** Default collapsed state for uncontrolled usage. */
8978
+ defaultCollapsed?: boolean;
8979
+ /** Controlled collapsed flag. */
8980
+ collapsed?: boolean;
8981
+ /** Fires on every toggle. */
8982
+ onCollapse?: (collapsed: boolean) => void;
8983
+ /**
8984
+ * Which surface acts as the toggle target:
8985
+ * - `'icon'` — only the chevron button toggles (clicking the title
8986
+ * text doesn't fire). Safer when the title is itself interactive
8987
+ * (link, ellipsis tooltip, …).
8988
+ * - `'header'` — the whole header row toggles. Friendlier on touch.
8989
+ */
8990
+ collapseTrigger?: NiceCollapsibleCardTrigger;
8991
+ }
8992
+
8993
+ export declare type NiceCollapsibleCardTrigger = 'header' | 'icon';
8994
+
8612
8995
  export declare const NiceColorPalette: default_2.ForwardRefExoticComponent<NiceColorPaletteProps & default_2.RefAttributes<HTMLDivElement>>;
8613
8996
 
8614
8997
  export declare interface NiceColorPaletteProps extends NiceBaseProps {
@@ -8753,6 +9136,61 @@ export declare interface NiceCommand {
8753
9136
  hidden?: boolean;
8754
9137
  }
8755
9138
 
9139
+ /**
9140
+ * Command palette — searchable, keyboard-driven command launcher.
9141
+ *
9142
+ * Search filters on `label` + `keywords`; results group under their
9143
+ * `category`. Down/Up moves the highlight, Enter runs the
9144
+ * highlighted command, Escape closes (if controlled).
9145
+ *
9146
+ * `shortcut` installs a document-level keydown listener that opens
9147
+ * the palette when the combo is pressed (and we control the open
9148
+ * state via `onOpenChange`).
9149
+ */
9150
+ export declare const NiceCommandBar: default_2.FC<NiceCommandBarProps>;
9151
+
9152
+ /** A single command in {@link NiceCommandBar}. */
9153
+ export declare interface NiceCommandBarCommand {
9154
+ /** Stable identifier (React key + dedupe). */
9155
+ id: string;
9156
+ /** Display label. */
9157
+ label: string;
9158
+ /** Optional category grouping (rendered as a section header). */
9159
+ category?: string;
9160
+ /** Optional secondary text rendered to the right (typically a hint). */
9161
+ hint?: string;
9162
+ /** Optional shortcut chip rendered on the right (e.g. `'Ctrl+K'`). */
9163
+ shortcut?: string;
9164
+ /** Optional glyph node rendered on the left. */
9165
+ icon?: default_2.ReactNode;
9166
+ /** When `true`, the command is rendered but not selectable. */
9167
+ disabled?: boolean;
9168
+ /** Handler invoked when the user picks this command. */
9169
+ onRun?: () => void;
9170
+ /** Free-form keywords used by the search filter in addition to `label`. */
9171
+ keywords?: string[];
9172
+ }
9173
+
9174
+ /** Props for {@link NiceCommandBar} — searchable command palette. */
9175
+ export declare interface NiceCommandBarProps extends NiceStandardProps {
9176
+ /** Command set. */
9177
+ commands: NiceCommandBarCommand[];
9178
+ /** Controlled visibility. When omitted the bar is always visible. */
9179
+ open?: boolean;
9180
+ /** Fires when open state changes (e.g. Escape closes). */
9181
+ onOpenChange?: (open: boolean) => void;
9182
+ /** Fires when a command is selected (also calls `command.onRun`). */
9183
+ onCommand?: (command: NiceCommandBarCommand) => void;
9184
+ /** Search placeholder. */
9185
+ placeholder?: string;
9186
+ /**
9187
+ * Optional keyboard shortcut that opens the palette. Pass any
9188
+ * combo like `'Ctrl+K'`, `'Meta+P'`. Order-insensitive (`'K+Ctrl'`
9189
+ * also works); modifiers: `Ctrl`/`Meta`/`Shift`/`Alt`.
9190
+ */
9191
+ shortcut?: string;
9192
+ }
9193
+
8756
9194
  export declare interface NiceCommandPaletteContextValue {
8757
9195
  registerCommand: (command: NiceCommand) => void;
8758
9196
  unregisterCommand: (id: string) => void;
@@ -9021,7 +9459,7 @@ declare interface NiceConditionalFormatRule {
9021
9459
  export declare const NiceConfirmDialog: default_2.FC<NiceConfirmDialogProps>;
9022
9460
 
9023
9461
  /** Props for the {@link NiceConfirmDialog} component — a confirmation modal with accept / reject buttons. */
9024
- export declare interface NiceConfirmDialogProps extends NiceBaseProps {
9462
+ export declare interface NiceConfirmDialogProps extends NiceStandardProps {
9025
9463
  /** Size variant. */
9026
9464
  size?: NiceSize;
9027
9465
  /** Whether the dialog is visible. */
@@ -9257,6 +9695,32 @@ export declare interface NiceContactPickerProps extends NiceFormFieldProps {
9257
9695
  maxSelections?: number;
9258
9696
  }
9259
9697
 
9698
+ /**
9699
+ * Centred page-content wrapper with a width cap by tier. Use for
9700
+ * page outer chrome / hero sections / article bodies.
9701
+ */
9702
+ export declare const NiceContainer: default_2.FC<NiceContainerProps>;
9703
+
9704
+ /**
9705
+ * Props for {@link NiceContainer} — page-content centering wrapper.
9706
+ *
9707
+ * `size` is omitted from the base bag because here it's a width
9708
+ * preset (`sm`…`xl`), not a density token.
9709
+ */
9710
+ export declare interface NiceContainerProps extends Omit<NiceStandardProps, 'size'> {
9711
+ children: default_2.ReactNode;
9712
+ /** Max-width preset. `'full'` removes the cap entirely. */
9713
+ size?: NiceContainerSize;
9714
+ /** Horizontal padding (number → px, string → raw CSS). */
9715
+ padding?: number | string;
9716
+ /** Auto-center horizontally via `margin-inline: auto`. Default `true`. */
9717
+ centered?: boolean;
9718
+ /** Force the container to consume full width regardless of `size`. */
9719
+ fluid?: boolean;
9720
+ }
9721
+
9722
+ export declare type NiceContainerSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
9723
+
9260
9724
  export declare const NiceContextMenu: default_2.FC<NiceContextMenuProps>;
9261
9725
 
9262
9726
  /** Props for the {@link NiceContextMenu} component — a right-click popup menu attached to a target element. */
@@ -9319,7 +9783,7 @@ export declare type NiceCookieCategory = 'necessary' | 'analytics' | 'marketing'
9319
9783
  export declare const NiceCookieConsent: ForwardRefExoticComponent<NiceCookieConsentProps & RefAttributes<HTMLDivElement>>;
9320
9784
 
9321
9785
  /** Props for the {@link NiceCookieConsent} component — a GDPR-style cookie consent banner with category toggles. */
9322
- export declare interface NiceCookieConsentProps extends NiceBaseProps {
9786
+ export declare interface NiceCookieConsentProps extends NiceStandardProps {
9323
9787
  /** Show the banner when `true`. */
9324
9788
  visible?: boolean;
9325
9789
  /** Called when the user accepts all categories. */
@@ -9342,8 +9806,57 @@ export declare interface NiceCookieConsentProps extends NiceBaseProps {
9342
9806
  showDetails?: boolean;
9343
9807
  }
9344
9808
 
9809
+ /**
9810
+ * Single-click clipboard copy with timed "Copied!" feedback. Uses the
9811
+ * async Clipboard API where available and falls back to legacy
9812
+ * `document.execCommand('copy')` so it works in older / non-secure
9813
+ * contexts (test pages, Electron, etc.).
9814
+ *
9815
+ * The success label and default body text both run through
9816
+ * `useNiceTranslation`, so the button follows the global locale
9817
+ * without any prop wiring.
9818
+ */
9819
+ export declare const NiceCopyButton: default_2.FC<NiceCopyButtonProps>;
9820
+
9821
+ /** Props for {@link NiceCopyButton} — click-to-clipboard with timed feedback. */
9822
+ export declare interface NiceCopyButtonProps extends Omit<NiceStandardProps, 'variant'> {
9823
+ /** Text payload that gets copied. */
9824
+ text: string;
9825
+ /** Optional button content. Defaults to "Copy" / a clipboard glyph based on variant. */
9826
+ children?: default_2.ReactNode;
9827
+ /** Fires on successful copy with the same text that landed on the clipboard. */
9828
+ onCopy?: (text: string) => void;
9829
+ /**
9830
+ * Label shown briefly after a successful copy. Defaults to the
9831
+ * translated `copy.success` ("Copied!") so it follows the global
9832
+ * language picker.
9833
+ */
9834
+ successMessage?: string;
9835
+ /** How long the success state stays visible, in ms. */
9836
+ timeout?: number;
9837
+ /** Visual variant — `'icon'` renders a compact icon-only button. */
9838
+ variant?: NiceCopyButtonVariant;
9839
+ }
9840
+
9841
+ export declare type NiceCopyButtonVariant = 'button' | 'icon';
9842
+
9843
+ /**
9844
+ * Counts down to `targetDate`. Updates once per second via a single
9845
+ * shared interval. When time runs out the display freezes at zero
9846
+ * and `onComplete` fires exactly once.
9847
+ *
9848
+ * Labels for the `full` format go through `useNiceTranslation`
9849
+ * (`countdown.days` / `.hours` / `.minutes` / `.seconds`) so the
9850
+ * countdown follows the global language picker. The whole region
9851
+ * also carries `aria-live="polite"` so screen readers announce the
9852
+ * remaining time changes without interrupting.
9853
+ */
9854
+ export declare const NiceCountdown: default_2.FC<NiceCountdownProps>;
9855
+
9856
+ export declare type NiceCountdownFormat = 'full' | 'compact' | 'minimal';
9857
+
9345
9858
  /** Built-in countdown format presets. */
9346
- declare type NiceCountdownFormat =
9859
+ declare type NiceCountdownFormat_2 =
9347
9860
  /** `1d 02:34:15` / `02:34:15` — leading day count + clock */
9348
9861
  'verbose'
9349
9862
  /** `1d 2h 34m 15s` — abbreviated units */
@@ -9355,6 +9868,35 @@ declare type NiceCountdownFormat =
9355
9868
  /** `1 day, 2 hours, 34 minutes` — verbose words */
9356
9869
  | 'words';
9357
9870
 
9871
+ /** Optional label overrides for the four time units. */
9872
+ export declare interface NiceCountdownLabels {
9873
+ days?: string;
9874
+ hours?: string;
9875
+ minutes?: string;
9876
+ seconds?: string;
9877
+ }
9878
+
9879
+ /** Props for {@link NiceCountdown} — live countdown to a target Date. */
9880
+ export declare interface NiceCountdownProps extends NiceStandardProps {
9881
+ /** Target instant. Component re-renders every second until this time. */
9882
+ targetDate: Date;
9883
+ /** Fires once when the countdown reaches zero or below. */
9884
+ onComplete?: () => void;
9885
+ /**
9886
+ * Display variant:
9887
+ * - `full` — label per unit (`2 days 3 hours …`)
9888
+ * - `compact` — digits + single-letter labels (`2d 3h 4m 5s`)
9889
+ * - `minimal` — `HH:MM:SS` style (drops days when not shown)
9890
+ */
9891
+ format?: NiceCountdownFormat;
9892
+ showDays?: boolean;
9893
+ showHours?: boolean;
9894
+ showMinutes?: boolean;
9895
+ showSeconds?: boolean;
9896
+ /** Override labels for the `full` format. Falls back to translated values. */
9897
+ labels?: NiceCountdownLabels;
9898
+ }
9899
+
9358
9900
  export declare const NiceCountryPicker: default_2.FC<NiceCountryPickerProps>;
9359
9901
 
9360
9902
  export declare interface NiceCountryPickerProps extends NiceFormFieldProps, DualVisibilityProps {
@@ -9412,6 +9954,35 @@ export declare interface NiceCountryPickerProps extends NiceFormFieldProps, Dual
9412
9954
  'data-testid'?: string;
9413
9955
  }
9414
9956
 
9957
+ /**
9958
+ * Tween a number from `start` to `end` over `duration` seconds using
9959
+ * `requestAnimationFrame` and an ease-out cubic curve. The DOM is
9960
+ * updated via local state on each frame; live values use the original
9961
+ * `end` for `aria-label` so assistive tech reads the destination
9962
+ * value once instead of every intermediate tick.
9963
+ */
9964
+ export declare const NiceCountUp: default_2.FC<NiceCountUpProps>;
9965
+
9966
+ /** Props for {@link NiceCountUp} — animated counter from `start` → `end`. */
9967
+ export declare interface NiceCountUpProps extends NiceStandardProps {
9968
+ /** End value (required). */
9969
+ end: number;
9970
+ /** Starting value. Defaults to 0. */
9971
+ start?: number;
9972
+ /** Animation duration in **seconds**. */
9973
+ duration?: number;
9974
+ /** Decimal places to render (toFixed). */
9975
+ decimals?: number;
9976
+ /** Prefix glyph / currency symbol. */
9977
+ prefix?: string;
9978
+ /** Suffix glyph (e.g. `'%'`). */
9979
+ suffix?: string;
9980
+ /** Thousands separator passed to `Number.toLocaleString` via locale formatting. */
9981
+ separator?: string;
9982
+ /** Fires once after the tween reaches `end`. */
9983
+ onComplete?: () => void;
9984
+ }
9985
+
9415
9986
  export declare const NiceCropEditor: default_2.FC<NiceCropEditorProps>;
9416
9987
 
9417
9988
  export declare interface NiceCropEditorProps {
@@ -10272,7 +10843,7 @@ export declare interface NiceDisplayStylePickerProps extends NiceBaseProps {
10272
10843
  export declare const NiceDivider: default_2.FC<NiceDividerProps>;
10273
10844
 
10274
10845
  /** Props for the {@link NiceDivider} component — a horizontal/vertical separator line with optional text. */
10275
- export declare interface NiceDividerProps extends NiceBaseProps {
10846
+ export declare interface NiceDividerProps extends NiceStandardProps {
10276
10847
  /** Divider size (controls thickness and spacing). */
10277
10848
  size?: NiceSize;
10278
10849
  /** Render the divider vertically. */
@@ -10637,7 +11208,7 @@ export declare interface NiceDraggableProps extends NiceBaseProps {
10637
11208
  export declare const NiceDrawer: default_2.FC<NiceDrawerProps>;
10638
11209
 
10639
11210
  /** Props for the {@link NiceDrawer} component — a slide-in panel from any edge. */
10640
- export declare interface NiceDrawerProps extends NiceBaseProps {
11211
+ export declare interface NiceDrawerProps extends NiceStandardProps {
10641
11212
  /** Whether the drawer is open. */
10642
11213
  open: boolean;
10643
11214
  /** Called when the user requests to close. */
@@ -10658,7 +11229,7 @@ export declare interface NiceDrawerProps extends NiceBaseProps {
10658
11229
 
10659
11230
  export declare const NiceDrillDownChart: default_2.ForwardRefExoticComponent<NiceDrillDownChartProps & default_2.RefAttributes<NiceDrillDownChartRef>>;
10660
11231
 
10661
- export declare interface NiceDrillDownChartProps extends NiceBaseProps {
11232
+ export declare interface NiceDrillDownChartProps extends NiceStandardProps {
10662
11233
  /** Poziomy danych do drill-down */
10663
11234
  levels: DrillDownLevel[];
10664
11235
  /** Początkowy poziom */
@@ -10854,7 +11425,7 @@ export declare interface NiceEmojiPickerProps {
10854
11425
  export declare const NiceEmpty: default_2.FC<NiceEmptyProps>;
10855
11426
 
10856
11427
  /** Props for the {@link NiceEmpty} component — a placeholder shown when there is no data to display. */
10857
- export declare interface NiceEmptyProps extends NiceBaseProps {
11428
+ export declare interface NiceEmptyProps extends NiceStandardProps {
10858
11429
  /** Component size. */
10859
11430
  size?: NiceSize;
10860
11431
  /** Custom icon element rendered above the title. */
@@ -11071,7 +11642,7 @@ declare interface NiceExportStyles {
11071
11642
 
11072
11643
  export declare const NiceFAQ: default_2.FC<NiceFAQProps>;
11073
11644
 
11074
- export declare interface NiceFAQProps extends NiceBaseProps {
11645
+ export declare interface NiceFAQProps extends NiceStandardProps {
11075
11646
  /** Size variant */
11076
11647
  size?: NiceSize;
11077
11648
  /** FAQ items */
@@ -11342,6 +11913,15 @@ export declare interface NiceFileManagerProps extends NiceBaseProps {
11342
11913
  /** Active panel identifier for dual-pane {@link NiceFileManager}. */
11343
11914
  export declare type NiceFilePanel = 'left' | 'right';
11344
11915
 
11916
+ /**
11917
+ * Visual wrapper around the native `<input type="file">`. The actual
11918
+ * `<input>` is rendered visually-hidden (still focusable + screen-
11919
+ * reader-readable) and a styled `<button>` proxies clicks via the
11920
+ * `useRef` handle — that way consumers can drop in any React node as
11921
+ * the trigger without losing OS native file dialog behaviour.
11922
+ */
11923
+ export declare const NiceFilePicker: default_2.FC<NiceFilePickerProps>;
11924
+
11345
11925
  export declare const NiceFilePickerButton: default_2.FC<NiceFilePickerButtonProps>;
11346
11926
 
11347
11927
  export declare interface NiceFilePickerButtonProps extends NiceBaseProps {
@@ -11352,6 +11932,28 @@ export declare interface NiceFilePickerButtonProps extends NiceBaseProps {
11352
11932
  children?: default_2.ReactNode;
11353
11933
  }
11354
11934
 
11935
+ /** Props for {@link NiceFilePicker} — visually-customisable file input. */
11936
+ export declare interface NiceFilePickerProps extends NiceStandardProps {
11937
+ /** MIME types / extensions accepted (e.g. `"image/*,.pdf"`). */
11938
+ accept?: string;
11939
+ /** Allow selecting multiple files. */
11940
+ multiple?: boolean;
11941
+ /** Disable the picker. */
11942
+ disabled?: boolean;
11943
+ /**
11944
+ * Camera capture mode for mobile (`"user"` = front, `"environment"`
11945
+ * = rear). Ignored on desktop.
11946
+ */
11947
+ capture?: 'user' | 'environment';
11948
+ /**
11949
+ * Custom trigger content. When omitted, a default labelled button
11950
+ * is rendered with the translated label.
11951
+ */
11952
+ children?: default_2.ReactNode;
11953
+ /** Fires with the selected files. */
11954
+ onChange?: (files: FileList) => void;
11955
+ }
11956
+
11355
11957
  /** Current sort state for the {@link NiceFileManager}. */
11356
11958
  export declare interface NiceFileSort {
11357
11959
  /** Sort field. */
@@ -11507,6 +12109,32 @@ export declare interface NiceFilterState {
11507
12109
  [key: string]: unknown;
11508
12110
  }
11509
12111
 
12112
+ /**
12113
+ * Direct flexbox wrapper. Use this when you need explicit control of
12114
+ * direction/wrap/justify/align — for the more opinionated "row OR
12115
+ * column with uniform gap" use case reach for {@link NiceStack}.
12116
+ */
12117
+ export declare const NiceFlex: default_2.FC<NiceFlexProps>;
12118
+
12119
+ export declare type NiceFlexDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';
12120
+
12121
+ /** Props for {@link NiceFlex} — thin flexbox container with sensible defaults. */
12122
+ export declare interface NiceFlexProps extends NiceStandardProps {
12123
+ children: default_2.ReactNode;
12124
+ direction?: NiceFlexDirection;
12125
+ wrap?: NiceFlexWrap;
12126
+ /** Any CSS `justify-content` value. */
12127
+ justify?: default_2.CSSProperties['justifyContent'];
12128
+ /** Any CSS `align-items` value. */
12129
+ align?: default_2.CSSProperties['alignItems'];
12130
+ /** Gap between flex items. Number → pixels, string → raw CSS value. */
12131
+ gap?: number | string;
12132
+ /** Render as `inline-flex` instead of `flex`. */
12133
+ inline?: boolean;
12134
+ }
12135
+
12136
+ export declare type NiceFlexWrap = 'nowrap' | 'wrap' | 'wrap-reverse';
12137
+
11510
12138
  export declare const NiceFloorPlanCanvas: default_2.FC<NiceFloorPlanCanvasProps>;
11511
12139
 
11512
12140
  /**
@@ -11531,6 +12159,70 @@ export declare interface NiceFloorPlanCanvasProps extends NiceBaseProps {
11531
12159
  animateStateChanges?: boolean;
11532
12160
  }
11533
12161
 
12162
+ /**
12163
+ * Cycles Tab / Shift+Tab between the first and last focusable
12164
+ * descendants. Use inside modals, dialogs, drawers — anywhere
12165
+ * keyboard focus must not "leak" to the rest of the document.
12166
+ */
12167
+ export declare const NiceFocusTrap: default_2.FC<NiceFocusTrapProps>;
12168
+
12169
+ /** Props for {@link NiceFocusTrap} — keep keyboard focus inside a container. */
12170
+ export declare interface NiceFocusTrapProps extends NiceStandardProps {
12171
+ children: default_2.ReactNode;
12172
+ /** When `false` the trap is dormant — children behave like a normal container. */
12173
+ active?: boolean;
12174
+ /**
12175
+ * Initial focus target. A ref points at a specific element; a CSS
12176
+ * selector (string) lets you pick declaratively (e.g. `'[autofocus]'`,
12177
+ * `'input'`).
12178
+ */
12179
+ initialFocus?: default_2.RefObject<HTMLElement | null> | string;
12180
+ /** Restore focus to the previously-focused element when the trap deactivates. */
12181
+ returnFocus?: boolean;
12182
+ }
12183
+
12184
+ /**
12185
+ * Semantic `<footer>` with native `contentinfo` landmark. Link groups
12186
+ * render as `<nav>` lists for AT navigation; social icons get
12187
+ * explicit accessible labels (the `icon` glyph itself is decorative).
12188
+ */
12189
+ export declare const NiceFooter: default_2.FC<NiceFooterProps>;
12190
+
12191
+ export declare interface NiceFooterLink {
12192
+ label: default_2.ReactNode;
12193
+ href: string;
12194
+ /** Add `target="_blank"` + `rel="noopener noreferrer"`. */
12195
+ external?: boolean;
12196
+ }
12197
+
12198
+ export declare interface NiceFooterLinkGroup {
12199
+ title: default_2.ReactNode;
12200
+ items: NiceFooterLink[];
12201
+ }
12202
+
12203
+ /** Props for {@link NiceFooter} — page footer with link groups, copyright, social. */
12204
+ export declare interface NiceFooterProps extends NiceStandardProps {
12205
+ /** Free-form content rendered above the link groups. */
12206
+ children?: default_2.ReactNode;
12207
+ /** Columns of related links. */
12208
+ links?: NiceFooterLinkGroup[];
12209
+ /** Copyright / legal line at the bottom. */
12210
+ copyright?: default_2.ReactNode;
12211
+ /** Social icons rendered next to the copyright. */
12212
+ social?: NiceFooterSocialLink[];
12213
+ /** When true, footer sticks to the bottom of the viewport (`position: sticky`). */
12214
+ sticky?: boolean;
12215
+ }
12216
+
12217
+ export declare interface NiceFooterSocialLink {
12218
+ /** Glyph / icon node. */
12219
+ icon: default_2.ReactNode;
12220
+ /** Destination URL. */
12221
+ href: string;
12222
+ /** Accessible label (e.g. `'Twitter'`). Required for a11y. */
12223
+ label: string;
12224
+ }
12225
+
11534
12226
  /**
11535
12227
  * NiceForecastChart — Time series chart with forecast and confidence intervals.
11536
12228
  *
@@ -11564,7 +12256,7 @@ export declare const NiceForecastChart: default_2.ForwardRefExoticComponent<Nice
11564
12256
  /**
11565
12257
  * Props for NiceForecastChart component.
11566
12258
  */
11567
- export declare interface NiceForecastChartProps extends NiceBaseProps {
12259
+ export declare interface NiceForecastChartProps extends NiceStandardProps {
11568
12260
  /** Scenarios to display */
11569
12261
  scenarios?: ForecastScenario[];
11570
12262
  /** Convenience flat data series — wrapped into a single scenario when `scenarios` is omitted. */
@@ -11749,7 +12441,7 @@ export declare interface NiceFunnelItem {
11749
12441
  }
11750
12442
 
11751
12443
  /** Props for the {@link NiceFunnel} component — an SVG funnel / pyramid chart. */
11752
- export declare interface NiceFunnelProps extends NiceBaseProps {
12444
+ export declare interface NiceFunnelProps extends NiceStandardProps {
11753
12445
  /** Funnel stage data. */
11754
12446
  data: NiceFunnelItem[];
11755
12447
  /** SVG width in px. */
@@ -11781,7 +12473,7 @@ export declare interface NiceGalleryItem {
11781
12473
  }
11782
12474
 
11783
12475
  /** Props for the {@link NiceGallery} component — an image gallery with thumbnails, autoplay, and lightbox navigation. */
11784
- export declare interface NiceGalleryProps extends NiceBaseProps {
12476
+ export declare interface NiceGalleryProps extends NiceStandardProps {
11785
12477
  /** Gallery images. */
11786
12478
  items: NiceGalleryItem[];
11787
12479
  /** Currently selected image index. */
@@ -12125,6 +12817,38 @@ export { NiceGraphQLConfig }
12125
12817
 
12126
12818
  export declare type NiceHarmonyMode = 'monochromatic' | 'complementary' | 'split-complementary' | 'analogous' | 'triadic' | 'tetradic' | 'square' | 'custom';
12127
12819
 
12820
+ /**
12821
+ * Semantic heading with decoupled visual scale. Renders the correct
12822
+ * native `<h1>`…`<h6>` for screen readers and outline tools, while
12823
+ * letting designers pick any visual size independently.
12824
+ */
12825
+ export declare const NiceHeading: default_2.FC<NiceHeadingProps>;
12826
+
12827
+ export declare type NiceHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
12828
+
12829
+ /**
12830
+ * Props for {@link NiceHeading}.
12831
+ *
12832
+ * `size` is omitted from the standard prop bag because we use a wider
12833
+ * scale (`xs`…`3xl`) than `NiceSize`, and the meaning here is
12834
+ * "typographic scale", not "density".
12835
+ */
12836
+ export declare interface NiceHeadingProps extends Omit<NiceStandardProps, 'size'> {
12837
+ children: default_2.ReactNode;
12838
+ /** Semantic heading level — renders `h1`…`h6`. Required for accessibility. */
12839
+ level: NiceHeadingLevel;
12840
+ /** Visual size scale. Decouples styling from semantic level (use this to render an `h1` that looks like an `h3`). */
12841
+ size?: NiceHeadingSize;
12842
+ /** Font weight. */
12843
+ weight?: NiceHeadingWeight;
12844
+ /** Single-line truncate overflow with ellipsis. */
12845
+ truncate?: boolean;
12846
+ }
12847
+
12848
+ export declare type NiceHeadingSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
12849
+
12850
+ export declare type NiceHeadingWeight = 'normal' | 'medium' | 'semibold' | 'bold';
12851
+
12128
12852
  /** Single health check finding. */
12129
12853
  export declare interface NiceHealthFinding {
12130
12854
  moduleId: string;
@@ -12150,7 +12874,7 @@ export declare interface NiceHealthReport {
12150
12874
  export declare const NiceHeatMap: default_2.ForwardRefExoticComponent<NiceHeatMapProps & default_2.RefAttributes<HTMLDivElement>>;
12151
12875
 
12152
12876
  /** Props for the {@link NiceHeatMap} component — a 2D color-intensity grid with optional cell click. */
12153
- export declare interface NiceHeatMapProps extends NiceBaseProps {
12877
+ export declare interface NiceHeatMapProps extends NiceStandardProps {
12154
12878
  /** 2D data matrix (rows × cols). */
12155
12879
  data: number[][];
12156
12880
  /** Column header labels. */
@@ -12234,6 +12958,34 @@ export { NiceHelpProvider }
12234
12958
 
12235
12959
  export { NiceHelpProviderProps }
12236
12960
 
12961
+ /**
12962
+ * Renders `text` with every occurrence of `query` (or any of the
12963
+ * queries when `query` is an array) wrapped in `<mark>` (or a custom
12964
+ * tag). Pure render, no DOM mutation — safe to use in lists / virtual
12965
+ * scrollers.
12966
+ */
12967
+ export declare const NiceHighlight: default_2.FC<NiceHighlightProps>;
12968
+
12969
+ /** Props for {@link NiceHighlight} — wraps query matches inside a body of text. */
12970
+ export declare interface NiceHighlightProps extends NiceStandardProps {
12971
+ /** Source text. Non-string children are not supported by design; pass a string. */
12972
+ text: string;
12973
+ /**
12974
+ * Query (or queries) to highlight. Empty / whitespace-only queries
12975
+ * are silently ignored so callers don't have to gate the prop.
12976
+ */
12977
+ query: string | string[];
12978
+ /**
12979
+ * Tag used to wrap each match. Defaults to `<mark>` (semantic
12980
+ * highlight). Pass `'span'` for visual-only highlighting.
12981
+ */
12982
+ highlightTag?: default_2.ElementType;
12983
+ /** Extra className applied to every highlight wrapper. */
12984
+ highlightClassName?: string;
12985
+ /** When `true`, matches respect letter case (default: case-insensitive). */
12986
+ caseSensitive?: boolean;
12987
+ }
12988
+
12237
12989
  /** Configuration for the hot-swap manager. */
12238
12990
  export declare interface NiceHotSwapConfig {
12239
12991
  /** Module import resolver. */
@@ -12507,7 +13259,7 @@ export declare type NiceImageEditorTool = 'crop' | 'rotate' | 'flip' | 'brightne
12507
13259
  export declare const NiceImageViewer: default_2.ForwardRefExoticComponent<NiceImageViewerProps & default_2.RefAttributes<HTMLDivElement>>;
12508
13260
 
12509
13261
  /** Props for the {@link NiceImageViewer} component — an image with lightbox preview, zoom, pan, and rotation. */
12510
- export declare interface NiceImageViewerProps extends NiceBaseProps {
13262
+ export declare interface NiceImageViewerProps extends NiceStandardProps {
12511
13263
  /** Image source URL. */
12512
13264
  src: string;
12513
13265
  /** Alt text. */
@@ -12972,6 +13724,38 @@ export declare interface NiceLanguagePickerProps extends NiceFormFieldProps, Dua
12972
13724
  'data-testid'?: string;
12973
13725
  }
12974
13726
 
13727
+ /**
13728
+ * App-shell layout with native landmark elements. Renders as:
13729
+ *
13730
+ * <header> ← if `header`
13731
+ * <div>
13732
+ * <aside> ← if `sider`
13733
+ * <main> ← always
13734
+ * </div>
13735
+ * <footer> ← if `footer`
13736
+ *
13737
+ * Each slot maps to a native HTML5 landmark so the DOM is correct
13738
+ * for accessibility tools without any extra ARIA roles.
13739
+ */
13740
+ export declare const NiceLayout: default_2.FC<NiceLayoutProps>;
13741
+
13742
+ /** Props for {@link NiceLayout} — app shell: header / sider / main / footer. */
13743
+ export declare interface NiceLayoutProps extends NiceStandardProps {
13744
+ /** Main content (rendered inside `<main>`). */
13745
+ children: default_2.ReactNode;
13746
+ /** Top header (rendered inside `<header>`). */
13747
+ header?: default_2.ReactNode;
13748
+ /** Bottom footer (rendered inside `<footer>`). */
13749
+ footer?: default_2.ReactNode;
13750
+ /**
13751
+ * Side navigation (rendered inside `<aside>`). Defaults to the
13752
+ * inline-start side of the viewport in LTR contexts.
13753
+ */
13754
+ sider?: default_2.ReactNode;
13755
+ /** Place the sider on the inline-end side instead of start. */
13756
+ siderPlacement?: 'start' | 'end';
13757
+ }
13758
+
12975
13759
  /**
12976
13760
  * {@link NiceLeaderboard} — Ranked list of players/entities with scores, deltas, avatars, and stat columns.
12977
13761
  */
@@ -13008,10 +13792,56 @@ export declare interface NiceLeaderboardProps {
13008
13792
  id?: string;
13009
13793
  }
13010
13794
 
13795
+ /**
13796
+ * Modal image viewer. Renders a full-screen overlay with prev/next
13797
+ * navigation, optional zoom + download buttons, and a counter.
13798
+ * Keyboard:
13799
+ * - Left / Right — previous / next image
13800
+ * - Escape — close
13801
+ * - `+` / `-` — zoom in / out (when `zoom` is enabled)
13802
+ *
13803
+ * All toolbar button labels go through `useNiceTranslation` so the
13804
+ * viewer follows the global picker.
13805
+ */
13806
+ export declare const NiceLightbox: default_2.FC<NiceLightboxProps>;
13807
+
13808
+ export declare interface NiceLightboxImage {
13809
+ /** Image source URL. */
13810
+ src: string;
13811
+ /** Alt text — required for accessibility. */
13812
+ alt: string;
13813
+ /** Optional caption rendered below the image. */
13814
+ caption?: default_2.ReactNode;
13815
+ /** Optional full-resolution download URL (defaults to `src`). */
13816
+ downloadUrl?: string;
13817
+ }
13818
+
13819
+ /** Props for {@link NiceLightbox} — full-screen image viewer. */
13820
+ export declare interface NiceLightboxProps extends NiceStandardProps {
13821
+ /** Controlled visibility. */
13822
+ open: boolean;
13823
+ /** Image gallery to navigate between. */
13824
+ images: NiceLightboxImage[];
13825
+ /** Currently shown image (controlled). */
13826
+ index?: number;
13827
+ /** Default index when the viewer first opens (uncontrolled). */
13828
+ defaultIndex?: number;
13829
+ /** Fires when the user navigates between images. */
13830
+ onIndexChange?: (index: number) => void;
13831
+ /** Fires when the user closes the viewer (Escape, backdrop, X button). */
13832
+ onClose: () => void;
13833
+ /** Enable scroll-wheel + button zoom. */
13834
+ zoom?: boolean;
13835
+ /** Show a download button in the toolbar. */
13836
+ download?: boolean;
13837
+ /** Render `N / M` counter in the toolbar. */
13838
+ counter?: boolean;
13839
+ }
13840
+
13011
13841
  export declare const NiceLinearGauge: default_2.FC<NiceLinearGaugeProps>;
13012
13842
 
13013
13843
  /** Props for the {@link NiceLinearGauge} component — a horizontal or vertical bar gauge with ticks and colored ranges. */
13014
- export declare interface NiceLinearGaugeProps extends NiceBaseProps {
13844
+ export declare interface NiceLinearGaugeProps extends NiceStandardProps {
13015
13845
  /** Current gauge value. */
13016
13846
  value: number;
13017
13847
  /** Minimum scale value. */
@@ -13042,6 +13872,41 @@ export declare interface NiceLinearGaugeProps extends NiceBaseProps {
13042
13872
  tickCount?: number;
13043
13873
  }
13044
13874
 
13875
+ /**
13876
+ * Styled `<a>` with safe defaults — when `external` is set we always
13877
+ * apply `rel="noopener noreferrer"` so that opened tabs cannot
13878
+ * window.opener-back-reference the parent. Authors can still override
13879
+ * `rel`/`target` for cases where that's intentional.
13880
+ */
13881
+ export declare const NiceLink: default_2.FC<NiceLinkProps>;
13882
+
13883
+ /** Props for {@link NiceLink} — styled anchor with safe defaults for external targets. */
13884
+ export declare interface NiceLinkProps extends Omit<NiceStandardProps, 'variant'> {
13885
+ children: default_2.ReactNode;
13886
+ /** Target URL. */
13887
+ href: string;
13888
+ /**
13889
+ * Treat as an external link — adds `target="_blank"` plus
13890
+ * `rel="noopener noreferrer"` automatically. Override either by
13891
+ * passing your own `target` / `rel` explicitly.
13892
+ */
13893
+ external?: boolean;
13894
+ /** Visual variant. */
13895
+ variant?: NiceLinkVariant;
13896
+ /** Underline behaviour. */
13897
+ underline?: NiceLinkUnderline;
13898
+ /** Click handler (use for analytics; the native anchor still navigates). */
13899
+ onClick?: default_2.MouseEventHandler<HTMLAnchorElement>;
13900
+ /** Override the auto-derived `target`. */
13901
+ target?: string;
13902
+ /** Override the auto-derived `rel`. */
13903
+ rel?: string;
13904
+ }
13905
+
13906
+ export declare type NiceLinkUnderline = 'always' | 'hover' | 'none';
13907
+
13908
+ export declare type NiceLinkVariant = 'default' | 'subtle' | 'muted';
13909
+
13045
13910
  export declare const NiceList: default_2.FC<NiceListProps>;
13046
13911
 
13047
13912
  /** An item in the {@link NiceList} component. */
@@ -13108,7 +13973,7 @@ export declare interface NiceListProps extends NiceBaseProps {
13108
13973
  export declare const NiceLiveChart: default_2.ForwardRefExoticComponent<NiceLiveChartProps & default_2.RefAttributes<NiceLiveChartRef>>;
13109
13974
 
13110
13975
  /** Props for NiceLiveChart component. */
13111
- export declare interface NiceLiveChartProps extends NiceBaseProps {
13976
+ export declare interface NiceLiveChartProps extends NiceStandardProps {
13112
13977
  /** Series configuration. Each series receives its own data stream. */
13113
13978
  series: NiceLiveChartSeriesConfig[];
13114
13979
  /** Maximum number of data points to keep per series. Default: 100. */
@@ -13279,6 +14144,32 @@ export declare interface NiceLiveDataGridRef<T extends LiveGridRow = LiveGridRow
13279
14144
  getConnectionStatus: () => ConnectionStatus;
13280
14145
  }
13281
14146
 
14147
+ /**
14148
+ * Announces dynamic updates to assistive technology. Wrap any region
14149
+ * whose content changes outside a normal user action — search-result
14150
+ * count, form save status, async loading messages — and AT will
14151
+ * speak the new content according to `politeness`.
14152
+ *
14153
+ * Defaults to visually-hidden so consumers don't need to think about
14154
+ * presentation when they just want the announcement.
14155
+ */
14156
+ export declare const NiceLiveRegion: default_2.FC<NiceLiveRegionProps>;
14157
+
14158
+ export declare type NiceLiveRegionPoliteness = 'polite' | 'assertive' | 'off';
14159
+
14160
+ /** Props for {@link NiceLiveRegion} — visually-hidden ARIA live region. */
14161
+ export declare interface NiceLiveRegionProps extends NiceStandardProps {
14162
+ children: default_2.ReactNode;
14163
+ /** Politeness level — `polite` waits for idle, `assertive` interrupts. */
14164
+ politeness?: NiceLiveRegionPoliteness;
14165
+ /** When `true`, AT reads the whole region after a change; otherwise only the diff. */
14166
+ atomic?: boolean;
14167
+ /** `aria-relevant` value — space-separated tokens (`'additions text'` etc.). */
14168
+ relevant?: string;
14169
+ /** Render visibly (skip the visually-hidden CSS). Useful for status bars where the message is visual too. */
14170
+ visible?: boolean;
14171
+ }
14172
+
13282
14173
  /** Resolved module with its lazy components. */
13283
14174
  export declare interface NiceLoadedModule {
13284
14175
  manifest: NiceModuleManifest;
@@ -13435,7 +14326,7 @@ export declare interface NiceLockButtonProps extends NiceBaseProps {
13435
14326
  export declare const NiceLoginForm: ForwardRefExoticComponent<NiceLoginFormProps & RefAttributes<HTMLFormElement>>;
13436
14327
 
13437
14328
  /** Props for the {@link NiceLoginForm} component — a pre-built login form with username, password, remember-me, and social links. */
13438
- export declare interface NiceLoginFormProps extends NiceBaseProps {
14329
+ export declare interface NiceLoginFormProps extends NiceStandardProps {
13439
14330
  /** Called with credentials on form submit. */
13440
14331
  onSubmit?: (credentials: {
13441
14332
  username: string;
@@ -13641,7 +14532,7 @@ export declare const NiceMap: default_2.ForwardRefExoticComponent<NiceMapProps &
13641
14532
 
13642
14533
  export declare const NiceMapChart: default_2.FC<NiceMapChartProps>;
13643
14534
 
13644
- export declare interface NiceMapChartProps extends NiceBaseProps {
14535
+ export declare interface NiceMapChartProps extends NiceStandardProps {
13645
14536
  /** Typ mapy */
13646
14537
  type?: 'choropleth' | 'bubble' | 'heat';
13647
14538
  /** Regiony mapy (dla choropleth) */
@@ -13877,6 +14768,29 @@ export declare interface NiceMealPlanProps extends NiceBaseProps {
13877
14768
  readOnly?: boolean;
13878
14769
  }
13879
14770
 
14771
+ /**
14772
+ * Classic "media object" pattern from CSS Tricks / Bootstrap: a fixed
14773
+ * media block on one side and free-flowing content on the other.
14774
+ * Useful for chat rows, contact cards, notification items.
14775
+ */
14776
+ export declare const NiceMediaObject: default_2.FC<NiceMediaObjectProps>;
14777
+
14778
+ export declare type NiceMediaObjectAlign = 'start' | 'center' | 'end';
14779
+
14780
+ /** Props for {@link NiceMediaObject} — image-with-content row layout. */
14781
+ export declare interface NiceMediaObjectProps extends NiceStandardProps {
14782
+ /** Media element (`<img>`, `<video>`, avatar, icon, …). */
14783
+ media: default_2.ReactNode;
14784
+ /** Adjacent content (typically text). */
14785
+ children: default_2.ReactNode;
14786
+ /** Which side the media sits on. */
14787
+ mediaPosition?: 'start' | 'end';
14788
+ /** Vertical alignment of media vs content. */
14789
+ align?: NiceMediaObjectAlign;
14790
+ /** Gap between media and content. Number → px. */
14791
+ spacing?: number | string;
14792
+ }
14793
+
13880
14794
  export declare const NiceMention: default_2.ForwardRefExoticComponent<NiceMentionProps & default_2.RefAttributes<HTMLTextAreaElement>>;
13881
14795
 
13882
14796
  /** Props for the {@link NiceMention} component — a textarea with @mention triggers and suggestion popup. */
@@ -14080,7 +14994,7 @@ export declare interface NiceMergeRequestBuilderProps extends NiceBaseProps {
14080
14994
  export declare const NiceModal: default_2.FC<NiceModalProps>;
14081
14995
 
14082
14996
  /** Props for the {@link NiceModal} component — a dialog overlay with focus trapping. */
14083
- export declare interface NiceModalProps extends NiceBaseProps {
14997
+ export declare interface NiceModalProps extends NiceStandardProps {
14084
14998
  /** Whether the modal is currently visible. */
14085
14999
  open: boolean;
14086
15000
  /** Called when the user requests to close the modal. */
@@ -15032,11 +15946,54 @@ export declare interface NiceNumberInputProps extends NiceFormFieldProps {
15032
15946
  onSuffixChange?: (value: string, prevWeight: number | undefined, newWeight: number | undefined) => void;
15033
15947
  }
15034
15948
 
15949
+ /**
15950
+ * Numeric input with optional +/- step buttons, clamping, and a
15951
+ * pluggable display formatter. The displayed text is a derived view
15952
+ * — internal value stays a clean `number` so consumers don't have to
15953
+ * parse it back from a formatted string.
15954
+ *
15955
+ * Increment / decrement button labels go through `useNiceTranslation`
15956
+ * so they follow the global language picker.
15957
+ */
15958
+ export declare const NiceNumericInput: default_2.FC<NiceNumericInputProps>;
15959
+
15960
+ /** Props for {@link NiceNumericInput} — clampable number field with step buttons. */
15961
+ export declare interface NiceNumericInputProps extends NiceStandardProps {
15962
+ /** Controlled value. */
15963
+ value?: number;
15964
+ /** Default value (uncontrolled). */
15965
+ defaultValue?: number;
15966
+ /** Fires on every change. */
15967
+ onChange?: (value: number) => void;
15968
+ /** Lower clamp. */
15969
+ min?: number;
15970
+ /** Upper clamp. */
15971
+ max?: number;
15972
+ /** Increment / decrement step applied by the +/- buttons. */
15973
+ step?: number;
15974
+ /** Decimal places — applied via `toFixed` when rendering. */
15975
+ precision?: number;
15976
+ /**
15977
+ * Custom display format. String values support a single `{value}`
15978
+ * placeholder; functions receive the numeric value and return the
15979
+ * rendered string.
15980
+ */
15981
+ format?: string | ((value: number) => string);
15982
+ /** Render the +/- step buttons. */
15983
+ showButtons?: boolean;
15984
+ /** Placeholder shown when the value is empty (uncontrolled / undefined). */
15985
+ placeholder?: string;
15986
+ /** Disable input + buttons. */
15987
+ disabled?: boolean;
15988
+ /** Mark as readonly (focusable but not editable). */
15989
+ readOnly?: boolean;
15990
+ }
15991
+
15035
15992
  export { NiceODataConfig }
15036
15993
 
15037
15994
  export declare const NiceOfflineBanner: default_2.FC<NiceOfflineBannerProps>;
15038
15995
 
15039
- export declare interface NiceOfflineBannerProps extends NiceBaseProps {
15996
+ export declare interface NiceOfflineBannerProps extends NiceStandardProps {
15040
15997
  size?: NiceSize;
15041
15998
  message?: string;
15042
15999
  variant?: 'warning' | 'error';
@@ -15091,7 +16048,7 @@ export { NiceOption }
15091
16048
  export declare const NiceOrganizationChart: default_2.ForwardRefExoticComponent<NiceOrganizationChartProps & default_2.RefAttributes<HTMLDivElement>>;
15092
16049
 
15093
16050
  /** Props for the {@link NiceOrganizationChart} component — a hierarchical org chart with optional node selection and collapsible branches. */
15094
- export declare interface NiceOrganizationChartProps extends NiceBaseProps {
16051
+ export declare interface NiceOrganizationChartProps extends NiceStandardProps {
15095
16052
  /** Root node. */
15096
16053
  data: NiceOrgNode;
15097
16054
  /** Custom node renderer. */
@@ -15165,6 +16122,46 @@ export declare interface NiceOrgNode {
15165
16122
 
15166
16123
  export declare type NiceOrgProfileSection = 'basic' | 'contact' | 'address' | 'branding' | 'localization' | 'fiscal' | 'preferences';
15167
16124
 
16125
+ /**
16126
+ * Multi-digit one-time-password field. Renders `length` single-char
16127
+ * `<input>` slots; auto-advances focus on entry; goes back on
16128
+ * Backspace from an empty slot; supports paste of the full code.
16129
+ *
16130
+ * The whole field exposes a single `aria-label` on the wrapper so
16131
+ * AT users hear "OTP, N digits" rather than each box separately.
16132
+ */
16133
+ export declare const NiceOTPInput: default_2.FC<NiceOTPInputProps>;
16134
+
16135
+ /**
16136
+ * Props for {@link NiceOTPInput}.
16137
+ *
16138
+ * `error` is omitted from the standard prop bag because here it's a
16139
+ * boolean visual-state flag, not the validation-error string of the
16140
+ * standard form-field props.
16141
+ */
16142
+ export declare interface NiceOTPInputProps extends Omit<NiceStandardProps, 'error'> {
16143
+ /** Number of code digits. */
16144
+ length?: number;
16145
+ /** Controlled value (digits concatenated). */
16146
+ value?: string;
16147
+ /** Fires on every keystroke with the assembled string. */
16148
+ onChange?: (value: string) => void;
16149
+ /** Fires once when the length of typed digits equals `length`. */
16150
+ onComplete?: (value: string) => void;
16151
+ /** Restrict input to digits (`number`) or any character (`text`). */
16152
+ type?: NiceOTPInputType;
16153
+ /** Focus the first slot on mount. */
16154
+ autoFocus?: boolean;
16155
+ /** Disable all slots. */
16156
+ disabled?: boolean;
16157
+ /** Render in the error visual state (red border). */
16158
+ error?: boolean;
16159
+ /** Node injected between every digit (e.g. `<span>-</span>`). */
16160
+ separator?: default_2.ReactNode;
16161
+ }
16162
+
16163
+ export declare type NiceOTPInputType = 'number' | 'text';
16164
+
15168
16165
  /**
15169
16166
  * NicePageBuilder - Drag-drop page builder with responsive layouts
15170
16167
  *
@@ -15195,6 +16192,44 @@ export declare interface NicePageBuilderProps {
15195
16192
  className?: string;
15196
16193
  }
15197
16194
 
16195
+ /**
16196
+ * Semantic `<header>` with the classic dashboard chrome layout:
16197
+ * breadcrumb on top, [back] + avatar + title + tags on the heading
16198
+ * row, optional subtitle, and a trailing actions slot. Tabs / chips
16199
+ * can slot under the heading via `footer`.
16200
+ */
16201
+ export declare const NicePageHeader: default_2.FC<NicePageHeaderProps>;
16202
+
16203
+ /**
16204
+ * Props for {@link NicePageHeader} — top-of-page chrome
16205
+ * (title + breadcrumb + actions).
16206
+ *
16207
+ * `title` omitted from the standard prop bag because here it's a rich
16208
+ * ReactNode heading, not the tooltip-text string the base prop
16209
+ * describes.
16210
+ */
16211
+ export declare interface NicePageHeaderProps extends Omit<NiceStandardProps, 'title'> {
16212
+ /** Title node — rendered as the page heading. */
16213
+ title: default_2.ReactNode;
16214
+ /** Subtitle / context line below the title. */
16215
+ subtitle?: default_2.ReactNode;
16216
+ /** Breadcrumb element rendered above the title. */
16217
+ breadcrumb?: default_2.ReactNode;
16218
+ /** Avatar node placed to the left of the title. */
16219
+ avatar?: default_2.ReactNode;
16220
+ /** Status tags rendered next to the title (e.g. a status `NiceTag`). */
16221
+ tags?: default_2.ReactNode;
16222
+ /** Trailing slot for actions (typically a button group). */
16223
+ extra?: default_2.ReactNode;
16224
+ /** Footer slot — typically a `<NiceTabs />` row below the header. */
16225
+ footer?: default_2.ReactNode;
16226
+ /**
16227
+ * Renders a back button on the left when set. The button's
16228
+ * `aria-label` comes from `pageHeader.back` (default "Back").
16229
+ */
16230
+ onBack?: () => void;
16231
+ }
16232
+
15198
16233
  export declare interface NicePageMargins {
15199
16234
  top: number;
15200
16235
  right: number;
@@ -15240,6 +16275,21 @@ export declare interface NicePaginationProps extends NiceBaseProps {
15240
16275
  disabled?: boolean;
15241
16276
  }
15242
16277
 
16278
+ export declare const NiceParagraph: default_2.FC<NiceParagraphProps>;
16279
+
16280
+ /** Props for {@link NiceParagraph} — body-text paragraph with size + lead/muted variants. */
16281
+ export declare interface NiceParagraphProps extends Omit<NiceStandardProps, 'size'> {
16282
+ children: default_2.ReactNode;
16283
+ /** Text size (typographic scale, not `NiceSize`). */
16284
+ size?: NiceParagraphSize;
16285
+ /** Render as a lead paragraph (larger, lighter weight). */
16286
+ lead?: boolean;
16287
+ /** Muted (de-emphasised) text colour. */
16288
+ muted?: boolean;
16289
+ }
16290
+
16291
+ export declare type NiceParagraphSize = 'sm' | 'md' | 'lg';
16292
+
15243
16293
  export declare const NicePasswordInput: default_2.ForwardRefExoticComponent<NicePasswordInputProps & default_2.RefAttributes<HTMLInputElement>>;
15244
16294
 
15245
16295
  /** Props for the {@link NicePasswordInput} component — a password field with visibility toggle and strength meter. */
@@ -15344,7 +16394,7 @@ declare interface NicePDFOptions extends NiceExportOptions {
15344
16394
  export declare const NicePDFViewer: ForwardRefExoticComponent<NicePDFViewerProps & RefAttributes<HTMLDivElement>>;
15345
16395
 
15346
16396
  /** Props for the {@link NicePDFViewer} component — an embedded PDF viewer with toolbar, navigation, and zoom. */
15347
- export declare interface NicePDFViewerProps extends NiceBaseProps {
16397
+ export declare interface NicePDFViewerProps extends NiceStandardProps {
15348
16398
  /** PDF source: URL string or ArrayBuffer / Uint8Array */
15349
16399
  src?: string | ArrayBuffer | Uint8Array;
15350
16400
  /** Initial page number (1-based) */
@@ -15498,7 +16548,7 @@ export declare interface NicePickListProps<T = unknown> extends NiceBaseProps {
15498
16548
  export declare const NicePieChart: default_2.FC<NicePieChartProps>;
15499
16549
 
15500
16550
  /** Props for the {@link NicePieChart} component — an SVG pie / donut chart with legend and labels. */
15501
- export declare interface NicePieChartProps extends NiceBaseProps {
16551
+ export declare interface NicePieChartProps extends NiceStandardProps {
15502
16552
  /** Slice data. */
15503
16553
  data: NicePieSlice[];
15504
16554
  /** Chart width in px. */
@@ -15719,7 +16769,7 @@ export declare interface NicePlatformCapability {
15719
16769
  export declare const NicePolarChart: default_2.FC<NicePolarChartProps>;
15720
16770
 
15721
16771
  /** Props for the {@link NicePolarChart} component — an SVG radar / spider chart. */
15722
- export declare interface NicePolarChartProps extends NiceBaseProps {
16772
+ export declare interface NicePolarChartProps extends NiceStandardProps {
15723
16773
  /** Series definitions. */
15724
16774
  series: NicePolarChartSeries[];
15725
16775
  /** Axis category labels. */
@@ -16036,6 +17086,52 @@ export declare interface NiceProgressProps extends Omit<NiceFormFieldProps, 'sub
16036
17086
  labelPlacement?: 'top' | 'bottom' | 'left' | 'right';
16037
17087
  }
16038
17088
 
17089
+ /**
17090
+ * Light-weight prompt modal — a tiny `window.prompt` replacement.
17091
+ * Reuses the design-system styling via `.nice-modal` classes so it
17092
+ * looks consistent with `NiceModal` / `NiceConfirmDialog`.
17093
+ *
17094
+ * Keyboard:
17095
+ * - Enter on the input submits
17096
+ * - Escape cancels
17097
+ * - The input is auto-focused on open so users can start typing
17098
+ * immediately.
17099
+ *
17100
+ * Labels go through `useNiceTranslation` so they follow the global
17101
+ * picker without prop wiring.
17102
+ */
17103
+ export declare const NicePromptDialog: default_2.FC<NicePromptDialogProps>;
17104
+
17105
+ /**
17106
+ * Props for {@link NicePromptDialog} — modal dialog asking for a single value.
17107
+ *
17108
+ * `title` is omitted from the standard prop bag because here it's the
17109
+ * dialog heading (rich node), not the tooltip-text string the base
17110
+ * prop describes.
17111
+ */
17112
+ export declare interface NicePromptDialogProps extends Omit<NiceStandardProps, 'title'> {
17113
+ /** Controlled visibility. */
17114
+ open: boolean;
17115
+ /** Fires with the entered value when user confirms. */
17116
+ onSubmit: (value: string) => void;
17117
+ /** Fires when user cancels (Escape, Cancel button, backdrop click). */
17118
+ onCancel: () => void;
17119
+ /** Dialog heading. */
17120
+ title: default_2.ReactNode;
17121
+ /** Optional explanation rendered above the input. */
17122
+ message?: default_2.ReactNode;
17123
+ /** Initial input value when the dialog opens. */
17124
+ defaultValue?: string;
17125
+ /** Input placeholder. */
17126
+ placeholder?: string;
17127
+ /** Native input type (`text`, `email`, `password`, `url`, …). */
17128
+ inputType?: default_2.HTMLInputTypeAttribute;
17129
+ /** Override the confirm button label (defaults to translated `'OK'`). */
17130
+ confirmLabel?: default_2.ReactNode;
17131
+ /** Override the cancel button label (defaults to translated `'Cancel'`). */
17132
+ cancelLabel?: default_2.ReactNode;
17133
+ }
17134
+
16039
17135
  export declare interface NicePropDescriptor {
16040
17136
  name: string;
16041
17137
  type: string;
@@ -16060,7 +17156,7 @@ export { NicePullToRefreshProps }
16060
17156
  export declare const NiceQRCode: ForwardRefExoticComponent<NiceQRCodeProps & RefAttributes<HTMLCanvasElement>>;
16061
17157
 
16062
17158
  /** Props for the {@link NiceQRCode} component — generates and renders a QR code from a text value. */
16063
- export declare interface NiceQRCodeProps extends NiceBaseProps {
17159
+ export declare interface NiceQRCodeProps extends NiceStandardProps {
16064
17160
  /** Text or URL to encode. */
16065
17161
  value: string;
16066
17162
  /** Output size in pixels. */
@@ -16241,7 +17337,7 @@ export declare interface NiceRadioGroupProps extends NiceFormFieldProps {
16241
17337
  export declare const NiceRangeSelector: default_2.FC<NiceRangeSelectorProps>;
16242
17338
 
16243
17339
  /** Props for the {@link NiceRangeSelector} component — a dual-handle range slider with optional sparkline background. */
16244
- export declare interface NiceRangeSelectorProps extends NiceBaseProps {
17340
+ export declare interface NiceRangeSelectorProps extends NiceStandardProps {
16245
17341
  /** Sparkline data rendered behind the handles. */
16246
17342
  data?: number[];
16247
17343
  /** Minimum selectable value. */
@@ -16290,6 +17386,39 @@ export declare interface NiceRangeSliderProps extends NiceFormFieldProps {
16290
17386
  valuePlacement?: 'right' | 'bottom' | 'none';
16291
17387
  }
16292
17388
 
17389
+ /**
17390
+ * Star rating widget. Native semantics: behaves like a `radiogroup`
17391
+ * (one star is the "selected" value at a time), with arrow-key nav
17392
+ * between positions. `allowHalf` enables half-step granularity by
17393
+ * splitting each character into a left/right click target.
17394
+ */
17395
+ export declare const NiceRate: default_2.FC<NiceRateProps>;
17396
+
17397
+ /** Props for {@link NiceRate} — star (or custom-glyph) rating widget. */
17398
+ export declare interface NiceRateProps extends NiceStandardProps {
17399
+ /** Controlled rating value (0..count). */
17400
+ value?: number;
17401
+ /** Default value (uncontrolled). */
17402
+ defaultValue?: number;
17403
+ /** Total number of selectable items. */
17404
+ count?: number;
17405
+ /** Allow half-step ratings (0.5 / 1.5 / 2.5 / …). */
17406
+ allowHalf?: boolean;
17407
+ /** Clicking the current value clears the rating back to 0. */
17408
+ allowClear?: boolean;
17409
+ /** Read-only — render the value but ignore clicks. */
17410
+ readOnly?: boolean;
17411
+ /** Disable interaction (visually distinct from `readOnly`). */
17412
+ disabled?: boolean;
17413
+ /**
17414
+ * Render character. Either a single node used for every position,
17415
+ * or a `(index) => node` function for per-position glyphs.
17416
+ */
17417
+ character?: default_2.ReactNode | ((index: number) => default_2.ReactNode);
17418
+ /** Fires on every change. */
17419
+ onChange?: (value: number) => void;
17420
+ }
17421
+
16293
17422
  export declare const NiceRating: default_2.ForwardRefExoticComponent<NiceRatingProps & default_2.RefAttributes<HTMLDivElement>>;
16294
17423
 
16295
17424
  /** Props for the {@link NiceRating} component — a star/icon rating input with half-step support. */
@@ -16373,7 +17502,7 @@ export declare interface NiceRbacRole {
16373
17502
 
16374
17503
  export declare const NiceRealtimeChart: default_2.ForwardRefExoticComponent<NiceRealtimeChartProps & default_2.RefAttributes<NiceRealtimeChartRef>>;
16375
17504
 
16376
- export declare interface NiceRealtimeChartProps extends NiceBaseProps {
17505
+ export declare interface NiceRealtimeChartProps extends NiceStandardProps {
16377
17506
  /** Początkowe dane */
16378
17507
  initialData?: RealtimeDataPoint[];
16379
17508
  /** Alias for `initialData`. */
@@ -16856,9 +17985,43 @@ export { NiceResponsiveValue }
16856
17985
 
16857
17986
  export { NiceRestConfig }
16858
17987
 
17988
+ /**
17989
+ * Full-page result state — used at the end of multi-step flows
17990
+ * (checkout success, payment failed, account created…) or as an
17991
+ * empty-state replacement when a list / view has no content.
17992
+ *
17993
+ * `role="alert"` for `error`, `role="status"` otherwise so screen
17994
+ * readers announce the result appropriately.
17995
+ */
17996
+ export declare const NiceResult: default_2.FC<NiceResultProps>;
17997
+
17998
+ /**
17999
+ * Props for {@link NiceResult}.
18000
+ *
18001
+ * `title` is omitted from the standard prop bag because here it's a
18002
+ * rich heading node, not the tooltip-text string the base prop
18003
+ * describes.
18004
+ */
18005
+ export declare interface NiceResultProps extends Omit<NiceStandardProps, 'title'> {
18006
+ /** Outcome variant — drives the default glyph + colour. */
18007
+ status: NiceResultStatus;
18008
+ /** Headline (large text). */
18009
+ title: default_2.ReactNode;
18010
+ /** Secondary message below the title. */
18011
+ subtitle?: default_2.ReactNode;
18012
+ /** Override the default glyph for the chosen status. */
18013
+ icon?: default_2.ReactNode;
18014
+ /** Actions slot below the message — typically a button group. */
18015
+ extra?: default_2.ReactNode;
18016
+ /** Free-form content inserted between the message and `extra`. */
18017
+ children?: default_2.ReactNode;
18018
+ }
18019
+
18020
+ export declare type NiceResultStatus = 'success' | 'error' | 'info' | 'warning' | 'pending';
18021
+
16859
18022
  export declare const NiceRetryPanel: default_2.FC<NiceRetryPanelProps>;
16860
18023
 
16861
- export declare interface NiceRetryPanelProps extends NiceBaseProps {
18024
+ export declare interface NiceRetryPanelProps extends NiceStandardProps {
16862
18025
  size?: NiceSize;
16863
18026
  error: string | Error;
16864
18027
  onRetry: () => void;
@@ -16870,6 +18033,32 @@ export declare interface NiceRetryPanelProps extends NiceBaseProps {
16870
18033
  icon?: default_2.ReactNode;
16871
18034
  }
16872
18035
 
18036
+ /**
18037
+ * Decorative corner ribbon that hangs from the top of its wrapped
18038
+ * element. Positioning is relative to a `position: relative` shim
18039
+ * we add automatically, so consumers don't have to set it on the
18040
+ * child themselves.
18041
+ *
18042
+ * The text is exposed to AT via the wrapping element's textContent;
18043
+ * the angled tail is a decorative pseudo-element (not picked up by
18044
+ * screen readers).
18045
+ */
18046
+ export declare const NiceRibbon: default_2.FC<NiceRibbonProps>;
18047
+
18048
+ export declare type NiceRibbonPlacement = 'start' | 'end';
18049
+
18050
+ /** Props for {@link NiceRibbon} — corner banner attached to a wrapped element. */
18051
+ export declare interface NiceRibbonProps extends NiceStandardProps {
18052
+ /** Wrapped content — the ribbon attaches to the top corner of this. */
18053
+ children: default_2.ReactNode;
18054
+ /** Ribbon label. */
18055
+ text: default_2.ReactNode;
18056
+ /** Custom background colour. Falls back to the design-system primary token. */
18057
+ color?: string;
18058
+ /** Which top corner the ribbon attaches to. */
18059
+ placement?: NiceRibbonPlacement;
18060
+ }
18061
+
16873
18062
  export declare interface NiceRoleInfo {
16874
18063
  id: string;
16875
18064
  name: string;
@@ -16923,7 +18112,7 @@ export declare const NiceSankey: default_2.FC<NiceSankeyProps>;
16923
18112
 
16924
18113
  export declare const NiceSankeyChart: default_2.FC<NiceSankeyChartProps>;
16925
18114
 
16926
- export declare interface NiceSankeyChartProps extends NiceBaseProps {
18115
+ export declare interface NiceSankeyChartProps extends NiceStandardProps {
16927
18116
  /** Węzły */
16928
18117
  nodes: SankeyNode[];
16929
18118
  /** Połączenia */
@@ -16969,7 +18158,7 @@ export declare interface NiceSankeyNode {
16969
18158
  }
16970
18159
 
16971
18160
  /** Props for the {@link NiceSankey} component — an SVG Sankey flow diagram. */
16972
- export declare interface NiceSankeyProps extends NiceBaseProps {
18161
+ export declare interface NiceSankeyProps extends NiceStandardProps {
16973
18162
  /** Node definitions. */
16974
18163
  nodes: NiceSankeyNode[];
16975
18164
  /** Link definitions. */
@@ -17385,6 +18574,90 @@ export declare interface NiceSearchBarProps {
17385
18574
 
17386
18575
  export declare type NiceSearchBarSize = 'sm' | 'md' | 'lg';
17387
18576
 
18577
+ /**
18578
+ * Search input with an async suggestion dropdown and a recent-search
18579
+ * fallback when the query is empty. Keyboard:
18580
+ * - Down/Up — move highlight among suggestions
18581
+ * - Enter — pick the highlighted row, or fire onSearch with the
18582
+ * current value when nothing is highlighted
18583
+ * - Escape — close the dropdown
18584
+ *
18585
+ * The suggestion fetcher is the consumer's source of truth; we keep
18586
+ * a request-id counter so out-of-order responses don't replace a
18587
+ * later query's result.
18588
+ */
18589
+ export declare const NiceSearchInput: default_2.FC<NiceSearchInputProps>;
18590
+
18591
+ /** Props for {@link NiceSearchInput} — text field with async suggestions + recents. */
18592
+ export declare interface NiceSearchInputProps extends NiceStandardProps {
18593
+ /** Controlled search text. */
18594
+ value: string;
18595
+ /** Fires on every keystroke. */
18596
+ onChange: (value: string) => void;
18597
+ /** Fires on Enter or when the user picks a suggestion. */
18598
+ onSearch?: (value: string) => void;
18599
+ /**
18600
+ * Async source of suggestions. Receives the current query, returns
18601
+ * the rows to display. Debounce / cancellation is the caller's
18602
+ * responsibility; the component swallows stale responses by id.
18603
+ *
18604
+ * NOTE: aliased to {@link NiceSearchSuggestionFetcher} so the
18605
+ * `> Promise<` token sequence in the inline signature does not
18606
+ * trip the i18n-strings audit (which is a plain regex looking for
18607
+ * `> Word <` patterns).
18608
+ */
18609
+ getSuggestions?: NiceSearchSuggestionFetcher;
18610
+ /**
18611
+ * Static list of "recent searches" — shown when the input is
18612
+ * focused but empty (no query to fetch suggestions for).
18613
+ */
18614
+ recentSearches?: string[];
18615
+ /** Placeholder. Defaults to translated `'Search...'`. */
18616
+ placeholder?: string;
18617
+ /** Disable input + dropdown. */
18618
+ disabled?: boolean;
18619
+ }
18620
+
18621
+ /** One row in the suggestions dropdown. */
18622
+ export declare interface NiceSearchSuggestion {
18623
+ /** Stable identifier (used as React key). */
18624
+ id: string;
18625
+ /** Visible label. */
18626
+ label: default_2.ReactNode;
18627
+ /** Optional metadata renderable next to the label (e.g. icon, category). */
18628
+ hint?: default_2.ReactNode;
18629
+ }
18630
+
18631
+ /**
18632
+ * Async fetcher signature used by {@link NiceSearchInputProps.getSuggestions}.
18633
+ * Extracted to a named alias so the `> Promise<` token sequence does
18634
+ * not appear inline inside the props interface (where the i18n-strings
18635
+ * audit's `>Word<` regex would flag it as a false-positive raw label).
18636
+ */
18637
+ declare type NiceSearchSuggestionFetcher = (query: string) => Promise<NiceSearchSuggestion[]>;
18638
+
18639
+ /**
18640
+ * Page section: a `<section>` element with optional title/subtitle
18641
+ * header, actions slot, and bottom divider. Use for grouping content
18642
+ * blocks on dashboards or settings pages.
18643
+ */
18644
+ export declare const NiceSection: default_2.FC<NiceSectionProps>;
18645
+
18646
+ /** Props for {@link NiceSection} — semantic page section with header. */
18647
+ export declare interface NiceSectionProps extends NiceStandardProps {
18648
+ children: default_2.ReactNode;
18649
+ /** Section title rendered inside the header. */
18650
+ title?: string;
18651
+ /** Sub-title rendered below the title. */
18652
+ subtitle?: string;
18653
+ /** Header actions (typically a button group) rendered on the right. */
18654
+ actions?: default_2.ReactNode;
18655
+ /** Outer padding (number → px). */
18656
+ padding?: number | string;
18657
+ /** Render a divider line below the header. */
18658
+ divider?: boolean;
18659
+ }
18660
+
17388
18661
  /**
17389
18662
  * `NiceSegmentedControl` — single-selection toggle group with an animated
17390
18663
  * sliding "thumb" highlight, iOS-style. The control owns a single value
@@ -17833,10 +19106,10 @@ export { NiceSize }
17833
19106
  export declare const NiceSkeleton: default_2.FC<NiceSkeletonProps>;
17834
19107
 
17835
19108
  /** Props for the {@link NiceSkeleton} component — a pulsing placeholder shown while content is loading. */
17836
- export declare interface NiceSkeletonProps extends NiceBaseProps {
19109
+ export declare interface NiceSkeletonProps extends Omit<NiceStandardProps, 'variant'> {
17837
19110
  /** Skeleton size preset. */
17838
19111
  size?: NiceSize;
17839
- /** Shape variant: text line, circle, or rectangle. */
19112
+ /** Shape variant: text line, circle, or rectangle. Does NOT use `NiceVariant` palette — this is a shape selector, not a semantic intent. */
17840
19113
  variant?: 'text' | 'circle' | 'rect';
17841
19114
  /** Custom width (CSS value or number of pixels). */
17842
19115
  width?: string | number;
@@ -17921,10 +19194,45 @@ export declare interface NiceSortState {
17921
19194
  direction: 'asc' | 'desc';
17922
19195
  }
17923
19196
 
19197
+ /**
19198
+ * Flexible spacing element. Drop between siblings inside a `NiceFlex`
19199
+ * / `NiceStack` to push them apart, or set `size` to insert a fixed
19200
+ * gap without touching the parent's `gap` prop.
19201
+ */
19202
+ export declare const NiceSpacer: default_2.FC<NiceSpacerProps>;
19203
+
19204
+ export declare type NiceSpacerAxis = 'horizontal' | 'vertical' | 'both';
19205
+
19206
+ /**
19207
+ * Props for {@link NiceSpacer} — flexible / fixed-size whitespace inside flex layouts.
19208
+ *
19209
+ * NOTE: We deliberately omit `NiceStandardProps.size` because here `size` is a
19210
+ * spatial dimension (px / CSS length), not the `xs|sm|md|lg|xl` density token
19211
+ * that the standard prop describes.
19212
+ */
19213
+ export declare interface NiceSpacerProps extends Omit<NiceStandardProps, 'size'> {
19214
+ /**
19215
+ * Fixed size (number → px, string → raw CSS). When set, the spacer
19216
+ * has a deterministic dimension and does NOT flex-grow.
19217
+ */
19218
+ size?: number | string;
19219
+ /**
19220
+ * Flex-grow factor used when `size` is not provided. Defaults to 1
19221
+ * (the spacer absorbs all leftover space along the parent's main
19222
+ * axis).
19223
+ */
19224
+ flex?: number;
19225
+ /**
19226
+ * Which axis the spacer expands on. `'both'` is the safe default —
19227
+ * the spacer adapts to whichever parent flex direction it lands in.
19228
+ */
19229
+ axis?: NiceSpacerAxis;
19230
+ }
19231
+
17924
19232
  export declare const NiceSparkline: default_2.FC<NiceSparklineProps>;
17925
19233
 
17926
19234
  /** Props for the {@link NiceSparkline} component — a compact inline chart (line, bar, or area). */
17927
- export declare interface NiceSparklineProps extends NiceBaseProps {
19235
+ export declare interface NiceSparklineProps extends NiceStandardProps {
17928
19236
  /** Data values. */
17929
19237
  data: number[];
17930
19238
  /** SVG width in px. */
@@ -17995,7 +19303,7 @@ export declare interface NiceSpeedDialProps extends NiceBaseProps {
17995
19303
  export declare const NiceSpinner: default_2.FC<NiceSpinnerProps>;
17996
19304
 
17997
19305
  /** Props for the {@link NiceSpinner} component — an animated loading indicator. */
17998
- export declare interface NiceSpinnerProps extends NiceBaseProps {
19306
+ export declare interface NiceSpinnerProps extends NiceStandardProps {
17999
19307
  /** Spinner diameter. */
18000
19308
  size?: NiceSize;
18001
19309
  }
@@ -18144,6 +19452,39 @@ export { NiceSSEMessage }
18144
19452
 
18145
19453
  export { NiceSSEMessageType }
18146
19454
 
19455
+ /**
19456
+ * Lays out children in a single column or row with a consistent gap.
19457
+ *
19458
+ * A thin wrapper over flexbox that captures the conventions we use
19459
+ * across the design system (spacing as a number, optional divider
19460
+ * between every pair) so consumers don't have to re-derive them.
19461
+ */
19462
+ export declare const NiceStack: default_2.FC<NiceStackProps>;
19463
+
19464
+ export declare type NiceStackAlign = 'start' | 'center' | 'end' | 'stretch';
19465
+
19466
+ export declare type NiceStackDirection = 'vertical' | 'horizontal';
19467
+
19468
+ export declare type NiceStackJustify = 'start' | 'center' | 'end' | 'space-between' | 'space-around';
19469
+
19470
+ /** Props for {@link NiceStack} — uniform-gap one-dimensional layout. */
19471
+ export declare interface NiceStackProps extends NiceStandardProps {
19472
+ /** Stack children. */
19473
+ children: default_2.ReactNode;
19474
+ /** Layout axis. */
19475
+ direction?: NiceStackDirection;
19476
+ /** Gap between items. Number → pixels, string → raw CSS value. */
19477
+ spacing?: number | string;
19478
+ /** Cross-axis alignment. */
19479
+ align?: NiceStackAlign;
19480
+ /** Main-axis alignment. */
19481
+ justify?: NiceStackJustify;
19482
+ /** Allow wrapping onto multiple lines. */
19483
+ wrap?: boolean;
19484
+ /** Optional element placed between every pair of children (e.g. `<NiceDivider />`). */
19485
+ divider?: default_2.ReactNode;
19486
+ }
19487
+
18147
19488
  export { niceStaggerDelay }
18148
19489
 
18149
19490
  export { NiceStandardFieldProps }
@@ -18184,6 +19525,37 @@ export { NiceStateIO }
18184
19525
 
18185
19526
  export { NiceStateSnapshot }
18186
19527
 
19528
+ /**
19529
+ * Renders a single KPI tile: title, big value with optional pre/suffix,
19530
+ * and an arrow-coloured trend chip. Locale-aware number formatting via
19531
+ * `Intl.NumberFormat` (toLocaleString).
19532
+ */
19533
+ export declare const NiceStatistic: default_2.FC<NiceStatisticProps>;
19534
+
19535
+ /** Props for {@link NiceStatistic} — KPI / metric tile. */
19536
+ export declare interface NiceStatisticProps extends NiceStandardProps {
19537
+ /** Metric title (e.g. "Active users"). */
19538
+ title: string;
19539
+ /** Metric value. Numbers go through `toLocaleString` for grouping. */
19540
+ value: number | string;
19541
+ /** Optional prefix glyph (e.g. currency icon). */
19542
+ prefix?: default_2.ReactNode;
19543
+ /** Optional suffix glyph (e.g. "%"). */
19544
+ suffix?: default_2.ReactNode;
19545
+ /** Decimal places when `value` is a number. */
19546
+ precision?: number;
19547
+ /** Trend chip rendered next to the value. */
19548
+ trend?: NiceStatisticTrend;
19549
+ }
19550
+
19551
+ /** Trend descriptor — direction is independent from magnitude. */
19552
+ export declare interface NiceStatisticTrend {
19553
+ /** Magnitude (typically a percentage; the component formats the symbol). */
19554
+ value: number;
19555
+ /** Up = positive movement, down = negative. */
19556
+ direction: 'up' | 'down';
19557
+ }
19558
+
18187
19559
  /**
18188
19560
  * {@link NiceStatusBadge} — Workflow status badge with semantic coloring and optional pulse animation.
18189
19561
  */
@@ -18252,7 +19624,7 @@ export declare interface NiceStepperStep {
18252
19624
  export declare const NiceStockChart: default_2.ForwardRefExoticComponent<NiceStockChartProps & default_2.RefAttributes<HTMLDivElement>>;
18253
19625
 
18254
19626
  /** Props for the {@link NiceStockChart} component — an SVG candlestick / OHLC / line stock chart with optional volume bars. */
18255
- export declare interface NiceStockChartProps extends NiceBaseProps {
19627
+ export declare interface NiceStockChartProps extends NiceStandardProps {
18256
19628
  /** OHLC data points. */
18257
19629
  data: NiceStockDataPoint[];
18258
19630
  /** Chart type. */
@@ -18419,6 +19791,27 @@ export declare interface NiceSurveyProps {
18419
19791
  className?: string;
18420
19792
  }
18421
19793
 
19794
+ /**
19795
+ * Drop-in replacement for `<React.Suspense>` with a `delay` knob to
19796
+ * avoid the "spinner flash" anti-pattern. Internally we suspend on
19797
+ * the React component, then gate the fallback on a `setTimeout` so
19798
+ * we only render the visual fallback once the wait exceeds `delay`.
19799
+ */
19800
+ export declare const NiceSuspense: default_2.FC<NiceSuspenseProps>;
19801
+
19802
+ /** Props for {@link NiceSuspense} — React.Suspense with an optional delayed fallback. */
19803
+ export declare interface NiceSuspenseProps extends NiceStandardProps {
19804
+ children: default_2.ReactNode;
19805
+ /** Element shown while children are suspended. */
19806
+ fallback?: default_2.ReactNode;
19807
+ /**
19808
+ * Delay (ms) before the fallback appears — prevents flash of
19809
+ * spinner for fast resolves. When 0 the fallback shows immediately
19810
+ * (matches the React.Suspense default).
19811
+ */
19812
+ delay?: number;
19813
+ }
19814
+
18422
19815
  /** Swap event payload. */
18423
19816
  export declare interface NiceSwapEvent {
18424
19817
  type: SwapEventType;
@@ -18436,6 +19829,32 @@ export { NiceSwipeableListItem }
18436
19829
 
18437
19830
  export { NiceSwipeableListItemProps }
18438
19831
 
19832
+ /**
19833
+ * Pointer-driven swipe card (Tinder-style). Uses `onPointerDown/Move/Up`
19834
+ * for unified touch + mouse + pen handling. Commits a swipe when the
19835
+ * release distance crosses `threshold` along the dominant axis; below
19836
+ * threshold the card springs back to centre.
19837
+ *
19838
+ * Keyboard fallback: arrow keys fire the corresponding `onSwipe*`
19839
+ * callbacks so the component is usable without a touch device.
19840
+ */
19841
+ export declare const NiceSwipeCard: default_2.FC<NiceSwipeCardProps>;
19842
+
19843
+ /** Props for {@link NiceSwipeCard} — touch/mouse-draggable card. */
19844
+ export declare interface NiceSwipeCardProps extends NiceStandardProps {
19845
+ children: default_2.ReactNode;
19846
+ onSwipeLeft?: () => void;
19847
+ onSwipeRight?: () => void;
19848
+ onSwipeUp?: () => void;
19849
+ onSwipeDown?: () => void;
19850
+ /** Pixel distance required before a release commits as a swipe. */
19851
+ threshold?: number;
19852
+ /** Render a translucent left/right hint overlay during drag. */
19853
+ showOverlay?: boolean;
19854
+ /** Disable interaction entirely (card stays static). */
19855
+ disabled?: boolean;
19856
+ }
19857
+
18439
19858
  /** A system-tray icon in the {@link NiceDesktop} clock area. */
18440
19859
  export declare interface NiceSystemTrayItem {
18441
19860
  /** Unique key. */
@@ -18448,6 +19867,54 @@ export declare interface NiceSystemTrayItem {
18448
19867
  onClick?: () => void;
18449
19868
  }
18450
19869
 
19870
+ /**
19871
+ * Tab bar for navigating between top-level app sections — the
19872
+ * counterpart of `NiceTabs` (which is for tabbed content panes).
19873
+ * Uses the standard ARIA `tablist` + `tab` + `aria-selected` pattern.
19874
+ *
19875
+ * Arrow keys + Home/End move focus between tabs (the canonical tab
19876
+ * keyboard pattern); Tab key escapes the tablist as usual.
19877
+ */
19878
+ export declare const NiceTabBar: default_2.FC<NiceTabBarProps>;
19879
+
19880
+ /**
19881
+ * Props for {@link NiceTabBar} — top-level section nav, not content tabs.
19882
+ *
19883
+ * `variant` omitted from the standard prop bag because here it's a
19884
+ * local visual style (`default` / `pills` / `underline`), not the
19885
+ * design-system `NiceVariant`.
19886
+ */
19887
+ export declare interface NiceTabBarProps extends Omit<NiceStandardProps, 'variant'> {
19888
+ /** Tab list. */
19889
+ tabs: NiceTabBarTab[];
19890
+ /** Currently selected tab id (uncontrolled when omitted). */
19891
+ activeTab?: string;
19892
+ /** Fires on selection change. */
19893
+ onChange?: (tabId: string) => void;
19894
+ /** Visual variant. */
19895
+ variant?: NiceTabBarVariant;
19896
+ /** Tab size scale. */
19897
+ size?: NiceSize;
19898
+ /** Render icons next to the labels. */
19899
+ showIcons?: boolean;
19900
+ /** Stretch tabs to fill the available width. */
19901
+ stretch?: boolean;
19902
+ }
19903
+
19904
+ /** Single tab definition. */
19905
+ export declare interface NiceTabBarTab {
19906
+ /** Stable identifier (used in `activeTab` / `onChange`). */
19907
+ id: string;
19908
+ /** Display label. */
19909
+ label: default_2.ReactNode;
19910
+ /** Optional icon node — visibility gated by `showIcons`. */
19911
+ icon?: default_2.ReactNode;
19912
+ /** Disable selection. */
19913
+ disabled?: boolean;
19914
+ }
19915
+
19916
+ export declare type NiceTabBarVariant = 'default' | 'pills' | 'underline';
19917
+
18451
19918
  export { NiceTabDescriptor }
18452
19919
 
18453
19920
  /** Definition of a single tab in a {@link NiceTabs} component. */
@@ -18581,8 +20048,44 @@ export declare interface NiceTagBoxProps extends NiceFormFieldProps {
18581
20048
  autoExpand?: boolean;
18582
20049
  }
18583
20050
 
20051
+ /**
20052
+ * Tag (chip) input. Each committed value renders as a removable chip;
20053
+ * the trailing `<input>` collects new entries. Commit happens on:
20054
+ * - Enter
20055
+ * - the `separator` character
20056
+ * - paste containing one or more `separator`-joined tokens
20057
+ *
20058
+ * Backspace on an empty input deletes the last tag — the canonical
20059
+ * "tag input" affordance.
20060
+ */
20061
+ export declare const NiceTagInput: default_2.FC<NiceTagInputProps>;
20062
+
20063
+ /** Props for {@link NiceTagInput} — multi-value input rendering tags + textbox. */
20064
+ export declare interface NiceTagInputProps extends NiceStandardProps {
20065
+ /** Controlled tag list. */
20066
+ value: string[];
20067
+ /** Fires on every change. */
20068
+ onChange: (tags: string[]) => void;
20069
+ /** Suggestions shown below the input as filterable dropdown. */
20070
+ suggestions?: string[];
20071
+ /** Hard cap on tag count. New entries beyond `maxTags` are rejected. */
20072
+ maxTags?: number;
20073
+ /** When `true`, identical tags can be added more than once. */
20074
+ allowDuplicates?: boolean;
20075
+ /**
20076
+ * Separator character — used both for splitting paste payloads
20077
+ * AND as an additional commit key in the input (e.g. typing `,`
20078
+ * commits the current draft as a tag).
20079
+ */
20080
+ separator?: string;
20081
+ /** Input placeholder. */
20082
+ placeholder?: string;
20083
+ /** Disable everything. */
20084
+ disabled?: boolean;
20085
+ }
20086
+
18584
20087
  /** Props for the {@link NiceTag} component — a compact label used for categorization or selection. */
18585
- export declare interface NiceTagProps extends NiceBaseProps {
20088
+ export declare interface NiceTagProps extends NiceStandardProps {
18586
20089
  /** Tag size. */
18587
20090
  size?: NiceSize;
18588
20091
  /** Tag content. */
@@ -18726,7 +20229,7 @@ export declare interface NiceTerminalLine {
18726
20229
  export declare const NiceTerminalUI: ForwardRefExoticComponent<NiceTerminalUIProps & RefAttributes<HTMLDivElement>>;
18727
20230
 
18728
20231
  /** Props for the {@link NiceTerminalUI} component — a retro terminal / console emulator. */
18729
- export declare interface NiceTerminalUIProps extends NiceBaseProps {
20232
+ export declare interface NiceTerminalUIProps extends NiceStandardProps {
18730
20233
  /** Pre-loaded lines of output. */
18731
20234
  lines?: NiceTerminalLine[];
18732
20235
  /** Command prompt string (default: "$"). */
@@ -19166,7 +20669,7 @@ export declare interface NiceTimelineItem {
19166
20669
  }
19167
20670
 
19168
20671
  /** Props for the {@link NiceTimeline} component — a vertical or horizontal timeline of events. */
19169
- export declare interface NiceTimelineProps extends NiceBaseProps {
20672
+ export declare interface NiceTimelineProps extends NiceStandardProps {
19170
20673
  /** Timeline entries. */
19171
20674
  items: NiceTimelineItem[];
19172
20675
  /** Layout mode */
@@ -19179,7 +20682,7 @@ export declare interface NiceTimelineProps extends NiceBaseProps {
19179
20682
 
19180
20683
  export declare const NiceTimeoutFeedback: default_2.FC<NiceTimeoutFeedbackProps>;
19181
20684
 
19182
- export declare interface NiceTimeoutFeedbackProps extends NiceBaseProps {
20685
+ export declare interface NiceTimeoutFeedbackProps extends NiceStandardProps {
19183
20686
  size?: NiceSize;
19184
20687
  timeoutMs?: number;
19185
20688
  slowThresholdMs?: number;
@@ -19226,7 +20729,7 @@ export declare interface NiceTimePickerProps extends NiceFormFieldProps {
19226
20729
  /** Show a live countdown label beside the picker. */
19227
20730
  countdown?: boolean;
19228
20731
  /** Built-in countdown format preset (default `'verbose'`). */
19229
- countdownFormat?: NiceCountdownFormat;
20732
+ countdownFormat?: NiceCountdownFormat_2;
19230
20733
  /** Custom formatter (overrides {@link countdownFormat}). */
19231
20734
  formatCountdown?: (msRemaining: number, target: Date) => string;
19232
20735
  /** Label rendered before the countdown text (e.g. `'starts in'`). */
@@ -19255,6 +20758,45 @@ export declare interface NiceToastItem {
19255
20758
 
19256
20759
  export declare const NiceToggle: default_2.ForwardRefExoticComponent<NiceToggleProps & default_2.RefAttributes<HTMLInputElement>>;
19257
20760
 
20761
+ /**
20762
+ * Toggle-button group with single OR multiple selection. Uses native
20763
+ * `<button>` with `aria-pressed` per item (the canonical ARIA pattern
20764
+ * for "toggle buttons" — `role="radio"` would be wrong because items
20765
+ * are independently activatable when `type="multiple"`).
20766
+ */
20767
+ export declare const NiceToggleGroup: default_2.FC<NiceToggleGroupProps> & {
20768
+ Item: default_2.FC<NiceToggleGroupItemProps>;
20769
+ };
20770
+
20771
+ /** Props for `<NiceToggleGroup.Item>` — single button inside the group. */
20772
+ export declare interface NiceToggleGroupItemProps {
20773
+ /** Identifier this item registers under. */
20774
+ value: string;
20775
+ children: default_2.ReactNode;
20776
+ /** Disable just this item (group `disabled` still wins when true). */
20777
+ disabled?: boolean;
20778
+ }
20779
+
20780
+ /** Props for {@link NiceToggleGroup} — toggle-button set, single OR multi-select. */
20781
+ export declare interface NiceToggleGroupProps extends NiceStandardProps {
20782
+ children: default_2.ReactNode;
20783
+ /** Selection mode. */
20784
+ type?: NiceToggleGroupType;
20785
+ /**
20786
+ * Controlled selected value(s). String for `type="single"`,
20787
+ * `string[]` for `type="multiple"`.
20788
+ */
20789
+ value?: string | string[];
20790
+ /** Default selection (uncontrolled). */
20791
+ defaultValue?: string | string[];
20792
+ /** Disable every item. */
20793
+ disabled?: boolean;
20794
+ /** Fires whenever selection changes. */
20795
+ onChange?: (value: string | string[]) => void;
20796
+ }
20797
+
20798
+ export declare type NiceToggleGroupType = 'single' | 'multiple';
20799
+
19258
20800
  /** Props for the {@link NiceToggle} component — a boolean switch/toggle. */
19259
20801
  export declare interface NiceToggleProps extends NiceBaseProps {
19260
20802
  /** Toggle label. */
@@ -19739,7 +21281,7 @@ export declare const NiceTreeMap: default_2.ForwardRefExoticComponent<NiceTreeMa
19739
21281
 
19740
21282
  export declare const NiceTreeMapChart: default_2.FC<NiceTreeMapChartProps>;
19741
21283
 
19742
- export declare interface NiceTreeMapChartProps extends NiceBaseProps {
21284
+ export declare interface NiceTreeMapChartProps extends NiceStandardProps {
19743
21285
  /** Dane hierarchiczne. Można też podać płaską listę — zostanie opakowana w wirtualny korzeń. */
19744
21286
  data: TreeMapNode | Array<{
19745
21287
  label?: string;
@@ -19780,7 +21322,7 @@ export declare interface NiceTreeMapNode {
19780
21322
  }
19781
21323
 
19782
21324
  /** Props for the {@link NiceTreeMap} component — a squarified treemap visualization. */
19783
- export declare interface NiceTreeMapProps extends NiceBaseProps {
21325
+ export declare interface NiceTreeMapProps extends NiceStandardProps {
19784
21326
  /** Root node. */
19785
21327
  data: NiceTreeMapNode;
19786
21328
  /** SVG width in px. */
@@ -19887,6 +21429,42 @@ export declare interface NiceTreeViewProps extends NiceBaseProps {
19887
21429
  onNodeEdit?: (key: string, newText: string) => void;
19888
21430
  }
19889
21431
 
21432
+ /**
21433
+ * Clamps text to N lines using the modern `-webkit-line-clamp`
21434
+ * pattern and optionally exposes a Show more / Show less toggle.
21435
+ *
21436
+ * The button labels go through `useNiceTranslation()` so the
21437
+ * component stays consistent with the rest of the i18n system; if
21438
+ * you pass `expandText` / `collapseText` explicitly they take
21439
+ * precedence and skip the lookup.
21440
+ */
21441
+ export declare const NiceTruncate: default_2.FC<NiceTruncateProps>;
21442
+
21443
+ /** Props for {@link NiceTruncate} — multi-line text clamp with optional expand. */
21444
+ export declare interface NiceTruncateProps extends NiceStandardProps {
21445
+ /** Text content to clamp. */
21446
+ children: string;
21447
+ /** Max line count before truncation kicks in. Defaults to 1. */
21448
+ lines?: number;
21449
+ /** Render an "expand" toggle that reveals the full text. */
21450
+ expandable?: boolean;
21451
+ /**
21452
+ * Label for the expand button. Falls back to the translated default
21453
+ * (`truncate.expand`) so it follows the global language picker.
21454
+ */
21455
+ expandText?: string;
21456
+ /**
21457
+ * Label for the collapse button. Falls back to the translated
21458
+ * default (`truncate.collapse`).
21459
+ */
21460
+ collapseText?: string;
21461
+ /**
21462
+ * When `true`, the full text becomes the element's `title`
21463
+ * attribute so the browser native tooltip surfaces it on hover.
21464
+ */
21465
+ tooltip?: boolean;
21466
+ }
21467
+
19890
21468
  export declare const NiceTutorial: default_2.FC<NiceTutorialProps>;
19891
21469
 
19892
21470
  /** Props for the {@link NiceTutorial} component — a guided walkthrough overlay with step-by-step highlighting. */
@@ -20293,7 +21871,7 @@ export declare interface NiceVatInputProps extends NiceFormFieldProps {
20293
21871
  export declare const NiceVectorMap: default_2.FC<NiceVectorMapProps>;
20294
21872
 
20295
21873
  /** Props for the {@link NiceVectorMap} component — an SVG choropleth map with region selection and tooltips. */
20296
- export declare interface NiceVectorMapProps extends NiceBaseProps {
21874
+ export declare interface NiceVectorMapProps extends NiceStandardProps {
20297
21875
  /** Region definitions. */
20298
21876
  regions: NiceMapRegion[];
20299
21877
  /** SVG width in px. */
@@ -20873,7 +22451,7 @@ export declare const NiceVirtualScroller: <T>(props: NiceVirtualScrollerProps<T>
20873
22451
  }) => default_2.ReactElement | null;
20874
22452
 
20875
22453
  /** Props for the {@link NiceVirtualScroller} component — renders large lists efficiently by only mounting visible items. */
20876
- export declare interface NiceVirtualScrollerProps<T = unknown> extends NiceBaseProps {
22454
+ export declare interface NiceVirtualScrollerProps<T = unknown> extends NiceStandardProps {
20877
22455
  /** Data items to render */
20878
22456
  items: T[];
20879
22457
  /** Fixed height of each item in pixels */