@gooddata/sdk-ui-kit 10.32.0-alpha.27 → 10.32.0-alpha.29

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 (64) hide show
  1. package/esm/@ui/@types/variant.d.ts +4 -0
  2. package/esm/@ui/@types/variant.d.ts.map +1 -1
  3. package/esm/@ui/UiButton/UiButton.d.ts +2 -2
  4. package/esm/@ui/UiButton/UiButton.d.ts.map +1 -1
  5. package/esm/@ui/UiButton/UiButton.js.map +1 -1
  6. package/esm/@ui/UiTooltip/UiTooltip.d.ts +7 -0
  7. package/esm/@ui/UiTooltip/UiTooltip.d.ts.map +1 -0
  8. package/esm/@ui/UiTooltip/UiTooltip.js +83 -0
  9. package/esm/@ui/UiTooltip/UiTooltip.js.map +1 -0
  10. package/esm/@ui/UiTooltip/constants.d.ts +7 -0
  11. package/esm/@ui/UiTooltip/constants.d.ts.map +1 -0
  12. package/esm/@ui/UiTooltip/constants.js +12 -0
  13. package/esm/@ui/UiTooltip/constants.js.map +1 -0
  14. package/esm/@ui/UiTooltip/types.d.ts +42 -0
  15. package/esm/@ui/UiTooltip/types.d.ts.map +1 -0
  16. package/esm/@ui/UiTooltip/types.js +3 -0
  17. package/esm/@ui/UiTooltip/types.js.map +1 -0
  18. package/esm/@ui/UiTooltip/utils.d.ts +19 -0
  19. package/esm/@ui/UiTooltip/utils.d.ts.map +1 -0
  20. package/esm/@ui/UiTooltip/utils.js +74 -0
  21. package/esm/@ui/UiTooltip/utils.js.map +1 -0
  22. package/esm/RecurrenceForm/RecurrenceForm.js +1 -1
  23. package/esm/RecurrenceForm/RecurrenceForm.js.map +1 -1
  24. package/esm/RecurrenceForm/RepeatTypeDescription.js +1 -1
  25. package/esm/RecurrenceForm/RepeatTypeDescription.js.map +1 -1
  26. package/esm/RecurrenceForm/RepeatTypeSelect.js +1 -1
  27. package/esm/RecurrenceForm/RepeatTypeSelect.js.map +1 -1
  28. package/esm/RecurrenceForm/index.d.ts +2 -1
  29. package/esm/RecurrenceForm/index.d.ts.map +1 -1
  30. package/esm/RecurrenceForm/index.js +3 -2
  31. package/esm/RecurrenceForm/index.js.map +1 -1
  32. package/esm/RecurrenceForm/useCronValidation.js +1 -1
  33. package/esm/RecurrenceForm/useCronValidation.js.map +1 -1
  34. package/esm/RecurrenceForm/utils/simpleRecurrenceTypeMappingFn.d.ts +14 -0
  35. package/esm/RecurrenceForm/utils/simpleRecurrenceTypeMappingFn.d.ts.map +1 -0
  36. package/esm/RecurrenceForm/utils/simpleRecurrenceTypeMappingFn.js +65 -0
  37. package/esm/RecurrenceForm/utils/simpleRecurrenceTypeMappingFn.js.map +1 -0
  38. package/esm/RecurrenceForm/utils/simpleRecurrenceTypeMappingFn.test.d.ts +2 -0
  39. package/esm/RecurrenceForm/utils/simpleRecurrenceTypeMappingFn.test.d.ts.map +1 -0
  40. package/esm/RecurrenceForm/utils/simpleRecurrenceTypeMappingFn.test.js +80 -0
  41. package/esm/RecurrenceForm/utils/simpleRecurrenceTypeMappingFn.test.js.map +1 -0
  42. package/esm/RecurrenceForm/{utils.d.ts → utils/utils.d.ts} +1 -1
  43. package/esm/RecurrenceForm/utils/utils.d.ts.map +1 -0
  44. package/esm/RecurrenceForm/{utils.js → utils/utils.js} +2 -2
  45. package/esm/RecurrenceForm/utils/utils.js.map +1 -0
  46. package/esm/RecurrenceForm/utils/utils.test.d.ts.map +1 -0
  47. package/esm/RecurrenceForm/{utils.test.js → utils/utils.test.js} +1 -1
  48. package/esm/RecurrenceForm/utils/utils.test.js.map +1 -0
  49. package/esm/index.d.ts +3 -1
  50. package/esm/index.d.ts.map +1 -1
  51. package/esm/index.js +1 -0
  52. package/esm/index.js.map +1 -1
  53. package/esm/sdk-ui-kit.d.ts +56 -1
  54. package/package.json +14 -11
  55. package/src/@ui/UiButton/UiButton.scss +28 -0
  56. package/src/@ui/UiTooltip/UiTooltip.scss +23 -0
  57. package/src/@ui/index.scss +1 -0
  58. package/styles/css/main.css +38 -0
  59. package/styles/css/main.css.map +1 -1
  60. package/esm/RecurrenceForm/utils.d.ts.map +0 -1
  61. package/esm/RecurrenceForm/utils.js.map +0 -1
  62. package/esm/RecurrenceForm/utils.test.d.ts.map +0 -1
  63. package/esm/RecurrenceForm/utils.test.js.map +0 -1
  64. /package/esm/RecurrenceForm/{utils.test.d.ts → utils/utils.test.d.ts} +0 -0
