@gooddata/sdk-ui-kit 11.13.0-alpha.1 → 11.13.0-alpha.3

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 (183) hide show
  1. package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableBulkActions.d.ts.map +1 -1
  2. package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableBulkActions.js +2 -2
  3. package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableBulkActions.js.map +1 -1
  4. package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableCheckbox.js +1 -1
  5. package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableCheckbox.js.map +1 -1
  6. package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableDropdownItem.d.ts +1 -2
  7. package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableDropdownItem.d.ts.map +1 -1
  8. package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableDropdownItem.js +3 -3
  9. package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableDropdownItem.js.map +1 -1
  10. package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableFilter.d.ts.map +1 -1
  11. package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableFilter.js +2 -1
  12. package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableFilter.js.map +1 -1
  13. package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableToolbar.js +2 -2
  14. package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableToolbar.js.map +1 -1
  15. package/esm/@ui/UiAsyncTable/types.d.ts +3 -0
  16. package/esm/@ui/UiAsyncTable/types.d.ts.map +1 -1
  17. package/esm/@ui/UiBadge/UiBadge.d.ts +0 -1
  18. package/esm/@ui/UiBadge/UiBadge.d.ts.map +1 -1
  19. package/esm/@ui/UiBadge/UiBadge.js +0 -1
  20. package/esm/@ui/UiBadge/UiBadge.js.map +1 -1
  21. package/esm/@ui/UiButton/UiButton.d.ts.map +1 -1
  22. package/esm/@ui/UiButton/UiButton.js +1 -1
  23. package/esm/@ui/UiButton/UiButton.js.map +1 -1
  24. package/esm/@ui/UiCheckbox/UiCheckbox.d.ts.map +1 -1
  25. package/esm/@ui/UiCheckbox/UiCheckbox.js +9 -1
  26. package/esm/@ui/UiCheckbox/UiCheckbox.js.map +1 -1
  27. package/esm/@ui/UiPaginationButton/UiPaginationButton.d.ts +85 -0
  28. package/esm/@ui/UiPaginationButton/UiPaginationButton.d.ts.map +1 -0
  29. package/esm/@ui/UiPaginationButton/UiPaginationButton.js +28 -0
  30. package/esm/@ui/UiPaginationButton/UiPaginationButton.js.map +1 -0
  31. package/esm/ChartSorting/ChartSorting.d.ts +0 -4
  32. package/esm/ChartSorting/ChartSorting.d.ts.map +1 -1
  33. package/esm/ChartSorting/ChartSorting.js +1 -4
  34. package/esm/ChartSorting/ChartSorting.js.map +1 -1
  35. package/esm/ColorPicker/ColorPicker.d.ts +1 -4
  36. package/esm/ColorPicker/ColorPicker.d.ts.map +1 -1
  37. package/esm/ColorPicker/ColorPicker.js +6 -7
  38. package/esm/ColorPicker/ColorPicker.js.map +1 -1
  39. package/esm/DocumentHeader/DocumentHeader.d.ts +1 -1
  40. package/esm/DocumentHeader/DocumentHeader.d.ts.map +1 -1
  41. package/esm/DocumentHeader/DocumentHeader.js +1 -1
  42. package/esm/DocumentHeader/DocumentHeader.js.map +1 -1
  43. package/esm/DocumentHeader/index.d.ts +1 -1
  44. package/esm/DocumentHeader/index.d.ts.map +1 -1
  45. package/esm/DocumentHeader/index.js +2 -1
  46. package/esm/DocumentHeader/index.js.map +1 -1
  47. package/esm/Dropdown/DropdownButton.js +1 -1
  48. package/esm/Dropdown/DropdownButton.js.map +1 -1
  49. package/esm/FilterLabel/FilterLabel.d.ts +1 -4
  50. package/esm/FilterLabel/FilterLabel.d.ts.map +1 -1
  51. package/esm/FilterLabel/FilterLabel.js +7 -7
  52. package/esm/FilterLabel/FilterLabel.js.map +1 -1
  53. package/esm/Form/InputWithNumberFormat.d.ts +2 -39
  54. package/esm/Form/InputWithNumberFormat.d.ts.map +1 -1
  55. package/esm/Form/InputWithNumberFormat.js +33 -50
  56. package/esm/Form/InputWithNumberFormat.js.map +1 -1
  57. package/esm/Header/Header.d.ts +1 -2
  58. package/esm/Header/Header.d.ts.map +1 -1
  59. package/esm/Header/Header.js +7 -7
  60. package/esm/Header/Header.js.map +1 -1
  61. package/esm/Header/HeaderDataMenu.d.ts +0 -1
  62. package/esm/Header/HeaderDataMenu.d.ts.map +1 -1
  63. package/esm/Header/HeaderDataMenu.js +1 -1
  64. package/esm/Header/HeaderDataMenu.js.map +1 -1
  65. package/esm/Header/HeaderHelp.d.ts +0 -1
  66. package/esm/Header/HeaderHelp.d.ts.map +1 -1
  67. package/esm/Header/HeaderHelp.js +1 -1
  68. package/esm/Header/HeaderHelp.js.map +1 -1
  69. package/esm/Header/HeaderMenu.d.ts +1 -2
  70. package/esm/Header/HeaderMenu.d.ts.map +1 -1
  71. package/esm/Header/HeaderMenu.js +4 -4
  72. package/esm/Header/HeaderMenu.js.map +1 -1
  73. package/esm/Header/HeaderWorkspacePicker.d.ts +0 -1
  74. package/esm/Header/HeaderWorkspacePicker.d.ts.map +1 -1
  75. package/esm/Header/HeaderWorkspacePicker.js +1 -1
  76. package/esm/Header/HeaderWorkspacePicker.js.map +1 -1
  77. package/esm/Header/HeaderWorkspacePickerItem.d.ts +0 -1
  78. package/esm/Header/HeaderWorkspacePickerItem.d.ts.map +1 -1
  79. package/esm/Header/HeaderWorkspacePickerItem.js +1 -1
  80. package/esm/Header/HeaderWorkspacePickerItem.js.map +1 -1
  81. package/esm/List/InsightListItem.d.ts +1 -4
  82. package/esm/List/InsightListItem.d.ts.map +1 -1
  83. package/esm/List/InsightListItem.js +3 -6
  84. package/esm/List/InsightListItem.js.map +1 -1
  85. package/esm/List/LegacyInvertableList.d.ts +0 -1
  86. package/esm/List/LegacyInvertableList.d.ts.map +1 -1
  87. package/esm/List/LegacyInvertableList.js +3 -4
  88. package/esm/List/LegacyInvertableList.js.map +1 -1
  89. package/esm/List/LegacyMultiSelectList.d.ts +1 -2
  90. package/esm/List/LegacyMultiSelectList.d.ts.map +1 -1
  91. package/esm/List/LegacyMultiSelectList.js +7 -12
  92. package/esm/List/LegacyMultiSelectList.js.map +1 -1
  93. package/esm/List/LegacyMultiSelectListItem.d.ts +0 -6
  94. package/esm/List/LegacyMultiSelectListItem.d.ts.map +1 -1
  95. package/esm/List/LegacyMultiSelectListItem.js +1 -2
  96. package/esm/List/LegacyMultiSelectListItem.js.map +1 -1
  97. package/esm/List/MultiSelectList.d.ts +1 -5
  98. package/esm/List/MultiSelectList.d.ts.map +1 -1
  99. package/esm/List/MultiSelectList.js +6 -6
  100. package/esm/List/MultiSelectList.js.map +1 -1
  101. package/esm/List/index.d.ts +2 -2
  102. package/esm/List/index.d.ts.map +1 -1
  103. package/esm/List/index.js +2 -2
  104. package/esm/List/index.js.map +1 -1
  105. package/esm/Overlay/ErrorOverlay.d.ts.map +1 -1
  106. package/esm/Overlay/ErrorOverlay.js +4 -4
  107. package/esm/Overlay/ErrorOverlay.js.map +1 -1
  108. package/esm/SettingWidget/StylingSettingWidget/StylingSettingWidget.d.ts +2 -2
  109. package/esm/SettingWidget/StylingSettingWidget/StylingSettingWidget.d.ts.map +1 -1
  110. package/esm/SettingWidget/StylingSettingWidget/StylingSettingWidget.js +2 -6
  111. package/esm/SettingWidget/StylingSettingWidget/StylingSettingWidget.js.map +1 -1
  112. package/esm/index.d.ts +2 -0
  113. package/esm/index.d.ts.map +1 -1
  114. package/esm/index.js +1 -0
  115. package/esm/index.js.map +1 -1
  116. package/esm/measureNumberFormat/MeasureNumberFormat.d.ts +1 -2
  117. package/esm/measureNumberFormat/MeasureNumberFormat.d.ts.map +1 -1
  118. package/esm/measureNumberFormat/MeasureNumberFormat.js +6 -6
  119. package/esm/measureNumberFormat/MeasureNumberFormat.js.map +1 -1
  120. package/esm/measureNumberFormat/customFormatDialog/CustomFormatDialog.js +4 -4
  121. package/esm/measureNumberFormat/customFormatDialog/CustomFormatDialog.js.map +1 -1
  122. package/esm/measureNumberFormat/customFormatDialog/DocumentationLink.d.ts +3 -7
  123. package/esm/measureNumberFormat/customFormatDialog/DocumentationLink.d.ts.map +1 -1
  124. package/esm/measureNumberFormat/customFormatDialog/DocumentationLink.js +2 -3
  125. package/esm/measureNumberFormat/customFormatDialog/DocumentationLink.js.map +1 -1
  126. package/esm/measureNumberFormat/customFormatDialog/FormatInput.d.ts +3 -7
  127. package/esm/measureNumberFormat/customFormatDialog/FormatInput.d.ts.map +1 -1
  128. package/esm/measureNumberFormat/customFormatDialog/FormatInput.js +4 -5
  129. package/esm/measureNumberFormat/customFormatDialog/FormatInput.js.map +1 -1
  130. package/esm/measureNumberFormat/customFormatDialog/formatTemplatesDropdown/DropdownItem.d.ts +2 -2
  131. package/esm/measureNumberFormat/customFormatDialog/formatTemplatesDropdown/DropdownItem.d.ts.map +1 -1
  132. package/esm/measureNumberFormat/customFormatDialog/formatTemplatesDropdown/DropdownItem.js +2 -3
  133. package/esm/measureNumberFormat/customFormatDialog/formatTemplatesDropdown/DropdownItem.js.map +1 -1
  134. package/esm/measureNumberFormat/customFormatDialog/formatTemplatesDropdown/DropdownToggleButton.d.ts +2 -2
  135. package/esm/measureNumberFormat/customFormatDialog/formatTemplatesDropdown/DropdownToggleButton.d.ts.map +1 -1
  136. package/esm/measureNumberFormat/customFormatDialog/formatTemplatesDropdown/DropdownToggleButton.js +1 -2
  137. package/esm/measureNumberFormat/customFormatDialog/formatTemplatesDropdown/DropdownToggleButton.js.map +1 -1
  138. package/esm/measureNumberFormat/customFormatDialog/formatTemplatesDropdown/FormatTemplatesDropdown.js +2 -2
  139. package/esm/measureNumberFormat/customFormatDialog/formatTemplatesDropdown/FormatTemplatesDropdown.js.map +1 -1
  140. package/esm/measureNumberFormat/customFormatDialog/previewSection/ExtendedPreview.js +1 -1
  141. package/esm/measureNumberFormat/customFormatDialog/previewSection/ExtendedPreview.js.map +1 -1
  142. package/esm/measureNumberFormat/customFormatDialog/previewSection/Preview.d.ts +2 -7
  143. package/esm/measureNumberFormat/customFormatDialog/previewSection/Preview.d.ts.map +1 -1
  144. package/esm/measureNumberFormat/customFormatDialog/previewSection/Preview.js +3 -3
  145. package/esm/measureNumberFormat/customFormatDialog/previewSection/Preview.js.map +1 -1
  146. package/esm/measureNumberFormat/customFormatDialog/shared/PreviewRows.d.ts +1 -2
  147. package/esm/measureNumberFormat/customFormatDialog/shared/PreviewRows.d.ts.map +1 -1
  148. package/esm/measureNumberFormat/customFormatDialog/shared/PreviewRows.js +1 -2
  149. package/esm/measureNumberFormat/customFormatDialog/shared/PreviewRows.js.map +1 -1
  150. package/esm/measureNumberFormat/hooks/useCurrencyFormatDefaults.d.ts +21 -0
  151. package/esm/measureNumberFormat/hooks/useCurrencyFormatDefaults.d.ts.map +1 -0
  152. package/esm/measureNumberFormat/hooks/useCurrencyFormatDefaults.js +49 -0
  153. package/esm/measureNumberFormat/hooks/useCurrencyFormatDefaults.js.map +1 -0
  154. package/esm/measureNumberFormat/hooks/useMetricTypePresets.d.ts +115 -0
  155. package/esm/measureNumberFormat/hooks/useMetricTypePresets.d.ts.map +1 -0
  156. package/esm/measureNumberFormat/hooks/useMetricTypePresets.js +113 -0
  157. package/esm/measureNumberFormat/hooks/useMetricTypePresets.js.map +1 -0
  158. package/esm/measureNumberFormat/index.d.ts +7 -0
  159. package/esm/measureNumberFormat/index.d.ts.map +1 -1
  160. package/esm/measureNumberFormat/index.js +7 -1
  161. package/esm/measureNumberFormat/index.js.map +1 -1
  162. package/esm/measureNumberFormat/presets/currencyPresets.d.ts +34 -0
  163. package/esm/measureNumberFormat/presets/currencyPresets.d.ts.map +1 -0
  164. package/esm/measureNumberFormat/presets/currencyPresets.js +53 -0
  165. package/esm/measureNumberFormat/presets/currencyPresets.js.map +1 -0
  166. package/esm/measureNumberFormat/presets/standardPresets.d.ts +34 -0
  167. package/esm/measureNumberFormat/presets/standardPresets.d.ts.map +1 -0
  168. package/esm/measureNumberFormat/presets/standardPresets.js +71 -0
  169. package/esm/measureNumberFormat/presets/standardPresets.js.map +1 -0
  170. package/esm/measureNumberFormat/presets/templates.d.ts +60 -0
  171. package/esm/measureNumberFormat/presets/templates.d.ts.map +1 -0
  172. package/esm/measureNumberFormat/presets/templates.js +183 -0
  173. package/esm/measureNumberFormat/presets/templates.js.map +1 -0
  174. package/esm/measureNumberFormat/validation/currencyFormatValidator.d.ts +55 -0
  175. package/esm/measureNumberFormat/validation/currencyFormatValidator.d.ts.map +1 -0
  176. package/esm/measureNumberFormat/validation/currencyFormatValidator.js +118 -0
  177. package/esm/measureNumberFormat/validation/currencyFormatValidator.js.map +1 -0
  178. package/esm/sdk-ui-kit.d.ts +437 -59
  179. package/package.json +9 -9
  180. package/src/@ui/UiPaginationButton/UiPaginationButton.scss +56 -0
  181. package/src/@ui/index.scss +1 -0
  182. package/styles/css/main.css +40 -0
  183. package/styles/css/main.css.map +1 -1
