@gooddata/sdk-ui-kit 10.25.0-alpha.8 → 10.25.0

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 (166) hide show
  1. package/esm/@ui/UiButton/UiButton.js +1 -1
  2. package/esm/@ui/UiButton/UiButton.js.map +1 -1
  3. package/esm/@ui/UiChip/UiChip.d.ts.map +1 -1
  4. package/esm/@ui/UiChip/UiChip.js +9 -2
  5. package/esm/@ui/UiChip/UiChip.js.map +1 -1
  6. package/esm/@ui/UiFocusTrap/UiFocusTrap.d.ts +11 -1
  7. package/esm/@ui/UiFocusTrap/UiFocusTrap.d.ts.map +1 -1
  8. package/esm/@ui/UiFocusTrap/UiFocusTrap.js +31 -7
  9. package/esm/@ui/UiFocusTrap/UiFocusTrap.js.map +1 -1
  10. package/esm/@ui/UiSkeleton/UiSkeleton.d.ts +5 -1
  11. package/esm/@ui/UiSkeleton/UiSkeleton.d.ts.map +1 -1
  12. package/esm/@ui/UiSkeleton/UiSkeleton.js +2 -2
  13. package/esm/@ui/UiSkeleton/UiSkeleton.js.map +1 -1
  14. package/esm/Datepicker/Datepicker.d.ts +5 -0
  15. package/esm/Datepicker/Datepicker.d.ts.map +1 -1
  16. package/esm/Datepicker/Datepicker.js +9 -2
  17. package/esm/Datepicker/Datepicker.js.map +1 -1
  18. package/esm/Dialog/CommunityEditionDialog.d.ts.map +1 -1
  19. package/esm/Dialog/CommunityEditionDialog.js +5 -3
  20. package/esm/Dialog/CommunityEditionDialog.js.map +1 -1
  21. package/esm/Dialog/ConfirmDialogBase.d.ts +2 -6
  22. package/esm/Dialog/ConfirmDialogBase.d.ts.map +1 -1
  23. package/esm/Dialog/ConfirmDialogBase.js +32 -41
  24. package/esm/Dialog/ConfirmDialogBase.js.map +1 -1
  25. package/esm/Dialog/Dialog.d.ts +3 -5
  26. package/esm/Dialog/Dialog.d.ts.map +1 -1
  27. package/esm/Dialog/Dialog.js +10 -13
  28. package/esm/Dialog/Dialog.js.map +1 -1
  29. package/esm/Dialog/DialogBase.d.ts +2 -8
  30. package/esm/Dialog/DialogBase.d.ts.map +1 -1
  31. package/esm/Dialog/DialogBase.js +22 -39
  32. package/esm/Dialog/DialogBase.js.map +1 -1
  33. package/esm/Dialog/DialogCloseButton.d.ts +4 -0
  34. package/esm/Dialog/DialogCloseButton.d.ts.map +1 -0
  35. package/esm/Dialog/DialogCloseButton.js +8 -0
  36. package/esm/Dialog/DialogCloseButton.js.map +1 -0
  37. package/esm/Dialog/ExportDialog.d.ts +3 -3
  38. package/esm/Dialog/ExportDialog.d.ts.map +1 -1
  39. package/esm/Dialog/ExportDialog.js +3 -4
  40. package/esm/Dialog/ExportDialog.js.map +1 -1
  41. package/esm/Dialog/ExportDialogBase.d.ts +3 -11
  42. package/esm/Dialog/ExportDialogBase.d.ts.map +1 -1
  43. package/esm/Dialog/ExportDialogBase.js +14 -50
  44. package/esm/Dialog/ExportDialogBase.js.map +1 -1
  45. package/esm/Dialog/HubspotConversionTouchPointDialog.d.ts.map +1 -1
  46. package/esm/Dialog/HubspotConversionTouchPointDialog.js +5 -3
  47. package/esm/Dialog/HubspotConversionTouchPointDialog.js.map +1 -1
  48. package/esm/Dialog/HubspotConversionTouchPointDialogBase.d.ts +6 -0
  49. package/esm/Dialog/HubspotConversionTouchPointDialogBase.d.ts.map +1 -1
  50. package/esm/Dialog/HubspotConversionTouchPointDialogBase.js +3 -2
  51. package/esm/Dialog/HubspotConversionTouchPointDialogBase.js.map +1 -1
  52. package/esm/Dialog/StylingEditorDialog/StylingEditorDialog.d.ts +3 -2
  53. package/esm/Dialog/StylingEditorDialog/StylingEditorDialog.d.ts.map +1 -1
  54. package/esm/Dialog/StylingEditorDialog/StylingEditorDialog.js +5 -3
  55. package/esm/Dialog/StylingEditorDialog/StylingEditorDialog.js.map +1 -1
  56. package/esm/Dialog/StylingEditorDialog/StylingEditorDialogFooter.d.ts +3 -3
  57. package/esm/Dialog/StylingEditorDialog/StylingEditorDialogFooter.d.ts.map +1 -1
  58. package/esm/Dialog/StylingEditorDialog/StylingEditorDialogFooter.js +1 -1
  59. package/esm/Dialog/StylingEditorDialog/StylingEditorDialogFooter.js.map +1 -1
  60. package/esm/Dialog/StylingEditorDialog/index.d.ts +1 -1
  61. package/esm/Dialog/typings.d.ts +40 -21
  62. package/esm/Dialog/typings.d.ts.map +1 -1
  63. package/esm/Dropdown/DropdownList.d.ts.map +1 -1
  64. package/esm/Dropdown/DropdownList.js +3 -1
  65. package/esm/Dropdown/DropdownList.js.map +1 -1
  66. package/esm/Form/InputPure.d.ts +2 -1
  67. package/esm/Form/InputPure.d.ts.map +1 -1
  68. package/esm/Form/InputPure.js +3 -2
  69. package/esm/Form/InputPure.js.map +1 -1
  70. package/esm/List/InsightListItem.d.ts +2 -1
  71. package/esm/List/InsightListItem.d.ts.map +1 -1
  72. package/esm/List/InsightListItem.js +2 -2
  73. package/esm/List/InsightListItem.js.map +1 -1
  74. package/esm/List/InvertableSelect/InvertableSelectSearchBar.d.ts.map +1 -1
  75. package/esm/List/InvertableSelect/InvertableSelectSearchBar.js +3 -1
  76. package/esm/List/InvertableSelect/InvertableSelectSearchBar.js.map +1 -1
  77. package/esm/RecurrenceForm/CronExpression.d.ts +6 -2
  78. package/esm/RecurrenceForm/CronExpression.d.ts.map +1 -1
  79. package/esm/RecurrenceForm/CronExpression.js +15 -32
  80. package/esm/RecurrenceForm/CronExpression.js.map +1 -1
  81. package/esm/RecurrenceForm/CronExpressionSuggestion.d.ts +10 -0
  82. package/esm/RecurrenceForm/CronExpressionSuggestion.d.ts.map +1 -0
  83. package/esm/RecurrenceForm/CronExpressionSuggestion.js +21 -0
  84. package/esm/RecurrenceForm/CronExpressionSuggestion.js.map +1 -0
  85. package/esm/RecurrenceForm/DateTime.d.ts +1 -1
  86. package/esm/RecurrenceForm/DateTime.d.ts.map +1 -1
  87. package/esm/RecurrenceForm/DateTime.js +44 -6
  88. package/esm/RecurrenceForm/DateTime.js.map +1 -1
  89. package/esm/RecurrenceForm/Recurrence.d.ts +4 -0
  90. package/esm/RecurrenceForm/Recurrence.d.ts.map +1 -1
  91. package/esm/RecurrenceForm/Recurrence.js +30 -8
  92. package/esm/RecurrenceForm/Recurrence.js.map +1 -1
  93. package/esm/RecurrenceForm/RecurrenceForm.d.ts +4 -1
  94. package/esm/RecurrenceForm/RecurrenceForm.d.ts.map +1 -1
  95. package/esm/RecurrenceForm/RecurrenceForm.js +9 -6
  96. package/esm/RecurrenceForm/RecurrenceForm.js.map +1 -1
  97. package/esm/RecurrenceForm/RepeatTypeDescription.js +3 -2
  98. package/esm/RecurrenceForm/RepeatTypeDescription.js.map +1 -1
  99. package/esm/RecurrenceForm/RepeatTypeSelect.d.ts +1 -1
  100. package/esm/RecurrenceForm/RepeatTypeSelect.d.ts.map +1 -1
  101. package/esm/RecurrenceForm/RepeatTypeSelect.js +41 -18
  102. package/esm/RecurrenceForm/RepeatTypeSelect.js.map +1 -1
  103. package/esm/RecurrenceForm/constants.d.ts +1 -6
  104. package/esm/RecurrenceForm/constants.d.ts.map +1 -1
  105. package/esm/RecurrenceForm/constants.js +2 -7
  106. package/esm/RecurrenceForm/constants.js.map +1 -1
  107. package/esm/RecurrenceForm/locales.d.ts.map +1 -1
  108. package/esm/RecurrenceForm/locales.js +3 -1
  109. package/esm/RecurrenceForm/locales.js.map +1 -1
  110. package/esm/RecurrenceForm/useCronValidation.d.ts +17 -0
  111. package/esm/RecurrenceForm/useCronValidation.d.ts.map +1 -0
  112. package/esm/RecurrenceForm/useCronValidation.js +81 -0
  113. package/esm/RecurrenceForm/useCronValidation.js.map +1 -0
  114. package/esm/RecurrenceForm/utils.d.ts +3 -2
  115. package/esm/RecurrenceForm/utils.d.ts.map +1 -1
  116. package/esm/RecurrenceForm/utils.js +7 -2
  117. package/esm/RecurrenceForm/utils.js.map +1 -1
  118. package/esm/RecurrenceForm/utils.test.js +75 -65
  119. package/esm/RecurrenceForm/utils.test.js.map +1 -1
  120. package/esm/Typography/Typography.d.ts +1 -0
  121. package/esm/Typography/Typography.d.ts.map +1 -1
  122. package/esm/Typography/Typography.js +3 -3
  123. package/esm/Typography/Typography.js.map +1 -1
  124. package/esm/responsive/interfaces.d.ts +4 -0
  125. package/esm/responsive/interfaces.d.ts.map +1 -1
  126. package/esm/responsive/interfaces.js +1 -1
  127. package/esm/responsive/useMediaQuery.d.ts.map +1 -1
  128. package/esm/responsive/useMediaQuery.js +3 -1
  129. package/esm/responsive/useMediaQuery.js.map +1 -1
  130. package/esm/sdk-ui-kit.d.ts +105 -64
  131. package/esm/typings/utilities.d.ts +1 -0
  132. package/esm/typings/utilities.d.ts.map +1 -1
  133. package/esm/typings/utilities.js +2 -1
  134. package/esm/typings/utilities.js.map +1 -1
  135. package/package.json +9 -8
  136. package/src/@ui/UiChip/UiChip.scss +2 -0
  137. package/styles/css/aria.css +13 -0
  138. package/styles/css/aria.css.map +1 -0
  139. package/styles/css/bubble.css +1 -1
  140. package/styles/css/button.css +2 -2
  141. package/styles/css/datepicker.css +6 -6
  142. package/styles/css/descriptionPanel.css +1 -1
  143. package/styles/css/dialog.css +3 -3
  144. package/styles/css/dialogList.css +2 -2
  145. package/styles/css/form.css +2 -2
  146. package/styles/css/header.css +9 -9
  147. package/styles/css/hyperlink.css +1 -1
  148. package/styles/css/invertableSelect.css +1 -1
  149. package/styles/css/list.css +4 -4
  150. package/styles/css/main.css +132 -59
  151. package/styles/css/main.css.map +1 -1
  152. package/styles/css/menu.css +4 -4
  153. package/styles/css/messages.css +1 -1
  154. package/styles/css/overlay.css +3 -3
  155. package/styles/css/recurrenceForm.css +60 -2
  156. package/styles/css/recurrenceForm.css.map +1 -1
  157. package/styles/css/settingWidget.css +1 -1
  158. package/styles/css/shareDialog.css +4 -4
  159. package/styles/css/shareDialogSelectControl.css +3 -3
  160. package/styles/css/stylingEditorDialog.css +1 -1
  161. package/styles/css/tabs.css +1 -1
  162. package/styles/css/typo.css +11 -11
  163. package/styles/scss/aria.scss +13 -0
  164. package/styles/scss/main.scss +1 -0
  165. package/styles/scss/recurrenceForm.scss +76 -2
  166. package/styles/scss/variables.scss +1 -1
