@tailor-platform/app-shell 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tailor-platform/app-shell",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "An opinionated React application framework for building ERP applications on Tailor Platform",
5
5
  "keywords": [
6
6
  "app-shell",
@@ -22,7 +22,8 @@
22
22
  "directory": "packages/core"
23
23
  },
24
24
  "files": [
25
- "dist/**"
25
+ "dist/**",
26
+ "skills/**"
26
27
  ],
27
28
  "type": "module",
28
29
  "exports": {
@@ -41,7 +42,7 @@
41
42
  "access": "public"
42
43
  },
43
44
  "dependencies": {
44
- "@base-ui/react": "^1.4.1",
45
+ "@base-ui/react": "^1.5.0",
45
46
  "@standard-schema/spec": "^1.1.0",
46
47
  "@tailor-platform/auth-public-client": "^0.5.0",
47
48
  "change-case": "^5.4.4",
@@ -49,29 +50,29 @@
49
50
  "clsx": "^2.1.1",
50
51
  "encoding-japanese": "^2.2.0",
51
52
  "es-toolkit": "^1.45.1",
52
- "graphql": "^16.13.2",
53
+ "graphql": "^16.14.0",
53
54
  "lucide-react": "^1.8.0",
54
55
  "papaparse": "^5.5.3",
55
- "react": "^19.2.5",
56
- "react-dom": "^19.2.5",
57
56
  "react-hook-form": "^7.71.2",
58
57
  "react-router": "^7.14.1",
59
58
  "sonner": "^2.0.7",
60
- "tailwind-merge": "^3.5.0",
59
+ "tailwind-merge": "^3.6.0",
61
60
  "@tailor-platform/app-shell-vite-plugin": "0.2.2"
62
61
  },
63
62
  "devDependencies": {
64
- "@tailwindcss/postcss": "^4.2.4",
63
+ "@tailwindcss/postcss": "^4.3.0",
65
64
  "@testing-library/react": "^16.3.2",
66
65
  "@testing-library/user-event": "^14.6.1",
67
66
  "@types/encoding-japanese": "^2.2.1",
68
- "@types/node": "^25.6.0",
67
+ "@types/node": "^25.9.1",
69
68
  "@types/papaparse": "^5.5.2",
70
69
  "@types/react": "^19",
71
70
  "@types/react-dom": "^19",
72
71
  "@vitejs/plugin-react": "^5.2.0",
73
72
  "happy-dom": "^20.6.2",
74
73
  "postcss": "^8",
74
+ "react": "^19.2.6",
75
+ "react-dom": "^19.2.6",
75
76
  "tailwindcss": "^4.2.4",
76
77
  "tw-animate-css": "^1.4.0",
77
78
  "typescript": "^5",
@@ -79,7 +80,7 @@
79
80
  "vite-plugin-dts": "^4.5.0",
80
81
  "vite-plugin-externalize-deps": "^0.10.0",
81
82
  "vite-tsconfig-paths": "^6.1.1",
82
- "vitest": "^4.1.4"
83
+ "vitest": "^4.1.6"
83
84
  },
84
85
  "peerDependencies": {
85
86
  "react": ">= 19",
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: app-shell-patterns
3
+ description: UI pattern catalog for building pages with @tailor-platform/app-shell components
4
+ ---
5
+
6
+ # App-Shell Patterns
7
+
8
+ ## Purpose
9
+
10
+ Select and implement the correct UI pattern using @tailor-platform/app-shell components.
11
+
12
+ ## Fundamental References
13
+
14
+ These are the foundational rules that underpin all patterns. All patterns build on top of these references.
15
+
16
+ | File | Description |
17
+ | ---- | ----------- |
18
+ | [components.md](references/fundamental/components.md) | components reference |
19
+ | [design-system.md](references/fundamental/design-system.md) | design-system reference |
20
+ | [graphql.md](references/fundamental/graphql.md) | graphql reference |
21
+
22
+ ## Available Patterns
23
+
24
+ ### detail
25
+
26
+ | Slug | Name | Description |
27
+ | ---- | ---- | ----------- |
28
+ | [`detail/hero-with-actions`](references/patterns/detail-hero-with-actions.md) | Hero With Actions Detail | Single-record detail view with workflow actions and activity timeline |
29
+
30
+ ### form
31
+
32
+ | Slug | Name | Description |
33
+ | ---- | ---- | ----------- |
34
+ | [`form/modal`](references/patterns/form-modal.md) | Modal Form | Default form pattern for Create/Edit — keeps user in context on the parent screen |
35
+ | [`form/sectioned`](references/patterns/form-sectioned.md) | Sectioned Form | Complex form with 15+ fields organized into named fieldset sections |
36
+ | [`form/single-page`](references/patterns/form-single-page.md) | Single Page Form | Routed full-page form for moderate field count (6-15) without natural sectioning |
37
+ | [`form/wizard`](references/patterns/form-wizard.md) | Wizard Form | Multi-stage create flow with 3-7 steps and per-step validation gates |
38
+
39
+ ### interaction
40
+
41
+ | Slug | Name | Description |
42
+ | ---- | ---- | ----------- |
43
+ | [`interaction/confirm`](references/patterns/interaction-confirm.md) | Confirm | Confirmation dialog before destructive or irreversible actions |
44
+ | [`interaction/multi-select`](references/patterns/interaction-multi-select.md) | Multi Select | Floating bottom action bar for bulk operations on selected list rows |
45
+ | [`interaction/toast`](references/patterns/interaction-toast.md) | Toast | Lightweight feedback after mutations — success or error notifications |
46
+
47
+ ### list
48
+
49
+ | Slug | Name | Description |
50
+ | ---- | ---- | ----------- |
51
+ | [`list/dense-scan`](references/patterns/list-dense-scan.md) | Dense Scan List | High-density scannable list backed by GraphQL connections with DataTable, sort, filters, and pagination |
52
+
53
+ ## How to Use
54
+
55
+ 1. Identify the user's intent (list, detail, form, interaction, screen composition, recipe)
56
+ 2. Match constraints to an entry slug from the tables above
57
+ 3. Read the entry's detailed spec: `references/<category>/<slug>.md` (relative to this file)
58
+ 4. Read fundamental references for component APIs, design tokens, and GraphQL conventions: `references/fundamental/`
59
+ 5. Implement using ONLY the imports listed in the entry's `requiredImports`
60
+
61
+ ## Rules
62
+
63
+ - ALWAYS cite the entry slug in a comment at the top of the file:
64
+ `/* pattern: list/dense-scan */`
65
+ - NEVER mix patterns in a single page component
66
+ - ALWAYS use AppShell components — do NOT use raw HTML or third-party UI libraries
67
+ - If no entry matches, compose directly from fundamental references