@equinor/amplify-component-lib 10.0.1 → 10.0.3

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.
@@ -1,4 +1,4 @@
1
- import * as react1 from "react";
1
+ import * as react0 from "react";
2
2
  import { IconData } from "@equinor/eds-icons";
3
3
 
4
4
  //#region src/deprecated/ExpandingIconButton/ExpandingIconButton.d.ts
@@ -12,6 +12,6 @@ interface ExpandingIconButtonProps {
12
12
  /**
13
13
  * @deprecated Being deprecated from amplify-component-lib move into app if you want the implementation
14
14
  */
15
- declare const ExpandingIconButton: react1.ForwardRefExoticComponent<ExpandingIconButtonProps & react1.RefAttributes<HTMLDivElement>>;
15
+ declare const ExpandingIconButton: react0.ForwardRefExoticComponent<ExpandingIconButtonProps & react0.RefAttributes<HTMLDivElement>>;
16
16
  //#endregion
17
17
  export { ExpandingIconButton };
@@ -1,4 +1,4 @@
1
- import * as react3 from "react";
1
+ import * as react1 from "react";
2
2
  import { IconData } from "@equinor/eds-icons";
3
3
 
4
4
  //#region src/deprecated/IconToggleButton.d.ts
@@ -21,6 +21,6 @@ interface IconToggleButtonProps {
21
21
  /**
22
22
  * @deprecated Being deprecated from amplify-component-lib move into app if you want the implementation
23
23
  */
24
- declare const IconToggleButton: react3.ForwardRefExoticComponent<IconToggleButtonProps & react3.RefAttributes<HTMLButtonElement>>;
24
+ declare const IconToggleButton: react1.ForwardRefExoticComponent<IconToggleButtonProps & react1.RefAttributes<HTMLButtonElement>>;
25
25
  //#endregion
26
26
  export { IconToggleButton };
@@ -1,4 +1,4 @@
1
- import * as react7 from "react";
1
+ import * as react9 from "react";
2
2
  import { HTMLAttributes, KeyboardEvent, MouseEvent, ReactNode } from "react";
3
3
  import { IconData } from "@equinor/eds-icons";
4
4
 
@@ -25,6 +25,6 @@ type DeletableChipProps = BaseChipProps & InteractiveChipBase & {
25
25
  onDelete: (event: MouseEvent<HTMLButtonElement> | KeyboardEvent<HTMLButtonElement>) => void;
26
26
  };
27
27
  type ChipProps = Omit<HTMLAttributes<HTMLDivElement | HTMLButtonElement>, 'onClick'> & (ReadOnlyChipProps | ClickableChipProps | DeletableChipProps);
28
- declare const Chip: react7.ForwardRefExoticComponent<ChipProps & react7.RefAttributes<HTMLDivElement | HTMLButtonElement>>;
28
+ declare const Chip: react9.ForwardRefExoticComponent<ChipProps & react9.RefAttributes<HTMLDivElement | HTMLButtonElement>>;
29
29
  //#endregion
30
30
  export { BaseChipProps, Chip, ClickableChipProps, DeletableChipProps };
@@ -1,17 +1,19 @@
1
1
  import { Variants } from "../../atoms/types/variants.js";
2
- import * as react9 from "react";
2
+ import * as react5 from "react";
3
3
  import { DatePickerProps } from "@equinor/eds-core-react";
4
4
 
5
5
  //#region src/molecules/DatePicker/DatePicker.d.ts
6
- type DatePickerProps$1 = Omit<DatePickerProps, 'variant'> & {
6
+ type DatePickerProps$1 = Omit<DatePickerProps, 'variant' | 'defaultValue'> & {
7
7
  variant?: Variants;
8
+ defaultValue?: Date | undefined;
8
9
  meta?: string;
9
10
  loading?: boolean;
10
11
  };
11
- declare const DatePicker$1: react9.ForwardRefExoticComponent<Omit<DatePickerProps, "variant"> & {
12
+ declare const DatePicker$1: react5.ForwardRefExoticComponent<Omit<DatePickerProps, "defaultValue" | "variant"> & {
12
13
  variant?: Variants;
14
+ defaultValue?: Date | undefined;
13
15
  meta?: string;
14
16
  loading?: boolean;
15
- } & react9.RefAttributes<HTMLDivElement>>;
17
+ } & react5.RefAttributes<HTMLDivElement>>;
16
18
  //#endregion
17
19
  export { DatePicker$1 as DatePicker, DatePickerProps$1 as DatePickerProps };
@@ -1 +1 @@
1
- import{colors as e}from"../../atoms/style/colors.js";import{getSkeletonHeight as t,getSkeletonTop as n}from"../../atoms/utils/skeleton.js";import{DatePickerWrapper as r}from"./DatePicker.styles.js";import{SkeletonField as i}from"../Skeleton/SkeletonField.js";import{forwardRef as a,useRef as o}from"react";import{DatePicker as s,Icon as c,Typography as l}from"@equinor/eds-core-react";import{jsx as u,jsxs as d}from"react/jsx-runtime";import{calendar as f}from"@equinor/eds-icons";const p=a((a,p)=>{let m=a.locale??`en-GB`,h=a.formatOptions===void 0?{day:`2-digit`,month:`2-digit`,year:`numeric`}:a.formatOptions,g={...a,variant:a.variant===`dirty`?void 0:a.variant,loading:void 0},_=n(a),v=t({label:a.label,helperText:a.helperProps?.text,helperIcon:a.helperProps?.icon}),y=o(`${Math.max(40,Math.random()*80)}%`),b=a.loading||a.disabled;return d(r,{$variant:a.variant,$loading:a.loading,children:[u(s,{...g,ref:p,locale:m,formatOptions:h,disabled:b}),a.meta&&u(l,{variant:`helper`,group:`input`,children:a.meta}),a.loading&&u(i,{role:`progressbar`,style:{width:y.current,height:v,top:_}}),b&&u(c,{style:{top:_},data:f,size:24,color:e.interactive.disabled__fill.rgba})]})});p.displayName=`DatePicker`;export{p as DatePicker};
1
+ import{colors as e}from"../../atoms/style/colors.js";import{getSkeletonHeight as t,getSkeletonTop as n}from"../../atoms/utils/skeleton.js";import{DatePickerWrapper as r}from"./DatePicker.styles.js";import{SkeletonField as i}from"../Skeleton/SkeletonField.js";import{forwardRef as a,useRef as o}from"react";import{DatePicker as s,Icon as c,Typography as l}from"@equinor/eds-core-react";import{jsx as u,jsxs as d}from"react/jsx-runtime";import{calendar as f}from"@equinor/eds-icons";const p=a((a,p)=>{let m=a.locale??`en-GB`,h=a.formatOptions===void 0?{day:`2-digit`,month:`2-digit`,year:`numeric`}:a.formatOptions,g={...a,defaultValue:a.defaultValue,variant:a.variant===`dirty`?void 0:a.variant,loading:void 0},_=n(a),v=t({label:a.label,helperText:a.helperProps?.text,helperIcon:a.helperProps?.icon}),y=o(`${Math.max(40,Math.random()*80)}%`),b=a.loading||a.disabled;return d(r,{$variant:a.variant,$loading:a.loading,children:[u(s,{...g,ref:p,locale:m,formatOptions:h,disabled:b}),a.meta&&u(l,{variant:`helper`,group:`input`,children:a.meta}),a.loading&&u(i,{role:`progressbar`,style:{width:y.current,height:v,top:_}}),b&&u(c,{style:{top:_},data:f,size:24,color:e.interactive.disabled__fill.rgba})]})});p.displayName=`DatePicker`;export{p as DatePicker};
@@ -1,5 +1,5 @@
1
1
  import { Variants } from "../../atoms/types/variants.js";
2
- import * as react5 from "react";
2
+ import * as react7 from "react";
3
3
  import { DateRangePickerProps } from "@equinor/eds-core-react";
4
4
 
5
5
  //#region src/molecules/DateRangePicker/DateRangePicker.d.ts
@@ -8,10 +8,10 @@ type DateRangePickerProps$1 = Omit<DateRangePickerProps, 'variant'> & {
8
8
  meta?: string;
9
9
  loading?: boolean;
10
10
  };
11
- declare const DateRangePicker$1: react5.ForwardRefExoticComponent<Omit<DateRangePickerProps, "variant"> & {
11
+ declare const DateRangePicker$1: react7.ForwardRefExoticComponent<Omit<DateRangePickerProps, "variant"> & {
12
12
  variant?: Variants;
13
13
  meta?: string;
14
14
  loading?: boolean;
15
- } & react5.RefAttributes<HTMLDivElement>>;
15
+ } & react7.RefAttributes<HTMLDivElement>>;
16
16
  //#endregion
17
17
  export { DateRangePicker$1 as DateRangePicker, DateRangePickerProps$1 as DateRangePickerProps };
@@ -1,11 +1,11 @@
1
1
  import { SizeIconProps } from "../../atoms/types/Icon.js";
2
- import * as react15 from "react";
2
+ import * as react13 from "react";
3
3
 
4
4
  //#region src/molecules/EquinorLogo/EquinorLogo.d.ts
5
5
  interface EquinorLogoProps extends Partial<SizeIconProps> {
6
6
  large?: boolean;
7
7
  color?: 'red' | 'white' | 'black';
8
8
  }
9
- declare const EquinorLogo: react15.ForwardRefExoticComponent<EquinorLogoProps & react15.RefAttributes<SVGSVGElement>>;
9
+ declare const EquinorLogo: react13.ForwardRefExoticComponent<EquinorLogoProps & react13.RefAttributes<SVGSVGElement>>;
10
10
  //#endregion
11
11
  export { EquinorLogo, EquinorLogoProps };
@@ -1,5 +1,5 @@
1
1
  import { IconCellColor, IconCellState, IconCellVariant, IconCellVariants } from "./IconCell.types.js";
2
- import * as react17 from "react";
2
+ import * as react15 from "react";
3
3
  import { HTMLAttributes, MouseEventHandler, ReactNode } from "react";
4
4
  import { IconData } from "@equinor/eds-icons";
5
5
 
@@ -49,6 +49,6 @@ type IconCellProps = ScribbledOutProps | RegularIconCellProps;
49
49
  * @param {React.Ref<HTMLButtonElement>} ref - Ref forwarded to the inner button element.
50
50
  * @returns {JSX.Element} The rendered IconCell.
51
51
  */
52
- declare const IconCell: react17.ForwardRefExoticComponent<IconCellProps & react17.RefAttributes<HTMLButtonElement>>;
52
+ declare const IconCell: react15.ForwardRefExoticComponent<IconCellProps & react15.RefAttributes<HTMLButtonElement>>;
53
53
  //#endregion
54
54
  export { IconCell, IconCellProps };
@@ -1,5 +1,5 @@
1
1
  import { ChangeEvent, MouseEvent } from "react";
2
- import * as react_jsx_runtime1 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/molecules/OptionDrawer/OptionDrawer.d.ts
5
5
  interface ToggleEventProps<T> {
@@ -43,7 +43,7 @@ declare const OptionDrawer: {
43
43
  openAll,
44
44
  showIntermediateParent,
45
45
  parentHasNestedItems
46
- }: OptionDrawerProps<T>): react_jsx_runtime1.JSX.Element;
46
+ }: OptionDrawerProps<T>): react_jsx_runtime2.JSX.Element;
47
47
  displayName: string;
48
48
  };
