@carefully-built/saas-kit 0.1.14 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -163,4 +163,12 @@ Use `@carefully-built/cli add` when:
163
163
 
164
164
  ## Copy And Localization
165
165
 
166
- SaaS kit defaults are English. Italian or other localized apps should pass app-specific copy through the component label/config props. Components with user-facing copy are designed to expose labels or configuration objects so package defaults do not force one language across all apps.
166
+ Every user-facing string is still a label/config prop. Defaults follow the kit locale: English without a provider, Italian with `KitLocaleProvider`:
167
+
168
+ ```tsx
169
+ import { KitLocaleProvider } from '@carefully-built/saas-kit';
170
+
171
+ <KitLocaleProvider locale="it">{children}</KitLocaleProvider>;
172
+ ```
173
+
174
+ Localized so far: `ui` (overlays, table toolbar, searchable select, empty and error states, file dropzone, user picker), `forms` fields, `auth-pages` (pages, forms, social buttons, organization selection, legal consent, validation) and the `search` command palette. Server-side auth action messages stay in `config.messages`.
@@ -0,0 +1,21 @@
1
+ import { AppNavigationShellProps, NavigationLinkProps } from "@carefully-built/app-shell";
2
+
3
+ //#region src/app-shell/next-navigation-shell.d.ts
4
+ /** `next/link` adapter for the shell's navigation links. */
5
+ declare function NextNavigationLink({
6
+ children,
7
+ className,
8
+ href,
9
+ onClick
10
+ }: NavigationLinkProps): React.ReactElement;
11
+ /**
12
+ * `AppNavigationShell` for Next.js apps: identical to the framework-agnostic
13
+ * shell, but navigation links default to `next/link`, so clicking a nav item
14
+ * is a client-side transition instead of a full page load (which would drop
15
+ * every React context / store the app keeps in memory). Pass `linkComponent`
16
+ * to override.
17
+ */
18
+ declare function AppNavigationShell$1(props: AppNavigationShellProps): React.ReactElement;
19
+ //#endregion
20
+ export { AppNavigationShell$1 as AppNavigationShell, NextNavigationLink };
21
+ //# sourceMappingURL=next-navigation-shell.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-navigation-shell.d.mts","names":[],"sources":["../../src/app-shell/next-navigation-shell.tsx"],"sourcesContent":[],"mappings":";;;;iBAWgB,kBAAA;;;;;GAKb,sBAAsB,KAAA,CAAM;AAL/B;;;;;;;AAK2C,iBAe3B,oBAAA,CAf2B,KAAA,EAeD,uBAfC,CAAA,EAeyB,KAAA,CAAM,YAf/B"}
@@ -0,0 +1,33 @@
1
+ 'use client';
2
+
3
+ import { AppNavigationShell } from "@carefully-built/app-shell";
4
+ import NextLink from "next/link";
5
+ import { jsx } from "react/jsx-runtime";
6
+
7
+ //#region src/app-shell/next-navigation-shell.tsx
8
+ /** `next/link` adapter for the shell's navigation links. */
9
+ function NextNavigationLink({ children, className, href, onClick }) {
10
+ return /* @__PURE__ */ jsx(NextLink, {
11
+ href,
12
+ className,
13
+ onClick,
14
+ children
15
+ });
16
+ }
17
+ /**
18
+ * `AppNavigationShell` for Next.js apps: identical to the framework-agnostic
19
+ * shell, but navigation links default to `next/link`, so clicking a nav item
20
+ * is a client-side transition instead of a full page load (which would drop
21
+ * every React context / store the app keeps in memory). Pass `linkComponent`
22
+ * to override.
23
+ */
24
+ function AppNavigationShell$1(props) {
25
+ return /* @__PURE__ */ jsx(AppNavigationShell, {
26
+ linkComponent: NextNavigationLink,
27
+ ...props
28
+ });
29
+ }
30
+
31
+ //#endregion
32
+ export { AppNavigationShell$1 as AppNavigationShell, NextNavigationLink };
33
+ //# sourceMappingURL=next-navigation-shell.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-navigation-shell.mjs","names":["AppNavigationShell","BaseAppNavigationShell"],"sources":["../../src/app-shell/next-navigation-shell.tsx"],"sourcesContent":["'use client';\n\nimport NextLink from 'next/link';\n\nimport {\n AppNavigationShell as BaseAppNavigationShell,\n type AppNavigationShellProps,\n type NavigationLinkProps,\n} from '@carefully-built/app-shell';\n\n/** `next/link` adapter for the shell's navigation links. */\nexport function NextNavigationLink({\n children,\n className,\n href,\n onClick,\n}: NavigationLinkProps): React.ReactElement {\n return (\n <NextLink href={href} className={className} onClick={onClick}>\n {children}\n </NextLink>\n );\n}\n\n/**\n * `AppNavigationShell` for Next.js apps: identical to the framework-agnostic\n * shell, but navigation links default to `next/link`, so clicking a nav item\n * is a client-side transition instead of a full page load (which would drop\n * every React context / store the app keeps in memory). Pass `linkComponent`\n * to override.\n */\nexport function AppNavigationShell(props: AppNavigationShellProps): React.ReactElement {\n return <BaseAppNavigationShell linkComponent={NextNavigationLink} {...props} />;\n}\n"],"mappings":";;;;;;;;AAWA,SAAgB,mBAAmB,EACjC,UACA,WACA,MACA,WAC0C;AAC1C,QACE,oBAAC;EAAe;EAAiB;EAAoB;EAClD;GACQ;;;;;;;;;AAWf,SAAgBA,qBAAmB,OAAoD;AACrF,QAAO,oBAACC;EAAuB,eAAe;EAAoB,GAAI;GAAS"}
@@ -1,22 +1,3 @@
1
- import { AppNavigationShellProps, NavigationLinkProps } from "@carefully-built/app-shell";
1
+ import { AppNavigationShell, NextNavigationLink } from "./app-shell/next-navigation-shell.mjs";
2
2
  export * from "@carefully-built/app-shell";