@@ -18,4 +18,8 @@ export type VariantDanger = "danger";
18
18
  * @internal
19
19
  */
20
20
  export type VariantPopOut = "popout";
21
+ /**
22
+ * @internal
23
+ */
24
+ export type VariantTooltip = "tooltip";
21
25
  //# sourceMappingURL=variant.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"variant.d.ts","sourceRoot":"","sources":["../../../src/@ui/@types/variant.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"variant.d.ts","sourceRoot":"","sources":["../../../src/@ui/@types/variant.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { IconType } from "../@types/icon.js";
3
3
  import { SizeLarge, SizeMedium, SizeSmall } from "../@types/size.js";
4
- import { VariantDanger, VariantPopOut, VariantPrimary, VariantSecondary, VariantTertiary } from "../@types/variant.js";
4
+ import { VariantDanger, VariantPopOut, VariantTooltip, VariantPrimary, VariantSecondary, VariantTertiary } from "../@types/variant.js";
5
5
  import { IAccessibilityConfigBase } from "../../typings/accessibility.js";
6
6
  /**
7
7
  * @internal
@@ -15,7 +15,7 @@ export interface IUiButtonAccessibilityConfig extends IAccessibilityConfigBase {
15
15
  export interface UiButtonProps {
16
16
  id?: string;
17
17
  size?: SizeSmall | SizeMedium | SizeLarge;
18
- variant?: VariantPrimary | VariantSecondary | VariantTertiary | VariantPopOut | VariantDanger;
18
+ variant?: VariantPrimary | VariantSecondary | VariantTertiary | VariantPopOut | VariantDanger | VariantTooltip;
19
19
  iconBefore?: IconType;
20
20
  iconAfter?: IconType;
21
21
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"UiButton.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiButton/UiButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EACH,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,eAAe,EAClB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAG1E;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,wBAAwB;IAC1E,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1C,OAAO,CAAC,EAAE,cAAc,GAAG,gBAAgB,GAAG,eAAe,GAAG,aAAa,GAAG,aAAa,CAAC;IAC9F,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC3D,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,4BAA4B,CAAC;CACtD;AAQD;;GAEG;AACH,eAAO,MAAM,QAAQ,yFA4DpB,CAAC"}
1
+ {"version":3,"file":"UiButton.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiButton/UiButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EACH,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EAClB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAG1E;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,wBAAwB;IAC1E,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1C,OAAO,CAAC,EACF,cAAc,GACd,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,aAAa,GACb,cAAc,CAAC;IACrB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC3D,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,4BAA4B,CAAC;CACtD;AAQD;;GAEG;AACH,eAAO,MAAM,QAAQ,yFA4DpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UiButton.js","sourceRoot":"","sources":["../../../src/@ui/UiButton/UiButton.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAU1C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA6B7C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAEzC,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,SAAiB,EAAE,EAAE;IAC5D,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;AACvG,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAC9B,CACI,EACI,EAAE,EACF,IAAI,GAAG,QAAQ,EACf,OAAO,GAAG,WAAW,EACrB,KAAK,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACV,mBAAmB,GACtB,EACD,GAAG,EACL,EAAE;IACA,MAAM,QAAQ,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,CAAC;IACnC,MAAM,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC;IAEjC,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;IAEnG,OAAO,CACH,gCACI,EAAE,EAAE,EAAE,EACN,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,EACvE,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,aACX,MAAM,iBACF,MAAM,gBACP,mBAAmB,EAAE,SAAS,qBACzB,mBAAmB,EAAE,cAAc,sBAClC,mBAAmB,EAAE,eAAe,mBACvC,mBAAmB,EAAE,YAAY,EAChD,IAAI,EAAE,mBAAmB,EAAE,IAAI;QAE9B,UAAU,CAAC,CAAC,CAAC,CACV,oBAAC,MAAM,IACH,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,mBAAmB,EAAE,cAAc,GACjD,CACL,CAAC,CAAC,CAAC,IAAI;QACR,8BAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,IAAG,KAAK,CAAQ;QACzC,SAAS,CAAC,CAAC,CAAC,CACT,oBAAC,MAAM,IACH,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,mBAAmB,EAAE,cAAc,GACjD,CACL,CAAC,CAAC,CAAC,IAAI,CACH,CACZ,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"UiButton.js","sourceRoot":"","sources":["../../../src/@ui/UiButton/UiButton.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAW1C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAmC7C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAEzC,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,SAAiB,EAAE,EAAE;IAC5D,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;AACvG,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAC9B,CACI,EACI,EAAE,EACF,IAAI,GAAG,QAAQ,EACf,OAAO,GAAG,WAAW,EACrB,KAAK,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACV,mBAAmB,GACtB,EACD,GAAG,EACL,EAAE;IACA,MAAM,QAAQ,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,CAAC;IACnC,MAAM,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC;IAEjC,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;IAEnG,OAAO,CACH,gCACI,EAAE,EAAE,EAAE,EACN,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,EACvE,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,aACX,MAAM,iBACF,MAAM,gBACP,mBAAmB,EAAE,SAAS,qBACzB,mBAAmB,EAAE,cAAc,sBAClC,mBAAmB,EAAE,eAAe,mBACvC,mBAAmB,EAAE,YAAY,EAChD,IAAI,EAAE,mBAAmB,EAAE,IAAI;QAE9B,UAAU,CAAC,CAAC,CAAC,CACV,oBAAC,MAAM,IACH,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,mBAAmB,EAAE,cAAc,GACjD,CACL,CAAC,CAAC,CAAC,IAAI;QACR,8BAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,IAAG,KAAK,CAAQ;QACzC,SAAS,CAAC,CAAC,CAAC,CACT,oBAAC,MAAM,IACH,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,mBAAmB,EAAE,cAAc,GACjD,CACL,CAAC,CAAC,CAAC,IAAI,CACH,CACZ,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { UiTooltipProps } from "./types.js";
3
+ /**
4
+ * @internal
5
+ */
6
+ export declare const UiTooltip: React.FC<UiTooltipProps>;
7
+ //# sourceMappingURL=UiTooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiTooltip.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiTooltip/UiTooltip.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAc5C;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA+H9C,CAAC"}
@@ -0,0 +1,83 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useFloating, autoUpdate, flip, offset, arrow, useHover, useFocus, useClick, useDismiss, useInteractions, FloatingPortal, FloatingArrow, } from "@floating-ui/react";
3
+ import React, { useRef, useMemo, useState } from "react";
4
+ import { bem } from "../@utils/bem.js";
5
+ import { computeArrowOffset, computeTooltipShift, getDimensionsFromRect, getDimensionsFromRef, getFlipFallbackOrder, getOppositeBasicPlacement, } from "./utils.js";
6
+ import { ARROW_HEIGHT, ARROW_WIDTH } from "./constants.js";
7
+ import { useTheme, useIsScopeThemed, ConditionalScopedThemeProvider } from "@gooddata/sdk-ui-theme-provider";
8
+ const { b, e } = bem("gd-ui-kit-tooltip");
9
+ /**
10
+ * @internal
11
+ */
12
+ export const UiTooltip = ({ anchor, content, arrowPlacement = "top", triggerBy = [], hoverOpenDelay = 0, hoverCloseDelay = 0, showArrow = true, width, offset: offsetProp, optimalPlacement = false, accessibilityConfig, }) => {
13
+ const [isOpen, setIsOpen] = useState(false);
14
+ const arrowRef = useRef(null);
15
+ const themeFromContext = useTheme();
16
+ const isScopeThemed = useIsScopeThemed();
17
+ const theme = isScopeThemed ? themeFromContext : undefined;
18
+ const customShiftMiddleware = {
19
+ name: "customShift",
20
+ fn(args) {
21
+ const { x, y, rects, middlewareData } = args;
22
+ const currentFloatingDimensions = getDimensionsFromRect(rects?.floating);
23
+ const enable = !middlewareData?.flip?.index;
24
+ const shift = computeTooltipShift(arrowPlacement, currentFloatingDimensions, enable, theme);
25
+ return {
26
+ x: shift.x ? x + shift.x : x,
27
+ y: shift.y ? y + shift.y : y,
28
+ };
29
+ },
30
+ };
31
+ const { refs, floatingStyles, context, middlewareData } = useFloating({
32
+ open: isOpen,
33
+ onOpenChange: setIsOpen,
34
+ placement: getOppositeBasicPlacement(arrowPlacement),
35
+ whileElementsMounted: autoUpdate,
36
+ middleware: [
37
+ offset(offsetProp ?? ARROW_HEIGHT),
38
+ customShiftMiddleware,
39
+ ...(optimalPlacement
40
+ ? [
41
+ flip({
42
+ fallbackPlacements: getFlipFallbackOrder(arrowPlacement),
43
+ fallbackStrategy: "initialPlacement",
44
+ }),
45
+ ]
46
+ : []),
47
+ arrow({
48
+ element: arrowRef,
49
+ }),
50
+ ],
51
+ });
52
+ const triggerDimensions = getDimensionsFromRef(refs.reference);
53
+ const floatingDimensions = getDimensionsFromRef(refs.floating);
54
+ const showTooltip = useMemo(() => isOpen || triggerBy.length === 0, [triggerBy, isOpen]);
55
+ // trigger events
56
+ const hover = useHover(context, {
57
+ enabled: triggerBy.includes("hover"),
58
+ move: false,
59
+ delay: {
60
+ open: hoverOpenDelay,
61
+ close: hoverCloseDelay,
62
+ },
63
+ });
64
+ const focus = useFocus(context, {
65
+ enabled: triggerBy.includes("focus"),
66
+ });
67
+ const click = useClick(context, {
68
+ enabled: triggerBy.includes("click"),
69
+ });
70
+ //close on escape
71
+ const dismiss = useDismiss(context);
72
+ const { getReferenceProps, getFloatingProps } = useInteractions([dismiss, hover, focus, click]);
73
+ return (React.createElement(React.Fragment, null,
74
+ React.createElement("div", { className: e("anchor"), ref: refs.setReference, ...getReferenceProps() }, anchor),
75
+ React.createElement(FloatingPortal, null, showTooltip ? (React.createElement(ConditionalScopedThemeProvider, null,
76
+ React.createElement("div", { className: b({ width: width === "auto" ? "auto" : undefined }), ref: refs.setFloating, style: {
77
+ ...floatingStyles,
78
+ width: width === "auto" ? triggerDimensions.width : width,
79
+ }, "aria-label": accessibilityConfig?.ariaLabel, "aria-labelledby": accessibilityConfig?.ariaLabelledBy, "aria-describedby": accessibilityConfig?.ariaDescribedBy, "aria-expanded": accessibilityConfig?.ariaExpanded, role: accessibilityConfig?.role ?? "tooltip", ...getFloatingProps() },
80
+ content,
81
+ showArrow ? (React.createElement(FloatingArrow, { staticOffset: computeArrowOffset(arrowPlacement, floatingDimensions, !middlewareData?.flip?.index, theme), className: e("arrow"), ref: arrowRef, tipRadius: 1, context: context, height: ARROW_HEIGHT, width: ARROW_WIDTH })) : null))) : null)));
82
+ };
83
+ //# sourceMappingURL=UiTooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiTooltip.js","sourceRoot":"","sources":["../../../src/@ui/UiTooltip/UiTooltip.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Placement } from "@floating-ui/react";
2
+ export declare const ARROW_HEIGHT = 6;
3
+ export declare const ARROW_WIDTH = 12;
4
+ export declare const DEFAULT_BORDER_RADIUS = 3;
5
+ export declare const ADDITIONAL_ARROW_EDGE_OFFSET = 2;
6
+ export declare const oppositeSides: Partial<Record<Placement, Placement>>;
7
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiTooltip/constants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAK/D,CAAC"}
@@ -0,0 +1,12 @@
1
+ // (C) 2025 GoodData Corporation
2
+ export const ARROW_HEIGHT = 6;
3
+ export const ARROW_WIDTH = 12;
4
+ export const DEFAULT_BORDER_RADIUS = 3;
5
+ export const ADDITIONAL_ARROW_EDGE_OFFSET = 2;
6
+ export const oppositeSides = {
7
+ top: "bottom",
8
+ bottom: "top",
9
+ left: "right",
10
+ right: "left",
11
+ };
12
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/@ui/UiTooltip/constants.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAIhC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAC9B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAE9C,MAAM,CAAC,MAAM,aAAa,GAA0C;IAChE,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,MAAM;CAChB,CAAC"}
@@ -0,0 +1,42 @@
1
+ /// <reference types="react" />
2
+ import { IAccessibilityConfigBase } from "../../typings/accessibility.js";
3
+ /**
4
+ * @internal
5
+ */
6
+ export type TooltipArrowPlacement = "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end";
7
+ /**
8
+ * @internal
9
+ */
10
+ export interface UiTooltipProps {
11
+ /** Position of the tooltip arrow relative to the tooltip, controls also the position of the tooltip */
12
+ arrowPlacement?: TooltipArrowPlacement;
13
+ /** Anchor element to be used as reference for the tooltip */
14
+ anchor: React.ReactNode;
15
+ /** Content to be rendered inside the tooltip */
16
+ content: React.ReactNode;
17
+ /** Whether tooltip should show on hover, focus or click */
18
+ triggerBy?: Array<"hover" | "focus" | "click">;
19
+ /** Delay in milliseconds before showing tooltip on hover */
20
+ hoverOpenDelay?: number;
21
+ /** Delay in milliseconds before hiding tooltip after hover out */
22
+ hoverCloseDelay?: number;
23
+ /** Whether to show the arrow pointer */
24
+ showArrow?: boolean;
25
+ /** Width of the tooltip in pixels, or 'auto' to match anchor width */
26
+ width?: number | "auto";
27
+ /** Distance in pixels between tooltip and anchor element, default is arrow height */
28
+ offset?: number;
29
+ /** Whether tooltip should automatically adjust position if it would render outside viewport */
30
+ optimalPlacement?: boolean;
31
+ /** ARIA attributes configuration for accessibility */
32
+ accessibilityConfig?: IAccessibilityConfigBase;
33
+ }
34
+ export type Dimensions = {
35
+ width: number;
36
+ height: number;
37
+ };
38
+ export type PlacementShift = {
39
+ x?: number;
40
+ y?: number;
41
+ };
42
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiTooltip/types.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC3B,KAAK,GACL,WAAW,GACX,SAAS,GACT,QAAQ,GACR,cAAc,GACd,YAAY,GACZ,MAAM,GACN,YAAY,GACZ,UAAU,GACV,OAAO,GACP,aAAa,GACb,WAAW,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,uGAAuG;IACvG,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAEvC,6DAA6D;IAC7D,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB,gDAAgD;IAChD,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IAEzB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC;IAE/C,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,wCAAwC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;CAClD;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ // (C) 2025 GoodData Corporation
2
+ export {};
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/@ui/UiTooltip/types.ts"],"names":[],"mappings":"AAAA,gCAAgC"}
@@ -0,0 +1,19 @@
1
+ import { Placement, ReferenceType } from "@floating-ui/react";
2
+ import { Dimensions, PlacementShift, TooltipArrowPlacement } from "./types.js";
3
+ import { ITheme } from "@gooddata/sdk-model";
4
+ export declare const getOppositeBasicPlacement: (arrowPlacement: TooltipArrowPlacement) => Placement;
5
+ export declare const getFlipFallbackOrder: (arrowPlacement: TooltipArrowPlacement) => Placement[];
6
+ export declare const getDimensionsFromRect: (rect: DOMRect | {
7
+ width: number;
8
+ height: number;
9
+ } | null) => {
10
+ width: number;
11
+ height: number;
12
+ };
13
+ export declare const getDimensionsFromRef: (ref: React.MutableRefObject<ReferenceType | null>) => {
14
+ width: number;
15
+ height: number;
16
+ };
17
+ export declare const computeTooltipShift: (arrowPlacement: TooltipArrowPlacement, floatingDimensions: Dimensions, isEnabled: boolean, theme?: ITheme) => PlacementShift;
18
+ export declare const computeArrowOffset: (arrowPlacement: TooltipArrowPlacement, floatingDimensions: Dimensions, isEnabled: boolean, theme?: ITheme) => number;
19
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiTooltip/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAO9D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAO7C,eAAO,MAAM,yBAAyB,mBAAoB,qBAAqB,cAG9E,CAAC;AAEF,eAAO,MAAM,oBAAoB,mBAAoB,qBAAqB,gBAQzE,CAAC;AAEF,eAAO,MAAM,qBAAqB,SAAU,OAAO,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI;;;CAE7F,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAS,MAAM,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC;;;CAGrF,CAAC;AAgBF,eAAO,MAAM,mBAAmB,mBACZ,qBAAqB,sBACjB,UAAU,aACnB,OAAO,UACV,MAAM,KACf,cAsBF,CAAC;AAEF,eAAO,MAAM,kBAAkB,mBACX,qBAAqB,sBACjB,UAAU,aACnB,OAAO,UACV,MAAM,WAejB,CAAC"}
@@ -0,0 +1,74 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { ARROW_WIDTH, ADDITIONAL_ARROW_EDGE_OFFSET, oppositeSides, DEFAULT_BORDER_RADIUS, } from "./constants.js";
3
+ const parsePlacement = (placement) => {
4
+ const [basicPlacement, axisPlacement] = placement.split("-");
5
+ return { basicPlacement, axisPlacement };
6
+ };
7
+ export const getOppositeBasicPlacement = (arrowPlacement) => {
8
+ const basicPlacement = parsePlacement(arrowPlacement).basicPlacement;
9
+ return oppositeSides[basicPlacement];
10
+ };
11
+ export const getFlipFallbackOrder = (arrowPlacement) => {
12
+ const basicPlacement = parsePlacement(arrowPlacement).basicPlacement;
13
+ const oppositePlacement = getOppositeBasicPlacement(arrowPlacement);
14
+ const remaining = Object.values(oppositeSides).filter((side) => side !== basicPlacement && side !== oppositePlacement);
15
+ return [basicPlacement, oppositePlacement, ...remaining];
16
+ };
17
+ export const getDimensionsFromRect = (rect) => {
18
+ return { width: rect?.width ?? 0, height: rect?.height ?? 0 };
19
+ };
20
+ export const getDimensionsFromRef = (ref) => {
21
+ const rect = ref?.current?.getBoundingClientRect?.();
22
+ return getDimensionsFromRect(rect);
23
+ };
24
+ //get border radius from style variable, in case of scoped theme get directly from theme
25
+ const getBorderRadius = (theme) => {
26
+ const borderRadius = theme?.modal?.borderRadius ??
27
+ getComputedStyle(document.documentElement).getPropertyValue("--gd-modal-borderRadius").trim();
28
+ const numericValue = parseInt(borderRadius, 10);
29
+ return isNaN(numericValue) ? DEFAULT_BORDER_RADIUS : numericValue;
30
+ };
31
+ const getArrowEdgeOffset = (theme) => {
32
+ const tooltipBorderRadius = getBorderRadius(theme);
33
+ return tooltipBorderRadius + ADDITIONAL_ARROW_EDGE_OFFSET;
34
+ };
35
+ export const computeTooltipShift = (arrowPlacement, floatingDimensions, isEnabled, theme) => {
36
+ const { basicPlacement, axisPlacement } = parsePlacement(arrowPlacement);
37
+ const borderArrowOffset = getArrowEdgeOffset(theme) + ARROW_WIDTH / 2;
38
+ if (isEnabled) {
39
+ let shiftProp = "";
40
+ let shiftValue = 0;
41
+ if (["top", "bottom"].includes(basicPlacement)) {
42
+ shiftProp = "x";
43
+ shiftValue = floatingDimensions.width / 2 - borderArrowOffset;
44
+ }
45
+ else if (["left", "right"].includes(basicPlacement)) {
46
+ shiftProp = "y";
47
+ shiftValue = floatingDimensions.height / 2 - borderArrowOffset;
48
+ }
49
+ if (axisPlacement === "start") {
50
+ return { [shiftProp]: shiftValue };
51
+ }
52
+ else if (axisPlacement === "end") {
53
+ return { [shiftProp]: -shiftValue };
54
+ }
55
+ }
56
+ return {};
57
+ };
58
+ export const computeArrowOffset = (arrowPlacement, floatingDimensions, isEnabled, theme) => {
59
+ if (isEnabled) {
60
+ const arrowEdgeOffset = getArrowEdgeOffset(theme);
61
+ const { basicPlacement, axisPlacement } = parsePlacement(arrowPlacement);
62
+ const sideLength = ["top", "bottom"].includes(basicPlacement)
63
+ ? floatingDimensions.width
64
+ : floatingDimensions.height;
65
+ if (axisPlacement === "start") {
66
+ return arrowEdgeOffset;
67
+ }
68
+ else if (axisPlacement === "end") {
69
+ return sideLength - (ARROW_WIDTH + arrowEdgeOffset);
70
+ }
71
+ }
72
+ return 0;
73
+ };
74
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/@ui/UiTooltip/utils.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import React, { useCallback, useState } from "react";
3
3
  import { useIntl } from "react-intl";
