@mieweb/ui 0.2.1 → 0.2.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 (54) hide show
  1. package/README.md +28 -0
  2. package/dist/ag-grid.cjs +5 -5
  3. package/dist/ag-grid.js +1 -1
  4. package/dist/brands/bluehive.css +20 -0
  5. package/dist/brands/enterprise-health.css +32 -4
  6. package/dist/brands/index.d.cts +1 -1
  7. package/dist/brands/index.d.ts +1 -1
  8. package/dist/brands/mieweb.css +20 -0
  9. package/dist/brands/ozwell.css +20 -0
  10. package/dist/brands/waggleline.css +46 -0
  11. package/dist/brands/webchart.css +20 -0
  12. package/dist/chunk-EYH7OUX5.js +445 -0
  13. package/dist/chunk-EYH7OUX5.js.map +1 -0
  14. package/dist/{chunk-WN2FJE23.js → chunk-KWDTTGH2.js} +3 -3
  15. package/dist/{chunk-WN2FJE23.js.map → chunk-KWDTTGH2.js.map} +1 -1
  16. package/dist/{chunk-MKJDBXX4.cjs → chunk-PEH4ZOEM.cjs} +4 -4
  17. package/dist/{chunk-MKJDBXX4.cjs.map → chunk-PEH4ZOEM.cjs.map} +1 -1
  18. package/dist/{chunk-D3BUYVLN.cjs → chunk-QUA7WVHK.cjs} +70 -2
  19. package/dist/{chunk-D3BUYVLN.cjs.map → chunk-QUA7WVHK.cjs.map} +1 -1
  20. package/dist/chunk-SSKI6VTW.cjs +449 -0
  21. package/dist/chunk-SSKI6VTW.cjs.map +1 -0
  22. package/dist/{chunk-SN52QMRT.js → chunk-TPGT236K.js} +28 -24
  23. package/dist/chunk-TPGT236K.js.map +1 -0
  24. package/dist/{chunk-N5EKL4DH.js → chunk-VBHPXSCV.js} +4 -4
  25. package/dist/{chunk-N5EKL4DH.js.map → chunk-VBHPXSCV.js.map} +1 -1
  26. package/dist/{chunk-B7DA35BY.cjs → chunk-VZUVYJFU.cjs} +14 -14
  27. package/dist/{chunk-B7DA35BY.cjs.map → chunk-VZUVYJFU.cjs.map} +1 -1
  28. package/dist/{chunk-KMN7JX2X.cjs → chunk-WH6I7CMP.cjs} +28 -24
  29. package/dist/chunk-WH6I7CMP.cjs.map +1 -0
  30. package/dist/chunk-Y22SOAJM.js +3 -0
  31. package/dist/{chunk-K5T2PT4M.js.map → chunk-Y22SOAJM.js.map} +1 -1
  32. package/dist/components/Button/index.cjs +3 -3
  33. package/dist/components/Button/index.js +1 -1
  34. package/dist/components/DateInput/index.cjs +3 -3
  35. package/dist/components/DateInput/index.js +2 -2
  36. package/dist/index.cjs +2817 -1078
  37. package/dist/index.cjs.map +1 -1
  38. package/dist/index.d.cts +250 -3
  39. package/dist/index.d.ts +250 -3
  40. package/dist/index.js +2665 -933
  41. package/dist/index.js.map +1 -1
  42. package/dist/styles.css +2 -2
  43. package/dist/tailwind-preset.cjs +4 -4
  44. package/dist/tailwind-preset.js +1 -1
  45. package/dist/utils/index.cjs +9 -9
  46. package/dist/utils/index.js +1 -1
  47. package/package.json +42 -38
  48. package/dist/chunk-5YRTFJ7K.js +0 -247
  49. package/dist/chunk-5YRTFJ7K.js.map +0 -1
  50. package/dist/chunk-ERIGUDFS.cjs +0 -251
  51. package/dist/chunk-ERIGUDFS.cjs.map +0 -1
  52. package/dist/chunk-K5T2PT4M.js +0 -3
  53. package/dist/chunk-KMN7JX2X.cjs.map +0 -1
  54. package/dist/chunk-SN52QMRT.js.map +0 -1