3
-
4
- //#region src/app-shell.d.ts
5
- /** `next/link` adapter for the shell's navigation links. */
6
- declare function NextNavigationLink({
7
- children,
8
- className,
9
- href,
10
- onClick
11
- }: NavigationLinkProps): React.ReactElement;
12
- /**
13
- * `AppNavigationShell` for Next.js apps: identical to the framework-agnostic
14
- * shell, but navigation links default to `next/link`, so clicking a nav item
15
- * is a client-side transition instead of a full page load (which would drop
16
- * every React context / store the app keeps in memory). Pass `linkComponent`
17
- * to override.
18
- */
19
- declare function AppNavigationShell(props: AppNavigationShellProps): React.ReactElement;
20
- //#endregion
21
- export { AppNavigationShell, NextNavigationLink };
22
- //# sourceMappingURL=app-shell.d.mts.map
3
+ export { AppNavigationShell, NextNavigationLink };
@@ -1,35 +1,5 @@
1
- 'use client';
2
-
3
- import NextLink from "next/link";
4
- import { AppNavigationShell as AppNavigationShell$1 } from "@carefully-built/app-shell";
5
- import { jsx } from "react/jsx-runtime";
1
+ import { AppNavigationShell, NextNavigationLink } from "./app-shell/next-navigation-shell.mjs";
6
2
 
7
3
  export * from "@carefully-built/app-shell"
8
4
 
9
- //#region src/app-shell.tsx
10
- /** `next/link` adapter for the shell's navigation links. */
11
- function NextNavigationLink({ children, className, href, onClick }) {
12
- return /* @__PURE__ */ jsx(NextLink, {
13
- href,
14
- className,
15
- onClick,
16
- children
17
- });
18
- }
19
- /**
20
- * `AppNavigationShell` for Next.js apps: identical to the framework-agnostic
21
- * shell, but navigation links default to `next/link`, so clicking a nav item
22
- * is a client-side transition instead of a full page load (which would drop
23
- * every React context / store the app keeps in memory). Pass `linkComponent`
24
- * to override.
25
- */
26
- function AppNavigationShell(props) {
27
- return /* @__PURE__ */ jsx(AppNavigationShell$1, {
28
- linkComponent: NextNavigationLink,
29
- ...props
30
- });
31
- }
32
-
33
- //#endregion
34
- export { AppNavigationShell, NextNavigationLink };
35
- //# sourceMappingURL=app-shell.mjs.map
5
+ export { AppNavigationShell, NextNavigationLink };
@@ -0,0 +1 @@
1
+ @import "@carefully-built/theme/base.css";
@@ -0,0 +1 @@
1
+ @import "@carefully-built/theme/presets/mono.css";
@@ -0,0 +1 @@
1
+ @import "@carefully-built/theme/presets/teal.css";
@@ -0,0 +1 @@
1
+ @import "@carefully-built/theme/workos-widgets.css";
@@ -0,0 +1 @@
1
+ export * from "@carefully-built/workos/organization-profile-settings";
@@ -0,0 +1,3 @@
1
+ export * from "@carefully-built/workos/organization-profile-settings"
2
+
3
+ export { };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carefully-built/saas-kit",
3
- "version": "0.1.14",
3
+ "version": "0.1.16",
4
4
  "description": "One-install Carefully Built SaaS Kit package for React, Next.js, Convex, WorkOS, and editable SaaS components.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -192,6 +192,11 @@
