@infonomic/uikit 5.43.0 → 5.44.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 (88) hide show
  1. package/dist/components/accordion/accordion.js +5 -5
  2. package/dist/components/accordion/accordion.module.js +1 -1
  3. package/dist/components/avatar/avatar.module.js +1 -1
  4. package/dist/components/badge/badge.module.js +1 -1
  5. package/dist/components/button/button-group.module.js +1 -1
  6. package/dist/components/button/button.module.js +1 -1
  7. package/dist/components/button/button_module.css +8 -3
  8. package/dist/components/button/combo-button.module.js +1 -1
  9. package/dist/components/button/control-buttons.module.js +1 -1
  10. package/dist/components/button/copy-button.module.js +1 -1
  11. package/dist/components/card/card.module.js +1 -1
  12. package/dist/components/chips/chip.module.js +1 -1
  13. package/dist/components/chips/chip_module.css +2 -1
  14. package/dist/components/container/container.module.js +1 -1
  15. package/dist/components/dropdown/dropdown.js +11 -11
  16. package/dist/components/dropdown/dropdown.module.js +1 -1
  17. package/dist/components/forms/calendar.module.js +1 -1
  18. package/dist/components/forms/checkbox.module.js +1 -1
  19. package/dist/components/forms/error-text.module.js +1 -1
  20. package/dist/components/forms/help-text.module.js +1 -1
  21. package/dist/components/forms/input-adornment.module.js +1 -1
  22. package/dist/components/forms/input.module.js +1 -1
  23. package/dist/components/forms/label.module.js +1 -1
  24. package/dist/components/forms/radio-group.js +1 -1
  25. package/dist/components/forms/radio-group.module.js +1 -1
  26. package/dist/components/forms/select.js +1 -1
  27. package/dist/components/forms/select.module.js +1 -1
  28. package/dist/components/forms/text-area.module.js +1 -1
  29. package/dist/components/hamburger/hamburger.astro +23 -15
  30. package/dist/components/hamburger/hamburger.d.ts +8 -6
  31. package/dist/components/hamburger/hamburger.d.ts.map +1 -1
  32. package/dist/components/hamburger/hamburger.js +18 -22
  33. package/dist/components/hamburger/hamburger.module.css +142 -0
  34. package/dist/components/hamburger/hamburger.module.js +10 -0
  35. package/dist/components/hamburger/hamburger_module.css +169 -0
  36. package/dist/components/notifications/alert.module.js +1 -1
  37. package/dist/components/notifications/toast.js +1 -1
  38. package/dist/components/notifications/toast.module.js +1 -1
  39. package/dist/components/overlay/overlay.module.js +1 -1
  40. package/dist/components/pager/pagination.module.js +1 -1
  41. package/dist/components/scroll-area/scroll-area.module.js +1 -1
  42. package/dist/components/scroll-to-top/scroll-to-top.module.js +1 -1
  43. package/dist/components/section/section.module.js +1 -1
  44. package/dist/components/shimmer/shimmer.module.js +1 -1
  45. package/dist/components/table/table.module.js +1 -1
  46. package/dist/components/tabs/tabs.module.js +1 -1
  47. package/dist/components/tabs/tabs_module.css +1 -5
  48. package/dist/components/tooltip/tooltip.module.js +1 -1
  49. package/dist/icons/icons.module.js +1 -1
  50. package/dist/loaders/@types/index.d.ts.map +1 -0
  51. package/dist/loaders/ellipses.d.ts +1 -1
  52. package/dist/loaders/ellipses.d.ts.map +1 -1
  53. package/dist/loaders/ring.d.ts +1 -1
  54. package/dist/loaders/ring.d.ts.map +1 -1
  55. package/dist/loaders/spinner.d.ts +1 -1
  56. package/dist/loaders/spinner.d.ts.map +1 -1
  57. package/dist/react.js +1 -2
  58. package/dist/styles/styles.css +1 -1
  59. package/dist/theme/theme-provider/provider.js +1 -1
  60. package/dist/utils/externalLinkProps.js +1 -1
  61. package/dist/utils/findMatch.js +1 -1
  62. package/dist/utils/isTouchDevice.js +1 -1
  63. package/dist/utils/objectsToArray.js +1 -1
  64. package/dist/utils/objectsToString.js +1 -1
  65. package/dist/widgets/datepicker/datepicker.module.js +1 -1
  66. package/dist/widgets/drawer/drawer.module.js +1 -1
  67. package/dist/widgets/drawer/motionDomAnimation.js +1 -1
  68. package/dist/widgets/drawer/motionDomMax.js +1 -1
  69. package/dist/widgets/modal/modal.module.js +1 -1
  70. package/dist/widgets/modal/motionDomAnimation.js +1 -1
  71. package/dist/widgets/modal/motionDomMax.js +1 -1
  72. package/dist/widgets/timeline/timeline.module.js +1 -1
  73. package/package.json +26 -30
  74. package/src/astro.d.ts +2 -2
  75. package/src/components/hamburger/hamburger.astro +23 -15
  76. package/src/components/hamburger/hamburger.module.css +142 -0
  77. package/src/components/hamburger/hamburger.stories.tsx +35 -0
  78. package/src/components/hamburger/hamburger.tsx +37 -29
  79. package/src/loaders/ellipses.tsx +1 -1
  80. package/src/loaders/ring.tsx +1 -1
  81. package/src/loaders/spinner.tsx +1 -1
  82. package/src/styles/components/hamburger.css +8 -6
  83. package/src/styles/functional/colors.css +97 -202
  84. package/src/styles/theme/theme.css +1 -1
  85. package/dist/loaders/types/index.d.ts.map +0 -1
  86. /package/dist/loaders/{types → @types}/index.d.ts +0 -0
  87. /package/dist/loaders/{types → @types}/index.js +0 -0
  88. /package/src/loaders/{types → @types}/index.ts +0 -0
