@spscommerce/ds-react 6.37.1 → 6.37.3

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/lib/index.cjs.js CHANGED
@@ -833,7 +833,7 @@
833
833
  </div>
834
834
  </SpsCardV2Footer>
835
835
  </SpsCardV2>
836
- `}}}},py={checked:"boolean",disabled:"boolean",formMeta:"SpsFormFieldMeta<boolean>",indeterminate:"boolean",inline:"boolean",label:"string",onChange:"ChangeEventHandler"},uy=G(N({},z),{checked:E.exports.bool,disabled:E.exports.bool,formControl:ce(),formMeta:ce(),indeterminate:E.exports.bool,inline:E.exports.bool,label:E.exports.string,onChange:te()});function Nn(S){var T=S,{checked:e,className:t,disabled:n,formControl:s,formMeta:o,id:i,indeterminate:l,inline:c,label:p,onChange:m,"data-testid":f,unsafelyReplaceClassName:u}=T,g=q(T,["checked","className","disabled","formControl","formMeta","id","indeterminate","inline","label","onChange","data-testid","unsafelyReplaceClassName"]);const x=o||s,w=a.useRef(),[D,I]=a.useState(e),[v,k]=a.useState(l),{wrapperId:M,controlId:_}=Tt(i,x);a.useEffect(()=>I(e),[e]),a.useEffect(()=>k(l),[l]),a.useEffect(()=>{w.current.indeterminate=v},[v]);const R=K(u||"sps-checkbox","sps-checkable",c&&"sps-checkable--inline",!p&&"sps-checkable--no-label",t);function O(F){I(F.target.checked),k(!1),x&&(x.setValue(F.target.checked),x.markAsDirty()),m&&m(F),w.current.focus()}return a.createElement(it,{id:M,className:R,formControl:s,formMeta:o,inputRef:w,"data-testid":f},a.createElement("input",N({type:"checkbox",ref:w,className:"sps-checkable__input",id:_,checked:D,disabled:n,"data-testId":`${f}__checkbox-input`,onChange:O},g)),a.createElement("label",{className:"sps-checkable__label",htmlFor:_},p||""))}Object.assign(Nn,{props:py,propTypes:uy,displayName:"SpsCheckbox"});const dd={labels:{label:"Labels",description:y.code`
836
+ `}}}},py={checked:"boolean",disabled:"boolean",formMeta:"SpsFormFieldMeta<boolean>",indeterminate:"boolean",inline:"boolean",label:"string",onChange:"ChangeEventHandler"},uy=G(N({},z),{checked:E.exports.bool,disabled:E.exports.bool,formControl:ce(),formMeta:ce(),indeterminate:E.exports.bool,inline:E.exports.bool,label:E.exports.string,onChange:te()});function Nn(S){var T=S,{checked:e,className:t,disabled:n,formControl:s,formMeta:o,id:i,indeterminate:l,inline:c,label:p,onChange:m,"data-testid":f,unsafelyReplaceClassName:u}=T,g=q(T,["checked","className","disabled","formControl","formMeta","id","indeterminate","inline","label","onChange","data-testid","unsafelyReplaceClassName"]);const x=o||s,w=a.useRef(),[D,I]=a.useState(e),[v,k]=a.useState(l),{wrapperId:M,controlId:_}=Tt(i,x);a.useEffect(()=>I(e),[e]),a.useEffect(()=>k(l),[l]),a.useEffect(()=>{w.current.indeterminate=v},[v]);const R=K(u||"sps-checkbox","sps-checkable",c&&"sps-checkable--inline",!p&&"sps-checkable--no-label",t);function O(F){I(F.target.checked),k(!1),x&&(x.setValue(F.target.checked),x.markAsDirty()),m&&m(F),w.current.focus()}return a.createElement(it,{id:M,className:R,formControl:s,formMeta:o,inputRef:w,"data-testid":f},a.createElement("input",N({type:"checkbox",ref:w,className:"sps-checkable__input",id:_,checked:D,disabled:n,"data-testid":`${f}__checkbox-input`,onChange:O},g)),a.createElement("label",{className:"sps-checkable__label",htmlFor:_},p||""))}Object.assign(Nn,{props:py,propTypes:uy,displayName:"SpsCheckbox"});const dd={labels:{label:"Labels",description:y.code`
837
837
  <p>An individual checkbox should be labeled with its own <code>label</code> prop,
