@cwncollab-org/mui-component-kit 0.7.0 → 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 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,2 @@
1
+ export { AdapterDayjsWithBuddhistEra } from './AdapterDayjsWithBuddhistEra';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 @@
1
+ export { AdapterDayjsWithBuddhistEra } from './AdapterDayjsWithBuddhistEra';
2
+ //# sourceMappingURL=index.js.map
@@ -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
@@ -1,7 +1,8 @@
1
1
  export { useConfirmDeleteDialog, useConfirmDialog } from './common-dialogs';
2
2
  export { DialogCloseButton, DialogsProvider, useDialogs, type DialogProps, type DialogResult, } from './dialogs';
3
- export { IMask, MaskedInput, MaskedTextField, SubscribeMaskedTextField, useAppForm, withForm, withFieldGroup, useAppFieldContext, useAppFormContext, type CheckboxProps, type DatePickerProps, type MaskedInputProps, type MaskedTextFieldProps, type MultiSelectProps, type SelectProps, type SubscribeCheckboxProps, type SubscribeDatePickerProps, type SubscribeMaskedTextFieldProps, type SubscribeMultiSelectProps, type SubscribeSelectProps, type SubscribeTextFieldProps, type SubscribeTimePickerProps, type TextFieldProps, type TimePickerProps, } from './form';
3
+ export { IMask, MaskedInput, MaskedTextField, SubscribeMaskedTextField, useAppFieldContext, useAppForm, useAppFormContext, withFieldGroup, withForm, type CheckboxProps, type DatePickerProps, type MaskedInputProps, type MaskedTextFieldProps, type MultiSelectProps, type SelectProps, type SubscribeCheckboxProps, type SubscribeDatePickerProps, type SubscribeMaskedTextFieldProps, type SubscribeMultiSelectProps, type SubscribeSelectProps, type SubscribeTextFieldProps, type SubscribeTimePickerProps, type TextFieldProps, type TimePickerProps, } from './form';
4
4
  export { Link } from './link';
5
- export { tableSearchSchema, useMaterialRouterTable } from './table';
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
@@ -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,UAAU,EACV,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,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,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AACnE,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
@@ -1,7 +1,8 @@
1
1
  export { useConfirmDeleteDialog, useConfirmDialog } from './common-dialogs';
2
2
  export { DialogCloseButton, DialogsProvider, useDialogs, } from './dialogs';
3
- export { IMask, MaskedInput, MaskedTextField, SubscribeMaskedTextField, useAppForm, withForm, withFieldGroup, useAppFieldContext, useAppFormContext, } from './form';
3
+ export { IMask, MaskedInput, MaskedTextField, SubscribeMaskedTextField, useAppFieldContext, useAppForm, useAppFormContext, withFieldGroup, withForm, } from './form';
4
4
  export { Link } from './link';
5
- export { tableSearchSchema, useMaterialRouterTable } from './table';
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,UAAU,EACV,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,iBAAiB,GAgBlB,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AACnE,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"}
@@ -1,2 +1,2 @@
1
- export { useMaterialRouterTable, tableSearchSchema, } from './materialRouterTableHooks';
1
+ export { tableSearchSchema, useMaterialRouterTable, type TableSearch, } from './materialRouterTableHooks';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,WAAW,GACjB,MAAM,4BAA4B,CAAA"}
@@ -1,2 +1,2 @@
1
- export { useMaterialRouterTable, tableSearchSchema, } from './materialRouterTableHooks';
1
+ export { tableSearchSchema, useMaterialRouterTable, } from './materialRouterTableHooks';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,4BAA4B,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cwncollab-org/mui-component-kit",
3
3
  "private": false,
4
- "version": "0.7.0",
4
+ "version": "0.8.0",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.js",