@snokam/ui 1.1.1 → 2.0.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 (96) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/components/animated-blobs/styled.d.ts.map +1 -1
  3. package/dist/components/animated-blobs/styled.js +1 -5
  4. package/dist/components/animated-blobs/styled.js.map +1 -1
  5. package/dist/components/app-error/icon.d.ts +2 -0
  6. package/dist/components/app-error/icon.d.ts.map +1 -0
  7. package/dist/components/app-error/icon.js +5 -0
  8. package/dist/components/app-error/icon.js.map +1 -0
  9. package/dist/components/app-error/index.d.ts +12 -4
  10. package/dist/components/app-error/index.d.ts.map +1 -1
  11. package/dist/components/app-error/index.js +13 -4
  12. package/dist/components/app-error/index.js.map +1 -1
  13. package/dist/components/data-load-error/index.d.ts +6 -1
  14. package/dist/components/data-load-error/index.d.ts.map +1 -1
  15. package/dist/components/data-load-error/index.js +8 -3
  16. package/dist/components/data-load-error/index.js.map +1 -1
  17. package/dist/components/dropzone/Dropzone.d.ts.map +1 -1
  18. package/dist/components/dropzone/Dropzone.js +12 -16
  19. package/dist/components/dropzone/Dropzone.js.map +1 -1
  20. package/dist/components/dropzone/components/FilePreviewCard.d.ts.map +1 -1
  21. package/dist/components/dropzone/components/FilePreviewCard.js +4 -5
  22. package/dist/components/dropzone/components/FilePreviewCard.js.map +1 -1
  23. package/dist/components/dropzone/components/PDFPreview.d.ts.map +1 -1
  24. package/dist/components/dropzone/components/PDFPreview.js +5 -10
  25. package/dist/components/dropzone/components/PDFPreview.js.map +1 -1
  26. package/dist/components/dropzone/components/PDFPreviewCard.d.ts.map +1 -1
  27. package/dist/components/dropzone/components/PDFPreviewCard.js +3 -7
  28. package/dist/components/dropzone/components/PDFPreviewCard.js.map +1 -1
  29. package/dist/components/dropzone/components/SingleFilePreview.d.ts.map +1 -1
  30. package/dist/components/dropzone/components/SingleFilePreview.js +3 -3
  31. package/dist/components/dropzone/components/SingleFilePreview.js.map +1 -1
  32. package/dist/components/dropzone/components/UploadArea.styles.d.ts.map +1 -1
  33. package/dist/components/dropzone/components/UploadArea.styles.js +2 -6
  34. package/dist/components/dropzone/components/UploadArea.styles.js.map +1 -1
  35. package/dist/components/dropzone/hooks/useBatchUpload.d.ts +3 -2
  36. package/dist/components/dropzone/hooks/useBatchUpload.d.ts.map +1 -1
  37. package/dist/components/dropzone/hooks/useBatchUpload.js +3 -5
  38. package/dist/components/dropzone/hooks/useBatchUpload.js.map +1 -1
  39. package/dist/components/dropzone/index.d.ts +1 -1
  40. package/dist/components/dropzone/index.d.ts.map +1 -1
  41. package/dist/components/dropzone/index.js.map +1 -1
  42. package/dist/components/dropzone/texts.d.ts +4 -0
  43. package/dist/components/dropzone/texts.d.ts.map +1 -0
  44. package/dist/components/dropzone/texts.js +7 -0
  45. package/dist/components/dropzone/texts.js.map +1 -0
  46. package/dist/components/dropzone/types.d.ts +7 -1
  47. package/dist/components/dropzone/types.d.ts.map +1 -1
  48. package/dist/components/dropzone/types.js +11 -5
  49. package/dist/components/dropzone/types.js.map +1 -1
  50. package/dist/components/dropzone/utils/blobUtils.d.ts +3 -3
  51. package/dist/components/dropzone/utils/blobUtils.d.ts.map +1 -1
  52. package/dist/components/dropzone/utils/blobUtils.js +3 -3
  53. package/dist/components/dropzone/utils/blobUtils.js.map +1 -1
  54. package/dist/components/not-found/index.d.ts +17 -0
  55. package/dist/components/not-found/index.d.ts.map +1 -0
  56. package/dist/components/not-found/index.js +19 -0
  57. package/dist/components/not-found/index.js.map +1 -0
  58. package/dist/components/okr/Okr.d.ts +3 -2
  59. package/dist/components/okr/Okr.d.ts.map +1 -1
  60. package/dist/components/okr/Okr.js +6 -6
  61. package/dist/components/okr/Okr.js.map +1 -1
  62. package/dist/components/okr/index.d.ts +2 -1
  63. package/dist/components/okr/index.d.ts.map +1 -1
  64. package/dist/components/okr/index.js +1 -1
  65. package/dist/components/okr/index.js.map +1 -1
  66. package/dist/components/okr/styled.js +1 -1
  67. package/dist/components/okr/styled.js.map +1 -1
  68. package/dist/components/okr/types.d.ts +4 -0
  69. package/dist/components/okr/types.d.ts.map +1 -1
  70. package/dist/components/okr/types.js +3 -0
  71. package/dist/components/okr/types.js.map +1 -1
  72. package/dist/components/permission-lock/index.d.ts +7 -5
  73. package/dist/components/permission-lock/index.d.ts.map +1 -1
  74. package/dist/components/permission-lock/index.js +8 -4
  75. package/dist/components/permission-lock/index.js.map +1 -1
  76. package/dist/components/system-page/index.d.ts +33 -0
  77. package/dist/components/system-page/index.d.ts.map +1 -0
  78. package/dist/components/system-page/index.js +15 -0
  79. package/dist/components/system-page/index.js.map +1 -0
  80. package/dist/components/system-page/styled.d.ts +54 -0
  81. package/dist/components/system-page/styled.d.ts.map +1 -0
  82. package/dist/components/system-page/styled.js +183 -0
  83. package/dist/components/system-page/styled.js.map +1 -0
  84. package/dist/utils/data-attribute.d.ts +3 -0
  85. package/dist/utils/data-attribute.d.ts.map +1 -0
  86. package/dist/utils/data-attribute.js +5 -0
  87. package/dist/utils/data-attribute.js.map +1 -0
  88. package/package.json +9 -13
  89. package/dist/components/app-error/styled.d.ts +0 -29
  90. package/dist/components/app-error/styled.d.ts.map +0 -1
  91. package/dist/components/app-error/styled.js +0 -72
  92. package/dist/components/app-error/styled.js.map +0 -1
  93. package/dist/data/fetch.d.ts +0 -11
  94. package/dist/data/fetch.d.ts.map +0 -1
  95. package/dist/data/fetch.js +0 -34
  96. package/dist/data/fetch.js.map +0 -1
