@aivenio/aquarium 0.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/_variables.scss +2 -1
  2. package/dist/_variables_timescale.scss +2 -1
  3. package/dist/atoms.cjs +822 -623
  4. package/dist/atoms.mjs +821 -623
  5. package/dist/src/common/Alert/Alert.d.ts +1 -1
  6. package/dist/src/common/Alert/Alert.js +3 -3
  7. package/dist/src/common/Banner/Banner.d.ts +5 -1
  8. package/dist/src/common/Banner/Banner.js +5 -3
  9. package/dist/src/common/DropdownMenu/DropdownMenu.d.ts +8 -3
  10. package/dist/src/common/DropdownMenu/DropdownMenu.js +12 -2
  11. package/dist/src/common/Modal/Modal.js +3 -3
  12. package/dist/src/common/Section/Section.d.ts +14 -0
  13. package/dist/src/common/Section/Section.js +46 -0
  14. package/dist/src/common/Timeline/Timeline.d.ts +18 -0
  15. package/dist/src/common/Timeline/Timeline.js +43 -0
  16. package/dist/src/common/Typography/Typography.d.ts +3 -2
  17. package/dist/src/common/Typography/Typography.js +15 -3
  18. package/dist/src/components/Alert/Alert.js +2 -2
  19. package/dist/src/components/Banner/Banner.d.ts +3 -1
  20. package/dist/src/components/Banner/Banner.js +3 -3
  21. package/dist/src/components/Box/Box.d.ts +6 -2
  22. package/dist/src/components/Box/Box.js +6 -2
  23. package/dist/src/components/DataTable/DataTable.d.ts +15 -12
  24. package/dist/src/components/DataTable/DataTable.js +11 -4
  25. package/dist/src/components/Dialog/Dialog.js +35 -12
  26. package/dist/src/components/DropdownMenu/DropdownMenu.d.ts +7 -1
  27. package/dist/src/components/DropdownMenu/DropdownMenu.js +23 -13
  28. package/dist/src/components/DropdownMenu/utils.d.ts +4 -0
  29. package/dist/src/components/DropdownMenu/utils.js +20 -0
  30. package/dist/src/components/List/List.d.ts +1 -1
  31. package/dist/src/components/Modal/Modal.js +16 -8
  32. package/dist/src/components/MultiInput/MultiInput.d.ts +2 -1
  33. package/dist/src/components/MultiInput/MultiInput.js +3 -3
  34. package/dist/src/components/Pagination/usePagination.d.ts +42 -0
  35. package/dist/src/components/Pagination/usePagination.js +34 -0
  36. package/dist/src/components/Section/Section.d.ts +17 -0
  37. package/dist/src/components/Section/Section.js +32 -0
  38. package/dist/src/components/Skeleton/Skeleton.d.ts +7 -2
  39. package/dist/src/components/Skeleton/Skeleton.js +5 -4
  40. package/dist/src/components/Template/Template.d.ts +18 -0
  41. package/dist/src/components/Template/Template.js +18 -0
  42. package/dist/src/components/Timeline/Timeline.d.ts +27 -0
  43. package/dist/src/components/Timeline/Timeline.js +41 -0
  44. package/dist/src/components/index.d.ts +4 -1
  45. package/dist/src/components/index.js +5 -2
  46. package/dist/src/utils/Blueprint.d.ts +2 -0
  47. package/dist/src/utils/Blueprint.js +29 -0
  48. package/dist/styles.css +52 -32
  49. package/dist/styles_timescaledb.css +52 -32
  50. package/dist/system.cjs +2837 -2134
  51. package/dist/system.mjs +2820 -2120
  52. package/dist/tailwind.config.js +1 -1
  53. package/dist/tailwind.theme.json +1 -0
  54. package/dist/tsconfig.module.tsbuildinfo +1 -1
  55. package/dist/types/tailwindGenerated.d.ts +1 -1
  56. package/package.json +2 -2
  57. package/dist/src/components/Positioner/Positioner.d.ts +0 -21
  58. package/dist/src/components/Positioner/Positioner.js +0 -97