49
49
  //#endregion
@@ -1,4 +1,4 @@
1
- import * as react27 from "react";
1
+ import * as react17 from "react";
2
2
  import { TooltipProps } from "@equinor/eds-core-react";
3
3
  import * as _floating_ui_utils0 from "@floating-ui/utils";
4
4
 
@@ -6,14 +6,14 @@ import * as _floating_ui_utils0 from "@floating-ui/utils";
6
6
  type OptionalTooltipProps = {
7
7
  textTransform?: string;
8
8
  } & TooltipProps;
9
- declare const OptionalTooltip: react27.ForwardRefExoticComponent<{
9
+ declare const OptionalTooltip: react17.ForwardRefExoticComponent<{
10
10
  textTransform?: string;
11
11
  } & {
12
12
  placement?: _floating_ui_utils0.Placement;
13
- title?: react27.ReactNode;
13
+ title?: react17.ReactNode;
14
14
  children: React.ReactElement & React.RefAttributes<HTMLElement>;
15
15
  enterDelay?: number;
16
16
  portalContainer?: HTMLElement;
17
- } & Omit<react27.HTMLAttributes<HTMLDivElement>, "title"> & react27.RefAttributes<HTMLDivElement>>;
17
+ } & Omit<react17.HTMLAttributes<HTMLDivElement>, "title"> & react17.RefAttributes<HTMLDivElement>>;
18
18
  //#endregion