4
4
  import { IntlWrapper } from "@gooddata/sdk-ui";
5
5
  import cx from "classnames";
6
- import { transformCronExpressionToRecurrenceType, constructCronExpression, isCronExpressionValid, } from "./utils.js";
6
+ import { transformCronExpressionToRecurrenceType, constructCronExpression, isCronExpressionValid, } from "./utils/utils.js";
7
7
  import { DateTime } from "./DateTime.js";
8
8
  import { Recurrence } from "./Recurrence.js";
9
9
  import { messages } from "./locales.js";
@@ -1 +1 @@
1
- {"version":3,"file":"RecurrenceForm.js","sourceRoot":"","sources":["../../src/RecurrenceForm/RecurrenceForm.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecurrenceForm.js","sourceRoot":"","sources":["../../src/RecurrenceForm/RecurrenceForm.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  // (C) 2024-2025 GoodData Corporation
2
2
  import React from "react";
3
3
  import { useIntl } from "react-intl";
4
- import { transformRecurrenceTypeToDescription } from "./utils.js";
4
+ import { transformRecurrenceTypeToDescription } from "./utils/utils.js";
5
5
  export const RepeatTypeDescription = (props) => {
6
6
  const intl = useIntl();
7
7
  const { repeatType, startDate, weekStart, timezone, showTimezone } = props;
@@ -1 +1 @@
1
- {"version":3,"file":"RepeatTypeDescription.js","sourceRoot":"","sources":["../../src/RecurrenceForm/RepeatTypeDescription.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,EAAE,oCAAoC,EAAE,MAAM,YAAY,CAAC;AAUlE,MAAM,CAAC,MAAM,qBAAqB,GAA0C,CAAC,KAAK,EAAE,EAAE;IAClF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAE3E,OAAO,CACH,6BAAK,SAAS,EAAC,sFAAsF;QACjG;YACK,oCAAoC,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC;YAC5E,YAAY,IAAI,QAAQ,CAAC,CAAC,CAAC,CACxB;gBACK,GAAG;gBACH,QAAQ;;gBAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAClD,CACN,CAAC,CAAC,CAAC,IAAI,CACL,CACL,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"RepeatTypeDescription.js","sourceRoot":"","sources":["../../src/RecurrenceForm/RepeatTypeDescription.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,EAAE,oCAAoC,EAAE,MAAM,kBAAkB,CAAC;AAUxE,MAAM,CAAC,MAAM,qBAAqB,GAA0C,CAAC,KAAK,EAAE,EAAE;IAClF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAE3E,OAAO,CACH,6BAAK,SAAS,EAAC,sFAAsF;QACjG;YACK,oCAAoC,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC;YAC5E,YAAY,IAAI,QAAQ,CAAC,CAAC,CAAC,CACxB;gBACK,GAAG;gBACH,QAAQ;;gBAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAClD,CACN,CAAC,CAAC,CAAC,IAAI,CACL,CACL,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -5,7 +5,7 @@ import { invariant } from "ts-invariant";
5
5
  import { Dropdown, DropdownButton } from "../Dropdown/index.js";
6
6
  import { SingleSelectListItem } from "../List/index.js";
7
7
  import { DEFAULT_DROPDOWN_ALIGN_POINTS, DEFAULT_DROPDOWN_WIDTH, DEFAULT_DROPDOWN_ZINDEX, RECURRENCE_TYPES, } from "./constants.js";
8
- import { getWeekNumber, getIntlDayName, isLastOccurrenceOfWeekdayInMonth } from "./utils.js";
8
+ import { getWeekNumber, getIntlDayName, isLastOccurrenceOfWeekdayInMonth } from "./utils/utils.js";
9
9
  import { messages } from "./locales.js";
10
10
  import { UiListbox } from "../@ui/UiListbox/UiListbox.js";
11
11
  const getLocalizationKey = (id) => {
@@ -1 +1 @@
1
- {"version":3,"file":"RepeatTypeSelect.js","sourceRoot":"","sources":["../../src/RecurrenceForm/RepeatTypeSelect.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RepeatTypeSelect.js","sourceRoot":"","sources":["../../src/RecurrenceForm/RepeatTypeSelect.tsx"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@ export type { IRecurrenceFormProps } from "./RecurrenceForm.js";
2
2
  export { RecurrenceForm } from "./RecurrenceForm.js";
3
3
  export type { IRecurrenceProps } from "./Recurrence.js";
4
4
  export { Recurrence } from "./Recurrence.js";
5
- export { transformCronExpressionToRecurrenceType } from "./utils.js";
5
+ export { transformCronExpressionToRecurrenceType } from "./utils/utils.js";
6
+ export { simpleRecurrenceTypeMappingFn } from "./utils/simpleRecurrenceTypeMappingFn.js";
6
7
  export type { RecurrenceType, RecurrenceTypeKey } from "./types.js";
7
8
  export { RECURRENCE_TYPES } from "./constants.js";
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/RecurrenceForm/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,uCAAuC,EAAE,MAAM,YAAY,CAAC;AACrE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/RecurrenceForm/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,uCAAuC,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,6 +1,7 @@
1
- // (C) 2024 GoodData Corporation
1
+ // (C) 2024-2025 GoodData Corporation
2
2
  export { RecurrenceForm } from "./RecurrenceForm.js";
3
3
  export { Recurrence } from "./Recurrence.js";
4
- export { transformCronExpressionToRecurrenceType } from "./utils.js";
4
+ export { transformCronExpressionToRecurrenceType } from "./utils/utils.js";
5
+ export { simpleRecurrenceTypeMappingFn } from "./utils/simpleRecurrenceTypeMappingFn.js";
5
6
  export { RECURRENCE_TYPES } from "./constants.js";
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/RecurrenceForm/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,uCAAuC,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/RecurrenceForm/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAGrC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,uCAAuC,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AAEzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  // (C) 2024-2025 GoodData Corporation
2
2
  import { useCallback, useState } from "react";
3
3
  import * as cronParser from "cron-parser";
4
- import { isCronExpressionValid } from "./utils.js";
4
+ import { isCronExpressionValid } from "./utils/utils.js";
5
5
  import { defineMessages } from "react-intl";
6
6
  export var RecurrenceFormCronErrorTypes;
7
7
  (function (RecurrenceFormCronErrorTypes) {
@@ -1 +1 @@
1
- {"version":3,"file":"useCronValidation.js","sourceRoot":"","sources":["../../src/RecurrenceForm/useCronValidation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useCronValidation.js","sourceRoot":"","sources":["../../src/RecurrenceForm/useCronValidation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { WeekStart } from "@gooddata/sdk-model";
2
+ import { RecurrenceType } from "../types.js";
3
+ /**
4
+ * Simple recurrence type mapping function.
5
+ *
6
+ * Maps cron expressions to recurrence types based on simple fixed patterns.
7
+ * Any cron expression that doesn't match the standard patterns will be classified as CRON (custom).
8
+ * We are deliberately using just a few simple patterns to avoid complexity.
9
+ * Users can still use CRON for any customization.
10
+ *
11
+ * @internal
12
+ */
13
+ export declare const simpleRecurrenceTypeMappingFn: (_date?: Date | null, cronExpression?: string, allowHourlyRecurrence?: boolean, _showInheritValue?: boolean, weekStart?: WeekStart) => RecurrenceType;
14
+ //# sourceMappingURL=simpleRecurrenceTypeMappingFn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simpleRecurrenceTypeMappingFn.d.ts","sourceRoot":"","sources":["../../../src/RecurrenceForm/utils/simpleRecurrenceTypeMappingFn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAuC7C;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,WAC9B,IAAI,GAAG,IAAI,mBACF,MAAM,0BACC,OAAO,sBACX,OAAO,cACf,SAAS,KACtB,cAyBF,CAAC"}
@@ -0,0 +1,65 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { RECURRENCE_TYPES } from "../constants.js";
3
+ // Hourly patterns
4
+ const HOURLY_PATTERNS = [
5
+ /^0 0 \* \? \* \*$/, // Every hour at minute 0
6
+ ];
7
+ // Daily patterns
8
+ const DAILY_PATTERNS = [
9
+ /^0 0 0 \? \* \*$/, // Every day at midnight
10
+ ];
11
+ // Helper function to get weekly patterns based on week start
12
+ const getWeeklyPatterns = (weekStart) => {
13
+ // WeekStart.Sunday = 0, WeekStart.Monday = 1
14
+ const firstDayOfWeek = weekStart === "Sunday" ? 0 : 1;
15
+ const firstDayOfWeekString = weekStart === "Sunday" ? "SUN" : "MON";
16
+ return [
17
+ // Numeric patterns
18
+ new RegExp(`^0 0 0 \\? \\* ${firstDayOfWeek}$`), // First day of week at midnight
19
+ // String patterns
20
+ new RegExp(`^0 0 0 \\? \\* ${firstDayOfWeekString}$`), // First day of week at midnight (string format)
21
+ ];
22
+ };
23
+ // Monthly patterns
24
+ const MONTHLY_PATTERNS = [
25
+ /^0 0 0 1 \* \*$/, // First day of every month at midnight
26
+ ];
27
+ const getDefaultCronExpression = (allowHourlyRecurrence) => {
28
+ if (allowHourlyRecurrence) {
29
+ return `0 0 * ? * *`; // Every hour at minute 0
30
+ }
31
+ return `0 0 0 ? * *`; // Every day at midnight
32
+ };
33
+ /**
34
+ * Simple recurrence type mapping function.
35
+ *
36
+ * Maps cron expressions to recurrence types based on simple fixed patterns.
37
+ * Any cron expression that doesn't match the standard patterns will be classified as CRON (custom).
38
+ * We are deliberately using just a few simple patterns to avoid complexity.
39
+ * Users can still use CRON for any customization.
40
+ *
41
+ * @internal
42
+ */
43
+ export const simpleRecurrenceTypeMappingFn = (_date, cronExpression, allowHourlyRecurrence, _showInheritValue, weekStart) => {
44
+ const normalizedCron = cronExpression?.trim() ?? getDefaultCronExpression(allowHourlyRecurrence);
45
+ // Hourly patterns (only if allowed)
46
+ if (allowHourlyRecurrence && HOURLY_PATTERNS.some((pattern) => pattern.test(normalizedCron))) {
47
+ return RECURRENCE_TYPES.HOURLY;
48
+ }
49
+ // Daily patterns
50
+ if (DAILY_PATTERNS.some((pattern) => pattern.test(normalizedCron))) {
51
+ return RECURRENCE_TYPES.DAILY;
52
+ }
53
+ // Weekly patterns (only first day of week based on weekStart)
54
+ const weeklyPatterns = getWeeklyPatterns(weekStart);
55
+ if (weeklyPatterns.some((pattern) => pattern.test(normalizedCron))) {
56
+ return RECURRENCE_TYPES.WEEKLY;
57
+ }
58
+ // Monthly patterns
59
+ if (MONTHLY_PATTERNS.some((pattern) => pattern.test(normalizedCron))) {
60
+ return RECURRENCE_TYPES.MONTHLY;
61
+ }
62
+ // If no standard pattern matches, classify as custom cron
63
+ return RECURRENCE_TYPES.CRON;
64
+ };
65
+ //# sourceMappingURL=simpleRecurrenceTypeMappingFn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simpleRecurrenceTypeMappingFn.js","sourceRoot":"","sources":["../../../src/RecurrenceForm/utils/simpleRecurrenceTypeMappingFn.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,kBAAkB;AAClB,MAAM,eAAe,GAAG;IACpB,mBAAmB,EAAE,yBAAyB;CACjD,CAAC;AAEF,iBAAiB;AACjB,MAAM,cAAc,GAAG;IACnB,kBAAkB,EAAE,wBAAwB;CAC/C,CAAC;AAEF,6DAA6D;AAC7D,MAAM,iBAAiB,GAAG,CAAC,SAAoB,EAAY,EAAE;IACzD,6CAA6C;IAC7C,MAAM,cAAc,GAAG,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,oBAAoB,GAAG,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAEpE,OAAO;QACH,mBAAmB;QACnB,IAAI,MAAM,CAAC,kBAAkB,cAAc,GAAG,CAAC,EAAE,gCAAgC;QACjF,kBAAkB;QAClB,IAAI,MAAM,CAAC,kBAAkB,oBAAoB,GAAG,CAAC,EAAE,gDAAgD;KAC1G,CAAC;AACN,CAAC,CAAC;AAEF,mBAAmB;AACnB,MAAM,gBAAgB,GAAG;IACrB,iBAAiB,EAAE,uCAAuC;CAC7D,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,qBAA8B,EAAE,EAAE;IAChE,IAAI,qBAAqB,EAAE,CAAC;QACxB,OAAO,aAAa,CAAC,CAAC,yBAAyB;IACnD,CAAC;IAED,OAAO,aAAa,CAAC,CAAC,wBAAwB;AAClD,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CACzC,KAAmB,EACnB,cAAuB,EACvB,qBAA+B,EAC/B,iBAA2B,EAC3B,SAAqB,EACP,EAAE;IAChB,MAAM,cAAc,GAAG,cAAc,EAAE,IAAI,EAAE,IAAI,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;IACjG,oCAAoC;IACpC,IAAI,qBAAqB,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QAC3F,OAAO,gBAAgB,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,iBAAiB;IACjB,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,gBAAgB,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,8DAA8D;IAC9D,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,gBAAgB,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,mBAAmB;IACnB,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,gBAAgB,CAAC,OAAO,CAAC;IACpC,CAAC;IAED,0DAA0D;IAC1D,OAAO,gBAAgB,CAAC,IAAI,CAAC;AACjC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=simpleRecurrenceTypeMappingFn.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simpleRecurrenceTypeMappingFn.test.d.ts","sourceRoot":"","sources":["../../../src/RecurrenceForm/utils/simpleRecurrenceTypeMappingFn.test.ts"],"names":[],"mappings":""}