{"_id":"@aspire.software/aspire-datatable","_rev":"5-24b37ab5d3937ab2a789a4b3098f112e","time":{"1.0.1":"2020-07-24T06:32:28.460Z","created":"2020-07-27T08:21:52.416Z","1.0.0":"2020-07-27T08:21:52.856Z","modified":"2022-04-04T15:49:11.349Z","1.0.2":"2020-07-28T10:13:02.043Z"},"name":"@aspire.software/aspire-datatable","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@aspire.software/aspire-datatable","version":"1.0.0","peerDependencies":{"@angular/common":"^9.1.4","@angular/core":"^9.1.4","tslib":"^1.10.0"},"dependencies":{},"main":"bundles/aspire-datatable.umd.js","module":"fesm5/aspire-datatable.js","es2015":"fesm2015/aspire-datatable.js","esm5":"esm5/aspire-datatable.js","esm2015":"esm2015/aspire-datatable.js","fesm5":"fesm5/aspire-datatable.js","fesm2015":"fesm2015/aspire-datatable.js","typings":"aspire-datatable.d.ts","metadata":"aspire-datatable.metadata.json","sideEffects":false,"description":"aspire-datatable is an Angular component for creating data table for large and complex data with lots of configurable features.","directories":{"lib":"lib"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/aspire-software/aspire-datatable.git"},"keywords":["datatable","aspire","angular","library"],"author":{"name":"Aspire Software Solutions"},"license":"MIT","bugs":{"url":"https://github.com/aspire-software/aspire-datatable/issues"},"homepage":"https://github.com/aspire-software/aspire-datatable#readme","_id":"@aspire.software/aspire-datatable@1.0.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-t/Nfn4vYLsDYflCpWEM9xgj7jRDry2G+hg72FOn4FsnYIk3RjxNTVp8+bsq5P8/76KOJ2BJllTBNxXOOb384Ew==","shasum":"37bf607adcbb870e4285e1481cfacb642806e739","tarball":"https://registry.npmjs.org/@aspire.software/aspire-datatable/-/aspire-datatable-1.0.0.tgz","fileCount":68,"unpackedSize":742427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHo6hCRA9TVsSAnZWagAAqxIP/RGYUxL5E0DIUw3XbeGG\nojcqFi69vi4EJi1pI0W7+rryQLDU9TBujgYudWCgi4eed2nsrzEEMUCCHhNy\nxUO3eIB6vzHIBAQSmrhD/zYb1xZN1eM2UEArLJ3FR4BoONpgrSX67ZF8u8TX\noBt6Z7PZMuUWuUVmCu9GXlVefuIjw/Bsji34il32ARRLGyhcSicL0dvBJfhv\nf0cYKdSvAcOjNAnd/u7HgWqZbdAjDLQUHPDIm7ZVTWwaow5R63B/dbRhRGC/\n9NBWh+//9v78vvtUM91dWxaJvb79QaBOvztBqjHZqrEd0vhluGWd3AnMBGOL\nozSjjJkMl9wEOpY7B22Km0Ux7uzSmqOyxz4af83lfh+ijMw9QdS32Zy5M4E9\nTHhi8INfvXUN4aMUg9xsFnn4FnOBtqxCVhpxC6H2knltTl1urgA6V1Dc4BTI\nOOGItrou819ZWxOfmJZoxVlvn/LaPY6jOd1kvuQW4uUL3on+NLgJ0TWpPa3c\n0NvLxuYkpgDhM5ZVqp/RLPbl+FsY8CqvFgnkxTCCL+2hlvod61jPsc9OGV/r\nlDg9/6hC7A1AW1pMz7gXyFtINvNutxumaAqnkaDoFV+4ne4EHm0bzBqYVEKz\nNPbZJLFEywhleMSuPOFHVS4pfrPSfYEUGpdAsrvYAYaHm9XnThPHQISDCwYS\nKgsz\r\n=flnp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCv9cEQe7w8bIE5OnYueWx+zf6PpAmaFWudaaImDsv4agIgB+FIX/HxpX0tEvmvqlOuyZO8YOl9hCSnf6mjWj1Pf40="}]},"maintainers":[{"name":"shivani.patel","email":"shivani.patel@aspiresoftserv.com"},{"name":"ajay_aspire","email":"ajay.charotariya@aspiresoftserv.com"},{"name":"pratik.aspire","email":"pratik.patel@aspiresoftware.in"},{"name":"dipesh.softserv","email":"dipesh.raichana@aspiresoftserv.com"},{"name":"gandhipurav","email":"pgandhi@aspiresoftserv.com"},{"name":"aspiresoftware","email":"purav.gandhi@aspiresoftserv.com"}],"_npmUser":{"name":"shivani.patel","email":"shivani.patel@aspiresoftserv.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aspire-datatable_1.0.0_1595838112659_0.9739904016154188"},"_hasShrinkwrap":false},"1.0.2":{"name":"@aspire.software/aspire-datatable","version":"1.0.2","peerDependencies":{"@angular/common":"^9.1.4","@angular/core":"^9.1.4","tslib":"^1.10.0"},"dependencies":{},"main":"bundles/aspire-datatable.umd.js","module":"fesm5/aspire-datatable.js","es2015":"fesm2015/aspire-datatable.js","esm5":"esm5/aspire-datatable.js","esm2015":"esm2015/aspire-datatable.js","fesm5":"fesm5/aspire-datatable.js","fesm2015":"fesm2015/aspire-datatable.js","typings":"aspire-datatable.d.ts","metadata":"aspire-datatable.metadata.json","sideEffects":false,"description":"aspire-datatable is an Angular component for creating data table for large and complex data with lots of configurable features.","directories":{"lib":"lib"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/aspire-software/aspire-datatable.git"},"keywords":["datatable","aspire","angular","library","bootstrap","bootstrap-datatable","angular-datatable"],"author":{"name":"Aspire Software Solutions"},"license":"MIT","bugs":{"url":"https://github.com/aspire-software/aspire-datatable/issues"},"homepage":"https://github.com/aspire-software/aspire-datatable#readme","_id":"@aspire.software/aspire-datatable@1.0.2","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-eGMDwJB2mBNvY3V6A/x0uCutbbuR4H21DyGCsGbTT44kkSKqQbvzro0YWrYBTnew9fhkUqL1sznhvRz/NxDCEA==","shasum":"a26d6b646de094b098d8fb49dae6d483400c1b87","tarball":"https://registry.npmjs.org/@aspire.software/aspire-datatable/-/aspire-datatable-1.0.2.tgz","fileCount":68,"unpackedSize":742651,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfH/ouCRA9TVsSAnZWagAAvP0P/jDYudV4c+TCHi2PU5w8\nuheH/zCP3wwVm4BfK2SODYiFVQMQ+kPjthxJZN3NXMt+edb+7sGjoPs1Rxlh\neJo0/d+/iZ9RJApRM2h2V9O81Y6Hyphh3Oc0/fgEOe/KWV/nhZ1iQumC5SR0\nQzecWPukegQirQ704oe8dib5JkciFht5pN0dkcPJ5wJSWTVfvY754vS+EBPJ\nuyMuoMW52q2UhzGwfVtIsdqDzx6R7V+xsQ0EEZoE0IWzZ3xMrwy0LLeKjxr1\nDBDnH3QlmD9oDISRgqQIVPEmwT9HpRZRE+Nzpjskppjn+bA9ZJfdbz9GYxg4\nazHymiCA3evis3JpIhxhFzrRb1RWvo/G6V1T1kojV2qjC+6x9pyTi6tnaQk6\nRCM3DQJMmt3Qwc9hCmLevTdIRfSxSJtwpt6xp/UQYdUchrfw5NayQGzLdU3n\nA12uzpuHK1ygUkKb1iWh1g2cqxXGlZ6QHDCX50CHc4HgxKAUdMeeR6wTI/wz\ngfbDPv4Tg/9xNy441nqxB4er1/DOIobiNf+G2Oj3vKmdZVhrtfmdJymJ558v\nDDnTywZbkWZrBsr6UPMQMeLYk9cMaaGjeQSUANWoQWB3nRPJEwPxEKD3N724\nXWsVq+x57kfaCm945xCyVGAjiH4X49qpulLyhnFnT28AnOd7If72Nzd0d9Ri\nXIBx\r\n=mau1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuZXc9qHibGOwAdLtYEojA3XFluM9EXfd6wjLPrELAFgIgIDj76wptofLjTz2pWpxtNdtg5n08Iov+qPIRtUd7ivQ="}]},"maintainers":[{"name":"ajay_aspire","email":"ajay.charotariya@aspiresoftserv.com"},{"name":"aspiresoftware","email":"purav.gandhi@aspiresoftserv.com"},{"name":"dipesh.softserv","email":"dipesh.raichana@aspiresoftserv.com"},{"name":"gandhipurav","email":"pgandhi@aspiresoftserv.com"},{"name":"pratik.aspire","email":"pratik.patel@aspiresoftware.in"},{"name":"shivani.patel","email":"shivani.patel@aspiresoftserv.com"}],"_npmUser":{"name":"shivani.patel","email":"shivani.patel@aspiresoftserv.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aspire-datatable_1.0.2_1595931181839_0.22895907947049499"},"_hasShrinkwrap":false}},"maintainers":[{"name":"ajay_aspire","email":"ajay.charotariya@aspiresoftserv.com"},{"name":"aspiresoftware","email":"purav.gandhi@aspiresoftserv.com"},{"name":"dipesh.softserv","email":"dipesh.raichana@aspiresoftserv.com"},{"name":"gandhipurav","email":"pgandhi@aspiresoftserv.com"},{"name":"pratik.aspire","email":"pratik.patel@aspiresoftware.in"},{"name":"shivani.patel","email":"shivani.patel@aspiresoftserv.com"}],"description":"aspire-datatable is an Angular component for creating data table for large and complex data with lots of configurable features.","homepage":"https://github.com/aspire-software/aspire-datatable#readme","keywords":["datatable","aspire","angular","library","bootstrap","bootstrap-datatable","angular-datatable"],"repository":{"type":"git","url":"git+https://github.com/aspire-software/aspire-datatable.git"},"author":{"name":"Aspire Software Solutions"},"bugs":{"url":"https://github.com/aspire-software/aspire-datatable/issues"},"license":"MIT","readme":"# aspire-datatable\n\naspire-datatable is an Angular component for creating data table for large and complex data with lots of configurable features.\n\nIt is developed using `Angular CLI` version `9.1.4`.\n\n## Installations\n\n`npm install @aspire.software/aspire-datatable --save`\n\nThere are some other dependencies required: \n* bootstrap >=4.4.1\n`npm install bootstrap --save`\n* @ng-bootstrap/ng-bootstrap >=6.1.0\n`npm install ng-bootstrap/ng-bootstrap --save`\n\n## Usage\n\nImport aspire-datatable module as below:<br>\n`import { AspireDatatableModule } from 'aspire-datatable';`\n\n**Inputs**\n\n| Input            | Type    | Required                   | Description                                                                                               |\n| ---------------- | ------- | -------------------------- | --------------------------------------------------------------------------------------------------------- |\n| headers            | object  | **YES**                    | array of headers that need to be shown in column header in the data table. Here type helps to perform actions on it like `date` to display it in given format.                                               |\n| records        | object  | **YES**     | array of objects to be displayed in data table.                                                                       |\n| options        | object  | Optional     | options refers to configure datatable as per need. Here we have different configuration of components along with configurable ui.                                                                       |\n| popup        | object  | Optional     | array of popup component data like content, header, etc... that supports multiple popups for multiple use.                                                                        |\n| actionConfirm        | function  | Optional     | actionConfirm is callback function for popups                                                                       |\n\nRegister `AspireDatatableModule` in your module.\n\nUse markup as below:\n```typescript\n<aspire-datatable [headers]=\"headers\" [records]=\"records\" [options]=\"options\" [popup]=\"popup\" (actionConfirm)=\"actionConfirm($event)\">\n</aspire-datatable>\n```\n\nSet details as below:\n\n**headers:<br>**\n```typescript\nheaders = [\n    { field: 'name', type: 'string' },\n    { field: 'status', type: 'boolean' },\n    { field: 'date', type: 'date' },\n    { field: 'age', type: 'number' },\n    { field: 'customColumn', type: 'html' },\n    { field: 'action', type: 'any' }\n];\n```\nFor actions column in datatable, field name must be `action`.\nIn case our action column does not fulfil your criteria you can configure your custom action column your own way.\nYou can set your html code with field type `html` in case you want your custom HTML tag in column.\n\n**records:<br>**\n```typescript\nrecords = [\n    {\n        name: 'John',\n        status: 'yes',\n        date: '01/01/2020',\n        age: 25,\n        customColumn: '<span>Column</span>',\n        action: {\n            id: 1,\n            classType: 'fa fa-cog',\n            perform: [\n                { perAction: 'edit', url: '1/edit' },\n                { perAction: 'delete', url: null, popupConfirm: true }\n            ]\n        }\n    }\n];\n```\n\n**options:<br>**\n```typescript\noptions = {\n    tableStyle: 'table table-striped table-bordered',\n    headerStyle: 'thead-light',\n    recordsPerPageOptions: [5, 10, 20, 30, 50]\n};\n```\n\n**popup:<br>**\n```typescript\nPopup = [\n    { body: 'Do You want to delete this record?', header: 'Delete Action', perAction: 'delete' }\n];\n```\n\n**actionConfirm:<br>**\n```typescript\nonActionConfirm(event) {\n    if (event && event.action === 'delete') {\n        performDelete(event.item);\n    }\n}\n```\n\n## API\nYou can create datatable using below options:\n\n| Option                            | Default&emsp;&emsp;&emsp;&emsp;&emsp;&emsp; | Description                                         |\n| --------------------------------- | ------------------------------------  | --------------------------------------------------- |\n| tableStyle                        | 'table table-striped table-bordered'  | Set custom css class list to style your datatable   |\n| headerStyle                       | 'thead-light'                         | It sets custom css class list to style table header |\n| tableRowStyle                     | ''                                    | Set custom css class list to style table rows       |\n| tableDataStyle                    | ''                                    | Set custom css class list to style table data i.e. columns                                                                                                                           |\n| page                              | 1                                     | It sets current/active page in datatable.           |\n| searchingStyle                    | ''                                    | Set custom css class list to style search component |\n| noRecordFoundMessage              | 'No Data Found'                       | It sets custom message for no data                  |\n| itemsPerPage                      | 10                                    | This option sets items per page in datatable.<br>If page size selector and pagination is disabled i.e. `paginationOptions.disable` is `true` or `showRecordsPerPageSelector` and `showPagination` both set to false then it will display all records on single page.                                               |\n| resetPagination                   | true                                  | To reset pagination any true or false value can be accepted                                                                                                                          |\n| showSorting                       | true                                  | To show/hide sorting on columns                     |\n| showSearch                        | true                                  | show/hide search component                          |\n| showRecordsCount                  | true                                  | show/hide records count component                   |\n| showPagination                    | true                                  | show/hide pagination component                      |\n| showRecordsPerPageSelector        | true                                  | show/hide records per page select box component     |\n| recordsPerPageOptions             | [5, 10, 20, 30, 50]                   | This option sets options of records per page selector.<br>By default `itemsPerPage` value will be selected option.                                                             |\n| dateFormat                        | 'dd/MM/yyyy'                          | Sets date fields with given custom format in datatable                                                                                                                         |\n| ariaLabel                         | 'Default pagination'                  | Sets aria-label attribute value for pagination component.<br>This option is sub-option of `paginationOptions` and can be set as `paginationOptions: { ariaLabel:'Default Pagination' }`                                                                                                                    |\n| disable                           | false                                 | disable pagination based on value set.<br>This option is sub-option of `paginationOptions` and can be set as `paginationOptions: { disable:false }`                              |\n| paginationStyle                   | 'pagination justify-content-center'   | Set custom css class list to style pagination component.<br>This option is sub-option of `paginationOptions` and can be set as `paginationOptions: { paginationStyle:'pagination' }`                                                                                                   |\n| pageItemStyle                     | 'page-item'                           | Set custom css class list to style items of pagination component.<br>This option is sub-option of `paginationOptions` and can be set as `paginationOptions: { pageItemStyle:'page-item' }`                                                                                                      |\n| pageLinkStyle                     | 'page-link'                           | Set custom css class list to style link of items in pagination component.<br>This option is sub-option of `paginationOptions` and can be set as `paginationOptions: { pageLinkStyle:'page-link' }`                                                                                                      |\n| firstPageText                     | '<<'                                  | Add custom text for button to navigate to first page.<br>This option is sub-option of `paginationOptions` and can be set as `paginationOptions: { firstPageText:'<<' }`           |\n| prevPageText                      | '<'                                   | Add custom text for button to navigate to previous page.<br>This option is sub-option of `paginationOptions` and can be set as `paginationOptions: { prevPageText:'<' }`             |\n| nextPageText                      | '>'                                   | Add custom text for button to navigate to next page.<br>This option is sub-option of `paginationOptions` and can be set as `paginationOptions: { nextPageText:'>' }`             |\n| lastPageText                      | '>>'                                  | Add custom text for button to navigate to last page.<br>This option is sub-option of `paginationOptions` and can be set as `paginationOptions: { lastPageText:'>>' }`            |\n| topBlankComponentClassList        | 'col-md-6 col-sm-12'                  | This option sets empty block at top of the datatable with given css class. Suppose we have set `showRecordsPerPageSelector` to false and `componentsClass.search.classList` is `col-md-4` and `componentsClass.search.position` is `top-right` then `topBlankComponentClassList` value set to `col-md-8`.<br>This option is sub-option of `componentsClass` and can be set as `componentsClass: { topBlankComponentClassList:'col-md-6' }`          |\n| bottomBlankComponentClassList     | 'col-md-4 col-sm-12'                  | This option sets empty block at bottom of the datatable with given css class. Suppose we have set `showRecordsCount` to false and `componentsClass.pagination.classList` is `col-md-8` and `componentsClass.pagination.position` is `bottom-right` then `bottomBlankComponentClassList` value set to `col-md-4`.<br>This option is sub-option of `componentsClass` and can be set as `componentsClass: { bottomBlankComponentClassList:'col-md-6' }`                                                                                       |\n| pagination.position               | 'bottom-right'                        | This option sets position of pagination component. `top-left`, `top-center`, `top-right`, `bottom-left`, `bottom-center`, `bottom-right` are the possible options for position values.<br>This option is sub-option of `componentsClass` and can be set as `componentsClass: { pagination: { position:'bottom-right' } }`                                                                                                      |\n| pagination.classList              | 'col-md-8 col-sm-8 mt-2 mt-sm-0'      | This option sets custom css class list to position pagination component.<br>This option is sub-option of `componentsClass` and can be set as `componentsClass: { pagination: { classList:'col-md-8' } }`                                                                                                         |\n| pagination.alignmentClassList     | 'justify-right justify-center-center' | This option sets custom css class list for alignment of pagination component.<br>This option is sub-option of `componentsClass` and can be set as `componentsClass: { pagination: { alignmentClassList:'justify-right' } }`                                                                                           |\n| recordsCount.position             | 'bottom-left'                         | This option sets position of records count component. `top-left`, `top-center`, `top-right`, `bottom-left`, `bottom-center`, `bottom-right` are the possible options for position values.<br>This option is sub-option of `componentsClass` and can be set as `componentsClass: { recordsCount: { position:'bottom-left' } }`                                                                                                       |\n| recordsCount.classList            | 'col-md-4 col-sm-4 mt-2 mt-sm-0'      | This option sets custom css class list to position records count component.<br>This option is sub-option of `componentsClass` and can be set as `componentsClass: { recordsCount: { classList:'col-md-4' } }`                                                                                                         |\n| recordsCount.alignmentClassList   | 'justify-left justify-center-center'  | This option sets custom css class list for alignment of records count component.<br>This option is sub-option of `componentsClass` and can be set as `componentsClass: { recordsCount: { alignmentClassList:'justify-left' } }`                                                                                          |\n| search.position                   | 'top-right'                           | This option sets position of search component. `top-left`, `top-center`, `top-right`, `bottom-left`, `bottom-center`, `bottom-right` are the possible options for position values.<br>This option is sub-option of `componentsClass` and can be set as `componentsClass: { search: {position:'top-right'} }` |\n| search.classList                  | 'col-md-6 col-sm-6 mb-2 mb-sm-0'      | This option sets custom css class list to position search component.<br>This option is sub-option of `componentsClass` and can be set as `componentsClass: { search: { classList:'col-md-6' } }`                                                                                                         |\n| search.alignmentClassList         | 'justify-right'                       | This option sets custom css class list for alignment of search component.<br>This option is sub-option of `componentsClass` and can be set as `componentsClass: { search: { alignmentClassList:'justify-right' } }`                                                                                           |\n| recordsPerPage.position           | 'top-left'                            | This option sets position of records per page component. `top-left`, `top-center`, `top-right`, `bottom-left`, `bottom-center`, `bottom-right` are the possible options for position values.<br>This option is sub-option of `componentsClass` and can be set as `componentsClass: { recordsPerPage: { position:'top-left' } }`                                                                                                          |\n| recordsPerPage.classList          | 'col-md-6 col-sm-6'                   | This option sets custom css class list to position records per page component.<br>This option is sub-option of `componentsClass` and can be set as `componentsClass: { recordsPerPage: { classList:'col-md-6' } }`                                                                                       |\n| recordsPerPage.alignmentClassList | 'justify-left'                        | This option sets custom css class list for alignment of records per page component.<br>This option is sub-option of `componentsClass` and can be set as `componentsClass: { recordsPerPage: { alignmentClassList:'justify-left' } }`                                                                          |\n\n\nBelow is the example to set options and sub-options for datatable:\n\n```typescript\noptions = {\n    tableStyle: 'table table-striped table-bordered',\n    headerStyle: 'thead-light',\n    recordsPerPageOptions: [5, 10, 20, 30, 50],\n    paginationOptions: {\n        ariaLabel: 'Default pagination',\n        disable: false,\n        paginationStyle: 'pagination justify-content-center',\n        pageItemStyle: 'page-item',\n        pageLinkStyle: 'page-link',\n        firstPageText: '<<',\n        prevPageText: '<',\n        nextPageText: '>',\n        lastPageText: '>>'\n    },\n    componentsClass: {\n        topBlankComponentClassList: 'col-md-6 col-sm-12',\n        bottomBlankComponentClassList: 'col-md-4 col-sm-12',\n        pagination: {\n            position: 'bottom-right',\n            classList: 'col-md-8 col-sm-8 mt-2 mt-sm-0',\n            alignmentClassList: 'justify-right justify-center-center'\n        },\n        recordsCount: {\n            position: 'bottom-left',\n            classList: 'col-md-4 col-sm-4 mt-2 mt-sm-0',\n            alignmentClassList: 'justify-left justify-center-center'\n        },\n        search: {\n            position: 'top-right',\n            classList: 'col-md-6 col-sm-6 mb-2 mb-sm-0',\n            alignmentClassList: 'justify-right'\n        },\n        recordsPerPage: {\n            position: 'top-left',\n            classList: 'col-md-6 col-sm-6',\n            alignmentClassList: 'justify-left'\n        }\n    }\n};\n```\n## Example\nYou can find full source code of demo for aspire-datatable at [aspire-datatable-demo](https://github.com/aspire-software/aspire-datatable-demo).","readmeFilename":"README.md"}