package/README.md CHANGED
@@ -18,6 +18,7 @@ A themeable, accessible React component library built with Tailwind CSS 4.
18
18
  - [Installation](#installation)
19
19
  - [Quick Start](#quick-start)
20
20
  - [Development](#development)
21
+ - [Date & Time Standard](#date--time-standard)
21
22
  - [Storybook](#storybook)
22
23
  - [Using in Other Projects](#using-in-other-projects)
23
24
  - [Brand System](#brand-system)
@@ -140,6 +141,33 @@ This will watch for changes and rebuild the library automatically.
140
141
  | `npm run test` | Run tests |
141
142
  | `npm run test:watch` | Run tests in watch mode |
142
143
 
144
+ ## Date & Time Standard
145
+
146
+ For UI/UX date and time behavior, this project uses **Luxon** as the preferred library.
147
+
148
+ ### Guidelines
149
+
150
+ - Use `DateTime` from `luxon` for all new date/time parsing, formatting, and comparisons.
151
+ - Keep timezone explicit when logic depends on business rules (for example: office hours, “open now”, appointment windows).
152
+ - Use IANA timezone identifiers (for example: `America/New_York`) instead of abbreviations.
153
+ - Prefer storing/transmitting ISO-8601 values and convert for display at the component edge.
154
+ - Avoid adding new date logic with raw `Date` math unless there is a clear performance or compatibility reason.
155
+
156
+ ### Examples
157
+
158
+ ```ts
159
+ import { DateTime } from 'luxon';
160
+
161
+ const localDisplay = DateTime.fromISO(timestamp).toFormat('LLL d, yyyy h:mm a');
162
+
163
+ const inProviderZone = DateTime.fromISO(timestamp, {
164
+ zone: 'America/New_York',
165
+ });
166
+
167
+ const isOpen = DateTime.now().setZone('America/New_York') <
168
+ inProviderZone.plus({ hours: 1 });
169
+ ```
170
+
143
171
  ## Storybook
144
172
 
145
173
  Storybook provides interactive documentation and a component playground where you can explore all components with different props and themes.
package/dist/ag-grid.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkD3BUYVLN_cjs = require('./chunk-D3BUYVLN.cjs');
3
+ var chunkQUA7WVHK_cjs = require('./chunk-QUA7WVHK.cjs');
4
4
  var chunkOR5DRJCW_cjs = require('./chunk-OR5DRJCW.cjs');
5
5
  var React = require('react');
6
6
  var agGridReact = require('ag-grid-react');
@@ -413,7 +413,7 @@ function EmailRenderer(props) {
413
413
  className: "text-primary-600 dark:text-primary-400 inline-flex items-center gap-1.5 hover:underline",
414
414
  onClick: (e) => e.stopPropagation(),
415
415
  children: [
416
- /* @__PURE__ */ jsxRuntime.jsx(chunkD3BUYVLN_cjs.Mail, { className: "h-3 w-3 opacity-60" }),
416
+ /* @__PURE__ */ jsxRuntime.jsx(chunkQUA7WVHK_cjs.Mail, { className: "h-3 w-3 opacity-60" }),
417
417
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: value })
418
418
  ]
419
419
  }
@@ -430,7 +430,7 @@ function PhoneRenderer(props) {
430
430
  className: "text-foreground hover:text-primary-600 dark:hover:text-primary-400 inline-flex items-center gap-1.5",
431
431
  onClick: (e) => e.stopPropagation(),
432
432
  children: [
433
- /* @__PURE__ */ jsxRuntime.jsx(chunkD3BUYVLN_cjs.Phone, { className: "h-3 w-3 text-green-500 opacity-70" }),
433
+ /* @__PURE__ */ jsxRuntime.jsx(chunkQUA7WVHK_cjs.Phone, { className: "h-3 w-3 text-green-500 opacity-70" }),
434
434
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: displayValue })
435
435
  ]
436
436
  }
@@ -450,7 +450,7 @@ function DomainRenderer(props) {
450
450
  className: "text-primary-600 dark:text-primary-400 inline-flex items-center gap-1.5 hover:underline",
451
451
  onClick: (e) => e.stopPropagation(),
452
452
  children: [
453
- /* @__PURE__ */ jsxRuntime.jsx(chunkD3BUYVLN_cjs.Globe, { className: "h-3 w-3 opacity-60" }),
453
+ /* @__PURE__ */ jsxRuntime.jsx(chunkQUA7WVHK_cjs.Globe, { className: "h-3 w-3 opacity-60" }),
454
454
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: displayDomain })
455
455
  ]
456
456
  }
@@ -547,7 +547,7 @@ function BooleanRenderer(props) {
547
547
  isTrue ? "bg-green-100 text-green-600 dark:bg-green-900/30 dark:text-green-400" : "bg-gray-200 text-gray-600 dark:bg-gray-700 dark:text-gray-400"
548
548
  ),
549
549
  children: [
550
- isTrue ? /* @__PURE__ */ jsxRuntime.jsx(chunkD3BUYVLN_cjs.CheckCircle, { className: "h-3 w-3" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkD3BUYVLN_cjs.Clock, { className: "h-3 w-3" }),
550
+ isTrue ? /* @__PURE__ */ jsxRuntime.jsx(chunkQUA7WVHK_cjs.CheckCircle, { className: "h-3 w-3" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkQUA7WVHK_cjs.Clock, { className: "h-3 w-3" }),
551
551
  isTrue ? "Yes" : "No"
552
552
  ]
553
553
  }
package/dist/ag-grid.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Mail, Phone, Globe, CheckCircle, Clock } from './chunk-K5T2PT4M.js';
1
+ import { Mail, Phone, Globe, CheckCircle, Clock } from './chunk-Y22SOAJM.js';
2
2
  import { cn } from './chunk-F3SOEIN2.js';
3
3
  import * as React from 'react';
4
4
  import { memo } from 'react';
@@ -44,6 +44,16 @@
44
44
  --mieweb-success-foreground: #ffffff;
45
45
  --mieweb-warning: #f59e0b;
46
46
  --mieweb-warning-foreground: #ffffff;
47
+ --mieweb-info: #0ea5e9;
48
+ --mieweb-info-foreground: #ffffff;
49
+ --mieweb-secondary-foreground: #ffffff;
50
+
51
+ /* Chart / Data Visualization */
52
+ --mieweb-chart-1: #27aae1;
53
+ --mieweb-chart-2: #22c55e;
54
+ --mieweb-chart-3: #f59e0b;
55
+ --mieweb-chart-4: #ef4444;
56
+ --mieweb-chart-5: #6366f1;
47
57
 
48
58
  /* Typography */
49
59
  --mieweb-font-sans: 'Nunito', ui-sans-serif, system-ui, sans-serif;
@@ -85,6 +95,16 @@
85
95
  --mieweb-success-foreground: #fafafa;
86
96
  --mieweb-warning: #d97706;
87
97
  --mieweb-warning-foreground: #fafafa;
98
+ --mieweb-info: #0284c7;
99
+ --mieweb-info-foreground: #fafafa;
100
+ --mieweb-secondary-foreground: #fafafa;
101
+
102
+ /* Chart */
103
+ --mieweb-chart-1: #38bdf8;
104
+ --mieweb-chart-2: #4ade80;
105
+ --mieweb-chart-3: #fbbf24;
106
+ --mieweb-chart-4: #f87171;
107
+ --mieweb-chart-5: #818cf8;
88
108
  }
