@bi-digital/react 0.0.0-experimental-160e3ca → 0.0.0-experimental-f4bb806

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.
Files changed (133) hide show
  1. package/dist/{alert-footer-B-6ZVEwC.d.ts → alert-footer-BEpxLSfS.d.ts} +53 -44
  2. package/dist/{checkbox-CK2lV4pu.js → checkbox-CXVZj5Vv.js} +4 -3
  3. package/dist/checkbox-CXVZj5Vv.js.map +1 -0
  4. package/dist/components/alert/alert-footer.d.ts +5 -5
  5. package/dist/components/alert/alert.d.ts +5 -5
  6. package/dist/components/alert/index.d.ts +5 -5
  7. package/dist/components/avatar/avatar.d.ts +5 -5
  8. package/dist/components/avatar/index.d.ts +5 -5
  9. package/dist/components/badge/badge.d.ts +5 -5
  10. package/dist/components/badge/index.d.ts +5 -5
  11. package/dist/components/button/button.d.ts +5 -5
  12. package/dist/components/button/index.d.ts +5 -5
  13. package/dist/components/card/card-action.d.ts +5 -5
  14. package/dist/components/card/card-actions.d.ts +5 -5
  15. package/dist/components/card/card-content.d.ts +5 -5
  16. package/dist/components/card/card-date.d.ts +5 -5
  17. package/dist/components/card/card-header.d.ts +5 -5
  18. package/dist/components/card/card-media.d.ts +5 -5
  19. package/dist/components/card/card.d.ts +5 -5
  20. package/dist/components/card/index.d.ts +5 -5
  21. package/dist/components/checkbox/checkbox-subsection.d.ts +5 -5
  22. package/dist/components/checkbox/checkbox.d.ts +5 -5
  23. package/dist/components/checkbox/checkbox.js +2 -2
  24. package/dist/components/checkbox/index.d.ts +5 -5
  25. package/dist/components/checkbox/index.js +2 -2
  26. package/dist/components/chip/chip.d.ts +5 -5
  27. package/dist/components/chip/index.d.ts +5 -5
  28. package/dist/components/dialog/dialog-close-button.d.ts +5 -5
  29. package/dist/components/dialog/dialog-content.d.ts +5 -5
  30. package/dist/components/dialog/dialog-footer.d.ts +5 -5
  31. package/dist/components/dialog/dialog-header.d.ts +5 -5
  32. package/dist/components/dialog/dialog-trigger-context.d.ts +1 -1
  33. package/dist/components/dialog/dialog-trigger.d.ts +5 -5
  34. package/dist/components/dialog/dialog.d.ts +5 -5
  35. package/dist/components/dialog/index.d.ts +5 -5
  36. package/dist/components/drawer/drawer-close-button.d.ts +5 -5
  37. package/dist/components/drawer/drawer-content.d.ts +5 -5
  38. package/dist/components/drawer/drawer-footer.d.ts +5 -5
  39. package/dist/components/drawer/drawer-header.d.ts +5 -5
  40. package/dist/components/drawer/drawer-trigger.d.ts +5 -5
  41. package/dist/components/drawer/drawer.d.ts +5 -5
  42. package/dist/components/drawer/index.d.ts +5 -5
  43. package/dist/components/dropdown/dropdown-button.d.ts +5 -5
  44. package/dist/components/dropdown/dropdown-trigger.d.ts +5 -5
  45. package/dist/components/dropdown/dropdown.d.ts +5 -5
  46. package/dist/components/dropdown/index.d.ts +5 -5
  47. package/dist/components/field/field-affix.d.ts +5 -5
  48. package/dist/components/field/field-description.d.ts +5 -5
  49. package/dist/components/field/field.d.ts +5 -5
  50. package/dist/components/field/field.js +1 -1
  51. package/dist/components/field/index.d.ts +5 -5
  52. package/dist/components/field/index.js +1 -1
  53. package/dist/components/fieldset/fieldset-description.d.ts +5 -5
  54. package/dist/components/fieldset/fieldset-legend.d.ts +5 -5
  55. package/dist/components/fieldset/fieldset.d.ts +5 -5
  56. package/dist/components/fieldset/index.d.ts +5 -5
  57. package/dist/components/filter-group/filter-group.d.ts +5 -5
  58. package/dist/components/filter-group/index.d.ts +5 -5
  59. package/dist/components/footer/footer.d.ts +5 -5
  60. package/dist/components/footer/index.d.ts +5 -5
  61. package/dist/components/index.d.ts +5 -5
  62. package/dist/components/index.js +5 -5
  63. package/dist/components/input/index.d.ts +5 -5
  64. package/dist/components/input/input.d.ts +5 -5
  65. package/dist/components/label/index.d.ts +5 -5
  66. package/dist/components/label/label.d.ts +5 -5
  67. package/dist/components/link/index.d.ts +5 -5
  68. package/dist/components/link/link.d.ts +5 -5
  69. package/dist/components/logo/index.d.ts +5 -5
  70. package/dist/components/logo/logo.d.ts +5 -5
  71. package/dist/components/navbar/index.d.ts +5 -5
  72. package/dist/components/navbar/navbar.d.ts +5 -5
  73. package/dist/components/navbar/sub-navbar.d.ts +5 -5
  74. package/dist/components/pagination/index.d.ts +5 -5
  75. package/dist/components/pagination/pagination-button.d.ts +5 -5
  76. package/dist/components/pagination/pagination-item.d.ts +1 -1
  77. package/dist/components/pagination/pagination.d.ts +5 -5
  78. package/dist/components/popover/index.d.ts +5 -5
  79. package/dist/components/popover/popover-trigger-context.d.ts +1 -1
  80. package/dist/components/popover/popover-trigger.d.ts +5 -5
  81. package/dist/components/popover/popover.d.ts +5 -5
  82. package/dist/components/radio/index.d.ts +5 -5
  83. package/dist/components/radio/index.js +2 -2
  84. package/dist/components/radio/radio.d.ts +5 -5
  85. package/dist/components/radio/radio.js +2 -2
  86. package/dist/components/search/index.d.ts +5 -5
  87. package/dist/components/search/index.js +2 -2
  88. package/dist/components/search/search.d.ts +5 -5
  89. package/dist/components/search/search.js +2 -2
  90. package/dist/components/select/index.d.ts +5 -5
  91. package/dist/components/select/select-optgroup.d.ts +5 -5
  92. package/dist/components/select/select-option.d.ts +5 -5
  93. package/dist/components/select/select.d.ts +5 -5
  94. package/dist/components/skip-link/index.d.ts +5 -5
  95. package/dist/components/skip-link/skip-link.d.ts +5 -5
  96. package/dist/components/spinner/index.d.ts +5 -5
  97. package/dist/components/spinner/spinner.d.ts +5 -5
  98. package/dist/components/sticky-header/index.d.ts +1 -1
  99. package/dist/components/sticky-header/sticky-header.d.ts +1 -1
  100. package/dist/components/tabs/index.d.ts +5 -5
  101. package/dist/components/tabs/tab.d.ts +5 -5
  102. package/dist/components/tabs/tabs-list.d.ts +5 -5
  103. package/dist/components/tabs/tabs-panel.d.ts +5 -5
  104. package/dist/components/tabs/tabs.d.ts +5 -5
  105. package/dist/components/textarea/index.d.ts +5 -5
  106. package/dist/components/textarea/textarea.d.ts +5 -5
  107. package/dist/components/textfield/index.d.ts +5 -5
  108. package/dist/components/textfield/index.js +2 -2
  109. package/dist/components/textfield/textfield.d.ts +5 -5
  110. package/dist/components/textfield/textfield.js +2 -2
  111. package/dist/components/validation-message/index.d.ts +5 -5
  112. package/dist/components/validation-message/validation-message.d.ts +5 -5
  113. package/dist/{dialog-trigger-context-BkQSJ-rX.d.ts → dialog-trigger-context-jxGKhcLc.d.ts} +5 -5
  114. package/dist/{field-U2SN9jkp.js → field-DFMMLG-d.js} +3 -2
  115. package/dist/field-DFMMLG-d.js.map +1 -0
  116. package/dist/main.d.ts +5 -5
  117. package/dist/main.js +5 -5
  118. package/dist/{pagination-item-mKQyvHV9.d.ts → pagination-item-QiIcXqBy.d.ts} +3 -3
  119. package/dist/{popover-trigger-context-C3QaiCth.d.ts → popover-trigger-context-DDk2D1pH.d.ts} +5 -5
  120. package/dist/{radio-ClWd10lc.js → radio-ulWuU7RE.js} +4 -3
  121. package/dist/radio-ulWuU7RE.js.map +1 -0
  122. package/dist/{search-Dhdq8_sk.js → search-Cqnboh3z.js} +2 -2
  123. package/dist/{search-Dhdq8_sk.js.map → search-Cqnboh3z.js.map} +1 -1
  124. package/dist/{sticky-header-CzYtZEWq.d.ts → sticky-header-DBX-P8xm.d.ts} +3 -3
  125. package/dist/{textfield-e06UoQC8.js → textfield-D9Ssbb43.js} +2 -2
  126. package/dist/{textfield-e06UoQC8.js.map → textfield-D9Ssbb43.js.map} +1 -1
  127. package/dist/utilities/hooks/index.d.ts +5 -5
  128. package/dist/utilities/hooks/usePagination/usePagination.d.ts +5 -5
  129. package/dist/utilities/index.d.ts +5 -5
  130. package/package.json +4 -4
  131. package/dist/checkbox-CK2lV4pu.js.map +0 -1
  132. package/dist/field-U2SN9jkp.js.map +0 -1
  133. package/dist/radio-ClWd10lc.js.map +0 -1