19
19
  export { OptionalTooltip, OptionalTooltipProps };
@@ -1,4 +1,4 @@
1
- import * as react13 from "react";
1
+ import * as react21 from "react";
2
2
 
3
3
  //#region src/molecules/ProfileAvatar/ProfileAvatar.d.ts
4
4
  interface ProfileAvatarProps {
@@ -7,6 +7,6 @@ interface ProfileAvatarProps {
7
7
  size?: 'small' | 'small-medium' | 'medium' | 'large' | 'x-large' | number;
8
8
  disabled?: boolean;
9
9
  }
10
- declare const ProfileAvatar: react13.ForwardRefExoticComponent<ProfileAvatarProps & react13.RefAttributes<HTMLDivElement>>;
10
+ declare const ProfileAvatar: react21.ForwardRefExoticComponent<ProfileAvatarProps & react21.RefAttributes<HTMLDivElement>>;
11
11
  //#endregion
12
12
  export { ProfileAvatar, ProfileAvatarProps };
@@ -1,11 +1,11 @@
1
1
  import { EditorPanel, ImageExtensionFnProps, RichTextEditorFeatures } from "../RichTextEditor.types.js";
2
2
  import { MenuButtonProps } from "./MenuButton.js";
3
3
  import { AddImageProps } from "./AddImageButton.js";
4
- import * as react31 from "react";
4
+ import * as react23 from "react";
5
5
  import { FC } from "react";
6
6
  import * as styled_components0 from "styled-components";
7
7
  import { Editor } from "@tiptap/react";
8
- import * as styled_components_dist_types3 from "styled-components/dist/types";
8
+ import * as styled_components_dist_types0 from "styled-components/dist/types";
9
9
 
10
10
  //#region src/molecules/RichTextEditor/MenuBar/MenuBar.d.ts
11
11
  interface MenuBarProps extends Pick<ImageExtensionFnProps, 'onImageUpload'> {
@@ -14,10 +14,10 @@ interface MenuBarProps extends Pick<ImageExtensionFnProps, 'onImageUpload'> {
14
14
  }
15
15
  declare const AmplifyBar: FC<MenuBarProps>;
16
16
  declare const EditorMenu: {
17
- Bar: styled_components_dist_types3.IStyledComponentBase<"web", styled_components0.FastOmit<react31.DetailedHTMLProps<react31.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
18
- Bars: styled_components_dist_types3.IStyledComponentBase<"web", styled_components0.FastOmit<react31.DetailedHTMLProps<react31.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
19
- Button: react31.ForwardRefExoticComponent<Omit<MenuButtonProps, "ref"> & react31.RefAttributes<HTMLButtonElement>>;
20
- Section: styled_components_dist_types3.IStyledComponentBase<"web", styled_components0.FastOmit<react31.DetailedHTMLProps<react31.HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
17
+ Bar: styled_components_dist_types0.IStyledComponentBase<"web", styled_components0.FastOmit<react23.DetailedHTMLProps<react23.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
18
+ Bars: styled_components_dist_types0.IStyledComponentBase<"web", styled_components0.FastOmit<react23.DetailedHTMLProps<react23.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
19
+ Button: react23.ForwardRefExoticComponent<Omit<MenuButtonProps, "ref"> & react23.RefAttributes<HTMLButtonElement>>;
20
+ Section: styled_components_dist_types0.IStyledComponentBase<"web", styled_components0.FastOmit<react23.DetailedHTMLProps<react23.HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
21
21
  AddImageButton: FC<AddImageProps>;
22
22
  };
23
23
  declare const EditorText: {
@@ -2,16 +2,16 @@ import { EditorStylingProps, RichTextContentProps } from "./RichTextEditor.style
2
2
  import { EditorProviderProps } from "./EditorProvider.js";
3
3
  import { MenuBarProps } from "./MenuBar/MenuBar.js";
4
4
  import { RichTextEditor } from "./RichTextEditor.js";
5
- import * as react19 from "react";
5
+ import * as react31 from "react";
6
6
  import * as _tiptap_react0 from "@tiptap/react";
7
- import * as styled_components_dist_types0 from "styled-components/dist/types";
7
+ import * as styled_components_dist_types2 from "styled-components/dist/types";
8
8
 
9
9
  //#region src/molecules/RichTextEditor/index.d.ts
10
10
  declare const RichText: {
11
- Styling: styled_components_dist_types0.IStyledComponentBase<"web", styled_components_dist_types0.Substitute<react19.DetailedHTMLProps<react19.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, EditorStylingProps>> & string;
12
- Provider: react19.FC<EditorProviderProps>;
13
- Content: styled_components_dist_types0.IStyledComponentBase<"web", styled_components_dist_types0.Substitute<Omit<_tiptap_react0.EditorContentProps, "ref"> & react19.RefAttributes<HTMLDivElement>, RichTextContentProps>> & string & Omit<react19.NamedExoticComponent<Omit<_tiptap_react0.EditorContentProps, "ref"> & react19.RefAttributes<HTMLDivElement>>, keyof react19.Component<any, {}, any>>;
14
- Bar: react19.FC<MenuBarProps>;
11
+ Styling: styled_components_dist_types2.IStyledComponentBase<"web", styled_components_dist_types2.Substitute<react31.DetailedHTMLProps<react31.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, EditorStylingProps>> & string;
12
+ Provider: react31.FC<EditorProviderProps>;
13
+ Content: styled_components_dist_types2.IStyledComponentBase<"web", styled_components_dist_types2.Substitute<Omit<_tiptap_react0.EditorContentProps, "ref"> & react31.RefAttributes<HTMLDivElement>, RichTextContentProps>> & string & Omit<react31.NamedExoticComponent<Omit<_tiptap_react0.EditorContentProps, "ref"> & react31.RefAttributes<HTMLDivElement>>, keyof react31.Component<any, {}, any>>;
14
+ Bar: react31.FC<MenuBarProps>;
15
15
  };
16
16
  //#endregion
17
17
  export { RichText };
@@ -1,5 +1,5 @@
1
1
  import { CommonSelectProps, GroupedSelectProps, ListSelectProps, SelectOptionRequired, SingleSelectCommon } from "../Select.types.js";
2
- import * as react_jsx_runtime2 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/molecules/Select/SingleSelect/SingleSelect.d.ts
5
5
  type ListSingleSelectProps<T extends SelectOptionRequired> = CommonSelectProps<T> & SingleSelectCommon<T> & ListSelectProps<T>;
@@ -16,6 +16,6 @@ type GroupedSingleSelectProps<T extends SelectOptionRequired> = CommonSelectProp
16
16
  * @param onSearchFilter - Custom filter function for search, default is "item.label.match(new RegExp(searchValue, 'i'))"
17
17
  * @param customMenuItemComponent - Custom component to use for rendering menu item, defaults to a checkbox with label
18
18
  */
19
- declare function SingleSelect<T extends SelectOptionRequired>(props: ListSingleSelectProps<T> | GroupedSingleSelectProps<T>): react_jsx_runtime2.JSX.Element;
19
+ declare function SingleSelect<T extends SelectOptionRequired>(props: ListSingleSelectProps<T> | GroupedSingleSelectProps<T>): react_jsx_runtime1.JSX.Element;
20
20
  //#endregion
21
21
  export { GroupedSingleSelectProps, ListSingleSelectProps, SingleSelect };
@@ -1,5 +1,5 @@
1
1
  import { FilterProps } from "./Filter.types.js";
2
- import * as react_jsx_runtime5 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime6 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/organisms/Filter/Filter.d.ts
5
5
 
@@ -30,6 +30,6 @@ declare function Filter<T extends string>({
30
30
  placeholder,
31
31
  id,
32
32
  ...rest
33
- }: FilterProps<T>): react_jsx_runtime5.JSX.Element;
33
+ }: FilterProps<T>): react_jsx_runtime6.JSX.Element;
34
34
  //#endregion
35
35
  export { Filter };
@@ -1,6 +1,6 @@
1
1
  import { SelectOptionRequired } from "../../molecules/Select/Select.types.js";
2
2
  import { FilterProps } from "./Filter.types.js";
3
- import * as react_jsx_runtime6 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime5 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/organisms/Filter/QuickFilter.d.ts
6
6
  interface QuickFilterProps<T extends string> {
@@ -14,6 +14,6 @@ declare function QuickFilter<T extends string>({
14
14
  items,
15
15
  onQuickFilter,
16
16
  label
17
- }: QuickFilterProps<T>): react_jsx_runtime6.JSX.Element;
17
+ }: QuickFilterProps<T>): react_jsx_runtime5.JSX.Element;
18
18
  //#endregion