@@ -0,0 +1,54 @@
1
+ export declare const Shell: import("@emotion/styled").StyledComponent<{
2
+ theme?: import("@emotion/react").Theme;
3
+ as?: React.ElementType;
4
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
5
+ export declare const Band: import("@emotion/styled").StyledComponent<{
6
+ theme?: import("@emotion/react").Theme;
7
+ as?: React.ElementType;
8
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, {}>;
9
+ export declare const Content: import("@emotion/styled").StyledComponent<{
10
+ theme?: import("@emotion/react").Theme;
11
+ as?: React.ElementType;
12
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
13
+ export declare const IconBadge: import("@emotion/styled").StyledComponent<{
14
+ theme?: import("@emotion/react").Theme;
15
+ as?: React.ElementType;
16
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
17
+ export declare const Code: import("@emotion/styled").StyledComponent<{
18
+ theme?: import("@emotion/react").Theme;
19
+ as?: React.ElementType;
20
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, {}>;
21
+ export declare const Title: import("@emotion/styled").StyledComponent<{
22
+ theme?: import("@emotion/react").Theme;
23
+ as?: React.ElementType;
24
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, {}>;
25
+ export declare const Detail: import("@emotion/styled").StyledComponent<{
26
+ theme?: import("@emotion/react").Theme;
27
+ as?: React.ElementType;
28
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, {}>;
29
+ export declare const Message: import("@emotion/styled").StyledComponent<{
30
+ theme?: import("@emotion/react").Theme;
31
+ as?: React.ElementType;
32
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, {}>;
33
+ export declare const Actions: import("@emotion/styled").StyledComponent<{
34
+ theme?: import("@emotion/react").Theme;
35
+ as?: React.ElementType;
36
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
37
+ export declare const PrimaryLink: import("@emotion/styled").StyledComponent<Omit<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, keyof import("next/link").LinkProps<any>> & import("next/link").LinkProps<any> & {
38
+ children?: React.ReactNode | undefined;
39
+ } & import("react").RefAttributes<HTMLAnchorElement> & {
40
+ theme?: import("@emotion/react").Theme;
41
+ }, {}, {}>;
42
+ export declare const GhostButton: import("@emotion/styled").StyledComponent<{
43
+ theme?: import("@emotion/react").Theme;
44
+ as?: React.ElementType;
45
+ }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
46
+ export declare const GhostLink: import("@emotion/styled").StyledComponent<{
47
+ theme?: import("@emotion/react").Theme;
48
+ as?: React.ElementType;
49
+ }, import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, {}>;
50
+ export declare const PrimaryButton: import("@emotion/styled").StyledComponent<{
51
+ theme?: import("@emotion/react").Theme;
52
+ as?: React.ElementType;
53
+ }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
54
+ //# sourceMappingURL=styled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/components/system-page/styled.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,KAAK;;;yGAwBjB,CAAC;AAEF,eAAO,MAAM,IAAI;;;mGAQhB,CAAC;AAEF,eAAO,MAAM,OAAO;;;yGAYnB,CAAC;AAEF,eAAO,MAAM,SAAS;;;yGAgBrB,CAAC;AAEF,eAAO,MAAM,IAAI;;;qHAQhB,CAAC;AAEF,eAAO,MAAM,KAAK;;;iHAKjB,CAAC;AAEF,eAAO,MAAM,MAAM;;;mGAUlB,CAAC;AAEF,eAAO,MAAM,OAAO;;;qHAKnB,CAAC;AAEF,eAAO,MAAM,OAAO;;;yGAMnB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;UAmBvB,CAAC;AAwBF,eAAO,MAAM,WAAW;;;qHAEvB,CAAC;AAEF,eAAO,MAAM,SAAS;;;qHAKrB,CAAC;AAEF,eAAO,MAAM,aAAa;;;qHAoBzB,CAAC"}
@@ -0,0 +1,183 @@
1
+ "use client";
2
+ import styled from "@emotion/styled";
3
+ import { css, keyframes } from "@emotion/react";
4
+ import Link from "next/link";
5
+ const rise = keyframes `
6
+ from { opacity: 0; transform: translateY(12px); }
7
+ to { opacity: 1; transform: translateY(0); }
8
+ `;
9
+ export const Shell = styled.div `
10
+ position: relative;
11
+
12
+ /* The blob field is the page background: the chrome sits on it, not on its own fill. */
13
+ > header,
14
+ > footer {
15
+ flex: none;
16
+ background-color: transparent;
17
+ }
18
+
19
+ @media (prefers-reduced-motion: reduce) {
20
+ *,
21
+ *::before,
22
+ *::after {
23
+ animation: none;
24
+ }
25
+ }
26
+
27
+ min-height: 100vh;
28
+ display: flex;
29
+ flex-direction: column;
30
+ overflow-x: clip;
31
+ background: var(--color-primary, #071d41);
32
+ color: var(--color-light-blue, #e1f8ff);
33
+ `;
34
+ export const Band = styled.main `
35
+ position: relative;
36
+ z-index: 1;
37
+ flex: 1;
38
+ display: flex;
39
+ align-items: center;
40
+ justify-content: center;
41
+ padding: 3rem 1.5rem 4rem;
42
+ `;
43
+ export const Content = styled.div `
44
+ width: 100%;
45
+ max-width: 34rem;
46
+ display: flex;
47
+ flex-direction: column;
48
+ align-items: center;
49
+ text-align: center;
50
+ animation: ${rise} 0.5s ease-out both;
51
+
52
+ @media (prefers-reduced-motion: reduce) {
53
+ animation: none;
54
+ }
55
+ `;
56
+ export const IconBadge = styled.div `
57
+ display: flex;
58
+ align-items: center;
59
+ justify-content: center;
60
+ width: 5rem;
61
+ height: 5rem;
62
+ margin-bottom: 1.5rem;
63
+ border-radius: 50%;
64
+ border: 1px solid rgba(225, 248, 255, 0.25);
65
+ background: rgba(225, 248, 255, 0.06);
66
+ color: var(--color-blue, #67dafd);
67
+
68
+ svg {
69
+ width: 2.25rem;
70
+ height: 2.25rem;
71
+ }
72
+ `;
73
+ export const Code = styled.p `
74
+ margin: 0 0 1.5rem;
75
+ font-family: Cocogoose-Regular;
76
+ font-size: clamp(6rem, 22vw, 13rem);
77
+ line-height: 0.8;
78
+ letter-spacing: -0.04em;
79
+ color: rgba(225, 248, 255, 0.08);
80
+ -webkit-text-stroke: 2px var(--color-blue, #67dafd);
81
+ `;
82
+ export const Title = styled.h1 `
83
+ margin: 0;
84
+ font-family: Cocogoose-Light;
85
+ font-size: clamp(1.75rem, 5vw, 2.5rem);
86
+ color: inherit;
87
+ `;
88
+ export const Detail = styled.code `
89
+ display: inline-block;
90
+ max-width: 100%;
91
+ margin-top: 1rem;
92
+ padding: 0.3rem 0.75rem;
93
+ border-radius: 999px;
94
+ background: rgba(225, 248, 255, 0.08);
95
+ color: rgba(225, 248, 255, 0.85);
96
+ font-size: 0.9rem;
97
+ overflow-wrap: anywhere;
98
+ `;
99
+ export const Message = styled.p `
100
+ margin: 1rem 0 0;
101
+ font-size: 1.05rem;
102
+ line-height: 1.6;
103
+ color: rgba(225, 248, 255, 0.72);
104
+ `;
105
+ export const Actions = styled.div `
106
+ display: flex;
107
+ flex-wrap: wrap;
108
+ justify-content: center;
109
+ gap: 0.75rem;
110
+ margin-top: 2rem;
111
+ `;
112
+ export const PrimaryLink = styled(Link) `
113
+ display: inline-flex;
114
+ align-items: center;
115
+ padding: 0.75rem 1.75rem;
116
+ border-radius: 999px;
117
+ background: var(--color-blue, #67dafd);
118
+ color: var(--color-primary, #071d41);
119
+ font-weight: 600;
120
+ font-size: 0.95rem;
121
+ text-decoration: none;
122
+
123
+ &:hover {
124
+ filter: brightness(1.08);
125
+ }
126
+
127
+ &:focus-visible {
128
+ outline: 2px solid var(--color-blue, #67dafd);
129
+ outline-offset: 3px;
130
+ }
131
+ `;
132
+ const ghost = css `
133
+ appearance: none;
134
+ cursor: pointer;
135
+ padding: 0.75rem 1.75rem;
136
+ border-radius: 999px;
137
+ border: 1px solid rgba(225, 248, 255, 0.35);
138
+ background: transparent;
139
+ color: inherit;
140
+ font-family: inherit;
141
+ font-weight: 600;
142
+ font-size: 0.95rem;
143
+
144
+ &:hover {
145
+ background: rgba(225, 248, 255, 0.1);
146
+ }
147
+
148
+ &:focus-visible {
149
+ outline: 2px solid var(--color-blue, #67dafd);
150
+ outline-offset: 3px;
151
+ }
152
+ `;
153
+ export const GhostButton = styled.button `
154
+ ${ghost}
155
+ `;
156
+ export const GhostLink = styled.a `
157
+ ${ghost}
158
+ display: inline-flex;
159
+ align-items: center;
160
+ text-decoration: none;
161
+ `;
162
+ export const PrimaryButton = styled.button `
163
+ appearance: none;
164
+ cursor: pointer;
165
+ border: none;
166
+ padding: 0.75rem 1.75rem;
167
+ border-radius: 999px;
168
+ background: var(--color-blue, #67dafd);
169
+ color: var(--color-primary, #071d41);
170
+ font-family: inherit;
171
+ font-weight: 600;
172
+ font-size: 0.95rem;
173
+
174
+ &:hover {
175
+ filter: brightness(1.08);
176
+ }
177
+
178
+ &:focus-visible {
179
+ outline: 2px solid var(--color-blue, #67dafd);
180
+ outline-offset: 3px;
181
+ }
182
+ `;
183
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../src/components/system-page/styled.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,IAAI,GAAG,SAAS,CAAA;;;CAGrB,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;CAwB9B,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;;;;;;;;CAQ9B,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;eAOlB,IAAI;;;;;CAKlB,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;CAgBlC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAA;;;;;;;;CAQ3B,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;CAK7B,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAA;;;;;;;;;;CAUhC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAA;;;;;CAK9B,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;CAMhC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;;;;;;;;;;;;;;;;;;;CAmBtC,CAAC;AAEF,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;CAoBhB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAA;IACpC,KAAK;CACR,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAA;IAC7B,KAAK;;;;CAIR,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;CAoBzC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createDataAttribute as sanityCreateDataAttribute } from "@sanity/visual-editing";
2
+ export declare const createDataAttribute: (config: Parameters<typeof sanityCreateDataAttribute>[0]) => ReturnType<typeof sanityCreateDataAttribute>;
3
+ //# sourceMappingURL=data-attribute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-attribute.d.ts","sourceRoot":"","sources":["../../src/utils/data-attribute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,IAAI,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAE1F,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,KACtD,UAAU,CAAC,OAAO,yBAAyB,CAKtC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { createDataAttribute as sanityCreateDataAttribute } from "@sanity/visual-editing";
2
+ export const createDataAttribute = (config) => config && typeof config === "object" && config.id
3
+ ? sanityCreateDataAttribute(config)
4
+ : (() => undefined);
5
+ //# sourceMappingURL=data-attribute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-attribute.js","sourceRoot":"","sources":["../../src/utils/data-attribute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,IAAI,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAE1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAuD,EACT,EAAE,CAChD,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,EAAE;IAC/C,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC;IACnC,CAAC,CAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAEf,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@snokam/ui",
3
3
  "description": "Snøkam UI library — the single MUI seam. Apps import from here, never from @mui directly.",
4
- "version": "1.1.1",
4
+ "version": "2.0.2",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
7
7
  "files": [
@@ -29,6 +29,7 @@
29
29
  "@mux/mux-player": "^3.13.2",
30
30
  "@mux/mux-player-react": "^3.13.2",
31
31
  "@portabletext/react": "^7.0.1",
32
+ "@sanity/visual-editing": "^5.7.2",
32
33
  "@snokam/events-client": "^1.1.22",
33
34
  "@snokam/sanity-client": "^1.34.0",
34
35
  "browser-image-compression": "^2.0.2",
@@ -43,18 +44,17 @@
43
44
  "recharts": "^3.10.0",
44
45
  "swiper": "^14.0.6",
45
46
  "uuid": "^14.0.1",
46
- "zod": "^4.4.3",
47
- "@snokam/sanity-page-content": "1.18.0"
47
+ "zod": "^4.4.3"
48
48
  },
49
49
  "peerDependencies": {
50
- "next": "16.2.11",
50
+ "next": "16.3.3",
51
51
  "react": "19.2.8",
52
52
  "react-dom": "19.2.8"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@types/react": "^19.2.17",
56
56
  "@types/react-dom": "^19.2.3",
57
- "next": "16.2.11"
57
+ "next": "16.3.3"
58
58
  },
59
59
  "publishConfig": {
60
60
  "access": "public"
@@ -148,10 +148,6 @@
148
148
  "types": "./dist/components/core-values/index.d.ts",
149
149
  "default": "./dist/components/core-values/index.js"
150
150
  },
151
- "./data": {
152
- "types": "./dist/data/fetch.d.ts",
153
- "default": "./dist/data/fetch.js"
154
- },
155
151
  "./data-load-error": {
156
152
  "types": "./dist/components/data-load-error/index.d.ts",
157
153
  "default": "./dist/components/data-load-error/index.js"
@@ -244,10 +240,6 @@
244
240
  "types": "./dist/components/mui/next.d.ts",
245
241
  "default": "./dist/components/mui/next.js"
246
242
  },
247
- "./okr": {
248
- "types": "./dist/components/okr/index.d.ts",
249
- "default": "./dist/components/okr/index.js"
250
- },
251
243
  "./overlay": {
252
244
  "types": "./dist/components/overlay/index.d.ts",
253
245
  "default": "./dist/components/overlay/index.js"
@@ -367,6 +359,10 @@
367
359
  "./system-theme-tag": {
368
360
  "types": "./dist/components/system-theme-tag/index.d.ts",
369
361
  "default": "./dist/components/system-theme-tag/index.js"
362
+ },
363
+ "./okr": {
364
+ "types": "./dist/components/okr/index.d.ts",
365
+ "default": "./dist/components/okr/index.js"
370
366
  }
371
367
  },
372
368
  "scripts": {
@@ -1,29 +0,0 @@
1
- export declare const Wrapper: import("@emotion/styled").StyledComponent<{
2
- theme?: import("@emotion/react").Theme;
3
- as?: React.ElementType;
4
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
5
- export declare const Panel: import("@emotion/styled").StyledComponent<{
6
- theme?: import("@emotion/react").Theme;
7
- as?: React.ElementType;
8
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
9
- export declare const Title: import("@emotion/styled").StyledComponent<{
10
- theme?: import("@emotion/react").Theme;
11
- as?: React.ElementType;
12
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, {}>;
13
- export declare const Message: import("@emotion/styled").StyledComponent<{
14
- theme?: import("@emotion/react").Theme;
15
- as?: React.ElementType;
16
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, {}>;
17
- export declare const Actions: import("@emotion/styled").StyledComponent<{
18
- theme?: import("@emotion/react").Theme;
19
- as?: React.ElementType;
20
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
21
- export declare const Button: import("@emotion/styled").StyledComponent<{
22
- theme?: import("@emotion/react").Theme;
23
- as?: React.ElementType;
24
- }, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
25
- export declare const SecondaryLink: import("@emotion/styled").StyledComponent<{
26
- theme?: import("@emotion/react").Theme;
27
- as?: React.ElementType;
28
- }, import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, {}>;
29
- //# sourceMappingURL=styled.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/components/app-error/styled.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO;;;yGAOnB,CAAC;AAEF,eAAO,MAAM,KAAK;;;yGAajB,CAAC;AAEF,eAAO,MAAM,KAAK;;;iHAKjB,CAAC;AAEF,eAAO,MAAM,OAAO;;;qHAKnB,CAAC;AAEF,eAAO,MAAM,OAAO;;;yGAKnB,CAAC;AAEF,eAAO,MAAM,MAAM;;;qHAclB,CAAC;AAEF,eAAO,MAAM,aAAa;;;qHAczB,CAAC"}
@@ -1,72 +0,0 @@
1
- import styled from "@emotion/styled";
2
- export const Wrapper = styled.div `
3
- min-height: 60vh;
4
- display: flex;
5
- align-items: center;
6
- justify-content: center;
7
- padding: 48px 24px;
8
- background: var(--o-card-bg, var(--color-light-blue));
9
- `;
10
- export const Panel = styled.div `
11
- max-width: 520px;
12
- width: 100%;
13
- text-align: center;
14
- display: flex;
15
- flex-direction: column;
16
- gap: 16px;
17
- padding: 40px 32px;
18
- border: 1px solid var(--o-border, rgba(7, 29, 65, 0.1));
19
- border-radius: 16px;
20
- background: var(--o-surface-2, #fff);
21
- color: var(--o-text, var(--color-primary));
22
- box-shadow: var(--o-shadow-card, 0 8px 24px rgba(7, 29, 65, 0.08));
23
- `;
24
- export const Title = styled.h1 `
25
- margin: 0;
26
- font-size: 1.5rem;
27
- font-weight: 700;
28
- color: var(--o-text, var(--color-primary));
29
- `;
30
- export const Message = styled.p `
31
- margin: 0;
32
- font-size: 1rem;
33
- line-height: 1.5;
34
- color: var(--o-text-muted, rgba(7, 29, 65, 0.7));
35
- `;
36
- export const Actions = styled.div `
37
- display: flex;
38
- gap: 12px;
39
- justify-content: center;
40
- margin-top: 8px;
41
- `;
42
- export const Button = styled.button `
43
- appearance: none;
44
- cursor: pointer;
45
- border: none;
46
- border-radius: 8px;
47
- padding: 10px 20px;
48
- font-size: 0.95rem;
49
- font-weight: 600;
50
- background: var(--o-cyan, var(--color-blue));
51
- color: var(--o-cyan-ink, #fff);
52
-
53
- &:hover {
54
- filter: brightness(0.95);
55
- }
56
- `;
57
- export const SecondaryLink = styled.a `
58
- display: inline-flex;
59
- align-items: center;
60
- border-radius: 8px;
61
- padding: 10px 20px;
62
- font-size: 0.95rem;
63
- font-weight: 600;
64
- text-decoration: none;
65
- border: 1px solid var(--o-border-strong, rgba(7, 29, 65, 0.2));
66
- color: var(--o-text, var(--color-primary));
67
-
68
- &:hover {
69
- background: var(--o-hover-tint, rgba(7, 29, 65, 0.04));
70
- }
71
- `;
72
- //# sourceMappingURL=styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../src/components/app-error/styled.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;CAOhC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;CAa9B,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;CAK7B,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAA;;;;;CAK9B,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;CAKhC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;;;;;;;;;;;;;;CAclC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAA;;;;;;;;;;;;;;CAcpC,CAAC"}
@@ -1,11 +0,0 @@
1
- export interface DataLoadFailure {
2
- label: string;
3
- message: string;
4
- }
5
- export interface DataLoadResult<T> {
6
- data: T | null;
7
- error: DataLoadFailure | null;
8
- }
9
- export declare function fetchCritical<T>(service: string, fn: () => Promise<T>): Promise<T>;
10
- export declare function fetchOptional<T>(label: string, fn: () => Promise<T>): Promise<DataLoadResult<T>>;
11
- //# sourceMappingURL=fetch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/data/fetch.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CAC/B;AAoBD,wBAAsB,aAAa,CAAC,CAAC,EACnC,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAWZ;AAED,wBAAsB,aAAa,CAAC,CAAC,EACnC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAM5B"}
@@ -1,34 +0,0 @@
1
- import { headers } from "next/headers";
2
- import { ServiceUnavailableError } from "@snokam/sanity-page-content/app-router/error-page";
3
- const LOOPBACK_HOSTS = new Set(["localhost", "127.0.0.1"]);
4
- function messageOf(error) {
5
- if (error instanceof Error)
6
- return error.message;
7
- return String(error);
8
- }
9
- async function resolveHost() {
10
- const store = await headers();
11
- const host = (store.get("x-forwarded-host") ?? store.get("host"))?.split(":")[0];
12
- if (host && !LOOPBACK_HOSTS.has(host))
13
- return host;
14
- return process.env.NEXT_PUBLIC_TENANT_HOST?.split(":")[0] ?? "unknown";
15
- }
16
- export async function fetchCritical(service, fn) {
17
- try {
18
- return await fn();
19
- }
20
- catch (error) {
21
- if (error instanceof ServiceUnavailableError)
22
- throw error;
23
- throw new ServiceUnavailableError(await resolveHost(), service, messageOf(error));
24
- }
25
- }
26
- export async function fetchOptional(label, fn) {
27
- try {
28
- return { data: await fn(), error: null };
29
- }
30
- catch (error) {
31
- return { data: null, error: { label, message: messageOf(error) } };
32
- }
33
- }
34
- //# sourceMappingURL=fetch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/data/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAY5F,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AAE3D,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACjD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,WAAW;IACxB,MAAM,KAAK,GAAG,MAAM,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CACtE,GAAG,CACJ,CAAC,CAAC,CAAC,CAAC;IAEL,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnD,OAAO,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAe,EACf,EAAoB;IAEpB,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,uBAAuB;YAAE,MAAM,KAAK,CAAC;QAC1D,MAAM,IAAI,uBAAuB,CAC/B,MAAM,WAAW,EAAE,EACnB,OAAO,EACP,SAAS,CAAC,KAAK,CAAC,CACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAa,EACb,EAAoB;IAEpB,IAAI,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IACrE,CAAC;AACH,CAAC"}