@@ -1 +1 @@
1
- export declare type ClassNames = "-m-2" | "-z-10" | "\!container" | "\!inline" | "\[\&\>\*\:not\(\:first-child\)\]\:-ml-3" | "\[\&\>div\:first-child\]\:px-5" | "\[\&\>path\]\:stroke-2" | "\[\&\>path\]\:stroke-grey-30" | "\[\&\>path\]\:stroke-white" | "absolute" | "active\:bg-grey-10" | "active\:bg-grey-5" | "active\:bg-primary-90" | "active\:bg-transparent" | "active\:ring-0" | "active\:ring-grey-50" | "active\:text-grey-50" | "active\:text-grey-70" | "active\:text-grey-80" | "active\:text-primary-70" | "align-middle" | "animate-positioner-fade-in" | "animate-pulse" | "appearance-none" | "aspect-square" | "auto-cols-fr" | "bg-cover" | "bg-current" | "bg-error-0" | "bg-error-5" | "bg-error-70" | "bg-gradient-to-l" | "bg-gradient-to-r" | "bg-grey-0" | "bg-grey-10" | "bg-grey-20" | "bg-grey-5" | "bg-grey-90" | "bg-info-5" | "bg-info-50" | "bg-navyBlue-100" | "bg-primary-70" | "bg-primary-80" | "bg-secondary-5" | "bg-success-5" | "bg-success-70" | "bg-transparent" | "bg-warning-5" | "bg-warning-70" | "bg-white" | "block" | "blur" | "border" | "border-0" | "border-b" | "border-b-2" | "border-b-\[1px\]" | "border-current" | "border-dashed" | "border-error-50" | "border-grey-10" | "border-grey-100" | "border-grey-20" | "border-grey-40" | "border-grey-5" | "border-grey-50" | "border-info-70" | "border-navyBlue-100" | "border-none" | "border-primary-80" | "border-solid" | "border-spacing-0" | "border-transparent" | "bottom-0" | "break-all" | "capitalize" | "children\:border-grey-10" | "children\:inline-block" | "children\:last\:border-b-0" | "col-start-1" | "col-start-2" | "col-start-3" | "container" | "contents" | "cursor-default" | "cursor-not-allowed" | "cursor-pointer" | "delay-150" | "disabled\:bg-grey-0" | "disabled\:bg-grey-5" | "disabled\:bg-primary-5" | "disabled\:bg-transparent" | "disabled\:border-grey-20" | "disabled\:cursor-not-allowed" | "disabled\:ring-grey-20" | "disabled\:text-grey-20" | "disabled\:text-grey-30" | "disabled\:text-grey-40" | "disabled\:text-primary-40" | "duration-300" | "ease-in-out" | "filter" | "first\:mt-0" | "fixed" | "flex" | "flex-col" | "flex-grow" | "flex-nowrap" | "flex-row" | "flex-wrap" | "focus-visible\:bg-grey-0" | "focus-visible\:border-info-70" | "focus-visible\:outline-0" | "focus-visible\:ring-2" | "focus-visible\:ring-grey-50" | "focus-visible\:ring-inset" | "focus-visible\:ring-primary-100" | "focus-visible\:text-grey-80" | "focus-visible\:text-grey-90" | "focus\:border-info-70" | "focus\:border-transparent" | "focus\:outline-none" | "focus\:ring-0" | "focus\:ring-1" | "focus\:ring-2" | "focus\:ring-grey-60" | "focus\:ring-offset-0" | "focus\:text-primary-80" | "font-medium" | "font-normal" | "font-semibold" | "from-white" | "gap-2" | "gap-3" | "gap-4" | "gap-7" | "gap-8" | "gap-x-2" | "gap-x-3" | "gap-x-4" | "gap-y-2" | "grid" | "grid-cols-1" | "grid-cols-2" | "grid-cols-3" | "grid-cols-\[200px_1fr_200px\]" | "grid-cols-\[auto_1fr\]" | "grid-cols-\[auto_1fr_auto\]" | "group" | "group-hover\:bg-grey-30" | "group-hover\:visible" | "grow" | "grow-0" | "h-1" | "h-1px" | "h-2" | "h-3" | "h-4" | "h-5" | "h-6" | "h-\[174px\]" | "h-\[1px\]" | "h-\[20px\]" | "h-\[225px\]" | "h-\[25px\]" | "h-\[32px\]" | "h-\[50px\]" | "h-\[56px\]" | "h-full" | "hidden" | "hover\:bg-grey-0" | "hover\:bg-grey-5" | "hover\:bg-primary-70" | "hover\:border-grey-20" | "hover\:border-grey-50" | "hover\:cursor-pointer" | "hover\:no-underline" | "hover\:ring-grey-50" | "hover\:text-grey-80" | "hover\:text-grey-90" | "hover\:text-primary-70" | "hover\:text-primary-80" | "inline" | "inline-block" | "inline-flex" | "inline-grid" | "inset-0" | "inset-y-0" | "invisible" | "italic" | "items-center" | "justify-between" | "justify-center" | "justify-end" | "leading-\[0px\]" | "leading-\[18px\]" | "leading-none" | "left-0" | "left-1\/2" | "left-2" | "m-3" | "m-4" | "m-\[1px\]" | "max-h-full" | "max-w-\[300px\]" | "max-w-\[320px\]" | "max-w-\[40px\]" | "max-w-\[600px\]" | "max-w-\[70px\]" | "max-w-\[940px\]" | "mb-2" | "mb-3" | "mb-\[-2px\]" | "mb-\[7px\]" | "min-h-full" | "min-w-0" | "min-w-full" | "ml-2" | "ml-3" | "ml-4" | "mr-1" | "mr-4" | "mt-1" | "mt-2" | "mt-4" | "mt-5" | "mx-0" | "mx-1" | "mx-2" | "mx-3" | "mx-7" | "my-1" | "my-4" | "no-arrow" | "no-arrows" | "no-underline" | "object-cover" | "opacity-0" | "opacity-40" | "opacity-70" | "outline-none" | "overflow-hidden" | "overflow-x-hidden" | "overflow-y-auto" | "overline" | "p-2" | "p-3" | "p-4" | "p-5" | "p-6" | "pb-3" | "pb-6" | "peer" | "peer-focus\:border" | "pl-4" | "pl-7" | "placeholder\:text-grey-40" | "pointer-events-none" | "pr-4" | "px-0" | "px-1" | "px-2" | "px-3" | "px-4" | "px-5" | "px-7" | "px-\[1px\]" | "px-\[4px\]" | "py-1" | "py-2" | "py-3" | "py-4" | "py-6" | "py-7" | "py-\[14px\]" | "py-\[6px\]" | "relative" | "resize" | "resize-none" | "right-0" | "ring-1" | "ring-2" | "ring-grey-30" | "ring-inset" | "ring-offset-0" | "rotate-45" | "rounded" | "rounded-full" | "rounded-sm" | "row-start-1" | "scrollbar-hide" | "self-center" | "self-start" | "shadow-16dp" | "shadow-2dp" | "shadow-4dp" | "shrink" | "sticky" | "stroke-grey-30" | "stroke-white" | "table" | "table-auto" | "table-fixed" | "text-\[8px\]" | "text-\[9px\]" | "text-center" | "text-error-0" | "text-error-10" | "text-error-100" | "text-error-20" | "text-error-30" | "text-error-40" | "text-error-5" | "text-error-50" | "text-error-60" | "text-error-70" | "text-error-80" | "text-error-90" | "text-grey-0" | "text-grey-10" | "text-grey-100" | "text-grey-20" | "text-grey-30" | "text-grey-40" | "text-grey-5" | "text-grey-50" | "text-grey-60" | "text-grey-70" | "text-grey-80" | "text-grey-90" | "text-info-0" | "text-info-10" | "text-info-100" | "text-info-20" | "text-info-30" | "text-info-40" | "text-info-5" | "text-info-50" | "text-info-60" | "text-info-70" | "text-info-80" | "text-info-90" | "text-left" | "text-primary-0" | "text-primary-10" | "text-primary-100" | "text-primary-20" | "text-primary-30" | "text-primary-40" | "text-primary-5" | "text-primary-50" | "text-primary-60" | "text-primary-70" | "text-primary-80" | "text-primary-90" | "text-right" | "text-secondary-0" | "text-secondary-10" | "text-secondary-100" | "text-secondary-20" | "text-secondary-30" | "text-secondary-40" | "text-secondary-5" | "text-secondary-50" | "text-secondary-60" | "text-secondary-70" | "text-secondary-80" | "text-secondary-90" | "text-success-0" | "text-success-10" | "text-success-100" | "text-success-20" | "text-success-30" | "text-success-40" | "text-success-5" | "text-success-50" | "text-success-60" | "text-success-70" | "text-success-80" | "text-success-90" | "text-warning-0" | "text-warning-10" | "text-warning-100" | "text-warning-20" | "text-warning-30" | "text-warning-40" | "text-warning-5" | "text-warning-50" | "text-warning-60" | "text-warning-70" | "text-warning-80" | "text-warning-90" | "text-white" | "top-0" | "top-2" | "transform" | "transition" | "transition-all" | "translate-x-5" | "typography-body-default" | "typography-body-default-medium" | "typography-body-large" | "typography-body-large-medium" | "typography-body-small" | "typography-body-small-medium" | "typography-button-large" | "typography-button-medium" | "typography-button-small" | "typography-caption-default" | "typography-caption-small" | "typography-heading-2xl" | "typography-heading-3xl" | "typography-heading-4xl" | "typography-heading-5xl" | "typography-heading-large" | "typography-heading-xl" | "typography-overline-default" | "typography-overline-small" | "underline" | "underline-offset-2" | "uppercase" | "via-white" | "visible" | "w-1" | "w-1px" | "w-2" | "w-3" | "w-4" | "w-5" | "w-6" | "w-\[280px\]" | "w-\[32px\]" | "w-\[34px\]" | "w-\[56px\]" | "w-full" | "whitespace-nowrap" | "z-0" | "z-10" | "z-20" | "z-40" | "z-modal";
1
+ export declare type ClassNames = "-m-2" | "-z-10" | "\!container" | "\!inline" | "\[\&\>\*\:not\(\:first-child\)\]\:-ml-3" | "\[\&\>div\:first-child\]\:px-5" | "\[\&\>path\]\:stroke-2" | "\[\&\>path\]\:stroke-grey-30" | "\[\&\>path\]\:stroke-white" | "absolute" | "active\:bg-grey-10" | "active\:bg-grey-5" | "active\:bg-primary-90" | "active\:bg-transparent" | "active\:ring-0" | "active\:ring-grey-50" | "active\:text-grey-50" | "active\:text-grey-70" | "active\:text-grey-80" | "active\:text-primary-70" | "align-middle" | "animate-pulse" | "appearance-none" | "aspect-square" | "auto-cols-fr" | "bg-cover" | "bg-current" | "bg-error-0" | "bg-error-5" | "bg-error-70" | "bg-gradient-to-l" | "bg-gradient-to-r" | "bg-grey-0" | "bg-grey-10" | "bg-grey-20" | "bg-grey-30" | "bg-grey-5" | "bg-grey-90" | "bg-info-5" | "bg-info-50" | "bg-navyBlue-100" | "bg-primary-70" | "bg-primary-80" | "bg-secondary-5" | "bg-success-5" | "bg-success-70" | "bg-transparent" | "bg-warning-5" | "bg-warning-70" | "bg-white" | "block" | "blur" | "border" | "border-0" | "border-b" | "border-b-2" | "border-b-\[1px\]" | "border-current" | "border-dashed" | "border-error-50" | "border-grey-10" | "border-grey-100" | "border-grey-20" | "border-grey-40" | "border-grey-5" | "border-grey-50" | "border-info-70" | "border-navyBlue-100" | "border-none" | "border-primary-80" | "border-solid" | "border-spacing-0" | "border-transparent" | "bottom-0" | "break-all" | "capitalize" | "children\:border-grey-10" | "children\:inline-block" | "children\:last\:border-b-0" | "col-start-1" | "col-start-2" | "col-start-3" | "container" | "contents" | "cursor-default" | "cursor-not-allowed" | "cursor-pointer" | "delay-150" | "disabled\:bg-grey-0" | "disabled\:bg-grey-5" | "disabled\:bg-primary-5" | "disabled\:bg-transparent" | "disabled\:border-grey-20" | "disabled\:cursor-not-allowed" | "disabled\:ring-grey-20" | "disabled\:text-grey-20" | "disabled\:text-grey-30" | "disabled\:text-grey-40" | "disabled\:text-primary-40" | "duration-300" | "ease-in-out" | "filter" | "first\:mt-0" | "fixed" | "flex" | "flex-col" | "flex-grow" | "flex-nowrap" | "flex-row" | "flex-wrap" | "focus-visible\:bg-grey-0" | "focus-visible\:border-info-70" | "focus-visible\:outline-0" | "focus-visible\:ring-2" | "focus-visible\:ring-grey-50" | "focus-visible\:ring-inset" | "focus-visible\:ring-primary-100" | "focus-visible\:text-grey-80" | "focus-visible\:text-grey-90" | "focus\:border-info-70" | "focus\:border-transparent" | "focus\:outline-none" | "focus\:ring-0" | "focus\:ring-1" | "focus\:ring-2" | "focus\:ring-grey-60" | "focus\:ring-offset-0" | "focus\:text-primary-80" | "font-medium" | "font-normal" | "font-semibold" | "from-white" | "gap-2" | "gap-3" | "gap-4" | "gap-5" | "gap-7" | "gap-8" | "gap-x-2" | "gap-x-3" | "gap-x-4" | "gap-y-2" | "grid" | "grid-cols-1" | "grid-cols-2" | "grid-cols-3" | "grid-cols-\[16px_1fr\]" | "grid-cols-\[200px_1fr_200px\]" | "grid-cols-\[auto_1fr\]" | "grid-cols-\[auto_1fr_auto\]" | "group" | "group-hover\:bg-grey-30" | "group-hover\:visible" | "grow" | "grow-0" | "h-1" | "h-1px" | "h-2" | "h-3" | "h-4" | "h-5" | "h-6" | "h-\[174px\]" | "h-\[1px\]" | "h-\[20px\]" | "h-\[225px\]" | "h-\[25px\]" | "h-\[32px\]" | "h-\[50px\]" | "h-\[56px\]" | "h-\[6px\]" | "h-full" | "hidden" | "hover\:bg-grey-0" | "hover\:bg-grey-5" | "hover\:bg-primary-70" | "hover\:border-grey-20" | "hover\:border-grey-50" | "hover\:cursor-pointer" | "hover\:no-underline" | "hover\:ring-grey-50" | "hover\:text-grey-80" | "hover\:text-grey-90" | "hover\:text-primary-70" | "hover\:text-primary-80" | "inline" | "inline-block" | "inline-flex" | "inline-grid" | "inset-0" | "inset-y-0" | "invisible" | "italic" | "items-center" | "justify-between" | "justify-center" | "justify-end" | "justify-self-center" | "leading-\[0px\]" | "leading-\[18px\]" | "leading-none" | "left-0" | "left-1\/2" | "left-2" | "m-3" | "m-4" | "m-\[1px\]" | "max-h-full" | "max-w-\[300px\]" | "max-w-\[320px\]" | "max-w-\[40px\]" | "max-w-\[600px\]" | "max-w-\[70px\]" | "max-w-\[940px\]" | "mb-2" | "mb-3" | "mb-5" | "mb-\[-2px\]" | "mb-\[7px\]" | "min-h-full" | "min-w-0" | "min-w-full" | "ml-2" | "ml-3" | "ml-4" | "mr-1" | "mr-4" | "mt-1" | "mt-2" | "mt-4" | "mt-5" | "mx-0" | "mx-1" | "mx-2" | "mx-3" | "mx-7" | "my-1" | "my-4" | "no-arrow" | "no-arrows" | "no-underline" | "object-cover" | "opacity-0" | "opacity-40" | "opacity-70" | "outline-none" | "overflow-hidden" | "overflow-x-hidden" | "overflow-y-auto" | "overline" | "p-2" | "p-3" | "p-4" | "p-5" | "p-6" | "pb-3" | "pb-6" | "peer" | "peer-focus\:border" | "pl-4" | "pl-7" | "placeholder\:text-grey-40" | "pointer-events-none" | "pr-4" | "px-0" | "px-1" | "px-2" | "px-3" | "px-4" | "px-5" | "px-6" | "px-7" | "px-\[1px\]" | "px-\[4px\]" | "py-1" | "py-2" | "py-3" | "py-4" | "py-5" | "py-6" | "py-7" | "py-\[14px\]" | "py-\[6px\]" | "relative" | "resize" | "resize-none" | "right-0" | "ring-1" | "ring-2" | "ring-grey-30" | "ring-inset" | "ring-offset-0" | "rotate-45" | "rounded" | "rounded-full" | "rounded-sm" | "row-start-1" | "scrollbar-hide" | "self-center" | "self-start" | "shadow-16dp" | "shadow-2dp" | "shadow-4dp" | "shrink" | "sticky" | "stroke-grey-30" | "stroke-white" | "table" | "table-auto" | "table-fixed" | "text-\[8px\]" | "text-\[9px\]" | "text-center" | "text-error-0" | "text-error-10" | "text-error-100" | "text-error-20" | "text-error-30" | "text-error-40" | "text-error-5" | "text-error-50" | "text-error-60" | "text-error-70" | "text-error-80" | "text-error-90" | "text-grey-0" | "text-grey-10" | "text-grey-100" | "text-grey-20" | "text-grey-30" | "text-grey-40" | "text-grey-5" | "text-grey-50" | "text-grey-60" | "text-grey-70" | "text-grey-80" | "text-grey-90" | "text-info-0" | "text-info-10" | "text-info-100" | "text-info-20" | "text-info-30" | "text-info-40" | "text-info-5" | "text-info-50" | "text-info-60" | "text-info-70" | "text-info-80" | "text-info-90" | "text-left" | "text-primary-0" | "text-primary-10" | "text-primary-100" | "text-primary-20" | "text-primary-30" | "text-primary-40" | "text-primary-5" | "text-primary-50" | "text-primary-60" | "text-primary-70" | "text-primary-80" | "text-primary-90" | "text-right" | "text-secondary-0" | "text-secondary-10" | "text-secondary-100" | "text-secondary-20" | "text-secondary-30" | "text-secondary-40" | "text-secondary-5" | "text-secondary-50" | "text-secondary-60" | "text-secondary-70" | "text-secondary-80" | "text-secondary-90" | "text-success-0" | "text-success-10" | "text-success-100" | "text-success-20" | "text-success-30" | "text-success-40" | "text-success-5" | "text-success-50" | "text-success-60" | "text-success-70" | "text-success-80" | "text-success-90" | "text-warning-0" | "text-warning-10" | "text-warning-100" | "text-warning-20" | "text-warning-30" | "text-warning-40" | "text-warning-5" | "text-warning-50" | "text-warning-60" | "text-warning-70" | "text-warning-80" | "text-warning-90" | "text-white" | "top-0" | "top-2" | "transform" | "transition" | "transition-all" | "translate-x-5" | "typography-body-default" | "typography-body-default-medium" | "typography-body-large" | "typography-body-large-medium" | "typography-body-small" | "typography-body-small-medium" | "typography-button-large" | "typography-button-medium" | "typography-button-small" | "typography-caption-default" | "typography-caption-small" | "typography-heading-2xl" | "typography-heading-3xl" | "typography-heading-4xl" | "typography-heading-5xl" | "typography-heading-large" | "typography-heading-xl" | "typography-overline-default" | "typography-overline-small" | "underline" | "underline-offset-2" | "uppercase" | "via-white" | "visible" | "w-1" | "w-1px" | "w-2" | "w-3" | "w-4" | "w-5" | "w-6" | "w-\[280px\]" | "w-\[32px\]" | "w-\[34px\]" | "w-\[56px\]" | "w-\[6px\]" | "w-full" | "whitespace-nowrap" | "z-0" | "z-10" | "z-20" | "z-40" | "z-modal";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aivenio/aquarium",
3
- "version": "0.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Aiven Aquarium design system",
5
5
  "main": "dist/system.cjs",