89
109
 
90
110
  /* ============================================
@@ -41,10 +41,19 @@
41
41
  --mieweb-primary-900: #42193d;
42
42
  --mieweb-primary-950: #280e25;
43
43
 
44
- /* Secondary Color - Deep Teal Blue (for gradients) */
45
- --mieweb-secondary: #00497a;
46
- --mieweb-secondary-light: #006ba8;
47
- --mieweb-secondary-dark: #003658;
44
+ /* Secondary Color Scale - Deep Teal Blue */
45
+ --mieweb-secondary-50: #e6f3fa;
46
+ --mieweb-secondary-100: #b3dcf0;
47
+ --mieweb-secondary-200: #80c5e6;
48
+ --mieweb-secondary-300: #4daedc;
49
+ --mieweb-secondary-400: #2697d2;
50
+ --mieweb-secondary-500: #00497a;
51
+ --mieweb-secondary-600: #003d68;
52
+ --mieweb-secondary-700: #003658;
53
+ --mieweb-secondary-800: #002a45;
54
+ --mieweb-secondary-900: #001e33;
55
+ --mieweb-secondary-950: #001120;
56
+ --mieweb-secondary-foreground: #ffffff;
48
57
 
49
58
  /* Accent Color - Gold/Yellow (logo) */
50
59
  --mieweb-accent: #f8b700;
