@pdfme/schemas 5.0.0 → 5.1.1-dev.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.
Files changed (53) hide show
  1. package/dist/cjs/src/date/date.js +54 -0
  2. package/dist/cjs/src/date/date.js.map +1 -0
  3. package/dist/cjs/src/date/dateTime.js +96 -0
  4. package/dist/cjs/src/date/dateTime.js.map +1 -0
  5. package/dist/cjs/src/date/helper.js +232 -0
  6. package/dist/cjs/src/date/helper.js.map +1 -0
  7. package/dist/cjs/src/date/time.js +25 -0
  8. package/dist/cjs/src/date/time.js.map +1 -0
  9. package/dist/cjs/src/date/types.js +3 -0
  10. package/dist/cjs/src/date/types.js.map +1 -0
  11. package/dist/cjs/src/index.js +9 -1
  12. package/dist/cjs/src/index.js.map +1 -1
  13. package/dist/cjs/src/select/index.js +162 -0
  14. package/dist/cjs/src/select/index.js.map +1 -0
  15. package/dist/cjs/src/text/extraFormatter.js.map +1 -1
  16. package/dist/cjs/src/text/uiRender.js +6 -4
  17. package/dist/cjs/src/text/uiRender.js.map +1 -1
  18. package/dist/esm/src/date/date.js +52 -0
  19. package/dist/esm/src/date/date.js.map +1 -0
  20. package/dist/esm/src/date/dateTime.js +94 -0
  21. package/dist/esm/src/date/dateTime.js.map +1 -0
  22. package/dist/esm/src/date/helper.js +225 -0
  23. package/dist/esm/src/date/helper.js.map +1 -0
  24. package/dist/esm/src/date/time.js +23 -0
  25. package/dist/esm/src/date/time.js.map +1 -0
  26. package/dist/esm/src/date/types.js +2 -0
  27. package/dist/esm/src/date/types.js.map +1 -0
  28. package/dist/esm/src/index.js +5 -1
  29. package/dist/esm/src/index.js.map +1 -1
  30. package/dist/esm/src/select/index.js +157 -0
  31. package/dist/esm/src/select/index.js.map +1 -0
  32. package/dist/esm/src/text/extraFormatter.js.map +1 -1
  33. package/dist/esm/src/text/uiRender.js +3 -3
  34. package/dist/esm/src/text/uiRender.js.map +1 -1
  35. package/dist/types/src/date/date.d.ts +2 -0
  36. package/dist/types/src/date/dateTime.d.ts +2 -0
  37. package/dist/types/src/date/helper.d.ts +9 -0
  38. package/dist/types/src/date/time.d.ts +2 -0
  39. package/dist/types/src/date/types.d.ts +11 -0
  40. package/dist/types/src/index.d.ts +5 -1
  41. package/dist/types/src/select/index.d.ts +7 -0
  42. package/dist/types/src/text/extraFormatter.d.ts +7 -2
  43. package/dist/types/src/text/uiRender.d.ts +4 -0
  44. package/package.json +3 -1
  45. package/src/date/date.ts +58 -0
  46. package/src/date/dateTime.ts +100 -0
  47. package/src/date/helper.ts +281 -0
  48. package/src/date/time.ts +29 -0
  49. package/src/date/types.ts +12 -0
  50. package/src/index.ts +8 -0
  51. package/src/select/index.ts +197 -0
  52. package/src/text/extraFormatter.ts +7 -4
  53. package/src/text/uiRender.ts +4 -4
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const helper_1 = require("./helper");
4
+ const type = 'date';
5
+ const defaultFormat = 'yyyy/MM/dd';
6
+ const formatsByLang = {
7
+ en: [
8
+ defaultFormat,
9
+ 'MM/dd/yyyy',
10
+ 'MMMM d, yyyy',
11
+ 'MMM d, yyyy',
12
+ 'EEEE, MMMM d, yyyy',
13
+ 'yyyy-MM-dd',
14
+ ],
15
+ zh: [defaultFormat, 'yyyy年MM月dd日', 'MM月dd日', 'M月d日', 'yyyy-MM-dd'],
16
+ ja: [defaultFormat, 'yyyy年MM月dd日', 'MM月dd日', 'M月d日', 'yyyy-MM-dd'],
17
+ ko: [defaultFormat, 'yyyy년 MM월 dd일', 'MM월 dd일', 'M월 d일', 'yyyy-MM-dd'],
18
+ ar: [defaultFormat, 'dd/MM/yyyy', 'd MMMM yyyy', 'd MMM yyyy', 'EEEE، d MMMM yyyy', 'yyyy-MM-dd'],
19
+ th: [
20
+ defaultFormat,
21
+ 'dd/MM/yyyy',
22
+ 'd MMMM yyyy',
23
+ 'd MMM yyyy',
24
+ 'EEEEที่ d MMMM G yyyy',
25
+ 'yyyy-MM-dd',
26
+ ],
27
+ pl: [defaultFormat, 'dd.MM.yyyy', 'd MMMM yyyy', 'd MMM yyyy', 'EEEE, d MMMM yyyy', 'yyyy-MM-dd'],
28
+ it: [defaultFormat, 'dd/MM/yyyy', 'd MMMM yyyy', 'd MMM yyyy', 'EEEE d MMMM yyyy', 'yyyy-MM-dd'],
29
+ de: [
30
+ defaultFormat,
31
+ 'dd.MM.yyyy',
32
+ 'd. MMMM yyyy',
33
+ 'd. MMM yyyy',
34
+ 'EEEE, d. MMMM yyyy',
35
+ 'yyyy-MM-dd',
36
+ ],
37
+ es: [
38
+ defaultFormat,
39
+ 'dd/MM/yyyy',
40
+ 'd de MMMM de yyyy',
41
+ 'd de MMM de yyyy',
42
+ 'EEEE, d de MMMM de yyyy',
43
+ 'yyyy-MM-dd',
44
+ ],
45
+ fr: [defaultFormat, 'dd/MM/yyyy', 'd MMMM yyyy', 'd MMM yyyy', 'EEEE d MMMM yyyy', 'yyyy-MM-dd'],
46
+ };
47
+ const icon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" ' +
48
+ 'viewBox="0 0 24 24" fill="none" stroke="currentColor" ' +
49
+ 'stroke-width="2" stroke-linecap="round" stroke-linejoin="round" ' +
50
+ 'class="lucide lucide-calendar"><path d="M8 2v4"/><path d="M16 2v4"/>' +
51
+ '<rect width="18" height="18" x="3" y="4" rx="2"/><path d="M3 10h18"/>' +
52
+ '</svg>';
53
+ exports.default = (0, helper_1.getPlugin)({ type, defaultFormat, icon, formatsByLang });
54
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../../src/date/date.ts"],"names":[],"mappings":";;AACA,qCAAqC;AAErC,MAAM,IAAI,GAAG,MAAM,CAAC;AAEpB,MAAM,aAAa,GAAG,YAAY,CAAC;AAEnC,MAAM,aAAa,GAA2B;IAC5C,EAAE,EAAE;QACF,aAAa;QACb,YAAY;QACZ,cAAc;QACd,aAAa;QACb,oBAAoB;QACpB,YAAY;KACb;IACD,EAAE,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC;IAClE,EAAE,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC;IAClE,EAAE,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC;IACtE,EAAE,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,mBAAmB,EAAE,YAAY,CAAC;IACjG,EAAE,EAAE;QACF,aAAa;QACb,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,uBAAuB;QACvB,YAAY;KACb;IACD,EAAE,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,mBAAmB,EAAE,YAAY,CAAC;IACjG,EAAE,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,CAAC;IAChG,EAAE,EAAE;QACF,aAAa;QACb,YAAY;QACZ,cAAc;QACd,aAAa;QACb,oBAAoB;QACpB,YAAY;KACb;IACD,EAAE,EAAE;QACF,aAAa;QACb,YAAY;QACZ,mBAAmB;QACnB,kBAAkB;QAClB,yBAAyB;QACzB,YAAY;KACb;IACD,EAAE,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,CAAC;CACjG,CAAC;AAEF,MAAM,IAAI,GACR,iEAAiE;IACjE,wDAAwD;IACxD,kEAAkE;IAClE,sEAAsE;IACtE,uEAAuE;IACvE,QAAQ,CAAC;AAEX,kBAAe,IAAA,kBAAS,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const helper_1 = require("./helper");
4
+ const type = 'dateTime';
5
+ const defaultFormat = 'yyyy/MM/dd HH:mm';
6
+ const formatsByLang = {
7
+ en: [
8
+ defaultFormat,
9
+ 'MM/dd/yyyy h:mm a',
10
+ 'MMMM d, yyyy h:mm a',
11
+ 'MMM d, yyyy h:mm a',
12
+ 'EEEE, MMMM d, yyyy h:mm a',
13
+ "yyyy-MM-dd'T'HH:mm:ss",
14
+ ],
15
+ zh: [
16
+ defaultFormat,
17
+ 'yyyy年MM月dd日 HH:mm',
18
+ 'MM月dd日 HH:mm',
19
+ 'M月d日 HH:mm',
20
+ "yyyy-MM-dd'T'HH:mm:ss",
21
+ ],
22
+ ja: [
23
+ defaultFormat,
24
+ 'yyyy年MM月dd日 HH:mm',
25
+ 'MM月dd日 HH:mm',
26
+ 'M月d日 HH:mm',
27
+ "yyyy-MM-dd'T'HH:mm:ss",
28
+ ],
29
+ ko: [
30
+ defaultFormat,
31
+ 'yyyy-MM-dd HH:mm',
32
+ 'yyyy년 MM월 dd일 HH:mm',
33
+ 'MM월 dd일 HH:mm',
34
+ 'M월 d일 HH:mm',
35
+ "yyyy-MM-dd'T'HH:mm:ss",
36
+ ],
37
+ ar: [
38
+ defaultFormat,
39
+ 'dd/MM/yyyy h:mm a',
40
+ 'd MMMM yyyy h:mm a',
41
+ 'd MMM yyyy h:mm a',
42
+ 'EEEE، d MMMM yyyy h:mm a',
43
+ "yyyy-MM-dd'T'HH:mm:ss",
44
+ ],
45
+ th: [
46
+ defaultFormat,
47
+ 'dd/MM/yyyy HH:mm',
48
+ 'd MMMM yyyy HH:mm',
49
+ 'd MMM yyyy HH:mm',
50
+ 'EEEEที่ d MMMM G yyyy HH:mm',
51
+ "yyyy-MM-dd'T'HH:mm:ss",
52
+ ],
53
+ pl: [
54
+ defaultFormat,
55
+ 'dd.MM.yyyy HH:mm',
56
+ 'd MMMM yyyy HH:mm',
57
+ 'd MMM yyyy HH:mm',
58
+ 'EEEE, d MMMM yyyy HH:mm',
59
+ "yyyy-MM-dd'T'HH:mm:ss",
60
+ ],
61
+ it: [
62
+ defaultFormat,
63
+ 'dd/MM/yyyy HH:mm',
64
+ 'd MMMM yyyy HH:mm',
65
+ 'd MMM yyyy HH:mm',
66
+ 'EEEE d MMMM yyyy HH:mm',
67
+ "yyyy-MM-dd'T'HH:mm:ss",
68
+ ],
69
+ de: [
70
+ defaultFormat,
71
+ 'dd.MM.yyyy HH:mm',
72
+ 'd. MMMM yyyy HH:mm',
73
+ 'd. MMM yyyy HH:mm',
74
+ 'EEEE, d. MMMM yyyy HH:mm',
75
+ "yyyy-MM-dd'T'HH:mm:ss",
76
+ ],
77
+ es: [
78
+ defaultFormat,
79
+ 'dd/MM/yyyy h:mm a',
80
+ 'd de MMMM de yyyy h:mm a',
81
+ 'd de MMM de yyyy h:mm a',
82
+ 'EEEE, d de MMMM de yyyy h:mm a',
83
+ "yyyy-MM-dd'T'HH:mm:ss",
84
+ ],
85
+ fr: [
86
+ defaultFormat,
87
+ 'dd/MM/yyyy HH:mm',
88
+ 'd MMMM yyyy HH:mm',
89
+ 'd MMM yyyy HH:mm',
90
+ 'EEEE d MMMM yyyy HH:mm',
91
+ "yyyy-MM-dd'T'HH:mm:ss",
92
+ ],
93
+ };
94
+ const icon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-clock"><path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"/><path d="M16 2v4"/><path d="M8 2v4"/><path d="M3 10h5"/><path d="M17.5 17.5 16 16.3V14"/><circle cx="16" cy="16" r="6"/></svg>';
95
+ exports.default = (0, helper_1.getPlugin)({ type, defaultFormat, icon, formatsByLang });
96
+ //# sourceMappingURL=dateTime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateTime.js","sourceRoot":"","sources":["../../../../src/date/dateTime.ts"],"names":[],"mappings":";;AACA,qCAAqC;AAErC,MAAM,IAAI,GAAG,UAAU,CAAC;AAExB,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEzC,MAAM,aAAa,GAA2B;IAC5C,EAAE,EAAE;QACF,aAAa;QACb,mBAAmB;QACnB,qBAAqB;QACrB,oBAAoB;QACpB,2BAA2B;QAC3B,uBAAuB;KACxB;IACD,EAAE,EAAE;QACF,aAAa;QACb,mBAAmB;QACnB,cAAc;QACd,YAAY;QACZ,uBAAuB;KACxB;IACD,EAAE,EAAE;QACF,aAAa;QACb,mBAAmB;QACnB,cAAc;QACd,YAAY;QACZ,uBAAuB;KACxB;IACD,EAAE,EAAE;QACF,aAAa;QACb,kBAAkB;QAClB,qBAAqB;QACrB,eAAe;QACf,aAAa;QACb,uBAAuB;KACxB;IACD,EAAE,EAAE;QACF,aAAa;QACb,mBAAmB;QACnB,oBAAoB;QACpB,mBAAmB;QACnB,0BAA0B;QAC1B,uBAAuB;KACxB;IACD,EAAE,EAAE;QACF,aAAa;QACb,kBAAkB;QAClB,mBAAmB;QACnB,kBAAkB;QAClB,6BAA6B;QAC7B,uBAAuB;KACxB;IACD,EAAE,EAAE;QACF,aAAa;QACb,kBAAkB;QAClB,mBAAmB;QACnB,kBAAkB;QAClB,yBAAyB;QACzB,uBAAuB;KACxB;IACD,EAAE,EAAE;QACF,aAAa;QACb,kBAAkB;QAClB,mBAAmB;QACnB,kBAAkB;QAClB,wBAAwB;QACxB,uBAAuB;KACxB;IACD,EAAE,EAAE;QACF,aAAa;QACb,kBAAkB;QAClB,oBAAoB;QACpB,mBAAmB;QACnB,0BAA0B;QAC1B,uBAAuB;KACxB;IACD,EAAE,EAAE;QACF,aAAa;QACb,mBAAmB;QACnB,0BAA0B;QAC1B,yBAAyB;QACzB,gCAAgC;QAChC,uBAAuB;KACxB;IACD,EAAE,EAAE;QACF,aAAa;QACb,kBAAkB;QAClB,mBAAmB;QACnB,kBAAkB;QAClB,wBAAwB;QACxB,uBAAuB;KACxB;CACF,CAAC;AAEF,MAAM,IAAI,GACR,kaAAka,CAAC;AAEra,kBAAe,IAAA,kBAAS,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC"}
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getPlugin = void 0;
7
+ const air_datepicker_1 = __importDefault(require("air-datepicker"));
8
+ const en_1 = __importDefault(require("air-datepicker/locale/en"));
9
+ const zh_1 = __importDefault(require("air-datepicker/locale/zh"));
10
+ const ja_1 = __importDefault(require("air-datepicker/locale/ja"));
11
+ const ko_1 = __importDefault(require("air-datepicker/locale/ko"));
12
+ const ar_1 = __importDefault(require("air-datepicker/locale/ar"));
13
+ const th_1 = __importDefault(require("air-datepicker/locale/th"));
14
+ const pl_1 = __importDefault(require("air-datepicker/locale/pl"));
15
+ const it_1 = __importDefault(require("air-datepicker/locale/it"));
16
+ const de_1 = __importDefault(require("air-datepicker/locale/de"));
17
+ const es_1 = __importDefault(require("air-datepicker/locale/es"));
18
+ const fr_1 = __importDefault(require("air-datepicker/locale/fr"));
19
+ require("air-datepicker/air-datepicker.css");
20
+ const date_fns_1 = require("date-fns");
21
+ const locale_1 = require("date-fns/locale");
22
+ const common_1 = require("@pdfme/common");
23
+ const text_1 = __importDefault(require("../text"));
24
+ const constants_js_1 = require("../constants.js");
25
+ const uiRender_1 = require("../text/uiRender");
26
+ const helper_js_1 = require("../text/helper.js");
27
+ const constants_js_2 = require("../text/constants.js");
28
+ const extraFormatter_1 = require("../text/extraFormatter");
29
+ const utils_1 = require("../utils");
30
+ const getDateFnsLocale = (lang) => ({ en: locale_1.enUS, zh: locale_1.zhCN, ja: locale_1.ja, ko: locale_1.ko, ar: locale_1.ar, th: locale_1.th, pl: locale_1.pl, it: locale_1.it, de: locale_1.de, es: locale_1.es, fr: locale_1.fr }[lang]);
31
+ const getAirDatepickerLocale = (lang) => ({
32
+ en: en_1.default,
33
+ zh: zh_1.default,
34
+ ja: ja_1.default,
35
+ ko: ko_1.default,
36
+ ar: ar_1.default,
37
+ th: th_1.default,
38
+ pl: pl_1.default,
39
+ it: it_1.default,
40
+ de: de_1.default,
41
+ es: es_1.default,
42
+ fr: fr_1.default,
43
+ }[lang]);
44
+ const getPlugin = ({ type, defaultFormat, icon, formatsByLang, }) => {
45
+ const plugin = {
46
+ ui: async (arg) => {
47
+ const { schema, value, onChange, rootElement, mode, options, i18n, _cache } = arg;
48
+ const beforeRemoveEvent = new Event('beforeRemove');
49
+ rootElement.dispatchEvent(beforeRemoveEvent);
50
+ const font = options?.font || (0, common_1.getDefaultFont)();
51
+ const fontKitFont = await (0, helper_js_1.getFontKitFont)(schema.fontName, font, _cache);
52
+ const { topAdj, bottomAdj } = (0, helper_js_1.getBrowserVerticalFontAdjustments)(fontKitFont, schema.fontSize ?? constants_js_2.DEFAULT_FONT_SIZE, constants_js_2.DEFAULT_LINE_HEIGHT, constants_js_2.VERTICAL_ALIGN_MIDDLE);
53
+ const topAdjustment = topAdj.toString();
54
+ const bottomAdjustment = bottomAdj.toString();
55
+ const textStyle = {
56
+ fontFamily: schema.fontName ? `'${schema.fontName}'` : 'inherit',
57
+ color: schema.fontColor ?? constants_js_2.DEFAULT_FONT_COLOR,
58
+ fontSize: `${schema.fontSize ?? constants_js_2.DEFAULT_FONT_SIZE}pt`,
59
+ letterSpacing: `${schema.characterSpacing ?? constants_js_2.DEFAULT_CHARACTER_SPACING}pt`,
60
+ textAlign: schema.alignment ?? constants_js_2.DEFAULT_ALIGNMENT,
61
+ backgroundColor: (0, uiRender_1.getBackgroundColor)(value, schema),
62
+ margin: '0',
63
+ padding: '0',
64
+ border: 'none',
65
+ outline: 'none',
66
+ width: `${schema.width}mm`,
67
+ height: `${schema.height}mm`,
68
+ display: 'flex',
69
+ flexDirection: 'column',
70
+ justifyContent: (0, uiRender_1.mapVerticalAlignToFlex)(constants_js_2.VERTICAL_ALIGN_MIDDLE),
71
+ paddingTop: `${topAdjustment}px`,
72
+ marginBottom: `${bottomAdjustment}px`,
73
+ position: 'relative',
74
+ };
75
+ const input = document.createElement('input');
76
+ Object.assign(input.style, textStyle);
77
+ const commitChange = ({ datepicker }) => {
78
+ if (onChange) {
79
+ const date = datepicker.selectedDates;
80
+ const fmt = type === 'time' ? 'HH:mm' : type === 'date' ? 'yyyy/MM/dd' : 'yyyy/MM/dd HH:mm';
81
+ const d = Array.isArray(date) ? date[0] : date || '';
82
+ const value = d ? (0, date_fns_1.format)(d, fmt) : '';
83
+ onChange({ key: 'content', value });
84
+ }
85
+ };
86
+ const airDatepicker = new air_datepicker_1.default(input, {
87
+ locale: getAirDatepickerLocale(options.lang || 'en'),
88
+ selectedDates: [schema.type === 'time' ? new Date(`2021-01-01T${value}`) : new Date(value)],
89
+ dateFormat: (date) => (schema.format ? (0, date_fns_1.format)(date, schema.format) : ''),
90
+ timepicker: type !== 'date',
91
+ onlyTimepicker: type === 'time',
92
+ buttons: [
93
+ 'clear',
94
+ {
95
+ content: i18n('close'),
96
+ onClick: (datepicker) => {
97
+ datepicker.hide();
98
+ commitChange({ datepicker });
99
+ },
100
+ },
101
+ ],
102
+ onSelect: ({ datepicker }) => {
103
+ mode !== 'designer' && commitChange({ datepicker });
104
+ },
105
+ onShow: () => {
106
+ input.disabled = !(0, utils_1.isEditable)(mode, schema);
107
+ },
108
+ });
109
+ rootElement.addEventListener('beforeRemove', () => {
110
+ if (mode === 'designer') {
111
+ airDatepicker.destroy();
112
+ }
113
+ });
114
+ input.addEventListener('click', () => {
115
+ if (mode === 'designer') {
116
+ airDatepicker.show();
117
+ }
118
+ });
119
+ rootElement.appendChild(input);
120
+ },
121
+ pdf: (arg) => {
122
+ const { schema, value, options } = arg;
123
+ if (!value)
124
+ return void 0;
125
+ const lang = (options.lang || 'en');
126
+ const locale = getDateFnsLocale(lang);
127
+ const date = schema.type === 'time' ? new Date(`2021-01-01T${value}`) : new Date(value);
128
+ const formattedValue = (0, date_fns_1.format)(date, schema.format, { locale });
129
+ return text_1.default.pdf(Object.assign(arg, {
130
+ value: formattedValue,
131
+ schema: {
132
+ ...schema,
133
+ verticalAlignment: constants_js_2.VERTICAL_ALIGN_MIDDLE,
134
+ lineHeight: constants_js_2.DEFAULT_LINE_HEIGHT,
135
+ },
136
+ }));
137
+ },
138
+ propPanel: {
139
+ schema: ({ options, i18n }) => {
140
+ const font = options.font || { [common_1.DEFAULT_FONT_NAME]: { data: '', fallback: true } };
141
+ const lang = options.lang || 'en';
142
+ const locale = getDateFnsLocale(lang);
143
+ const fontNames = Object.keys(font);
144
+ const fallbackFontName = (0, common_1.getFallbackFontName)(font);
145
+ const formatter = (0, extraFormatter_1.getExtraFormatterSchema)(i18n);
146
+ formatter.buttons = formatter.buttons.filter((button) => button.key === extraFormatter_1.Formatter.ALIGNMENT);
147
+ const currentDate = new Date();
148
+ const dateSchema = {
149
+ format: {
150
+ title: i18n('schemas.date.format'),
151
+ type: 'string',
152
+ widget: 'select',
153
+ props: {
154
+ options: formatsByLang[lang].map((formatString) => ({
155
+ label: `${formatString} (${(0, date_fns_1.format)(currentDate, formatString, { locale })})`,
156
+ value: formatString,
157
+ })),
158
+ },
159
+ span: 24,
160
+ },
161
+ fontName: {
162
+ title: i18n('schemas.text.fontName'),
163
+ type: 'string',
164
+ widget: 'select',
165
+ default: fallbackFontName,
166
+ props: { options: fontNames.map((name) => ({ label: name, value: name })) },
167
+ span: 12,
168
+ },
169
+ fontSize: {
170
+ title: i18n('schemas.text.size'),
171
+ type: 'number',
172
+ widget: 'inputNumber',
173
+ span: 6,
174
+ props: { min: 0 },
175
+ },
176
+ characterSpacing: {
177
+ title: i18n('schemas.text.spacing'),
178
+ type: 'number',
179
+ widget: 'inputNumber',
180
+ span: 6,
181
+ props: { min: 0 },
182
+ },
183
+ formatter,
184
+ fontColor: {
185
+ title: i18n('schemas.textColor'),
186
+ type: 'string',
187
+ widget: 'color',
188
+ rules: [
189
+ {
190
+ pattern: constants_js_1.HEX_COLOR_PATTERN,
191
+ message: i18n('validation.hexColor'),
192
+ },
193
+ ],
194
+ },
195
+ backgroundColor: {
196
+ title: i18n('schemas.bgColor'),
197
+ type: 'string',
198
+ widget: 'color',
199
+ rules: [
200
+ {
201
+ pattern: constants_js_1.HEX_COLOR_PATTERN,
202
+ message: i18n('validation.hexColor'),
203
+ },
204
+ ],
205
+ },
206
+ };
207
+ return dateSchema;
208
+ },
209
+ defaultSchema: {
210
+ name: '',
211
+ format: defaultFormat,
212
+ type,
213
+ content: (0, date_fns_1.format)(new Date(), defaultFormat),
214
+ position: { x: 0, y: 0 },
215
+ width: 70,
216
+ height: 10,
217
+ rotate: 0,
218
+ alignment: constants_js_2.DEFAULT_ALIGNMENT,
219
+ fontSize: constants_js_2.DEFAULT_FONT_SIZE,
220
+ characterSpacing: constants_js_2.DEFAULT_CHARACTER_SPACING,
221
+ fontColor: constants_js_2.DEFAULT_FONT_COLOR,
222
+ fontName: undefined,
223
+ backgroundColor: '',
224
+ opacity: constants_js_1.DEFAULT_OPACITY,
225
+ },
226
+ },
227
+ icon,
228
+ };
229
+ return plugin;
230
+ };
231
+ exports.getPlugin = getPlugin;
232
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../src/date/helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const helper_1 = require("./helper");
4
+ const type = 'time';
5
+ const defaultFormat = 'HH:mm';
6
+ const formatsByLang = {
7
+ en: [defaultFormat, 'hh:mm a', 'HH:mm:ss', 'hh:mm:ss a'],
8
+ zh: [defaultFormat, 'HH时mm分', 'HH:mm:ss'],
9
+ ja: [defaultFormat, 'HH時mm分', 'HH:mm:ss'],
10
+ ko: [defaultFormat, 'a h시 mm분', 'HH:mm:ss'],
11
+ ar: [defaultFormat, 'hh:mm a', 'HH:mm:ss'],
12
+ th: [defaultFormat, 'HH.mm', 'HH:mm:ss'],
13
+ pl: [defaultFormat, 'HH:mm:ss'],
14
+ it: [defaultFormat, 'HH.mm', 'HH:mm:ss'],
15
+ de: [defaultFormat, 'HH.mm', 'HH:mm:ss'],
16
+ es: [defaultFormat, 'hh:mm a', 'HH:mm:ss'],
17
+ fr: [defaultFormat, 'HH:mm:ss'],
18
+ };
19
+ const icon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" ' +
20
+ 'viewBox="0 0 24 24" fill="none" stroke="currentColor" ' +
21
+ 'stroke-width="2" stroke-linecap="round" stroke-linejoin="round" ' +
22
+ 'class="lucide lucide-clock"><circle cx="12" cy="12" r="10"/>' +
23
+ '<polyline points="12 6 12 12 16 14"/></svg>';
24
+ exports.default = (0, helper_1.getPlugin)({ type, defaultFormat, icon, formatsByLang });
25
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../src/date/time.ts"],"names":[],"mappings":";;AACA,qCAAqC;AAErC,MAAM,IAAI,GAAG,MAAM,CAAC;AAEpB,MAAM,aAAa,GAAG,OAAO,CAAC;AAE9B,MAAM,aAAa,GAA2B;IAC5C,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC;IACxD,EAAE,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,CAAC;IACzC,EAAE,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,CAAC;IACzC,EAAE,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC;IAC3C,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC;IAC1C,EAAE,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC;IACxC,EAAE,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC;IAC/B,EAAE,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC;IACxC,EAAE,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC;IACxC,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC;IAC1C,EAAE,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC;CAChC,CAAC;AAEF,MAAM,IAAI,GACR,iEAAiE;IACjE,wDAAwD;IACxD,kEAAkE;IAClE,8DAA8D;IAC9D,6CAA6C,CAAC;AAEhD,kBAAe,IAAA,kBAAS,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/date/types.ts"],"names":[],"mappings":""}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ellipse = exports.rectangle = exports.line = exports.barcodes = exports.table = exports.svg = exports.image = exports.multiVariableText = exports.text = exports.builtInPlugins = void 0;
6
+ exports.select = exports.time = exports.date = exports.dateTime = exports.ellipse = exports.rectangle = exports.line = exports.barcodes = exports.table = exports.svg = exports.image = exports.multiVariableText = exports.text = exports.builtInPlugins = void 0;
7
7
  const index_js_1 = __importDefault(require("./multiVariableText/index.js"));
