@archerjessop/utilities 4.0.0 → 4.1.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/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export{calculateAppreciatedValue,calculateAssignmentFee,calculateBalloonBalance,calculateCOCR30,calculateCOCRAtPercent,calculateCashFlow,calculateCashFlowYield,calculateCashOutAfterRefi,calculateDscrPayment,calculateNOIByType,calculateNetToBuyer,calculatePMT,calculatePriceForCOCR,calculateSfPayment}from"./financial/calculations.js";export{formatCurrency,formatPercentage,formatPriceValue}from"./financial/formatters.js";export{extractBedrooms,extractPhoneNumber}from"./data/extractors.js";export{calculateDOM}from"./date/utilities.js";export{calculateCursorPosition,extractNumericValue,filterNumericInput,formatInputDisplay,formatLiveInput,formatLiveNumber,parseNumericInput}from"./formatting/financial-formatting.js";export{CALCULATION_TOLERANCE,DEFAULT_CAP_RATE,DEFAULT_DOWN_PAYMENT,DEFAULT_DSCR_PERCENTAGE,DSCR_AMORTIZATION,DSCR_INTEREST_RATE,FINANCIAL_CONSTANTS,MAX_ITERATIONS,SELLER_FI_AMORTIZATION,SELLER_FI_CARRY,SELLER_FI_DOWN_PAYMENT,SELLER_FI_INTEREST_RATE}from"./config/financial.js";export{ASSISTED_LIVING,MULTIFAMILY,PROPERTY_TYPES,PROPERTY_TYPE_CONSTANTS,STR}from"./config/property-types.js";export{ASSIGNMENT_FEE_PERCENTAGE,BUSINESS_CONSTANTS,BUYER_AGENT_COMMISSION,CLOSING_COSTS_PERCENTAGE,CONSERVATIVE_COCR15_PRICE_MULTIPLIER,FINANCING_FEE_PERCENTAGE,MAX_COCR15_PRICE_MULTIPLIER,MINIMUM_COCR15_PRICE,NET_TO_BUYER_PERCENTAGE,SELLER_AGENT_COMMISSION}from"./config/business.js";
1
+ export{calculateAppreciatedValue,calculateAssignmentFee,calculateBalloonBalance,calculateCOCR30,calculateCOCRAtPercent,calculateCashFlow,calculateCashFlowYield,calculateCashOutAfterRefi,calculateDscrPayment,calculateNOIByType,calculateNetToBuyer,calculatePMT,calculatePriceForCOCR,calculateSfPayment}from"./financial/calculations.js";export{formatCurrency,formatPercentage,formatPriceValue}from"./financial/formatters.js";export{extractBedrooms,extractPhoneNumber}from"./data/extractors.js";export{calculateDOM}from"./date/utilities.js";export{calculateCursorPosition,extractNumericValue,filterNumericInput,formatInputDisplay,formatLiveInput,formatLiveNumber,parseNumericInput}from"./formatting/financial-formatting.js";export{CALCULATION_TOLERANCE,DEFAULT_CAP_RATE,DEFAULT_DOWN_PAYMENT,DEFAULT_DSCR_PERCENTAGE,DSCR_AMORTIZATION,DSCR_INTEREST_RATE,FINANCIAL_CONSTANTS,MAX_ITERATIONS,SELLER_FI_AMORTIZATION,SELLER_FI_CARRY,SELLER_FI_DOWN_PAYMENT,SELLER_FI_INTEREST_RATE}from"./config/financial.js";export{ASSISTED_LIVING,MULTIFAMILY,PROPERTY_TYPES,PROPERTY_TYPE_CONSTANTS,STR}from"./config/property-types.js";export{ASSIGNMENT_FEE_PERCENTAGE,BUSINESS_CONSTANTS,BUYER_AGENT_COMMISSION,CLOSING_COSTS_PERCENTAGE,CONSERVATIVE_COCR15_PRICE_MULTIPLIER,FINANCING_FEE_PERCENTAGE,MAX_COCR15_PRICE_MULTIPLIER,MINIMUM_COCR15_PRICE,NET_TO_BUYER_PERCENTAGE,SELLER_AGENT_COMMISSION}from"./config/business.js";const a="./dist/styles/base.css";export{a as STYLES_PATH};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sources":["../src/index.js"],"sourcesContent":["/**\r\n * @archerjessop/utilities\r\n * Shared utilities for ArcherJessop property analysis tools\r\n */\r\n\r\n// Financial calculations\r\nexport { \r\n calculateAppreciatedValue,\r\n calculateAssignmentFee,\r\n calculateBalloonBalance,\r\n calculateCashFlow,\r\n calculateCashFlowYield,\r\n calculateCashOutAfterRefi,\r\n calculateCOCR30, \r\n calculateCOCRAtPercent,\r\n calculateDscrPayment,\r\n calculateSfPayment,\r\n calculateNetToBuyer,\r\n calculateNOIByType,\r\n calculatePMT, \r\n calculatePriceForCOCR\r\n} from \"./financial/calculations.js\";\r\n\r\n// Financial formatters\r\nexport { formatCurrency, formatPriceValue, formatPercentage } from \"./financial/formatters.js\";\r\n\r\n// Data extractors\r\nexport { extractPhoneNumber, extractBedrooms } from \"./data/extractors.js\";\r\n\r\n// Date utilities\r\nexport { calculateDOM } from \"./date/utilities.js\";\r\n\r\n// Formatting utilities\r\nexport { \r\n calculateCursorPosition,\r\n extractNumericValue,\r\n filterNumericInput,\r\n formatInputDisplay,\r\n formatLiveInput,\r\n formatLiveNumber,\r\n parseNumericInput\r\n} from \"./formatting/financial-formatting.js\";\r\n\r\n// Configuration constants\r\nexport * from './config/financial.js';\r\nexport * from './config/property-types.js';\r\nexport * from './config/business.js';\r\n\r\nexport const STYLES_PATH = './dist/styles/base.css';\r\n"],"names":["STYLES_PATH"],"mappings":"k3CAgDY,MAACA,EAAc"}
@@ -0,0 +1,55 @@
1
+ :root {
2
+ /* Colors */
3
+ --color-primary: #007bff;
4
+ --color-primary-hover: #0056b3;
5
+ --color-success: #28a745;
6
+ --color-danger: #dc3545;
7
+ --color-warning: #ffc107;
8
+ --color-info: #17a2b8;
9
+
10
+ /* Grays */
11
+ --color-gray-50: #f8f9fa;
12
+ --color-gray-100: #e9ecef;
13
+ --color-gray-200: #dee2e6;
14
+ --color-gray-300: #ced4da;
15
+ --color-gray-500: #6c757d;
16
+ --color-gray-700: #495057;
17
+ --color-gray-900: #212529;
18
+
19
+ /* Spacing */
20
+ --spacing-xs: 4px;
21
+ --spacing-sm: 8px;
22
+ --spacing-md: 16px;
23
+ --spacing-lg: 24px;
24
+ --spacing-xl: 32px;
25
+
26
+ /* Typography */
27
+ --font-size-sm: 12px;
28
+ --font-size-base: 14px;
29
+ --font-size-lg: 16px;
30
+ --font-weight-normal: 400;
31
+ --font-weight-medium: 500;
32
+ --font-weight-semibold: 600;
33
+
34
+ /* Borders */
35
+ --border-radius: 4px;
36
+ --border-radius-lg: 8px;
37
+ --border-color: #ddd;
38
+ }
39
+
40
+ .aj-test-styles {
41
+ background: var(--color-primary);
42
+ color: white;
43
+ padding: var(--spacing-md) var(--spacing-lg);
44
+ border-radius: var(--border-radius);
45
+ font-size: var(--font-size-base);
46
+ font-weight: var(--font-weight-semibold);
47
+ border: 1px solid var(--border-color);
48
+ cursor: pointer;
49
+ display: inline-block;
50
+ text-decoration: none;
51
+ }
52
+
53
+ .aj-test-styles:hover {
54
+ background: var(--color-primary-hover);
55
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@archerjessop/utilities",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
4
4
  "description": "Shared utilities for ArcherJessop property analysis tools",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -9,6 +9,7 @@
9
9
  },