@@ -71,6 +80,15 @@
71
80
  --mieweb-success-foreground: #ffffff;
72
81
  --mieweb-warning: #f8b700;
73
82
  --mieweb-warning-foreground: #222326;
83
+ --mieweb-info: #0ea5e9;
84
+ --mieweb-info-foreground: #ffffff;
85
+
86
+ /* Chart / Data Visualization */
87
+ --mieweb-chart-1: #6e2b68;
88
+ --mieweb-chart-2: #00497a;
89
+ --mieweb-chart-3: #f8b700;
90
+ --mieweb-chart-4: #dc2626;
91
+ --mieweb-chart-5: #22c55e;
74
92
 
75
93
  /* Typography - Jost is the Enterprise Health font */
76
94
  --mieweb-font-sans: 'Jost', ui-sans-serif, system-ui, sans-serif;
@@ -115,6 +133,16 @@
115
133
  --mieweb-success-foreground: #fafafa;
116
134
  --mieweb-warning: #f8b700;
117
135
  --mieweb-warning-foreground: #222326;
136
+ --mieweb-info: #0284c7;
137
+ --mieweb-info-foreground: #fafafa;
138
+ --mieweb-secondary-foreground: #fafafa;
139
+
140
+ /* Chart */
141
+ --mieweb-chart-1: #c95ab8;
142
+ --mieweb-chart-2: #006ba8;
143
+ --mieweb-chart-3: #ffc933;
144
+ --mieweb-chart-4: #f87171;
145
+ --mieweb-chart-5: #4ade80;
118
146
 
119
147
  --mieweb-glass-background: rgba(255, 255, 255, 0.1);
120
148
  }
@@ -1,6 +1,6 @@
1
1
  import { BrandConfig } from './types.cjs';
2
2
  export { BrandBorderRadius, BrandBoxShadow, BrandColors, BrandTypography, ColorScale, SemanticColors, createBrandPreset, generateBrandCSS, generateTailwindTheme } from './types.cjs';
3
- export { default as bluehiveBrand } from './bluehive.cjs';
3
+ export { bluehiveBrand } from './bluehive.cjs';
4
4
  export { ozwellBrand } from './ozwell.cjs';
5
5
 
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  import { BrandConfig } from './types.js';
2
2
  export { BrandBorderRadius, BrandBoxShadow, BrandColors, BrandTypography, ColorScale, SemanticColors, createBrandPreset, generateBrandCSS, generateTailwindTheme } from './types.js';
3
- export { default as bluehiveBrand } from './bluehive.js';
3
+ export { bluehiveBrand } from './bluehive.js';
4
4
  export { ozwellBrand } from './ozwell.js';
5
5
 
