@biblioteksentralen/react 4.0.0-beta.0 → 4.0.0-beta.2

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 (108) hide show
  1. package/dist/index.d.mts +106 -15
  2. package/dist/index.d.ts +106 -15
  3. package/dist/index.js +739 -37
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +645 -45
  6. package/dist/index.mjs.map +1 -1
  7. package/package.json +5 -14
  8. package/dist/ButtonStyles-7ASDoOwZ.d.mts +0 -3
  9. package/dist/ButtonStyles-7ASDoOwZ.d.ts +0 -3
  10. package/dist/chunk-2KZDHLEJ.mjs +0 -10
  11. package/dist/chunk-2KZDHLEJ.mjs.map +0 -1
  12. package/dist/chunk-3IJ454KG.mjs +0 -39
  13. package/dist/chunk-3IJ454KG.mjs.map +0 -1
  14. package/dist/chunk-5GJBW3WE.mjs +0 -229
  15. package/dist/chunk-5GJBW3WE.mjs.map +0 -1
  16. package/dist/chunk-7MKFY66H.mjs +0 -44
  17. package/dist/chunk-7MKFY66H.mjs.map +0 -1
  18. package/dist/chunk-BCT5QU5W.js +0 -142
  19. package/dist/chunk-BCT5QU5W.js.map +0 -1
  20. package/dist/chunk-BN5W6FVN.mjs +0 -55
  21. package/dist/chunk-BN5W6FVN.mjs.map +0 -1
  22. package/dist/chunk-BRFRPPOW.js +0 -10
  23. package/dist/chunk-BRFRPPOW.js.map +0 -1
  24. package/dist/chunk-BZS3AX26.mjs +0 -10
  25. package/dist/chunk-BZS3AX26.mjs.map +0 -1
  26. package/dist/chunk-CGCBID7S.mjs +0 -15
  27. package/dist/chunk-CGCBID7S.mjs.map +0 -1
  28. package/dist/chunk-J5IF7WUN.js +0 -10
  29. package/dist/chunk-J5IF7WUN.js.map +0 -1
  30. package/dist/chunk-NSYSPEHR.js +0 -86
  31. package/dist/chunk-NSYSPEHR.js.map +0 -1
  32. package/dist/chunk-NYKSRUWF.js +0 -51
  33. package/dist/chunk-NYKSRUWF.js.map +0 -1
  34. package/dist/chunk-O4EXBCND.js +0 -19
  35. package/dist/chunk-O4EXBCND.js.map +0 -1
  36. package/dist/chunk-PLWK7HEC.js +0 -75
  37. package/dist/chunk-PLWK7HEC.js.map +0 -1
  38. package/dist/chunk-PQLTQYZ3.mjs +0 -15
  39. package/dist/chunk-PQLTQYZ3.mjs.map +0 -1
  40. package/dist/chunk-QAW4IRLI.js +0 -55
  41. package/dist/chunk-QAW4IRLI.js.map +0 -1
  42. package/dist/chunk-QBXCCJ24.js +0 -344
  43. package/dist/chunk-QBXCCJ24.js.map +0 -1
  44. package/dist/chunk-QX75QJ7F.mjs +0 -52
  45. package/dist/chunk-QX75QJ7F.mjs.map +0 -1
  46. package/dist/chunk-RZUGRIUF.mjs +0 -17
  47. package/dist/chunk-RZUGRIUF.mjs.map +0 -1
  48. package/dist/chunk-UFIMO32F.js +0 -275
  49. package/dist/chunk-UFIMO32F.js.map +0 -1
  50. package/dist/chunk-VSICUYFB.js +0 -51
  51. package/dist/chunk-VSICUYFB.js.map +0 -1
  52. package/dist/chunk-WYQNSPEX.mjs +0 -10
  53. package/dist/chunk-WYQNSPEX.mjs.map +0 -1
  54. package/dist/components/AlertBS.d.mts +0 -18
  55. package/dist/components/AlertBS.d.ts +0 -18
  56. package/dist/components/AlertBS.js +0 -9
  57. package/dist/components/AlertBS.js.map +0 -1
  58. package/dist/components/AlertBS.mjs +0 -9
  59. package/dist/components/AlertBS.mjs.map +0 -1
  60. package/dist/components/BiblioteksentralenProvider.d.mts +0 -10
  61. package/dist/components/BiblioteksentralenProvider.d.ts +0 -10
  62. package/dist/components/BiblioteksentralenProvider.js +0 -10
  63. package/dist/components/BiblioteksentralenProvider.js.map +0 -1
  64. package/dist/components/BiblioteksentralenProvider.mjs +0 -10
  65. package/dist/components/BiblioteksentralenProvider.mjs.map +0 -1
  66. package/dist/components/ButtonBS.d.mts +0 -16
  67. package/dist/components/ButtonBS.d.ts +0 -16
  68. package/dist/components/ButtonBS.js +0 -8
  69. package/dist/components/ButtonBS.js.map +0 -1
  70. package/dist/components/ButtonBS.mjs +0 -8
  71. package/dist/components/ButtonBS.mjs.map +0 -1
  72. package/dist/components/ConditionalWrapperBS.d.mts +0 -15
  73. package/dist/components/ConditionalWrapperBS.d.ts +0 -15
  74. package/dist/components/ConditionalWrapperBS.js +0 -8
  75. package/dist/components/ConditionalWrapperBS.js.map +0 -1
  76. package/dist/components/ConditionalWrapperBS.mjs +0 -8
  77. package/dist/components/ConditionalWrapperBS.mjs.map +0 -1
  78. package/dist/components/ErrorBoundaryBS.d.mts +0 -21
  79. package/dist/components/ErrorBoundaryBS.d.ts +0 -21
  80. package/dist/components/ErrorBoundaryBS.js +0 -10
  81. package/dist/components/ErrorBoundaryBS.js.map +0 -1
  82. package/dist/components/ErrorBoundaryBS.mjs +0 -10
  83. package/dist/components/ErrorBoundaryBS.mjs.map +0 -1
  84. package/dist/components/HashLinkTargetBS.d.mts +0 -16
  85. package/dist/components/HashLinkTargetBS.d.ts +0 -16
  86. package/dist/components/HashLinkTargetBS.js +0 -10
  87. package/dist/components/HashLinkTargetBS.js.map +0 -1
  88. package/dist/components/HashLinkTargetBS.mjs +0 -10
  89. package/dist/components/HashLinkTargetBS.mjs.map +0 -1
  90. package/dist/components/IconButtonBS.d.mts +0 -16
  91. package/dist/components/IconButtonBS.d.ts +0 -16
  92. package/dist/components/IconButtonBS.js +0 -8
  93. package/dist/components/IconButtonBS.js.map +0 -1
  94. package/dist/components/IconButtonBS.mjs +0 -8
  95. package/dist/components/IconButtonBS.mjs.map +0 -1
  96. package/dist/components/InputBS.d.mts +0 -18
  97. package/dist/components/InputBS.d.ts +0 -18
  98. package/dist/components/InputBS.js +0 -8
  99. package/dist/components/InputBS.js.map +0 -1
  100. package/dist/components/InputBS.mjs +0 -8
  101. package/dist/components/InputBS.mjs.map +0 -1
  102. package/dist/components/withErrorBoundaryBS.d.mts +0 -5
  103. package/dist/components/withErrorBoundaryBS.d.ts +0 -5
  104. package/dist/components/withErrorBoundaryBS.js +0 -11
  105. package/dist/components/withErrorBoundaryBS.js.map +0 -1
  106. package/dist/components/withErrorBoundaryBS.mjs +0 -11
  107. package/dist/components/withErrorBoundaryBS.mjs.map +0 -1
  108. /package/{dist/LICENSE → LICENSE} +0 -0