@@ -475,10 +475,7 @@ export declare class ConfirmDialog extends PureComponent<IConfirmDialogBaseProps
475
475
  /**
476
476
  * @internal
477
477
  */
478
- export declare class ConfirmDialogBase extends DialogBase<IConfirmDialogBaseProps> {
479
- static defaultProps: IConfirmDialogBaseProps;
480
- render(): JSX.Element;
481
- }
478
+ export declare const ConfirmDialogBase: React_2.NamedExoticComponent<IConfirmDialogBaseProps>;
482
479
 
483
480
  /**
484
481
  * @internal
@@ -591,20 +588,12 @@ export declare const DescriptionPanelContent: React_2.FC<IDescriptionPanelProps>
591
588
  /**
592
589
  * @internal
593
590
  */
594
- export declare class Dialog extends Component<IDialogBaseProps> {
595
- render(): JSX.Element;
596
- }
591
+ export declare const Dialog: React_2.NamedExoticComponent<IDialogProps>;
597
592
 
598
593
  /**
599
594
  * @internal
600
595
  */
601
- export declare class DialogBase<P extends IDialogBaseProps> extends PureComponent<P> {
602
- static defaultProps: Partial<IDialogBaseProps>;
603
- protected onKeyDown: (event: React_2.KeyboardEvent<HTMLDivElement>) => void | undefined;
604
- protected getDialogClasses(additionalClassName?: string): string;
605
- protected renderCloseButton(): JSX.Element;
606
- render(): JSX.Element;
607
- }
596
+ export declare const DialogBase: React_2.NamedExoticComponent<IDialogBaseProps>;
608
597
 
