@gooddata/sdk-ui-kit 10.25.0-alpha.4 → 10.25.0-alpha.40

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 (137) 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 +6 -1
  7. package/esm/@ui/UiFocusTrap/UiFocusTrap.d.ts.map +1 -1
  8. package/esm/@ui/UiFocusTrap/UiFocusTrap.js +16 -5
  9. package/esm/@ui/UiFocusTrap/UiFocusTrap.js.map +1 -1
  10. package/esm/@ui/UiIcon/UiIcon.d.ts +2 -1
  11. package/esm/@ui/UiIcon/UiIcon.d.ts.map +1 -1
  12. package/esm/@ui/UiIcon/UiIcon.js +3 -3
  13. package/esm/@ui/UiIcon/UiIcon.js.map +1 -1
  14. package/esm/@ui/UiSkeleton/UiSkeleton.d.ts +5 -1
  15. package/esm/@ui/UiSkeleton/UiSkeleton.d.ts.map +1 -1
  16. package/esm/@ui/UiSkeleton/UiSkeleton.js +2 -2
  17. package/esm/@ui/UiSkeleton/UiSkeleton.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 +36 -24
  62. package/esm/Dialog/typings.d.ts.map +1 -1
  63. package/esm/Header/HeaderChatButton.js +2 -2
  64. package/esm/Header/HeaderChatButton.js.map +1 -1
  65. package/esm/Icon/icons/EmbedCodeIcon.d.ts.map +1 -1
  66. package/esm/Icon/icons/EmbedCodeIcon.js +3 -3
  67. package/esm/Icon/icons/EmbedCodeIcon.js.map +1 -1
  68. package/esm/Icon/icons/GenAI.d.ts.map +1 -1
  69. package/esm/Icon/icons/GenAI.js +3 -3
  70. package/esm/Icon/icons/GenAI.js.map +1 -1
  71. package/esm/List/InsightListItem.d.ts +2 -1
  72. package/esm/List/InsightListItem.d.ts.map +1 -1
  73. package/esm/List/InsightListItem.js +2 -2
  74. package/esm/List/InsightListItem.js.map +1 -1
  75. package/esm/RecurrenceForm/CronExpression.d.ts +1 -0
  76. package/esm/RecurrenceForm/CronExpression.d.ts.map +1 -1
  77. package/esm/RecurrenceForm/CronExpression.js +5 -5
  78. package/esm/RecurrenceForm/CronExpression.js.map +1 -1
  79. package/esm/RecurrenceForm/Recurrence.d.ts +3 -0
  80. package/esm/RecurrenceForm/Recurrence.d.ts.map +1 -1
  81. package/esm/RecurrenceForm/Recurrence.js +9 -4
  82. package/esm/RecurrenceForm/Recurrence.js.map +1 -1
  83. package/esm/RecurrenceForm/RecurrenceForm.d.ts +3 -1
  84. package/esm/RecurrenceForm/RecurrenceForm.d.ts.map +1 -1
  85. package/esm/RecurrenceForm/RecurrenceForm.js +9 -6
  86. package/esm/RecurrenceForm/RecurrenceForm.js.map +1 -1
  87. package/esm/RecurrenceForm/RepeatTypeSelect.d.ts +1 -0
  88. package/esm/RecurrenceForm/RepeatTypeSelect.d.ts.map +1 -1
  89. package/esm/RecurrenceForm/RepeatTypeSelect.js +18 -9
  90. package/esm/RecurrenceForm/RepeatTypeSelect.js.map +1 -1
  91. package/esm/RecurrenceForm/constants.d.ts +1 -6
  92. package/esm/RecurrenceForm/constants.d.ts.map +1 -1
  93. package/esm/RecurrenceForm/constants.js +2 -7
  94. package/esm/RecurrenceForm/constants.js.map +1 -1
  95. package/esm/RecurrenceForm/locales.d.ts.map +1 -1
  96. package/esm/RecurrenceForm/locales.js +2 -1
  97. package/esm/RecurrenceForm/locales.js.map +1 -1
  98. package/esm/RecurrenceForm/utils.d.ts +3 -2
  99. package/esm/RecurrenceForm/utils.d.ts.map +1 -1
  100. package/esm/RecurrenceForm/utils.js +7 -2
  101. package/esm/RecurrenceForm/utils.js.map +1 -1
  102. package/esm/RecurrenceForm/utils.test.js +75 -65
  103. package/esm/RecurrenceForm/utils.test.js.map +1 -1
  104. package/esm/RichText/RichText.d.ts +4 -0
  105. package/esm/RichText/RichText.d.ts.map +1 -1
  106. package/esm/RichText/RichText.js +4 -3
  107. package/esm/RichText/RichText.js.map +1 -1
  108. package/esm/RichText/hooks/useEvaluatedMetricsAndAttributes.d.ts +1 -0
  109. package/esm/RichText/hooks/useEvaluatedMetricsAndAttributes.d.ts.map +1 -1
  110. package/esm/RichText/hooks/useEvaluatedMetricsAndAttributes.js +7 -4
  111. package/esm/RichText/hooks/useEvaluatedMetricsAndAttributes.js.map +1 -1
  112. package/esm/RichText/hooks/useEvaluatedReferences.d.ts +1 -0
  113. package/esm/RichText/hooks/useEvaluatedReferences.d.ts.map +1 -1
  114. package/esm/RichText/hooks/useEvaluatedReferences.js.map +1 -1
  115. package/esm/Typography/Typography.d.ts +1 -0
  116. package/esm/Typography/Typography.d.ts.map +1 -1
  117. package/esm/Typography/Typography.js +3 -3
  118. package/esm/Typography/Typography.js.map +1 -1
  119. package/esm/responsive/interfaces.d.ts +4 -0
  120. package/esm/responsive/interfaces.d.ts.map +1 -1
  121. package/esm/responsive/interfaces.js +1 -1
  122. package/esm/responsive/useMediaQuery.d.ts.map +1 -1
  123. package/esm/responsive/useMediaQuery.js +3 -1
  124. package/esm/responsive/useMediaQuery.js.map +1 -1
  125. package/esm/sdk-ui-kit.d.ts +97 -68
  126. package/esm/typings/utilities.d.ts +1 -0
  127. package/esm/typings/utilities.d.ts.map +1 -1
  128. package/esm/typings/utilities.js +2 -1
  129. package/esm/typings/utilities.js.map +1 -1
  130. package/package.json +8 -8
  131. package/src/@ui/UiChip/UiChip.scss +2 -0
  132. package/styles/css/aria.css +13 -0
  133. package/styles/css/aria.css.map +1 -0
  134. package/styles/css/main.css +15 -0
  135. package/styles/css/main.css.map +1 -1
  136. package/styles/scss/aria.scss +13 -0
  137. package/styles/scss/main.scss +1 -0
