@aquera/nile-elements 1.3.4-beta-1.3 → 1.3.4-beta-1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/demo/index.html +4 -2
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +219 -213
- package/dist/nile-date-picker/index.cjs.js +1 -1
- package/dist/nile-date-picker/index.esm.js +1 -1
- package/dist/nile-date-picker/nile-date-picker-utils.cjs.js +2 -0
- package/dist/nile-date-picker/nile-date-picker-utils.cjs.js.map +1 -0
- package/dist/nile-date-picker/nile-date-picker-utils.esm.js +1 -0
- package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
- package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
- package/dist/nile-date-picker/nile-date-picker.esm.js +9 -3
- package/dist/src/nile-date-picker/nile-date-picker-utils.d.ts +7 -0
- package/dist/src/nile-date-picker/nile-date-picker-utils.js +84 -0
- package/dist/src/nile-date-picker/nile-date-picker-utils.js.map +1 -0
- package/dist/src/nile-date-picker/nile-date-picker.d.ts +4 -20
- package/dist/src/nile-date-picker/nile-date-picker.js +42 -135
- package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/nile-date-picker/nile-date-picker-utils.ts +105 -0
- package/src/nile-date-picker/nile-date-picker.ts +62 -187
- package/vscode-html-custom-data.json +9 -5
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["./nile-date-picker.cjs.js","tslib","lit","lit/decorators.js","./nile-date-picker.css.cjs.js","../internal/nile-element.cjs.js"],function(_export,_context){"use strict";return{setters:[function(_nileDatePickerCjsJs){_export("NileDatePicker",_nileDatePickerCjsJs.N);},function(_tslib){},function(_lit){},function(_litDecoratorsJs){},function(_nileDatePickerCssCjsJs){},function(_internalNileElementCjsJs){}],execute:function execute(){}};});
|
|
1
|
+
System.register(["./nile-date-picker.cjs.js","tslib","lit","lit/decorators.js","./nile-date-picker.css.cjs.js","../internal/nile-element.cjs.js","./nile-date-picker-utils.cjs.js"],function(_export,_context){"use strict";return{setters:[function(_nileDatePickerCjsJs){_export("NileDatePicker",_nileDatePickerCjsJs.N);},function(_tslib){},function(_lit){},function(_litDecoratorsJs){},function(_nileDatePickerCssCjsJs){},function(_internalNileElementCjsJs){},function(_nileDatePickerUtilsCjsJs){}],execute:function execute(){}};});
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{N as NileDatePicker}from"./nile-date-picker.esm.js";import"tslib";import"lit";import"lit/decorators.js";import"./nile-date-picker.css.esm.js";import"../internal/nile-element.esm.js";
|
|
1
|
+
export{N as NileDatePicker}from"./nile-date-picker.esm.js";import"tslib";import"lit";import"lit/decorators.js";import"./nile-date-picker.css.esm.js";import"../internal/nile-element.esm.js";import"./nile-date-picker-utils.esm.js";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register([],function(_export,_context){"use strict";function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1;}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r;}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return;}finally{if(o)throw n;}}return a;}}function _arrayWithHoles(r){if(Array.isArray(r))return r;}function n(n,r){if(!n)return null;var u=r.match(/[^A-Z]/i);if(!u)return null;var t=u[0];if(!n.includes(t))return null;var l=n.split(t),e=r.split(t);var i=null,f=null,Y=null;for(var _n=0;_n<e.length;_n++){var _r=e[_n],_u=l[_n];if(!_u)return null;if("DD"===_r){if(2!==_u.length)return null;i=Number(_u);}if("MM"===_r){if(2!==_u.length)return null;f=Number(_u)-1;}if("YYYY"===_r){if(4!==_u.length)return null;Y=Number(_u);}}if(null==i||null==f||null==Y)return null;var s=new Date(Y,f,i);return s.getFullYear()!==Y||s.getMonth()!==f||s.getDate()!==i?null:s;}function r(n,r){if(!n)return"";var u=String(n.getDate()).padStart(2,"0"),t=String(n.getMonth()+1).padStart(2,"0"),l=n.getFullYear();switch(r){case"DD/MM/YYYY":default:return"".concat(u,"/").concat(t,"/").concat(l);case"MM/DD/YYYY":return"".concat(t,"/").concat(u,"/").concat(l);case"YYYY/MM/DD":return"".concat(l,"/").concat(t,"/").concat(u);case"YYYY.MM.DD":return"".concat(l,".").concat(t,".").concat(u);case"DD.MM.YYYY":return"".concat(u,".").concat(t,".").concat(l);}}function u(r,u,t,l){if(!t)return{first:n(r,u),second:null};if(!r.includes(l))return{first:n(r,u),second:null};var _r$split=r.split(l),_r$split2=_slicedToArray(_r$split,2),e=_r$split2[0],i=_r$split2[1];return{first:n(e,u),second:i?n(i,u):null};}function t(n,r){return n&&r&&n.getTime()>r.getTime()?[r,n]:[n,r];}_export({f:r,n:t,p:u});return{setters:[],execute:function execute(){}};});
|
|
2
|
+
//# sourceMappingURL=nile-date-picker-utils.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-date-picker-utils.cjs.js","sources":["../../../src/nile-date-picker/nile-date-picker-utils.ts"],"sourcesContent":["export function parseDateFromFormat(str: string, format: string): Date | null {\n if (!str) return null;\n \n const sepMatch = format.match(/[^A-Z]/i);\n if (!sepMatch) return null;\n const sep = sepMatch[0];\n \n if (!str.includes(sep)) return null;\n \n const parts = str.split(sep);\n const fmtParts = format.split(sep);\n \n let day: number | null = null;\n let month: number | null = null;\n let year: number | null = null;\n \n for (let i = 0; i < fmtParts.length; i++) {\n const f = fmtParts[i];\n const v = parts[i];\n if (!v) return null;\n \n if (f === \"DD\") {\n if (v.length !== 2) return null;\n day = Number(v);\n }\n \n if (f === \"MM\") {\n if (v.length !== 2) return null;\n month = Number(v) - 1;\n }\n \n if (f === \"YYYY\") {\n if (v.length !== 4) return null;\n year = Number(v);\n }\n }\n \n if (day == null || month == null || year == null) return null;\n \n const d = new Date(year, month, day);\n if (\n d.getFullYear() !== year ||\n d.getMonth() !== month ||\n d.getDate() !== day\n ) return null;\n \n return d;\n }\n\n export function formatDateToFormat(date: Date, format: string): string {\n if (!date) return \"\";\n \n const day = String(date.getDate()).padStart(2, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const year = date.getFullYear();\n \n switch (format) {\n case \"DD/MM/YYYY\":\n return `${day}/${month}/${year}`;\n case \"MM/DD/YYYY\":\n return `${month}/${day}/${year}`;\n case \"YYYY/MM/DD\":\n return `${year}/${month}/${day}`;\n case \"YYYY.MM.DD\":\n return `${year}.${month}.${day}`;\n case \"DD.MM.YYYY\":\n return `${day}.${month}.${year}`;\n default:\n return `${day}/${month}/${year}`;\n }\n }\n\n export function parseRangeFromFormat(\n input: string,\n format: string,\n isRange: boolean,\n separator: string\n ) {\n if (!isRange) {\n return { first: parseDateFromFormat(input, format), second: null };\n }\n \n if (!input.includes(separator)) {\n return { first: parseDateFromFormat(input, format), second: null };\n }\n \n const [firstRaw, secondRaw] = input.split(separator);\n \n const first = parseDateFromFormat(firstRaw, format);\n const second = secondRaw ? parseDateFromFormat(secondRaw, format) : null;\n \n return { first, second };\n }\n \n \n export function normalizeDateRange(\n first: Date | null,\n second: Date | null\n ): [Date | null, Date | null] {\n if (first && second && first.getTime() > second.getTime()) {\n return [second, first];\n }\n return [first, second];\n }\n "],"names":["parseDateFromFormat","str","format","sepMatch","match","sep","includes","parts","split","fmtParts","day","month","year","i","length","f","v","Number","d","Date","getFullYear","getMonth","getDate","formatDateToFormat","date","String","padStart","concat","parseRangeFromFormat","input","isRange","separator","first","second","_r$split","firstRaw","secondRaw","normalizeDateRange","getTime","_export"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function n(n,r){if(!n)return null;const u=r.match(/[^A-Z]/i);if(!u)return null;const t=u[0];if(!n.includes(t))return null;const l=n.split(t),e=r.split(t);let i=null,f=null,Y=null;for(let n=0;n<e.length;n++){const r=e[n],u=l[n];if(!u)return null;if("DD"===r){if(2!==u.length)return null;i=Number(u)}if("MM"===r){if(2!==u.length)return null;f=Number(u)-1}if("YYYY"===r){if(4!==u.length)return null;Y=Number(u)}}if(null==i||null==f||null==Y)return null;const s=new Date(Y,f,i);return s.getFullYear()!==Y||s.getMonth()!==f||s.getDate()!==i?null:s}function r(n,r){if(!n)return"";const u=String(n.getDate()).padStart(2,"0"),t=String(n.getMonth()+1).padStart(2,"0"),l=n.getFullYear();switch(r){case"DD/MM/YYYY":default:return`${u}/${t}/${l}`;case"MM/DD/YYYY":return`${t}/${u}/${l}`;case"YYYY/MM/DD":return`${l}/${t}/${u}`;case"YYYY.MM.DD":return`${l}.${t}.${u}`;case"DD.MM.YYYY":return`${u}.${t}.${l}`}}function u(r,u,t,l){if(!t)return{first:n(r,u),second:null};if(!r.includes(l))return{first:n(r,u),second:null};const[e,i]=r.split(l);return{first:n(e,u),second:i?n(i,u):null}}function t(n,r){return n&&r&&n.getTime()>r.getTime()?[r,n]:[n,r]}export{r as f,t as n,u as p};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","./nile-date-picker.css.cjs.js","../internal/nile-element.cjs.js"],function(_export,_context){"use strict";var e,t,i,n,s,l,r,_templateObject,a;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1;}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r;}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return;}finally{if(o)throw n;}}return a;}}function _arrayWithHoles(r){if(Array.isArray(r))return r;}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _superPropGet(t,o,e,r){var p=_get(_getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&"function"==typeof p?function(t){return p.apply(e,t);}:p;}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var p=_superPropBase(e,t);if(p){var n=Object.getOwnPropertyDescriptor(p,t);return n.get?n.get.call(arguments.length<3?e:r):n.value;}},_get.apply(null,arguments);}function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=_getPrototypeOf(t)););return t;}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){e=_tslib.__decorate;},function(_lit){t=_lit.html;},function(_litDecoratorsJs){i=_litDecoratorsJs.property;n=_litDecoratorsJs.query;s=_litDecoratorsJs.customElement;},function(_nileDatePickerCssCjsJs){l=_nileDatePickerCssCjsJs.s;},function(_internalNileElementCjsJs){r=_internalNileElementCjsJs.N;}],execute:function execute(){_export("N",a=/*#__PURE__*/function(_r){function a(){var _this;_classCallCheck(this,a);_this=_callSuper(this,a,arguments),_this.range=!1,_this.hideTypes=!1,_this.doubleClickUnselect=!1,_this.allowClear=!1,_this.open=!1,_this.hideTimeZone=!1,_this.type="absolute",_this.showManualInputs=!1,_this.hideDurationFields=[],_this.allowedDates="{}",_this.jumpToTypedDate=!1,_this.inputFormat="DD/MM/YYYY";return _this;}_inherits(a,_r);return _createClass(a,[{key:"parseDate",value:function parseDate(e){if(!e)return null;var t=this.inputFormat,i=t.match(/[^A-Z]/i);if(!i)return null;var n=i[0];if(!e.includes(n))return null;var s=e.split(n),l=t.split(n);var r=null,_a=null,o=null;for(var _e=0;_e<l.length;_e++){var _t=l[_e],_i=s[_e];if(!_i)return null;if("DD"===_t){if(2!==_i.length)return null;r=Number(_i);}if("MM"===_t){if(2!==_i.length)return null;_a=Number(_i)-1;}if("YYYY"===_t){if(4!==_i.length)return null;o=Number(_i);}}if(null==r||null==_a||null==o)return null;var h=new Date(o,_a,r);return h.getFullYear()!==o||h.getMonth()!==_a||h.getDate()!==r?null:h;}},{key:"formatDate",value:function formatDate(e){if(!e)return"";var t=String(e.getDate()).padStart(2,"0"),i=String(e.getMonth()+1).padStart(2,"0"),n=e.getFullYear();switch(this.inputFormat){case"DD/MM/YYYY":default:return"".concat(t,"/").concat(i,"/").concat(n);case"MM/DD/YYYY":return"".concat(i,"/").concat(t,"/").concat(n);case"YYYY/MM/DD":return"".concat(n,"/").concat(i,"/").concat(t);case"YYYY.MM.DD":return"".concat(n,".").concat(i,".").concat(t);case"DD.MM.YYYY":return"".concat(t,".").concat(i,".").concat(n);}}},{key:"parseRange",value:function parseRange(e){if(!this.range)return{first:this.parseDate(e),second:null};if(!e.includes(" - "))return{first:this.parseDate(e),second:null};var _e$split=e.split(" - "),_e$split2=_slicedToArray(_e$split,2),t=_e$split2[0],i=_e$split2[1],n=this.parseDate(t);var s=null;return i&&i.length>=10&&(s=this.parseDate(i)),{first:n,second:s};}},{key:"jumpTo",value:function jumpTo(e){this.open=!0;var t=this.shadowRoot.querySelector("nile-calendar");t&&(t.currentYear=e.getFullYear(),t.currentMonth=e.getMonth(),t.value=e,t.valueAttribute=e.toISOString());}},{key:"syncRangeCalendar",value:function syncRangeCalendar(e,t){var i=this.shadowRoot.querySelector("nile-calendar");i&&this.range&&(e&&(i.startDate=e),t&&(i.endDate=t),e&&t&&e.getTime()>t.getTime()&&(i.startDate=t,i.endDate=e));}},{key:"firstUpdated",value:function firstUpdated(){var _superPropGet2,_this2=this;if((_superPropGet2=_superPropGet(a,"firstUpdated",this,3))!==null&&_superPropGet2!==void 0&&_superPropGet2([new Map()]),!this.jumpToTypedDate)return;var e=this.querySelector("nile-input");e&&e.addEventListener("nile-input",function(e){var t=e.detail.value,_this2$parseRange=_this2.parseRange(t),i=_this2$parseRange.first,n=_this2$parseRange.second;if(_this2.range){if(i&&!n&&(_this2.jumpTo(i),_this2.syncRangeCalendar(i,null)),i&&n){var _ref;var _e2=i,_t2=n;_e2.getTime()>_t2.getTime()&&(_ref=[_t2,_e2],_e2=_ref[0],_t2=_ref[1],_ref),_this2.jumpTo(_t2),_this2.syncRangeCalendar(_e2,_t2);}}else i&&_this2.jumpTo(i);});}},{key:"render",value:function render(){var _this3=this;return t(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <nile-dropdown .open=\"","\" part=\"dd-base\" .hoist=\"","\" distance=\"6\" exportparts=\"base\">\n <slot slot=\"trigger\" part=\"trigger\" name=\"trigger\"></slot>\n <nile-calendar\n .hideTypes=\"","\"\n \t.type=\"","\"\n value=\"","\"\n .range=\"","\"\n @nile-init=\"","\"\n @nile-destroy=\"","\"\n @nile-changed=\"","\"\n @nile-change=\"","\"\n .allowedDates=\"","\"\n @nile-type-change=\"","\"\n @nile-clear=\"","\"\n .hideDurationFields=\"","\"\n .showManualInputs=\"","\"\n .doubleClickUnselect=\"","\"\n .allowClear=\"","\"\n ></nile-calendar>\n </nile-dropdown>\n "])),this.open,!0,this.hideTypes,this.type,this.value,this.range,function(e){return e.stopPropagation();},function(e){return e.stopPropagation();},function(e){return e.stopPropagation();},this.handleChanged,this.allowedDates,function(e){e.stopPropagation(),_this3.emit("nile-type-change",e.detail);},function(e){e.stopPropagation(),_this3.emit("nile-clear");},this.hideDurationFields,this.showManualInputs,this.doubleClickUnselect,this.allowClear);}},{key:"handleChanged",value:function handleChanged(e){var _this$dropdown2;e.stopPropagation();var t=e.detail,i=this.querySelector("nile-input");if(!this.range){var _this$dropdown;var _e3=t.value;return _e3&&i&&(i.value=this.formatDate(new Date(_e3)),i.emit("nile-input",{value:i.value})),this.emit("nile-changed",t),this.emit("nile-change",t),void((_this$dropdown=this.dropdown)===null||_this$dropdown===void 0?void 0:_this$dropdown.hide());}var n=t.startDate,s=t.endDate;if(i){var _e4="";n&&(_e4+=this.formatDate(new Date(n))),n&&s&&(_e4+=" - "+this.formatDate(new Date(s))),i.value=_e4,i.emit("nile-input",{value:_e4});}this.emit("nile-changed",t),this.emit("nile-change",t),(_this$dropdown2=this.dropdown)===null||_this$dropdown2===void 0?void 0:_this$dropdown2.hide();}},{key:"connectedCallback",value:function connectedCallback(){_superPropGet(a,"connectedCallback",this,3)([]),this.emit("nile-init");}},{key:"disconnectedCallback",value:function disconnectedCallback(){_superPropGet(a,"disconnectedCallback",this,3)([]),this.emit("nile-destroy");}}],[{key:"styles",get:function get(){return[l];}}]);}(r));e([i({type:Boolean})],a.prototype,"range",void 0),e([i({type:Boolean})],a.prototype,"hideTypes",void 0),e([i({type:Boolean,reflect:!0})],a.prototype,"doubleClickUnselect",void 0),e([i({type:Boolean,reflect:!0})],a.prototype,"allowClear",void 0),e([i({type:Boolean})],a.prototype,"open",void 0),e([i({type:Boolean,attribute:"hide-time-zone"})],a.prototype,"hideTimeZone",void 0),e([i({type:String,reflect:!0})],a.prototype,"type",void 0),e([i({type:Boolean,attribute:"showManualInputs"})],a.prototype,"showManualInputs",void 0),e([i()],a.prototype,"value",void 0),e([i({type:Array,attribute:"hide-duration-fields"})],a.prototype,"hideDurationFields",void 0),e([i({attribute:"allowedDates"})],a.prototype,"allowedDates",void 0),e([i({type:Boolean,attribute:!0,reflect:!0})],a.prototype,"jumpToTypedDate",void 0),e([i({type:String,attribute:!0,reflect:!0})],a.prototype,"inputFormat",void 0),e([n("nile-dropdown")],a.prototype,"dropdown",void 0),_export("N",a=e([s("nile-date-picker")],a));}};});
|
|
1
|
+
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","./nile-date-picker.css.cjs.js","../internal/nile-element.cjs.js","./nile-date-picker-utils.cjs.js"],function(_export,_context){"use strict";var e,t,i,s,n,l,a,o,r,h,_templateObject,d;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1;}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r;}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return;}finally{if(o)throw n;}}return a;}}function _arrayWithHoles(r){if(Array.isArray(r))return r;}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _superPropGet(t,o,e,r){var p=_get(_getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&"function"==typeof p?function(t){return p.apply(e,t);}:p;}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var p=_superPropBase(e,t);if(p){var n=Object.getOwnPropertyDescriptor(p,t);return n.get?n.get.call(arguments.length<3?e:r):n.value;}},_get.apply(null,arguments);}function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=_getPrototypeOf(t)););return t;}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){e=_tslib.__decorate;},function(_lit){t=_lit.html;},function(_litDecoratorsJs){i=_litDecoratorsJs.property;s=_litDecoratorsJs.query;n=_litDecoratorsJs.customElement;},function(_nileDatePickerCssCjsJs){l=_nileDatePickerCssCjsJs.s;},function(_internalNileElementCjsJs){a=_internalNileElementCjsJs.N;},function(_nileDatePickerUtilsCjsJs){o=_nileDatePickerUtilsCjsJs.p;r=_nileDatePickerUtilsCjsJs.n;h=_nileDatePickerUtilsCjsJs.f;}],execute:function execute(){_export("N",d=/*#__PURE__*/function(_a){function d(){var _this;_classCallCheck(this,d);_this=_callSuper(this,d,arguments),_this.range=!1,_this.hideTypes=!1,_this.doubleClickUnselect=!1,_this.allowClear=!1,_this.open=!1,_this.hideTimeZone=!1,_this.type="absolute",_this.showManualInputs=!1,_this.hideDurationFields=[],_this.allowedDates="{}",_this.syncDatePicker=!1,_this.dateFormat="DD/MM/YYYY",_this.rangeSeparator=" - ";return _this;}_inherits(d,_a);return _createClass(d,[{key:"firstUpdated",value:function firstUpdated(){var _superPropGet2,_this2=this;if((_superPropGet2=_superPropGet(d,"firstUpdated",this,3))!==null&&_superPropGet2!==void 0&&_superPropGet2([new Map()]),!this.syncDatePicker)return;var e=this.querySelector("nile-input");e&&e.addEventListener("nile-input",function(e){var t=e.detail.value,_o=o(t,_this2.dateFormat,_this2.range,_this2.rangeSeparator),i=_o.first,s=_o.second;if(_this2.range){if(i&&!s&&(_this2.jumpTo(i),_this2.syncRangeCalendar(i,null)),i&&s){var _r=r(i,s),_r2=_slicedToArray(_r,2),_e=_r2[0],_t=_r2[1];_t&&_this2.jumpTo(_t),_this2.syncRangeCalendar(_e,_t);}}else i&&_this2.jumpTo(i);});}},{key:"jumpTo",value:function jumpTo(e){this.open=!0;var t=this.shadowRoot.querySelector("nile-calendar");t&&(t.currentYear=e.getFullYear(),t.currentMonth=e.getMonth(),t.value=e,t.valueAttribute=e.toISOString());}},{key:"syncRangeCalendar",value:function syncRangeCalendar(e,t){var i=this.shadowRoot.querySelector("nile-calendar");i&&this.range&&(e&&(i.startDate=e),t&&(i.endDate=t));}},{key:"render",value:function render(){var _this3=this;return t(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <nile-dropdown .open=\"","\" part=\"dd-base\" .hoist=\"","\" distance=\"6\" exportparts=\"base\">\n <slot slot=\"trigger\" part=\"trigger\" name=\"trigger\"></slot>\n\n <nile-calendar\n .hideTypes=\"","\"\n .type=\"","\"\n value=\"","\"\n .range=\"","\"\n\n @nile-init=\"","\"\n @nile-destroy=\"","\"\n @nile-changed=\"","\"\n\n @nile-change=\"","\"\n\n .allowedDates=\"","\"\n\n @nile-type-change=\"","\"\n @nile-clear=\"","\"\n\n .hideDurationFields=\"","\"\n .showManualInputs=\"","\"\n .doubleClickUnselect=\"","\"\n .allowClear=\"","\"\n ></nile-calendar>\n </nile-dropdown>\n "])),this.open,!0,this.hideTypes,this.type,this.value,this.range,function(e){return e.stopPropagation();},function(e){return e.stopPropagation();},function(e){return e.stopPropagation();},this.handleChanged,this.allowedDates,function(e){e.stopPropagation(),_this3.emit("nile-type-change",e.detail);},function(e){e.stopPropagation(),_this3.emit("nile-clear");},this.hideDurationFields,this.showManualInputs,this.doubleClickUnselect,this.allowClear);}},{key:"handleChanged",value:function handleChanged(e){var _this$dropdown2;e.stopPropagation();var t=e.detail,i=this.querySelector("nile-input");if(!this.range){var _this$dropdown;var _e2=t.value;return _e2&&i&&(i.value=h(new Date(_e2),this.dateFormat),i.emit("nile-input",{value:i.value})),this.emit("nile-changed",t),this.emit("nile-change",t),void((_this$dropdown=this.dropdown)===null||_this$dropdown===void 0?void 0:_this$dropdown.hide());}var s=t.startDate,n=t.endDate;if(i){var _e3="";s&&(_e3+=h(new Date(s),this.dateFormat)),s&&n&&(_e3+=" - "+h(new Date(n),this.dateFormat)),i.value=_e3,i.emit("nile-input",{value:_e3});}this.emit("nile-changed",t),this.emit("nile-change",t),(_this$dropdown2=this.dropdown)===null||_this$dropdown2===void 0?void 0:_this$dropdown2.hide();}},{key:"connectedCallback",value:function connectedCallback(){_superPropGet(d,"connectedCallback",this,3)([]),this.emit("nile-init");}},{key:"disconnectedCallback",value:function disconnectedCallback(){_superPropGet(d,"disconnectedCallback",this,3)([]),this.emit("nile-destroy");}}],[{key:"styles",get:function get(){return[l];}}]);}(a));e([i({type:Boolean})],d.prototype,"range",void 0),e([i({type:Boolean})],d.prototype,"hideTypes",void 0),e([i({type:Boolean,reflect:!0})],d.prototype,"doubleClickUnselect",void 0),e([i({type:Boolean,reflect:!0})],d.prototype,"allowClear",void 0),e([i({type:Boolean})],d.prototype,"open",void 0),e([i({type:Boolean,attribute:"hide-time-zone"})],d.prototype,"hideTimeZone",void 0),e([i({type:String,reflect:!0})],d.prototype,"type",void 0),e([i({type:Boolean,attribute:"showManualInputs"})],d.prototype,"showManualInputs",void 0),e([i()],d.prototype,"value",void 0),e([i({type:Array,attribute:"hide-duration-fields"})],d.prototype,"hideDurationFields",void 0),e([i({attribute:"allowedDates"})],d.prototype,"allowedDates",void 0),e([i({type:Boolean,attribute:!0,reflect:!0})],d.prototype,"syncDatePicker",void 0),e([i({type:String,attribute:!0,reflect:!0})],d.prototype,"dateFormat",void 0),e([i({type:String,attribute:!0,reflect:!0})],d.prototype,"rangeSeparator",void 0),e([s("nile-dropdown")],d.prototype,"dropdown",void 0),_export("N",d=e([n("nile-date-picker")],d));}};});
|
|
2
2
|
//# sourceMappingURL=nile-date-picker.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-date-picker.cjs.js","sources":["../../../src/nile-date-picker/nile-date-picker.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nimport {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n} from 'lit';\nimport { customElement, query, property } from 'lit/decorators.js';\nimport { styles } from './nile-date-picker.css';\nimport NileElement from '../internal/nile-element';\nimport { NileDropdown } from '../nile-dropdown';\n\n/**\n * Nile icon component.\n *\n * @tag nile-date-picker\n *\n */\n@customElement('nile-date-picker')\nexport class NileDatePicker extends NileElement {\n /**\n * The styles for DatePicker\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property({ type: Boolean }) range = false;\n\n @property({ type: Boolean }) hideTypes = false;\n\n @property({ type: Boolean, reflect: true }) doubleClickUnselect = false;\n\n @property({ type: Boolean, reflect: true }) allowClear = false;\n\n @property({ type: Boolean }) open = false;\n\n @property({ type: Boolean, attribute: 'hide-time-zone' }) hideTimeZone = false;\n\n @property({ type: String, reflect: true }) type :'absolute' | 'relative' = 'absolute';\n\n @property({ type: Boolean, attribute: 'showManualInputs' })\n showManualInputs = false;\n\n @property() value: any;\n @property({ type: Array, attribute: 'hide-duration-fields' })\n hideDurationFields: any = [];\n\n @property({ attribute: 'allowedDates' }) allowedDates: any = '{}';\n\n // Jump to typed date activated by user\n @property({ type: Boolean, attribute: true, reflect: true }) jumpToTypedDate = false;\n\n // Strict input format\n @property({ type: String, attribute: true, reflect: true }) inputFormat = \"DD/MM/YYYY\";\n\n\n @query('nile-dropdown') dropdown: NileDropdown;\n\n /**\n * Render method\n * @slot This is a slot test\n */\n private parseDate(str: string): Date | null {\n if (!str) return null;\n\n const fmt = this.inputFormat; \n const sepMatch = fmt.match(/[^A-Z]/i);\n if (!sepMatch) return null;\n const sep = sepMatch[0];\n\n if (!str.includes(sep)) return null;\n\n const parts = str.split(sep);\n const fmtParts = fmt.split(sep);\n\n let day = null, month = null, year = null;\n\n for (let i = 0; i < fmtParts.length; i++) {\n const f = fmtParts[i];\n const v = parts[i];\n if (!v) return null;\n\n if (f === \"DD\") {\n if (v.length !== 2) return null;\n day = Number(v);\n }\n\n if (f === \"MM\") {\n if (v.length !== 2) return null;\n month = Number(v) - 1;\n }\n\n if (f === \"YYYY\") {\n if (v.length !== 4) return null;\n year = Number(v);\n }\n }\n\n if (day == null || month == null || year == null) return null;\n\n const d = new Date(year, month, day);\n if (\n d.getFullYear() !== year ||\n d.getMonth() !== month ||\n d.getDate() !== day\n ) return null;\n\n return d;\n }\n\n\n private formatDate(date: Date): string {\n if (!date) return \"\";\n \n const day = String(date.getDate()).padStart(2, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const year = date.getFullYear();\n \n switch (this.inputFormat) {\n case \"DD/MM/YYYY\":\n return `${day}/${month}/${year}`;\n case \"MM/DD/YYYY\":\n return `${month}/${day}/${year}`;\n case \"YYYY/MM/DD\":\n return `${year}/${month}/${day}`;\n case \"YYYY.MM.DD\":\n return `${year}.${month}.${day}`;\n case \"DD.MM.YYYY\":\n return `${day}.${month}.${year}`;\n default:\n return `${day}/${month}/${year}`;\n }\n }\n\n private parseRange(input: string) {\n if (!this.range) {\n return { first: this.parseDate(input), second: null };\n }\n\n const RANGE_SEP = \" - \";\n\n if (!input.includes(RANGE_SEP)) {\n return { first: this.parseDate(input), second: null };\n }\n\n const [firstRaw, secondRaw] = input.split(RANGE_SEP);\n\n const first = this.parseDate(firstRaw);\n let second = null;\n\n if (secondRaw && secondRaw.length >= 10) {\n second = this.parseDate(secondRaw);\n }\n\n return { first, second };\n }\n\n private jumpTo(date: Date) {\n this.open = true;\n\n const cal = this.shadowRoot!.querySelector(\"nile-calendar\") as any;\n if (!cal) return;\n\n cal.currentYear = date.getFullYear();\n cal.currentMonth = date.getMonth();\n cal.value = date;\n cal.valueAttribute = date.toISOString();\n }\n\n private syncRangeCalendar(first: Date | null, second: Date | null) {\n const cal = this.shadowRoot!.querySelector(\"nile-calendar\") as any;\n if (!cal) return;\n\n if (!this.range) return; \n\n if (first) cal.startDate = first;\n if (second) cal.endDate = second;\n\n \n if (first && second && first.getTime() > second.getTime()) {\n cal.startDate = second;\n cal.endDate = first;\n }\n }\n firstUpdated() {\n super.firstUpdated?.(new Map());\n\n if (!this.jumpToTypedDate) return;\n\n const input = this.querySelector(\"nile-input\");\n if (!input) return;\n\n input.addEventListener(\"nile-input\", (e: any) => {\n const text = e.detail.value;\n const { first, second } = this.parseRange(text);\n\n if (!this.range) {\n if (first) this.jumpTo(first);\n return;\n }\n\n if (first && !second) {\n this.jumpTo(first);\n this.syncRangeCalendar(first, null);\n }\n\n if (first && second) {\n let start = first, end = second;\n if (start.getTime() > end.getTime()) {\n [start, end] = [end, start];\n }\n\n this.jumpTo(end);\n this.syncRangeCalendar(start, end);\n }\n });\n }\n\n \n render(): TemplateResult {\n return html`\n <nile-dropdown .open=\"${this.open}\" part=\"dd-base\" .hoist=\"${true}\" distance=\"6\" exportparts=\"base\">\n <slot slot=\"trigger\" part=\"trigger\" name=\"trigger\"></slot>\n <nile-calendar\n .hideTypes=\"${this.hideTypes}\"\n \t.type=\"${this.type}\"\n value=\"${this.value}\"\n .range=\"${this.range}\"\n @nile-init=\"${(e:CustomEvent)=>e.stopPropagation()}\"\n @nile-destroy=\"${(e:CustomEvent)=>e.stopPropagation()}\"\n @nile-changed=\"${(e:CustomEvent)=>e.stopPropagation()}\"\n @nile-change=\"${this.handleChanged}\"\n .allowedDates=\"${this.allowedDates}\"\n @nile-type-change=\"${(e:CustomEvent)=>{e.stopPropagation();this.emit('nile-type-change',e.detail)}}\"\n @nile-clear=\"${(e:CustomEvent)=>{e.stopPropagation();this.emit('nile-clear')}}\"\n .hideDurationFields=\"${this.hideDurationFields}\"\n .showManualInputs=\"${this.showManualInputs}\"\n .doubleClickUnselect=\"${this.doubleClickUnselect}\"\n .allowClear=\"${this.allowClear}\"\n ></nile-calendar>\n </nile-dropdown>\n `;\n }\n\n handleChanged(event: CustomEvent) {\n event.stopPropagation();\n \n const detail = event.detail; \n const triggerInput = this.querySelector(\"nile-input\");\n \n // SINGLE DATE\n if (!this.range) {\n const picked = detail.value;\n \n if (picked && triggerInput) {\n triggerInput.value = this.formatDate(new Date(picked));\n triggerInput.emit(\"nile-input\", { value: triggerInput.value });\n }\n \n \n this.emit(\"nile-changed\", detail);\n this.emit(\"nile-change\", detail);\n \n this.dropdown?.hide();\n return;\n }\n \n // RANGE MODE\n const start = detail.startDate;\n const end = detail.endDate;\n \n if (triggerInput) {\n let text = \"\";\n if (start) text += this.formatDate(new Date(start));\n if (start && end) text += \" - \" + this.formatDate(new Date(end));\n \n triggerInput.value = text;\n triggerInput.emit(\"nile-input\", { value: text });\n }\n \n \n this.emit(\"nile-changed\", detail);\n this.emit(\"nile-change\", detail);\n \n this.dropdown?.hide();\n }\n \n \n\n connectedCallback() {\n super.connectedCallback();\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n}\n\nexport default NileDatePicker;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-date-picker': NileDatePicker;\n }\n}\n"],"names":["NileDatePicker","a","constructor","this","range","hideTypes","doubleClickUnselect","allowClear","open","hideTimeZone","type","showManualInputs","hideDurationFields","allowedDates","jumpToTypedDate","inputFormat","_this","_inherits","_r","_createClass","key","value","parseDate","str","fmt","sepMatch","match","sep","includes","parts","split","fmtParts","day","month","year","i","length","f","v","Number","d","Date","getFullYear","getMonth","getDate","formatDate","date","String","padStart","concat","parseRange","input","first","second","_e$split","_e$split2","_slicedToArray","firstRaw","secondRaw","jumpTo","cal","shadowRoot","querySelector","currentYear","currentMonth","valueAttribute","toISOString","syncRangeCalendar","startDate","endDate","getTime","firstUpdated","super","Map","addEventListener","e","text","detail","_ref","start","end","render","_this3","html","_templateObject","_taggedTemplateLiteral","stopPropagation","handleChanged","emit","event","triggerInput","_this$dropdown","picked","dropdown","hide","connectedCallback","disconnectedCallback","get","styles","NileElement","__decorate","property","Boolean","prototype","reflect","attribute","Array","query","_export","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nile-date-picker.cjs.js","sources":["../../../src/nile-date-picker/nile-date-picker.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n html,\n CSSResultArray,\n TemplateResult,\n} from 'lit';\nimport { customElement, query, property } from 'lit/decorators.js';\nimport { styles } from './nile-date-picker.css';\nimport NileElement from '../internal/nile-element';\nimport { NileDropdown } from '../nile-dropdown';\n\nimport {\n parseDateFromFormat,\n formatDateToFormat,\n parseRangeFromFormat,\n normalizeDateRange\n} from './nile-date-picker-utils';\n\n\n@customElement('nile-date-picker')\nexport class NileDatePicker extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property({ type: Boolean }) range = false;\n @property({ type: Boolean }) hideTypes = false;\n @property({ type: Boolean, reflect: true }) doubleClickUnselect = false;\n @property({ type: Boolean, reflect: true }) allowClear = false;\n @property({ type: Boolean }) open = false;\n @property({ type: Boolean, attribute: 'hide-time-zone' }) hideTimeZone = false;\n @property({ type: String, reflect: true }) type: 'absolute' | 'relative' = 'absolute';\n @property({ type: Boolean, attribute: 'showManualInputs' }) showManualInputs = false;\n\n @property() value: any;\n @property({ type: Array, attribute: 'hide-duration-fields' }) hideDurationFields: any = [];\n @property({ attribute: 'allowedDates' }) allowedDates: any = '{}';\n\n @property({ type: Boolean, attribute: true, reflect: true }) syncDatePicker = false;\n @property({ type: String, attribute: true, reflect: true }) dateFormat = \"DD/MM/YYYY\"; \n@property({ type: String, attribute: true, reflect: true }) rangeSeparator = \" - \";\n\n\n @query('nile-dropdown') dropdown: NileDropdown;\n\n firstUpdated() {\n super.firstUpdated?.(new Map());\n\n if (!this.syncDatePicker) return;\n\n const input = this.querySelector(\"nile-input\");\n if (!input) return;\n\n input.addEventListener(\"nile-input\", (e: any) => {\n const text = e.detail.value;\n const { first, second } = parseRangeFromFormat(text, this.dateFormat, this.range, this.rangeSeparator);\n\n if (!this.range) {\n if (first) this.jumpTo(first);\n return;\n }\n\n if (first && !second) {\n this.jumpTo(first);\n this.syncRangeCalendar(first, null);\n }\n\n if (first && second) {\n const [start, end] = normalizeDateRange(first, second);\n if (end) this.jumpTo(end);\n this.syncRangeCalendar(start, end);\n }\n });\n }\n\n private jumpTo(date: Date) {\n this.open = true;\n const cal = this.shadowRoot!.querySelector(\"nile-calendar\") as any;\n if (!cal) return;\n\n cal.currentYear = date.getFullYear();\n cal.currentMonth = date.getMonth();\n cal.value = date;\n cal.valueAttribute = date.toISOString();\n }\n\n\n private syncRangeCalendar(first: Date | null, second: Date | null) {\n const cal = this.shadowRoot!.querySelector(\"nile-calendar\") as any;\n if (!cal) return;\n\n if (!this.range) return;\n\n if (first) cal.startDate = first;\n if (second) cal.endDate = second;\n }\n\n render(): TemplateResult {\n return html`\n <nile-dropdown .open=\"${this.open}\" part=\"dd-base\" .hoist=\"${true}\" distance=\"6\" exportparts=\"base\">\n <slot slot=\"trigger\" part=\"trigger\" name=\"trigger\"></slot>\n\n <nile-calendar\n .hideTypes=\"${this.hideTypes}\"\n .type=\"${this.type}\"\n value=\"${this.value}\"\n .range=\"${this.range}\"\n\n @nile-init=\"${(e: CustomEvent) => e.stopPropagation()}\"\n @nile-destroy=\"${(e: CustomEvent) => e.stopPropagation()}\"\n @nile-changed=\"${(e: CustomEvent) => e.stopPropagation()}\"\n\n @nile-change=\"${this.handleChanged}\"\n\n .allowedDates=\"${this.allowedDates}\"\n\n @nile-type-change=\"${(e: CustomEvent) => { e.stopPropagation(); this.emit('nile-type-change', e.detail); }}\"\n @nile-clear=\"${(e: CustomEvent) => { e.stopPropagation(); this.emit('nile-clear'); }}\"\n\n .hideDurationFields=\"${this.hideDurationFields}\"\n .showManualInputs=\"${this.showManualInputs}\"\n .doubleClickUnselect=\"${this.doubleClickUnselect}\"\n .allowClear=\"${this.allowClear}\"\n ></nile-calendar>\n </nile-dropdown>\n `;\n }\n\n\n handleChanged(event: CustomEvent) {\n event.stopPropagation();\n\n const detail = event.detail;\n const triggerInput = this.querySelector(\"nile-input\");\n\n if (!this.range) {\n const picked = detail.value;\n\n if (picked && triggerInput) {\n triggerInput.value = formatDateToFormat(new Date(picked), this.dateFormat);\n triggerInput.emit(\"nile-input\", { value: triggerInput.value });\n }\n\n this.emit(\"nile-changed\", detail);\n this.emit(\"nile-change\", detail);\n\n this.dropdown?.hide();\n return;\n }\n\n const start = detail.startDate;\n const end = detail.endDate;\n\n if (triggerInput) {\n let text = \"\";\n if (start) text += formatDateToFormat(new Date(start), this.dateFormat);\n if (start && end) text += \" - \" + formatDateToFormat(new Date(end), this.dateFormat);\n\n triggerInput.value = text;\n triggerInput.emit(\"nile-input\", { value: text });\n }\n\n this.emit(\"nile-changed\", detail);\n this.emit(\"nile-change\", detail);\n\n this.dropdown?.hide();\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n}\n\nexport default NileDatePicker;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-date-picker': NileDatePicker;\n }\n}\n"],"names":["NileDatePicker","d","constructor","this","range","hideTypes","doubleClickUnselect","allowClear","open","hideTimeZone","type","showManualInputs","hideDurationFields","allowedDates","syncDatePicker","dateFormat","rangeSeparator","_this","_inherits","_a","_createClass","key","value","firstUpdated","super","Map","input","querySelector","addEventListener","e","text","detail","parseRangeFromFormat","first","second","jumpTo","syncRangeCalendar","_r","normalizeDateRange","end","start","date","cal","shadowRoot","currentYear","getFullYear","currentMonth","getMonth","valueAttribute","toISOString","startDate","endDate","render","_this3","html","_templateObject","_taggedTemplateLiteral","stopPropagation","handleChanged","emit","event","triggerInput","_this$dropdown","picked","formatDateToFormat","Date","dropdown","hide","connectedCallback","disconnectedCallback","get","styles","NileElement","__decorate","property","Boolean","prototype","reflect","attribute","String","Array","query","customElement"],"mappings":"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"}
|
|
@@ -1,22 +1,28 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import{html as t}from"lit";import{property as i,query as
|
|
1
|
+
import{__decorate as e}from"tslib";import{html as t}from"lit";import{property as i,query as s,customElement as n}from"lit/decorators.js";import{s as l}from"./nile-date-picker.css.esm.js";import{N as a}from"../internal/nile-element.esm.js";import{p as o,n as r,f as h}from"./nile-date-picker-utils.esm.js";let d=class extends a{constructor(){super(...arguments),this.range=!1,this.hideTypes=!1,this.doubleClickUnselect=!1,this.allowClear=!1,this.open=!1,this.hideTimeZone=!1,this.type="absolute",this.showManualInputs=!1,this.hideDurationFields=[],this.allowedDates="{}",this.syncDatePicker=!1,this.dateFormat="DD/MM/YYYY",this.rangeSeparator=" - "}static get styles(){return[l]}firstUpdated(){if(super.firstUpdated?.(new Map),!this.syncDatePicker)return;const e=this.querySelector("nile-input");e&&e.addEventListener("nile-input",(e=>{const t=e.detail.value,{first:i,second:s}=o(t,this.dateFormat,this.range,this.rangeSeparator);if(this.range){if(i&&!s&&(this.jumpTo(i),this.syncRangeCalendar(i,null)),i&&s){const[e,t]=r(i,s);t&&this.jumpTo(t),this.syncRangeCalendar(e,t)}}else i&&this.jumpTo(i)}))}jumpTo(e){this.open=!0;const t=this.shadowRoot.querySelector("nile-calendar");t&&(t.currentYear=e.getFullYear(),t.currentMonth=e.getMonth(),t.value=e,t.valueAttribute=e.toISOString())}syncRangeCalendar(e,t){const i=this.shadowRoot.querySelector("nile-calendar");i&&this.range&&(e&&(i.startDate=e),t&&(i.endDate=t))}render(){return t`
|
|
2
2
|
<nile-dropdown .open="${this.open}" part="dd-base" .hoist="${!0}" distance="6" exportparts="base">
|
|
3
3
|
<slot slot="trigger" part="trigger" name="trigger"></slot>
|
|
4
|
+
|
|
4
5
|
<nile-calendar
|
|
5
6
|
.hideTypes="${this.hideTypes}"
|
|
6
|
-
|
|
7
|
+
.type="${this.type}"
|
|
7
8
|
value="${this.value}"
|
|
8
9
|
.range="${this.range}"
|
|
10
|
+
|
|
9
11
|
@nile-init="${e=>e.stopPropagation()}"
|
|
10
12
|
@nile-destroy="${e=>e.stopPropagation()}"
|
|
11
13
|
@nile-changed="${e=>e.stopPropagation()}"
|
|
14
|
+
|
|
12
15
|
@nile-change="${this.handleChanged}"
|
|
16
|
+
|
|
13
17
|
.allowedDates="${this.allowedDates}"
|
|
18
|
+
|
|
14
19
|
@nile-type-change="${e=>{e.stopPropagation(),this.emit("nile-type-change",e.detail)}}"
|
|
15
20
|
@nile-clear="${e=>{e.stopPropagation(),this.emit("nile-clear")}}"
|
|
21
|
+
|
|
16
22
|
.hideDurationFields="${this.hideDurationFields}"
|
|
17
23
|
.showManualInputs="${this.showManualInputs}"
|
|
18
24
|
.doubleClickUnselect="${this.doubleClickUnselect}"
|
|
19
25
|
.allowClear="${this.allowClear}"
|
|
20
26
|
></nile-calendar>
|
|
21
27
|
</nile-dropdown>
|
|
22
|
-
`}handleChanged(e){e.stopPropagation();const t=e.detail,i=this.querySelector("nile-input");if(!this.range){const e=t.value;return e&&i&&(i.value=
|
|
28
|
+
`}handleChanged(e){e.stopPropagation();const t=e.detail,i=this.querySelector("nile-input");if(!this.range){const e=t.value;return e&&i&&(i.value=h(new Date(e),this.dateFormat),i.emit("nile-input",{value:i.value})),this.emit("nile-changed",t),this.emit("nile-change",t),void this.dropdown?.hide()}const s=t.startDate,n=t.endDate;if(i){let e="";s&&(e+=h(new Date(s),this.dateFormat)),s&&n&&(e+=" - "+h(new Date(n),this.dateFormat)),i.value=e,i.emit("nile-input",{value:e})}this.emit("nile-changed",t),this.emit("nile-change",t),this.dropdown?.hide()}connectedCallback(){super.connectedCallback(),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}};e([i({type:Boolean})],d.prototype,"range",void 0),e([i({type:Boolean})],d.prototype,"hideTypes",void 0),e([i({type:Boolean,reflect:!0})],d.prototype,"doubleClickUnselect",void 0),e([i({type:Boolean,reflect:!0})],d.prototype,"allowClear",void 0),e([i({type:Boolean})],d.prototype,"open",void 0),e([i({type:Boolean,attribute:"hide-time-zone"})],d.prototype,"hideTimeZone",void 0),e([i({type:String,reflect:!0})],d.prototype,"type",void 0),e([i({type:Boolean,attribute:"showManualInputs"})],d.prototype,"showManualInputs",void 0),e([i()],d.prototype,"value",void 0),e([i({type:Array,attribute:"hide-duration-fields"})],d.prototype,"hideDurationFields",void 0),e([i({attribute:"allowedDates"})],d.prototype,"allowedDates",void 0),e([i({type:Boolean,attribute:!0,reflect:!0})],d.prototype,"syncDatePicker",void 0),e([i({type:String,attribute:!0,reflect:!0})],d.prototype,"dateFormat",void 0),e([i({type:String,attribute:!0,reflect:!0})],d.prototype,"rangeSeparator",void 0),e([s("nile-dropdown")],d.prototype,"dropdown",void 0),d=e([n("nile-date-picker")],d);export{d as N};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function parseDateFromFormat(str: string, format: string): Date | null;
|
|
2
|
+
export declare function formatDateToFormat(date: Date, format: string): string;
|
|
3
|
+
export declare function parseRangeFromFormat(input: string, format: string, isRange: boolean, separator: string): {
|
|
4
|
+
first: Date | null;
|
|
5
|
+
second: Date | null;
|
|
6
|
+
};
|
|
7
|
+
export declare function normalizeDateRange(first: Date | null, second: Date | null): [Date | null, Date | null];
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
export function parseDateFromFormat(str, format) {
|
|
2
|
+
if (!str)
|
|
3
|
+
return null;
|
|
4
|
+
const sepMatch = format.match(/[^A-Z]/i);
|
|
5
|
+
if (!sepMatch)
|
|
6
|
+
return null;
|
|
7
|
+
const sep = sepMatch[0];
|
|
8
|
+
if (!str.includes(sep))
|
|
9
|
+
return null;
|
|
10
|
+
const parts = str.split(sep);
|
|
11
|
+
const fmtParts = format.split(sep);
|
|
12
|
+
let day = null;
|
|
13
|
+
let month = null;
|
|
14
|
+
let year = null;
|
|
15
|
+
for (let i = 0; i < fmtParts.length; i++) {
|
|
16
|
+
const f = fmtParts[i];
|
|
17
|
+
const v = parts[i];
|
|
18
|
+
if (!v)
|
|
19
|
+
return null;
|
|
20
|
+
if (f === "DD") {
|
|
21
|
+
if (v.length !== 2)
|
|
22
|
+
return null;
|
|
23
|
+
day = Number(v);
|
|
24
|
+
}
|
|
25
|
+
if (f === "MM") {
|
|
26
|
+
if (v.length !== 2)
|
|
27
|
+
return null;
|
|
28
|
+
month = Number(v) - 1;
|
|
29
|
+
}
|
|
30
|
+
if (f === "YYYY") {
|
|
31
|
+
if (v.length !== 4)
|
|
32
|
+
return null;
|
|
33
|
+
year = Number(v);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (day == null || month == null || year == null)
|
|
37
|
+
return null;
|
|
38
|
+
const d = new Date(year, month, day);
|
|
39
|
+
if (d.getFullYear() !== year ||
|
|
40
|
+
d.getMonth() !== month ||
|
|
41
|
+
d.getDate() !== day)
|
|
42
|
+
return null;
|
|
43
|
+
return d;
|
|
44
|
+
}
|
|
45
|
+
export function formatDateToFormat(date, format) {
|
|
46
|
+
if (!date)
|
|
47
|
+
return "";
|
|
48
|
+
const day = String(date.getDate()).padStart(2, "0");
|
|
49
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
50
|
+
const year = date.getFullYear();
|
|
51
|
+
switch (format) {
|
|
52
|
+
case "DD/MM/YYYY":
|
|
53
|
+
return `${day}/${month}/${year}`;
|
|
54
|
+
case "MM/DD/YYYY":
|
|
55
|
+
return `${month}/${day}/${year}`;
|
|
56
|
+
case "YYYY/MM/DD":
|
|
57
|
+
return `${year}/${month}/${day}`;
|
|
58
|
+
case "YYYY.MM.DD":
|
|
59
|
+
return `${year}.${month}.${day}`;
|
|
60
|
+
case "DD.MM.YYYY":
|
|
61
|
+
return `${day}.${month}.${year}`;
|
|
62
|
+
default:
|
|
63
|
+
return `${day}/${month}/${year}`;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
export function parseRangeFromFormat(input, format, isRange, separator) {
|
|
67
|
+
if (!isRange) {
|
|
68
|
+
return { first: parseDateFromFormat(input, format), second: null };
|
|
69
|
+
}
|
|
70
|
+
if (!input.includes(separator)) {
|
|
71
|
+
return { first: parseDateFromFormat(input, format), second: null };
|
|
72
|
+
}
|
|
73
|
+
const [firstRaw, secondRaw] = input.split(separator);
|
|
74
|
+
const first = parseDateFromFormat(firstRaw, format);
|
|
75
|
+
const second = secondRaw ? parseDateFromFormat(secondRaw, format) : null;
|
|
76
|
+
return { first, second };
|
|
77
|
+
}
|
|
78
|
+
export function normalizeDateRange(first, second) {
|
|
79
|
+
if (first && second && first.getTime() > second.getTime()) {
|
|
80
|
+
return [second, first];
|
|
81
|
+
}
|
|
82
|
+
return [first, second];
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=nile-date-picker-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-date-picker-utils.js","sourceRoot":"","sources":["../../../src/nile-date-picker/nile-date-picker-utils.ts"],"names":[],"mappings":"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","sourcesContent":["export function parseDateFromFormat(str: string, format: string): Date | null {\n if (!str) return null;\n \n const sepMatch = format.match(/[^A-Z]/i);\n if (!sepMatch) return null;\n const sep = sepMatch[0];\n \n if (!str.includes(sep)) return null;\n \n const parts = str.split(sep);\n const fmtParts = format.split(sep);\n \n let day: number | null = null;\n let month: number | null = null;\n let year: number | null = null;\n \n for (let i = 0; i < fmtParts.length; i++) {\n const f = fmtParts[i];\n const v = parts[i];\n if (!v) return null;\n \n if (f === \"DD\") {\n if (v.length !== 2) return null;\n day = Number(v);\n }\n \n if (f === \"MM\") {\n if (v.length !== 2) return null;\n month = Number(v) - 1;\n }\n \n if (f === \"YYYY\") {\n if (v.length !== 4) return null;\n year = Number(v);\n }\n }\n \n if (day == null || month == null || year == null) return null;\n \n const d = new Date(year, month, day);\n if (\n d.getFullYear() !== year ||\n d.getMonth() !== month ||\n d.getDate() !== day\n ) return null;\n \n return d;\n }\n\n export function formatDateToFormat(date: Date, format: string): string {\n if (!date) return \"\";\n \n const day = String(date.getDate()).padStart(2, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const year = date.getFullYear();\n \n switch (format) {\n case \"DD/MM/YYYY\":\n return `${day}/${month}/${year}`;\n case \"MM/DD/YYYY\":\n return `${month}/${day}/${year}`;\n case \"YYYY/MM/DD\":\n return `${year}/${month}/${day}`;\n case \"YYYY.MM.DD\":\n return `${year}.${month}.${day}`;\n case \"DD.MM.YYYY\":\n return `${day}.${month}.${year}`;\n default:\n return `${day}/${month}/${year}`;\n }\n }\n\n export function parseRangeFromFormat(\n input: string,\n format: string,\n isRange: boolean,\n separator: string\n ) {\n if (!isRange) {\n return { first: parseDateFromFormat(input, format), second: null };\n }\n \n if (!input.includes(separator)) {\n return { first: parseDateFromFormat(input, format), second: null };\n }\n \n const [firstRaw, secondRaw] = input.split(separator);\n \n const first = parseDateFromFormat(firstRaw, format);\n const second = secondRaw ? parseDateFromFormat(secondRaw, format) : null;\n \n return { first, second };\n }\n \n \n export function normalizeDateRange(\n first: Date | null,\n second: Date | null\n ): [Date | null, Date | null] {\n if (first && second && first.getTime() > second.getTime()) {\n return [second, first];\n }\n return [first, second];\n }\n "]}
|
|
@@ -7,17 +7,7 @@
|
|
|
7
7
|
import { CSSResultArray, TemplateResult } from 'lit';
|
|
8
8
|
import NileElement from '../internal/nile-element';
|
|
9
9
|
import { NileDropdown } from '../nile-dropdown';
|
|
10
|
-
/**
|
|
11
|
-
* Nile icon component.
|
|
12
|
-
*
|
|
13
|
-
* @tag nile-date-picker
|
|
14
|
-
*
|
|
15
|
-
*/
|
|
16
10
|
export declare class NileDatePicker extends NileElement {
|
|
17
|
-
/**
|
|
18
|
-
* The styles for DatePicker
|
|
19
|
-
* @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
|
|
20
|
-
*/
|
|
21
11
|
static get styles(): CSSResultArray;
|
|
22
12
|
range: boolean;
|
|
23
13
|
hideTypes: boolean;
|
|
@@ -30,19 +20,13 @@ export declare class NileDatePicker extends NileElement {
|
|
|
30
20
|
value: any;
|
|
31
21
|
hideDurationFields: any;
|
|
32
22
|
allowedDates: any;
|
|
33
|
-
|
|
34
|
-
|
|
23
|
+
syncDatePicker: boolean;
|
|
24
|
+
dateFormat: string;
|
|
25
|
+
rangeSeparator: string;
|
|
35
26
|
dropdown: NileDropdown;
|
|
36
|
-
|
|
37
|
-
* Render method
|
|
38
|
-
* @slot This is a slot test
|
|
39
|
-
*/
|
|
40
|
-
private parseDate;
|
|
41
|
-
private formatDate;
|
|
42
|
-
private parseRange;
|
|
27
|
+
firstUpdated(): void;
|
|
43
28
|
private jumpTo;
|
|
44
29
|
private syncRangeCalendar;
|
|
45
|
-
firstUpdated(): void;
|
|
46
30
|
render(): TemplateResult;
|
|
47
31
|
handleChanged(event: CustomEvent): void;
|
|
48
32
|
connectedCallback(): void;
|