@@ -42,10 +42,10 @@ const Content = function({ ref, children, className, ...props }) {
42
42
  });
43
43
  };
44
44
  const accordion_Accordion = {
45
- Root,
46
- Item,
47
- Header,
48
- Trigger,
49
- Content
45
+ Root: Root,
46
+ Item: Item,
47
+ Header: Header,
48
+ Trigger: Trigger,
49
+ Content: Content
50
50
  };
51
51
  export { accordion_Accordion as Accordion };
@@ -7,4 +7,4 @@ const accordion_module = {
7
7
  accordionSlideDown: "accordionSlideDown-gllXUs",
8
8
  accordionSlideUp: "accordionSlideUp-mpDLB0"
9
9
  };
10
- export { accordion_module as default };
10
+ export default accordion_module;
@@ -9,4 +9,4 @@ const avatar_module = {
9
9
  "avatar-text": "avatar-text-Xf0G6q",
10
10
  avatarText: "avatar-text-Xf0G6q"
11
11
  };
12
- export { avatar_module as default };
12
+ export default avatar_module;
@@ -9,4 +9,4 @@ const badge_module = {
9
9
  warning: "warning-zTXksZ",
10
10
  danger: "danger-hKF7l_"
11
11
  };
12
- export { badge_module as default };
12
+ export default badge_module;
@@ -3,4 +3,4 @@ const button_group_module = {
3
3
  "button-group": "button-group-uqvOi8",
4
4
  buttonGroup: "button-group-uqvOi8"
5
5
  };
6
- export { button_group_module as default };
6
+ export default button_group_module;
@@ -23,4 +23,4 @@ const button_module = {
23
23
  danger: "danger-rwIV_i",
24
24
  fullWidth: "fullWidth-wXvP0v"
25
25
  };
26
- export { button_module as default };
26
+ export default button_module;
@@ -7,7 +7,8 @@
7
7
  gap: var(--gap-2);
8
8
  white-space: nowrap;
9
9
  outline-offset: 2px;