6
6
  "module": "dist/system.mjs",
@@ -180,4 +180,4 @@
180
180
  "resolutions": {
181
181
  "webpack": "^5"
182
182
  }
183
- }
183
+ }
@@ -1,21 +0,0 @@
1
- import React from 'react';
2
- import { PositionerPlacement } from '../../../src/utils/positioner';
3
- declare type PositionerArgs = {
4
- triggerRef: React.RefObject<HTMLElement>;
5
- };
6
- export declare type PositionerProps = {
7
- children: React.ReactNode;
8
- content: React.ReactElement;
9
- autoAdjust?: boolean;
10
- animate?: boolean;
11
- trigger?: 'hover' | 'click';
12
- placement?: PositionerPlacement;
13
- onClose?: ({ triggerRef }: PositionerArgs) => void;
14
- padding?: number;
15
- allowClosingManually?: boolean;
16
- stayVisibleOnHover?: boolean;
17
- fullWidth?: boolean;
18
- tabIndex?: number;
19
- };
20
- export declare const Positioner: React.FC<PositionerProps>;
21
- export {};
@@ -1,97 +0,0 @@
1
- import React from 'react';
2
- import { PositionerPlacement, calcPosition, calcBestPosition, createMountPointElement, } from '../../../src/utils/positioner';
3
- import { tw } from '../../../src/utils/tailwind';
4
- import { Portal } from '../../../src/components/Portal/Portal';
5
- export const Positioner = ({ children, content, autoAdjust = false, animate = false, trigger = 'click', placement = PositionerPlacement.bottom, onClose, padding = 5, allowClosingManually = false, stayVisibleOnHover = false, fullWidth = false, tabIndex = 0, }) => {
6
- var _a;
7
- const [isOpen, setOpen] = React.useState(false);
8
- const triggerRef = React.useRef(null);
9
- const timeoutId = React.useRef();
10
- React.useEffect(() => {
11
- return () => {
12
- timeoutId.current && clearTimeout(timeoutId.current);
13
- window.document.body.removeEventListener('mouseover', handleMouseOver);
14
- };
15
- }, []);
16
- const handleTriggerKeyDown = (event) => event.key === 'Enter' && showContent(!isOpen);
17
- const handleTriggerClick = () => {
18
- showContent(!isOpen);
19
- };
20
- const handleMouseOver = (event) => {
21
- var _a;
22
- if (!((_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {
23
- showContent(false);
24
- window.document.body.removeEventListener('mouseover', handleMouseOver);
25
- }
26
- };
27
- const showContent = (value, shouldDelay = false) => {
28
- timeoutId.current && clearTimeout(timeoutId.current);
29
- shouldDelay ? (timeoutId.current = setTimeout(() => setOpen(value), 300)) : setOpen(value);
30
- if (!value) {
31
- // give focus back to the trigger element
32
- onClose === null || onClose === void 0 ? void 0 : onClose({ triggerRef });
33
- }
34
- };
35
- // onMouseLeave has reported issues of not firing reliably.
36
- // This causes issue with for example Tooltip not being hidden when hovering out of the trigger.
37
- // The workaround is to listen mouseover on body level and call close when mouse is no longer over the trigger.
38
- // the above applies only to the case where "stayVisibleOnHover" prop is false
39
- // when "stayVisibleOnHover" prop is true, it works fine with onMouseLeave since we want to have content stay visible if user hovers over the trigger or content.
40
- const handleTriggerMouseEnter = () => {
41
- if (!stayVisibleOnHover) {
42
- window.document.body.addEventListener('mouseover', handleMouseOver);
43
- }
44
- showContent(true, true);
45
- };
46
- const handleTriggerMouseLeave = () => showContent(false, stayVisibleOnHover);
47
- const handleOutsideClick = React.useCallback((event) => {
48
- var _a;
49
- const { target } = event;
50
- // Hide content only if click happened outiside the triggering element.
51
- if (target !== window && !((_a = triggerRef === null || triggerRef === void 0 ? void 0 : triggerRef.current) === null || _a === void 0 ? void 0 : _a.contains(target))) {
52
- showContent(false);
53
- }
54
- }, []);
55
- const handleESCPress = React.useCallback(() => showContent(false), []);
56
- const handleSetOpen = React.useCallback((value) => showContent(value), []);
57
- return (React.createElement("div", { className: tw('inline-block', {
58
- 'w-full': fullWidth,
59
- }), ref: triggerRef, onClick: trigger === 'click' ? handleTriggerClick : undefined, onKeyDown: handleTriggerKeyDown, onMouseEnter: trigger === 'hover' ? handleTriggerMouseEnter : undefined, onMouseLeave: stayVisibleOnHover ? handleTriggerMouseLeave : undefined, tabIndex: tabIndex, "data-testid": 'positioner', id: content.props.triggerId, "aria-haspopup": isOpen, "aria-expanded": isOpen, "aria-controls": content.props.contentId },
60
- children,
61
- isOpen && (React.createElement(Positioned, { triggerRect: ((_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || { x: 0, y: 0 }, animate: animate, autoAdjust: autoAdjust, onOutsideClick: handleOutsideClick, onESCPress: handleESCPress, placement: placement, padding: padding, setOpen: handleSetOpen, stayVisibleOnHover: stayVisibleOnHover }, allowClosingManually ? React.cloneElement(content, { setClose: () => showContent(false) }) : content))));
62
- };
63
- const Positioned = ({ children, onOutsideClick, onESCPress, autoAdjust = false, animate = false, triggerRect, placement = PositionerPlacement.bottom, padding = 5, setOpen = () => undefined, stayVisibleOnHover = false, }) => {
64
- const [position, setPosition] = React.useState({ x: 0, y: 0 });
65
- const contentRef = React.useRef(null);
66
- const mountElementRef = React.useRef(createMountPointElement());
67
- const handleBodyClick = (event) => { var _a; return !((_a = contentRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target)) && onOutsideClick(event); };
68
- const handleWindowKeyUp = (event) => event.key === 'Escape' && onESCPress();
69
- const handleSetOpen = (event, value) => {
70
- event.stopPropagation();
71
- setOpen(value);
72
- };
73
- React.useEffect(() => {
74
- window.document.body.addEventListener('click', handleBodyClick);
75
- window.addEventListener('keyup', handleWindowKeyUp);
76
- // Note that we must append mount element ref to DOM
77
- // before calculating position.
78
- document.body.appendChild(mountElementRef.current);
79
- if (contentRef.current) {
80
- setPosition(autoAdjust
81
- ? calcBestPosition(triggerRect, contentRef.current.getBoundingClientRect(), placement, padding)
82
- : calcPosition(triggerRect, contentRef.current.getBoundingClientRect(), placement, padding));
83
- }
84
- return () => {
85
- document.body.removeChild(mountElementRef.current);
86
- window.document.body.removeEventListener('click', handleBodyClick);
87
- window.removeEventListener('keyup', handleWindowKeyUp);
88
- };
89
- }, []);
90
- return (React.createElement(Portal, { to: mountElementRef.current },
91
- React.createElement("div", Object.assign({ tabIndex: -1, onClick: (event) => event.stopPropagation(), ref: contentRef, style: {
92
- transform: `translate(${position.x}px, ${position.y}px)`,
93
- }, className: tw('absolute top-0 left-0', {
94
- 'animate-positioner-fade-in': animate,
95
- }), "data-testid": 'positioned' }, (stayVisibleOnHover && { onMouseEnter: (e) => handleSetOpen(e, true) }), (stayVisibleOnHover && { onMouseLeave: (e) => handleSetOpen(e, false) })), children)));
96
- };
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9zaXRpb25lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1Bvc2l0aW9uZXIvUG9zaXRpb25lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLGdCQUFnQixFQUNoQix1QkFBdUIsR0FFeEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBNkJ0RCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQThCLENBQUMsRUFDcEQsUUFBUSxFQUNSLE9BQU8sRUFDUCxVQUFVLEdBQUcsS0FBSyxFQUNsQixPQUFPLEdBQUcsS0FBSyxFQUNmLE9BQU8sR0FBRyxPQUFPLEVBQ2pCLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLEVBQ3RDLE9BQU8sRUFDUCxPQUFPLEdBQUcsQ0FBQyxFQUNYLG9CQUFvQixHQUFHLEtBQUssRUFDNUIsa0JBQWtCLEdBQUcsS0FBSyxFQUMxQixTQUFTLEdBQUcsS0FBSyxFQUNqQixRQUFRLEdBQUcsQ0FBQyxHQUNiLEVBQUUsRUFBRTs7SUFDSCxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDekQsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBaUIsSUFBSSxDQUFDLENBQUM7SUFDdEQsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBaUMsQ0FBQztJQUVoRSxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNuQixPQUFPLEdBQUcsRUFBRTtZQUNWLFNBQVMsQ0FBQyxPQUFPLElBQUksWUFBWSxDQUFDLFNB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