@norges-domstoler/dds-components 0.0.0-dev-20250929080131 → 0.0.0-dev-20251001072842

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/index.d.mts CHANGED
@@ -3446,25 +3446,27 @@ interface PaginationOption {
3446
3446
  value: number;
3447
3447
  }
3448
3448
  type PaginationProps = BaseComponentProps<HTMLElement, {
3449
- /**Totalt antall elementer å paginere. */
3449
+ /**Totalt antall elementer som skal pagineres. */
3450
3450
  itemsAmount: number;
3451
- /**Antall elementer per side ved innlastning av komponenten.
3451
+ /**Antall elementer per side ved innlastning.
3452
3452
  * @default 10
3453
3453
  */
3454
3454
  defaultItemsPerPage?: number;
3455
- /**Den aktive siden ved innlastning av komponenten.
3455
+ /**Den aktive siden ved innlastning.
3456
3456
  * @default 1
3457
3457
  */
3458
3458
  defaultActivePage?: number;
3459
+ /**Den aktive siden. Brukes til kontrollert tilstand - når denne er satt styrer du siden utenfra. */
3460
+ activePage?: number;
3459
3461
  /**Spesifiserer om selve pagineringen skal vises.
3460
3462
  * @default true
3461
3463
  */
3462
3464
  withPagination?: boolean;
3463
- /**Spesifiserer om teksten `'Vis x-y av z'` skal vises. */
3465
+ /**Om teksten `'Vis x-y av z'` skal vises. */
3464
3466
  withCounter?: boolean;
3465
- /**Spesifiserer om `<Select />` til å velge antall resultater per side skal vises. */
3467
+ /**Om `<Select>` for å velge antall per side skal vises. */
3466
3468
  withSelect?: boolean;
3467
- /**Custom options for `<Select />`. **OBS!** hvis det settes custom `selectOptions` bør "alle"-alternativet inkluderes der det er relevant, da brukere ofte liker å ha muligheten.
3469
+ /**Custom options for `<Select>`. **OBS!** husk å inkludere "Alle"-alternativet hvis relevant - brukere forventer ofte den muligheten.
3468
3470
  * @default [
3469
3471
  { label: '10', value: 10 },
3470
3472
  { label: '25', value: 25 },
@@ -3473,15 +3475,17 @@ type PaginationProps = BaseComponentProps<HTMLElement, {
3473
3475
  ]
3474
3476
  */
3475
3477
  selectOptions?: Array<PaginationOption>;
3476
- /**Brukes til å hente side og eventuelt annen logikk ved endring av side. */
3478
+ /**Kalles ved sideendring - henter ny aktiv side og kjører ekstra logikk. */
3477
3479
  onChange?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>, page: number) => void;
3478
- /**Brukes til å hente `selectedOption` og eventuelt kjøre annen logikk når `withSelect=true` ved endring av alternativ. */
3480
+ /**Kalles når `selectedOption` endres, hvis `withSelect="true"`.
3481
+ * Brukes til å hente valgt alternativ og evt. kjøre ekstra logikk.
3482
+ */
3479
3483
  onSelectOptionChange?: (option: PaginationOption | null) => void;
3480
- /**Spesifiserer ved hvilket brekkpunkt og nedover versjonen for små skjermer skal vises; den viser færre sideknapper og stacker subkomponentene. */
3484
+ /**Brekkpunkt for mobilvisning; den viser færre sideknapper og stacker delkomponentene. */
3481
3485
  smallScreenBreakpoint?: Breakpoint;
3482
3486
  }, Omit<HTMLAttributes<HTMLElement>, 'onChange'>>;
3483
3487
  declare const Pagination: {
3484
- ({ itemsAmount, defaultItemsPerPage, defaultActivePage, withPagination, withCounter, withSelect, selectOptions, smallScreenBreakpoint, onChange, onSelectOptionChange, id, className, htmlProps, ref, ...rest }: PaginationProps): react_jsx_runtime.JSX.Element | null;
3488
+ ({ itemsAmount, defaultItemsPerPage, defaultActivePage, activePage: activePageProp, withPagination, withCounter, withSelect, selectOptions, smallScreenBreakpoint, onChange, onSelectOptionChange, id, className, htmlProps, ref, ...rest }: PaginationProps): react_jsx_runtime.JSX.Element | null;
3485
3489
  displayName: string;
3486
3490
  };
3487
3491
 
package/dist/index.d.ts CHANGED
@@ -3446,25 +3446,27 @@ interface PaginationOption {
3446
3446
  value: number;
3447
3447
  }