838
838
  not the <code>&lt;SpsLabel&gt;</code> component.</p>
839
839
  `,examples:{label:{react:y.code`
@@ -1221,7 +1221,7 @@
1221
1221
  </>
1222
1222
  )
1223
1223
  }
1224
- `}}}},Yx={index:"number",key:"string",columnId:"string",name:"string",value:"string",onDelete:"(columnValue: string) => void",mandatory:"boolean"},zx=G(N({},z),{index:E.exports.number,key:E.exports.string,columnId:E.exports.string,name:E.exports.string,value:E.exports.string,onDelete:te(),mandatory:E.exports.bool});function Xs(e){const u=e,{index:t,key:n,columnId:s,name:o,value:i,onDelete:l,mandatory:c,ref:p}=u,m=q(u,["index","key","columnId","name","value","onDelete","mandatory","ref"]),{t:f}=a.useContext(Le);return a.createElement(gu,N({key:s,draggableId:s,index:t||0},m),g=>a.createElement("div",G(N(N({ref:g.innerRef},g.draggableProps),g.dragHandleProps),{className:"sps-content-row"}),a.createElement("div",{className:"sps-content-row__col-group","data-col-value":i},a.createElement("div",{className:"sps-content-row__col sps-column-chooser__grab-col"},a.createElement("i",{className:"sps-column-chooser__drag-handle"})),a.createElement("div",{className:"sps-content-row__col--borderless"},a.createElement("div",{className:"sps-body-12"},o)),a.createElement("div",{className:"sps-content-row__col sps-column-chooser__delete-col"},!c&&a.createElement(Ke,{"aria-label":f("design-system:columnChooser.removeButton",{elementName:o}),kind:L.ButtonKind.ICON,icon:L.SpsIcon.X,onClick:()=>{l&&l(i)}})))))}Object.assign(Xs,{props:Yx,propTypes:zx,displayName:"SpsColumnChooserColumn"});const jx={maxSelectedColumns:"number | null",unselectedColumns:"ColumnProps[]",selectedColumns:"ColumnProps[]",onApplyChanges:"(selectedColumns: ColumnProps[]) => void"},qx=G(N({},z),{maxSelectedColumns:E.exports.number||null,unselectedColumns:E.exports.array,selectedColumns:E.exports.array,onApplyChanges:te()});function pi(e){const k=e,{unselectedColumns:t,selectedColumns:n,maxSelectedColumns:s=8,onApplyChanges:o,className:i,unsafelyReplaceClassName:l}=k,c=q(k,["unselectedColumns","selectedColumns","maxSelectedColumns","onApplyChanges","className","unsafelyReplaceClassName"]),[p,m]=Vt({isVisible:!1,unselectedColumns:[...t.map(M=>G(N({},M),{label:M.name,columnId:Xt()}))],selectedColumns:[...n.map(M=>G(N({},M),{columnId:Xt()}))]}),f={searchSelectedColumn:""},u=K(p.isVisible&&"sps-button--open",i),{formMeta:g,formValue:S,updateForm:T}=vc(f);function x(M){if(M.target.value){const _=[...p.selectedColumns],R=[];p.unselectedColumns.forEach(O=>{M.target.value===O.name?_.push({columnId:Xt(),name:O.name,value:O.value}):R.push(O)}),m({selectedColumns:_,unselectedColumns:R})}}function w(M){const _=[],R=[...p.unselectedColumns];p.selectedColumns.forEach(O=>{M===O.value?R.push({columnId:Xt(),name:O.name,value:O.value}):_.push(O)}),m({selectedColumns:_,unselectedColumns:R})}function D(M){if(!M.destination)return;const _=[...p.selectedColumns],[R]=_.splice(M.source.index,1);_.splice(M.destination.index,0,R),m({selectedColumns:_})}function I(){m({isVisible:!1});const M=p.selectedColumns.map(_=>{const R=N({},_);return R.columnId&&delete R.columnId,R});T(f),o(M)}function v(){m({isVisible:!p.isVisible})}return a.createElement("div",N({className:"sps-column-chooser z-stratum-dropdown"},c),a.createElement(Ke,{className:u,"aria-label":`${p.isVisible?"Close":"Open"} Column Chooser`,kind:L.ButtonKind.ICON,icon:L.SpsIcon.TABLE,onClick:v,"data-testid":"button"}),p.isVisible&&a.createElement(ci,{"data-testid":"open",footer:()=>a.createElement(Ke,{"aria-label":"Apply Changes",kind:L.ButtonKind.LINK,onClick:I},"Apply Changes")},a.createElement("div",{className:"sps-column-chooser__search-container"},a.createElement(fs,{suggestions:p.unselectedColumns.map(M=>M.name),disabled:s&&p.selectedColumns.length>=s,value:S.searchSelectedColumn?S.searchSelectedColumn:"",formMeta:g.fields.searchSelectedColumn,onChange:x,placeholder:"Find Columns to Add","data-testid":"autocomplete"})),a.createElement("div",{className:"sps-column-chooser__selected-title"},"Selected"),a.createElement(ou,{onDragEnd:D},a.createElement(ii,{droppableId:"column-chooser"},M=>a.createElement("div",G(N({},M.droppableProps),{ref:M.innerRef}),p.selectedColumns.map((_,R)=>a.createElement(Xs,{index:R,key:_.columnId,columnId:_.columnId,name:_.name,value:_.value,onDelete:w,mandatory:_.mandatory})),M.placeholder)))))}Object.assign(pi,{props:jx,propTypes:qx,displayName:"SpsColumnChooser"});const yu={basic:{label:"Basic",description:"Column chooser component",examples:{basic:{react:y.code`
1224
+ `}}}},Yx={index:"number",key:"string",columnId:"string",name:"string",value:"string",onDelete:"(columnValue: string) => void",mandatory:"boolean"},zx=G(N({},z),{index:E.exports.number,key:E.exports.string,columnId:E.exports.string,name:E.exports.string,value:E.exports.string,onDelete:te(),mandatory:E.exports.bool});function Xs(e){const u=e,{index:t,key:n,columnId:s,name:o,value:i,onDelete:l,mandatory:c,ref:p}=u,m=q(u,["index","key","columnId","name","value","onDelete","mandatory","ref"]),{t:f}=a.useContext(Le);return a.createElement(gu,N({key:s,draggableId:s,index:t||0},m),g=>a.createElement("div",G(N(N({ref:g.innerRef},g.draggableProps),g.dragHandleProps),{className:"sps-content-row"}),a.createElement("div",{className:"sps-content-row__col-group","data-col-value":i},a.createElement("div",{className:"sps-content-row__col sps-column-chooser__grab-col"},a.createElement("i",{className:"sps-column-chooser__drag-handle"})),a.createElement("div",{className:"sps-content-row__col--borderless"},a.createElement("div",{className:"sps-body-12"},o)),a.createElement("div",{className:"sps-content-row__col sps-column-chooser__delete-col"},!c&&a.createElement(Ke,{"aria-label":f("design-system:columnChooser.removeButton",{elementName:o}),kind:L.ButtonKind.ICON,icon:L.SpsIcon.X,onClick:()=>{l&&l(i)}})))))}Object.assign(Xs,{props:Yx,propTypes:zx,displayName:"SpsColumnChooserColumn"});const jx={maxSelectedColumns:"number | null",unselectedColumns:"ColumnProps[]",selectedColumns:"ColumnProps[]",onApplyChanges:"(selectedColumns: ColumnProps[]) => void"},qx=G(N({},z),{maxSelectedColumns:E.exports.number||null,unselectedColumns:E.exports.array,selectedColumns:E.exports.array,onApplyChanges:te()});function pi(e){const k=e,{unselectedColumns:t,selectedColumns:n,maxSelectedColumns:s=8,onApplyChanges:o,className:i,unsafelyReplaceClassName:l}=k,c=q(k,["unselectedColumns","selectedColumns","maxSelectedColumns","onApplyChanges","className","unsafelyReplaceClassName"]),[p,m]=Vt({isVisible:!1,unselectedColumns:[...t.map(M=>G(N({},M),{label:M.name,columnId:Xt()}))],selectedColumns:[...n.map(M=>G(N({},M),{columnId:Xt()}))]}),f={searchSelectedColumn:""},u=K(p.isVisible&&"sps-button--open",i),{formMeta:g,formValue:S,updateForm:T}=vc(f);function x(M){if(M.target.value){const _=[...p.selectedColumns],R=[];p.unselectedColumns.forEach(O=>{M.target.value===O.name?(T(f),_.push({columnId:Xt(),name:O.name,value:O.value})):R.push(O)}),m({selectedColumns:_,unselectedColumns:R})}}function w(M){const _=[],R=[...p.unselectedColumns];p.selectedColumns.forEach(O=>{M===O.value?R.push({columnId:Xt(),name:O.name,value:O.value}):_.push(O)}),m({selectedColumns:_,unselectedColumns:R})}function D(M){if(!M.destination)return;const _=[...p.selectedColumns],[R]=_.splice(M.source.index,1);_.splice(M.destination.index,0,R),m({selectedColumns:_})}function I(){m({isVisible:!1});const M=p.selectedColumns.map(_=>{const R=N({},_);return R.columnId&&delete R.columnId,R});T(f),o(M)}function v(){m({isVisible:!p.isVisible})}return a.createElement("div",N({className:"sps-column-chooser z-stratum-dropdown"},c),a.createElement(Ke,{className:u,"aria-label":`${p.isVisible?"Close":"Open"} Column Chooser`,kind:L.ButtonKind.ICON,icon:L.SpsIcon.TABLE,onClick:v,"data-testid":"button"}),p.isVisible&&a.createElement(ci,{"data-testid":"open",footer:()=>a.createElement(Ke,{"aria-label":"Apply Changes",kind:L.ButtonKind.LINK,onClick:I},"Apply Changes")},a.createElement("div",{className:"sps-column-chooser__search-container"},a.createElement(fs,{suggestions:p.unselectedColumns.map(M=>M.name),disabled:s&&p.selectedColumns.length>=s,value:S.searchSelectedColumn?S.searchSelectedColumn:"",formMeta:g.fields.searchSelectedColumn,onChange:x,placeholder:"Find Columns to Add","data-testid":"autocomplete"})),a.createElement("div",{className:"sps-column-chooser__selected-title"},"Selected"),a.createElement(ou,{onDragEnd:D},a.createElement(ii,{droppableId:"column-chooser"},M=>a.createElement("div",G(N({},M.droppableProps),{ref:M.innerRef}),p.selectedColumns.map((_,R)=>a.createElement(Xs,{index:R,key:_.columnId,columnId:_.columnId,name:_.name,value:_.value,onDelete:w,mandatory:_.mandatory})),M.placeholder)))))}Object.assign(pi,{props:jx,propTypes:qx,displayName:"SpsColumnChooser"});const yu={basic:{label:"Basic",description:"Column chooser component",examples:{basic:{react:y.code`
1225
1225
  function DemoComponent() {
1226
1226
  const unselectedCols = [
1227
1227
  { name: "Red Fish", value: "Red" },
@@ -2432,7 +2432,7 @@ var s=n.defineLocale("zh-tw",{months:"\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u5
2432
2432
  </SpsTable>
2433
2433
  )
2434
2434
  }
2435
- `}}}},TD={checked:"boolean",onChange:"ChangeEventHandler",indeterminate:"boolean",disabled:"boolean",options:"Array<SpsActionMethod | [SpsActionDescriptor, () => void]>"},ED=G(N({},z),{checked:E.exports.bool,onChange:te(),indeterminate:E.exports.bool,options:E.exports.arrayOf(E.exports.oneOfType([E.exports.func,E.exports.any])).isRequired,disabled:E.exports.bool});function vi(e){const m=e,{options:t,className:n,checked:s,onChange:o,indeterminate:i,disabled:l}=m,c=q(m,["options","className","checked","onChange","indeterminate","disabled"]),p=K("sps-checkbox-dropdown",n);return a.createElement("span",N({className:p},c),a.createElement(Nn,{indeterminate:i,checked:s,disabled:l,onChange:o,inline:!0}),a.createElement(Dn,{disabled:l,options:t,icon:L.SpsIcon.CHEVRON_DOWN}))}Object.assign(vi,{props:TD,propTypes:ED,displayName:"SpsCheckboxDropdown"});const wD={kind:"FeedbackBlockKind"},CD=G(N({},z),{kind:ve(L.FeedbackBlockKind)});function yi(e){const p=e,{children:t,className:n,kind:s=L.FeedbackBlockKind.TIP,"data-testid":o,unsafelyReplaceClassName:i}=p,l=q(p,["children","className","kind","data-testid","unsafelyReplaceClassName"]),c=K(i||"sps-feedback-block",`sps-feedback-block--${s}`,n);return a.createElement("div",N({className:c,role:"alert","data-testid":o},l),a.createElement("i",{className:K("sps-icon",`sps-icon-${L.FeedbackBlockIcons[s]}`),"aria-hidden":"true"}),a.createElement("span",{className:"sps-feedback-block__content","data-testid":`${o}__text`},t))}Object.assign(yi,{props:wD,propTypes:CD,displayName:"SpsFeedbackBlock"});const Gu={standard:{label:"Standard Size",description:"Use Standard Size Feedback Blocks for the majority of cases. If a smaller or more subtle solution is needed, use the Micro Size Feedback Block.",examples:{error:{description:"Error",jsx:y.code`
2435
+ `}}}},TD={checked:"boolean",onChange:"ChangeEventHandler",indeterminate:"boolean",disabled:"boolean",options:"Array<SpsActionMethod | [SpsActionDescriptor, () => void]>"},ED=G(N({},z),{checked:E.exports.bool,onChange:te(),indeterminate:E.exports.bool,options:E.exports.arrayOf(E.exports.oneOfType([E.exports.func,E.exports.any])).isRequired,disabled:E.exports.bool});function vi(e){const f=e,{options:t,className:n,checked:s,onChange:o,indeterminate:i,disabled:l,"data-testid":c}=f,p=q(f,["options","className","checked","onChange","indeterminate","disabled","data-testid"]),m=K("sps-checkbox-dropdown",n);return a.createElement("span",N({className:m,"data-testid":c},p),a.createElement(Nn,{indeterminate:i,checked:s,disabled:l,onChange:o,inline:!0,"data-testid":`${c}__checkbox`}),a.createElement(Dn,{disabled:l,options:t,icon:L.SpsIcon.CHEVRON_DOWN,"data-testid":`${c}__dropdown`}))}Object.assign(vi,{props:TD,propTypes:ED,displayName:"SpsCheckboxDropdown"});const wD={kind:"FeedbackBlockKind"},CD=G(N({},z),{kind:ve(L.FeedbackBlockKind)});function yi(e){const p=e,{children:t,className:n,kind:s=L.FeedbackBlockKind.TIP,"data-testid":o,unsafelyReplaceClassName:i}=p,l=q(p,["children","className","kind","data-testid","unsafelyReplaceClassName"]),c=K(i||"sps-feedback-block",`sps-feedback-block--${s}`,n);return a.createElement("div",N({className:c,role:"alert","data-testid":o},l),a.createElement("i",{className:K("sps-icon",`sps-icon-${L.FeedbackBlockIcons[s]}`),"aria-hidden":"true"}),a.createElement("span",{className:"sps-feedback-block__content","data-testid":`${o}__text`},t))}Object.assign(yi,{props:wD,propTypes:CD,displayName:"SpsFeedbackBlock"});const Gu={standard:{label:"Standard Size",description:"Use Standard Size Feedback Blocks for the majority of cases. If a smaller or more subtle solution is needed, use the Micro Size Feedback Block.",examples:{error:{description:"Error",jsx:y.code`
2436
2436
  <SpsFeedbackBlock kind={FeedbackBlockKind.ERROR}>
2437
2437
  We are experiencing difficulties communicating to the server. Please try again later.
2438
2438
  </SpsFeedbackBlock>
package/lib/index.es.js CHANGED
@@ -6443,7 +6443,7 @@ function SpsCheckbox(_q) {
6443
6443
  id: controlId,
6444
6444
  checked,
6445
6445
  disabled,
6446
- "data-testId": `${testId}__checkbox-input`,
6446
+ "data-testid": `${testId}__checkbox-input`,
6447
6447
  onChange: handleChange
6448
6448
  }, rest)), /* @__PURE__ */ React.createElement("label", {
6449
6449
  className: "sps-checkable__label",
@@ -15668,6 +15668,7 @@ function SpsColumnChooser(props2) {
15668
15668
  const unselected = [];
15669
15669
  state.unselectedColumns.forEach((column) => {
15670
15670
  if (event.target.value === column.name) {
15671
+ updateForm(initialSearchValue);
15671
15672
  selected.push({
15672
15673
  columnId: nanoid(),
15673
15674
  name: column.name,
@@ -23095,28 +23096,33 @@ function SpsCheckboxDropdown(props2) {
23095
23096
  checked,
23096
23097
  onChange,
23097
23098
  indeterminate,
23098
- disabled
23099
+ disabled,
23100
+ "data-testid": testId
23099
23101
  } = _a, rest = __objRest(_a, [
23100
23102
  "options",
23101
23103
  "className",
23102
23104
  "checked",
23103
23105
  "onChange",
23104
23106
  "indeterminate",
23105
- "disabled"
23107
+ "disabled",
23108
+ "data-testid"
23106
23109
  ]);
23107
23110
  const classes = clsx("sps-checkbox-dropdown", className);
23108
23111
  return /* @__PURE__ */ React.createElement("span", __spreadValues({
23109
- className: classes
23112
+ className: classes,
23113
+ "data-testid": testId
23110
23114
  }, rest), /* @__PURE__ */ React.createElement(SpsCheckbox, {
23111
23115
  indeterminate,
23112
23116
  checked,
23113
23117
  disabled,
23114
23118
  onChange,
23115
- inline: true
23119
+ inline: true,
23120
+ "data-testid": `${testId}__checkbox`
23116
23121
  }), /* @__PURE__ */ React.createElement(SpsDropdown, {
23117
23122
  disabled,
23118
23123
  options,
23119
- icon: SpsIcon.CHEVRON_DOWN
23124
+ icon: SpsIcon.CHEVRON_DOWN,
23125
+ "data-testid": `${testId}__dropdown`
23120
23126
  }));
23121
23127
  }
23122
23128
  Object.assign(SpsCheckboxDropdown, {
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": "6.37.1",
4
+ "version": "6.37.3",
5
5
  "author": "SPS Commerce",
6
6
  "license": "UNLICENSED",
7
7
  "repository": "https://github.com/spscommerce/design-system/tree/main/packages/@spscommerce/ds-react",
@@ -28,10 +28,10 @@
28
28
  },
29
29
  "peerDependencies": {
30
30
  "@react-stately/collections": "^3.3.3",
31
- "@spscommerce/ds-colors": "6.37.1",
32
- "@spscommerce/ds-illustrations": "6.37.1",
33
- "@spscommerce/ds-shared": "6.37.1",
34
- "@spscommerce/positioning": "6.37.1",
31
+ "@spscommerce/ds-colors": "6.37.3",
32
+ "@spscommerce/ds-illustrations": "6.37.3",
33
+ "@spscommerce/ds-shared": "6.37.3",
34
+ "@spscommerce/positioning": "6.37.3",
35
35
  "@spscommerce/utils": "^6.11.3",
36
36
  "moment": "^2.25.3",
37
37
  "moment-timezone": "^0.5.28",
@@ -40,10 +40,10 @@
40
40
  },
41
41
  "devDependencies": {
42
42
  "@react-stately/collections": "^3.3.3",
43
- "@spscommerce/ds-colors": "6.37.1",
44
- "@spscommerce/ds-illustrations": "6.37.1",
45
- "@spscommerce/ds-shared": "6.37.1",
46
- "@spscommerce/positioning": "6.37.1",
43
+ "@spscommerce/ds-colors": "6.37.3",
44
+ "@spscommerce/ds-illustrations": "6.37.3",
45
+ "@spscommerce/ds-shared": "6.37.3",
46
+ "@spscommerce/positioning": "6.37.3",
47
47
  "@spscommerce/utils": "^6.11.3",
48
48
  "@testing-library/react": "^10.4.0",
49
49
  "@types/prop-types": "^15.7.1",