609
598
  /**
610
599
  * @internal
@@ -700,6 +689,7 @@ export declare type EmbedOptionsType = IReactOptions | IWebComponentsOptions;
700
689
  export declare type EmbedType = "react" | "webComponents";
701
690
 
702
691
  /**
692
+ * @deprecated use `event.key` or `event.code`. See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode
703
693
  * @internal
704
694
  */
705
695
  export declare enum ENUM_KEY_CODE {
@@ -717,19 +707,12 @@ export declare class ErrorOverlay extends React_2.PureComponent<IErrorOverlayPro
717
707
  /**
718
708
  * @internal
719
709
  */
720
- export declare const ExportDialog: (props: IExportDialogBaseProps) => JSX.Element;
710
+ export declare const ExportDialog: React_2.NamedExoticComponent<IExportDialogProps>;
721
711
 
722
712
  /**
723
713
  * @internal
724
714
  */
725
- export declare class ExportDialogBase extends DialogBase<IExportDialogBaseProps> {
726
- static defaultProps: IExportDialogBaseProps;
727
- state: IExportDialogBaseState;
728
- render(): JSX.Element;
729
- private onFilterContextChange;
730
- private onMergeHeadersChange;
731
- private onSubmit;
732
- }
715
+ export declare const ExportDialogBase: React_2.NamedExoticComponent<IExportDialogBaseProps>;
733
716
 
734
717
  /**
735
718
  * @internal
@@ -1497,11 +1480,10 @@ export declare const Icon: Record<string, React_2.FC<IIconProps>>;
1497
1480
  /**
1498
1481
  * @internal
1499
1482
  */
1500
- export declare interface IConfirmDialogBaseProps extends IDialogBaseProps {
1483
+ export declare interface IConfirmDialogBaseProps extends Omit<IDialogBaseProps, "accessibilityConfig"> {
1501
1484
  isSubmitDisabled?: boolean;
1502
1485
  isCancelDisabled?: boolean;
1503
1486
  isPositive?: boolean;
1504
- headline?: string;
1505
1487
  cancelButtonText?: string;
1506
1488
  submitButtonText?: string;
1507
1489
  submitButtonTooltipText?: string;
@@ -1513,11 +1495,13 @@ export declare interface IConfirmDialogBaseProps extends IDialogBaseProps {
1513
1495
  footerLeftRenderer?: () => JSX.Element;
1514
1496
  dialogHeaderClassName?: string;
1515
1497
  titleRightIconRenderer?: () => JSX.Element;
1516
- /**
1517
- * If true, the dialog will autofocus on the first focusable element when it is opened.
1518
- * Default is true.
1519
- */
1520
- autofocusOnOpen?: boolean;
1498
+ headline?: string;
1499
+ initialFocus?: React_2.RefObject<HTMLElement> | string;
1500
+ accessibilityConfig?: {
1501
+ closeButton?: IButtonAccessibilityConfig;
1502
+ titleElementId?: string;
1503
+ descriptionElementId?: string;
1504
+ };
1521
1505
  }
1522
1506
 
1523
1507
  /**
@@ -1582,6 +1566,8 @@ export declare interface IDatePickerOwnProps {
1582
1566
  className?: string;
1583
1567
  placeholder?: string;
1584
1568
  onChange?: (selectedData: Date) => void;
1569
+ onBlur?: (selectedDate: string) => void;
1570
+ onValidateInput?: (value: string) => void;
1585
1571
  resetOnInvalidValue?: boolean;
1586
1572
  size?: string;
1587
1573
  tabIndex?: number;
@@ -1634,6 +1620,8 @@ export declare interface IDialogBaseProps {
1634
1620
  displayCloseButton?: boolean;
1635
1621
  accessibilityConfig?: {
1636
1622
  closeButton?: IButtonAccessibilityConfig;
1623
+ titleElementId?: string;
1624
+ descriptionElementId?: string;
1637
1625
  };
1638
1626
  submitOnEnterKey?: boolean;
1639
1627
  onCancel?: (data?: any) => void;
@@ -1647,8 +1635,20 @@ export declare interface IDialogBaseProps {
1647
1635
  onClick?: (e: React_2.MouseEvent<HTMLDivElement, MouseEvent>) => void;
1648
1636
  onMouseOver?: (e: React_2.MouseEvent<HTMLDivElement, MouseEvent>) => void;
1649
1637
  onMouseUp?: (e: React_2.MouseEvent<HTMLDivElement, MouseEvent>) => void;
1638
+ /**
1639
+ * If true, the dialog will autofocus on the first focusable element when it is opened.
1640
+ * Default is true.
1641
+ */
1642
+ autofocusOnOpen?: boolean;
1643
+ CloseButton?: React_2.ComponentType<IDialogCloseButtonProps>;
1644
+ initialFocus?: React_2.RefObject<HTMLElement> | string;
1650
1645
  }
1651
1646
 
1647
+ /**
1648
+ * @internal
1649
+ */
1650
+ export declare type IDialogCloseButtonProps = Pick<IDialogBaseProps, "onClose" | "accessibilityConfig">;
1651
+
1652
1652
  /**
1653
1653
  * @internal
1654
1654
  */
@@ -1706,6 +1706,20 @@ export declare interface IDialogListProps<T extends IDialogListItem = IDialogLis
1706
1706
  onItemDelete?: (item: T) => void;
1707
1707
  }
1708
1708
 
1709
+ /**
1710
+ * @internal
1711
+ */
1712
+ export declare interface IDialogProps extends IDialogBaseProps {
1713
+ /**
1714
+ * These properties will be placed to the container, which wraps overlay background and dialog content elements
1715
+ */
1716
+ containerClassName?: string;
1717
+ shouldCloseOnClick?: (e: Event) => boolean;
1718
+ onClick?: (e: React_2.MouseEvent<HTMLDivElement, MouseEvent>) => void;
1719
+ onMouseOver?: (e: React_2.MouseEvent<HTMLDivElement, MouseEvent>) => void;
1720
+ onMouseUp?: (e: React_2.MouseEvent<HTMLDivElement, MouseEvent>) => void;
1721
+ }
1722
+
1709
1723
  /**
1710
1724
  * @internal
1711
1725
  */
@@ -1978,12 +1992,7 @@ export declare interface IErrorOverlayProps {
1978
1992
  /**
1979
1993
  * @internal
1980
1994
  */
1981
- export declare interface IExportDialogBaseProps extends IDialogBaseProps {
1982
- isSubmitDisabled?: boolean;
1983
- isPositive?: boolean;
1984
- headline?: string;
1985
- cancelButtonText?: string;
1986
- submitButtonText?: string;
1995
+ export declare interface IExportDialogBaseProps extends Pick<IConfirmDialogBaseProps, "className" | "displayCloseButton" | "isPositive" | "isSubmitDisabled" | "headline" | "cancelButtonText" | "submitButtonText" | "onCancel"> {
1987
1996
  filterContextText?: string;
1988
1997
  filterContextTitle?: string;
1989
1998
  filterContextVisible?: boolean;
@@ -1992,22 +2001,19 @@ export declare interface IExportDialogBaseProps extends IDialogBaseProps {
1992
2001
  mergeHeadersDisabled?: boolean;
1993
2002
  mergeHeadersText?: string;
1994
2003
  mergeHeadersTitle?: string;
2004
+ onSubmit?: (data: IExportDialogData) => void;
1995
2005
  }
1996
2006
 
1997
2007
  /**
1998
2008
  * @internal
1999
2009
  */
2000
- export declare interface IExportDialogBaseState {
2001
- includeFilterContext: boolean;
2002
- mergeHeaders: boolean;
2003
- }
2010
+ export declare type IExportDialogData = Pick<IExportDialogBaseProps, "includeFilterContext" | "mergeHeaders">;
2004
2011
 
2005
2012
  /**
2006
2013
  * @internal
2007
2014
  */
2008
- export declare interface IExportDialogData {
2009
- includeFilterContext: boolean;
2010
- mergeHeaders: boolean;
2015
+ export declare interface IExportDialogProps extends IExportDialogBaseProps {
2016
+ containerClassName?: string;
2011
2017
  }
2012
2018
 
2013
2019
  /**
@@ -2338,6 +2344,12 @@ export declare interface IHubspotConversionTouchPointDialogBaseProps {
2338
2344
  * Form submitted callback function
2339
2345
  */
2340
2346
  onFormSubmitted?: () => void;
2347
+ /**
2348
+ * Properties enabling proper accessibility
2349
+ */
2350
+ accessibilityConfig?: {
2351
+ titleElementId: string;
2352
+ };
2341
2353
  }
2342
2354
 
2343
2355
  /**
@@ -2415,6 +2427,7 @@ export declare interface IInsightListItemProps {
2415
2427
  useRichText?: boolean;
2416
2428
  useReferences?: boolean;
2417
2429
  metadataTimeZone?: string;
2430
+ richTextExecConfig?: IExecutionConfig;
2418
2431
  LoadingComponent?: React_2.ComponentType;
2419
2432
  }
2420
2433
 
@@ -2892,6 +2905,10 @@ export declare interface IMediaQueries {
2892
2905
  * Is screen classified as 'md' or larger?
2893
2906
  */
2894
2907
  ">=md": string;
2908
+ /**
2909
+ * Is screen classified as 'md' or smaller?
2910
+ */
2911
+ "<=md": string;
2895
2912
  /**
2896
2913
  * Is screen classified as 'md'?
2897
2914
  */
@@ -3213,7 +3230,7 @@ export declare interface InputPureProps extends IDomNativeProps {
3213
3230
  type?: string;
3214
3231
  required?: boolean;
3215
3232
  accessibilityType?: string;
3216
- ariaLabel?: string;
3233
+ accessibilityConfig?: IAccessibilityConfigBase;
3217
3234
  autocomplete?: string;
3218
3235
  }
3219
3236
 
@@ -3498,7 +3515,8 @@ export declare interface IReactOptions {
3498
3515
  */
3499
3516
  export declare interface IRecurrenceFormProps {
3500
3517
  startDate?: Date | null;
3501
- cronExpression: string;
3518
+ cronExpression?: string;
3519
+ placeholder?: string;
3502
3520
  onChange: (cronExpression: string, startDate: Date | null, isValid: boolean) => void;
3503
3521
  locale?: string;
3504
3522
  dateFormat?: string;
@@ -3511,6 +3529,8 @@ export declare interface IRecurrenceFormProps {
3511
3529
  allowHourlyRecurrence?: boolean;
3512
3530
  showRepeatTypeDescription?: boolean;
3513
3531
  showTimezoneInOccurrence?: boolean;
3532
+ showInheritValue?: boolean;
3533
+ isWhiteLabeled?: boolean;
3514
3534
  onRecurrenceDropdownOpen?: () => void;
3515
3535
  }
3516
3536
 
@@ -3520,15 +3540,19 @@ export declare interface IRecurrenceFormProps {
3520
3540
  export declare interface IRecurrenceProps {
3521
3541
  label: string;
3522
3542
  showRepeatTypeDescription?: boolean;
3543
+ showInheritValue?: boolean;
3523
3544
  recurrenceType: RecurrenceType;
3545
+ inheritRecurrenceType?: RecurrenceType;
3524
3546
  startDate?: Date | null;
3525
3547
  timezone?: string;
3526
3548
  cronValue: string;
3549
+ cronPlaceholder?: string;
3527
3550
  weekStart?: WeekStart;
3528
3551
  onRepeatTypeChange: (repeatType: string) => void;
3529
3552
  onCronValueChange: (cronValue: string, isValid: boolean) => void;
3530
3553
  allowHourlyRecurrence?: boolean;
3531
3554
  showTimezoneInOccurrence?: boolean;
3555
+ isWhiteLabeled?: boolean;
3532
3556
  onRecurrenceDropdownOpen?: () => void;
3533
3557
  }
3534
3558
 
@@ -4018,21 +4042,7 @@ export declare const isSpaceKey: (event: KeyboardEvent_2) => boolean;
4018
4042
  /**
4019
4043
  * @internal
4020
4044
  */
4021
- export declare interface IStylingEditorDialogFooterProps extends IDialogBaseProps {
4022
- link: {
4023
- text: string;
4024
- url: string;
4025
- };
4026
- disableSubmit?: boolean;
4027
- showProgressIndicator?: boolean;
4028
- errorMessage?: string;
4029
- onHelpClick?: () => void;
4030
- }
4031
-
4032
- /**
4033
- * @internal
4034
- */
4035
- export declare interface IStylingEditorDialogProps<T extends StylingPickerItemContent> extends IStylingEditorDialogFooterProps {
4045
+ export declare interface IStylingEditorDialogProps<T extends StylingPickerItemContent> extends TStylingEditorDialogFooterProps, Pick<IDialogBaseProps, "onClose" | "className"> {
4036
4046
  title: string;
4037
4047
  tooltip?: string;
4038
4048
  stylingItem?: IStylingPickerItem<T>;
@@ -4214,6 +4224,7 @@ export declare interface ITypographyProps {
4214
4224
  className?: string;
4215
4225
  onClick?: (e: React_2.MouseEvent) => void;
4216
4226
  title?: string;
4227
+ id?: string;
4217
4228
  }
4218
4229
 
4219
4230
  /**
@@ -4699,6 +4710,7 @@ export declare const Recurrence: React_2.FC<IRecurrenceProps>;
4699
4710
  * @internal
4700
4711
  */
4701
4712
  export declare const RECURRENCE_TYPES: {
4713
+ INHERIT: string;
4702
4714
  HOURLY: string;
4703
4715
  DAILY: string;
4704
4716
  WEEKLY: string;
@@ -4996,7 +5008,7 @@ export declare const StylingEditorDialog: <T extends StylingPickerItemContent>(p
4996
5008
  /**
4997
5009
  * @internal
4998
5010
  */
4999
- export declare const StylingEditorDialogFooter: (props: IStylingEditorDialogFooterProps) => React_2.JSX.Element;
5011
+ export declare const StylingEditorDialogFooter: (props: TStylingEditorDialogFooterProps) => React_2.JSX.Element;
5000
5012
 
5001
5013
  /**
5002
5014
  * @internal
@@ -5139,9 +5151,24 @@ export declare function transform2Dropdown<T extends IDateDataset>(dateDatasets:
5139
5151
  * @param date - date to compare with cron expression
5140
5152
  * @param cronExpression - cron expression to transform
5141
5153
  * @param allowHourlyRecurrence - whether hourly recurrence is allowed
5154
+ * @param allowInheritValue - whether inherit value is allowed
5142
5155
  * @param weekStart - Week start day
5143
5156
  */
5144
- export declare const transformCronExpressionToRecurrenceType: (date: Date | null, cronExpression: string, allowHourlyRecurrence: boolean, weekStart: WeekStart) => RecurrenceType;
5157
+ export declare const transformCronExpressionToRecurrenceType: (date: Date | null, cronExpression: string | undefined, allowHourlyRecurrence: boolean, allowInheritValue: boolean, weekStart: WeekStart) => RecurrenceType;
5158
+
5159
+ /**
5160
+ * @internal
5161
+ */
5162
+ export declare type TStylingEditorDialogFooterProps = {
5163
+ link: {
5164
+ text: string;
5165
+ url: string;
5166
+ };
5167
+ disableSubmit?: boolean;
5168
+ showProgressIndicator?: boolean;
5169
+ errorMessage?: string;
5170
+ onHelpClick?: () => void;
5171
+ } & Pick<IDialogBaseProps, "onCancel" | "onSubmit">;
5145
5172
 
5146
5173
  /**
5147
5174
  * @internal
@@ -5211,7 +5238,17 @@ export declare interface UiFocusTrapProps {
5211
5238
  children: React_2.ReactNode;
5212
5239
  autofocusOnOpen?: boolean;
5213
5240
  onDeactivate?: () => void;
5214
- returnFocusTo?: React_2.RefObject<HTMLElement>;
5241
+ /**
5242
+ * Specify the element to return focus to when the trap is deactivated/closed.
5243
+ * If a string is provided, the focus will be returned to the element with the given id.
5244
+ * If a ref is provided, the focus will be returned to the element referenced by the ref.
5245
+ */
5246
+ returnFocusTo?: React_2.RefObject<HTMLElement> | string;
5247
+ /**
5248
+ * Specify the element that should receive focus when the trap is activated.
5249
+ * If not provided, the first focusable element will be focused.
5250
+ */
5251
+ initialFocus?: React_2.RefObject<HTMLElement> | string;
5215
5252
  }
5216
5253
 
5217
5254
  /**
@@ -5262,7 +5299,7 @@ export declare interface UiPagedVirtualListSkeletonItemProps {
5262
5299
  /**
5263
5300
  * @internal
5264
5301
  */
5265
- export declare function UiSkeleton({ itemsCount, itemHeight, itemWidth, itemsGap, direction, }: UiSkeletonProps): React_2.JSX.Element;
5302
+ export declare function UiSkeleton({ itemsCount, itemHeight, itemWidth, itemsGap, direction, itemBorderRadius, }: UiSkeletonProps): React_2.JSX.Element;
5266
5303
 
5267
5304
  /**
5268
5305
  * @internal
@@ -5288,6 +5325,10 @@ export declare interface UiSkeletonProps {
5288
5325
  * Whether to render the skeleton in a row or column.
5289
5326
  */
5290
5327
  direction?: "row" | "column";
5328
+ /**
5329
+ * Border radius of the item.
5330
+ */
5331
+ itemBorderRadius?: number;
5291
5332
  }
5292
5333
 
5293
5334
  /**
@@ -1,4 +1,5 @@
1
1
  /**
2
+ * @deprecated use `event.key` or `event.code`. See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode
2
3
  * @internal
3
4
  */
4
5
  export declare enum ENUM_KEY_CODE {
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/typings/utilities.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,oBAAY,aAAa;IACrB,cAAc,KAAK;IACnB,eAAe,KAAK;CACvB"}
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/typings/utilities.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,oBAAY,aAAa;IACrB,cAAc,KAAK;IACnB,eAAe,KAAK;CACvB"}
@@ -1,5 +1,6 @@
1
- // (C) 2020 GoodData Corporation
1
+ // (C) 2020-2025 GoodData Corporation
2
2
  /**
3
+ * @deprecated use `event.key` or `event.code`. See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode
3
4
  * @internal
4
5
  */
5
6
  export var ENUM_KEY_CODE;
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/typings/utilities.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC;;GAEG;AACH,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,sEAAmB,CAAA;IACnB,wEAAoB,CAAA;AACxB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB"}
1
+ {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/typings/utilities.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC;;;GAGG;AACH,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,sEAAmB,CAAA;IACnB,wEAAoB,CAAA;AACxB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-kit",
3
- "version": "10.25.0-alpha.8",
3
+ "version": "10.25.0",
4
4
  "description": "GoodData SDK - UI Building Components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -42,6 +42,7 @@
42
42
  "classnames": "^2.3.1",
43
43
  "codemirror": "^5.54.0",
44
44
  "copy-to-clipboard": "^3.3.1",
45
+ "cron-parser": "^5.1.1",
45
46
  "date-fns": "^2.22.1",
46
47
  "date-fns-tz": "^2.0.0",
47
48
  "debounce-promise": "^3.1.2",
@@ -68,11 +69,11 @@
68
69
  "tslib": "^2.5.0",
69
70
  "uuid": "^8.3.2",
70
71
  "unified": "^11.0.5",
71
- "@gooddata/sdk-backend-spi": "10.25.0-alpha.8",
72
- "@gooddata/sdk-ui": "10.25.0-alpha.8",
73
- "@gooddata/sdk-ui-theme-provider": "10.25.0-alpha.8",
74
- "@gooddata/util": "10.25.0-alpha.8",
75
- "@gooddata/sdk-model": "10.25.0-alpha.8"
72
+ "@gooddata/sdk-backend-spi": "10.25.0",
73
+ "@gooddata/sdk-ui": "10.25.0",
74
+ "@gooddata/sdk-ui-theme-provider": "10.25.0",
75
+ "@gooddata/util": "10.25.0",
76
+ "@gooddata/sdk-model": "10.25.0"
76
77
  },
77
78
  "peerDependencies": {
78
79
  "react": "^16.10.0 || ^17.0.0 || ^18.0.0",
@@ -131,8 +132,8 @@
131
132
  "typescript": "5.3.3",
132
133
  "vitest": "3.0.8",
133
134
  "vitest-dom": "0.1.1",
134
- "@gooddata/reference-workspace": "10.25.0-alpha.8",
135
- "@gooddata/sdk-backend-mockingbird": "10.25.0-alpha.8"
135
+ "@gooddata/reference-workspace": "10.25.0",
136
+ "@gooddata/sdk-backend-mockingbird": "10.25.0"
136
137
  },
137
138
  "scripts": {
138
139
  "clean": "rm -rf ci dist esm coverage styles/css *.log tsconfig.tsbuildinfo",
@@ -154,6 +154,8 @@ $action-box-shadow: var(--gd-button-dropShadow, 0 -1px 0 0) var(--gd-palette-err
154
154
 
155
155
  &__tag {
156
156
  @extend %ui-button__text;
157
+
158
+ margin-left: 2px;
157
159
  }
158
160
 
159
161
  &__icon-before {
@@ -0,0 +1,13 @@
1
+ .sr-only {
2
+ position: absolute;
3
+ width: 1px;
4
+ height: 1px;
5
+ padding: 0;
6
+ margin: -1px;
7
+ overflow: hidden;
8
+ clip: rect(0, 0, 0, 0);
9
+ white-space: nowrap;
10
+ border-width: 0;
11
+ }
12
+
13
+ /*# sourceMappingURL=aria.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../scss/aria.scss"],"names":[],"mappings":"AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA","file":"aria.css"}
@@ -90,7 +90,7 @@
90
90
  .bubble .bubble-content .content,
91
91
  .bubble .bubble-content .content p,
92
92
  .bubble .bubble-content .content a {
93
- font: 400 12px/18px gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
93
+ font: 400 12px/18px var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
94
94
  }
95
95
  .bubble .bubble-content .content p {
96
96
  margin: 0;
@@ -14,7 +14,7 @@
14
14
  align-items: center;
15
15
  padding: 5px 14px;
16
16
  border: 1px solid transparent;
17
- font: 400 14px/20px gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
17
+ font: 400 14px/20px var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
18
18
  white-space: nowrap;
19
19
  vertical-align: middle;
20
20
  cursor: pointer;
@@ -359,7 +359,7 @@
359
359
  display: inline-flex;
360
360
  padding: 0 6px;
361
361
  border: 1px solid transparent;
362
- font: 400 14px/30px gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
362
+ font: 400 14px/30px var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
363
363
  vertical-align: middle;
364
364
  color: var(--gd-palette-primary-base, #14b2e2);
365
365
  background: none;
@@ -443,7 +443,7 @@
443
443
  margin-bottom: 0.6em;
444
444
  }
445
445
  .gd-datepicker-picker .rdp-caption_label {
446
- font-family: gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
446
+ font-family: var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
447
447
  font-size: 17px;
448
448
  text-align: center;
449
449
  font-weight: normal;
@@ -456,7 +456,7 @@
456
456
  display: table-cell;
457
457
  color: var(--gd-palette-complementary-8-from-theme, #94a1ad);
458
458
  cursor: help;
459
- font-family: gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
459
+ font-family: var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
460
460
  font-weight: 400;
461
461
  font-size: 13px;
462
462
  text-transform: none;
@@ -469,7 +469,7 @@
469
469
  .gd-datepicker-picker .rdp-day {
470
470
  padding: 0.3125em 0.55em;
471
471
  color: var(--gd-palette-complementary-8, #464e56);
472
- font-family: gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
472
+ font-family: var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
473
473
  font-size: 14px;
474
474
  font-weight: 700;
475
475
  text-align: center;
@@ -566,7 +566,7 @@
566
566
  margin-left: 0.25em;
567
567
  margin-right: 0.25em;
568
568
  margin-bottom: 1em;
569
- font-family: gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
569
+ font-family: var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
570
570
  font-size: 17px;
571
571
  text-align: center;
572
572
  }
@@ -581,7 +581,7 @@
581
581
  color: var(--gd-palette-complementary-8-from-theme, #94a1ad);
582
582
  cursor: help;
583
583
  padding-bottom: 0.5em;
584
- font-family: gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
584
+ font-family: var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
585
585
  font-weight: 400;
586
586
  font-size: 13px;
587
587
  text-align: center;
@@ -600,7 +600,7 @@
600
600
  display: table-cell;
601
601
  padding: 0.3125em 0.55em;
602
602
  color: var(--gd-palette-complementary-8, #464e56);
603
- font-family: gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
603
+ font-family: var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
604
604
  font-size: 14px;
605
605
  font-weight: 700;
606
606
  text-align: center;
@@ -31,7 +31,7 @@
31
31
  flex-direction: column;
32
32
  gap: 10px;
33
33
  background-color: var(--gd-palette-complementary-0, #fff);
34
- font-family: gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
34
+ font-family: var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
35
35
  max-height: 510px;
36
36
  overflow: hidden;
37
37
  padding: 15px 0;
@@ -121,7 +121,7 @@
121
121
  }
122
122
  .gd-dialog-header h2 {
123
123
  color: var(--gd-palette-complementary-8, #464e56);
124
- font-family: gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
124
+ font-family: var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
125
125
  font-weight: 400;
126
126
  font-weight: 700;
127
127
  line-height: 26px;
@@ -129,7 +129,7 @@
129
129
  }
130
130
  .gd-dialog-header h3 {
131
131
  color: var(--gd-palette-complementary-8, #464e56);
132
- font-family: gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
132
+ font-family: var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
133
133
  font-weight: 400;
134
134
  font-weight: 700;
135
135
  line-height: 23px;
@@ -142,7 +142,7 @@
142
142
 
143
143
  .gd-dialog-icon {
144
144
  color: var(--gd-palette-complementary-8, #464e56);
145
- font-family: gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
145
+ font-family: var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
146
146
  font-weight: 400;
147
147
  font-weight: 700;
148
148
  line-height: 30px;
@@ -6,7 +6,7 @@
6
6
  min-height: 50px;
7
7
  padding-bottom: 5px;
8
8
  font-weight: normal;
9
- font-family: gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
9
+ font-family: var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
10
10
  font-size: 14px;
11
11
  line-height: 20px;
12
12
  color: var(--gd-palette-complementary-6, #94a1ad);
@@ -20,7 +20,7 @@
20
20
  padding-top: 10px;
21
21
  text-align: center;
22
22
  font-weight: normal;
23
- font-family: gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
23
+ font-family: var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
24
24
  font-size: 14px;
25
25
  line-height: 20px;
26
26
  color: var(--gd-palette-complementary-6, #94a1ad);
@@ -33,7 +33,7 @@
33
33
  color: var(--gd-palette-complementary-8, #464e56);
34
34
  background: var(--gd-palette-complementary-0, #fff);
35
35
  font-size: 14px;
36
- font-family: gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
36
+ font-family: var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
37
37
  font-weight: 200;
38
38
  border-radius: 3px;
39
39
  box-shadow: inset 0 1px 1px 0 rgba(31, 53, 74, 0.15);
@@ -413,7 +413,7 @@ textarea.gd-input, textarea.input-text {
413
413
  color: var(--gd-palette-complementary-8, #464e56);
414
414
  background: var(--gd-palette-complementary-0, #fff);
415
415
  font-size: 14px;
416
- font-family: gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
416
+ font-family: var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
417
417
  font-weight: 200;
418
418
  color: var(--gd-palette-complementary-6-from-theme, #b0beca);
419
419
  min-width: 30px;