8
8
  exports.multiVariableText = index_js_1.default;
9
9
  const index_js_2 = __importDefault(require("./text/index.js"));
@@ -21,6 +21,14 @@ exports.table = index_js_4.default;
21
21
  const rectAndEllipse_js_1 = require("./shapes/rectAndEllipse.js");
22
22
  Object.defineProperty(exports, "rectangle", { enumerable: true, get: function () { return rectAndEllipse_js_1.rectangle; } });
23
23
  Object.defineProperty(exports, "ellipse", { enumerable: true, get: function () { return rectAndEllipse_js_1.ellipse; } });
24
+ const dateTime_js_1 = __importDefault(require("./date/dateTime.js"));
25
+ exports.dateTime = dateTime_js_1.default;
26
+ const date_js_1 = __importDefault(require("./date/date.js"));
27
+ exports.date = date_js_1.default;
28
+ const time_js_1 = __importDefault(require("./date/time.js"));
29
+ exports.time = time_js_1.default;
30
+ const index_js_5 = __importDefault(require("./select/index.js"));
31
+ exports.select = index_js_5.default;
24
32
  const builtInPlugins = { Text: index_js_2.default };
25
33
  exports.builtInPlugins = builtInPlugins;
26
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,4EAA6D;AAe3D,4BAfK,kBAAiB,CAeL;AAdnB,+DAAmC;AAajC,eAbK,kBAAI,CAaL;AAZN,mEAAwC;AActC,gBAdK,kBAAK,CAcL;AAbP,+DAAoC;AAclC,cAdK,gBAAG,CAcL;AAbL,mEAA2C;AAezC,mBAfK,kBAAQ,CAeL;AAdV,+DAAoC;AAelC,eAfK,iBAAI,CAeL;AAdN,iEAAsC;AAYpC,gBAZK,kBAAK,CAYL;AAXP,kEAAgE;AAc9D,0FAdO,6BAAS,OAcP;AACT,wFAfkB,2BAAO,OAelB;AAbT,MAAM,cAAc,GAAG,EAAE,IAAI,EAAE,kBAAI,EAAE,CAAC;AAGpC,wCAAc"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,4EAA6D;AAmB3D,4BAnBK,kBAAiB,CAmBL;AAlBnB,+DAAmC;AAiBjC,eAjBK,kBAAI,CAiBL;AAhBN,mEAAwC;AAkBtC,gBAlBK,kBAAK,CAkBL;AAjBP,+DAAoC;AAkBlC,cAlBK,gBAAG,CAkBL;AAjBL,mEAA2C;AAmBzC,mBAnBK,kBAAQ,CAmBL;AAlBV,+DAAoC;AAmBlC,eAnBK,iBAAI,CAmBL;AAlBN,iEAAsC;AAgBpC,gBAhBK,kBAAK,CAgBL;AAfP,kEAAgE;AAkB9D,0FAlBO,6BAAS,OAkBP;AACT,wFAnBkB,2BAAO,OAmBlB;AAlBT,qEAA0C;AAmBxC,mBAnBK,qBAAQ,CAmBL;AAlBV,6DAAkC;AAmBhC,eAnBK,iBAAI,CAmBL;AAlBN,6DAAkC;AAmBhC,eAnBK,iBAAI,CAmBL;AAlBN,iEAAuC;AAmBrC,iBAnBK,kBAAM,CAmBL;AAjBR,MAAM,cAAc,GAAG,EAAE,IAAI,EAAE,kBAAI,EAAE,CAAC;AAGpC,wCAAc"}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const propPanel_1 = require("../text/propPanel");
7
+ const text_1 = __importDefault(require("../text"));
8
+ const selectIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down"><path d="m6 9 6 6 6-6"/></svg>';
9
+ const addOptions = (props) => {
10
+ const { rootElement, changeSchemas, activeSchema, i18n } = props;
11
+ rootElement.style.width = '100%';
12
+ const selectSchema = activeSchema;
13
+ const currentOptions = selectSchema.options ? [...selectSchema.options] : [];
14
+ const inputStyle = {
15
+ width: '100%',
16
+ padding: '6.25px 11px',
17
+ border: '1px solid #ccc',
18
+ borderRadius: '4px',
19
+ };
20
+ const buttonStyle = { border: 'none', borderRadius: '4px', cursor: 'pointer' };
21
+ const updateSchemas = () => {
22
+ changeSchemas([
23
+ { key: 'options', value: currentOptions, schemaId: activeSchema.id },
24
+ { key: 'content', value: currentOptions[0] || '', schemaId: activeSchema.id },
25
+ ]);
26
+ };
27
+ const formContainer = document.createElement('div');
28
+ Object.assign(formContainer.style, {
29
+ width: '100%',
30
+ display: 'flex',
31
+ alignItems: 'center',
32
+ marginBottom: '10px',
33
+ });
34
+ const input = document.createElement('input');
35
+ input.type = 'text';
36
+ input.placeholder = i18n('schemas.select.optionPlaceholder');
37
+ Object.assign(input.style, inputStyle, { marginRight: '10px' });
38
+ const addButton = document.createElement('button');
39
+ addButton.textContent = '+';
40
+ Object.assign(addButton.style, buttonStyle, {
41
+ width: '25px',
42
+ height: '25px',
43
+ padding: '4px 8px',
44
+ });
45
+ addButton.addEventListener('click', () => {
46
+ const newValue = input.value.trim();
47
+ if (newValue) {
48
+ currentOptions.push(newValue);
49
+ updateSchemas();
50
+ renderOptions();
51
+ input.value = '';
52
+ }
53
+ });
54
+ formContainer.appendChild(input);
55
+ formContainer.appendChild(addButton);
56
+ const optionsList = document.createElement('ul');
57
+ Object.assign(optionsList.style, { listStyle: 'none', padding: '0' });
58
+ const renderOptions = () => {
59
+ optionsList.innerHTML = '';
60
+ currentOptions.forEach((option, index) => {
61
+ const li = document.createElement('li');
62
+ Object.assign(li.style, { display: 'flex', alignItems: 'center', marginBottom: '5px' });
63
+ const optionInput = document.createElement('input');
64
+ optionInput.type = 'text';
65
+ optionInput.value = option;
66
+ Object.assign(optionInput.style, inputStyle, { marginRight: '10px' });
67
+ optionInput.addEventListener('change', () => {
68
+ currentOptions[index] = optionInput.value;
69
+ updateSchemas();
70
+ });
71
+ const removeButton = document.createElement('button');
72
+ removeButton.textContent = 'x';
73
+ Object.assign(removeButton.style, buttonStyle, { padding: '4px 8px' });
74
+ removeButton.addEventListener('click', () => {
75
+ currentOptions.splice(index, 1);
76
+ updateSchemas();
77
+ renderOptions();
78
+ });
79
+ li.appendChild(optionInput);
80
+ li.appendChild(removeButton);
81
+ optionsList.appendChild(li);
82
+ });
83
+ };
84
+ rootElement.appendChild(formContainer);
85
+ rootElement.appendChild(optionsList);
86
+ renderOptions();
87
+ };
88
+ const schema = {
89
+ ui: async (arg) => {
90
+ const { schema, value, onChange, rootElement, mode } = arg;
91
+ await text_1.default.ui(Object.assign(arg, { mode: 'viewer' }));
92
+ if (mode !== 'viewer' && !(mode === 'form' && schema.readOnly)) {
93
+ const buttonWidth = 30;
94
+ const selectButton = document.createElement('button');
95
+ selectButton.innerHTML = selectIcon;
96
+ const selectButtonStyle = {
97
+ position: 'absolute',
98
+ zIndex: -1,
99
+ right: `-${buttonWidth}px`,
100
+ top: '0',
101
+ padding: '0',
102
+ margin: '0',
103
+ cursor: 'pointer',
104
+ height: `${buttonWidth}px`,
105
+ width: `${buttonWidth}px`,
106
+ };
107
+ Object.assign(selectButton.style, selectButtonStyle);
108
+ rootElement.appendChild(selectButton);
109
+ const selectElement = document.createElement('select');
110
+ const selectElementStyle = {
111
+ opacity: '0',
112
+ position: 'absolute',
113
+ width: `calc(100% + ${buttonWidth}px)`,
114
+ height: '100%',
115
+ top: '0',
116
+ left: '0',
117
+ appearance: 'initial',
118
+ };
119
+ Object.assign(selectElement.style, selectElementStyle);
120
+ selectElement.value = value;
121
+ selectElement.addEventListener('change', (e) => {
122
+ if (onChange && e.target instanceof HTMLSelectElement) {
123
+ onChange && onChange({ key: 'content', value: e.target.value });
124
+ }
125
+ });
126
+ selectElement.innerHTML = schema.options
127
+ .map((option) => `<option value="${option}" ${option === value ? 'selected' : ''}>${option}</option>`)
128
+ .join('');
129
+ rootElement.appendChild(selectElement);
130
+ }
131
+ },
132
+ pdf: text_1.default.pdf,
133
+ propPanel: {
134
+ ...text_1.default.propPanel,
135
+ widgets: { ...propPanel_1.propPanel.widgets, addOptions },
136
+ schema: (propPanelProps) => {
137
+ if (typeof propPanel_1.propPanel.schema !== 'function') {
138
+ throw Error('Oops, is text schema no longer a function?');
139
+ }
140
+ return {
141
+ ...propPanel_1.propPanel.schema(propPanelProps),
142
+ '-------': { type: 'void', widget: 'Divider' },
143
+ optionsContainer: {
144
+ title: propPanelProps.i18n('schemas.select.options'),
145
+ type: 'string',
146
+ widget: 'Card',
147
+ span: 24,
148
+ properties: { options: { widget: 'addOptions', span: 24 } },
149
+ },
150
+ };
151
+ },
152
+ defaultSchema: {
153
+ ...text_1.default.propPanel.defaultSchema,
154
+ type: 'select',
155
+ content: 'option1',
156
+ options: ['option1', 'option2'],
157
+ },
158
+ },
159
+ icon: selectIcon,
160
+ };
161
+ exports.default = schema;
162
+ //# sourceMappingURL=index.js.map