@spscommerce/ds-react 7.16.6 → 7.16.8

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.
@@ -7,7 +7,7 @@ export type SpsDateRangePickerProps = React.PropsWithChildren<SpsGlobalPropTypes
7
7
  formMeta?: SpsFormFieldMeta<SimpleDateRange | DatePreset | undefined>;
8
8
  maxDate?: SimpleDate;
9
9
  minDate?: SimpleDate;
10
- onChange?: (newDateRange?: SimpleDateRange | DatePreset) => void;
10
+ onChange?: (newDateRange?: SimpleDateRange | DatePreset | null) => void;
11
11
  presets?: DatePreset[];
12
12
  value?: SimpleDateRange | DatePreset;
13
13
  showTwoMonths?: boolean;
package/lib/index.cjs.js CHANGED
@@ -1873,7 +1873,7 @@ Valid keys: `+JSON.stringify(Object.keys(G),null," "));var Ne=De(ie,ae,re,ee,U+
1873
1873
  </div>
1874
1874
  );
1875
1875
  }
1876
- `}}}},DN={disabled:"boolean",formMeta:"SpsFormFieldMeta<SimpleDateRange | DatePreset>",maxDate:"SimpleDate",minDate:"SimpleDate",onChange:"(newDateRange: SimpleDateRange | DatePreset) => void",presets:"Array<DatePreset>",value:"SimpleDateRange | DatePreset",showTwoMonths:"boolean"},Ad="sps-datepicker",Fo=[{definition:"P0D",label:"design-system:datepicker.preset.today"},{definition:"() => [null, {month: 1, date: 1, year: 3000}]",label:"design-system:datepicker.preset.before"},{definition:"() => [{month: 1, date: 1, year: 1990}, null]",label:"design-system:datepicker.preset.after"},{definition:"P7D",label:"design-system:datepicker.preset.sevenDays"},{definition:"P30D",label:"design-system:datepicker.preset.thirtyDays"},{definition:"P60D",label:"design-system:datepicker.preset.sixtyDays"},{definition:"P90D",label:"design-system:datepicker.preset.ninetyDays"},{definition:"P1Y",label:"design-system:datepicker.preset.oneYear"}];function Vi({children:e,className:t,disabled:n,formMeta:r,id:a,maxDate:o,minDate:l,onChange:c,presets:p=Fo,value:u,showTwoMonths:m=!1,"data-testid":f,...h}){const{t:S}=s.useContext(Pe),{wrapperId:T,controlId:E}=ut(a,r),w=s.useRef(null),C=s.useRef(null),x=s.useRef(null),[M,b]=s.useState(Array.isArray(u)?Z.toStringRange(u):""),[I,L]=s.useState(null),[k,R]=s.useState(),{showPopup:P,doShowPopup:H,doHidePopup:_}=gr(w,x);function B(A){r&&(r.setValue(A),r.markAsDirty()),c&&c(A)}function N(A){const j=u||[];let q;!j[0]||j[1]||Z.isBefore(A,j[0])?q=[A,null]:(q=[j[0],A],_(!0),C&&C.current&&C.current.focus()),I&&Q(I)==="Before"&&j[0]===null&&j[1]===null&&(q=[null,A],_(!0),C&&C.current&&C.current.focus()),I&&Q(I)==="After"&&(_(!0),C&&C.current&&C.current.focus()),B(q),b(Z.toStringRange(q)),R(void 0),(I&&Q(I)==="Before"&&q&&q[0]!==null||I&&Q(I)!=="Before"&&Q(I)!=="After")&&L(null)}function O(A){b(A.target.value);const j=Z.createRangeFrom(A.target.value);B(j),R(void 0)}function te(){b(""),B(),R(void 0),L(null)}function X(A){switch(A.key){case"Tab":_();break;case"Backspace":A.target.selectionStart===0&&u&&!Array.isArray(u)&&te();break}}function Y(A){if(!A){L(null),B(void 0);return}L(A);const j=Z.createRangeFromPreset(A);if(A&&Q(A)==="Before")if(u&&u[0]&&u[1]){let q=Z.createRangeFrom("-");q&&B(q)}else{let q=Z.createRangeFrom(`-${Z.toString(u&&u[0])}`);q&&B(q)}else if(A&&Q(A)==="After")if(u&&u[0]&&u[1]){let q=Z.createRangeFrom("-");q&&B(q)}else{let q=Z.createRangeFrom(`${Z.toString(u&&u[0])}-`);q&&B(q)}else JSON.stringify(u)!==JSON.stringify(j)&&B(j)}s.useEffect(()=>{if(!!u&&p!==Fo&&Array.isArray(u)){const A=Z.toStringRange(u),j=p.find(q=>A===Z.toStringRange(Z.createRangeFromPreset(q)));j?Y(j):u[0]===null||u[1]===null||L(null)}},[u]),s.useEffect(()=>{u?Array.isArray(u)&&!I?(u.every(A=>Z.isValid(A)||A===null)&&b(Z.toStringRange(u)),R(void 0)):Array.isArray(u)&&I&&Q(I)==="Before"?u&&u[0]&&u[1]?L(null):u.every(A=>Z.isValid(A)||A===null)&&b(Z.toStringRange(u)):Array.isArray(u)&&I&&Q(I)==="After"?u&&u[0]&&u[1]?L(null):u.every(A=>Z.isValid(A)||A===null)&&b(Z.toStringRange(u)):Array.isArray(u)&&I&&b(""):te()},[u,I]);function Q(A){return A&&/^design-system:/.test(A.label)?S(A.label):A.label}const G=K(Ad,"sps-text-input",P&&`${Ad}--open`,t);return s.createElement(s.Fragment,null,s.createElement(Qe,{id:T,className:G,formMeta:r,inputRef:C,focusInputOnClick:!0,ref:w},s.createElement("div",{className:K("sps-form-control",n&&"disabled")},s.createElement("i",{className:K("sps-text-input__icon","sps-icon","sps-icon-calendar")}),I&&s.createElement("div",{"data-testid":`${f}_selected_preset`,className:"sps-datepicker__selected-preset"},s.createElement("span",{className:"sps-tag sps-tag--info"},Q(I))),s.createElement("input",{type:"text",ref:C,className:"sps-text-input__input","data-testid":`${f}_date_input`,id:E,placeholder:!M&&!I?cr:void 0,onChange:O,onClick:H,onFocus:H,onKeyDown:X,value:M,disabled:n,...h}),u&&!n&&s.createElement("i",{className:"sps-icon sps-icon-x-circle sps-form-control__clear-btn",onClick:te}))),s.createElement(ua,{isOpen:P,attachTo:w,ref:x},s.createElement("div",{className:"sps-datepicker__presets"},s.createElement("fieldset",null,s.createElement("legend",{className:"sps-datepicker__presets-label"},S("design-system:datepicker.presetsLabel")),s.createElement("div",{className:"sps-custom-control sps-custom-radio sps-custom-control--no-error"},s.createElement("input",{"data-testid":`${f}_presets_custom_input`,type:"radio",id:`sps-date-range-picker-${T}__range-custom`,className:"sps-custom-control__input",checked:!I,name:`sps-date-range-picker-${T}__range`,onChange:()=>Y()}),s.createElement("label",{className:"sps-custom-control__label",htmlFor:`sps-date-range-picker-${T}__range-custom`},S("design-system:datepicker.preset.custom"))),p.map((A,j)=>s.createElement("div",{key:Q(A),className:"sps-custom-control sps-custom-radio sps-custom-control--no-error"},s.createElement("input",{type:"radio","data-testid":`${f}_preset_option_${A.label}`,id:`sps-date-range-picker-${T}__range-${j}`,name:`sps-date-range-picker-${T}__range`,onChange:()=>Y(A),checked:I!=null&&I.definition?I.definition===A.definition:!1,className:"sps-custom-control__input"}),s.createElement("label",{className:"sps-custom-control__label",htmlFor:`sps-date-range-picker-${T}__range-${j}`},Q(A)))))),s.createElement(pa,{"data-testid":`${f}_calendar`,selectedRange:Array.isArray(u)?u:k,onNewSelection:N,minDate:l,maxDate:o,showTwoMonths:m,selectedPreset:I&&Q(I)})))}Object.assign(Vi,{props:DN,displayName:"SpsDateRangePicker"});const bm={basic:{label:"Basic",examples:{basic:{react:y.code`
1876
+ `}}}},DN={disabled:"boolean",formMeta:"SpsFormFieldMeta<SimpleDateRange | DatePreset>",maxDate:"SimpleDate",minDate:"SimpleDate",onChange:"(newDateRange: SimpleDateRange | DatePreset | null) => void",presets:"Array<DatePreset>",value:"SimpleDateRange | DatePreset",showTwoMonths:"boolean"},Ad="sps-datepicker",Fo=[{definition:"P0D",label:"design-system:datepicker.preset.today"},{definition:"() => [null, {month: 1, date: 1, year: 3000}]",label:"design-system:datepicker.preset.before"},{definition:"() => [{month: 1, date: 1, year: 1990}, null]",label:"design-system:datepicker.preset.after"},{definition:"P7D",label:"design-system:datepicker.preset.sevenDays"},{definition:"P30D",label:"design-system:datepicker.preset.thirtyDays"},{definition:"P60D",label:"design-system:datepicker.preset.sixtyDays"},{definition:"P90D",label:"design-system:datepicker.preset.ninetyDays"},{definition:"P1Y",label:"design-system:datepicker.preset.oneYear"}];function Vi({children:e,className:t,disabled:n,formMeta:r,id:a,maxDate:o,minDate:l,onChange:c,presets:p=Fo,value:u,showTwoMonths:m=!1,"data-testid":f,...h}){const{t:S}=s.useContext(Pe),{wrapperId:T,controlId:E}=ut(a,r),w=s.useRef(null),C=s.useRef(null),x=s.useRef(null),[M,b]=s.useState(Array.isArray(u)?Z.toStringRange(u):""),[I,L]=s.useState(null),[k,R]=s.useState(),{showPopup:P,doShowPopup:H,doHidePopup:_}=gr(w,x);function B(A){r&&(r.setValue(A),r.markAsDirty()),c&&c(A)}function N(A){const j=u||[];let q;!j[0]||j[1]||Z.isBefore(A,j[0])?q=[A,null]:(q=[j[0],A],_(!0),C&&C.current&&C.current.focus()),I&&Q(I)==="Before"&&j[0]===null&&j[1]===null&&(q=[null,A],_(!0),C&&C.current&&C.current.focus()),I&&Q(I)==="After"&&(_(!0),C&&C.current&&C.current.focus()),B(q),b(Z.toStringRange(q)),R(void 0),(I&&Q(I)==="Before"&&q&&q[0]!==null||I&&Q(I)!=="Before"&&Q(I)!=="After")&&L(null)}function O(A){b(A.target.value);const j=Z.createRangeFrom(A.target.value);B(j),R(void 0)}function te(){b(""),B(),R(void 0),L(null)}function X(A){switch(A.key){case"Tab":_();break;case"Backspace":A.target.selectionStart===0&&u&&!Array.isArray(u)&&te();break}}function Y(A){if(!A){L(null),B(void 0);return}L(A);const j=Z.createRangeFromPreset(A);if(A&&Q(A)==="Before")if(u&&u[0]&&u[1]){let q=Z.createRangeFrom("-");q&&B(q)}else{let q=Z.createRangeFrom(`-${Z.toString(u&&u[0])}`);q&&B(q)}else if(A&&Q(A)==="After")if(u&&u[0]&&u[1]){let q=Z.createRangeFrom("-");q&&B(q)}else{let q=Z.createRangeFrom(`${Z.toString(u&&u[0])}-`);q&&B(q)}else JSON.stringify(u)!==JSON.stringify(j)&&B(j)}s.useEffect(()=>{if(!!u&&p!==Fo&&Array.isArray(u)){const A=Z.toStringRange(u),j=p.find(q=>A===Z.toStringRange(Z.createRangeFromPreset(q)));j?Y(j):u[0]===null||u[1]===null||L(null)}},[u]),s.useEffect(()=>{u?Array.isArray(u)&&!I?(u.every(A=>Z.isValid(A)||A===null)&&b(Z.toStringRange(u)),R(void 0)):Array.isArray(u)&&I&&Q(I)==="Before"?u&&u[0]&&u[1]?L(null):u.every(A=>Z.isValid(A)||A===null)&&b(Z.toStringRange(u)):Array.isArray(u)&&I&&Q(I)==="After"?u&&u[0]&&u[1]?L(null):u.every(A=>Z.isValid(A)||A===null)&&b(Z.toStringRange(u)):Array.isArray(u)&&I&&b(""):te()},[u,I]);function Q(A){return A&&/^design-system:/.test(A.label)?S(A.label):A.label}const G=K(Ad,"sps-text-input",P&&`${Ad}--open`,t);return s.createElement(s.Fragment,null,s.createElement(Qe,{id:T,className:G,formMeta:r,inputRef:C,focusInputOnClick:!0,ref:w},s.createElement("div",{className:K("sps-form-control",n&&"disabled")},s.createElement("i",{className:K("sps-text-input__icon","sps-icon","sps-icon-calendar")}),I&&s.createElement("div",{"data-testid":`${f}_selected_preset`,className:"sps-datepicker__selected-preset"},s.createElement("span",{className:"sps-tag sps-tag--info"},Q(I))),s.createElement("input",{type:"text",ref:C,className:"sps-text-input__input","data-testid":`${f}_date_input`,id:E,placeholder:!M&&!I?cr:void 0,onChange:O,onClick:H,onFocus:H,onKeyDown:X,value:M,disabled:n,...h}),u&&!n&&s.createElement("i",{className:"sps-icon sps-icon-x-circle sps-form-control__clear-btn",onClick:te}))),s.createElement(ua,{isOpen:P,attachTo:w,ref:x},s.createElement("div",{className:"sps-datepicker__presets"},s.createElement("fieldset",null,s.createElement("legend",{className:"sps-datepicker__presets-label"},S("design-system:datepicker.presetsLabel")),s.createElement("div",{className:"sps-custom-control sps-custom-radio sps-custom-control--no-error"},s.createElement("input",{"data-testid":`${f}_presets_custom_input`,type:"radio",id:`sps-date-range-picker-${T}__range-custom`,className:"sps-custom-control__input",checked:!I,name:`sps-date-range-picker-${T}__range`,onChange:()=>Y()}),s.createElement("label",{className:"sps-custom-control__label",htmlFor:`sps-date-range-picker-${T}__range-custom`},S("design-system:datepicker.preset.custom"))),p.map((A,j)=>s.createElement("div",{key:Q(A),className:"sps-custom-control sps-custom-radio sps-custom-control--no-error"},s.createElement("input",{type:"radio","data-testid":`${f}_preset_option_${A.label}`,id:`sps-date-range-picker-${T}__range-${j}`,name:`sps-date-range-picker-${T}__range`,onChange:()=>Y(A),checked:I!=null&&I.definition?I.definition===A.definition:!1,className:"sps-custom-control__input"}),s.createElement("label",{className:"sps-custom-control__label",htmlFor:`sps-date-range-picker-${T}__range-${j}`},Q(A)))))),s.createElement(pa,{"data-testid":`${f}_calendar`,selectedRange:Array.isArray(u)?u:k,onNewSelection:N,minDate:l,maxDate:o,showTwoMonths:m,selectedPreset:I&&Q(I)})))}Object.assign(Vi,{props:DN,displayName:"SpsDateRangePicker"});const bm={basic:{label:"Basic",examples:{basic:{react:y.code`
1877
1877
  import {
1878
1878
  useSpsForm,
1879
1879
  SpsLabel,
package/lib/index.es.js CHANGED
@@ -12417,7 +12417,7 @@ const KD = {
12417
12417
  formMeta: "SpsFormFieldMeta<SimpleDateRange | DatePreset>",
12418
12418
  maxDate: "SimpleDate",
12419
12419
  minDate: "SimpleDate",
12420
- onChange: "(newDateRange: SimpleDateRange | DatePreset) => void",
12420
+ onChange: "(newDateRange: SimpleDateRange | DatePreset | null) => void",
12421
12421
  presets: "Array<DatePreset>",
12422
12422
  value: "SimpleDateRange | DatePreset",
12423
12423
  showTwoMonths: "boolean"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@spscommerce/ds-react",
3
3
  "description": "SPS Design System React components",
4
- "version": "7.16.6",
4
+ "version": "7.16.8",
5
5
  "author": "SPS Commerce",
6
6
  "license": "UNLICENSED",
7
7
  "repository": "https://github.com/spscommerce/woodland/tree/main/packages/@spscommerce/ds-react",
@@ -46,11 +46,11 @@
46
46
  "moment-timezone": "^0.5.28",
47
47
  "react": "^16.9.0",
48
48
  "react-dom": "^16.9.0",
49
- "@sps-woodland/illustrations": "7.16.6",
50
- "@sps-woodland/tabs": "7.16.6",
51
- "@spscommerce/ds-colors": "7.16.6",
52
- "@spscommerce/positioning": "7.16.6",
53
- "@spscommerce/ds-shared": "7.16.6"
49
+ "@sps-woodland/illustrations": "7.16.8",
50
+ "@sps-woodland/tabs": "7.16.8",
51
+ "@spscommerce/ds-colors": "7.16.8",
52
+ "@spscommerce/ds-shared": "7.16.8",
53
+ "@spscommerce/positioning": "7.16.8"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@react-spectrum/provider": "^3.4.1",
@@ -72,12 +72,12 @@
72
72
  "raf-stub": "^2.0.2",
73
73
  "react": "^16.9.0",
74
74
  "react-dom": "^16.9.0",
75
- "@sps-woodland/illustrations": "7.16.6",
76
- "@spscommerce/ds-colors": "7.16.6",
77
- "@spscommerce/positioning": "7.16.6",
78
- "test": "7.16.6",
79
- "@sps-woodland/tabs": "7.16.6",
80
- "@spscommerce/ds-shared": "7.16.6"
75
+ "@sps-woodland/illustrations": "7.16.8",
76
+ "@sps-woodland/tabs": "7.16.8",
77
+ "@spscommerce/ds-colors": "7.16.8",
78
+ "@spscommerce/ds-shared": "7.16.8",
79
+ "@spscommerce/positioning": "7.16.8",
80
+ "test": "7.16.8"
81
81
  },
82
82
  "scripts": {
83
83
  "build": "pnpm run build:js && pnpm run build:types",