@@ -2,16 +2,16 @@ import { UseCheckboxGroupOptions, useCheckboxGroup } from "../../useCheckboxGrou
2
2
  import { useIsomorphicLayoutEffect } from "../../useIsomorphicLayoutEffect-BMdz-mee.js";
3
3
  import { useMergeRefs } from "../../useMergeRefs-iCenhgmf.js";
4
4
  import "../../types-Mj1poXVf.js";
5
- import { UsePaginationProps, usePagination } from "../../alert-footer-B-6ZVEwC.js";
6
- import "../../dialog-trigger-context-BkQSJ-rX.js";
5
+ import { UsePaginationProps, usePagination } from "../../alert-footer-BEpxLSfS.js";
6
+ import "../../dialog-trigger-context-jxGKhcLc.js";
7
7
  import "../../drawer-trigger-context-V67j5GyK.js";
8
- import "../../popover-trigger-context-C3QaiCth.js";
8
+ import "../../popover-trigger-context-DDk2D1pH.js";
9
9
  import "../../dropdown-item-CnQfwJGB.js";
10
10
  import "../../dropdown-list-DK4FJAqB.js";
11
11
  import "../../dropdown-trigger-context-C51vPffs.js";
12
12
  import "../../footer-links-C9v9gcuW.js";
13
- import "../../pagination-item-mKQyvHV9.js";
14
- import "../../sticky-header-CzYtZEWq.js";
13
+ import "../../pagination-item-QiIcXqBy.js";
14
+ import "../../sticky-header-DBX-P8xm.js";
15
15
  import "../../index-CTw2zfCM.js";
