@paperless/core 2.3.1 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -247,6 +247,13 @@ export class Datepicker {
247
247
  this._onInputTimeout = null;
248
248
  }
249
249
  this._onInputTimeout = setTimeout(() => {
250
+ if (value.length === 0) {
251
+ if (this._value === null) {
252
+ return;
253
+ }
254
+ this._setValue(null);
255
+ return;
256
+ }
250
257
  const parsedValue = parse(value, parseFormat, new Date());
251
258
  if (!isValid(parsedValue) || format(parsedValue, parseFormat) !== value) {
252
259
  if (this.mode === 'day') {
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/datepicker/datepicker.component.tsx"],"names":[],"mappings":"AACA,OAAO,EACN,eAAe,EACf,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,GACL,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,EACT,OAAO,EACP,SAAS,EACT,KAAK,EACL,UAAU,EACV,YAAY,EACZ,WAAW,GACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAQtD,MAAM,OAAO,UAAU;IACtB;;OAEG;IACK,WAAW,CAAS;IAE5B;;OAEG;IACK,KAAK,CAAmC;IAEhD;;OAEG;IACK,cAAc,GAAY,KAAK,CAAC;IAExC;;OAEG;IACK,kBAAkB,GAAY,IAAI,CAAC;IAE3C;;OAEG;IACK,aAAa,CAAiC;IAEtD;;OAEG;IACK,OAAO,CAAiB;IAEhC;;OAEG;IACK,OAAO,CAAiB;IAEhC;;OAEG;IACK,eAAe,GAAY,KAAK,CAAC;IAEzC;;OAEG;IACK,WAAW,GAAY,IAAI,CAAC;IAEpC;;OAEG;IACK,SAAS,GAAW,OAAO,CAAC;IAEpC;;OAEG;IACK,IAAI,GAA6B,KAAK,CAAC;IAE/C;;OAEG;IAIH,WAAW,CAAoB;IAE/B;;OAEG;IACK,MAAM,GAAW,YAAY,CAAC;IAEtC;;OAEG;IACK,kBAAkB,GAAY,KAAK,CAAC;IAE5C;;OAEG;IACK,IAAI,GAAkB,MAAM,CAAC;IAErC;;OAEG;IACK,MAAM,CAAS;IAEvB;;OAEG;IACK,KAAK,CAAS;IAEtB;;OAEG;IACK,OAAO,GAAY,KAAK,CAAC;IAEjC;;OAEG;IACK,MAAM,CAAS;IAEvB;;OAEG;IACsB,QAAQ,CAAU;IAE3C;;OAEG;IACsB,YAAY,GAAY,IAAI,CAAC;IAEtD;;OAEG;IACsB,KAAK,CAAS;IAEvC;;OAEG;IACsB,QAAQ,GAAY,KAAK,CAAC;IAEnD;;OAEG;IACK,QAAQ,GAAa,UAAU,CAAC;IAExC;;OAEG;IACsB,SAAS,GAAc,cAAc,CAAC;IAE/D;;OAEG;IACgB,GAAG,CAAc;IAEnB,aAAa,GAAQ,KAAK,CAAC;IAC3B,MAAM,CAAO;IACb,QAAQ,CAAO;IACf,QAAQ,CAAO;IACf,cAAc,GAAW,EAAE,CAAC;IAC5B,gBAAgB,GAAY,KAAK,CAAC;IAEhC,UAAU,CAAmB;IAExC,eAAe,CAAiB;IAChC,SAAS,CAAyC;IAClD,aAAa,CAAmB;IAEhC,eAAe,GAAG;QACzB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,YAAY;QACnB,GAAG,EAAE,YAAY;QACjB,WAAW,EAAE,UAAU;KACvB,CAAC;IAGQ,UAAU,CAAC,KAAoB;QACxC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACnC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAGS,YAAY,CAAC,OAAsB;QAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;IAGS,YAAY,CAAC,OAAsB;QAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;IAGS,kBAAkB,CAAC,aAA4C;QACxE,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACvC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACrD,OAAO;QACR,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,cAAc,GAAG,aAAa;aACjC,GAAG,CAAC,IAAI,CAAC,EAAE;YACX,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;YAED,OAAO,IAAI,CAAC;QACb,CAAC,CAAC;aACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,oBAAoB,CAAC,QAAiB;QACrC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC3B,OAAO;QACR,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,iBAAiB;QAChB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,eAAe,EAAE,CAAC;QAE1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM;QACL,OAAO,CACN,mEACC,aAAa,EAAE,IAAI,EACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,mBAAmB,EAAE,IAAI,EACzB,aAAa,EAAE,KAAK,EACpB,cAAc,EAAE,KAAK,EACrB,WAAW,EAAE,IAAI,EACjB,IAAI,EAAE,IAAI,CAAC,aAAa;YAExB,gEACC,IAAI,EAAC,SAAS,EACd,IAAI,EACH,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAEnE,YAAY,EAAC,OAAO,EACpB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAClC,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAC7D,aAAa,EAAE,KAAK,EACpB,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAClC,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAC5B,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,MAAgB,CAAC,EAC7D,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,GAC1C;YAEV,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,gBAAgB,IAAI,CACpD,8DACC,IAAI,EAAC,SAAS,EACd,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC5C,KAAK,EAAC,6EAA6E,EACnF,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EACtC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,EACtC,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EACvD,GAAG,EAAE,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,EACjE,GAAG,EAAE,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,GAChE,CACF;YACD,4DAAK,IAAI,EAAC,OAAO;gBAChB,mEACC,OAAO,EAAC,UAAU,EAClB,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,EACpD,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,IAAI,EAAE,IAAI,CAAC,IAAI,GACd,CACG,CACM,CACb,CAAC;IACH,CAAC;IAGS,oBAAoB,CAAC,EAAE,MAAM,EAAE;QACxC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO;QACR,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC5B,CAAC;IAEO,QAAQ;QACf,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACtB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC3B,CAAC;IAEO,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM;QACxC,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACjD,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAE9B,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO;QACR,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAE3D,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3B,OAAO;QACR,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,IAAI,WAAW,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxC,OAAO;QACR,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEO,cAAc,CAAC,KAAa,EAAE,WAAW,GAAG,IAAI,CAAC,MAAM;QAC9D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YACtC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;YAE1D,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,KAAK,KAAK,EAAE,CAAC;gBACzE,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;gBACjE,CAAC;gBAED,OAAO;YACR,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC,EAAE,GAAG,CAAC,CAAC;IACT,CAAC;IAEO,cAAc,CAAC,EAAE;QACxB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,SAAS,CACb,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EACzD,KAAK,CACL,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,KAAkB,EAAE,YAAY,GAAG,IAAI;QACxD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO;QACR,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM;oBACrC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;oBACnC,CAAC,CAAC,IAAI,CAAC;YACT,CAAC;YAED,OAAO;QACR,CAAC;QAED,KAAK;YACJ,IAAI,CAAC,IAAI,KAAK,KAAK;gBAClB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;gBACnB,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;oBACvB,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;oBACrB,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAElD,IAAI,WAAW,EAAE,CAAC;YACjB,OAAO;QACR,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEO,cAAc,CAAC,GAAS;QAC/B,OAAO,CACN,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/D,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAChE,CAAC;IACH,CAAC;IAEO,iBAAiB;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACX,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import { Placement, Strategy } from '@floating-ui/dom';\nimport {\n\tAttachInternals,\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport {\n\tformat,\n\tisAfter,\n\tisBefore,\n\tisSameDay,\n\tisValid,\n\tisWeekend,\n\tparse,\n\tstartOfDay,\n\tstartOfMonth,\n\tstartOfYear,\n} from 'date-fns';\nimport { childOf, isMobileBrowser } from '../../../utils';\nimport { asBoolean } from '../../../utils/as-boolean';\n\n@Component({\n\ttag: 'p-datepicker',\n\tstyleUrl: 'datepicker.component.css',\n\tshadow: false,\n\tformAssociated: true,\n})\nexport class Datepicker {\n\t/**\n\t * The placeholder of the input\n\t */\n\t@Prop() placeholder: string;\n\n\t/**\n\t * The current value\n\t */\n\t@Prop() value: Date | string | null | undefined;\n\n\t/**\n\t * Wethter to automatically preselect today\n\t */\n\t@Prop() preselectToday: boolean = false;\n\n\t/**\n\t * Enable native picker for mobile devices\n\t */\n\t@Prop() enableNativePicker: boolean = true;\n\n\t/**\n\t * Disabled dates\n\t */\n\t@Prop() disabledDates?: Array<Date | string> | string;\n\n\t/**\n\t * Min date\n\t */\n\t@Prop() minDate?: Date | string;\n\n\t/**\n\t * Max date\n\t */\n\t@Prop() maxDate?: Date | string;\n\n\t/**\n\t * Wether to disable the weekends\n\t */\n\t@Prop() disableWeekends: boolean = false;\n\n\t/**\n\t * Wether to enable the today button\n\t */\n\t@Prop() enableToday: boolean = true;\n\n\t/**\n\t * The text to display on the today tooltip\n\t */\n\t@Prop() todayText: string = 'today';\n\n\t/**\n\t * The mode of the datepicker\n\t */\n\t@Prop() mode: 'year' | 'month' | 'day' = 'day';\n\n\t/**\n\t * Event when the value changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tvalueChange: EventEmitter<any>;\n\n\t/**\n\t * The display & parse format to use\n\t */\n\t@Prop() format: string = 'dd-MM-yyyy';\n\n\t/**\n\t * Hides the icon when filled\n\t */\n\t@Prop() hideIconWhenFilled: boolean = false;\n\n\t/**\n\t * The size of the input group used by the datepicker\n\t */\n\t@Prop() size: 'sm' | 'base' = 'base';\n\n\t/**\n\t * The prefix of the input group used by the datepicker\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The label of the input group used by the datepicker\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * Wether the field is loading\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * The helper of the input group used by the datepicker\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean;\n\n\t/**\n\t * Wether to show optional when not required\n\t */\n\t@Prop({ reflect: true }) showOptional: boolean = true;\n\n\t/**\n\t * The helper of the input group used by the datepicker\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * Wether the input group is disabled used by the datepicker\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * The strategy of the dropdown placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * The placement of the dropdown\n\t */\n\t@Prop({ reflect: true }) placement: Placement = 'bottom-start';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _showDropdown: any = false;\n\t@State() private _value: Date;\n\t@State() private _minDate: Date;\n\t@State() private _maxDate: Date;\n\t@State() private _disabledDates: Date[] = [];\n\t@State() private _isMobileBrowser: boolean = false;\n\n\t@AttachInternals() _internals: ElementInternals;\n\n\tprivate _onInputTimeout: NodeJS.Timeout;\n\tprivate _inputRef: HTMLInputElement | HTMLTextAreaElement;\n\tprivate _dateInputRef: HTMLInputElement;\n\n\tprivate _defaultFormats = {\n\t\tyear: 'yyyy',\n\t\tmonth: 'LLLL, yyyy',\n\t\tday: 'dd-MM-yyyy',\n\t\tdayNoDashes: 'ddMMyyyy',\n\t};\n\n\t@Watch('value')\n\tprotected parseValue(value: string | Date) {\n\t\tif (!value && this.preselectToday) {\n\t\t\tvalue = new Date();\n\t\t}\n\n\t\tif (typeof value === 'string') {\n\t\t\tvalue = new Date(value);\n\t\t}\n\n\t\tthis._setValue(value);\n\t}\n\n\t@Watch('minDate')\n\tprotected parseMinDate(minDate: string | Date) {\n\t\tif (typeof minDate === 'string') {\n\t\t\tminDate = new Date(minDate);\n\t\t}\n\n\t\tif (!isValid(minDate)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._minDate = minDate;\n\n\t\tif (isBefore(this._value, this._minDate)) {\n\t\t\tthis._setValue(null);\n\t\t}\n\t}\n\n\t@Watch('maxDate')\n\tprotected parseMaxDate(maxDate: string | Date) {\n\t\tif (typeof maxDate === 'string') {\n\t\t\tmaxDate = new Date(maxDate);\n\t\t}\n\n\t\tif (!isValid(maxDate)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._maxDate = maxDate;\n\n\t\tif (isAfter(this._value, this._maxDate)) {\n\t\t\tthis._setValue(null);\n\t\t}\n\t}\n\n\t@Watch('disabledDates')\n\tprotected parseDisabledDates(disabledDates: Array<string | Date> | string) {\n\t\tif (typeof disabledDates === 'string') {\n\t\t\tdisabledDates = JSON.parse(disabledDates);\n\t\t}\n\n\t\tif (!disabledDates || !Array.isArray(disabledDates)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// normalize all to date\n\t\tthis._disabledDates = disabledDates\n\t\t\t.map(date => {\n\t\t\t\tif (typeof date === 'string') {\n\t\t\t\t\treturn new Date(date);\n\t\t\t\t}\n\n\t\t\t\treturn date;\n\t\t\t})\n\t\t\t.filter(date => isValid(date));\n\n\t\tif (this._isDisabledDay(this._value)) {\n\t\t\tthis._setValue(null);\n\t\t}\n\t}\n\n\tformResetCallback() {\n\t\tthis._setValue(null);\n\t}\n\n\tformDisabledCallback(disabled: boolean) {\n\t\tif (!this._internals.form) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.disabled = disabled;\n\t}\n\n\tcomponentWillLoad() {\n\t\tif (this.disabledDates) {\n\t\t\tthis.parseDisabledDates(this.disabledDates);\n\t\t}\n\n\t\tif (this.minDate) {\n\t\t\tthis.parseMinDate(this.minDate);\n\t\t}\n\n\t\tif (this.maxDate) {\n\t\t\tthis.parseMaxDate(this.maxDate);\n\t\t}\n\n\t\tif (this.mode !== 'day' && this.format === this._defaultFormats['day']) {\n\t\t\tthis.format = this._defaultFormats[this.mode];\n\t\t}\n\n\t\tthis._isMobileBrowser = isMobileBrowser();\n\n\t\tthis.parseValue(this.value);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<p-dropdown\n\t\t\t\tallowOverflow={true}\n\t\t\t\tstrategy={this.strategy}\n\t\t\t\tplacement={this.placement}\n\t\t\t\tdisableTriggerClick={true}\n\t\t\t\tapplyMaxWidth={false}\n\t\t\t\tapplyFullWidth={false}\n\t\t\t\tinsideClick={true}\n\t\t\t\tshow={this._showDropdown}\n\t\t\t>\n\t\t\t\t<p-field\n\t\t\t\t\tslot='trigger'\n\t\t\t\t\ticon={\n\t\t\t\t\t\tthis.hideIconWhenFilled && !!this._value ? null : 'calendar-multi'\n\t\t\t\t\t}\n\t\t\t\t\ticonPosition='start'\n\t\t\t\t\tsize={this.size}\n\t\t\t\t\tprefix={this.prefix}\n\t\t\t\t\tlabel={this.label}\n\t\t\t\t\tloading={this.loading}\n\t\t\t\t\thelper={this.helper}\n\t\t\t\t\trequired={asBoolean(this.required)}\n\t\t\t\t\tshowOptional={asBoolean(this.showOptional)}\n\t\t\t\t\terror={this.error}\n\t\t\t\t\tforceShowTooltip={!!this.error?.length && !this._showDropdown}\n\t\t\t\t\tautoShowError={false}\n\t\t\t\t\tdisabled={asBoolean(this.disabled)}\n\t\t\t\t\tfocused={this._showDropdown}\n\t\t\t\t\tvalue={this._getFormattedDate()}\n\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\tonFocus={() => this._onFocus()}\n\t\t\t\t\tonBlur={() => this._onBlur()}\n\t\t\t\t\tonValueChange={ev => this._onValueChange(ev.detail as string)}\n\t\t\t\t\tonInputRefChange={ev => (this._inputRef = ev.detail)}\n\t\t\t\t></p-field>\n\n\t\t\t\t{this.enableNativePicker && this._isMobileBrowser && (\n\t\t\t\t\t<input\n\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\ttype={this.mode === 'day' ? 'date' : 'month'}\n\t\t\t\t\t\tclass='pointer-events-none absolute left-0 top-0 z-[-10] overflow-hidden opacity-0'\n\t\t\t\t\t\tonInput={ev => this._onNativeInput(ev)}\n\t\t\t\t\t\tref={ref => (this._dateInputRef = ref)}\n\t\t\t\t\t\tvalue={this._value && format(this._value, 'yyyy-MM-dd')}\n\t\t\t\t\t\tmin={this.minDate && format(new Date(this.minDate), 'yyyy-MM-dd')}\n\t\t\t\t\t\tmax={this.maxDate && format(new Date(this.maxDate), 'yyyy-MM-dd')}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<div slot='items'>\n\t\t\t\t\t<p-calendar\n\t\t\t\t\t\tvariant='embedded'\n\t\t\t\t\t\tvalue={this._value}\n\t\t\t\t\t\tonValueChange={({ detail }) => (this.value = detail)}\n\t\t\t\t\t\tpreselectToday={this.preselectToday}\n\t\t\t\t\t\tdisabledDates={this.disabledDates}\n\t\t\t\t\t\tminDate={this.minDate}\n\t\t\t\t\t\tmaxDate={this.maxDate}\n\t\t\t\t\t\tdisableWeekends={this.disableWeekends}\n\t\t\t\t\t\tenableToday={this.enableToday}\n\t\t\t\t\t\ttodayText={this.todayText}\n\t\t\t\t\t\tmode={this.mode}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</p-dropdown>\n\t\t);\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler({ target }) {\n\t\tif (!this._showDropdown || childOf(target, this._el)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\tprivate _onFocus() {\n\t\tif (this._isMobileBrowser && this._dateInputRef) {\n\t\t\tthis._dateInputRef.focus();\n\t\t\tthis._dateInputRef.showPicker();\n\t\t\tthis._inputRef.blur();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = true;\n\t}\n\n\tprivate _onBlur(parseFormat = this.format) {\n\t\tif (this._isMobileBrowser && this._dateInputRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst target = this._inputRef;\n\n\t\tif (target.value === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = parse(target.value, parseFormat, new Date());\n\n\t\tif (value === this._value) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst valid = isValid(value);\n\t\tif (!valid && parseFormat === this.format && this.mode === 'day') {\n\t\t\treturn this._onBlur(this._defaultFormats['dayNoDashes']);\n\t\t}\n\n\t\tif (!valid || this._isDisabledDay(value)) {\n\t\t\ttarget.value = this._getFormattedDate();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._setValue(value, false);\n\t}\n\n\tprivate _onValueChange(value: string, parseFormat = this.format) {\n\t\tif (this._onInputTimeout) {\n\t\t\tclearTimeout(this._onInputTimeout);\n\t\t\tthis._onInputTimeout = null;\n\t\t}\n\n\t\tthis._onInputTimeout = setTimeout(() => {\n\t\t\tconst parsedValue = parse(value, parseFormat, new Date());\n\n\t\t\tif (!isValid(parsedValue) || format(parsedValue, parseFormat) !== value) {\n\t\t\t\tif (this.mode === 'day') {\n\t\t\t\t\tthis._onValueChange(value, this._defaultFormats['dayNoDashes']);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._setValue(parsedValue, false);\n\t\t}, 300);\n\t}\n\n\tprivate _onNativeInput(ev) {\n\t\tif (!ev.target) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._onInputTimeout) {\n\t\t\tclearTimeout(this._onInputTimeout);\n\t\t\tthis._onInputTimeout = null;\n\t\t}\n\n\t\tthis._onInputTimeout = setTimeout(() => {\n\t\t\tthis._setValue(\n\t\t\t\tev.target.value === '' ? null : new Date(ev.target.value),\n\t\t\t\tfalse\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate _setValue(value: Date | null, hideDropdown = true) {\n\t\tif (value === null) {\n\t\t\tthis._value = null;\n\t\t\tthis.valueChange.emit(null);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!isValid(value)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isDisabledDay(value)) {\n\t\t\tif (!!this._dateInputRef?.value) {\n\t\t\t\tthis._dateInputRef.value = this._value\n\t\t\t\t\t? format(this._value, 'yyyy-MM-dd')\n\t\t\t\t\t: null;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tvalue =\n\t\t\tthis.mode === 'day'\n\t\t\t\t? startOfDay(value)\n\t\t\t\t: this.mode === 'month'\n\t\t\t\t? startOfMonth(value)\n\t\t\t\t: startOfYear(value);\n\t\tconst isSameValue = isSameDay(value, this._value);\n\n\t\tif (isSameValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (hideDropdown) {\n\t\t\tthis._showDropdown = false;\n\t\t}\n\n\t\tthis._value = value;\n\t\tthis.valueChange.emit(value);\n\t}\n\n\tprivate _isDisabledDay(day: Date) {\n\t\treturn (\n\t\t\t(this.disableWeekends && isWeekend(day)) ||\n\t\t\t(isBefore(day, this._minDate) && !isSameDay(day, this._minDate)) ||\n\t\t\t(isAfter(day, this._maxDate) && !isSameDay(day, this._maxDate)) ||\n\t\t\tthis._disabledDates.findIndex(date => isSameDay(date, day)) >= 0\n\t\t);\n\t}\n\n\tprivate _getFormattedDate() {\n\t\tif (!this._value) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn format(this._value, this.format);\n\t}\n}\n"]}
1
+ {"version":3,"file":"datepicker.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/datepicker/datepicker.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Placement, Strategy } from '@floating-ui/dom';\nimport {\n\tAttachInternals,\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport {\n\tformat,\n\tisAfter,\n\tisBefore,\n\tisSameDay,\n\tisValid,\n\tisWeekend,\n\tparse,\n\tstartOfDay,\n\tstartOfMonth,\n\tstartOfYear,\n} from 'date-fns';\nimport { childOf, isMobileBrowser } from '../../../utils';\nimport { asBoolean } from '../../../utils/as-boolean';\n\n@Component({\n\ttag: 'p-datepicker',\n\tstyleUrl: 'datepicker.component.css',\n\tshadow: false,\n\tformAssociated: true,\n})\nexport class Datepicker {\n\t/**\n\t * The placeholder of the input\n\t */\n\t@Prop() placeholder: string;\n\n\t/**\n\t * The current value\n\t */\n\t@Prop() value: Date | string | null | undefined;\n\n\t/**\n\t * Wethter to automatically preselect today\n\t */\n\t@Prop() preselectToday: boolean = false;\n\n\t/**\n\t * Enable native picker for mobile devices\n\t */\n\t@Prop() enableNativePicker: boolean = true;\n\n\t/**\n\t * Disabled dates\n\t */\n\t@Prop() disabledDates?: Array<Date | string> | string;\n\n\t/**\n\t * Min date\n\t */\n\t@Prop() minDate?: Date | string;\n\n\t/**\n\t * Max date\n\t */\n\t@Prop() maxDate?: Date | string;\n\n\t/**\n\t * Wether to disable the weekends\n\t */\n\t@Prop() disableWeekends: boolean = false;\n\n\t/**\n\t * Wether to enable the today button\n\t */\n\t@Prop() enableToday: boolean = true;\n\n\t/**\n\t * The text to display on the today tooltip\n\t */\n\t@Prop() todayText: string = 'today';\n\n\t/**\n\t * The mode of the datepicker\n\t */\n\t@Prop() mode: 'year' | 'month' | 'day' = 'day';\n\n\t/**\n\t * Event when the value changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tvalueChange: EventEmitter<any>;\n\n\t/**\n\t * The display & parse format to use\n\t */\n\t@Prop() format: string = 'dd-MM-yyyy';\n\n\t/**\n\t * Hides the icon when filled\n\t */\n\t@Prop() hideIconWhenFilled: boolean = false;\n\n\t/**\n\t * The size of the input group used by the datepicker\n\t */\n\t@Prop() size: 'sm' | 'base' = 'base';\n\n\t/**\n\t * The prefix of the input group used by the datepicker\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The label of the input group used by the datepicker\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * Wether the field is loading\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * The helper of the input group used by the datepicker\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean;\n\n\t/**\n\t * Wether to show optional when not required\n\t */\n\t@Prop({ reflect: true }) showOptional: boolean = true;\n\n\t/**\n\t * The helper of the input group used by the datepicker\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * Wether the input group is disabled used by the datepicker\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * The strategy of the dropdown placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * The placement of the dropdown\n\t */\n\t@Prop({ reflect: true }) placement: Placement = 'bottom-start';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _showDropdown: any = false;\n\t@State() private _value: Date;\n\t@State() private _minDate: Date;\n\t@State() private _maxDate: Date;\n\t@State() private _disabledDates: Date[] = [];\n\t@State() private _isMobileBrowser: boolean = false;\n\n\t@AttachInternals() _internals: ElementInternals;\n\n\tprivate _onInputTimeout: NodeJS.Timeout;\n\tprivate _inputRef: HTMLInputElement | HTMLTextAreaElement;\n\tprivate _dateInputRef: HTMLInputElement;\n\n\tprivate _defaultFormats = {\n\t\tyear: 'yyyy',\n\t\tmonth: 'LLLL, yyyy',\n\t\tday: 'dd-MM-yyyy',\n\t\tdayNoDashes: 'ddMMyyyy',\n\t};\n\n\t@Watch('value')\n\tprotected parseValue(value: string | Date) {\n\t\tif (!value && this.preselectToday) {\n\t\t\tvalue = new Date();\n\t\t}\n\n\t\tif (typeof value === 'string') {\n\t\t\tvalue = new Date(value);\n\t\t}\n\n\t\tthis._setValue(value);\n\t}\n\n\t@Watch('minDate')\n\tprotected parseMinDate(minDate: string | Date) {\n\t\tif (typeof minDate === 'string') {\n\t\t\tminDate = new Date(minDate);\n\t\t}\n\n\t\tif (!isValid(minDate)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._minDate = minDate;\n\n\t\tif (isBefore(this._value, this._minDate)) {\n\t\t\tthis._setValue(null);\n\t\t}\n\t}\n\n\t@Watch('maxDate')\n\tprotected parseMaxDate(maxDate: string | Date) {\n\t\tif (typeof maxDate === 'string') {\n\t\t\tmaxDate = new Date(maxDate);\n\t\t}\n\n\t\tif (!isValid(maxDate)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._maxDate = maxDate;\n\n\t\tif (isAfter(this._value, this._maxDate)) {\n\t\t\tthis._setValue(null);\n\t\t}\n\t}\n\n\t@Watch('disabledDates')\n\tprotected parseDisabledDates(disabledDates: Array<string | Date> | string) {\n\t\tif (typeof disabledDates === 'string') {\n\t\t\tdisabledDates = JSON.parse(disabledDates);\n\t\t}\n\n\t\tif (!disabledDates || !Array.isArray(disabledDates)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// normalize all to date\n\t\tthis._disabledDates = disabledDates\n\t\t\t.map(date => {\n\t\t\t\tif (typeof date === 'string') {\n\t\t\t\t\treturn new Date(date);\n\t\t\t\t}\n\n\t\t\t\treturn date;\n\t\t\t})\n\t\t\t.filter(date => isValid(date));\n\n\t\tif (this._isDisabledDay(this._value)) {\n\t\t\tthis._setValue(null);\n\t\t}\n\t}\n\n\tformResetCallback() {\n\t\tthis._setValue(null);\n\t}\n\n\tformDisabledCallback(disabled: boolean) {\n\t\tif (!this._internals.form) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.disabled = disabled;\n\t}\n\n\tcomponentWillLoad() {\n\t\tif (this.disabledDates) {\n\t\t\tthis.parseDisabledDates(this.disabledDates);\n\t\t}\n\n\t\tif (this.minDate) {\n\t\t\tthis.parseMinDate(this.minDate);\n\t\t}\n\n\t\tif (this.maxDate) {\n\t\t\tthis.parseMaxDate(this.maxDate);\n\t\t}\n\n\t\tif (this.mode !== 'day' && this.format === this._defaultFormats['day']) {\n\t\t\tthis.format = this._defaultFormats[this.mode];\n\t\t}\n\n\t\tthis._isMobileBrowser = isMobileBrowser();\n\n\t\tthis.parseValue(this.value);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<p-dropdown\n\t\t\t\tallowOverflow={true}\n\t\t\t\tstrategy={this.strategy}\n\t\t\t\tplacement={this.placement}\n\t\t\t\tdisableTriggerClick={true}\n\t\t\t\tapplyMaxWidth={false}\n\t\t\t\tapplyFullWidth={false}\n\t\t\t\tinsideClick={true}\n\t\t\t\tshow={this._showDropdown}\n\t\t\t>\n\t\t\t\t<p-field\n\t\t\t\t\tslot='trigger'\n\t\t\t\t\ticon={\n\t\t\t\t\t\tthis.hideIconWhenFilled && !!this._value ? null : 'calendar-multi'\n\t\t\t\t\t}\n\t\t\t\t\ticonPosition='start'\n\t\t\t\t\tsize={this.size}\n\t\t\t\t\tprefix={this.prefix}\n\t\t\t\t\tlabel={this.label}\n\t\t\t\t\tloading={this.loading}\n\t\t\t\t\thelper={this.helper}\n\t\t\t\t\trequired={asBoolean(this.required)}\n\t\t\t\t\tshowOptional={asBoolean(this.showOptional)}\n\t\t\t\t\terror={this.error}\n\t\t\t\t\tforceShowTooltip={!!this.error?.length && !this._showDropdown}\n\t\t\t\t\tautoShowError={false}\n\t\t\t\t\tdisabled={asBoolean(this.disabled)}\n\t\t\t\t\tfocused={this._showDropdown}\n\t\t\t\t\tvalue={this._getFormattedDate()}\n\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\tonFocus={() => this._onFocus()}\n\t\t\t\t\tonBlur={() => this._onBlur()}\n\t\t\t\t\tonValueChange={ev => this._onValueChange(ev.detail as string)}\n\t\t\t\t\tonInputRefChange={ev => (this._inputRef = ev.detail)}\n\t\t\t\t></p-field>\n\n\t\t\t\t{this.enableNativePicker && this._isMobileBrowser && (\n\t\t\t\t\t<input\n\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\ttype={this.mode === 'day' ? 'date' : 'month'}\n\t\t\t\t\t\tclass='pointer-events-none absolute left-0 top-0 z-[-10] overflow-hidden opacity-0'\n\t\t\t\t\t\tonInput={ev => this._onNativeInput(ev)}\n\t\t\t\t\t\tref={ref => (this._dateInputRef = ref)}\n\t\t\t\t\t\tvalue={this._value && format(this._value, 'yyyy-MM-dd')}\n\t\t\t\t\t\tmin={this.minDate && format(new Date(this.minDate), 'yyyy-MM-dd')}\n\t\t\t\t\t\tmax={this.maxDate && format(new Date(this.maxDate), 'yyyy-MM-dd')}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<div slot='items'>\n\t\t\t\t\t<p-calendar\n\t\t\t\t\t\tvariant='embedded'\n\t\t\t\t\t\tvalue={this._value}\n\t\t\t\t\t\tonValueChange={({ detail }) => (this.value = detail)}\n\t\t\t\t\t\tpreselectToday={this.preselectToday}\n\t\t\t\t\t\tdisabledDates={this.disabledDates}\n\t\t\t\t\t\tminDate={this.minDate}\n\t\t\t\t\t\tmaxDate={this.maxDate}\n\t\t\t\t\t\tdisableWeekends={this.disableWeekends}\n\t\t\t\t\t\tenableToday={this.enableToday}\n\t\t\t\t\t\ttodayText={this.todayText}\n\t\t\t\t\t\tmode={this.mode}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</p-dropdown>\n\t\t);\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler({ target }) {\n\t\tif (!this._showDropdown || childOf(target, this._el)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\tprivate _onFocus() {\n\t\tif (this._isMobileBrowser && this._dateInputRef) {\n\t\t\tthis._dateInputRef.focus();\n\t\t\tthis._dateInputRef.showPicker();\n\t\t\tthis._inputRef.blur();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = true;\n\t}\n\n\tprivate _onBlur(parseFormat = this.format) {\n\t\tif (this._isMobileBrowser && this._dateInputRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst target = this._inputRef;\n\n\t\tif (target.value === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = parse(target.value, parseFormat, new Date());\n\n\t\tif (value === this._value) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst valid = isValid(value);\n\t\tif (!valid && parseFormat === this.format && this.mode === 'day') {\n\t\t\treturn this._onBlur(this._defaultFormats['dayNoDashes']);\n\t\t}\n\n\t\tif (!valid || this._isDisabledDay(value)) {\n\t\t\ttarget.value = this._getFormattedDate();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._setValue(value, false);\n\t}\n\n\tprivate _onValueChange(value: string, parseFormat = this.format) {\n\t\tif (this._onInputTimeout) {\n\t\t\tclearTimeout(this._onInputTimeout);\n\t\t\tthis._onInputTimeout = null;\n\t\t}\n\n\t\tthis._onInputTimeout = setTimeout(() => {\n\t\t\tif (value.length === 0) {\n\t\t\t\tif (this._value === null) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis._setValue(null);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst parsedValue = parse(value, parseFormat, new Date());\n\n\t\t\tif (!isValid(parsedValue) || format(parsedValue, parseFormat) !== value) {\n\t\t\t\tif (this.mode === 'day') {\n\t\t\t\t\tthis._onValueChange(value, this._defaultFormats['dayNoDashes']);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._setValue(parsedValue, false);\n\t\t}, 300);\n\t}\n\n\tprivate _onNativeInput(ev) {\n\t\tif (!ev.target) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._onInputTimeout) {\n\t\t\tclearTimeout(this._onInputTimeout);\n\t\t\tthis._onInputTimeout = null;\n\t\t}\n\n\t\tthis._onInputTimeout = setTimeout(() => {\n\t\t\tthis._setValue(\n\t\t\t\tev.target.value === '' ? null : new Date(ev.target.value),\n\t\t\t\tfalse\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate _setValue(value: Date | null, hideDropdown = true) {\n\t\tif (value === null) {\n\t\t\tthis._value = null;\n\t\t\tthis.valueChange.emit(null);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!isValid(value)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isDisabledDay(value)) {\n\t\t\tif (!!this._dateInputRef?.value) {\n\t\t\t\tthis._dateInputRef.value = this._value\n\t\t\t\t\t? format(this._value, 'yyyy-MM-dd')\n\t\t\t\t\t: null;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tvalue =\n\t\t\tthis.mode === 'day'\n\t\t\t\t? startOfDay(value)\n\t\t\t\t: this.mode === 'month'\n\t\t\t\t? startOfMonth(value)\n\t\t\t\t: startOfYear(value);\n\t\tconst isSameValue = isSameDay(value, this._value);\n\n\t\tif (isSameValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (hideDropdown) {\n\t\t\tthis._showDropdown = false;\n\t\t}\n\n\t\tthis._value = value;\n\t\tthis.valueChange.emit(value);\n\t}\n\n\tprivate _isDisabledDay(day: Date) {\n\t\treturn (\n\t\t\t(this.disableWeekends && isWeekend(day)) ||\n\t\t\t(isBefore(day, this._minDate) && !isSameDay(day, this._minDate)) ||\n\t\t\t(isAfter(day, this._maxDate) && !isSameDay(day, this._maxDate)) ||\n\t\t\tthis._disabledDates.findIndex(date => isSameDay(date, day)) >= 0\n\t\t);\n\t}\n\n\tprivate _getFormattedDate() {\n\t\tif (!this._value) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn format(this._value, this.format);\n\t}\n}\n"]}
@@ -3113,6 +3113,13 @@ const Datepicker = /*@__PURE__*/ proxyCustomElement(class Datepicker extends H {
3113
3113
  this._onInputTimeout = null;
3114
3114
  }
3115
3115
  this._onInputTimeout = setTimeout(() => {
3116
+ if (value.length === 0) {
3117
+ if (this._value === null) {
3118
+ return;
3119
+ }
3120
+ this._setValue(null);
3121
+ return;
3122
+ }
3116
3123
  const parsedValue = parse(value, parseFormat, new Date());
3117
3124
  if (!isValid(parsedValue) || format(parsedValue, parseFormat) !== value) {
3118
3125
  if (this.mode === 'day') {