@@ -1,142 +0,0 @@
1
- "use strict";
2
- function _define_property(obj, key, value) {
3
- if (key in obj) {
4
- Object.defineProperty(obj, key, {
5
- value: value,
6
- enumerable: true,
7
- configurable: true,
8
- writable: true
9
- });
10
- } else {
11
- obj[key] = value;
12
- }
13
- return obj;
14
- }
15
- function _object_spread(target) {
16
- for(var i = 1; i < arguments.length; i++){
17
- var source = arguments[i] != null ? arguments[i] : {};
18
- var ownKeys = Object.keys(source);
19
- if (typeof Object.getOwnPropertySymbols === "function") {
20
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
21
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
22
- }));
23
- }
24
- ownKeys.forEach(function(key) {
25
- _define_property(target, key, source[key]);
26
- });
27
- }
28
- return target;
29
- }
30
- function _object_without_properties(source, excluded) {
31
- if (source == null) return {};
32
- var target = _object_without_properties_loose(source, excluded);
33
- var key, i;
34
- if (Object.getOwnPropertySymbols) {
35
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
36
- for(i = 0; i < sourceSymbolKeys.length; i++){
37
- key = sourceSymbolKeys[i];
38
- if (excluded.indexOf(key) >= 0) continue;
39
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
40
- target[key] = source[key];
41
- }
42
- }
43
- return target;
44
- }
45
- function _object_without_properties_loose(source, excluded) {
46
- if (source == null) return {};
47
- var target = {};
48
- var sourceKeys = Object.keys(source);
49
- var key, i;
50
- for(i = 0; i < sourceKeys.length; i++){
51
- key = sourceKeys[i];
52
- if (excluded.indexOf(key) >= 0) continue;
53
- target[key] = source[key];
54
- }
55
- return target;
56
- }
57
- Object.defineProperty(exports, "__esModule", {
58
- value: true
59
- });
60
- function _interopRequireDefault(obj) {
61
- return obj && obj.__esModule ? obj : {
62
- default: obj
63
- };
64
- }
65
- "use client";
66
- var _chunkQAW4IRLIjs = require("./chunk-QAW4IRLI.js");
67
- // src/components/AlertBS.tsx
68
- var _react = require("@chakra-ui/react");
69
- var _react3 = require("react");
70
- var _react4 = _interopRequireDefault(_react3);
71
- var _reactfeather = require("react-feather");
72
- var colorLookup = {
73
- info: {
74
- bg: _chunkQAW4IRLIjs.colors.lightBlue,
75
- color: _chunkQAW4IRLIjs.colors.accentBlueMedium
76
- },
77
- warning: {
78
- bg: _chunkQAW4IRLIjs.colors.statusYellowLight,
79
- color: _chunkQAW4IRLIjs.colors.statusYellow
80
- },
81
- success: {
82
- bg: _chunkQAW4IRLIjs.colors.statusGreenLight,
83
- color: _chunkQAW4IRLIjs.colors.statusGreen
84
- },
85
- error: {
86
- bg: _chunkQAW4IRLIjs.colors.statusRedLight,
87
- color: _chunkQAW4IRLIjs.colors.statusRed
88
- }
89
- };
90
- var iconLookup = {
91
- info: /* @__PURE__ */ _react4.default.createElement(_reactfeather.Info, {
92
- strokeWidth: 1.75,
93
- role: "img",
94
- "aria-label": "Informasjon"
95
- }),
96
- warning: /* @__PURE__ */ _react4.default.createElement(_reactfeather.AlertCircle, {
97
- strokeWidth: 1.75,
98
- role: "img",
99
- "aria-label": "Advarsel"
100
- }),
101
- success: /* @__PURE__ */ _react4.default.createElement(_reactfeather.CheckCircle, {
102
- strokeWidth: 1.75,
103
- role: "img",
104
- "aria-label": "Suksess"
105
- }),
106
- error: /* @__PURE__ */ _react4.default.createElement(_reactfeather.XCircle, {
107
- strokeWidth: 1.75,
108
- role: "img",
109
- "aria-label": "Feil"
110
- })
111
- };
112
- var variantStyles = {
113
- inline: {
114
- borderColor: "transparent",
115
- backgroundColor: "transparent",
116
- padding: "0"
117
- }
118
- };
119
- function AlertBS(_param) {
120
- var status = _param.status, children = _param.children, variant = _param.variant, header = _param.header, rest = _object_without_properties(_param, [
121
- "status",
122
- "children",
123
- "variant",
124
- "header"
125
- ]);
126
- var colors2 = colorLookup[status];
127
- return /* @__PURE__ */ _react4.default.createElement(_react.Alert.Root, _object_spread({
128
- status: status,
129
- fontSize: "md",
130
- border: "0.1rem solid",
131
- borderColor: colors2.color,
132
- backgroundColor: colors2.bg,
133
- display: "flex",
134
- flexWrap: "wrap"
135
- }, variant === "inline" ? variantStyles[variant] : {}, rest), /* @__PURE__ */ _react4.default.createElement(_react.Alert.Indicator, {
136
- marginX: "auto"
137
- }, iconLookup[status]), /* @__PURE__ */ _react4.default.createElement(_react.Alert.Content, {
138
- color: "black"
139
- }, header && /* @__PURE__ */ _react4.default.createElement(_react.Alert.Title, null, header), /* @__PURE__ */ _react4.default.createElement(_react.Alert.Description, null, children)));
140
- }
141
- exports.AlertBS = AlertBS;
142
- //# sourceMappingURL=chunk-BCT5QU5W.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/AlertBS.tsx"],"names":["colors"],"mappings":";;;;;;AAEA,SAAyB,SAAS,mBAAsC;AACxE,OAAO,WAA0B;AACjC,SAAS,aAAa,aAAa,MAAM,eAAe;AAMxD,IAAM,cAA6D;AAAA,EACjE,MAAM,EAAE,IAAI,OAAO,WAAW,OAAO,OAAO,iBAAiB;AAAA,EAC7D,SAAS,EAAE,IAAI,OAAO,mBAAmB,OAAO,OAAO,aAAa;AAAA,EACpE,SAAS,EAAE,IAAI,OAAO,kBAAkB,OAAO,OAAO,YAAY;AAAA,EAClE,OAAO,EAAE,IAAI,OAAO,gBAAgB,OAAO,OAAO,UAAU;AAC9D;AAEA,IAAM,aAAiD;AAAA,EACrD,MAAM,oCAAC,QAAK,aAAa,MAAM,MAAK,OAAM,cAAW,eAAc;AAAA,EACnE,SAAS,oCAAC,eAAY,aAAa,MAAM,MAAK,OAAM,cAAW,YAAW;AAAA,EAC1E,SAAS,oCAAC,eAAY,aAAa,MAAM,MAAK,OAAM,cAAW,WAAU;AAAA,EACzE,OAAO,oCAAC,WAAQ,aAAa,MAAM,MAAK,OAAM,cAAW,QAAO;AAClE;AASA,IAAM,gBAA2D;AAAA,EAC/D,QAAQ;AAAA,IACN,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACX;AACF;AAEO,SAAS,QAAQ,EAAE,QAAQ,UAAU,SAAS,QAAQ,GAAG,KAAK,GAAU;AAC7E,QAAMA,UAAS,YAAY,MAAM;AACjC,SACE;AAAA,IAAC,YAAY;AAAA,IAAZ;AAAA,MACC;AAAA,MACA,UAAS;AAAA,MACT,QAAQ;AAAA,MACR,aAAaA,QAAO;AAAA,MACpB,iBAAiBA,QAAO;AAAA,MACxB,SAAQ;AAAA,MACR,UAAS;AAAA,MACR,GAAI,YAAY,WAAW,cAAc,OAAO,IAAI,CAAC;AAAA,MACrD,GAAG;AAAA;AAAA,IAEJ,oCAAC,YAAY,WAAZ,EAAsB,SAAQ,UAAQ,WAAW,MAAM,CAAE;AAAA,IAC1D,oCAAC,YAAY,SAAZ,EAAoB,OAAM,WACxB,UAAU,oCAAC,YAAY,OAAZ,MAAmB,MAAO,GACtC,oCAAC,YAAY,aAAZ,MAAyB,QAAS,CACrC;AAAA,EACF;AAEJ","sourcesContent":["import { Modify } from \"@biblioteksentralen/types\";\nimport { colors } from \"@biblioteksentralen/utils\";\nimport { AlertRootProps, Alert as ChakraAlert, SystemStyleObject } from \"@chakra-ui/react\";\nimport React, { ReactNode } from \"react\";\nimport { AlertCircle, CheckCircle, Info, XCircle } from \"react-feather\";\n\ntype Status = \"info\" | \"warning\" | \"success\" | \"error\";\ntype CustomVariants = \"inline\";\ntype Variants = AlertRootProps[\"variant\"] | CustomVariants;\n\nconst colorLookup: Record<Status, { bg: string; color: string }> = {\n info: { bg: colors.lightBlue, color: colors.accentBlueMedium },\n warning: { bg: colors.statusYellowLight, color: colors.statusYellow },\n success: { bg: colors.statusGreenLight, color: colors.statusGreen },\n error: { bg: colors.statusRedLight, color: colors.statusRed },\n};\n\nconst iconLookup: Record<Status, React.ReactElement> = {\n info: <Info strokeWidth={1.75} role=\"img\" aria-label=\"Informasjon\" />,\n warning: <AlertCircle strokeWidth={1.75} role=\"img\" aria-label=\"Advarsel\" />,\n success: <CheckCircle strokeWidth={1.75} role=\"img\" aria-label=\"Suksess\" />,\n error: <XCircle strokeWidth={1.75} role=\"img\" aria-label=\"Feil\" />,\n};\n\ninterface Props extends Modify<AlertRootProps, { variant?: Variants }> {\n children: ReactNode;\n header?: ReactNode;\n status: Status;\n variant?: Variants;\n}\n\nconst variantStyles: Record<CustomVariants, SystemStyleObject> = {\n inline: {\n borderColor: \"transparent\",\n backgroundColor: \"transparent\",\n padding: \"0\",\n },\n};\n\nexport function AlertBS({ status, children, variant, header, ...rest }: Props) {\n const colors = colorLookup[status];\n return (\n <ChakraAlert.Root\n status={status}\n fontSize=\"md\"\n border={`0.1rem solid`}\n borderColor={colors.color}\n backgroundColor={colors.bg}\n display=\"flex\"\n flexWrap=\"wrap\"\n {...(variant === \"inline\" ? variantStyles[variant] : {})}\n {...rest}\n >\n <ChakraAlert.Indicator marginX=\"auto\">{iconLookup[status]}</ChakraAlert.Indicator>\n <ChakraAlert.Content color=\"black\">\n {header && <ChakraAlert.Title>{header}</ChakraAlert.Title>}\n <ChakraAlert.Description>{children}</ChakraAlert.Description>\n </ChakraAlert.Content>\n </ChakraAlert.Root>\n );\n}\n"]}
@@ -1,55 +0,0 @@
1
- "use client";
2
-
3
- // ../utils/dist/index.mjs
4
- import { format } from "date-fns/format";
5
- import { nb } from "date-fns/locale/nb";
6
- var colors = {
7
- black: "#000000",
8
- grey90: "#181818",
9
- grey80: "#333333",
10
- grey60: "#585858",
11
- grey45: "#8c8c8c",
12
- grey30: "#b2b2b2",
13
- grey15: "#d9d9d9",
14
- grey10: "#e5e5e5",
15
- grey05: "#f2f2f2",
16
- white: "#ffffff",
17
- bsR\u00F8dDark: "#870010",
18
- bsR\u00F8dMedium: "#d53d40",
19
- accentPurple: "#331433",
20
- accentPeach: "#ffba99",
21
- accentGreen: "#003b29",
22
- accentBlueDark: "#001740",
23
- accentBlueMedium: "#5996de",
24
- accentYellow: "#ffc970",
25
- lightBlue: "#dbe8ef",
26
- lightGreen: "#dbe0db",
27
- lightPeach: "#f4e7de",
28
- lightPurple: "#ece8f3",
29
- statusRed: "#ad313c",
30
- statusYellow: "#bc5600",
31
- statusGreen: "#24845b",
32
- statusGreenLight: "#edf4f1",
33
- statusRedLight: "#f8efef",
34
- statusYellowLight: "#fff6e4",
35
- neptune: {
36
- "100": "#CFE6E8",
37
- "200": "#9FCDD2",
38
- "300": "#6FB5BB",
39
- "400": "#3F9CA5",
40
- "500": "#0F838E",
41
- "600": "#0C6972",
42
- "700": "#094F55",
43
- "800": "#063439",
44
- "900": "#031A1C"
45
- }
46
- };
47
- function isDevelopment() {
48
- return process.env.NODE_ENV === "development";
49
- }
50
-
51
- export {
52
- colors,
53
- isDevelopment
54
- };
55
- //# sourceMappingURL=chunk-BN5W6FVN.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../utils/src/colors.ts","../../utils/src/date.ts","../../utils/src/environment.ts","../../utils/src/random.ts","../../utils/src/slugifyString.ts","../../utils/src/sort/common.ts","../../utils/src/sort/sortAlphabetical.ts","../../utils/src/sort/sortArrayInGroups.ts","../../utils/src/sort/sortByMultiple.ts"],"sourcesContent":["export const colors = {\n black: \"#000000\",\n grey90: \"#181818\",\n grey80: \"#333333\",\n grey60: \"#585858\",\n grey45: \"#8c8c8c\",\n grey30: \"#b2b2b2\",\n grey15: \"#d9d9d9\",\n grey10: \"#e5e5e5\",\n grey05: \"#f2f2f2\",\n white: \"#ffffff\",\n bsRødDark: \"#870010\",\n bsRødMedium: \"#d53d40\",\n accentPurple: \"#331433\",\n accentPeach: \"#ffba99\",\n accentGreen: \"#003b29\",\n accentBlueDark: \"#001740\",\n accentBlueMedium: \"#5996de\",\n accentYellow: \"#ffc970\",\n lightBlue: \"#dbe8ef\",\n lightGreen: \"#dbe0db\",\n lightPeach: \"#f4e7de\",\n lightPurple: \"#ece8f3\",\n statusRed: \"#ad313c\",\n statusYellow: \"#bc5600\",\n statusGreen: \"#24845b\",\n statusGreenLight: \"#edf4f1\",\n statusRedLight: \"#f8efef\",\n statusYellowLight: \"#fff6e4\",\n neptune: {\n \"100\": \"#CFE6E8\",\n \"200\": \"#9FCDD2\",\n \"300\": \"#6FB5BB\",\n \"400\": \"#3F9CA5\",\n \"500\": \"#0F838E\",\n \"600\": \"#0C6972\",\n \"700\": \"#094F55\",\n \"800\": \"#063439\",\n \"900\": \"#031A1C\",\n },\n};\n","import { format } from \"date-fns/format\";\nimport { nb } from \"date-fns/locale/nb\";\n\nexport function formaterDato(dato?: string, dateFnsformat = \"Pp\") {\n if (typeof dato !== \"string\") return \"Ukjent dato\";\n\n try {\n return format(new Date(dato), dateFnsformat, { locale: nb });\n } catch (e) {\n console.error(\"Kunne ikke formattere dato:\" + dato, e);\n return dato;\n }\n}\n","export function isDevelopment(): boolean {\n return process.env.NODE_ENV === \"development\";\n}\n\nexport function isClient(): boolean {\n return typeof window !== \"undefined\";\n}\n\nexport function isServer(): boolean {\n return !isClient();\n}\n","export function randomFromArray<T>(array: T[]): T {\n return array[Math.floor(Math.random() * array.length)];\n}\n\nexport function seededRandomFromArray<T>(array: T[], seed: string): T {\n return array[Math.floor(seededRandom(seed) * array.length)];\n}\n\n// Returns a pseudo-random floating-point number in the range [0.0 -> 1.0] from a string seed\n// TODO, ser ikke ut til å gi helt jevn fordeling mellom 0 og 1, trenger kanskje litt kjærlighet\nexport function seededRandom(seed: string) {\n // Oversetter ikke-numeriske tegn til tall så de kan brukes som seed\n const numericSeed = Number(seed.replace(/\\D/g, (match) => `${match.charCodeAt(0)}`));\n const x = Math.sin(numericSeed) * 3333;\n return x - Math.floor(x);\n}\n","export const slugifyString = (value = \"\") =>\n value\n .trim()\n .toLowerCase()\n // Bytter ut typisk norske bokstaver æøå\n .replace(/æ/g, \"ae\")\n .replace(/å/g, \"a\")\n .replace(/ø/g, \"o\")\n // Bytter alle tegn som ikke er et regex-word med '-'\n .replace(/\\W/g, \"-\")\n // Bytter ut flere streker med enkelt strek \"----\" => \"-\"\n .replace(/-+/g, \"-\")\n .slice(0, 30);\n","export type GetSortIndex<T> = (element: T) => number | string;\n\nconst compareAlphabetically = (left: string, right: string) => left.localeCompare(right, [\"no-NO\"]);\n\nexport const compare = <T>(left: T, right: T, indexFunction?: GetSortIndex<T>) => {\n const leftIndex = indexFunction ? indexFunction(left) : left;\n const rightIndex = indexFunction ? indexFunction(right) : right;\n\n if (typeof leftIndex == \"number\" && typeof rightIndex == \"number\") return leftIndex - rightIndex;\n\n if (typeof leftIndex == \"string\" && typeof rightIndex == \"string\") {\n return compareAlphabetically(leftIndex, rightIndex);\n }\n\n throw new Error(\"Sort index function gives inconsistent index types\");\n};\n","import { GetSortIndex, compare } from \"./common\";\n\n/**\n * Alphabetical sorting restricted to Norwegian locale, for consistent sorting on server and client\n * (radash's `alphabetical()` is inconsistent between these two)\n */\nexport const sortAlphabetical = <T>(array: T[], indexFunction?: GetSortIndex<T>): T[] =>\n array.slice().sort((left, right) => compare(left, right, indexFunction));\n","export interface Group<T> {\n label: string;\n items: T[];\n}\n\nexport interface GroupedArray<T> extends Array<Group<T>> {}\n\n/* Tar et array og putter ting i grupper basert på gruppekategorier\n *\n * Feks\n *\n * const myArray = ['Apple', 'Aubergine', 'Lemon'];\n *\n * const inGroups = groupArray(myArray, item => item[0]);\n *\n * console.log(inGroups);\n *\n * // [{groupLabel: 'A', groupItems: ['Apple', 'Aubergine']}, {groupLabel: 'L', groupItems: ['Lemon']}]\n *\n * */\nexport function sortArrayInGroups<T>(\n items: T[],\n getGroupLabel: (element: T) => string,\n options?: { sortAlphabetically?: boolean }\n): GroupedArray<T> {\n const groups = items.reduce((acc: GroupedArray<T>, arrayEntry) => {\n const currentCategory = getGroupLabel(arrayEntry);\n const categoryIndex = acc.findIndex((group) => group.label === currentCategory);\n if (categoryIndex >= 0) {\n acc[categoryIndex].items.push(arrayEntry);\n } else {\n acc.push({\n label: currentCategory,\n items: [arrayEntry],\n });\n }\n return acc;\n }, []);\n\n return options?.sortAlphabetically ? groups.sort(sortByLabel) : groups;\n}\n\nfunction sortByLabel<T>(a: Group<T>, b: Group<T>) {\n if (a.label.toLowerCase() > b.label.toLowerCase()) return 1;\n if (a.label.toLowerCase() < b.label.toLowerCase()) return -1;\n return 0;\n}\n","import { AtLeastOne } from \"@biblioteksentralen/types\";\nimport { GetSortIndex, compare } from \"./common\";\n\n/**\n * Corresponds to lodash's sortBy called with several comparison functions (no equivalent in radash)\n */\nexport const sortByMultiple = <T>(array: T[], ...indexFunctions: AtLeastOne<GetSortIndex<T>>): T[] =>\n array.slice().sort((left, right) =>\n indexFunctions.slice(1).reduce(\n // If the previous comparison is 0, it means left and right are equal according to the previous\n // comparison function. That's also the only way it'll be falsy, therefore we can\n // use the or operator || to then apply the next comparison function.\n (previous, indexFunction) => previous || compare(left, right, indexFunction),\n compare(left, right, indexFunctions[0]) // Initial comparison\n )\n );\n"],"mappings":";;;ACAA,SAAS,cAAc;AACvB,SAAS,UAAU;ADDZ,IAAM,SAAS;EACpB,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,gBAAW;EACX,kBAAa;EACb,cAAc;EACd,aAAa;EACb,aAAa;EACb,gBAAgB;EAChB,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,WAAW;EACX,cAAc;EACd,aAAa;EACb,kBAAkB;EAClB,gBAAgB;EAChB,mBAAmB;EACnB,SAAS;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;EACT;AACF;AExCO,SAAS,gBAAyB;AACvC,SAAO,QAAQ,IAAI,aAAa;AAClC;","names":[]}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- "use client";
6
- // src/components/ButtonBS.tsx
7
- var _react = require("@chakra-ui/react");
8
- var ButtonBS = _react.Button;
9
- exports.ButtonBS = ButtonBS;
10
- //# sourceMappingURL=chunk-BRFRPPOW.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ButtonBS.tsx"],"names":[],"mappings":";;;AACA,SAAS,UAAU,oBAAsD;AAUlE,IAAM,WAAW","sourcesContent":["import { Modify } from \"@biblioteksentralen/types\";\nimport { Button as ChakraButton, ButtonProps as NativeButtonProps } from \"@chakra-ui/react\";\nimport { ComponentWithAs } from \"@chakra-ui/system\";\nimport { CustomButtonVariants } from \"../styles/chakraTheme/ButtonStyles\";\n\n/**\n * Re-exporting chackras Button with a customised types\n * This causes both chakras native variants and our home-made variants to show up in auto-complete\n */\ntype ButtonVariants = NativeButtonProps[\"variant\"] | CustomButtonVariants;\nexport type ButtonBSProps = Modify<NativeButtonProps, { variant?: ButtonVariants }>;\nexport const ButtonBS = ChakraButton as ComponentWithAs<\"button\", ButtonBSProps>;\n"]}
@@ -1,10 +0,0 @@
1
- "use client";
2
-
3
- // src/components/IconButtonBS.tsx
4
- import { IconButton as ChakraIconButton } from "@chakra-ui/react";
5
- var IconButtonBS = ChakraIconButton;
6
-
7
- export {
8
- IconButtonBS
9
- };
10
- //# sourceMappingURL=chunk-BZS3AX26.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/IconButtonBS.tsx"],"sourcesContent":["import { Modify } from \"@biblioteksentralen/types\";\nimport { IconButton as ChakraIconButton, IconButtonProps as ChakraIconButtonProps } from \"@chakra-ui/react\";\nimport { ComponentWithAs } from \"@chakra-ui/system\";\nimport { CustomButtonVariants } from \"../styles/chakraTheme/ButtonStyles\";\n\n/**\n * Re-exporting chackras IconButton with a customised types\n * This causes both chakras native variants and our home-made variants to show up in auto-complete\n */\ntype IconButtonVariants = ChakraIconButtonProps[\"variant\"] | CustomButtonVariants;\nexport type IconButtonBSProps = Modify<ChakraIconButtonProps, { variant?: IconButtonVariants }>;\nexport const IconButtonBS = ChakraIconButton as ComponentWithAs<\"button\", IconButtonBSProps>;\n"],"mappings":";;;AACA,SAAS,cAAc,wBAAkE;AAUlF,IAAM,eAAe;","names":[]}
@@ -1,15 +0,0 @@
1
- "use client";
2
- import {
3
- ErrorBoundaryBS
4
- } from "./chunk-3IJ454KG.mjs";
5
-
6
- // src/components/withErrorBoundaryBS.tsx
7
- import React from "react";
8
- var withErrorBoundaryBS = (Component, boundaryName) => {
9
- return (props) => /* @__PURE__ */ React.createElement(ErrorBoundaryBS, { boundaryName }, /* @__PURE__ */ React.createElement(Component, { ...props }));
10
- };
11
-
12
- export {
13
- withErrorBoundaryBS
14
- };
15
- //# sourceMappingURL=chunk-CGCBID7S.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/withErrorBoundaryBS.tsx"],"sourcesContent":["import React from \"react\";\nimport { ErrorBoundaryBS } from \"./ErrorBoundaryBS\";\n\nexport const withErrorBoundaryBS = <Props,>(Component: React.ComponentType<Props>, boundaryName: string) => {\n return (props: Props & React.JSX.IntrinsicAttributes) => (\n <ErrorBoundaryBS boundaryName={boundaryName}>\n <Component {...props} />\n </ErrorBoundaryBS>\n );\n};\n"],"mappings":";;;;;;AAAA,OAAO,WAAW;AAGX,IAAM,sBAAsB,CAAS,WAAuC,iBAAyB;AAC1G,SAAO,CAAC,UACN,oCAAC,mBAAgB,gBACf,oCAAC,aAAW,GAAG,OAAO,CACxB;AAEJ;","names":[]}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- "use client";
6
- // src/components/IconButtonBS.tsx
7
- var _react = require("@chakra-ui/react");
8
- var IconButtonBS = _react.IconButton;
9
- exports.IconButtonBS = IconButtonBS;
10
- //# sourceMappingURL=chunk-J5IF7WUN.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/IconButtonBS.tsx"],"names":[],"mappings":";;;AACA,SAAS,cAAc,wBAAkE;AAUlF,IAAM,eAAe","sourcesContent":["import { Modify } from \"@biblioteksentralen/types\";\nimport { IconButton as ChakraIconButton, IconButtonProps as ChakraIconButtonProps } from \"@chakra-ui/react\";\nimport { ComponentWithAs } from \"@chakra-ui/system\";\nimport { CustomButtonVariants } from \"../styles/chakraTheme/ButtonStyles\";\n\n/**\n * Re-exporting chackras IconButton with a customised types\n * This causes both chakras native variants and our home-made variants to show up in auto-complete\n */\ntype IconButtonVariants = ChakraIconButtonProps[\"variant\"] | CustomButtonVariants;\nexport type IconButtonBSProps = Modify<ChakraIconButtonProps, { variant?: IconButtonVariants }>;\nexport const IconButtonBS = ChakraIconButton as ComponentWithAs<\"button\", IconButtonBSProps>;\n"]}
@@ -1,86 +0,0 @@
1
- "use strict";
2
- function _define_property(obj, key, value) {
3
- if (key in obj) {
4
- Object.defineProperty(obj, key, {
5
- value: value,
6
- enumerable: true,
7
- configurable: true,
8
- writable: true
9
- });
10
- } else {
11
- obj[key] = value;
12
- }
13
- return obj;
14
- }
15
- function _object_spread(target) {
16
- for(var i = 1; i < arguments.length; i++){
17
- var source = arguments[i] != null ? arguments[i] : {};
18
- var ownKeys = Object.keys(source);
19
- if (typeof Object.getOwnPropertySymbols === "function") {
20
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
21
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
22
- }));
23
- }
24
- ownKeys.forEach(function(key) {
25
- _define_property(target, key, source[key]);
26
- });
27
- }
28
- return target;
29
- }
30
- function _object_without_properties(source, excluded) {
31
- if (source == null) return {};
32
- var target = _object_without_properties_loose(source, excluded);
33
- var key, i;
34
- if (Object.getOwnPropertySymbols) {
35
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
36
- for(i = 0; i < sourceSymbolKeys.length; i++){
37
- key = sourceSymbolKeys[i];
38
- if (excluded.indexOf(key) >= 0) continue;
39
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
40
- target[key] = source[key];
41
- }
42
- }
43
- return target;
44
- }
45
- function _object_without_properties_loose(source, excluded) {
46
- if (source == null) return {};
47
- var target = {};
48
- var sourceKeys = Object.keys(source);
49
- var key, i;
50
- for(i = 0; i < sourceKeys.length; i++){
51
- key = sourceKeys[i];
52
- if (excluded.indexOf(key) >= 0) continue;
53
- target[key] = source[key];
54
- }
55
- return target;
56
- }
57
- Object.defineProperty(exports, "__esModule", {
58
- value: true
59
- });
60
- function _interopRequireDefault(obj) {
61
- return obj && obj.__esModule ? obj : {
62
- default: obj
63
- };
64
- }
65
- "use client";
66
- // src/components/InputBS.tsx
67
- var _react = require("@chakra-ui/react");
68
- var _react3 = require("react");
69
- var _react4 = _interopRequireDefault(_react3);
70
- var FieldHelperText = _react.Field.HelperText;
71
- var FieldErrorText = _react.Field.ErrorText;
72
- var InputBS = function(props) {
73
- var labelProps = props.labelProps, label = props.label, helperText = props.helperText, errorMessage = props.errorMessage, hideLabel = props.hideLabel, inputProps = _object_without_properties(props, [
74
- "labelProps",
75
- "label",
76
- "helperText",
77
- "errorMessage",
78
- "hideLabel"
79
- ]);
80
- var formLabel = /* @__PURE__ */ _react4.default.createElement(_react.Field.Label, _object_spread({}, labelProps), label);
81
- return /* @__PURE__ */ _react4.default.createElement(_react.Field.Root, {
82
- invalid: !!errorMessage
83
- }, hideLabel ? /* @__PURE__ */ _react4.default.createElement(_react.VisuallyHidden, null, formLabel) : formLabel, helperText && /* @__PURE__ */ _react4.default.createElement(FieldHelperText, null, helperText), /* @__PURE__ */ _react4.default.createElement(_react.Input, _object_spread({}, inputProps)), errorMessage && /* @__PURE__ */ _react4.default.createElement(FieldErrorText, null, errorMessage));
84
- };
85
- exports.InputBS = InputBS;
86
- //# sourceMappingURL=chunk-NSYSPEHR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/InputBS.tsx"],"names":[],"mappings":";;;AAAA,SAAS,SAAS,aAAa,OAAoC,sBAAsB;AACzF,OAAO,WAA0B;AAGjC,IAAM,kBAAkB,MAAM;AAC9B,IAAM,iBAAiB,MAAM;AAetB,IAAM,UAAU,CAAC,UAAiB;AACvC,QAAM,EAAE,YAAY,OAAO,YAAY,cAAc,WAAW,GAAG,WAAW,IAAI;AAElF,QAAM,YAAY,oCAAC,MAAM,OAAN,EAAa,GAAG,cAAa,KAAM;AAEtD,SACE,oCAAC,MAAM,MAAN,EAAW,SAAS,CAAC,CAAC,gBACpB,YAAY,oCAAC,sBAAgB,SAAU,IAAoB,WAC3D,cAAc,oCAAC,uBAAiB,UAAW,GAC5C,oCAAC,eAAa,GAAG,YAAY,GAC5B,gBAAgB,oCAAC,sBAAgB,YAAa,CACjD;AAEJ","sourcesContent":["import { Input as ChakraInput, Field, FieldLabelProps, InputProps, VisuallyHidden } from \"@chakra-ui/react\";\nimport React, { RefObject } from \"react\";\n\n// Chakra v3 Field.HelperText and Field.ErrorText don't include children in their types\nconst FieldHelperText = Field.HelperText as React.FC<React.PropsWithChildren>;\nconst FieldErrorText = Field.ErrorText as React.FC<React.PropsWithChildren>;\n\ninterface Props extends InputProps {\n label: string;\n hideLabel?: boolean;\n labelProps?: FieldLabelProps;\n helperText?: string;\n errorMessage?: string;\n ref?: RefObject<HTMLInputElement | null>;\n}\n\n/**\n * Creating custom input-component to make sure label is always set (for accessibility)\n * Also handles some common needs (helper text and error message. For more advanced input-components we leave it to the consumers to compose custom input-components based on Chakra\n */\nexport const InputBS = (props: Props) => {\n const { labelProps, label, helperText, errorMessage, hideLabel, ...inputProps } = props;\n\n const formLabel = <Field.Label {...labelProps}>{label}</Field.Label>;\n\n return (\n <Field.Root invalid={!!errorMessage}>\n {hideLabel ? <VisuallyHidden>{formLabel}</VisuallyHidden> : formLabel}\n {helperText && <FieldHelperText>{helperText}</FieldHelperText>}\n <ChakraInput {...inputProps} />\n {errorMessage && <FieldErrorText>{errorMessage}</FieldErrorText>}\n </Field.Root>\n );\n};\n"]}
@@ -1,51 +0,0 @@
1
- "use strict";
2
- function _define_property(obj, key, value) {
3
- if (key in obj) {
4
- Object.defineProperty(obj, key, {
5
- value: value,
6
- enumerable: true,
7
- configurable: true,
8
- writable: true
9
- });
10
- } else {
11
- obj[key] = value;
12
- }
13
- return obj;
14
- }
15
- function _object_spread(target) {
16
- for(var i = 1; i < arguments.length; i++){
17
- var source = arguments[i] != null ? arguments[i] : {};
18
- var ownKeys = Object.keys(source);
19
- if (typeof Object.getOwnPropertySymbols === "function") {
20
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
21
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
22
- }));
23
- }
24
- ownKeys.forEach(function(key) {
25
- _define_property(target, key, source[key]);
26
- });
27
- }
28
- return target;
29
- }
30
- Object.defineProperty(exports, "__esModule", {
31
- value: true
32
- });
33
- function _interopRequireDefault(obj) {
34
- return obj && obj.__esModule ? obj : {
35
- default: obj
36
- };
37
- }
38
- "use client";
39
- var _chunkQBXCCJ24js = require("./chunk-QBXCCJ24.js");
40
- // src/components/BiblioteksentralenProvider.tsx
41
- var _react = require("react");
42
- var _react2 = _interopRequireDefault(_react);
43
- var _react3 = require("@chakra-ui/react");
44
- var _system = require("@chakra-ui/system");
45
- var BiblioteksentralenProvider = function(props) {
46
- return /* @__PURE__ */ _react2.default.createElement(_react3.ChakraProvider, {
47
- value: _react3.createSystem.call(void 0, _react3.defaultConfig, _chunkQBXCCJ24js.biblioteksentralenChakraTheme, props.customTheme || {})
48
- }, /* @__PURE__ */ _react2.default.createElement(_system.ColorModeProvider, _object_spread({}, props)));
49
- };
50
- exports.BiblioteksentralenProvider = BiblioteksentralenProvider;
51
- //# sourceMappingURL=chunk-NYKSRUWF.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/BiblioteksentralenProvider.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,WAA0B;AACjC,SAAS,gBAAgB,cAAc,qBAAmC;AAE1E,SAAS,yBAAyB;AAO3B,IAAM,6BAA6B,CAAC,UACzC,oCAAC,kBAAe,OAAO,aAAa,eAAe,+BAA+B,MAAM,eAAe,CAAC,CAAC,KACvG,oCAAC,qBAAmB,GAAG,OAAO,CAChC","sourcesContent":["import React, { ReactNode } from \"react\";\nimport { ChakraProvider, createSystem, defaultConfig, SystemConfig } from \"@chakra-ui/react\";\nimport { biblioteksentralenChakraTheme } from \"../styles/chakraTheme/biblioteksentralenChakraTheme\";\nimport { ColorModeProvider } from \"@chakra-ui/system\";\n\ninterface Props {\n children: ReactNode;\n customTheme?: SystemConfig;\n}\n\nexport const BiblioteksentralenProvider = (props: Props) => (\n <ChakraProvider value={createSystem(defaultConfig, biblioteksentralenChakraTheme, props.customTheme || {})}>\n <ColorModeProvider {...props} />\n </ChakraProvider>\n);\n"]}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _interopRequireDefault(obj) {
6
- return obj && obj.__esModule ? obj : {
7
- default: obj
8
- };
9
- }
10
- "use client";
11
- // src/components/ConditionalWrapperBS.tsx
12
- var _react = require("react");
13
- var _react2 = _interopRequireDefault(_react);
14
- var ConditionalWrapperBS = function(param) {
15
- var condition = param.condition, children = param.children, Wrapper = param.wrapper;
16
- return condition ? /* @__PURE__ */ _react2.default.createElement(Wrapper, null, children) : /* @__PURE__ */ _react2.default.createElement(_react2.default.Fragment, null, children);
17
- };
18
- exports.ConditionalWrapperBS = ConditionalWrapperBS;
19
- //# sourceMappingURL=chunk-O4EXBCND.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ConditionalWrapperBS.tsx"],"names":[],"mappings":";;;AAAA,OAAO,WAA6C;AAW7C,IAAM,uBAAiD,CAAC,EAAE,WAAW,UAAU,SAAS,QAAQ,MACrG,YAAY,oCAAC,eAAS,QAAS,IAAa,0DAAG,QAAS","sourcesContent":["import React, { FunctionComponent, ReactNode } from \"react\";\n\ntype Props = {\n children: ReactNode;\n wrapper: FunctionComponent<{ children: ReactNode }>;\n condition: boolean;\n};\n\n/**\n * Conditionally wrapps children with a component. If conditions are not met children mounted without the wrapper.\n */\nexport const ConditionalWrapperBS: FunctionComponent<Props> = ({ condition, children, wrapper: Wrapper }) =>\n condition ? <Wrapper>{children}</Wrapper> : <>{children}</>;\n"]}
@@ -1,75 +0,0 @@
1
- "use strict";
2
- function _define_property(obj, key, value) {
3
- if (key in obj) {
4
- Object.defineProperty(obj, key, {
5
- value: value,
6
- enumerable: true,
7
- configurable: true,
8
- writable: true
9
- });
10
- } else {
11
- obj[key] = value;
12
- }
13
- return obj;
14
- }
15
- function _object_spread(target) {
16
- for(var i = 1; i < arguments.length; i++){
17
- var source = arguments[i] != null ? arguments[i] : {};
18
- var ownKeys = Object.keys(source);
19
- if (typeof Object.getOwnPropertySymbols === "function") {
20
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
21
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
22
- }));
23
- }
24
- ownKeys.forEach(function(key) {
25
- _define_property(target, key, source[key]);
26
- });
27
- }
28
- return target;
29
- }
30
- Object.defineProperty(exports, "__esModule", {
31
- value: true
32
- });
33
- function _interopRequireDefault(obj) {
34
- return obj && obj.__esModule ? obj : {
35
- default: obj
36
- };
37
- }
38
- "use client";
39
- var _chunkQBXCCJ24js = require("./chunk-QBXCCJ24.js");
40
- // src/components/HashLinkTargetBS.tsx
41
- var _react = require("@chakra-ui/react");
42
- var _react3 = require("react");
43
- var _react4 = _interopRequireDefault(_react3);
44
- var focusOnRelativeParentStyle = {
45
- _focusWithin: {
46
- position: "static",
47
- boxShadow: "none",
48
- "&::after": _object_spread({
49
- content: '""',
50
- position: "absolute",
51
- top: 0,
52
- left: 0,
53
- height: "100%",
54
- width: "100%",
55
- pointerEvents: "none",
56
- borderRadius: "0.25rem"
57
- }, _chunkQBXCCJ24js.focusStyle)
58
- }
59
- };
60
- function HashLinkTargetBS(props) {
61
- return /* @__PURE__ */ _react4.default.createElement(_react.Box, {
62
- position: "relative",
63
- css: props.focusOnParent ? focusOnRelativeParentStyle : void 0
64
- }, /* @__PURE__ */ _react4.default.createElement(_react.Box, {
65
- id: props.id,
66
- tabIndex: props.focusOnParent ? -1 : void 0,
67
- position: "absolute",
68
- top: "-".concat(props.spaceAbove || "2.5rem"),
69
- _focus: {
70
- boxShadow: "none !important"
71
- }
72
- }));
73
- }
74
- exports.HashLinkTargetBS = HashLinkTargetBS;
75
- //# sourceMappingURL=chunk-PLWK7HEC.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/HashLinkTargetBS.tsx"],"names":[],"mappings":";;;;;;AAAA,SAAS,WAAW;AACpB,OAAO,WAAW;AAelB,IAAM,6BAA6B;AAAA,EACjC,cAAc;AAAA,IACZ,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,MACV,SAAS;AAAA,MACT,UAAU;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,eAAe;AAAA,MACf,cAAc;AAAA,MACd,GAAG;AAAA,IACL;AAAA,EACF;AACF;AAKO,SAAS,iBAAiB,OAAc;AAC7C,SACE,oCAAC,OAAI,UAAS,YAAW,KAAK,MAAM,gBAAgB,6BAA6B,UAC/E;AAAA,IAAC;AAAA;AAAA,MACC,IAAI,MAAM;AAAA,MACV,UAAU,MAAM,gBAAgB,KAAK;AAAA,MACrC,UAAS;AAAA,MACT,KAAK,IAAI,MAAM,cAAc,QAAQ;AAAA,MACrC,QAAQ;AAAA,QACN,WAAW;AAAA,MACb;AAAA;AAAA,EACF,CACF;AAEJ","sourcesContent":["import { Box } from \"@chakra-ui/react\";\nimport React from \"react\";\nimport { focusStyle } from \"../styles/chakraTheme/biblioteksentralenChakraTheme\";\n\ninterface Props {\n id: string;\n /**\n * angir hvor mye luft til vil ha over HashLinkTarget ved bruk av hash-lenke, eks '4rem'\n */\n spaceAbove?: string;\n /**\n * angir om du vil ha fokusramme rundt komponenten som mounter HashLinkTarget. Da må komponenten du wrapper med ha position: relative | absolute el\n */\n focusOnParent?: boolean;\n}\n\nconst focusOnRelativeParentStyle = {\n _focusWithin: {\n position: \"static\",\n boxShadow: \"none\",\n \"&::after\": {\n content: '\"\"',\n position: \"absolute\",\n top: 0,\n left: 0,\n height: \"100%\",\n width: \"100%\",\n pointerEvents: \"none\",\n borderRadius: \"0.25rem\",\n ...focusStyle,\n },\n },\n};\n\n/*\n * Komponent som sørger for luft over anchors (elementer man kan lenke til med hash-lenker feks <a href=\"#min-overskrift\">Ta meg til overskrift</a>)\n */\nexport function HashLinkTargetBS(props: Props) {\n return (\n <Box position=\"relative\" css={props.focusOnParent ? focusOnRelativeParentStyle : undefined}>\n <Box\n id={props.id}\n tabIndex={props.focusOnParent ? -1 : undefined}\n position=\"absolute\"\n top={`-${props.spaceAbove || \"2.5rem\"}`}\n _focus={{\n boxShadow: \"none !important\",\n }}\n />\n </Box>\n );\n}\n"]}
@@ -1,15 +0,0 @@
1
- "use client";
2
- import {
3
- biblioteksentralenChakraTheme
4
- } from "./chunk-5GJBW3WE.mjs";
5
-
6
- // src/components/BiblioteksentralenProvider.tsx
7
- import React from "react";
8
- import { ChakraProvider, createSystem, defaultConfig } from "@chakra-ui/react";
9
- import { ColorModeProvider } from "@chakra-ui/system";
10
- var BiblioteksentralenProvider = (props) => /* @__PURE__ */ React.createElement(ChakraProvider, { value: createSystem(defaultConfig, biblioteksentralenChakraTheme, props.customTheme || {}) }, /* @__PURE__ */ React.createElement(ColorModeProvider, { ...props }));
11
-
12
- export {
13
- BiblioteksentralenProvider
14
- };
15
- //# sourceMappingURL=chunk-PQLTQYZ3.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/BiblioteksentralenProvider.tsx"],"sourcesContent":["import React, { ReactNode } from \"react\";\nimport { ChakraProvider, createSystem, defaultConfig, SystemConfig } from \"@chakra-ui/react\";\nimport { biblioteksentralenChakraTheme } from \"../styles/chakraTheme/biblioteksentralenChakraTheme\";\nimport { ColorModeProvider } from \"@chakra-ui/system\";\n\ninterface Props {\n children: ReactNode;\n customTheme?: SystemConfig;\n}\n\nexport const BiblioteksentralenProvider = (props: Props) => (\n <ChakraProvider value={createSystem(defaultConfig, biblioteksentralenChakraTheme, props.customTheme || {})}>\n <ColorModeProvider {...props} />\n </ChakraProvider>\n);\n"],"mappings":";;;;;;AAAA,OAAO,WAA0B;AACjC,SAAS,gBAAgB,cAAc,qBAAmC;AAE1E,SAAS,yBAAyB;AAO3B,IAAM,6BAA6B,CAAC,UACzC,oCAAC,kBAAe,OAAO,aAAa,eAAe,+BAA+B,MAAM,eAAe,CAAC,CAAC,KACvG,oCAAC,qBAAmB,GAAG,OAAO,CAChC;","names":[]}
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- "use client";
6
- // ../utils/dist/index.mjs
7
- var _format = require("date-fns/format");
8
- var _nb = require("date-fns/locale/nb");
9
- var colors = {
10
- black: "#000000",
11
- grey90: "#181818",
12
- grey80: "#333333",
13
- grey60: "#585858",
14
- grey45: "#8c8c8c",
15
- grey30: "#b2b2b2",
16
- grey15: "#d9d9d9",
17
- grey10: "#e5e5e5",
18
- grey05: "#f2f2f2",
19
- white: "#ffffff",
20
- bsRødDark: "#870010",
21
- bsRødMedium: "#d53d40",
22
- accentPurple: "#331433",
23
- accentPeach: "#ffba99",
24
- accentGreen: "#003b29",
25
- accentBlueDark: "#001740",
26
- accentBlueMedium: "#5996de",
27
- accentYellow: "#ffc970",
28
- lightBlue: "#dbe8ef",
29
- lightGreen: "#dbe0db",
30
- lightPeach: "#f4e7de",
31
- lightPurple: "#ece8f3",
32
- statusRed: "#ad313c",
33
- statusYellow: "#bc5600",
34
- statusGreen: "#24845b",
35
- statusGreenLight: "#edf4f1",
36
- statusRedLight: "#f8efef",
37
- statusYellowLight: "#fff6e4",
38
- neptune: {
39
- "100": "#CFE6E8",
40
- "200": "#9FCDD2",
41
- "300": "#6FB5BB",
42
- "400": "#3F9CA5",
43
- "500": "#0F838E",
44
- "600": "#0C6972",
45
- "700": "#094F55",
46
- "800": "#063439",
47
- "900": "#031A1C"
48
- }
49
- };
50
- function isDevelopment() {
51
- return process.env.NODE_ENV === "development";
52
- }
53
- exports.colors = colors;
54
- exports.isDevelopment = isDevelopment;
55
- //# sourceMappingURL=chunk-QAW4IRLI.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../utils/src/date.ts","../../utils/src/colors.ts","../../utils/src/environment.ts"],"names":[],"mappings":";;;AAAA,SAAS,cAAc;AACvB,SAAS,UAAU;ACDZ,IAAM,SAAS;EACpB,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,gBAAW;EACX,kBAAa;EACb,cAAc;EACd,aAAa;EACb,aAAa;EACb,gBAAgB;EAChB,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,WAAW;EACX,cAAc;EACd,aAAa;EACb,kBAAkB;EAClB,gBAAgB;EAChB,mBAAmB;EACnB,SAAS;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;EACT;AACF;ACxCO,SAAS,gBAAyB;AACvC,SAAO,QAAQ,IAAI,aAAa;AAClC","sourcesContent":["import { format } from \"date-fns/format\";\nimport { nb } from \"date-fns/locale/nb\";\n\nexport function formaterDato(dato?: string, dateFnsformat = \"Pp\") {\n if (typeof dato !== \"string\") return \"Ukjent dato\";\n\n try {\n return format(new Date(dato), dateFnsformat, { locale: nb });\n } catch (e) {\n console.error(\"Kunne ikke formattere dato:\" + dato, e);\n return dato;\n }\n}\n","export const colors = {\n black: \"#000000\",\n grey90: \"#181818\",\n grey80: \"#333333\",\n grey60: \"#585858\",\n grey45: \"#8c8c8c\",\n grey30: \"#b2b2b2\",\n grey15: \"#d9d9d9\",\n grey10: \"#e5e5e5\",\n grey05: \"#f2f2f2\",\n white: \"#ffffff\",\n bsRødDark: \"#870010\",\n bsRødMedium: \"#d53d40\",\n accentPurple: \"#331433\",\n accentPeach: \"#ffba99\",\n accentGreen: \"#003b29\",\n accentBlueDark: \"#001740\",\n accentBlueMedium: \"#5996de\",\n accentYellow: \"#ffc970\",\n lightBlue: \"#dbe8ef\",\n lightGreen: \"#dbe0db\",\n lightPeach: \"#f4e7de\",\n lightPurple: \"#ece8f3\",\n statusRed: \"#ad313c\",\n statusYellow: \"#bc5600\",\n statusGreen: \"#24845b\",\n statusGreenLight: \"#edf4f1\",\n statusRedLight: \"#f8efef\",\n statusYellowLight: \"#fff6e4\",\n neptune: {\n \"100\": \"#CFE6E8\",\n \"200\": \"#9FCDD2\",\n \"300\": \"#6FB5BB\",\n \"400\": \"#3F9CA5\",\n \"500\": \"#0F838E\",\n \"600\": \"#0C6972\",\n \"700\": \"#094F55\",\n \"800\": \"#063439\",\n \"900\": \"#031A1C\",\n },\n};\n","export function isDevelopment(): boolean {\n return process.env.NODE_ENV === \"development\";\n}\n\nexport function isClient(): boolean {\n return typeof window !== \"undefined\";\n}\n\nexport function isServer(): boolean {\n return !isClient();\n}\n"]}