@signiphi/pdf-signer 0.1.1
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/INSTALLING_LOCALLY.md +184 -0
- package/LICENSE +2 -0
- package/README.md +1093 -0
- package/assets/viewer.html +314 -0
- package/dist/__tests__/helpers/fixtures.d.ts +43 -0
- package/dist/__tests__/helpers/fixtures.d.ts.map +1 -0
- package/dist/__tests__/helpers/mocks.d.ts +333 -0
- package/dist/__tests__/helpers/mocks.d.ts.map +1 -0
- package/dist/__tests__/setup.d.ts +6 -0
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/components/AttachmentUpload.d.ts +17 -0
- package/dist/components/AttachmentUpload.d.ts.map +1 -0
- package/dist/components/EditableFieldsPanel.d.ts +30 -0
- package/dist/components/EditableFieldsPanel.d.ts.map +1 -0
- package/dist/components/ErrorBoundary.d.ts +67 -0
- package/dist/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/components/FormFieldsView.d.ts +42 -0
- package/dist/components/FormFieldsView.d.ts.map +1 -0
- package/dist/components/PdfViewerStyled.d.ts +16 -0
- package/dist/components/PdfViewerStyled.d.ts.map +1 -0
- package/dist/components/PoweredBySigniphi.d.ts +11 -0
- package/dist/components/PoweredBySigniphi.d.ts.map +1 -0
- package/dist/components/SignatureCanvas.d.ts +12 -0
- package/dist/components/SignatureCanvas.d.ts.map +1 -0
- package/dist/components/SignatureInitialsBox.d.ts +23 -0
- package/dist/components/SignatureInitialsBox.d.ts.map +1 -0
- package/dist/components/SignatureModal.d.ts +22 -0
- package/dist/components/SignatureModal.d.ts.map +1 -0
- package/dist/components/SigningInstructions.d.ts +12 -0
- package/dist/components/SigningInstructions.d.ts.map +1 -0
- package/dist/components/SubmissionForm.d.ts +52 -0
- package/dist/components/SubmissionForm.d.ts.map +1 -0
- package/dist/components/ViewToggleToolbar.d.ts +30 -0
- package/dist/components/ViewToggleToolbar.d.ts.map +1 -0
- package/dist/components/form-fields/CheckboxRenderer.d.ts +10 -0
- package/dist/components/form-fields/CheckboxRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/DateFieldRenderer.d.ts +14 -0
- package/dist/components/form-fields/DateFieldRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/DropdownRenderer.d.ts +14 -0
- package/dist/components/form-fields/DropdownRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/FormFieldRenderer.d.ts +20 -0
- package/dist/components/form-fields/FormFieldRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/InitialsFieldRenderer.d.ts +14 -0
- package/dist/components/form-fields/InitialsFieldRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/RadioGroupRenderer.d.ts +10 -0
- package/dist/components/form-fields/RadioGroupRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/SignatureFieldRenderer.d.ts +16 -0
- package/dist/components/form-fields/SignatureFieldRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/TextFieldRenderer.d.ts +14 -0
- package/dist/components/form-fields/TextFieldRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/TextLabelRenderer.d.ts +14 -0
- package/dist/components/form-fields/TextLabelRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/index.d.ts +14 -0
- package/dist/components/form-fields/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +14 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +6297 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/index.mjs +6248 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/core/PdfViewerCore.d.ts +19 -0
- package/dist/core/PdfViewerCore.d.ts.map +1 -0
- package/dist/core/SignatureCaptureCore.d.ts +37 -0
- package/dist/core/SignatureCaptureCore.d.ts.map +1 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +907 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/index.mjs +884 -0
- package/dist/core/index.mjs.map +1 -0
- package/dist/hooks/index.d.ts +8 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +2167 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/index.mjs +2139 -0
- package/dist/hooks/index.mjs.map +1 -0
- package/dist/hooks/useAttachments.d.ts +25 -0
- package/dist/hooks/useAttachments.d.ts.map +1 -0
- package/dist/hooks/useFieldFiltering.d.ts +29 -0
- package/dist/hooks/useFieldFiltering.d.ts.map +1 -0
- package/dist/hooks/useFormFields.d.ts +23 -0
- package/dist/hooks/useFormFields.d.ts.map +1 -0
- package/dist/hooks/useMultiSignerContext.d.ts +25 -0
- package/dist/hooks/useMultiSignerContext.d.ts.map +1 -0
- package/dist/hooks/usePdfViewer.d.ts +52 -0
- package/dist/hooks/usePdfViewer.d.ts.map +1 -0
- package/dist/hooks/useSignatureCapture.d.ts +17 -0
- package/dist/hooks/useSignatureCapture.d.ts.map +1 -0
- package/dist/hooks/useSignatures.d.ts +25 -0
- package/dist/hooks/useSignatures.d.ts.map +1 -0
- package/dist/index.css +4929 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7220 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +7093 -0
- package/dist/index.mjs.map +1 -0
- package/dist/integrations/index.d.ts +6 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +242 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/index.mjs +218 -0
- package/dist/integrations/index.mjs.map +1 -0
- package/dist/integrations/next-config.d.ts +46 -0
- package/dist/integrations/next-config.d.ts.map +1 -0
- package/dist/integrations/vite-plugin.d.ts +48 -0
- package/dist/integrations/vite-plugin.d.ts.map +1 -0
- package/dist/lib/index.d.ts +3 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/ui/alert.d.ts +9 -0
- package/dist/lib/ui/alert.d.ts.map +1 -0
- package/dist/lib/ui/button.d.ts +12 -0
- package/dist/lib/ui/button.d.ts.map +1 -0
- package/dist/lib/ui/calendar.d.ts +10 -0
- package/dist/lib/ui/calendar.d.ts.map +1 -0
- package/dist/lib/ui/card.d.ts +9 -0
- package/dist/lib/ui/card.d.ts.map +1 -0
- package/dist/lib/ui/checkbox.d.ts +5 -0
- package/dist/lib/ui/checkbox.d.ts.map +1 -0
- package/dist/lib/ui/dialog.d.ts +20 -0
- package/dist/lib/ui/dialog.d.ts.map +1 -0
- package/dist/lib/ui/index.d.ts +12 -0
- package/dist/lib/ui/index.d.ts.map +1 -0
- package/dist/lib/ui/input.d.ts +6 -0
- package/dist/lib/ui/input.d.ts.map +1 -0
- package/dist/lib/ui/label.d.ts +6 -0
- package/dist/lib/ui/label.d.ts.map +1 -0
- package/dist/lib/ui/popover.d.ts +7 -0
- package/dist/lib/ui/popover.d.ts.map +1 -0
- package/dist/lib/ui/radio-group.d.ts +6 -0
- package/dist/lib/ui/radio-group.d.ts.map +1 -0
- package/dist/lib/ui/select.d.ts +14 -0
- package/dist/lib/ui/select.d.ts.map +1 -0
- package/dist/lib/utils.d.ts +7 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/styles/index.css +5004 -0
- package/dist/types/index.d.ts +265 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +26 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/index.mjs +23 -0
- package/dist/types/index.mjs.map +1 -0
- package/dist/utils/attachment-validators.d.ts +118 -0
- package/dist/utils/attachment-validators.d.ts.map +1 -0
- package/dist/utils/audit-trail.d.ts +27 -0
- package/dist/utils/audit-trail.d.ts.map +1 -0
- package/dist/utils/date-validation.d.ts +30 -0
- package/dist/utils/date-validation.d.ts.map +1 -0
- package/dist/utils/errors.d.ts +106 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/field-extraction.d.ts +27 -0
- package/dist/utils/field-extraction.d.ts.map +1 -0
- package/dist/utils/field-visibility.d.ts +104 -0
- package/dist/utils/field-visibility.d.ts.map +1 -0
- package/dist/utils/index.d.ts +17 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +2501 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.mjs +2404 -0
- package/dist/utils/index.mjs.map +1 -0
- package/dist/utils/logger.d.ts +16 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/pdf-field-type-helpers.d.ts +78 -0
- package/dist/utils/pdf-field-type-helpers.d.ts.map +1 -0
- package/dist/utils/pdf-helpers.d.ts +38 -0
- package/dist/utils/pdf-helpers.d.ts.map +1 -0
- package/dist/utils/pdf-lib-loader.d.ts +45 -0
- package/dist/utils/pdf-lib-loader.d.ts.map +1 -0
- package/dist/utils/pdf-manipulation.d.ts +93 -0
- package/dist/utils/pdf-manipulation.d.ts.map +1 -0
- package/dist/utils/pdf-validators.d.ts +149 -0
- package/dist/utils/pdf-validators.d.ts.map +1 -0
- package/dist/utils/pdf-viewer-filter.d.ts +35 -0
- package/dist/utils/pdf-viewer-filter.d.ts.map +1 -0
- package/dist/utils/pdf-widget-helpers.d.ts +98 -0
- package/dist/utils/pdf-widget-helpers.d.ts.map +1 -0
- package/dist/utils/pdfjs-config.d.ts +56 -0
- package/dist/utils/pdfjs-config.d.ts.map +1 -0
- package/dist/utils/pdfjs-version-check.d.ts +28 -0
- package/dist/utils/pdfjs-version-check.d.ts.map +1 -0
- package/dist/utils/performance-monitor.d.ts +172 -0
- package/dist/utils/performance-monitor.d.ts.map +1 -0
- package/dist/utils/tracking.d.ts +89 -0
- package/dist/utils/tracking.d.ts.map +1 -0
- package/package.json +180 -0
- package/scripts/analyze-bundle.js +271 -0
- package/scripts/copy-utils.js +227 -0
- package/scripts/copy-utils.test.js +164 -0
- package/scripts/postinstall.js +109 -0
- package/scripts/setup.js +108 -0
- package/src/styles/index.css +139 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Postinstall script for @signiphi/pdf-signer
|
|
5
|
+
* Automatically copies PDF.js viewer assets to the user's public directory
|
|
6
|
+
* This runs silently after package installation
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const fs = require('fs');
|
|
10
|
+
const path = require('path');
|
|
11
|
+
|
|
12
|
+
// Use shared utilities
|
|
13
|
+
const copyUtils = require('./copy-utils.js');
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Main postinstall logic
|
|
17
|
+
*/
|
|
18
|
+
function postinstall() {
|
|
19
|
+
// Skip if running in the original monorepo development environment
|
|
20
|
+
// Only skip if we're in the signiphi monorepo AND running from source (not installed)
|
|
21
|
+
const currentDir = process.cwd();
|
|
22
|
+
const scriptDir = __dirname;
|
|
23
|
+
|
|
24
|
+
// Check if we're in the original signiphi monorepo (not a user's project)
|
|
25
|
+
const issigniphiMonorepo = currentDir.includes('signiphi') &&
|
|
26
|
+
fs.existsSync(path.join(currentDir, 'packages', 'pdf-signer', 'package.json')) &&
|
|
27
|
+
fs.existsSync(path.join(currentDir, 'packages', 'document-prepare'));
|
|
28
|
+
|
|
29
|
+
// Only skip if we're in the original monorepo AND running development commands
|
|
30
|
+
if (issigniphiMonorepo && scriptDir.includes('packages/pdf-signer/scripts')) {
|
|
31
|
+
// We're developing the package itself in the monorepo - skip
|
|
32
|
+
console.log('[signiphi/pdf-signer] Skipping postinstall in development monorepo');
|
|
33
|
+
process.exit(0);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Skip if in CI environment with --ignore-scripts
|
|
37
|
+
if (process.env.CI && process.env.npm_config_ignore_scripts === 'true') {
|
|
38
|
+
process.exit(0);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
try {
|
|
42
|
+
// Find pdfjs-dist - try multiple strategies
|
|
43
|
+
let pdfjsPath = null;
|
|
44
|
+
|
|
45
|
+
// Try require.resolve first (most reliable)
|
|
46
|
+
try {
|
|
47
|
+
const pdfjsPackagePath = require.resolve('pdfjs-dist/package.json');
|
|
48
|
+
pdfjsPath = path.dirname(pdfjsPackagePath);
|
|
49
|
+
} catch (e) {
|
|
50
|
+
// Try fallback method
|
|
51
|
+
pdfjsPath = copyUtils.findPdfjsDistPath();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (!pdfjsPath || !fs.existsSync(pdfjsPath)) {
|
|
55
|
+
console.warn('⚠️ @signiphi/pdf-signer: pdfjs-dist not found. Run: npm install pdfjs-dist');
|
|
56
|
+
console.warn(' Or run: npx signiphi-setup after installing pdfjs-dist');
|
|
57
|
+
process.exit(0);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Verify pdfjs-dist has the required directories
|
|
61
|
+
const buildDir = path.join(pdfjsPath, 'build');
|
|
62
|
+
const webDir = path.join(pdfjsPath, 'web');
|
|
63
|
+
if (!fs.existsSync(buildDir) || !fs.existsSync(webDir)) {
|
|
64
|
+
console.warn('⚠️ @signiphi/pdf-signer: pdfjs-dist found but missing required directories');
|
|
65
|
+
console.warn(' Run: npx signiphi-setup to manually copy files');
|
|
66
|
+
process.exit(0);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// Find public directory
|
|
70
|
+
const publicDir = copyUtils.findPublicDirectory();
|
|
71
|
+
const targetDir = path.join(publicDir, 'pdfjs');
|
|
72
|
+
|
|
73
|
+
// Ensure public directory exists
|
|
74
|
+
if (!fs.existsSync(publicDir)) {
|
|
75
|
+
fs.mkdirSync(publicDir, { recursive: true });
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Check if already up to date
|
|
79
|
+
const currentVersion = copyUtils.getPdfjsVersion();
|
|
80
|
+
const savedVersion = copyUtils.getSavedVersion(targetDir);
|
|
81
|
+
|
|
82
|
+
if (savedVersion === currentVersion && fs.existsSync(targetDir)) {
|
|
83
|
+
// Already up to date - log but exit silently
|
|
84
|
+
process.exit(0);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Copy PDF.js files using shared utilities
|
|
88
|
+
const copied = copyUtils.copyPdfJsFiles(targetDir, false);
|
|
89
|
+
|
|
90
|
+
if (copied) {
|
|
91
|
+
// Success - log for visibility
|
|
92
|
+
console.log('✓ @signiphi/pdf-signer: PDF.js files copied to', targetDir);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
process.exit(0);
|
|
96
|
+
} catch (error) {
|
|
97
|
+
// Log error but don't fail installation
|
|
98
|
+
console.error('⚠️ @signiphi/pdf-signer: Failed to copy PDF.js files:', error.message);
|
|
99
|
+
if (error.stack) {
|
|
100
|
+
console.error(' Stack:', error.stack);
|
|
101
|
+
}
|
|
102
|
+
console.error(' Run: npx signiphi-setup to manually copy files');
|
|
103
|
+
process.exit(0);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Run postinstall
|
|
108
|
+
postinstall();
|
|
109
|
+
|
package/scripts/setup.js
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Optional setup script for @signiphi/pdf-signer
|
|
5
|
+
* Copies PDF.js assets from node_modules/pdfjs-dist to the user's public directory
|
|
6
|
+
* Usage: npx signiphi-setup [target-directory] [--force]
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const fs = require('fs');
|
|
10
|
+
const path = require('path');
|
|
11
|
+
|
|
12
|
+
// Use shared utilities
|
|
13
|
+
const copyUtils = require('./copy-utils.js');
|
|
14
|
+
|
|
15
|
+
function setupPdfjsAssets() {
|
|
16
|
+
console.log('🚀 Setting up @signiphi/pdf-signer for self-hosting...\n');
|
|
17
|
+
|
|
18
|
+
try {
|
|
19
|
+
// Parse command line arguments
|
|
20
|
+
const args = process.argv.slice(2);
|
|
21
|
+
let targetDir;
|
|
22
|
+
let force = false;
|
|
23
|
+
|
|
24
|
+
// Check for --force flag
|
|
25
|
+
if (args.includes('--force')) {
|
|
26
|
+
force = true;
|
|
27
|
+
args.splice(args.indexOf('--force'), 1);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (args.length > 0 && !args[0].startsWith('--')) {
|
|
31
|
+
// User provided a target directory
|
|
32
|
+
targetDir = path.resolve(process.cwd(), args[0]);
|
|
33
|
+
console.log('📂 Using specified directory:', targetDir);
|
|
34
|
+
} else {
|
|
35
|
+
// Auto-detect public directory
|
|
36
|
+
const publicDir = copyUtils.findPublicDirectory();
|
|
37
|
+
|
|
38
|
+
// If no public dir exists, create one
|
|
39
|
+
if (!fs.existsSync(publicDir)) {
|
|
40
|
+
console.log('📁 Creating public directory:', publicDir);
|
|
41
|
+
fs.mkdirSync(publicDir, { recursive: true });
|
|
42
|
+
} else {
|
|
43
|
+
console.log('📂 Found public directory:', publicDir);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
targetDir = path.join(publicDir, 'pdfjs');
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Check if assets already exist and are up to date
|
|
50
|
+
if (fs.existsSync(targetDir) && !force) {
|
|
51
|
+
const currentVersion = copyUtils.getPdfjsVersion();
|
|
52
|
+
const savedVersion = copyUtils.getSavedVersion(targetDir);
|
|
53
|
+
|
|
54
|
+
if (currentVersion === savedVersion) {
|
|
55
|
+
console.log('✅ PDF.js assets are already up to date (v' + currentVersion + ')');
|
|
56
|
+
console.log(' Location:', targetDir);
|
|
57
|
+
console.log('\n💡 Use --force to reinstall anyway');
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
console.log('⚠️ PDF.js assets exist but version mismatch');
|
|
62
|
+
console.log(' Current: v' + currentVersion + ', Installed: v' + savedVersion);
|
|
63
|
+
console.log(' Updating files...');
|
|
64
|
+
fs.rmSync(targetDir, { recursive: true, force: true });
|
|
65
|
+
} else if (force && fs.existsSync(targetDir)) {
|
|
66
|
+
console.log('🔄 Force reinstalling PDF.js assets...');
|
|
67
|
+
fs.rmSync(targetDir, { recursive: true, force: true });
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Copy the necessary PDF.js assets
|
|
71
|
+
console.log('📦 Copying PDF.js assets...');
|
|
72
|
+
const pdfjsPath = copyUtils.findPdfjsDistPath();
|
|
73
|
+
console.log(' From:', pdfjsPath);
|
|
74
|
+
console.log(' To: ', targetDir);
|
|
75
|
+
|
|
76
|
+
copyUtils.copyPdfJsFiles(targetDir, force);
|
|
77
|
+
|
|
78
|
+
const version = copyUtils.getPdfjsVersion();
|
|
79
|
+
console.log(' ✓ Copied build files');
|
|
80
|
+
console.log(' ✓ Copied web files');
|
|
81
|
+
console.log(' ✓ Version: ' + version);
|
|
82
|
+
|
|
83
|
+
console.log('\n✅ PDF.js assets copied successfully!');
|
|
84
|
+
console.log('\n📝 Next steps:');
|
|
85
|
+
console.log(' The default configuration already uses /pdfjs for the viewer.');
|
|
86
|
+
console.log(' No additional setup needed unless you used a custom path!');
|
|
87
|
+
console.log('');
|
|
88
|
+
console.log(' For custom paths, configure your app:');
|
|
89
|
+
console.log('');
|
|
90
|
+
console.log(' import { setPdfJsConfig } from "@signiphi/pdf-signer";');
|
|
91
|
+
console.log(' setPdfJsConfig({ viewerBasePath: "/your-path" });');
|
|
92
|
+
console.log('');
|
|
93
|
+
console.log('🎉 Setup complete!');
|
|
94
|
+
} catch (error) {
|
|
95
|
+
console.error('\n❌ Error during setup:', error.message);
|
|
96
|
+
console.error('\n📝 Manual setup instructions:');
|
|
97
|
+
console.error(' 1. Make sure pdfjs-dist is installed: npm install');
|
|
98
|
+
console.error(' 2. Copy PDF.js files manually:');
|
|
99
|
+
console.error(' cp -r node_modules/pdfjs-dist/build public/pdfjs/build');
|
|
100
|
+
console.error(' cp -r node_modules/pdfjs-dist/web public/pdfjs/web');
|
|
101
|
+
console.error(' 3. Configure your app as shown above.');
|
|
102
|
+
process.exit(1);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// Run the setup
|
|
107
|
+
setupPdfjsAssets();
|
|
108
|
+
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/* Import Dancing Script font for signatures and initials */
|
|
2
|
+
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;500;600;700&display=swap');
|
|
3
|
+
|
|
4
|
+
@import "tailwindcss";
|
|
5
|
+
|
|
6
|
+
@plugin "tailwindcss-animate";
|
|
7
|
+
|
|
8
|
+
/* Accordion animations */
|
|
9
|
+
@keyframes accordion-down {
|
|
10
|
+
from {
|
|
11
|
+
height: 0;
|
|
12
|
+
opacity: 0;
|
|
13
|
+
}
|
|
14
|
+
to {
|
|
15
|
+
height: var(--radix-accordion-content-height);
|
|
16
|
+
opacity: 1;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@keyframes accordion-up {
|
|
21
|
+
from {
|
|
22
|
+
height: var(--radix-accordion-content-height);
|
|
23
|
+
opacity: 1;
|
|
24
|
+
}
|
|
25
|
+
to {
|
|
26
|
+
height: 0;
|
|
27
|
+
opacity: 0;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@custom-variant dark (&:is(.dark *));
|
|
32
|
+
|
|
33
|
+
:root {
|
|
34
|
+
/* Core Colors - DockMaster Design System (OKLCH) */
|
|
35
|
+
--color-dark-blue: oklch(0.23 0.12 273.81); /* #161848 */
|
|
36
|
+
--color-light-blue: oklch(0.862 0.038 233.28); /* #BDD9E8 */
|
|
37
|
+
--color-medium-blue: oklch(0.597 0.186 230.42); /* #0099CD */
|
|
38
|
+
--color-yellow: oklch(0.856 0.144 78.19); /* #FFC844 */
|
|
39
|
+
--color-white: oklch(1 0 0); /* #FFFFFF */
|
|
40
|
+
|
|
41
|
+
/* Extended Blues */
|
|
42
|
+
--color-darker-blue: oklch(0.14 0.11 265);
|
|
43
|
+
--color-deep-blue: oklch(0.18 0.12 275);
|
|
44
|
+
--color-navy-blue: oklch(0.25 0.13 250);
|
|
45
|
+
--color-slate-blue: oklch(0.3 0.09 245);
|
|
46
|
+
|
|
47
|
+
/* Greys */
|
|
48
|
+
--color-dark-grey: oklch(0.1 0.01 265);
|
|
49
|
+
--color-charcoal: oklch(0.13 0.015 265);
|
|
50
|
+
--color-slate-grey: oklch(0.16 0.02 265);
|
|
51
|
+
--color-light-grey: oklch(0.75 0.02 265);
|
|
52
|
+
|
|
53
|
+
/* Theme setup - DockMaster Design System */
|
|
54
|
+
--radius: 0.625rem;
|
|
55
|
+
--background: var(--color-white);
|
|
56
|
+
--foreground: var(--color-dark-blue);
|
|
57
|
+
--card: var(--color-white);
|
|
58
|
+
--card-foreground: var(--color-dark-blue);
|
|
59
|
+
--popover: var(--color-white);
|
|
60
|
+
--popover-foreground: var(--color-dark-blue);
|
|
61
|
+
--primary: var(--color-medium-blue);
|
|
62
|
+
--primary-foreground: var(--color-white);
|
|
63
|
+
--secondary: var(--color-light-blue);
|
|
64
|
+
--secondary-foreground: var(--color-dark-blue);
|
|
65
|
+
--muted: var(--color-light-blue);
|
|
66
|
+
--muted-foreground: oklch(0.4 0.08 273.81);
|
|
67
|
+
--accent: var(--color-yellow);
|
|
68
|
+
--accent-foreground: var(--color-dark-blue);
|
|
69
|
+
--destructive: oklch(0.577 0.245 27.325);
|
|
70
|
+
--destructive-foreground: var(--color-white);
|
|
71
|
+
--border: var(--color-light-blue);
|
|
72
|
+
--input: var(--color-light-blue);
|
|
73
|
+
--ring: var(--color-medium-blue);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.dark {
|
|
77
|
+
--background: #151b23;
|
|
78
|
+
--foreground: var(--color-white);
|
|
79
|
+
--card: var(--color-charcoal);
|
|
80
|
+
--card-foreground: var(--color-white);
|
|
81
|
+
--popover: var(--color-charcoal);
|
|
82
|
+
--popover-foreground: var(--color-white);
|
|
83
|
+
--primary: var(--color-medium-blue);
|
|
84
|
+
--primary-foreground: var(--color-white);
|
|
85
|
+
--secondary: var(--color-slate-grey);
|
|
86
|
+
--secondary-foreground: var(--color-white);
|
|
87
|
+
--muted: var(--color-slate-grey);
|
|
88
|
+
--muted-foreground: var(--color-light-blue);
|
|
89
|
+
--accent: var(--color-yellow);
|
|
90
|
+
--accent-foreground: var(--color-dark-blue);
|
|
91
|
+
--destructive: oklch(0.396 0.141 25.723);
|
|
92
|
+
--destructive-foreground: var(--color-white);
|
|
93
|
+
--border: var(--color-slate-grey);
|
|
94
|
+
--input: var(--color-slate-grey);
|
|
95
|
+
--ring: var(--color-medium-blue);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
@theme inline {
|
|
99
|
+
--color-background: var(--background);
|
|
100
|
+
--color-foreground: var(--foreground);
|
|
101
|
+
--color-card: var(--card);
|
|
102
|
+
--color-card-foreground: var(--card-foreground);
|
|
103
|
+
--color-popover: var(--popover);
|
|
104
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
105
|
+
--color-primary: var(--primary);
|
|
106
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
107
|
+
--color-secondary: var(--secondary);
|
|
108
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
109
|
+
--color-muted: var(--muted);
|
|
110
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
111
|
+
--color-accent: var(--accent);
|
|
112
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
113
|
+
--color-destructive: var(--destructive);
|
|
114
|
+
--color-destructive-foreground: var(--destructive-foreground);
|
|
115
|
+
--color-border: var(--border);
|
|
116
|
+
--color-input: var(--input);
|
|
117
|
+
--color-ring: var(--ring);
|
|
118
|
+
--radius-sm: calc(var(--radius) - 4px);
|
|
119
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
120
|
+
--radius-lg: var(--radius);
|
|
121
|
+
--radius-xl: calc(var(--radius) + 4px);
|
|
122
|
+
|
|
123
|
+
/* Accordion animations */
|
|
124
|
+
--animate-accordion-down: accordion-down 0.2s ease-out;
|
|
125
|
+
--animate-accordion-up: accordion-up 0.2s ease-out;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
@layer base {
|
|
129
|
+
* {
|
|
130
|
+
@apply border-border outline-ring/50;
|
|
131
|
+
}
|
|
132
|
+
body {
|
|
133
|
+
@apply bg-background text-foreground;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
button {
|
|
138
|
+
cursor: pointer;
|
|
139
|
+
}
|