@abstraks-dev/ui-library 1.1.7 → 1.1.9

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 (72) hide show
  1. package/dist/components/Error.js +1 -1
  2. package/dist/components/Form.js +1 -1
  3. package/dist/components/Prompt.js +1 -1
  4. package/dist/styles/anchor.css +147 -0
  5. package/dist/styles/anchor.css.map +1 -0
  6. package/dist/styles/animation-accessibility.css +90 -0
  7. package/dist/styles/animation-accessibility.css.map +1 -0
  8. package/dist/styles/animation-toggle.css +223 -0
  9. package/dist/styles/animation-toggle.css.map +1 -0
  10. package/dist/styles/animation.css +3772 -0
  11. package/dist/styles/animation.css.map +1 -0
  12. package/dist/styles/avatar.css +349 -0
  13. package/dist/styles/avatar.css.map +1 -0
  14. package/dist/styles/button.css +491 -0
  15. package/dist/styles/button.css.map +1 -0
  16. package/dist/styles/card.css +306 -0
  17. package/dist/styles/card.css.map +1 -0
  18. package/dist/styles/checkbox.css +233 -0
  19. package/dist/styles/checkbox.css.map +1 -0
  20. package/dist/styles/crud.css +525 -0
  21. package/dist/styles/crud.css.map +1 -0
  22. package/dist/styles/dragAndDrop.css +400 -0
  23. package/dist/styles/dragAndDrop.css.map +1 -0
  24. package/dist/styles/error.css +311 -0
  25. package/dist/styles/error.css.map +1 -0
  26. package/dist/styles/footer.css +165 -0
  27. package/dist/styles/footer.css.map +1 -0
  28. package/dist/styles/form.css +492 -0
  29. package/dist/styles/form.css.map +1 -0
  30. package/dist/styles/grid.css +28 -0
  31. package/dist/styles/grid.css.map +1 -0
  32. package/dist/styles/header.css +345 -0
  33. package/dist/styles/header.css.map +1 -0
  34. package/dist/styles/heading.css +242 -0
  35. package/dist/styles/heading.css.map +1 -0
  36. package/dist/styles/hero.css +293 -0
  37. package/dist/styles/hero.css.map +1 -0
  38. package/dist/styles/htmlElements.css +129 -0
  39. package/dist/styles/htmlElements.css.map +1 -0
  40. package/dist/styles/image.css +10 -0
  41. package/dist/styles/image.css.map +1 -0
  42. package/dist/styles/label.css +407 -0
  43. package/dist/styles/label.css.map +1 -0
  44. package/dist/styles/list-item.css +6 -0
  45. package/dist/styles/list-item.css.map +1 -0
  46. package/dist/styles/loader.css +419 -0
  47. package/dist/styles/loader.css.map +1 -0
  48. package/dist/styles/logo.css +19 -0
  49. package/dist/styles/logo.css.map +1 -0
  50. package/dist/styles/menu-hover.css +142 -0
  51. package/dist/styles/menu-hover.css.map +1 -0
  52. package/dist/styles/paragraph.css +200 -0
  53. package/dist/styles/paragraph.css.map +1 -0
  54. package/dist/styles/prompt.css +168 -0
  55. package/dist/styles/prompt.css.map +1 -0
  56. package/dist/styles/radio.css +259 -0
  57. package/dist/styles/radio.css.map +1 -0
  58. package/dist/styles/select.css +403 -0
  59. package/dist/styles/select.css.map +1 -0
  60. package/dist/styles/side-menu.css +413 -0
  61. package/dist/styles/side-menu.css.map +1 -0
  62. package/dist/styles/tabs.css +562 -0
  63. package/dist/styles/tabs.css.map +1 -0
  64. package/dist/styles/text-area.css +451 -0
  65. package/dist/styles/text-area.css.map +1 -0
  66. package/dist/styles/text-input.css +243 -0
  67. package/dist/styles/text-input.css.map +1 -0
  68. package/dist/styles/toggle.css +3 -0
  69. package/dist/styles/toggle.css.map +1 -0
  70. package/dist/styles/unordered-list.css +9 -0
  71. package/dist/styles/unordered-list.css.map +1 -0
  72. package/package.json +3 -2
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = exports.Error = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _propTypes = require("prop-types");
9
- require("../styles/error.scss");
9
+ require("../styles/error.css");
10
10
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
11
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
12
12
  /**
@@ -7,7 +7,7 @@ exports.default = exports.Form = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _propTypes = require("prop-types");
9
9
  var _accessibility = require("../utils/accessibility.js");
10
- require("../styles/form.scss");
10
+ require("../styles/form.css");
11
11
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
12
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
13
13
  /**
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.Prompt = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
- require("../styles/prompt.scss");
8
+ require("../styles/prompt.css");
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
11
  /**
@@ -0,0 +1,147 @@
1
+ :root {
2
+ --small: (min-width: 607px);
3
+ --medium: (min-width: 768px);
4
+ --large: (min-width: 992px);
5
+ --xlarge: (min-width: 1200px);
6
+ --color-primary: #009900;
7
+ --color-primary-hover: rgba(1, 116, 1, 0.9);
8
+ --color-secondary: #7086f1;
9
+ --color-secondary-hover: rgba(83, 100, 185, 0.9);
10
+ --color-warning: #ff9800;
11
+ --color-warning-hover: rgba(214, 130, 4, 0.9);
12
+ --color-success: #57f500;
13
+ --color-success-hover: rgba(74, 207, 2, 0.9);
14
+ --color-error: #f44336;
15
+ --color-error-hover: rgba(216, 58, 47, 0.9);
16
+ --color-shade: rgba(0, 0, 0, 0.5);
17
+ --color-tint: rgba(250, 250, 250, 0.5);
18
+ --color-white: #fff;
19
+ --color-black: #000;
20
+ --color-font-body: #333;
21
+ --color-black-alpha: rgba(0, 0, 0, 0.6);
22
+ --focus-color: #4d90fe;
23
+ --shadow-primary: rgba(0, 153, 0, 0.2);
24
+ --shadow-primary-hover: rgba(0, 153, 0, 0.3);
25
+ --shadow-primary-strong: rgba(0, 153, 0, 0.4);
26
+ --shadow-primary-strongest: rgba(0, 153, 0, 0.5);
27
+ --shadow-secondary: rgba(112, 134, 241, 0.2);
28
+ --shadow-secondary-hover: rgba(112, 134, 241, 0.3);
29
+ --shadow-secondary-strong: rgba(112, 134, 241, 0.4);
30
+ --shadow-secondary-strongest: rgba(112, 134, 241, 0.5);
31
+ --shadow-success: rgba(87, 245, 0, 0.2);
32
+ --shadow-success-hover: rgba(87, 245, 0, 0.3);
33
+ --shadow-success-strong: rgba(87, 245, 0, 0.4);
34
+ --shadow-success-strongest: rgba(87, 245, 0, 0.5);
35
+ --shadow-error: rgba(244, 67, 54, 0.2);
36
+ --shadow-error-hover: rgba(244, 67, 54, 0.3);
37
+ --shadow-error-strong: rgba(244, 67, 54, 0.4);
38
+ --shadow-error-strongest: rgba(244, 67, 54, 0.5);
39
+ --shadow-warning: rgba(255, 152, 0, 0.2);
40
+ --shadow-warning-hover: rgba(255, 152, 0, 0.3);
41
+ --shadow-warning-strong: rgba(255, 152, 0, 0.4);
42
+ --shadow-warning-strongest: rgba(255, 152, 0, 0.5);
43
+ --border-radius-xs: 4px;
44
+ --border-radius-sm: 4px;
45
+ --border-radius-md: 6px;
46
+ --border-radius-lg: 8px;
47
+ --border-radius-xl: 10px;
48
+ --z-index-base: 1;
49
+ --z-index-low: 10;
50
+ --z-index-dropdown: 100;
51
+ --z-index-sticky: 200;
52
+ --z-index-popover: 300;
53
+ --z-index-tooltip: 400;
54
+ --z-index-overlay: 1000;
55
+ --z-index-modal: 1010;
56
+ --z-index-notification: 1020;
57
+ --gray-100: #f8f9fa;
58
+ --gray-200: #e9ecef;
59
+ --gray-300: #dee2e6;
60
+ --gray-400: #ced4da;
61
+ --gray-500: #adb5bd;
62
+ --gray-600: #6c757d;
63
+ --gray-700: #495057;
64
+ --gray-800: #343a40;
65
+ --gray-900: #212529;
66
+ --black: #000;
67
+ --color-muted-blue: #8793ab;
68
+ --heading-one: 2.5rem;
69
+ --heading-two: 2rem;
70
+ --heading-three: 1.75rem;
71
+ --heading-four: 1.5rem;
72
+ --heading-five: 1.25rem;
73
+ --heading-six: 1rem;
74
+ --font-family-body: Lato, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
75
+ --font-size-xs: 0.75rem;
76
+ --font-size-sm: 0.875rem;
77
+ --font-size-base: 1rem;
78
+ --font-size-lg: 1.125rem;
79
+ --font-size-xl: 1.25rem;
80
+ --line-height-tight: 1.25;
81
+ --line-height-base: 1.5;
82
+ --line-height-relaxed: 1.625;
83
+ --font-weight-light: 300;
84
+ --font-weight-normal: 400;
85
+ --font-weight-medium: 500;
86
+ --font-weight-semibold: 600;
87
+ --font-weight-bold: 700;
88
+ --spacing-xs: 0.25rem;
89
+ --spacing-sm: 0.5rem;
90
+ --spacing-md: 1rem;
91
+ --spacing-lg: 1.5rem;
92
+ --spacing-xl: 2rem;
93
+ --spacing-2xl: 3rem;
94
+ --text-color: #1f2937;
95
+ --text-muted: #6b7280;
96
+ --background-color: #ffffff;
97
+ --border-color: #d1d5db;
98
+ --border-color-hover: #9ca3af;
99
+ --error-text: #dc2626;
100
+ --error-background: #fef2f2;
101
+ --error-border: #fecaca;
102
+ --success-text: #059669;
103
+ --success-background: #f0fdf4;
104
+ --success-border: #bbf7d0;
105
+ --warning-text: #d97706;
106
+ --warning-background: #fffbeb;
107
+ --warning-border: #fed7aa;
108
+ --primary-color: #3b82f6;
109
+ --focus-ring-color: #3b82f6;
110
+ --border-radius: 0.375rem;
111
+ }
112
+
113
+ .anchor {
114
+ width: 100%;
115
+ text-decoration: none;
116
+ color: #7086f1;
117
+ }
118
+ .anchor:hover, .anchor:focus {
119
+ text-decoration: underline;
120
+ background-color: rgba(250, 250, 250, 0.5);
121
+ }
122
+ .anchor:focus {
123
+ outline: 0 auto -webkit-focus-ring-color;
124
+ outline-offset: 0;
125
+ border: 0 solid transparent;
126
+ }
127
+
128
+ .anchor[disabled] {
129
+ pointer-events: none;
130
+ color: rgba(0, 0, 0, 0.5);
131
+ }
132
+
133
+ .anchor.primary {
134
+ color: #009900;
135
+ }
136
+ .anchor.primary:hover {
137
+ color: rgba(1, 116, 1, 0.9);
138
+ }
139
+
140
+ .anchor.secondary {
141
+ color: #7086f1;
142
+ }
143
+ .anchor.secondary:hover {
144
+ color: rgba(83, 100, 185, 0.9);
145
+ }
146
+
147
+ /*# sourceMappingURL=anchor.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../src/styles/_variables.scss","../../src/styles/anchor.scss"],"names":[],"mappings":"AA2RA;EAJE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;;ACrRF;EACC;EACA;EACA,ODKiB;;ACHjB;EAEC;EACA,kBDaW;;ACVZ;EACC;EACA;EACA;;;AAIF;EACC;EACA;;;AAGD;EACC,ODnBe;;ACqBf;EACC,ODrBoB;;;ACyBtB;EACC,ODxBiB;;AC0BjB;EACC,OD1BsB","file":"anchor.css"}
@@ -0,0 +1,90 @@
1
+ @charset "UTF-8";
2
+ /* Animation Accessibility Utilities */
3
+ /*
4
+ * Utility class for testing reduced motion preferences
5
+ * Add this class to test how animations behave with motion reduction
6
+ */
7
+ .motion-reduced {
8
+ animation: none !important;
9
+ transition: none !important;
10
+ transform: none !important;
11
+ }
12
+
13
+ /*
14
+ * High contrast mode support for animations
15
+ * Ensures animations remain visible in high contrast themes
16
+ */
17
+ @media (prefers-contrast: high) {
18
+ .animate__animated {
19
+ /* Enhance visibility in high contrast mode */
20
+ border: 1px solid;
21
+ /* Reduce complex animations that may be hard to see */
22
+ }
23
+ .animate__animated.animate__flip, .animate__animated.animate__flipInX, .animate__animated.animate__flipInY, .animate__animated.animate__flipOutX, .animate__animated.animate__flipOutY {
24
+ animation-duration: 0.3s;
25
+ }
26
+ }
27
+ /*
28
+ * Utility for focus-visible animations
29
+ * Use for keyboard navigation and screen reader users
30
+ */
31
+ .animate__animated:focus-visible {
32
+ outline: 3px solid #0066cc;
33
+ outline-offset: 2px;
34
+ animation-play-state: paused;
35
+ }
36
+
37
+ /*
38
+ * Safe animation defaults for accessibility
39
+ * These provide gentle alternatives to intense animations
40
+ */
41
+ .animate__gentle-fade {
42
+ animation-name: gentleFadeIn;
43
+ animation-duration: 0.3s;
44
+ animation-timing-function: ease-out;
45
+ }
46
+
47
+ .animate__gentle-slide {
48
+ animation-name: gentleSlideIn;
49
+ animation-duration: 0.4s;
50
+ animation-timing-function: ease-out;
51
+ }
52
+
53
+ /* Gentle animation keyframes */
54
+ @keyframes gentleFadeIn {
55
+ from {
56
+ opacity: 0;
57
+ }
58
+ to {
59
+ opacity: 1;
60
+ }
61
+ }
62
+ @keyframes gentleSlideIn {
63
+ from {
64
+ transform: translateY(10px);
65
+ opacity: 0;
66
+ }
67
+ to {
68
+ transform: translateY(0);
69
+ opacity: 1;
70
+ }
71
+ }
72
+ /*
73
+ * Animation guidelines for developers
74
+ * Use these comments as reference for accessible animations:
75
+ *
76
+ * ✅ DO:
77
+ * - Keep animations under 3 seconds
78
+ * - Provide pause/stop controls for infinite animations
79
+ * - Use subtle movements (under 100px displacement)
80
+ * - Test with prefers-reduced-motion enabled
81
+ * - Ensure keyboard focus is visible during animations
82
+ *
83
+ * ❌ DON'T:
84
+ * - Use rapid flashing (more than 3 flashes per second)
85
+ * - Create animations that move continuously without user control
86
+ * - Use animations that cover important content
87
+ * - Ignore focus management during animated state changes
88
+ */
89
+
90
+ /*# sourceMappingURL=animation-accessibility.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../src/styles/animation-accessibility.scss"],"names":[],"mappings":";AAAA;AAEA;AAAA;AAAA;AAAA;AAIA;EACC;EACA;EACA;;;AAGD;AAAA;AAAA;AAAA;AAIA;EACC;AACC;IACA;AAEA;;EACA;IAKC;;;AAKH;AAAA;AAAA;AAAA;AAIA;EACC;EACA;EACA;;;AAGD;AAAA;AAAA;AAAA;AAIA;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;AACA;EACC;IACC;;EAED;IACC;;;AAIF;EACC;IACC;IACA;;EAED;IACC;IACA;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","file":"animation-accessibility.css"}
@@ -0,0 +1,223 @@
1
+ /* Animation Toggle Component Styles */
2
+ /* Accessible and high contrast mode compatible */
3
+ .animation-toggle-wrapper {
4
+ position: relative;
5
+ display: inline-block;
6
+ }
7
+ .animation-toggle-wrapper.disabled {
8
+ opacity: 0.6;
9
+ pointer-events: none;
10
+ }
11
+
12
+ /* Trigger Button Styles */
13
+ .animation-toggle-trigger {
14
+ background: var(--button-bg, #007bff);
15
+ color: var(--button-text, #ffffff);
16
+ border: 2px solid var(--button-border, transparent);
17
+ border-radius: var(--button-radius, 4px);
18
+ padding: var(--button-padding, 8px 16px);
19
+ font-size: var(--button-font-size, 14px);
20
+ font-weight: var(--button-font-weight, 500);
21
+ cursor: pointer;
22
+ transition: all 0.2s ease-in-out;
23
+ position: relative;
24
+ min-height: 44px; /* Touch target size */
25
+ min-width: 44px; /* Touch target size */
26
+ display: inline-flex;
27
+ align-items: center;
28
+ justify-content: center;
29
+ }
30
+
31
+ .animation-toggle-trigger:hover {
32
+ background: var(--button-bg-hover, #0056b3);
33
+ transform: translateY(-1px);
34
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
35
+ }
36
+
37
+ .animation-toggle-trigger:focus {
38
+ outline: 3px solid var(--focus-color, #4d90fe);
39
+ outline-offset: 2px;
40
+ background: var(--button-bg-focus, #0056b3);
41
+ }
42
+
43
+ .animation-toggle-trigger:active {
44
+ transform: translateY(0);
45
+ background: var(--button-bg-active, #004085);
46
+ }
47
+
48
+ .animation-toggle-trigger:disabled {
49
+ background: var(--button-bg-disabled, #6c757d);
50
+ cursor: not-allowed;
51
+ transform: none;
52
+ box-shadow: none;
53
+ }
54
+
55
+ /* Content Container */
56
+ .animation-toggle-content {
57
+ background: var(--content-bg, #ffffff);
58
+ border: 2px solid var(--content-border, #dee2e6);
59
+ border-radius: var(--content-radius, 8px);
60
+ padding: var(--content-padding, 16px);
61
+ margin-top: var(--content-margin-top, 8px);
62
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
63
+ position: relative;
64
+ max-width: 400px;
65
+ min-width: 200px;
66
+ }
67
+
68
+ .animation-toggle-content-body {
69
+ margin-bottom: 12px;
70
+ }
71
+
72
+ /* Close Button */
73
+ .animation-toggle-close {
74
+ background: var(--close-bg, #dc3545);
75
+ color: var(--close-text, #ffffff);
76
+ border: 2px solid var(--close-border, transparent);
77
+ border-radius: var(--close-radius, 4px);
78
+ padding: var(--close-padding, 6px 12px);
79
+ font-size: var(--close-font-size, 12px);
80
+ font-weight: var(--close-font-weight, 500);
81
+ cursor: pointer;
82
+ transition: all 0.2s ease-in-out;
83
+ min-height: 32px;
84
+ min-width: 60px;
85
+ display: inline-flex;
86
+ align-items: center;
87
+ justify-content: center;
88
+ }
89
+
90
+ .animation-toggle-close:hover {
91
+ background: var(--close-bg-hover, #c82333);
92
+ transform: translateY(-1px);
93
+ }
94
+
95
+ .animation-toggle-close:focus {
96
+ outline: 3px solid var(--focus-color, #4d90fe);
97
+ outline-offset: 2px;
98
+ background: var(--close-bg-focus, #c82333);
99
+ }
100
+
101
+ .animation-toggle-close:active {
102
+ transform: translateY(0);
103
+ background: var(--close-bg-active, #bd2130);
104
+ }
105
+
106
+ /* Animation Classes */
107
+ .animation-toggle-enter {
108
+ opacity: 0;
109
+ transform: scale(0.95) translateY(-10px);
110
+ }
111
+
112
+ .animation-toggle-enter-active {
113
+ opacity: 1;
114
+ transform: scale(1) translateY(0);
115
+ transition: opacity 300ms ease-out, transform 300ms ease-out;
116
+ }
117
+
118
+ .animation-toggle-exit {
119
+ opacity: 1;
120
+ transform: scale(1) translateY(0);
121
+ }
122
+
123
+ .animation-toggle-exit-active {
124
+ opacity: 0;
125
+ transform: scale(0.95) translateY(-10px);
126
+ transition: opacity 300ms ease-in, transform 300ms ease-in;
127
+ }
128
+
129
+ /* Screen Reader Only Content */
130
+ .sr-only {
131
+ position: absolute !important;
132
+ width: 1px !important;
133
+ height: 1px !important;
134
+ padding: 0 !important;
135
+ margin: -1px !important;
136
+ overflow: hidden !important;
137
+ clip: rect(0, 0, 0, 0) !important;
138
+ white-space: nowrap !important;
139
+ border: 0 !important;
140
+ }
141
+
142
+ /* High Contrast Mode Support */
143
+ @media (forced-colors: active) {
144
+ .animation-toggle-trigger,
145
+ .animation-toggle-close {
146
+ border: 2px solid ButtonText;
147
+ background: ButtonFace;
148
+ color: ButtonText;
149
+ }
150
+ .animation-toggle-trigger:focus,
151
+ .animation-toggle-close:focus {
152
+ outline: 3px solid Highlight;
153
+ outline-offset: 2px;
154
+ background: Highlight;
155
+ color: HighlightText;
156
+ }
157
+ .animation-toggle-trigger:hover,
158
+ .animation-toggle-close:hover {
159
+ background: Highlight;
160
+ color: HighlightText;
161
+ border-color: HighlightText;
162
+ }
163
+ .animation-toggle-content {
164
+ border: 2px solid WindowText;
165
+ background: Window;
166
+ color: WindowText;
167
+ }
168
+ .animation-toggle-trigger:disabled {
169
+ border-color: GrayText;
170
+ background: Canvas;
171
+ color: GrayText;
172
+ }
173
+ }
174
+ /* Reduced Motion Support */
175
+ @media (prefers-reduced-motion: reduce) {
176
+ .animation-toggle-trigger,
177
+ .animation-toggle-close {
178
+ transition: none;
179
+ }
180
+ .animation-toggle-enter-active,
181
+ .animation-toggle-exit-active {
182
+ transition: none;
183
+ }
184
+ .animation-toggle-enter {
185
+ opacity: 1;
186
+ transform: none;
187
+ }
188
+ .animation-toggle-exit {
189
+ opacity: 0;
190
+ transform: none;
191
+ }
192
+ }
193
+ /* Dark Mode Support */
194
+ @media (prefers-color-scheme: dark) {
195
+ .animation-toggle-wrapper {
196
+ --button-bg: #0d6efd;
197
+ --button-bg-hover: #0b5ed7;
198
+ --button-bg-focus: #0b5ed7;
199
+ --button-bg-active: #0a58ca;
200
+ --button-text: #ffffff;
201
+ --content-bg: #212529;
202
+ --content-border: #495057;
203
+ --close-bg: #dc3545;
204
+ --close-bg-hover: #bb2d3b;
205
+ --close-bg-focus: #bb2d3b;
206
+ --close-bg-active: #b02a37;
207
+ --close-text: #ffffff;
208
+ --focus-color: #86b7fe;
209
+ }
210
+ }
211
+ /* Focus Visible Support */
212
+ .animation-toggle-trigger:focus:not(:focus-visible),
213
+ .animation-toggle-close:focus:not(:focus-visible) {
214
+ outline: none;
215
+ }
216
+
217
+ .animation-toggle-trigger:focus-visible,
218
+ .animation-toggle-close:focus-visible {
219
+ outline: 3px solid var(--focus-color, #4d90fe);
220
+ outline-offset: 2px;
221
+ }
222
+
223
+ /*# sourceMappingURL=animation-toggle.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../src/styles/animation-toggle.scss"],"names":[],"mappings":"AAAA;AACA;AAEA;EACC;EACA;;AAEA;EACC;EACA;;;AAIF;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;AACA;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AACA;EACC;AAAA;IAEC;IACA;IACA;;EAGD;AAAA;IAEC;IACA;IACA;IACA;;EAGD;AAAA;IAEC;IACA;IACA;;EAGD;IACC;IACA;IACA;;EAGD;IACC;IACA;IACA;;;AAIF;AACA;EACC;AAAA;IAEC;;EAGD;AAAA;IAEC;;EAGD;IACC;IACA;;EAGD;IACC;IACA;;;AAIF;AACA;EACC;IACC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;AAIF;AACA;AAAA;EAEC;;;AAGD;AAAA;EAEC;EACA","file":"animation-toggle.css"}