@pdfme/schemas 0.0.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 +8 -0
- package/dist/cjs/__tests__/barcode.test.js +354 -0
- package/dist/cjs/__tests__/barcode.test.js.map +1 -0
- package/dist/cjs/__tests__/multiVariableText.test.js +102 -0
- package/dist/cjs/__tests__/multiVariableText.test.js.map +1 -0
- package/dist/cjs/__tests__/text.test.js +419 -0
- package/dist/cjs/__tests__/text.test.js.map +1 -0
- package/dist/cjs/__tests__/utils.test.js +193 -0
- package/dist/cjs/__tests__/utils.test.js.map +1 -0
- package/dist/cjs/src/barcodes/constants.js +21 -0
- package/dist/cjs/src/barcodes/constants.js.map +1 -0
- package/dist/cjs/src/barcodes/helper.js +161 -0
- package/dist/cjs/src/barcodes/helper.js.map +1 -0
- package/dist/cjs/src/barcodes/index.js +18 -0
- package/dist/cjs/src/barcodes/index.js.map +1 -0
- package/dist/cjs/src/barcodes/pdfRender.js +29 -0
- package/dist/cjs/src/barcodes/pdfRender.js.map +1 -0
- package/dist/cjs/src/barcodes/propPanel.js +241 -0
- package/dist/cjs/src/barcodes/propPanel.js.map +1 -0
- package/dist/cjs/src/barcodes/types.js +3 -0
- package/dist/cjs/src/barcodes/types.js.map +1 -0
- package/dist/cjs/src/barcodes/uiRender.js +91 -0
- package/dist/cjs/src/barcodes/uiRender.js.map +1 -0
- package/dist/cjs/src/checkbox/index.js +62 -0
- package/dist/cjs/src/checkbox/index.js.map +1 -0
- package/dist/cjs/src/constants.js +6 -0
- package/dist/cjs/src/constants.js.map +1 -0
- package/dist/cjs/src/date/date.js +9 -0
- package/dist/cjs/src/date/date.js.map +1 -0
- package/dist/cjs/src/date/dateTime.js +9 -0
- package/dist/cjs/src/date/dateTime.js.map +1 -0
- package/dist/cjs/src/date/helper.js +462 -0
- package/dist/cjs/src/date/helper.js.map +1 -0
- package/dist/cjs/src/date/time.js +9 -0
- package/dist/cjs/src/date/time.js.map +1 -0
- package/dist/cjs/src/date/types.js +3 -0
- package/dist/cjs/src/date/types.js.map +1 -0
- package/dist/cjs/src/graphics/image.js +172 -0
- package/dist/cjs/src/graphics/image.js.map +1 -0
- package/dist/cjs/src/graphics/imagehelper.js +124 -0
- package/dist/cjs/src/graphics/imagehelper.js.map +1 -0
- package/dist/cjs/src/graphics/svg.js +109 -0
- package/dist/cjs/src/graphics/svg.js.map +1 -0
- package/dist/cjs/src/index.js +41 -0
- package/dist/cjs/src/index.js.map +1 -0
- package/dist/cjs/src/multiVariableText/helper.js +55 -0
- package/dist/cjs/src/multiVariableText/helper.js.map +1 -0
- package/dist/cjs/src/multiVariableText/index.js +16 -0
- package/dist/cjs/src/multiVariableText/index.js.map +1 -0
- package/dist/cjs/src/multiVariableText/pdfRender.js +20 -0
- package/dist/cjs/src/multiVariableText/pdfRender.js.map +1 -0
- package/dist/cjs/src/multiVariableText/propPanel.js +148 -0
- package/dist/cjs/src/multiVariableText/propPanel.js.map +1 -0
- package/dist/cjs/src/multiVariableText/types.js +3 -0
- package/dist/cjs/src/multiVariableText/types.js.map +1 -0
- package/dist/cjs/src/multiVariableText/uiRender.js +146 -0
- package/dist/cjs/src/multiVariableText/uiRender.js.map +1 -0
- package/dist/cjs/src/radioGroup/index.js +93 -0
- package/dist/cjs/src/radioGroup/index.js.map +1 -0
- package/dist/cjs/src/select/index.js +170 -0
- package/dist/cjs/src/select/index.js.map +1 -0
- package/dist/cjs/src/shapes/line.js +76 -0
- package/dist/cjs/src/shapes/line.js.map +1 -0
- package/dist/cjs/src/shapes/rectAndEllipse.js +140 -0
- package/dist/cjs/src/shapes/rectAndEllipse.js.map +1 -0
- package/dist/cjs/src/tables/cell.js +126 -0
- package/dist/cjs/src/tables/cell.js.map +1 -0
- package/dist/cjs/src/tables/classes.js +467 -0
- package/dist/cjs/src/tables/classes.js.map +1 -0
- package/dist/cjs/src/tables/dynamicTemplate.js +66 -0
- package/dist/cjs/src/tables/dynamicTemplate.js.map +1 -0
- package/dist/cjs/src/tables/helper.js +189 -0
- package/dist/cjs/src/tables/helper.js.map +1 -0
- package/dist/cjs/src/tables/index.js +15 -0
- package/dist/cjs/src/tables/index.js.map +1 -0
- package/dist/cjs/src/tables/pdfRender.js +109 -0
- package/dist/cjs/src/tables/pdfRender.js.map +1 -0
- package/dist/cjs/src/tables/propPanel.js +108 -0
- package/dist/cjs/src/tables/propPanel.js.map +1 -0
- package/dist/cjs/src/tables/tableHelper.js +200 -0
- package/dist/cjs/src/tables/tableHelper.js.map +1 -0
- package/dist/cjs/src/tables/types.js +3 -0
- package/dist/cjs/src/tables/types.js.map +1 -0
- package/dist/cjs/src/tables/uiRender.js +368 -0
- package/dist/cjs/src/tables/uiRender.js.map +1 -0
- package/dist/cjs/src/text/constants.js +97 -0
- package/dist/cjs/src/text/constants.js.map +1 -0
- package/dist/cjs/src/text/extraFormatter.js +49 -0
- package/dist/cjs/src/text/extraFormatter.js.map +1 -0
- package/dist/cjs/src/text/helper.js +498 -0
- package/dist/cjs/src/text/helper.js.map +1 -0
- package/dist/cjs/src/text/icons/index.js +16 -0
- package/dist/cjs/src/text/icons/index.js.map +1 -0
- package/dist/cjs/src/text/index.js +15 -0
- package/dist/cjs/src/text/index.js.map +1 -0
- package/dist/cjs/src/text/pdfRender.js +167 -0
- package/dist/cjs/src/text/pdfRender.js.map +1 -0
- package/dist/cjs/src/text/propPanel.js +161 -0
- package/dist/cjs/src/text/propPanel.js.map +1 -0
- package/dist/cjs/src/text/types.js +3 -0
- package/dist/cjs/src/text/types.js.map +1 -0
- package/dist/cjs/src/text/uiRender.js +224 -0
- package/dist/cjs/src/text/uiRender.js.map +1 -0
- package/dist/cjs/src/utils.js +230 -0
- package/dist/cjs/src/utils.js.map +1 -0
- package/dist/esm/__tests__/barcode.test.js +349 -0
- package/dist/esm/__tests__/barcode.test.js.map +1 -0
- package/dist/esm/__tests__/multiVariableText.test.js +100 -0
- package/dist/esm/__tests__/multiVariableText.test.js.map +1 -0
- package/dist/esm/__tests__/text.test.js +384 -0
- package/dist/esm/__tests__/text.test.js.map +1 -0
- package/dist/esm/__tests__/utils.test.js +191 -0
- package/dist/esm/__tests__/utils.test.js.map +1 -0
- package/dist/esm/src/barcodes/constants.js +18 -0
- package/dist/esm/src/barcodes/constants.js.map +1 -0
- package/dist/esm/src/barcodes/helper.js +151 -0
- package/dist/esm/src/barcodes/helper.js.map +1 -0
- package/dist/esm/src/barcodes/index.js +16 -0
- package/dist/esm/src/barcodes/index.js.map +1 -0
- package/dist/esm/src/barcodes/pdfRender.js +25 -0
- package/dist/esm/src/barcodes/pdfRender.js.map +1 -0
- package/dist/esm/src/barcodes/propPanel.js +237 -0
- package/dist/esm/src/barcodes/propPanel.js.map +1 -0
- package/dist/esm/src/barcodes/types.js +2 -0
- package/dist/esm/src/barcodes/types.js.map +1 -0
- package/dist/esm/src/barcodes/uiRender.js +87 -0
- package/dist/esm/src/barcodes/uiRender.js.map +1 -0
- package/dist/esm/src/checkbox/index.js +57 -0
- package/dist/esm/src/checkbox/index.js.map +1 -0
- package/dist/esm/src/constants.js +3 -0
- package/dist/esm/src/constants.js.map +1 -0
- package/dist/esm/src/date/date.js +7 -0
- package/dist/esm/src/date/date.js.map +1 -0
- package/dist/esm/src/date/dateTime.js +7 -0
- package/dist/esm/src/date/dateTime.js.map +1 -0
- package/dist/esm/src/date/helper.js +422 -0
- package/dist/esm/src/date/helper.js.map +1 -0
- package/dist/esm/src/date/time.js +7 -0
- package/dist/esm/src/date/time.js.map +1 -0
- package/dist/esm/src/date/types.js +2 -0
- package/dist/esm/src/date/types.js.map +1 -0
- package/dist/esm/src/graphics/image.js +170 -0
- package/dist/esm/src/graphics/image.js.map +1 -0
- package/dist/esm/src/graphics/imagehelper.js +120 -0
- package/dist/esm/src/graphics/imagehelper.js.map +1 -0
- package/dist/esm/src/graphics/svg.js +107 -0
- package/dist/esm/src/graphics/svg.js.map +1 -0
- package/dist/esm/src/index.js +21 -0
- package/dist/esm/src/index.js.map +1 -0
- package/dist/esm/src/multiVariableText/helper.js +50 -0
- package/dist/esm/src/multiVariableText/helper.js.map +1 -0
- package/dist/esm/src/multiVariableText/index.js +14 -0
- package/dist/esm/src/multiVariableText/index.js.map +1 -0
- package/dist/esm/src/multiVariableText/pdfRender.js +16 -0
- package/dist/esm/src/multiVariableText/pdfRender.js.map +1 -0
- package/dist/esm/src/multiVariableText/propPanel.js +145 -0
- package/dist/esm/src/multiVariableText/propPanel.js.map +1 -0
- package/dist/esm/src/multiVariableText/types.js +2 -0
- package/dist/esm/src/multiVariableText/types.js.map +1 -0
- package/dist/esm/src/multiVariableText/uiRender.js +142 -0
- package/dist/esm/src/multiVariableText/uiRender.js.map +1 -0
- package/dist/esm/src/radioGroup/index.js +88 -0
- package/dist/esm/src/radioGroup/index.js.map +1 -0
- package/dist/esm/src/select/index.js +165 -0
- package/dist/esm/src/select/index.js.map +1 -0
- package/dist/esm/src/shapes/line.js +74 -0
- package/dist/esm/src/shapes/line.js.map +1 -0
- package/dist/esm/src/shapes/rectAndEllipse.js +137 -0
- package/dist/esm/src/shapes/rectAndEllipse.js.map +1 -0
- package/dist/esm/src/tables/cell.js +121 -0
- package/dist/esm/src/tables/cell.js.map +1 -0
- package/dist/esm/src/tables/classes.js +460 -0
- package/dist/esm/src/tables/classes.js.map +1 -0
- package/dist/esm/src/tables/dynamicTemplate.js +62 -0
- package/dist/esm/src/tables/dynamicTemplate.js.map +1 -0
- package/dist/esm/src/tables/helper.js +181 -0
- package/dist/esm/src/tables/helper.js.map +1 -0
- package/dist/esm/src/tables/index.js +13 -0
- package/dist/esm/src/tables/index.js.map +1 -0
- package/dist/esm/src/tables/pdfRender.js +102 -0
- package/dist/esm/src/tables/pdfRender.js.map +1 -0
- package/dist/esm/src/tables/propPanel.js +105 -0
- package/dist/esm/src/tables/propPanel.js.map +1 -0
- package/dist/esm/src/tables/tableHelper.js +197 -0
- package/dist/esm/src/tables/tableHelper.js.map +1 -0
- package/dist/esm/src/tables/types.js +2 -0
- package/dist/esm/src/tables/types.js.map +1 -0
- package/dist/esm/src/tables/uiRender.js +361 -0
- package/dist/esm/src/tables/uiRender.js.map +1 -0
- package/dist/esm/src/text/constants.js +94 -0
- package/dist/esm/src/text/constants.js.map +1 -0
- package/dist/esm/src/text/extraFormatter.js +45 -0
- package/dist/esm/src/text/extraFormatter.js.map +1 -0
- package/dist/esm/src/text/helper.js +451 -0
- package/dist/esm/src/text/helper.js.map +1 -0
- package/dist/esm/src/text/icons/index.js +13 -0
- package/dist/esm/src/text/icons/index.js.map +1 -0
- package/dist/esm/src/text/index.js +13 -0
- package/dist/esm/src/text/index.js.map +1 -0
- package/dist/esm/src/text/pdfRender.js +163 -0
- package/dist/esm/src/text/pdfRender.js.map +1 -0
- package/dist/esm/src/text/propPanel.js +158 -0
- package/dist/esm/src/text/propPanel.js.map +1 -0
- package/dist/esm/src/text/types.js +2 -0
- package/dist/esm/src/text/types.js.map +1 -0
- package/dist/esm/src/text/uiRender.js +217 -0
- package/dist/esm/src/text/uiRender.js.map +1 -0
- package/dist/esm/src/utils.js +218 -0
- package/dist/esm/src/utils.js.map +1 -0
- package/dist/node/__tests__/barcode.test.js +354 -0
- package/dist/node/__tests__/barcode.test.js.map +1 -0
- package/dist/node/__tests__/multiVariableText.test.js +102 -0
- package/dist/node/__tests__/multiVariableText.test.js.map +1 -0
- package/dist/node/__tests__/text.test.js +419 -0
- package/dist/node/__tests__/text.test.js.map +1 -0
- package/dist/node/__tests__/utils.test.js +193 -0
- package/dist/node/__tests__/utils.test.js.map +1 -0
- package/dist/node/src/barcodes/constants.js +21 -0
- package/dist/node/src/barcodes/constants.js.map +1 -0
- package/dist/node/src/barcodes/helper.js +161 -0
- package/dist/node/src/barcodes/helper.js.map +1 -0
- package/dist/node/src/barcodes/index.js +18 -0
- package/dist/node/src/barcodes/index.js.map +1 -0
- package/dist/node/src/barcodes/pdfRender.js +29 -0
- package/dist/node/src/barcodes/pdfRender.js.map +1 -0
- package/dist/node/src/barcodes/propPanel.js +241 -0
- package/dist/node/src/barcodes/propPanel.js.map +1 -0
- package/dist/node/src/barcodes/types.js +3 -0
- package/dist/node/src/barcodes/types.js.map +1 -0
- package/dist/node/src/barcodes/uiRender.js +91 -0
- package/dist/node/src/barcodes/uiRender.js.map +1 -0
- package/dist/node/src/checkbox/index.js +62 -0
- package/dist/node/src/checkbox/index.js.map +1 -0
- package/dist/node/src/constants.js +6 -0
- package/dist/node/src/constants.js.map +1 -0
- package/dist/node/src/date/date.js +9 -0
- package/dist/node/src/date/date.js.map +1 -0
- package/dist/node/src/date/dateTime.js +9 -0
- package/dist/node/src/date/dateTime.js.map +1 -0
- package/dist/node/src/date/helper.js +462 -0
- package/dist/node/src/date/helper.js.map +1 -0
- package/dist/node/src/date/time.js +9 -0
- package/dist/node/src/date/time.js.map +1 -0
- package/dist/node/src/date/types.js +3 -0
- package/dist/node/src/date/types.js.map +1 -0
- package/dist/node/src/graphics/image.js +172 -0
- package/dist/node/src/graphics/image.js.map +1 -0
- package/dist/node/src/graphics/imagehelper.js +124 -0
- package/dist/node/src/graphics/imagehelper.js.map +1 -0
- package/dist/node/src/graphics/svg.js +109 -0
- package/dist/node/src/graphics/svg.js.map +1 -0
- package/dist/node/src/index.js +41 -0
- package/dist/node/src/index.js.map +1 -0
- package/dist/node/src/multiVariableText/helper.js +55 -0
- package/dist/node/src/multiVariableText/helper.js.map +1 -0
- package/dist/node/src/multiVariableText/index.js +16 -0
- package/dist/node/src/multiVariableText/index.js.map +1 -0
- package/dist/node/src/multiVariableText/pdfRender.js +20 -0
- package/dist/node/src/multiVariableText/pdfRender.js.map +1 -0
- package/dist/node/src/multiVariableText/propPanel.js +148 -0
- package/dist/node/src/multiVariableText/propPanel.js.map +1 -0
- package/dist/node/src/multiVariableText/types.js +3 -0
- package/dist/node/src/multiVariableText/types.js.map +1 -0
- package/dist/node/src/multiVariableText/uiRender.js +146 -0
- package/dist/node/src/multiVariableText/uiRender.js.map +1 -0
- package/dist/node/src/radioGroup/index.js +93 -0
- package/dist/node/src/radioGroup/index.js.map +1 -0
- package/dist/node/src/select/index.js +170 -0
- package/dist/node/src/select/index.js.map +1 -0
- package/dist/node/src/shapes/line.js +76 -0
- package/dist/node/src/shapes/line.js.map +1 -0
- package/dist/node/src/shapes/rectAndEllipse.js +140 -0
- package/dist/node/src/shapes/rectAndEllipse.js.map +1 -0
- package/dist/node/src/tables/cell.js +126 -0
- package/dist/node/src/tables/cell.js.map +1 -0
- package/dist/node/src/tables/classes.js +467 -0
- package/dist/node/src/tables/classes.js.map +1 -0
- package/dist/node/src/tables/dynamicTemplate.js +66 -0
- package/dist/node/src/tables/dynamicTemplate.js.map +1 -0
- package/dist/node/src/tables/helper.js +189 -0
- package/dist/node/src/tables/helper.js.map +1 -0
- package/dist/node/src/tables/index.js +15 -0
- package/dist/node/src/tables/index.js.map +1 -0
- package/dist/node/src/tables/pdfRender.js +109 -0
- package/dist/node/src/tables/pdfRender.js.map +1 -0
- package/dist/node/src/tables/propPanel.js +108 -0
- package/dist/node/src/tables/propPanel.js.map +1 -0
- package/dist/node/src/tables/tableHelper.js +200 -0
- package/dist/node/src/tables/tableHelper.js.map +1 -0
- package/dist/node/src/tables/types.js +3 -0
- package/dist/node/src/tables/types.js.map +1 -0
- package/dist/node/src/tables/uiRender.js +368 -0
- package/dist/node/src/tables/uiRender.js.map +1 -0
- package/dist/node/src/text/constants.js +97 -0
- package/dist/node/src/text/constants.js.map +1 -0
- package/dist/node/src/text/extraFormatter.js +49 -0
- package/dist/node/src/text/extraFormatter.js.map +1 -0
- package/dist/node/src/text/helper.js +498 -0
- package/dist/node/src/text/helper.js.map +1 -0
- package/dist/node/src/text/icons/index.js +16 -0
- package/dist/node/src/text/icons/index.js.map +1 -0
- package/dist/node/src/text/index.js +15 -0
- package/dist/node/src/text/index.js.map +1 -0
- package/dist/node/src/text/pdfRender.js +167 -0
- package/dist/node/src/text/pdfRender.js.map +1 -0
- package/dist/node/src/text/propPanel.js +161 -0
- package/dist/node/src/text/propPanel.js.map +1 -0
- package/dist/node/src/text/types.js +3 -0
- package/dist/node/src/text/types.js.map +1 -0
- package/dist/node/src/text/uiRender.js +224 -0
- package/dist/node/src/text/uiRender.js.map +1 -0
- package/dist/node/src/utils.js +230 -0
- package/dist/node/src/utils.js.map +1 -0
- package/dist/types/__tests__/barcode.test.d.ts +1 -0
- package/dist/types/__tests__/multiVariableText.test.d.ts +1 -0
- package/dist/types/__tests__/text.test.d.ts +1 -0
- package/dist/types/__tests__/utils.test.d.ts +1 -0
- package/dist/types/src/barcodes/constants.d.ts +4 -0
- package/dist/types/src/barcodes/helper.d.ts +21 -0
- package/dist/types/src/barcodes/index.d.ts +4 -0
- package/dist/types/src/barcodes/pdfRender.d.ts +3 -0
- package/dist/types/src/barcodes/propPanel.d.ts +3 -0
- package/dist/types/src/barcodes/types.d.ts +10 -0
- package/dist/types/src/barcodes/uiRender.d.ts +3 -0
- package/dist/types/src/checkbox/index.d.ts +6 -0
- package/dist/types/src/constants.d.ts +2 -0
- package/dist/types/src/date/date.d.ts +2 -0
- package/dist/types/src/date/dateTime.d.ts +2 -0
- package/dist/types/src/date/helper.d.ts +8 -0
- package/dist/types/src/date/time.d.ts +2 -0
- package/dist/types/src/date/types.d.ts +17 -0
- package/dist/types/src/graphics/image.d.ts +5 -0
- package/dist/types/src/graphics/imagehelper.d.ts +4 -0
- package/dist/types/src/graphics/svg.d.ts +4 -0
- package/dist/types/src/index.d.ts +19 -0
- package/dist/types/src/multiVariableText/helper.d.ts +3 -0
- package/dist/types/src/multiVariableText/index.d.ts +4 -0
- package/dist/types/src/multiVariableText/pdfRender.d.ts +3 -0
- package/dist/types/src/multiVariableText/propPanel.d.ts +3 -0
- package/dist/types/src/multiVariableText/types.d.ts +5 -0
- package/dist/types/src/multiVariableText/uiRender.d.ts +3 -0
- package/dist/types/src/radioGroup/index.d.ts +7 -0
- package/dist/types/src/select/index.d.ts +7 -0
- package/dist/types/src/shapes/line.d.ts +6 -0
- package/dist/types/src/shapes/rectAndEllipse.d.ts +175 -0
- package/dist/types/src/tables/cell.d.ts +4 -0
- package/dist/types/src/tables/classes.d.ts +69 -0
- package/dist/types/src/tables/dynamicTemplate.d.ts +7 -0
- package/dist/types/src/tables/helper.d.ts +265 -0
- package/dist/types/src/tables/index.d.ts +4 -0
- package/dist/types/src/tables/pdfRender.d.ts +3 -0
- package/dist/types/src/tables/propPanel.d.ts +3 -0
- package/dist/types/src/tables/tableHelper.d.ts +10 -0
- package/dist/types/src/tables/types.d.ts +88 -0
- package/dist/types/src/tables/uiRender.d.ts +3 -0
- package/dist/types/src/text/constants.d.ts +23 -0
- package/dist/types/src/text/extraFormatter.d.ts +25 -0
- package/dist/types/src/text/helper.d.ts +39 -0
- package/dist/types/src/text/icons/index.d.ts +9 -0
- package/dist/types/src/text/index.d.ts +4 -0
- package/dist/types/src/text/pdfRender.d.ts +3 -0
- package/dist/types/src/text/propPanel.d.ts +3 -0
- package/dist/types/src/text/types.d.ts +28 -0
- package/dist/types/src/text/uiRender.d.ts +11 -0
- package/dist/types/src/utils.d.ts +40 -0
- package/eslint.config.mjs +22 -0
- package/package.json +97 -0
- package/src/barcodes/constants.ts +20 -0
- package/src/barcodes/helper.ts +187 -0
- package/src/barcodes/index.ts +23 -0
- package/src/barcodes/pdfRender.ts +37 -0
- package/src/barcodes/propPanel.ts +249 -0
- package/src/barcodes/types.ts +12 -0
- package/src/barcodes/uiRender.ts +94 -0
- package/src/checkbox/index.ts +70 -0
- package/src/constants.ts +2 -0
- package/src/date/date.ts +9 -0
- package/src/date/dateTime.ts +9 -0
- package/src/date/helper.ts +496 -0
- package/src/date/time.ts +9 -0
- package/src/date/types.ts +19 -0
- package/src/graphics/image.ts +201 -0
- package/src/graphics/imagehelper.ts +156 -0
- package/src/graphics/svg.ts +118 -0
- package/src/index.ts +39 -0
- package/src/multiVariableText/helper.ts +65 -0
- package/src/multiVariableText/index.ts +16 -0
- package/src/multiVariableText/pdfRender.ts +21 -0
- package/src/multiVariableText/propPanel.ts +160 -0
- package/src/multiVariableText/types.ts +6 -0
- package/src/multiVariableText/uiRender.ts +170 -0
- package/src/radioGroup/index.ts +115 -0
- package/src/select/index.ts +204 -0
- package/src/shapes/line.ts +94 -0
- package/src/shapes/rectAndEllipse.ts +152 -0
- package/src/tables/cell.ts +152 -0
- package/src/tables/classes.ts +402 -0
- package/src/tables/dynamicTemplate.ts +88 -0
- package/src/tables/helper.ts +216 -0
- package/src/tables/index.ts +15 -0
- package/src/tables/pdfRender.ts +144 -0
- package/src/tables/propPanel.ts +111 -0
- package/src/tables/tableHelper.ts +288 -0
- package/src/tables/types.ts +87 -0
- package/src/tables/uiRender.ts +436 -0
- package/src/text/constants.ts +104 -0
- package/src/text/extraFormatter.ts +83 -0
- package/src/text/helper.ts +550 -0
- package/src/text/icons/index.ts +30 -0
- package/src/text/index.ts +16 -0
- package/src/text/pdfRender.ts +239 -0
- package/src/text/propPanel.ts +184 -0
- package/src/text/types.ts +30 -0
- package/src/text/uiRender.ts +288 -0
- package/src/utils.ts +281 -0
- package/tsconfig.cjs.json +10 -0
- package/tsconfig.esm.json +11 -0
- package/tsconfig.json +6 -0
- package/tsconfig.node.json +11 -0
|
@@ -0,0 +1,496 @@
|
|
|
1
|
+
import type * as CSS from 'csstype';
|
|
2
|
+
|
|
3
|
+
import AirDatepicker from 'air-datepicker';
|
|
4
|
+
import type { AirDatepickerLocale, AirDatepickerButton, AirDatepickerDate } from 'air-datepicker';
|
|
5
|
+
import localeAr from 'air-datepicker/locale/ar';
|
|
6
|
+
import localeBg from 'air-datepicker/locale/bg';
|
|
7
|
+
import localeCa from 'air-datepicker/locale/ca';
|
|
8
|
+
import localeCs from 'air-datepicker/locale/cs';
|
|
9
|
+
import localeDa from 'air-datepicker/locale/da';
|
|
10
|
+
import localeDe from 'air-datepicker/locale/de';
|
|
11
|
+
import localeEl from 'air-datepicker/locale/el';
|
|
12
|
+
import localeEn from 'air-datepicker/locale/en';
|
|
13
|
+
import localeEs from 'air-datepicker/locale/es';
|
|
14
|
+
import localeEu from 'air-datepicker/locale/eu';
|
|
15
|
+
import localeFi from 'air-datepicker/locale/fi';
|
|
16
|
+
import localeFr from 'air-datepicker/locale/fr';
|
|
17
|
+
import localeHr from 'air-datepicker/locale/hr';
|
|
18
|
+
import localeHu from 'air-datepicker/locale/hu';
|
|
19
|
+
import localeId from 'air-datepicker/locale/id';
|
|
20
|
+
import localeIt from 'air-datepicker/locale/it';
|
|
21
|
+
import localeJa from 'air-datepicker/locale/ja';
|
|
22
|
+
import localeKo from 'air-datepicker/locale/ko';
|
|
23
|
+
import localeNb from 'air-datepicker/locale/nb';
|
|
24
|
+
import localeNl from 'air-datepicker/locale/nl';
|
|
25
|
+
import localeTh from 'air-datepicker/locale/th';
|
|
26
|
+
import localePl from 'air-datepicker/locale/pl';
|
|
27
|
+
import localePtBR from 'air-datepicker/locale/pt-BR';
|
|
28
|
+
import localePt from 'air-datepicker/locale/pt';
|
|
29
|
+
import localeRo from 'air-datepicker/locale/ro';
|
|
30
|
+
import localeRu from 'air-datepicker/locale/ru';
|
|
31
|
+
import localeSi from 'air-datepicker/locale/si';
|
|
32
|
+
import localeSk from 'air-datepicker/locale/sk';
|
|
33
|
+
import localeSl from 'air-datepicker/locale/sl';
|
|
34
|
+
import localeSv from 'air-datepicker/locale/sv';
|
|
35
|
+
import localeTr from 'air-datepicker/locale/tr';
|
|
36
|
+
import localeUk from 'air-datepicker/locale/uk';
|
|
37
|
+
import localeZh from 'air-datepicker/locale/zh';
|
|
38
|
+
|
|
39
|
+
import * as dateFns from 'date-fns/locale';
|
|
40
|
+
import { format } from 'date-fns';
|
|
41
|
+
|
|
42
|
+
import { Plugin, getFallbackFontName, DEFAULT_FONT_NAME, PropPanelSchema } from '@pdfme/common';
|
|
43
|
+
import text from '../text/index.js';
|
|
44
|
+
import { DEFAULT_OPACITY, HEX_COLOR_PATTERN } from '../constants.js';
|
|
45
|
+
import { mapVerticalAlignToFlex } from '../text/uiRender.js';
|
|
46
|
+
import {
|
|
47
|
+
DEFAULT_FONT_SIZE,
|
|
48
|
+
DEFAULT_ALIGNMENT,
|
|
49
|
+
VERTICAL_ALIGN_MIDDLE,
|
|
50
|
+
DEFAULT_LINE_HEIGHT,
|
|
51
|
+
DEFAULT_CHARACTER_SPACING,
|
|
52
|
+
DEFAULT_FONT_COLOR,
|
|
53
|
+
} from '../text/constants.js';
|
|
54
|
+
import { DateSchema } from './types.js';
|
|
55
|
+
import { getExtraFormatterSchema, Formatter } from '../text/extraFormatter.js';
|
|
56
|
+
import { isEditable } from '../utils.js';
|
|
57
|
+
|
|
58
|
+
interface AirDatepickerInstance {
|
|
59
|
+
selectedDates: Date[];
|
|
60
|
+
hide: () => void;
|
|
61
|
+
destroy: () => void;
|
|
62
|
+
show: () => void;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
type PickerType = 'date' | 'time' | 'dateTime';
|
|
66
|
+
|
|
67
|
+
interface Locale {
|
|
68
|
+
label: string;
|
|
69
|
+
adLocale: AirDatepickerLocale;
|
|
70
|
+
formatLocale: dateFns.Locale;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
const LOCALE_MAP: Record<string, Locale> = {
|
|
74
|
+
ar: { label: 'Arabic', adLocale: localeAr, formatLocale: dateFns.ar },
|
|
75
|
+
bg: { label: 'Bulgarian', adLocale: localeBg, formatLocale: dateFns.bg },
|
|
76
|
+
ca: { label: 'Catalan', adLocale: localeCa, formatLocale: dateFns.ca },
|
|
77
|
+
cs: { label: 'Czech', adLocale: localeCs, formatLocale: dateFns.cs },
|
|
78
|
+
da: { label: 'Danish', adLocale: localeDa, formatLocale: dateFns.da },
|
|
79
|
+
de: { label: 'German', adLocale: localeDe, formatLocale: dateFns.de },
|
|
80
|
+
el: { label: 'Greek', adLocale: localeEl, formatLocale: dateFns.el },
|
|
81
|
+
en: { label: 'English', adLocale: localeEn, formatLocale: dateFns.enUS },
|
|
82
|
+
es: { label: 'Spanish', adLocale: localeEs, formatLocale: dateFns.es },
|
|
83
|
+
eu: { label: 'Basque', adLocale: localeEu, formatLocale: dateFns.eu },
|
|
84
|
+
fi: { label: 'Finnish', adLocale: localeFi, formatLocale: dateFns.fi },
|
|
85
|
+
fr: { label: 'French', adLocale: localeFr, formatLocale: dateFns.fr },
|
|
86
|
+
hr: { label: 'Croatian', adLocale: localeHr, formatLocale: dateFns.hr },
|
|
87
|
+
hu: { label: 'Hungarian', adLocale: localeHu, formatLocale: dateFns.hu },
|
|
88
|
+
id: { label: 'Indonesian', adLocale: localeId, formatLocale: dateFns.id },
|
|
89
|
+
it: { label: 'Italian', adLocale: localeIt, formatLocale: dateFns.it },
|
|
90
|
+
ja: { label: 'Japanese', adLocale: localeJa, formatLocale: dateFns.ja },
|
|
91
|
+
ko: { label: 'Korean', adLocale: localeKo, formatLocale: dateFns.ko },
|
|
92
|
+
nb: { label: 'Norwegian Bokmål', adLocale: localeNb, formatLocale: dateFns.nb },
|
|
93
|
+
nl: { label: 'Dutch', adLocale: localeNl, formatLocale: dateFns.nl },
|
|
94
|
+
pl: { label: 'Polish', adLocale: localePl, formatLocale: dateFns.pl },
|
|
95
|
+
'pt-Br': { label: 'Portuguese', adLocale: localePtBR, formatLocale: dateFns.ptBR },
|
|
96
|
+
pt: { label: 'Portuguese', adLocale: localePt, formatLocale: dateFns.pt },
|
|
97
|
+
ro: { label: 'Romanian', adLocale: localeRo, formatLocale: dateFns.ro },
|
|
98
|
+
ru: { label: 'Russian', adLocale: localeRu, formatLocale: dateFns.ru },
|
|
99
|
+
si: { label: 'Sinhala', adLocale: localeSi, formatLocale: dateFns.enUS },
|
|
100
|
+
sk: { label: 'Slovak', adLocale: localeSk, formatLocale: dateFns.sk },
|
|
101
|
+
sl: { label: 'Slovenian', adLocale: localeSl, formatLocale: dateFns.sl },
|
|
102
|
+
sv: { label: 'Swedish', adLocale: localeSv, formatLocale: dateFns.sv },
|
|
103
|
+
th: { label: 'Thai', adLocale: localeTh, formatLocale: dateFns.th },
|
|
104
|
+
tr: { label: 'Turkish', adLocale: localeTr, formatLocale: dateFns.tr },
|
|
105
|
+
uk: { label: 'Ukrainian', adLocale: localeUk, formatLocale: dateFns.uk },
|
|
106
|
+
zh: { label: 'Chinese', adLocale: localeZh, formatLocale: dateFns.zhCN },
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
const getAirDatepickerLocale = (locale: string) => {
|
|
110
|
+
const data = LOCALE_MAP[locale];
|
|
111
|
+
if (!data) {
|
|
112
|
+
throw new Error(`Unsupported locale: ${locale}`);
|
|
113
|
+
}
|
|
114
|
+
return data;
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
const airDatepickerCss = `.air-datepicker-cell.-year-.-other-decade-,.air-datepicker-cell.-day-.-other-month-{color:var(--adp-color-other-month)}.air-datepicker-cell.-year-.-other-decade-:hover,.air-datepicker-cell.-day-.-other-month-:hover{color:var(--adp-color-other-month-hover)}.-disabled-.-focus-.air-datepicker-cell.-year-.-other-decade-,.-disabled-.-focus-.air-datepicker-cell.-day-.-other-month-{color:var(--adp-color-other-month)}.-selected-.air-datepicker-cell.-year-.-other-decade-,.-selected-.air-datepicker-cell.-day-.-other-month-{color:#fff;background:var(--adp-background-color-selected-other-month)}.-selected-.-focus-.air-datepicker-cell.-year-.-other-decade-,.-selected-.-focus-.air-datepicker-cell.-day-.-other-month-{background:var(--adp-background-color-selected-other-month-focused)}.-in-range-.air-datepicker-cell.-year-.-other-decade-,.-in-range-.air-datepicker-cell.-day-.-other-month-{background-color:var(--adp-background-color-in-range);color:var(--adp-color)}.-in-range-.-focus-.air-datepicker-cell.-year-.-other-decade-,.-in-range-.-focus-.air-datepicker-cell.-day-.-other-month-{background-color:var(--adp-background-color-in-range-focused)}.air-datepicker-cell.-year-.-other-decade-:empty,.air-datepicker-cell.-day-.-other-month-:empty{background:none;border:none}.air-datepicker-cell{border-radius:var(--adp-cell-border-radius);box-sizing:border-box;cursor:pointer;display:flex;position:relative;align-items:center;justify-content:center;z-index:1}.air-datepicker-cell.-focus-{background:var(--adp-cell-background-color-hover)}.air-datepicker-cell.-current-{color:var(--adp-color-current-date)}.air-datepicker-cell.-current-.-focus-{color:var(--adp-color)}.air-datepicker-cell.-current-.-in-range-{color:var(--adp-color-current-date)}.air-datepicker-cell.-disabled-{cursor:default;color:var(--adp-color-disabled)}.air-datepicker-cell.-disabled-.-focus-{color:var(--adp-color-disabled)}.air-datepicker-cell.-disabled-.-in-range-{color:var(--adp-color-disabled-in-range)}.air-datepicker-cell.-disabled-.-current-.-focus-{color:var(--adp-color-disabled)}.air-datepicker-cell.-in-range-{background:var(--adp-cell-background-color-in-range);border-radius:0}.air-datepicker-cell.-in-range-:hover,.air-datepicker-cell.-in-range-.-focus-{background:var(--adp-cell-background-color-in-range-hover)}.air-datepicker-cell.-range-from-{border:1px solid var(--adp-cell-border-color-in-range);background-color:var(--adp-cell-background-color-in-range);border-radius:var(--adp-cell-border-radius) 0 0 var(--adp-cell-border-radius)}.air-datepicker-cell.-range-to-{border:1px solid var(--adp-cell-border-color-in-range);background-color:var(--adp-cell-background-color-in-range);border-radius:0 var(--adp-cell-border-radius) var(--adp-cell-border-radius) 0}.air-datepicker-cell.-range-to-.-range-from-{border-radius:var(--adp-cell-border-radius)}.air-datepicker-cell.-selected-{color:#fff;border:none;background:var(--adp-cell-background-color-selected)}.air-datepicker-cell.-selected-.-current-{color:#fff;background:var(--adp-cell-background-color-selected)}.air-datepicker-cell.-selected-.-focus-{background:var(--adp-cell-background-color-selected-hover)}
|
|
118
|
+
.air-datepicker-body{transition:all var(--adp-transition-duration) var(--adp-transition-ease)}.air-datepicker-body.-hidden-{display:none}.air-datepicker-body--day-names{display:grid;grid-template-columns:repeat(7, var(--adp-day-cell-width));margin:8px 0 3px}.air-datepicker-body--day-name{color:var(--adp-day-name-color);display:flex;align-items:center;justify-content:center;flex:1;text-align:center;text-transform:uppercase;font-size:.8em}.air-datepicker-body--day-name.-clickable-{cursor:pointer}.air-datepicker-body--day-name.-clickable-:hover{color:var(--adp-day-name-color-hover)}.air-datepicker-body--cells{display:grid}.air-datepicker-body--cells.-days-{grid-template-columns:repeat(7, var(--adp-day-cell-width));grid-auto-rows:var(--adp-day-cell-height)}.air-datepicker-body--cells.-months-{grid-template-columns:repeat(3, 1fr);grid-auto-rows:var(--adp-month-cell-height)}.air-datepicker-body--cells.-years-{grid-template-columns:repeat(4, 1fr);grid-auto-rows:var(--adp-year-cell-height)}
|
|
119
|
+
.air-datepicker-nav{display:flex;justify-content:space-between;border-bottom:1px solid var(--adp-border-color-inner);min-height:var(--adp-nav-height);padding:var(--adp-padding);box-sizing:content-box}.-only-timepicker- .air-datepicker-nav{display:none}.air-datepicker-nav--title,.air-datepicker-nav--action{display:flex;cursor:pointer;align-items:center;justify-content:center}.air-datepicker-nav--action{width:var(--adp-nav-action-size);border-radius:var(--adp-border-radius);-webkit-user-select:none;-moz-user-select:none;user-select:none}.air-datepicker-nav--action:hover{background:var(--adp-background-color-hover)}.air-datepicker-nav--action:active{background:var(--adp-background-color-active)}.air-datepicker-nav--action.-disabled-{visibility:hidden}.air-datepicker-nav--action svg{width:32px;height:32px}.air-datepicker-nav--action path{fill:none;stroke:var(--adp-nav-arrow-color);stroke-width:2px}.air-datepicker-nav--title{border-radius:var(--adp-border-radius);padding:0 8px}.air-datepicker-nav--title i{font-style:normal;color:var(--adp-nav-color-secondary);margin-left:.3em}.air-datepicker-nav--title:hover{background:var(--adp-background-color-hover)}.air-datepicker-nav--title:active{background:var(--adp-background-color-active)}.air-datepicker-nav--title.-disabled-{cursor:default;background:none}
|
|
120
|
+
.air-datepicker-buttons{display:grid;grid-auto-columns:1fr;grid-auto-flow:column}.air-datepicker-button{display:inline-flex;color:var(--adp-btn-color);border-radius:var(--adp-btn-border-radius);cursor:pointer;height:var(--adp-btn-height);border:none;background:rgba(255,255,255,0)}.air-datepicker-button:hover{color:var(--adp-btn-color-hover);background:var(--adp-btn-background-color-hover)}.air-datepicker-button:focus{color:var(--adp-btn-color-hover);background:var(--adp-btn-background-color-hover);outline:none}.air-datepicker-button:active{background:var(--adp-btn-background-color-active)}.air-datepicker-button span{outline:none;display:flex;align-items:center;justify-content:center;width:100%;height:100%}
|
|
121
|
+
.air-datepicker-time{display:grid;grid-template-columns:max-content 1fr;grid-column-gap:12px;align-items:center;position:relative;padding:0 var(--adp-time-padding-inner)}.-only-timepicker- .air-datepicker-time{border-top:none}.air-datepicker-time--current{display:flex;align-items:center;flex:1;font-size:14px;text-align:center}.air-datepicker-time--current-colon{margin:0 2px 3px;line-height:1}.air-datepicker-time--current-hours,.air-datepicker-time--current-minutes{line-height:1;font-size:19px;font-family:"Century Gothic",CenturyGothic,AppleGothic,sans-serif;position:relative;z-index:1}.air-datepicker-time--current-hours:after,.air-datepicker-time--current-minutes:after{content:"";background:var(--adp-background-color-hover);border-radius:var(--adp-border-radius);position:absolute;left:-2px;top:-3px;right:-2px;bottom:-2px;z-index:-1;opacity:0}.air-datepicker-time--current-hours.-focus-:after,.air-datepicker-time--current-minutes.-focus-:after{opacity:1}.air-datepicker-time--current-ampm{text-transform:uppercase;align-self:flex-end;color:var(--adp-time-day-period-color);margin-left:6px;font-size:11px;margin-bottom:1px}.air-datepicker-time--row{display:flex;align-items:center;font-size:11px;height:17px;background:linear-gradient(to right, var(--adp-time-track-color), var(--adp-time-track-color)) left 50%/100% var(--adp-time-track-height) no-repeat}.air-datepicker-time--row:first-child{margin-bottom:4px}.air-datepicker-time--row input[type=range]{background:none;cursor:pointer;flex:1;height:100%;width:100%;padding:0;margin:0;-webkit-appearance:none}.air-datepicker-time--row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none}.air-datepicker-time--row input[type=range]::-ms-tooltip{display:none}.air-datepicker-time--row input[type=range]:hover::-webkit-slider-thumb{border-color:var(--adp-time-track-color-hover)}.air-datepicker-time--row input[type=range]:hover::-moz-range-thumb{border-color:var(--adp-time-track-color-hover)}.air-datepicker-time--row input[type=range]:hover::-ms-thumb{border-color:var(--adp-time-track-color-hover)}.air-datepicker-time--row input[type=range]:focus{outline:none}.air-datepicker-time--row input[type=range]:focus::-webkit-slider-thumb{background:var(--adp-cell-background-color-selected);border-color:var(--adp-cell-background-color-selected)}.air-datepicker-time--row input[type=range]:focus::-moz-range-thumb{background:var(--adp-cell-background-color-selected);border-color:var(--adp-cell-background-color-selected)}.air-datepicker-time--row input[type=range]:focus::-ms-thumb{background:var(--adp-cell-background-color-selected);border-color:var(--adp-cell-background-color-selected)}.air-datepicker-time--row input[type=range]::-webkit-slider-thumb{box-sizing:border-box;height:12px;width:12px;border-radius:3px;border:1px solid var(--adp-time-track-color);background:#fff;cursor:pointer;-webkit-transition:background var(--adp-transition-duration);transition:background var(--adp-transition-duration)}.air-datepicker-time--row input[type=range]::-moz-range-thumb{box-sizing:border-box;height:12px;width:12px;border-radius:3px;border:1px solid var(--adp-time-track-color);background:#fff;cursor:pointer;-moz-transition:background var(--adp-transition-duration);transition:background var(--adp-transition-duration)}.air-datepicker-time--row input[type=range]::-ms-thumb{box-sizing:border-box;height:12px;width:12px;border-radius:3px;border:1px solid var(--adp-time-track-color);background:#fff;cursor:pointer;-ms-transition:background var(--adp-transition-duration);transition:background var(--adp-transition-duration)}.air-datepicker-time--row input[type=range]::-webkit-slider-thumb{margin-top:calc(var(--adp-time-thumb-size)/2*-1)}.air-datepicker-time--row input[type=range]::-webkit-slider-runnable-track{border:none;height:var(--adp-time-track-height);cursor:pointer;color:rgba(0,0,0,0);background:rgba(0,0,0,0)}.air-datepicker-time--row input[type=range]::-moz-range-track{border:none;height:var(--adp-time-track-height);cursor:pointer;color:rgba(0,0,0,0);background:rgba(0,0,0,0)}.air-datepicker-time--row input[type=range]::-ms-track{border:none;height:var(--adp-time-track-height);cursor:pointer;color:rgba(0,0,0,0);background:rgba(0,0,0,0)}.air-datepicker-time--row input[type=range]::-ms-fill-lower{background:rgba(0,0,0,0)}.air-datepicker-time--row input[type=range]::-ms-fill-upper{background:rgba(0,0,0,0)}
|
|
122
|
+
.air-datepicker{--adp-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--adp-font-size: 14px;--adp-width: 246px;--adp-z-index: 100;--adp-padding: 4px;--adp-grid-areas: "nav" "body" "timepicker" "buttons";--adp-transition-duration: .3s;--adp-transition-ease: ease-out;--adp-transition-offset: 8px;--adp-background-color: #fff;--adp-background-color-hover: #f0f0f0;--adp-background-color-active: #eaeaea;--adp-background-color-in-range: rgba(92, 196, 239, .1);--adp-background-color-in-range-focused: rgba(92, 196, 239, .2);--adp-background-color-selected-other-month-focused: #8ad5f4;--adp-background-color-selected-other-month: #a2ddf6;--adp-color: #4a4a4a;--adp-color-secondary: #9c9c9c;--adp-accent-color: #4eb5e6;--adp-color-current-date: var(--adp-accent-color);--adp-color-other-month: #dedede;--adp-color-disabled: #aeaeae;--adp-color-disabled-in-range: #939393;--adp-color-other-month-hover: #c5c5c5;--adp-border-color: #dbdbdb;--adp-border-color-inner: #efefef;--adp-border-radius: 4px;--adp-border-color-inline: #d7d7d7;--adp-nav-height: 32px;--adp-nav-arrow-color: var(--adp-color-secondary);--adp-nav-action-size: 32px;--adp-nav-color-secondary: var(--adp-color-secondary);--adp-day-name-color: #ff9a19;--adp-day-name-color-hover: #8ad5f4;--adp-day-cell-width: 1fr;--adp-day-cell-height: 32px;--adp-month-cell-height: 42px;--adp-year-cell-height: 56px;--adp-pointer-size: 10px;--adp-poiner-border-radius: 2px;--adp-pointer-offset: 14px;--adp-cell-border-radius: 4px;--adp-cell-background-color-hover: var(--adp-background-color-hover);--adp-cell-background-color-selected: #5cc4ef;--adp-cell-background-color-selected-hover: #45bced;--adp-cell-background-color-in-range: rgba(92, 196, 239, 0.1);--adp-cell-background-color-in-range-hover: rgba(92, 196, 239, 0.2);--adp-cell-border-color-in-range: var(--adp-cell-background-color-selected);--adp-btn-height: 32px;--adp-btn-color: var(--adp-accent-color);--adp-btn-color-hover: var(--adp-color);--adp-btn-border-radius: var(--adp-border-radius);--adp-btn-background-color-hover: var(--adp-background-color-hover);--adp-btn-background-color-active: var(--adp-background-color-active);--adp-time-track-height: 1px;--adp-time-track-color: #dedede;--adp-time-track-color-hover: #b1b1b1;--adp-time-thumb-size: 12px;--adp-time-padding-inner: 10px;--adp-time-day-period-color: var(--adp-color-secondary);--adp-mobile-font-size: 16px;--adp-mobile-nav-height: 40px;--adp-mobile-width: 320px;--adp-mobile-day-cell-height: 38px;--adp-mobile-month-cell-height: 48px;--adp-mobile-year-cell-height: 64px}.air-datepicker-overlay{--adp-overlay-background-color: rgba(0, 0, 0, .3);--adp-overlay-transition-duration: .3s;--adp-overlay-transition-ease: ease-out;--adp-overlay-z-index: 99}
|
|
123
|
+
.air-datepicker{background:var(--adp-background-color);border:1px solid var(--adp-border-color);box-shadow:0 4px 12px rgba(0,0,0,.15);border-radius:var(--adp-border-radius);box-sizing:content-box;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4, max-content);grid-template-areas:var(--adp-grid-areas);font-family:var(--adp-font-family),sans-serif;font-size:var(--adp-font-size);color:var(--adp-color);width:var(--adp-width);position:absolute;transition:opacity var(--adp-transition-duration) var(--adp-transition-ease),transform var(--adp-transition-duration) var(--adp-transition-ease);z-index:var(--adp-z-index)}.air-datepicker:not(.-custom-position-){opacity:0}.air-datepicker.-from-top-{transform:translateY(calc(var(--adp-transition-offset) * -1))}.air-datepicker.-from-right-{transform:translateX(var(--adp-transition-offset))}.air-datepicker.-from-bottom-{transform:translateY(var(--adp-transition-offset))}.air-datepicker.-from-left-{transform:translateX(calc(var(--adp-transition-offset) * -1))}.air-datepicker.-active-:not(.-custom-position-){transform:translate(0, 0);opacity:1}.air-datepicker.-active-.-custom-position-{transition:none}.air-datepicker.-inline-{border-color:var(--adp-border-color-inline);box-shadow:none;position:static;left:auto;right:auto;opacity:1;transform:none}.air-datepicker.-inline- .air-datepicker--pointer{display:none}.air-datepicker.-is-mobile-{--adp-font-size: var(--adp-mobile-font-size);--adp-day-cell-height: var(--adp-mobile-day-cell-height);--adp-month-cell-height: var(--adp-mobile-month-cell-height);--adp-year-cell-height: var(--adp-mobile-year-cell-height);--adp-nav-height: var(--adp-mobile-nav-height);--adp-nav-action-size: var(--adp-mobile-nav-height);position:fixed;width:var(--adp-mobile-width);border:none}.air-datepicker.-is-mobile- *{-webkit-tap-highlight-color:rgba(0,0,0,0)}.air-datepicker.-is-mobile- .air-datepicker--pointer{display:none}.air-datepicker.-is-mobile-:not(.-custom-position-){transform:translate(-50%, calc(-50% + var(--adp-transition-offset)))}.air-datepicker.-is-mobile-.-active-:not(.-custom-position-){transform:translate(-50%, -50%)}.air-datepicker.-custom-position-{transition:none}.air-datepicker-global-container{position:absolute;left:0;top:0}.air-datepicker--pointer{--pointer-half-size: calc(var(--adp-pointer-size) / 2);position:absolute;width:var(--adp-pointer-size);height:var(--adp-pointer-size);z-index:-1}.air-datepicker--pointer:after{content:"";position:absolute;background:#fff;border-top:1px solid var(--adp-border-color-inline);border-right:1px solid var(--adp-border-color-inline);border-top-right-radius:var(--adp-poiner-border-radius);width:var(--adp-pointer-size);height:var(--adp-pointer-size);box-sizing:border-box}.-top-left- .air-datepicker--pointer,.-top-center- .air-datepicker--pointer,.-top-right- .air-datepicker--pointer,[data-popper-placement^=top] .air-datepicker--pointer{top:calc(100% - var(--pointer-half-size) + 1px)}.-top-left- .air-datepicker--pointer:after,.-top-center- .air-datepicker--pointer:after,.-top-right- .air-datepicker--pointer:after,[data-popper-placement^=top] .air-datepicker--pointer:after{transform:rotate(135deg)}.-right-top- .air-datepicker--pointer,.-right-center- .air-datepicker--pointer,.-right-bottom- .air-datepicker--pointer,[data-popper-placement^=right] .air-datepicker--pointer{right:calc(100% - var(--pointer-half-size) + 1px)}.-right-top- .air-datepicker--pointer:after,.-right-center- .air-datepicker--pointer:after,.-right-bottom- .air-datepicker--pointer:after,[data-popper-placement^=right] .air-datepicker--pointer:after{transform:rotate(225deg)}.-bottom-left- .air-datepicker--pointer,.-bottom-center- .air-datepicker--pointer,.-bottom-right- .air-datepicker--pointer,[data-popper-placement^=bottom] .air-datepicker--pointer{bottom:calc(100% - var(--pointer-half-size) + 1px)}.-bottom-left- .air-datepicker--pointer:after,.-bottom-center- .air-datepicker--pointer:after,.-bottom-right- .air-datepicker--pointer:after,[data-popper-placement^=bottom] .air-datepicker--pointer:after{transform:rotate(315deg)}.-left-top- .air-datepicker--pointer,.-left-center- .air-datepicker--pointer,.-left-bottom- .air-datepicker--pointer,[data-popper-placement^=left] .air-datepicker--pointer{left:calc(100% - var(--pointer-half-size) + 1px)}.-left-top- .air-datepicker--pointer:after,.-left-center- .air-datepicker--pointer:after,.-left-bottom- .air-datepicker--pointer:after,[data-popper-placement^=left] .air-datepicker--pointer:after{transform:rotate(45deg)}.-top-left- .air-datepicker--pointer,.-bottom-left- .air-datepicker--pointer{left:var(--adp-pointer-offset)}.-top-right- .air-datepicker--pointer,.-bottom-right- .air-datepicker--pointer{right:var(--adp-pointer-offset)}.-top-center- .air-datepicker--pointer,.-bottom-center- .air-datepicker--pointer{left:calc(50% - var(--adp-pointer-size)/2)}.-left-top- .air-datepicker--pointer,.-right-top- .air-datepicker--pointer{top:var(--adp-pointer-offset)}.-left-bottom- .air-datepicker--pointer,.-right-bottom- .air-datepicker--pointer{bottom:var(--adp-pointer-offset)}.-left-center- .air-datepicker--pointer,.-right-center- .air-datepicker--pointer{top:calc(50% - var(--adp-pointer-size)/2)}.air-datepicker--navigation{grid-area:nav}.air-datepicker--content{box-sizing:content-box;padding:var(--adp-padding);grid-area:body}.-only-timepicker- .air-datepicker--content{display:none}.air-datepicker--time{grid-area:timepicker}.air-datepicker--buttons{grid-area:buttons}.air-datepicker--buttons,.air-datepicker--time{padding:var(--adp-padding);border-top:1px solid var(--adp-border-color-inner)}.air-datepicker-overlay{position:fixed;background:var(--adp-overlay-background-color);left:0;top:0;width:0;height:0;opacity:0;transition:opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),left 0s,height 0s,width 0s;transition-delay:0s,var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration);z-index:var(--adp-overlay-z-index)}.air-datepicker-overlay.-active-{opacity:1;width:100%;height:100%;transition:opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),height 0s,width 0s}`;
|
|
124
|
+
|
|
125
|
+
const injectStyles = (css: string) => {
|
|
126
|
+
if (typeof document !== 'undefined') {
|
|
127
|
+
const styleElementId = 'pdfme-air-datepicker-styles';
|
|
128
|
+
if (!document.getElementById(styleElementId)) {
|
|
129
|
+
const style = document.createElement('style');
|
|
130
|
+
style.id = styleElementId;
|
|
131
|
+
style.type = 'text/css';
|
|
132
|
+
style.appendChild(document.createTextNode(css));
|
|
133
|
+
document.head.appendChild(style);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
const strDateToDate = (strDate: string, type: PickerType): Date => {
|
|
139
|
+
if (!strDate.trim()) {
|
|
140
|
+
return new Date();
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (type === 'time') {
|
|
144
|
+
const dateTimePattern = /^\d{4}\/\d{2}\/\d{2} \d{2}:\d{2}$/;
|
|
145
|
+
if (dateTimePattern.test(strDate)) {
|
|
146
|
+
return new Date(strDate.replace(/\//g, '-').replace(' ', 'T'));
|
|
147
|
+
}
|
|
148
|
+
return new Date(`2021-01-01T${strDate}`);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
return new Date(strDate);
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
const getFormat = (type: PickerType, locale: Locale): string => {
|
|
155
|
+
switch (type) {
|
|
156
|
+
case 'date': {
|
|
157
|
+
return locale.adLocale.dateFormat;
|
|
158
|
+
}
|
|
159
|
+
case 'time': {
|
|
160
|
+
return 'HH:mm';
|
|
161
|
+
}
|
|
162
|
+
case 'dateTime': {
|
|
163
|
+
return `${locale.adLocale.dateFormat} ${locale.adLocale.timeFormat}`;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
const getFmtValue = (
|
|
169
|
+
value: string,
|
|
170
|
+
type: PickerType,
|
|
171
|
+
schema: DateSchema,
|
|
172
|
+
locale: Locale,
|
|
173
|
+
): string => {
|
|
174
|
+
return value
|
|
175
|
+
? format(strDateToDate(value, type), schema.format, {
|
|
176
|
+
locale: locale.formatLocale,
|
|
177
|
+
})
|
|
178
|
+
: '';
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
const getFmtContent = (date: Date | null, type: PickerType) => {
|
|
182
|
+
const fmt = (() => {
|
|
183
|
+
switch (type) {
|
|
184
|
+
case 'date': {
|
|
185
|
+
return 'yyyy/MM/dd';
|
|
186
|
+
}
|
|
187
|
+
case 'time': {
|
|
188
|
+
return 'HH:mm';
|
|
189
|
+
}
|
|
190
|
+
case 'dateTime': {
|
|
191
|
+
return 'yyyy/MM/dd HH:mm';
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
})();
|
|
195
|
+
return date ? format(date, fmt) : '';
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
export const getPlugin = ({ type, icon }: { type: PickerType; icon: string }) => {
|
|
199
|
+
const defaultLocale = 'en';
|
|
200
|
+
const defaultFormat = getFormat(type, getAirDatepickerLocale(defaultLocale));
|
|
201
|
+
|
|
202
|
+
const plugin: Plugin<DateSchema> = {
|
|
203
|
+
ui: async (arg) => {
|
|
204
|
+
const { schema, value, onChange, rootElement, mode, options, i18n } = arg;
|
|
205
|
+
|
|
206
|
+
const locale = getAirDatepickerLocale(schema.locale || options.lang || defaultLocale);
|
|
207
|
+
|
|
208
|
+
const textElement = document.createElement('div');
|
|
209
|
+
const textElementStyle: CSS.Properties = {
|
|
210
|
+
width: `${schema.width}mm`,
|
|
211
|
+
height: `${schema.height}mm`,
|
|
212
|
+
display: 'flex',
|
|
213
|
+
flexDirection: 'column',
|
|
214
|
+
justifyContent: mapVerticalAlignToFlex(VERTICAL_ALIGN_MIDDLE),
|
|
215
|
+
};
|
|
216
|
+
Object.assign(textElement.style, textElementStyle);
|
|
217
|
+
|
|
218
|
+
await text.ui({
|
|
219
|
+
...arg,
|
|
220
|
+
rootElement: textElement,
|
|
221
|
+
mode: 'viewer',
|
|
222
|
+
value: getFmtValue(value, type, schema, locale),
|
|
223
|
+
schema: {
|
|
224
|
+
...schema,
|
|
225
|
+
verticalAlignment: VERTICAL_ALIGN_MIDDLE,
|
|
226
|
+
lineHeight: DEFAULT_LINE_HEIGHT,
|
|
227
|
+
},
|
|
228
|
+
});
|
|
229
|
+
|
|
230
|
+
injectStyles(airDatepickerCss);
|
|
231
|
+
|
|
232
|
+
const beforeRemoveEvent = new Event('beforeRemove');
|
|
233
|
+
rootElement.dispatchEvent(beforeRemoveEvent);
|
|
234
|
+
|
|
235
|
+
const input = document.createElement('input');
|
|
236
|
+
Object.assign(input.style, { visibility: 'hidden', position: 'absolute' });
|
|
237
|
+
|
|
238
|
+
const commitChange = (date: Date | null) => {
|
|
239
|
+
if (onChange) {
|
|
240
|
+
onChange({ key: 'content', value: getFmtContent(date, type) });
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
const adButtons: AirDatepickerButton[] = [
|
|
245
|
+
{
|
|
246
|
+
content: i18n('cancel'),
|
|
247
|
+
onClick: (datepicker) => {
|
|
248
|
+
datepicker.hide();
|
|
249
|
+
},
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
content: i18n('clear'),
|
|
253
|
+
onClick: (datepicker) => {
|
|
254
|
+
datepicker.hide();
|
|
255
|
+
commitChange(null);
|
|
256
|
+
},
|
|
257
|
+
},
|
|
258
|
+
];
|
|
259
|
+
if (type !== 'date') {
|
|
260
|
+
adButtons.push({
|
|
261
|
+
content: i18n('set'),
|
|
262
|
+
onClick: (datepicker) => {
|
|
263
|
+
datepicker.hide();
|
|
264
|
+
const date = datepicker.selectedDates.length ? datepicker.selectedDates[0] : null;
|
|
265
|
+
commitChange(date);
|
|
266
|
+
},
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
const airDatepicker = new AirDatepicker(input, {
|
|
270
|
+
locale: locale.adLocale,
|
|
271
|
+
selectedDates: value.trim() ? [strDateToDate(value, type)] : [],
|
|
272
|
+
dateFormat: (date: AirDatepickerDate) =>
|
|
273
|
+
format(date, schema.format, { locale: locale.formatLocale }),
|
|
274
|
+
timepicker: type !== 'date',
|
|
275
|
+
onlyTimepicker: type === 'time',
|
|
276
|
+
isMobile: window.innerWidth < 768,
|
|
277
|
+
buttons: adButtons,
|
|
278
|
+
position({ $datepicker, $target, $pointer, done }) {
|
|
279
|
+
$datepicker.style.position = 'fixed';
|
|
280
|
+
const offset = 5;
|
|
281
|
+
const scrollY = window.scrollY;
|
|
282
|
+
const scrollX = window.scrollX;
|
|
283
|
+
|
|
284
|
+
const targetRect = $target.getBoundingClientRect();
|
|
285
|
+
const dpHeight = $datepicker.offsetHeight;
|
|
286
|
+
const dpWidth = $datepicker.offsetWidth;
|
|
287
|
+
|
|
288
|
+
const spaceBelow = window.innerHeight - targetRect.bottom;
|
|
289
|
+
const spaceAbove = targetRect.top;
|
|
290
|
+
|
|
291
|
+
const showAbove = spaceBelow < dpHeight + offset && spaceAbove > dpHeight;
|
|
292
|
+
|
|
293
|
+
let top = showAbove
|
|
294
|
+
? targetRect.top + scrollY - dpHeight - offset
|
|
295
|
+
: targetRect.bottom + scrollY + offset;
|
|
296
|
+
|
|
297
|
+
let left = targetRect.left + scrollX;
|
|
298
|
+
|
|
299
|
+
if (left + dpWidth > window.innerWidth) {
|
|
300
|
+
left = window.innerWidth - dpWidth - 10;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
$datepicker.style.position = 'absolute';
|
|
304
|
+
$datepicker.style.top = `${top}px`;
|
|
305
|
+
$datepicker.style.left = `${left}px`;
|
|
306
|
+
if ($pointer) {
|
|
307
|
+
$pointer.style.display = 'block';
|
|
308
|
+
$pointer.style.position = 'absolute';
|
|
309
|
+
$pointer.style.left = '10px';
|
|
310
|
+
$pointer.style.top = showAbove ? 'calc(100% - 5px)' : '-5px';
|
|
311
|
+
$pointer.style.transform = showAbove ? 'rotate(135deg)' : 'rotate(-45deg)';
|
|
312
|
+
}
|
|
313
|
+
return function completeHide() {
|
|
314
|
+
done();
|
|
315
|
+
};
|
|
316
|
+
},
|
|
317
|
+
onSelect: ({ datepicker }: { datepicker: AirDatepickerInstance }) => {
|
|
318
|
+
if (type === 'date') {
|
|
319
|
+
commitChange(datepicker.selectedDates.length ? datepicker.selectedDates[0] : null);
|
|
320
|
+
datepicker.hide();
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
});
|
|
324
|
+
|
|
325
|
+
rootElement.addEventListener('beforeRemove', () => {
|
|
326
|
+
if (isEditable(mode, schema)) {
|
|
327
|
+
airDatepicker.destroy();
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
textElement.addEventListener('click', () => {
|
|
331
|
+
if (isEditable(mode, schema)) {
|
|
332
|
+
airDatepicker.show();
|
|
333
|
+
}
|
|
334
|
+
});
|
|
335
|
+
|
|
336
|
+
rootElement.appendChild(input);
|
|
337
|
+
rootElement.appendChild(textElement);
|
|
338
|
+
},
|
|
339
|
+
pdf: (arg) => {
|
|
340
|
+
const { schema, value, options } = arg;
|
|
341
|
+
if (!value) return void 0;
|
|
342
|
+
const locale = getAirDatepickerLocale(schema.locale || options.lang || defaultLocale);
|
|
343
|
+
return text.pdf({
|
|
344
|
+
...arg,
|
|
345
|
+
value: getFmtValue(value, type, schema, locale),
|
|
346
|
+
schema: {
|
|
347
|
+
...schema,
|
|
348
|
+
verticalAlignment: VERTICAL_ALIGN_MIDDLE,
|
|
349
|
+
lineHeight: DEFAULT_LINE_HEIGHT,
|
|
350
|
+
},
|
|
351
|
+
});
|
|
352
|
+
},
|
|
353
|
+
propPanel: {
|
|
354
|
+
schema: ({ options, i18n, activeSchema, changeSchemas }) => {
|
|
355
|
+
const font = options.font || { [DEFAULT_FONT_NAME]: { data: '', fallback: true } };
|
|
356
|
+
const fontNames = Object.keys(font);
|
|
357
|
+
const fallbackFontName = getFallbackFontName(font);
|
|
358
|
+
|
|
359
|
+
const locale = getAirDatepickerLocale(
|
|
360
|
+
(activeSchema as { locale?: string }).locale || options.lang || defaultLocale,
|
|
361
|
+
);
|
|
362
|
+
|
|
363
|
+
if (
|
|
364
|
+
(activeSchema as { locale?: string }).locale === undefined &&
|
|
365
|
+
(activeSchema as { locale?: string }).locale !== options.lang
|
|
366
|
+
) {
|
|
367
|
+
changeSchemas([
|
|
368
|
+
{ schemaId: activeSchema.id, key: 'locale', value: options.lang },
|
|
369
|
+
{ schemaId: activeSchema.id, key: 'format', value: getFormat(type, locale) },
|
|
370
|
+
]);
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
const formatter = getExtraFormatterSchema(i18n);
|
|
374
|
+
formatter.buttons = formatter.buttons.filter(
|
|
375
|
+
(button) => button.key === Formatter.ALIGNMENT,
|
|
376
|
+
);
|
|
377
|
+
|
|
378
|
+
const validateDateTimeFormat = (_rule: unknown, formatString: string): boolean => {
|
|
379
|
+
try {
|
|
380
|
+
format('Thu Jan 01 1970 00:00:00 GMT+0000', formatString, {
|
|
381
|
+
locale: locale.formatLocale,
|
|
382
|
+
});
|
|
383
|
+
return true;
|
|
384
|
+
} catch {
|
|
385
|
+
return false;
|
|
386
|
+
}
|
|
387
|
+
};
|
|
388
|
+
|
|
389
|
+
const localeOptions = Object.keys(LOCALE_MAP).map((lc) => ({
|
|
390
|
+
label: `${lc} (${LOCALE_MAP[lc].label})`,
|
|
391
|
+
value: lc,
|
|
392
|
+
}));
|
|
393
|
+
|
|
394
|
+
const dateSchema: Record<string, PropPanelSchema> = {
|
|
395
|
+
format: {
|
|
396
|
+
title: i18n('schemas.date.format'),
|
|
397
|
+
type: 'string',
|
|
398
|
+
default: getFormat(type, locale),
|
|
399
|
+
placeholder: getFormat(type, locale),
|
|
400
|
+
rules: [
|
|
401
|
+
{
|
|
402
|
+
validator: validateDateTimeFormat,
|
|
403
|
+
message: i18n('validation.dateTimeFormat'),
|
|
404
|
+
},
|
|
405
|
+
],
|
|
406
|
+
span: 24,
|
|
407
|
+
},
|
|
408
|
+
fontName: {
|
|
409
|
+
title: i18n('schemas.text.fontName'),
|
|
410
|
+
type: 'string',
|
|
411
|
+
widget: 'select',
|
|
412
|
+
default: fallbackFontName,
|
|
413
|
+
placeholder: fallbackFontName,
|
|
414
|
+
props: { options: fontNames.map((name) => ({ label: name, value: name })) },
|
|
415
|
+
span: 12,
|
|
416
|
+
},
|
|
417
|
+
fontSize: {
|
|
418
|
+
title: i18n('schemas.text.size'),
|
|
419
|
+
type: 'number',
|
|
420
|
+
widget: 'inputNumber',
|
|
421
|
+
span: 6,
|
|
422
|
+
props: { min: 0 },
|
|
423
|
+
},
|
|
424
|
+
characterSpacing: {
|
|
425
|
+
title: i18n('schemas.text.spacing'),
|
|
426
|
+
type: 'number',
|
|
427
|
+
widget: 'inputNumber',
|
|
428
|
+
span: 6,
|
|
429
|
+
props: { min: 0 },
|
|
430
|
+
},
|
|
431
|
+
formatter,
|
|
432
|
+
fontColor: {
|
|
433
|
+
title: i18n('schemas.textColor'),
|
|
434
|
+
type: 'string',
|
|
435
|
+
widget: 'color',
|
|
436
|
+
props: {
|
|
437
|
+
disabledAlpha: true,
|
|
438
|
+
},
|
|
439
|
+
rules: [
|
|
440
|
+
{
|
|
441
|
+
pattern: HEX_COLOR_PATTERN,
|
|
442
|
+
message: i18n('validation.hexColor'),
|
|
443
|
+
},
|
|
444
|
+
],
|
|
445
|
+
},
|
|
446
|
+
backgroundColor: {
|
|
447
|
+
title: i18n('schemas.bgColor'),
|
|
448
|
+
type: 'string',
|
|
449
|
+
widget: 'color',
|
|
450
|
+
props: {
|
|
451
|
+
disabledAlpha: true,
|
|
452
|
+
},
|
|
453
|
+
rules: [
|
|
454
|
+
{
|
|
455
|
+
pattern: HEX_COLOR_PATTERN,
|
|
456
|
+
message: i18n('validation.hexColor'),
|
|
457
|
+
},
|
|
458
|
+
],
|
|
459
|
+
},
|
|
460
|
+
locale: {
|
|
461
|
+
title: i18n('schemas.date.locale'),
|
|
462
|
+
type: 'string',
|
|
463
|
+
widget: 'select',
|
|
464
|
+
props: {
|
|
465
|
+
options: localeOptions,
|
|
466
|
+
},
|
|
467
|
+
span: 16,
|
|
468
|
+
},
|
|
469
|
+
};
|
|
470
|
+
|
|
471
|
+
return dateSchema;
|
|
472
|
+
},
|
|
473
|
+
defaultSchema: {
|
|
474
|
+
name: '',
|
|
475
|
+
format: defaultFormat,
|
|
476
|
+
type,
|
|
477
|
+
content: getFmtContent(new Date(), type),
|
|
478
|
+
position: { x: 0, y: 0 },
|
|
479
|
+
width: 50,
|
|
480
|
+
height: 10,
|
|
481
|
+
rotate: 0,
|
|
482
|
+
alignment: DEFAULT_ALIGNMENT,
|
|
483
|
+
fontSize: DEFAULT_FONT_SIZE,
|
|
484
|
+
characterSpacing: DEFAULT_CHARACTER_SPACING,
|
|
485
|
+
fontColor: DEFAULT_FONT_COLOR,
|
|
486
|
+
fontName: undefined,
|
|
487
|
+
backgroundColor: '',
|
|
488
|
+
locale: undefined,
|
|
489
|
+
opacity: DEFAULT_OPACITY,
|
|
490
|
+
} as DateSchema,
|
|
491
|
+
},
|
|
492
|
+
icon,
|
|
493
|
+
};
|
|
494
|
+
|
|
495
|
+
return plugin;
|
|
496
|
+
};
|
package/src/date/time.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Schema } from '@pdfme/common';
|
|
2
|
+
import { ALIGNMENT } from '../text/types.js';
|
|
3
|
+
|
|
4
|
+
export interface DateSchema extends Schema {
|
|
5
|
+
format: string;
|
|
6
|
+
fontName?: string;
|
|
7
|
+
alignment: ALIGNMENT;
|
|
8
|
+
fontSize: number;
|
|
9
|
+
characterSpacing: number;
|
|
10
|
+
fontColor: string;
|
|
11
|
+
backgroundColor: string;
|
|
12
|
+
locale?: string;
|
|
13
|
+
// Explicitly include these properties from Schema for TypeScript
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
name: string;
|
|
17
|
+
type: string;
|
|
18
|
+
content?: string;
|
|
19
|
+
}
|