react-select-datepicker 2.0.2 → 2.1.0

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.
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { ISelectDatepicker } from '../interfaces/ISelectDatePicker';
3
- declare const SelectDatepicker: ({ id, className, minDate, maxDate, selectedDate, onDateChange, disabled, hasError, monthRef, yearRef, dayRef, options, ...args }: ISelectDatepicker) => JSX.Element;
3
+ declare const SelectDatepicker: ({ id, className, minDate, maxDate, selectedDate, onDateChange, disabled, hasError, monthRef, yearRef, dayRef, labels, order, reverseYears, hideLabels, ...args }: ISelectDatepicker) => JSX.Element;
4
4
  export { SelectDatepicker };
@@ -1 +1 @@
1
- import{__rest as e,__assign as l}from"../_virtual/_tslib.js";import a,{useState as o,useMemo as t,useCallback as n,useEffect as r}from"react";import{classPrefix as i,getYearsObject as d,getMonthsObject as s,getDaysObject as u}from"../utils/helpers.js";import{OptionsRenderer as c}from"./OptionsRenderer.js";import{SelectRenderer as v}from"./SelectRenderer.js";var m=function(m){var b,h,f,p,y,g,L,D=m.id,N=m.className,w=m.minDate,E=m.maxDate,R=m.selectedDate,P=m.onDateChange,j=m.disabled,C=void 0!==j&&j,Y=m.hasError,x=void 0!==Y&&Y,O=m.monthRef,S=m.yearRef,H=m.dayRef,M=m.options,_=void 0===M?{}:M,k=e(m,["id","className","minDate","maxDate","selectedDate","onDateChange","disabled","hasError","monthRef","yearRef","dayRef","options"]),F=o(-1),q=F[0],z=F[1],A=o(-1),B=A[0],G=A[1],I=o(-1),J=I[0],K=I[1],Q=t((function(){return _.order?_.order.split("/"):["month","day","year"]}),[_.order]),T=t((function(){return["".concat(i,"_react-select-datepicker"),N].join(" ")}),[N]),U=t((function(){return a.createElement(c,{options:d(w,E,_.reverseYears)})}),[E,_.reverseYears,w]),V=t((function(){var e;return a.createElement(c,{options:s(w,E,q,null===(e=_.labels)||void 0===e?void 0:e.months)})}),[E,null===(b=_.labels)||void 0===b?void 0:b.months,w,q]),W=t((function(){return a.createElement(c,{options:u(w,E,B,q)})}),[E,B,w,q]),X=n((function(e){z(Number(e.target.value)),s(w,E,Number(e.target.value)).some((function(e){return e.value===B}))||G(-1),u(w,E,B,Number(e.target.value)).some((function(e){return e.value===J}))||K(-1)}),[J,B,w,E]),Z=n((function(e){G(Number(e.target.value)),u(w,E,Number(e.target.value),q).some((function(e){return e.value===J}))||K(-1)}),[J,q,w,E]),$=n((function(e){K(Number(e.target.value))}),[]),ee=t((function(){var e,l,o,t,n,r;return{day:a.createElement(v,{id:"day",labels:{show:void 0===_.showLabels||_.showLabels,main:(null===(e=_.labels)||void 0===e?void 0:e.dayLabel)||"Day",placeholder:(null===(l=_.labels)||void 0===l?void 0:l.dayPlaceholder)||"Select Day"},value:J,disabled:C,onChangeHandler:$,selectOptions:W,ref:H}),month:a.createElement(v,{id:"month",labels:{show:void 0===_.showLabels||_.showLabels,main:(null===(o=_.labels)||void 0===o?void 0:o.monthLabel)||"Month",placeholder:(null===(t=_.labels)||void 0===t?void 0:t.monthPlaceholder)||"Select Month"},value:B,disabled:C,onChangeHandler:Z,selectOptions:V,ref:O}),year:a.createElement(v,{id:"year",labels:{show:void 0===_.showLabels||_.showLabels,main:(null===(n=_.labels)||void 0===n?void 0:n.yearLabel)||"Year",placeholder:(null===(r=_.labels)||void 0===r?void 0:r.yearPlaceholder)||"Select Year"},value:q,disabled:C,onChangeHandler:X,selectOptions:U,ref:S})}}),[J,W,H,C,$,Z,X,B,V,O,null===(h=_.labels)||void 0===h?void 0:h.dayLabel,null===(f=_.labels)||void 0===f?void 0:f.dayPlaceholder,null===(p=_.labels)||void 0===p?void 0:p.monthLabel,null===(y=_.labels)||void 0===y?void 0:y.monthPlaceholder,null===(g=_.labels)||void 0===g?void 0:g.yearLabel,null===(L=_.labels)||void 0===L?void 0:L.yearPlaceholder,_.showLabels,q,U,S]);return r((function(){null!=R&&(K(Number(R.getDate())),G(Number(R.getMonth()+1)),z(Number(R.getFullYear())))}),[R]),r((function(){P(-1!==q&&-1!==B&&-1!==J?new Date("".concat(B,"/").concat(J,"/").concat(q)):null)}),[J,B,q]),a.createElement("div",l({},k,{style:{display:"flex"},id:D,className:T},x?{"aria-invalid":!0}:null),Q.map((function(e,l){return a.createElement(a.Fragment,{key:"".concat(e,"-").concat(l)},ee[e])})))};export{m as SelectDatepicker};
1
+ import{__rest as e,__assign as a}from"../_virtual/_tslib.js";import t,{useState as r,useMemo as n,useCallback as l,useEffect as o}from"react";import{classPrefix as i,getYearsObject as c,getMonthsObject as d,getDaysObject as m}from"../utils/helpers.js";import{OptionsRenderer as u}from"./OptionsRenderer.js";import{SelectRenderer as s}from"./SelectRenderer.js";var h=function(h){var f=h.id,b=h.className,y=h.minDate,v=h.maxDate,p=h.selectedDate,g=h.onDateChange,D=h.disabled,N=void 0!==D&&D,E=h.hasError,L=void 0!==E&&E,R=h.monthRef,P=h.yearRef,j=h.dayRef,C=h.labels,Y=void 0===C?{}:C,x=h.order,O=void 0===x?"month/day/year":x,S=h.reverseYears,H=h.hideLabels,M=e(h,["id","className","minDate","maxDate","selectedDate","onDateChange","disabled","hasError","monthRef","yearRef","dayRef","labels","order","reverseYears","hideLabels"]),_=r(-1),k=_[0],F=_[1],w=r(-1),q=w[0],z=w[1],A=r(-1),B=A[0],G=A[1],I=n((function(){return O?O.split("/"):["month","day","year"]}),[O]),J=n((function(){return["".concat(i,"_react-select-datepicker"),b].join(" ")}),[b]),K=n((function(){return t.createElement(u,{options:c(y,v,S)})}),[v,S,y]),Q=n((function(){return t.createElement(u,{options:d(y,v,k,Y.months)})}),[v,Y.months,y,k]),T=n((function(){return t.createElement(u,{options:m(y,v,q,k)})}),[v,q,y,k]),U=l((function(e){F(Number(e.target.value)),d(y,v,Number(e.target.value)).some((function(e){return e.value===q}))||z(-1),m(y,v,q,Number(e.target.value)).some((function(e){return e.value===B}))||G(-1)}),[B,q,y,v]),V=l((function(e){z(Number(e.target.value)),m(y,v,Number(e.target.value),k).some((function(e){return e.value===B}))||G(-1)}),[B,k,y,v]),W=l((function(e){G(Number(e.target.value))}),[]),X=n((function(){return{day:t.createElement(s,{id:"day",labels:{hide:H,main:Y.dayLabel||"Day",placeholder:Y.dayPlaceholder||"Select Day"},value:B,disabled:N,onChangeHandler:W,selectOptions:T,ref:j}),month:t.createElement(s,{id:"month",labels:{hide:H,main:Y.monthLabel||"Month",placeholder:Y.monthPlaceholder||"Select Month"},value:q,disabled:N,onChangeHandler:V,selectOptions:Q,ref:R}),year:t.createElement(s,{id:"year",labels:{hide:H,main:Y.yearLabel||"Year",placeholder:Y.yearPlaceholder||"Select Year"},value:k,disabled:N,onChangeHandler:U,selectOptions:K,ref:P})}}),[B,T,j,N,W,V,U,H,Y.dayLabel,Y.dayPlaceholder,Y.monthLabel,Y.monthPlaceholder,Y.yearLabel,Y.yearPlaceholder,q,Q,R,k,K,P]);return o((function(){null!=p&&(G(Number(p.getDate())),z(Number(p.getMonth()+1)),F(Number(p.getFullYear())))}),[p]),o((function(){g(-1!==k&&-1!==q&&-1!==B?new Date("".concat(q,"/").concat(B,"/").concat(k)):null)}),[B,q,k]),t.createElement("div",a({},M,{style:{display:"flex"},id:f,className:J},L?{"aria-invalid":!0}:null),I.map((function(e,a){return t.createElement(t.Fragment,{key:"".concat(e,"-").concat(a)},X[e])})))};export{h as SelectDatepicker};
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  interface ISelectRenderer {
3
3
  id: string;
4
4
  labels: {
5
- show?: boolean;
5
+ hide?: boolean;
6
6
  main?: string;
7
7
  placeholder?: string;
8
8
  };
@@ -1 +1 @@
1
- import e from"react";import{classPrefix as t}from"../utils/helpers.js";var a=function(a){var c=a.id,l=a.labels,n=a.value,o=a.disabled,r=a.onChangeHandler,s=a.selectOptions,i=a.ref;return e.createElement("div",{style:{display:"flex",flexDirection:"column"},className:"".concat(t,"_select-container-").concat(c)},l.show&&e.createElement("label",{htmlFor:"".concat(t,"_select-").concat(c)},l.main),e.createElement("select",{id:"".concat(t,"_select-").concat(c),value:n,disabled:o,onChange:r,ref:i,className:"".concat(t,"_select-").concat(c)},e.createElement("option",{value:-1,disabled:!0},l.placeholder),s))};export{a as SelectRenderer};
1
+ import e from"react";import{classPrefix as t}from"../utils/helpers.js";var a=function(a){var c=a.id,l=a.labels,n=a.value,o=a.disabled,r=a.onChangeHandler,s=a.selectOptions,i=a.ref;return e.createElement("div",{style:{display:"flex",flexDirection:"column"},className:"".concat(t,"_select-container-").concat(c)},!l.hide&&e.createElement("label",{htmlFor:"".concat(t,"_select-").concat(c)},l.main),e.createElement("select",{id:"".concat(t,"_select-").concat(c),value:n,disabled:o,onChange:r,ref:i,className:"".concat(t,"_select-").concat(c)},e.createElement("option",{value:-1,disabled:!0},l.placeholder),s))};export{a as SelectRenderer};
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export { SelectDatepicker } from './components/SelectDatepicker';
2
2
  export { ISelectDatepicker } from './interfaces/ISelectDatePicker';
3
- export { SelectDatepickerOptions } from './types/SelectDatepickerOptions';
3
+ export { SelectDatePickerLabels } from './types/SelectDatepickerLabels';
4
+ export { SelectDatePickerOrder } from './types/SelectDatepickerOrder';
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { SelectDatepickerOptions } from '../types/SelectDatepickerOptions';
2
+ import { SelectDatePickerLabels } from '../types/SelectDatepickerLabels';
3
+ import { SelectDatePickerOrder } from '../types/SelectDatepickerOrder';
3
4
  export interface ISelectDatepicker {
4
5
  id?: string;
5
6
  className?: string;
@@ -7,10 +8,13 @@ export interface ISelectDatepicker {
7
8
  maxDate?: Date;
8
9
  selectedDate?: Date | null;
9
10
  onDateChange: (date: Date | null) => void;
10
- options?: SelectDatepickerOptions;
11
+ labels?: SelectDatePickerLabels;
11
12
  disabled?: boolean;
12
13
  hasError?: boolean;
13
14
  monthRef?: React.LegacyRef<HTMLSelectElement>;
14
15
  yearRef?: React.LegacyRef<HTMLSelectElement>;
15
16
  dayRef?: React.LegacyRef<HTMLSelectElement>;
17
+ reverseYears?: boolean;
18
+ hideLabels?: boolean;
19
+ order?: SelectDatePickerOrder;
16
20
  }
@@ -0,0 +1,23 @@
1
+ export declare type Months = {
2
+ 1: string;
3
+ 2: string;
4
+ 3: string;
5
+ 4: string;
6
+ 5: string;
7
+ 6: string;
8
+ 7: string;
9
+ 8: string;
10
+ 9: string;
11
+ 10: string;
12
+ 11: string;
13
+ 12: string;
14
+ };
15
+ export declare type SelectDatePickerLabels = {
16
+ yearLabel?: string;
17
+ monthLabel?: string;
18
+ dayLabel?: string;
19
+ yearPlaceholder?: string;
20
+ monthPlaceholder?: string;
21
+ dayPlaceholder?: string;
22
+ months?: Months;
23
+ };
@@ -0,0 +1 @@
1
+ export declare type SelectDatePickerOrder = 'day/month/year' | 'day/year/month' | 'month/day/year' | 'month/year/day' | 'year/month/day' | 'year/day/month';
@@ -1,9 +1,9 @@
1
- import { Months } from '../types/SelectDatepickerOptions';
1
+ import { Months } from '../types/SelectDatepickerLabels';
2
2
  export declare const classPrefix = "rsd_";
3
3
  export declare const range: (start: number, stop: number, step: number) => number[];
4
4
  export declare const getAllDaysInMonth: (year: number, month: number) => number[];
5
5
  export declare const englishMonths: Months;
6
- export declare const getYearsObject: (start?: Date | undefined, end?: Date | undefined, reverse?: boolean) => {
6
+ export declare const getYearsObject: (start?: Date | undefined, end?: Date | undefined, reverse?: boolean | undefined) => {
7
7
  value: number;
8
8
  label: string;
9
9
  }[];
@@ -1 +1 @@
1
- var e="rsd_",t=function(e,t,r){return Array.from({length:(t-e)/r+1},(function(t,n){return e+n*r}))},r=function(e,t){for(var r=new Date("".concat(e,"/").concat(t,"/01")),n=[];r.getMonth()+1===t;)n.push(new Date(r).getDate()),r.setDate(r.getDate()+1);return n},n={1:"January",2:"February",3:"March",4:"April",5:"May",6:"June",7:"July",8:"August",9:"September",10:"October",11:"November",12:"December"},a=function(e,r,n){void 0===n&&(n=!0);var a=t(e?e.getFullYear():1900,r?r.getFullYear():(new Date).getFullYear(),1);return n&&(a=a.reverse()),a.map((function(e,t){return{value:e,label:"".concat(e)}}))},u=function(e,r,a,u){void 0===a&&(a=-1),void 0===u&&(u=n);var l=t(1,12,1);if(r&&-1!==a&&a===r.getFullYear()){var o=r.getMonth()+1;l=l.slice(0,o)}if(e&&-1!==a&&a===e.getFullYear()){var c=e.getMonth()+1;l=l.slice(c-1,l.length)}return l.map((function(e,t){return{value:e,label:u[e]}}))},l=function(e,n,a,u){void 0===a&&(a=-1),void 0===u&&(u=-1);var l=[];if(-1===a)return(l=t(1,31,1)).map((function(e,t){return{value:e,label:"".concat(e)}}));if(l=r(-1===u?1900:u,a),n&&u===n.getFullYear()&&a===n.getMonth()+1){var o=n.getDate();l=l.slice(0,o)}if(e&&u===e.getFullYear()&&a===e.getMonth()+1){var c=e.getDate();l=l.slice(c-1,l.length)}return l.map((function(e,t){return{value:e,label:"".concat(e)}}))};export{e as classPrefix,n as englishMonths,r as getAllDaysInMonth,l as getDaysObject,u as getMonthsObject,a as getYearsObject,t as range};
1
+ var e="rsd_",t=function(e,t,r){return Array.from({length:(t-e)/r+1},(function(t,n){return e+n*r}))},r=function(e,t){for(var r=new Date("".concat(e,"/").concat(t,"/01")),n=[];r.getMonth()+1===t;)n.push(new Date(r).getDate()),r.setDate(r.getDate()+1);return n},n={1:"January",2:"February",3:"March",4:"April",5:"May",6:"June",7:"July",8:"August",9:"September",10:"October",11:"November",12:"December"},a=function(e,r,n){var a=t(r?r.getFullYear():(new Date).getFullYear(),e?e.getFullYear():1900,-1);return n&&(a=a.reverse()),a.map((function(e,t){return{value:e,label:"".concat(e)}}))},u=function(e,r,a,u){void 0===a&&(a=-1),void 0===u&&(u=n);var l=t(1,12,1);if(r&&-1!==a&&a===r.getFullYear()){var o=r.getMonth()+1;l=l.slice(0,o)}if(e&&-1!==a&&a===e.getFullYear()){var c=e.getMonth()+1;l=l.slice(c-1,l.length)}return l.map((function(e,t){return{value:e,label:u[e]}}))},l=function(e,n,a,u){void 0===a&&(a=-1),void 0===u&&(u=-1);var l=[];if(-1===a)return(l=t(1,31,1)).map((function(e,t){return{value:e,label:"".concat(e)}}));if(l=r(-1===u?1900:u,a),n&&u===n.getFullYear()&&a===n.getMonth()+1){var o=n.getDate();l=l.slice(0,o)}if(e&&u===e.getFullYear()&&a===e.getMonth()+1){var c=e.getDate();l=l.slice(c-1,l.length)}return l.map((function(e,t){return{value:e,label:"".concat(e)}}))};export{e as classPrefix,n as englishMonths,r as getAllDaysInMonth,l as getDaysObject,u as getMonthsObject,a as getYearsObject,t as range};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-select-datepicker",
3
- "version": "2.0.2",
3
+ "version": "2.1.0",
4
4
  "description": "A simple and reusable dropdown datepicker component for React",
5
5
  "author": "JMcAmmond",
6
6
  "license": "MIT",
@@ -1,28 +0,0 @@
1
- export declare type Months = {
2
- 1: string;
3
- 2: string;
4
- 3: string;
5
- 4: string;
6
- 5: string;
7
- 6: string;
8
- 7: string;
9
- 8: string;
10
- 9: string;
11
- 10: string;
12
- 11: string;
13
- 12: string;
14
- };
15
- export declare type SelectDatepickerOptions = {
16
- labels?: {
17
- yearLabel?: string;
18
- monthLabel?: string;
19
- dayLabel?: string;
20
- yearPlaceholder?: string;
21
- monthPlaceholder?: string;
22
- dayPlaceholder?: string;
23
- months?: Months;
24
- };
25
- reverseYears?: boolean;
26
- showLabels?: boolean;
27
- order?: 'day/month/year' | 'day/year/month' | 'month/day/year' | 'month/year/day' | 'year/month/day' | 'year/day/month';
28
- };