10
- transition: background-color var(--transition-normal), box-shadow var(--transition-normal);
10
+ transition: background-color var(--transition-normal),
11
+ box-shadow var(--transition-normal);
11
12
  border-radius: var(--border-radius-sm);
12
13
  border: none;
13
14
  outline: 2px solid #0000;
@@ -140,7 +141,9 @@
140
141
 
141
142
  :is(.gradient-ySC3O3, .infonomic-button-gradient) {
142
143
  color: var(--button-variant-gradient-foreground);
143
- background: linear-gradient(45deg, var(--button-variant-gradient-start), var(--button-variant-gradient-end));
144
+ background: linear-gradient(45deg,
145
+ var(--button-variant-gradient-start),
146
+ var(--button-variant-gradient-end));
144
147
  }
145
148
 
146
149
  :is(.gradient-ySC3O3:disabled, .gradient-ySC3O3[disabled], .infonomic-button-gradient:disabled, .infonomic-button-gradient[disabled]) {
@@ -151,7 +154,9 @@
151
154
 
152
155
  :is(.gradient-ySC3O3:hover, .infonomic-button-gradient:hover) {
153
156
  color: var(--button-variant-gradient-foreground);
154
- background: linear-gradient(45deg, var(--button-variant-gradient-start), var(--button-variant-gradient-end));
157
+ background: linear-gradient(45deg,
158
+ var(--button-variant-gradient-start),
159
+ var(--button-variant-gradient-end));
155
160
  }
156
161
 
157
162
  :is(.gradient-ySC3O3:focus, .gradient-ySC3O3:active, .infonomic-button-gradient:focus, .infonomic-button-gradient:active) {
@@ -9,4 +9,4 @@ const combo_button_module = {
9
9
  "combo-button-options": "combo-button-options-T9vVC9",
10
10
  comboButtonOptions: "combo-button-options-T9vVC9"
11
11
  };
12
- export { combo_button_module as default };
12
+ export default combo_button_module;
@@ -17,4 +17,4 @@ const control_buttons_module = {
17
17
  left: "left-B6s4j6",
18
18
  right: "right-nFxLqo"
19
19
  };
20
- export { control_buttons_module as default };
20
+ export default control_buttons_module;
@@ -10,4 +10,4 @@ const copy_button_module = {
10
10
  lg: "lg-uu5ujz",
11
11
  xl: "xl-pFYyrS"
12
12
  };
13
- export { copy_button_module as default };
13
+ export default copy_button_module;
@@ -14,4 +14,4 @@ const card_module = {
14
14
  "card-footer": "card-footer-BxTa4b",
15
15
  cardFooter: "card-footer-BxTa4b"
16
16
  };
17
- export { card_module as default };
17
+ export default card_module;
@@ -24,4 +24,4 @@ const chip_module = {
24
24
  warning: "warning-ua4NGH",
25
25
  danger: "danger-ftQS7Y"
26
26
  };
27
- export { chip_module as default };
27
+ export default chip_module;
@@ -19,7 +19,8 @@
19
19
  font-weight: 500;
20
20
  line-height: 1.1;
21
21
  font-size: var(--chip-font-size);
22
- transition: background-color var(--transition-normal), box-shadow var(--transition-normal);
22
+ transition: background-color var(--transition-normal),
23
+ box-shadow var(--transition-normal);
23
24
  outline: 2px solid #0000;
24
25
  text-decoration: none;
25
26
  display: inline-flex;
@@ -2,4 +2,4 @@ import "./container_module.css";
2
2
  const container_module = {
3
3
  container: "container-tSpizY"
4
4
  };
5
- export { container_module as default };
5
+ export default container_module;
@@ -77,16 +77,16 @@ const SubTrigger = ({ ref, className, children, ...rest })=>/*#__PURE__*/ jsx(Dr
77
77
  });
78
78
  SubTrigger.displayName = 'SubTrigger';
79
79
  const Dropdown = {
80
- Root,
81
- Trigger,
82
- Portal,
83
- Content,
84
- Group,
85
- Item,
86
- Label,
87
- Separator,
88
- Sub,
89
- SubContent,
90
- SubTrigger
80
+ Root: Root,
81
+ Trigger: Trigger,
82
+ Portal: Portal,
83
+ Content: Content,
84
+ Group: Group,
85
+ Item: Item,
86
+ Label: Label,
87
+ Separator: Separator,
88
+ Sub: Sub,
89
+ SubContent: SubContent,
90
+ SubTrigger: SubTrigger
91
91
  };
92
92
  export { Dropdown };
@@ -13,4 +13,4 @@ const dropdown_module = {
13
13
  "dropdown-separator": "dropdown-separator-scM_7b",
14
14
  dropdownSeparator: "dropdown-separator-scM_7b"
15
15
  };
16
- export { dropdown_module as default };
16
+ export default dropdown_module;
@@ -42,4 +42,4 @@ const calendar_module = {
42
42
  "range-middle": "range-middle-ZVXPRk",
43
43
  rangeMiddle: "range-middle-ZVXPRk"
44
44
  };
45
- export { calendar_module as default };
45
+ export default calendar_module;
@@ -22,4 +22,4 @@ const checkbox_module = {
22
22
  warning: "warning-leHmkw",
23
23
  danger: "danger-LGwa4G"
24
24
  };
25
- export { checkbox_module as default };
25
+ export default checkbox_module;
@@ -5,4 +5,4 @@ const error_text_module = {
5
5
  md: "md-b7GT8M",
6
6
  lg: "lg-q2oWv7"
7
7
  };
8
- export { error_text_module as default };
8
+ export default error_text_module;
@@ -5,4 +5,4 @@ const help_text_module = {
5
5
  md: "md-BEtXW1",
6
6
  lg: "lg-han8YY"
7
7
  };
8
- export { help_text_module as default };
8
+ export default help_text_module;
@@ -4,4 +4,4 @@ const input_adornment_module = {
4
4
  start: "start-hcDqEk",
5
5
  end: "end-j0ZhyO"
6
6
  };
7
- export { input_adornment_module as default };
7
+ export default input_adornment_module;
@@ -31,4 +31,4 @@ const input_module = {
31
31
  warning: "warning-mHL8O2",
32
32
  danger: "danger-Rzx3WQ"
33
33
  };
34
- export { input_module as default };
34
+ export default input_module;
@@ -3,4 +3,4 @@ const label_module = {
3
3
  label: "label-Q88hWY",
4
4
  required: "required-uod5eu"
5
5
  };
6
- export { label_module as default };
6
+ export default label_module;
@@ -29,4 +29,4 @@ const radio_group_RadioGroup = ({ ref: forwardedRef, className, direction = 'col
29
29
  ...props,
30
30
  children: children
31
31
  });
32
- export { radio_group_RadioGroup as RadioGroup, RadioGroupItem };
32
+ export { RadioGroupItem, radio_group_RadioGroup as RadioGroup };
@@ -17,4 +17,4 @@ const radio_group_module = {
17
17
  warning: "warning-mURb_m",
18
18
  danger: "danger-OJLXV7"
19
19
  };
20
- export { radio_group_module as default };
20
+ export default radio_group_module;
@@ -81,4 +81,4 @@ const SelectItem = ({ ref: forwardedRef, children, className, ...props })=>/*#__
81
81
  ]
82
82
  });
83
83
  SelectItem.displayName = 'SelectItem';
84
- export { select_Select as Select, SelectItem };
84
+ export { SelectItem, select_Select as Select };
@@ -20,4 +20,4 @@ const select_module = {
20
20
  "select-item-indicator": "select-item-indicator-nXFGV7",
21
21
  selectItemIndicator: "select-item-indicator-nXFGV7"
22
22
  };
23
- export { select_module as default };
23
+ export default select_module;
@@ -4,4 +4,4 @@ const text_area_module = {
4
4
  textArea: "text-area-P_aQjC",
5
5
  underlined: "underlined-a9hkur"
6
6
  };
7
- export { text_area_module as default };
7
+ export default text_area_module;
@@ -1,30 +1,38 @@
1
1
  ---
2
- // SEE: uikit/src/styles/components/hamburger.css
2
+ // NOTE: In Astro, open/closed state is managed externally
3
+ // (e.g. via nanostores). Toggle the 'infonomic-hamburger-open'
4
+ // class on the button and update aria-expanded from client JS.
3
5
 
4
- // NOTE: we don't use open or color props in Astro.
5
- // Instead we set open / closed state via nanostores.
6
- // and then apply global classes according.
7
- // Class overrides for inner span colors are set in
8
- // Astro app.css
9
-
10
- interface HamburgerProps {
6
+ interface Props {
11
7
  class?: string
8
+ colorScheme?: 'auto' | 'onDark' | 'onLight'
12
9
  ariaLabel?: string
13
10
  ariaControls?: string
14
11
  }
15
12
 
16
- const { class: className, ariaLabel, ariaControls } = Astro.props as HamburgerProps
13
+ import styles from './hamburger.module.css'
14
+
15
+ const {
16
+ class: className,
17
+ colorScheme = 'auto',
18
+ ariaLabel = 'Toggle menu',
19
+ ariaControls,
20
+ ...rest
21
+ } = Astro.props as Props
22
+
23
+ const colorSchemeClass =
24
+ colorScheme === 'onDark' ? styles.onDark : colorScheme === 'onLight' ? styles.onLight : undefined
17
25
  ---
18
26
 
19
27
  <button
20
- id="component--hamburger"
21
- class:list={['component--hamburger', className]}
22
- tabindex="0"
28
+ type="button"
29
+ class:list={['infonomic-hamburger', styles.hamburger, colorSchemeClass, className]}
23
30
  aria-label={ariaLabel}
24
31
  aria-controls={ariaControls}
25
- aria-haspopup="true"
32
+ aria-expanded="false"
33
+ {...rest}
26
34
  >
27
- <span class="box" aria-hidden="true">
28
- <span class="inner"></span>
35
+ <span class:list={['infonomic-hamburger-box', styles.box]} aria-hidden="true">
36
+ <span class:list={['infonomic-hamburger-inner', styles.inner]}></span>
29
37
  </span>
30
38
  </button>
@@ -1,11 +1,13 @@
1
1
  import type React from 'react';
2
- interface HamburgerProps {
2
+ type ColorScheme = 'auto' | 'onDark' | 'onLight';
3
+ export interface HamburgerProps {
3
4
  className?: string;
4
- color?: string;
5
- activeBorderColor?: string;
6
- open: boolean;
7
- onChange: (event: React.MouseEvent<HTMLButtonElement> | null) => void;
5
+ colorScheme?: ColorScheme;
6
+ open?: boolean;
7
+ onChange?: (open: boolean) => void;
8
+ ariaLabel?: string;
9
+ ariaControls?: string;
8
10
  }
9
- export declare function Hamburger({ className, color, activeBorderColor, open, onChange, ...other }: HamburgerProps): React.JSX.Element;
11
+ export declare function Hamburger({ className, colorScheme, open, onChange, ariaLabel, ariaControls, ...other }: HamburgerProps): React.JSX.Element;
10
12
  export {};
11
13
  //# sourceMappingURL=hamburger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hamburger.d.ts","sourceRoot":"","sources":["../../../src/components/hamburger/hamburger.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI,KAAK,IAAI,CAAA;CACtE;AAED,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,KAAiD,EACjD,iBAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA2CpC"}
1
+ {"version":3,"file":"hamburger.d.ts","sourceRoot":"","sources":["../../../src/components/hamburger/hamburger.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,KAAK,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEhD,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,WAAoB,EACpB,IAAY,EACZ,QAAQ,EACR,SAAyB,EACzB,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6CpC"}
@@ -1,47 +1,43 @@
1
1
  "use client";
2
2
  import { jsx } from "react/jsx-runtime";
3
- import { useCallback, useEffect, useState } from "react";
3
+ import { useCallback, useEffect } from "react";
4
4
  import classnames from "classnames";
5
- function Hamburger({ className, color = 'bg-white before:bg-white after:bg-white', activeBorderColor, open, onChange, ...other }) {
6
- const [isOpen, setIsOpen] = useState(false);
7
- const handleClick = (event)=>{
8
- setIsOpen(!isOpen);
9
- onChange(event);
5
+ import hamburger_module from "./hamburger.module.js";
6
+ function Hamburger({ className, colorScheme = 'auto', open = false, onChange, ariaLabel = 'Toggle menu', ariaControls, ...other }) {
7
+ const handleClick = ()=>{
8
+ onChange?.(!open);
10
9
  };
11
10
  const handleEscapeKey = useCallback((event)=>{
12
- if ('Escape' === event.key) {
13
- if (isOpen) {
14
- setIsOpen(false);
15
- onChange(null);
16
- }
17
- }
11
+ if ('Escape' === event.key && open) onChange?.(false);
18
12
  }, [
19
- isOpen,
13
+ open,
20
14
  onChange
21
15
  ]);
22
16
  useEffect(()=>{
23
- setIsOpen(open);
24
17
  document.addEventListener('keydown', handleEscapeKey, false);
25
18
  return ()=>{
26
19
  document.removeEventListener('keydown', handleEscapeKey, false);
27
20
  };
28
21
  }, [
29
- open,
30
22
  handleEscapeKey
31
23
  ]);
32
24
  return /*#__PURE__*/ jsx("button", {
25
+ type: "button",
33
26
  onClick: handleClick,
34
- className: classnames(`component--hamburger ${isOpen ? 'is_active' : ''}`, className),
35
- tabIndex: 0,
36
- "aria-label": "Open main menu",
37
- "aria-controls": "main-menu",
38
- "aria-haspopup": "true",
27
+ className: classnames('infonomic-hamburger', hamburger_module.hamburger, {
28
+ [hamburger_module.open]: open,
29
+ [hamburger_module.onDark]: 'onDark' === colorScheme,
30
+ [hamburger_module.onLight]: 'onLight' === colorScheme
31
+ }, className),
32
+ "aria-label": ariaLabel,
33
+ "aria-controls": ariaControls,
34
+ "aria-expanded": open,
39
35
  ...other,
40
36
  children: /*#__PURE__*/ jsx("span", {
41
- className: "box",
37
+ className: classnames('infonomic-hamburger-box', hamburger_module.box),
42
38
  "aria-hidden": "true",
43
39
  children: /*#__PURE__*/ jsx("span", {
44
- className: classnames('inner', color)
40
+ className: classnames('infonomic-hamburger-inner', hamburger_module.inner)
45
41
  })
46
42
  })
47
43
  });
@@ -0,0 +1,142 @@
1
+ @layer infonomic-base,
2
+ infonomic-functional,
3
+ infonomic-utilities,
4
+ infonomic-theme,
5
+ infonomic-typography,
6
+ infonomic-components;
7
+
8
+ @layer infonomic-components {
9
+
10
+ .hamburger,
11
+ :global(.infonomic-hamburger) {
12
+ --hamburger-color: currentColor;
13
+ --hamburger-focus-ring-color: currentColor;
14
+
15
+ display: flex;
16
+ position: relative;
17
+ align-items: center;
18
+ justify-content: center;
19
+ z-index: 200;
20
+ width: 42px;
21
+ height: 34px;
22
+ overflow: hidden;
23
+ cursor: pointer;
24
+ transition-property: opacity, filter;
25
+ transition-duration: 0.15s;
26
+ transition-timing-function: ease;
27
+ font: inherit;
28
+ color: inherit;
29
+ text-transform: none;
30
+ background-color: transparent;
31
+ border: 0;
32
+ margin: 0;
33
+ padding: 0;
34
+ border-radius: var(--border-radius-sm);
35
+ }
36
+
37
+ .hamburger:focus-visible,
38
+ :global(.infonomic-hamburger):focus-visible {
39
+ outline: 2px solid var(--hamburger-focus-ring-color);
40
+ outline-offset: 2px;
41
+ }
42
+
43
+ /* Box container for the bars */
44
+ .box,
45
+ :global(.infonomic-hamburger-box) {
46
+ width: 24px;
47
+ height: 24px;
48
+ display: block;
49
+ position: relative;
50
+ pointer-events: none;
51
+ }
52
+
53
+ /* Inner bar + ::before/::after pseudo-elements form the 3 lines */
54
+ .inner,
55
+ :global(.infonomic-hamburger-inner) {
56
+ display: block;
57
+ top: 50%;
58
+ margin-top: -1px;
59
+ transition-duration: 0.075s;
60
+ transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
61
+ }
62
+
63
+ .inner,
64
+ .inner::before,
65
+ .inner::after,
66
+ :global(.infonomic-hamburger-inner),
67
+ :global(.infonomic-hamburger-inner)::before,
68
+ :global(.infonomic-hamburger-inner)::after {
69
+ position: absolute;
70
+ width: 24px;
71
+ height: 2px;
72
+ border-radius: 0;
73
+ background-color: var(--hamburger-color);
74
+ transition-property: transform;
75
+ transition-duration: 0.15s;
76
+ transition-timing-function: ease;
77
+ }
78
+
79
+ .inner::before,
80
+ .inner::after,
81
+ :global(.infonomic-hamburger-inner)::before,
82
+ :global(.infonomic-hamburger-inner)::after {
83
+ content: "";
84
+ display: block;
85
+ }
86
+
87
+ .inner::before,
88
+ :global(.infonomic-hamburger-inner)::before {
89
+ top: -8px;
90
+ transition:
91
+ top 0.075s 0.12s ease,
92
+ opacity 0.075s ease;
93
+ }
94
+
95
+ .inner::after,
96
+ :global(.infonomic-hamburger-inner)::after {
97
+ bottom: -8px;
98
+ transition:
99
+ bottom 0.075s 0.12s ease,
100
+ transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
101
+ }
102
+
103
+ /* Open state */
104
+ .open .inner,
105
+ :global(.infonomic-hamburger-open) :global(.infonomic-hamburger-inner) {
106
+ transform: rotate(45deg);
107
+ transition-delay: 0.12s;
108
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
109
+ }
110
+
111
+ .open .inner::before,
112
+ :global(.infonomic-hamburger-open) :global(.infonomic-hamburger-inner)::before {
113
+ top: 0;
114
+ opacity: 0;
115
+ transition:
116
+ top 0.075s ease,
117
+ opacity 0.075s 0.12s ease;
118
+ }
119
+
120
+ .open .inner::after,
121
+ :global(.infonomic-hamburger-open) :global(.infonomic-hamburger-inner)::after {
122
+ bottom: 0;
123
+ transform: rotate(-90deg);
124
+ transition:
125
+ bottom 0.075s ease,
126
+ transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
127
+ }
128
+
129
+ /* Color scheme: onDark (white bars for dark backgrounds) */
130
+ .onDark,
131
+ :global(.infonomic-hamburger-on-dark) {
132
+ --hamburger-color: white;
133
+ --hamburger-focus-ring-color: rgba(255, 255, 255, 0.7);
134
+ }
135
+
136
+ /* Color scheme: onLight (dark bars for light backgrounds) */
137
+ .onLight,
138
+ :global(.infonomic-hamburger-on-light) {
139
+ --hamburger-color: var(--foreground, #1a1a1a);
140
+ --hamburger-focus-ring-color: var(--foreground, #1a1a1a);
141
+ }
142
+ }
@@ -0,0 +1,10 @@
1
+ import "./hamburger_module.css";
2
+ const hamburger_module = {
3
+ hamburger: "hamburger-CFjgP7",
4
+ box: "box-E9EZxm",
5
+ inner: "inner-G4BGMv",
6
+ open: "open-OQO244",
7
+ onDark: "onDark-ZAa2Qt",
8
+ onLight: "onLight-s1LZFP"
9
+ };
10
+ export default hamburger_module;