6
6
  /**
@@ -44,6 +44,16 @@
44
44
  --mieweb-success-foreground: #ffffff;
45
45
  --mieweb-warning: #f59e0b;
46
46
  --mieweb-warning-foreground: #ffffff;
47
+ --mieweb-info: #0ea5e9;
48
+ --mieweb-info-foreground: #ffffff;
49
+ --mieweb-secondary-foreground: #ffffff;
50
+
51
+ /* Chart / Data Visualization */
52
+ --mieweb-chart-1: #27ae60;
53
+ --mieweb-chart-2: #0ea5e9;
54
+ --mieweb-chart-3: #f59e0b;
55
+ --mieweb-chart-4: #ef4444;
56
+ --mieweb-chart-5: #6366f1;
47
57
 
48
58
  /* Typography */
49
59
  --mieweb-font-sans: 'Inter', ui-sans-serif, system-ui, sans-serif;
@@ -85,6 +95,16 @@
85
95
  --mieweb-success-foreground: #fafafa;
86
96
  --mieweb-warning: #d97706;
87
97
  --mieweb-warning-foreground: #fafafa;
98
+ --mieweb-info: #0284c7;
99
+ --mieweb-info-foreground: #fafafa;
100
+ --mieweb-secondary-foreground: #fafafa;
101
+
102
+ /* Chart */
103
+ --mieweb-chart-1: #4ade80;
104
+ --mieweb-chart-2: #38bdf8;
105
+ --mieweb-chart-3: #fbbf24;
106
+ --mieweb-chart-4: #f87171;
107
+ --mieweb-chart-5: #818cf8;
88
108
  }
89
109
 
90
110
  /* ============================================
@@ -53,6 +53,16 @@
53
53
  --mieweb-success-foreground: #ffffff;
54
54
  --mieweb-warning: #f59e0b;
55
55
  --mieweb-warning-foreground: #ffffff;
56
+ --mieweb-info: #0ea5e9;
57
+ --mieweb-info-foreground: #ffffff;
58
+ --mieweb-secondary-foreground: #ffffff;
59
+
60
+ /* Chart / Data Visualization */
61
+ --mieweb-chart-1: #27aae1;
62
+ --mieweb-chart-2: #22c55e;
63
+ --mieweb-chart-3: #f59e0b;
64
+ --mieweb-chart-4: #ef4444;
65
+ --mieweb-chart-5: #6366f1;
56
66
 
57
67
  /* Typography */
58
68
  --mieweb-font-sans: 'Nunito', ui-sans-serif, system-ui, sans-serif;
@@ -94,6 +104,16 @@
94
104
  --mieweb-success-foreground: #fafafa;
95
105
  --mieweb-warning: #d97706;
96
106
  --mieweb-warning-foreground: #fafafa;
107
+ --mieweb-info: #0284c7;
108
+ --mieweb-info-foreground: #fafafa;
109
+ --mieweb-secondary-foreground: #fafafa;
110
+
111
+ /* Chart */
112
+ --mieweb-chart-1: #38bdf8;
113
+ --mieweb-chart-2: #4ade80;
114
+ --mieweb-chart-3: #fbbf24;
115
+ --mieweb-chart-4: #f87171;
116
+ --mieweb-chart-5: #818cf8;
97
117
  }
98
118
 