10
10
  "files": [
11
11
  "dist",
12
+ "src/styles",
12
13
  "README.md"
13
14
  ],
14
15
  "sideEffects": false,
@@ -16,7 +17,7 @@
16
17
  "node": ">=16"
17
18
  },
18
19
  "scripts": {
19
- "build": "rollup -c",
20
+ "build": "rollup -c && bash -c 'mkdir -p dist/styles && cp src/styles/*.css dist/styles/'",
20
21
  "dev": "rollup -c -w",
21
22
  "test": "vitest run",
22
23
  "test:watch": "vitest",
@@ -0,0 +1,55 @@
1
+ :root {
2
+ /* Colors */
3
+ --color-primary: #007bff;
4
+ --color-primary-hover: #0056b3;
5
+ --color-success: #28a745;
6
+ --color-danger: #dc3545;
7
+ --color-warning: #ffc107;
8
+ --color-info: #17a2b8;
9
+
10
+ /* Grays */
11
+ --color-gray-50: #f8f9fa;
12
+ --color-gray-100: #e9ecef;
13
+ --color-gray-200: #dee2e6;
14
+ --color-gray-300: #ced4da;
15
+ --color-gray-500: #6c757d;
16
+ --color-gray-700: #495057;
17
+ --color-gray-900: #212529;
18
+
19
+ /* Spacing */
20
+ --spacing-xs: 4px;
21
+ --spacing-sm: 8px;
22
+ --spacing-md: 16px;
23
+ --spacing-lg: 24px;
24
+ --spacing-xl: 32px;
25
+
26
+ /* Typography */
27
+ --font-size-sm: 12px;
28
+ --font-size-base: 14px;
29
+ --font-size-lg: 16px;
30
+ --font-weight-normal: 400;
31
+ --font-weight-medium: 500;
32
+ --font-weight-semibold: 600;
33
+
34
+ /* Borders */
35
+ --border-radius: 4px;
36
+ --border-radius-lg: 8px;
37
+ --border-color: #ddd;
38
+ }
39
+
40
+ .aj-test-styles {
41
+ background: var(--color-primary);
42
+ color: white;
43
+ padding: var(--spacing-md) var(--spacing-lg);
44
+ border-radius: var(--border-radius);
45
+ font-size: var(--font-size-base);
46
+ font-weight: var(--font-weight-semibold);
47
+ border: 1px solid var(--border-color);
48
+ cursor: pointer;
49
+ display: inline-block;
50
+ text-decoration: none;
51
+ }
52
+
53
+ .aj-test-styles:hover {
54
+ background: var(--color-primary-hover);
55
+ }