@@ -51,7 +51,8 @@ import { IMeasureSortTarget } from '@gooddata/sdk-model';
51
51
  import { IMetadataObjectBase } from '@gooddata/sdk-model';
52
52
  import { IntlShape } from 'react-intl';
53
53
  import { ISeparators } from '@gooddata/sdk-ui';
54
- import { ISeparators as ISeparators_2 } from '@gooddata/sdk-model';
54
+ import { ISeparators as ISeparators_2 } from '@gooddata/number-formatter';
55
+ import { ISeparators as ISeparators_3 } from '@gooddata/sdk-model';
55
56
  import { ISettings } from '@gooddata/sdk-model';
56
57
  import { ISortItem } from '@gooddata/sdk-model';
57
58
  import { ITheme } from '@gooddata/sdk-model';
@@ -64,6 +65,7 @@ import { KeyboardEventHandler } from 'react';
64
65
  import { LocalIdRef } from '@gooddata/sdk-model';
65
66
  import { MemoExoticComponent } from 'react';
66
67
  import { MessageDescriptor } from 'react-intl';
68
+ import type { MetricType } from '@gooddata/sdk-model';
67
69
  import { ModifierKey } from 'react';
68
70
  import { MouseEvent as MouseEvent_2 } from 'react';
69
71
  import { MutableRefObject } from 'react';