99
119
  /* ============================================
@@ -51,6 +51,42 @@
51
51
  --mieweb-success-foreground: #ffffff;
52
52
  --mieweb-warning: #ffd200;
53
53
  --mieweb-warning-foreground: #1a1a1a;
54
+ --mieweb-info: #0ea5e9;
55
+ --mieweb-info-foreground: #ffffff;
56
+ --mieweb-secondary-foreground: #ffffff;
57
+
58
+ /* Waggleline Custom Success Scale (brand green #009C4E) */
59
+ --mieweb-success-50: #ecfdf5;
60
+ --mieweb-success-100: #d1fae5;
61
+ --mieweb-success-200: #a7f3d0;
62
+ --mieweb-success-300: #6ee7b7;
63
+ --mieweb-success-400: #34d399;
64
+ --mieweb-success-500: #009c4e;
65
+ --mieweb-success-600: #008542;
66
+ --mieweb-success-700: #006e37;
67
+ --mieweb-success-800: #00572b;
68
+ --mieweb-success-900: #004020;
69
+ --mieweb-success-950: #002914;
70
+
71
+ /* Waggleline Custom Warning Scale (brand yellow #FFD200) */
72
+ --mieweb-warning-50: #fffde6;
73
+ --mieweb-warning-100: #fff9b3;
74
+ --mieweb-warning-200: #fff580;
75
+ --mieweb-warning-300: #fff14d;
76
+ --mieweb-warning-400: #ffeb26;
77
+ --mieweb-warning-500: #ffd200;
78
+ --mieweb-warning-600: #d4af00;
79
+ --mieweb-warning-700: #aa8c00;
80
+ --mieweb-warning-800: #806900;
81
+ --mieweb-warning-900: #554600;
82
+ --mieweb-warning-950: #332a00;
83
+
84
+ /* Chart / Data Visualization */
85
+ --mieweb-chart-1: #17aeed;
86
+ --mieweb-chart-2: #009c4e;
87
+ --mieweb-chart-3: #ffd200;
88
+ --mieweb-chart-4: #e04501;
89
+ --mieweb-chart-5: #8b5cf6;
54
90
 
55
91
  /* Typography */
56
92
  --mieweb-font-sans: 'Inter', ui-sans-serif, system-ui, sans-serif;
@@ -99,6 +135,16 @@
99
135
  --mieweb-success-foreground: #f9fafb;
100
136
  --mieweb-warning: #ffd200;
101
137
  --mieweb-warning-foreground: #1a1a1a;
138
+ --mieweb-info: #0284c7;
139
+ --mieweb-info-foreground: #f9fafb;
140
+ --mieweb-secondary-foreground: #f9fafb;
141
+
142
+ /* Chart */
143
+ --mieweb-chart-1: #38bdf8;
144
+ --mieweb-chart-2: #34d399;
145
+ --mieweb-chart-3: #ffeb26;
146
+ --mieweb-chart-4: #f87171;
147
+ --mieweb-chart-5: #a78bfa;
102
148
  }
103
149
 
104
150
  /* ============================================
@@ -44,6 +44,16 @@
44
44
  --mieweb-success-foreground: #ffffff;
45
45
  --mieweb-warning: #f59e0b;
46
46
  --mieweb-warning-foreground: #ffffff;
47
+ --mieweb-info: #0ea5e9;
48
+ --mieweb-info-foreground: #ffffff;
49
+ --mieweb-secondary-foreground: #ffffff;
50
+
51
+ /* Chart / Data Visualization */
52
+ --mieweb-chart-1: #f5841f;
53
+ --mieweb-chart-2: #22c55e;
54
+ --mieweb-chart-3: #0ea5e9;
55
+ --mieweb-chart-4: #ef4444;
56
+ --mieweb-chart-5: #6366f1;
47
57
 
48
58
  /* Typography */
49
59
  --mieweb-font-sans: 'Inter', ui-sans-serif, system-ui, sans-serif;
@@ -85,6 +95,16 @@
85
95
  --mieweb-success-foreground: #fafafa;
86
96
  --mieweb-warning: #d97706;
87
97
  --mieweb-warning-foreground: #fafafa;
98
+ --mieweb-info: #0284c7;
99
+ --mieweb-info-foreground: #fafafa;
100
+ --mieweb-secondary-foreground: #fafafa;
101
+
102
+ /* Chart */
103
+ --mieweb-chart-1: #fb923c;
104
+ --mieweb-chart-2: #4ade80;
105
+ --mieweb-chart-3: #38bdf8;
106
+ --mieweb-chart-4: #f87171;
107
+ --mieweb-chart-5: #818cf8;
88
108
  }
89
109
 
90
110
  /* ============================================