19
19
  export { QuickFilter };
@@ -1,4 +1,4 @@
1
- import * as react121 from "react";
1
+ import * as react117 from "react";
2
2
  import { HTMLAttributes, ReactNode } from "react";
3
3
 
4
4
  //#region src/organisms/SideBar/SideBar.d.ts
@@ -16,6 +16,6 @@ interface SideBarWithCreate extends SideBarProps {
16
16
  createDisabled?: boolean;
17
17
  createActive?: boolean;
18
18
  }
19
- declare const SideBar: react121.ForwardRefExoticComponent<(SideBarWithCreate | BaseSideBar) & react121.RefAttributes<HTMLDivElement>>;
19
+ declare const SideBar: react117.ForwardRefExoticComponent<(SideBarWithCreate | BaseSideBar) & react117.RefAttributes<HTMLDivElement>>;
20
20
  //#endregion
21
21
  export { SideBar };
@@ -1,5 +1,5 @@
1
1
  import { Field } from "../../../atoms/types/Field.js";
2
- import * as react117 from "react";
2
+ import * as react121 from "react";
3
3
 
4
4
  //#region src/organisms/TopBar/FieldMenu/FieldMenu.d.ts
5
5
  interface FieldMenuProps {
@@ -9,6 +9,6 @@ interface FieldMenuProps {
9
9
  itemNameSingular?: string;
10
10
  showAccessITLink?: boolean;
11
11
  }
12
- declare const FieldMenu: react117.ForwardRefExoticComponent<FieldMenuProps & react117.RefAttributes<HTMLDivElement>>;
12
+ declare const FieldMenu: react121.ForwardRefExoticComponent<FieldMenuProps & react121.RefAttributes<HTMLDivElement>>;
13
13
  //#endregion
14
14
  export { FieldMenu };
@@ -1 +1 @@
1
- import{useOnScreenMultiple as e}from"../atoms/hooks/useOnScreenMultiple.js";import{getValues as t}from"./TableOfContentsProvider.utils.js";import{createContext as n,useCallback as r,useContext as i,useEffect as a,useMemo as o,useRef as s,useState as c}from"react";import{jsx as l}from"react/jsx-runtime";import{useLocation as u,useNavigate as d}from"@tanstack/react-router";const f=n(void 0);function p(){let e=i(f);if(e===void 0)throw Error(`'useTableOfContents' must be used within provider`);return e}const m=({items:n,children:i,hashNavigation:p})=>{let m=d(),{hash:h}=u(),[g,_]=c(n[0]?.value),[v,y]=c([]),b=s(!1),x=o(()=>n.flatMap(e=>t([],e)),[n]);a(()=>{y(x.map(e=>document.getElementById(e)))},[x]),a(()=>{h.length||(b.current=!0)},[h]);let S=r(e=>e.value===g?!0:e.children&&g?t([],e).includes(g):!1,[g]),C=e(v),w=s(-1),T=r((e,t)=>{let n=x.findIndex(t=>t===e);if(p){_(x[n]),m({to:`.`,hash:`#${x[n]}`,hashScrollIntoView:!1,replace:!0});return}let r=v[n];if(r){let e=t?.behavior??`smooth`;r.scrollIntoView({block:`start`,behavior:e}),w.current=n;let i=1/0,a=0,o=()=>{let e=r?.getBoundingClientRect().top;if(e===i){if(a+=1,a>1){_(x[n]),w.current=-1;return}}else a=0,i=e;requestAnimationFrame(o)};requestAnimationFrame(o)}},[v,p,m,x]);return a(()=>{if(h&&!b.current){b.current=!0;let e=decodeURIComponent(h.replace(`#`,``));if(!e.length||!x.includes(e))return;_(e),m({to:`.`,hash:`#${e}`,hashScrollIntoView:{behavior:`instant`,block:`start`},replace:!0})}},[h,m,x]),a(()=>{if(C.length===0||C.length!==x.length||w.current!==-1||!b.current)return;let e=-1;for(let t=C.length-1;t>=0;t--)C[t]&&(e=t);e===-1||x.at(e)===void 0||(_(x[e]),p&&m({to:`.`,hash:`#${x[e]}`,hashScrollIntoView:!1,replace:!0}))},[T,p,m,x,C]),l(f.Provider,{value:{items:n,selected:g,setSelected:T,isActive:S},children:i})};export{m as TableOfContentsProvider,p as useTableOfContents};
1
+ import{useOnScreenMultiple as e}from"../atoms/hooks/useOnScreenMultiple.js";import{getValues as t}from"./TableOfContentsProvider.utils.js";import{createContext as n,useCallback as r,useContext as i,useEffect as a,useMemo as o,useRef as s,useState as c}from"react";import{jsx as l}from"react/jsx-runtime";import{useLocation as u,useNavigate as d}from"@tanstack/react-router";const f=n(void 0);function p(){let e=i(f);if(e===void 0)throw Error(`'useTableOfContents' must be used within provider`);return e}const m=({items:n,children:i,hashNavigation:p})=>{let m=d(),{hash:h}=u(),[g,_]=c(n[0]?.value),[v,y]=c([]),b=s(!1),x=o(()=>n.flatMap(e=>t([],e)),[n]);a(()=>{y(x.map(e=>document.getElementById(e)))},[x]);let S=r(e=>e.value===g?!0:e.children&&g?t([],e).includes(g):!1,[g]),C=e(v),w=s(-1),T=r((e,t)=>{let n=x.indexOf(e),r=v[n],i=t?.behavior??`smooth`;if(n===-1||!r)return;let a=x[n];p&&m({to:`.`,hash:`#${a}`,hashScrollIntoView:!1,replace:!0}),r.scrollIntoView({block:`start`,behavior:i}),w.current=n;let o=1/0,s=0,c=()=>{let e=r?.getBoundingClientRect().top;if(e===o){if(s+=1,s>1){_(a),w.current=-1;return}}else s=0,o=e;requestAnimationFrame(c)};requestAnimationFrame(c)},[v,p,m,x]);return a(()=>{if(h&&!b.current&&v.length>0){b.current=!0;let e=decodeURIComponent(h.replace(`#`,``));if(!e.length||!x.includes(e))return;T(e)}},[v.length,T,h,x]),a(()=>{if(C.length===0||C.length!==x.length||w.current!==-1||!b.current)return;let e=-1;for(let t=C.length-1;t>=0;t--)C[t]&&(e=t);e===-1||x.at(e)===void 0||(_(x[e]),p&&m({to:`.`,hash:`#${x[e]}`,hashScrollIntoView:!1,replace:!0}))},[T,p,m,x,C]),l(f.Provider,{value:{items:n,selected:g,setSelected:T,isActive:S},children:i})};export{m as TableOfContentsProvider,p as useTableOfContents};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@equinor/amplify-component-lib",
3
- "version": "10.0.1",
3
+ "version": "10.0.3",
4
4
  "description": "Frontend Typescript components for the Amplify team",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",