192
192
  "import": "./dist/workos.mjs",
193
193
  "default": "./dist/workos.mjs"
194
194
  },
195
+ "./workos/organization-profile-settings": {
196
+ "types": "./dist/workos/organization-profile-settings.d.mts",
197
+ "import": "./dist/workos/organization-profile-settings.mjs",
198
+ "default": "./dist/workos/organization-profile-settings.mjs"
199
+ },
195
200
  "./auth-pages/forms": {
196
201
  "types": "./dist/auth-pages/forms.d.mts",
197
202
  "import": "./dist/auth-pages/forms.mjs",
@@ -228,6 +233,10 @@
228
233
  "default": "./dist/auth-pages/workos.mjs"
229
234
  },
230
235
  "./agenda/styles.css": "./dist/agenda/styles.css",
236
+ "./theme/base.css": "./dist/theme/base.css",
237
+ "./theme/workos-widgets.css": "./dist/theme/workos-widgets.css",
238
+ "./theme/presets/mono.css": "./dist/theme/presets/mono.css",
239
+ "./theme/presets/teal.css": "./dist/theme/presets/teal.css",
231
240
  "./files/convex": {
232
241
  "types": "./dist/files/convex.d.mts",
233
242
  "import": "./dist/files/convex.mjs",
@@ -256,7 +265,7 @@
256
265
  "./package.json": "./package.json"
257
266
  },
258
267
  "scripts": {
259
- "build": "tsdown src/index.ts src/agenda.ts src/app-shell.tsx src/association-picker.ts src/auth-pages.ts src/automations.ts src/charts.ts src/convex-crud.ts src/convex-multitenant.ts src/convex-platform.ts src/convex-workos.ts src/crud.ts src/custom-fields.ts src/files.ts src/forms.ts src/import-export.ts src/kanban.ts src/legal-ui.ts src/maps-ui.ts src/notes.ts src/notifications.ts src/organizations.ts src/resource-kit.ts src/rich-text.ts src/search.ts src/settings-ui.ts src/superadmin.ts src/theme-ui.ts src/ui.ts src/user-picker.ts src/widgets.ts src/workos.ts src/server.ts src/next.ts src/auth-pages/forms.ts src/auth-pages/controllers.ts src/auth-pages/config.ts src/auth-pages/organizations.ts src/auth-pages/pages.ts src/auth-pages/social.ts src/auth-pages/workos.ts src/files/convex.ts src/search/command-palette.ts src/settings/client.ts --format esm --dts --unbundle && mkdir -p dist/agenda && cp src/agenda/styles.css dist/agenda/styles.css",
268
+ "build": "tsdown src/index.ts src/agenda.ts src/app-shell.ts src/association-picker.ts src/auth-pages.ts src/automations.ts src/charts.ts src/convex-crud.ts src/convex-multitenant.ts src/convex-platform.ts src/convex-workos.ts src/crud.ts src/custom-fields.ts src/files.ts src/forms.ts src/import-export.ts src/kanban.ts src/legal-ui.ts src/maps-ui.ts src/notes.ts src/notifications.ts src/organizations.ts src/resource-kit.ts src/rich-text.ts src/search.ts src/settings-ui.ts src/superadmin.ts src/theme-ui.ts src/ui.ts src/user-picker.ts src/widgets.ts src/workos.ts src/server.ts src/next.ts src/auth-pages/forms.ts src/auth-pages/controllers.ts src/auth-pages/config.ts src/auth-pages/organizations.ts src/auth-pages/pages.ts src/auth-pages/social.ts src/auth-pages/workos.ts src/files/convex.ts src/search/command-palette.ts src/settings/client.ts src/workos/organization-profile-settings.ts --format esm --dts --unbundle && mkdir -p dist/agenda && cp src/agenda/styles.css dist/agenda/styles.css && cp -R src/theme dist/theme",
260
269
  "prepublishOnly": "bun run typecheck && bun run build",
261
270
  "typecheck": "tsc --noEmit"
262
271
  },
@@ -264,34 +273,35 @@
264
273
  "access": "public"
265
274
  },
