@telefonica/mistica 17.3.0 → 17.4.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.
- package/css/blau.css +24 -16
- package/css/esimflag.css +35 -18
- package/css/mistica.css +1 -1
- package/css/movistar.css +29 -18
- package/css/o2.css +26 -18
- package/css/telefonica.css +38 -18
- package/css/vivo-evolution.css +66 -20
- package/css/vivo.css +26 -18
- package/dist/accordion.css-mistica.js +10 -10
- package/dist/align.css-mistica.js +1 -1
- package/dist/autocomplete.css-mistica.js +4 -4
- package/dist/avatar.css-mistica.js +1 -1
- package/dist/badge.css-mistica.js +1 -1
- package/dist/box.css-mistica.js +13 -13
- package/dist/boxed.css-mistica.js +24 -24
- package/dist/boxed.d.ts +9 -0
- package/dist/boxed.js +18 -15
- package/dist/button-group.css-mistica.js +1 -1
- package/dist/button-layout.css-mistica.js +19 -19
- package/dist/button.css-mistica.js +50 -50
- package/dist/callout.css-mistica.js +13 -13
- package/dist/card-internal.css-mistica.js +22 -22
- package/dist/carousel.css-mistica.js +30 -30
- package/dist/checkbox.css-mistica.js +15 -15
- package/dist/chip.css-mistica.js +18 -18
- package/dist/circle.css-mistica.js +2 -2
- package/dist/community/advanced-data-card.css-mistica.js +19 -19
- package/dist/community/ai-card.css-mistica.js +12 -12
- package/dist/community/blocks.css-mistica.js +1 -1
- package/dist/community/cyber/example-component.css-mistica.js +1 -1
- package/dist/community/example-component.css-mistica.js +2 -2
- package/dist/community/skins/cyber-skin.js +19 -17
- package/dist/counter.css-mistica.js +6 -6
- package/dist/cover-hero.css-mistica.js +7 -7
- package/dist/credit-card-number-field.css-mistica.js +3 -3
- package/dist/date-field.css-mistica.js +1 -1
- package/dist/date-time-picker.css-mistica.js +1 -1
- package/dist/dialog.css-mistica.js +10 -10
- package/dist/divider.css-mistica.js +5 -5
- package/dist/double-field.css-mistica.js +2 -2
- package/dist/drawer.css-mistica.js +4 -4
- package/dist/empty-state-card.css-mistica.js +1 -1
- package/dist/empty-state.css-mistica.js +8 -8
- package/dist/fade-in.css-mistica.js +1 -1
- package/dist/feedback.css-mistica.js +5 -5
- package/dist/file-upload.css-mistica.js +10 -10
- package/dist/fixed-footer-layout.css-mistica.js +6 -6
- package/dist/form.css-mistica.js +1 -1
- package/dist/generated/mistica-icons/icon-panel-collapse-regular.js +165 -0
- package/dist/generated/mistica-icons/icon-panel-expand-regular.js +159 -0
- package/dist/grid-layout.css-mistica.js +3 -3
- package/dist/grid.css-mistica.js +120 -120
- package/dist/header.css-mistica.js +1 -1
- package/dist/hero.css-mistica.js +4 -4
- package/dist/horizontal-scroll.css-mistica.js +1 -1
- package/dist/icon-button.css-mistica.js +53 -53
- package/dist/icons/icon-chevron.css-mistica.js +2 -2
- package/dist/icons/icon-error.css-mistica.js +1 -1
- package/dist/image.css-mistica.js +8 -8
- package/dist/index.d.ts +5 -0
- package/dist/index.js +10 -1
- package/dist/inline.css-mistica.js +11 -11
- package/dist/list.css-mistica.js +40 -28
- package/dist/list.css.d.ts +2 -0
- package/dist/list.d.ts +3 -1
- package/dist/list.js +176 -165
- package/dist/loading-bar.css-mistica.js +1 -1
- package/dist/loading-screen.css-mistica.js +12 -12
- package/dist/logo.css-mistica.js +5 -5
- package/dist/menu.css-mistica.js +13 -13
- package/dist/mobile-navigation-menu.d.ts +26 -0
- package/dist/mobile-navigation-menu.js +145 -0
- package/dist/mosaic.css-mistica.js +1 -1
- package/dist/navigation-bar.css-mistica.js +31 -97
- package/dist/navigation-bar.css.d.ts +0 -24
- package/dist/navigation-bar.d.ts +3 -38
- package/dist/navigation-bar.js +399 -586
- package/dist/navigation-breadcrumbs.css-mistica.js +1 -1
- package/dist/navigation-shared.css-mistica.js +79 -0
- package/dist/navigation-shared.css.d.ts +26 -0
- package/dist/navigation-shared.d.ts +66 -0
- package/dist/navigation-shared.js +264 -0
- package/dist/package-version.js +1 -1
- package/dist/pagination.css-mistica.js +22 -22
- package/dist/pin-field.css-mistica.js +4 -4
- package/dist/popover.css-mistica.js +1 -1
- package/dist/portal.d.ts +1 -1
- package/dist/progress-bar.css-mistica.js +7 -7
- package/dist/radio-button.css-mistica.js +27 -27
- package/dist/rating.css-mistica.js +4 -4
- package/dist/responsive-layout.css-mistica.js +6 -6
- package/dist/screen-reader-only.css-mistica.js +1 -1
- package/dist/select.css-mistica.js +21 -21
- package/dist/sheet-action-row.css-mistica.js +1 -1
- package/dist/sheet-common.css-mistica.js +7 -7
- package/dist/sheet-info.css-mistica.js +1 -1
- package/dist/sidenav-bar-context.d.ts +25 -0
- package/dist/sidenav-bar-context.js +72 -0
- package/dist/sidenav-bar-data.d.ts +15 -0
- package/dist/sidenav-bar-data.js +38 -0
- package/dist/sidenav-bar-first-level-item.d.ts +42 -0
- package/dist/sidenav-bar-first-level-item.js +174 -0
- package/dist/sidenav-bar-keyboard.d.ts +13 -0
- package/dist/sidenav-bar-keyboard.js +314 -0
- package/dist/sidenav-bar-layout.css-mistica.js +28 -0
- package/dist/sidenav-bar-layout.css.d.ts +5 -0
- package/dist/sidenav-bar-layout.d.ts +22 -0
- package/dist/sidenav-bar-layout.js +103 -0
- package/dist/sidenav-bar-mobile.d.ts +24 -0
- package/dist/sidenav-bar-mobile.js +332 -0
- package/dist/sidenav-bar-motion.d.ts +32 -0
- package/dist/sidenav-bar-motion.js +84 -0
- package/dist/sidenav-bar-panel.d.ts +31 -0
- package/dist/sidenav-bar-panel.js +208 -0
- package/dist/sidenav-bar-row.d.ts +82 -0
- package/dist/sidenav-bar-row.js +230 -0
- package/dist/sidenav-bar-second-level-item.d.ts +43 -0
- package/dist/sidenav-bar-second-level-item.js +89 -0
- package/dist/sidenav-bar-section.d.ts +23 -0
- package/dist/sidenav-bar-section.js +167 -0
- package/dist/sidenav-bar-types.d.ts +192 -0
- package/dist/sidenav-bar-types.js +11 -0
- package/dist/sidenav-bar.css-mistica.js +325 -0
- package/dist/sidenav-bar.css.d.ts +93 -0
- package/dist/sidenav-bar.d.ts +102 -0
- package/dist/sidenav-bar.js +492 -0
- package/dist/skeletons.css-mistica.js +8 -8
- package/dist/skins/blau.js +12 -8
- package/dist/skins/esimflag.js +13 -9
- package/dist/skins/movistar.js +13 -9
- package/dist/skins/o2.js +13 -9
- package/dist/skins/skin-contract.css-mistica.js +735 -731
- package/dist/skins/skin-contract.css.d.ts +4 -0
- package/dist/skins/telefonica.js +13 -9
- package/dist/skins/types/colors.d.ts +2 -0
- package/dist/skins/vivo-evolution.js +14 -10
- package/dist/skins/vivo.js +13 -9
- package/dist/skip-link.css-mistica.js +2 -2
- package/dist/slider.css-mistica.js +24 -24
- package/dist/snackbar.css-mistica.js +14 -14
- package/dist/spinner.css-mistica.js +1 -1
- package/dist/square.css-mistica.js +1 -1
- package/dist/stack.css-mistica.js +5 -5
- package/dist/stacking-group.css-mistica.js +1 -1
- package/dist/stepper.css-mistica.js +9 -9
- package/dist/switch-component.css-mistica.js +48 -42
- package/dist/switch-component.css.d.ts +2 -0
- package/dist/switch-component.js +18 -18
- package/dist/table.css-mistica.js +9 -9
- package/dist/tabs.css-mistica.js +22 -22
- package/dist/tag.css-mistica.js +3 -3
- package/dist/text-field-base.css-mistica.js +19 -19
- package/dist/text-field-components.css-mistica.js +10 -10
- package/dist/text-link.css-mistica.js +6 -6
- package/dist/text-tokens.d.ts +6 -0
- package/dist/text-tokens.js +157 -133
- package/dist/text.css-mistica.js +6 -6
- package/dist/timeline.css-mistica.js +11 -11
- package/dist/timer.css-mistica.js +6 -6
- package/dist/tooltip.css-mistica.js +2 -2
- package/dist/touchable.css-mistica.js +4 -4
- package/dist/utils/aspect-ratio-support.css-mistica.js +2 -2
- package/dist/video.css-mistica.js +1 -1
- package/dist/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +1 -1
- package/dist-es/accordion.css-mistica.js +7 -7
- package/dist-es/align.css-mistica.js +1 -1
- package/dist-es/autocomplete.css-mistica.js +2 -2
- package/dist-es/avatar.css-mistica.js +1 -1
- package/dist-es/badge.css-mistica.js +1 -1
- package/dist-es/box.css-mistica.js +13 -13
- package/dist-es/boxed.css-mistica.js +23 -23
- package/dist-es/boxed.js +25 -25
- package/dist-es/button-group.css-mistica.js +1 -1
- package/dist-es/button-layout.css-mistica.js +16 -16
- package/dist-es/button.css-mistica.js +38 -38
- package/dist-es/callout.css-mistica.js +12 -12
- package/dist-es/card-internal.css-mistica.js +17 -17
- package/dist-es/carousel.css-mistica.js +10 -10
- package/dist-es/checkbox.css-mistica.js +13 -13
- package/dist-es/chip.css-mistica.js +17 -17
- package/dist-es/circle.css-mistica.js +2 -2
- package/dist-es/community/advanced-data-card.css-mistica.js +7 -7
- package/dist-es/community/ai-card.css-mistica.js +4 -4
- package/dist-es/community/blocks.css-mistica.js +1 -1
- package/dist-es/community/cyber/example-component.css-mistica.js +1 -1
- package/dist-es/community/example-component.css-mistica.js +2 -2
- package/dist-es/community/skins/cyber-skin.js +19 -17
- package/dist-es/counter.css-mistica.js +2 -2
- package/dist-es/cover-hero.css-mistica.js +4 -4
- package/dist-es/credit-card-number-field.css-mistica.js +3 -3
- package/dist-es/date-field.css-mistica.js +1 -1
- package/dist-es/date-time-picker.css-mistica.js +1 -1
- package/dist-es/dialog.css-mistica.js +5 -5
- package/dist-es/divider.css-mistica.js +5 -5
- package/dist-es/double-field.css-mistica.js +2 -2
- package/dist-es/drawer.css-mistica.js +2 -2
- package/dist-es/empty-state-card.css-mistica.js +1 -1
- package/dist-es/empty-state.css-mistica.js +7 -7
- package/dist-es/fade-in.css-mistica.js +1 -1
- package/dist-es/feedback.css-mistica.js +2 -2
- package/dist-es/file-upload.css-mistica.js +8 -8
- package/dist-es/fixed-footer-layout.css-mistica.js +3 -3
- package/dist-es/form.css-mistica.js +1 -1
- package/dist-es/generated/mistica-icons/icon-panel-collapse-regular.js +115 -0
- package/dist-es/generated/mistica-icons/icon-panel-expand-regular.js +109 -0
- package/dist-es/grid-layout.css-mistica.js +3 -3
- package/dist-es/grid.css-mistica.js +120 -120
- package/dist-es/header.css-mistica.js +1 -1
- package/dist-es/hero.css-mistica.js +3 -3
- package/dist-es/horizontal-scroll.css-mistica.js +1 -1
- package/dist-es/icon-button.css-mistica.js +53 -53
- package/dist-es/icons/icon-chevron.css-mistica.js +2 -2
- package/dist-es/icons/icon-error.css-mistica.js +1 -1
- package/dist-es/image.css-mistica.js +4 -4
- package/dist-es/index.js +2279 -2276
- package/dist-es/inline.css-mistica.js +11 -11
- package/dist-es/list.css-mistica.js +8 -2
- package/dist-es/list.js +275 -264
- package/dist-es/loading-bar.css-mistica.js +1 -1
- package/dist-es/loading-screen.css-mistica.js +5 -5
- package/dist-es/logo.css-mistica.js +5 -5
- package/dist-es/menu.css-mistica.js +13 -13
- package/dist-es/mobile-navigation-menu.js +90 -0
- package/dist-es/mosaic.css-mistica.js +1 -1
- package/dist-es/navigation-bar.css-mistica.js +11 -20
- package/dist-es/navigation-bar.js +469 -656
- package/dist-es/navigation-breadcrumbs.css-mistica.js +1 -1
- package/dist-es/navigation-shared.css-mistica.js +11 -0
- package/dist-es/navigation-shared.js +192 -0
- package/dist-es/package-version.js +1 -1
- package/dist-es/pagination.css-mistica.js +19 -19
- package/dist-es/pin-field.css-mistica.js +2 -2
- package/dist-es/popover.css-mistica.js +1 -1
- package/dist-es/progress-bar.css-mistica.js +7 -7
- package/dist-es/radio-button.css-mistica.js +22 -22
- package/dist-es/rating.css-mistica.js +3 -3
- package/dist-es/responsive-layout.css-mistica.js +6 -6
- package/dist-es/screen-reader-only.css-mistica.js +1 -1
- package/dist-es/select.css-mistica.js +18 -18
- package/dist-es/sheet-action-row.css-mistica.js +1 -1
- package/dist-es/sheet-common.css-mistica.js +2 -2
- package/dist-es/sheet-info.css-mistica.js +1 -1
- package/dist-es/sidenav-bar-context.js +14 -0
- package/dist-es/sidenav-bar-data.js +12 -0
- package/dist-es/sidenav-bar-first-level-item.js +124 -0
- package/dist-es/sidenav-bar-keyboard.js +253 -0
- package/dist-es/sidenav-bar-layout.css-mistica.js +2 -0
- package/dist-es/sidenav-bar-layout.js +86 -0
- package/dist-es/sidenav-bar-mobile.js +277 -0
- package/dist-es/sidenav-bar-motion.js +26 -0
- package/dist-es/sidenav-bar-panel.js +146 -0
- package/dist-es/sidenav-bar-row.js +208 -0
- package/dist-es/sidenav-bar-second-level-item.js +72 -0
- package/dist-es/sidenav-bar-section.js +112 -0
- package/dist-es/sidenav-bar-types.js +2 -0
- package/dist-es/sidenav-bar.css-mistica.js +74 -0
- package/dist-es/sidenav-bar.js +429 -0
- package/dist-es/skeletons.css-mistica.js +7 -7
- package/dist-es/skins/blau.js +12 -8
- package/dist-es/skins/esimflag.js +13 -9
- package/dist-es/skins/movistar.js +13 -9
- package/dist-es/skins/o2.js +13 -9
- package/dist-es/skins/skin-contract.css-mistica.js +735 -731
- package/dist-es/skins/telefonica.js +13 -9
- package/dist-es/skins/vivo-evolution.js +14 -10
- package/dist-es/skins/vivo.js +13 -9
- package/dist-es/skip-link.css-mistica.js +2 -2
- package/dist-es/slider.css-mistica.js +20 -20
- package/dist-es/snackbar.css-mistica.js +5 -5
- package/dist-es/spinner.css-mistica.js +1 -1
- package/dist-es/square.css-mistica.js +1 -1
- package/dist-es/stack.css-mistica.js +5 -5
- package/dist-es/stacking-group.css-mistica.js +1 -1
- package/dist-es/stepper.css-mistica.js +3 -3
- package/dist-es/style.css +1 -1
- package/dist-es/switch-component.css-mistica.js +37 -37
- package/dist-es/switch-component.js +26 -26
- package/dist-es/table.css-mistica.js +9 -9
- package/dist-es/tabs.css-mistica.js +19 -19
- package/dist-es/tag.css-mistica.js +2 -2
- package/dist-es/text-field-base.css-mistica.js +17 -17
- package/dist-es/text-field-components.css-mistica.js +4 -4
- package/dist-es/text-link.css-mistica.js +6 -6
- package/dist-es/text-tokens.js +82 -67
- package/dist-es/text.css-mistica.js +6 -6
- package/dist-es/timeline.css-mistica.js +10 -10
- package/dist-es/timer.css-mistica.js +6 -6
- package/dist-es/tooltip.css-mistica.js +2 -2
- package/dist-es/touchable.css-mistica.js +2 -2
- package/dist-es/utils/aspect-ratio-support.css-mistica.js +2 -2
- package/dist-es/video.css-mistica.js +1 -1
- package/dist-es/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +1 -1
- package/package.json +2 -1
- package/src/boxed.css.ts +1 -0
- package/src/boxed.tsx +18 -5
- package/src/callout.css.ts +4 -2
- package/src/community/skins/cyber-skin.tsx +19 -16
- package/src/index.tsx +14 -0
- package/src/list.css.ts +36 -1
- package/src/list.tsx +370 -344
- package/src/mobile-navigation-menu.tsx +168 -0
- package/src/navigation-bar.css.ts +2 -267
- package/src/navigation-bar.tsx +77 -370
- package/src/navigation-shared.css.ts +289 -0
- package/src/navigation-shared.tsx +262 -0
- package/src/package-version.tsx +1 -1
- package/src/portal.tsx +1 -1
- package/src/sidenav-bar-context.tsx +41 -0
- package/src/sidenav-bar-data.ts +49 -0
- package/src/sidenav-bar-first-level-item.tsx +203 -0
- package/src/sidenav-bar-keyboard.tsx +393 -0
- package/src/sidenav-bar-layout.css.ts +89 -0
- package/src/sidenav-bar-layout.tsx +61 -0
- package/src/sidenav-bar-mobile.tsx +302 -0
- package/src/sidenav-bar-motion.tsx +70 -0
- package/src/sidenav-bar-panel.tsx +269 -0
- package/src/sidenav-bar-row.tsx +272 -0
- package/src/sidenav-bar-second-level-item.tsx +99 -0
- package/src/sidenav-bar-section.tsx +98 -0
- package/src/sidenav-bar-types.ts +224 -0
- package/src/sidenav-bar.css.ts +1018 -0
- package/src/sidenav-bar.tsx +821 -0
- package/src/skins/blau.tsx +12 -8
- package/src/skins/esimflag.tsx +13 -9
- package/src/skins/movistar.tsx +13 -9
- package/src/skins/o2.tsx +13 -9
- package/src/skins/skin-contract.css.ts +2 -0
- package/src/skins/telefonica.tsx +13 -9
- package/src/skins/types/colors.tsx +2 -0
- package/src/skins/vivo-evolution.tsx +14 -10
- package/src/skins/vivo.tsx +13 -9
- package/src/switch-component.css.ts +20 -0
- package/src/switch-component.tsx +9 -1
- package/src/text-tokens.tsx +24 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import type { Variant } from './theme-variant-context';
|
|
2
|
+
import type { ExclusifyUnion } from './utils/utility-types';
|
|
3
|
+
import type { DataAttributes } from './utils/types';
|
|
4
|
+
import type { SidenavEntry, SidenavLogo, SidenavSlot } from './sidenav-bar-types';
|
|
5
|
+
type SidenavBarBaseProps = {
|
|
6
|
+
/**
|
|
7
|
+
* First-level entries of the body. Each entry is either a section with items, or a stand-alone item
|
|
8
|
+
* that needs no section.
|
|
9
|
+
* @see SidenavEntry
|
|
10
|
+
* @see SidenavSection
|
|
11
|
+
* @see SidenavFirstLevelItem
|
|
12
|
+
*/
|
|
13
|
+
entries?: ReadonlyArray<SidenavEntry>;
|
|
14
|
+
/** Accessible name of the navigation landmark. Defaults to a localized "Main navigation". */
|
|
15
|
+
'aria-label'?: string;
|
|
16
|
+
/** Color variant (default, brand, alternative, negative, media). @default 'default' */
|
|
17
|
+
variant?: Variant;
|
|
18
|
+
/** Width of expanded sidenav in pixels. The second column takes the same width. @default 240 */
|
|
19
|
+
width?: number;
|
|
20
|
+
/** Opens the children of a parent item in a second column, to the right of the sidenav.
|
|
21
|
+
* @default false */
|
|
22
|
+
doublePanel?: boolean;
|
|
23
|
+
/** Logo of the header. Defaults to the isotype of the skin at 32px, in both the expanded and the
|
|
24
|
+
* collapsed state. It takes true for that same default, false to hide the logo, an element of your
|
|
25
|
+
* own, or a function that receives the collapsed state and returns one logo for each state. The
|
|
26
|
+
* collapsed rail clamps the width of the logo to 32px, and the spot is at least 32px tall: a taller
|
|
27
|
+
* logo of your own makes the spot grow. The mobile top bar matches the main navigation
|
|
28
|
+
* bar: it shows the isotype at 40px, and it reports a collapsed state of false.
|
|
29
|
+
* @see SidenavLogoRenderProps */
|
|
30
|
+
logo?: SidenavLogo;
|
|
31
|
+
/** Custom content below logo/collapse in header. It takes an element, or a function that receives the
|
|
32
|
+
* collapse state and returns the content for that state.
|
|
33
|
+
* @see SidenavSlotRenderProps */
|
|
34
|
+
headerSlot?: SidenavSlot;
|
|
35
|
+
/** Custom background color of the whole sidenav: header, body, footer and second column. Use an
|
|
36
|
+
* opaque color: the header and the footer are sticky over the scrolling body, so a translucent color
|
|
37
|
+
* lets the body content show through them. */
|
|
38
|
+
background?: string;
|
|
39
|
+
/** ID of currently selected item (controlled selection). */
|
|
40
|
+
selectedItemId?: string | null;
|
|
41
|
+
/** Called when selection changes. */
|
|
42
|
+
onSelectedItemIdChange?: (id: string | null) => void;
|
|
43
|
+
dataAttributes?: DataAttributes;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Constraints enforced by the type system:
|
|
47
|
+
*
|
|
48
|
+
* - A boxed sidenav has its own edge, so the vertical right divider does not apply to it:
|
|
49
|
+
* `divider` is only accepted when `boxed` is false.
|
|
50
|
+
* - The collapsed state is either controlled through `collapsed` (requires `onCollapse`)
|
|
51
|
+
* or uncontrolled through `defaultCollapsed` (optional `onCollapse`), never both.
|
|
52
|
+
* - `showCollapseButton: false` removes the built-in collapse button, which is the only control that
|
|
53
|
+
* toggles the state from inside. Without it, the sidenav never changes the state by itself, so
|
|
54
|
+
* `onCollapse` has no event to report and `defaultCollapsed` has no state to seed: both are not
|
|
55
|
+
* allowed. That sidenav takes `collapsed` alone, and mirrors it on every render, so a control of your
|
|
56
|
+
* own (for example in a slot) still collapses it through that prop.
|
|
57
|
+
* - `fixedFooter` is only allowed when `footerSlot` is provided.
|
|
58
|
+
*/
|
|
59
|
+
type SidenavBarProps = SidenavBarBaseProps & ExclusifyUnion<{
|
|
60
|
+
/** Renders as a floating box (with own edge). Divider not applicable. */
|
|
61
|
+
boxed: true;
|
|
62
|
+
} | {
|
|
63
|
+
/** Renders as full-width. @default false */
|
|
64
|
+
boxed?: false;
|
|
65
|
+
/** Shows vertical right divider (only when boxed=false). @default true */
|
|
66
|
+
divider?: boolean;
|
|
67
|
+
}> & ExclusifyUnion<{
|
|
68
|
+
/** Controlled collapsed state. */
|
|
69
|
+
collapsed: boolean;
|
|
70
|
+
/** Handler for collapsed state changes (required for controlled mode). */
|
|
71
|
+
onCollapse: (collapsed: boolean) => void;
|
|
72
|
+
/** Renders the built-in collapse button, which lets the user toggle the state. @default true */
|
|
73
|
+
showCollapseButton?: true;
|
|
74
|
+
} | {
|
|
75
|
+
/** Initial collapsed state (uncontrolled). @default false */
|
|
76
|
+
defaultCollapsed?: boolean;
|
|
77
|
+
/** Optional handler for collapsed state changes (for logging/effects). */
|
|
78
|
+
onCollapse?: (collapsed: boolean) => void;
|
|
79
|
+
/** Renders the built-in collapse button, which lets the user toggle the state. @default true */
|
|
80
|
+
showCollapseButton?: true;
|
|
81
|
+
} | {
|
|
82
|
+
/** Collapsed state. There is no built-in button to toggle it, so the sidenav mirrors this
|
|
83
|
+
* prop on every render. Unlike `defaultCollapsed`, it is not a seed: a later change of it
|
|
84
|
+
* moves the sidenav. @default false */
|
|
85
|
+
collapsed?: boolean;
|
|
86
|
+
/** Hides the built-in collapse button. Only a change of `collapsed` moves the sidenav. */
|
|
87
|
+
showCollapseButton: false;
|
|
88
|
+
}> & ExclusifyUnion<{
|
|
89
|
+
/** Custom content in footer region (at bottom of sidenav). It takes an element, or a function
|
|
90
|
+
* that receives the collapse state and returns the content for that state.
|
|
91
|
+
* @see SidenavSlotRenderProps */
|
|
92
|
+
footerSlot: SidenavSlot;
|
|
93
|
+
/** Keep footer fixed when scrolling. @default false */
|
|
94
|
+
fixedFooter?: boolean;
|
|
95
|
+
} | {
|
|
96
|
+
/** No footer slot. */
|
|
97
|
+
footerSlot?: undefined;
|
|
98
|
+
}>;
|
|
99
|
+
declare const SidenavBar: ({ entries, "aria-label": ariaLabelProp, variant, boxed, divider, showCollapseButton, collapsed: collapsedProp, defaultCollapsed, onCollapse, doublePanel, width, logo, headerSlot, footerSlot, fixedFooter, background, selectedItemId, onSelectedItemIdChange, dataAttributes, }: SidenavBarProps) => JSX.Element;
|
|
100
|
+
export default SidenavBar;
|
|
101
|
+
export { SidenavBar };
|
|
102
|
+
export type { SidenavBarProps };
|
|
@@ -0,0 +1,492 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
function _export(target, all) {
|
|
7
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
13
|
+
get SidenavBar () {
|
|
14
|
+
return Co;
|
|
15
|
+
},
|
|
16
|
+
get default () {
|
|
17
|
+
return Co;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
const _jsxruntime = require("react/jsx-runtime");
|
|
21
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
|
22
|
+
const _classnames = /*#__PURE__*/ _interop_require_default(require("classnames"));
|
|
23
|
+
const _reacttransitiongroup = require("react-transition-group");
|
|
24
|
+
const _sidenavbarcssmistica = require("./sidenav-bar.css-mistica.js");
|
|
25
|
+
const _themevariantcontext = require("./theme-variant-context.js");
|
|
26
|
+
const _dom = require("./utils/dom.js");
|
|
27
|
+
const _css = require("./utils/css.js");
|
|
28
|
+
const _hooks = require("./hooks.js");
|
|
29
|
+
const _iconbutton = require("./icon-button.js");
|
|
30
|
+
const _logo = require("./logo.js");
|
|
31
|
+
const _iconpanelexpandregular = /*#__PURE__*/ _interop_require_default(require("./generated/mistica-icons/icon-panel-expand-regular.js"));
|
|
32
|
+
const _iconpanelcollapseregular = /*#__PURE__*/ _interop_require_default(require("./generated/mistica-icons/icon-panel-collapse-regular.js"));
|
|
33
|
+
const _sidenavbarfirstlevelitem = require("./sidenav-bar-first-level-item.js");
|
|
34
|
+
const _sidenavbarsecondlevelitem = require("./sidenav-bar-second-level-item.js");
|
|
35
|
+
const _sidenavbarsection = require("./sidenav-bar-section.js");
|
|
36
|
+
const _sidenavbarpanel = require("./sidenav-bar-panel.js");
|
|
37
|
+
const _sidenavbarmobile = require("./sidenav-bar-mobile.js");
|
|
38
|
+
const _sidenavbarmotion = require("./sidenav-bar-motion.js");
|
|
39
|
+
const _sidenavbarkeyboard = require("./sidenav-bar-keyboard.js");
|
|
40
|
+
const _sidenavbarcontext = require("./sidenav-bar-context.js");
|
|
41
|
+
const _boxed = require("./boxed.js");
|
|
42
|
+
const _sidenavbardata = require("./sidenav-bar-data.js");
|
|
43
|
+
const _texttokens = require("./text-tokens.js");
|
|
44
|
+
const _sidenavbartypes = require("./sidenav-bar-types.js");
|
|
45
|
+
function _interop_require_default(obj) {
|
|
46
|
+
return obj && obj.__esModule ? obj : {
|
|
47
|
+
default: obj
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
51
|
+
if (typeof WeakMap !== "function") return null;
|
|
52
|
+
var cacheBabelInterop = new WeakMap();
|
|
53
|
+
var cacheNodeInterop = new WeakMap();
|
|
54
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
55
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
56
|
+
})(nodeInterop);
|
|
57
|
+
}
|
|
58
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
59
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
60
|
+
return obj;
|
|
61
|
+
}
|
|
62
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
63
|
+
return {
|
|
64
|
+
default: obj
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
68
|
+
if (cache && cache.has(obj)) {
|
|
69
|
+
return cache.get(obj);
|
|
70
|
+
}
|
|
71
|
+
var newObj = {
|
|
72
|
+
__proto__: null
|
|
73
|
+
};
|
|
74
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
75
|
+
for(var key in obj){
|
|
76
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
77
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
78
|
+
if (desc && (desc.get || desc.set)) {
|
|
79
|
+
Object.defineProperty(newObj, key, desc);
|
|
80
|
+
} else {
|
|
81
|
+
newObj[key] = obj[key];
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
newObj.default = obj;
|
|
86
|
+
if (cache) {
|
|
87
|
+
cache.set(obj, newObj);
|
|
88
|
+
}
|
|
89
|
+
return newObj;
|
|
90
|
+
}
|
|
91
|
+
function _define_property(obj, key, value) {
|
|
92
|
+
if (key in obj) {
|
|
93
|
+
Object.defineProperty(obj, key, {
|
|
94
|
+
value: value,
|
|
95
|
+
enumerable: true,
|
|
96
|
+
configurable: true,
|
|
97
|
+
writable: true
|
|
98
|
+
});
|
|
99
|
+
} else {
|
|
100
|
+
obj[key] = value;
|
|
101
|
+
}
|
|
102
|
+
return obj;
|
|
103
|
+
}
|
|
104
|
+
function _object_spread(target) {
|
|
105
|
+
for(var i = 1; i < arguments.length; i++){
|
|
106
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
107
|
+
var ownKeys = Object.keys(source);
|
|
108
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
109
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
110
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
113
|
+
ownKeys.forEach(function(key) {
|
|
114
|
+
_define_property(target, key, source[key]);
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
return target;
|
|
118
|
+
}
|
|
119
|
+
function ownKeys(object, enumerableOnly) {
|
|
120
|
+
var keys = Object.keys(object);
|
|
121
|
+
if (Object.getOwnPropertySymbols) {
|
|
122
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
123
|
+
if (enumerableOnly) {
|
|
124
|
+
symbols = symbols.filter(function(sym) {
|
|
125
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
keys.push.apply(keys, symbols);
|
|
129
|
+
}
|
|
130
|
+
return keys;
|
|
131
|
+
}
|
|
132
|
+
function _object_spread_props(target, source) {
|
|
133
|
+
source = source != null ? source : {};
|
|
134
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
135
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
136
|
+
} else {
|
|
137
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
138
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
return target;
|
|
142
|
+
}
|
|
143
|
+
const be = function(e) {
|
|
144
|
+
let { standalone: r } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
145
|
+
return /* @__PURE__ */ (0, _jsxruntime.jsx)(_sidenavbarfirstlevelitem.SidenavFirstLevelItem, {
|
|
146
|
+
id: e.id,
|
|
147
|
+
label: e.label,
|
|
148
|
+
asset: e.asset,
|
|
149
|
+
showAssetWhenExpanded: e.showAssetWhenExpanded,
|
|
150
|
+
rightSlot: e.rightSlot,
|
|
151
|
+
standalone: r,
|
|
152
|
+
defaultOpen: e.defaultOpen,
|
|
153
|
+
secondLevelItems: e.children,
|
|
154
|
+
href: e.href,
|
|
155
|
+
to: e.to,
|
|
156
|
+
onPress: e.onPress,
|
|
157
|
+
newTab: e.newTab,
|
|
158
|
+
onNavigate: e.onNavigate
|
|
159
|
+
}, e.id);
|
|
160
|
+
}, De = (e, r)=>(0, _sidenavbardata.getFirstLevelItems)(e).find((a)=>{
|
|
161
|
+
var _a_children;
|
|
162
|
+
return (_a_children = a.children) === null || _a_children === void 0 ? void 0 : _a_children.some((d)=>d.id === r);
|
|
163
|
+
}), xe = (e, r)=>(0, _sidenavbardata.getFirstLevelItems)(e).find((a)=>a.id === r), Jn = (e)=>{
|
|
164
|
+
const r = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set(), d = (u, p)=>{
|
|
165
|
+
var _u_children, _u_children1;
|
|
166
|
+
r.has(u.id) ? a.add(u.id) : r.add(u.id), p > 0 && ((_u_children = u.children) === null || _u_children === void 0 ? void 0 : _u_children.length) && console.error(`SidenavItem "${u.label}" at level ${p} cannot have children. SidenavItem supports maximum 2 levels of nesting. Only level 0 items can have children.`), (_u_children1 = u.children) === null || _u_children1 === void 0 ? void 0 : _u_children1.forEach((E)=>d(E, p + 1));
|
|
167
|
+
};
|
|
168
|
+
(0, _sidenavbardata.getFirstLevelItems)(e).forEach((u)=>d(u, 0)), a.size > 0 && console.error(`SidenavBar: duplicate item IDs found: ${Array.from(a).join(", ")}. All SidenavItem ids must be unique within a SidenavBar.`);
|
|
169
|
+
}, Qn = (e)=>e.map((r, a)=>{
|
|
170
|
+
if ((0, _sidenavbardata.isSidenavSection)(r)) {
|
|
171
|
+
const d = e[a - 1], u = !!r.dividerTop && !!d && (0, _sidenavbardata.isSidenavSection)(d) && !!d.dividerBottom, p = a === 0, E = a === e.length - 1;
|
|
172
|
+
return /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
173
|
+
role: "listitem",
|
|
174
|
+
children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_sidenavbarsection.SidenavSection, {
|
|
175
|
+
title: r.title,
|
|
176
|
+
dividerTop: r.dividerTop && !p && !u,
|
|
177
|
+
dividerBottom: r.dividerBottom && !E,
|
|
178
|
+
children: r.items.map((V)=>be(V))
|
|
179
|
+
})
|
|
180
|
+
}, `${(0, _sidenavbardata.getSidenavSectionTitle)(r.title).text}-${a}`);
|
|
181
|
+
}
|
|
182
|
+
return /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
183
|
+
className: _sidenavbarcssmistica.standaloneItem,
|
|
184
|
+
role: "listitem",
|
|
185
|
+
children: be(r, {
|
|
186
|
+
standalone: !0
|
|
187
|
+
})
|
|
188
|
+
}, r.id);
|
|
189
|
+
}), Co = (param)=>{
|
|
190
|
+
let { entries: e, "aria-label": r, variant: a = "default", boxed: d = !1, divider: u = !0, showCollapseButton: p = !0, collapsed: E, defaultCollapsed: V = !1, onCollapse: M, doublePanel: c = !1, width: Q = _sidenavbarcssmistica.DEFAULT_WIDTH, logo: O, headerSlot: X, footerSlot: b, fixedFooter: T = !1, background: F, selectedItemId: v, onSelectedItemIdChange: A, dataAttributes: Y } = param;
|
|
191
|
+
const { isTabletOrSmaller: Ce } = (0, _hooks.useScreenSize)(), { componentProperties: Be, texts: W, t: _ } = (0, _hooks.useTheme)(), ee = r !== null && r !== void 0 ? r : W.sidenavLandmark || _(_texttokens.sidenavLandmark), h = (0, _sidenavbarmotion.useIsMotionOff)(), Le = (0, _themevariantcontext.normalizeVariant)((0, _themevariantcontext.useThemeVariant)()), [D, f] = _react.useState(()=>{
|
|
192
|
+
var _De;
|
|
193
|
+
var _De_id;
|
|
194
|
+
return c && e && v ? (_De_id = (_De = De(e, v)) === null || _De === void 0 ? void 0 : _De.id) !== null && _De_id !== void 0 ? _De_id : null : null;
|
|
195
|
+
}), z = E !== void 0, [Ne, Oe] = _react.useState(V), s = z ? !!E : Ne, L = _react.useRef(null), ne = _react.useRef(null), [x, Te] = _react.useState(null), [oe, te] = _react.useState(s);
|
|
196
|
+
_react.useEffect(()=>{
|
|
197
|
+
if (h) {
|
|
198
|
+
te(s);
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
const o = setTimeout(()=>te(s), _sidenavbarcssmistica.COLLAPSE_DURATION_MS);
|
|
202
|
+
return ()=>clearTimeout(o);
|
|
203
|
+
}, [
|
|
204
|
+
s,
|
|
205
|
+
h
|
|
206
|
+
]);
|
|
207
|
+
const w = s ? oe ? "collapsed" : "collapsing" : oe ? "expanding" : "expanded", [re, se] = _react.useState(null), ie = _react.useCallback((o)=>{
|
|
208
|
+
c && se(o), f(null), o && (A === null || A === void 0 ? void 0 : A(o));
|
|
209
|
+
}, [
|
|
210
|
+
c,
|
|
211
|
+
A
|
|
212
|
+
]), [we, Pe] = _react.useState(v);
|
|
213
|
+
if (v !== we && (Pe(v), re !== null && se(null), c && e && v && re !== v)) {
|
|
214
|
+
const o = De(e, v);
|
|
215
|
+
if (o) f(o.id);
|
|
216
|
+
else {
|
|
217
|
+
var _m_children;
|
|
218
|
+
const m = xe(e, v);
|
|
219
|
+
m && !((_m_children = m.children) === null || _m_children === void 0 ? void 0 : _m_children.length) && f(null);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
const [Re, ye] = _react.useState(c);
|
|
223
|
+
c !== Re && (ye(c), c || f(null));
|
|
224
|
+
var _e_length;
|
|
225
|
+
const [Ie, ke] = _react.useState((_e_length = e === null || e === void 0 ? void 0 : e.length) !== null && _e_length !== void 0 ? _e_length : 0);
|
|
226
|
+
var _e_length1, _e_length2;
|
|
227
|
+
((_e_length1 = e === null || e === void 0 ? void 0 : e.length) !== null && _e_length1 !== void 0 ? _e_length1 : 0) !== Ie && (ke((_e_length2 = e === null || e === void 0 ? void 0 : e.length) !== null && _e_length2 !== void 0 ? _e_length2 : 0), f(null)), _react.useEffect(()=>{
|
|
228
|
+
if (!c || !D) return;
|
|
229
|
+
const o = (S)=>{
|
|
230
|
+
const ve = L.current;
|
|
231
|
+
ve && (S.composedPath().includes(ve) || f(null));
|
|
232
|
+
}, m = (S)=>{
|
|
233
|
+
S.key === "Escape" && f(null);
|
|
234
|
+
};
|
|
235
|
+
return document.addEventListener("click", o), document.addEventListener("keydown", m), ()=>{
|
|
236
|
+
document.removeEventListener("click", o), document.removeEventListener("keydown", m);
|
|
237
|
+
};
|
|
238
|
+
}, [
|
|
239
|
+
c,
|
|
240
|
+
D
|
|
241
|
+
]);
|
|
242
|
+
const C = F ? {
|
|
243
|
+
backgroundColor: F
|
|
244
|
+
} : void 0, [H, Ve] = _react.useState(!1), [P, Me] = _react.useState(!1), [Fe, ae] = _react.useState(!1), U = _react.useRef(null), R = _react.useRef(null), y = _react.useRef(null);
|
|
245
|
+
_react.useEffect(()=>{
|
|
246
|
+
if (!y.current) return;
|
|
247
|
+
const o = new IntersectionObserver((param)=>{
|
|
248
|
+
let [S] = param;
|
|
249
|
+
Ve(!S.isIntersecting);
|
|
250
|
+
}, {
|
|
251
|
+
root: y.current,
|
|
252
|
+
threshold: 0,
|
|
253
|
+
rootMargin: "1px 0px 1px 0px"
|
|
254
|
+
}), m = new IntersectionObserver((param)=>{
|
|
255
|
+
let [S] = param;
|
|
256
|
+
Me(!S.isIntersecting);
|
|
257
|
+
}, {
|
|
258
|
+
root: y.current,
|
|
259
|
+
threshold: 0,
|
|
260
|
+
rootMargin: "1px 0px 1px 0px"
|
|
261
|
+
});
|
|
262
|
+
return U.current && o.observe(U.current), R.current && m.observe(R.current), ()=>{
|
|
263
|
+
o.disconnect(), m.disconnect();
|
|
264
|
+
};
|
|
265
|
+
}, []);
|
|
266
|
+
const j = (0, _sidenavbartypes.isSidenavMoving)(w), Ae = _react.useCallback(()=>{
|
|
267
|
+
if (j) return;
|
|
268
|
+
const o = !s;
|
|
269
|
+
if (!z) {
|
|
270
|
+
Oe(o), M === null || M === void 0 ? void 0 : M(o);
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
M === null || M === void 0 ? void 0 : M(o);
|
|
274
|
+
}, [
|
|
275
|
+
s,
|
|
276
|
+
j,
|
|
277
|
+
z,
|
|
278
|
+
M
|
|
279
|
+
]), We = _react.useMemo(()=>({
|
|
280
|
+
collapsed: s,
|
|
281
|
+
collapseState: w,
|
|
282
|
+
isMotionOff: h,
|
|
283
|
+
doublePanel: c,
|
|
284
|
+
panelOpenForItemId: D,
|
|
285
|
+
setPanelOpenForItemId: f,
|
|
286
|
+
selectItemAndClosePanel: ie,
|
|
287
|
+
containerRef: L,
|
|
288
|
+
selectedItemId: v !== null && v !== void 0 ? v : null
|
|
289
|
+
}), [
|
|
290
|
+
s,
|
|
291
|
+
w,
|
|
292
|
+
h,
|
|
293
|
+
c,
|
|
294
|
+
D,
|
|
295
|
+
ie,
|
|
296
|
+
L,
|
|
297
|
+
v
|
|
298
|
+
]), _e = (0, _sidenavbarkeyboard.useSidenavRailKeyboard)(L), ze = s ? _sidenavbarcssmistica.COLLAPSED_WIDTH : Q;
|
|
299
|
+
process.env.NODE_ENV !== "production" && e && Jn(e);
|
|
300
|
+
const i = (0, _themevariantcontext.normalizeVariant)(a);
|
|
301
|
+
if (Ce) return /* @__PURE__ */ (0, _jsxruntime.jsx)(_sidenavbarmobile.SidenavBarMobile, {
|
|
302
|
+
entries: e,
|
|
303
|
+
"aria-label": ee,
|
|
304
|
+
variant: i,
|
|
305
|
+
logo: O,
|
|
306
|
+
headerSlot: X,
|
|
307
|
+
footerSlot: b,
|
|
308
|
+
selectedItemId: v !== null && v !== void 0 ? v : null,
|
|
309
|
+
onSelectedItemIdChange: A,
|
|
310
|
+
dataAttributes: Y
|
|
311
|
+
});
|
|
312
|
+
const K = {
|
|
313
|
+
collapsed: s,
|
|
314
|
+
state: w
|
|
315
|
+
}, le = O === void 0 || O === !0, $ = (0, _sidenavbardata.renderSidenavLogo)(O, K, /* @__PURE__ */ (0, _jsxruntime.jsx)(_logo.Logo, {
|
|
316
|
+
size: _sidenavbarcssmistica.LOGO_SIZE,
|
|
317
|
+
type: "isotype"
|
|
318
|
+
})), de = p ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_iconbutton.IconButton, {
|
|
319
|
+
Icon: s ? _iconpanelexpandregular.default : _iconpanelcollapseregular.default,
|
|
320
|
+
type: "neutral",
|
|
321
|
+
backgroundType: "transparent",
|
|
322
|
+
small: !0,
|
|
323
|
+
onPress: Ae,
|
|
324
|
+
"aria-label": s ? W.sidenavExpand || _(_texttokens.sidenavExpand) : W.sidenavCollapse || _(_texttokens.sidenavCollapse),
|
|
325
|
+
"aria-expanded": !s
|
|
326
|
+
}) : null, q = (0, _sidenavbardata.renderSidenavSlot)(X, K), ce = (0, _sidenavbardata.renderSidenavSlot)(b, K), I = !!($ || de || q), He = d && (0, _boxed.shouldShowBoxedBorder)(i, Le, Be.showBoxedBorder), N = c && D && e ? xe(e, D) : void 0, k = N === null || N === void 0 ? void 0 : N.children, ue = !!(k === null || k === void 0 ? void 0 : k.length);
|
|
327
|
+
return N && (k === null || k === void 0 ? void 0 : k.length) && ((x === null || x === void 0 ? void 0 : x.label) !== N.label || (x === null || x === void 0 ? void 0 : x.children) !== k) && Te({
|
|
328
|
+
itemId: N.id,
|
|
329
|
+
label: N.label,
|
|
330
|
+
children: k
|
|
331
|
+
}), /* @__PURE__ */ (0, _jsxruntime.jsx)(_themevariantcontext.ThemeVariant, {
|
|
332
|
+
variant: i,
|
|
333
|
+
children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_sidenavbarcontext.SidenavBarContext.Provider, {
|
|
334
|
+
value: We,
|
|
335
|
+
children: /* @__PURE__ */ (0, _jsxruntime.jsxs)("nav", _object_spread_props(_object_spread({
|
|
336
|
+
ref: L,
|
|
337
|
+
"aria-label": ee,
|
|
338
|
+
onKeyDown: _e,
|
|
339
|
+
className: (0, _classnames.default)(_sidenavbarcssmistica.container, {
|
|
340
|
+
[_sidenavbarcssmistica.withRightDivider[i]]: u && !d,
|
|
341
|
+
[_sidenavbarcssmistica.boxed]: d,
|
|
342
|
+
[_sidenavbarcssmistica.boxedBorder]: He,
|
|
343
|
+
[_sidenavbarcssmistica.columnsWhileMoving]: j
|
|
344
|
+
}),
|
|
345
|
+
style: (0, _css.applyCssVars)({
|
|
346
|
+
[_sidenavbarcssmistica.sidenavWidthVar]: `${ze}px`,
|
|
347
|
+
[_sidenavbarcssmistica.sidenavPanelWidthVar]: `${Q}px`,
|
|
348
|
+
[_sidenavbarcssmistica.collapseDurationVar]: `${h ? 0 : _sidenavbarcssmistica.COLLAPSE_DURATION_MS}ms`,
|
|
349
|
+
[_sidenavbarcssmistica.contentDurationVar]: `${h ? 0 : _sidenavbarcssmistica.CONTENT_DURATION_MS}ms`
|
|
350
|
+
})
|
|
351
|
+
}, (0, _dom.getPrefixedDataAttributes)(_object_spread({
|
|
352
|
+
testid: "SidenavBar"
|
|
353
|
+
}, Y))), {
|
|
354
|
+
children: [
|
|
355
|
+
/* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
|
|
356
|
+
className: (0, _classnames.default)(_sidenavbarcssmistica.mainColumn, {
|
|
357
|
+
[_sidenavbarcssmistica.columnSeparator[i]]: ue || Fe
|
|
358
|
+
}),
|
|
359
|
+
children: [
|
|
360
|
+
I && /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
|
|
361
|
+
className: (0, _classnames.default)(_sidenavbarcssmistica.headerBase, _sidenavbarcssmistica.regionBackground[i], {
|
|
362
|
+
[_sidenavbarcssmistica.headerNegativeBoxedBackground]: d && i === "negative"
|
|
363
|
+
}),
|
|
364
|
+
style: C,
|
|
365
|
+
children: [
|
|
366
|
+
/* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
|
|
367
|
+
className: (0, _classnames.default)(_sidenavbarcssmistica.headerControls, {
|
|
368
|
+
[_sidenavbarcssmistica.headerControlsCollapsed]: s
|
|
369
|
+
}),
|
|
370
|
+
children: [
|
|
371
|
+
$ && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
372
|
+
className: (0, _classnames.default)(_sidenavbarcssmistica.logo, {
|
|
373
|
+
[_sidenavbarcssmistica.logoDefault]: le,
|
|
374
|
+
[_sidenavbarcssmistica.logoCollapsed]: s
|
|
375
|
+
}),
|
|
376
|
+
"aria-hidden": le || void 0,
|
|
377
|
+
children: $
|
|
378
|
+
}),
|
|
379
|
+
de
|
|
380
|
+
]
|
|
381
|
+
}),
|
|
382
|
+
q && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
383
|
+
className: (0, _classnames.default)(_sidenavbarcssmistica.headerSlot, {
|
|
384
|
+
[_sidenavbarcssmistica.headerSlotCollapsed]: s
|
|
385
|
+
}),
|
|
386
|
+
children: q
|
|
387
|
+
})
|
|
388
|
+
]
|
|
389
|
+
}),
|
|
390
|
+
/* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
|
|
391
|
+
ref: y,
|
|
392
|
+
className: (0, _classnames.default)(_sidenavbarcssmistica.bodyBase, _sidenavbarcssmistica.regionBackground[i], {
|
|
393
|
+
[_sidenavbarcssmistica.bodyWithFixedFooter]: !!b && T
|
|
394
|
+
}),
|
|
395
|
+
style: C,
|
|
396
|
+
onFocus: (o)=>{
|
|
397
|
+
const m = o.target;
|
|
398
|
+
try {
|
|
399
|
+
m.matches(":focus-visible") && m.scrollIntoView({
|
|
400
|
+
block: "nearest"
|
|
401
|
+
});
|
|
402
|
+
} catch (e) {}
|
|
403
|
+
},
|
|
404
|
+
children: [
|
|
405
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
406
|
+
ref: U
|
|
407
|
+
}),
|
|
408
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
409
|
+
className: (0, _classnames.default)(_sidenavbarcssmistica.headerScrollSpacer, {
|
|
410
|
+
[_sidenavbarcssmistica.regionBackground[i]]: I && H
|
|
411
|
+
}),
|
|
412
|
+
style: I && H ? C : void 0,
|
|
413
|
+
children: I && H && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
414
|
+
className: (0, _classnames.default)(_sidenavbarcssmistica.scrollSpacerDivider, _sidenavbarcssmistica.scrollDividerVariant[i])
|
|
415
|
+
})
|
|
416
|
+
}),
|
|
417
|
+
e && // The body is the list of the first level. Each entry is one of its items.
|
|
418
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
419
|
+
className: _sidenavbarcssmistica.bodyContent,
|
|
420
|
+
role: "list",
|
|
421
|
+
children: Qn(e)
|
|
422
|
+
}),
|
|
423
|
+
b && !T && /* @__PURE__ */ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
|
|
424
|
+
children: [
|
|
425
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
426
|
+
ref: R
|
|
427
|
+
}),
|
|
428
|
+
P && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
429
|
+
className: (0, _classnames.default)(_sidenavbarcssmistica.scrollDivider, _sidenavbarcssmistica.footerScrollDivider, _sidenavbarcssmistica.scrollDividerVariant[i])
|
|
430
|
+
}),
|
|
431
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
432
|
+
className: (0, _classnames.default)(_sidenavbarcssmistica.footerBase, _sidenavbarcssmistica.regionBackground[i], {
|
|
433
|
+
[_sidenavbarcssmistica.footerCollapsed]: s
|
|
434
|
+
}),
|
|
435
|
+
style: C,
|
|
436
|
+
children: ce
|
|
437
|
+
})
|
|
438
|
+
]
|
|
439
|
+
}),
|
|
440
|
+
b && T && /* @__PURE__ */ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
|
|
441
|
+
children: [
|
|
442
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
443
|
+
ref: R
|
|
444
|
+
}),
|
|
445
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
446
|
+
className: (0, _classnames.default)(_sidenavbarcssmistica.footerScrollSpacer, {
|
|
447
|
+
[_sidenavbarcssmistica.regionBackground[i]]: P
|
|
448
|
+
}),
|
|
449
|
+
style: P ? C : void 0,
|
|
450
|
+
children: P && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
451
|
+
className: (0, _classnames.default)(_sidenavbarcssmistica.scrollSpacerDivider, _sidenavbarcssmistica.scrollDividerVariant[i])
|
|
452
|
+
})
|
|
453
|
+
})
|
|
454
|
+
]
|
|
455
|
+
})
|
|
456
|
+
]
|
|
457
|
+
}),
|
|
458
|
+
b && T && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
459
|
+
className: (0, _classnames.default)(_sidenavbarcssmistica.footerBase, _sidenavbarcssmistica.footerFixed, _sidenavbarcssmistica.regionBackground[i], {
|
|
460
|
+
[_sidenavbarcssmistica.footerCollapsed]: s
|
|
461
|
+
}),
|
|
462
|
+
style: C,
|
|
463
|
+
children: ce
|
|
464
|
+
})
|
|
465
|
+
]
|
|
466
|
+
}),
|
|
467
|
+
x && /* @__PURE__ */ (0, _jsxruntime.jsx)(_reacttransitiongroup.CSSTransition, {
|
|
468
|
+
in: ue,
|
|
469
|
+
timeout: h ? 0 : _sidenavbarcssmistica.COLLAPSE_DURATION_MS,
|
|
470
|
+
nodeRef: ne,
|
|
471
|
+
classNames: _sidenavbarcssmistica.doublePanelTransitionClasses,
|
|
472
|
+
appear: !0,
|
|
473
|
+
mountOnEnter: !0,
|
|
474
|
+
unmountOnExit: !0,
|
|
475
|
+
onEnter: ()=>ae(!0),
|
|
476
|
+
onExited: ()=>ae(!1),
|
|
477
|
+
children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_sidenavbarpanel.SidenavDoublePanel, {
|
|
478
|
+
ref: ne,
|
|
479
|
+
itemId: x.itemId,
|
|
480
|
+
label: x.label,
|
|
481
|
+
variant: i,
|
|
482
|
+
backgroundColor: F,
|
|
483
|
+
children: x.children.map((o)=>(0, _sidenavbarsecondlevelitem.renderSidenavSecondLevelItem)(o, {
|
|
484
|
+
placement: "panel"
|
|
485
|
+
}))
|
|
486
|
+
})
|
|
487
|
+
})
|
|
488
|
+
]
|
|
489
|
+
}))
|
|
490
|
+
})
|
|
491
|
+
});
|
|
492
|
+
};
|
|
@@ -19,16 +19,16 @@ _export(exports, {
|
|
|
19
19
|
return r;
|
|
20
20
|
},
|
|
21
21
|
get line () {
|
|
22
|
-
return
|
|
22
|
+
return p;
|
|
23
23
|
},
|
|
24
24
|
get row () {
|
|
25
|
-
return
|
|
25
|
+
return n;
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
/* empty css */ /* empty css */ var o = {
|
|
29
|
-
default: "
|
|
30
|
-
alternative: "
|
|
31
|
-
brand: "
|
|
32
|
-
negative: "
|
|
33
|
-
media: "
|
|
34
|
-
}, l = "
|
|
29
|
+
default: "v17_4_zopolw5 v17_4_zopolw0 v17_4_1y2v1nf9d",
|
|
30
|
+
alternative: "v17_4_zopolw6 v17_4_zopolw1 v17_4_1y2v1nf9d",
|
|
31
|
+
brand: "v17_4_zopolw7 v17_4_zopolw2 v17_4_1y2v1nf9g",
|
|
32
|
+
negative: "v17_4_zopolw8 v17_4_zopolw3 v17_4_1y2v1nf9f",
|
|
33
|
+
media: "v17_4_zopolw9 v17_4_zopolw4 v17_4_1y2v1nf9f"
|
|
34
|
+
}, l = "v17_4_zopolwc v17_4_zopolwb v17_4_1y2v1nfrg", n = "v17_4_zopolwd v17_4_1y2v1nfre v17_4_1y2v1nfrt v17_4_1y2v1nfrn", r = "v17_4_zopolwe v17_4_1y2v1nfrw v17_4_1y2v1nfry", p = "v17_4_zopolwg v17_4_zopolwf v17_4_1y2v1nfrx";
|
package/dist/skins/blau.js
CHANGED
|
@@ -86,6 +86,8 @@ const e = {
|
|
|
86
86
|
backgroundContainerNegative: (0, _color.applyAlpha)(e.darkModeBlack, 0.4),
|
|
87
87
|
backgroundContainerBrandOverBrand: e.blauBluePrimary30,
|
|
88
88
|
backgroundContainerAlternative: e.blauBluePrimary20,
|
|
89
|
+
backgroundContainerAlternativeOverAlternative: e.white,
|
|
90
|
+
backgroundContainerAlternativeOverBrand: e.blauBluePrimary30,
|
|
89
91
|
backgroundOverlay: (0, _color.applyAlpha)(e.blauBlueSecondary, 0.75),
|
|
90
92
|
backgroundSkeleton: e.grey3,
|
|
91
93
|
backgroundSkeletonInverse: e.blauBlueSecondary,
|
|
@@ -132,12 +134,12 @@ const e = {
|
|
|
132
134
|
buttonLinkBackgroundBrandPressed: (0, _color.applyAlpha)(e.white, 0.15),
|
|
133
135
|
buttonLinkBackgroundMediaPressed: (0, _color.applyAlpha)(e.white, 0.15),
|
|
134
136
|
buttonLinkNeutralBackgroundPressed: e.grey1,
|
|
135
|
-
buttonLinkNeutralBackgroundBrand: e.white,
|
|
136
|
-
buttonLinkNeutralBackgroundBrandPressed: e.
|
|
137
|
-
buttonLinkNeutralBackgroundNegative: e.white,
|
|
138
|
-
buttonLinkNeutralBackgroundNegativePressed: e.
|
|
139
|
-
buttonLinkNeutralBackgroundMedia: e.white,
|
|
140
|
-
buttonLinkNeutralBackgroundMediaPressed: e.
|
|
137
|
+
buttonLinkNeutralBackgroundBrand: (0, _color.applyAlpha)(e.white, 0),
|
|
138
|
+
buttonLinkNeutralBackgroundBrandPressed: (0, _color.applyAlpha)(e.white, 0.15),
|
|
139
|
+
buttonLinkNeutralBackgroundNegative: (0, _color.applyAlpha)(e.white, 0),
|
|
140
|
+
buttonLinkNeutralBackgroundNegativePressed: (0, _color.applyAlpha)(e.white, 0.15),
|
|
141
|
+
buttonLinkNeutralBackgroundMedia: (0, _color.applyAlpha)(e.white, 0),
|
|
142
|
+
buttonLinkNeutralBackgroundMediaPressed: (0, _color.applyAlpha)(e.white, 0.15),
|
|
141
143
|
buttonPrimaryBackground: e.blauBlueSecondary,
|
|
142
144
|
buttonPrimaryBackgroundInverse: e.blauBlueSecondary,
|
|
143
145
|
buttonPrimaryBackgroundNegative: e.white,
|
|
@@ -203,9 +205,9 @@ const e = {
|
|
|
203
205
|
textLinkSnackbar: e.blauPurple30,
|
|
204
206
|
textLinkNeutral: e.grey6,
|
|
205
207
|
textLinkNeutralBrand: e.grey6,
|
|
206
|
-
textLinkNeutralNegative: e.
|
|
208
|
+
textLinkNeutralNegative: e.white,
|
|
207
209
|
textLinkNeutralAlternative: e.grey6,
|
|
208
|
-
textLinkNeutralMedia: e.
|
|
210
|
+
textLinkNeutralMedia: e.white,
|
|
209
211
|
textActivated: e.blauBlueSecondary,
|
|
210
212
|
textBrand: e.blauBlueSecondary,
|
|
211
213
|
inputBorder: e.grey4,
|
|
@@ -393,6 +395,8 @@ const e = {
|
|
|
393
395
|
backgroundContainerNegative: e.darkModeGrey,
|
|
394
396
|
backgroundContainerBrandOverBrand: e.darkModeGrey,
|
|
395
397
|
backgroundContainerAlternative: e.darkModeGrey,
|
|
398
|
+
backgroundContainerAlternativeOverAlternative: e.darkModeGrey,
|
|
399
|
+
backgroundContainerAlternativeOverBrand: e.darkModeGrey,
|
|
396
400
|
backgroundOverlay: (0, _color.applyAlpha)(e.darkModeGrey, 0.8),
|
|
397
401
|
backgroundSkeleton: e.darkModeGrey,
|
|
398
402
|
backgroundSkeletonInverse: e.darkModeGrey,
|