react-select-datepicker 2.0.1 → 2.1.1

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 n,useCallback as t,useEffect as r}from"react";import{getYearsObject as i,getMonthsObject as d,getDaysObject as s}from"../utils/helpers.js";import{OptionsRenderer as u}from"./OptionsRenderer.js";import{SelectRenderer as c}from"./SelectRenderer.js";var v=function(v){var m,b,h,f,p,y,g,L=v.id,D=v.className,N=v.minDate,w=v.maxDate,E=v.selectedDate,R=v.onDateChange,P=v.disabled,j=void 0!==P&&P,C=v.hasError,Y=void 0!==C&&C,x=v.monthRef,O=v.yearRef,S=v.dayRef,H=v.options,M=void 0===H?{}:H,k=e(v,["id","className","minDate","maxDate","selectedDate","onDateChange","disabled","hasError","monthRef","yearRef","dayRef","options"]),F=o(-1),_=F[0],q=F[1],z=o(-1),A=z[0],B=z[1],G=o(-1),I=G[0],J=G[1],K=n((function(){return M.order?M.order.split("/"):["month","day","year"]}),[M.order]),Q=n((function(){return["sdp-select-datepicker",D].join(" ")}),[D]),T=n((function(){return a.createElement(u,{options:i(N,w,M.reverseYears)})}),[w,M.reverseYears,N]),U=n((function(){var e;return a.createElement(u,{options:d(N,w,_,null===(e=M.labels)||void 0===e?void 0:e.months)})}),[w,null===(m=M.labels)||void 0===m?void 0:m.months,N,_]),V=n((function(){return a.createElement(u,{options:s(N,w,A,_)})}),[w,A,N,_]),W=t((function(e){q(Number(e.target.value)),d(N,w,Number(e.target.value)).some((function(e){return e.value===A}))||B(-1),s(N,w,A,Number(e.target.value)).some((function(e){return e.value===I}))||J(-1)}),[I,A,N,w]),X=t((function(e){B(Number(e.target.value)),s(N,w,Number(e.target.value),_).some((function(e){return e.value===I}))||J(-1)}),[I,_,N,w]),Z=t((function(e){J(Number(e.target.value))}),[]),$=n((function(){var e,l,o,n,t,r;return{day:a.createElement(c,{id:"day",labels:{show:void 0===M.showLabels||M.showLabels,main:(null===(e=M.labels)||void 0===e?void 0:e.dayLabel)||"Day",placeholder:(null===(l=M.labels)||void 0===l?void 0:l.dayPlaceholder)||"Select Day"},value:I,disabled:j,onChangeHandler:Z,selectOptions:V,ref:S}),month:a.createElement(c,{id:"month",labels:{show:void 0===M.showLabels||M.showLabels,main:(null===(o=M.labels)||void 0===o?void 0:o.monthLabel)||"Month",placeholder:(null===(n=M.labels)||void 0===n?void 0:n.monthPlaceholder)||"Select Month"},value:A,disabled:j,onChangeHandler:X,selectOptions:U,ref:x}),year:a.createElement(c,{id:"year",labels:{show:void 0===M.showLabels||M.showLabels,main:(null===(t=M.labels)||void 0===t?void 0:t.yearLabel)||"Year",placeholder:(null===(r=M.labels)||void 0===r?void 0:r.yearPlaceholder)||"Select Year"},value:_,disabled:j,onChangeHandler:W,selectOptions:T,ref:O})}}),[I,V,S,j,Z,X,W,A,U,x,null===(b=M.labels)||void 0===b?void 0:b.dayLabel,null===(h=M.labels)||void 0===h?void 0:h.dayPlaceholder,null===(f=M.labels)||void 0===f?void 0:f.monthLabel,null===(p=M.labels)||void 0===p?void 0:p.monthPlaceholder,null===(y=M.labels)||void 0===y?void 0:y.yearLabel,null===(g=M.labels)||void 0===g?void 0:g.yearPlaceholder,M.showLabels,_,T,O]);return r((function(){null!=E&&(J(Number(E.getDate())),B(Number(E.getMonth()+1)),q(Number(E.getFullYear())))}),[E]),r((function(){R(-1!==_&&-1!==A&&-1!==I?new Date("".concat(A,"/").concat(I,"/").concat(_)):null)}),[I,A,_]),a.createElement("div",l({},k,{style:{display:"flex"},id:L,className:Q},Y?{"aria-invalid":!0}:null),K.map((function(e,l){return a.createElement(a.Fragment,{key:"".concat(e,"-").concat(l)},$[e])})))};export{v 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";var l=function(l){var a=l.id,t=l.labels,n=l.value,c=l.disabled,r=l.onChangeHandler,s=l.selectOptions,o=l.ref;return e.createElement("div",{style:{display:"flex",flexDirection:"column"},className:"sdp_select-container-".concat(a)},t.show&&e.createElement("label",{htmlFor:a},t.main),e.createElement("select",{id:a,value:n,disabled:c,onChange:r,ref:o,className:"spd_select-".concat(a)},e.createElement("option",{value:-1,disabled:!0},t.placeholder),s))};export{l 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,8 +1,9 @@
1
- import { Months } from '../types/SelectDatepickerOptions';
1
+ import { Months } from '../types/SelectDatepickerLabels';
2
+ export declare const classPrefix = "rsd_";
2
3
  export declare const range: (start: number, stop: number, step: number) => number[];
3
4
  export declare const getAllDaysInMonth: (year: number, month: number) => number[];
4
5
  export declare const englishMonths: Months;
5
- 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) => {
6
7
  value: number;
7
8
  label: string;
8
9
  }[];
@@ -1 +1 @@
1
- var e=function(e,t,r){return Array.from({length:(t-e)/r+1},(function(t,n){return e+n*r}))},t=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},r={1:"January",2:"February",3:"March",4:"April",5:"May",6:"June",7:"July",8:"August",9:"September",10:"October",11:"November",12:"December"},n=function(t,r,n){void 0===n&&(n=!0);var a=e(t?t.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)}}))},a=function(t,n,a,u){void 0===a&&(a=-1),void 0===u&&(u=r);var l=e(1,12,1);if(n&&-1!==a&&a===n.getFullYear()){var o=n.getMonth()+1;l=l.slice(0,o)}if(t&&-1!==a&&a===t.getFullYear()){var c=t.getMonth()+1;l=l.slice(c-1,l.length)}return l.map((function(e,t){return{value:e,label:u[e]}}))},u=function(r,n,a,u){void 0===a&&(a=-1),void 0===u&&(u=-1);var l=[];if(-1===a)return(l=e(1,31,1)).map((function(e,t){return{value:e,label:"".concat(e)}}));if(l=t(-1===u?1900:u,a),n&&u===n.getFullYear()&&a===n.getMonth()+1){var o=n.getDate();l=l.slice(0,o)}if(r&&u===r.getFullYear()&&a===r.getMonth()+1){var c=r.getDate();l=l.slice(c-1,l.length)}return l.map((function(e,t){return{value:e,label:"".concat(e)}}))};export{r as englishMonths,t as getAllDaysInMonth,u as getDaysObject,a as getMonthsObject,n as getYearsObject,e 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.1",
3
+ "version": "2.1.1",
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
- };