16
16
  import "../../types-DC-FPmDA.js";
17
17
  export { UseCheckboxGroupOptions, UsePaginationProps, useCheckboxGroup, useIsomorphicLayoutEffect, useMergeRefs, usePagination };
@@ -2,16 +2,16 @@ import "../../../useCheckboxGroup-DRhqch1m.js";
2
2
  import "../../../useIsomorphicLayoutEffect-BMdz-mee.js";
3
3
  import "../../../useMergeRefs-iCenhgmf.js";
4
4
  import "../../../types-Mj1poXVf.js";
5
- import { UsePaginationProps, usePagination } from "../../../alert-footer-B-6ZVEwC.js";
6
- import "../../../dialog-trigger-context-BkQSJ-rX.js";
5
+ import { UsePaginationProps, usePagination } from "../../../alert-footer-BEpxLSfS.js";
6
+ import "../../../dialog-trigger-context-jxGKhcLc.js";
7
7
  import "../../../drawer-trigger-context-V67j5GyK.js";
8
- import "../../../popover-trigger-context-C3QaiCth.js";
8
+ import "../../../popover-trigger-context-DDk2D1pH.js";
9
9
  import "../../../dropdown-item-CnQfwJGB.js";
10
10
  import "../../../dropdown-list-DK4FJAqB.js";