@@ -119,6 +121,12 @@ export declare function AddGranteeBase({ appliedGrantees, addedGrantees, current
119
121
  */
120
122
  export declare type AddMessageType = (message: MessageDescriptor, options?: MessageParameters) => IMessage;
121
123
 
124
+ /**
125
+ * Advanced format template definitions (complex conditional formats).
126
+ * @internal
127
+ */
128
+ export declare const ADVANCED_TEMPLATE_DEFINITIONS: readonly ITemplateDefinition[];
129
+
122
130
  /**
123
131
  * @internal
124
132
  */
@@ -148,7 +156,7 @@ export declare type Alignment = {
148
156
  /**
149
157
  * @internal
150
158
  */
151
- export declare const AppHeader: ComponentType<Omit<WithIntlProps<IAppHeaderProps & WrappedComponentProps>, "theme" | "themeIsLoading" | "themeStatus">>;
159
+ export declare const AppHeader: ComponentType<Omit<IAppHeaderProps, "theme" | "themeIsLoading" | "themeStatus">>;
152
160
 
153
161
  /**
154
162
  * @internal
@@ -417,9 +425,7 @@ export declare type Color = string;
417
425
  /**
418
426
  * @internal
419
427
  */
420
- export declare const ColorPicker: FC<WithIntlProps<IColorPickerProps & WrappedComponentProps>> & {
421
- WrappedComponent: ComponentType<IColorPickerProps & WrappedComponentProps>;
422
- };
428
+ export declare function ColorPicker(props: IColorPickerProps): JSX.Element;
423
429
 
424
430
  /**
425
431
  * @internal
@@ -468,6 +474,80 @@ export declare function ContentDivider({ className }: {
468
474
  */
469
475
  export declare type CopyCodeOriginType = "keyboard" | "button";
470
476
 
477
+ /**
478
+ * Creates all localized format templates (standard + currency + advanced).
479
+ *
480
+ * @param formatMessage - Function to format localized messages (e.g., from react-intl)
481
+ * @param messageIdPrefix - Optional prefix for message IDs (default: "metricComponent.numberFormat.template")
482
+ * @returns Array of all format templates with localized names
483
+ * @internal
484
+ */
485
+ export declare function createAllTemplates(formatMessage: (descriptor: {
486
+ id: string;
487
+ }) => string, messageIdPrefix?: string): IFormatTemplate[];
488
+
489
+ /**
490
+ * Creates localized currency format presets.
491
+ *
492
+ * @param formatMessage - Function to format localized messages (e.g., from react-intl)
493
+ * @param messageIdPrefix - Optional prefix for message IDs (default: "metricComponent.numberFormat.preset")
494
+ * @returns Array of currency format presets with localized names
495
+ * @internal
496
+ */
497
+ export declare function createCurrencyPresets(formatMessage: (descriptor: {
498
+ id: string;
499
+ }) => string, messageIdPrefix?: string): IFormatPreset[];
500
+
501
+ /**
502
+ * Creates localized standard format presets.
503
+ *
504
+ * @param formatMessage - Function to format localized messages (e.g., from react-intl)
505
+ * @param messageIdPrefix - Optional prefix for message IDs (default: "metricComponent.numberFormat.preset")
506
+ * @returns Array of standard format presets with localized names
507
+ * @internal
508
+ */
509
+ export declare function createStandardPresets(formatMessage: (descriptor: {
510
+ id: string;
511
+ }) => string, messageIdPrefix?: string): IFormatPreset[];
512
+
513
+ /**
514
+ * Creates localized format templates.
515
+ *
516
+ * @param formatMessage - Function to format localized messages (e.g., from react-intl)
517
+ * @param definitions - Template definitions to localize
518
+ * @param messageIdPrefix - Optional prefix for message IDs (default: "metricComponent.numberFormat.template")
519
+ * @returns Array of format templates with localized names
520
+ * @internal
521
+ */
522
+ export declare function createTemplates(formatMessage: (descriptor: {
523
+ id: string;
524
+ }) => string, definitions: readonly ITemplateDefinition[], messageIdPrefix?: string): IFormatTemplate[];
525
+
526
+ /**
527
+ * Base currency preset definitions.
528
+ * These are the raw preset data that can be used to create localized presets.
529
+ * @internal
530
+ */
531
+ export declare const CURRENCY_PRESET_DEFINITIONS: readonly ICurrencyPresetDefinition[];
532
+
533
+ /**
534
+ * Currency format template definitions.
535
+ * @internal
536
+ */
537
+ export declare const CURRENCY_TEMPLATE_DEFINITIONS: readonly ITemplateDefinition[];
538
+
539
+ /**
540
+ * Local identifiers of templates that are currency-specific.
541
+ * Used to filter templates when metric type is CURRENCY.
542
+ * @internal
543
+ */
544
+ export declare const CURRENCY_TEMPLATE_IDS: string[];
545
+
546
+ /**
547
+ * @alpha
548
+ */
549
+ export declare type CurrencyFormatValidationErrorCode = "empty" | "invalidFormat" | "missingCurrencySymbol" | "missingDecimalPlaces";
550
+
471
551
  /**
472
552
  * @internal
473
553
  */
@@ -492,6 +572,12 @@ export declare class Datepicker extends PureComponent<IDatePickerOwnProps> {
492
572
  render(): JSX.Element;
493
573
  }
494
574
 
575
+ /**
576
+ * Default message ID prefix for currency preset definitions.
577
+ * @internal
578
+ */
579
+ export declare const DEFAULT_CURRENCY_PRESET_PREFIX = "metricComponent.numberFormat.preset";
580
+
495
581
  /**
496
582
  * @internal
497
583
  */
@@ -502,6 +588,18 @@ export declare const DEFAULT_ITEM_HEIGHT = 28;
502
588
  */
503
589
  export declare const DEFAULT_MOBILE_ITEM_HEIGHT = 40;
504
590
 
591
+ /**
592
+ * Default message ID prefix for standard preset definitions.
593
+ * @internal
594
+ */
595
+ export declare const DEFAULT_STANDARD_PRESET_PREFIX = "metricComponent.numberFormat.preset";
596
+
597
+ /**
598
+ * Default message ID prefix for template definitions.
599
+ * @internal
600
+ */
601
+ export declare const DEFAULT_TEMPLATE_PREFIX = "metricComponent.numberFormat.template";
602
+
505
603
  /**
506
604
  * Dummy theme metadata object which represents the default colors of GD.
507
605
  *
@@ -833,9 +931,7 @@ export declare function FilterGroupItem({ title, subtitle, selectedItemsCount, s
833
931
  /**
834
932
  * @internal
835
933
  */
836
- export declare const FilterLabel: FC<WithIntlProps<IFilterLabelProps & WrappedComponentProps>> & {
837
- WrappedComponent: ComponentType<IFilterLabelProps & WrappedComponentProps>;
838
- };
934
+ export declare const FilterLabel: NamedExoticComponent<IFilterLabelProps>;
839
935
 
840
936
  /**
841
937
  * @internal
@@ -2321,6 +2417,56 @@ export declare function IconWebsite({ color, className, width, height }: IIconPr
2321
2417
  */
2322
2418
  export declare function IconWidget({ color, className, width, height }: IIconProps): JSX.Element;
2323
2419
 
2420
+ /**
2421
+ * @alpha
2422
+ */
2423
+ export declare interface ICurrencyFormatValidationError {
2424
+ code: CurrencyFormatValidationErrorCode;
2425
+ /**
2426
+ * Indexes of sections (0-based) that failed validation.
2427
+ * The value is only present for section-driven validations.
2428
+ */
2429
+ sectionIndexes?: number[];
2430
+ message: string;
2431
+ }
2432
+
2433
+ /**
2434
+ * @alpha
2435
+ */
2436
+ export declare interface ICurrencyFormatValidationOptions {
2437
+ /**
2438
+ * Sample value used to verify the formatter does not throw.
2439
+ * Defaults to 12345.67 to cover both thousands and decimals.
2440
+ */
2441
+ sampleValue?: number;
2442
+ /**
2443
+ * Number of mandatory decimal places each section must contain.
2444
+ * Set to 0 (or a negative value) to skip the decimal check.
2445
+ * Defaults to 2.
2446
+ */
2447
+ requiredDecimalPlaces?: number;
2448
+ separators?: ISeparators_2;
2449
+ }
2450
+
2451
+ /**
2452
+ * @alpha
2453
+ */
2454
+ export declare interface ICurrencyFormatValidationResult {
2455
+ isValid: boolean;
2456
+ errors: ICurrencyFormatValidationError[];
2457
+ }
2458
+
2459
+ /**
2460
+ * Base currency preset definitions without localized names.
2461
+ * @internal
2462
+ */
2463
+ export declare interface ICurrencyPresetDefinition {
2464
+ localIdentifier: string;
2465
+ format: string;
2466
+ previewNumber: number;
2467
+ messageId: string;
2468
+ }
2469
+
2324
2470
  /**
2325
2471
  * @internal
2326
2472
  */
@@ -2413,7 +2559,7 @@ export declare interface IDescriptionPanelProps {
2413
2559
  useReferences?: boolean;
2414
2560
  LoadingComponent?: ComponentType;
2415
2561
  filters?: IFilter[];
2416
- separators?: ISeparators_2;
2562
+ separators?: ISeparators_3;
2417
2563
  execConfig?: IExecutionConfig;
2418
2564
  id?: string;
2419
2565
  }
@@ -3470,7 +3616,7 @@ export declare interface IInsightListItemProps {
3470
3616
  type?: string;
3471
3617
  width?: number;
3472
3618
  filters?: IFilter[];
3473
- separators?: ISeparators_2;
3619
+ separators?: ISeparators_3;
3474
3620
  onClick?: () => void;
3475
3621
  onDelete?: () => void;
3476
3622
  onDescriptionPanelOpen?: () => void;
@@ -3894,7 +4040,6 @@ export declare interface ILegacyListState {
3894
4040
  * @internal
3895
4041
  */
3896
4042
  export declare interface ILegacyMultiSelectListItemProps {
3897
- intl: IntlShape;
3898
4043
  isLoading?: boolean;
3899
4044
  onMouseOut?: (source: any) => void;
3900
4045
  onMouseOver?: (source: any) => void;
@@ -4257,7 +4402,6 @@ export declare interface IMultiSelectListItemProps {
4257
4402
  * @internal
4258
4403
  */
4259
4404
  export declare interface IMultiSelectListProps<T> {
4260
- intl: IntlShape;
4261
4405
  height?: number;
4262
4406
  width?: number;
4263
4407
  itemHeight?: number;
@@ -4435,49 +4579,13 @@ export declare interface InputState {
4435
4579
  /**
4436
4580
  * @internal
4437
4581
  */
4438
- export declare class InputWithNumberFormat extends PureComponent<InputWithNumberFormatProps, InputWithNumberFormatState> {
4439
- private input;
4440
- static defaultProps: {
4441
- separators: {
4442
- thousand: string;
4443
- decimal: string;
4444
- };
4445
- autofocus: boolean;
4446
- className: string;
4447
- clearOnEsc: boolean;
4448
- disabled: boolean;
4449
- hasError: boolean;
4450
- hasWarning: boolean;
4451
- isSearch: boolean;
4452
- isSmall: boolean;
4453
- maxlength: number;
4454
- onChange: (..._: any[]) => void;
4455
- onEscKeyPress: (..._: any[]) => void;
4456
- onEnterKeyPress: (..._: any[]) => void;
4457
- onBlur: (..._: any[]) => void;
4458
- onFocus: (..._: any[]) => void;
4459
- placeholder: string;
4460
- prefix: string;
4461
- readonly: boolean;
4462
- suffix: string;
4463
- label: string;
4464
- labelPositionTop: boolean;
4465
- value: string;
4466
- };
4467
- constructor(props: InputWithNumberFormatProps);
4468
- UNSAFE_componentWillReceiveProps({ value: newValue }: InputWithNumberFormatProps): void;
4469
- onChange: (value: number, e: ChangeEvent<HTMLInputElement>) => void;
4470
- onFocus: (e: FocusEvent_2<HTMLInputElement>) => void;
4471
- onBlur: (e: FocusEvent_2<HTMLInputElement>) => void;
4472
- handleCaretShift(e: ChangeEvent<HTMLInputElement>): void;
4473
- render(): JSX.Element;
4474
- }
4582
+ export declare const InputWithNumberFormat: NamedExoticComponent<InputWithNumberFormatProps>;
4475
4583
 
4476
4584
  /**
4477
4585
  * @internal
4478
4586
  */
4479
4587
  export declare interface InputWithNumberFormatOwnProps {
4480
- separators: Separators;
4588
+ separators?: Separators;
4481
4589
  }
4482
4590
 
4483
4591
  /**
@@ -4506,9 +4614,7 @@ export declare function InsightIcon({ visualizationUrl, iconProps, }: IInsightIc
4506
4614
  /**
4507
4615
  * @internal
4508
4616
  */
4509
- export declare const InsightListItem: FC<WithIntlProps<IInsightListItemProps & WrappedComponentProps>> & {
4510
- WrappedComponent: ComponentType<IInsightListItemProps & WrappedComponentProps>;
4511
- };
4617
+ export declare function InsightListItem({ title, description, updated, type, isSelected, isLoading, filters, separators, LoadingComponent, onClick, onDescriptionPanelOpen, showDescriptionPanel, useRichText, useReferences, richTextExecConfig, width, isLocked, onDelete, metadataTimeZone, }: IInsightListItemProps): JSX.Element;
4512
4618
 
4513
4619
  /**
4514
4620
  * @internal
@@ -4853,7 +4959,7 @@ export declare interface IRichTextProps {
4853
4959
  /**
4854
4960
  * Separators to be used for rendering references.
4855
4961
  */
4856
- separators?: ISeparators_2;
4962
+ separators?: ISeparators_3;
4857
4963
  /**
4858
4964
  * @alpha
4859
4965
  */
@@ -4948,6 +5054,14 @@ export declare interface IScrollGradientProps {
4948
5054
  children?: ReactNode;
4949
5055
  }
4950
5056
 
5057
+ /**
5058
+ * Checks if a format string represents a currency format.
5059
+ * A currency format is one where at least one numeric section contains a currency symbol.
5060
+ *
5061
+ * @alpha
5062
+ */
5063
+ export declare function isCurrencyFormat(format: string | undefined | null): boolean;
5064
+
4951
5065
  /**
4952
5066
  * @internal
4953
5067
  */
@@ -5360,6 +5474,17 @@ export declare const isSpaceKey: (event: KeyboardEvent_2) => boolean;
5360
5474
  */
5361
5475
  export declare const isTabKey: (event: KeyboardEvent_2) => boolean;
5362
5476
 
5477
+ /**
5478
+ * Base standard preset definition without localized name.
5479
+ * @internal
5480
+ */
5481
+ export declare interface IStandardPresetDefinition {
5482
+ localIdentifier: string;
5483
+ format: string;
5484
+ previewNumber: number;
5485
+ messageId: string;
5486
+ }
5487
+
5363
5488
  /**
5364
5489
  * @internal
5365
5490
  */
@@ -5411,7 +5536,7 @@ export declare interface IStylingSettingWidgetProps<T extends StylingPickerItemC
5411
5536
  className?: string;
5412
5537
  shouldDisableCancelButton?: boolean;
5413
5538
  shouldDisableApplyButton?: boolean;
5414
- onApply?: (ref: ObjRef) => void;
5539
+ onApply?: (ref: ObjRef | null) => void;
5415
5540
  onCancel?: () => void;
5416
5541
  onListActionClick?: () => void;
5417
5542
  onItemEdit?: (modifiedItem: IStylingPickerItem<T>) => void;
@@ -5419,7 +5544,7 @@ export declare interface IStylingSettingWidgetProps<T extends StylingPickerItemC
5419
5544
  locale?: string;
5420
5545
  onHelpClick?: () => void;
5421
5546
  onItemMenuToggle?: (ref: ObjRef) => void;
5422
- onItemSelect?: (ref: ObjRef) => void;
5547
+ onItemSelect?: (ref: ObjRef | null) => void;
5423
5548
  isEditingSupported?: boolean;
5424
5549
  isSavingActionInProgress?: boolean;
5425
5550
  }
@@ -5501,6 +5626,16 @@ export declare interface ITabsState {
5501
5626
  */
5502
5627
  export declare function Item({ checked, subMenu, disabled, className, children, style, onClick, }: IItemProps): JSX.Element;
5503
5628
 
5629
+ /**
5630
+ * Base template definition without localized name.
5631
+ * @internal
5632
+ */
5633
+ export declare interface ITemplateDefinition {
5634
+ localIdentifier: string;
5635
+ format: string;
5636
+ messageId: string;
5637
+ }
5638
+
5504
5639
  /**
5505
5640
  * @internal
5506
5641
  */
@@ -6444,9 +6579,7 @@ export declare const modifierNegator: "!";
6444
6579
  /**
6445
6580
  * @internal
6446
6581
  */
6447
- export declare const MultiSelectList: FC<WithIntlProps<IMultiSelectListProps<unknown>>> & {
6448
- WrappedComponent: ComponentType<IMultiSelectListProps<unknown>>;
6449
- };
6582
+ export declare function MultiSelectList<T>({ isMobile, width, height, items, itemHeight, itemsCount, onScrollEnd, renderItem, selectedItems, listClassNames, onSelectAll, onSelectNone, isInverted, isSearching, isSelected, filteredItemsCount, selectAllCheckbox, tagName, }: IMultiSelectListProps<T>): JSX.Element;
6450
6583
 
6451
6584
  /**
6452
6585
  * @internal
@@ -7010,6 +7143,19 @@ export declare const Spinner: NamedExoticComponent<ISpinnerProps>;
7010
7143
  */
7011
7144
  export declare type SpinnerSize = "large" | "small";
7012
7145
 
7146
+ /**
7147
+ * Standard numeric preset definitions.
7148
+ * These are the raw preset data that can be used to create localized presets.
7149
+ * @internal
7150
+ */
7151
+ export declare const STANDARD_PRESET_DEFINITIONS: readonly IStandardPresetDefinition[];
7152
+
7153
+ /**
7154
+ * Standard format template definitions (basic numeric formats).
7155
+ * @internal
7156
+ */
7157
+ export declare const STANDARD_TEMPLATE_DEFINITIONS: readonly ITemplateDefinition[];
7158
+
7013
7159
  /**
7014
7160
  * Properties for BEM modifiers.
7015
7161
  *
@@ -7183,6 +7329,7 @@ export declare interface UiAsyncTableAccessibilityConfig<T> {
7183
7329
  export declare interface UiAsyncTableBulkAction {
7184
7330
  label: string;
7185
7331
  onClick: () => void;
7332
+ accessibilityConfig?: IAccessibilityConfigBase;
7186
7333
  }
7187
7334
 
7188
7335
  /**
@@ -7795,6 +7942,92 @@ export declare interface UiPagedVirtualListSkeletonItemProps {
7795
7942
  itemHeight: number;
7796
7943
  }
7797
7944
 
7945
+ /**
7946
+ * A circular button used for pagination navigation (previous/next).
7947
+ *
7948
+ * @remarks
7949
+ * The button has a circular shape with a light gray background that darkens on hover.
7950
+ * The icon color inverts to white when hovered or active.
7951
+ *
7952
+ * @internal
7953
+ */
7954
+ export declare const UiPaginationButton: ForwardRefExoticComponent<UiPaginationButtonProps & RefAttributes<HTMLButtonElement>>;
7955
+
7956
+ /**
7957
+ * Direction of the pagination button arrow.
7958
+ *
7959
+ * @internal
7960
+ */
7961
+ export declare type UiPaginationButtonDirection = "previous" | "next";
7962
+
7963
+ /**
7964
+ * Props for the UiPaginationButton component.
7965
+ *
7966
+ * @internal
7967
+ */
7968
+ export declare interface UiPaginationButtonProps {
7969
+ /**
7970
+ * Direction of the arrow icon.
7971
+ * - "previous" shows left arrow (paginationLeft)
7972
+ * - "next" shows right arrow (paginationRight)
7973
+ */
7974
+ direction: UiPaginationButtonDirection;
7975
+ /**
7976
+ * Accessible label for the button.
7977
+ */
7978
+ label: string;
7979
+ /**
7980
+ * Size of the button.
7981
+ * - "small" (22x22) - for desktop views
7982
+ * - "large" (32x32) - for mobile views
7983
+ * @defaultValue "small"
7984
+ */
7985
+ size?: UiPaginationButtonSize;
7986
+ /**
7987
+ * Whether the button is disabled.
7988
+ */
7989
+ isDisabled?: boolean;
7990
+ /**
7991
+ * Whether the button is in active/selected state.
7992
+ */
7993
+ isActive?: boolean;
7994
+ /**
7995
+ * Click handler.
7996
+ */
7997
+ onClick?: (e: MouseEvent_2<HTMLButtonElement>) => void;
7998
+ /**
7999
+ * Keyboard event handler.
8000
+ */
8001
+ onKeyDown?: (e: KeyboardEvent_2<HTMLButtonElement>) => void;
8002
+ /**
8003
+ * Data attribute for tracking/analytics.
8004
+ */
8005
+ dataId?: string;
8006
+ /**
8007
+ * Data attribute for testing.
8008
+ */
8009
+ dataTestId?: string;
8010
+ /**
8011
+ * Tab index for keyboard navigation.
8012
+ */
8013
+ tabIndex?: number;
8014
+ /**
8015
+ * HTML id attribute.
8016
+ */
8017
+ id?: string;
8018
+ /**
8019
+ * Accessibility configuration for ARIA attributes.
8020
+ */
8021
+ accessibilityConfig?: IAccessibilityConfigBase;
8022
+ }
8023
+
8024
+ /**
8025
+ * Size variant for UiPaginationButton.
8026
+ *
8027
+ * @internal
8028
+ */
8029
+ export declare type UiPaginationButtonSize = "small" | "large";
8030
+
7798
8031
  /**
7799
8032
  * @internal
7800
8033
  */
@@ -8163,6 +8396,27 @@ export declare function useAsyncTableResponsiveColumns<T>(columns: Array<UiAsync
8163
8396
  columns: UiAsyncTableColumnDefinitionResponsive<T>[];
8164
8397
  };
8165
8398
 
8399
+ /**
8400
+ * @internal
8401
+ *
8402
+ * Ensures that currency metrics default to a meaningful preset instead of falling back to custom formats.
8403
+ * - When no format is set yet, it applies the inherited override or the standard currency preset.
8404
+ * - When switching to currency with an incompatible format, it coerces the format to a supported preset.
8405
+ */
8406
+ export declare function useCurrencyFormatDefaults({ metricType, normalizedFormat, currencyFormatOverride, presetFormats, hasInheritPreset, onFormatChange, shouldBootstrap, fallbackFormat, }: UseCurrencyFormatDefaultsConfig): void;
8407
+
8408
+ /** @internal */
8409
+ export declare interface UseCurrencyFormatDefaultsConfig {
8410
+ metricType?: MetricType;
8411
+ normalizedFormat: string | null;
8412
+ currencyFormatOverride?: string | null;
8413
+ presetFormats: string[];
8414
+ hasInheritPreset: boolean;
8415
+ onFormatChange: (format: string | null) => void;
8416
+ shouldBootstrap: boolean;
8417
+ fallbackFormat?: string;
8418
+ }
8419
+
8166
8420
  /**
8167
8421
  * @internal
8168
8422
  */
@@ -8179,6 +8433,19 @@ export declare function useFocusWithinContainer(idToFocus?: string | null): {
8179
8433
  containerRef: RefObject<HTMLElement | null>;
8180
8434
  };
8181
8435
 
8436
+ /**
8437
+ * Hook that creates all format templates.
8438
+ * Use this when you need templates without metric type filtering.
8439
+ *
8440
+ * @param formatMessage - Function to format localized messages
8441
+ * @param excludeCurrencyTemplates - Whether to exclude currency-specific templates
8442
+ * @returns Array of format templates
8443
+ * @internal
8444
+ */
8445
+ export declare function useFormatTemplates(formatMessage: (descriptor: {
8446
+ id: string;
8447
+ }) => string, excludeCurrencyTemplates?: boolean): IFormatTemplate[];
8448
+
8182
8449
  /**
8183
8450
  * Internal context hook used to provide header search drop-down state to the components.
8184
8451
  * @internal
@@ -8254,6 +8521,98 @@ export declare function useListWithActionsKeyboardNavigation<Item, Action extend
8254
8521
  */
8255
8522
  export declare const useMediaQuery: (mediaQueryName: keyof IMediaQueries) => boolean;
8256
8523
 
8524
+ /**
8525
+ * Hook that creates format presets and templates based on metric type.
8526
+ *
8527
+ * This hook encapsulates the logic for building format options that respect:
8528
+ * - Metric type (CURRENCY vs standard)
8529
+ * - Currency format override (creates "inherit" preset)
8530
+ *
8531
+ * @example
8532
+ * ```tsx
8533
+ * const { presets, templates, inheritPreset } = useMetricTypePresets({
8534
+ * metricType: "CURRENCY",
8535
+ * currencyFormatOverride: "$#,##0.00",
8536
+ * formatMessage: (d) => intl.formatMessage(d),
8537
+ * });
8538
+ * ```
8539
+ *
8540
+ * @example
8541
+ * ```tsx
8542
+ * // With custom message ID prefixes (e.g., for Analytical Designer)
8543
+ * const { presets, templates } = useMetricTypePresets({
8544
+ * metricType: undefined,
8545
+ * formatMessage: (d) => intl.formatMessage(d),
8546
+ * presetMessageIdPrefix: "measure_number_format.preset",
8547
+ * templateMessageIdPrefix: "measure_number_format.template",
8548
+ * });
8549
+ * ```
8550
+ *
8551
+ * @internal
8552
+ */
8553
+ export declare function useMetricTypePresets({ metricType, currencyFormatOverride, formatMessage, presetMessageIdPrefix, templateMessageIdPrefix, }: UseMetricTypePresetsConfig): UseMetricTypePresetsResult;
8554
+
8555
+ /**
8556
+ * Configuration for the useMetricTypePresets hook.
8557
+ * @internal
8558
+ */
8559
+ export declare interface UseMetricTypePresetsConfig {
8560
+ /**
8561
+ * The metric type. When "CURRENCY", currency-specific presets are shown.
8562
+ * When undefined, standard numeric presets are shown.
8563
+ */
8564
+ metricType?: MetricType;
8565
+ /**
8566
+ * The currency format override from workspace settings.
8567
+ * When set and metricType is "CURRENCY", an "inherit" preset is added.
8568
+ */
8569
+ currencyFormatOverride?: string | null;
8570
+ /**
8571
+ * Function to format localized messages (e.g., from react-intl).
8572
+ */
8573
+ formatMessage: (descriptor: {
8574
+ id: string;
8575
+ }) => string;
8576
+ /**
8577
+ * Optional prefix for preset message IDs.
8578
+ * Default: "metricComponent.numberFormat.preset"
8579
+ *
8580
+ * Use this to customize the translation keys for presets.
8581
+ * For example, set to "measure_number_format.preset" for Analytical Designer compatibility.
8582
+ */
8583
+ presetMessageIdPrefix?: string;
8584
+ /**
8585
+ * Optional prefix for template message IDs.
8586
+ * Default: "metricComponent.numberFormat.template"
8587
+ *
8588
+ * Use this to customize the translation keys for templates.
8589
+ * For example, set to "measure_number_format.template" for Analytical Designer compatibility.
8590
+ */
8591
+ templateMessageIdPrefix?: string;
8592
+ }
8593
+
8594
+ /**
8595
+ * Result from the useMetricTypePresets hook.
8596
+ * @internal
8597
+ */
8598
+ export declare interface UseMetricTypePresetsResult {
8599
+ /**
8600
+ * Format presets based on metric type.
8601
+ * For CURRENCY: currency presets with optional inherit preset.
8602
+ * For other types: standard numeric presets.
8603
+ */
8604
+ presets: IFormatPreset[];
8605
+ /**
8606
+ * Format templates. For CURRENCY metrics, currency templates are excluded
8607
+ * from the general list (they're already in presets).
8608
+ */
8609
+ templates: IFormatTemplate[];
8610
+ /**
8611
+ * The inherit preset if available (only for CURRENCY with override).
8612
+ */
8613
+ inheritPreset: IFormatPreset | null;
8614
+ }
8615
+
8257
8616
  /**
8258
8617
  * Hook to get current instance of the {@link OverlayController}
8259
8618
  *
@@ -8323,6 +8682,18 @@ export declare const useScrollContext: () => {
8323
8682
  scrollIntoView: (_element: HTMLElement, _bottomMargin?: number, _isElementInvisibleCheck?: isElementInvisibleType) => void;
8324
8683
  };
8325
8684
 
8685
+ /**
8686
+ * Hook that creates standard numeric format presets.
8687
+ * Use this when you don't need metric type awareness.
8688
+ *
8689
+ * @param formatMessage - Function to format localized messages
8690
+ * @returns Array of standard format presets
8691
+ * @internal
8692
+ */
8693
+ export declare function useStandardPresets(formatMessage: (descriptor: {
8694
+ id: string;
8695
+ }) => string): IFormatPreset[];
8696
+
8326
8697
  /**
8327
8698
  * @internal
8328
8699
  */
@@ -8393,6 +8764,13 @@ export declare function useUiTreeViewEventSubscriber<T extends UiTreeViewEventTy
8393
8764
  */
8394
8765
  export declare const useZoom: () => IZoomContextState;
8395
8766
 
8767
+ /**
8768
+ * Validates a number format string that is expected to represent a currency amount.
8769
+ *
8770
+ * @alpha
8771
+ */
8772
+ export declare function validateCurrencyFormat(format: string | undefined | null, options?: ICurrencyFormatValidationOptions): ICurrencyFormatValidationResult;
8773
+
8396
8774
  /**
8397
8775
  * @internal
8398
8776
  * Icon button variant same as tertiary but removing extra padding around the icon