@@ -1,4 +1,4 @@
1
- // (C) 2024 GoodData Corporation
1
+ // (C) 2024-2025 GoodData Corporation
2
2
  import React from "react";
3
3
  import { bem } from "../@utils/bem.js";
4
4
  import { UiIcon } from "../UiIcon/UiIcon.js";
@@ -1 +1 @@
1
- {"version":3,"file":"UiButton.js","sourceRoot":"","sources":["../../../src/@ui/UiButton/UiButton.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAmB7C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACrB,SAAS,EACT,IAAI,GAAG,QAAQ,EACf,OAAO,GAAG,WAAW,EACrB,KAAK,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,GACM,EAAE,EAAE;IAChB,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3E,OAAO,CACH,gCACI,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,EACxD,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,OAAO,aACP,MAAM;QAEd,UAAU,CAAC,CAAC,CAAC,CACV,8BAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,oBAAC,MAAM,IAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAI,CACjD,CACV,CAAC,CAAC,CAAC,IAAI;QACR,8BAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,IAAG,KAAK,CAAQ;QACzC,SAAS,CAAC,CAAC,CAAC,CACT,8BAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,oBAAC,MAAM,IAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAI,CAChD,CACV,CAAC,CAAC,CAAC,IAAI,CACH,CACZ,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"UiButton.js","sourceRoot":"","sources":["../../../src/@ui/UiButton/UiButton.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAmB7C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACrB,SAAS,EACT,IAAI,GAAG,QAAQ,EACf,OAAO,GAAG,WAAW,EACrB,KAAK,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,GACM,EAAE,EAAE;IAChB,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3E,OAAO,CACH,gCACI,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,EACxD,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,OAAO,aACP,MAAM;QAEd,UAAU,CAAC,CAAC,CAAC,CACV,8BAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,oBAAC,MAAM,IAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAI,CACjD,CACV,CAAC,CAAC,CAAC,IAAI;QACR,8BAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,IAAG,KAAK,CAAQ;QACzC,SAAS,CAAC,CAAC,CAAC,CACT,8BAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,oBAAC,MAAM,IAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAI,CAChD,CACV,CAAC,CAAC,CAAC,IAAI,CACH,CACZ,CAAC;AACN,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UiChip.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiChip/UiChip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAID;;GAEG;AACH,eAAO,MAAM,MAAM,oFAShB,WAAW,sBAyCb,CAAC"}
1
+ {"version":3,"file":"UiChip.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiChip/UiChip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAGhF,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAID;;GAEG;AACH,eAAO,MAAM,MAAM,oFAShB,WAAW,sBAkDb,CAAC"}
@@ -1,5 +1,5 @@
1
1
  // (C) 2025 GoodData Corporation
2
- import React from "react";
2
+ import React, { useLayoutEffect, useRef, useState } from "react";
3
3
  import { bem } from "../@utils/bem.js";
4
4
  import { UiIcon } from "../UiIcon/UiIcon.js";
5
5
  const { b, e } = bem("gd-ui-kit-chip");
@@ -7,7 +7,14 @@ const { b, e } = bem("gd-ui-kit-chip");
7
7
  * @internal
8
8
  */
9
9
  export const UiChip = ({ label, tag, isDeletable = false, isActive = false, isLocked = false, iconBefore, onClick, onDelete, }) => {
10
- return (React.createElement("div", { className: b() },
10
+ const elemRef = useRef(null);
11
+ const [styleObj, setStyleObj] = useState();
12
+ useLayoutEffect(() => {
13
+ if (elemRef.current) {
14
+ setStyleObj({ width: elemRef.current.offsetWidth });
15
+ }
16
+ }, []);
17
+ return (React.createElement("div", { className: b(), ref: elemRef, style: { ...styleObj } },
11
18
  React.createElement("button", { "aria-label": isActive ? "Close" : "Open", "aria-expanded": isActive, className: e("trigger", { isDeletable, isActive, isLocked }), disabled: isLocked, onClick: onClick },
12
19
  iconBefore ? (React.createElement("span", { className: e("icon-before") },
13
20
  React.createElement(UiIcon, { type: iconBefore, color: "primary", size: 15 }))) : null,
@@ -1 +1 @@
1
- {"version":3,"file":"UiChip.js","sourceRoot":"","sources":["../../../src/@ui/UiChip/UiChip.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAiB7C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EACnB,KAAK,EACL,GAAG,EACH,WAAW,GAAG,KAAK,EACnB,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,UAAU,EACV,OAAO,EACP,QAAQ,GACE,EAAE,EAAE;IACd,OAAO,CACH,6BAAK,SAAS,EAAE,CAAC,EAAE;QACf,8CACgB,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,mBACxB,QAAQ,EACvB,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAC5D,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO;YAEf,UAAU,CAAC,CAAC,CAAC,CACV,8BAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC;gBAC7B,oBAAC,MAAM,IAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAC,SAAS,EAAC,IAAI,EAAE,EAAE,GAAI,CACnD,CACV,CAAC,CAAC,CAAC,IAAI;YACR,8BAAM,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,IAAG,KAAK,CAAQ;YAC1C,GAAG,CAAC,CAAC,CAAC,8BAAM,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,IAAG,GAAG,CAAQ,CAAC,CAAC,CAAC,IAAI;YACpD,QAAQ,CAAC,CAAC,CAAC,CACR,8BAAM,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC;gBAC3B,oBAAC,MAAM,IAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAE,EAAE,GAAI,CACpE,CACV,CAAC,CAAC,CAAC,CACA,8BAAM,SAAS,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC;gBAC5C,oBAAC,MAAM,IACH,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EAC5C,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAClC,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAE,CAAC,GACT,CACC,CACV,CACI;QACR,WAAW,CAAC,CAAC,CAAC,CACX,8CAAmB,QAAQ,EAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ;YACjE,8BAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC;gBAC7B,oBAAC,MAAM,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAE,EAAE,GAAI,CACrE,CACF,CACZ,CAAC,CAAC,CAAC,IAAI,CACN,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"UiChip.js","sourceRoot":"","sources":["../../../src/@ui/UiChip/UiChip.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,12 @@ export interface UiFocusTrapProps {
6
6
  children: React.ReactNode;
7
7
  autofocusOnOpen?: boolean;
8
8
  onDeactivate?: () => void;
9
- returnFocusTo?: React.RefObject<HTMLElement>;
9
+ /**
10
+ * Specify the element to return focus to when the trap is deactivated/closed.
11
+ * If a string is provided, the focus will be returned to the element with the given id.
12
+ * If a ref is provided, the focus will be returned to the element referenced by the ref.
13
+ */
14
+ returnFocusTo?: React.RefObject<HTMLElement> | string;
10
15
  }
11
16
  /**
12
17
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"UiFocusTrap.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiFocusTrap/UiFocusTrap.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;CAChD;AAwDD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAyElD,CAAC"}
1
+ {"version":3,"file":"UiFocusTrap.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiFocusTrap/UiFocusTrap.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;CACzD;AAwDD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqFlD,CAAC"}
@@ -76,7 +76,13 @@ export const UiFocusTrap = ({ children, onDeactivate, returnFocusTo, autofocusOn
76
76
  if (onDeactivate) {
77
77
  onDeactivate();
78
78
  }
79
- if (returnFocusTo?.current) {
79
+ if (typeof returnFocusTo === "string") {
80
+ const element = document.getElementById(returnFocusTo);
81
+ if (element) {
82
+ element.focus();
83
+ }
84
+ }
85
+ else if (returnFocusTo?.current) {
80
86
  returnFocusTo.current.focus();
81
87
  }
82
88
  else if (defaultReturnFocusToRef.current) {
@@ -87,11 +93,16 @@ export const UiFocusTrap = ({ children, onDeactivate, returnFocusTo, autofocusOn
87
93
  document.addEventListener("keydown", handleKeyDown);
88
94
  defaultReturnFocusToRef.current = document.activeElement;
89
95
  const focusTrapTimeout = setTimeout(() => {
90
- if (autofocusOnOpen) {
91
- // Move focus to the first element in the trap at start
92
- const { firstElement } = getFocusableElements(trapRef.current);
93
- firstElement?.focus();
96
+ if (!autofocusOnOpen) {
97
+ return;
98
+ }
99
+ if (trapRef.current?.contains(document.activeElement)) {
100
+ // Do not change focus, if the focused element is already inside the trap
101
+ return;
94
102
  }
103
+ // Move focus to the first element in the trap at start
104
+ const { firstElement } = getFocusableElements(trapRef.current);
105
+ firstElement?.focus();
95
106
  }, 100);
96
107
  return () => {
97
108
  document.removeEventListener("keydown", handleKeyDown);
@@ -1 +1 @@
1
- {"version":3,"file":"UiFocusTrap.js","sourceRoot":"","sources":["../../../src/@ui/UiFocusTrap/UiFocusTrap.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UiFocusTrap.js","sourceRoot":"","sources":["../../../src/@ui/UiFocusTrap/UiFocusTrap.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAgBjD,MAAM,yBAAyB,GAAG;IAC9B,4BAA4B;IAC5B,mDAAmD;IACnD,kDAAkD;IAClD,mDAAmD;IACnD,qDAAqD;IAErD,kBAAkB;IAClB,SAAS;IACT,YAAY;IAEZ,gCAAgC;IAChC,4EAA4E;IAE5E,sBAAsB;IACtB,iBAAiB;IACjB,iBAAiB;IAEjB,mBAAmB;IACnB,kDAAkD;CACrD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,oBAAoB,GAAG,CAAC,OAAqB,EAAE,EAAE;IACnD,MAAM,iBAAiB,GAAG,OAAO,EAAE,gBAAgB,CAAc,yBAAyB,CAAC,CAAC;IAC5F,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AAC5D,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,8BAA8B,GAAG,CACnC,cAA2B,EAC3B,iBAA0C,EAC1C,QAAiB,EACb,EAAE;IACN,IAAI,WAAW,GAAG,cAAc,CAAC;IACjC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC;IAE7C,WAAW,CAAC,KAAK,EAAE,CAAC;IAEpB,OAAO,WAAW,KAAK,QAAQ,CAAC,aAAa,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;QACtE,QAAQ,EAAE,CAAC;QACX,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,QAAQ;YACtB,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,MAAM;YAC1E,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC;QACpD,WAAW,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC3C,WAAW,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EACpD,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,eAAe,GAAG,KAAK,GAC1B,EAAE,EAAE;IACD,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,MAAM,uBAAuB,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAEjE,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,cAAc,GAAG,CAAC,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,QAAiB,EAAE,EAAE;YACvF,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,aAA4B,CAAC,CAAC;YAE7E,IAAI,QAAQ,EAAE,CAAC;gBACX,iCAAiC;gBACjC,OAAO,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACJ,wBAAwB;gBACxB,OAAO,YAAY,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAC5F,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC3C,oEAAoE;YACpE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/F,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAAE,CAAC;gBACzE,MAAM,WAAW,GAAG,cAAc,CAC9B,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,KAAK,CAAC,QAAQ,CACjB,CAAC;gBAEF,IAAI,WAAW,EAAE,CAAC;oBACd,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;oBACxB,8BAA8B,CAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACnF,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAChC,IAAI,YAAY,EAAE,CAAC;oBACf,YAAY,EAAE,CAAC;gBACnB,CAAC;gBACD,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;oBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;oBACvD,IAAI,OAAO,EAAE,CAAC;wBACV,OAAO,CAAC,KAAK,EAAE,CAAC;oBACpB,CAAC;gBACL,CAAC;qBAAM,IAAI,aAAa,EAAE,OAAO,EAAE,CAAC;oBAChC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClC,CAAC;qBAAM,IAAI,uBAAuB,CAAC,OAAO,EAAE,CAAC;oBACzC,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC5C,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,uBAAuB,CAAC,OAAO,GAAG,QAAQ,CAAC,aAA4B,CAAC;QAExE,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;YACrC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,OAAO;YACX,CAAC;YAED,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACpD,yEAAyE;gBACzE,OAAO;YACX,CAAC;YAED,uDAAuD;YACvD,MAAM,EAAE,YAAY,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/D,YAAY,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACvD,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACnC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;IAEnD,OAAO,CACH,6BAAK,SAAS,EAAC,eAAe,EAAC,GAAG,EAAE,OAAO,IACtC,QAAQ,CACP,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -9,9 +9,10 @@ export interface UiIconProps {
9
9
  color?: ThemeColor;
10
10
  label?: string;
11
11
  size?: number;
12
+ ariaHidden?: boolean;
12
13
  }
13
14
  /**
14
15
  * @internal
15
16
  */
16
- export declare const UiIcon: ({ type, label, color, size }: UiIconProps) => React.JSX.Element;
17
+ export declare const UiIcon: ({ type, label, color, ariaHidden, size }: UiIconProps) => React.JSX.Element;
17
18
  //# sourceMappingURL=UiIcon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiIcon.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiIcon/UiIcon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,iCAAuC,WAAW,sBAapE,CAAC"}
1
+ {"version":3,"file":"UiIcon.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiIcon/UiIcon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,6CAAmD,WAAW,sBAchF,CAAC"}
@@ -1,12 +1,12 @@
1
- // (C) 2024 GoodData Corporation
1
+ // (C) 2024-2025 GoodData Corporation
2
2
  import React from "react";
3
3
  import { b } from "./iconBem.js";
4
4
  import { iconsConfig } from "./icons.js";
5
5
  /**
6
6
  * @internal
7
7
  */
8
- export const UiIcon = ({ type, label, color, size = 20 }) => {
9
- return (React.createElement("svg", { className: b({ color }), viewBox: iconsConfig[type].viewBox, width: size, height: size, preserveAspectRatio: "xMidYMid meet" },
8
+ export const UiIcon = ({ type, label, color, ariaHidden, size = 20 }) => {
9
+ return (React.createElement("svg", { className: b({ color }), viewBox: iconsConfig[type].viewBox, width: size, height: size, preserveAspectRatio: "xMidYMid meet", "aria-hidden": ariaHidden },
10
10
  label ? React.createElement("title", null, label) : null,
11
11
  iconsConfig[type].content));
12
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"UiIcon.js","sourceRoot":"","sources":["../../../src/@ui/UiIcon/UiIcon.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAczC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAe,EAAE,EAAE;IACrE,OAAO,CACH,6BACI,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EACvB,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAClC,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,mBAAmB,EAAC,eAAe;QAElC,KAAK,CAAC,CAAC,CAAC,mCAAQ,KAAK,CAAS,CAAC,CAAC,CAAC,IAAI;QACrC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CACxB,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"UiIcon.js","sourceRoot":"","sources":["../../../src/@ui/UiIcon/UiIcon.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAezC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAe,EAAE,EAAE;IACjF,OAAO,CACH,6BACI,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EACvB,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAClC,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,mBAAmB,EAAC,eAAe,iBACtB,UAAU;QAEtB,KAAK,CAAC,CAAC,CAAC,mCAAQ,KAAK,CAAS,CAAC,CAAC,CAAC,IAAI;QACrC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CACxB,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -23,9 +23,13 @@ export interface UiSkeletonProps {
23
23
  * Whether to render the skeleton in a row or column.
24
24
  */
25
25
  direction?: "row" | "column";
26
+ /**
27
+ * Border radius of the item.
28
+ */
29
+ itemBorderRadius?: number;
26
30
  }
27
31
  /**
28
32
  * @internal
29
33
  */
30
- export declare function UiSkeleton({ itemsCount, itemHeight, itemWidth, itemsGap, direction, }: UiSkeletonProps): React.JSX.Element;
34
+ export declare function UiSkeleton({ itemsCount, itemHeight, itemWidth, itemsGap, direction, itemBorderRadius, }: UiSkeletonProps): React.JSX.Element;
31
35
  //# sourceMappingURL=UiSkeleton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiSkeleton.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiSkeleton/UiSkeleton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAMvC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAErD;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAEpD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EACvB,UAAc,EACd,UAAe,EACf,SAAS,EACT,QAAa,EACb,SAAoB,GACvB,EAAE,eAAe,qBA2BjB"}
1
+ {"version":3,"file":"UiSkeleton.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiSkeleton/UiSkeleton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAMvC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAErD;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAEpD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAE7B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EACvB,UAAc,EACd,UAAe,EACf,SAAS,EACT,QAAa,EACb,SAAoB,EACpB,gBAAgB,GACnB,EAAE,eAAe,qBA2BjB"}
@@ -6,7 +6,7 @@ const { b, e } = bem("gd-ui-kit-skeleton");
6
6
  /**
7
7
  * @internal
8
8
  */
9
- export function UiSkeleton({ itemsCount = 1, itemHeight = 24, itemWidth, itemsGap = 10, direction = "column", }) {
9
+ export function UiSkeleton({ itemsCount = 1, itemHeight = 24, itemWidth, itemsGap = 10, direction = "column", itemBorderRadius, }) {
10
10
  const items = Array.from({ length: itemsCount }, (_, idx) => (React.createElement("div", { className: e("item"), key: idx, style: {
11
11
  height: typeof itemHeight === "number" || typeof itemHeight === "undefined"
12
12
  ? itemHeight
@@ -15,7 +15,7 @@ export function UiSkeleton({ itemsCount = 1, itemHeight = 24, itemWidth, itemsGa
15
15
  ? itemWidth
16
16
  : itemWidth[idx],
17
17
  } },
18
- React.createElement(ReactLoadingSkeleton, null))));
18
+ React.createElement(ReactLoadingSkeleton, { borderRadius: itemBorderRadius }))));
19
19
  const style = useMemo(() => ({ gap: itemsGap }), [itemsGap]);
20
20
  return (React.createElement("div", { className: b({ direction }), style: style }, items));
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UiSkeleton.js","sourceRoot":"","sources":["../../../src/@ui/UiSkeleton/UiSkeleton.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAgC3C;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,EACvB,UAAU,GAAG,CAAC,EACd,UAAU,GAAG,EAAE,EACf,SAAS,EACT,QAAQ,GAAG,EAAE,EACb,SAAS,GAAG,QAAQ,GACN;IACd,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CACzD,6BACI,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EACpB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE;YACH,MAAM,EACF,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,UAAU,KAAK,WAAW;gBAC/D,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YACzB,KAAK,EACD,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,WAAW;gBAC7D,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;SAC3B;QAED,oBAAC,oBAAoB,OAAG,CACtB,CACT,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7D,OAAO,CACH,6BAAK,SAAS,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,IACzC,KAAK,CACJ,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"UiSkeleton.js","sourceRoot":"","sources":["../../../src/@ui/UiSkeleton/UiSkeleton.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAqC3C;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,EACvB,UAAU,GAAG,CAAC,EACd,UAAU,GAAG,EAAE,EACf,SAAS,EACT,QAAQ,GAAG,EAAE,EACb,SAAS,GAAG,QAAQ,EACpB,gBAAgB,GACF;IACd,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CACzD,6BACI,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EACpB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE;YACH,MAAM,EACF,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,UAAU,KAAK,WAAW;gBAC/D,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YACzB,KAAK,EACD,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,WAAW;gBAC7D,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;SAC3B;QAED,oBAAC,oBAAoB,IAAC,YAAY,EAAE,gBAAgB,GAAI,CACtD,CACT,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7D,OAAO,CACH,6BAAK,SAAS,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,IACzC,KAAK,CACJ,CACT,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommunityEditionDialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/CommunityEditionDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAoCzE,CAAC"}
1
+ {"version":3,"file":"CommunityEditionDialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/CommunityEditionDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CA6CzE,CAAC"}
@@ -1,14 +1,16 @@
1
- // (C) 2021 GoodData Corporation
1
+ // (C) 2021-2025 GoodData Corporation
2
2
  import React from "react";
3
3
  import { Dialog } from "./Dialog.js";
4
4
  import { Message } from "../Messages/index.js";
5
5
  import { Button } from "../Button/index.js";
6
+ import { useId } from "../utils/useId.js";
6
7
  /**
7
8
  * @internal
8
9
  */
9
10
  export const CommunityEditionDialog = ({ headerText, infoText, copyrightText, links, onClose, closeButtonText, }) => {
10
- return (React.createElement(Dialog, { onClose: onClose, displayCloseButton: true, className: "gd-community-dialog" },
11
- React.createElement("h3", { className: "gd-community-dialog-header" }, headerText),
11
+ const titleId = useId();
12
+ return (React.createElement(Dialog, { onClose: onClose, displayCloseButton: true, className: "gd-community-dialog", accessibilityConfig: { titleElementId: titleId } },
13
+ React.createElement("h2", { className: "gd-community-dialog-header", id: titleId }, headerText),
12
14
  React.createElement(Message, { type: "progress", className: "gd-community-dialog-info" }, infoText),
13
15
  React.createElement("div", { className: "gd-community-dialog-copyright" }, copyrightText),
14
16
  links.length > 0 ? (React.createElement("ul", { className: "gd-community-dialog-links" }, links.map((link) => (React.createElement("li", { key: link.uri },
@@ -1 +1 @@
1
- {"version":3,"file":"CommunityEditionDialog.js","sourceRoot":"","sources":["../../src/Dialog/CommunityEditionDialog.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAc5C;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA2C,CAAC,EAC3E,UAAU,EACV,QAAQ,EACR,aAAa,EACb,KAAK,EACL,OAAO,EACP,eAAe,GAClB,EAAE,EAAE;IACD,OAAO,CACH,oBAAC,MAAM,IAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,QAAC,SAAS,EAAC,qBAAqB;QACxE,4BAAI,SAAS,EAAC,4BAA4B,IAAE,UAAU,CAAM;QAC5D,oBAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,SAAS,EAAC,0BAA0B,IACxD,QAAQ,CACH;QACV,6BAAK,SAAS,EAAC,+BAA+B,IAAE,aAAa,CAAO;QACnE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAChB,4BAAI,SAAS,EAAC,2BAA2B,IACpC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACjB,4BAAI,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,2BAAG,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,IACvD,IAAI,CAAC,IAAI,CACV,CACH,CACR,CAAC,CACD,CACR,CAAC,CAAC,CAAC,IAAI;QACR,6BAAK,SAAS,EAAC,kBAAkB;YAC7B,oBAAC,MAAM,IACH,SAAS,EAAC,yCAAyC,EACnD,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,eAAe,GACxB,CACA,CACD,CACZ,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"CommunityEditionDialog.js","sourceRoot":"","sources":["../../src/Dialog/CommunityEditionDialog.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAc1C;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA2C,CAAC,EAC3E,UAAU,EACV,QAAQ,EACR,aAAa,EACb,KAAK,EACL,OAAO,EACP,eAAe,GAClB,EAAE,EAAE;IACD,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IAExB,OAAO,CACH,oBAAC,MAAM,IACH,OAAO,EAAE,OAAO,EAChB,kBAAkB,QAClB,SAAS,EAAC,qBAAqB,EAC/B,mBAAmB,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE;QAEhD,4BAAI,SAAS,EAAC,4BAA4B,EAAC,EAAE,EAAE,OAAO,IACjD,UAAU,CACV;QACL,oBAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,SAAS,EAAC,0BAA0B,IACxD,QAAQ,CACH;QACV,6BAAK,SAAS,EAAC,+BAA+B,IAAE,aAAa,CAAO;QACnE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAChB,4BAAI,SAAS,EAAC,2BAA2B,IACpC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACjB,4BAAI,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,2BAAG,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,IACvD,IAAI,CAAC,IAAI,CACV,CACH,CACR,CAAC,CACD,CACR,CAAC,CAAC,CAAC,IAAI;QACR,6BAAK,SAAS,EAAC,kBAAkB;YAC7B,oBAAC,MAAM,IACH,SAAS,EAAC,yCAAyC,EACnD,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,eAAe,GACxB,CACA,CACD,CACZ,CAAC;AACN,CAAC,CAAC"}
@@ -1,11 +1,7 @@
1
- /// <reference types="react" />
2
- import { DialogBase } from "./DialogBase.js";
1
+ import React from "react";
3
2
  import { IConfirmDialogBaseProps } from "./typings.js";
4
3
  /**
5
4
  * @internal
6
5
  */
7
- export declare class ConfirmDialogBase extends DialogBase<IConfirmDialogBaseProps> {
8
- static defaultProps: IConfirmDialogBaseProps;
9
- render(): JSX.Element;
10
- }
6
+ export declare const ConfirmDialogBase: React.NamedExoticComponent<IConfirmDialogBaseProps>;
11
7
  //# sourceMappingURL=ConfirmDialogBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmDialogBase.d.ts","sourceRoot":"","sources":["../../src/Dialog/ConfirmDialogBase.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAKvD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,UAAU,CAAC,uBAAuB,CAAC;IACtE,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAM1C;IAEF,MAAM,IAAI,GAAG,CAAC,OAAO;CAqGxB"}
1
+ {"version":3,"file":"ConfirmDialogBase.d.ts","sourceRoot":"","sources":["../../src/Dialog/ConfirmDialogBase.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,uBAAuB,EAAoB,MAAM,cAAc,CAAC;AAKzE;;GAEG;AACH,eAAO,MAAM,iBAAiB,qDAiG5B,CAAC"}
@@ -1,53 +1,44 @@
1
1
  // (C) 2020-2025 GoodData Corporation
2
2
  import React from "react";
3
3
  import cx from "classnames";
4
- import noop from "lodash/noop.js";
5
4
  import { Button } from "../Button/index.js";
6
5
  import { LoadingSpinner } from "../LoadingSpinner/index.js";
7
6
  import { DialogBase } from "./DialogBase.js";
8
7
  import { Bubble, BubbleHoverTrigger } from "../Bubble/index.js";
9
8
  import { Typography } from "../Typography/index.js";
10
- import { UiFocusTrap } from "../@ui/UiFocusTrap/UiFocusTrap.js";
9
+ import { useId } from "../utils/useId.js";
11
10
  /**
12
11
  * @internal
13
12
  */
14
- export class ConfirmDialogBase extends DialogBase {
15
- static defaultProps = {
16
- displayCloseButton: true,
17
- onCancel: noop,
18
- onSubmit: noop,
19
- isSubmitDisabled: false,
20
- headerLeftButtonRenderer: undefined,
21
- };
22
- render() {
23
- const { isPositive, displayCloseButton, headline, warning, children, cancelButtonText, submitButtonText, submitButtonTooltipText, submitButtonTooltipAlignPoints, submitButtonTooltipArrowOffsets, isSubmitDisabled, isCancelDisabled, showProgressIndicator, onSubmit, onCancel, headerLeftButtonRenderer, footerLeftRenderer, titleRightIconRenderer, dialogHeaderClassName, autofocusOnOpen = false, } = this.props;
24
- const dialogClasses = cx({
25
- "gd-confirm": true,
26
- }, this.getDialogClasses());
27
- const submitButtonClasses = cx({
28
- "s-dialog-submit-button": true,
29
- "gd-button-action": isPositive,
30
- "gd-button-negative": !isPositive,
31
- });
32
- const headerClassNames = cx("gd-dialog-header", dialogHeaderClassName);
33
- return (React.createElement(UiFocusTrap, { autofocusOnOpen: autofocusOnOpen },
34
- React.createElement("div", { onKeyDown: this.onKeyDown },
35
- React.createElement("div", { className: dialogClasses },
36
- displayCloseButton ? this.renderCloseButton() : null,
37
- React.createElement("div", { className: "gd-dialog-header-wrapper" },
38
- headerLeftButtonRenderer?.(),
39
- React.createElement("div", { className: headerClassNames },
40
- headline ? (React.createElement(Typography, { tagName: "h3", className: "gd-dialog-header-title" }, headline)) : null,
41
- titleRightIconRenderer?.())),
42
- !!warning && React.createElement("div", { className: "gd-dialog-warning" }, warning),
43
- React.createElement("div", { className: "gd-dialog-content" }, children),
44
- React.createElement("div", { className: "gd-dialog-footer" },
45
- footerLeftRenderer?.(),
46
- showProgressIndicator ? (React.createElement(LoadingSpinner, { className: "gd-dialog-spinner small" })) : null,
47
- React.createElement(Button, { onClick: onCancel, className: "gd-button-secondary s-dialog-cancel-button", value: cancelButtonText, disabled: isCancelDisabled }),
48
- submitButtonText ? (React.createElement(BubbleHoverTrigger, { className: "gd-button", showDelay: 0, hideDelay: 0 },
49
- React.createElement(Button, { onClick: onSubmit, className: submitButtonClasses, value: submitButtonText, disabled: isSubmitDisabled }),
50
- submitButtonTooltipText ? (React.createElement(Bubble, { className: "bubble-primary", alignPoints: submitButtonTooltipAlignPoints || [{ align: "bc tc" }], arrowOffsets: submitButtonTooltipArrowOffsets || { "bc tc": [0, 15] } }, submitButtonTooltipText)) : null)) : null)))));
51
- }
52
- }
13
+ export const ConfirmDialogBase = React.memo(function ConfirmDialogBase({ displayCloseButton = true, isSubmitDisabled = false, isCancelDisabled, isPositive, headline, cancelButtonText, submitButtonText, submitButtonTooltipText, submitButtonTooltipAlignPoints, submitButtonTooltipArrowOffsets, warning, showProgressIndicator, headerLeftButtonRenderer, footerLeftRenderer, dialogHeaderClassName, titleRightIconRenderer, ...dialogBaseProps }) {
14
+ const dialogClasses = cx("gd-confirm", dialogBaseProps.className);
15
+ const submitButtonClasses = cx({
16
+ "s-dialog-submit-button": true,
17
+ "gd-button-action": isPositive,
18
+ "gd-button-negative": !isPositive,
19
+ });
20
+ const headerClassNames = cx("gd-dialog-header", dialogHeaderClassName);
21
+ const titleElementIdWhenNotSet = useId();
22
+ const accessibilityConfig = React.useMemo(() => {
23
+ return {
24
+ ...dialogBaseProps.accessibilityConfig,
25
+ titleElementId: dialogBaseProps.accessibilityConfig?.titleElementId ?? titleElementIdWhenNotSet,
26
+ };
27
+ }, [dialogBaseProps.accessibilityConfig, titleElementIdWhenNotSet]);
28
+ return (React.createElement(DialogBase, { ...dialogBaseProps, className: dialogClasses, displayCloseButton: displayCloseButton, accessibilityConfig: accessibilityConfig },
29
+ React.createElement("div", { className: "gd-dialog-header-wrapper" },
30
+ headerLeftButtonRenderer?.(),
31
+ React.createElement("div", { className: headerClassNames },
32
+ headline ? (React.createElement(Typography, { tagName: "h3", className: "gd-dialog-header-title", id: accessibilityConfig.titleElementId }, headline)) : null,
33
+ titleRightIconRenderer?.())),
34
+ !!warning && React.createElement("div", { className: "gd-dialog-warning" }, warning),
35
+ React.createElement("div", { className: "gd-dialog-content" }, dialogBaseProps.children),
36
+ React.createElement("div", { className: "gd-dialog-footer" },
37
+ footerLeftRenderer?.(),
38
+ showProgressIndicator ? React.createElement(LoadingSpinner, { className: "gd-dialog-spinner small" }) : null,
39
+ React.createElement(Button, { onClick: dialogBaseProps.onCancel, className: "gd-button-secondary s-dialog-cancel-button", value: cancelButtonText, disabled: isCancelDisabled }),
40
+ submitButtonText ? (React.createElement(BubbleHoverTrigger, { className: "gd-button", showDelay: 0, hideDelay: 0 },
41
+ React.createElement(Button, { onClick: dialogBaseProps.onSubmit, className: submitButtonClasses, value: submitButtonText, disabled: isSubmitDisabled }),
42
+ submitButtonTooltipText ? (React.createElement(Bubble, { className: "bubble-primary", alignPoints: submitButtonTooltipAlignPoints || [{ align: "bc tc" }], arrowOffsets: submitButtonTooltipArrowOffsets || { "bc tc": [0, 15] } }, submitButtonTooltipText)) : null)) : null)));
43
+ });
53
44
  //# sourceMappingURL=ConfirmDialogBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmDialogBase.js","sourceRoot":"","sources":["../../src/Dialog/ConfirmDialogBase.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfirmDialogBase.js","sourceRoot":"","sources":["../../src/Dialog/ConfirmDialogBase.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
- import { Component } from "react";
2
- import { IDialogBaseProps } from "./typings.js";
1
+ import React from "react";
2
+ import { IDialogProps } from "./typings.js";
3
3
  /**
4
4
  * @internal
5
5
  */
6
- export declare class Dialog extends Component<IDialogBaseProps> {
7
- render(): JSX.Element;
8
- }
6
+ export declare const Dialog: React.NamedExoticComponent<IDialogProps>;
9
7
  //# sourceMappingURL=Dialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD;;GAEG;AACH,qBAAa,MAAO,SAAQ,SAAS,CAAC,gBAAgB,CAAC;IAC5C,MAAM,IAAI,GAAG,CAAC,OAAO;CAwB/B"}
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,MAAM,0CA2BjB,CAAC"}
@@ -1,19 +1,16 @@
1
- // (C) 2020-2024 GoodData Corporation
2
- import React, { Component } from "react";
1
+ // (C) 2020-2025 GoodData Corporation
2
+ import React from "react";
3
3
  import { Overlay } from "../Overlay/index.js";
4
4
  import { DialogBase } from "./DialogBase.js";
5
5
  /**
6
6
  * @internal
7
7
  */
8
- export class Dialog extends Component {
9
- render() {
10
- const { containerClassName, onClick, onMouseUp, onMouseOver, shouldCloseOnClick, ...dialogProps } = this.props;
11
- return (React.createElement(Overlay, { alignPoints: [
12
- {
13
- align: "cc cc",
14
- },
15
- ], isModal: true, positionType: "fixed", containerClassName: containerClassName, onMouseUp: onMouseUp, onMouseOver: onMouseOver, onClick: onClick, closeOnOutsideClick: Boolean(shouldCloseOnClick), shouldCloseOnClick: shouldCloseOnClick },
16
- React.createElement(DialogBase, { ...dialogProps })));
17
- }
18
- }
8
+ export const Dialog = React.memo(function Dialog({ containerClassName, onClick, onMouseUp, onMouseOver, shouldCloseOnClick, ...dialogProps }) {
9
+ return (React.createElement(Overlay, { alignPoints: [
10
+ {
11
+ align: "cc cc",
12
+ },
13
+ ], isModal: true, positionType: "fixed", containerClassName: containerClassName, onMouseUp: onMouseUp, onMouseOver: onMouseOver, onClick: onClick, closeOnOutsideClick: Boolean(shouldCloseOnClick), shouldCloseOnClick: shouldCloseOnClick },
14
+ React.createElement(DialogBase, { ...dialogProps })));
15
+ });
19
16
  //# sourceMappingURL=Dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C;;GAEG;AACH,MAAM,OAAO,MAAO,SAAQ,SAA2B;IAC5C,MAAM;QACT,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,WAAW,EAAE,GAC7F,IAAI,CAAC,KAAK,CAAC;QAEf,OAAO,CACH,oBAAC,OAAO,IACJ,WAAW,EAAE;gBACT;oBACI,KAAK,EAAE,OAAO;iBACjB;aACJ,EACD,OAAO,QACP,YAAY,EAAC,OAAO,EACpB,kBAAkB,EAAE,kBAAkB,EACtC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,mBAAmB,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAChD,kBAAkB,EAAE,kBAAkB;YAEtC,oBAAC,UAAU,OAAK,WAAW,GAAI,CACzB,CACb,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAe,SAAS,MAAM,CAAC,EAC3D,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,GAAG,WAAW,EACjB;IACG,OAAO,CACH,oBAAC,OAAO,IACJ,WAAW,EAAE;YACT;gBACI,KAAK,EAAE,OAAO;aACjB;SACJ,EACD,OAAO,QACP,YAAY,EAAC,OAAO,EACpB,kBAAkB,EAAE,kBAAkB,EACtC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,mBAAmB,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAChD,kBAAkB,EAAE,kBAAkB;QAEtC,oBAAC,UAAU,OAAK,WAAW,GAAI,CACzB,CACb,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -1,13 +1,7 @@
1
- import React, { PureComponent } from "react";
1
+ import React from "react";
2
2
  import { IDialogBaseProps } from "./typings.js";
3
3
  /**
4
4
  * @internal
5
5
  */
6
- export declare class DialogBase<P extends IDialogBaseProps> extends PureComponent<P> {
7
- static defaultProps: Partial<IDialogBaseProps>;
8
- protected onKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void | undefined;
9
- protected getDialogClasses(additionalClassName?: string): string;
10
- protected renderCloseButton(): JSX.Element;
11
- render(): JSX.Element;
12
- }
6
+ export declare const DialogBase: React.NamedExoticComponent<IDialogBaseProps>;
13
7
  //# sourceMappingURL=DialogBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DialogBase.d.ts","sourceRoot":"","sources":["../../src/Dialog/DialogBase.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAuBhD;;GAEG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,gBAAgB,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IACxE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAO5C;IAEF,SAAS,CAAC,SAAS,UAAW,mBAAmB,CAAC,cAAc,CAAC,KAAG,IAAI,GAAG,SAAS,CAYlF;IAEF,SAAS,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM;IAIhE,SAAS,CAAC,iBAAiB,IAAI,GAAG,CAAC,OAAO;IAanC,MAAM,IAAI,GAAG,CAAC,OAAO;CAY/B"}
1
+ {"version":3,"file":"DialogBase.d.ts","sourceRoot":"","sources":["../../src/Dialog/DialogBase.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AA2BhD;;GAEG;AACH,eAAO,MAAM,UAAU,8CAiDrB,CAAC"}
@@ -1,17 +1,17 @@
1
1
  // (C) 2020-2025 GoodData Corporation
2
- import React, { PureComponent } from "react";
2
+ import React from "react";
3
3
  import cx from "classnames";
4
- import { Button } from "../Button/index.js";
5
- import { ENUM_KEY_CODE } from "../typings/utilities.js";
6
- import noop from "lodash/noop.js";
7
- const checkKeyHandler = (event, keyCode, handler) => {
8
- if (event.keyCode === keyCode && handler) {
9
- event.preventDefault();
10
- event.stopPropagation();
11
- handler();
4
+ import { DialogCloseButton } from "./DialogCloseButton.js";
5
+ import { UiFocusTrap } from "../@ui/UiFocusTrap/UiFocusTrap.js";
6
+ const checkKeyHandler = (event, key, handler) => {
7
+ if (event.key !== key) {
8
+ return;
12
9
  }
10
+ event.preventDefault();
11
+ event.stopPropagation();
12
+ handler();
13
13
  };
14
- const shouldSubmitOnEnterPress = ({ target }) => {
14
+ const isTargetTextInput = ({ target }) => {
15
15
  const { tagName, type } = target;
16
16
  const tagNameInLowercase = tagName.toLowerCase();
17
17
  const typeInLowercase = type ? type.toLowerCase() : "";
@@ -21,38 +21,21 @@ const shouldSubmitOnEnterPress = ({ target }) => {
21
21
  /**
22
22
  * @internal
23
23
  */
24
- export class DialogBase extends PureComponent {
25
- static defaultProps = {
26
- children: false,
27
- className: "",
28
- displayCloseButton: false,
29
- submitOnEnterKey: true,
30
- onCancel: noop,
31
- onSubmit: noop,
32
- };
33
- onKeyDown = (event) => {
34
- const { submitOnEnterKey, onCancel, onSubmit } = this.props;
24
+ export const DialogBase = React.memo(function DialogBase({ submitOnEnterKey, onCancel, onSubmit, displayCloseButton, onClose, accessibilityConfig, className, autofocusOnOpen = true, children, CloseButton = DialogCloseButton, }) {
25
+ const handleKeyDown = React.useCallback((event) => {
35
26
  // don't call onSubmit when pressing enter key on input fields
36
- const isEnterKeyDownOnInputField = event.keyCode === ENUM_KEY_CODE.KEY_CODE_ENTER && shouldSubmitOnEnterPress(event);
27
+ const isEnterKeyDownOnInputField = event.key === "Enter" && isTargetTextInput(event);
37
28
  if (submitOnEnterKey === false && isEnterKeyDownOnInputField) {
38
29
  return;
39
30
  }
40
- checkKeyHandler(event, ENUM_KEY_CODE.KEY_CODE_ENTER, onSubmit);
41
- checkKeyHandler(event, ENUM_KEY_CODE.KEY_CODE_ESCAPE, onCancel);
42
- };
43
- getDialogClasses(additionalClassName) {
44
- return cx("overlay", "gd-dialog", additionalClassName, this.props.className);
45
- }
46
- renderCloseButton() {
47
- return (React.createElement("div", { className: "gd-dialog-close" },
48
- React.createElement(Button, { className: "gd-button-link gd-button-icon-only gd-icon-cross s-dialog-close-button", value: "", onClick: this.props.onClose || this.props.onCancel, accessibilityConfig: this.props.accessibilityConfig?.closeButton })));
49
- }
50
- render() {
51
- const dialogClasses = this.getDialogClasses();
52
- return (React.createElement("div", { tabIndex: 0, onKeyDown: this.onKeyDown },
31
+ checkKeyHandler(event, "Enter", onSubmit);
32
+ checkKeyHandler(event, "Escape", onCancel);
33
+ }, [onCancel, onSubmit, submitOnEnterKey]);
34
+ const dialogClasses = cx("overlay", "gd-dialog", className);
35
+ return (React.createElement(UiFocusTrap, { autofocusOnOpen: autofocusOnOpen },
36
+ React.createElement("div", { onKeyDown: handleKeyDown, role: "dialog", "aria-labelledby": accessibilityConfig.titleElementId, "aria-describedby": accessibilityConfig.descriptionElementId },
53
37
  React.createElement("div", { className: dialogClasses },
54
- this.props.displayCloseButton ? this.renderCloseButton() : null,
55
- this.props.children)));
56
- }
57
- }
38
+ displayCloseButton ? (React.createElement(CloseButton, { onClose: onCancel ?? onClose, accessibilityConfig: accessibilityConfig })) : null,
39
+ children))));
40
+ });
58
41
  //# sourceMappingURL=DialogBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DialogBase.js","sourceRoot":"","sources":["../../src/Dialog/DialogBase.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DialogBase.js","sourceRoot":"","sources":["../../src/Dialog/DialogBase.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,MAAM,eAAe,GAAG,CAAC,KAA0B,EAAE,GAAW,EAAE,OAAmB,EAAQ,EAAE;IAC3F,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO;IACX,CAAC;IAED,KAAK,CAAC,cAAc,EAAE,CAAC;IACvB,KAAK,CAAC,eAAe,EAAE,CAAC;IAExB,OAAO,EAAE,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,EAAE,MAAM,EAAuB,EAAW,EAAE;IACnE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAA0B,CAAC;IAErD,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvD,OAAO,CACH,kBAAkB,KAAK,UAAU;QACjC,CAAC,kBAAkB,KAAK,OAAO,IAAI,CAAC,eAAe,KAAK,MAAM,IAAI,eAAe,KAAK,QAAQ,CAAC,CAAC,CACnG,CAAC;AACN,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAmB,SAAS,UAAU,CAAC,EACvE,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,OAAO,EACP,mBAAmB,EACnB,SAAS,EACT,eAAe,GAAG,IAAI,EACtB,QAAQ,EACR,WAAW,GAAG,iBAAiB,GAClC;IACG,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,KAAK,EAAE,EAAE;QACN,8DAA8D;QAC9D,MAAM,0BAA0B,GAAG,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrF,IAAI,gBAAgB,KAAK,KAAK,IAAI,0BAA0B,EAAE,CAAC;YAC3D,OAAO;QACX,CAAC;QAED,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC,EACD,CAAC,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CACzC,CAAC;IAEF,MAAM,aAAa,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAE5D,OAAO,CACH,oBAAC,WAAW,IAAC,eAAe,EAAE,eAAe;QACzC,6BACI,SAAS,EAAE,aAAa,EACxB,IAAI,EAAE,QAAQ,qBACG,mBAAmB,CAAC,cAAc,sBACjC,mBAAmB,CAAC,oBAAoB;YAE1D,6BAAK,SAAS,EAAE,aAAa;gBACxB,kBAAkB,CAAC,CAAC,CAAC,CAClB,oBAAC,WAAW,IACR,OAAO,EAAE,QAAQ,IAAI,OAAO,EAC5B,mBAAmB,EAAE,mBAAmB,GAC1C,CACL,CAAC,CAAC,CAAC,IAAI;gBAEP,QAAQ,CACP,CACJ,CACI,CACjB,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { IDialogCloseButtonProps } from "./typings.js";
3
+ export declare const DialogCloseButton: React.NamedExoticComponent<IDialogCloseButtonProps>;
4
+ //# sourceMappingURL=DialogCloseButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogCloseButton.d.ts","sourceRoot":"","sources":["../../src/Dialog/DialogCloseButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAGvD,eAAO,MAAM,iBAAiB,qDAc5B,CAAC"}