11
11
  import "../../../dropdown-trigger-context-C51vPffs.js";
12
12
  import "../../../footer-links-C9v9gcuW.js";
13
- import "../../../pagination-item-mKQyvHV9.js";
14
- import "../../../sticky-header-CzYtZEWq.js";
13
+ import "../../../pagination-item-QiIcXqBy.js";
14
+ import "../../../sticky-header-DBX-P8xm.js";
15
15
  import "../../../index-CTw2zfCM.js";
16
16
  import "../../../types-DC-FPmDA.js";
17
17
  export { UsePaginationProps, usePagination };
@@ -2,16 +2,16 @@ import { UseCheckboxGroupOptions, useCheckboxGroup } from "../useCheckboxGroup-D
2
2
  import { useIsomorphicLayoutEffect } from "../useIsomorphicLayoutEffect-BMdz-mee.js";
3
3
  import "../useMergeRefs-iCenhgmf.js";
4
4
  import "../types-Mj1poXVf.js";
5
- import { UsePaginationProps, usePagination } from "../alert-footer-B-6ZVEwC.js";
6
- import "../dialog-trigger-context-BkQSJ-rX.js";
5
+ import { UsePaginationProps, usePagination } from "../alert-footer-BEpxLSfS.js";
6
+ import "../dialog-trigger-context-jxGKhcLc.js";
7
7
  import "../drawer-trigger-context-V67j5GyK.js";
8
- import "../popover-trigger-context-C3QaiCth.js";
8
+ import "../popover-trigger-context-DDk2D1pH.js";
9
9
  import "../dropdown-item-CnQfwJGB.js";
10
10
  import "../dropdown-list-DK4FJAqB.js";
11
11
  import "../dropdown-trigger-context-C51vPffs.js";
12
12
  import "../footer-links-C9v9gcuW.js";
13
- import "../pagination-item-mKQyvHV9.js";
14
- import "../sticky-header-CzYtZEWq.js";
13
+ import "../pagination-item-QiIcXqBy.js";
14
+ import "../sticky-header-DBX-P8xm.js";
15
15
  import "../index-CTw2zfCM.js";
16
16
  import { MergeRight } from "../types-DC-FPmDA.js";
17
17
  export { MergeRight, UseCheckboxGroupOptions, UsePaginationProps, useCheckboxGroup, useIsomorphicLayoutEffect, usePagination };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bi-digital/react",
3
- "version": "0.0.0-experimental-160e3ca",
3
+ "version": "0.0.0-experimental-f4bb806",
4
4
  "type": "module",
5
5
  "description": "React components from BI Digital",
6
6
  "author": "BI Digital",
@@ -47,13 +47,13 @@
47
47
  "tsdown": "^0.12.7",
48
48
  "typescript": "^5.7.2",
49
49
  "vitest": "^3.2.1",
50
- "@bi-digital/icons-react": "0.0.0-experimental-160e3ca"
50
+ "@bi-digital/icons-react": "0.0.0-experimental-f4bb806"
51
51
  },
52
52
  "peerDependencies": {
53
53
  "react": "^19",
54
54
  "react-dom": "^19",
55
- "@bi-digital/css": "0.0.0-experimental-160e3ca",
56
- "@bi-digital/icons-react": "0.0.0-experimental-160e3ca"
55
+ "@bi-digital/css": "0.0.0-experimental-f4bb806",
56
+ "@bi-digital/icons-react": "0.0.0-experimental-f4bb806"
57
57
  },
