{"_id":"@terminus/ui-date-range","_rev":"43-06aa2154d903c7ed708139cc5e13affc","name":"@terminus/ui-date-range","dist-tags":{"latest":"4.0.0","next":"4.0.0"},"versions":{"0.0.1":{"name":"@terminus/ui-date-range","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","rxjs":"^6.5.0"},"main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0"},"description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@0.0.1","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-D8sSUzM1EJ/zqrE7P2/TSoyGOQv9xUPGeq/RlzuXMY6pOm1i7C1QwWby1U1DSDQprNRX6AxgXG6T6Xq2t1ocGw==","shasum":"2ce6207a2e2042819d54a4ee3997c3d07bed578b","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-0.0.1.tgz","fileCount":63,"unpackedSize":389774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1ePdCRA9TVsSAnZWagAAc0UP/2z91zEvMf15w0GVyiw5\nTY/fWfd2jGoMaI2sHZahwc94mVDwLIvQ8Aa0hqfmgyoYBxABUlCS3HxIVWbZ\nKVEGG/r1QaxDwS79Zp/6GU3eY5P8eFif+8WwhtRAvymMP4mspaYA9rR59SWb\n3eaIYC9WiUJTUd4QZP3pv1CgOxrV8k+UXGq7Q3D/XwgUiz5dpQcn52aCyCSt\ni1DbwSAwcwLnegiN39dCX5hiAS3BE/287+muq/gPDwNicKrCT5+oW5MnSztW\nab7GTmyt3pKn5Ux9VMOCDF7AqDzHP/evIZ9iXo9fGab8q0ca1HTpWM5q/Wjx\nXvwI+izlCd+PDQQj8pnWSO6qVU7qnHLtYyaGzS4nJgfXia39BTGdP5mt4W5A\nbQtb7yZIFvwv/Dbha9Vh2yQf7gAtjuxY4P261j9AzmjvCI3hb+WmqC981hu4\n1AnzsCZKepCsusEIsTz3sqG1WkQZ4hiCW1cFY/CqhemEpyQFkDEKlYtbOvnm\n9TkrU/vEAnaUaNZ4+54MboTtb0x+urrQcciv2+ok2d1JgyucjJDZISYb7Ilo\nDsWR5mEAjTr3vK0h506he+imypWchxahjodw5jPUsKKEcIao6WH/swSw1bhE\nHkfM762Itr4SENysgQ4qCGk0RCHqMsoABLn3hHvTRLNyqD3Psm5lS8uQ3tAo\n4kbW\r\n=C2Qv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4rSyY787Pr9uo1m6rckoAKcWcR5H/eUokJOXnORYb7wIhAKAGDAJDFHVirPRjD717f8Plt3GAy0O2q+MyIXm0bIsT"}]},"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-date-range_0.0.1_1591075804913_0.786120968611244"},"_hasShrinkwrap":false},"1.0.0":{"name":"@terminus/ui-date-range","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","rxjs":"^6.5.0","tslib":"^1.10.0"},"readme":"<h1>Date Range</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  - [Event driven](#event-driven)\n  - [Date range boundaries](#date-range-boundaries)\n  - [Disabling](#disabling)\n    - [Disable a control](#disable-a-control)\n    - [Disable the component](#disable-the-component)\n- [Test Helpers](#test-helpers)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n\n## Usage\n\nPass in the form control:\n\n```html\n<form [formGroup]=\"myForm\" novalidate>\n  <ts-date-range [dateFormGroup]=\"myForm.get('dateRange')\"></ts-date-range>\n\n  <button (click)=\"submit(myForm.value)\">Submit</button>\n</form>\n```\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  // Showing a nested example since usually a date range would be nested in a group\n  dateRange: this.formBuilder.group({\n    startDate: [ // This control MUST be named `startDate`\n      new Date(2017, 4, 6),\n    ],\n    endDate: [ // This MUST be named `endDate`\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n```\n\n**NOTE:** The keys inside the `formGroup` passed to the `dateFormGroup` input must be named\n`startDate` and `endDate`. (see example directly above)\n\n**NOTE:** If using a form with nested form groups, _each group_ must be created with\n`formBuilder.group` for the form `get` control to work:\n\n```typescript\n// Notice the nested `dateRange` object without using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: {\n    startDate: [\n      new Date(2017, 4, 6),\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  },\n});\n\n// THIS WILL FAIL!\nconst range = myForm.get('dateRange');\n\n//////////////////////////////////////////////////\n\n// Notice the nested `dateRange` object IS using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      new Date(2017, 4, 6),\n      [\n        Validators.required,\n      ],\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n      [\n        Validators.required,\n      ],\n    ],\n  }),\n});\n\n// Now there is a group for us to 'get'\nconst range = myForm.get('dateRange');\n```\n\n\n### Event driven\n\nThere are three selection events that you can tie into:\n\n```html\n<ts-date-range\n  (startSelected)=\"myMethod($event)\"\n  (endSelected)=\"myMethod($event)\"\n  (dateRangeChange)=\"myMethod($event)\"\n></ts-date-range>\n```\n\n1. `startSelected` is fired when a start date is selected.\n1. `endSelected` is fired when an end date is selected.\n1. `dateRangeChange` is fired when the date range changes.\n\n\n### Date range boundaries\n\nTo define bounds for date selection, pass in a valid `Date` to each of these `@Inputs`:\n\n1. `endMaxDate`\n1. `endMinDate`\n1. `startMaxDate`\n1. `startMinDate`\n\n```html\n<ts-date-range\n  [startMinDate]=\"startDate1\"\n  [startMaxDate]=\"startDate2\"\n  [endMinDate]=\"endDate1\"\n  [endMaxDate]=\"endDate2\"\n></ts-date-range>\n```\n\n```typescript\nstartDate1 = new Date(2017, 1, 1);\nstartDate2 = new Date(2017, 8, 1);\nendDate1 = new Date(2017, 1, 2);\nendDate2 = new Date(2017, 8, 2;\n```\n\n\n### Disabling\n\n#### Disable a control\n\nControls can be enabled or disabled via the associated form control:\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      {\n        value: new Date(2017, 4, 6),\n        disabled: true,\n      },\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n\n// Enable it at any time:\nconst ctrl = this.myForm.get('dateRange.startDate')\nif (ctr) {\n  ctrl.enable();\n}\n```\n\n\n#### Disable the component\n\nThe entire component can be disabled:\n\n```html\n<ts-date-range [isDisabled]=\"true\"></ts-date-range>\n```\n\n\n## Test Helpers\n\nSome helpers are exposed to assist with testing. These are imported from `@terminus/ui-date-range/testing`;\n\n| Function                 |\n|--------------------------|\n| `createDateRangeGroup`   |\n| `getDebugRangeInputs`    |\n| `getRangeInputInstances` |\n| `getRangeInputElements`  |\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-date-range.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-date-range\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-date-range/bundles/terminus-ui-date-range.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-date-range/bundles/terminus-ui-date-range.umd.js\n\n","readmeFilename":"README.md","description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.0.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-AtdKUjW8chk05q9ggZIm/sDcVOLCKeRApnixfbMR5QLW9wP8kkvxw05B+IXOFwJ9pZXwYPIgjy5r9fO4HRjgdw==","shasum":"a20c6c9bfe38806cd4ef7e467faa0b65d2997920","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.0.0.tgz","fileCount":22,"unpackedSize":39249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2T0jCRA9TVsSAnZWagAAT2sP/1SEzAR1ZcynytfUw3C0\nuPs/7hMaLEMWPsDRPug98z3Eh1rD0GvCabaBc/BYzMWkZSIYihD+9N5d2h1D\nI7YEqbUf9pg5uWG+YShGD1JJw5L76TL09g+7veYT1LCVVVN+LG0/NCrDiDjX\nJG7WxoW+MqcTOaUDiDdC0OqGJRdF7zkKoY1LHXvxAKic1kHgfRFGOm6em8PM\nTiOh4H6YUNwJ+XtOF05ePVc/DPQQw/6pPCTlbWDPxBEvwRcQHqZu6mqmW9ld\nogElaji9DGRl7rvJEf8iQDRRuyZmkm6LI8BWfLQ87SYX2Yf3raachmBWt9P9\nC6uj5HCwndJe5twfOWgYLD7YP98kuPctcFpohBXnoch+x6sMUcN4KkjPaGC6\n134/5Ud4gfhwGJbnDi/D205AyFuz3kW1EzXjXB4o/J0SkDDYan5kGSX6WE68\nx3/0QNUMpfY2AP3kZWh+DmLZjn2W3MI45ELznj6ZHDDmJqtHCMKnpKjExlOt\nvkmJU3DJn5gPxypISbBI/3resFejdVvbnu4qOa67QcbDqjYuruLkVpcYeeTZ\n2YvEGCFv4TOmLjWShNGicqOHglACE8qhJidvCKBG8GkKHBGDObYFIk8uaXJG\nnTeTMkNsVAunda6QyC6g+7REAUHBK7DrK80KozYG1wY9Kaz+PuebbiANfGPj\n+vKK\r\n=gAfK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHr94dcVnUtdJI9rzU84Ut+ffktkVveXHfNMRN0p00hOAiEA0vntBpsu9EVk7HxkYW3ovKS8ZLZM900mbbqtJaTu5tY="}]},"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-date-range_1.0.0_1591295266733_0.7420222839375095"},"_hasShrinkwrap":false},"1.0.1":{"name":"@terminus/ui-date-range","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","rxjs":"^6.5.0","tslib":"^1.10.0"},"description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.0.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-gMTEY4rfVNWu+bxVzqSdtPDxKgkllpbDOx+qFpcD2MUnLlnVT4Oz7nWoNEeFIdSzvAQsJvaljyGwgrUuJKoJUQ==","shasum":"fcd92ec15b5dace46787466d0a14b2d21565be96","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.0.1.tgz","fileCount":23,"unpackedSize":39303,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2ataCRA9TVsSAnZWagAA4EQP+QBmO0dAnNnj/uvOzCFK\n8cZw1iwzyAY9zEWSe9OWppPepCnoZRzno4bFqhE7yrzmAqJ7uId8Eu1KS7J5\nWTV3P8T9qjoQ22eJVWplPcvDERda77jVA35CNiBnekZOn76A+l///ICRjdqJ\n42N06tQtiIaSm/DYGjFCAuPLf3WZILTIjBJsED3GeDnPA/LfHmF/96TqjzgK\ns+UqHlpTRLqkr06+b4Af14HmFLb0XXJZA48tP9yWYLa0oNkT2IxYpscCll5r\nRKAaroBhxX/p673Mtda2fHvPnAsxxhEdww55rg29ReA0YR6K1uQ1Xy5J4Y4A\n3lXOCmxMtNsLuWg7rjj4xB4sPZB1K4/dNiHuBUA9Qa8iKWfBToVBitpS6AbQ\nJPsvbX6wuHsJJAt6nIcmQ43scFzy7fk77GeHAEDas0olQqb9fI8icaFWcVcC\nKHi2Q+wYEhNlWlkox0qUZ+LkI4f/iWujBOdM7WTMG3+GQmTyjVPkw6wNtKeK\nWQnBBZ8MtJLIVGazEFOh9Z+2V/qSbACj5mXJ+mCHgL5pW9W/WgWPCcERTNIB\nTlhvz5Rc/+FNGtw2fmjEIBbhf91N+GnRA8vTRnk8PDsMS5FkuGRI9R6zsWmZ\n7S74kRmDKsx+8hbyixM7+5iRjDxuL+FWV29mXT0LDYUWNSvZXz6WkrV6n455\nVV4a\r\n=s6v0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGj6memR0fJODRHtiC6JUUeoVtQ2roLmvN6+lR2pV+BwIhAKplL9yfzezalH88nxsE+1AlZsonITcsxoIl3Eifpjnr"}]},"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-date-range_1.0.1_1591323482196_0.7770006930273192"},"_hasShrinkwrap":false},"1.0.2":{"name":"@terminus/ui-date-range","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/date-range"},"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","rxjs":"^6.5.0"},"main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0"},"readme":"<h1>Date Range</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  - [Event driven](#event-driven)\n  - [Date range boundaries](#date-range-boundaries)\n  - [Disabling](#disabling)\n    - [Disable a control](#disable-a-control)\n    - [Disable the component](#disable-the-component)\n- [Test Helpers](#test-helpers)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n\n## Usage\n\nPass in the form control:\n\n```html\n<form [formGroup]=\"myForm\" novalidate>\n  <ts-date-range [dateFormGroup]=\"myForm.get('dateRange')\"></ts-date-range>\n\n  <button (click)=\"submit(myForm.value)\">Submit</button>\n</form>\n```\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  // Showing a nested example since usually a date range would be nested in a group\n  dateRange: this.formBuilder.group({\n    startDate: [ // This control MUST be named `startDate`\n      new Date(2017, 4, 6),\n    ],\n    endDate: [ // This MUST be named `endDate`\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n```\n\n**NOTE:** The keys inside the `formGroup` passed to the `dateFormGroup` input must be named\n`startDate` and `endDate`. (see example directly above)\n\n**NOTE:** If using a form with nested form groups, _each group_ must be created with\n`formBuilder.group` for the form `get` control to work:\n\n```typescript\n// Notice the nested `dateRange` object without using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: {\n    startDate: [\n      new Date(2017, 4, 6),\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  },\n});\n\n// THIS WILL FAIL!\nconst range = myForm.get('dateRange');\n\n//////////////////////////////////////////////////\n\n// Notice the nested `dateRange` object IS using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      new Date(2017, 4, 6),\n      [\n        Validators.required,\n      ],\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n      [\n        Validators.required,\n      ],\n    ],\n  }),\n});\n\n// Now there is a group for us to 'get'\nconst range = myForm.get('dateRange');\n```\n\n\n### Event driven\n\nThere are three selection events that you can tie into:\n\n```html\n<ts-date-range\n  (startSelected)=\"myMethod($event)\"\n  (endSelected)=\"myMethod($event)\"\n  (dateRangeChange)=\"myMethod($event)\"\n></ts-date-range>\n```\n\n1. `startSelected` is fired when a start date is selected.\n1. `endSelected` is fired when an end date is selected.\n1. `dateRangeChange` is fired when the date range changes.\n\n\n### Date range boundaries\n\nTo define bounds for date selection, pass in a valid `Date` to each of these `@Inputs`:\n\n1. `endMaxDate`\n1. `endMinDate`\n1. `startMaxDate`\n1. `startMinDate`\n\n```html\n<ts-date-range\n  [startMinDate]=\"startDate1\"\n  [startMaxDate]=\"startDate2\"\n  [endMinDate]=\"endDate1\"\n  [endMaxDate]=\"endDate2\"\n></ts-date-range>\n```\n\n```typescript\nstartDate1 = new Date(2017, 1, 1);\nstartDate2 = new Date(2017, 8, 1);\nendDate1 = new Date(2017, 1, 2);\nendDate2 = new Date(2017, 8, 2;\n```\n\n\n### Disabling\n\n#### Disable a control\n\nControls can be enabled or disabled via the associated form control:\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      {\n        value: new Date(2017, 4, 6),\n        disabled: true,\n      },\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n\n// Enable it at any time:\nconst ctrl = this.myForm.get('dateRange.startDate')\nif (ctr) {\n  ctrl.enable();\n}\n```\n\n\n#### Disable the component\n\nThe entire component can be disabled:\n\n```html\n<ts-date-range [isDisabled]=\"true\"></ts-date-range>\n```\n\n\n## Test Helpers\n\nSome helpers are exposed to assist with testing. These are imported from `@terminus/ui-date-range/testing`;\n\n| Function                 |\n|--------------------------|\n| `createDateRangeGroup`   |\n| `getDebugRangeInputs`    |\n| `getRangeInputInstances` |\n| `getRangeInputElements`  |\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-date-range.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-date-range\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-date-range/bundles/terminus-ui-date-range.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-date-range/bundles/terminus-ui-date-range.umd.js\n\n","readmeFilename":"README.md","description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.0.2","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-/0TZA52KUFXaMQdzCYTKszDXhbrkKaNYIY7HgP4VqKXhtbHGIH3FX0CkRN6YnJPV18v9//HGAH/BUe3kJwD/gg==","shasum":"5689e1d415ed5be38a9ceca672c4abfdc5332657","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.0.2.tgz","fileCount":64,"unpackedSize":390202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4Sw4CRA9TVsSAnZWagAAnE0P/2Ov2rCLczdAh4x/y1Oj\ns1dGjatA3uyGVznnJ9KvwUNeLSHLkzFQwUcOa9YvnVHR2TnNitwVEpjsGJ/i\nF+xAQOzQmJIuT8r7OxQSBpmHYqY9p7D+J3hzukP0u7ItQhTnJWclEs5J+CHz\n2JUYxhWCpuJ99W527UbyCdJNT0sifQTWLkTLHL8YjobQIlonALQtI1gmZnOP\nhmk9Dx3nLAU2ZUsl+Im/MuVGPfXF9McHGGUemVTROZFFmw6+avvHCqeGoJHK\njfqlTri2k/q3B1mIKMNRoUVRaBbzn9sk9Ups/5ebvusUljpxgSV4O/cu1a2H\n27VXUt86u0kg9UC0okRwHxVobRCRr9mTQq09h1y8D6D4obadegDs0Wn3Q+zj\nlVfMPuL/YFweIk+EE4rPkO6pD/GgZZJTQ63uy5nKv5M/FGZS9dXS7cg+rcOM\nD1vr1MU0q6MTaNJUpYNSmPy1ZGIiVAIgRTXoGw+/fUZn/MmtV3pb1Sm8QAIN\n6lQ/D3jtVt1RDBm4OIFf0/6uU0NelIln41/wgguD0UoyD6NV2A5roiPZXXDM\nL9BuoBhb5YvdkytqRZTkxM7K0rNkUSavfAe0rVGZFRg8s4j9zYuY/VP3l/yT\n4zE1V7/KtKhU3xEX/6k6JIGUICPfGfZ9/y38YjYiWFlO45SAvOO5s6sZCq2q\niZEx\r\n=2WaF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICK7BfTYdMuZ9A4gpECw4fWhi/eM9Q1RqsKEE1y9ebmhAiEA4oq+7JhGT/hPJgLMiVhY5QlGeAS45j0VUwICJne6LVI="}]},"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-date-range_1.0.2_1591815224083_0.6673898203495052"},"_hasShrinkwrap":false},"1.0.3":{"name":"@terminus/ui-date-range","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/date-range"},"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","rxjs":"^6.5.0"},"main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@terminus/ui-utilities":"1.0.3","@terminus/ui-input":"1.0.5","@terminus/ui-form-field":"1.0.5","@terminus/ui-spacing":"1.0.3","@terminus/ui-validation-messages":"1.0.5","@terminus/ui-pipes":"1.0.3","date-fns":"2.14.0","@terminus/ui-icon":"1.0.3","@angular/material":"9.2.3","@terminus/ui-validators":"1.0.3","@angular/cdk":"9.2.3","text-mask-addons":"3.8.0","text-mask-core":"5.1.2"},"description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.0.3","_nodeVersion":"12.18.0","_npmVersion":"lerna/3.22.1/node@v12.18.0+x64 (linux)","dist":{"integrity":"sha512-6BwFhXBZiyYGH+420kA7Tc2lf4dIPfT5J38uwBranSxv5p8JLtcZHkU84bzweA91CSsa8P5WJYml3oHfBzfA2w==","shasum":"1dba29dd86cb9fd6145406018b1a0a13b49971c1","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.0.3.tgz","fileCount":65,"unpackedSize":391930,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4j0jCRA9TVsSAnZWagAA6fMP/RzQ7XsbKBFCzG+/QhSp\nKOyFMy1QYklUyZOFtkgceFuIAPA53ZWHPl0Fb31TqoreKWD4dnDYzYxjCDki\nmMbMhrcVrIXf4B1gZrdeoGsJgIFa5YR4dpiGRslyouzC9zpUjiARktYoeQXv\nm+xN7p2RL3KHcgJ/ihyn6oIzAfEbuqXMaFTjSByc7ughoowmtBnAXnEZZXVO\nwlHJxja6GHYnJrqmyQF1yC1BNRo/mwpJilnFJDDtBxvDryeSEy2p7jc/+L9h\nES3EK6OtzF/Uglx3GaCLQaZXBEro5fF3V/AjEZROhekdGmKEPuGa6s1btFOj\nmh5XLdJ+wGfcV0QgOa7fIpPiCpKLOWMK/jkIKBx5G4LSibbhrUGbKpcmpopC\n+44RAHXU3IKtIZPVhEI6UmfAoyllOIRV5OxwjkJN7lQHcsvjK3jGWjwK1K6R\nEZwEWF0mCA4pvCd0v/QAhiL3Rj5jMbqZu3lohgR4s4dSoy8kWFxLHpuKOSjj\nbH03kirqqfXZWbZ+hCFuQGgL3z13pNpm1RnkkURuTD9qHidAvjmH9upn/jqp\n4W2UFT8wLnHR9JXehFeIpjBm2uWH0eSqsA4/4t5KXgz5xq4sERG6u/XwtIC/\nhn6KgODq551kM471jTwBAKiMa1zKGq1PxkVBr60FjhqM0IkDlB3NFoMYnxTj\nI2d6\r\n=m26G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgDKWALaYEvoMBwUl+DfgROZ0MOuVZyGPXlkHE0l81iQIhALcnY2L2I5udpEbU7dfbEGHuz2xt/VzLEKi7kg0EXuFA"}]},"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-date-range_1.0.3_1591885090943_0.8985277598246699"},"_hasShrinkwrap":false},"1.0.4":{"name":"@terminus/ui-date-range","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/date-range"},"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","rxjs":"^6.5.0"},"main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0"},"description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.0.4","_nodeVersion":"12.18.0","_npmVersion":"lerna/3.22.1/node@v12.18.0+x64 (linux)","dist":{"integrity":"sha512-6028fGCrRPHeOdlx8Zd46GMrsXWjg3fMnbBm0Jx3vIDvFZS5o43iXYX2LCCJHqddfnpr8TQ00GNDUervG9/Y7A==","shasum":"7d665ac7df5b0ee65c452f30c532802bf7abde29","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.0.4.tgz","fileCount":65,"unpackedSize":391560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8iEhCRA9TVsSAnZWagAAc/MP/1Kb1e6zHBtK0DwLfUmd\nR0+7622XMDcYV1FOJved+NhztEElZv4yiDEw23JQXTLxbBSg+PhEdItoOJrW\nhMKtT/ee8yCKNU14HLZAf0BEOI/5ivE+sVEV/lzBXxHHGSL+FgTYcGSp39tH\n3HqEVYjoNBsXGmTdrA5E4S3lryvvm6N3Fkv7Hnqk4tBVd+SDt4eoPgQuPNVE\nMiVLsKYJHeAyIgc/MsMPU4rdL26sqYzQPSidYAs2n6edQ/HaSwXrn3O1MdxJ\nivQ9mePmBSQuAspmgryQG6bi1bU0zqsiYEkhFLmjpzVMl0h3hcH0JFF340DA\nLD/yYhls5qEt368aUvq8U1xgQ5NONfPLvsHyZfLVGfJCZd1nQAthRkOnl0OZ\nVrA7xGiUth9XswEoKLI1VG5z0d9+OQrQ1mW1/2fFYQatakUhqzKzaA1oFVOi\no9y6uUTbc/1ax0D2ZJL8sNO56ERk08AGARsVHV5IdvLKsLOgodzeBVBmJWzu\nPKg2jAWWZ5CwNe+1k5grmXnjKvCp5UqCzx49mvTcSjZzEZvUquifWUdcZtzW\nD+Bf9BoIGaqGxRAoj64QX0IT1P1Q2CpJMC/GS7N+l+lSl4zJzJKGgAc66PpE\n4lvnMGDCD63rI+d5JCCELA7bzKaOsy0TKM2/F8jcwRV0dwZqcDzD716nx21N\nKev+\r\n=LiLD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC9xx8pArTBBSiuRVVjgwYUK0uZ/PnfUAfApr7eL1itPAiAVQyA1iT9hJ6jt/iNY+840r/E/MGYz3dGgfPq0CBVKyQ=="}]},"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-date-range_1.0.4_1592926497004_0.760144693127792"},"_hasShrinkwrap":false},"1.0.5":{"name":"@terminus/ui-date-range","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/date-range"},"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","rxjs":"^6.5.0"},"main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0"},"description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.0.5","_nodeVersion":"12.18.1","_npmVersion":"lerna/3.22.1/node@v12.18.1+x64 (linux)","dist":{"integrity":"sha512-iOij9E1g2bEomBKr/YI1lBWf9PVPq0++yfN57o7jFrqNJ8O5taMhQurLB4ek+eDsArlfb4xSXp5AZFXJd9fbeQ==","shasum":"bb3591ac1d6d0689aa3876d75e9b1b252cc8ba91","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.0.5.tgz","fileCount":65,"unpackedSize":391771,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBJcFCRA9TVsSAnZWagAA6ekQAIFOFLmtpqEgoaqxy6AQ\n1X9SCo1D1yBVOGtKZ1gnz8DRvkTJtCAPFY83ZqmDeYKXt3k/ODSUTOH8cZet\nzPXTFlG6KaPJfKyUwBdgUTzXJ7NEt+VVseDu1HR7/CLKADPrt5sSSkD59ieg\nyubuSKOe4cYhtovhaejiDvF4UEL37gmmaWiItXmARig6alufGRiBFsvqb6Zk\nhdvs0jHLPtO7tGHPDzcwdl7la4kqXi3J7lSo8uKpsxDorSz+eb4siJR7lRl7\nWHO4qUwJmmvNCqbsCTFyZBimlwunf41ITaCn3ywTx/fmxGpiv0J0vQmjmVRS\ns+ErJZvA1AY7fgCQiKZ2gKjFtLN4IRd1owiABG6OPbjYsIAIzLdyJXIy4F2c\nacCoEjqEaXLIfhMXGAzZPt1162FYha0pndSAG1r4F8TFU01N+7Izjm8A3y5X\nRtn/nX7l31wSVE3+FjvCKKGjRUQZmLg3l4G1I8d+ic75ITP1tfd4WS5VEWX6\nbBsHikOfEg8MGU976E3/DlwEriKxEv/+NKJHs+M9qw+0jlE4IG7PRQdzFScj\nBBOwC7R4U6NxdafMHnlbXPTPi8LtScgMnUDtdhMSOfTPT64IgK5ySzz4KQtx\nA4JfiXfWCRubIQ7TsaojZSn/sLGal1f4tWKjBxBUas4n+OKPHYwhhN1chaD9\nm62F\r\n=GG+5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjYGRrSf2bGmOfS5zWiVnLVrelXkXWwHiMuGxzWBcW5gIgIXBqR8cW7kfvUpQn7qcQvG07CVu6phnztV36ik0162s="}]},"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-date-range_1.0.5_1594136325099_0.6154592353369843"},"_hasShrinkwrap":false},"1.0.6":{"name":"@terminus/ui-date-range","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/date-range"},"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","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@terminus/ui-utilities":"1.0.5","@terminus/ui-input":"1.0.8","@terminus/ui-form-field":"1.0.8","@terminus/ui-spacing":"1.0.7","@terminus/ui-validation-messages":"1.0.9","@terminus/ui-pipes":"1.0.6","@angular-devkit/schematics":"9.1.9","@schematics/angular":"10.0.0","date-fns":"2.14.0","@terminus/ui-icon":"1.0.6","@angular/material":"9.2.4","@terminus/ui-validators":"1.0.5","@angular/cdk":"9.2.4","text-mask-addons":"3.8.0","text-mask-core":"5.1.2"},"description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.0.6","_nodeVersion":"12.18.1","_npmVersion":"lerna/3.22.1/node@v12.18.1+x64 (linux)","dist":{"integrity":"sha512-33RQCNFzWoa6r7hh3dBBUk5nF+llpUiv9nhHkBW5oScHiHP9tlKO7DfBP2PyeFpvLdLq1M7x86gAIPvpru729w==","shasum":"3895df70157e4ebf0f7737fd5890e926814f8616","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.0.6.tgz","fileCount":65,"unpackedSize":393627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDLTICRA9TVsSAnZWagAAWK8QAIMLj4eq3q6n2mi9dr7M\noT5vRyAv6SMhziSHg27sWLoAv65HaP+FGYoT+loTYzZzhbMfhN3MlJLR5vy7\nRDYovFVPLAV7LOA8//922+g1tSDeVTQOnYK/FggE5PMb4jhbVLmqDDejPJmH\nKZTa526dNEF115r429M9eT4r8y3tPNZymr/8dqiEEM8LBYdVqqHRNXa5ztgb\nOJgY//qSVika+UH4kZUrqPj0PlZbJxuDID49k6GvZFP0tCQ5YvgZ+QucbmFC\nY2iLs4PpwFtTNX9JDfYr/ni12Q2NWEdYG3GryejdbV43GmrwYywMByo+3aoA\nh/TOXDnrcbTf3dzUY266lynIfPJD2Gh2wUCf4+gsZAjtFj9djcIBHviOOBNs\nxCPdMbGefXKMDll8E8kXYyWrqE3Frtnc9ZJWonNL+JFTj0iADBm0bRKWtGj8\nQhAEH03fQEU+a9lF9RYmJTuuLnkgWMev6QgAMhQrL0gIaLzW1PXd4GmNpFxA\nF7wSKg0+Wkek3kpdDloYDU1KYdxlY+1I9wbmVioJbyd7bhLcs7RX92a7U+Hp\n/QDTnm1Vp1LzMk89pRsa2o56Due1GNW3KZE66vjCJtCoTxoBjbRqS5V5Zl8b\n5QS4hx10X0VuTRwMIHbZ3N7QxiBp+Ys5wPg6fpZQjfHqwspqVYClx38nzgij\nKC7c\r\n=5DKB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdIp1jl27OwJxYQjHjGJZMMraR4a4RoE+Dzvo7I7eXpAIgVFaEQIw7PVYz/zDkgjGyZTq5gNj7S9Bkm4hAl6zj4OY="}]},"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-date-range_1.0.6_1594668232226_0.07654953854967173"},"_hasShrinkwrap":false},"1.0.7":{"name":"@terminus/ui-date-range","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/date-range"},"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","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@terminus/ui-utilities":"1.0.7","@angular-devkit/schematics":"9.1.9","@schematics/angular":"10.0.0","@terminus/ui-input":"2.0.0","@terminus/ui-form-field":"2.0.0","@terminus/ui-spacing":"1.0.9","@terminus/ui-validation-messages":"1.0.11","@terminus/ui-pipes":"1.0.7","date-fns":"2.14.0","@terminus/ui-icon":"2.0.0","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@terminus/ui-validators":"1.0.7","@angular/material":"9.2.4","@angular/cdk":"9.2.4","@fortawesome/pro-solid-svg-icons":"5.14.0","text-mask-addons":"3.8.0","text-mask-core":"5.1.2"},"readme":"<h1>Date Range</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  - [Event driven](#event-driven)\n  - [Date range boundaries](#date-range-boundaries)\n  - [Disabling](#disabling)\n    - [Disable a control](#disable-a-control)\n    - [Disable the component](#disable-the-component)\n- [Test Helpers](#test-helpers)\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-form-field`\n- `@terminus/ui-icon`\n- `@terminus/ui-input`\n- `@terminus/ui-pipes`\n- `@terminus/ui-validation-messages`\n- `@terminus/ui-validators`\n- `@terminus/ui-spacing`\n- `@terminus/ui-utilities`\n- `@terminus/ui-date-range`\n- `text-mask-core`\n- `text-mask-addons`\n- `date-fns`\n\nUse the `ng add` command to quickly install all the needed dependencies:\n\n```bash\nng add @terminus/ui-date-range\n```\n\n### Modules that need to be in NgModule\n\n- `TsDateRangeModule`\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\nPass in the form control:\n\n```html\n<form [formGroup]=\"myForm\" novalidate>\n  <ts-date-range [dateFormGroup]=\"myForm.get('dateRange')\"></ts-date-range>\n\n  <button (click)=\"submit(myForm.value)\">Submit</button>\n</form>\n```\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  // Showing a nested example since usually a date range would be nested in a group\n  dateRange: this.formBuilder.group({\n    startDate: [ // This control MUST be named `startDate`\n      new Date(2017, 4, 6),\n    ],\n    endDate: [ // This MUST be named `endDate`\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n```\n\n**NOTE:** The keys inside the `formGroup` passed to the `dateFormGroup` input must be named\n`startDate` and `endDate`. (see example directly above)\n\n**NOTE:** If using a form with nested form groups, _each group_ must be created with\n`formBuilder.group` for the form `get` control to work:\n\n```typescript\n// Notice the nested `dateRange` object without using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: {\n    startDate: [\n      new Date(2017, 4, 6),\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  },\n});\n\n// THIS WILL FAIL!\nconst range = myForm.get('dateRange');\n\n//////////////////////////////////////////////////\n\n// Notice the nested `dateRange` object IS using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      new Date(2017, 4, 6),\n      [\n        Validators.required,\n      ],\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n      [\n        Validators.required,\n      ],\n    ],\n  }),\n});\n\n// Now there is a group for us to 'get'\nconst range = myForm.get('dateRange');\n```\n\n### Event driven\n\nThere are three selection events that you can tie into:\n\n```html\n<ts-date-range\n  (startSelected)=\"myMethod($event)\"\n  (endSelected)=\"myMethod($event)\"\n  (dateRangeChange)=\"myMethod($event)\"\n></ts-date-range>\n```\n\n1. `startSelected` is fired when a start date is selected.\n1. `endSelected` is fired when an end date is selected.\n1. `dateRangeChange` is fired when the date range changes.\n\n### Date range boundaries\n\nTo define bounds for date selection, pass in a valid `Date` to each of these `@Inputs`:\n\n1. `endMaxDate`\n1. `endMinDate`\n1. `startMaxDate`\n1. `startMinDate`\n\n```html\n<ts-date-range\n  [startMinDate]=\"startDate1\"\n  [startMaxDate]=\"startDate2\"\n  [endMinDate]=\"endDate1\"\n  [endMaxDate]=\"endDate2\"\n></ts-date-range>\n```\n\n```typescript\nstartDate1 = new Date(2017, 1, 1);\nstartDate2 = new Date(2017, 8, 1);\nendDate1 = new Date(2017, 1, 2);\nendDate2 = new Date(2017, 8, 2;\n```\n\n### Disabling\n\n#### Disable a control\n\nControls can be enabled or disabled via the associated form control:\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      {\n        value: new Date(2017, 4, 6),\n        disabled: true,\n      },\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n\n// Enable it at any time:\nconst ctrl = this.myForm.get('dateRange.startDate')\nif (ctr) {\n  ctrl.enable();\n}\n```\n\n#### Disable the component\n\nThe entire component can be disabled:\n\n```html\n<ts-date-range [isDisabled]=\"true\"></ts-date-range>\n```\n\n## Test Helpers\n\nSome helpers are exposed to assist with testing. These are imported from `@terminus/ui-date-range/testing`;\n\n| Function                 |\n|--------------------------|\n| `createDateRangeGroup`   |\n| `getDebugRangeInputs`    |\n| `getRangeInputInstances` |\n| `getRangeInputElements`  |\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-date-range.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-date-range\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-date-range/bundles/terminus-ui-date-range.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-date-range/bundles/terminus-ui-date-range.umd.js\n","readmeFilename":"README.md","description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.0.7","_nodeVersion":"12.18.2","_npmVersion":"lerna/3.22.1/node@v12.18.2+x64 (linux)","dist":{"integrity":"sha512-mjtEpYhaTbWTde/wmU6AoOrj8Aw0EgLV/LYCNxPh1m9fR5PK4h1FwzYz9Cg1/8npiOM/aZiFTKJOD/vdP40ZqA==","shasum":"1527f6790965450c3ad998dd6d419b40160b3dc8","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.0.7.tgz","fileCount":69,"unpackedSize":397105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHy2GCRA9TVsSAnZWagAAmGIP/11Ai17Y/Sz2rtkX6FlL\nShSCPifWNsZMG3wLsYje+4+OOiSXFZjtPeeZ1N5UWuh3Jjc8rW94e0Ji8JzS\nUf2Fo+3b6gYp/JfwS5ObmyYQng4JhQcSpj3bS6cW/stmSP/L32iKOCafWYhN\nABEp4iqmHGtmST8N2W6qEzg8np5QdN4bjbl7YJQGuKoisN8mn3Eo5RCeczph\nDG1w5zwISpAfZXbgDGYMHaPLX96oKcVIOFMERos7qYTGd6HgIUDVWGFP4cQ2\nzz4y3mQttz5Ifch0PWkDx4PtuGjAJWMCoxSBPrdGRyqs+TsTwiWjHlexZqzj\nZi1vodah4iXi1Fn5jU/7EyRch6JSzv28/sK+lAeq1yhjdnTLcb9MmewKGRB2\nQKBNZSjoLDXZYIXL4Q3qCSyAM6VTNC3Uwg7MaYqS6hLry/U0dBB7INIPAqYT\nxKobRtS3nkib2c76pyuI6BlDM1GWjVahZbfpz1eIz2U8E4KcS6Tz4xY13A80\nG1xn3Z6dE7A3b41nKcl8USwFSZNe31BaY9RVrwkD0tFO7fXAaqVd3xP2Q+PD\nNNBA7aHTr1aL0s2z6sE4z6qQXgxyHO/KwZdB3frvLfJca/tgNIfWS1/w8Q19\nIz6IOTREbEpfwpPWgkg7uBaV0hjdtWzTnDo5cJzNVj36i+GDY1soRpEdNzvv\nH7aJ\r\n=FzIe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDq6mpHRczv1jr7M4QQgZ18wj4Liw+9ZlfSRj1Kdhuw1gIgC8vwCvaBVWDXnev430WNOEZc2nDAqWWSVLtE0bZJXC8="}]},"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-date-range_1.0.7_1595878790392_0.06132985780180311"},"_hasShrinkwrap":false},"1.0.8":{"name":"@terminus/ui-date-range","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/date-range"},"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","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@terminus/ui-utilities":"1.0.8","@angular-devkit/schematics":"9.1.9","@schematics/angular":"10.0.0","@terminus/ui-input":"2.0.1","@terminus/ui-form-field":"2.0.1","@terminus/ui-spacing":"1.0.10","@terminus/ui-validation-messages":"1.0.12","@terminus/ui-pipes":"1.0.8","date-fns":"2.14.0","@terminus/ui-icon":"2.0.1","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@terminus/ui-validators":"1.0.8","@angular/material":"9.2.4","@angular/cdk":"9.2.4","@fortawesome/pro-solid-svg-icons":"5.14.0","text-mask-addons":"3.8.0","text-mask-core":"5.1.2"},"description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.0.8","_nodeVersion":"12.18.2","_npmVersion":"lerna/3.22.1/node@v12.18.2+x64 (linux)","dist":{"integrity":"sha512-HaNyMoxi7nU77dGDiU9v5TW5GLxCDNX6VxIJzPOAu2mAYZBOptrRyJvmlEZGhhLXHx/i7TePDo/Ep4Q1T6XVJw==","shasum":"ec7dd9716e8003a1e9bf515d9fef6affa8fd1555","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.0.8.tgz","fileCount":69,"unpackedSize":397401,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIEQ/CRA9TVsSAnZWagAAhrYP/iXGmWZfutWG5LalV+P1\nAWVSxYBXm1YF+vfa03FISv8c7ME2vrzONwwVaA/eYxIhPmOH7oMzzPHvCZMk\nr642FVMbXvmAMtiUDtD2eGycjh/2GoFWQpMfCSNxnsGkGWtH/AIfdN6xiBBR\nfGW4WFOTXxxFmb85BHCr1NLwv82/Q8suhKOvUwd0MXQtTbLK1Uvij5LKjEcI\n1NlR4BgtMN8IosSjLoHK6Ff/y7BqZ3dYuPlZ7d117WhzHLAJa4wm9EE2wK9I\nGruZgle8jgkWavbHNLqEG4G6MHGbTe0LWzIfWGNpyWdYxGJ0SJLzSrC+LvFs\nUMDOJyEGTIaHbZ1fg+bJogN+YJF+AenOQ6LKVslzO+2w4eH+YUlEzBXR5v2I\nsKWsDjdWKyi8wjSbbDr+Cq9bwmZAJH8ws/ThOKYKRbgCtYwO7yLO4Z0FOClE\nKl1hD637wvdNvlnbumGDfxz7BHmLhp8v9dP6kRUnQuu8gds/vrdAbw5Ihscq\nkvaSHzblJVxC2Ocpy5e8tyr+9IPVEbMwkLjuRqw1U4oXKHhye2f0inhJbgZv\nBEy9sdsFcbyzYadLtwuqYh4Kr7D6rBLULTlH3QMzwLUMK1hK2NWKujp2gaLf\nJVfahH31YLc5FOFk+36RzKTTs2hAIVoLVJlCW5SPgsWnnGoM2hQThhjSDdiJ\nORfF\r\n=m1dK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBpckV42AVnn6QR/N5DrqMH16OhjnOi6f7Q3eKx72PeEAiAuOiwv0WzjbxE8Iv4hLp2QPDnjhn/I4ObcMIffrQAf+g=="}]},"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-date-range_1.0.8_1595950143314_0.30686498662387174"},"_hasShrinkwrap":false},"1.0.9":{"name":"@terminus/ui-date-range","version":"1.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/date-range"},"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","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.14.0","@terminus/ui-utilities":"1.0.9","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@terminus/ui-input":"2.0.5","@terminus/ui-form-field":"2.0.6","@terminus/ui-spacing":"1.0.11","@terminus/ui-validation-messages":"1.0.14","@terminus/ui-pipes":"1.0.9","@terminus/ui-icon":"2.0.5","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@terminus/ui-validators":"1.0.9","@angular/material":"9.2.4","@angular/cdk":"9.2.4","@fortawesome/pro-solid-svg-icons":"5.14.0","text-mask-addons":"3.8.0","text-mask-core":"5.1.2"},"description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.0.9","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-JfewlheFateD/ikgbMUaHBw7fNwFwuy2geTvvIIYA7uL3XWW2hjsMmCK4tw0qcTX+e2M4q6PrwXL7t8I/UNwkQ==","shasum":"27309aa641eb154e8918b4594a3f83923a0459c4","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.0.9.tgz","fileCount":69,"unpackedSize":398309,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJCP/CRA9TVsSAnZWagAAZQIP/i2UDwi5CrYrW9ITeTBO\njcf0Iv7URi5UYjcqX5ILMDw8Ka9V2989fg4miae/TyQESPLJP0NDGnrZUyZL\noq8qKydC8lllHP/AJKQ5Rke+GPyR57r3H1aBVoxbYpbtDBcf5zaEvMJwhp1T\nLWDjrdKqTcktjK7j6wZ9YU3l62a8oexY6sECnPUYaBteo/VSxlSpaf8074gD\nLOay2jtImmmjkq2HVtrOeCVusxVBLmzm3affSVELRm8200/UabCKEcTXzxyT\n9I5Xwo8FrJP4S1OVO+DZDO9q3fepi4TBdrzFfX2g/lF+2urZdoxf4XLHeUIL\n51AvIFhzBIsyWdFykUfTz00+slNvMvDvJwbnZ5meZQfJhADtH9ZbbMa5XtuF\n8/X+IfFtxaSD7R63kO2ME0sy38iOP8wNM+MwhrF1w0hFO7Mf97v4k/2HCFPr\nMe9tFKm9kH5x5cUsP7dR3LD9TOw05ZS7t9uJlpQO+53etF+Mt7p/Qfj87CG3\nIi9tVhRq6SHpL4TED+tow5Mh8VrFOAEzaV5c52j8c/1P0cJERC3vqImQECvZ\nOaObsWaf0L9dxwyVxew28eN7owKMdwL+UarPSY0JArcJxA9eycI4pWuqjjVo\n7Ha9KUC6IU2SxiGgQ0VEg63aVRFV86pOzxMOVm+NLawezne8oR/2coeUXTKE\n42bB\r\n=+dgj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF/s5/jIMzhkJAtibWHwJkAaSh8+CcaqcCOCe/8aGHGEAiEA/pkgo09z4RsYV6j09Na/0VkhXoNOCwU0oMb7SiCLbng="}]},"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-date-range_1.0.9_1596204031361_0.24313469514498776"},"_hasShrinkwrap":false},"1.0.10":{"name":"@terminus/ui-date-range","version":"1.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/date-range"},"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","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@terminus/ui-utilities":"1.0.10","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@terminus/ui-input":"2.0.8","@terminus/ui-form-field":"2.0.9","@terminus/ui-spacing":"1.0.12","@terminus/ui-validation-messages":"1.0.15","@terminus/ui-pipes":"1.0.10","@terminus/ui-icon":"2.0.6","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@terminus/ui-validators":"1.0.10","@angular/material":"9.2.4","@angular/cdk":"9.2.4","@fortawesome/pro-solid-svg-icons":"5.14.0","text-mask-addons":"3.8.0","text-mask-core":"5.1.2"},"description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.0.10","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-hzmveBieBDl2lemo2ZMrS3EcaSnAkyxfClPrCv6KoJ7ULgDhFGa3IuiAZn6hzvvvS+qG3lNuC8n/j735Kim0Ew==","shasum":"d64689f17fe883476f44ef42f8eb146d37389d92","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.0.10.tgz","fileCount":69,"unpackedSize":398525,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMXPECRA9TVsSAnZWagAAEMoP/iCEDPoSG2BDPJk6M3Ps\nJGh76fLbU3MCmdM2MPo9l6arrLtu02mQXaAra4hnmNcjCGayK80QlWRsv9p9\nC4mOqPwwW5Uo/WiCcMjVllui8MbF8X0Am42OO8QtouCGHe9O7jIVYvCTO7xT\nUJus5CT1O8l8qPQMIalu28Hu++OLNAJDYGMwQqrFG1IqEmPYbFewBIvS+Vsb\nExVIQx/wT/otyyWoxOLrdzzeXESHSOdUG8waZcT/qq92LjXEsbXIN0sIA66R\nj0j3qJctzUv3dk6V9SLp53zie7GY8RRBnuMRGcltuXHPV2Xyf8JEVBRukvqo\np6o1Dz6oJHTMkCgYEW3sw8kPCRuHQObnIA1EVf9AiVVx14Lm4eJkUdtk8jtE\nrjD94bfuVwZV1hndkWemgwTz8ZwKGASesteWmQVx6AmGTpZuMjA1OD7yjXrH\ncN3O4mczMc5k8I7fuSdwXvQCqwf4u9mmHwilLDqwCb74sSwyXcsa1cBNlTR8\nme85SW+eqTmhxd1hFWbN7tyLnnPmWKUQmv1FBgPB72D5yRBbn/vqDtsj57X4\nohzKl6ss59XMJP2TjX2IllygjYwkhq07MwneBQBjkscIrIZA6vQlO3rn8dzG\n+/ioru0eDW6FMf0d6Lk6TWFLR2iG9lKnRepO0MNyiAlgZquNnPC5paNilBNQ\nZdl0\r\n=WlQc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdtvOZoqh4ejE4aEOYoKm1ee/WYdftvAUujz0vGfNz3AIgWW6J0EHVHHM8oCy7DVO1hR8tDY2JXP3c8tLYHyryY7E="}]},"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-date-range_1.0.10_1597076420033_0.9194081622942996"},"_hasShrinkwrap":false},"1.0.11":{"name":"@terminus/ui-date-range","version":"1.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/date-range"},"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.1.0","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@terminus/ui-utilities":"1.0.11","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@terminus/ui-input":"2.0.8","@terminus/ui-form-field":"2.0.9","@terminus/ui-spacing":"1.0.13","@terminus/ui-validation-messages":"1.0.15","@terminus/ui-pipes":"1.0.11","@terminus/ui-icon":"2.0.7","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@terminus/ui-validators":"1.0.11","@angular/material":"9.2.4","@angular/cdk":"9.2.4","@fortawesome/pro-solid-svg-icons":"5.14.0","text-mask-addons":"3.8.0","text-mask-core":"5.1.2"},"description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.0.11","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-hShd3rmc1VNEfDT30eW3k6wfc6v9TihPcYpem5grG0a6e1MQWMWyv38HahLNfgg0IoaG3Pfq3DryaDxosJZYiQ==","shasum":"20cea29c4006e86cb60a746279e7cb414448c58e","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.0.11.tgz","fileCount":69,"unpackedSize":398737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMYbOCRA9TVsSAnZWagAAq8QQAI+MXdLAoD4FVhcsumQa\n9a7r0B0Ev7XLoRZVdgjW15vyFrd2ZYU0J4PmDKwzKbpYaO7vCe3gAKDZlYzD\n+mYD4BqzNBq0vVk+RlYSCeFNf1uQ9cLbwyN+JfnhBccMduaQjPJ4PZyTgYyp\nUejRSYIkxdZ9ReyUlVLHpiDsFWwrdGnjca+11rrk/qtvI7Kn8RzE0eq4ysdG\nhBVWjN7+c/iVjL9sBjyUAElW/ZCNz5YHUOevSrLmOpTo8SKKHvknfcxnxNg6\nm+BbPBAS+5wIgk/DMaoCqlfCr5HQRFOWZDgKfaYO9S6YY4zYZlGuQ4AsrVTR\nzN5MZ7xQXM2fvxIvLdWbMxYOJGrdDTEJ0H00rLPpiT+I0YA3QdMgEp6aBHK+\nq1tbNm2QLbtKJUtOMC7WkCSSoZg2VA48S8yvSlmLdOKqbK0taKejkFk0TB5l\nnTy17i/dybhNDt1PAvrY5UlLzwd7Un7dgxlXl7FyZkKKLC9QNh2i68Qq0/81\nQB3FlI4VCqHq9ASi12/L8xf5WdznxC0rkutQFywcE3WVHTG1pXEeYu1qDRkA\nnWHueSjMKqdYkS3dU+6NVKHe+on8g0VWQNBwPm7FBeFDp7ygBxeJ8HBltTkY\niqiyKMtwFI7EkUmtGTPNlhWLGJ8NhRScpSKvzCcWTZLJKw52ah9G81pdU/G5\no/jr\r\n=Znc4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEjIOVJRVVhNqhMNlz6pjB62A38IDrpiy3MJmT/HnZWgIgOV2xM4wJIjHTLVEVZyGdTWLC5lVh47mDX1TKXGu/UPQ="}]},"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-date-range_1.0.11_1597081294337_0.9416840617429432"},"_hasShrinkwrap":false},"1.0.12":{"name":"@terminus/ui-date-range","version":"1.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/date-range"},"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.1.0","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@terminus/ui-utilities":"1.0.12","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@terminus/ui-input":"2.0.9","@terminus/ui-form-field":"2.0.12","@terminus/ui-spacing":"1.0.14","@terminus/ui-validation-messages":"1.0.16","@terminus/ui-pipes":"1.0.12","@terminus/ui-icon":"2.0.8","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@terminus/ui-validators":"1.0.12","@angular/material":"9.2.4","@angular/cdk":"9.2.4","@fortawesome/pro-solid-svg-icons":"5.14.0","text-mask-addons":"3.8.0","text-mask-core":"5.1.2"},"readme":"<h1>Date Range</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  - [Event driven](#event-driven)\n  - [Date range boundaries](#date-range-boundaries)\n  - [Disabling](#disabling)\n    - [Disable a control](#disable-a-control)\n    - [Disable the component](#disable-the-component)\n- [Test Helpers](#test-helpers)\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-form-field`\n- `@terminus/ui-icon`\n- `@terminus/ui-input`\n- `@terminus/ui-pipes`\n- `@terminus/ui-validation-messages`\n- `@terminus/ui-validators`\n- `@terminus/ui-spacing`\n- `@terminus/ui-utilities`\n- `@terminus/ui-date-range`\n- `text-mask-core`\n- `text-mask-addons`\n- `date-fns`\n\nUse the `ng add` command to quickly install all the needed dependencies:\n\n```bash\nng add @terminus/ui-date-range\n```\n\n### Modules that need to be in NgModule\n\n- `TsDateRangeModule`\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\nPass in the form control:\n\n```html\n<form [formGroup]=\"myForm\" novalidate>\n  <ts-date-range [dateFormGroup]=\"myForm.get('dateRange')\"></ts-date-range>\n\n  <button (click)=\"submit(myForm.value)\">Submit</button>\n</form>\n```\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  // Showing a nested example since usually a date range would be nested in a group\n  dateRange: this.formBuilder.group({\n    startDate: [ // This control MUST be named `startDate`\n      new Date(2017, 4, 6),\n    ],\n    endDate: [ // This MUST be named `endDate`\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n```\n\n**NOTE:** The keys inside the `formGroup` passed to the `dateFormGroup` input must be named\n`startDate` and `endDate`. (see example directly above)\n\n**NOTE:** If using a form with nested form groups, _each group_ must be created with\n`formBuilder.group` for the form `get` control to work:\n\n```typescript\n// Notice the nested `dateRange` object without using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: {\n    startDate: [\n      new Date(2017, 4, 6),\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  },\n});\n\n// THIS WILL FAIL!\nconst range = myForm.get('dateRange');\n\n//////////////////////////////////////////////////\n\n// Notice the nested `dateRange` object IS using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      new Date(2017, 4, 6),\n      [\n        Validators.required,\n      ],\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n      [\n        Validators.required,\n      ],\n    ],\n  }),\n});\n\n// Now there is a group for us to 'get'\nconst range = myForm.get('dateRange');\n```\n\n### Event driven\n\nThere are three selection events that you can tie into:\n\n```html\n<ts-date-range\n  (startSelected)=\"myMethod($event)\"\n  (endSelected)=\"myMethod($event)\"\n  (dateRangeChange)=\"myMethod($event)\"\n></ts-date-range>\n```\n\n1. `startSelected` is fired when a start date is selected.\n1. `endSelected` is fired when an end date is selected.\n1. `dateRangeChange` is fired when the date range changes.\n\n### Date range boundaries\n\nTo define bounds for date selection, pass in a valid `Date` to each of these `@Inputs`:\n\n1. `endMaxDate`\n1. `endMinDate`\n1. `startMaxDate`\n1. `startMinDate`\n\n```html\n<ts-date-range\n  [startMinDate]=\"startDate1\"\n  [startMaxDate]=\"startDate2\"\n  [endMinDate]=\"endDate1\"\n  [endMaxDate]=\"endDate2\"\n></ts-date-range>\n```\n\n```typescript\nstartDate1 = new Date(2017, 1, 1);\nstartDate2 = new Date(2017, 8, 1);\nendDate1 = new Date(2017, 1, 2);\nendDate2 = new Date(2017, 8, 2;\n```\n\n### Disabling\n\n#### Disable a control\n\nControls can be enabled or disabled via the associated form control:\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      {\n        value: new Date(2017, 4, 6),\n        disabled: true,\n      },\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n\n// Enable it at any time:\nconst ctrl = this.myForm.get('dateRange.startDate')\nif (ctr) {\n  ctrl.enable();\n}\n```\n\n#### Disable the component\n\nThe entire component can be disabled:\n\n```html\n<ts-date-range [isDisabled]=\"true\"></ts-date-range>\n```\n\n## Test Helpers\n\nSome helpers are exposed to assist with testing. These are imported from `@terminus/ui-date-range/testing`;\n\n| Function                 |\n|--------------------------|\n| `createDateRangeGroup`   |\n| `getDebugRangeInputs`    |\n| `getRangeInputInstances` |\n| `getRangeInputElements`  |\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-date-range.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-date-range\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-date-range/bundles/terminus-ui-date-range.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-date-range/bundles/terminus-ui-date-range.umd.js\n","readmeFilename":"README.md","description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.0.12","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-oW1V0yGAGf2N5Z9aDnPUGAHTOfR8eYzONDmTEfVB99VElS3Evj1h4fP0DaEJFS/e2KjiMNGWNigD5SgGz4wavw==","shasum":"9e4a7d43ab079209fe0b54e5511174841de81f14","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.0.12.tgz","fileCount":69,"unpackedSize":398909,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNq31CRA9TVsSAnZWagAAO3EQAKAGXFAfuA0jHdDg1WFz\nzFD3C+2NEI57S4rBVuR1HPLbankA/8N1sUqHVZ1ViG32HWXcQG9u7beC4SKE\nqgyVxKyagHRjqIHMLS/tSqw32f5sSLKhJh6ltknmSGooIRg3peYiN7BLB6OM\nVVig/FGnxzFvqcV0QWJHn7hFIZkeTkhrfTu7cGNSGur67uKjEQySlUDDD6w+\nHQv0WaiokU2d58tduyFflt0fTscGdCE/D5eNYXYOaPjFP5NAiHfwb9ZPR3HD\n/YJkEGws9WwZ+b/ck9dfH0lGTw5Lxefr3MiDZdrhAAJvEpD+tkzWYQDKVdRk\n5BIDQGyHWUhyRAykkE6L+BXIqIMF3oDbSOwFSlox1k/iDGJHw3YY6Ffybnug\nymu8BJpua/6sF+OYPCPdYPBPhZPouEMhQQudX5I7YwAV3EbERp63/cry5gpx\nS3mdw4nmkuiCoqrMhdPJ5uirdTFjTfYH6ilv6LlReUzOKF3j3VuQNRHpEFLD\nYLrcvqC6IYasgjC4ih2I5HJFutwQvop1k1VmLzvFJWUDgs2KUR+fPalizdiO\nOBjnG8kbiJzM6SalyUUZV77LL6AKnxZnfPSWvSu1p2PUf/G2q+PQ1Tv0Cz+J\ngcKTha8mYd2rfxz+Gxk6huSc0LI+fhlk5kKYnCQ/a82YVsww2Zwm4HhtA7p7\nKdL1\r\n=Bb5D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH50kC3jU7NNfViONFUxtlzjNVeipfCNf8gbNSuCbQKDAiBtpEWzng0Y1rBF+nG+gF+1LgiL2+NMYy5bO2M2ouP+Ng=="}]},"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-date-range_1.0.12_1597418996514_0.21816554435409174"},"_hasShrinkwrap":false},"1.0.13":{"name":"@terminus/ui-date-range","version":"1.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/date-range"},"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.1.0","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@terminus/ui-utilities":"1.0.13","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@terminus/ui-input":"2.0.14","@angular/router":"9.1.11","ngx-webstorage-service":"4.1.0","ngx-clipboard":"13.0.1","@angular/material":"9.2.4","@terminus/ui-form-field":"2.0.14","@terminus/ui-spacing":"1.0.15","@terminus/ui-validation-messages":"1.0.17","@terminus/ui-pipes":"1.0.15","@terminus/ui-icon":"2.0.12","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0","@terminus/ui-validators":"1.0.13","@angular/cdk":"9.2.4","text-mask-addons":"3.8.0","text-mask-core":"5.1.2"},"readme":"<h1>Date Range</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  - [Event driven](#event-driven)\n  - [Date range boundaries](#date-range-boundaries)\n  - [Disabling](#disabling)\n    - [Disable a control](#disable-a-control)\n    - [Disable the component](#disable-the-component)\n- [Test Helpers](#test-helpers)\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-form-field`\n- `@terminus/ui-icon`\n- `@terminus/ui-input`\n- `@terminus/ui-pipes`\n- `@terminus/ui-validation-messages`\n- `@terminus/ui-validators`\n- `@terminus/ui-spacing`\n- `@terminus/ui-utilities`\n- `@terminus/ui-date-range`\n- `text-mask-core`\n- `text-mask-addons`\n- `date-fns`\n\nUse the `ng add` command to quickly install all the needed dependencies:\n\n```bash\nng add @terminus/ui-date-range\n```\n\n### Modules that need to be in NgModule\n\n- `TsDateRangeModule`\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\nPass in the form control:\n\n```html\n<form [formGroup]=\"myForm\" novalidate>\n  <ts-date-range [dateFormGroup]=\"myForm.get('dateRange')\"></ts-date-range>\n\n  <button (click)=\"submit(myForm.value)\">Submit</button>\n</form>\n```\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  // Showing a nested example since usually a date range would be nested in a group\n  dateRange: this.formBuilder.group({\n    startDate: [ // This control MUST be named `startDate`\n      new Date(2017, 4, 6),\n    ],\n    endDate: [ // This MUST be named `endDate`\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n```\n\n**NOTE:** The keys inside the `formGroup` passed to the `dateFormGroup` input must be named\n`startDate` and `endDate`. (see example directly above)\n\n**NOTE:** If using a form with nested form groups, _each group_ must be created with\n`formBuilder.group` for the form `get` control to work:\n\n```typescript\n// Notice the nested `dateRange` object without using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: {\n    startDate: [\n      new Date(2017, 4, 6),\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  },\n});\n\n// THIS WILL FAIL!\nconst range = myForm.get('dateRange');\n\n//////////////////////////////////////////////////\n\n// Notice the nested `dateRange` object IS using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      new Date(2017, 4, 6),\n      [\n        Validators.required,\n      ],\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n      [\n        Validators.required,\n      ],\n    ],\n  }),\n});\n\n// Now there is a group for us to 'get'\nconst range = myForm.get('dateRange');\n```\n\n### Event driven\n\nThere are three selection events that you can tie into:\n\n```html\n<ts-date-range\n  (startSelected)=\"myMethod($event)\"\n  (endSelected)=\"myMethod($event)\"\n  (dateRangeChange)=\"myMethod($event)\"\n></ts-date-range>\n```\n\n1. `startSelected` is fired when a start date is selected.\n1. `endSelected` is fired when an end date is selected.\n1. `dateRangeChange` is fired when the date range changes.\n\n### Date range boundaries\n\nTo define bounds for date selection, pass in a valid `Date` to each of these `@Inputs`:\n\n1. `endMaxDate`\n1. `endMinDate`\n1. `startMaxDate`\n1. `startMinDate`\n\n```html\n<ts-date-range\n  [startMinDate]=\"startDate1\"\n  [startMaxDate]=\"startDate2\"\n  [endMinDate]=\"endDate1\"\n  [endMaxDate]=\"endDate2\"\n></ts-date-range>\n```\n\n```typescript\nstartDate1 = new Date(2017, 1, 1);\nstartDate2 = new Date(2017, 8, 1);\nendDate1 = new Date(2017, 1, 2);\nendDate2 = new Date(2017, 8, 2;\n```\n\n### Disabling\n\n#### Disable a control\n\nControls can be enabled or disabled via the associated form control:\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      {\n        value: new Date(2017, 4, 6),\n        disabled: true,\n      },\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n\n// Enable it at any time:\nconst ctrl = this.myForm.get('dateRange.startDate')\nif (ctr) {\n  ctrl.enable();\n}\n```\n\n#### Disable the component\n\nThe entire component can be disabled:\n\n```html\n<ts-date-range [isDisabled]=\"true\"></ts-date-range>\n```\n\n## Test Helpers\n\nSome helpers are exposed to assist with testing. These are imported from `@terminus/ui-date-range/testing`;\n\n| Function                 |\n|--------------------------|\n| `createDateRangeGroup`   |\n| `getDebugRangeInputs`    |\n| `getRangeInputInstances` |\n| `getRangeInputElements`  |\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-date-range.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-date-range\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-date-range/bundles/terminus-ui-date-range.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-date-range/bundles/terminus-ui-date-range.umd.js\n","readmeFilename":"README.md","description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.0.13","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-V8T7iCeBfkbVD4JFI5Bm1MiOhX6GDAOCiYVfQpqN7axPaBgO69VGO1959sQgIQJnbQJijziuS5k6z2QqfFlDOQ==","shasum":"2868b57d657f85cdc4213faedd88ca614c1fdf9b","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.0.13.tgz","fileCount":69,"unpackedSize":399129,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUlbmCRA9TVsSAnZWagAAHK4P/0wPtNo30sFSUaSugK9r\nLzyIgs8c+BTd6dm4++mKTxvbXbpYd+Dpb8bn9pbSIf31EjKGVHvFToaE9Fya\nSPZw/tx3dPi4tICIbc7bSCNN1IdCfvRXafEiZ+5VrmYXaw0nATzWgBdOfGxU\nAdCRI+X4sbuf6UhaUPZCtV4oWvMitx4dEWvdoQpJchUyuIrgBAjFwWR6K2ZQ\nBEqq+Z0nTrlkABDJxOsTVEjHAyl6uz95gNo8OOmscsAJN1u2qqpO0eJCb+sd\nFqS7+0cQr21ZqB6ttpo5L3ZM+Qq+134RVuGRGUOqs8raBxayyC8pF3mlIbhw\nT1Xmd/M3LzE4ssJLy0meN++D7TaQG9R7SK1id45uf9Y1dwNbmMElHv0HN6Qt\nmsxVNd8TMMX7p6lFeCSjHhMrBSpdlISCXYyS2Yep2Lq1JUd7vYrtogocwTC6\n/bPpoUwF7b8doKGsGfeGxGfUEzK6Y7nrJJhmurB6o13OhODrNfw7iRgpjhRq\n+rWwdAd1aE02RA1sqT6Glpz6EBH0w0WJZBBV+qr2YyyFZ2OMwhhttjgkvKpg\n5MhldV31ggDT/rTc0plkKt5sWQMh9r1Y1VjZOWKLtFm45gNC5jHVqpFJDLKD\nFxTVj4eXL+b6CXXpe/BOU0C1HQ2s0uXnp2JXTXD//wnVTDz+yuUNkeU7BF+I\nh8it\r\n=Stx2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGWWW3Wd+jLpXwB+oRKmJrcs5s1NVJGR8vGDAlYXq+wuAiAKV3TPTrP8XZIgrftAyf9Fp4PIbmdlpHqDGmAm9QoDZw=="}]},"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-date-range_1.0.13_1599231718009_0.15422220211594473"},"_hasShrinkwrap":false},"1.1.0":{"name":"@terminus/ui-date-range","version":"1.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/date-range"},"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.1.0","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","date-fns":"2.15.0","@terminus/ui-utilities":"1.1.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@terminus/ui-input":"2.1.0","@angular/router":"9.1.11","ngx-webstorage-service":"4.1.0","ngx-clipboard":"13.0.1","@angular/material":"9.2.4","@terminus/ui-form-field":"2.1.0","@terminus/ui-spacing":"1.1.0","@terminus/ui-validation-messages":"1.1.0","@terminus/ui-pipes":"1.1.0","@terminus/ui-icon":"2.1.0","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0","@terminus/ui-validators":"1.1.0","@angular/cdk":"9.2.4","text-mask-addons":"3.8.0","text-mask-core":"5.1.2"},"readme":"<h1>Date Range</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  - [Event driven](#event-driven)\n  - [Date range boundaries](#date-range-boundaries)\n  - [Disabling](#disabling)\n    - [Disable a control](#disable-a-control)\n    - [Disable the component](#disable-the-component)\n- [Test Helpers](#test-helpers)\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-form-field`\n- `@terminus/ui-icon`\n- `@terminus/ui-input`\n- `@terminus/ui-pipes`\n- `@terminus/ui-validation-messages`\n- `@terminus/ui-validators`\n- `@terminus/ui-spacing`\n- `@terminus/ui-utilities`\n- `@terminus/ui-date-range`\n- `text-mask-core`\n- `text-mask-addons`\n- `date-fns`\n\nUse the `ng add` command to quickly install all the needed dependencies:\n\n```bash\nng add @terminus/ui-date-range\n```\n\n### Modules that need to be in NgModule\n\n- `TsDateRangeModule`\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\nPass in the form control:\n\n```html\n<form [formGroup]=\"myForm\" novalidate>\n  <ts-date-range [dateFormGroup]=\"myForm.get('dateRange')\"></ts-date-range>\n\n  <button (click)=\"submit(myForm.value)\">Submit</button>\n</form>\n```\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  // Showing a nested example since usually a date range would be nested in a group\n  dateRange: this.formBuilder.group({\n    startDate: [ // This control MUST be named `startDate`\n      new Date(2017, 4, 6),\n    ],\n    endDate: [ // This MUST be named `endDate`\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n```\n\n**NOTE:** The keys inside the `formGroup` passed to the `dateFormGroup` input must be named\n`startDate` and `endDate`. (see example directly above)\n\n**NOTE:** If using a form with nested form groups, _each group_ must be created with\n`formBuilder.group` for the form `get` control to work:\n\n```typescript\n// Notice the nested `dateRange` object without using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: {\n    startDate: [\n      new Date(2017, 4, 6),\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  },\n});\n\n// THIS WILL FAIL!\nconst range = myForm.get('dateRange');\n\n//////////////////////////////////////////////////\n\n// Notice the nested `dateRange` object IS using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      new Date(2017, 4, 6),\n      [\n        Validators.required,\n      ],\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n      [\n        Validators.required,\n      ],\n    ],\n  }),\n});\n\n// Now there is a group for us to 'get'\nconst range = myForm.get('dateRange');\n```\n\n### Event driven\n\nThere are three selection events that you can tie into:\n\n```html\n<ts-date-range\n  (startSelected)=\"myMethod($event)\"\n  (endSelected)=\"myMethod($event)\"\n  (dateRangeChange)=\"myMethod($event)\"\n></ts-date-range>\n```\n\n1. `startSelected` is fired when a start date is selected.\n1. `endSelected` is fired when an end date is selected.\n1. `dateRangeChange` is fired when the date range changes.\n\n### Date range boundaries\n\nTo define bounds for date selection, pass in a valid `Date` to each of these `@Inputs`:\n\n1. `endMaxDate`\n1. `endMinDate`\n1. `startMaxDate`\n1. `startMinDate`\n\n```html\n<ts-date-range\n  [startMinDate]=\"startDate1\"\n  [startMaxDate]=\"startDate2\"\n  [endMinDate]=\"endDate1\"\n  [endMaxDate]=\"endDate2\"\n></ts-date-range>\n```\n\n```typescript\nstartDate1 = new Date(2017, 1, 1);\nstartDate2 = new Date(2017, 8, 1);\nendDate1 = new Date(2017, 1, 2);\nendDate2 = new Date(2017, 8, 2;\n```\n\n### Disabling\n\n#### Disable a control\n\nControls can be enabled or disabled via the associated form control:\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      {\n        value: new Date(2017, 4, 6),\n        disabled: true,\n      },\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n\n// Enable it at any time:\nconst ctrl = this.myForm.get('dateRange.startDate')\nif (ctr) {\n  ctrl.enable();\n}\n```\n\n#### Disable the component\n\nThe entire component can be disabled:\n\n```html\n<ts-date-range [isDisabled]=\"true\"></ts-date-range>\n```\n\n## Test Helpers\n\nSome helpers are exposed to assist with testing. These are imported from `@terminus/ui-date-range/testing`;\n\n| Function                 |\n|--------------------------|\n| `createDateRangeGroup`   |\n| `getDebugRangeInputs`    |\n| `getRangeInputInstances` |\n| `getRangeInputElements`  |\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-date-range.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-date-range\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-date-range/bundles/terminus-ui-date-range.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-date-range/bundles/terminus-ui-date-range.umd.js\n","readmeFilename":"README.md","description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.1.0","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-6hMpLP03QnN3FjhzUIVaq9Gw5yta0b+Xq92betzeXvREYCuo704B2LsHxjJDy4zSHrLwOHtomPMK4BbOV1qX/A==","shasum":"a7ea2c4456d0a75b4e9915d9a48f5d3ca4f29f81","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.1.0.tgz","fileCount":69,"unpackedSize":399639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfV9LgCRA9TVsSAnZWagAAousP/iXO2zvfacjU6M+PsVxu\nAMngDFtBuhI8mbt/r/djOglEEE08Yr13Nzjgm+lrj4ggy7i1LzrKqg4WkmZN\nejkPSmv6uIhNk+wgsJTDJjViXTtQTnvyzLH/NtGvqj1bHcwOgNTpxxFt1+IL\nYBmGSqHZ5WhrsHIuxO12352OiddhE57ltGqNjmNVppp23pnCtCL0MRhgUkkq\n2f21thzxa3FZsWA1nlpMPbD9ZkoTNrxZ2ePFR2oLjV/rxbmcI1C4gXDUyFH6\n3G1Ar45Z+Zl7e9CFdXuyWsTCAfMbgfqi+fdFG/wVLuuOBQFTj1BXMBowL902\nfq7JAk8br4HoErV3Vh7IYcbccirol6MXwsXYhjBFY6OymL2G7ZwDnH+zFGx4\nzAo7zrRC+8SD51Rys64p+fKY5Z5Qohf0k4yv5zeMqSRH+f99PkFLFEyG247g\neb6S+oN/1UJJUF9I2Ql+/putk3qVmi2cIgGuy+kZ4SublJvqzuSc14EsHXVu\nwlgtvG7idxLV3V5SOCFkv1MeJnMvY1xpNfH0VfK0DE3Mu1hZJhK/LpqvkQ9Q\ndbL1nBm1Mxv3TXg6iAKb4RLZc1X9Sqay3M95cptcjg9eFljFJL9ECfMZiUVU\nXLQx/dxHzSaLRiYI3K+39F/N3Osl29yfsNYzKhcNv/dc+36bGZBSm6UzwoFf\nvd6y\r\n=UjlP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdvY1gRO1bfvkJZcEop5F6BfsYOFtb8096MEylp6oj7gIgOM9f2P8Zf4yVo9zfRz+SvQDQGzaOB4LRbQRcmPDvf4c="}]},"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-date-range_1.1.0_1599591135706_0.7810157836006626"},"_hasShrinkwrap":false},"1.1.1":{"name":"@terminus/ui-date-range","version":"1.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/date-range"},"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.1.0","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.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","@terminus/ui-utilities":"1.1.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@terminus/ui-input":"2.1.1","@terminus/ui-form-field":"2.1.0","@terminus/ui-spacing":"1.1.0","@terminus/ui-validation-messages":"1.1.0","@terminus/ui-pipes":"1.1.0","@terminus/ui-icon":"2.1.0","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0","@terminus/ui-validators":"1.1.0","@angular/cdk":"9.2.4","text-mask-addons":"3.8.0","text-mask-core":"5.1.2"},"readme":"<h1>Date Range</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  - [Event driven](#event-driven)\n  - [Date range boundaries](#date-range-boundaries)\n  - [Disabling](#disabling)\n    - [Disable a control](#disable-a-control)\n    - [Disable the component](#disable-the-component)\n- [Test Helpers](#test-helpers)\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-form-field`\n- `@terminus/ui-icon`\n- `@terminus/ui-input`\n- `@terminus/ui-pipes`\n- `@terminus/ui-validation-messages`\n- `@terminus/ui-validators`\n- `@terminus/ui-spacing`\n- `@terminus/ui-utilities`\n- `@terminus/ui-date-range`\n- `text-mask-core`\n- `text-mask-addons`\n- `date-fns`\n\nUse the `ng add` command to quickly install all the needed dependencies:\n\n```bash\nng add @terminus/ui-date-range\n```\n\n### Modules that need to be in NgModule\n\n- `TsDateRangeModule`\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\nPass in the form control:\n\n```html\n<form [formGroup]=\"myForm\" novalidate>\n  <ts-date-range [dateFormGroup]=\"myForm.get('dateRange')\"></ts-date-range>\n\n  <button (click)=\"submit(myForm.value)\">Submit</button>\n</form>\n```\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  // Showing a nested example since usually a date range would be nested in a group\n  dateRange: this.formBuilder.group({\n    startDate: [ // This control MUST be named `startDate`\n      new Date(2017, 4, 6),\n    ],\n    endDate: [ // This MUST be named `endDate`\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n```\n\n**NOTE:** The keys inside the `formGroup` passed to the `dateFormGroup` input must be named\n`startDate` and `endDate`. (see example directly above)\n\n**NOTE:** If using a form with nested form groups, _each group_ must be created with\n`formBuilder.group` for the form `get` control to work:\n\n```typescript\n// Notice the nested `dateRange` object without using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: {\n    startDate: [\n      new Date(2017, 4, 6),\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  },\n});\n\n// THIS WILL FAIL!\nconst range = myForm.get('dateRange');\n\n//////////////////////////////////////////////////\n\n// Notice the nested `dateRange` object IS using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      new Date(2017, 4, 6),\n      [\n        Validators.required,\n      ],\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n      [\n        Validators.required,\n      ],\n    ],\n  }),\n});\n\n// Now there is a group for us to 'get'\nconst range = myForm.get('dateRange');\n```\n\n### Event driven\n\nThere are three selection events that you can tie into:\n\n```html\n<ts-date-range\n  (startSelected)=\"myMethod($event)\"\n  (endSelected)=\"myMethod($event)\"\n  (dateRangeChange)=\"myMethod($event)\"\n></ts-date-range>\n```\n\n1. `startSelected` is fired when a start date is selected.\n1. `endSelected` is fired when an end date is selected.\n1. `dateRangeChange` is fired when the date range changes.\n\n### Date range boundaries\n\nTo define bounds for date selection, pass in a valid `Date` to each of these `@Inputs`:\n\n1. `endMaxDate`\n1. `endMinDate`\n1. `startMaxDate`\n1. `startMinDate`\n\n```html\n<ts-date-range\n  [startMinDate]=\"startDate1\"\n  [startMaxDate]=\"startDate2\"\n  [endMinDate]=\"endDate1\"\n  [endMaxDate]=\"endDate2\"\n></ts-date-range>\n```\n\n```typescript\nstartDate1 = new Date(2017, 1, 1);\nstartDate2 = new Date(2017, 8, 1);\nendDate1 = new Date(2017, 1, 2);\nendDate2 = new Date(2017, 8, 2;\n```\n\n### Disabling\n\n#### Disable a control\n\nControls can be enabled or disabled via the associated form control:\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      {\n        value: new Date(2017, 4, 6),\n        disabled: true,\n      },\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n\n// Enable it at any time:\nconst ctrl = this.myForm.get('dateRange.startDate')\nif (ctr) {\n  ctrl.enable();\n}\n```\n\n#### Disable the component\n\nThe entire component can be disabled:\n\n```html\n<ts-date-range [isDisabled]=\"true\"></ts-date-range>\n```\n\n## Test Helpers\n\nSome helpers are exposed to assist with testing. These are imported from `@terminus/ui-date-range/testing`;\n\n| Function                 |\n|--------------------------|\n| `createDateRangeGroup`   |\n| `getDebugRangeInputs`    |\n| `getRangeInputInstances` |\n| `getRangeInputElements`  |\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-date-range.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-date-range\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-date-range/bundles/terminus-ui-date-range.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-date-range/bundles/terminus-ui-date-range.umd.js\n","readmeFilename":"README.md","description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.1.1","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-FQvNxlc8vRPY1FB631YbrcbFWrm4Cn36LrB5MMQJM/qx+64uIh+gN/zy5Smo2XBrZ8zZrLRFyZr6tA6aH5rNcA==","shasum":"8ee11516ef1c087dbb972e16cf73672e89edd123","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.1.1.tgz","fileCount":69,"unpackedSize":399769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW4oTCRA9TVsSAnZWagAArjsP/3kW4wdm++sPEefWlxRE\n6gktZyccIwprJDKRxwks14cSJAxzgjzEZGTY7VXjiHFg4wLKoptvYAeaKIk9\nppmSH09U4Tc3+U92/uPK9mDMeUSZVOK35WCpL7MG0wYbPTNjsgzvPyCsmnFZ\nHEfQpQEWROUpq+ws9KyeVDpZ1cfVmw/wpw1FncYm0wfOjke6MY1s8IqDdxs3\nMV2ZdBqXNama1G6bYx5iRtm4sYN3db5F8NJ2hqNrPzebFmpNplUnlRtRezDB\nN0wvi4gNz0MQvnntAqZZX+R6MEX6nVfAxIkuujQeUeLJK4AphK+t9akf7lwB\nl65o//9yWOdl1HvqVDBTgqbHuN1vsaawq7kVq6ve1zxJuuZSnd+ifgY5Gme5\nFz6siESFiXSpCdxkY7KCd+zzYFOodrnJRtIhWOv76U2oDB0Pg8X7B9RzJaax\n5zqPI7ajPKU6NCiXl/j9dzgf6bXZkZeuvYGQW4BvC7LVjieA/qCHQcE+L7+f\nPgNDC4JVPg8sRelj6K6e6LVZ27kKWdlo6t+mIl3oj99xybvt4C/cYNhEFjVu\ndqiLl4B97OBkd6A0QzX89D0GBeA9mDgFcFkt3aJG4/rXNwWFDpCz97Wgqw8Y\nP2RT0AWKo5cxofnNV3nTZBRg5XFhE1qFpqlha9amK1roEK4vJwh4xnx9ewoy\nZGEH\r\n=ZMvw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0hPR9qm2WcrUk7STghYG/MteNrjkZ0sRJBeSCmwnj9QIgSu21wSCkp20tFJKtjJeufDnHzoKN8TBHuxctKQNYtdU="}]},"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-date-range_1.1.1_1599834643066_0.7549131792185397"},"_hasShrinkwrap":false},"1.1.2":{"name":"@terminus/ui-date-range","version":"1.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/date-range"},"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.1.0","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.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","@terminus/ui-utilities":"1.1.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@terminus/ui-input":"2.1.2","@terminus/ui-form-field":"2.1.0","@terminus/ui-spacing":"1.1.1","@terminus/ui-validation-messages":"1.1.0","@terminus/ui-pipes":"1.1.1","@terminus/ui-icon":"2.1.1","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0","@terminus/ui-validators":"2.0.0","@angular/cdk":"9.2.4","text-mask-addons":"3.8.0","text-mask-core":"5.1.2"},"description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.1.2","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-m1DWTNohzZ1kfTdEWLWc+34pQPSvlbn26OW/vYUfXkTwZlXpWdDWenH7kPK0y7g5ghU24MscEy8Rray6KHshGw==","shasum":"90dc56b7a81d93621b3af74339b5e0ebe76716e4","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.1.2.tgz","fileCount":69,"unpackedSize":399978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW7VLCRA9TVsSAnZWagAA8HMP/Ri4BeJ9Wkkty+m9ScBb\niL97FHrcfb0Hzd6ybwwV2ndaH9Ndt8t+wbcgx6ZB5pCZrYbQoQrMWqspbH1y\n2iJ2XqvZStLCc4fVNQE/ex7bbDvVNuaAnK02aBuFqGWJ80ty5ENo9VJU7jEu\ncqqckBONwTtiSoeVYzHiHsFn/UukQJz7nvrcvgGXPnDEqy8ucCtqJ68v4wfS\ntT/fbKV4ZiLFwXM782WLhQ/7cvx3hpcdkiztVIofC8lMUWmSLbne5sNGUz6q\nvQ0EKQKOIgBLypzRfbs6tRt+v18F9eDbyqWzgs8n1oa6QGwIuJCjZtakUS3o\nM+rW5lSBUxUbwP6DiVo+BTs1J29bbD8j4WYIuCqzNQLlefgGSY3UBNgiwS+C\noGsU7UU3bZ2BASyn7+ilPw4sou40DNlg3SqPmsPEomMk+HSjg53A+4unit2H\ngwqdAIKPV4LFgOd0UGznDXYLXA+PN4KenUKXYnBWC6xqsoJ17E0LwGevBCGf\nmi8nR9if4v1qtQV4g3296mxrQzCFyeiSBlgJjTVqrl2bL/DOeAtdZzaFn7cq\nAuLNypaFYk/ZBCtiZ6XuB88ABRu8XEMu6hrRA5oy7Ah/0ro8c03B+QWWl9mc\n0szQoLg0hIvShWbh4xLDbtyNO8+KKOREfmp/7DRxxH5ogRTcL9DdYcWrtB1r\nCCXe\r\n=86PY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZx3VLV3NPUuISc7ho5gC7bfjI9gesVUMgLmjoVBAjjwIgOf2qf0dCdCTW4bGp01QJ3hQW2Jrgia8J875G/Vywlco="}]},"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-date-range_1.1.2_1599845707125_0.6413328621932646"},"_hasShrinkwrap":false},"1.1.3":{"name":"@terminus/ui-date-range","version":"1.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/date-range"},"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.1.0","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.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","@terminus/ui-utilities":"1.1.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@terminus/ui-input":"2.1.3","@terminus/ui-form-field":"2.1.0","@terminus/ui-spacing":"1.1.2","@terminus/ui-validation-messages":"1.1.2","@terminus/ui-pipes":"1.1.2","@terminus/ui-icon":"2.1.2","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0","@terminus/ui-validators":"2.0.1","@angular/cdk":"9.2.4","text-mask-addons":"3.8.0","text-mask-core":"5.1.2"},"readme":"<h1>Date Range</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  - [Event driven](#event-driven)\n  - [Date range boundaries](#date-range-boundaries)\n  - [Disabling](#disabling)\n    - [Disable a control](#disable-a-control)\n    - [Disable the component](#disable-the-component)\n- [Test Helpers](#test-helpers)\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-form-field`\n- `@terminus/ui-icon`\n- `@terminus/ui-input`\n- `@terminus/ui-pipes`\n- `@terminus/ui-validation-messages`\n- `@terminus/ui-validators`\n- `@terminus/ui-spacing`\n- `@terminus/ui-utilities`\n- `@terminus/ui-date-range`\n- `text-mask-core`\n- `text-mask-addons`\n- `date-fns`\n\nUse the `ng add` command to quickly install all the needed dependencies:\n\n```bash\nng add @terminus/ui-date-range\n```\n\n### Modules that need to be in NgModule\n\n- `TsDateRangeModule`\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\nPass in the form control:\n\n```html\n<form [formGroup]=\"myForm\" novalidate>\n  <ts-date-range [dateFormGroup]=\"myForm.get('dateRange')\"></ts-date-range>\n\n  <button (click)=\"submit(myForm.value)\">Submit</button>\n</form>\n```\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  // Showing a nested example since usually a date range would be nested in a group\n  dateRange: this.formBuilder.group({\n    startDate: [ // This control MUST be named `startDate`\n      new Date(2017, 4, 6),\n    ],\n    endDate: [ // This MUST be named `endDate`\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n```\n\n**NOTE:** The keys inside the `formGroup` passed to the `dateFormGroup` input must be named\n`startDate` and `endDate`. (see example directly above)\n\n**NOTE:** If using a form with nested form groups, _each group_ must be created with\n`formBuilder.group` for the form `get` control to work:\n\n```typescript\n// Notice the nested `dateRange` object without using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: {\n    startDate: [\n      new Date(2017, 4, 6),\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  },\n});\n\n// THIS WILL FAIL!\nconst range = myForm.get('dateRange');\n\n//////////////////////////////////////////////////\n\n// Notice the nested `dateRange` object IS using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      new Date(2017, 4, 6),\n      [\n        Validators.required,\n      ],\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n      [\n        Validators.required,\n      ],\n    ],\n  }),\n});\n\n// Now there is a group for us to 'get'\nconst range = myForm.get('dateRange');\n```\n\n### Event driven\n\nThere are three selection events that you can tie into:\n\n```html\n<ts-date-range\n  (startSelected)=\"myMethod($event)\"\n  (endSelected)=\"myMethod($event)\"\n  (dateRangeChange)=\"myMethod($event)\"\n></ts-date-range>\n```\n\n1. `startSelected` is fired when a start date is selected.\n1. `endSelected` is fired when an end date is selected.\n1. `dateRangeChange` is fired when the date range changes.\n\n### Date range boundaries\n\nTo define bounds for date selection, pass in a valid `Date` to each of these `@Inputs`:\n\n1. `endMaxDate`\n1. `endMinDate`\n1. `startMaxDate`\n1. `startMinDate`\n\n```html\n<ts-date-range\n  [startMinDate]=\"startDate1\"\n  [startMaxDate]=\"startDate2\"\n  [endMinDate]=\"endDate1\"\n  [endMaxDate]=\"endDate2\"\n></ts-date-range>\n```\n\n```typescript\nstartDate1 = new Date(2017, 1, 1);\nstartDate2 = new Date(2017, 8, 1);\nendDate1 = new Date(2017, 1, 2);\nendDate2 = new Date(2017, 8, 2;\n```\n\n### Disabling\n\n#### Disable a control\n\nControls can be enabled or disabled via the associated form control:\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      {\n        value: new Date(2017, 4, 6),\n        disabled: true,\n      },\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n\n// Enable it at any time:\nconst ctrl = this.myForm.get('dateRange.startDate')\nif (ctr) {\n  ctrl.enable();\n}\n```\n\n#### Disable the component\n\nThe entire component can be disabled:\n\n```html\n<ts-date-range [isDisabled]=\"true\"></ts-date-range>\n```\n\n## Test Helpers\n\nSome helpers are exposed to assist with testing. These are imported from `@terminus/ui-date-range/testing`;\n\n| Function                 |\n|--------------------------|\n| `createDateRangeGroup`   |\n| `getDebugRangeInputs`    |\n| `getRangeInputInstances` |\n| `getRangeInputElements`  |\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-date-range.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-date-range\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-date-range/bundles/terminus-ui-date-range.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-date-range/bundles/terminus-ui-date-range.umd.js\n","readmeFilename":"README.md","description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.1.3","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","dist":{"integrity":"sha512-EJc2nHofXn/Xo0UmMFv+xfax5cXgLnUugkE5CXnPOdIFmRbswOF3FPpH57bcMM1aNUIfGUq0haUWDfV5267Jcw==","shasum":"4c11f6147a7fca249e7939852d5fa1dcdb6adb6b","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.1.3.tgz","fileCount":69,"unpackedSize":400583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfX6qaCRA9TVsSAnZWagAAmAsQAIPxdC/tSdCPvA7vSVg8\neB2eb6TRgn1rJ5ft/ypV80J+EpfKvKvUUgJe6tL/tPNiv2TMCDsXPrMUhHYf\nPh0EhUPDMP4sxfUEuHFaTAyGrtfHhjBVrEikvO+8x5CUlnuHgbhbw8+Z30yr\n5ElobfngcjSk9/mfuc9tFYChUzgzG1HmG+/SE6yhAN7jSJDI0T0V82hi/6mt\nJo1utWHTs2VmpSkI4yIpHhIlFc1jTEbYd4+G7fHvgfh3ZhD26oRHd0MQzPSA\nSKlQ19Fy46H/RjNlLHFlqM0oHc5JLaUuI0dYCjYCV4nKASGZrp4iKTXiYGMJ\nSI/7sZPX6iRZk8LMg8zajWRtu9P0kKLJdvWl6ChpPFRVPgTZFRujKkNyGkXh\nyewDK+UcrElsEkc/LvVOdeg4FD12zVGlqFRELTH2UlCEdbRza9TBHBsp+xNy\nbfNpQ9wGvopsFf9JolGpYtNTTq9vB7CXN08Tt1MOLv1mu4QJ7AbiwD3B+jdR\nFCXr9Oj2adMesc/cr2Feq25L6jaUgxFAq/9QIAXkd3pzw8ydrnpvRKeDJxEN\nI2xZ+PdbNAvsxZQjJ752UpgrOuwDInEpGWEDDn/6ZMFyYqh0ellrZ/v1SHi8\nxznVoYHz/05cYh2c/N2VkzNg8qbvMxjx30YjQEIepWs1uXs2mYJFEF7F9DRy\noFss\r\n=bPLn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDljHZO53V9fpaKee7tGGM4dSP5wUGcrclORvOfkhGjZAiAb29Aq93H5wtk413la2oK9Vo33z6vYU523m+D2SFmwtg=="}]},"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-date-range_1.1.3_1600105113698_0.9813070684826322"},"_hasShrinkwrap":false},"1.1.4":{"name":"@terminus/ui-date-range","version":"1.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/date-range"},"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.1.0","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.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","@terminus/ui-utilities":"1.1.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@terminus/ui-input":"2.1.3","@terminus/ui-form-field":"2.1.0","@terminus/ui-spacing":"1.1.2","@terminus/ui-validation-messages":"1.1.2","@terminus/ui-pipes":"1.1.3","@terminus/ui-icon":"2.1.2","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0","@terminus/ui-validators":"2.0.2","@angular/cdk":"9.2.4","text-mask-addons":"3.8.0","text-mask-core":"5.1.2"},"readme":"<h1>Date Range</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  - [Event driven](#event-driven)\n  - [Date range boundaries](#date-range-boundaries)\n  - [Disabling](#disabling)\n    - [Disable a control](#disable-a-control)\n    - [Disable the component](#disable-the-component)\n- [Test Helpers](#test-helpers)\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-form-field`\n- `@terminus/ui-icon`\n- `@terminus/ui-input`\n- `@terminus/ui-pipes`\n- `@terminus/ui-validation-messages`\n- `@terminus/ui-validators`\n- `@terminus/ui-spacing`\n- `@terminus/ui-utilities`\n- `@terminus/ui-date-range`\n- `text-mask-core`\n- `text-mask-addons`\n- `date-fns`\n\nUse the `ng add` command to quickly install all the needed dependencies:\n\n```bash\nng add @terminus/ui-date-range\n```\n\n### Modules that need to be in NgModule\n\n- `TsDateRangeModule`\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\nPass in the form control:\n\n```html\n<form [formGroup]=\"myForm\" novalidate>\n  <ts-date-range [dateFormGroup]=\"myForm.get('dateRange')\"></ts-date-range>\n\n  <button (click)=\"submit(myForm.value)\">Submit</button>\n</form>\n```\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  // Showing a nested example since usually a date range would be nested in a group\n  dateRange: this.formBuilder.group({\n    startDate: [ // This control MUST be named `startDate`\n      new Date(2017, 4, 6),\n    ],\n    endDate: [ // This MUST be named `endDate`\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n```\n\n**NOTE:** The keys inside the `formGroup` passed to the `dateFormGroup` input must be named\n`startDate` and `endDate`. (see example directly above)\n\n**NOTE:** If using a form with nested form groups, _each group_ must be created with\n`formBuilder.group` for the form `get` control to work:\n\n```typescript\n// Notice the nested `dateRange` object without using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: {\n    startDate: [\n      new Date(2017, 4, 6),\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  },\n});\n\n// THIS WILL FAIL!\nconst range = myForm.get('dateRange');\n\n//////////////////////////////////////////////////\n\n// Notice the nested `dateRange` object IS using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      new Date(2017, 4, 6),\n      [\n        Validators.required,\n      ],\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n      [\n        Validators.required,\n      ],\n    ],\n  }),\n});\n\n// Now there is a group for us to 'get'\nconst range = myForm.get('dateRange');\n```\n\n### Event driven\n\nThere are three selection events that you can tie into:\n\n```html\n<ts-date-range\n  (startSelected)=\"myMethod($event)\"\n  (endSelected)=\"myMethod($event)\"\n  (dateRangeChange)=\"myMethod($event)\"\n></ts-date-range>\n```\n\n1. `startSelected` is fired when a start date is selected.\n1. `endSelected` is fired when an end date is selected.\n1. `dateRangeChange` is fired when the date range changes.\n\n### Date range boundaries\n\nTo define bounds for date selection, pass in a valid `Date` to each of these `@Inputs`:\n\n1. `endMaxDate`\n1. `endMinDate`\n1. `startMaxDate`\n1. `startMinDate`\n\n```html\n<ts-date-range\n  [startMinDate]=\"startDate1\"\n  [startMaxDate]=\"startDate2\"\n  [endMinDate]=\"endDate1\"\n  [endMaxDate]=\"endDate2\"\n></ts-date-range>\n```\n\n```typescript\nstartDate1 = new Date(2017, 1, 1);\nstartDate2 = new Date(2017, 8, 1);\nendDate1 = new Date(2017, 1, 2);\nendDate2 = new Date(2017, 8, 2;\n```\n\n### Disabling\n\n#### Disable a control\n\nControls can be enabled or disabled via the associated form control:\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      {\n        value: new Date(2017, 4, 6),\n        disabled: true,\n      },\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n\n// Enable it at any time:\nconst ctrl = this.myForm.get('dateRange.startDate')\nif (ctr) {\n  ctrl.enable();\n}\n```\n\n#### Disable the component\n\nThe entire component can be disabled:\n\n```html\n<ts-date-range [isDisabled]=\"true\"></ts-date-range>\n```\n\n## Test Helpers\n\nSome helpers are exposed to assist with testing. These are imported from `@terminus/ui-date-range/testing`;\n\n| Function                 |\n|--------------------------|\n| `createDateRangeGroup`   |\n| `getDebugRangeInputs`    |\n| `getRangeInputInstances` |\n| `getRangeInputElements`  |\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-date-range.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-date-range\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-date-range/bundles/terminus-ui-date-range.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-date-range/bundles/terminus-ui-date-range.umd.js\n","readmeFilename":"README.md","description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.1.4","_nodeVersion":"12.18.4","_npmVersion":"lerna/3.22.1/node@v12.18.4+x64 (linux)","dist":{"integrity":"sha512-K4/ob9ez437oQAgMRc3X8/jooJJ1eiczBtu/Yhd63v5gB4CcEgltBFDlj8i9i/f/k14vx7RnYuZFu6pUcnaf8A==","shasum":"5d8f4ef8604c1d9d8a38d2ea52420be0b9dd723a","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.1.4.tgz","fileCount":69,"unpackedSize":401560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbO/bCRA9TVsSAnZWagAAYDYP/0rJst4gOXg24JCOgEf9\noCfPJ+tHmWSK2YZrtAyrvWEjuK4zTi9Mva7vSUeRo0FBJXPbOQOosTS9ThTf\nJl2Io49DnqcvEsvSFMfRltv423N19b3KhL0p8pX2FigvuEUZimrpuRlCKWv7\nBYJt/t1rmNbuNkMfnqu4WaI7c34L2uCQxrO53tO0HoT5pEQiEpGR0zNylYl9\nyp8p33sK2LRhUcb6RSG+T/8/WHu/WPzlnn3cl49V8Otjlbxx0SRm+PYBwVS/\nSQ9IyH4ck+GJeZSYGLGMFObkr12LYMuxlSHDjt11wLkU/WDjJYLcPcLSr7cN\nV94dKeSQ4iWdxfzl2UdUuLgK5tcEdkOEWjBY9+ZJX4ji/K0m761yyqVBKS7m\n0hHTdRPtuh6zDJLMTN8wkcH6cZdqI2I5k2UBOdvlLEDQD+zikeZW4t31LpnY\nYJNGzVZLzFvtpMxvFzF0H0zCP/LVEBd3lz99BqXHQll2+BnfV4VBQRdw6hE9\nteU9E4bHEQNPdQY9L4UEv2IAKG3tzkzQtRazjyyTOqjUWQ1OWn0VsSmmLtwN\nGfcC7MOe3FmhtE04cLh5+9cXxnTv/0zzl8qzGROIiCnBOylMCbbhjlFRWY3D\nPvji/92IDDejquAUAfcbyFdG6X1K1TNUSYITqL7fy/noFK2jD9B5Sv3qypkv\nznZB\r\n=JaD7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBpMYxxUyKf+Bu4ASNyH2OZAIomz7/tQeA0UxDSCoovKAiEA564Yzxun1QOCZfC8Sy2rxPVkdHe+oAXxpqabQ2NcFko="}]},"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-date-range_1.1.4_1600974810888_0.5744397052344186"},"_hasShrinkwrap":false},"1.1.5":{"name":"@terminus/ui-date-range","version":"1.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/date-range"},"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.1.0","rxjs":"^6.5.0"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.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","@terminus/ui-utilities":"1.1.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12","@terminus/ui-input":"2.1.3","@terminus/ui-form-field":"2.1.0","@terminus/ui-spacing":"1.1.2","@terminus/ui-validation-messages":"1.1.2","@terminus/ui-pipes":"1.1.3","@terminus/ui-icon":"2.1.2","@fortawesome/fontawesome-svg-core":"1.2.30","@fortawesome/angular-fontawesome":"0.6.0","@fortawesome/pro-solid-svg-icons":"5.14.0","@terminus/ui-validators":"2.0.2","@angular/cdk":"9.2.4","text-mask-addons":"3.8.0","text-mask-core":"5.1.2"},"description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@1.1.5","_nodeVersion":"12.18.4","_npmVersion":"lerna/3.22.1/node@v12.18.4+x64 (linux)","dist":{"integrity":"sha512-ov28Uk8PxMBZ/QAKcJ6X8nM70EfsSTZ2RYlHHz3pDcbpMNIQe5mvJMYckdBXpOE6B+A+OsXcmCh4pUS1rqBSrg==","shasum":"776a9e8d17891bab5597350d9463638fb2f71e09","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-1.1.5.tgz","fileCount":69,"unpackedSize":401769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdgXICRA9TVsSAnZWagAASfEQAJj8sks4ixvvsmKPWh0Q\nzw+VZ4O887GZu7Qs3ZFWfvEvTLSAsOzoEKK5IFlLSuNi4x7yB9khnVuIibhF\n+h8Ip6O/fIanrEVBGiPjBVZB81k78oYQnWG/yEAwGjN0sj4gAv0MiKaf/AO+\nIX63u3D6sKuZR7eN394X11cIV2uICmBW8LY7m8aodwE2+D+jQ5rnfgGOWVoo\n9jvWPQpfKWJUHVieYyIV6sdMqdMoD+dYV+0SMRX6dpbdaq5lbjT3G4v/lOec\niGTD1J40ZMjd3ABkwdXizhZ7DHyaNY5ZapZ6VGz4WZbKY+6/aCZMULXB1SVy\nDudsSvPQCPoTXQeRfwjnc8aJRMVL6LAtjtthgkr0207aeYgYNztUkcHLaX/9\nYBr1z4+1zcEVebS9Hal+NjIKVbnYjR4ZX4XKpxySLh+9YcW4epsPOkuXBOCu\nDdqRr92AhyWldiyrNW2Ac3bHIS1YguBxwpgjXll12BwcyCOgvtu3z1+v/B6Y\ns3LZe/pe6+Dl0ucNYoPwiCKSDWrwmKvPY12ce4ZWLN/eyizacO5R4qMqHU7J\ntAoGwWNsWULnLmVA5r1WauizItr+M4z/n8z7Q6BQ0hIEqVHzvI/aJjuwwWAA\nXxzRWAQwceWLf/aVTK3Nj3zT1dxSzLxY3Fr0tKL7knwZxXWOYKoOHxuJcGOO\npf6N\r\n=aksd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBCSUJZKDZyPbzM2jnHAjFOsQ6kvMZct+3Zm2onRykmOAiEAgs6pF8vdGlM+si/vrdFjY3vKdG61A+YRECu0vJiuysA="}]},"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-date-range_1.1.5_1601570248382_0.516161404313876"},"_hasShrinkwrap":false},"2.0.0":{"name":"@terminus/ui-date-range","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/date-range"},"peerDependencies":{"@angular/cdk":"^9.2.4","@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.1.0","@terminus/ui-form-field":"^2.1.0","@terminus/ui-icon":"^2.1.5","@terminus/ui-input":"^2.1.3","@terminus/ui-pipes":"^1.1.3","@terminus/ui-spacing":"^1.1.2","@terminus/ui-utilities":"^1.1.0","@terminus/ui-validation-messages":"^1.1.2","@terminus/ui-validators":"^2.0.2","date-fns":"^2.16.1","rxjs":"^6.5.0","text-mask-addons":"^3.8.0","text-mask-core":"^5.1.2"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@angular/router":"9.1.11","ngx-webstorage-service":"4.1.0","ngx-clipboard":"13.0.1","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12"},"readme":"<h1>Date Range</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  - [Event driven](#event-driven)\n  - [Date range boundaries](#date-range-boundaries)\n  - [Disabling](#disabling)\n    - [Disable a control](#disable-a-control)\n    - [Disable the component](#disable-the-component)\n- [Test Helpers](#test-helpers)\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-form-field`\n- `@terminus/ui-icon`\n- `@terminus/ui-input`\n- `@terminus/ui-pipes`\n- `@terminus/ui-validation-messages`\n- `@terminus/ui-validators`\n- `@terminus/ui-spacing`\n- `@terminus/ui-utilities`\n- `@terminus/ui-date-range`\n- `text-mask-core`\n- `text-mask-addons`\n- `date-fns`\n\nUse the `ng add` command to quickly install all the needed dependencies:\n\n```bash\nng add @terminus/ui-date-range\n```\n\n### Modules that need to be in NgModule\n\n- `TsDateRangeModule`\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\nPass in the form control:\n\n```html\n<form [formGroup]=\"myForm\" novalidate>\n  <ts-date-range [dateFormGroup]=\"myForm.get('dateRange')\"></ts-date-range>\n\n  <button (click)=\"submit(myForm.value)\">Submit</button>\n</form>\n```\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  // Showing a nested example since usually a date range would be nested in a group\n  dateRange: this.formBuilder.group({\n    startDate: [ // This control MUST be named `startDate`\n      new Date(2017, 4, 6),\n    ],\n    endDate: [ // This MUST be named `endDate`\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n```\n\n**NOTE:** The keys inside the `formGroup` passed to the `dateFormGroup` input must be named\n`startDate` and `endDate`. (see example directly above)\n\n**NOTE:** If using a form with nested form groups, _each group_ must be created with\n`formBuilder.group` for the form `get` control to work:\n\n```typescript\n// Notice the nested `dateRange` object without using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: {\n    startDate: [\n      new Date(2017, 4, 6),\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  },\n});\n\n// THIS WILL FAIL!\nconst range = myForm.get('dateRange');\n\n//////////////////////////////////////////////////\n\n// Notice the nested `dateRange` object IS using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      new Date(2017, 4, 6),\n      [\n        Validators.required,\n      ],\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n      [\n        Validators.required,\n      ],\n    ],\n  }),\n});\n\n// Now there is a group for us to 'get'\nconst range = myForm.get('dateRange');\n```\n\n### Event driven\n\nThere are three selection events that you can tie into:\n\n```html\n<ts-date-range\n  (startSelected)=\"myMethod($event)\"\n  (endSelected)=\"myMethod($event)\"\n  (dateRangeChange)=\"myMethod($event)\"\n></ts-date-range>\n```\n\n1. `startSelected` is fired when a start date is selected.\n1. `endSelected` is fired when an end date is selected.\n1. `dateRangeChange` is fired when the date range changes.\n\n### Date range boundaries\n\nTo define bounds for date selection, pass in a valid `Date` to each of these `@Inputs`:\n\n1. `endMaxDate`\n1. `endMinDate`\n1. `startMaxDate`\n1. `startMinDate`\n\n```html\n<ts-date-range\n  [startMinDate]=\"startDate1\"\n  [startMaxDate]=\"startDate2\"\n  [endMinDate]=\"endDate1\"\n  [endMaxDate]=\"endDate2\"\n></ts-date-range>\n```\n\n```typescript\nstartDate1 = new Date(2017, 1, 1);\nstartDate2 = new Date(2017, 8, 1);\nendDate1 = new Date(2017, 1, 2);\nendDate2 = new Date(2017, 8, 2;\n```\n\n### Disabling\n\n#### Disable a control\n\nControls can be enabled or disabled via the associated form control:\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      {\n        value: new Date(2017, 4, 6),\n        disabled: true,\n      },\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n\n// Enable it at any time:\nconst ctrl = this.myForm.get('dateRange.startDate')\nif (ctr) {\n  ctrl.enable();\n}\n```\n\n#### Disable the component\n\nThe entire component can be disabled:\n\n```html\n<ts-date-range [isDisabled]=\"true\"></ts-date-range>\n```\n\n## Test Helpers\n\nSome helpers are exposed to assist with testing. These are imported from `@terminus/ui-date-range/testing`;\n\n| Function                 |\n|--------------------------|\n| `createDateRangeGroup`   |\n| `getDebugRangeInputs`    |\n| `getRangeInputInstances` |\n| `getRangeInputElements`  |\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-date-range.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-date-range\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-date-range/bundles/terminus-ui-date-range.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-date-range/bundles/terminus-ui-date-range.umd.js\n","readmeFilename":"README.md","description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@2.0.0","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-33dZkesVyb+h6FcOjS/b7m35hIum0bcwiOCLKSmZwcSrQwlxEApAn00MP7ZjadMe58Wj5ZisoiAbE0VFBv4qxQ==","shasum":"8bad1472f288a4d9e5a7e64b8ceb00d95836f4d6","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-2.0.0.tgz","fileCount":69,"unpackedSize":402205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqWhDCRA9TVsSAnZWagAADK0QAIyRFKd5TdaNOFqsdYmw\nTVZdEeHC8U1QJXKXgKDS+TCpDoi0692xYyYKOISYvKp13896UYVlPYdEme7m\nOK+lObwUj+LKTCcbV3VntkKhDXlvoQOsE3eVUNX1hi3cfYeyqnI4NKPXj+4I\nctYmqeGhmCi/QbjNiwIlQsPS4wljzE/C8zZ1ywj5tpyEqf9wwvJjBUHa5JhL\nNh7TRVYqeyc6uaG1khNYn4AwiBwScMxtDrXrFzP2K6LBPH/gH/l5ECECvMRG\nXT1o/c+Q9M+zPxFXNWxzF/chk/cf74flzw4JGNWFYxebhvio8/EkFpn9Hgfj\nu96BHKJ1+oK2ZjrcBIMcQwaRiQOdSLKyUYfVzoUs2yXpn1y7pcaQlqGftERe\nDRxJpIVtpvS2sq14LSVnWX0HAvOpWKJ4tgMDZB/N0og/u/DbFXNE5p2R9OvD\n2MmUPFy000f5PqGg3Z1KoQ3BajVSvSwxJHYe/sp0KdBBgqfY97+RVEnaVyYU\nxKBK0wV7wh2zJwtAXRz6Q66jOzbNp4Grr4GLjWmyjvJDAcRNwh6aI6etfFP+\nDRj6zSuMyJlNy2Qr8lQ6kUzEWdU7ZZ8Depqty9xR5R6+AHc23kVHuyMJL9Iu\nOa4opxz9GyP0u/e7Ecby5Q73u4t+uVuA+633qY1UTG/1nIY3F8+9P58v6nTh\nR/7p\r\n=Oxzd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCm4/jJMUA9JOwMc2xZXU/1HJsdekIyvg9f7nlvGApkegIgQPJPmQ2R04kIZsZp6qVHzcASkJDvbc0Rcou2Kdx/ttk="}]},"_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-date-range_2.0.0_1604937795205_0.32277189724517696"},"_hasShrinkwrap":false},"2.0.1":{"name":"@terminus/ui-date-range","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/date-range"},"peerDependencies":{"@angular/cdk":"^9.2.4","@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.1.0","@terminus/ui-form-field":"^2.1.0","@terminus/ui-icon":"^2.1.5","@terminus/ui-input":"^2.1.3","@terminus/ui-pipes":"^1.1.3","@terminus/ui-spacing":"^1.1.2","@terminus/ui-utilities":"^1.1.0","@terminus/ui-validation-messages":"^1.1.2","@terminus/ui-validators":"^2.0.2","date-fns":"^2.16.1","rxjs":"^6.5.0","text-mask-addons":"^3.8.0","text-mask-core":"^5.1.2"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12"},"description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@2.0.1","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-6JX7E71GeVFjFun4al5bDSxvWxdAcyzFKqaWwagITdwWinhO0gYZ5kYfEtgIRUESwIJWl5eGRQWD4Sm5UIiO0Q==","shasum":"41d5f1ebcc19f14ec27cf0bac3555231659fc778","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-2.0.1.tgz","fileCount":69,"unpackedSize":402843,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfq9MDCRA9TVsSAnZWagAAglMP/06N/SitUNm7XzRhICxA\nVv4i61ejxd+lLUbcR7WuadacFctSUYzxCpTLAMUOygc9mS5nop2Wint94kmj\nczjtghn/dyIdQDucXBtHBD1DCqaqwqfWYjdRyesULT1SH5f/XztoBirZaUpL\nqi1jpfeuYZb/wJwc7Tg3ztzy/toZaZhINa/8ZwfYB35jLdXAfoDOdbOMBERH\nd5ZNWrz8kU+EvjP4JoQ8TYPjXpoOGfzqmhanIrO5WYlRhUIscoYEYecWNHqj\n3ntZpflnEX1+AuLS3ZSDj06m0VFB+XexVgJC28kmePah8QvJP41PnPnFvM2Q\nP8KtCHxeLL7fIqTsgyFAp7swrzIc2BFmIHW7Vvn6v2ErOvX4ZIWqZWiAblIP\nagEMAMRy/soOYBomnNV26ywLlixLNDZsqMj4tnLNwlB+QTzKKQdKXEUnLMzx\nxkD6Py6fRgpRJo50InylMH9Iu++gMGY7Ok499mSqEV5c7VMLvP1nqaGdChkM\ntne5mI5t9reiABqrsTu8M3FwPRHowQDGe9MTUezo3a0V8G9MLg+Yi9HDkG12\n3wHsMjuwMDzfBgPQQoElUElxKR+g9wuKv7Daau6lAa4Bf5PgyeFT2gcFlisg\nS93limyjNuPBNNZL479D7C2Se671JCrpiCowy0/io4qUN0iUBPjtN5cAnshG\nQqxb\r\n=DwTg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBPPFsIYYSS1ziaOj1vH/MpfHBEKvuq1bXirfVlmaSz3AiEAzshod4+om6n/1RQSX9ZdtCl2AZp0E/xdBkjY9fEpD1o="}]},"_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-date-range_2.0.1_1605096195321_0.20876055303710617"},"_hasShrinkwrap":false},"2.0.2":{"name":"@terminus/ui-date-range","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/date-range"},"peerDependencies":{"@angular/cdk":"^9.2.4","@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.1.0","@terminus/ui-form-field":"^2.1.0","@terminus/ui-icon":"^2.1.5","@terminus/ui-input":"^2.1.3","@terminus/ui-pipes":"^1.1.3","@terminus/ui-spacing":"^1.1.2","@terminus/ui-utilities":"^1.1.0","@terminus/ui-validation-messages":"^1.1.2","@terminus/ui-validators":"^2.0.2","date-fns":"^2.16.1","rxjs":"^6.5.0","text-mask-addons":"^3.8.0","text-mask-core":"^5.1.2"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12"},"readme":"<h1>Date Range</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  - [Event driven](#event-driven)\n  - [Date range boundaries](#date-range-boundaries)\n  - [Disabling](#disabling)\n    - [Disable a control](#disable-a-control)\n    - [Disable the component](#disable-the-component)\n- [Test Helpers](#test-helpers)\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-form-field`\n- `@terminus/ui-icon`\n- `@terminus/ui-input`\n- `@terminus/ui-pipes`\n- `@terminus/ui-validation-messages`\n- `@terminus/ui-validators`\n- `@terminus/ui-spacing`\n- `@terminus/ui-utilities`\n- `@terminus/ui-date-range`\n- `text-mask-core`\n- `text-mask-addons`\n- `date-fns`\n\nUse the `ng add` command to quickly install all the needed dependencies:\n\n```bash\nng add @terminus/ui-date-range\n```\n\n### Modules that need to be in NgModule\n\n- `TsDateRangeModule`\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\nPass in the form control:\n\n```html\n<form [formGroup]=\"myForm\" novalidate>\n  <ts-date-range [dateFormGroup]=\"myForm.get('dateRange')\"></ts-date-range>\n\n  <button (click)=\"submit(myForm.value)\">Submit</button>\n</form>\n```\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  // Showing a nested example since usually a date range would be nested in a group\n  dateRange: this.formBuilder.group({\n    startDate: [ // This control MUST be named `startDate`\n      new Date(2017, 4, 6),\n    ],\n    endDate: [ // This MUST be named `endDate`\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n```\n\n**NOTE:** The keys inside the `formGroup` passed to the `dateFormGroup` input must be named\n`startDate` and `endDate`. (see example directly above)\n\n**NOTE:** If using a form with nested form groups, _each group_ must be created with\n`formBuilder.group` for the form `get` control to work:\n\n```typescript\n// Notice the nested `dateRange` object without using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: {\n    startDate: [\n      new Date(2017, 4, 6),\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  },\n});\n\n// THIS WILL FAIL!\nconst range = myForm.get('dateRange');\n\n//////////////////////////////////////////////////\n\n// Notice the nested `dateRange` object IS using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      new Date(2017, 4, 6),\n      [\n        Validators.required,\n      ],\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n      [\n        Validators.required,\n      ],\n    ],\n  }),\n});\n\n// Now there is a group for us to 'get'\nconst range = myForm.get('dateRange');\n```\n\n### Event driven\n\nThere are three selection events that you can tie into:\n\n```html\n<ts-date-range\n  (startSelected)=\"myMethod($event)\"\n  (endSelected)=\"myMethod($event)\"\n  (dateRangeChange)=\"myMethod($event)\"\n></ts-date-range>\n```\n\n1. `startSelected` is fired when a start date is selected.\n1. `endSelected` is fired when an end date is selected.\n1. `dateRangeChange` is fired when the date range changes.\n\n### Date range boundaries\n\nTo define bounds for date selection, pass in a valid `Date` to each of these `@Inputs`:\n\n1. `endMaxDate`\n1. `endMinDate`\n1. `startMaxDate`\n1. `startMinDate`\n\n```html\n<ts-date-range\n  [startMinDate]=\"startDate1\"\n  [startMaxDate]=\"startDate2\"\n  [endMinDate]=\"endDate1\"\n  [endMaxDate]=\"endDate2\"\n></ts-date-range>\n```\n\n```typescript\nstartDate1 = new Date(2017, 1, 1);\nstartDate2 = new Date(2017, 8, 1);\nendDate1 = new Date(2017, 1, 2);\nendDate2 = new Date(2017, 8, 2;\n```\n\n### Disabling\n\n#### Disable a control\n\nControls can be enabled or disabled via the associated form control:\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      {\n        value: new Date(2017, 4, 6),\n        disabled: true,\n      },\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n\n// Enable it at any time:\nconst ctrl = this.myForm.get('dateRange.startDate')\nif (ctr) {\n  ctrl.enable();\n}\n```\n\n#### Disable the component\n\nThe entire component can be disabled:\n\n```html\n<ts-date-range [isDisabled]=\"true\"></ts-date-range>\n```\n\n## Test Helpers\n\nSome helpers are exposed to assist with testing. These are imported from `@terminus/ui-date-range/testing`;\n\n| Function                 |\n|--------------------------|\n| `createDateRangeGroup`   |\n| `getDebugRangeInputs`    |\n| `getRangeInputInstances` |\n| `getRangeInputElements`  |\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-date-range.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-date-range\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-date-range/bundles/terminus-ui-date-range.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-date-range/bundles/terminus-ui-date-range.umd.js\n","readmeFilename":"README.md","description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@2.0.2","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-UtBjSxB1CK7DuLPLyny5u1zlWiqyfLU+aKusyWuOkdY42VIwT+AellpWfrAd9yNHJVrgu9BdyU1xATbmdt8Zew==","shasum":"a0f2f767650b86f0b4673b31fb8f47fc63f63db8","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-2.0.2.tgz","fileCount":69,"unpackedSize":402943,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfq+7ACRA9TVsSAnZWagAA9UsQAIqVtRaSyC5lMLKUgjs2\n8hh/TMz7+t5E2X4aH6XdIVntu6ToHRbmqNcjXl8ZJVso1l+RSYWBF2Ykku8D\nlhNBWzu236iQfO3Dm/eOjR9s7XfDXYAAtkfQxGelb2i7OSkjs1033SJdnjYp\nXtfxEhGELySkN2DS6vbJ80NUjyGRIrIvn7NqYaPX15aKW81K99dR8YQrrrG2\nTlb6cmWwEbO+PSQlCxUMR7qzEN4T4fNXojY82irb6ECML+BmyAWvWvSeNb9Q\nwQFxxqvj+Y5oYUzQ3nZbIK6Yk6OrtII6FWsUm42T1//K4HQCclozcH3qyyIH\nbvBrB7v+ZZXncE63Cfwk9qZjgRFeWVfTvBJPYl1aotX8CCabqbpcu9241jdt\nksuIrhMxVOVRWIWNPm7HzQ3OSC7uijg6Faj9INDRYpw4nidVo4Ziz95T/EGf\nQx20QkEbWluwEFk/60NhdcBcYNHQ33xoTprI9to1UqAQBdoiryImHrEsbNWY\n7+cO7ar2QYon4M3ViMDuVdH44+5PiEX+tnpE9PytuAz3Np2qN0SoUhTHrtVr\nbxrVFPPTu5ZKpgg7pgX9Kjo8smWby3C6MD4VnRTc1o/9/PJ1mRqpkeE8fZGd\nC9Wm88UpmuC7dphxOQ6rCwkci/N6YrB7AVQU+3q3lp/RWxhA9Q2hqjqCswqL\nX2wV\r\n=ATcL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGhWbw6KEnb3bt6pe/jdG8K/9qZZBObDgFJ44M48PbYAAiB4IATJEo4sMlgKTlfC+b43HcdpqFqwCyyMJXN5FZDcIA=="}]},"_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-date-range_2.0.2_1605103296407_0.9142492182890778"},"_hasShrinkwrap":false},"2.0.3":{"name":"@terminus/ui-date-range","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/date-range"},"peerDependencies":{"@angular/cdk":"^9.2.4","@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.1.0","@terminus/ui-form-field":"^2.1.0","@terminus/ui-icon":"^2.1.5","@terminus/ui-input":"^2.1.3","@terminus/ui-pipes":"^1.1.3","@terminus/ui-spacing":"^1.1.2","@terminus/ui-styles":"^1.1.0","@terminus/ui-utilities":"^1.1.0","@terminus/ui-validation-messages":"^1.1.2","@terminus/ui-validators":"^2.0.2","date-fns":"^2.16.1","rxjs":"^6.5.0","text-mask-addons":"^3.8.0","text-mask-core":"^5.1.2"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"dependencies":{"tslib":"^1.10.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12"},"description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@2.0.3","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-aT0DR02WPiukUlSjtbtRozw9AAYxtBMx4l8cagQmD5mzLYswSPr8OGTkX/VQZd+5zQ4xK/dp6u+YCQG0p0d6xw==","shasum":"829305cbaf7660589316a2f895e7b19e3c5dbcbf","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-2.0.3.tgz","fileCount":69,"unpackedSize":403342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrB2hCRA9TVsSAnZWagAAonUP/jpJy43opv1zMBJCBpZ0\nSP8Tzml5skyDKi7f9O0waZ1f31XBZm8pyzI1aU9zIHdmr3pLWkyoj0+EbMSv\nCCKK25CooBHxTb0VIHwcL1ZNnsEH0+cKRTc0mY4enZ78B8ghsxjqhK3RAkWm\nXON4kk7CGmJ51u8OXpNXOi3DTNVTZWBaWT8iLB50BCVuZv1icRVimJQ/iA82\nGAYEKBihNrwWs5k2uIp97Kwju0oFLxbOWsZKBqxutBxTVME4oeXj0xvlNXb/\nk52ouH667Ij+DmLdHKBl0Eeen6T/TRvnx0H2MPUppkqwDGzK+ksYOsqWcUXs\nDDDW1F6PR2XXtBtAxYKJJpDjeTlHpD8KyEFRhqvm8Uyx7njMAxgGqNC+c9IL\n9q11ps1pmHaJym+9UN7gGY8RkE0ZIUZEljacMswpGwwWyqwp7UkJ2wHzQ8pP\nfdRoOC+F3OsaqbXDhQfRSl2txbHrtW4mmSVHkx1tDmiEbr3N0q+dEoR8wpUa\n4c5ZwciWz7mDfYe1Hu7/ufBBp5SKLd8ADoCn6QfSr6PXLy/hJVZXt5bQt2Ws\nDGeYieWkajmzHM6mebtBRam7mPLwHVlCwV7Sd9vQjsiSzuAV9sFC2vo4Wawd\ntACkMlrisi4DWIRagCnjII7GbYLW1Hjs//72QEF2ZqqV6wTCWPeMxvL/0q42\nsLEI\r\n=hDoO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFaEU2XcqMoNiR9YCATCXI0PTWAVnV8Wkg8tem8SWzV0AiEAo5m1OPP0GTfWnl/1KN1GlcQ6JgT4dBybr8qko/9wkKg="}]},"_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-date-range_2.0.3_1605115296841_0.016629263727836907"},"_hasShrinkwrap":false},"3.0.0":{"name":"@terminus/ui-date-range","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/date-range"},"dependencies":{"tslib":"^1.10.0","@angular-devkit/schematics":"9.1.9","@schematics/angular":"9.1.12"},"peerDependencies":{"@angular/cdk":"^9.2.4","@angular/common":"^9.1.0","@angular/core":"^9.1.0","@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.1.0","@terminus/ui-input":"^3.0.0","@terminus/ui-pipes":"^1.1.3","@terminus/ui-styles":"^1.1.0","date-fns":"^2.16.1","rxjs":"^6.5.0","text-mask-addons":"^3.8.0","text-mask-core":"^5.1.2"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm5/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm5":"esm5/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm5":"fesm5/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@3.0.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-pFePGS/0QrceOGfa8/JyuSFsu3TjbcjlTR7bXncM3i2R/o0AZq27JK7vD5ZO4o8Qh61BM1U02lh2UJ0nZN3dHA==","shasum":"c748aafb1dfca536eab7ac2b4df93c9c89ac39b2","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-3.0.0.tgz","fileCount":69,"unpackedSize":410350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfykTjCRA9TVsSAnZWagAAPr0QAJgVMMiZW52DuEoRonrL\nmVXwAyXN4pGKSW9kT3O06ffy54Ubaexp42L0NsQU+kEIRaRRMI/Ptli288j2\nyzc6A54R6FVPT7h2MVC03y244cGyZtTrczzUVXayyNWk0EDleU4yjTEelqcl\n7xAwrGa4HO1KM0iOYjed5WzoMbUESuKl2OOwkX0FNhBNZDzVPFIngRCDO04W\n7z4SVL1A9OkGyXWGVsorVs+ia7iAYYDnrsNgq50srTWfYAFroUbHvxJHJjI8\nuUtESYQB4vVmkm5XgtNQljOMOtOGo8TH1QNWJo0cMDdqjmOJCi+U/1Xq947K\neGeNVcoZ4Kiem+XhvcNAB6UTN44tC5rldh8nLhw/fYxVFOlwMlaVpVTGVbMq\nZghX6u4JZGcVuZdBDtqdvOpbPfYJFWJDU32/CBLwE0ratdcSyzRZBLSZYayG\nargzPSWPSX6t0bOBZ9kDdwXTF85qXEjIO/7H6BibvzC0JkA0YQVskV2dfXrY\nEJA51AX7jox4ucaz/tvTaw6mVZ+xn1Wrt3Qu5X7xW3jDLXvcR53O7z61DMtc\nTdX+a20mIMP1ftKmKSrunZmbuqvPCy4O73kHVK612RBnQR2ka4f8WDnR6set\nefxENQptvw9BXunhlxdxq2Q6SylKQRShfc7oHFRAdFbhMvY3+391xx5EHmoj\nwNO9\r\n=QHAX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIELn2lqrRF5M/AeBXEatGmZLiYKk72voLK8WL8L9InFLAiEAhStaQ/JFmAuTfriZe7JCOCiwPtViN1h786YlqDU21gg="}]},"_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-date-range_3.0.0_1607091426617_0.8021363288595564"},"_hasShrinkwrap":false},"4.0.0":{"name":"@terminus/ui-date-range","version":"4.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/date-range"},"dependencies":{"tslib":"^2.0.3","@angular-devkit/schematics":"11.0.4","@schematics/angular":"11.0.4"},"peerDependencies":{"@angular/cdk":"^11.0.3","@angular/common":"^11.0.4","@angular/core":"^11.0.4","@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-input":"^4.0.0","@terminus/ui-pipes":"^2.0.0","@terminus/ui-styles":"^2.0.0","date-fns":"^2.16.1","rxjs":"^6.6.3","text-mask-addons":"^3.8.0","text-mask-core":"^5.1.2"},"schematics":"./schematics/collection.json","main":"bundles/terminus-ui-date-range.umd.js","module":"fesm2015/terminus-ui-date-range.js","es2015":"fesm2015/terminus-ui-date-range.js","esm2015":"esm2015/terminus-ui-date-range.js","fesm2015":"fesm2015/terminus-ui-date-range.js","typings":"terminus-ui-date-range.d.ts","metadata":"terminus-ui-date-range.metadata.json","sideEffects":false,"readme":"<h1>Date Range</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  - [Event driven](#event-driven)\n  - [Date range boundaries](#date-range-boundaries)\n  - [Disabling](#disabling)\n    - [Disable a control](#disable-a-control)\n    - [Disable the component](#disable-the-component)\n  - [Default open](#default-open)\n  - [Error message](#error-message)\n- [Test Helpers](#test-helpers)\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-date-range\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\nPass in the form control:\n\n```html\n<form [formGroup]=\"myForm\" novalidate>\n  <ts-date-range [dateFormGroup]=\"myForm.get('dateRange')\"></ts-date-range>\n\n  <button (click)=\"submit(myForm.value)\">Submit</button>\n</form>\n```\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  // Showing a nested example since usually a date range would be nested in a group\n  dateRange: this.formBuilder.group({\n    startDate: [ // This control MUST be named `startDate`\n      new Date(2017, 4, 6),\n    ],\n    endDate: [ // This MUST be named `endDate`\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n```\n\n**NOTE:** The keys inside the `formGroup` passed to the `dateFormGroup` input must be named\n`startDate` and `endDate`. (see example directly above)\n\n**NOTE:** If using a form with nested form groups, _each group_ must be created with\n`formBuilder.group` for the form `get` control to work:\n\n```typescript\n// Notice the nested `dateRange` object without using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: {\n    startDate: [\n      new Date(2017, 4, 6),\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  },\n});\n\n// THIS WILL FAIL!\nconst range = myForm.get('dateRange');\n\n//////////////////////////////////////////////////\n\n// Notice the nested `dateRange` object IS using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      new Date(2017, 4, 6),\n      [\n        Validators.required,\n      ],\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n      [\n        Validators.required,\n      ],\n    ],\n  }),\n});\n\n// Now there is a group for us to 'get'\nconst range = myForm.get('dateRange');\n```\n\n### Event driven\n\nThere are three selection events that you can tie into:\n\n```html\n<ts-date-range\n  (startSelected)=\"myMethod($event)\"\n  (endSelected)=\"myMethod($event)\"\n  (dateRangeChange)=\"myMethod($event)\"\n></ts-date-range>\n```\n\n1. `startSelected` is fired when a start date is selected.\n1. `endSelected` is fired when an end date is selected.\n1. `dateRangeChange` is fired when the date range changes.\n\n### Date range boundaries\n\nTo define bounds for date selection, pass in a valid `Date` to each of these `@Inputs`:\n\n1. `endMaxDate`\n1. `endMinDate`\n1. `startMaxDate`\n1. `startMinDate`\n\n```html\n<ts-date-range\n  [startMinDate]=\"startDate1\"\n  [startMaxDate]=\"startDate2\"\n  [endMinDate]=\"endDate1\"\n  [endMaxDate]=\"endDate2\"\n></ts-date-range>\n```\n\n```typescript\nstartDate1 = new Date(2017, 1, 1);\nstartDate2 = new Date(2017, 8, 1);\nendDate1 = new Date(2017, 1, 2);\nendDate2 = new Date(2017, 8, 2;\n```\n\n### Disabling\n\n#### Disable a control\n\nControls can be enabled or disabled via the associated form control:\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      {\n        value: new Date(2017, 4, 6),\n        disabled: true,\n      },\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n\n// Enable it at any time:\nconst ctrl = this.myForm.get('dateRange.startDate')\nif (ctr) {\n  ctrl.enable();\n}\n```\n\n#### Disable the component\n\nThe entire component can be disabled:\n\n```html\n<ts-date-range [isDisabled]=\"true\"></ts-date-range>\n```\n\n### Default open\n\nThe start or end date datepicker can be opened on load:\n\n```html\n<ts-date-range [defaultStartDatepickerOpen]=\"true\"></ts-date-range>\n<!-- or -->\n<ts-date-range [defaultEndDatepickerOpen]=\"true\"></ts-date-range>\n```\n\n### Error message\n\nA custom error message can be displayed:\n\n```html\n<ts-date-range errorMessage=\"My error message!\"></ts-date-range>\n```\n\n## Test Helpers\n\nSome helpers are exposed to assist with testing. These are imported from `@terminus/ui-date-range/testing`;\n\n| Function                 |\n|--------------------------|\n| `createDateRangeGroup`   |\n| `getDebugRangeInputs`    |\n| `getRangeInputInstances` |\n| `getRangeInputElements`  |\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-date-range.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-date-range\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-date-range/bundles/terminus-ui-date-range.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-date-range/bundles/terminus-ui-date-range.umd.js\n","readmeFilename":"README.md","description":"<h1>Date Range</h1>","_id":"@terminus/ui-date-range@4.0.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-siaE1HczeN6bfbGp8UVeTWTVPIDpqxRlRTNPLCBmkQkBwy/lkn6ycxmTvZ1VNnlVpiiOHFUZc5Cp40PKXKqUOQ==","shasum":"5fab26b5238e8962fe5d7356a26dd1ab76210a0f","tarball":"https://registry.npmjs.org/@terminus/ui-date-range/-/ui-date-range-4.0.0.tgz","fileCount":51,"unpackedSize":266749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2he9CRA9TVsSAnZWagAAfUgQAItgix2XHZBHeJpNTbVB\ny+QICN7RuIOi2YyS5JI4AvC/VpDkY/1kpB0nt57ZOHf8xRN2SEtm6OwGZFuv\njKNtzlLgtcHjquXHU4r8ASm5sKMF/i+Lx8mr84wGWUPzk/Ons2zaBK+fGF4W\np47rVnncGYVTZmXkv169n5baQwh5QCiWrNuH0GVN5A6YsZZRhU8DCAE8413y\nGSHV8CpiX8xtkE2FS7/RymZOfDlt1LL+aMKkiARQWt951bsLl8GZkZQcFOHp\nb81fSkeCl0mQQWHhzDNf6S0VsmizMuyfd5nd4w17MQHhrxfjDCeM/A2+dMy/\nhXHPHuQR/ddJ+P8XSzV0a4RV0lyDkOb1tlPVCY5/wSlq58ViCLXQ+jQ2Tk6X\nQHOkxBWoMksKBH83l3rqObzzA/GhHcH+/BsRCmN5aCN3UL0pr3AvVz721fOn\nv80PjoxCmMv7VeKXmoDi1+KzD/gOdwobbqckuEiSlNQwCeR790awynGV2tkj\nvCOGWjbGI/MAQJ9mhShbkpEj7f55S6hopfWHcqazQRhKz9n8233uttztD0QC\nmT2XAsmMylXIUnweYkJOKfibTVBttbhBg5GCgHq2rQ6JK2nszX2lLXaqLs37\n6TipxiAmmt/3S9IlGlVoGhBZsS0rl2E+cVpZs/jQxU8qAXvnWNtEH67rsH2h\nrO/I\r\n=vXtr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQPfqrF4GylG0UecWvkD9DIIlnW0ir9oldCQVUWdcMdAIhAOlaXc5h/EhdjIu/765YdO78cqlfDyObuwdzHlhvH1eh"}]},"_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-date-range_4.0.0_1608128444762_0.2915610830131494"},"_hasShrinkwrap":false}},"time":{"created":"2020-06-02T05:30:04.768Z","0.0.1":"2020-06-02T05:30:05.065Z","modified":"2022-04-07T05:16:11.146Z","1.0.0":"2020-06-04T18:27:46.878Z","1.0.1":"2020-06-05T02:18:02.313Z","1.0.2":"2020-06-10T18:53:44.230Z","1.0.3":"2020-06-11T14:18:11.222Z","1.0.4":"2020-06-23T15:34:57.164Z","1.0.5":"2020-07-07T15:38:45.245Z","1.0.6":"2020-07-13T19:23:52.375Z","1.0.7":"2020-07-27T19:39:50.520Z","1.0.8":"2020-07-28T15:29:03.428Z","1.0.9":"2020-07-31T14:00:31.529Z","1.0.10":"2020-08-10T16:20:20.145Z","1.0.11":"2020-08-10T17:41:34.506Z","1.0.12":"2020-08-14T15:29:56.769Z","1.0.13":"2020-09-04T15:01:58.172Z","1.1.0":"2020-09-08T18:52:15.860Z","1.1.1":"2020-09-11T14:30:43.188Z","1.1.2":"2020-09-11T17:35:07.259Z","1.1.3":"2020-09-14T17:38:33.806Z","1.1.4":"2020-09-24T19:13:31.097Z","1.1.5":"2020-10-01T16:37:28.526Z","2.0.0":"2020-11-09T16:03:15.332Z","2.0.1":"2020-11-11T12:03:15.565Z","2.0.2":"2020-11-11T14:01:36.577Z","2.0.3":"2020-11-11T17:21:36.974Z","3.0.0":"2020-12-04T14:17:06.794Z","4.0.0":"2020-12-16T14:20:44.959Z"},"maintainers":[{"email":"brian.malinconico@terminus.com","name":"bmalinconico-terminus"},{"email":"atlwendy@gmail.com","name":"atlwendy"},{"email":"devops@terminus.com","name":"terminus_devops"}],"description":"<h1>Date Range</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>Date Range</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  - [Event driven](#event-driven)\n  - [Date range boundaries](#date-range-boundaries)\n  - [Disabling](#disabling)\n    - [Disable a control](#disable-a-control)\n    - [Disable the component](#disable-the-component)\n  - [Default open](#default-open)\n  - [Error message](#error-message)\n- [Test Helpers](#test-helpers)\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-date-range\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\nPass in the form control:\n\n```html\n<form [formGroup]=\"myForm\" novalidate>\n  <ts-date-range [dateFormGroup]=\"myForm.get('dateRange')\"></ts-date-range>\n\n  <button (click)=\"submit(myForm.value)\">Submit</button>\n</form>\n```\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  // Showing a nested example since usually a date range would be nested in a group\n  dateRange: this.formBuilder.group({\n    startDate: [ // This control MUST be named `startDate`\n      new Date(2017, 4, 6),\n    ],\n    endDate: [ // This MUST be named `endDate`\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n```\n\n**NOTE:** The keys inside the `formGroup` passed to the `dateFormGroup` input must be named\n`startDate` and `endDate`. (see example directly above)\n\n**NOTE:** If using a form with nested form groups, _each group_ must be created with\n`formBuilder.group` for the form `get` control to work:\n\n```typescript\n// Notice the nested `dateRange` object without using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: {\n    startDate: [\n      new Date(2017, 4, 6),\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  },\n});\n\n// THIS WILL FAIL!\nconst range = myForm.get('dateRange');\n\n//////////////////////////////////////////////////\n\n// Notice the nested `dateRange` object IS using `.group`\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      new Date(2017, 4, 6),\n      [\n        Validators.required,\n      ],\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n      [\n        Validators.required,\n      ],\n    ],\n  }),\n});\n\n// Now there is a group for us to 'get'\nconst range = myForm.get('dateRange');\n```\n\n### Event driven\n\nThere are three selection events that you can tie into:\n\n```html\n<ts-date-range\n  (startSelected)=\"myMethod($event)\"\n  (endSelected)=\"myMethod($event)\"\n  (dateRangeChange)=\"myMethod($event)\"\n></ts-date-range>\n```\n\n1. `startSelected` is fired when a start date is selected.\n1. `endSelected` is fired when an end date is selected.\n1. `dateRangeChange` is fired when the date range changes.\n\n### Date range boundaries\n\nTo define bounds for date selection, pass in a valid `Date` to each of these `@Inputs`:\n\n1. `endMaxDate`\n1. `endMinDate`\n1. `startMaxDate`\n1. `startMinDate`\n\n```html\n<ts-date-range\n  [startMinDate]=\"startDate1\"\n  [startMaxDate]=\"startDate2\"\n  [endMinDate]=\"endDate1\"\n  [endMaxDate]=\"endDate2\"\n></ts-date-range>\n```\n\n```typescript\nstartDate1 = new Date(2017, 1, 1);\nstartDate2 = new Date(2017, 8, 1);\nendDate1 = new Date(2017, 1, 2);\nendDate2 = new Date(2017, 8, 2;\n```\n\n### Disabling\n\n#### Disable a control\n\nControls can be enabled or disabled via the associated form control:\n\n```typescript\nmyForm: FormGroup = this.formBuilder.group({\n  dateRange: this.formBuilder.group({\n    startDate: [\n      {\n        value: new Date(2017, 4, 6),\n        disabled: true,\n      },\n    ],\n    endDate: [\n      new Date(2017, 4, 8),\n    ],\n  }),\n});\n\n// Enable it at any time:\nconst ctrl = this.myForm.get('dateRange.startDate')\nif (ctr) {\n  ctrl.enable();\n}\n```\n\n#### Disable the component\n\nThe entire component can be disabled:\n\n```html\n<ts-date-range [isDisabled]=\"true\"></ts-date-range>\n```\n\n### Default open\n\nThe start or end date datepicker can be opened on load:\n\n```html\n<ts-date-range [defaultStartDatepickerOpen]=\"true\"></ts-date-range>\n<!-- or -->\n<ts-date-range [defaultEndDatepickerOpen]=\"true\"></ts-date-range>\n```\n\n### Error message\n\nA custom error message can be displayed:\n\n```html\n<ts-date-range errorMessage=\"My error message!\"></ts-date-range>\n```\n\n## Test Helpers\n\nSome helpers are exposed to assist with testing. These are imported from `@terminus/ui-date-range/testing`;\n\n| Function                 |\n|--------------------------|\n| `createDateRangeGroup`   |\n| `getDebugRangeInputs`    |\n| `getRangeInputInstances` |\n| `getRangeInputElements`  |\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-date-range.svg\n[npm-package]:         https://www.npmjs.com/package/@terminus/ui-date-range\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-date-range/bundles/terminus-ui-date-range.umd.min.js?compression=gzip\n[raw-distribution-js]: https://unpkg.com/@terminus/ui-date-range/bundles/terminus-ui-date-range.umd.js\n","readmeFilename":"README.md"}