athameui 0.0.12 → 0.0.14

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/components/Accordion/Accordion.tsx +23 -23
  2. package/components/Accordion/AccordionItem.tsx +7 -1
  3. package/components/Avatar/Avatar.tsx +6 -1
  4. package/components/Button/Button.tsx +11 -0
  5. package/components/Button/ScrollToTopButton.tsx +2 -1
  6. package/components/Carousel/Carousel.tsx +159 -37
  7. package/components/Checkbox/Checkbox.tsx +51 -0
  8. package/components/Checkbox/index.ts +1 -0
  9. package/components/FormField/FormField.tsx +24 -0
  10. package/components/FormTextInput/FormTextInput.tsx +11 -0
  11. package/components/Layout/Main.tsx +11 -2
  12. package/components/Modal/Modal.tsx +9 -2
  13. package/components/SlideOut/SlideOut.tsx +31 -2
  14. package/components/index.ts +1 -0
  15. package/dist/athameui.cjs +410 -262
  16. package/dist/athameui.cjs.map +1 -1
  17. package/dist/athameui.mjs +406 -248
  18. package/dist/athameui.mjs.map +1 -1
  19. package/dist/components/Accordion/AccordionItem.d.ts.map +1 -1
  20. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  21. package/dist/components/Button/Button.d.ts +5 -0
  22. package/dist/components/Button/Button.d.ts.map +1 -1
  23. package/dist/components/Button/ScrollToTopButton.d.ts.map +1 -1
  24. package/dist/components/Carousel/Carousel.d.ts +5 -1
  25. package/dist/components/Carousel/Carousel.d.ts.map +1 -1
  26. package/dist/components/Checkbox/Checkbox.d.ts +14 -0
  27. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  28. package/dist/components/Checkbox/index.d.ts +2 -0
  29. package/dist/components/Checkbox/index.d.ts.map +1 -0
  30. package/dist/components/FormField/FormField.d.ts +3 -0
  31. package/dist/components/FormField/FormField.d.ts.map +1 -1
  32. package/dist/components/FormTextInput/FormTextInput.d.ts +6 -1
  33. package/dist/components/FormTextInput/FormTextInput.d.ts.map +1 -1
  34. package/dist/components/Layout/Main.d.ts +2 -1
  35. package/dist/components/Layout/Main.d.ts.map +1 -1
  36. package/dist/components/Modal/Modal.d.ts.map +1 -1
  37. package/dist/components/SlideOut/SlideOut.d.ts.map +1 -1
  38. package/dist/components/index.d.ts +1 -0
  39. package/dist/components/index.d.ts.map +1 -1
  40. package/dist/styles/components/carousel.css +28 -4
  41. package/dist/styles/components/checkbox.css +60 -0
  42. package/dist/styles/components/form-input.css +2 -1
  43. package/dist/styles/components/main.css +17 -2
  44. package/dist/styles/index.d.ts +0 -1
  45. package/dist/styles/index.d.ts.map +1 -1
  46. package/dist/styles/index.ts +0 -1
  47. package/dist/styles/theme.css +1 -0
  48. package/dist/styles/tokens.css +16 -17
  49. package/dist/styles/tokens.d.ts +209 -26
  50. package/dist/styles/tokens.d.ts.map +1 -1
  51. package/dist/styles/tokens.ts +190 -165
  52. package/package.json +1 -1
  53. package/styles/components/carousel.css +28 -4
  54. package/styles/components/checkbox.css +60 -0
  55. package/styles/components/form-input.css +2 -1
  56. package/styles/components/main.css +17 -2
  57. package/styles/index.ts +0 -1
  58. package/styles/theme.css +1 -0
  59. package/styles/tokens.css +16 -17
  60. package/styles/tokens.ts +190 -165
  61. package/dist/styles/breakpoints.d.ts +0 -29
  62. package/dist/styles/breakpoints.d.ts.map +0 -1
  63. package/dist/styles/breakpoints.ts +0 -34
  64. package/styles/breakpoints.ts +0 -34
@@ -1,6 +1,7 @@
1
1
  import { CSSObject } from "@emotion/react";
2
2
  import { HugeiconsIcon } from "@hugeicons/react";
3
3
  import { CancelCircleIcon } from "@hugeicons/core-free-icons";
4
+ import { useEffect, useRef } from "react";
4
5
  import { cx } from "../../utils/cx";
5
6
  import { Button } from "../Button/Button";
6
7
 
@@ -49,11 +50,39 @@ export const SlideOut = ({
49
50
  "ath-slide-out-close-button",
50
51
  className?.closeButton,
51
52
  );
53
+ const slideOutRef = useRef<HTMLDivElement>(null);
54
+
55
+ useEffect(() => {
56
+ const element = slideOutRef.current;
57
+ if (!element) return;
58
+ if (isOpen) element.removeAttribute("inert");
59
+ else element.setAttribute("inert", "");
60
+ }, [isOpen]);
61
+
62
+ useEffect(() => {
63
+ if (!isOpen) return;
64
+ const handleKeyDown = (event: KeyboardEvent) => {
65
+ if (event.key === "Escape") onClose();
66
+ };
67
+ document.addEventListener("keydown", handleKeyDown);
68
+ return () => document.removeEventListener("keydown", handleKeyDown);
69
+ }, [isOpen, onClose]);
52
70
 
53
71
  return (
54
- <div className={slideOutClasses} css={sx?.slideOut} data-testid="slide-out">
72
+ <div
73
+ ref={slideOutRef}
74
+ className={slideOutClasses}
75
+ css={sx?.slideOut}
76
+ data-testid="slide-out"
77
+ >
55
78
  <div className={overlayClasses} css={sx?.overlay} onClick={onClose} />
56
- <div className={panelClasses} css={sx?.panel}>
79
+ <div
80
+ className={panelClasses}
81
+ css={sx?.panel}
82
+ role="dialog"
83
+ aria-modal="true"
84
+ aria-label="Menu"
85
+ >
57
86
  <Button
58
87
  className={{ button: closeButtonClasses }}
59
88
  sx={{ button: sx?.closeButton }}
@@ -4,6 +4,7 @@ export * from "./Block";
4
4
  export * from "./Button";
5
5
  export * from "./ButtonGroup";
6
6
  export * from "./Carousel";
7
+ export * from "./Checkbox";
7
8
  export * from "./DropDown";
8
9
  export * from "./ContainerScalingText";
9
10
  export * from "./FormField";