58
58
  "scripts": {
59
59
  "build": "tsdown",
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox-CK2lV4pu.js","names":["input: HTMLInputElement | null"],"sources":["../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import { useEffect, useId, useRef, type ReactNode, type Ref } from 'react';\n\nimport type { LabelRequiredProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { Field, FieldDescription } from '../field';\nimport { Input, type InputProps } from '../input';\nimport { Label } from '../label';\nimport { useMergeRefs } from '../../utilities/hooks';\n\nexport type CheckboxProps = MergeRight<\n LabelRequiredProps & Omit<InputProps, 'type' | 'role' | 'size'>,\n {\n /** Label */\n label?: ReactNode;\n /** Description */\n description?: ReactNode;\n /** Add error indication to the checkbox. */\n error?: boolean;\n /** Specify whether the Checkbox is indeterminate */\n indeterminate?: boolean;\n ref?: Ref<HTMLInputElement>;\n }\n>;\n\nexport const Checkbox = ({\n dark,\n label,\n description,\n error,\n style,\n className,\n indeterminate,\n ref,\n id,\n 'aria-describedby': ariaDescribedByProp,\n ...props\n}: CheckboxProps) => {\n const checkRef = useRef<HTMLInputElement>(null);\n const refs = useMergeRefs([checkRef, ref]);\n const descriptionId = useId();\n\n useEffect(() => {\n let input: HTMLInputElement | null;\n if (ref && typeof ref !== 'function') {\n input = ref.current;\n } else {\n input = checkRef.current;\n }\n\n if (input) {\n input.indeterminate = indeterminate || false;\n }\n }, [indeterminate, checkRef, ref]);\n\n const ariaDescribedBy = [description ? descriptionId : '', ariaDescribedByProp].join(' ').trim() || undefined;\n\n return (\n <Field className={className} data-dark={dark} style={style} asChild>\n <label>\n <Input\n type='checkbox'\n id={id}\n ref={refs}\n aria-invalid={error || undefined}\n aria-describedby={ariaDescribedBy}\n {...props}\n />\n {label && (\n <Label weight='medium' htmlFor={id} asChild>\n <span>{label}</span>\n </Label>\n )}\n {description && (\n // Aria-hidden is used to prevent screen readers from reading the description twice:\n // once as part of the label and once from being connected through aria-describedby.\n <FieldDescription aria-hidden='true' id={descriptionId}>\n {description}\n </FieldDescription>\n )}\n </label>\n </Field>\n );\n};\n"],"mappings":";;;;;;;;;AAwBA,MAAa,WAAW,CAAC,EACvB,MACA,OACA,aACA,OACA,OACA,WACA,eACA,KACA,IACA,oBAAoB,oBACpB,GAAG,OACW,KAAK;CACnB,MAAM,WAAW,OAAyB,KAAK;CAC/C,MAAM,OAAO,aAAa,CAAC,UAAU,GAAI,EAAC;CAC1C,MAAM,gBAAgB,OAAO;AAE7B,WAAU,MAAM;EACd,IAAIA;AACJ,MAAI,cAAc,QAAQ,WACxB,SAAQ,IAAI;MAEZ,SAAQ,SAAS;AAGnB,MAAI,MACF,OAAM,gBAAgB,iBAAiB;CAE1C,GAAE;EAAC;EAAe;EAAU;CAAI,EAAC;CAElC,MAAM,kBAAkB,CAAC,cAAc,gBAAgB,IAAI,mBAAoB,EAAC,KAAK,IAAI,CAAC,MAAM;AAEhG,wBACE,IAAC;EAAiB;EAAW,aAAW;EAAa;EAAO;4BAC1D,KAAC;mBACC,IAAC;IACC,MAAK;IACD;IACJ,KAAK;IACL,gBAAc;IACd,oBAAkB;IAClB,GAAI;KACJ;GACD,yBACC,IAAC;IAAM,QAAO;IAAS,SAAS;IAAI;8BAClC,IAAC,oBAAM,QAAa;KACd;GAET,+BAGC,IAAC;IAAiB,eAAY;IAAO,IAAI;cACtC;KACgB;MAEf;GACF;AAEX"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"field-U2SN9jkp.js","names":[],"sources":["../src/components/field/field.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx/lite';\nimport type { HTMLAttributes, Ref } from 'react';\nimport type { DefaultProps, AsChildProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\n\nexport type FieldProps = MergeRight<\n DefaultProps & AsChildProps & HTMLAttributes<HTMLDivElement>,\n {\n /**\n * Position of toggle-type inputs (radio, checkbox) in the field\n * @default start\n */\n position?: 'start' | 'end';\n ref?: Ref<HTMLDivElement>;\n }\n>;\n\n/**\n * The Field component is used to wrap a form field.\n *\n * @example\n * <Field>\n * <Label>Kort beskrivelse</Label>\n * <FieldDescription>Beskrivelse</FieldDescription>\n * <Input />\n * <ValidationMessage>Feilmelding</ValidationMessage>\n * </Field>\n */\nexport const Field = ({ className, dark, position, asChild, ref, ...props }: FieldProps) => {\n const Component = asChild ? Slot : 'div';\n\n return (\n <Component className={clsx('bi-field', className)} data-dark={dark} data-position={position} ref={ref} {...props} />\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;AA6BA,MAAa,QAAQ,CAAC,EAAE,WAAW,MAAM,UAAU,SAAS,IAAK,GAAG,OAAmB,KAAK;CAC1F,MAAM,YAAY,UAAU,OAAO;AAEnC,wBACE,IAAC;EAAU,WAAW,KAAK,YAAY,UAAU;EAAE,aAAW;EAAM,iBAAe;EAAe;EAAK,GAAI;GAAS;AAEvH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"radio-ClWd10lc.js","names":[],"sources":["../src/components/radio/radio.tsx"],"sourcesContent":["import { useId, type ReactNode, type Ref } from 'react';\n\nimport type { LabelRequiredProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { Field, FieldDescription } from '../field';\nimport { Input, type InputProps } from '../input';\nimport { Label } from '../label';\n\nexport type RadioProps = MergeRight<\n LabelRequiredProps & Omit<InputProps, 'type' | 'role' | 'size'>,\n {\n /** Label */\n label?: ReactNode;\n /** Description */\n description?: ReactNode;\n /** Add error indication to the radio. */\n error?: boolean;\n ref?: Ref<HTMLInputElement>;\n }\n>;\n\nexport const Radio = ({\n dark,\n label,\n description,\n error,\n style,\n className,\n ref,\n id,\n 'aria-describedby': ariaDescribedByProp,\n ...props\n}: RadioProps) => {\n const descriptionId = useId();\n\n const ariaDescribedBy = [description ? descriptionId : '', ariaDescribedByProp].join(' ').trim() || undefined;\n\n return (\n <Field className={className} data-dark={dark} style={style} asChild>\n <label>\n <Input\n type='radio'\n id={id}\n ref={ref}\n aria-invalid={error || undefined}\n aria-describedby={ariaDescribedBy}\n {...props}\n />\n {label && (\n <Label weight='medium' htmlFor={id} asChild>\n <span>{label}</span>\n </Label>\n )}\n {description && (\n // Aria-hidden is used to prevent screen readers from reading the description twice:\n // once as part of the label and once from being connected through aria-describedby.\n <FieldDescription aria-hidden='true' id={descriptionId}>\n {description}\n </FieldDescription>\n )}\n </label>\n </Field>\n );\n};\n"],"mappings":";;;;;;;;AAqBA,MAAa,QAAQ,CAAC,EACpB,MACA,OACA,aACA,OACA,OACA,WACA,KACA,IACA,oBAAoB,oBACpB,GAAG,OACQ,KAAK;CAChB,MAAM,gBAAgB,OAAO;CAE7B,MAAM,kBAAkB,CAAC,cAAc,gBAAgB,IAAI,mBAAoB,EAAC,KAAK,IAAI,CAAC,MAAM;AAEhG,wBACE,IAAC;EAAiB;EAAW,aAAW;EAAa;EAAO;4BAC1D,KAAC;mBACC,IAAC;IACC,MAAK;IACD;IACC;IACL,gBAAc;IACd,oBAAkB;IAClB,GAAI;KACJ;GACD,yBACC,IAAC;IAAM,QAAO;IAAS,SAAS;IAAI;8BAClC,IAAC,oBAAM,QAAa;KACd;GAET,+BAGC,IAAC;IAAiB,eAAY;IAAO,IAAI;cACtC;KACgB;MAEf;GACF;AAEX"}