@norges-domstoler/dds-components 21.14.0 → 21.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/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
@@ -10177,7 +10177,7 @@ var getCustomStyles = (size2, hasError, hasIcon, isReadOnly) => ({
10177
10177
  cursor: "pointer",
10178
10178
  display: "flex",
10179
10179
  alignItems: "center",
10180
- gap: "var(--dds-spacing-x0-5)",
10180
+ gap: "var(--dds-spacing-x0-25)",
10181
10181
  padding: "var(--dds-spacing-x0-75)",
10182
10182
  backgroundColor: "var(--dds-color-surface-default)",
10183
10183
  ...typography.option[size2],
@@ -10243,10 +10243,9 @@ var getIndicatorIconSize = (componentSize) => {
10243
10243
  }
10244
10244
  };
10245
10245
  var DDSOption = ({
10246
- componentSize,
10247
10246
  ...props
10248
10247
  }) => /* @__PURE__ */ (0, import_jsx_runtime285.jsxs)(Option, { ...props, children: [
10249
- props.isSelected && /* @__PURE__ */ (0, import_jsx_runtime285.jsx)(Icon, { icon: CheckIcon, iconSize: getFormInputIconSize(componentSize) }),
10248
+ props.isSelected && /* @__PURE__ */ (0, import_jsx_runtime285.jsx)(Icon, { icon: CheckIcon, iconSize: "small" }),
10250
10249
  props.children
10251
10250
  ] });
10252
10251
  var CustomOption = (props) => /* @__PURE__ */ (0, import_jsx_runtime285.jsx)(Option, { ...props, children: import_react70.default.createElement(props.customElement, props) });
@@ -10437,7 +10436,7 @@ function Select({
10437
10436
  if (customOptionElement) {
10438
10437
  return /* @__PURE__ */ (0, import_jsx_runtime286.jsx)(CustomOption, { ...props, customElement: customOptionElement });
10439
10438
  } else {
10440
- return /* @__PURE__ */ (0, import_jsx_runtime286.jsx)(DDSOption, { ...props, componentSize });
10439
+ return /* @__PURE__ */ (0, import_jsx_runtime286.jsx)(DDSOption, { ...props });
10441
10440
  }
10442
10441
  },
10443
10442
  [customOptionElement, componentSize]
@@ -10672,6 +10671,7 @@ var Pagination = ({
10672
10671
  itemsAmount,
10673
10672
  defaultItemsPerPage = 10,
10674
10673
  defaultActivePage = 1,
10674
+ activePage: activePageProp,
10675
10675
  withPagination = true,
10676
10676
  withCounter,
10677
10677
  withSelect,
@@ -10691,7 +10691,15 @@ var Pagination = ({
10691
10691
  ...rest
10692
10692
  }) => {
10693
10693
  const { t } = useTranslation();
10694
- 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
+ });
10695
10703
  const [itemsPerPage, setItemsPerPage] = (0, import_react73.useState)(defaultItemsPerPage);
10696
10704
  const pagesLength = Math.ceil(itemsAmount / itemsPerPage);
10697
10705
  const items = PaginationGenerator(pagesLength, activePage);
@@ -10909,7 +10917,7 @@ var Pagination = ({
10909
10917
  {
10910
10918
  options: selectOptions,
10911
10919
  isSearchable: false,
10912
- width: "74px",
10920
+ width: "90px",
10913
10921
  defaultValue: {
10914
10922
  label: itemsPerPage.toString(),
10915
10923
  value: itemsPerPage