@odx/websites-react 1.1.13 → 1.1.15
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/dist/components/actions/checkbox/Checkbox.d.ts +5 -1
- package/dist/components/actions/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/actions/checkbox/Checkbox.js +18 -6
- package/dist/components/actions/checkbox/Checkbox.js.map +1 -1
- package/dist/components/actions/dropdown-menu/DropdownMenu.d.ts +2 -0
- package/dist/components/actions/dropdown-menu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/actions/dropdown-menu/DropdownMenu.js +3 -3
- package/dist/components/actions/dropdown-menu/DropdownMenu.js.map +1 -1
- package/dist/components/images-icons/icon/Icon.js +1 -1
- package/dist/components/images-icons/icon/Icon.js.map +1 -1
- package/dist/components/layout/tabBar/TabBar.d.ts.map +1 -1
- package/dist/components/layout/tabBar/TabBar.js +5 -60
- package/dist/components/layout/tabBar/TabBar.js.map +1 -1
- package/dist/components/layout/table/Table.d.ts.map +1 -1
- package/dist/components/layout/table/Table.js +6 -3
- package/dist/components/layout/table/Table.js.map +1 -1
- package/dist/hooks/emblaCarousel/useTabBarKeys.d.ts +8 -0
- package/dist/hooks/emblaCarousel/useTabBarKeys.d.ts.map +1 -0
- package/dist/hooks/emblaCarousel/useTabBarKeys.js +40 -0
- package/dist/hooks/emblaCarousel/useTabBarKeys.js.map +1 -0
- package/dist/web/index.d.ts +1 -0
- package/dist/web/index.d.ts.map +1 -1
- package/dist/web/index.js +1 -0
- package/dist/web/index.js.map +1 -1
- package/dist/web/product/productStage/ProductCtaDrawer.d.ts +23 -0
- package/dist/web/product/productStage/ProductCtaDrawer.d.ts.map +1 -0
- package/dist/web/product/productStage/ProductCtaDrawer.js +21 -0
- package/dist/web/product/productStage/ProductCtaDrawer.js.map +1 -0
- package/dist/web/product/productStage/ProductStage.d.ts +45 -0
- package/dist/web/product/productStage/ProductStage.d.ts.map +1 -0
- package/dist/web/product/productStage/ProductStage.js +44 -0
- package/dist/web/product/productStage/ProductStage.js.map +1 -0
- package/dist/web/product/productStage/ProductStageContainerThumbnail.d.ts +37 -0
- package/dist/web/product/productStage/ProductStageContainerThumbnail.d.ts.map +1 -0
- package/dist/web/product/productStage/ProductStageContainerThumbnail.js +83 -0
- package/dist/web/product/productStage/ProductStageContainerThumbnail.js.map +1 -0
- package/dist/web/product/productStage/ProductStageNavBar.d.ts +35 -0
- package/dist/web/product/productStage/ProductStageNavBar.d.ts.map +1 -0
- package/dist/web/product/productStage/ProductStageNavBar.js +49 -0
- package/dist/web/product/productStage/ProductStageNavBar.js.map +1 -0
- package/dist/web/product/productStage/index.d.ts +5 -0
- package/dist/web/product/productStage/index.d.ts.map +1 -0
- package/dist/web/product/productStage/index.js +5 -0
- package/dist/web/product/productStage/index.js.map +1 -0
- package/package.json +7 -3
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
3
|
-
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
declare const checkboxIndicatorVariants: (props?: ({
|
|
5
|
+
color?: "accent" | "primary" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
7
|
+
export interface CheckboxProps extends Omit<React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>, 'color'>, VariantProps<typeof checkboxIndicatorVariants> {
|
|
4
8
|
invalid?: boolean;
|
|
5
9
|
}
|
|
6
10
|
declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAM9D,OAAO,EAAC,YAAY,EAAM,MAAM,0BAA0B,CAAC;AAU3D,QAAA,MAAM,yBAAyB;;mFAY7B,CAAC;AAEH,MAAM,WAAW,aACf,SAAQ,IAAI,CACR,KAAK,CAAC,wBAAwB,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,EAC7D,OAAO,CACR,EACD,YAAY,CAAC,OAAO,yBAAyB,CAAC;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,QAAQ,yFA8CZ,CAAC;AAGH,OAAO,EAAC,QAAQ,EAAC,CAAC"}
|
|
@@ -5,17 +5,29 @@ import { cn } from '../../../utils';
|
|
|
5
5
|
import { BodyText } from '../../typography/bodyText';
|
|
6
6
|
import { useFieldId } from '../../../hooks';
|
|
7
7
|
import { Icon } from '../..';
|
|
8
|
+
import { cva } from 'class-variance-authority';
|
|
8
9
|
const checkboxIndicatorClasses = `
|
|
9
10
|
min-h-[1.125rem] min-w-[1.125rem] text-transparent
|
|
10
|
-
border-[1.5px] rounded-[3px]
|
|
11
|
-
data-[state=checked]:
|
|
12
|
-
disabled:cursor-not-allowed disabled:border-draeger-cool-gray-250
|
|
11
|
+
border-[1.5px] rounded-[3px]
|
|
12
|
+
data-[state=checked]:group-disabled:bg-draeger-cool-gray-250
|
|
13
|
+
group-disabled:cursor-not-allowed group-disabled:border-draeger-cool-gray-250
|
|
13
14
|
group-focus:outline group-focus:outline-2 group-focus:outline-offset-2 group-focus:outline-border-accent
|
|
14
15
|
`;
|
|
15
|
-
const
|
|
16
|
+
const checkboxIndicatorVariants = cva(checkboxIndicatorClasses, {
|
|
17
|
+
variants: {
|
|
18
|
+
color: {
|
|
19
|
+
primary: 'border-border-primary data-[state=checked]:bg-border-primary data-[state=checked]:text-draeger-white',
|
|
20
|
+
accent: 'border-border-accent data-[state=checked]:bg-border-accent data-[state=checked]:text-draeger-white',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
defaultVariants: {
|
|
24
|
+
color: 'primary',
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
const Checkbox = React.forwardRef(({ className, children, invalid, hidden, color, ...props }, ref) => {
|
|
16
28
|
const { id, labelId } = useFieldId();
|
|
17
|
-
return (_jsxs(CheckboxPrimitive.Root, { ...props, className: cn('inline-flex gap-2 items-start font-text group outline-none', hidden && 'hidden', className), ref: ref, id: id, "aria-labelledby": children ? labelId : undefined, "aria-label": children ? undefined : 'checkbox', tabIndex: 0, children: [_jsx(CheckboxPrimitive.Indicator, { forceMount: true, className: cn(
|
|
18
|
-
'data-[state=checked]:bg-draeger-error border-draeger-error'), children: _jsx(Icon, { name: "core::check", size: "sm", className: "justify-center" }) }), children && (_jsx(BodyText, { asChild: true, children: _jsxs("label", { id: labelId, htmlFor: id, className: '-mt-0.5 text-left cursor-pointer
|
|
29
|
+
return (_jsxs(CheckboxPrimitive.Root, { ...props, className: cn('inline-flex gap-2 items-start font-text group outline-none', hidden && 'hidden', className), ref: ref, id: id, "aria-labelledby": children ? labelId : undefined, "aria-label": children ? undefined : 'checkbox', tabIndex: 0, disabled: props.disabled, children: [_jsx(CheckboxPrimitive.Indicator, { forceMount: true, className: cn(checkboxIndicatorVariants({ color }), invalid &&
|
|
30
|
+
'data-[state=checked]:bg-draeger-error border-draeger-error'), children: _jsx(Icon, { name: "core::check", size: "sm", className: "justify-center" }) }), children && (_jsx(BodyText, { asChild: true, children: _jsxs("label", { id: labelId, htmlFor: id, className: '-mt-0.5 text-left cursor-pointer group-disabled:text-draeger-cool-gray-250 peer-disabled:cursor-not-allowed', children: [children, " ", props.required && ' *'] }) }))] }));
|
|
19
31
|
});
|
|
20
32
|
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
21
33
|
export { Checkbox };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../src/components/actions/checkbox/Checkbox.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAC,IAAI,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../src/components/actions/checkbox/Checkbox.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAC,IAAI,EAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAe,GAAG,EAAC,MAAM,0BAA0B,CAAC;AAE3D,MAAM,wBAAwB,GAAG;;;;;;CAMhC,CAAC;AAEF,MAAM,yBAAyB,GAAG,GAAG,CAAC,wBAAwB,EAAE;IAC9D,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,OAAO,EACL,sGAAsG;YACxG,MAAM,EACJ,oGAAoG;SACvG;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,SAAS;KACjB;CACF,CAAC,CAAC;AAWH,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAG/B,CAAC,EAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAC,EAAE,GAAG,EAAE,EAAE;IACjE,MAAM,EAAC,EAAE,EAAE,OAAO,EAAC,GAAG,UAAU,EAAE,CAAC;IAEnC,OAAO,CACL,MAAC,iBAAiB,CAAC,IAAI,OACjB,KAAK,EACT,SAAS,EAAE,EAAE,CACX,4DAA4D,EAC5D,MAAM,IAAI,QAAQ,EAClB,SAAS,CACV,EACD,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAE,qBACW,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,gBACnC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAC7C,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,KAAK,CAAC,QAAQ,aAExB,KAAC,iBAAiB,CAAC,SAAS,IAC1B,UAAU,QACV,SAAS,EAAE,EAAE,CACX,yBAAyB,CAAC,EAAC,KAAK,EAAC,CAAC,EAClC,OAAO;oBACL,4DAA4D,CAC/D,YAED,KAAC,IAAI,IAAC,IAAI,EAAC,aAAa,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,gBAAgB,GAAG,GACpC,EAC7B,QAAQ,IAAI,CACX,KAAC,QAAQ,IAAC,OAAO,kBACf,iBACE,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,EAAE,EACX,SAAS,EACP,6GAA6G,aAG9G,QAAQ,OAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,IAC5B,GACC,CACZ,IACsB,CAC1B,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,QAAQ,CAAC,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;AAE1D,OAAO,EAAC,QAAQ,EAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { AnchorPropsWithSelection } from '@headlessui/react/dist/internal/floating';
|
|
2
3
|
export interface DropdownMenuOption {
|
|
3
4
|
value: string;
|
|
4
5
|
label: string;
|
|
@@ -9,6 +10,7 @@ export interface DropdownMenuProps {
|
|
|
9
10
|
triggerElement: React.ReactNode;
|
|
10
11
|
onChange?: (value: string) => void;
|
|
11
12
|
options: DropdownMenuOption[];
|
|
13
|
+
anchor?: AnchorPropsWithSelection;
|
|
12
14
|
}
|
|
13
15
|
export interface DropdownMenuItemProps {
|
|
14
16
|
option: DropdownMenuOption;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/dropdown-menu/DropdownMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/dropdown-menu/DropdownMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EAAC,wBAAwB,EAAC,MAAM,0CAA0C,CAAC;AAElF,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC;AACD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAuBD,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAmC7C,CAAC;AAEF,OAAO,EAAC,YAAY,EAAC,CAAC"}
|
|
@@ -5,9 +5,9 @@ import { Listbox, ListboxButton, ListboxOption, ListboxOptions, Transition, } fr
|
|
|
5
5
|
import { optionsVariants, optionVariants } from '../dropdown';
|
|
6
6
|
import { cn } from '../../../utils';
|
|
7
7
|
import { BodyText } from '../../typography/bodyText';
|
|
8
|
-
const DropdownMenuItem = ({ option }) => (_jsx(ListboxOption, { title: option.label, disabled: option.disabled, value: option.value, onMouseDown: e => e.preventDefault(), className: ({ focus }) => cn(optionVariants({ size: 'md', hover: focus }), 'justify-between'), children: _jsx(BodyText, { textColor: 'inherit', variant: 'small', className: "w-full truncate", asChild:
|
|
9
|
-
const DropdownMenu = ({ triggerElement, onChange, options, }) => {
|
|
10
|
-
return (_jsxs(Listbox, { onChange: onChange, children: [_jsx(ListboxButton, { as: React.Fragment, autoFocus: false, children: triggerElement }), options.length > 0 && (_jsx(Transition, { enter: "duration-200 ease-out", enterFrom: "scale-95 opacity-0", enterTo: "scale-100 opacity-100", leave: "duration-300 ease-out", leaveFrom: "scale-100 opacity-100", leaveTo: "scale-95 opacity-0", children: _jsx(ListboxOptions, { anchor:
|
|
8
|
+
const DropdownMenuItem = ({ option }) => (_jsx(ListboxOption, { title: option.label, disabled: option.disabled, value: option.value, onMouseDown: e => e.preventDefault(), className: ({ focus }) => cn(optionVariants({ size: 'md', hover: focus }), 'justify-between'), children: _jsx(BodyText, { textColor: 'inherit', variant: 'small', className: "w-full truncate", asChild: !!option.element, children: option.element || option.label }) }));
|
|
9
|
+
const DropdownMenu = ({ triggerElement, onChange, options, anchor = { to: 'bottom' }, }) => {
|
|
10
|
+
return (_jsxs(Listbox, { onChange: onChange, children: [_jsx(ListboxButton, { as: React.Fragment, autoFocus: false, children: triggerElement }), options.length > 0 && (_jsx(Transition, { enter: "duration-200 ease-out", enterFrom: "scale-95 opacity-0", enterTo: "scale-100 opacity-100", leave: "duration-300 ease-out", leaveFrom: "scale-100 opacity-100", leaveTo: "scale-95 opacity-0", children: _jsx(ListboxOptions, { anchor: anchor, className: cn(optionsVariants({ size: 'md' }), 'min-w-56 origin-top transition'), children: options.map(option => (_jsx(DropdownMenuItem, { option: option }, option.value))) }) }))] }));
|
|
11
11
|
};
|
|
12
12
|
export { DropdownMenu };
|
|
13
13
|
//# sourceMappingURL=DropdownMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMenu.js","sourceRoot":"","sources":["../../../../src/components/actions/dropdown-menu/DropdownMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,OAAO,EACP,aAAa,EACb,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"DropdownMenu.js","sourceRoot":"","sources":["../../../../src/components/actions/dropdown-menu/DropdownMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,OAAO,EACP,aAAa,EACb,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;AAoBnD,MAAM,gBAAgB,GAAoC,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE,CAAC,CACtE,KAAC,aAAa,IACZ,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,EACpC,SAAS,EAAE,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CACrB,EAAE,CAAC,cAAc,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,EAAE,iBAAiB,CAAC,YAGnE,KAAC,QAAQ,IACP,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,iBAAiB,EAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,YAExB,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,GACtB,GACG,CACjB,CAAC;AAEF,MAAM,YAAY,GAAgC,CAAC,EACjD,cAAc,EACd,QAAQ,EACR,OAAO,EACP,MAAM,GAAG,EAAC,EAAE,EAAE,QAAQ,EAAC,GACxB,EAAE,EAAE;IACH,OAAO,CACL,MAAC,OAAO,IAAC,QAAQ,EAAE,QAAQ,aACzB,KAAC,aAAa,IAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,YAChD,cAAc,GACD,EACf,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,KAAC,UAAU,IACT,KAAK,EAAC,uBAAuB,EAC7B,SAAS,EAAC,oBAAoB,EAC9B,OAAO,EAAC,uBAAuB,EAC/B,KAAK,EAAC,uBAAuB,EAC7B,SAAS,EAAC,uBAAuB,EACjC,OAAO,EAAC,oBAAoB,YAE5B,KAAC,cAAc,IACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,EAAE,CACX,eAAe,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,EAC7B,gCAAgC,CACjC,YAEA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CACrB,KAAC,gBAAgB,IAAoB,MAAM,EAAE,MAAM,IAA5B,MAAM,CAAC,KAAK,CAAoB,CACxD,CAAC,GACa,GACN,CACd,IACO,CACX,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAC,YAAY,EAAC,CAAC"}
|
|
@@ -34,7 +34,7 @@ const iconContainerVariants = cva('flex items-center', {
|
|
|
34
34
|
},
|
|
35
35
|
},
|
|
36
36
|
defaultVariants: {
|
|
37
|
-
size: '
|
|
37
|
+
size: 'md',
|
|
38
38
|
},
|
|
39
39
|
});
|
|
40
40
|
const IconWrapper = ({ className, size, ...props }) => (_jsx("div", { className: cn(iconContainerVariants({ size }), className), ...props }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../../src/components/images-icons/icon/Icon.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAe,GAAG,EAAC,MAAM,0BAA0B,CAAC;AAO3D,MAAM,YAAY,GAAG,GAAG,CAAC,iBAAiB,EAAE;IAC1C,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE,mBAAmB;YAC5B,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,kBAAkB;YAC1B,QAAQ,EAAE,oBAAoB;YAC9B,MAAM,EAAE,kBAAkB;YAC1B,eAAe,EAAE,oBAAoB;YACrC,eAAe,EAAE,oBAAoB;SACtC;QACD,MAAM,EAAE;YACN,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,2BAA2B;SACtC;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,UAAU;KACnB;CACF,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,GAAG,CAAC,mBAAmB,EAAE;IACrD,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,OAAO,EAAE,cAAc;YACvB,EAAE,EAAE,+BAA+B;YACnC,EAAE,EAAE,0BAA0B;YAC9B,EAAE,EAAE,6BAA6B;YACjC,EAAE,EAAE,kCAAkC;SACvC;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../../src/components/images-icons/icon/Icon.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAe,GAAG,EAAC,MAAM,0BAA0B,CAAC;AAO3D,MAAM,YAAY,GAAG,GAAG,CAAC,iBAAiB,EAAE;IAC1C,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE,mBAAmB;YAC5B,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,kBAAkB;YAC1B,QAAQ,EAAE,oBAAoB;YAC9B,MAAM,EAAE,kBAAkB;YAC1B,eAAe,EAAE,oBAAoB;YACrC,eAAe,EAAE,oBAAoB;SACtC;QACD,MAAM,EAAE;YACN,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,2BAA2B;SACtC;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,UAAU;KACnB;CACF,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,GAAG,CAAC,mBAAmB,EAAE;IACrD,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,OAAO,EAAE,cAAc;YACvB,EAAE,EAAE,+BAA+B;YACnC,EAAE,EAAE,0BAA0B;YAC9B,EAAE,EAAE,6BAA6B;YACjC,EAAE,EAAE,kCAAkC;SACvC;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,IAAI;KACX;CACF,CAAC,CAAC;AAMH,MAAM,WAAW,GAA+B,CAAC,EAC/C,SAAS,EACT,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,EAAE,CAAC,CACJ,cAAK,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAC,IAAI,EAAC,CAAC,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAC5E,CAAC;AAqBF,SAAS,IAAI,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAY;IACvE,MAAM,aAAa,GAAG,UAAiB,CAAC;IACxC,OAAO,CACL,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,KAAM,KAAK,YACtD,KAAC,aAAa,IAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAI,GAC3D,CACf,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,EAChB,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,SAAS,EACT,WAAW,GAAG,KAAK,EACnB,GAAG,KAAK,EACM;IACd,MAAM,aAAa,GAAG,eAAsB,CAAC;IAE7C,OAAO,CACL,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,KAAM,KAAK,YACtD,KAAC,aAAa,IACZ,KAAK,EAAE,EAAE,CACP,YAAY,CAAC,EAAC,MAAM,EAAC,CAAC,EACtB,WAAW,IAAI,4CAA4C,CAC5D,EACD,IAAI,EAAE,IAAI,GACV,GACU,CACf,CAAC;AACJ,CAAC;AAED,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/tabBar/TabBar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/tabBar/TabBar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,KAAK,YAAY,EAAM,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAO,SAAS,EAAC,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAC,aAAa,EAAmB,MAAM,iBAAiB,CAAC;AAIhE,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,aAAa,CAAC;IACzD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAOjC,CAAC;AAEF,MAAM,WAAW,kBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAKD,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAuC/C,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA0B3C,CAAC;AAEF,QAAA,MAAM,wBAAwB;;mFAU7B,CAAC;AAEF,MAAM,WAAW,qBACf,SAAQ,YAAY,CAAC,OAAO,wBAAwB,CAAC;IACrD,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;CAC9C;AAgBD,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEhF,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAkEzC,CAAC;AAEF,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAC,CAAC"}
|
|
@@ -4,8 +4,10 @@ import * as React from 'react';
|
|
|
4
4
|
import useEmblaCarousel from 'embla-carousel-react';
|
|
5
5
|
import { cva } from 'class-variance-authority';
|
|
6
6
|
import { Icon } from '../..';
|
|
7
|
-
import { cn
|
|
7
|
+
import { cn } from '../../../utils';
|
|
8
8
|
import { TabBarContext, useTabBarContext } from './TabBarContext';
|
|
9
|
+
import { useTabBarKeys } from '../../../hooks/emblaCarousel/useTabBarKeys';
|
|
10
|
+
import { usePrevNextButtons } from '../../../hooks/emblaCarousel/usePrevNextButtons';
|
|
9
11
|
const TabBar = ({ children, currentTab, onTabChange }) => {
|
|
10
12
|
const id = React.useId();
|
|
11
13
|
return (_jsx(TabBarContext.Provider, { value: { currentTab, onTabChange, id }, children: children }));
|
|
@@ -47,11 +49,8 @@ const TabBarList = ({ children, className, ...props }) => {
|
|
|
47
49
|
dragFree: false,
|
|
48
50
|
watchDrag: false,
|
|
49
51
|
});
|
|
50
|
-
const
|
|
51
|
-
const
|
|
52
|
-
const scrollPrev = React.useCallback(() => emblaApi && emblaApi.scrollPrev(), [emblaApi]);
|
|
53
|
-
const scrollNext = React.useCallback(() => emblaApi && emblaApi.scrollNext(), [emblaApi]);
|
|
54
|
-
const scrollTo = React.useCallback((index) => emblaApi && emblaApi.scrollTo(index), [emblaApi]);
|
|
52
|
+
const onKeyDownHandler = useTabBarKeys({ emblaApi, onTabChange, currentTab });
|
|
53
|
+
const { canScrollNext, canScrollPrev, scrollPrev, scrollNext, scrollTo } = usePrevNextButtons(emblaApi);
|
|
55
54
|
React.useEffect(() => {
|
|
56
55
|
if (!emblaApi) {
|
|
57
56
|
return;
|
|
@@ -62,60 +61,6 @@ const TabBarList = ({ children, className, ...props }) => {
|
|
|
62
61
|
if (typeof index !== 'undefined')
|
|
63
62
|
scrollTo(index);
|
|
64
63
|
}, [currentTab, emblaApi]);
|
|
65
|
-
const onSelect = React.useCallback(() => {
|
|
66
|
-
if (!emblaApi) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
setCanScrollPrev(emblaApi.canScrollPrev());
|
|
70
|
-
setCanScrollNext(emblaApi.canScrollNext());
|
|
71
|
-
}, [emblaApi]);
|
|
72
|
-
React.useEffect(() => {
|
|
73
|
-
if (!emblaApi) {
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
const reIntHandler = debounce((api) => {
|
|
77
|
-
setCanScrollPrev(api.canScrollPrev());
|
|
78
|
-
setCanScrollNext(api.canScrollNext());
|
|
79
|
-
}, 100);
|
|
80
|
-
onSelect();
|
|
81
|
-
emblaApi.on('select', onSelect);
|
|
82
|
-
emblaApi.on('reInit', reIntHandler);
|
|
83
|
-
}, [emblaApi]);
|
|
84
|
-
const onKeyDownHandler = React.useCallback((e) => {
|
|
85
|
-
if (!emblaApi) {
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
const keyLeft = e.key === 'ArrowLeft';
|
|
89
|
-
const keyRight = e.key === 'ArrowRight';
|
|
90
|
-
if (!keyLeft && !keyRight)
|
|
91
|
-
return;
|
|
92
|
-
const emblaRootNode = emblaApi.rootNode();
|
|
93
|
-
if (!emblaRootNode)
|
|
94
|
-
return;
|
|
95
|
-
const tabsNodesArray = Array.from(emblaRootNode.querySelectorAll('[data-tab]'));
|
|
96
|
-
const currentTabIndex = tabsNodesArray.findIndex(el => el.getAttribute('data-tab') === currentTab);
|
|
97
|
-
const canGoLeft = currentTabIndex > 0;
|
|
98
|
-
const canGoRight = currentTabIndex < tabsNodesArray.length - 1;
|
|
99
|
-
let targetTab;
|
|
100
|
-
if (canGoLeft && keyLeft) {
|
|
101
|
-
targetTab = tabsNodesArray
|
|
102
|
-
.slice(0, currentTabIndex)
|
|
103
|
-
.reverse()
|
|
104
|
-
.find(tabNode => tabNode.getAttribute('data-disabled') === 'false');
|
|
105
|
-
}
|
|
106
|
-
else if (canGoRight && keyRight) {
|
|
107
|
-
targetTab = tabsNodesArray
|
|
108
|
-
.slice(currentTabIndex + 1)
|
|
109
|
-
.find(tabNode => tabNode.getAttribute('data-disabled') === 'false');
|
|
110
|
-
}
|
|
111
|
-
if (targetTab) {
|
|
112
|
-
const targetTabValue = targetTab.getAttribute('data-tab');
|
|
113
|
-
if (targetTabValue) {
|
|
114
|
-
targetTab.focus();
|
|
115
|
-
onTabChange(targetTabValue);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}, [emblaApi, currentTab]);
|
|
119
64
|
return (_jsxs("div", { className: cn('relative font-text mb-4 before:content-[""] before:absolute before:w-full before:bottom-0 before:h-0.5 before:bg-draeger-cool-gray-100', className), ...props, children: [_jsx("div", { className: "overflow-hidden", children: _jsx("div", { ref: emblaRef, children: _jsx("div", { role: "tablist", className: "flex", onKeyDown: onKeyDownHandler, children: children }) }) }), canScrollPrev && (_jsx(TabBarListButton, { onClick: scrollPrev, position: 'left', iconProps: { name: 'core::chevron-left' } })), canScrollNext && (_jsx(TabBarListButton, { onClick: scrollNext, position: 'right', iconProps: { name: 'core::chevron-right' } }))] }));
|
|
120
65
|
};
|
|
121
66
|
export { TabBar, TabBarList, TabBarTrigger, TabBarPanel };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabBar.js","sourceRoot":"","sources":["../../../../src/components/layout/tabBar/TabBar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"TabBar.js","sourceRoot":"","sources":["../../../../src/components/layout/tabBar/TabBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/table/Table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAW,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAM,YAAY,EAAC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/table/Table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { BodyText } from '../../typography/bodyText';
|
|
|
6
6
|
import { cva } from 'class-variance-authority';
|
|
7
7
|
import { Icon } from '../../images-icons/icon';
|
|
8
8
|
import { Button } from '../../actions/button';
|
|
9
|
+
import { useBreakpoint } from '../../../hooks';
|
|
9
10
|
const TableResponsiveTypeContext = React.createContext('scroll');
|
|
10
11
|
const useTableResponsiveTypeContext = () => React.useContext(TableResponsiveTypeContext);
|
|
11
12
|
const cellBaseClasses = 'h-full flex items-center gap-2 py-2 px-3';
|
|
@@ -64,6 +65,7 @@ const TableHeaderCell = ({ minWidth: _minWidth, children, className, sortable =
|
|
|
64
65
|
return (_jsx(BodyText, { asChild: true, variant: 'small', weight: "bold", className: "[overflow-wrap:anywhere]", children: tableHeaderCellElement }));
|
|
65
66
|
};
|
|
66
67
|
const TableCell = ({ minWidth, children, className, withBorder = true, highlight, width, header, isStickyFirstColumn = false, horizontalAlignment, bodyTextProps, ...props }) => {
|
|
68
|
+
const isLargeViewport = !useBreakpoint('lg');
|
|
67
69
|
const commonClasses = cn('transition-all duration-75', highlight &&
|
|
68
70
|
'bg-draeger-cool-gray-150 border-transparent border-draeger-white', className);
|
|
69
71
|
const widthStyle = width
|
|
@@ -79,10 +81,9 @@ const TableCell = ({ minWidth, children, className, withBorder = true, highlight
|
|
|
79
81
|
break;
|
|
80
82
|
case 'scroll':
|
|
81
83
|
tableCellElement = (_jsx("td", { ...props, className: cn(commonClasses, 'h-full', withBorder && 'border-b border-draeger-cool-gray-100', isStickyFirstColumn &&
|
|
84
|
+
isLargeViewport &&
|
|
82
85
|
'first:sticky first:left-0 first:z-10 first:bg-draeger-cool-gray-150 first:border-b first:border-b-surface-hover', highlight && 'bg-draeger-cool-gray-150'), style: {
|
|
83
86
|
...widthStyle,
|
|
84
|
-
// the 160px is a default value, we took from the old table implementation
|
|
85
|
-
// // arguably could this also be applied in the consumer side, we opt to keep it here, iam curios about the reviewers opnion where to set this
|
|
86
87
|
...(minWidth ? { minWidth: `${minWidth}px` } : { minWidth: '160px' }),
|
|
87
88
|
}, children: _jsx("div", { className: cn(tableCellVariants({ horizontalAlignment }), 'h-full flex items-start'), children: children }) }));
|
|
88
89
|
break;
|
|
@@ -161,13 +162,15 @@ const TableHeaderRow = ({ children, isStickyHeader, rowHover, highlight, ...prop
|
|
|
161
162
|
const TablePaginationWrapper = ({ ...props }) => _jsx("div", { className: 'flex justify-end p-4', ...props });
|
|
162
163
|
const Table = ({ children, className, striped, isStickyFirstColumn = false, isStickyHeader = false, responsiveType = 'scroll', rowHover: _rowHover, ...props }) => {
|
|
163
164
|
const commonClasses = 'w-full h-px font-text text-text-primary';
|
|
165
|
+
const isLargeViewport = !useBreakpoint('lg');
|
|
164
166
|
let tableElement;
|
|
165
167
|
switch (responsiveType) {
|
|
166
168
|
case 'group-stack':
|
|
167
169
|
tableElement = (_jsx("div", { role: "table", className: cn(className, commonClasses, striped && 'even:[&_li[role=row]]:bg-surface-hover', 'table table-fixed'), ...props, children: children }));
|
|
168
170
|
break;
|
|
169
171
|
case 'scroll':
|
|
170
|
-
tableElement = (_jsx("table", { className: cn(commonClasses, (isStickyFirstColumn || isStickyHeader) &&
|
|
172
|
+
tableElement = (_jsx("table", { className: cn(commonClasses, ((isStickyFirstColumn && isLargeViewport) || isStickyHeader) &&
|
|
173
|
+
'relative w-full', striped && 'even:[&_tr]:bg-surface-hover'), ...props, children: children }));
|
|
171
174
|
break;
|
|
172
175
|
case 'shrink':
|
|
173
176
|
tableElement = (_jsx("table", { border: 0, cellSpacing: 0, cellPadding: 0, className: cn(className, commonClasses, striped && 'even:[&_tr]:bg-surface-hover'), ...props, children: children }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../../src/components/layout/table/Table.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,QAAQ,EAAgB,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAC,GAAG,EAAe,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAC,IAAI,EAAC,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../../src/components/layout/table/Table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { EmblaCarouselType } from 'embla-carousel';
|
|
3
|
+
export declare const useTabBarKeys: ({ emblaApi, onTabChange, currentTab, }: {
|
|
4
|
+
emblaApi?: EmblaCarouselType;
|
|
5
|
+
onTabChange: (tab: string) => void;
|
|
6
|
+
currentTab: string | null;
|
|
7
|
+
}) => (e: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
8
|
+
//# sourceMappingURL=useTabBarKeys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTabBarKeys.d.ts","sourceRoot":"","sources":["../../../src/hooks/emblaCarousel/useTabBarKeys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAEjD,eAAO,MAAM,aAAa,2CAIvB;IACD,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,SAEO,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,SA6C1C,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export const useTabBarKeys = ({ emblaApi, onTabChange, currentTab, }) => {
|
|
3
|
+
const onKeyDownHandler = React.useCallback((e) => {
|
|
4
|
+
if (!emblaApi) {
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
const keyLeft = e.key === 'ArrowLeft';
|
|
8
|
+
const keyRight = e.key === 'ArrowRight';
|
|
9
|
+
if (!keyLeft && !keyRight)
|
|
10
|
+
return;
|
|
11
|
+
const emblaRootNode = emblaApi.rootNode();
|
|
12
|
+
if (!emblaRootNode)
|
|
13
|
+
return;
|
|
14
|
+
const tabsNodesArray = Array.from(emblaRootNode.querySelectorAll('[data-tab]'));
|
|
15
|
+
const currentTabIndex = tabsNodesArray.findIndex(el => el.getAttribute('data-tab') === currentTab);
|
|
16
|
+
const canGoLeft = currentTabIndex > 0;
|
|
17
|
+
const canGoRight = currentTabIndex < tabsNodesArray.length - 1;
|
|
18
|
+
let targetTab;
|
|
19
|
+
if (canGoLeft && keyLeft) {
|
|
20
|
+
targetTab = tabsNodesArray
|
|
21
|
+
.slice(0, currentTabIndex)
|
|
22
|
+
.reverse()
|
|
23
|
+
.find(tabNode => tabNode.getAttribute('data-disabled') === 'false');
|
|
24
|
+
}
|
|
25
|
+
else if (canGoRight && keyRight) {
|
|
26
|
+
targetTab = tabsNodesArray
|
|
27
|
+
.slice(currentTabIndex + 1)
|
|
28
|
+
.find(tabNode => tabNode.getAttribute('data-disabled') === 'false');
|
|
29
|
+
}
|
|
30
|
+
if (targetTab) {
|
|
31
|
+
const targetTabValue = targetTab.getAttribute('data-tab');
|
|
32
|
+
if (targetTabValue) {
|
|
33
|
+
targetTab.focus();
|
|
34
|
+
onTabChange(targetTabValue);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}, [emblaApi, currentTab]);
|
|
38
|
+
return onKeyDownHandler;
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=useTabBarKeys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTabBarKeys.js","sourceRoot":"","sources":["../../../src/hooks/emblaCarousel/useTabBarKeys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,QAAQ,EACR,WAAW,EACX,UAAU,GAKX,EAAE,EAAE;IACH,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CACxC,CAAC,CAAsC,EAAE,EAAE;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC;QACtC,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC;QACxC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;YAAE,OAAO;QAElC,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,CAAC,aAAa;YAAE,OAAO;QAE3B,MAAM,cAAc,GAAkB,KAAK,CAAC,IAAI,CAC9C,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAC7C,CAAC;QACF,MAAM,eAAe,GAAG,cAAc,CAAC,SAAS,CAC9C,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,UAAU,CACjD,CAAC;QACF,MAAM,SAAS,GAAG,eAAe,GAAG,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,eAAe,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;QAE/D,IAAI,SAAS,CAAC;QAEd,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;YACzB,SAAS,GAAG,cAAc;iBACvB,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;iBACzB,OAAO,EAAE;iBACT,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,OAAO,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;YAClC,SAAS,GAAG,cAAc;iBACvB,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC;iBAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,OAAO,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,cAAc,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,cAAc,EAAE,CAAC;gBACnB,SAAS,CAAC,KAAK,EAAE,CAAC;gBAClB,WAAW,CAAC,cAAc,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,UAAU,CAAC,CACvB,CAAC;IAEF,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC"}
|
package/dist/web/index.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ export * from './productFinder/stageSection';
|
|
|
26
26
|
*/
|
|
27
27
|
export * from './product/productBenefits';
|
|
28
28
|
export * from './product/productAccessories';
|
|
29
|
+
export * from './product/productStage';
|
|
29
30
|
export * from './product/productInfoBlock';
|
|
30
31
|
export * from './product/relatedProductsBox';
|
|
31
32
|
export * from './product/productNBASection';
|
package/dist/web/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AAEzC;;GAEG;AACH,cAAc,0BAA0B,CAAC;AAEzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AAExC;;GAEG;AACH,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAE7C;;GAEG;AAEH,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AAEzC;;GAEG;AACH,cAAc,0BAA0B,CAAC;AAEzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AAExC;;GAEG;AACH,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAE7C;;GAEG;AAEH,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC"}
|
package/dist/web/index.js
CHANGED
|
@@ -26,6 +26,7 @@ export * from './productFinder/stageSection';
|
|
|
26
26
|
*/
|
|
27
27
|
export * from './product/productBenefits';
|
|
28
28
|
export * from './product/productAccessories';
|
|
29
|
+
export * from './product/productStage';
|
|
29
30
|
export * from './product/productInfoBlock';
|
|
30
31
|
export * from './product/relatedProductsBox';
|
|
31
32
|
export * from './product/productNBASection';
|
package/dist/web/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AAEzC;;GAEG;AACH,cAAc,0BAA0B,CAAC;AAEzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AAExC;;GAEG;AACH,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAE7C;;GAEG;AAEH,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AAEzC;;GAEG;AACH,cAAc,0BAA0B,CAAC;AAEzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AAExC;;GAEG;AACH,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAE7C;;GAEG;AAEH,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ButtonProps } from '../../../components';
|
|
3
|
+
export interface ProductCtaDrawerButtonsContainerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
}
|
|
5
|
+
declare const ProductCtaDrawerButtonsContainer: React.FC<ProductCtaDrawerButtonsContainerProps>;
|
|
6
|
+
export interface ProductCtaDrawerTriggerButtonProps extends Omit<ButtonProps, 'size' | 'variant' | 'children' | 'iconRight' | 'iconLeft'> {
|
|
7
|
+
}
|
|
8
|
+
declare const ProductCtaDrawerTriggerButton: React.FC<ProductCtaDrawerTriggerButtonProps>;
|
|
9
|
+
export interface ProductCtaDrawerMainButtonProps extends Omit<ButtonProps, 'size' | 'variant' | 'className'> {
|
|
10
|
+
}
|
|
11
|
+
declare const ProductCtaDrawerMainButton: React.FC<ProductCtaDrawerActionButtonProps>;
|
|
12
|
+
export interface ProductCtaDrawerActionButtonProps extends Omit<ButtonProps, 'size' | 'variant' | 'className'> {
|
|
13
|
+
}
|
|
14
|
+
declare const ProductCtaDrawerActionButton: React.FC<ProductCtaDrawerActionButtonProps>;
|
|
15
|
+
export interface ProductCtaDrawerProps {
|
|
16
|
+
children?: React.ReactNode;
|
|
17
|
+
buttonsContainer?: React.ReactNode;
|
|
18
|
+
actionButton?: React.ReactNode;
|
|
19
|
+
title?: string;
|
|
20
|
+
}
|
|
21
|
+
declare const ProductCtaDrawer: React.FC<ProductCtaDrawerProps>;
|
|
22
|
+
export { ProductCtaDrawer, ProductCtaDrawerButtonsContainer, ProductCtaDrawerMainButton, ProductCtaDrawerTriggerButton, ProductCtaDrawerActionButton, };
|
|
23
|
+
//# sourceMappingURL=ProductCtaDrawer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductCtaDrawer.d.ts","sourceRoot":"","sources":["../../../../src/web/product/productStage/ProductCtaDrawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAS,WAAW,EAAiB,MAAM,qBAAqB,CAAC;AAExE,MAAM,WAAW,qCACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEjD,QAAA,MAAM,gCAAgC,EAAE,KAAK,CAAC,EAAE,CAC9C,qCAAqC,CAOtC,CAAC;AAEF,MAAM,WAAW,kCACf,SAAQ,IAAI,CACV,WAAW,EACX,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAC3D;CAAG;AAEN,QAAA,MAAM,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAC3C,kCAAkC,CAanC,CAAC;AAEF,MAAM,WAAW,+BACf,SAAQ,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;CAAG;AAEhE,QAAA,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CACxC,iCAAiC,CAYlC,CAAC;AAEF,MAAM,WAAW,iCACf,SAAQ,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;CAAG;AAEhE,QAAA,MAAM,4BAA4B,EAAE,KAAK,CAAC,EAAE,CAC1C,iCAAiC,CAalC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAqCrD,CAAC;AAEF,OAAO,EACL,gBAAgB,EAChB,gCAAgC,EAChC,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,GAC7B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Drawer } from 'vaul';
|
|
4
|
+
import { Button, Headline, Icon } from '../../../components';
|
|
5
|
+
const ProductCtaDrawerButtonsContainer = ({ children, ...props }) => {
|
|
6
|
+
return (_jsx("div", { className: "sticky bottom-0 flex px-6 pt-24 pb-2 xl:hidden", ...props, children: _jsx("div", { className: "flex justify-center w-full gap-2", children: children }) }));
|
|
7
|
+
};
|
|
8
|
+
const ProductCtaDrawerTriggerButton = ({ ...props }) => {
|
|
9
|
+
return (_jsx(Drawer.Trigger, { asChild: true, children: _jsx(Button, { iconLeft: _jsx(Icon, { name: "core::more" }), size: "md", variant: "primary", "aria-label": "Show more actions", ...props }) }));
|
|
10
|
+
};
|
|
11
|
+
const ProductCtaDrawerMainButton = ({ iconLeft, iconRight, ...props }) => {
|
|
12
|
+
return (_jsx(Button, { size: "md", variant: "primary", className: "grow md:grow-0 md:min-w-52", iconLeft: iconLeft, iconRight: iconRight, ...props }));
|
|
13
|
+
};
|
|
14
|
+
const ProductCtaDrawerActionButton = ({ iconLeft, iconRight, ...props }) => {
|
|
15
|
+
return (_jsx("div", { className: "flex flex-col px-4 py-2 border-t border-t-border-separator", children: _jsx(Button, { size: "md", variant: "primary", ...props, iconLeft: iconLeft, iconRight: iconRight }) }));
|
|
16
|
+
};
|
|
17
|
+
const ProductCtaDrawer = ({ children, buttonsContainer, actionButton, title, }) => {
|
|
18
|
+
return (_jsxs(Drawer.Root, { children: [buttonsContainer, _jsxs(Drawer.Portal, { children: [_jsx(Drawer.Overlay, { className: "fixed inset-0 bg-draeger-dark-blue-900/40" }), _jsx(Drawer.Content, { className: "fixed bottom-0 left-0 right-0 bg-gray-100 outline-none h-fit", children: _jsxs("div", { className: "bg-draeger-white rounded-t-md", children: [_jsxs("div", { className: "flex items-center justify-between px-4 py-2 border-b min-h-16 border-border-separator", children: [_jsx(Headline, { headingLevel: "h5", spacingBottom: false, children: title }), _jsx(Drawer.Close, { asChild: true, children: _jsx(Button, { variant: 'ghost', iconLeft: _jsx(Icon, { name: "core::close", className: "text-interactions-brand" }), size: "md" }) })] }), _jsx("div", { className: "px-4 py-6", children: children }), actionButton] }) })] })] }));
|
|
19
|
+
};
|
|
20
|
+
export { ProductCtaDrawer, ProductCtaDrawerButtonsContainer, ProductCtaDrawerMainButton, ProductCtaDrawerTriggerButton, ProductCtaDrawerActionButton, };
|
|
21
|
+
//# sourceMappingURL=ProductCtaDrawer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductCtaDrawer.js","sourceRoot":"","sources":["../../../../src/web/product/productStage/ProductCtaDrawer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAC,MAAM,EAAC,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAC,MAAM,EAAe,QAAQ,EAAE,IAAI,EAAC,MAAM,qBAAqB,CAAC;AAKxE,MAAM,gCAAgC,GAElC,CAAC,EAAC,QAAQ,EAAE,GAAG,KAAK,EAAC,EAAE,EAAE;IAC3B,OAAO,CACL,cAAK,SAAS,EAAC,gDAAgD,KAAK,KAAK,YACvE,cAAK,SAAS,EAAC,kCAAkC,YAAE,QAAQ,GAAO,GAC9D,CACP,CAAC;AACJ,CAAC,CAAC;AAQF,MAAM,6BAA6B,GAE/B,CAAC,EAAC,GAAG,KAAK,EAAC,EAAE,EAAE;IACjB,OAAO,CACL,KAAC,MAAM,CAAC,OAAO,IAAC,OAAO,kBACrB,KAAC,MAAM,IACL,QAAQ,EAAE,KAAC,IAAI,IAAC,IAAI,EAAC,YAAY,GAAG,EACpC,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,SAAS,gBACN,mBAAmB,KAC1B,KAAK,GACT,GACa,CAClB,CAAC;AACJ,CAAC,CAAC;AAKF,MAAM,0BAA0B,GAE5B,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,EAAE;IACtC,OAAO,CACL,KAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,SAAS,EACjB,SAAS,EAAC,4BAA4B,EACtC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,KAChB,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC;AAKF,MAAM,4BAA4B,GAE9B,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,EAAE;IACtC,OAAO,CACL,cAAK,SAAS,EAAC,4DAA4D,YACzE,KAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,SAAS,KACb,KAAK,EACT,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,GACpB,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AASF,MAAM,gBAAgB,GAAoC,CAAC,EACzD,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,KAAK,GACN,EAAE,EAAE;IACH,OAAO,CACL,MAAC,MAAM,CAAC,IAAI,eACT,gBAAgB,EACjB,MAAC,MAAM,CAAC,MAAM,eACZ,KAAC,MAAM,CAAC,OAAO,IAAC,SAAS,EAAC,2CAA2C,GAAG,EACxE,KAAC,MAAM,CAAC,OAAO,IAAC,SAAS,EAAC,8DAA8D,YACtF,eAAK,SAAS,EAAC,+BAA+B,aAC5C,eAAK,SAAS,EAAC,uFAAuF,aACpG,KAAC,QAAQ,IAAC,YAAY,EAAC,IAAI,EAAC,aAAa,EAAE,KAAK,YAC7C,KAAK,GACG,EACX,KAAC,MAAM,CAAC,KAAK,IAAC,OAAO,kBACnB,KAAC,MAAM,IACL,OAAO,EAAE,OAAO,EAChB,QAAQ,EACN,KAAC,IAAI,IACH,IAAI,EAAC,aAAa,EAClB,SAAS,EAAC,yBAAyB,GACnC,EAEJ,IAAI,EAAC,IAAI,GACT,GACW,IACX,EACN,cAAK,SAAS,EAAC,WAAW,YAAE,QAAQ,GAAO,EAC1C,YAAY,IACT,GACS,IACH,IACJ,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EACL,gBAAgB,EAChB,gCAAgC,EAChC,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,GAC7B,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type HeadlineProps, type LinkButtonProps, type LinkProps } from '../../../components';
|
|
2
|
+
export interface ProductStageProps {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
}
|
|
5
|
+
export declare const ProductStage: React.FC<ProductStageProps>;
|
|
6
|
+
export interface ProductStageCompareWrapperProps {
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export declare const ProductStageCompareWrapper: React.FC<ProductStageCompareWrapperProps>;
|
|
10
|
+
export interface ProductStageCompareBackButtonProps extends Omit<LinkProps, 'icon' | 'iconRight' | 'size' | 'theme' | 'display'> {
|
|
11
|
+
}
|
|
12
|
+
export declare const ProductStageCompareBackButton: React.FC<ProductStageCompareBackButtonProps>;
|
|
13
|
+
export type ProductStageCompareButtonProps = {
|
|
14
|
+
checked: boolean;
|
|
15
|
+
setIsChecked: (value: boolean) => void;
|
|
16
|
+
labelChecked?: string;
|
|
17
|
+
labelUnchecked?: string;
|
|
18
|
+
buttonProps: LinkButtonProps;
|
|
19
|
+
};
|
|
20
|
+
export declare const ProductStageCompareButton: React.FC<ProductStageCompareButtonProps>;
|
|
21
|
+
export interface ProductStageContainerProps {
|
|
22
|
+
children?: React.ReactNode;
|
|
23
|
+
}
|
|
24
|
+
export declare const ProductStageContainer: React.FC<ProductStageContainerProps>;
|
|
25
|
+
export interface ProductStageContainerDescriptionProps {
|
|
26
|
+
headline?: string;
|
|
27
|
+
headlineActAs?: HeadlineProps['actAs'];
|
|
28
|
+
description?: string;
|
|
29
|
+
text?: string;
|
|
30
|
+
tag?: React.ReactNode;
|
|
31
|
+
}
|
|
32
|
+
export declare const ProductStageContainerDescription: React.FC<ProductStageContainerDescriptionProps>;
|
|
33
|
+
export interface ProductStageContainerMobileProps {
|
|
34
|
+
children?: React.ReactNode;
|
|
35
|
+
}
|
|
36
|
+
export declare const ProductStageContainerMobile: React.FC<ProductStageContainerMobileProps>;
|
|
37
|
+
export interface ProductStageContainerMobileButtonsProps {
|
|
38
|
+
children?: React.ReactNode;
|
|
39
|
+
}
|
|
40
|
+
export declare const ProductStageContainerMobileButtons: React.FC<ProductStageContainerMobileButtonsProps>;
|
|
41
|
+
export interface ProductStageContainerMobileListProps {
|
|
42
|
+
children?: React.ReactNode;
|
|
43
|
+
}
|
|
44
|
+
export declare const ProductStageContainerMobileList: React.FC<ProductStageContainerMobileListProps>;
|
|
45
|
+
//# sourceMappingURL=ProductStage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductStage.d.ts","sourceRoot":"","sources":["../../../../src/web/product/productStage/ProductStage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,SAAS,EACf,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAYpD,CAAC;AAEF,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAC/C,+BAA+B,CAOhC,CAAC;AAEF,MAAM,WAAW,kCACf,SAAQ,IAAI,CACV,SAAS,EACT,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CACpD;CAAG;AAEN,eAAO,MAAM,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAClD,kCAAkC,CASnC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAC9C,8BAA8B,CAiC/B,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AACD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAQtE,CAAC;AAEF,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACvB;AACD,eAAO,MAAM,gCAAgC,EAAE,KAAK,CAAC,EAAE,CACrD,qCAAqC,CActC,CAAC;AAEF,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AACD,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAChD,gCAAgC,CAGjC,CAAC;AAEF,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AACD,eAAO,MAAM,kCAAkC,EAAE,KAAK,CAAC,EAAE,CACvD,uCAAuC,CAGxC,CAAC;AAEF,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AACD,eAAO,MAAM,+BAA+B,EAAE,KAAK,CAAC,EAAE,CACpD,oCAAoC,CAGrC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { BlockChildrenWidthContainer, BlockGrid, BodyText, Checkbox, Container, Headline, Icon, Link, SlimRichText, LinkButton, } from '../../../components';
|
|
3
|
+
import { cn } from '../../../utils';
|
|
4
|
+
export const ProductStage = ({ children }) => {
|
|
5
|
+
return (_jsx("div", { className: "pt-8 pb-6 bg-surface-secondary xl:pt-14", children: _jsx(Container, { paddingBottom: 'none', paddingTop: 'none', children: _jsx(BlockGrid, { paddingBottom: 'none', children: _jsx(BlockChildrenWidthContainer, { paddingBottom: 'none', children: _jsx("div", { className: "flex flex-col gap-6", children: children }) }) }) }) }));
|
|
6
|
+
};
|
|
7
|
+
export const ProductStageCompareWrapper = ({ children }) => {
|
|
8
|
+
return (_jsx("div", { className: "flex justify-between gap-2.5 py-2.5 lg:p-0 items-center xl:[&>[data-compare-button]]:block [&>[data-compare-button]]:hidden", children: children }));
|
|
9
|
+
};
|
|
10
|
+
export const ProductStageCompareBackButton = props => {
|
|
11
|
+
return (_jsx(Link, { variant: 'secondary', icon: _jsx(Icon, { size: 'md', name: "core::chevron-left" }), ...props }));
|
|
12
|
+
};
|
|
13
|
+
export const ProductStageCompareButton = ({ checked, setIsChecked, labelChecked, labelUnchecked, buttonProps }) => {
|
|
14
|
+
return (_jsxs(LinkButton, { ...buttonProps, "data-compare-button": true, variant: 'secondary', className: cn('cursor-pointer', buttonProps?.className), href: checked ? buttonProps?.href : undefined, onClick: e => {
|
|
15
|
+
if (!checked) {
|
|
16
|
+
e.stopPropagation();
|
|
17
|
+
e.preventDefault();
|
|
18
|
+
setIsChecked(true);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
buttonProps?.onClick?.(e);
|
|
22
|
+
}
|
|
23
|
+
}, children: [_jsx(Checkbox, { checked: checked, onClick: e => {
|
|
24
|
+
e.stopPropagation();
|
|
25
|
+
e.preventDefault();
|
|
26
|
+
setIsChecked(!checked);
|
|
27
|
+
}, color: 'accent' }), _jsx("span", { className: "cursor-pointer", children: checked ? labelChecked : labelUnchecked })] }));
|
|
28
|
+
};
|
|
29
|
+
export const ProductStageContainer = ({ children, }) => {
|
|
30
|
+
return (_jsx("div", { className: "grid grid-cols-1 gap-10 xl:grid-cols-2 xl:gap-6", children: children }));
|
|
31
|
+
};
|
|
32
|
+
export const ProductStageContainerDescription = ({ headline, description, text, tag }) => {
|
|
33
|
+
return (_jsxs("div", { className: "flex flex-col gap-6 xl:pt-9 xl:max-w-[517px]", children: [_jsxs("div", { children: [tag, _jsx(Headline, { headingLevel: "h2", spacingBottom: false, children: headline }), _jsx(BodyText, { variant: 'large', children: description })] }), _jsx(SlimRichText, { bottomSpacing: false, variant: 'large', text: text })] }));
|
|
34
|
+
};
|
|
35
|
+
export const ProductStageContainerMobile = ({ children }) => {
|
|
36
|
+
return _jsx("div", { className: "flex flex-col gap-4 xl:hidden", children: children });
|
|
37
|
+
};
|
|
38
|
+
export const ProductStageContainerMobileButtons = ({ children }) => {
|
|
39
|
+
return _jsx("div", { className: "flex flex-col gap-2", children: children });
|
|
40
|
+
};
|
|
41
|
+
export const ProductStageContainerMobileList = ({ children }) => {
|
|
42
|
+
return _jsx("div", { className: "py-3", children: children });
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=ProductStage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductStage.js","sourceRoot":"","sources":["../../../../src/web/product/productStage/ProductStage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
import { IconProps, VideoProps, type ImageProps } from '../../../components';
|
|
4
|
+
declare const controlButtonVariants: (props?: ({
|
|
5
|
+
position?: "left" | "right" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
7
|
+
export interface ControlButtonProps extends VariantProps<typeof controlButtonVariants> {
|
|
8
|
+
onClick: React.HTMLAttributes<HTMLDivElement>['onClick'];
|
|
9
|
+
iconProps: Omit<IconProps, 'size' | 'color'>;
|
|
10
|
+
}
|
|
11
|
+
export interface MediaThumbnailProps {
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
isActive: boolean;
|
|
14
|
+
isVideo?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface ImageMediaType {
|
|
17
|
+
thumbnailImage: Omit<ImageProps, 'ratio'>;
|
|
18
|
+
image: Omit<ImageProps, 'ratio'>;
|
|
19
|
+
}
|
|
20
|
+
export interface VideoMediaType {
|
|
21
|
+
thumbnailImage: Omit<ImageProps, 'ratio'>;
|
|
22
|
+
video: Omit<VideoProps, 'previewImage'> & {
|
|
23
|
+
previewImage: Omit<ImageProps, 'ratio'>;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export type MediaElementType = ({
|
|
27
|
+
type: 'image';
|
|
28
|
+
} & ImageMediaType) | ({
|
|
29
|
+
type: 'video';
|
|
30
|
+
} & VideoMediaType);
|
|
31
|
+
export interface ProductStageContainerThumbnailProps {
|
|
32
|
+
mediaElements?: MediaElementType[];
|
|
33
|
+
selectedImage?: Omit<ImageProps, 'ratio'>;
|
|
34
|
+
}
|
|
35
|
+
export declare const ProductStageContainerThumbnail: React.FC<ProductStageContainerThumbnailProps>;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=ProductStageContainerThumbnail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductStageContainerThumbnail.d.ts","sourceRoot":"","sources":["../../../../src/web/product/productStage/ProductStageContainerThumbnail.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAM,KAAK,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAIL,SAAS,EAGT,UAAU,EACV,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAG7B,QAAA,MAAM,qBAAqB;;mFAU1B,CAAC;AAEF,MAAM,WAAW,kBACf,SAAQ,YAAY,CAAC,OAAO,qBAAqB,CAAC;IAClD,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;CAC9C;AAeD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA+BD,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1C,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1C,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,GAAG;QACxC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;KACzC,CAAC;CACH;AAED,MAAM,MAAM,gBAAgB,GACxB,CAAC;IACC,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,cAAc,CAAC,GACnB,CAAC;IACC,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,cAAc,CAAC,CAAC;AAExB,MAAM,WAAW,mCAAmC;IAClD,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,eAAO,MAAM,8BAA8B,EAAE,KAAK,CAAC,EAAE,CACnD,mCAAmC,CAoKpC,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import useEmblaCarousel from 'embla-carousel-react';
|
|
5
|
+
import { cva } from 'class-variance-authority';
|
|
6
|
+
import { Controls, ControlsItem, Icon, Image, Video, } from '../../../components';
|
|
7
|
+
import { cn, debounce } from '../../../utils';
|
|
8
|
+
const controlButtonVariants = cva('hidden select-none absolute top-0 md:flex items-center h-full cursor-pointer w-12 from-surface-secondary via-45% via-surface-secondary to-white', {
|
|
9
|
+
variants: {
|
|
10
|
+
position: {
|
|
11
|
+
left: 'left-0 bg-gradient-to-r',
|
|
12
|
+
right: 'right-0 bg-gradient-to-l justify-end',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
const ControlButton = ({ onClick, iconProps, position, }) => (_jsx("div", { className: cn(controlButtonVariants({ position })), onClick: onClick, children: _jsx(Icon, { size: 'md', className: cn(iconProps, 'text-text-accent'), ...iconProps }) }));
|
|
17
|
+
const mediaThumbnailClasses = `
|
|
18
|
+
group relative overflow-hidden transition-all rounded-md outline-none cursor-pointer md:size-20
|
|
19
|
+
md:border-2 border-border-contrast active:border-border-primary focus:border-border-accent hover:border-border-primary
|
|
20
|
+
`;
|
|
21
|
+
const MediaThumbnail = ({ children, isActive, isVideo, }) => {
|
|
22
|
+
return (_jsxs("div", { tabIndex: 0, className: cn(mediaThumbnailClasses, isActive && 'border-border-primary'), children: [isVideo && (_jsx(Icon, { size: 'lg', name: "core::media-play", color: 'accent', className: "absolute -translate-x-1/2 -translate-y-1/2 top-1/2 left-1/2" })), children, _jsx("div", { className: "transition-all absolute top-0 right-0 bottom-0 left-0 bg-[#000000] opacity-0 group-hover:opacity-30" })] }));
|
|
23
|
+
};
|
|
24
|
+
export const ProductStageContainerThumbnail = ({ mediaElements }) => {
|
|
25
|
+
const [emblaMainRef, emblaMainApi] = useEmblaCarousel({
|
|
26
|
+
align: 'start',
|
|
27
|
+
containScroll: 'trimSnaps',
|
|
28
|
+
slidesToScroll: 1,
|
|
29
|
+
});
|
|
30
|
+
const [emblaThumbsRef, emblaThumbsApi] = useEmblaCarousel({
|
|
31
|
+
align: 'start',
|
|
32
|
+
containScroll: 'trimSnaps',
|
|
33
|
+
slidesToScroll: 3,
|
|
34
|
+
});
|
|
35
|
+
const [scrollSnaps, setScrollSnaps] = React.useState([]);
|
|
36
|
+
const [activeIndex, setActiveIndex] = React.useState(0);
|
|
37
|
+
const [canScrollNext, setCanScrollNext] = React.useState(false);
|
|
38
|
+
const [canScrollPrev, setCanScrollPrev] = React.useState(false);
|
|
39
|
+
const onThumbClick = React.useCallback((index) => {
|
|
40
|
+
if (!emblaMainApi || !emblaThumbsApi)
|
|
41
|
+
return;
|
|
42
|
+
emblaMainApi.scrollTo(index);
|
|
43
|
+
}, [emblaMainApi, emblaThumbsApi]);
|
|
44
|
+
const onMainSelect = React.useCallback(() => {
|
|
45
|
+
if (!emblaThumbsApi || !emblaMainApi) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
setScrollSnaps(emblaMainApi.scrollSnapList());
|
|
49
|
+
setActiveIndex(emblaMainApi.selectedScrollSnap());
|
|
50
|
+
emblaThumbsApi.scrollTo(emblaMainApi.selectedScrollSnap());
|
|
51
|
+
}, [emblaThumbsApi, emblaMainApi]);
|
|
52
|
+
const onThumbSelect = React.useCallback(() => {
|
|
53
|
+
if (!emblaThumbsApi || !emblaMainApi) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
setCanScrollPrev(emblaThumbsApi.canScrollPrev());
|
|
57
|
+
setCanScrollNext(emblaThumbsApi.canScrollNext());
|
|
58
|
+
}, [emblaThumbsApi, emblaMainApi]);
|
|
59
|
+
React.useEffect(() => {
|
|
60
|
+
if (!emblaThumbsApi || !emblaMainApi) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
const reIntHandler = debounce((api) => {
|
|
64
|
+
setCanScrollPrev(api.canScrollPrev());
|
|
65
|
+
setCanScrollNext(api.canScrollNext());
|
|
66
|
+
}, 100);
|
|
67
|
+
onMainSelect();
|
|
68
|
+
onThumbSelect();
|
|
69
|
+
emblaThumbsApi.on('select', onThumbSelect);
|
|
70
|
+
emblaThumbsApi.on('reInit', reIntHandler);
|
|
71
|
+
emblaMainApi.on('select', onMainSelect);
|
|
72
|
+
emblaMainApi.on('reInit', reIntHandler);
|
|
73
|
+
}, [emblaThumbsApi]);
|
|
74
|
+
const scrollPrev = React.useCallback(() => emblaThumbsApi && emblaThumbsApi.scrollPrev(), [emblaThumbsApi]);
|
|
75
|
+
const scrollNext = React.useCallback(() => emblaThumbsApi && emblaThumbsApi.scrollNext(), [emblaThumbsApi]);
|
|
76
|
+
return (_jsxs("div", { className: "flex flex-col md:gap-4", children: [_jsxs("div", { className: cn('font-text overflow-hidden relative'), ref: emblaMainRef, children: [_jsx("div", { className: "flex gap-x-2", children: mediaElements?.map((mediaElement, index) => (_jsx("div", { className: "flex-[0_0] basis-full overflow-hidden rounded-md bg-surface-secondary", children: mediaElement.type === 'image' ? (_jsx(Image, { ratio: '4/3', className: "mix-blend-darken", ...mediaElement.image })) : (_jsx(Video, { ...mediaElement.video,
|
|
77
|
+
previewImage: {
|
|
78
|
+
...mediaElement.video.previewImage,
|
|
79
|
+
ratio: '4/3',
|
|
80
|
+
className: 'mix-blend-darken',
|
|
81
|
+
} })) }, index))) }), scrollSnaps.length > 1 && (_jsx(Controls, { className: "md:hidden", children: scrollSnaps.map((_, index) => (_jsx(ControlsItem, { active: activeIndex === index, className: "cursor-pointer md:pointer-events-none md:cursor-default", onClick: () => onThumbClick(index) }, index))) }))] }), _jsxs("div", { className: cn('font-text relative overflow-hidden invisible h-0 md:visible md:h-auto'), ref: emblaThumbsRef, children: [_jsx("div", { className: "flex select-none gap-x-2", children: mediaElements?.map((mediaElement, index) => (_jsx("div", { className: "flex-[0_0] basis-full md:basis-auto", onClick: () => onThumbClick(index), children: _jsx(MediaThumbnail, { isActive: activeIndex === index, isVideo: mediaElement.type === 'video', children: _jsx(Image, { fit: "cover", ratio: '1/1', className: "mix-blend-darken", ...mediaElement.thumbnailImage }) }) }, index))) }), canScrollPrev && (_jsx(ControlButton, { onClick: scrollPrev, position: 'left', iconProps: { name: 'core::chevron-left' } })), canScrollNext && (_jsx(ControlButton, { onClick: scrollNext, position: 'right', iconProps: { name: 'core::chevron-right' } }))] })] }));
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=ProductStageContainerThumbnail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductStageContainerThumbnail.js","sourceRoot":"","sources":["../../../../src/web/product/productStage/ProductStageContainerThumbnail.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
import { IconProps } from '../../../components';
|
|
4
|
+
export interface ProductStageNavBarItemProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
5
|
+
value: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
isActive: boolean;
|
|
8
|
+
onTabChange: (tab: string) => void;
|
|
9
|
+
}
|
|
10
|
+
declare const productStageNavBarListButtonVariants: (props?: ({
|
|
11
|
+
position?: "left" | "right" | null | undefined;
|
|
12
|
+
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
13
|
+
export interface ProductStageNavBarListButtonProps extends VariantProps<typeof productStageNavBarListButtonVariants> {
|
|
14
|
+
onClick: React.HTMLAttributes<HTMLDivElement>['onClick'];
|
|
15
|
+
iconProps: Omit<IconProps, 'size' | 'color'>;
|
|
16
|
+
}
|
|
17
|
+
export interface ProductStageNavBarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
18
|
+
items: {
|
|
19
|
+
label: string;
|
|
20
|
+
id: string;
|
|
21
|
+
href?: string;
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
}[];
|
|
24
|
+
currentTab: string;
|
|
25
|
+
onTabChange: (tab: string) => void;
|
|
26
|
+
}
|
|
27
|
+
declare const ProductStageNavBar: React.FC<ProductStageNavBarProps>;
|
|
28
|
+
export interface ProductStageNavBarContainerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
29
|
+
}
|
|
30
|
+
declare const ProductStageNavBarContainer: React.FC<ProductStageNavBarContainerProps>;
|
|
31
|
+
export interface ProductStageNavBarButtonsContainerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
32
|
+
}
|
|
33
|
+
declare const ProductStageNavBarButtonsContainer: React.FC<ProductStageNavBarButtonsContainerProps>;
|
|
34
|
+
export { ProductStageNavBar, ProductStageNavBarContainer, ProductStageNavBarButtonsContainer, };
|
|
35
|
+
//# sourceMappingURL=ProductStageNavBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductStageNavBar.d.ts","sourceRoot":"","sources":["../../../../src/web/product/productStage/ProductStageNavBar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,KAAK,YAAY,EAAM,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EACL,SAAS,EAMV,MAAM,qBAAqB,CAAC;AAI7B,MAAM,WAAW,2BACf,SAAQ,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAwCD,QAAA,MAAM,oCAAoC;;mFAUzC,CAAC;AAEF,MAAM,WAAW,iCACf,SAAQ,YAAY,CAAC,OAAO,oCAAoC,CAAC;IACjE,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;CAC9C;AAiBD,MAAM,WAAW,uBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5C,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,EAAE,CAAC;IACJ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAyEzD,CAAC;AAEF,MAAM,WAAW,gCACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEjD,QAAA,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CACzC,gCAAgC,CAejC,CAAC;AAEF,MAAM,WAAW,uCACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEjD,QAAA,MAAM,kCAAkC,EAAE,KAAK,CAAC,EAAE,CAChD,uCAAuC,CACiC,CAAC;AAE3E,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,kCAAkC,GACnC,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import useEmblaCarousel from 'embla-carousel-react';
|
|
5
|
+
import { cva } from 'class-variance-authority';
|
|
6
|
+
import { cn } from '../../../utils';
|
|
7
|
+
import { Icon, BlockGrid, BlockChildrenWidthContainer, Container, BodyText, } from '../../../components';
|
|
8
|
+
import { usePrevNextButtons } from '../../../hooks/emblaCarousel/usePrevNextButtons';
|
|
9
|
+
import { useTabBarKeys } from '../../../hooks/emblaCarousel/useTabBarKeys';
|
|
10
|
+
const ProductStageNavBarItem = ({ children, value, disabled = false, isActive, onTabChange, }) => {
|
|
11
|
+
if (!children)
|
|
12
|
+
return;
|
|
13
|
+
return (_jsxs("div", { className: "flex flex-col gap-1 p-2 pb-0 flex-[0_0_auto]", children: [_jsx(BodyText, { variant: 'small', weight: "bold", asChild: true, children: _jsx("button", { type: "button", role: "tab", "data-tab": value, "data-disabled": disabled, tabIndex: isActive ? 0 : -1, "aria-selected": isActive, className: cn('transition-all cursor-pointer p-1 hover:bg-field-hover outline-1 outline-none -outline-offset-1 focus:outline focus:outline-border-accent rounded-sm', disabled && 'cursor-not-allowed text-text-disabled'), onClick: () => !disabled && onTabChange(value), children: children }) }), _jsx("div", { className: cn('h-1 mx-1 transition-colors w-1/2', isActive && 'bg-border-accent') })] }));
|
|
14
|
+
};
|
|
15
|
+
const productStageNavBarListButtonVariants = cva('select-none absolute top-0 right-0 flex items-center justify-center h-full p-2 cursor-pointer w-11 from-draeger-white via-75% via-draeger-white to-white', {
|
|
16
|
+
variants: {
|
|
17
|
+
position: {
|
|
18
|
+
left: 'left-0 bg-gradient-to-r',
|
|
19
|
+
right: 'right-0 bg-gradient-to-l',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
const ProductStageNavBarListButton = ({ onClick, iconProps, position }) => (_jsx("div", { className: cn(productStageNavBarListButtonVariants({ position })), onClick: onClick, children: _jsx(Icon, { size: 'md', className: cn(iconProps, 'text-text-accent'), ...iconProps }) }));
|
|
24
|
+
const ProductStageNavBar = ({ currentTab, onTabChange, items, ...props }) => {
|
|
25
|
+
const [emblaRef, emblaApi] = useEmblaCarousel({
|
|
26
|
+
align: 'start',
|
|
27
|
+
containScroll: 'trimSnaps',
|
|
28
|
+
dragFree: true,
|
|
29
|
+
watchDrag: true,
|
|
30
|
+
});
|
|
31
|
+
const onKeyDownHandler = useTabBarKeys({ emblaApi, onTabChange, currentTab });
|
|
32
|
+
const { canScrollNext, canScrollPrev, scrollPrev, scrollNext } = usePrevNextButtons(emblaApi);
|
|
33
|
+
const scrollTo = React.useCallback((index) => emblaApi && emblaApi.scrollTo(index), [emblaApi]);
|
|
34
|
+
React.useEffect(() => {
|
|
35
|
+
if (!emblaApi) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const emblaRootNode = emblaApi.rootNode();
|
|
39
|
+
const tabsNodesArray = Array.from(emblaRootNode.querySelectorAll('[data-tab]'));
|
|
40
|
+
const index = tabsNodesArray.findIndex(el => el.getAttribute('data-tab') === currentTab);
|
|
41
|
+
if (typeof index !== 'undefined')
|
|
42
|
+
scrollTo(index);
|
|
43
|
+
}, [currentTab, emblaApi]);
|
|
44
|
+
return (_jsxs("div", { className: "relative overflow-hidden", ...props, children: [_jsx("div", { className: "overflow-hidden", children: _jsx("div", { ref: emblaRef, children: _jsx("div", { role: "tablist", className: "flex", onKeyDown: onKeyDownHandler, children: items.map((item, index) => (_jsx(ProductStageNavBarItem, { value: item.id, isActive: currentTab === item.id, disabled: item.disabled, onTabChange: onTabChange, children: item.label }, index))) }) }) }), canScrollPrev && (_jsx(ProductStageNavBarListButton, { onClick: scrollPrev, position: 'left', iconProps: { name: 'core::chevron-left' } })), canScrollNext && (_jsx(ProductStageNavBarListButton, { onClick: scrollNext, position: 'right', iconProps: { name: 'core::chevron-right' } }))] }));
|
|
45
|
+
};
|
|
46
|
+
const ProductStageNavBarContainer = ({ children }) => (_jsx(Container, { paddingTop: 'none', paddingBottom: 'none', className: "sticky top-0 border-b border-border-separator font-text", children: _jsx(BlockGrid, { paddingBottom: 'none', children: _jsx(BlockChildrenWidthContainer, { paddingBottom: 'none', children: _jsx("div", { className: "flex gap-4 h-[88px] items-center justify-between", children: children }) }) }) }));
|
|
47
|
+
const ProductStageNavBarButtonsContainer = ({ children }) => _jsx("div", { className: "hidden gap-4 xl:flex", children: children });
|
|
48
|
+
export { ProductStageNavBar, ProductStageNavBarContainer, ProductStageNavBarButtonsContainer, };
|
|
49
|
+
//# sourceMappingURL=ProductStageNavBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductStageNavBar.js","sourceRoot":"","sources":["../../../../src/web/product/productStage/ProductStageNavBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/web/product/productStage/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/web/product/productStage/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@odx/websites-react",
|
|
3
3
|
"author": "Drägerwerk AG & Co. KGaA",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.15",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"description": "ODX React component library for websites",
|
|
7
7
|
"type": "module",
|
|
@@ -99,6 +99,7 @@
|
|
|
99
99
|
"./web/product/productAccessories": "./dist/web/product/productAccessories/index.js",
|
|
100
100
|
"./web/product/productBenefits": "./dist/web/product/productBenefits/index.js",
|
|
101
101
|
"./web/product/productInfoBlock": "./dist/web/product/productInfoBlock/index.js",
|
|
102
|
+
"./web/product/productStage": "./dist/web/product/productStage/index.js",
|
|
102
103
|
"./web/productFinder/contentSwitch": "./dist/web/productFinder/contentSwitch/index.js",
|
|
103
104
|
"./web/productFinder/filter": "./dist/web/productFinder/filter/index.js",
|
|
104
105
|
"./web/productFinder/navigation": "./dist/web/productFinder/navigation/index.js",
|
|
@@ -381,6 +382,9 @@
|
|
|
381
382
|
"web/product/productInfoBlock": [
|
|
382
383
|
"./dist/web/product/productInfoBlock/index.d.ts"
|
|
383
384
|
],
|
|
385
|
+
"web/product/productStage": [
|
|
386
|
+
"./dist/web/product/productStage/index.d.ts"
|
|
387
|
+
],
|
|
384
388
|
"web/productFinder/contentSwitch": [
|
|
385
389
|
"./dist/web/productFinder/contentSwitch/index.d.ts"
|
|
386
390
|
],
|
|
@@ -452,9 +456,9 @@
|
|
|
452
456
|
"ts-node": "^10.9.2",
|
|
453
457
|
"typescript": "^5.4.5",
|
|
454
458
|
"vitest": "^3.1.0-beta.1",
|
|
459
|
+
"@odx/eslint-config-websites": "0.0.1",
|
|
455
460
|
"@odx/websites-tsconfig": "0.0.0",
|
|
456
|
-
"@odx/websites-ui": "0.2.
|
|
457
|
-
"@odx/eslint-config-websites": "0.0.1"
|
|
461
|
+
"@odx/websites-ui": "0.2.26"
|
|
458
462
|
},
|
|
459
463
|
"peerDependencies": {
|
|
460
464
|
"@odx/flag-icons": "1.0.2",
|