266
275
  "dependencies": {
267
- "@carefully-built/agenda": "0.1.6",
268
- "@carefully-built/app-shell": "0.1.6",
276
+ "@carefully-built/agenda": "0.1.11",
277
+ "@carefully-built/app-shell": "0.1.7",
269
278
  "@carefully-built/association-picker": "0.1.2",
270
- "@carefully-built/auth-pages": "0.1.11",
279
+ "@carefully-built/auth-pages": "0.1.13",
271
280
  "@carefully-built/automations": "0.1.3",
272
- "@carefully-built/charts": "0.1.2",
281
+ "@carefully-built/charts": "0.1.3",
273
282
  "@carefully-built/convex-crud": "0.1.15",
274
283
  "@carefully-built/convex-multitenant": "0.1.2",
275
284
  "@carefully-built/convex-platform": "0.1.7",
276
285
  "@carefully-built/convex-workos": "0.1.2",
277
- "@carefully-built/crud": "0.1.7",
286
+ "@carefully-built/crud": "0.1.8",
278
287
  "@carefully-built/custom-fields": "0.1.4",
279
- "@carefully-built/files": "0.1.9",
280
- "@carefully-built/forms": "0.1.9",
288
+ "@carefully-built/files": "0.1.14",
289
+ "@carefully-built/forms": "0.1.11",
281
290
  "@carefully-built/import-export": "0.1.3",
282
291
  "@carefully-built/kanban": "0.1.4",
283
292
  "@carefully-built/legal-ui": "0.1.2",
284
- "@carefully-built/maps-ui": "0.1.4",
293
+ "@carefully-built/maps-ui": "0.1.6",
285
294
  "@carefully-built/notes": "0.1.5",
286
- "@carefully-built/notifications": "0.1.1",
295
+ "@carefully-built/notifications": "0.1.3",
287
296
  "@carefully-built/organizations": "0.1.0",
288
- "@carefully-built/resource-kit": "0.1.7",
289
- "@carefully-built/rich-text": "0.1.1",
290
- "@carefully-built/search": "0.1.4",
291
- "@carefully-built/settings-ui": "0.1.9",
297
+ "@carefully-built/resource-kit": "0.1.8",
298
+ "@carefully-built/rich-text": "0.1.2",
299
+ "@carefully-built/search": "0.1.5",
300
+ "@carefully-built/settings-ui": "0.1.10",
292
301
  "@carefully-built/superadmin": "0.1.18",
293
- "@carefully-built/theme-ui": "0.1.1",
294
- "@carefully-built/ui": "0.1.22",
302
+ "@carefully-built/theme": "0.1.0",
303
+ "@carefully-built/theme-ui": "0.1.2",
304
+ "@carefully-built/ui": "0.1.24",
295
305
  "@carefully-built/user-picker": "0.1.2",
296
306
  "@carefully-built/widgets": "0.1.1",
297
307
  "@carefully-built/workos": "0.1.7"
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-shell.d.mts","names":[],"sources":["../src/app-shell.tsx"],"sourcesContent":[],"mappings":";;;;;iBAagB,kBAAA;;;;;GAKb,sBAAsB,KAAA,CAAM;;AAL/B;;;;;;AAK+B,iBAef,kBAAA,CAfe,KAAA,EAeW,uBAfX,CAAA,EAeqC,KAAA,CAAM,YAf3C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-shell.mjs","names":["BaseAppNavigationShell"],"sources":["../src/app-shell.tsx"],"sourcesContent":["'use client';\n\nimport NextLink from 'next/link';\n\nimport {\n AppNavigationShell as BaseAppNavigationShell,\n type AppNavigationShellProps,\n type NavigationLinkProps,\n} from '@carefully-built/app-shell';\n\nexport * from '@carefully-built/app-shell';\n\n/** `next/link` adapter for the shell's navigation links. */\nexport function NextNavigationLink({\n children,\n className,\n href,\n onClick,\n}: NavigationLinkProps): React.ReactElement {\n return (\n <NextLink href={href} className={className} onClick={onClick}>\n {children}\n </NextLink>\n );\n}\n\n/**\n * `AppNavigationShell` for Next.js apps: identical to the framework-agnostic\n * shell, but navigation links default to `next/link`, so clicking a nav item\n * is a client-side transition instead of a full page load (which would drop\n * every React context / store the app keeps in memory). Pass `linkComponent`\n * to override.\n */\nexport function AppNavigationShell(props: AppNavigationShellProps): React.ReactElement {\n return <BaseAppNavigationShell linkComponent={NextNavigationLink} {...props} />;\n}\n"],"mappings":";;;;;;;;;;AAaA,SAAgB,mBAAmB,EACjC,UACA,WACA,MACA,WAC0C;AAC1C,QACE,oBAAC;EAAe;EAAiB;EAAoB;EAClD;GACQ;;;;;;;;;AAWf,SAAgB,mBAAmB,OAAoD;AACrF,QAAO,oBAACA;EAAuB,eAAe;EAAoB,GAAI;GAAS"}