{"_id":"@terminus/ui-csv-entry","_rev":"57-7b2859814cc33acd86bae5acac6bb16f","name":"@terminus/ui-csv-entry","dist-tags":{"latest":"3.0.0","next":"3.0.0"},"versions":{"0.0.1":{"name":"@terminus/ui-csv-entry","version":"0.0.1","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^1.0.10","@terminus/ngx-tools":"^8.0.5","@terminus/ui-button":"*","@terminus/ui-icon":"*","@terminus/ui-icon-button":"*","@terminus/ui-spacing":"*","@terminus/ui-tooltip":"*","@terminus/ui-utilities":"*","rxjs":"^6.5.0"},"main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@0.0.1","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-nBCdADImfb80cwFJ1xKy4/sOYvAbur74056OfBz09cO0bAsN7c7qBEa5vlRKyImzpjuYzAVdmRhOK32v9Yt0Kw==","shasum":"4e8fb74e9168be70110148740e4eb88a1ce85e91","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-0.0.1.tgz","fileCount":35,"unpackedSize":580790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1eQnCRA9TVsSAnZWagAAL8UP/jv15ARJ0/i+Qe9HaVhX\nZWEPRaGzYy8egYWFp06LZAGQWxqecCMYf24l/fNj53RXsaszel7u9CjbMxsY\nxWeBW1ixe0hDuT97s1iP677WXQRjKXl6sw4zNM/MTk7cqM2610sRw6KGmojU\nkfU6sLiOz/zcOGjYbxIGNFwFAOyyCp72/roHISIjVH7O7+MIxX9nxNKd/n0B\nCTqK77ZDvA3SUczOOmgvagCtFpzA2WiZe88sz5MYQ8eLGhZoLFeBExvTijCl\n+RFQRW1QuIAKho7gG0P/CfRh/P492sYYqJtyJqU/a2LXOsKZkz+v2kpRniXE\npXyfGSMmyvmxGqu9I2iQWWtS2dlhgW7SsaQqnIanTenJmiXHa4RZk+D3XDxm\n6IgBW6gN0Y9r03gW7Dd9465lbsUWdHjsO8I7MgQjNOiou6rdnSqP4qTysVgi\nbB72qhG1Z4fmEGrG06v1p79eqMe7AqSNio/Aiav25OIDfCErd6NbOLUYKzkT\n4kikiZA4BnXJyr8GVSC2EaIetRQbOKOW1hShoiSXjbIAv5HghLiHTRhzKiVj\nsp2guXZzWMeYzXGAPPbmaTKc2/SYRITwCToHTmz/zHgCD89YwwqIuGe2/xFq\n4pjYKaPBUkV+OwYnxeczNew7Xg5aDW5Eifrc3K5jaJCWHhODslqjXS1XlKFI\nYPiG\r\n=dP4P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE5G2cnl7vaAqbMmGtnGxc7fSk4bs+gauol8DkGGJpc/AiAhRmEEZiyQpsQEwTYvvVE9D/pwptzhMnpz1Y9VLRxh0Q=="}]},"maintainers":[{"name":"terminus_devops","email":"devops@terminus.com"},{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"}],"_npmUser":{"name":"benjamincharity","email":"ben@benjamincharity.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_0.0.1_1591075878313_0.6690532002501708"},"_hasShrinkwrap":false},"1.0.0":{"name":"@terminus/ui-csv-entry","version":"1.0.0","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^1.0.10","@terminus/ngx-tools":"^8.0.5","@terminus/ui-button":"^0.0.1","@terminus/ui-icon":"^0.0.1","@terminus/ui-icon-button":"^0.0.1","@terminus/ui-spacing":"^0.0.1","@terminus/ui-tooltip":"^0.0.1","@terminus/ui-utilities":"^0.0.1","rxjs":"^6.5.0","tslib":"^1.10.0"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Github release][gh-release-badge]][gh-releases] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n**Table of Contents**\n\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/master/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/master/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[gh-release-badge]:    https://img.shields.io/github/release/GetTerminus/terminus-oss.svg\n[gh-releases]:         https://github.com/GetTerminus/terminus-ui/releases/\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/CI%20Release/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@1.0.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-FU21fcSRhUF/Sj0RyFKv5ZoTEl4MhnCvneS+KhaCPleUSDlCFn6uE/5k2F8oMoJd5xozvD+O6iIUHvzvbV18Fg==","shasum":"aaffecc68dace937b2c17fab1ee5bed8f28dce75","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-1.0.0.tgz","fileCount":17,"unpackedSize":68843,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2ULXCRA9TVsSAnZWagAA1eYP/2O3a3bPgIRriNI/G+Fm\nifUY0nQkP3wTAnQuzpOBdHmruNATi8/K6OpZU0sqEux6fDXaS/U9bnE26Xum\nzlFZWCXHjSBNgHQNN3PvB0rm69K0WGEONnCtFaBWQ9tjUeXkxuaR9Jox0d3j\n9ApVvbPE9d3WTen/lOv2GeFjHyp24uOnAMM4/Ouk+f45COmi/QtfNQ+SoQfw\nRvEpKeesXV2MPuQZblmedo82Q+9rIhDbwev/os5H+Iz/4BBKl3sbwJcq5ct/\nFpu04vVLNZoOb4XCaQ7joZppES911HjBnCjAJfz5B02zXqtoFYF91clEkva5\na20plG6bCrS5c8Ec/FdjNMtftHyqFYGo2Rv6mOkPK3Fmf5O3uR+pxF6zKCMX\nkHAyPGSg7hVS2c3J81Ay9475HIAbUyIiHX9FC4955f4Yxsnj3oPzNMizo7c1\n3Fuouz0d99Bip5DP2J6nuwvxDlZUjaTVJ6rHqboxICw03VL0sU2WYLN+nnGK\n0FfZOFX4tO6LVDYsPaMu88SXemLqT+j9tb5QN0VSaFutg4B86HUWhm8ntAwM\ngskcOaHFm6ahU4mSP+MfS4U4CyLndBOSAV5xXkVyfwPVVi7bEAjADbQkho0h\nCRb2x/ewatLL9qHebH1w8U8fztDePiv9c2XPqkfb5WU7Ayr+HAa6TUMNKkYw\nlh13\r\n=gQvV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMNY6ERzxkwk5kZHfIJgEjDr+Hi2lSkShyd3JvuOSidwIgE7btwiHfEnFRBRzerNrLzIv7uVndesH3dR2jxFnzXuw="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_1.0.0_1591296726995_0.5856532483830157"},"_hasShrinkwrap":false},"1.0.1":{"name":"@terminus/ui-csv-entry","version":"1.0.1","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^1.0.10","@terminus/ngx-tools":"^8.0.5","@terminus/ui-button":"^0.0.1","@terminus/ui-icon":"^0.0.1","@terminus/ui-icon-button":"^0.0.1","@terminus/ui-spacing":"^0.0.1","@terminus/ui-tooltip":"^0.0.1","@terminus/ui-utilities":"^0.0.1","rxjs":"^6.5.0","tslib":"^1.10.0"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@1.0.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-viHSbVqoSF21WR8BeZUr/JjIGWWaH0iwuM+msLeMTQ7HPSJxou0o+gfg3bhFoCaswnHmMd9wkv0jDWpgSZXFzw==","shasum":"4bd1be457f8fa27d2103de5e77eda3b53d87caad","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-1.0.1.tgz","fileCount":18,"unpackedSize":68897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2a33CRA9TVsSAnZWagAAKU8P/i8/bw/v3qnb4ha9KQ1N\nKmFsWSTsxNexbAg9gHQLo8RR3hgqg5epvmbKzQFS+iSGx824nHm8OkUOuCm8\njUakA6Tpf/4Ao41skairXCnKV7eZCCadj/1uG6GCjfJSRUv1ZYTNGdezKuve\nTCLRMzW75RzJboDFWsr2lly83L/CT7o53PUYiyrMBWIlpaNYjkm9sVlRQ9x6\nEx8HUVV4EnSMsjvwnuyjE47ceBajZKhGL40Og6XyrpjaVrFNCl2P59vtmSrf\nFc1SAtcdTHFWRCsaIyCyw0gNlqsBctA7jDV4BuDhlxZaswf35GgeZdLMkizU\nqn05apnEKweEc6EYSuwSs85CSXqnduBmiL0/hkOcp72bXGGgk+Yny4bZUhdq\niXH8TYtB28f/gWioUZrCxe+ubJMFEneG8Y2XLE0B/R0TtSm657/ebbwslVL3\nrfZcyBV7rBqqSdrky/rPAY3qDtapQF+/5r2hT5yiC87Lep1jYnfprdhk1mp6\nqup0ZLIoWSNzvhm2t6+FqW8lOfclxJ7cStnanDC81OKcJT2vkME+3HnmjCSZ\nt7oiWxv21NDuGwIDGNEIZQR2bOTUGEnLgp9cUhy0ZnotHgdC2yXl17pJSljQ\nrmE/uyCruEi+UtOwtkfX1rDNNvqXoRbIySiX7ZBH7r3jdI3xnfG8vj8BkCBg\nk/XW\r\n=iiPG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDl+IvtGOwnow3ojXU7TCqgytJGg9rYH0uLd0l3aviebgIhAKaS2yMLJCLSs/OpqzI/H7LwR3yBeYLXlU+2Ec3IzqSC"}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_1.0.1_1591324151008_0.3067058755388208"},"_hasShrinkwrap":false},"1.0.2":{"name":"@terminus/ui-csv-entry","version":"1.0.2","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^2.0.2","@terminus/ngx-tools":"^8.0.5","@terminus/ui-button":"^1.0.0","@terminus/ui-icon":"^1.0.0","@terminus/ui-icon-button":"^1.0.0","@terminus/ui-spacing":"^1.0.0","@terminus/ui-tooltip":"^1.0.0","@terminus/ui-utilities":"^1.0.0","rxjs":"^6.5.0"},"main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Github release][gh-release-badge]][gh-releases] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n**Table of Contents**\n\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/master/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/master/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[gh-release-badge]:    https://img.shields.io/github/release/GetTerminus/terminus-oss.svg\n[gh-releases]:         https://github.com/GetTerminus/terminus-ui/releases/\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@1.0.2","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-hvnASUsjucAGp4fMRs4Whq4/yNzBIhnk5uyqoc+9wiRTYZjuXSzlr+uPf94xZtKMqyWs7OviBTOXnCqNEg6WHA==","shasum":"4d8c7343f47cf99453df12ed228506f129e6c096","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-1.0.2.tgz","fileCount":36,"unpackedSize":581271,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4SuqCRA9TVsSAnZWagAAQXEP/2dfYLW5S9xR3kUIN+tK\nae0jad7GuZ4ISdgPnZ7d55zV+zr0aCrgkTt61uApkFdwO9wL+kAf4HwAbWMD\nsf3K4e4Xka1DPouiDfkFVSzLsTJDmGqRkKPcZubuBHMTSjdabH8kmAI84WHS\nFDd5AJwh59wx3R8MR12UOobOCWCqCXmF0fITCGzpRjYEpWWxC9fLAhcmOCer\n2CjehoAZn2aLelp1eWIdTp+QKxkI/xHr9y1Fee5XelXKreflLAvn69dYCmp4\nhPC6RXhVuPJEMEoHpp3iK4ZN1u6OdKYLa0hDyzvb5vEeU2faO2DPhrgMYWr6\nhPcltyIa8MdSmSRaJGdt5wRZVAQs9IMzW5pRZ41TdyMdK3HvDa9XDBTpXtf5\nUJMX8v8EApH6AWz9BFeV7dwmUdRhI/P78iVZ3fTWxhcBCQbUoZ1FzjcHIOOe\nMGeVj3cWCDdk9JJCjN7A+raf1BaNyiFsDJmmToQkpbCmDezKw2zOJB32CVKs\nKzirXkBTzaztwABV2hL/O1Zo5FYfEgJ1MZEli/U72ABWhYWBc7eWIfB2E9OW\nHG3E+BR40kjlMkn8zKAXbVUdUrvYfuaTtVeTla8MWPj82W05pihnSco/AxNC\noWwq4I+KKrF8v3rpyoMkxr9ZOmG3nbyoTAifKlrCylEF6DRMMXmbDAe7AwcO\n0KFD\r\n=5u49\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDif+WyXmFbA/GZyN6PkrnFU/wAPdAg43yyGQBeIikitQIgVx0hga6xt7C3TRVXbn6jYbG/dBNnTEmYRo+OUCqowqk="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"benjamincharity","email":"ben@benjamincharity.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_1.0.2_1591815081789_0.6583605891342561"},"_hasShrinkwrap":false},"1.0.3":{"name":"@terminus/ui-csv-entry","version":"1.0.3","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^2.0.2","@terminus/ngx-tools":"^8.0.5","@terminus/ui-button":"^1.0.0","@terminus/ui-icon":"^1.0.0","@terminus/ui-icon-button":"^1.0.0","@terminus/ui-spacing":"^1.0.0","@terminus/ui-tooltip":"^1.0.0","@terminus/ui-utilities":"^1.0.0","rxjs":"^6.5.0"},"main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@terminus/ui-validators":"1.0.3","@angular/material":"9.2.3"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@1.0.3","_nodeVersion":"12.18.0","_npmVersion":"lerna/3.22.1/node@v12.18.0+x64 (linux)","dist":{"integrity":"sha512-DwqoJu9JORJnCuMGtbE6crYZ/qwaF6CknrWCF0sbvGNSKPZVwDgPQk57DdYmgzwvHaJOWYXjDyuug7HBVblR8Q==","shasum":"db45390d71fda266fa41705b5463af31ce67280d","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-1.0.3.tgz","fileCount":37,"unpackedSize":582611,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4j0cCRA9TVsSAnZWagAAZ94P/2wq+ifGJd78w/kZu/lS\nP7VR9hsF738mR7+S/8cIiE69HdC+G0xE7wje00vI5VTwn17fA6kzaQ64px7l\nIxazsANwzcHHwmU2J+pPzOnfPVfhnjcFDRIm77Re9aRb9U6+GDat5klwSETq\n5Wof7g9qOeNVW1RtrXqRgxkw5CEpZcFxjrtwVEMiFXOqvNWkeNrqidJxEYB1\nwn8NRchqRzuhWGtdfUqQevfVi7baX781F15Hm4zu7IYmPvAORSq8aa/zvjeU\nUobcVKY1JXtlI0+aU8VZxsdOB5R+7z755Tfv00g89pKfxzfB1MR+jNZm7Yjx\nWbD3c461f8A+1YO874+FspSwdzgBiicMu2kQ5dBKyQaKk4dOM6qSJLmZYigO\nwuo4vSSCRVcw65Lrl8/XhO0IeA5vYYqI6TQESxV11uMxLw72m20ShjadB4Jk\niONyTP9LpDtxsEb/rzliaEwMNpibEuAzf6m8U0vDNPq1vWSnIKtE83nV5faj\nJQJqSi2eU2EbL3pIqHMS6OdB5rSW3hhsMpMkau87hKLWZemxwwPi+/NO4MEm\nP4cT6Dj+QbuKPsKBQAxuovMr3DzqB7VqPrR2xDhdSavdwhupae421E0NE0LL\nOCKkbahdwyABrusjwKpoURCRt6Fv6FwLgJsLT1N8H1fZSDezZqX1KrZ8Rc2e\njqMp\r\n=zisJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDdpeLR7DPRGPtiFNqtjy0kwTHc5sGNiF/xV45C17u55AiBs3K3O7IfIGHkot9OTQhSomDgnHN149NTVgpsAxAhQUQ=="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_1.0.3_1591885083518_0.9203465917635922"},"_hasShrinkwrap":false},"1.0.4":{"name":"@terminus/ui-csv-entry","version":"1.0.4","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^2.0.2","@terminus/ngx-tools":"^8.0.5","@terminus/ui-button":"^1.0.0","@terminus/ui-icon":"^1.0.0","@terminus/ui-icon-button":"^1.0.0","@terminus/ui-spacing":"^1.0.0","@terminus/ui-tooltip":"^1.0.0","@terminus/ui-utilities":"^1.0.0","rxjs":"^6.5.0"},"main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@1.0.4","_nodeVersion":"12.18.0","_npmVersion":"lerna/3.22.1/node@v12.18.0+x64 (linux)","dist":{"integrity":"sha512-Igg8v4sSFrOOvEeedP9xu5hU/KzoHJC3iZPfH4yK6CoeH+V3bQWXKxYWz5UyQhwUBCgXrzssHhb3QxtfYdwoxg==","shasum":"48288547640f19985a1e570b6ac9561250f46999","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-1.0.4.tgz","fileCount":37,"unpackedSize":582628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8iEdCRA9TVsSAnZWagAAHPoP/23fyRMKsgJsbiGJUrBw\n/YnxQULFA1iTRuFzrqr+Jhf+p/CEcr9lRymE2sRvPE1lnP6KzM13LI8j2Y6v\nGjB6b9aN/oTejN50CmS8yHCj7kAXhBH6Ezru3RFbdn7ZSL6NX2ZgVaua5J0I\np4RIXAJQifua6EimEcXkKAoiCcGFip/hbR0MnjxZ1BX6kcM9IibNUISvd3li\n1iJICH9WSI5F6xscW6IayZHahvMTFAAHUzvkfdNPxmYfN1+dMlc4fXG9iwd6\n9s4JA2XGyqWjodiH4r3R+oxzb2HomcYXep5+JiHPTNjFHVlwMkdrqAG7sEyz\nuqMJH8ANBauFlud7qWl55XD5C+yAGBC/eZ5152oF/yPVFOhLZMtDQ+u1Hjys\nDK0mtbGgs9Fa+KB8NGR/ecEY+MaKHZnOlQaD0gcTWC9/QCvuHN400Cwi4bow\nKm0lpoEE5jAz4qNTYb7/3mrpmaOQ6vTCmu7lP+LjrJ5XMmHhUwdBeXeDUXT0\nrLodnmNreoAA6TILGjM7f95JMJDyKnfK9e+Dsqt4X3xEfvrXASnv4FU+SjZS\ncb4V+2ULu4ccC7HzFBUZ0zc+Kd/7RkGW/ScQkxetVPze6u6dg+nkXGpV6vZI\nmShxYBp9i7q5xkrSwJMIOEcfjFZOk1VD4SFLdAYBzE3W8u9nbWpwLf2OqUb9\nlAKS\r\n=2VYo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkG9Y/Ch1bNyroFJspzya3NwBhkghTuetqvKenOZkUhwIgDqBE7wjRY6WcMSEJbMuSDenm+c+2DAC3LY85+wQOUyk="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_1.0.4_1592926493234_0.593453826483533"},"_hasShrinkwrap":false},"1.0.5":{"name":"@terminus/ui-csv-entry","version":"1.0.5","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^2.0.2","@terminus/ngx-tools":"^8.0.5","@terminus/ui-button":"^1.0.0","@terminus/ui-icon":"^1.0.0","@terminus/ui-icon-button":"^1.0.0","@terminus/ui-spacing":"^1.0.0","@terminus/ui-tooltip":"^1.0.0","@terminus/ui-utilities":"^1.0.0","rxjs":"^6.5.0"},"main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@1.0.5","_nodeVersion":"12.18.1","_npmVersion":"lerna/3.22.1/node@v12.18.1+x64 (linux)","dist":{"integrity":"sha512-FSGoxI2jTzhAKhw1FguO6C0xV18z9Jmx7WJAYm2r8W8gx3UVJsOXaTUAfFSC5+J7TSt+acrqAWbIQlHFtPNlZw==","shasum":"18673dc69b735ee1101c69e403c5d600c30c985b","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-1.0.5.tgz","fileCount":37,"unpackedSize":582836,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBJcDCRA9TVsSAnZWagAA4lAP/3FJZXFJap+SsIzmpjEy\nxle6imoQH6+QfWAXX4/2XR7VOSXWKFyEzLtM1LG8mgfhcXvwnT45wXF/kzaN\nKHJ/DoW2JMkHsJcysiDredQ9c/CQOY/QWzRd5POStzRNI4XhAaaFFNgRTh5A\nBPVqjVe6RwWFnCTWRR0OlJNM82I231c+MAxNNj4/vpZqlrUPXd8ZEz9ham2Q\naJslKPjL4RNHfOp6bvrM9MMHxV3pHSYVyH9FoLTZ9gHTXlBUK/diRhtp70QU\nxD/3sgUDLOfOVOjJbcC2ve8GtQlL9hBy4Zsc1kOZKkrEcTxFmwqOVxZICQoR\nrYIOaZAE9NSRAV+5HmKT7Zc4De+T0Pxi04qocRMyn02ZB2F+GBf8X+M2yqAu\nXDr/mzgk0wmVJz2W35q9Olac2IVAF9o4o3JhFyITWy8zUSvkzt7fAZErZz2b\nhBdvm5D5LVmau3un7kKND0U976M2uCJGzngWRK54QNgjPKdKyvkr53mjg2Jo\noW4N5WP1h1FVdtMZ+4SlMb1+7xdF8Eitgi08e8HtCwbw9XajyhHrv3uPu68g\nC7aDZb+mnnMghBNgW0OOu9jpwLkA4/g9FpalzZ9Tdv/ua3ggGJsJUGGzRDtG\ngRU0hJx/T+QcXhsAvwf5NyevqeQsAnDWLyMlZ0aU/JQCusVd8T7HXbKMBdQ0\nsHQt\r\n=bxdO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKo/gpSBwkD2fSrnlzlucgg8ArhMRLU1EUT4tFYn9XvwIgP3SuFcp5NrdYHLld5uWat9Gp1OK7tCwRMOC2wACuehU="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_1.0.5_1594136322677_0.30266469466387647"},"_hasShrinkwrap":false},"1.0.6":{"name":"@terminus/ui-csv-entry","version":"1.0.6","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^2.0.2","@terminus/ngx-tools":"^8.0.5","@terminus/ui-button":"^1.0.0","@terminus/ui-icon":"^1.0.0","@terminus/ui-icon-button":"^1.0.0","@terminus/ui-spacing":"^1.0.0","@terminus/ui-tooltip":"^1.0.0","@terminus/ui-utilities":"^1.0.0","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"10.0.0","@angular/material":"9.2.4"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Github release][gh-release-badge]][gh-releases] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n**Table of Contents**\n\n- [Installation](#installation)\n  - [Packages that need to be installed](#packages-that-need-to-be-installed)\n  - [Modules that need to be in NgModule](#modules-that-need-to-be-in-ngmodule)\n  - [Styles to be added](#styles-to-be-added)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\n### Packages that need to be installed\n\n   * @angular/cdk\n   * @angular/common\n   * @angular/core\n   * @angular/flex-layout\n   * @angular/forms\n   * @angular/material\n   * @angular/platform-browser\n   * @terminus/design-tokens\n   * @terminus/ngx-tools\n   * @terminus/ui-button\n   * @terminus/ui-icon\n   * @terminus/ui-icon-button\n   * @terminus/ui-spacing\n   * @terminus/ui-tooltip\n   * @terminus/ui-utilities\n   * @terminus/ui-csv-entry\n   * date-fns\n\n\nUsing `ng add` command can help getting all the dependencies installed:\n\n```bash\n    ng add @terminus/ui-csv-entry\n```\n\n### Modules that need to be in NgModule\n\n  * TsCSVEntryModule\n\n### Styles to be added\n\n At top level `styles.scss`, add these styles:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[gh-release-badge]:    https://img.shields.io/github/release/GetTerminus/terminus-oss.svg\n[gh-releases]:         https://github.com/GetTerminus/terminus-ui/releases/\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@1.0.6","_nodeVersion":"12.18.1","_npmVersion":"lerna/3.22.1/node@v12.18.1+x64 (linux)","dist":{"integrity":"sha512-sLakdawjzb76UfsReUux1aCLFOMqrVv1n7ThqARCXuwvOn9ac6mpULSGvGWZCdtEGvsQiIBKle3LbMVD9iPMhA==","shasum":"5b8b2c27fd7c2fda360330e878289bcb6eef6905","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-1.0.6.tgz","fileCount":37,"unpackedSize":584176,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDLTHCRA9TVsSAnZWagAA6DQP+wcQ3xUP9lZHgcIkaXrc\nzLRolGylvMSg+kIKh5UiXXDG43UUkDivibGGVZULtd+txEBNRG1P/hdI6Tqb\n9xWF7bqSNXt97I+ArMNqM/MJPsq70NqAlctK7aBs06KxRhISCVE5bdP9gy31\nfCRXNWKee/82MuEQT6Bc7BBsGL/zvVMUjtAgjvspF2xh3HK3iZhkfLcDxEXt\nnR433eDxOodB3W60Z8Z3LGee4cgnQikLFOD0X+N2q8rKTCQRjBHvkOkMjHdS\ng5QWxM3Sq9A7N4QgQ8od5buHnmGRlcJon+4cJfV5997MIQ0AUExsUGyVSLNg\nusslDj2xoFKgeVt6qWPPzYlICAY67PsGfQ8t2U84WAZzXwF0gE85AJ6u0MK6\nVXK1D1hVwBaTceX/D47UMkvAuB81mWozqmCBnw+36hLDiTRHaSWdxwo3O5uC\nFDIyYg9n5yJYdwL8mmnvhFER6+LqhswOMiUfHAoOOgIlOMs9dccxGLkcXwZl\nXAEr2CJzLOkcr7896+lISQSr/+QU9sKX+wRfx9IeG5SCmF3MmqNbJ3+SeBA2\n+tV9Vh5icFKlEP4i/AQbPA0LjAkXOqJb/oxol8MD4K9odJhVFAziui2C69jE\npKsmdHrxxDt8O8nrcoETRO7MQjZTOcn4FyuDD2IGggqHjE27QS9c8FbJATpO\nSCKB\r\n=zBhx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3NcKBM8I/ezG9z3lKkjcsqcEdoCwYMedl48XKD6GnCwIgShX/QvCp4nodX0hryhpP7BxypeJQKO1xmxUs0vmaTAY="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_1.0.6_1594668230425_0.19736060553856416"},"_hasShrinkwrap":false},"1.0.7":{"name":"@terminus/ui-csv-entry","version":"1.0.7","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^2.1.0","@terminus/ngx-tools":"^8.0.5","@terminus/ui-button":"^1.0.0","@terminus/ui-icon":"^1.0.0","@terminus/ui-icon-button":"^1.0.0","@terminus/ui-spacing":"^1.0.0","@terminus/ui-tooltip":"^1.0.0","@terminus/ui-utilities":"^1.0.0","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"10.0.0","@angular/material":"9.2.4"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@1.0.7","_nodeVersion":"12.18.2","_npmVersion":"lerna/3.22.1/node@v12.18.2+x64 (linux)","dist":{"integrity":"sha512-Rwn9wBywIJh2oRqvdy8t9bULlqdLnEBL4izclsGuQ5Hql8AE2LdwfoADTHMFKLifO1SYcoTR4Bf+7nzaivM7Xw==","shasum":"ad021b63f358b23c4aaaa31e24991b003a084152","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-1.0.7.tgz","fileCount":41,"unpackedSize":590971,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDcmPCRA9TVsSAnZWagAAKZkP/Ax3lN87xTLzfWWlul3T\nJ7g5QGxZFxdFJ/3Hr5v5BviOpSrEJKPK9z67Rw/q/d/zcu1OzGmx5F83H2SI\nBinq/kNBtdgrQqQTwRQ+lxrhVKUoEsyME1I0c5qZf5Mn5KPG3npWT9cF3IHw\nbKQOnIk3W4VnSf4MWz2qcuFly8HLfcjatPeEFB8tJ60OJ/C74+HlLLq5m4En\nJMXJ9FiR4sYsR2X9hkliqK573w3kOSujxViJlgCLbJwSq8tpKVsnBIOwVaPH\n98FYGHNnf66mkPo0XUAA37O8vzc+evsdlP6FVnZV8XqPvhhEQXYz5p2gtI3R\n5j6LiRscnSeqLWi6A2huztChLL/+/6uMA3DoUlMiGI/DjfaCQUD+udXmZVag\nhOTrjz4tcfcYQKiQdPw5gKNumraV75D+4A+zvrglljda7UzvZizsgMzlWv96\nrIkhBAH6/NaRZhE0YmIONUDDGlRPEaZHGZYnUsK4hSfA3VWnCCMbFYrR/4zY\npIff/cgEYxhXecuCNcle1nkh4vnADdwOEMgvuxaQlZkHKjbm7FsnPb5UyOAb\niuozoLy+WwvPoNbOseaophJ09uF1qK54E3oWyDDy1uPJeFyojc3melPMDrKx\nI09qEczXbYKmQ0XQv8ZlUXfnaD1XKn7P+3Pk7L02nvSOrq/3LXLtfPZUi120\nKVvi\r\n=/t/X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcwxEx6h8RAr5nJn9d9PntsDNNo79auExkZ1kG8O6hxgIhALwlAyC+OyMzHpLzeAck7jvZulrQGBYYB9csAGD4YS8S"}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_1.0.7_1594739086973_0.10645645157271089"},"_hasShrinkwrap":false},"1.0.8":{"name":"@terminus/ui-csv-entry","version":"1.0.8","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^2.1.0","@terminus/ngx-tools":"^8.0.5","@terminus/ui-button":"^1.0.0","@terminus/ui-icon":"^1.0.0","@terminus/ui-icon-button":"^1.0.0","@terminus/ui-spacing":"^1.0.0","@terminus/ui-tooltip":"^1.0.0","@terminus/ui-utilities":"^1.0.0","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"10.0.0","@angular/material":"9.2.4"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Github release][gh-release-badge]][gh-releases] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n**Table of Contents**\n\n- [Installation](#installation)\n  - [Packages that need to be installed](#packages-that-need-to-be-installed)\n  - [Modules that need to be in NgModule](#modules-that-need-to-be-in-ngmodule)\n  - [Styles to be added](#styles-to-be-added)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\n### Packages that need to be installed\n\n   * @angular/cdk\n   * @angular/common\n   * @angular/core\n   * @angular/flex-layout\n   * @angular/forms\n   * @angular/material\n   * @angular/platform-browser\n   * @terminus/design-tokens\n   * @terminus/ngx-tools\n   * @terminus/ui-button\n   * @terminus/ui-icon\n   * @terminus/ui-icon-button\n   * @terminus/ui-spacing\n   * @terminus/ui-tooltip\n   * @terminus/ui-utilities\n   * @terminus/ui-csv-entry\n   * date-fns\n\n\nUsing `ng add` command can help getting all the dependencies installed:\n\n```bash\n    ng add @terminus/ui-csv-entry\n```\n\n### Modules that need to be in NgModule\n\n  * TsCSVEntryModule\n\n### Styles to be added\n\n At top level `styles.scss`, add these styles:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[gh-release-badge]:    https://img.shields.io/github/release/GetTerminus/terminus-oss.svg\n[gh-releases]:         https://github.com/GetTerminus/terminus-ui/releases/\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@1.0.8","_nodeVersion":"12.18.2","_npmVersion":"lerna/3.22.1/node@v12.18.2+x64 (linux)","dist":{"integrity":"sha512-A3eZxENYLMH8P8thonLp5PaN5QkNP+ctGbb7CBhGbwR1UCELz2mrhYnKhElyEnS69RwkQYmAMUmLnD/D7hZibw==","shasum":"10ae60aab152f348911594e270f5279ed1beee50","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-1.0.8.tgz","fileCount":41,"unpackedSize":591177,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGt4XCRA9TVsSAnZWagAADsYP/0AoNDmWv3yB/ASX1Ba5\nMX6GNSl/INSD/bq2rK793OHh2a3vruIWgLJR8TqUcXq0eWerm0KhVMS/8/n2\n7lMj5pgpwvw3NUoQc/C2fRjckNT/XO2PWE94vCyLnz2APCk5vr+BogzaOthT\nlRnrQGzsZ7aphC0o7LSkaaRqiYbC5YNMnJL6S5beDaEy9p61WDNY0Vcby54s\nj9jBMJETvnWKhcqz2apj+6iPih6U6jUaBL+MBt7JgU35++cOM3Y4H37RwPC8\nZl6iGNepV8s1quLBV8HYcnbYnNJzzfxMRDKB+ikfE/dsr78d/nY2TIZp1Ufs\nFx/fpCHae8VM0h3yBxe/EeFQBxaMDtOfTJ+de4qVQrnIaTzft/cQaMO4euiJ\nab+/BK08XkwdO+UX1ipjaKaLm2tx+bLu1o4TYXB3zNlgd8pHBv4ENHiNaHqD\nRRHJtR8hx9B8S8wTwEwstRUHGiqUNHW3MOkj6XtSOjf2chMQi3+3ZQF1EdGp\nHRtRsUELYFI0nknMHPMogmX/MTEJhZFEkwP8A1uvmPRRdWy+ZqJh9YElkW48\nbVtTmvhaNXdBLMPhsixW9PNhdRfYh3krI6M7xd5W3XiglOmTDjJ2HPJOu7Yl\na7QScMsOAAJ8dkijkH7RIenjkLx+GKGHy2TLvzICM24BmGR2WH6tTefjjqGz\nCW8X\r\n=nAz5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGD54SAreQIrQzQOuehK6tXDLk30WJv6LpNTPH2myhvJAiAWe8FnvHI0vKni9djxGdXkw4zjFxLPTveuU2BJdiijow=="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_1.0.8_1595596310550_0.5571161456285356"},"_hasShrinkwrap":false},"2.0.0":{"name":"@terminus/ui-csv-entry","version":"2.0.0","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/ngx-tools":"^8.0.5","@terminus/ui-button":"^1.0.0","@terminus/ui-icon":"^1.0.0","@terminus/ui-icon-button":"^1.0.0","@terminus/ui-spacing":"^1.0.0","@terminus/ui-tooltip":"^1.0.0","@terminus/ui-utilities":"^1.0.0","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"10.0.0","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-regular-svg-icons":"5.14.0","@angular/material":"9.2.4"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n**Table of Contents**\n\n- [Installation](#installation)\n  - [Packages that need to be installed](#packages-that-need-to-be-installed)\n  - [Modules that need to be in NgModule](#modules-that-need-to-be-in-ngmodule)\n  - [CSS imports](#css-imports)\n  - [CSS resources](#css-resources)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\n### Packages that need to be installed\n\n- `@angular/cdk`\n- `@angular/common`\n- `@angular/core`\n- `@angular/flex-layout`\n- `@angular/forms`\n- `@angular/material`\n- `@angular/platform-browser`\n- `@terminus/design-tokens`\n- `@terminus/ngx-tools`\n- `@terminus/ui-button`\n- `@terminus/ui-icon`\n- `@terminus/ui-icon-button`\n- `@terminus/ui-spacing`\n- `@terminus/ui-tooltip`\n- `@terminus/ui-utilities`\n- `@terminus/ui-csv-entry`\n- `date-fns`\n\nUsing `ng add` command can help getting all the dependencies installed:\n\n```bash\nng add @terminus/ui-csv-entry\n```\n\n### Modules that need to be in NgModule\n\n- `TsCSVEntryModule`\n\n### CSS imports\n\nIn your top level stylesheet, add these imports:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```  \n\n### CSS resources\n\nLoad the needed font families by adding this link to the `<head>` of your application:\n\n```css\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap\" rel=\"stylesheet\">\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.0.0","_nodeVersion":"12.18.2","_npmVersion":"lerna/3.22.1/node@v12.18.2+x64 (linux)","dist":{"integrity":"sha512-8bujme9Y1BmQnmW95OoevmuemFH1Mwj1ybWKgKAfNptyh8D1mZnQo+58lMabQEC28VM1H4Ib/I07U4xo6o0DsA==","shasum":"f85c94ff2fa0bd01f3c6b702e7f1a93797bb58b8","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.0.0.tgz","fileCount":41,"unpackedSize":594330,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHy2GCRA9TVsSAnZWagAAGB0QAJA2oa9M0s50KKR9pJsQ\nuelqlYQHWaZQlX1moEBr4dBiA065v+4pHYlroh+E1kH/SuHAvB33Wgi456ta\nTjKDS249HpDBHaNNwC6Q0UFh4EeNTGV/rJRA28bGIQ4YZcUzdEvM8s4lg+pM\niZXwui9Zggy4uSi7BSWNe92mgcV8sdmnIJSDEEdaAzwAkwxLhsysqYKUj2bI\nPfFZtP0uLUROmQfkH4/r8Hrh5R9rlXb7KPGSP82vLp8G1XoQ2zHS82N9L22Q\nabcOrlor+pOLiF3954/B1OyPVyJvZEj6vQXHbjISpuwUjj14hAEk2jUe7ZKL\nsHKcn7CJBQh3lgrW2rUtabzq0WE1LnXVWkD50rcQ5GclLarxBj8Nhy2dLCsX\n4O78hjSPehMBtCdYFKh9Q7ULYHd2RYXKmhmhM0339kmWpKt07VBEck7eAKIX\nyFzeQzvaHg9lXTCNSAeKmLH6mogajbQ3Ye1lYpjfKNeK1MHkwc1OcJlqedib\nu4J2Hq0t1AjxbJL8iy4xPr87X4e+B0lFtFe+W3it0/QDkHGviycNvf29fm2Z\n1kRMXymIB4AaRszZ+gs9nV/U8excVLuU8WBA0sgKczm40finzH9kalafzGVt\nOoEdizKWFaz7dZyZ5iPxE6iYz+t90aIvu2Hca6ttAZiymV6QGeORxHYpnG6d\nSk/r\r\n=FTYK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDhRYnd6aAp23CAidE1Qx26XkIiPknui+DbktDvj7BzVAiEAsOh0P2OXa+7HolJEiPKzSX/X6/flNOmEoUgEWNeqQxo="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.0.0_1595878789741_0.18453373988539923"},"_hasShrinkwrap":false},"2.0.1":{"name":"@terminus/ui-csv-entry","version":"2.0.1","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/ngx-tools":"^8.0.6","@terminus/ui-button":"^2.0.0","@terminus/ui-icon":"^2.0.0","@terminus/ui-icon-button":"^2.0.0","@terminus/ui-spacing":"^1.0.9","@terminus/ui-tooltip":"^1.0.9","@terminus/ui-utilities":"^1.0.7","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"10.0.0","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-regular-svg-icons":"5.14.0","@angular/material":"9.2.4"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.0.1","_nodeVersion":"12.18.2","_npmVersion":"lerna/3.22.1/node@v12.18.2+x64 (linux)","dist":{"integrity":"sha512-QFlOyFJU4npRkeqagPZguHMQXazMdDTSf0jIWsHilo2rPSrjneoEZDpvoQemoMhXhmBGhrZVjOuWpaCPSfQK7A==","shasum":"5d4bcdd34c8c0e0167066876b29d614d1e6f35ae","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.0.1.tgz","fileCount":41,"unpackedSize":594623,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIEQ7CRA9TVsSAnZWagAABaMQAKEw1V6+k/LukJd3EO8y\ntsrXqLs9qgdkiE7/S4bF13B4XjLy3uxOFXtMMLw4FUE750bl8Pb2AJlxZwof\nkk3MBXQoI5388AMBQ8pPU1woHsO8ApNT96Kdqr/c3WHbxBnmBLKNesnW6MAq\nRJAl4EuIqU7k1A6lhhN6oLTkkDqxXmzaW9dontDH/p3zIM8BWxCTotw6MfDY\nGStPwm1Yzem1hKaqOPzisxTIJkAd0tY5LmqYxxEQ4sYJAMWudEuzN7ukuK4Q\njFzSQJkXlOsr5dcQ/dXuvb5iaf7SinDWNQRgpXXpSNUTHPf9jz1hvNylLs5d\ntzIbb23ipjN/qUmfhIk1yavoaZ7gS8swVNJV5+cDIjvJbkYPaceSyNB7a9CZ\nclaA/Bkx9M8HA95tuYGWAOaWVZxFD8JZd+sy4KdHIGvlXNmDxtkT5wOWZj5W\no3SEUZNF285NYMZJpaxQKr1PirWYUFaHUoADTEFEcMJTxSMH2VUOti6iAgGB\nzH61AzkonvUetYQdTuTRac6tlptV8nZAnf9aWqLFbl2eCRvGAoRebHBVXgUk\n4UT903lsmMs/MHJTQENVyb/Efqf8Mhyn2MdQ1ly2a2ncd7wqXU/aMBB6UR96\nwj7JT5rTAcIbXb2/VvIbowokMRKCmQC866ePBAyV3aqnBw+LeLyddoT9vOes\nypFY\r\n=/HwY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDS4KEbUvekoiN2ROIBIcRTOsjmmNsmd2eBZiyxkD/fCQIgIUmSPIZN1lXcWtX81HubFEMiXivTXXHN8B+gnnyl/v0="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.0.1_1595950138551_0.4502598748812381"},"_hasShrinkwrap":false},"2.0.2":{"name":"@terminus/ui-csv-entry","version":"2.0.2","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/ngx-tools":"^8.0.6","@terminus/ui-button":"^2.0.0","@terminus/ui-icon":"^2.0.0","@terminus/ui-icon-button":"^2.0.0","@terminus/ui-spacing":"^1.0.9","@terminus/ui-tooltip":"^1.0.9","@terminus/ui-utilities":"^1.0.7","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"10.0.0","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-regular-svg-icons":"5.14.0","@angular/material":"9.2.4"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n**Table of Contents**\n\n- [Installation](#installation)\n  - [Packages that need to be installed](#packages-that-need-to-be-installed)\n  - [Modules that need to be in NgModule](#modules-that-need-to-be-in-ngmodule)\n  - [CSS imports](#css-imports)\n  - [CSS resources](#css-resources)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\n### Packages that need to be installed\n\n- `@angular/cdk`\n- `@angular/common`\n- `@angular/core`\n- `@angular/flex-layout`\n- `@angular/forms`\n- `@angular/material`\n- `@angular/platform-browser`\n- `@terminus/design-tokens`\n- `@terminus/ngx-tools`\n- `@terminus/ui-button`\n- `@terminus/ui-icon`\n- `@terminus/ui-icon-button`\n- `@terminus/ui-spacing`\n- `@terminus/ui-tooltip`\n- `@terminus/ui-utilities`\n- `@terminus/ui-csv-entry`\n- `date-fns`\n\nUsing `ng add` command can help getting all the dependencies installed:\n\n```bash\nng add @terminus/ui-csv-entry\n```\n\n### Modules that need to be in NgModule\n\n- `TsCSVEntryModule`\n\n### CSS imports\n\nIn your top level stylesheet, add these imports:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```  \n\n### CSS resources\n\nLoad the needed font families by adding this link to the `<head>` of your application:\n\n```css\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap\" rel=\"stylesheet\">\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.0.2","_nodeVersion":"12.18.2","_npmVersion":"lerna/3.22.1/node@v12.18.2+x64 (linux)","dist":{"integrity":"sha512-h+cKfppNwomPJyDclP4JGxf2jWmGLcyivhfgc7iYnuPl4ihmWCCHf/+ExxJfcFfkWQ5+DuZlVv6Ddc+ChgL/BQ==","shasum":"efa171b4d82dd58858ac348506e5dde970b1f564","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.0.2.tgz","fileCount":41,"unpackedSize":595302,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIG5OCRA9TVsSAnZWagAAOIQQAJDTijhDZIm9A44vpanW\nEtWfqbbXRLFeJmfyyraYMlA+aOX2hRHI1zv5ZeJikd0kDCPCoZHoRmFGgksv\npNiw/UVozBeT8/F78bE32jCHGoWqJVF9KEKmuLkKNDSfWH/a3CnaXj/NB1Ci\n7SxzztBDRHODKW2XLQWCnDbdn1RjOtm4cmRSFolXEfJGUsxJS94Uv+xDrtuI\nKqdGBXJfDHWvSx4JBwoMQ3K9MixxKwibXN8stkvHBCJ1JU83CCAWGWZP9cra\n2hcteMZdCDjcHdoGIjogHw/B0sfrEaTl1LCFTzTYTKI6MZqefDvYFfNCRLEN\nLGr5s8FrpB4ff4KA6oc5dBv1nm2X+4BsKF4pwn/D4rXzsahEL2FnTfaJYWpm\nD8+R/+OoK+bUi9z/87E4DOpJm2KaztORQz6B7ZlLoG/4gR0dkRwNye4GgWdF\nS4FCMiXSffbJgArT7NGmRM3KYF08GhQi3E7KV6Nbs8Dv6UoxFkw8fPEBlU3I\nbDIwqviGBDzvks9aa9TRpETDA+hWkpkILs/uvSdbHxvBDnQ9d9Lubjn3TN+m\ntVNPfhgB7Tn2XLVr5TFONq91VPiiDbDGzO1STyrhsnUjjOJjYKjGLlRpHfTl\nzDLrEECLK3IT4C4gD/+HbYa1YWhOCnYrAP6wrq8Lv2P+Kh+ssGZxEcw+jKw7\nSwjb\r\n=vQ9h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHOiVMpF8OzaN2bbZHbiixJQZZhw/X3GNPtT7Hvxte4wAiEAqR3GKJ/5WQJ0/FrlZZjbcZ8QRisDlXvv9FVFhk5tNjs="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.0.2_1595960910199_0.8828737111780673"},"_hasShrinkwrap":false},"2.0.3":{"name":"@terminus/ui-csv-entry","version":"2.0.3","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/ngx-tools":"^8.0.6","@terminus/ui-button":"^2.0.0","@terminus/ui-icon":"^2.0.0","@terminus/ui-icon-button":"^2.0.0","@terminus/ui-spacing":"^1.0.9","@terminus/ui-tooltip":"^1.0.9","@terminus/ui-utilities":"^1.0.7","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"10.0.0","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-regular-svg-icons":"5.14.0","@angular/material":"9.2.4","@fortawesome/pro-solid-svg-icons":"5.14.0"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.0.3","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-4ya9dzKuv3v7epIXqiSXYylvyW+8665+b5hUreSOrytt0xtoGdzh0GkJ4IAXfk7paP4kFASI+LVdBTyeVbiPiQ==","shasum":"7429c00c2059ab62f10c5e51e9c4d0936843c813","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.0.3.tgz","fileCount":41,"unpackedSize":595618,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIXQUCRA9TVsSAnZWagAAAQwQAI77oawxSDxwn7IJ7/vB\nQFww/GIvHkmsGp5DWjM4pH7M9cJdafTGaFhCPYl6H2welZyxpcV0omHuDkOV\nt1IBqjTNswdiSh8YWDg8FpcCAUJyIJNbfbiP3syc6VZveRtsquuM+9Yw6jeQ\nLiodpxTsMw22j9QRqGBJTV2t7smw8yqItPL6O8giLA9uTPLj0mtXAfnF3AIa\ndy2uWzMBu3SaAQwQDIT3pVLfkRe4a77oJYP6JZEqP4G+T+WMHNMEx+gYZJOQ\nQJcutGGvQ74br2+SdgJ+BPdcEB+fenMz9NpQHamCxWyQ5kmpeP7BRZN1IY4r\njGEW6OLxZ3rVuXyTnt5Npe2R1EE6Uo8iBzUr+eeKB5YZGe/CWSiLra9OfIVC\nbo8G3u8eW2UggfcioTybhKlZ72G0I4twKqPzb8cJUPJovHl4j5KcbUYEaY1s\nniWUL9MiyROr3cLT74ovgS9oCOOlQlVWSp9Hy71XpmNN8ZhYqIrX1g2/zu+R\nO9Cu5ev1gxsvkkLYEiBtA+5aqxSLpjqO7ESbTEzk8/xdMi1iSdX4SIF5S3x1\n/ZQvg12dnOErGOO4Xu6ndiuRHt3w38rTrhwOCiFG9TgZtPFGQ7LHZshbIhEL\nBhaD2fLVifxDFzAzPjY49e3VVumfXhq6TqIf8YIH5OCEbgtWSax0CYCdZwlz\nzkSg\r\n=ZS9I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSySSbvuMbLzQnP5RnVCA7kJIOJDx4z6C5erR48XmrbAIhALDxDpy06KTYycAGQqdgImL3XylSYyJ3jcxsz46QykNu"}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.0.3_1596027924106_0.04685809011306641"},"_hasShrinkwrap":false},"2.0.4":{"name":"@terminus/ui-csv-entry","version":"2.0.4","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/ngx-tools":"^8.0.6","@terminus/ui-button":"^2.0.0","@terminus/ui-icon":"^2.0.0","@terminus/ui-icon-button":"^2.0.0","@terminus/ui-spacing":"^1.0.9","@terminus/ui-tooltip":"^1.0.9","@terminus/ui-utilities":"^1.0.7","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"10.0.0","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-regular-svg-icons":"5.14.0","@angular/material":"9.2.4","@fortawesome/pro-solid-svg-icons":"5.14.0"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.0.4","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-q9cKYAHTb7VwB2c/0Nuj7V6FBxFhQ77Im12IxM7jbuN4blsvjhrzFntZf9xWdpnfUk6q32WAXiuhSiA4Qmd3NA==","shasum":"94a065d802ab59b1fbe7f2db84473da6ca6126d0","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.0.4.tgz","fileCount":41,"unpackedSize":595830,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIZbiCRA9TVsSAnZWagAALHEQAJCHidfcOGQndA7BsRZB\nqVnOkFDSdrTIhPrs+vEAQfTDCDAPlRZtp/XsfAJXRmysCdZR6kOvHmrGqrJG\nsqG2vL8cQ2QLKp/Xddv5XspKo/IBtI0+iUKYvhEme0yQ/OOL01ZgMBZIxFBM\npXvW0kmXDxPy7oucZPZyrrgTOkfelwgoq/r+E8ASspn/diOtIyeW6XRrX30a\ntcW7erEkbtnQYAGz6j0mSn7MozSzxHyRF2VYT2fyOMqdzEKD2JOCt4EELLoT\n0tzur2q58IdFSJOxZg/Kowa0//tchCHifxzhX44Kr0f6NOAO6GWbDipG0JlO\n/inoaSz2frQW+1Xnmt++y4mhCdqOhrko68u7k8FSvc4Aivh5jifLjhvbMOoN\nrSVLZ2OUlVt0K2+mO/RnQhAza7WVO0xEH7H2SJjLqSk63XmsERbMCqRwuxae\n015rxY36hiunuHj/NpObkh6iL7Y+wSxYn4/DHrBqQHbt/ihhr0+m+NAOreIF\nP/Mx9H869aC/50uTp8X8W/N4Ujp+26vdLBqA4kFk1wHlstIkPVqElmwfdiVJ\no40Ac19zSBNBiy9ap0AHeAZHNcOGQ2gK20X+xYnesKysjEIKANGASnt6OoY/\nm4rZfp/qz2Ona5IR9ZT0vTy3OXX1aFebhe5qQl7qXYC7QIzOP1EuRzf8zhTR\nZK2j\r\n=UpSX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBDAu79dkIbGlbdUNMydGpxQU4KHXgIuCcWqUCugReLzAiAbA1CJTC9lzzjv359TYEf2Y78Cw6KetIN+SPnLa+CKCw=="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.0.4_1596036833747_0.4862518401413449"},"_hasShrinkwrap":false},"2.0.5":{"name":"@terminus/ui-csv-entry","version":"2.0.5","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/ngx-tools":"^8.0.6","@terminus/ui-button":"^2.0.0","@terminus/ui-icon":"^2.0.0","@terminus/ui-icon-button":"^2.0.0","@terminus/ui-spacing":"^1.0.9","@terminus/ui-tooltip":"^1.0.9","@terminus/ui-utilities":"^1.0.7","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-regular-svg-icons":"5.14.0","@angular/material":"9.2.4","@fortawesome/pro-solid-svg-icons":"5.14.0"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.0.5","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-vwtGNCpBTj6nmTOmnVCUysCWbE/IkPHJmRRufTZ/d2vclnE9/ZfJ01rw9e8862zwX+c8qwt1Xx2GSGTIph0Uwg==","shasum":"6712357606695ee2ac77885b9ec8ac24e93e516e","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.0.5.tgz","fileCount":41,"unpackedSize":595944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIy7ZCRA9TVsSAnZWagAA69EP/RlUH4veGuDS4rXfBdbB\n2l59ncXRLppe97IsVvXZFjbYmNh8r1dRTrjurJ8Cr4zt5CPqHwlgkFcPOAjw\nOkoQfkp1C5gus76UXNuXPfYvl/c78wNMEhcQtSOyZwh3Uw/qhluaZMwG++bw\neIou1IH9da5No3AYY4GudNNjUuPpOT6hGvAShvwxbwcRYAG58cT8We8oo4uX\nFJSV0fZ9CW1g7AiCRCnDNC+Bm8c5gSHDHaP8YdcMuoz0D3ZPzn01gPDo9lqU\n30fdRv06rNDyMLrIOuTWST0VynqI2eWqPdibA0sTkgK66XUAKfgWsFXf4JJT\n+tdrnrVk4KovF/kpqmZQ8rTO2YDH/c2crc5/2OTmSPs2bbCJrt+VLJw1SQ5F\nvcXZaE9LGf4P6AUgB4NgLnUkQucDcP0vy6ejGUNEtCMzI6uhrJhG1fz6tSXU\n+9OGTodbyfk/IThATHfvYsklNHaNGj119KpZPUn1cAVqOdux/+TXi9hFo8mH\nsbfX8m7dwf7wzh6vKbWk7wkg8QW2jL01/34/Rct93yRmBhJ2HiNbwZNaVvTK\nT3cp95zU1YUh1xEyEYscN2DmZelOc5ocp9Zw6thpijHvSpiY86wU0i35KyV+\nyTUe7GpW6+HfP/K6S02ikWFqpGTV7eBuNeVSmTZJTacC6ToS3h3aCU3dmOb7\nGRpB\r\n=FoM7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNDje2bI+CFWA3c60D0aUhGS/UmMKzBKPjk5v4ZwDaiAIgY7f4yrf+W+k5pj1aGESpKvl4AolTe7ReKCLi0dIXNdY="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.0.5_1596141273092_0.6365392192559551"},"_hasShrinkwrap":false},"2.0.6":{"name":"@terminus/ui-csv-entry","version":"2.0.6","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.0","@terminus/ui-icon":"^2.0.0","@terminus/ui-icon-button":"^2.0.0","@terminus/ui-spacing":"^1.0.9","@terminus/ui-tooltip":"^1.0.9","@terminus/ui-utilities":"^1.0.7","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.14.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-regular-svg-icons":"5.14.0","@angular/material":"9.2.4","@fortawesome/pro-solid-svg-icons":"5.14.0"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.0.6","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-GTyrt/+/OU+PEg1J6G4+byoYKyO3Gj+wsETVNb5YnkYlzYZ6pJ6I3qyqh6hY7vUQQ4jNx86+zVZZSZZzfcQ8Uw==","shasum":"9864c35277faf5453be224fd87a82ddccf070666","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.0.6.tgz","fileCount":41,"unpackedSize":594622,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJCP8CRA9TVsSAnZWagAAbbkP/1psP3sJ7hqxcuvP37wI\nyKOKbG43mil6MEinLS3PGzJASAqFf2S5R4oUV4V6Hxn3EQQ1TE+fkqduO8tw\neTN9KDrwUy52IHGGwNQ2Kn399hN4JhwiLJZH1CxffQ1RzTNVVaxJn66EpNmz\njnfQKP2C2T2Kc9Zqt3Alb1UqbicRlu0cgbFr7AWWwgjb/dnktXq3qm0Boqfu\nm9xKq7tEF6rdl2WQIZwM1Wh+GakYpzRbMAgMtm6VwxUSpFHr9DD2WbCOLdOr\n+Sbn6/tq4iw9SPej157xZSiDLgQGzk8uebY1+I2Zjix5mCnoUMkG+dO74l2o\n675UcZkP7+vVTtu+CRcM6/xEVeiEOFy5Ar6iD9kjwjOR3DIpqT+ZkO/P5NP0\n2DmQJf6aA0MDw8IwgwCud8PWt5yiOhHyKIaYdw/PveutdP5TbOZYtcQvuLa6\nzdCMp76ag8OdEvNQcPRJ1c6QZwJr+xfZNzyO48K6pUTXkLF8d+xu+WK0Bo1Z\nHcpyos27bVi3qg5n2IePydGfDGW7TlPEhzpBemK8gHmfKvmFUJOpVdJrJBWc\n3SsDgpFfWZR0jlmFl+Vovt9d5Qo7TcpwpaYhet2FiYTKmcck1Q/nm3NXKTIG\n4a5pfoaDoObg+J0rQvTkNszsxOdVf2Jaatt//gzc8KHcTKEo6oBDLUQ3MwPI\nttKt\r\n=b6ye\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbg3IlsAOivIXVQ+cRDdCum9+VTvoNJpdCpW7Wqf32wgIgDcaI1d7Tgn6xIY1uS9Hk3buiunjQJglB1gAodbqdEUA="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.0.6_1596204028270_0.5944777588233894"},"_hasShrinkwrap":false},"2.0.7":{"name":"@terminus/ui-csv-entry","version":"2.0.7","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.0.5","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-regular-svg-icons":"5.14.0","@angular/material":"9.2.4","@fortawesome/pro-solid-svg-icons":"5.14.0"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.0.7","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-kqycvSZcMAhUldD1aWE2LXlGpA+WkcomXhEQiojLhOgHQSxocYHPwvHnkvEeavsNIl/Aeb6WPBtg8DYuSFvwfw==","shasum":"75ad1f0a8ff7937bc5ca3ba82027fd7a13e3f7d2","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.0.7.tgz","fileCount":41,"unpackedSize":594832,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMXPCCRA9TVsSAnZWagAAmMUP/AttXwovstsBoYmtGIP/\nLK/dVMCFI24khhK3V2GWlLqFX4CTVbgdlHhNyC/5UtwbW2CqZfJsv7eM7Bzc\ngUeEEY89ddbL8W87mirOCU22sdcluV32fRqyKPxA2uG2ROVUfSLj158G8q7h\nHgq2XQtCY7LFhc+6NbkJbLxEpHRtNS9z42BsLFfZK5Hjnok/qFqEfBXL2S8G\njZhqrynk5tx3nZ48/3B/+zhsu8tk4gFlg8UAN1ueSiZHWc8JuTpZJ3YBLvnD\nu4784F4/s4rpR32iAe+2TpjeY6grq3x3NfVj2SZL2FPPoxDV4LEDQWWxvDfy\nzO2j+KEiKZttC74TcxPyDq8y7f/aXstz8CR3uMr4MkWaaLvL/GqF4jJ+Hkd7\nJGPMW/CW+dqHMop38u7omU4zJ6jpVgw5IlhozCDZ/jq63Rs/BiF0qg1XbvJF\niB8OfOPCM39vJNCu38J5IXOaACXMLLSO0zQKCxAS3YDyy4JViLPmM2QFpEJP\nB7KHRRmBNmslwet4VWpp9g+6bU7FhWpSge1oJ4H2X//yWRDEDHA5y3t1fi6C\nFRcvVYXncdDXRLtibBAjUGuGw68s7v/lEo8y/43Dm4cS3O3hotL6LjdI2npS\nsy0fdhfahxugJ414oOLEzyPwI4bFT32Sgiq0MjWF4gNMncRsR7z6FLIhH+wg\nJhxx\r\n=bkfX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsD5zlpoqkj9wP6ShzgGZyj0WT5SNUhj2vf6Er4M9uwAIhAPMQjnNSMJCPSid5MAar5Ovxta6PIHWi/iWnwNv+Lwz3"}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.0.7_1597076418351_0.10868604106079793"},"_hasShrinkwrap":false},"2.0.8":{"name":"@terminus/ui-csv-entry","version":"2.0.8","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.0.5","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-regular-svg-icons":"5.14.0","@angular/material":"9.2.4","@fortawesome/pro-solid-svg-icons":"5.14.0"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n**Table of Contents**\n\n- [Installation](#installation)\n  - [Packages that need to be installed](#packages-that-need-to-be-installed)\n  - [Modules that need to be in NgModule](#modules-that-need-to-be-in-ngmodule)\n  - [CSS imports](#css-imports)\n  - [CSS resources](#css-resources)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\n### Packages that need to be installed\n\n- `@angular/cdk`\n- `@angular/common`\n- `@angular/core`\n- `@angular/flex-layout`\n- `@angular/forms`\n- `@angular/material`\n- `@angular/platform-browser`\n- `@terminus/design-tokens`\n- `@terminus/fe-utilities`\n- `@terminus/ui-button`\n- `@terminus/ui-icon`\n- `@terminus/ui-icon-button`\n- `@terminus/ui-spacing`\n- `@terminus/ui-tooltip`\n- `@terminus/ui-utilities`\n- `@terminus/ui-csv-entry`\n- `date-fns`\n\nUsing `ng add` command can help getting all the dependencies installed:\n\n```bash\nng add @terminus/ui-csv-entry\n```\n\n### Modules that need to be in NgModule\n\n- `TsCSVEntryModule`\n\n### CSS imports\n\nIn your top level stylesheet, add these imports:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```  \n\n### CSS resources\n\nLoad the needed font families by adding this link to the `<head>` of your application:\n\n```css\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap\" rel=\"stylesheet\">\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.0.8","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-c6VtilkHuAJwp3OElZK5xdOv8Zyyj3iCZIyFtLNz8HQyIk6M13U3n5eJX9ih/BfEdY2D/gJXuHsTHqDo/zaBjw==","shasum":"fbde38b91604196dc6b738043db1718d6ca594d0","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.0.8.tgz","fileCount":41,"unpackedSize":595038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMaB0CRA9TVsSAnZWagAAGYoP/ioTEtacI2iS3vvAt3YV\nD4ORUQ7I/Tn/sRuH74jH0SDWOOm/Q5biOipP4tZmSO7FhNIZY/LBRjfpL2GO\nKbBGVmjSaEViSlzNJD+EppZNPty62ley55jZ5EYESyPPeISPNTlVjqA/oMJd\nAKtdFIRP0ziBUO+XhnLLmepqNvfYHINgPMsp3orpC1ckbZcR88M/HAeoOWvj\nqUyz4ESihDF70JvVvIo9ZjXFkVotUwm7jfLMAbYo6QlzbjJ7ythZGoOnCMoe\nev9o2vgH8NbL4PiaWzfYhJU1cD8iAWna+Y1ivAGROAE9K2ldnhuvJ9Gslf3g\nYLcw8FY0xMNwnujqLT38l3N37aRTOnbElVF3gIuYwlqcyVrP+ljStVfUsc8H\nJCqJPFykBA/9ZPZVV6HIOLdlxN9E2WfRFvMU+wrhG75uq2JN482l53JuzQHw\nHmr7OVgOlEfMG9YtvOccqrqkcRBVogVfPxxbQaJvDCzRdoGMLPEXlJKU3dqD\nCbYRN/mR3afYt0CypFNTPUPlrQBD0kGu0bOOAoCl86M+ee5XZRtF2JoDlLvK\n8DE0ipcNjxOcyTqAEODAzIGBSX9eOrOfnNL27aJ6xM5dW+mZxupOBAnhapNc\noblV0JognaKMy5KmVocA41ntg/8Sw1gyyVBLl5rYlBNNVs1H99743imru6AE\nePmk\r\n=665M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIASc5Y9Ode0jg+Tipa9sQQT3t0wgfzgJDqeRpewhMnjIAiEAsi+HYg+kZCkcmJFupNVOCuN3KSQMlwf/+BWPTyKkYgc="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.0.8_1597087859955_0.33730970149087214"},"_hasShrinkwrap":false},"2.0.9":{"name":"@terminus/ui-csv-entry","version":"2.0.9","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.0.5","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-regular-svg-icons":"5.14.0","@angular/material":"9.2.4","@fortawesome/pro-solid-svg-icons":"5.14.0"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.0.9","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-8MHTYM//iETcpnopBv2TZUUIjP029J72kbLA0GiA44LRdZHfIpJXg/1sSfcd6r60cLiz7kDJMRJChIPhOrspiw==","shasum":"c2afe97bfbec2563ad2069c278aadbfd9b46bb52","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.0.9.tgz","fileCount":41,"unpackedSize":599132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMqOwCRA9TVsSAnZWagAAzmsP/1dKTgVafGlyHJhQtHTe\nxzHEacM4SIcwfuArBTj/cUu0lzrBJHtWJEWKe4VCM2dJXRmwC6LmtdQc6sCp\nQggT7Ryvr4B1Px3Mi+d+ydU5Nw48CM1ekBkn+RUn3q6PhpYAUZquRknOtdkj\nrheGgow+DNjs57C879p1diaJcJxdkLTG2vuO8hPpY6fb1ltP0t2sx+qXR/mU\nBfNH2+RDoxchNi02q/7LhEiBGY8uMqVXcrunE+zSbqcU0ITNGkExnCiYM7xx\ndE7prQ0p1vI4tyo7mfyq6c2B8lQdV0G59IFeRQ4mnKttuLIHcVCVS2pFXuis\nZ/6ZJLUoEsmZrzmMsKngcWOn0FonS0ol8KostoiqnaKtpziASglXR5RUiRzl\njFL91Gf9yq7HbSiZyfX5oCYU6DnDVcMRQrGRlx3CQnvoREyQoQFUp0V7QScZ\nu6GTruiFlXJSv2ivlEij6B5u87Yfg7o507cZUxt+F3zukPUQDE/gSp/HpVUX\nFvxc+HLYJmmTXFYTqzcifm6ZTdexgDfBs8CPISkkSQeiYGa4rSxD7FW8tqan\nbRCtqm/01OfdK+515V7raryY3uQIJ4m81kmzfQCHtSKJybGsGgo+ow7wzbHP\nCD9rNOh+ka14juHVWuU9/VUN1CFmoJCpILaeJeshUK9Vd/azH0eXFyXohB10\nztDf\r\n=r8PE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCd5sOc85VZQDNmhGNvR+2/I1G6IpVJ81mYyDvs+EOohgIhAIPQOUJ98BcGbApriPZX98XK5ozbUacuLg6qNZlYe86H"}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.0.9_1597154224361_0.74707186848804"},"_hasShrinkwrap":false},"2.0.10":{"name":"@terminus/ui-csv-entry","version":"2.0.10","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.0.5","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-regular-svg-icons":"5.14.0","@angular/material":"9.2.4","@fortawesome/pro-solid-svg-icons":"5.14.0"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n## Table of Contents\n\n- [Installation](#installation)\n  - [Packages that need to be installed](#packages-that-need-to-be-installed)\n  - [Modules that need to be in NgModule](#modules-that-need-to-be-in-ngmodule)\n  - [CSS imports](#css-imports)\n  - [CSS resources](#css-resources)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\n### Packages that need to be installed\n\n- `@angular/cdk`\n- `@angular/common`\n- `@angular/core`\n- `@angular/flex-layout`\n- `@angular/forms`\n- `@angular/material`\n- `@angular/platform-browser`\n- `@terminus/design-tokens`\n- `@terminus/fe-utilities`\n- `@terminus/ui-button`\n- `@terminus/ui-icon`\n- `@terminus/ui-icon-button`\n- `@terminus/ui-spacing`\n- `@terminus/ui-tooltip`\n- `@terminus/ui-utilities`\n- `@terminus/ui-csv-entry`\n- `date-fns`\n\nUsing `ng add` command can help getting all the dependencies installed:\n\n```bash\nng add @terminus/ui-csv-entry\n```\n\n### Modules that need to be in NgModule\n\n- `TsCSVEntryModule`\n\n### CSS imports\n\nIn your top level stylesheet, add these imports:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```  \n\n### CSS resources\n\nLoad the needed font families by adding this link to the `<head>` of your application:\n\n```css\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap\" rel=\"stylesheet\">\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.0.10","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-kPltKoGSfqalzYL7oTeWRtXFXN+1RON3odvRmIEL5omiYohPGDN6bACnNLJcTMSNBn++gzRR37HkRRbKNee7XQ==","shasum":"e7e8267357e314833f0bccf7c235f30298aa3466","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.0.10.tgz","fileCount":41,"unpackedSize":599268,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNq30CRA9TVsSAnZWagAA9PoP/RWx8tLSqKTXFwgoYcI1\nlPAtRgLXVVfgNRXXJVER8dvyBPl4fZajVj5L8twUbHsmSAPWkuUCAQwFHJi4\nOfVptgYpR2HDSogdAJFpdjTFDctBw6qfyg/nrLMxGM55r3dLzFSqHe5H2Sce\njmE23wAr0gudjeShFXgHKUUViNDmD8mVNi2RnoJRSM6gG2B5NiQgpEJfsivx\nfba84VXfHuS/LM83tcnRhYWIq72SRjOKk46nocJ6LvQSr2LnM9YSPhyymZD/\nQBkPI32n1DGqVyVjlR0dVUT/xJDjaMuXpU49F9UhMdY6L42z9eQfKeYSptlj\nXcWxOsfnU4vtXPNkR5rpGhEg/YpwmnT7Ztre0NkpjY6uwzvFdw9IUVAowlMq\nUnXt4Wx8YbeAPbq4O+5s8QISYWfrLXW0GecVfbCozywPy6JrbhOho0wlrDUA\nJM1+CnvwemteYV4b8zowziQtsRCH12MSXr/o8k7zYL5c7/hd2m+4lWm/UvFB\n3eVWKbeGdSilaFuelky52kZpWi0XMtkkXwclOkW2NSB6g8soV5z941LiIutx\nBgIFdoeCuk1LbynqWNc8V5TShoI0WmG4QZbQEjloZlkuwHQfGS1UlRvGIFdK\nXD0N77Zxafo9ApDU0RvnMnO7wTQPyymBftXLTRtvISzxIbXFjFBdXgRvsD3f\n8mRc\r\n=BnhB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHp7cEuggUxifaHkWSIxCdXFr368XfHq63iXiQMHvgXEAiEAgHuab3G0jc66L8XcJg6Rbhb0ViCeTmnwaJSLgT4e+WY="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.0.10_1597418996306_0.7627860114348828"},"_hasShrinkwrap":false},"2.0.11":{"name":"@terminus/ui-csv-entry","version":"2.0.11","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.0.5","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0","@angular/material":"9.2.4"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n## Table of Contents\n\n- [Installation](#installation)\n  - [Packages that need to be installed](#packages-that-need-to-be-installed)\n  - [Modules that need to be in NgModule](#modules-that-need-to-be-in-ngmodule)\n  - [CSS imports](#css-imports)\n  - [CSS resources](#css-resources)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\n### Packages that need to be installed\n\n- `@angular/cdk`\n- `@angular/common`\n- `@angular/core`\n- `@angular/flex-layout`\n- `@angular/forms`\n- `@angular/material`\n- `@angular/platform-browser`\n- `@terminus/design-tokens`\n- `@terminus/fe-utilities`\n- `@terminus/ui-button`\n- `@terminus/ui-icon`\n- `@terminus/ui-icon-button`\n- `@terminus/ui-spacing`\n- `@terminus/ui-tooltip`\n- `@terminus/ui-utilities`\n- `@terminus/ui-csv-entry`\n- `date-fns`\n\nUsing `ng add` command can help getting all the dependencies installed:\n\n```bash\nng add @terminus/ui-csv-entry\n```\n\n### Modules that need to be in NgModule\n\n- `TsCSVEntryModule`\n\n### CSS imports\n\nIn your top level stylesheet, add these imports:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```  \n\n### CSS resources\n\nLoad the needed font families by adding this link to the `<head>` of your application:\n\n```css\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap\" rel=\"stylesheet\">\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.0.11","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-sgXUykDBGEaiRxpA7x5sxx3bg8YrDshCvK3pkEhQrycChhCPTmZQ0sM28xpOkg2oNGXe38hQUUvkQ8jfEon0Hg==","shasum":"7f02a8daa90290b6b794937cc83be100a6c0323d","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.0.11.tgz","fileCount":41,"unpackedSize":599425,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfP7UsCRA9TVsSAnZWagAAjqwP/i6YdUPGwBmTD1ZRpCeC\nP0LDyROhF5VPhKrcUPQsiaZFSZ9pp6OIWK7FJZmOZcCTJwtWA/hcN/7vaDbD\ngX1+chky5JjTZiuFNMICEhsAx+E9/6YORhFFWEi/njD/8v4aI7080QnI1ud2\n4m2ZLaHnlJRYU1MoJR0I7li9lfFQinIpCrdksst/gtoDGl4/mkSLpH0N/ZMu\nmi43d6kM5IXyfagv6jU7LhVYu/vHtBvdnd0B5MDmrHyWahv138e35nO7gnl1\nFdsHx32EUByKIN7VO142KFMIonbG/0zMv7XyJms4g09ny2UZWygWBLrTNQsM\naM3I10ho/ugyCaYt6nuZhl9MvV9NeU1+llzSbUsc8f/BKHlhj6nSAeqp+uAF\nuuJzlgATkDnvb48RgVc9ZZIn8ySyyBssR1A610l9GFX+5u7DJhf06K55Db//\nTatqjiPfHDnyRhih5cdkwE1GWj/IL6jyHyNJ5QLm9Is/FikPHPT/l7pvpep9\nnh0ocx9usmJZNshQeldAB/xS3eppc9QwQ68gXdpQnW5X6b586k4P0j40RhDq\nWMRIkU7L+mHh9Afk9ZbJ0MON9UZMPzGV1aaXMsEH8QttLdoam0GSc8+46ihz\nGpfy8PMBkELUrfylsfUH9HKrJrOc1mp3C/rWxJZtGz1kp+IKfxZXoIaTJDE+\nUoSt\r\n=Qne8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeJnEb38bsU0l8VjaKsjQf963+V+dLyeaM3ZgSBEcN8gIhAN97DX4vKyrEV2l7Od5zLjTgIk8G5jjb6kZCYRPUKdvB"}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.0.11_1598010667714_0.8863344788954974"},"_hasShrinkwrap":false},"2.0.12":{"name":"@terminus/ui-csv-entry","version":"2.0.12","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.0.5","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0","@angular/material":"9.2.4"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n## Table of Contents\n\n- [Installation](#installation)\n  - [Packages that need to be installed](#packages-that-need-to-be-installed)\n  - [Modules that need to be in NgModule](#modules-that-need-to-be-in-ngmodule)\n  - [CSS imports](#css-imports)\n  - [CSS resources](#css-resources)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\n### Packages that need to be installed\n\n- `@angular/cdk`\n- `@angular/common`\n- `@angular/core`\n- `@angular/flex-layout`\n- `@angular/forms`\n- `@angular/material`\n- `@angular/platform-browser`\n- `@terminus/design-tokens`\n- `@terminus/fe-utilities`\n- `@terminus/ui-button`\n- `@terminus/ui-icon`\n- `@terminus/ui-icon-button`\n- `@terminus/ui-spacing`\n- `@terminus/ui-tooltip`\n- `@terminus/ui-utilities`\n- `@terminus/ui-csv-entry`\n- `date-fns`\n\nUsing `ng add` command can help getting all the dependencies installed:\n\n```bash\nng add @terminus/ui-csv-entry\n```\n\n### Modules that need to be in NgModule\n\n- `TsCSVEntryModule`\n\n### CSS imports\n\nIn your top level stylesheet, add these imports:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```  \n\n### CSS resources\n\nLoad the needed font families by adding this link to the `<head>` of your application:\n\n```css\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap\" rel=\"stylesheet\">\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.0.12","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-tVa2NtYNC/o6ZHPzRIJf5C+j9pu7srUFGQ/6u8DORfFEpeQ21BH/h9bvyOV5UbxLQO5Ye2GITMv4DNwL8kwCtw==","shasum":"a1174d75b8590714cf6e94bf38babdc1c4e5bee4","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.0.12.tgz","fileCount":41,"unpackedSize":599634,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRS6tCRA9TVsSAnZWagAA4ogP/isSo+HTVktr7fdIivb2\nDePz96J0dP6MAoVo8Z+9k8f7oOp9buafnAlG6FXs47h+M0tBwbYssVu/ahpt\nYOGwDOoAnZVNM5dqGyRoNQ602742rYyBV34f3RLsDu9J07usIv3gM/1FcUr8\n/WFy+tAiyihPsIkPgAtUYji7HU9pivzj6K05jRFhRouRk2Ad6QzVOV0cpX/z\n6JWNpScZNFIhhLYFRgvsf+hCOrtx4R5+CEPN/3J9UMjW/+ooJan9bdQWsSO1\nBOyvCxQN0gw6UNq/v6ciWD+24XecmFZjxoNTdBMgzGQJaaxBq2WRgEHieP04\ned4t9ClV2aDHn4MYTEKSI5ycMD2rCCe4Loi37tY6sf3FBCYN/CGsZ17dJhUJ\neGx5dunBqMpTgUVWpe5MRQUgr9FVjlp8RbMUf+MLl4ztxGUUBjQeO/q/wwzT\nKOHS9kfvn/HtnKruPBOvUqo5BUHuB/Go2E9phhpFwrNF7B3kxe1pz5UyTgOj\noYKVXDlFqwWEnib257UrI3HivnnlvbATaeQ/CPYvGNjtD8Qdkd6fyIBBoPJB\nRHHQxHT4Sq8IVlPdYoH3pAuORKF8J+/WtiPj8XbBakRAH0OMdYjim9zGxudL\nNwdeussrI8MF+2IpSOpURhn/JwTwycCvcmyaFPNqvha/yz3m/ARJ4Al6inFc\nzvy6\r\n=B+5p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWSDoE2UA0u41bmDSjcDczC/HHTJozk/1kesxp+MQ/VwIhAJbd6ku/rUNfFX3hi2S7A/0V6hLgAMT1YTQn8qwY72Ix"}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.0.12_1598369452992_0.73905506893632"},"_hasShrinkwrap":false},"2.0.13":{"name":"@terminus/ui-csv-entry","version":"2.0.13","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.0.5","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@angular/router":"9.1.11","ngx-webstorage-service":"4.1.0","ngx-clipboard":"13.0.1","@angular/material":"9.2.4","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n## Table of Contents\n\n- [Installation](#installation)\n  - [Packages that need to be installed](#packages-that-need-to-be-installed)\n  - [Modules that need to be in NgModule](#modules-that-need-to-be-in-ngmodule)\n  - [CSS imports](#css-imports)\n  - [CSS resources](#css-resources)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\n### Packages that need to be installed\n\n- `@angular/cdk`\n- `@angular/common`\n- `@angular/core`\n- `@angular/flex-layout`\n- `@angular/forms`\n- `@angular/material`\n- `@angular/platform-browser`\n- `@terminus/design-tokens`\n- `@terminus/fe-utilities`\n- `@terminus/ui-button`\n- `@terminus/ui-icon`\n- `@terminus/ui-icon-button`\n- `@terminus/ui-spacing`\n- `@terminus/ui-tooltip`\n- `@terminus/ui-utilities`\n- `@terminus/ui-csv-entry`\n- `date-fns`\n\nUsing `ng add` command can help getting all the dependencies installed:\n\n```bash\nng add @terminus/ui-csv-entry\n```\n\n### Modules that need to be in NgModule\n\n- `TsCSVEntryModule`\n\n### CSS imports\n\nIn your top level stylesheet, add these imports:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```  \n\n### CSS resources\n\nLoad the needed font families by adding this link to the `<head>` of your application:\n\n```css\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap\" rel=\"stylesheet\">\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.0.13","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-FzBYRNVufro2pmoUEi6r227L5WHru5Bo0HFacqg5kTKI2/7M5uhIvsUCx+1yyH63Fj+HAJ2u7a3/8E1MCCr7hw==","shasum":"b06a4e1db243cd60b49f7513a808e2811a765e51","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.0.13.tgz","fileCount":41,"unpackedSize":599946,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRoUGCRA9TVsSAnZWagAAd94P/22wfDqx8pj647jdlm+R\neA4nnhhrn8lJFtYe/sbEc4yASxBg7tWmvXbbuxkcMRUVf/8VLPfP7pXegfd7\nADFRA+4EIVyqikF77C2iYmVQCscSKjub50yeaFwrCR3EXpDqXcsWcBnPCTyh\ncwLkHJD/6h//QfI8Lcv5cCvOMHr+IdZk1LqgoXTa/icybN+SupD5CTC5JQtk\nS3gwDn43Co5yoWymBeqZ0/I9fU3sV5z5qH5vd4u9lmTpNEXuNwx1WwMEyrCi\nrcdidXGXwLRGc7U99s9utayw+zKi5UmJRuK1/YpEab5wSQ2RRG3pFDM8OchQ\n0GnPFiOS6DsQ23oZwh0TSwP93VGB7xAn/b8gA/ZiqF/v4SROJIh3gf69CUF/\nZm90h88L5GkNrXAijKYkUndmxRHQahVgcB2AUujGhsdOIobIH1viTvJViMJG\nXFjbUVvum3foAtWMGeOnzbHF6B/s0Gi2dMCMBJ+ip3OkvusmfxDM75cxGfej\n3o9F44Tk0+xqbV1FTovKZL5EKjODyul745smkGQ2gKrxJIR5ZmhgKY0xAlyQ\nBU3IRrV5hgrn9gYC0a6+qukA1FYkXeCfV6altlpfkdbFE+VKjm1G0Mqe8M6/\nsXUgtkEpaMl4UuGSFstCnRriNPc8hOnaylk+zoZcn4hJs7mFYIPorcQTWTTI\nJAL3\r\n=DQY2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG0RYN8UTKIDa+fYVGQRBeczMniauCe/TEuhnu+NmznsAiBrB6G0azjMgiyMgrqyTw0QS9P3cDJjcFSrKYVD37Y86Q=="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.0.13_1598457093675_0.1647416193510065"},"_hasShrinkwrap":false},"2.0.14":{"name":"@terminus/ui-csv-entry","version":"2.0.14","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.0.5","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@angular/router":"9.1.11","ngx-webstorage-service":"4.1.0","ngx-clipboard":"13.0.1","@angular/material":"9.2.4","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n## Table of Contents\n\n- [Installation](#installation)\n  - [Packages that need to be installed](#packages-that-need-to-be-installed)\n  - [Modules that need to be in NgModule](#modules-that-need-to-be-in-ngmodule)\n  - [CSS imports](#css-imports)\n  - [CSS resources](#css-resources)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\n### Packages that need to be installed\n\n- `@angular/cdk`\n- `@angular/common`\n- `@angular/core`\n- `@angular/flex-layout`\n- `@angular/forms`\n- `@angular/material`\n- `@angular/platform-browser`\n- `@terminus/design-tokens`\n- `@terminus/fe-utilities`\n- `@terminus/ui-button`\n- `@terminus/ui-icon`\n- `@terminus/ui-icon-button`\n- `@terminus/ui-spacing`\n- `@terminus/ui-tooltip`\n- `@terminus/ui-utilities`\n- `@terminus/ui-csv-entry`\n- `date-fns`\n\nUsing `ng add` command can help getting all the dependencies installed:\n\n```bash\nng add @terminus/ui-csv-entry\n```\n\n### Modules that need to be in NgModule\n\n- `TsCSVEntryModule`\n\n### CSS imports\n\nIn your top level stylesheet, add these imports:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```  \n\n### CSS resources\n\nLoad the needed font families by adding this link to the `<head>` of your application:\n\n```css\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap\" rel=\"stylesheet\">\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.0.14","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-TWFXEmY3JVU1Ce/NDzgUeSwA5Z7RYuSLUcrewZnky9kFsOlMfn/njg2U2Ah0+X4QSKhLMsGEvcoW9klxRg18qw==","shasum":"19e437fccc0d86775ccc5ee8aa114998ec257182","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.0.14.tgz","fileCount":41,"unpackedSize":600155,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUXkMCRA9TVsSAnZWagAAib0P/iGXYQ5KOcJabASvcufW\nUfqphP6jn37+P0YF39O3m+H2pHDE+MW4QDRggdUITLUAPrwEWhGIfR7Q0ijt\nQY1THz8VN7Pv5P3IplSnA9oGhKdMfAHK1KRUij5CncNa+UzLp01TKu3xh1ic\nTmamArPcEZGStNRxXHRVCMKfuJq04f+iOQFDb+xqU1VMRkUmd2aQsN0wgJZD\n6H6G4NNFvSanaverBUHZWzjy+YxFlD2S1Ubhwna74UkMaIGj1ctZUr8grBfD\n5td9azxI51sa+ybT57jwY1LCEdk+12tEEY26QWI9LXG/cBIWRNMa7TQnuXk4\nEqHKbBfUPiGiUVDL/V/iD+3ZgL4M9n8R1/JKuOcIa+OpDozSAxz7OsFTKRBY\nSjz/g2TEz2byHjkLnhA+lqSBO3MP0om47dp+mDzHnZlIp1DX4Jmjn13enR10\noiMxs+OQYdaIcboB9x5TVqKe8alhNaMQsOvDujwAP4eUb3qQ0xnTx2GAaG0Q\n5DFaw6TdCijzxRO+03YDM9a3vWSuZuQBteczkuVEDc2i+tUKQZMo0fYUTHIm\nNOuJAC4iL+grsJYeBxzhPCwbbKGVE9e2jKd3Od2Pu4uwUd0t+ldlEJqLALaJ\nCLnGYutCVfLskIZw7VRpCXoAxIoLkRlUwcjLzuvtkx6eaCmWlGOghXGovXY3\npnOU\r\n=OS6A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQ6xyfuuaZ4LclJygfTbxnHnC34pzh9IOIlEOEp/WJIQIhAPaq56VPTv6q4kBpxnzfyQ2vwolCcHaLnlmQkoIBxGbw"}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.0.14_1599174923751_0.6531197063369636"},"_hasShrinkwrap":false},"2.0.15":{"name":"@terminus/ui-csv-entry","version":"2.0.15","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.0.5","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@angular/router":"9.1.11","ngx-webstorage-service":"4.1.0","ngx-clipboard":"13.0.1","@angular/material":"9.2.4","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n## Table of Contents\n\n- [Installation](#installation)\n  - [Packages that need to be installed](#packages-that-need-to-be-installed)\n  - [Modules that need to be in NgModule](#modules-that-need-to-be-in-ngmodule)\n  - [CSS imports](#css-imports)\n  - [CSS resources](#css-resources)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\n### Packages that need to be installed\n\n- `@angular/cdk`\n- `@angular/common`\n- `@angular/core`\n- `@angular/flex-layout`\n- `@angular/forms`\n- `@angular/material`\n- `@angular/platform-browser`\n- `@terminus/design-tokens`\n- `@terminus/fe-utilities`\n- `@terminus/ui-button`\n- `@terminus/ui-icon`\n- `@terminus/ui-icon-button`\n- `@terminus/ui-spacing`\n- `@terminus/ui-tooltip`\n- `@terminus/ui-utilities`\n- `@terminus/ui-csv-entry`\n- `date-fns`\n\nUsing `ng add` command can help getting all the dependencies installed:\n\n```bash\nng add @terminus/ui-csv-entry\n```\n\n### Modules that need to be in NgModule\n\n- `TsCSVEntryModule`\n\n### CSS imports\n\nIn your top level stylesheet, add these imports:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```  \n\n### CSS resources\n\nLoad the needed font families by adding this link to the `<head>` of your application:\n\n```css\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap\" rel=\"stylesheet\">\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.0.15","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-fTiYuOWsD9BGNmsjov0J1E5DsvfDWim5T0f2ve/GredOik32o0XaA71lHQKMYJzdITbaWF43ebG43+xzBtf2wQ==","shasum":"72dc71249b7aae74105423547b11b5ae9d60e3d7","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.0.15.tgz","fileCount":41,"unpackedSize":600386,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUlblCRA9TVsSAnZWagAASPQP/29p8RArdyl8Ox46ecI/\njyha5NSnfUQf34n2Eqi57VEPUmRxHKcRGOXK5aQ5WzD9UyJzmtQPnChXUHrU\nqiyu0Ej+k5YXLt/IGacMvwcQ+jyHmyL9Sc3JXkrOoHt24StpL86n9LobVdvw\nT8ky3ycL/Ow8CZFOjtS3TCSD4PJgXJRuF5yUIuNoRpuWnLzXkSfyq/cOiQsf\njHa1NGyn/mHEjyxcfAgs25TtWWpCW36qkHYgbDIIsNNTKcFxhpwlcc5EZDNQ\nw3cdWpAmm1JQssHOZqzFtihhuZrJ2SIEnUbkVkA56a8P4iPkTxufKUCbH02p\n9UhFBd0JLh2UIoNXL8lf8eZqW6UpOG3K3+/EEp5OhuGlN2Wdt3R/fQ8w0/px\n5a33cWh6YoDcTIhPouvcPrGJOR2/w0g40pN/FrfBncxolAFh8SojzyYwclI+\n3kJlMBiDu2IqAwvD9W+s6UtK2uJYrmitGSTkgwpnwcUGrXuN3xw6oA8k7BwI\nVVLN26pjNpTNYGOI58dYZeuJc3Xqq0I4+IuP+DCBs64OpvjjciyqJXtgyNyb\nScC3u/jFeca86RB8SylKmCf1mEuy+CsrDP537NkxdWiK+BWMkB3dvypTX7ns\nLSIKB3Nwiglh03VDMbGd+L3ZJ8J/ooxJg5ZU7Qe5NupHqhgz/c+JHaM4ZXf3\nQhJL\r\n=SvP7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEbfM9X5uOD18Tjou8uDqkkvCjQ7Ak/MSMX+tW3U/JUbAiEAxs7eO08DH/QkG7UXQPhEkt1C4Ab99MjK55IkTXFRDHs="}]},"maintainers":[{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.0.15_1599231716716_0.34479676842799445"},"_hasShrinkwrap":false},"2.1.0":{"name":"@terminus/ui-csv-entry","version":"2.1.0","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.0.5","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@angular/router":"9.1.11","ngx-webstorage-service":"4.1.0","ngx-clipboard":"13.0.1","@angular/material":"9.2.4","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n## Table of Contents\n\n- [Installation](#installation)\n  - [Packages that need to be installed](#packages-that-need-to-be-installed)\n  - [Modules that need to be in NgModule](#modules-that-need-to-be-in-ngmodule)\n  - [CSS imports](#css-imports)\n  - [CSS resources](#css-resources)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\n### Packages that need to be installed\n\n- `@angular/cdk`\n- `@angular/common`\n- `@angular/core`\n- `@angular/flex-layout`\n- `@angular/forms`\n- `@angular/material`\n- `@angular/platform-browser`\n- `@terminus/design-tokens`\n- `@terminus/fe-utilities`\n- `@terminus/ui-button`\n- `@terminus/ui-icon`\n- `@terminus/ui-icon-button`\n- `@terminus/ui-spacing`\n- `@terminus/ui-tooltip`\n- `@terminus/ui-utilities`\n- `@terminus/ui-csv-entry`\n- `date-fns`\n\nUsing `ng add` command can help getting all the dependencies installed:\n\n```bash\nng add @terminus/ui-csv-entry\n```\n\n### Modules that need to be in NgModule\n\n- `TsCSVEntryModule`\n\n### CSS imports\n\nIn your top level stylesheet, add these imports:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```  \n\n### CSS resources\n\nLoad the needed font families by adding this link to the `<head>` of your application:\n\n```css\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap\" rel=\"stylesheet\">\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.1.0","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-VON5b56eHu/H3xdXIk3E3eIS6KF/I98n2ypBwsoqKgSvz0gz3keBJ7FgbhtMeP2j6+fxZN3SEbi9dFli9cY2ww==","shasum":"d345585795dcfde1f42b2341d80458038d25fc63","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.1.0.tgz","fileCount":41,"unpackedSize":601438,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfV9LgCRA9TVsSAnZWagAAsGsQAIW5jStSBFt0oshLJUt8\n76NUj3TIfyC+WHsiJE5fBENpxFFTf0OhfJ69uYO5SYQg7sN4FzS7lzhBL79t\nD9f/xiygUDF/r3fb/6SO5D8xNeQkJcH0jMaP72Y47zEdnkh5iR+hofhL8CMC\nubaHiPoU5AeSuEXgrpwjdpmogYjDkOFbR+yo/QQHSyYfbWm+StjY7eP7Ff+T\n/xTEhtf9b6ao617UUHJ0rahPagAues45lf9pSwLBekYuRaR9ghAe3EMEvYKh\nVFnGWVrTHaWJeWrphyMj8aCGOj+2R+Qx2OmeJFg8FxyDu5IupoJBVFHMMsB5\nL/16DPYujC4KtHGbunFgIhmz25RKqF6kv6ND7pBoOsVEfnpkspXDrlPPhwqz\n0wGZqxwDpRqXkM0K0eEIH7CU7NUwXS4Drs91OtvyyxR5j1dTqu7fSVzCicDr\nx/Y1G739pCQkGQqnYuJHrIw6zg0xhfSdMMoYeJCI47Yx9tF7uiCCE3tcAepT\n+yk5JsxCtUHRQlyVOsd+PnRJlXQkrIedEqAf9ZCrLsJYe562RFsRrSs0+ozz\ndXyqJsZO9lUa0pDT0iP32t+lni0WY2GJoFNXDKe4u3QAg08XUgWC/yBdmRF+\npPQkdHBhMIgvPK8JbWqca18h2Uq454XNOSD5+cN4X3vsM9bfuF+hMUODBp4M\nNDvr\r\n=/vi0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCD+kIiwRz2+eXkUggScSbsYMXGHXfVwhO7SiomUW1RyQIgZP7R067i4FGSIMjEM1Zk8kWbexJDniaiOqLmZ3oCie0="}]},"maintainers":[{"name":"terminus_devops","email":"devops@terminus.com"},{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.1.0_1599591135321_0.81229483412111"},"_hasShrinkwrap":false},"2.1.1":{"name":"@terminus/ui-csv-entry","version":"2.1.1","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.0.5","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@angular/router":"9.1.11","ngx-webstorage-service":"4.1.0","ngx-clipboard":"13.0.1","@angular/material":"9.2.4","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.1.1","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-uDw6wfb96WGpeQ3fZXUvxAq8GXIhf7bnSYZV1lQ3339J98E82jhSGgsCmkE/AXoIeebzqAHUKX3nyKdd3Umlmg==","shasum":"7c0daa617b793b584aec86fd20712e0e16a82dc7","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.1.1.tgz","fileCount":41,"unpackedSize":601644,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW7VHCRA9TVsSAnZWagAAuvEP/RQ9IZRmVtJsCbT1YtCO\nxledNQbEyqImQaZP6YWB8Ts1Ylfh4ranmIwH2qhtGnfzgaWaNq1WPI/4ctAr\nmy0pJIkfQlAZIxliXT0kdzXBqjCPpmVwEVB90NshlHQWq3ZG/8/2qCZFVCh7\nvQu/QujeWzoNWVHcUP6KJBRk+tr1s2xKVqrY1NZQZJfB5ni7SxhynZmrnUpb\n9KlkS/s3u0nE+ve269tnLbS8V3WeMDHqxMeExRDQ2y1W8rCaIcm91PrWlbYA\n/y9EYqYit64NIXaRH6rCU1pexiS01LEjIxZ0cykn4sUUaIX7mMHZ9H0lOB/b\nIlrbfb6Np8zNxPTM9/tbjblTd432gKa6ktPTtqmjXch+i54u1DdfXpkl/xOU\nytllx86pLxdigEIBv+R3F7/RiW0vWtpFKZXPxFJJLJQMl0ikTv+qteL8FanL\nb9NXOEh52PeGWuUGYLqgrviDSLHB0Xw95ygY0HoLjM8NcGjcCxcc4Lavbf5L\nBYKZWgTDv3yb8MDq5Wbqr2YOjfzqtrnkDGzpstCn4Q7cT5sEAFoYOJ1bmgZ0\n4JBb1+yXqNQd3QIHkti7D2Z2u76cNNhoXUQa3Nj8IDsYGEtSufF+oB0CFHL6\nqa6FbRvCrnKi327sbfn7qh8wn83SAgxurWsoHUm4FcGmvG0rHY+OZV2V6EL1\nXYXN\r\n=6pss\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDes0x+vEjL4HIzjcgofU+/AeJOYF5YDpebKE1PIVE4pAIgI9l6FG4ZijLMyEoxDLqIjC524JTCMvnKUzh1M1YzlGc="}]},"maintainers":[{"name":"terminus_devops","email":"devops@terminus.com"},{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.1.1_1599845703338_0.16970079575253405"},"_hasShrinkwrap":false},"2.1.2":{"name":"@terminus/ui-csv-entry","version":"2.1.2","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.0.5","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@angular/router":"9.1.11","ngx-webstorage-service":"4.1.0","ngx-clipboard":"13.0.1","@angular/material":"9.2.4","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n## Table of Contents\n\n- [Installation](#installation)\n  - [Packages that need to be installed](#packages-that-need-to-be-installed)\n  - [Modules that need to be in NgModule](#modules-that-need-to-be-in-ngmodule)\n  - [CSS imports](#css-imports)\n  - [CSS resources](#css-resources)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\n### Packages that need to be installed\n\n- `@angular/cdk`\n- `@angular/common`\n- `@angular/core`\n- `@angular/flex-layout`\n- `@angular/forms`\n- `@angular/material`\n- `@angular/platform-browser`\n- `@terminus/design-tokens`\n- `@terminus/fe-utilities`\n- `@terminus/ui-button`\n- `@terminus/ui-icon`\n- `@terminus/ui-icon-button`\n- `@terminus/ui-spacing`\n- `@terminus/ui-tooltip`\n- `@terminus/ui-utilities`\n- `@terminus/ui-csv-entry`\n- `date-fns`\n\nUsing `ng add` command can help getting all the dependencies installed:\n\n```bash\nng add @terminus/ui-csv-entry\n```\n\n### Modules that need to be in NgModule\n\n- `TsCSVEntryModule`\n\n### CSS imports\n\nIn your top level stylesheet, add these imports:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```  \n\n### CSS resources\n\nLoad the needed font families by adding this link to the `<head>` of your application:\n\n```css\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap\" rel=\"stylesheet\">\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.1.2","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-YhIuEfABymXxa/UKbVaniGcS5HOar4ExrgBKZ/lyukA2s49nr4YnLQolMiZeLk8951CaqC/B7A63yGzOKKMI7w==","shasum":"d5dd490bcd5aa076684cdb7678bbbadb639c2535","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.1.2.tgz","fileCount":41,"unpackedSize":602246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfX6qZCRA9TVsSAnZWagAA5uYP/2PSxZxv2uStJfsj/eH3\nRxQpEF1UdEWAK8yu3rZZMoTarCghcS+xEjXPUAOlYgc/avpx+TVlHkOY95rO\nhTvGxoFHGWwLSRnnWBQJeRqwvAOxBmvnFu/p5RP6jUJF4bTJeiTXRBPRVKB5\nctAtZTVyz5Oewo/nHxTAaFRXaXV78Trsxr31rrWA7X5M8tvXl0bwNuZ3nJEM\nCVyctBxmff/Bw+UAhU+UJozzDV7EqBSwBFBUCedoiZHiQ2jx8FmIxyxOa+l7\nY8XvMosr4p2FBvWXSyK1UN40vttyeh9cdmphEIkwBjHCWosAKDj3vVSXDsBN\nMKIr987b0YCob+Hi5O8ramndSbyc+VhNFagONOAiqHrBpMfVMG9DKT6zWBub\nAFqwqQjHyL8K6jkTFKgQvB30YqXO1nMylgDc8Utktsqm25nbwx2Bpc8qgi5u\nT6RIoqJ9pdSB9QEA5UpRb36SU79f94FfhgLJ3Jue9TbK+GeE7Ujrq2/c8KsQ\n4ck+TT4RAYTZxIEw4YibQNhotVRiV/vEwU4aYsPpYZqyh/NLOmEKPDVMMUd4\nVkY0/bAfVtQAVqu7dT2cvXrKSz6nXUkmTIx8wIl5wqKoUQD1oEAm4I+cOjJA\nMrSpXR4Sn5Xomeny27mUixPKnnecXzhSbZtaEpW0JBVJcFORub0FN7gyPkAK\nEY+q\r\n=+waZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8haCGM9f3i83UJF+zK+OAPA9Bke55K9NITcR/Us2//AIgOfs4Z9QBa/AvMCdvx2533N2BEQoqOTmHJtOKI2n4J4w="}]},"maintainers":[{"name":"terminus_devops","email":"devops@terminus.com"},{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.1.2_1600105112950_0.9535857315324805"},"_hasShrinkwrap":false},"2.1.3":{"name":"@terminus/ui-csv-entry","version":"2.1.3","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.0.5","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.16.1","@angular/router":"9.1.11","ngx-webstorage-service":"4.1.0","ngx-clipboard":"13.0.1","@angular/material":"9.2.4","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@terminus/fe-testing":"1.2.0","@terminus/ui-validators":"2.0.2","@terminus/ui-validation-messages":"1.1.2","@terminus/ui-pipes":"1.1.3","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n## Table of Contents\n\n- [Installation](#installation)\n  - [Packages that need to be installed](#packages-that-need-to-be-installed)\n  - [Modules that need to be in NgModule](#modules-that-need-to-be-in-ngmodule)\n  - [CSS imports](#css-imports)\n  - [CSS resources](#css-resources)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\n### Packages that need to be installed\n\n- `@angular/cdk`\n- `@angular/common`\n- `@angular/core`\n- `@angular/flex-layout`\n- `@angular/forms`\n- `@angular/material`\n- `@angular/platform-browser`\n- `@terminus/design-tokens`\n- `@terminus/fe-utilities`\n- `@terminus/ui-button`\n- `@terminus/ui-icon`\n- `@terminus/ui-icon-button`\n- `@terminus/ui-spacing`\n- `@terminus/ui-tooltip`\n- `@terminus/ui-utilities`\n- `@terminus/ui-csv-entry`\n- `date-fns`\n\nUsing `ng add` command can help getting all the dependencies installed:\n\n```bash\nng add @terminus/ui-csv-entry\n```\n\n### Modules that need to be in NgModule\n\n- `TsCSVEntryModule`\n\n### CSS imports\n\nIn your top level stylesheet, add these imports:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```  \n\n### CSS resources\n\nLoad the needed font families by adding this link to the `<head>` of your application:\n\n```css\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap\" rel=\"stylesheet\">\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.1.3","_nodeVersion":"12.18.4","_npmVersion":"lerna/3.22.1/node@v12.18.4+x64 (linux)","dist":{"integrity":"sha512-Xd7MBKjwWjBVLhCpQguB/05R4qdZ6z/aJ9V8OCh7Qpd2fLURqECslZZ0yO5BuufRA6e+AAwzsdBf9Fb6bcrRTQ==","shasum":"a8641a33d0293b55260eb8c763e9c1d03e220d86","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.1.3.tgz","fileCount":41,"unpackedSize":608493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbO/aCRA9TVsSAnZWagAA47sP/iPgs/iVH/G0ARkhbvoJ\n2UrgRn9Kekn8mYnGp6j9qWnXuQVgpKKyxQXnggYLlbjYErdYgtpQwMwayj1m\n9OopKX+JykW+0qS80ARdyTNPI566hrsaZZXf/hSr4Yw3sNUKUzbGIl+rNQXp\n6dQYX2XUAgihOJ8uKg7u4syuXfSNA5ik1TLpytk+WoypiaIHmGF0I9jJipVM\ndifRa05RXqkK2cytUUkb82Cqd5f5bXzu5ASC8mw6vI4cJS1gbqmlLE9tiiBh\nlEssk7Y0lSRjMCss9dEHalFChPVpfC+1WTNJfJ6iZr0isnOu5qhNhyDV5oFK\nC2VKch+/zMzF7rmUVVqU5rCfBW8tBeC8WAif3OTXJUDbiDSa4johZROKV+w4\njd6K5wersyiYQkSPQk3himQgJzQs3qNryk3OA19hsvUaQHs4Gcoc4fZG5/Pm\nUZEr1/FnVjxhxzx/hQcRg3dnhDowoNorlXwDt5IJbNq/yHsPPJlaGsWIGqnp\n7QVazuyB6YZ7MHgmyreuZmxD6zaKZrwP6k+sD2PhG3dBg3XF/xueOL9OP85F\neKlkprSI9XRwc+P3OQTeDdcdoRgdJDFmAbgalLXUUWxF64CVBdsBretxUGoN\nmxq78aVFXJMxfFa4iIExcn12CYqWq7cjTrVpaAOYfpvKICu3Vd+ImJu91Ql9\nMDn+\r\n=zqQH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBqsZ/AEe1NZDT2g6y/S2aYExnexoF54y+af/8Z+pPz7AiATtAiRZH+gSFlA6Xi6fRNL7on1nbz60czY35FZJVHGBg=="}]},"maintainers":[{"name":"terminus_devops","email":"devops@terminus.com"},{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.1.3_1600974810394_0.042023217646661726"},"_hasShrinkwrap":false},"2.1.4":{"name":"@terminus/ui-csv-entry","version":"2.1.4","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.0.5","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.16.1","@angular/router":"9.1.11","ngx-webstorage-service":"4.1.0","ngx-clipboard":"13.0.1","@angular/material":"9.2.4","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@terminus/fe-testing":"1.2.0","@terminus/ui-validators":"2.0.2","@terminus/ui-validation-messages":"1.1.2","@terminus/ui-pipes":"1.1.3","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0"},"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n## Table of Contents\n\n- [Installation](#installation)\n  - [Packages that need to be installed](#packages-that-need-to-be-installed)\n  - [Modules that need to be in NgModule](#modules-that-need-to-be-in-ngmodule)\n  - [CSS imports](#css-imports)\n  - [CSS resources](#css-resources)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\n### Packages that need to be installed\n\n- `@angular/cdk`\n- `@angular/common`\n- `@angular/core`\n- `@angular/flex-layout`\n- `@angular/forms`\n- `@angular/material`\n- `@angular/platform-browser`\n- `@terminus/design-tokens`\n- `@terminus/fe-utilities`\n- `@terminus/ui-button`\n- `@terminus/ui-icon`\n- `@terminus/ui-icon-button`\n- `@terminus/ui-spacing`\n- `@terminus/ui-tooltip`\n- `@terminus/ui-utilities`\n- `@terminus/ui-csv-entry`\n- `date-fns`\n\nUsing `ng add` command can help getting all the dependencies installed:\n\n```bash\nng add @terminus/ui-csv-entry\n```\n\n### Modules that need to be in NgModule\n\n- `TsCSVEntryModule`\n\n### CSS imports\n\nIn your top level stylesheet, add these imports:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```  \n\n### CSS resources\n\nLoad the needed font families by adding this link to the `<head>` of your application:\n\n```css\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap\" rel=\"stylesheet\">\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.1.4","_nodeVersion":"12.18.4","_npmVersion":"lerna/3.22.1/node@v12.18.4+x64 (linux)","dist":{"integrity":"sha512-ai9GGSf6qkzukxXjqwuGM41R25yTx1JlkRIHx+GowbaEl2V0v3EZEFzMjDBpxk6Q2QiVfMno6RTmjNVfhIdhiw==","shasum":"372336cc534f8e989d41bb64292f576994c4eacc","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.1.4.tgz","fileCount":41,"unpackedSize":608699,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdgXECRA9TVsSAnZWagAAclwQAIV4aKpvNB/W0spdSnU0\nQaIUi/ecwlQ0PXYTeJnvEIr1EYaNdIhEeoQhatVBJljpkxEGz2RIPm6dQjTa\nwHtkK5afuxLDVCwmGle322y1HISUlkJEgr2dwW+o+7AWbqEr+FEmL0kQH2Ax\nfn7VbCmIio4eXgwtRDzdbPA6rO8R0WQ7SchPiRgQRrBXk2N4BSjAb6pwCwiL\nVjnJ6dpcFlFU4jKYOaPGziGsQamzWrPfbAwos8jYhLgVKM0Jgk7kCFy9Vb9h\nJ3Pq2X875yrLAtRkusH8p6Nw+V4k3X2Ygphup/wXjNi6YlJyRx5/JZ1MWl0I\nBVgDJGXmA/PK1R4/CYFMcZ4xCty23HvD/bOcXDnQz/OLfkhdlmkzAMUa2Uj6\nzD0CNFc0J+izTyZ+JITI5ZG0QA313AVTamtrVyHMzwaTh3+64LIc7j0G0vqA\njAysk6sEruQL1RsPoZr56SLdE9w73E9f34Cdg7S1svZ7RmOIAtLI/wAzMlq+\n17Y35EUDEJjNixujDtudRjC2DhlagCf/KPqxFE9fTRrucPkL4189aUeJ/CXu\nRtS0JQkzDDpaxlyye0o7cuV8b/JXl1ZjwYxdFTcsbjG2Wi8si4l2c2LcC3l2\nlXflm2vYwr5U1or9WY+ft7u9JzaqKs8UbVp2Jx6ObhJ6tDGd2N4FaH0gMdGY\nsKPs\r\n=xTRt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHNVG/O6z3oByNTMxCMAndF7TJ4pRvdTn+rnMMwsgdZ+AiEAkJDV6UYyPP7InLTiVqHUFpwygjLhnz2lL6VMKHKa3s4="}]},"maintainers":[{"name":"terminus_devops","email":"devops@terminus.com"},{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.1.4_1601570244252_0.9336347733644981"},"_hasShrinkwrap":false},"2.1.5":{"name":"@terminus/ui-csv-entry","version":"2.1.5","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.0.5","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.16.1","@angular/router":"9.1.11","ngx-webstorage-service":"4.1.0","ngx-clipboard":"13.0.1","@angular/material":"9.2.4","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@terminus/fe-testing":"1.2.0","@terminus/ui-validators":"2.0.2","@terminus/ui-validation-messages":"1.1.2","@terminus/ui-pipes":"1.1.3","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.1.5","_nodeVersion":"12.18.4","_npmVersion":"lerna/3.22.1/node@v12.18.4+x64 (linux)","dist":{"integrity":"sha512-HBOZ/NXi3DtI71QNSSNkOTMZgZi2XMMxFZ4o/T2p6yxc/2G01Z+5slUQttn1+F9vqMByBhGUKo1dBNuSocGAWg==","shasum":"c31f1e4f398cc7b4a94abccf1cff97878a574c4e","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.1.5.tgz","fileCount":41,"unpackedSize":610709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdzcdCRA9TVsSAnZWagAAliYP/22LU1py5SG46vjomrCF\nEjGkUqLOHAcBIl7MZFgiVzaFb3+r9pd2M6VXKGXWGN1zyY6mAk2ui6GeCO4V\nBw5iJbWic4wUGQXHjhiXykl/2HXoqvYWAjrqsh1PgQc4cjYIgVyX1/8o0iOX\nlmyUWpf/gQvUdUeeQn9LKh91FUIC2HT3BqZKzlIx1wg/lQu+ouqvGO1tRSrL\nZAi/ouWiveeSDWHhBjq/FJjtKWt0orU/dcQSZ/phGh5vTNxB6GDn0inPRLXl\nFXl+qUbYPa/8CVys7GQ4eRA/ICGO5LKWN/83ufDfoQcpVvgM7ybfhDjd4L0k\nxJ5q2SuXwaxdFozgUG3mS8LfQ4HOAFa9DQnwC6NAZI2bd8TNWXl30x9r4sJc\njYStKswpz7QLfamJCBGTtQNxxoqkWxixdPo9XypRydS+GHhcpu6A/E8lNDDP\n0gwemJeSkx2Xgy3R1wAJhiMH2OT/pPUpzcPX93iAainuQKB7tfPonfh33+Fp\nOFoPagPiH5oJFRmqAWQzB2hHMeBBi4vXTvSB3qfyuh7UCJmTVFHhjgMcPEDp\nAjavgnMFHHymr90Z71BUnJwEjMdhGvIzJ0W/3DMnZVvZqeCbs+hPhJvIgk0m\nJLQUkQuPmyWHf10c/LSQFBrJj0VsJRnG1zzedMmad3gWTil27+Tx0ZSrGQEI\nXIMF\r\n=OdcH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDohflzdRvF+E6rRIzy6t/jx2gCziB06/VmvZHzUFLDNwIhANuiuEFViA+CdL4zefjzPtEhbL1YtDTH6yjT+H11DqMB"}]},"maintainers":[{"name":"terminus_devops","email":"devops@terminus.com"},{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"}],"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.1.5_1601648412524_0.7199888713971556"},"_hasShrinkwrap":false},"2.1.6":{"name":"@terminus/ui-csv-entry","version":"2.1.6","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.1.4","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.16.1","@angular/router":"9.1.11","ngx-webstorage-service":"4.1.0","ngx-clipboard":"13.0.1","@angular/material":"9.2.4","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@terminus/fe-testing":"1.2.0","@terminus/ui-validators":"2.0.4","@terminus/ui-validation-messages":"1.1.3","@terminus/ui-pipes":"1.2.0","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.1.6","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-Svz+JuxbEClcSCGTRfgIikNc+/kFgG3KghZmmjXW1PRggTQHBXx4U+0Fbnk/UqseqKhhK58vz25GRIKpviQ9pg==","shasum":"3d2a77fb0cc2e32aabfba9a1c60c1cb605b5bb81","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.1.6.tgz","fileCount":41,"unpackedSize":611007,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpYCkCRA9TVsSAnZWagAA/joP/13a0XnhNT4U0MoCYUWh\nrlxQz8cBe+6ozzGjsR06SgBAHmEH0WowLMzzJDVIIKX5wQW1aL92HNTMNnDV\ny7HD6hBpXo2qrQrFWxfrOdK8VXSPX+ytMGBH1kJBiWm1XPb4VOCv8bWnSlKz\ni5mAck90/9jTSl571p5imvLOTbDp7gZZDcz77eCzKcaXS8Lwq+hqi9yqIBe7\ngKl/BlD0bMHAdQaGnhEjGJwMIA6B70gnCyvM3fkkOzSvQRbiCfRpq/k2U2CW\ngDyExI0aW2QREYYjz58dLfMisy/uhmrAVcpUgEhdKq4RgQSgTRFI5/vAS3Fq\nMUmbUktdo3nhY9fChscNG9rbSxIsxGXXAtoFEfDknJThWMVwDzfo5aanYVkZ\n+6lK9UvfJxEZDDahY0rFbeo2WdF7Nl2Zfw03GU1c4thWXexyVxxZMxFj7gvq\nrdn263CJLQk5/ODEWtTrqoyt/bzWuufZmotTMKNb/U8hcqxzd/kPYhs+tGR/\nbCZPNGWVNj3RT+njpqcaQNkwh8i18vEFPNX2X7Q+S/OA3NXzPUQy4oc6xJrx\no27ea8SEJp4rnt1dzKYfGLiVYHdCRODAXzkfthnv91Kd+6Bh4L/DJVDOC+2e\nXP5mfGN+t6hP/qmETZ5Lfhcwqn1T607JdlDXrQj2jJsjHIlRoUH233t/GEk4\nWGZP\r\n=PVx0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzaKrTPbn2i1i9/R4k24cZHV9kCgB9sIVGprCS/dpNTQIhAN8hhxDVQA2i4tqR05liDJ0XuRM/bgtqnTa9yyMKaH8B"}]},"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"maintainers":[{"name":"terminus_devops","email":"devops@terminus.com"},{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.1.6_1604681891859_0.705355540591746"},"_hasShrinkwrap":false},"2.1.7":{"name":"@terminus/ui-csv-entry","version":"2.1.7","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/material":"^9.2.4","@angular/platform-browser":"^9.1.0","@fortawesome/angular-fontawesome":"^0.6.0","@fortawesome/fontawesome-svg-core":"^1.2.30","@fortawesome/pro-solid-svg-icons":"^5.14.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.1.4","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","date-fns":"^2.13.0","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.1.7","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-PMcZB/SiLRpD72c+UK/tXK3UK934dfPAyEHtItSGsWifll9XQMdT4jJ23GLGKjVRPP2Zeb2DxrQFhosX2l30Uw==","shasum":"3da55fab3ab2deeac7c5ee599ddfa64ad164a060","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.1.7.tgz","fileCount":41,"unpackedSize":611472,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfq9MCCRA9TVsSAnZWagAA248P+wXDMrNWs7LVc8bDLbnk\ntGTL9FRYgqMlBawwMsBXV1I4ljamDMEUZqECSz3ZO0o4GFsknho3XKSTQKMV\nzouXNcOoo1Z4AFVqtAZnWexVb+TeX4K2fFgsow2KVJ5pZWxKQY1CL+EVpVSq\nRM3RgguwhqlWh2nIR6WjxfucZ3OSOa6ecf15lgoqL3huQ8d6u67UaH1qXjot\nMWUlmmo2AxjyhWEAhuhtDO4dqGrdY0Q6ftd4Td4/BeCLueavQnpid4eydvu4\nzsle388RgBPR3eg2wWA453AWLmI59c8Dx8dDzxIAQDzzzXMJob5JJCJ2OcfN\nKyewuKBkhvnJpcHvAIk8rTzEztgYUvgwEX+MHq3qVKgEZcr5A8Le3J62spVn\nQrycA8fiqD+sN6H/6m4vyBtsMFPgHQ/2kUBXIzqXTBuTwRnyuj0nQ7EfzaCB\nGxcwQWvmxUHowgxBATBRHH5Njs39kew5WszSMpzXu+YL/wp78YpG7dbOQmzs\nbBmFnAYQWiJ/7JGIA0Q/d7Cuw8w89e0/hAUCJeyJ1LRqyjPTEdc9vyieWexr\naz9FyrDwdi/mT1uIXXtYIofomUP3lt+F7ZPVTjAbf+AIb0j4xdNNXJIlTuj8\nVBjwPFa4J+QHjjAj/DH21wcPJRS7NvZpp3xa6oeJfVtSTEzaRzrgHzqeaFV6\n+d9R\r\n=bUfA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGmt6fS4vFVuxHUXoCqvi1JqOK7D6GmpSN/ErUGnB5o0AiBy2qQZGBzIyBHKjjJ8YNyBvZ/wAV8sddSuGPmI9f7v5Q=="}]},"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"maintainers":[{"name":"terminus_devops","email":"devops@terminus.com"},{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.1.7_1605096193989_0.9900025334805502"},"_hasShrinkwrap":false},"2.1.8":{"name":"@terminus/ui-csv-entry","version":"2.1.8","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/material":"^9.2.4","@angular/platform-browser":"^9.1.0","@fortawesome/angular-fontawesome":"^0.6.0","@fortawesome/fontawesome-svg-core":"^1.2.30","@fortawesome/pro-solid-svg-icons":"^5.14.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^2.0.7","@terminus/ui-icon":"^2.1.4","@terminus/ui-icon-button":"^2.0.5","@terminus/ui-spacing":"^1.0.11","@terminus/ui-styles":"^1.1.0","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","date-fns":"^2.13.0","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12"},"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.1.8","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-KdNJxcfo8hVSUISOxnaL4AYjn0GHkVRMJC39t+/nlE/FV4KTA64sBdKZDWOyzaM9NbUKJaAdKHzW7QQr7WMqKQ==","shasum":"897f426f90445fa1b2f2733d648ba08e2e0d3ef7","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.1.8.tgz","fileCount":41,"unpackedSize":611868,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrB2cCRA9TVsSAnZWagAA4egP/j7ObAxx3/AqjJdMBlBg\norVO7CFLdi+qynrMe5l/u8cQv1uS6cmnsCXggIOWWOcCBTbRP0hfB2VgFCbv\nZsGuaSZ6ZGos4xlOXArNdfoUrmkcF1K/OqVmn4h5v8VCHo0neES1TmlaV65a\n/fktnsGJy2tTJKTXcXIIZlWje/JJlvA+3OPxcuJL4fy3G2zA6rTW+LJNEGgn\n4igoRwH1JGTbkZrHjROEGbH63y7NjjJxkepb1wWbcQC2gWRzr7FmIsUrcY6h\nDMcXYuPxRC+APXN0TkeiIS3SXkRmHM8bZdMNh4023+S2hh6nt8VfDWoAGCp4\n4kHyki8zFE15vd/MCYyIybX+O+seVXEPFYk3Ut3HMI5W29KPXAHPeQlm0kj+\nvIrVbNYd9g/S6OSol+1xyNqF59VB31DR5PV+fclaCbAqOxgPUJ3xvKBVPw4R\nwG9kPZpMLOqGV1C/NziwIFyBh+G5pLBHKnQa+49OynkiExzear/gp6K7aAVN\nX+NdVOHXMSyM7ZcbYnPFmoBDFswsqnQd/KzQ9aU5RCEMupEyISfhaLYQEy4W\n9sXOJrKg5CBKwQBuuPC5mJYpkPFIJfe3sv9uhbBs+5vOYho7k9qVOHXxCGhf\nZPM3tdeJxp3aa1sYJXpO58vXDyxIMaultZ0MWxw3J4tFuLedEr1wxnRnG+e9\nfUPJ\r\n=XJn7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGbhsU1cZLZZKdkDsGCM9yF3fGsEIt+pbTabA8kviotoAiBQqmIBxWnre6F+jcgLTH87u0D6XSyVCMNoq/jMJYCvWw=="}]},"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"maintainers":[{"name":"terminus_devops","email":"devops@terminus.com"},{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.1.8_1605115292012_0.9815737926209291"},"_hasShrinkwrap":false},"2.1.9":{"name":"@terminus/ui-csv-entry","version":"2.1.9","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"dependencies":{"tslib":"^1.10.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12"},"peerDependencies":{"@angular/common":"^9.1.0","@angular/core":"^9.1.0","@angular/flex-layout":"~9.0.0-beta.29","@angular/forms":"^9.1.0","@angular/material":"^9.2.4","@angular/platform-browser":"^9.1.0","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^1.0.0","@terminus/ui-button":"^3.0.0","@terminus/ui-styles":"^1.1.0","@terminus/ui-tooltip":"^1.0.13","@terminus/ui-utilities":"^1.0.9","date-fns":"^2.13.0","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm5/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm5":"esm5/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm5":"fesm5/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@2.1.9","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-ez58eboiwUJOH1u5/XfvVzbsbtw5EAGBYEvthlU33MgcSA/WG7/d/pM3p6cuOWxCeeZrRMoyX2t7gRQPkvdIpQ==","shasum":"9b1953c70069b7caaad42bc9ac7e7ba42234c0d7","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-2.1.9.tgz","fileCount":41,"unpackedSize":612940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftB3oCRA9TVsSAnZWagAA0pwP/0TgOM/uER9N5D+WISy+\nqz2Y6HAe5UoCuS+Jg3gu+ttjppCxpyCPebOBzGwt7DRzwqi+yrsrE001kp1W\nfL5qbCGFYJire3X+MLaJzg7Xjbq3NQ4Ta9IcD6m7GLsBHPs6fv2FKDzKEpSB\nXaSrL3p5wJRUYOIJdV1ZWKd6zzDAEsZUzZ3csPw9LByClRkDEiNoQEiigpKw\nrsL5Y38xx1qRvr29gyuejfN3/P4V1DyDic+az1/lem1efcdEjl3Eg8re+GDe\n82NJRTOv0CECAvEM8y7FIrW5mrj873yVod1NvBciZxNeAejyCERKBAErmTvh\nk8mCIlq2d+yAiOvfpJfYeqzqhoPQ+q2HFYvTmQSebfYIUMrwR2MrchzmfSgY\nqgrGL05qY7MwWEMeY9pUX7cS6D5BS/h02TtcPIA6au8TUiDqSdVJ1QqZjkvz\nV+jSeMbUJPVbFI1bf+9XG0WWKFuxtu3wNhGNtBcQ9HEVIROf/Vy+AdioVTlM\niZ0qPqN05eskp9amx1u/zGqdgVgGQ+n6SJxzUm0czU0JjJFzj+5FtlgReQw1\nLrg4exRZyprXpApqoCkgOGCIeEhN8VWXQ8ifg0lCdUq8iJY1jAKwFuG1o5ur\nhzoKZsEcmyR0uHrRkw48JYfG+/2/CmFHI27q/hyz+O/bt3Qpxs7Cjp43hoBb\nc1Jj\r\n=PoXU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWvUbIdgaQHX4vb/SieJ2AHOrO3a2jzjQi6AHCboULcgIhAMr+MYylyPGWG7V85wo9DvjgYRzynaswW62LkVEi6dHU"}]},"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"maintainers":[{"name":"terminus_devops","email":"devops@terminus.com"},{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"benjamincharity","email":"ben@benjamincharity.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_2.1.9_1605639656332_0.2571954732255284"},"_hasShrinkwrap":false},"3.0.0":{"name":"@terminus/ui-csv-entry","version":"3.0.0","license":"MIT","author":{"name":"@terminus"},"private":false,"homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"publishConfig":{"access":"public","tag":"next","directory":"../../../dist/libs/ui/csv-entry"},"dependencies":{"tslib":"^2.0.3","@angular-devkit/schematics":"11.0.4","@schematics/angular":"11.0.4"},"peerDependencies":{"@angular/common":"^11.0.4","@angular/core":"^11.0.4","@angular/flex-layout":"~11.0.0-beta.33","@angular/forms":"^11.0.4","@angular/material":"^11.0.3","@angular/platform-browser":"^11.0.4","@terminus/design-tokens":"^3.1.0","@terminus/fe-utilities":"^2.0.0","@terminus/ui-button":"^4.0.0","@terminus/ui-styles":"^2.0.0","@terminus/ui-tooltip":"^2.0.0","@terminus/ui-utilities":"^2.0.0","date-fns":"^2.16.1","rxjs":"^6.6.3"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-csv-entry.umd.js","module":"fesm2015/terminus-ui-csv-entry.js","es2015":"fesm2015/terminus-ui-csv-entry.js","esm2015":"esm2015/terminus-ui-csv-entry.js","fesm2015":"fesm2015/terminus-ui-csv-entry.js","typings":"terminus-ui-csv-entry.d.ts","metadata":"terminus-ui-csv-entry.metadata.json","sideEffects":false,"readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n## Table of Contents\n\n- [Installation](#installation)\n  - [CSS imports](#css-imports)\n  - [CSS resources](#css-resources)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\nUse the `ng add` command to quickly install all the needed dependencies:\n\n```bash\nng add @terminus/ui-csv-entry\n```\n\n### CSS imports\n\nIn your top-level stylesheet, add these imports:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```  \n\n### CSS resources\n\nLoad the needed font families by adding this link to the `<head>` of your application:\n\n```css\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap\" rel=\"stylesheet\">\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md","description":"<h1>CSV Entry</h1>","_id":"@terminus/ui-csv-entry@3.0.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-mFa45UWYe6a6x/3P1iit9ibpEcRfxEtlaIoIOn14ux5kxwbs0+mXACaQN1F0kMUUlShHHx0wyLlbhAPw6FBqYA==","shasum":"319bebc88c60dd78c1632b87f9bc0a7c2b3d80c7","tarball":"https://registry.npmjs.org/@terminus/ui-csv-entry/-/ui-csv-entry-3.0.0.tgz","fileCount":31,"unpackedSize":434570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2he8CRA9TVsSAnZWagAAxgQQAIrQXIJObi99RmS0h0W2\nk4xpAnCBFrr+3l4LS05UqcAee1UvLIop+N32IAN9Quf51kHstkHwTyxeZKZq\nNAW5UwHPjFAjHMqXoDqjm6snbobm8wtUSqT2l2FgHnqPACvtn6xJLDFvEV3a\njhVboiiGASaAgTGl3y8xPqtY9AjXWFFMSua8qDdULQurczCCg9il/bZoxTn8\nz6fHxYcLLtzsUKMHqUaxve2E4JCO4WhxQLki7+GHz//rIjeTdZL4RG0GFkJS\nhTPbOSiHxByKyz0PpjoAW5lguHkfHRnoG5FI0JLvkVSfZ4DZEGYeofQ561sE\nASMpw/UMMB8egoxSqiJC+EkPgsuQ1oBCziu86JnTtZH9ydbUKYj6tn3yUNGB\neEbDlbGFcBntEuCJHyRV8O0bouz22Xa+tKpypOCtU1Yj4LQ4aexN2VLhtexc\nzxwenbcLvgXDgYYIeUhMKPTY8t4hfsi1nzUfCs/egNjYBoG8AktRKtgeHYFX\n2eUBX52aEQYYWbnC7cJQTAfv1GPf9+/PXq9iyYyLQnG572Vxnrq6kkyw9/Ba\nQh6g11dpNnbwG2dgyRUEJ07Vc6xxxWWvYCI6TlCNCDv+bB4k+I6jQvdC236D\nDpDTjGg9XGe2WJHjvUR7ZDneidlFO2Git9UMUxPoShlX2+NL6TLHLN+YZQm+\n4JcT\r\n=qZCj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyOd93jBwMP3u/EBzPzndQEQMUQbgJQht8Aoh1qaMHngIgW2PIg0LpFp+8VEA9a4hsG4rgY1bZvf3Pj9i5sX7ryIA="}]},"_npmUser":{"name":"terminus_devops","email":"devops@terminus.com"},"directories":{},"maintainers":[{"name":"benjamincharity","email":"ben@benjamincharity.com"},{"name":"bmalinconico-terminus","email":"brian.malinconico@terminus.com"},{"name":"atlwendy","email":"atlwendy@gmail.com"},{"name":"terminus_devops","email":"devops@terminus.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ui-csv-entry_3.0.0_1608128444221_0.9764823163733731"},"_hasShrinkwrap":false}},"time":{"created":"2020-06-02T05:31:18.178Z","0.0.1":"2020-06-02T05:31:18.454Z","modified":"2022-04-07T05:16:10.364Z","1.0.0":"2020-06-04T18:52:07.133Z","1.0.1":"2020-06-05T02:29:11.102Z","1.0.2":"2020-06-10T18:51:21.917Z","1.0.3":"2020-06-11T14:18:03.657Z","1.0.4":"2020-06-23T15:34:53.396Z","1.0.5":"2020-07-07T15:38:42.792Z","1.0.6":"2020-07-13T19:23:50.595Z","1.0.7":"2020-07-14T15:04:47.107Z","1.0.8":"2020-07-24T13:11:50.714Z","2.0.0":"2020-07-27T19:39:50.040Z","2.0.1":"2020-07-28T15:28:58.686Z","2.0.2":"2020-07-28T18:28:30.357Z","2.0.3":"2020-07-29T13:05:24.302Z","2.0.4":"2020-07-29T15:33:53.891Z","2.0.5":"2020-07-30T20:34:33.207Z","2.0.6":"2020-07-31T14:00:28.383Z","2.0.7":"2020-08-10T16:20:18.486Z","2.0.8":"2020-08-10T19:31:00.211Z","2.0.9":"2020-08-11T13:57:04.563Z","2.0.10":"2020-08-14T15:29:56.484Z","2.0.11":"2020-08-21T11:51:07.894Z","2.0.12":"2020-08-25T15:30:53.333Z","2.0.13":"2020-08-26T15:51:33.799Z","2.0.14":"2020-09-03T23:15:23.921Z","2.0.15":"2020-09-04T15:01:56.965Z","2.1.0":"2020-09-08T18:52:15.481Z","2.1.1":"2020-09-11T17:35:03.502Z","2.1.2":"2020-09-14T17:38:33.216Z","2.1.3":"2020-09-24T19:13:30.588Z","2.1.4":"2020-10-01T16:37:24.438Z","2.1.5":"2020-10-02T14:20:12.663Z","2.1.6":"2020-11-06T16:58:12.087Z","2.1.7":"2020-11-11T12:03:14.139Z","2.1.8":"2020-11-11T17:21:32.200Z","2.1.9":"2020-11-17T19:00:56.504Z","3.0.0":"2020-12-16T14:20:44.418Z"},"maintainers":[{"email":"brian.malinconico@terminus.com","name":"bmalinconico-terminus"},{"email":"atlwendy@gmail.com","name":"atlwendy"},{"email":"devops@terminus.com","name":"terminus_devops"}],"description":"<h1>CSV Entry</h1>","homepage":"https://github.com/GetTerminus/terminus-oss","repository":{"type":"git","url":"git+https://github.com/GetTerminus/terminus-oss.git"},"author":{"name":"@terminus"},"bugs":{"url":"https://github.com/GetTerminus/terminus-oss/issues"},"license":"MIT","readme":"<h1>CSV Entry</h1>\n\n[![CI/CD Status][github-action-badge]][github-action-link] [![Codecov][codecov-badge]][codecov-project] [![MIT License][license-image]][license-url]  \n[![NPM version][npm-version-image]][npm-package] [![Library size][file-size-badge]][raw-distribution-js]\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n## Table of Contents\n\n- [Installation](#installation)\n  - [CSS imports](#css-imports)\n  - [CSS resources](#css-resources)\n- [Usage](#usage)\n  - [Column count](#column-count)\n  - [Row count](#row-count)\n  - [Max rows](#max-rows)\n  - [Column validation](#column-validation)\n  - [Static column headers](#static-column-headers)\n  - [Full width table](#full-width-table)\n  - [Custom footer content](#custom-footer-content)\n  - [Footer direction](#footer-direction)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Installation\n\nUse the `ng add` command to quickly install all the needed dependencies:\n\n```bash\nng add @terminus/ui-csv-entry\n```\n\n### CSS imports\n\nIn your top-level stylesheet, add these imports:\n\n```css\n@import '~@terminus/design-tokens/css/library-design-tokens.css';\n@import '~@terminus/ui-styles/terminus-ui.css';\n```  \n\n### CSS resources\n\nLoad the needed font families by adding this link to the `<head>` of your application:\n\n```css\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&display=swap\" rel=\"stylesheet\">\n```\n\n## Usage\n\nThe most basic implementation only needs the HTML and a single method. Each time the CSV table is updated, a new File\nBlob is generated and emitted:\n\n```html\n<ts-csv-entry (blobGenerated)=\"myFunc($event)\"></ts-csv-entry>\n```\n\n```typescript\nmyFunc(blob: Blob) { ... }\n```\n\n### Column count\n\nDefine the number of columns (default is 2):\n\n```html\n<ts-csv-entry [columnCount]=\"7\">\n  <!-- Will generate a csv entry with 7 columns -->\n</ts-csv-entry>\n```\n\n> NOTE: Column count does not restrict how many columns can be pasted into the table.\n\n### Row count\n\nDefine the number of rows (default is 4):\n\n```html\n<ts-csv-entry [rowCount]=\"5\">\n  <!-- Will generate a csv entry with 5 rows -->\n</ts-csv-entry>\n```\n\n> NOTE: Row count does not restrict how may rows can be pasted into the table.\n\n### Max rows\n\nDefine the maximum number of rows a table will allow (default is 2000):\n\n```html\n<ts-csv-entry [maxRows]=\"100\"></ts-csv-entry>\n```\n\nIf the user attempts to paste or manually add more rows than are allowed, a validation message will appear below the table.\n\n### Column validation\n\n> NOTE: Currently, custom validation messaging is only supported for the URL validator. More will be added as needs arise.\n\nPass in an array of validators matching the column count.\n\n```typescript\nmyValidators = [null, this.validatorsService.url(), null, null];\n```\n\n```html\n<ts-csv-entry [columnCount]=\"4\" [columnValidators]=\"myValidators\"></ts-csv-entry>\n```\n\nThis example would add the URL validation to the second column only.\n\n### Static column headers\n\nIf there are certain headers that must be available, these can be set via an input:\n\n```html\n<ts-csv-entry [columnHeaders]=\"['Header One', 'Header Two']\">\n</ts-csv-entry>\n```\n\nSetting static column headers will set the header cells to `readonly`. This will still allow keyboard navigation but will not allow the user\nto change the contents of the set header cells.\n\n### Full width table\n\nIf the table should be a single, full-width column, set both `columnCount` and `fullWidth`:\n\n```html\n<ts-csv-entry [columnCount]=\"1\" [fullWidth]=\"true\"></ts-csv-entry>\n```\n\n> NOTE: full width should only be used with a single column\n\n### Custom footer content\n\nConsumer's can add custom footer content by enclosing it within the CSV entry component:\n\n```html\n<ts-csv-entry>\n  <button>My custom footer button!</button>\n</ts-csv-entry>\n```\n\nThis content will be added opposite the default footer buttons set.\n\n### Footer direction\n\nThe footer layout defaults to `ltr` mode which lays out the default buttons on the left and any custom content on the\nright. This can be reversed:\n\n```html\n<ts-csv-entry footerDirection=\"rtl\"></ts-csv-entry>\n```\n\nAllowed directions are: `ltr`, `rtl`.\n\n<!-- Links -->\n[license-url]:         https://github.com/GetTerminus/terminus-oss/blob/release/LICENSE\n[license-image]:       http://img.shields.io/badge/license-MIT-blue.svg\n[codecov-project]:     https://codecov.io/gh/GetTerminus/terminus-oss\n[codecov-badge]:       https://codecov.io/gh/GetTerminus/terminus-oss/branch/release/graph/badge.svg\n[npm-version-image]:   http://img.shields.io/npm/v/@terminus/ui-csv-entry.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-csv-entry\n[github-action-badge]: https://github.com/GetTerminus/terminus-oss/workflows/Release%20CI/badge.svg\n[github-action-link]:  https://github.com/GetTerminus/terminus-oss/actions?query=workflow%3A%22CI+Release%22\n[file-size-badge]:     http://img.badgesize.io/https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-csv-entry/bundles/terminus-ui-csv-entry.umd.js\n","readmeFilename":"README.md"}