3448
3448
  type PaginationProps = BaseComponentProps<HTMLElement, {
3449
- /**Totalt antall elementer å paginere. */
3449
+ /**Totalt antall elementer som skal pagineres. */
3450
3450
  itemsAmount: number;
3451
- /**Antall elementer per side ved innlastning av komponenten.
3451
+ /**Antall elementer per side ved innlastning.
3452
3452
  * @default 10
3453
3453
  */
3454
3454
  defaultItemsPerPage?: number;
3455
- /**Den aktive siden ved innlastning av komponenten.
3455
+ /**Den aktive siden ved innlastning.
3456
3456
  * @default 1
3457
3457
  */
3458
3458
  defaultActivePage?: number;
3459
+ /**Den aktive siden. Brukes til kontrollert tilstand - når denne er satt styrer du siden utenfra. */
3460
+ activePage?: number;
3459
3461
  /**Spesifiserer om selve pagineringen skal vises.
3460
3462
  * @default true
3461
3463
  */
3462
3464
  withPagination?: boolean;
3463
- /**Spesifiserer om teksten `'Vis x-y av z'` skal vises. */
3465
+ /**Om teksten `'Vis x-y av z'` skal vises. */
3464
3466
  withCounter?: boolean;
3465
- /**Spesifiserer om `<Select />` til å velge antall resultater per side skal vises. */
3467
+ /**Om `<Select>` for å velge antall per side skal vises. */
3466
3468
  withSelect?: boolean;
3467
- /**Custom options for `<Select />`. **OBS!** hvis det settes custom `selectOptions` bør "alle"-alternativet inkluderes der det er relevant, da brukere ofte liker å ha muligheten.
3469
+ /**Custom options for `<Select>`. **OBS!** husk å inkludere "Alle"-alternativet hvis relevant - brukere forventer ofte den muligheten.
3468
3470
  * @default [
3469
3471
  { label: '10', value: 10 },
3470
3472
  { label: '25', value: 25 },
@@ -3473,15 +3475,17 @@ type PaginationProps = BaseComponentProps<HTMLElement, {
3473
3475
  ]
3474
3476
  */
3475
3477
  selectOptions?: Array<PaginationOption>;
3476
- /**Brukes til å hente side og eventuelt annen logikk ved endring av side. */
3478
+ /**Kalles ved sideendring - henter ny aktiv side og kjører ekstra logikk. */
3477
3479
  onChange?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>, page: number) => void;
3478
- /**Brukes til å hente `selectedOption` og eventuelt kjøre annen logikk når `withSelect=true` ved endring av alternativ. */
3480
+ /**Kalles når `selectedOption` endres, hvis `withSelect="true"`.
3481
+ * Brukes til å hente valgt alternativ og evt. kjøre ekstra logikk.
3482
+ */
3479
3483
  onSelectOptionChange?: (option: PaginationOption | null) => void;
3480
- /**Spesifiserer ved hvilket brekkpunkt og nedover versjonen for små skjermer skal vises; den viser færre sideknapper og stacker subkomponentene. */
3484
+ /**Brekkpunkt for mobilvisning; den viser færre sideknapper og stacker delkomponentene. */
3481
3485
  smallScreenBreakpoint?: Breakpoint;
3482
3486
  }, Omit<HTMLAttributes<HTMLElement>, 'onChange'>>;
3483
3487
  declare const Pagination: {
3484
- ({ itemsAmount, defaultItemsPerPage, defaultActivePage, withPagination, withCounter, withSelect, selectOptions, smallScreenBreakpoint, onChange, onSelectOptionChange, id, className, htmlProps, ref, ...rest }: PaginationProps): react_jsx_runtime.JSX.Element | null;
3488
+ ({ itemsAmount, defaultItemsPerPage, defaultActivePage, activePage: activePageProp, withPagination, withCounter, withSelect, selectOptions, smallScreenBreakpoint, onChange, onSelectOptionChange, id, className, htmlProps, ref, ...rest }: PaginationProps): react_jsx_runtime.JSX.Element | null;
3485
3489
  displayName: string;
3486
3490
  };
3487
3491
 
package/dist/index.js CHANGED
@@ -10671,6 +10671,7 @@ var Pagination = ({
10671
10671
  itemsAmount,
10672
10672
  defaultItemsPerPage = 10,
10673
10673
  defaultActivePage = 1,
10674
+ activePage: activePageProp,
10674
10675
  withPagination = true,
10675
10676
  withCounter,
10676
10677
  withSelect,
@@ -10690,7 +10691,15 @@ var Pagination = ({
10690
10691
  ...rest
10691
10692
  }) => {
10692
10693
  const { t } = useTranslation();
10693
- const [activePage, setActivePage] = (0, import_react73.useState)(defaultActivePage);
10694
+ if (withSelect && !selectOptions.some((o) => o.value === defaultItemsPerPage)) {
10695
+ console.warn(
10696
+ `[Pagination] defaultItemsPerPage prop value (${defaultItemsPerPage}) is not included in customOptions prop. Please add it to ensure it appears in the dropdown.`
10697
+ );
10698
+ }
10699
+ const [activePage, setActivePage] = useControllableState({
10700
+ value: activePageProp,
10701
+ defaultValue: defaultActivePage
10702
+ });
10694
10703
  const [itemsPerPage, setItemsPerPage] = (0, import_react73.useState)(defaultItemsPerPage);
10695
10704
  const pagesLength = Math.ceil(itemsAmount / itemsPerPage);
10696
10705
  const items = PaginationGenerator(pagesLength, activePage);
@@ -10908,7 +10917,7 @@ var Pagination = ({
10908
10917
  {
10909
10918
  options: selectOptions,
10910
10919
  isSearchable: false,
10911
- width: "74px",
10920
+ width: "90px",
10912
10921
  defaultValue: {
10913
10922
  label: itemsPerPage.toString(),
10914
10923
  value: itemsPerPage