@cwncollab-org/mui-component-kit 0.7.1 → 0.8.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/README.md +1 -0
- package/dist/adapters/AdapterDayjsWithBuddhistEra.d.ts +8 -0
- package/dist/adapters/AdapterDayjsWithBuddhistEra.d.ts.map +1 -0
- package/dist/adapters/AdapterDayjsWithBuddhistEra.js +50 -0
- package/dist/adapters/AdapterDayjsWithBuddhistEra.js.map +1 -0
- package/dist/adapters/index.d.ts +2 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +2 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -728,6 +728,7 @@ The DatePicker and TimePicker components provide date and time selection functio
|
|
|
728
728
|
**Important Requirements:**
|
|
729
729
|
- **LocalizationProvider**: You must wrap your application (or form) with `LocalizationProvider` from `@mui/x-date-pickers`
|
|
730
730
|
- **Date Adapter**: You need to install and configure a date adapter (e.g., `@mui/x-date-pickers/AdapterDayjs`)
|
|
731
|
+
- To use Buddhist Era date pickers, use `AdapterDayjsWithBuddhistEra` from this library as your date adapter.
|
|
731
732
|
|
|
732
733
|
**Value Format Support:**
|
|
733
734
|
Both DatePicker and TimePicker support two value formats through the `valueFormat` prop:
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
|
|
2
|
+
import { Dayjs } from 'dayjs';
|
|
3
|
+
export declare class AdapterDayjsWithBuddhistEra extends AdapterDayjs {
|
|
4
|
+
format: (value: Dayjs, formatKey: keyof AdapterDayjs['formats']) => string;
|
|
5
|
+
formatByString: (value: Dayjs, formatString: string) => string;
|
|
6
|
+
getYearText(date: Dayjs): string;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=AdapterDayjsWithBuddhistEra.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdapterDayjsWithBuddhistEra.d.ts","sourceRoot":"","sources":["../../src/lib/adapters/AdapterDayjsWithBuddhistEra.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAE7B,qBAAa,2BAA4B,SAAQ,YAAY;IAE3D,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC,SAAS,CAAC,KAAK,MAAM,CAiBzE;IAGD,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,CAc7D;IAGD,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM;CAGjC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
|
|
2
|
+
export class AdapterDayjsWithBuddhistEra extends AdapterDayjs {
|
|
3
|
+
constructor() {
|
|
4
|
+
super(...arguments);
|
|
5
|
+
// Override format to display Buddhist Era year (BE) instead of Gregorian (CE)
|
|
6
|
+
Object.defineProperty(this, "format", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
configurable: true,
|
|
9
|
+
writable: true,
|
|
10
|
+
value: (value, formatKey) => {
|
|
11
|
+
// AdapterDayjs defines format as a class field, not a prototype method, so we must access it as a property
|
|
12
|
+
const base = Object.getPrototypeOf(this);
|
|
13
|
+
let formatted = base.format
|
|
14
|
+
? base.format.call(this, value, formatKey)
|
|
15
|
+
: this.formatByString(value, this.formats[formatKey]);
|
|
16
|
+
// Replace YYYY or yyyy with Buddhist year if present in format string
|
|
17
|
+
const formatString = this.formats[formatKey];
|
|
18
|
+
if (typeof formatString === 'string' && /Y{2,4}/.test(formatString)) {
|
|
19
|
+
const buddhistYear = value.year() + 543;
|
|
20
|
+
// Replace the first 4-digit year with Buddhist year
|
|
21
|
+
formatted = formatted.replace(/(\d{4})/, buddhistYear.toString());
|
|
22
|
+
}
|
|
23
|
+
return formatted;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
// Override formatByString for custom format strings
|
|
27
|
+
Object.defineProperty(this, "formatByString", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
configurable: true,
|
|
30
|
+
writable: true,
|
|
31
|
+
value: (value, formatString) => {
|
|
32
|
+
// AdapterDayjs defines formatByString as a class field, not a prototype method, so we must access it as a property
|
|
33
|
+
const base = Object.getPrototypeOf(this);
|
|
34
|
+
let formatted = base.formatByString
|
|
35
|
+
? base.formatByString.call(this, value, formatString)
|
|
36
|
+
: value.format(formatString);
|
|
37
|
+
if (/Y{2,4}/.test(formatString)) {
|
|
38
|
+
const buddhistYear = value.year() + 543;
|
|
39
|
+
formatted = formatted.replace(/(\d{4})/, buddhistYear.toString());
|
|
40
|
+
}
|
|
41
|
+
return formatted;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
// Optionally override getYearText for year selection dropdowns
|
|
46
|
+
getYearText(date) {
|
|
47
|
+
return (date.year() + 543).toString();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=AdapterDayjsWithBuddhistEra.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdapterDayjsWithBuddhistEra.js","sourceRoot":"","sources":["../../src/lib/adapters/AdapterDayjsWithBuddhistEra.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAG/D,MAAM,OAAO,2BAA4B,SAAQ,YAAY;IAA7D;;QACE,8EAA8E;QAC9E;;;;mBAA6E,CAC3E,KAAK,EACL,SAAS,EACT,EAAE;gBACF,2GAA2G;gBAC3G,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAiB,CAAA;gBACxD,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM;oBACzB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC;oBAC1C,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;gBACvD,sEAAsE;gBACtE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;gBAC5C,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;oBACpE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,CAAA;oBACvC,oDAAoD;oBACpD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACnE,CAAC;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC;WAAA;QAED,oDAAoD;QACpD;;;;mBAAiE,CAC/D,KAAK,EACL,YAAY,EACZ,EAAE;gBACF,mHAAmH;gBACnH,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAiB,CAAA;gBACxD,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc;oBACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC;oBACrD,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;gBAC9B,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;oBAChC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,CAAA;oBACvC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACnE,CAAC;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC;WAAA;IAMH,CAAC;IAJC,+DAA+D;IAC/D,WAAW,CAAC,IAAW;QACrB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,4 +4,5 @@ export { IMask, MaskedInput, MaskedTextField, SubscribeMaskedTextField, useAppFi
|
|
|
4
4
|
export { Link } from './link';
|
|
5
5
|
export { tableSearchSchema, useMaterialRouterTable, type TableSearch, } from './table';
|
|
6
6
|
export { RouterTab, RouterTabs, TabLabel } from './tabs';
|
|
7
|
+
export * from './adapters';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,KAAK,EACL,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,WAAW,GACjB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,KAAK,EACL,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,WAAW,GACjB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACxD,cAAc,YAAY,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -4,4 +4,5 @@ export { IMask, MaskedInput, MaskedTextField, SubscribeMaskedTextField, useAppFi
|
|
|
4
4
|
export { Link } from './link';
|
|
5
5
|
export { tableSearchSchema, useMaterialRouterTable, } from './table';
|
|
6
6
|
export { RouterTab, RouterTabs, TabLabel } from './tabs';
|
|
7
|
+
export * from './adapters';
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,UAAU,GAGX,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,KAAK,EACL,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,QAAQ,GAgBT,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,UAAU,GAGX,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,KAAK,EACL,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,QAAQ,GAgBT,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACxD,cAAc,YAAY,CAAA"}
|