@teppen/react-ui 1.8.7 → 1.8.9

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.
Files changed (46) hide show
  1. package/dist/cjs/src/search-bar/condition-search-bar/condition-list.js +1 -1
  2. package/dist/cjs/src/search-bar/condition-search-bar/input-form.js +1 -1
  3. package/dist/cjs/src/select-box/options-window/component.js +1 -1
  4. package/dist/cjs/src/select-box/options-window/component.js.map +1 -1
  5. package/dist/cjs/src/share/search-operator/constant.js +1 -1
  6. package/dist/cjs/src/share/search-operator/constant.js.map +1 -1
  7. package/dist/cjs/src/table/cell/hooks.js +1 -1
  8. package/dist/cjs/src/table/cell/hooks.js.map +1 -1
  9. package/dist/cjs/src/table/cell/ui/cell.js +1 -1
  10. package/dist/cjs/src/table/copy/hooks.js +1 -1
  11. package/dist/cjs/src/table/copy/hooks.js.map +1 -1
  12. package/dist/cjs/src/table/edit/ui/base-input.js +1 -1
  13. package/dist/cjs/src/table/filter-v2/hook.js +1 -1
  14. package/dist/cjs/src/table/filter-v2/hook.js.map +1 -1
  15. package/dist/cjs/src/table/header/columns-width/provider.js +1 -1
  16. package/dist/cjs/src/table/header/columns-width/reducer.js +1 -1
  17. package/dist/cjs/src/table/header/columns-width/reducer.js.map +1 -1
  18. package/dist/cjs/src/table/header/header-v2.js +1 -1
  19. package/dist/cjs/src/table/header/header-v2.js.map +1 -1
  20. package/dist/cjs/src/table/libs/generate-validate-function.js +1 -1
  21. package/dist/cjs/src/table/libs/generate-validate-function.js.map +1 -1
  22. package/dist/cjs/src/table/table/hook.js.map +1 -1
  23. package/dist/esm/src/search-bar/condition-search-bar/condition-list.js +1 -1
  24. package/dist/esm/src/search-bar/condition-search-bar/input-form.js +1 -1
  25. package/dist/esm/src/select-box/options-window/component.js +1 -1
  26. package/dist/esm/src/select-box/options-window/component.js.map +1 -1
  27. package/dist/esm/src/share/search-operator/constant.js +1 -1
  28. package/dist/esm/src/share/search-operator/constant.js.map +1 -1
  29. package/dist/esm/src/table/cell/hooks.js +1 -1
  30. package/dist/esm/src/table/cell/hooks.js.map +1 -1
  31. package/dist/esm/src/table/cell/ui/cell.js +1 -1
  32. package/dist/esm/src/table/copy/hooks.js +1 -1
  33. package/dist/esm/src/table/copy/hooks.js.map +1 -1
  34. package/dist/esm/src/table/edit/ui/base-input.js +1 -1
  35. package/dist/esm/src/table/filter-v2/hook.js +1 -1
  36. package/dist/esm/src/table/filter-v2/hook.js.map +1 -1
  37. package/dist/esm/src/table/header/columns-width/provider.js +1 -1
  38. package/dist/esm/src/table/header/columns-width/reducer.js +1 -1
  39. package/dist/esm/src/table/header/columns-width/reducer.js.map +1 -1
  40. package/dist/esm/src/table/header/header-v2.js +1 -1
  41. package/dist/esm/src/table/header/header-v2.js.map +1 -1
  42. package/dist/esm/src/table/libs/generate-validate-function.js +1 -1
  43. package/dist/esm/src/table/libs/generate-validate-function.js.map +1 -1
  44. package/dist/esm/src/table/table/hook.js.map +1 -1
  45. package/dist/index.d.ts +22 -5
  46. package/package.json +1 -1
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use strict";var e=require("react/jsx-runtime"),t=require("./condition-input-management/context.js");require("react"),require("../../../node_modules/tslib/tslib.es6.js");var n=require("../../../node_modules/react-icons/ti/index.js");function a(a){var o=t.useConditionInputAction().deleteCondition;return e.jsxs("div",{className:"flex items-center gap-2 w-fit px-2 border-2 border-sky-600 rounded shadow",children:[e.jsx("p",{className:"whitespace-nowrap",children:r(a.condition)}),e.jsx("div",{children:e.jsx(n.TiDeleteOutline,{className:"bg-white hover:bg-slate-300 rounded-full cursor-pointer",onClick:function(){return o(a.index)}})})]})}function r(e){var t;switch(e.input.type){case"none":return"".concat(e.target.label," ").concat(e.operator.label);case"single string":case"single number":case"single date":return"".concat(e.target.label," ").concat(e.operator.label," ").concat(e.input.payload.value);case"range string":case"range number":case"range date":return"".concat(e.target.label," ").concat(e.operator.label," ").concat(e.input.payload.from," ~ ").concat(e.input.payload.to);case"select":if("select"!==e.target.type)throw new Error("type error");var n=e.input.payload.value;return"".concat(e.target.label," ").concat(e.operator.label," ").concat(null===(t=e.target.options.find((function(e){return e.value===n})))||void 0===t?void 0:t.label);case"multi select":return"".concat(e.target.label," ").concat(e.operator.label," ").concat(e.input.payload.value.join(", "))}}exports.ConditionList=function(t){return e.jsx("div",{className:"flex gap-1",children:t.conditions.map((function(t,n){return e.jsx(a,{index:n,condition:t},n)}))})};
2
+ "use strict";var e=require("react/jsx-runtime"),t=require("./condition-input-management/context.js");require("react"),require("../../../node_modules/tslib/tslib.es6.js");var a=require("../../../node_modules/react-icons/ti/index.js");function n(n){var o=t.useConditionInputAction().deleteCondition;return e.jsxs("div",{className:"flex items-center gap-2 w-fit px-2 border-2 border-sky-600 rounded shadow",children:[e.jsx("p",{className:"whitespace-nowrap",children:r(n.condition)}),e.jsx("div",{children:e.jsx(a.TiDeleteOutline,{className:"bg-white hover:bg-slate-300 rounded-full cursor-pointer",onClick:function(){return o(n.index)}})})]})}function r(e){var t;switch(e.input.type){case"none":return"".concat(e.target.label," ").concat(e.operator.label);case"single string":case"single number":return"".concat(e.target.label," ").concat(e.operator.label," ").concat(e.input.payload.value);case"single date":return"".concat(e.target.label," ").concat(e.operator.label," ").concat(e.input.payload.value.toLocaleDateString());case"single datetime":return"".concat(e.target.label," ").concat(e.operator.label," ").concat(e.input.payload.value.toLocaleString());case"range string":case"range number":case"range date":return"".concat(e.target.label," ").concat(e.operator.label," ").concat(e.input.payload.from," ~ ").concat(e.input.payload.to);case"select":if("select"!==e.target.type)throw new Error("type error");var a=e.input.payload.value;return"".concat(e.target.label," ").concat(e.operator.label," ").concat(null===(t=e.target.options.find((function(e){return e.value===a})))||void 0===t?void 0:t.label);case"multi select":return"".concat(e.target.label," ").concat(e.operator.label," ").concat(e.input.payload.value.join(", "))}}exports.ConditionList=function(t){return e.jsx("div",{className:"flex gap-1",children:t.conditions.map((function(t,a){return e.jsx(n,{index:a,condition:t},a)}))})};
3
3
  //# sourceMappingURL=condition-list.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use strict";var e=require("react/jsx-runtime"),t=require("react"),n=require("../../select-box/index.js"),i=require("./condition-input-management/context.js");require("../../../node_modules/tslib/tslib.es6.js");var o=require("../id-generator/context.js"),r=require("../../../node_modules/react-icons/ti/index.js");function a(){var t=o.useIdGenerator().generateId,r=i.useConditionInputState().targets,a=i.useConditionInputAction().inputTarget;return e.jsx(n.SelectBox,{id:t("TargetInput"),onSelect:function(e){a(e)},options:r.map((function(e){return{value:e.key,label:e.label}})),placeholder:"Select target",no_appearance:!0,no_icon:!0})}function u(){var t=o.useIdGenerator().generateId,r=i.useConditionInputState(),a=i.useConditionInputAction(),u=a.inputOperator,l=a.removeInputedTarget;if("inputted target"!==r.status)return null;var s=r.inputtingCondition.target,p=r.useableOperators;return e.jsxs(e.Fragment,{children:[e.jsx(d,{label:s.label,onClickDelete:function(){l()}}),e.jsx("div",{className:"w-full min-w-64",children:e.jsx(n.SelectBox,{id:t("OperatorInput"),onSelect:function(e){u(e),setTimeout((function(){var e=document.getElementById(t("ValueInput"));e&&e.focus()}),10)},options:p.map((function(e){return{value:e.key,label:e.label}})),defaultIsOpen:!0,placeholder:"Select operator",no_appearance:!0,no_icon:!0})})]})}function l(t){var n=i.useConditionInputState(),o=i.useConditionInputAction(),r=o.removeInputedOperator,a=o.removeInputedTarget;if("inputted operator"!==n.status)return null;var u=n.inputtingCondition.target,l=n.inputtingCondition.operator;return e.jsxs(e.Fragment,{children:[e.jsx(d,{label:u.label,onClickDelete:function(){a()}}),e.jsx(d,{label:l.label,onClickDelete:function(){r()}}),"single string"===n.inputtingCondition.operator.inputType?e.jsx(s,{inputType:"single string",size:t.size}):"single number"===n.inputtingCondition.operator.inputType?e.jsx(p,{inputType:"single number",size:t.size}):"select"===n.inputtingCondition.operator.inputType?e.jsx(c,{inputType:"select",options:"select"===n.inputtingCondition.target.type?n.inputtingCondition.target.options:[]}):console.error("Not implemented")]})}function s(n){var r=o.useIdGenerator().generateId,a=t.useState(""),u=a[0],l=a[1],s=i.useConditionInputAction().inputValue;return e.jsx("input",{id:r("ValueInput"),className:"appearance-none w-full min-w-64 border-none px-2 py-1 focus:outline-none focus-visible:outline-none bg-transparent ".concat("small"===n.size?"text-sm":"large"===n.size?"text-lg":""),type:"text",placeholder:"Search text",value:u,onChange:function(e){l(e.target.value)},onKeyDown:function(e){"Enter"===e.key&&(s({type:n.inputType,payload:{value:u}}),l(""))}})}function p(n){var r=o.useIdGenerator().generateId,a=t.useState(""),u=a[0],l=a[1],s=i.useConditionInputAction().inputValue;return e.jsx("input",{id:r("ValueInput"),className:"appearance-none w-full min-w-64 border-none px-2 py-1 focus:outline-none focus-visible:outline-none bg-transparent ".concat("small"===n.size?"text-sm":"large"===n.size?"text-lg":""),type:"text",placeholder:"Search text",value:u,onChange:function(e){l(e.target.value)},onKeyDown:function(e){"Enter"===e.key&&(s({type:n.inputType,payload:{value:Number(u)}}),l(""))}})}function c(t){var r=i.useConditionInputAction().inputValue,a=o.useIdGenerator().generateId;return e.jsx("div",{className:"w-full min-w-64",children:e.jsx(n.SelectBox,{id:a("ValueInput"),onSelect:function(e){r({type:t.inputType,payload:{value:e}})},options:t.options,defaultIsOpen:!0,placeholder:"Select value",no_appearance:!0,no_icon:!0})})}function d(t){return e.jsxs("div",{className:"flex items-center gap-2 w-fit px-2 border rounded bg-slate-100",children:[e.jsx("p",{className:"whitespace-nowrap",children:t.label}),t.onClickDelete&&e.jsx("div",{children:e.jsx(r.TiDeleteOutline,{className:"bg-white hover:bg-slate-300 rounded-full cursor-pointer",onClick:t.onClickDelete})})]})}exports.SearchBarInputForm=function(t){switch(i.useConditionInputState().status){case"waiting for input":return e.jsx(a,{});case"inputted target":return e.jsx(u,{});case"inputted operator":return e.jsx(l,{size:t.size})}};
2
+ "use strict";var e=require("react/jsx-runtime"),n=require("react"),t=require("../../select-box/index.js"),i=require("./condition-input-management/context.js");require("../../../node_modules/tslib/tslib.es6.js");var o=require("../id-generator/context.js"),r=require("../../../node_modules/react-icons/ti/index.js");function u(){var n=o.useIdGenerator().generateId,r=i.useConditionInputState().targets,u=i.useConditionInputAction().inputTarget;return e.jsx(t.SelectBox,{id:n("TargetInput"),onSelect:function(e){u(e)},options:r.map((function(e){return{value:e.key,label:e.label}})),placeholder:"Select target",no_appearance:!0,no_icon:!0})}function a(){var n=o.useIdGenerator().generateId,r=i.useConditionInputState(),u=i.useConditionInputAction(),a=u.inputOperator,l=u.removeInputedTarget;if("inputted target"!==r.status)return null;var s=r.inputtingCondition.target,p=r.useableOperators;return e.jsxs(e.Fragment,{children:[e.jsx(g,{label:s.label,onClickDelete:function(){l()}}),e.jsx("div",{className:"w-full min-w-64",children:e.jsx(t.SelectBox,{id:n("OperatorInput"),onSelect:function(e){a(e),setTimeout((function(){var e=document.getElementById(n("ValueInput"));e&&e.focus()}),10)},options:p.map((function(e){return{value:e.key,label:e.label}})),defaultIsOpen:!0,placeholder:"Select operator",no_appearance:!0,no_icon:!0})})]})}function l(n){var t=i.useConditionInputState(),o=i.useConditionInputAction(),r=o.removeInputedOperator,u=o.removeInputedTarget;if("inputted operator"!==t.status)return null;var a=t.inputtingCondition.target,l=t.inputtingCondition.operator;return e.jsxs(e.Fragment,{children:[e.jsx(g,{label:a.label,onClickDelete:function(){u()}}),e.jsx(g,{label:l.label,onClickDelete:function(){r()}}),"single string"===t.inputtingCondition.operator.inputType?e.jsx(s,{inputType:t.inputtingCondition.operator.inputType,size:n.size}):"single number"===t.inputtingCondition.operator.inputType?e.jsx(p,{inputType:t.inputtingCondition.operator.inputType,size:n.size}):"select"===t.inputtingCondition.operator.inputType?e.jsx(c,{inputType:t.inputtingCondition.operator.inputType,options:"select"===t.inputtingCondition.target.type?t.inputtingCondition.target.options:[]}):"single datetime"===t.inputtingCondition.operator.inputType?e.jsx(d,{inputType:t.inputtingCondition.operator.inputType,size:n.size}):"single date"===t.inputtingCondition.operator.inputType?e.jsx(f,{inputType:t.inputtingCondition.operator.inputType,size:n.size}):console.error("Not implemented")]})}function s(t){var r=o.useIdGenerator().generateId,u=n.useState(""),a=u[0],l=u[1],s=i.useConditionInputAction().inputValue;return e.jsx("input",{id:r("ValueInput"),className:"appearance-none w-full min-w-64 border-none px-2 py-1 focus:outline-none focus-visible:outline-none bg-transparent ".concat("small"===t.size?"text-sm":"large"===t.size?"text-lg":""),type:"text",placeholder:"Search text",value:a,onChange:function(e){l(e.target.value)},onKeyDown:function(e){"Enter"===e.key&&(s({type:t.inputType,payload:{value:a}}),l(""))}})}function p(t){var r=o.useIdGenerator().generateId,u=n.useState(""),a=u[0],l=u[1],s=i.useConditionInputAction().inputValue;return e.jsx("input",{id:r("ValueInput"),className:"appearance-none w-full min-w-64 border-none px-2 py-1 focus:outline-none focus-visible:outline-none bg-transparent ".concat("small"===t.size?"text-sm":"large"===t.size?"text-lg":""),type:"text",placeholder:"Search text",value:a,onChange:function(e){l(e.target.value)},onKeyDown:function(e){"Enter"===e.key&&(s({type:t.inputType,payload:{value:Number(a)}}),l(""))}})}function c(n){var r=i.useConditionInputAction().inputValue,u=o.useIdGenerator().generateId;return e.jsx("div",{className:"w-full min-w-64",children:e.jsx(t.SelectBox,{id:u("ValueInput"),onSelect:function(e){r({type:n.inputType,payload:{value:e}})},options:n.options,defaultIsOpen:!0,placeholder:"Select value",no_appearance:!0,no_icon:!0})})}function d(t){var r=o.useIdGenerator().generateId,u=i.useConditionInputAction().inputValue,a=n.useRef(null);return n.useEffect((function(){if(a.current){var e=a.current;e.focus(),e.scrollIntoView(),e.click()}}),[]),e.jsx("input",{ref:a,id:r("ValueInput"),className:"appearance-none w-fit min-w-64 border-none px-2 py-1 focus:outline-none focus-visible:outline-none bg-transparent ".concat("small"===t.size?"text-sm":"large"===t.size?"text-lg":""),type:"datetime-local",defaultValue:new Date((new Date).getTime()-6e4*(new Date).getTimezoneOffset()).toISOString().slice(0,16),onKeyDown:function(e){var n,i;if("Enter"===e.key){var o=new Date(null!==(i=null===(n=a.current)||void 0===n?void 0:n.value)&&void 0!==i?i:"");if(isNaN(o.getTime()))return;u({type:t.inputType,payload:{value:o}})}},onClick:function(e){e.currentTarget.showPicker()}})}function f(t){var r=o.useIdGenerator().generateId,u=i.useConditionInputAction().inputValue,a=n.useRef(null),l=n.useRef(!1);return n.useEffect((function(){if(a.current){var e=a.current;e.focus(),e.scrollIntoView(),e.click()}}),[]),e.jsx("input",{ref:a,id:r("ValueInput"),className:"appearance-none w-fit min-w-64 border-none px-2 py-1 focus:outline-none focus-visible:outline-none bg-transparent ".concat("small"===t.size?"text-sm":"large"===t.size?"text-lg":""),type:"date",defaultValue:new Date((new Date).getTime()-6e4*(new Date).getTimezoneOffset()).toISOString().slice(0,10),onKeyDown:function(e){var n;if("Enter"===e.key){if(!(null===(n=a.current)||void 0===n?void 0:n.value))return;var i=a.current.value.split("-"),o=i[0],r=i[1],l=i[2],s=new Date(Number(o),Number(r)-1,Number(l));if(isNaN(s.getTime()))return;u({type:t.inputType,payload:{value:s}})}},onClick:function(e){l.current||(e.currentTarget.showPicker(),l.current=!0)}})}function g(n){return e.jsxs("div",{className:"flex items-center gap-2 w-fit px-2 border rounded bg-slate-100",children:[e.jsx("p",{className:"whitespace-nowrap",children:n.label}),n.onClickDelete&&e.jsx("div",{children:e.jsx(r.TiDeleteOutline,{className:"bg-white hover:bg-slate-300 rounded-full cursor-pointer",onClick:n.onClickDelete})})]})}exports.SearchBarInputForm=function(n){switch(i.useConditionInputState().status){case"waiting for input":return e.jsx(u,{});case"inputted target":return e.jsx(a,{});case"inputted operator":return e.jsx(l,{size:n.size})}};
3
3
  //# sourceMappingURL=input-form.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react/jsx-runtime"),t=require("react"),n=require("./context.js"),o=require("../id/provider.js"),i=require("../lib/id-generator.js");exports.OptionsArea=function(){var r=o.useIdContext(),s=n.useOptionsWindow(),l=s.state,u=s.actions,a=t.useState(""),c=a[0],d=a[1],f=t.useState(void 0),p=f[0],v=f[1],m=t.useState({top:0,left:0}),g=m[0],y=m[1],w=l.isOpen?0===l.options.length?void 0:"number"==typeof p&&p<l.options.length&&p>=0?l.options[p].value:void 0:void 0;return t.useEffect((function(){if(l.isOpen){var e=document.getElementById(i.IdGenerator.generateIdSelectBoxOption(r,null!=w?w:""));if(!e)return;if(0===g.top&&0===g.left)return;e.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}else v(void 0)}),[l,g,w]),t.useEffect((function(){if(l.isOpen){var e=function(e){if("ArrowDown"===e.key)e.preventDefault(),v((function(e){return"number"==typeof e?Math.min(e+1,l.options.length-1):0}));else if("ArrowUp"===e.key)e.preventDefault(),v((function(e){return"number"==typeof e?Math.max(e-1,0):0}));else if("Enter"===e.key){if(e.preventDefault(),"number"==typeof p){if(0===l.options.length||l.options.length<=p)return;var t=l.options[p].value;if(!t)return;d(t),l.onSelect(t),u.closeOptionsWindow()}}else"Escape"===e.key&&(e.preventDefault(),u.closeOptionsWindow())};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}}),[l,p,v,u]),t.useEffect((function(){var e=setTimeout((function(){var e;if(l.isOpen){for(var t=null===(e=document.getElementById("ReactUI:SelectBox:OptionsArea"))||void 0===e?void 0:e.parentElement,n=["relative","fixed","absolute","sticky"];t;){var o=n.some((function(e){return t.className.includes(e)})),i=n.some((function(e){return t.style.position.includes(e)}));if(o||i)break;t=t.parentElement}var r=document.getElementById(l.selectBoxId);if(r){var s=r.getBoundingClientRect(),u=s.top+s.height,a=s.left;if(t){var c=t.getBoundingClientRect();y({top:u-c.top+t.scrollTop,left:a-c.left+t.scrollLeft})}else y({top:u+window.scrollY,left:a+window.scrollX})}}}),0);return function(){clearTimeout(e)}}),[l.isOpen]),t.useEffect((function(){var e=function(e){if(l.isOpen){var t=document.getElementById(l.selectBoxId),n=document.getElementById("ReactUI:SelectBox:OptionsArea"),o=e.target;o instanceof Node&&(null==t?void 0:t.contains(o))||o instanceof Node&&(null==n?void 0:n.contains(o))||(u.setSearchText(""),u.closeOptionsWindow())}};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[l.isOpen]),l.isOpen?e.jsx("div",{id:"ReactUI:SelectBox:OptionsArea",className:"absolute min-w-fit max-h-[40vh] overflow-auto border border-gray-300 z-10",style:g,children:l.options.map((function(t){var n,o;return e.jsx("div",{id:i.IdGenerator.generateIdSelectBoxOption(r,null!==(n=t.value)&&void 0!==n?n:""),className:"hover:bg-gray-200 px-2 py-1 ".concat("string"==typeof w?w===t.value?"bg-gray-100":"bg-white":c===t.value?"bg-gray-100":"bg-white"),onClick:function(){l.onSelect(t.value),u.closeOptionsWindow()},children:null!==(o=t.searchLabel)&&void 0!==o?o:t.label},t.value)}))}):e.jsx(e.Fragment,{})};
1
+ "use strict";var e=require("react/jsx-runtime"),t=require("react"),n=require("../id/provider.js"),o=require("../lib/id-generator.js"),i=require("./context.js");exports.OptionsArea=function(){var r=n.useIdContext(),s=i.useOptionsWindow(),l=s.state,u=s.actions,a=t.useState(""),c=a[0],d=a[1],f=t.useState(void 0),p=f[0],v=f[1],m=t.useState({top:0,left:0}),g=m[0],y=m[1],w=l.isOpen?0===l.options.length?void 0:"number"==typeof p&&p<l.options.length&&p>=0?l.options[p].value:void 0:void 0;return t.useEffect((function(){if(l.isOpen){var e=document.getElementById(o.IdGenerator.generateIdSelectBoxOption(r,null!=w?w:""));if(!e)return;if(0===g.top&&0===g.left)return;e.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}else v(void 0)}),[l,g,w]),t.useEffect((function(){if(l.isOpen){var e=function(e){if("ArrowDown"===e.key)e.preventDefault(),v((function(e){return"number"==typeof e?Math.min(e+1,l.options.length-1):0}));else if("ArrowUp"===e.key)e.preventDefault(),v((function(e){return"number"==typeof e?Math.max(e-1,0):0}));else if("Enter"===e.key){if(e.preventDefault(),"number"==typeof p){if(0===l.options.length||l.options.length<=p)return;var t=l.options[p].value;if(!t)return;d(t),l.onSelect(t),u.closeOptionsWindow()}}else"Escape"===e.key&&(e.preventDefault(),u.closeOptionsWindow())};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}}),[l,p,v,u]),t.useEffect((function(){var e=setTimeout((function(){var e;if(l.isOpen){for(var t=null===(e=document.getElementById("ReactUI:SelectBox:OptionsArea"))||void 0===e?void 0:e.parentElement,n=["relative","fixed","absolute","sticky"];t;){var o=n.some((function(e){return t.className.includes(e)})),i=n.some((function(e){return t.style.position.includes(e)}));if(o||i)break;t=t.parentElement}var r=document.getElementById(l.selectBoxId);if(r){var s=r.getBoundingClientRect(),u=s.top+s.height,a=s.left;if(t){var c=t.getBoundingClientRect();y({top:u-c.top+t.scrollTop,left:a-c.left+t.scrollLeft})}else y({top:u+window.scrollY,left:a+window.scrollX})}}}),0);return function(){clearTimeout(e)}}),[l.isOpen]),t.useEffect((function(){var e=function(e){if(l.isOpen){var t=document.getElementById(l.selectBoxId),n=document.getElementById("ReactUI:SelectBox:OptionsArea"),o=e.target;o instanceof Node&&(null==t?void 0:t.contains(o))||o instanceof Node&&(null==n?void 0:n.contains(o))||(u.setSearchText(""),u.closeOptionsWindow())}};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[l.isOpen]),l.isOpen?e.jsx("div",{id:"ReactUI:SelectBox:OptionsArea",className:"absolute min-w-fit max-h-[40vh] overflow-auto border border-gray-300 z-10",style:g,children:l.options.map((function(t){var n,i;return e.jsx("div",{id:o.IdGenerator.generateIdSelectBoxOption(r,null!==(n=t.value)&&void 0!==n?n:""),className:"hover:bg-gray-200 px-2 py-1 ".concat("string"==typeof w?w===t.value?"bg-gray-100":"bg-white":c===t.value?"bg-gray-100":"bg-white"),onClick:function(){l.onSelect(t.value),u.closeOptionsWindow()},children:null!==(i=t.searchLabel)&&void 0!==i?i:t.label},t.value)}))}):e.jsx(e.Fragment,{})};
2
2
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../../../src/select-box/options-window/component.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { useOptionsWindow } from \"../options-window\";\nimport { useIdContext } from \"../id/provider\";\nimport { IdGenerator } from \"../lib\";\n\nexport function OptionsArea() {\n const id = useIdContext();\n const { state, actions } = useOptionsWindow();\n const [value, setValue] = useState(\"\");\n const [selectingIndex, setSelectingIndex] = useState<number | undefined>(\n undefined\n );\n const [position, setPosition] = useState({ top: 0, left: 0 });\n\n const selectingValue = state.isOpen\n ? state.options.length === 0\n ? undefined\n : typeof selectingIndex === \"number\" &&\n selectingIndex < state.options.length &&\n selectingIndex >= 0\n ? state.options[selectingIndex].value\n : undefined\n : undefined;\n\n useEffect(() => {\n if (state.isOpen) {\n const optionElement = document.getElementById(\n IdGenerator.generateIdSelectBoxOption(id, selectingValue ?? \"\")\n );\n\n if (!optionElement) return;\n if (position.top === 0 && position.left === 0) return;\n\n optionElement.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"nearest\",\n });\n } else {\n setSelectingIndex(undefined);\n }\n }, [state, position, selectingValue]);\n\n useEffect(() => {\n if (state.isOpen) {\n const handleKeydown = (e: KeyboardEvent) => {\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setSelectingIndex((prev) =>\n typeof prev === \"number\"\n ? Math.min(prev + 1, state.options.length - 1)\n : 0\n );\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n setSelectingIndex((prev) =>\n typeof prev === \"number\" ? Math.max(prev - 1, 0) : 0\n );\n } else if (e.key === \"Enter\") {\n e.preventDefault();\n if (typeof selectingIndex === \"number\") {\n if (\n state.options.length === 0 ||\n state.options.length <= selectingIndex\n )\n return;\n\n const value = state.options[selectingIndex].value;\n\n if (!value) return;\n\n setValue(value);\n state.onSelect(value);\n actions.closeOptionsWindow();\n }\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n actions.closeOptionsWindow();\n }\n };\n\n document.addEventListener(\"keydown\", handleKeydown);\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeydown);\n };\n }\n }, [state, selectingIndex, setSelectingIndex, actions]);\n\n useEffect(() => {\n const searchParentElement = () => {\n if (state.isOpen) {\n let parentElement = document.getElementById(\n \"ReactUI:SelectBox:OptionsArea\"\n )?.parentElement;\n\n const positionClasses = [\"relative\", \"fixed\", \"absolute\", \"sticky\"];\n\n while (parentElement) {\n const hasPositionClass = positionClasses.some((className) =>\n parentElement!.className.includes(className)\n );\n\n const hasPositionStyle = positionClasses.some((style) =>\n parentElement!.style.position.includes(style)\n );\n\n if (hasPositionClass || hasPositionStyle) break;\n\n parentElement = parentElement.parentElement;\n }\n\n const selectBoxElement = document.getElementById(state.selectBoxId);\n\n if (selectBoxElement) {\n const rect = selectBoxElement.getBoundingClientRect();\n let top = rect.top + rect.height;\n let left = rect.left;\n\n if (parentElement) {\n const parentRect = parentElement.getBoundingClientRect();\n setPosition({\n top: top - parentRect.top + parentElement.scrollTop,\n left: left - parentRect.left + parentElement.scrollLeft,\n });\n } else {\n setPosition({\n top: top + window.scrollY,\n left: left + window.scrollX,\n });\n }\n }\n }\n };\n\n const timer = setTimeout(searchParentElement, 0);\n\n return () => {\n clearTimeout(timer);\n };\n }, [state.isOpen]);\n\n useEffect(() => {\n const onClickOutOfSelectBox = (e: MouseEvent) => {\n if (!state.isOpen) return;\n\n // SelectBox関連の要素を取得\n const frameElement = document.getElementById(state.selectBoxId);\n const optionsElement = document.getElementById(\n \"ReactUI:SelectBox:OptionsArea\"\n );\n\n // クリックされた要素を取得\n const ele = e.target;\n\n if (ele instanceof Node && frameElement?.contains(ele)) return;\n\n if (ele instanceof Node && optionsElement?.contains(ele)) return;\n\n actions.setSearchText(\"\");\n actions.closeOptionsWindow();\n };\n\n document.addEventListener(\"mousedown\", onClickOutOfSelectBox);\n\n return () => {\n document.removeEventListener(\"mousedown\", onClickOutOfSelectBox);\n };\n }, [state.isOpen]);\n\n if (!state.isOpen) return <></>;\n\n return (\n <div\n id={\"ReactUI:SelectBox:OptionsArea\"}\n className=\"absolute min-w-fit max-h-[40vh] overflow-auto border border-gray-300 z-10\"\n style={position}\n >\n {state.options.map((option) => (\n <div\n id={IdGenerator.generateIdSelectBoxOption(id, option.value ?? \"\")}\n className={`hover:bg-gray-200 px-2 py-1 ${\n typeof selectingValue === \"string\"\n ? selectingValue === option.value\n ? \"bg-gray-100\"\n : \"bg-white\"\n : value === option.value\n ? \"bg-gray-100\"\n : \"bg-white\"\n }`}\n key={option.value}\n onClick={() => {\n state.onSelect(option.value);\n actions.closeOptionsWindow();\n }}\n >\n {option.searchLabel ?? option.label}\n </div>\n ))}\n </div>\n );\n}\n"],"names":["id","useIdContext","_a","useOptionsWindow","state","actions","_b","useState","value","setValue","_c","undefined","selectingIndex","setSelectingIndex","_d","top","left","position","setPosition","selectingValue","isOpen","options","length","useEffect","optionElement","document","getElementById","IdGenerator","generateIdSelectBoxOption","scrollIntoView","behavior","block","inline","handleKeydown_1","e","key","preventDefault","prev","Math","min","max","value_1","onSelect","closeOptionsWindow","addEventListener","removeEventListener","timer","setTimeout","parentElement_1","parentElement","positionClasses","hasPositionClass","some","className","includes","hasPositionStyle","style","selectBoxElement","selectBoxId","rect","getBoundingClientRect","top_1","height","parentRect","scrollTop","scrollLeft","window","scrollY","scrollX","clearTimeout","onClickOutOfSelectBox","frameElement","optionsElement","ele","target","Node","contains","setSearchText","_jsx","map","option","jsx","concat","onClick","children","searchLabel","label"],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sources":["../../../../../src/select-box/options-window/component.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { useIdContext } from \"../id/provider\";\nimport { IdGenerator } from \"../lib\";\nimport { useOptionsWindow } from \"./context\";\n\nexport function OptionsArea() {\n const id = useIdContext();\n const { state, actions } = useOptionsWindow();\n const [value, setValue] = useState(\"\");\n const [selectingIndex, setSelectingIndex] = useState<number | undefined>(\n undefined\n );\n const [position, setPosition] = useState({ top: 0, left: 0 });\n\n const selectingValue = state.isOpen\n ? state.options.length === 0\n ? undefined\n : typeof selectingIndex === \"number\" &&\n selectingIndex < state.options.length &&\n selectingIndex >= 0\n ? state.options[selectingIndex].value\n : undefined\n : undefined;\n\n useEffect(() => {\n if (state.isOpen) {\n const optionElement = document.getElementById(\n IdGenerator.generateIdSelectBoxOption(id, selectingValue ?? \"\")\n );\n\n if (!optionElement) return;\n if (position.top === 0 && position.left === 0) return;\n\n optionElement.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"nearest\",\n });\n } else {\n setSelectingIndex(undefined);\n }\n }, [state, position, selectingValue]);\n\n useEffect(() => {\n if (state.isOpen) {\n const handleKeydown = (e: KeyboardEvent) => {\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setSelectingIndex((prev) =>\n typeof prev === \"number\"\n ? Math.min(prev + 1, state.options.length - 1)\n : 0\n );\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n setSelectingIndex((prev) =>\n typeof prev === \"number\" ? Math.max(prev - 1, 0) : 0\n );\n } else if (e.key === \"Enter\") {\n e.preventDefault();\n if (typeof selectingIndex === \"number\") {\n if (\n state.options.length === 0 ||\n state.options.length <= selectingIndex\n )\n return;\n\n const value = state.options[selectingIndex].value;\n\n if (!value) return;\n\n setValue(value);\n state.onSelect(value);\n actions.closeOptionsWindow();\n }\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n actions.closeOptionsWindow();\n }\n };\n\n document.addEventListener(\"keydown\", handleKeydown);\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeydown);\n };\n }\n }, [state, selectingIndex, setSelectingIndex, actions]);\n\n useEffect(() => {\n const searchParentElement = () => {\n if (state.isOpen) {\n let parentElement = document.getElementById(\n \"ReactUI:SelectBox:OptionsArea\"\n )?.parentElement;\n\n const positionClasses = [\"relative\", \"fixed\", \"absolute\", \"sticky\"];\n\n while (parentElement) {\n const hasPositionClass = positionClasses.some((className) =>\n parentElement!.className.includes(className)\n );\n\n const hasPositionStyle = positionClasses.some((style) =>\n parentElement!.style.position.includes(style)\n );\n\n if (hasPositionClass || hasPositionStyle) break;\n\n parentElement = parentElement.parentElement;\n }\n\n const selectBoxElement = document.getElementById(state.selectBoxId);\n\n if (selectBoxElement) {\n const rect = selectBoxElement.getBoundingClientRect();\n let top = rect.top + rect.height;\n let left = rect.left;\n\n if (parentElement) {\n const parentRect = parentElement.getBoundingClientRect();\n setPosition({\n top: top - parentRect.top + parentElement.scrollTop,\n left: left - parentRect.left + parentElement.scrollLeft,\n });\n } else {\n setPosition({\n top: top + window.scrollY,\n left: left + window.scrollX,\n });\n }\n }\n }\n };\n\n const timer = setTimeout(searchParentElement, 0);\n\n return () => {\n clearTimeout(timer);\n };\n }, [state.isOpen]);\n\n useEffect(() => {\n const onClickOutOfSelectBox = (e: MouseEvent) => {\n if (!state.isOpen) return;\n\n // SelectBox関連の要素を取得\n const frameElement = document.getElementById(state.selectBoxId);\n const optionsElement = document.getElementById(\n \"ReactUI:SelectBox:OptionsArea\"\n );\n\n // クリックされた要素を取得\n const ele = e.target;\n\n if (ele instanceof Node && frameElement?.contains(ele)) return;\n\n if (ele instanceof Node && optionsElement?.contains(ele)) return;\n\n actions.setSearchText(\"\");\n actions.closeOptionsWindow();\n };\n\n document.addEventListener(\"mousedown\", onClickOutOfSelectBox);\n\n return () => {\n document.removeEventListener(\"mousedown\", onClickOutOfSelectBox);\n };\n }, [state.isOpen]);\n\n if (!state.isOpen) return <></>;\n\n return (\n <div\n id={\"ReactUI:SelectBox:OptionsArea\"}\n className=\"absolute min-w-fit max-h-[40vh] overflow-auto border border-gray-300 z-10\"\n style={position}\n >\n {state.options.map((option) => (\n <div\n id={IdGenerator.generateIdSelectBoxOption(id, option.value ?? \"\")}\n className={`hover:bg-gray-200 px-2 py-1 ${\n typeof selectingValue === \"string\"\n ? selectingValue === option.value\n ? \"bg-gray-100\"\n : \"bg-white\"\n : value === option.value\n ? \"bg-gray-100\"\n : \"bg-white\"\n }`}\n key={option.value}\n onClick={() => {\n state.onSelect(option.value);\n actions.closeOptionsWindow();\n }}\n >\n {option.searchLabel ?? option.label}\n </div>\n ))}\n </div>\n );\n}\n"],"names":["id","useIdContext","_a","useOptionsWindow","state","actions","_b","useState","value","setValue","_c","undefined","selectingIndex","setSelectingIndex","_d","top","left","position","setPosition","selectingValue","isOpen","options","length","useEffect","optionElement","document","getElementById","IdGenerator","generateIdSelectBoxOption","scrollIntoView","behavior","block","inline","handleKeydown_1","e","key","preventDefault","prev","Math","min","max","value_1","onSelect","closeOptionsWindow","addEventListener","removeEventListener","timer","setTimeout","parentElement_1","parentElement","positionClasses","hasPositionClass","some","className","includes","hasPositionStyle","style","selectBoxElement","selectBoxId","rect","getBoundingClientRect","top_1","height","parentRect","scrollTop","scrollLeft","window","scrollY","scrollX","clearTimeout","onClickOutOfSelectBox","frameElement","optionsElement","ele","target","Node","contains","setSearchText","_jsx","map","option","jsx","concat","onClick","children","searchLabel","label"],"mappings":"+LAME,IAAMA,EAAKC,EAAAA,eACLC,EAAqBC,EAAgBA,mBAAnCC,EAAKF,EAAAE,MAAEC,EAAOH,EAAAG,QAChBC,EAAoBC,EAAAA,SAAS,IAA5BC,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,EAAsCH,EAAAA,cAC1CI,GADKC,EAAcF,EAAA,GAAEG,EAAiBH,EAAA,GAGlCI,EAA0BP,EAAAA,SAAS,CAAEQ,IAAK,EAAGC,KAAM,IAAlDC,OAAUC,OAEXC,EAAiBf,EAAMgB,OACA,IAAzBhB,EAAMiB,QAAQC,YACZX,EAC0B,iBAAnBC,GACPA,EAAiBR,EAAMiB,QAAQC,QAC/BV,GAAkB,EAClBR,EAAMiB,QAAQT,GAAgBJ,WAC9BG,OACFA,EAoJJ,OAlJAY,EAAAA,WAAU,WACR,GAAInB,EAAMgB,OAAQ,CAChB,IAAMI,EAAgBC,SAASC,eAC7BC,EAAWA,YAACC,0BAA0B5B,EAAImB,QAAAA,EAAkB,KAG9D,IAAKK,EAAe,OACpB,GAAqB,IAAjBP,EAASF,KAA+B,IAAlBE,EAASD,KAAY,OAE/CQ,EAAcK,eAAe,CAC3BC,SAAU,SACVC,MAAO,UACPC,OAAQ,WAEX,MACCnB,OAAkBF,EAErB,GAAE,CAACP,EAAOa,EAAUE,IAErBI,EAAAA,WAAU,WACR,GAAInB,EAAMgB,OAAQ,CAChB,IAAMa,EAAgB,SAACC,GACrB,GAAc,cAAVA,EAAEC,IACJD,EAAEE,iBACFvB,GAAkB,SAACwB,GACjB,MAAgB,iBAATA,EACHC,KAAKC,IAAIF,EAAO,EAAGjC,EAAMiB,QAAQC,OAAS,GAC1C,CAFJ,SAIG,GAAc,YAAVY,EAAEC,IACXD,EAAEE,iBACFvB,GAAkB,SAACwB,GACjB,MAAgB,iBAATA,EAAoBC,KAAKE,IAAIH,EAAO,EAAG,GAAK,CAAnD,SAEG,GAAc,UAAVH,EAAEC,KAEX,GADAD,EAAEE,iBAC4B,iBAAnBxB,EAA6B,CACtC,GAC2B,IAAzBR,EAAMiB,QAAQC,QACdlB,EAAMiB,QAAQC,QAAUV,EAExB,OAEF,IAAM6B,EAAQrC,EAAMiB,QAAQT,GAAgBJ,MAE5C,IAAKiC,EAAO,OAEZhC,EAASgC,GACTrC,EAAMsC,SAASD,GACfpC,EAAQsC,oBACT,MACkB,WAAVT,EAAEC,MACXD,EAAEE,iBACF/B,EAAQsC,qBAEZ,EAIA,OAFAlB,SAASmB,iBAAiB,UAAWX,GAE9B,WACLR,SAASoB,oBAAoB,UAAWZ,EAC1C,CACD,CACF,GAAE,CAAC7B,EAAOQ,EAAgBC,EAAmBR,IAE9CkB,EAAAA,WAAU,WACR,IA6CMuB,EAAQC,YA7Cc,iBAC1B,GAAI3C,EAAMgB,OAAQ,CAOhB,IANA,IAAI4B,EAED,QAFiB9C,EAAAuB,SAASC,eAC3B,wCACC,IAAAxB,OAAA,EAAAA,EAAA+C,cAEGC,EAAkB,CAAC,WAAY,QAAS,WAAY,UAEnDF,GAAe,CACpB,IAAMG,EAAmBD,EAAgBE,MAAK,SAACC,GAC7C,OAAAL,EAAeK,UAAUC,SAASD,EAAlC,IAGIE,EAAmBL,EAAgBE,MAAK,SAACI,GAC7C,OAAAR,EAAeQ,MAAMvC,SAASqC,SAASE,EAAvC,IAGF,GAAIL,GAAoBI,EAAkB,MAE1CP,EAAgBA,EAAcC,aAC/B,CAED,IAAMQ,EAAmBhC,SAASC,eAAetB,EAAMsD,aAEvD,GAAID,EAAkB,CACpB,IAAME,EAAOF,EAAiBG,wBAC1BC,EAAMF,EAAK5C,IAAM4C,EAAKG,OACtB9C,EAAO2C,EAAK3C,KAEhB,GAAIgC,EAAe,CACjB,IAAMe,EAAaf,EAAcY,wBACjC1C,EAAY,CACVH,IAAK8C,EAAME,EAAWhD,IAAMiC,EAAcgB,UAC1ChD,KAAMA,EAAO+C,EAAW/C,KAAOgC,EAAciB,YAEhD,MACC/C,EAAY,CACVH,IAAK8C,EAAMK,OAAOC,QAClBnD,KAAMA,EAAOkD,OAAOE,SAGzB,CACF,CACH,GAE8C,GAE9C,OAAO,WACLC,aAAavB,EACf,CACF,GAAG,CAAC1C,EAAMgB,SAEVG,EAAAA,WAAU,WACR,IAAM+C,EAAwB,SAACpC,GAC7B,GAAK9B,EAAMgB,OAAX,CAGA,IAAMmD,EAAe9C,SAASC,eAAetB,EAAMsD,aAC7Cc,EAAiB/C,SAASC,eAC9B,iCAII+C,EAAMvC,EAAEwC,OAEVD,aAAeE,OAAQJ,aAAA,EAAAA,EAAcK,SAASH,KAE9CA,aAAeE,OAAQH,aAAA,EAAAA,EAAgBI,SAASH,MAEpDpE,EAAQwE,cAAc,IACtBxE,EAAQsC,qBAhBkB,CAiB5B,EAIA,OAFAlB,SAASmB,iBAAiB,YAAa0B,GAEhC,WACL7C,SAASoB,oBAAoB,YAAayB,EAC5C,CACF,GAAG,CAAClE,EAAMgB,SAELhB,EAAMgB,OAGT0D,EAAAA,WACE9E,GAAI,gCACJqD,UAAU,4EACVG,MAAOvC,WAENb,EAAMiB,QAAQ0D,KAAI,SAACC,WAAW,OAC7BF,EACEG,IAAA,MAAA,CAAAjF,GAAI2B,EAAAA,YAAYC,0BAA0B5B,EAAgB,QAAZE,EAAA8E,EAAOxE,aAAK,IAAAN,EAAAA,EAAI,IAC9DmD,UAAW,+BACT6B,OAA0B,iBAAnB/D,EACHA,IAAmB6D,EAAOxE,MACxB,cACA,WACFA,IAAUwE,EAAOxE,MACjB,cACA,YAGN2E,QAAS,WACP/E,EAAMsC,SAASsC,EAAOxE,OACtBH,EAAQsC,oBACV,EAECyC,SAAsB,QAAtB9E,EAAA0E,EAAOK,mBAAe,IAAA/E,EAAAA,EAAA0E,EAAOM,OANzBN,EAAOxE,MAQf,MA5BqBsE,oBA+B5B"}
@@ -1,2 +1,2 @@
1
- "use strict";var e="none",t="single string",n="single number",l="select",p=[{key:"string:eq",label:"=",type:"string",inputType:t},{key:"string:neq",label:"≠",type:"string",inputType:t},{key:"string:like",label:"like",type:"string",inputType:t},{key:"string:not_like",label:"not like",type:"string",inputType:t},{key:"string:is_null",label:"is empty",type:"string",inputType:e},{key:"string:is_not_null",label:"is not empty",type:"string",inputType:e},{key:"number:eq",label:"=",type:"number",inputType:n},{key:"number:neq",label:"≠",type:"number",inputType:n},{key:"number:gt",label:">",type:"number",inputType:n},{key:"number:lt",label:"<",type:"number",inputType:n},{key:"number:gte",label:"≧",type:"number",inputType:n},{key:"number:lte",label:"≦",type:"number",inputType:n},{key:"select:eq",label:"=",type:"select",inputType:l},{key:"select:neq",label:"≠",type:"select",inputType:l},{key:"select:is_null",label:"is empty",type:"select",inputType:e},{key:"select:is_not_null",label:"is not empty",type:"select",inputType:e}];exports.DEFAULT_SEARCH_OPERATOR=p,exports.NONE=e,exports.SELECT=l,exports.SINGLE_NUMBER=n,exports.SINGLE_STRING=t;
1
+ "use strict";var e="none",t="single string",l="single number",p="single date",y="single datetime",n="select",i=[{key:"string:eq",label:"=",type:"string",inputType:t},{key:"string:neq",label:"≠",type:"string",inputType:t},{key:"string:like",label:"like",type:"string",inputType:t},{key:"string:not_like",label:"not like",type:"string",inputType:t},{key:"string:is_null",label:"is empty",type:"string",inputType:e},{key:"string:is_not_null",label:"is not empty",type:"string",inputType:e},{key:"number:eq",label:"=",type:"number",inputType:l},{key:"number:neq",label:"≠",type:"number",inputType:l},{key:"number:gt",label:">",type:"number",inputType:l},{key:"number:lt",label:"<",type:"number",inputType:l},{key:"number:gte",label:"≧",type:"number",inputType:l},{key:"number:lte",label:"≦",type:"number",inputType:l},{key:"select:eq",label:"=",type:"select",inputType:n},{key:"select:neq",label:"≠",type:"select",inputType:n},{key:"select:is_null",label:"is empty",type:"select",inputType:e},{key:"select:is_not_null",label:"is not empty",type:"select",inputType:e},{key:"date:eq",label:"=",type:"date",inputType:p},{key:"date:neq",label:"≠",type:"date",inputType:p},{key:"date:gt",label:">",type:"date",inputType:p},{key:"date:lt",label:"<",type:"date",inputType:p},{key:"date:gte",label:"≧",type:"date",inputType:p},{key:"date:lte",label:"≦",type:"date",inputType:p},{key:"date:is_null",label:"is null",type:"date",inputType:e},{key:"date:is_not_null",label:"is not null",type:"date",inputType:e},{key:"datetime:gt",label:">",type:"datetime",inputType:y},{key:"datetime:lt",label:"<",type:"datetime",inputType:y},{key:"datetime:gte",label:"≧",type:"datetime",inputType:y},{key:"datetime:lte",label:"≦",type:"datetime",inputType:y},{key:"datetime:is_null",label:"is empty",type:"datetime",inputType:e},{key:"datetime:is_not_null",label:"is not empty",type:"datetime",inputType:e}];exports.DEFAULT_SEARCH_OPERATOR=i,exports.NONE=e,exports.SELECT=n,exports.SINGLE_DATE=p,exports.SINGLE_DATETIME=y,exports.SINGLE_NUMBER=l,exports.SINGLE_STRING=t;
2
2
  //# sourceMappingURL=constant.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constant.js","sources":["../../../../../src/share/search-operator/constant.ts"],"sourcesContent":["export const NONE = \"none\";\nexport const SINGLE_STRING = \"single string\";\nexport const SINGLE_NUMBER = \"single number\";\nexport const SINGLE_DATE = \"single date\";\nexport const RANGE_STRING = \"range string\";\nexport const RANGE_NUMBER = \"range number\";\nexport const RANGE_DATE = \"range date\";\nexport const SELECT = \"select\";\nexport const MULTI_SELECT = \"multi select\";\n\nexport const DEFAULT_SEARCH_OPERATOR = [\n {\n key: \"string:eq\",\n label: \"=\",\n type: \"string\",\n inputType: SINGLE_STRING,\n },\n {\n key: \"string:neq\",\n label: \"≠\",\n type: \"string\",\n inputType: SINGLE_STRING,\n },\n {\n key: \"string:like\",\n label: \"like\",\n type: \"string\",\n inputType: SINGLE_STRING,\n },\n {\n key: \"string:not_like\",\n label: \"not like\",\n type: \"string\",\n inputType: SINGLE_STRING,\n },\n // { key: \"string:in\", label: \"in\", type: \"string\" },\n // { key: \"string:not_in\", label: \"not in\", type: \"string\" },\n {\n key: \"string:is_null\",\n label: \"is empty\",\n type: \"string\",\n inputType: NONE,\n },\n {\n key: \"string:is_not_null\",\n label: \"is not empty\",\n type: \"string\",\n inputType: NONE,\n },\n {\n key: \"number:eq\",\n label: \"=\",\n type: \"number\",\n inputType: SINGLE_NUMBER,\n },\n {\n key: \"number:neq\",\n label: \"≠\",\n type: \"number\",\n inputType: SINGLE_NUMBER,\n },\n {\n key: \"number:gt\",\n label: \">\",\n type: \"number\",\n inputType: SINGLE_NUMBER,\n },\n {\n key: \"number:lt\",\n label: \"<\",\n type: \"number\",\n inputType: SINGLE_NUMBER,\n },\n {\n key: \"number:gte\",\n label: \"≧\",\n type: \"number\",\n inputType: SINGLE_NUMBER,\n },\n {\n key: \"number:lte\",\n label: \"≦\",\n type: \"number\",\n inputType: SINGLE_NUMBER,\n },\n {\n key: \"select:eq\",\n label: \"=\",\n type: \"select\",\n inputType: SELECT,\n },\n {\n key: \"select:neq\",\n label: \"≠\",\n type: \"select\",\n inputType: SELECT,\n },\n {\n key: \"select:is_null\",\n label: \"is empty\",\n type: \"select\",\n inputType: NONE,\n },\n {\n key: \"select:is_not_null\",\n label: \"is not empty\",\n type: \"select\",\n inputType: NONE,\n },\n // { key: \"date:eq\", label: \"=\", type: \"date\" },\n // { key: \"date:neq\", label: \"≠\", type: \"date\" },\n // { key: \"date:gt\", label: \">\", type: \"date\" },\n // { key: \"date:lt\", label: \"<\", type: \"date\" },\n // { key: \"date:gte\", label: \">=\", type: \"date\" },\n // { key: \"date:lte\", label: \"<=\", type: \"date\" },\n // { key: \"date:is_null\", label: \"is null\", type: \"date\" },\n // { key: \"date:is_not_null\", label: \"is not null\", type: \"date\" },\n] as const;\n\nexport type T_DEFAULT_SEARCH_OPERATOR =\n (typeof DEFAULT_SEARCH_OPERATOR)[number];\n\nexport type T_SEARCH_INPUT_TYPE = T_DEFAULT_SEARCH_OPERATOR[\"inputType\"];\n"],"names":["NONE","SINGLE_STRING","SINGLE_NUMBER","SELECT","DEFAULT_SEARCH_OPERATOR","key","label","type","inputType"],"mappings":"aAAO,IAAMA,EAAO,OACPC,EAAgB,gBAChBC,EAAgB,gBAKhBC,EAAS,SAGTC,EAA0B,CACrC,CACEC,IAAK,YACLC,MAAO,IACPC,KAAM,SACNC,UAAWP,GAEb,CACEI,IAAK,aACLC,MAAO,IACPC,KAAM,SACNC,UAAWP,GAEb,CACEI,IAAK,cACLC,MAAO,OACPC,KAAM,SACNC,UAAWP,GAEb,CACEI,IAAK,kBACLC,MAAO,WACPC,KAAM,SACNC,UAAWP,GAIb,CACEI,IAAK,iBACLC,MAAO,WACPC,KAAM,SACNC,UAAWR,GAEb,CACEK,IAAK,qBACLC,MAAO,eACPC,KAAM,SACNC,UAAWR,GAEb,CACEK,IAAK,YACLC,MAAO,IACPC,KAAM,SACNC,UAAWN,GAEb,CACEG,IAAK,aACLC,MAAO,IACPC,KAAM,SACNC,UAAWN,GAEb,CACEG,IAAK,YACLC,MAAO,IACPC,KAAM,SACNC,UAAWN,GAEb,CACEG,IAAK,YACLC,MAAO,IACPC,KAAM,SACNC,UAAWN,GAEb,CACEG,IAAK,aACLC,MAAO,IACPC,KAAM,SACNC,UAAWN,GAEb,CACEG,IAAK,aACLC,MAAO,IACPC,KAAM,SACNC,UAAWN,GAEb,CACEG,IAAK,YACLC,MAAO,IACPC,KAAM,SACNC,UAAWL,GAEb,CACEE,IAAK,aACLC,MAAO,IACPC,KAAM,SACNC,UAAWL,GAEb,CACEE,IAAK,iBACLC,MAAO,WACPC,KAAM,SACNC,UAAWR,GAEb,CACEK,IAAK,qBACLC,MAAO,eACPC,KAAM,SACNC,UAAWR"}
1
+ {"version":3,"file":"constant.js","sources":["../../../../../src/share/search-operator/constant.ts"],"sourcesContent":["export const NONE = \"none\";\nexport const SINGLE_STRING = \"single string\";\nexport const SINGLE_NUMBER = \"single number\";\nexport const SINGLE_DATE = \"single date\";\nexport const SINGLE_DATETIME = \"single datetime\";\nexport const RANGE_STRING = \"range string\";\nexport const RANGE_NUMBER = \"range number\";\nexport const RANGE_DATE = \"range date\";\nexport const SELECT = \"select\";\nexport const MULTI_SELECT = \"multi select\";\n\nexport const DEFAULT_SEARCH_OPERATOR = [\n {\n key: \"string:eq\",\n label: \"=\",\n type: \"string\",\n inputType: SINGLE_STRING,\n },\n {\n key: \"string:neq\",\n label: \"≠\",\n type: \"string\",\n inputType: SINGLE_STRING,\n },\n {\n key: \"string:like\",\n label: \"like\",\n type: \"string\",\n inputType: SINGLE_STRING,\n },\n {\n key: \"string:not_like\",\n label: \"not like\",\n type: \"string\",\n inputType: SINGLE_STRING,\n },\n // { key: \"string:in\", label: \"in\", type: \"string\" },\n // { key: \"string:not_in\", label: \"not in\", type: \"string\" },\n {\n key: \"string:is_null\",\n label: \"is empty\",\n type: \"string\",\n inputType: NONE,\n },\n {\n key: \"string:is_not_null\",\n label: \"is not empty\",\n type: \"string\",\n inputType: NONE,\n },\n {\n key: \"number:eq\",\n label: \"=\",\n type: \"number\",\n inputType: SINGLE_NUMBER,\n },\n {\n key: \"number:neq\",\n label: \"≠\",\n type: \"number\",\n inputType: SINGLE_NUMBER,\n },\n {\n key: \"number:gt\",\n label: \">\",\n type: \"number\",\n inputType: SINGLE_NUMBER,\n },\n {\n key: \"number:lt\",\n label: \"<\",\n type: \"number\",\n inputType: SINGLE_NUMBER,\n },\n {\n key: \"number:gte\",\n label: \"≧\",\n type: \"number\",\n inputType: SINGLE_NUMBER,\n },\n {\n key: \"number:lte\",\n label: \"≦\",\n type: \"number\",\n inputType: SINGLE_NUMBER,\n },\n {\n key: \"select:eq\",\n label: \"=\",\n type: \"select\",\n inputType: SELECT,\n },\n {\n key: \"select:neq\",\n label: \"≠\",\n type: \"select\",\n inputType: SELECT,\n },\n {\n key: \"select:is_null\",\n label: \"is empty\",\n type: \"select\",\n inputType: NONE,\n },\n {\n key: \"select:is_not_null\",\n label: \"is not empty\",\n type: \"select\",\n inputType: NONE,\n },\n { key: \"date:eq\", label: \"=\", type: \"date\", inputType: SINGLE_DATE },\n { key: \"date:neq\", label: \"≠\", type: \"date\", inputType: SINGLE_DATE },\n { key: \"date:gt\", label: \">\", type: \"date\", inputType: SINGLE_DATE },\n { key: \"date:lt\", label: \"<\", type: \"date\", inputType: SINGLE_DATE },\n { key: \"date:gte\", label: \"≧\", type: \"date\", inputType: SINGLE_DATE },\n { key: \"date:lte\", label: \"≦\", type: \"date\", inputType: SINGLE_DATE },\n { key: \"date:is_null\", label: \"is null\", type: \"date\", inputType: NONE },\n {\n key: \"date:is_not_null\",\n label: \"is not null\",\n type: \"date\",\n inputType: NONE,\n },\n {\n key: \"datetime:gt\",\n label: \">\",\n type: \"datetime\",\n inputType: SINGLE_DATETIME,\n },\n {\n key: \"datetime:lt\",\n label: \"<\",\n type: \"datetime\",\n inputType: SINGLE_DATETIME,\n },\n {\n key: \"datetime:gte\",\n label: \"≧\",\n type: \"datetime\",\n inputType: SINGLE_DATETIME,\n },\n {\n key: \"datetime:lte\",\n label: \"≦\",\n type: \"datetime\",\n inputType: SINGLE_DATETIME,\n },\n {\n key: \"datetime:is_null\",\n label: \"is empty\",\n type: \"datetime\",\n inputType: NONE,\n },\n {\n key: \"datetime:is_not_null\",\n label: \"is not empty\",\n type: \"datetime\",\n inputType: NONE,\n },\n] as const;\n\nexport type T_DEFAULT_SEARCH_OPERATOR =\n (typeof DEFAULT_SEARCH_OPERATOR)[number];\n\nexport type T_SEARCH_INPUT_TYPE = T_DEFAULT_SEARCH_OPERATOR[\"inputType\"];\n"],"names":["NONE","SINGLE_STRING","SINGLE_NUMBER","SINGLE_DATE","SINGLE_DATETIME","SELECT","DEFAULT_SEARCH_OPERATOR","key","label","type","inputType"],"mappings":"aAAO,IAAMA,EAAO,OACPC,EAAgB,gBAChBC,EAAgB,gBAChBC,EAAc,cACdC,EAAkB,kBAIlBC,EAAS,SAGTC,EAA0B,CACrC,CACEC,IAAK,YACLC,MAAO,IACPC,KAAM,SACNC,UAAWT,GAEb,CACEM,IAAK,aACLC,MAAO,IACPC,KAAM,SACNC,UAAWT,GAEb,CACEM,IAAK,cACLC,MAAO,OACPC,KAAM,SACNC,UAAWT,GAEb,CACEM,IAAK,kBACLC,MAAO,WACPC,KAAM,SACNC,UAAWT,GAIb,CACEM,IAAK,iBACLC,MAAO,WACPC,KAAM,SACNC,UAAWV,GAEb,CACEO,IAAK,qBACLC,MAAO,eACPC,KAAM,SACNC,UAAWV,GAEb,CACEO,IAAK,YACLC,MAAO,IACPC,KAAM,SACNC,UAAWR,GAEb,CACEK,IAAK,aACLC,MAAO,IACPC,KAAM,SACNC,UAAWR,GAEb,CACEK,IAAK,YACLC,MAAO,IACPC,KAAM,SACNC,UAAWR,GAEb,CACEK,IAAK,YACLC,MAAO,IACPC,KAAM,SACNC,UAAWR,GAEb,CACEK,IAAK,aACLC,MAAO,IACPC,KAAM,SACNC,UAAWR,GAEb,CACEK,IAAK,aACLC,MAAO,IACPC,KAAM,SACNC,UAAWR,GAEb,CACEK,IAAK,YACLC,MAAO,IACPC,KAAM,SACNC,UAAWL,GAEb,CACEE,IAAK,aACLC,MAAO,IACPC,KAAM,SACNC,UAAWL,GAEb,CACEE,IAAK,iBACLC,MAAO,WACPC,KAAM,SACNC,UAAWV,GAEb,CACEO,IAAK,qBACLC,MAAO,eACPC,KAAM,SACNC,UAAWV,GAEb,CAAEO,IAAK,UAAWC,MAAO,IAAKC,KAAM,OAAQC,UAAWP,GACvD,CAAEI,IAAK,WAAYC,MAAO,IAAKC,KAAM,OAAQC,UAAWP,GACxD,CAAEI,IAAK,UAAWC,MAAO,IAAKC,KAAM,OAAQC,UAAWP,GACvD,CAAEI,IAAK,UAAWC,MAAO,IAAKC,KAAM,OAAQC,UAAWP,GACvD,CAAEI,IAAK,WAAYC,MAAO,IAAKC,KAAM,OAAQC,UAAWP,GACxD,CAAEI,IAAK,WAAYC,MAAO,IAAKC,KAAM,OAAQC,UAAWP,GACxD,CAAEI,IAAK,eAAgBC,MAAO,UAAWC,KAAM,OAAQC,UAAWV,GAClE,CACEO,IAAK,mBACLC,MAAO,cACPC,KAAM,OACNC,UAAWV,GAEb,CACEO,IAAK,cACLC,MAAO,IACPC,KAAM,WACNC,UAAWN,GAEb,CACEG,IAAK,cACLC,MAAO,IACPC,KAAM,WACNC,UAAWN,GAEb,CACEG,IAAK,eACLC,MAAO,IACPC,KAAM,WACNC,UAAWN,GAEb,CACEG,IAAK,eACLC,MAAO,IACPC,KAAM,WACNC,UAAWN,GAEb,CACEG,IAAK,mBACLC,MAAO,WACPC,KAAM,WACNC,UAAWV,GAEb,CACEO,IAAK,uBACLC,MAAO,eACPC,KAAM,WACNC,UAAWV"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),t=require("../edit/provider.js"),n=require("../sheet/providers.js"),o=require("../range/provider.js"),r=require("../id/provider.js");exports.useCell=function(i,u){var d,s,l=r.useTableIdGenerator(),a=o.useRangeActionContext(),c=a.startSelectRange,p=a.moveSelectRange,v=a.endSelectRange,m=t.useEditActionContext().startEditing,f=l.extractCellIndexFromId(i),g=f[0],x=f[1],I=n.useColumnsContext()[x],C=u[I.key],E="select"===I.type?null===(s=null===(d=I.options)||void 0===d?void 0:d.find((function(e){return e.value===C})))||void 0===s?void 0:s.label:C,b=e.useMemo((function(){return I.editable?E:I.render?I.render(C,u):E}),[I.editable,E,C,u]);return{type:!I.editable&&I.render?"component":I.type,component:b,onDoubleClick:function(e){e.preventDefault(),m()},onMouseDown:function(e){document.getElementById(l.getEditorId())||setTimeout((function(){c({rowIndex:g,colIndex:x});var e=function(t){t.preventDefault(),t.stopPropagation(),v(),document.removeEventListener("mouseup",e)};document.addEventListener("mouseup",e)}),0)},onMouseEnter:function(e){e.preventDefault(),e.stopPropagation(),p({rowIndex:g,colIndex:x})}}};
1
+ "use strict";var e=require("react"),t=require("../edit/provider.js"),n=require("../sheet/providers.js"),o=require("../range/provider.js"),r=require("../id/provider.js");exports.useCell=function(i,u){var d,a,l,s=r.useTableIdGenerator(),c=o.useRangeActionContext(),p=c.startSelectRange,v=c.moveSelectRange,m=c.endSelectRange,f=t.useEditActionContext().startEditing,g=s.extractCellIndexFromId(i),x=g[0],y=g[1],I=n.useColumnsContext()[y],C=u[I.key],D="select"===I.type?null!==(l=null===(a=null===(d=I.options)||void 0===d?void 0:d.find((function(e){return e.value===C})))||void 0===a?void 0:a.label)&&void 0!==l?l:"":"date"===I.type||"datetime"===I.type?I.render(C instanceof Date?C:new Date(C)):C,E=e.useMemo((function(){return"date"===I.type||"datetime"===I.type||I.editable?D:I.render?I.render(C,u):D}),[I.editable,D,C,u]);return{type:!I.editable&&I.render?"component":I.type,component:E,onDoubleClick:function(e){e.preventDefault(),f()},onMouseDown:function(e){document.getElementById(s.getEditorId())||setTimeout((function(){p({rowIndex:x,colIndex:y});var e=function(t){t.preventDefault(),t.stopPropagation(),m(),document.removeEventListener("mouseup",e)};document.addEventListener("mouseup",e)}),0)},onMouseEnter:function(e){e.preventDefault(),e.stopPropagation(),v({rowIndex:x,colIndex:y})}}};
2
2
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../../../../../src/table/cell/hooks.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useEditActionContext } from \"../edit/provider\";\nimport { useColumnsContext } from \"../sheet/providers\";\nimport { DataObject, DataRecord, TColumnType } from \"../table/type\";\nimport { useRangeActionContext } from \"../range/provider\";\nimport { useTableIdGenerator } from \"../id\";\n\nexport function useCell(id: string, row: DataObject<DataRecord>) {\n const IdGenerator = useTableIdGenerator();\n const { startSelectRange, moveSelectRange, endSelectRange } =\n useRangeActionContext();\n const { startEditing } = useEditActionContext();\n const [rowIndex, colIndex] = IdGenerator.extractCellIndexFromId(id);\n const col = useColumnsContext()[colIndex];\n const value = row[col.key as string];\n\n const label =\n col.type === \"select\"\n ? col.options?.find((op) => op.value === value)?.label\n : value;\n\n const component = useMemo(() => {\n if (col.editable) {\n return label;\n } else {\n return col.render ? col.render(value as never, row) : label;\n }\n }, [col.editable, label, value, row]);\n\n const type: TColumnType | \"component\" =\n !col.editable && col.render ? \"component\" : col.type;\n\n const onDoubleClick: React.MouseEventHandler<HTMLDivElement> = (e) => {\n e.preventDefault();\n startEditing();\n };\n\n /**\n * onBlurよりも先に発火するため、onBlurでendEditingを呼ぶと\n * すぐにstartEditingが呼ばれてしまうため、setTimeoutで遅延させる\n * これにより、endEditingが先に呼ばれるようになる\n */\n const onMouseDown: React.MouseEventHandler<HTMLDivElement> = (e) => {\n const element = document.getElementById(IdGenerator.getEditorId());\n\n if (!!element) {\n return;\n }\n\n setTimeout(() => {\n startSelectRange({ rowIndex, colIndex });\n\n const onMouseUp = (e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n endSelectRange();\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n\n document.addEventListener(\"mouseup\", onMouseUp);\n }, 0);\n };\n\n const onMouseEnter: React.MouseEventHandler<HTMLDivElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n moveSelectRange({ rowIndex, colIndex });\n };\n\n return {\n type,\n component,\n onDoubleClick,\n onMouseDown,\n onMouseEnter,\n };\n}\n"],"names":["id","row","IdGenerator","useTableIdGenerator","_c","useRangeActionContext","startSelectRange","moveSelectRange","endSelectRange","startEditing","useEditActionContext","_d","extractCellIndexFromId","rowIndex","colIndex","col","useColumnsContext","value","key","label","type","_a","options","find","op","_b","component","useMemo","editable","render","onDoubleClick","e","preventDefault","onMouseDown","document","getElementById","getEditorId","setTimeout","onMouseUp","stopPropagation","removeEventListener","addEventListener","onMouseEnter"],"mappings":"yLAOgB,SAAQA,EAAYC,WAC5BC,EAAcC,EAAAA,sBACdC,EACJC,EAAAA,wBADMC,EAAgBF,EAAAE,iBAAEC,EAAeH,EAAAG,gBAAEC,EAAcJ,EAAAI,eAEjDC,EAAiBC,sCACnBC,EAAuBT,EAAYU,uBAAuBZ,GAAzDa,EAAQF,EAAA,GAAEG,OACXC,EAAMC,EAAAA,oBAAoBF,GAC1BG,EAAQhB,EAAIc,EAAIG,KAEhBC,EACS,WAAbJ,EAAIK,KAC6C,UAAlC,QAAXC,EAAAN,EAAIO,eAAO,IAAAD,OAAA,EAAAA,EAAEE,MAAK,SAACC,GAAO,OAAAA,EAAGP,QAAUA,CAAb,WAAmB,IAAAQ,OAAA,EAAAA,EAAEN,MAC/CF,EAEAS,EAAYC,EAAAA,SAAQ,WACxB,OAAIZ,EAAIa,SACCT,EAEAJ,EAAIc,OAASd,EAAIc,OAAOZ,EAAgBhB,GAAOkB,CAE1D,GAAG,CAACJ,EAAIa,SAAUT,EAAOF,EAAOhB,IA0ChC,MAAO,CACLmB,MAxCCL,EAAIa,UAAYb,EAAIc,OAAS,YAAcd,EAAIK,KAyChDM,UAASA,EACTI,cAxC6D,SAACC,GAC9DA,EAAEC,iBACFvB,GACF,EAsCEwB,YA/B2D,SAACF,GAC5CG,SAASC,eAAejC,EAAYkC,gBAMpDC,YAAW,WACT/B,EAAiB,CAAEO,SAAQA,EAAEC,SAAQA,IAErC,IAAMwB,EAAY,SAACP,GACjBA,EAAEC,iBACFD,EAAEQ,kBACF/B,IACA0B,SAASM,oBAAoB,UAAWF,EAC1C,EAEAJ,SAASO,iBAAiB,UAAWH,EACtC,GAAE,EACL,EAaEI,aAX4D,SAACX,GAC7DA,EAAEC,iBACFD,EAAEQ,kBACFhC,EAAgB,CAAEM,SAAQA,EAAEC,SAAQA,GACtC,EASF"}
1
+ {"version":3,"file":"hooks.js","sources":["../../../../../src/table/cell/hooks.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useEditActionContext } from \"../edit/provider\";\nimport { useColumnsContext } from \"../sheet/providers\";\nimport { DataObject, DataRecord, TColumnType } from \"../table/type\";\nimport { useRangeActionContext } from \"../range/provider\";\nimport { useTableIdGenerator } from \"../id\";\n\nexport function useCell(id: string, row: DataObject<DataRecord>) {\n const IdGenerator = useTableIdGenerator();\n const { startSelectRange, moveSelectRange, endSelectRange } =\n useRangeActionContext();\n const { startEditing } = useEditActionContext();\n const [rowIndex, colIndex] = IdGenerator.extractCellIndexFromId(id);\n const col = useColumnsContext()[colIndex];\n const value = row[col.key as string];\n\n const label =\n col.type === \"select\"\n ? col.options?.find((op) => op.value === value)?.label ?? \"\"\n : col.type === \"date\" || col.type === \"datetime\"\n ? col.render(value instanceof Date ? value : new Date(value))\n : (value as string | number);\n\n const component = useMemo(() => {\n if (col.type === \"date\" || col.type === \"datetime\" || col.editable) {\n return label;\n } else {\n return col.render ? col.render(value as never, row) : label;\n }\n }, [col.editable, label, value, row]);\n\n const type: TColumnType | \"component\" =\n !col.editable && col.render ? \"component\" : col.type;\n\n const onDoubleClick: React.MouseEventHandler<HTMLDivElement> = (e) => {\n e.preventDefault();\n startEditing();\n };\n\n /**\n * onBlurよりも先に発火するため、onBlurでendEditingを呼ぶと\n * すぐにstartEditingが呼ばれてしまうため、setTimeoutで遅延させる\n * これにより、endEditingが先に呼ばれるようになる\n */\n const onMouseDown: React.MouseEventHandler<HTMLDivElement> = (e) => {\n const element = document.getElementById(IdGenerator.getEditorId());\n\n if (!!element) {\n return;\n }\n\n setTimeout(() => {\n startSelectRange({ rowIndex, colIndex });\n\n const onMouseUp = (e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n endSelectRange();\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n\n document.addEventListener(\"mouseup\", onMouseUp);\n }, 0);\n };\n\n const onMouseEnter: React.MouseEventHandler<HTMLDivElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n moveSelectRange({ rowIndex, colIndex });\n };\n\n return {\n type,\n component,\n onDoubleClick,\n onMouseDown,\n onMouseEnter,\n };\n}\n"],"names":["id","row","IdGenerator","useTableIdGenerator","_d","useRangeActionContext","startSelectRange","moveSelectRange","endSelectRange","startEditing","useEditActionContext","_e","extractCellIndexFromId","rowIndex","colIndex","col","useColumnsContext","value","key","label","type","_c","_b","_a","options","find","op","render","Date","component","useMemo","editable","onDoubleClick","e","preventDefault","onMouseDown","document","getElementById","getEditorId","setTimeout","onMouseUp","stopPropagation","removeEventListener","addEventListener","onMouseEnter"],"mappings":"yLAOgB,SAAQA,EAAYC,aAC5BC,EAAcC,EAAAA,sBACdC,EACJC,EAAAA,wBADMC,EAAgBF,EAAAE,iBAAEC,EAAeH,EAAAG,gBAAEC,EAAcJ,EAAAI,eAEjDC,EAAiBC,sCACnBC,EAAuBT,EAAYU,uBAAuBZ,GAAzDa,EAAQF,EAAA,GAAEG,OACXC,EAAMC,EAAAA,oBAAoBF,GAC1BG,EAAQhB,EAAIc,EAAIG,KAEhBC,EACS,WAAbJ,EAAIK,KACoD,QAApDC,EAA6C,QAA7CC,EAAW,QAAXC,EAAAR,EAAIS,eAAO,IAAAD,OAAA,EAAAA,EAAEE,MAAK,SAACC,GAAO,OAAAA,EAAGT,QAAUA,CAAK,WAAC,IAAAK,OAAA,EAAAA,EAAEH,aAAK,IAAAE,EAAAA,EAAI,GAC3C,SAAbN,EAAIK,MAAgC,aAAbL,EAAIK,KAC3BL,EAAIY,OAAOV,aAAiBW,KAAOX,EAAQ,IAAIW,KAAKX,IACnDA,EAEDY,EAAYC,EAAAA,SAAQ,WACxB,MAAiB,SAAbf,EAAIK,MAAgC,aAAbL,EAAIK,MAAuBL,EAAIgB,SACjDZ,EAEAJ,EAAIY,OAASZ,EAAIY,OAAOV,EAAgBhB,GAAOkB,CAE1D,GAAG,CAACJ,EAAIgB,SAAUZ,EAAOF,EAAOhB,IA0ChC,MAAO,CACLmB,MAxCCL,EAAIgB,UAAYhB,EAAIY,OAAS,YAAcZ,EAAIK,KAyChDS,UAASA,EACTG,cAxC6D,SAACC,GAC9DA,EAAEC,iBACFzB,GACF,EAsCE0B,YA/B2D,SAACF,GAC5CG,SAASC,eAAenC,EAAYoC,gBAMpDC,YAAW,WACTjC,EAAiB,CAAEO,SAAQA,EAAEC,SAAQA,IAErC,IAAM0B,EAAY,SAACP,GACjBA,EAAEC,iBACFD,EAAEQ,kBACFjC,IACA4B,SAASM,oBAAoB,UAAWF,EAC1C,EAEAJ,SAASO,iBAAiB,UAAWH,EACtC,GAAE,EACL,EAaEI,aAX4D,SAACX,GAC7DA,EAAEC,iBACFD,EAAEQ,kBACFlC,EAAgB,CAAEM,SAAQA,EAAEC,SAAQA,GACtC,EASF"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use strict";var e=require("react/jsx-runtime"),o=require("../hooks.js");exports.TableCell=function(n){var s=o.useCell(n.id,n.row),l=s.type,t=s.component,i=s.onDoubleClick,c=s.onMouseDown,r=s.onMouseEnter;return e.jsx("td",{id:n.id,className:"".concat(n.cellFormatClassName," select-none"),onDoubleClick:n.isExistOnClickRow?void 0:i,onMouseDown:c,onMouseEnter:r,children:e.jsx("div",{className:"flex items-center gap-3 min-h-10 w-fit p-2 cursor-default",onClick:function(e){e.stopPropagation()},children:"component"===l?t:e.jsx("div",{onDoubleClick:i,children:e.jsx("p",{className:"cell-data text-left whitespace-nowrap",children:t})})})})};
2
+ "use strict";var e=require("react/jsx-runtime"),o=require("../../id/provider.js"),l=require("../hooks.js");exports.TableCell=function(n){var s=o.useTableIdGenerator(),i=l.useCell(n.id,n.row),r=i.type,t=i.component,a=i.onDoubleClick,c=i.onMouseDown,u=i.onMouseEnter,d=s.extractCellIndexFromId(n.id);d[0];var m=d[1];return e.jsx("td",{id:n.id,className:"table-col-".concat(m," ").concat(n.cellFormatClassName),onDoubleClick:n.isExistOnClickRow?void 0:a,onMouseDown:c,onMouseEnter:u,children:e.jsx("div",{className:"flex items-center gap-3 min-h-10 w-fit max-w-full p-2 cursor-default",onClick:function(e){e.stopPropagation()},children:"component"===r?t:e.jsx("div",{onDoubleClick:a,className:"max-w-full",children:e.jsx("p",{className:"text-left max-w-full select-none overflow-hidden whitespace-nowrap text-ellipsis",children:t})})})})};
3
3
  //# sourceMappingURL=cell.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("../../../node_modules/tslib/tslib.es6.js"),t=require("react"),n=require("../range/provider.js"),o=function(t,n){switch(n.type){case"setRows":return e.__assign(e.__assign({},t),{rows:n.payload.rows});case"setCols":return e.__assign(e.__assign({},t),{cols:n.payload.cols});case"copied":return e.__assign(e.__assign({},t),{copiedAt:new Date});default:return t}};exports.useCopyReducer=function(s){var r=t.useReducer(o,e.__assign({},s)),a=r[0],d=r[1],c=n.useRangeStateContext();t.useEffect((function(){d({type:"setCols",payload:{cols:s.cols}})}),[s.cols]);var i=t.useCallback((function(e){if(c.isSelecting){var t=c.start.rowIndex<=c.end.rowIndex?c.start.rowIndex:c.end.rowIndex,n=c.start.rowIndex>=c.end.rowIndex?c.start.rowIndex:c.end.rowIndex,o=c.start.colIndex<=c.end.colIndex?c.start.colIndex:c.end.colIndex,s=c.start.colIndex>=c.end.colIndex?c.start.colIndex:c.end.colIndex,r=a.rows.slice(t,n+1).map((function(e){for(var t=[],n=function(n){var o=a.cols[n];if("number"==o.type||"string"==o.type)return t.push(e[o.key]),"continue";if("select"==o.type){var s=e[o.key];null==s||""===s?t.push(""):t.push(o.options.find((function(t){return t.value===e[o.key]})).label)}},r=o;r<=s;r++)n(r);return t})).map((function(e){return e.join("\t")})).join("\n");if(null==e?void 0:e.enableDeprecatedCopy){var i=document.createElement("textarea");i.style.position="fixed",i.style.top="0",i.style.left="0",i.style.width="2em",i.style.height="2em",i.style.padding="0",i.style.border="none",i.style.outline="none",i.style.boxShadow="none",i.style.background="transparent",i.value=r,document.body.appendChild(i),i.select(),document.execCommand("copy"),document.body.removeChild(i)}else navigator.clipboard.writeText(r);d({type:"copied"})}}),[c,a.rows,a.cols]),l=t.useCallback((function(e){d({type:"setRows",payload:{rows:e}})}),[]);return{states:t.useMemo((function(){return{copiedAt:a.copiedAt}}),[a.copiedAt]),actions:t.useMemo((function(){return{copy:i,setRows:l}}),[i,l])}};
1
+ "use strict";var e=require("../../../node_modules/tslib/tslib.es6.js"),t=require("react"),n=require("../range/provider.js"),o=function(t,n){switch(n.type){case"setRows":return e.__assign(e.__assign({},t),{rows:n.payload.rows});case"setCols":return e.__assign(e.__assign({},t),{cols:n.payload.cols});case"copied":return e.__assign(e.__assign({},t),{copiedAt:new Date});default:return t}};exports.useCopyReducer=function(s){var r=t.useReducer(o,e.__assign({},s)),a=r[0],i=r[1],d=n.useRangeStateContext();t.useEffect((function(){i({type:"setCols",payload:{cols:s.cols}})}),[s.cols]);var c=t.useCallback((function(e){if(d.isSelecting){var t=d.start.rowIndex<=d.end.rowIndex?d.start.rowIndex:d.end.rowIndex,n=d.start.rowIndex>=d.end.rowIndex?d.start.rowIndex:d.end.rowIndex,o=d.start.colIndex<=d.end.colIndex?d.start.colIndex:d.end.colIndex,s=d.start.colIndex>=d.end.colIndex?d.start.colIndex:d.end.colIndex,r=a.rows.slice(t,n+1).map((function(e){for(var t=[],n=function(n){var o=a.cols[n];if("number"==o.type||"string"==o.type)return t.push(e[o.key]),"continue";if("select"==o.type){var s=e[o.key];return null==s||""===s?t.push(""):t.push(o.options.find((function(t){return t.value===e[o.key]})).label),"continue"}return"date"===o.type?(t.push(e[o.key].toISOString().split("T")[0]),"continue"):"datetime"===o.type?(t.push(e[o.key].toISOString()),"continue"):void 0},r=o;r<=s;r++)n(r);return t})).map((function(e){return e.join("\t")})).join("\n");if(null==e?void 0:e.enableDeprecatedCopy){var c=document.createElement("textarea");c.style.position="fixed",c.style.top="0",c.style.left="0",c.style.width="2em",c.style.height="2em",c.style.padding="0",c.style.border="none",c.style.outline="none",c.style.boxShadow="none",c.style.background="transparent",c.value=r,document.body.appendChild(c),c.select(),document.execCommand("copy"),document.body.removeChild(c)}else navigator.clipboard.writeText(r);i({type:"copied"})}}),[d,a.rows,a.cols]),l=t.useCallback((function(e){i({type:"setRows",payload:{rows:e}})}),[]);return{states:t.useMemo((function(){return{copiedAt:a.copiedAt}}),[a.copiedAt]),actions:t.useMemo((function(){return{copy:c,setRows:l}}),[c,l])}};
2
2
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../../../../../src/table/copy/hooks.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useReducer } from \"react\";\nimport { useRangeStateContext } from \"../range/provider\";\nimport { TCopyReducer, TReturnCopyReducer } from \"./types\";\n\nconst reducer: TCopyReducer = (state, action) => {\n switch (action.type) {\n case \"setRows\":\n return { ...state, rows: action.payload.rows };\n case \"setCols\":\n return { ...state, cols: action.payload.cols };\n case \"copied\":\n return { ...state, copiedAt: new Date() };\n default:\n return state;\n }\n};\n\nexport function useCopyReducer(initial: {\n rows: any[];\n cols: any[];\n onUpdateRowFunction?: (newRow: any, oldRow: any) => void;\n}): TReturnCopyReducer {\n const [state, dispatch] = useReducer(reducer, {\n ...initial,\n });\n const range = useRangeStateContext();\n\n useEffect(() => {\n dispatch({ type: \"setCols\", payload: { cols: initial.cols } });\n }, [initial.cols]);\n\n const copy = useCallback(\n (options?: { enableDeprecatedCopy?: boolean }) => {\n if (!range.isSelecting) {\n return;\n }\n\n const startRowIndex =\n range.start.rowIndex <= range.end.rowIndex\n ? range.start.rowIndex\n : range.end.rowIndex;\n const endRowIndex =\n range.start.rowIndex >= range.end.rowIndex\n ? range.start.rowIndex\n : range.end.rowIndex;\n const startColIndex =\n range.start.colIndex <= range.end.colIndex\n ? range.start.colIndex\n : range.end.colIndex;\n const endColIndex =\n range.start.colIndex >= range.end.colIndex\n ? range.start.colIndex\n : range.end.colIndex;\n\n const copiedData = state.rows\n .slice(startRowIndex, endRowIndex + 1)\n .map((row) => {\n const copiedRow = [];\n for (let i = startColIndex; i <= endColIndex; i++) {\n const col = state.cols[i];\n\n if (col.type == \"number\" || col.type == \"string\") {\n copiedRow.push(row[col.key]);\n continue;\n } else if (col.type == \"select\") {\n const value = row[col.key];\n\n if (value === null || value === undefined || value === \"\") {\n copiedRow.push(\"\");\n } else {\n copiedRow.push(\n col.options.find((option) => option.value === row[col.key])!\n .label\n );\n }\n }\n }\n return copiedRow;\n });\n\n const copiedDataString = copiedData\n .map((row) => row.join(\"\\t\"))\n .join(\"\\n\");\n\n if (options?.enableDeprecatedCopy) {\n const textArea = document.createElement(\"textarea\");\n textArea.style.position = \"fixed\";\n textArea.style.top = \"0\";\n textArea.style.left = \"0\";\n textArea.style.width = \"2em\";\n textArea.style.height = \"2em\";\n textArea.style.padding = \"0\";\n textArea.style.border = \"none\";\n textArea.style.outline = \"none\";\n textArea.style.boxShadow = \"none\";\n textArea.style.background = \"transparent\";\n textArea.value = copiedDataString;\n document.body.appendChild(textArea);\n textArea.select();\n document.execCommand(\"copy\");\n document.body.removeChild(textArea);\n } else {\n navigator.clipboard.writeText(copiedDataString);\n }\n\n dispatch({ type: \"copied\" });\n },\n [range, state.rows, state.cols]\n );\n\n const setRows = useCallback((rows: any[]) => {\n dispatch({ type: \"setRows\", payload: { rows } });\n }, []);\n\n const states = useMemo(\n () => ({\n copiedAt: state.copiedAt,\n }),\n [state.copiedAt]\n );\n\n const actions = useMemo(\n () => ({\n copy,\n setRows,\n }),\n [copy, setRows]\n );\n\n return {\n states,\n actions,\n };\n}\n"],"names":["reducer","state","action","type","__assign","rows","payload","cols","copiedAt","Date","initial","_a","useReducer","dispatch","range","useRangeStateContext","useEffect","copy","useCallback","options","isSelecting","startRowIndex","start","rowIndex","end","endRowIndex","startColIndex","colIndex","endColIndex","copiedDataString","slice","map","row","copiedRow","i","col","push","key","value","find","option","label","join","enableDeprecatedCopy","textArea","document","createElement","style","position","top","left","width","height","padding","border","outline","boxShadow","background","body","appendChild","select","execCommand","removeChild","navigator","clipboard","writeText","setRows","states","useMemo","actions"],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sources":["../../../../../src/table/copy/hooks.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useReducer } from \"react\";\nimport { useRangeStateContext } from \"../range/provider\";\nimport { TCopyReducer, TReturnCopyReducer } from \"./types\";\n\nconst reducer: TCopyReducer = (state, action) => {\n switch (action.type) {\n case \"setRows\":\n return { ...state, rows: action.payload.rows };\n case \"setCols\":\n return { ...state, cols: action.payload.cols };\n case \"copied\":\n return { ...state, copiedAt: new Date() };\n default:\n return state;\n }\n};\n\nexport function useCopyReducer(initial: {\n rows: any[];\n cols: any[];\n onUpdateRowFunction?: (newRow: any, oldRow: any) => void;\n}): TReturnCopyReducer {\n const [state, dispatch] = useReducer(reducer, {\n ...initial,\n });\n const range = useRangeStateContext();\n\n useEffect(() => {\n dispatch({ type: \"setCols\", payload: { cols: initial.cols } });\n }, [initial.cols]);\n\n const copy = useCallback(\n (options?: { enableDeprecatedCopy?: boolean }) => {\n if (!range.isSelecting) {\n return;\n }\n\n const startRowIndex =\n range.start.rowIndex <= range.end.rowIndex\n ? range.start.rowIndex\n : range.end.rowIndex;\n const endRowIndex =\n range.start.rowIndex >= range.end.rowIndex\n ? range.start.rowIndex\n : range.end.rowIndex;\n const startColIndex =\n range.start.colIndex <= range.end.colIndex\n ? range.start.colIndex\n : range.end.colIndex;\n const endColIndex =\n range.start.colIndex >= range.end.colIndex\n ? range.start.colIndex\n : range.end.colIndex;\n\n const copiedData = state.rows\n .slice(startRowIndex, endRowIndex + 1)\n .map((row) => {\n const copiedRow = [];\n for (let i = startColIndex; i <= endColIndex; i++) {\n const col = state.cols[i];\n\n if (col.type == \"number\" || col.type == \"string\") {\n copiedRow.push(row[col.key]);\n continue;\n } else if (col.type == \"select\") {\n const value = row[col.key];\n\n if (value === null || value === undefined || value === \"\") {\n copiedRow.push(\"\");\n } else {\n copiedRow.push(\n col.options.find((option) => option.value === row[col.key])!\n .label\n );\n }\n continue;\n } else if (col.type === \"date\") {\n copiedRow.push(row[col.key].toISOString().split(\"T\")[0]);\n continue;\n } else if (col.type === \"datetime\") {\n copiedRow.push(row[col.key].toISOString());\n continue;\n }\n\n col satisfies never;\n }\n return copiedRow;\n });\n\n const copiedDataString = copiedData\n .map((row) => row.join(\"\\t\"))\n .join(\"\\n\");\n\n if (options?.enableDeprecatedCopy) {\n const textArea = document.createElement(\"textarea\");\n textArea.style.position = \"fixed\";\n textArea.style.top = \"0\";\n textArea.style.left = \"0\";\n textArea.style.width = \"2em\";\n textArea.style.height = \"2em\";\n textArea.style.padding = \"0\";\n textArea.style.border = \"none\";\n textArea.style.outline = \"none\";\n textArea.style.boxShadow = \"none\";\n textArea.style.background = \"transparent\";\n textArea.value = copiedDataString;\n document.body.appendChild(textArea);\n textArea.select();\n document.execCommand(\"copy\");\n document.body.removeChild(textArea);\n } else {\n navigator.clipboard.writeText(copiedDataString);\n }\n\n dispatch({ type: \"copied\" });\n },\n [range, state.rows, state.cols]\n );\n\n const setRows = useCallback((rows: any[]) => {\n dispatch({ type: \"setRows\", payload: { rows } });\n }, []);\n\n const states = useMemo(\n () => ({\n copiedAt: state.copiedAt,\n }),\n [state.copiedAt]\n );\n\n const actions = useMemo(\n () => ({\n copy,\n setRows,\n }),\n [copy, setRows]\n );\n\n return {\n states,\n actions,\n };\n}\n"],"names":["reducer","state","action","type","__assign","rows","payload","cols","copiedAt","Date","initial","_a","useReducer","dispatch","range","useRangeStateContext","useEffect","copy","useCallback","options","isSelecting","startRowIndex","start","rowIndex","end","endRowIndex","startColIndex","colIndex","endColIndex","copiedDataString","slice","map","row","copiedRow","i","col","push","key","value","find","option","label","toISOString","split","join","enableDeprecatedCopy","textArea","document","createElement","style","position","top","left","width","height","padding","border","outline","boxShadow","background","body","appendChild","select","execCommand","removeChild","navigator","clipboard","writeText","setRows","states","useMemo","actions"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use strict";var e=require("react/jsx-runtime"),t=require("react"),n=require("../../../icon/cancel-icon.js"),r=require("../../id/provider.js");exports.CellInput=function(u){var i=r.useTableIdGenerator(),o=t.useRef(null);return t.useEffect((function(){o.current&&o.current.focus()}),[o]),e.jsxs("div",{className:"flex justify-between gap-1 w-full items-center",onClick:function(e){e.preventDefault(),e.stopPropagation()},children:[e.jsx("input",{id:i.getEditorId(),ref:o,className:"w-full py-1 px-2 bg-white text-gray-900",type:"text",value:u.value,onChange:u.onChange,onBlur:u.onBlur,onKeyUp:function(e){e.preventDefault(),"Enter"===e.key?e.target.blur():"Escape"===e.key&&(u.reset(),u.endEditing())}}),e.jsx("button",{onMouseDown:function(e){e.preventDefault(),e.stopPropagation(),setTimeout((function(){u.reset(),u.endEditing()}),300)},children:e.jsx(n.CancelIcon,{size:16})})]})};
2
+ "use strict";var e=require("react/jsx-runtime"),t=require("react"),n=require("../../../icon/cancel-icon.js"),r=require("../../id/provider.js");exports.CellInput=function(u){var i,o=r.useTableIdGenerator(),s=t.useRef(null);return t.useEffect((function(){s.current&&s.current.focus()}),[s]),e.jsxs("div",{className:"flex justify-between gap-1 w-full items-center",onClick:function(e){e.preventDefault(),e.stopPropagation()},children:[e.jsx("input",{id:o.getEditorId(),ref:s,className:"w-full py-1 px-2 bg-white text-gray-900",type:null!==(i=u.type)&&void 0!==i?i:"text",value:u.value,onChange:u.onChange,onBlur:u.onBlur,onKeyUp:function(e){e.preventDefault(),"Enter"===e.key?e.target.blur():"Escape"===e.key&&(u.reset(),u.endEditing())}}),e.jsx("button",{onMouseDown:function(e){e.preventDefault(),e.stopPropagation(),setTimeout((function(){u.reset(),u.endEditing()}),300)},children:e.jsx(n.CancelIcon,{size:16})})]})};
3
3
  //# sourceMappingURL=base-input.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),t=require("./reducer.js");exports.useFilterHook=function(r){var n=e.useReducer(t.filterReducer,{conditions:r}),i=n[0],o=n[1],u=e.useMemo((function(){return{addFilter:function(e){o({type:"add",payload:{condition:e}})},removeFilter:function(e){o({type:"remove",payload:{index:e}})},clearFilter:function(){o({type:"clear"})}}}),[i.conditions]),s=e.useMemo((function(){return{filter:function(e){return e.filter((function(e){return i.conditions.every((function(t){return function(e,t,r){switch(e.operator.type){case"number":if("single number"===e.operator.inputType){if(r.type!==e.operator.inputType)throw new Error("input type is not match");var n=r.payload.value;switch(e.operator.key){case"number:eq":return t===n;case"number:gt":return t>n;case"number:gte":return t>=n;case"number:lt":return t<n;case"number:lte":return t<=n;case"number:neq":return t!==n}}case"string":switch(e.operator.inputType){case"none":if(r.type!==e.operator.inputType)throw new Error("input type is not match");switch(e.operator.key){case"string:is_not_null":return null!=t&&""!==t;case"string:is_null":return null==t||""===t}case"single string":if(r.type!==e.operator.inputType)throw new Error("input type is not match");var i=r.payload.value;switch(e.operator.key){case"string:eq":return t===i;case"string:like":return t.includes(i);case"string:neq":return t!==i;case"string:not_like":return!t.includes(i)}}case"select":switch(e.operator.inputType){case"select":if(r.type!==e.operator.inputType)throw new Error("input type is not match");i=r.payload.value;switch(e.operator.key){case"select:eq":return t===i;case"select:neq":return t!==i}case"none":if(r.type!==e.operator.inputType)throw new Error("input type is not match");switch(e.operator.key){case"select:is_null":return null==t||""===t;case"select:is_not_null":return null!=t&&""!==t}}}}(t,e[t.target.key],t.input)}))}))}}}),[i.conditions]);return{state:i,actions:u,functions:s}};
1
+ "use strict";var e=require("react"),t=require("./reducer.js");exports.useFilterHook=function(r){var n=e.useReducer(t.filterReducer,{conditions:r}),a=n[0],o=n[1],i=e.useMemo((function(){return{addFilter:function(e){o({type:"add",payload:{condition:e}})},removeFilter:function(e){o({type:"remove",payload:{index:e}})},clearFilter:function(){o({type:"clear"})}}}),[a.conditions]),u=e.useMemo((function(){return{filter:function(e){return e.filter((function(e){return a.conditions.every((function(t){return function(e,t,r){switch(e.operator.type){case"number":if("single number"===e.operator.inputType){if(r.type!==e.operator.inputType)throw new Error("input type is not match");var n=r.payload.value;switch(e.operator.key){case"number:eq":return t===n;case"number:gt":return t>n;case"number:gte":return t>=n;case"number:lt":return t<n;case"number:lte":return t<=n;case"number:neq":return t!==n}}case"string":switch(e.operator.inputType){case"none":if(r.type!==e.operator.inputType)throw new Error("input type is not match");switch(e.operator.key){case"string:is_not_null":return null!=t&&""!==t;case"string:is_null":return null==t||""===t}case"single string":if(r.type!==e.operator.inputType)throw new Error("input type is not match");var a=r.payload.value;switch(e.operator.key){case"string:eq":return t===a;case"string:like":return t.includes(a);case"string:neq":return t!==a;case"string:not_like":return!t.includes(a)}}case"select":switch(e.operator.inputType){case"select":if(r.type!==e.operator.inputType)throw new Error("input type is not match");a=r.payload.value;switch(e.operator.key){case"select:eq":return t===a;case"select:neq":return t!==a}case"none":if(r.type!==e.operator.inputType)throw new Error("input type is not match");switch(e.operator.key){case"select:is_null":return null==t||""===t;case"select:is_not_null":return null!=t&&""!==t}}case"date":switch(e.operator.inputType){case"single date":if(r.type!==e.operator.inputType)throw new Error("input type is not match");var o=r.payload.value;if(!(t instanceof Date))throw new Error("date value is not Date object");switch(e.operator.key){case"date:eq":return t.getFullYear()===o.getFullYear()&&t.getMonth()===o.getMonth()&&t.getDate()===o.getDate();case"date:neq":return t.getFullYear()!==o.getFullYear()||t.getMonth()!==o.getMonth()||t.getDate()!==o.getDate();case"date:gt":return t>o;case"date:gte":return t>=o;case"date:lt":return t<o;case"date:lte":return t<=o}case"none":if(r.type!==e.operator.inputType)throw new Error("input type is not match");switch(e.operator.key){case"date:is_null":return null==t||""===t;case"date:is_not_null":return null!=t&&""!==t}}case"datetime":switch(e.operator.inputType){case"single datetime":if(r.type!==e.operator.inputType)throw new Error("input type is not match");o=r.payload.value;switch(e.operator.key){case"datetime:gt":return t>o;case"datetime:gte":return t>=o;case"datetime:lt":return t<o;case"datetime:lte":return t<=o}case"none":if(r.type!==e.operator.inputType)throw new Error("input type is not match");switch(e.operator.key){case"datetime:is_null":return null==t||""===t;case"datetime:is_not_null":return null!=t&&""!==t}}}}(t,e[t.target.key],t.input)}))}))}}}),[a.conditions]);return{state:a,actions:i,functions:u}};
2
2
  //# sourceMappingURL=hook.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sources":["../../../../../src/table/filter-v2/hook.ts"],"sourcesContent":["import { useMemo, useReducer } from \"react\";\nimport { TFilterHook } from \"./type\";\nimport { filterReducer } from \"./reducer\";\nimport { Condition } from \"../../search-bar\";\nimport { DataObject, DataRecord } from \"../table/type\";\nimport { SearchInput } from \"../../search-bar/condition-search-bar/condition-input-management/type\";\n\nexport const useFilterHook: TFilterHook = (initialConditions) => {\n const [state, dispatch] = useReducer(filterReducer, {\n conditions: initialConditions,\n });\n\n const actions = useMemo(\n () => ({\n addFilter: (condition: Condition) => {\n dispatch({ type: \"add\", payload: { condition } });\n },\n removeFilter: (index: number) => {\n dispatch({ type: \"remove\", payload: { index } });\n },\n clearFilter: () => {\n dispatch({ type: \"clear\" });\n },\n }),\n [state.conditions]\n );\n\n const functions = useMemo(\n () => ({\n filter: <T extends DataRecord>(rows: DataObject<T>[]) => {\n return rows.filter((row) => {\n return state.conditions.every((condition) => {\n const value = row[condition.target.key];\n return isMatchCondition(condition, value, condition.input);\n });\n });\n },\n }),\n [state.conditions]\n );\n\n return {\n state,\n actions,\n functions,\n };\n};\n\nfunction isMatchCondition(\n condition: Condition,\n targetValue: any,\n input: SearchInput\n): boolean {\n switch (condition.operator.type) {\n // case \"date\":\n // switch (condition.operator.key) {\n // case \"date:eq\":\n // return false;\n // case \"date:gt\":\n // return false;\n // case \"date:gte\":\n // return false;\n // case \"date:lt\":\n // return false;\n // case \"date:lte\":\n // return false;\n // case \"date:neq\":\n // return false;\n // case \"date:is_not_null\":\n // return false;\n // case \"date:is_null\":\n // return false;\n // }\n case \"number\":\n switch (condition.operator.inputType) {\n case \"single number\":\n if (input.type !== condition.operator.inputType) {\n throw new Error(\"input type is not match\");\n }\n\n const numValue = input.payload.value;\n\n switch (condition.operator.key) {\n case \"number:eq\":\n return targetValue === numValue;\n case \"number:gt\":\n return targetValue > numValue;\n case \"number:gte\":\n return targetValue >= numValue;\n case \"number:lt\":\n return targetValue < numValue;\n case \"number:lte\":\n return targetValue <= numValue;\n case \"number:neq\":\n return targetValue !== numValue;\n }\n }\n\n case \"string\":\n switch (condition.operator.inputType) {\n case \"none\":\n if (input.type !== condition.operator.inputType) {\n throw new Error(\"input type is not match\");\n }\n\n switch (condition.operator.key) {\n case \"string:is_not_null\":\n return (\n targetValue !== null &&\n targetValue !== undefined &&\n targetValue !== \"\"\n );\n case \"string:is_null\":\n return (\n targetValue === null ||\n targetValue === undefined ||\n targetValue === \"\"\n );\n }\n case \"single string\":\n if (input.type !== condition.operator.inputType) {\n throw new Error(\"input type is not match\");\n }\n\n const value = input.payload.value;\n\n switch (condition.operator.key) {\n case \"string:eq\":\n return targetValue === value;\n case \"string:like\":\n return targetValue.includes(value);\n case \"string:neq\":\n return targetValue !== value;\n case \"string:not_like\":\n return !targetValue.includes(value);\n }\n }\n\n case \"select\":\n switch (condition.operator.inputType) {\n case \"select\":\n if (input.type !== condition.operator.inputType) {\n throw new Error(\"input type is not match\");\n }\n\n const value = input.payload.value;\n\n switch (condition.operator.key) {\n case \"select:eq\":\n return targetValue === value;\n case \"select:neq\":\n return targetValue !== value;\n }\n case \"none\":\n if (input.type !== condition.operator.inputType) {\n throw new Error(\"input type is not match\");\n }\n\n switch (condition.operator.key) {\n case \"select:is_null\":\n return (\n targetValue === null ||\n targetValue === undefined ||\n targetValue === \"\"\n );\n case \"select:is_not_null\":\n return (\n targetValue !== null &&\n targetValue !== undefined &&\n targetValue !== \"\"\n );\n }\n }\n }\n}\n"],"names":["initialConditions","_a","useReducer","filterReducer","conditions","state","dispatch","actions","useMemo","addFilter","condition","type","payload","removeFilter","index","clearFilter","functions","filter","rows","row","every","targetValue","input","operator","inputType","Error","numValue","value","key","includes","isMatchCondition","target"],"mappings":"oFAO0C,SAACA,GACnC,IAAAC,EAAoBC,EAAUA,WAACC,gBAAe,CAClDC,WAAYJ,IADPK,EAAKJ,EAAA,GAAEK,OAIRC,EAAUC,WACd,WAAM,MAAC,CACLC,UAAW,SAACC,GACVJ,EAAS,CAAEK,KAAM,MAAOC,QAAS,CAAEF,UAASA,IAC7C,EACDG,aAAc,SAACC,GACbR,EAAS,CAAEK,KAAM,SAAUC,QAAS,CAAEE,MAAKA,IAC5C,EACDC,YAAa,WACXT,EAAS,CAAEK,KAAM,SAClB,KAEH,CAACN,EAAMD,aAGHY,EAAYR,WAChB,WAAM,MAAC,CACLS,OAAQ,SAAuBC,GAC7B,OAAOA,EAAKD,QAAO,SAACE,GAClB,OAAOd,EAAMD,WAAWgB,OAAM,SAACV,GAE7B,OAeZ,SACEA,EACAW,EACAC,GAEA,OAAQZ,EAAUa,SAASZ,MAoBzB,IAAK,SACH,GACO,kBADCD,EAAUa,SAASC,UACzB,CACE,GAAIF,EAAMX,OAASD,EAAUa,SAASC,UACpC,MAAM,IAAIC,MAAM,2BAGlB,IAAMC,EAAWJ,EAAMV,QAAQe,MAE/B,OAAQjB,EAAUa,SAASK,KACzB,IAAK,YACH,OAAOP,IAAgBK,EACzB,IAAK,YACH,OAAOL,EAAcK,EACvB,IAAK,aACH,OAAOL,GAAeK,EACxB,IAAK,YACH,OAAOL,EAAcK,EACvB,IAAK,aACH,OAAOL,GAAeK,EACxB,IAAK,aACH,OAAOL,IAAgBK,EAC1B,CAGP,IAAK,SACH,OAAQhB,EAAUa,SAASC,WACzB,IAAK,OACH,GAAIF,EAAMX,OAASD,EAAUa,SAASC,UACpC,MAAM,IAAIC,MAAM,2BAGlB,OAAQf,EAAUa,SAASK,KACzB,IAAK,qBACH,OACEP,SAEgB,KAAhBA,EAEJ,IAAK,iBACH,OACEA,SAEgB,KAAhBA,EAGR,IAAK,gBACH,GAAIC,EAAMX,OAASD,EAAUa,SAASC,UACpC,MAAM,IAAIC,MAAM,2BAGlB,IAAME,EAAQL,EAAMV,QAAQe,MAE5B,OAAQjB,EAAUa,SAASK,KACzB,IAAK,YACH,OAAOP,IAAgBM,EACzB,IAAK,cACH,OAAON,EAAYQ,SAASF,GAC9B,IAAK,aACH,OAAON,IAAgBM,EACzB,IAAK,kBACH,OAAQN,EAAYQ,SAASF,IAIvC,IAAK,SACH,OAAQjB,EAAUa,SAASC,WACzB,IAAK,SACH,GAAIF,EAAMX,OAASD,EAAUa,SAASC,UACpC,MAAM,IAAIC,MAAM,2BAGZE,EAAQL,EAAMV,QAAQe,MAE5B,OAAQjB,EAAUa,SAASK,KACzB,IAAK,YACH,OAAOP,IAAgBM,EACzB,IAAK,aACH,OAAON,IAAgBM,EAE7B,IAAK,OACH,GAAIL,EAAMX,OAASD,EAAUa,SAASC,UACpC,MAAM,IAAIC,MAAM,2BAGlB,OAAQf,EAAUa,SAASK,KACzB,IAAK,iBACH,OACEP,SAEgB,KAAhBA,EAEJ,IAAK,qBACH,OACEA,SAEgB,KAAhBA,IAKhB,CA7ImBS,CAAiBpB,EADVS,EAAIT,EAAUqB,OAAOH,KACOlB,EAAUY,MACtD,GACF,GACD,KAEH,CAACjB,EAAMD,aAGT,MAAO,CACLC,MAAKA,EACLE,QAAOA,EACPS,UAASA,EAEb"}
1
+ {"version":3,"file":"hook.js","sources":["../../../../../src/table/filter-v2/hook.ts"],"sourcesContent":["import { useMemo, useReducer } from \"react\";\nimport { TFilterHook } from \"./type\";\nimport { filterReducer } from \"./reducer\";\nimport { Condition } from \"../../search-bar\";\nimport { DataObject, DataRecord } from \"../table/type\";\nimport { SearchInput } from \"../../search-bar/condition-search-bar/condition-input-management/type\";\n\nexport const useFilterHook: TFilterHook = (initialConditions) => {\n const [state, dispatch] = useReducer(filterReducer, {\n conditions: initialConditions,\n });\n\n const actions = useMemo(\n () => ({\n addFilter: (condition: Condition) => {\n dispatch({ type: \"add\", payload: { condition } });\n },\n removeFilter: (index: number) => {\n dispatch({ type: \"remove\", payload: { index } });\n },\n clearFilter: () => {\n dispatch({ type: \"clear\" });\n },\n }),\n [state.conditions]\n );\n\n const functions = useMemo(\n () => ({\n filter: <T extends DataRecord>(rows: DataObject<T>[]) => {\n return rows.filter((row) => {\n return state.conditions.every((condition) => {\n const value = row[condition.target.key];\n return isMatchCondition(condition, value, condition.input);\n });\n });\n },\n }),\n [state.conditions]\n );\n\n return {\n state,\n actions,\n functions,\n };\n};\n\nfunction isMatchCondition(\n condition: Condition,\n targetValue: any,\n input: SearchInput\n): boolean {\n switch (condition.operator.type) {\n case \"number\":\n switch (condition.operator.inputType) {\n case \"single number\":\n if (input.type !== condition.operator.inputType) {\n throw new Error(\"input type is not match\");\n }\n\n const numValue = input.payload.value;\n\n switch (condition.operator.key) {\n case \"number:eq\":\n return targetValue === numValue;\n case \"number:gt\":\n return targetValue > numValue;\n case \"number:gte\":\n return targetValue >= numValue;\n case \"number:lt\":\n return targetValue < numValue;\n case \"number:lte\":\n return targetValue <= numValue;\n case \"number:neq\":\n return targetValue !== numValue;\n }\n }\n\n case \"string\":\n switch (condition.operator.inputType) {\n case \"none\":\n if (input.type !== condition.operator.inputType) {\n throw new Error(\"input type is not match\");\n }\n\n switch (condition.operator.key) {\n case \"string:is_not_null\":\n return (\n targetValue !== null &&\n targetValue !== undefined &&\n targetValue !== \"\"\n );\n case \"string:is_null\":\n return (\n targetValue === null ||\n targetValue === undefined ||\n targetValue === \"\"\n );\n }\n case \"single string\":\n if (input.type !== condition.operator.inputType) {\n throw new Error(\"input type is not match\");\n }\n\n const value = input.payload.value;\n\n switch (condition.operator.key) {\n case \"string:eq\":\n return targetValue === value;\n case \"string:like\":\n return targetValue.includes(value);\n case \"string:neq\":\n return targetValue !== value;\n case \"string:not_like\":\n return !targetValue.includes(value);\n }\n }\n\n case \"select\":\n switch (condition.operator.inputType) {\n case \"select\":\n if (input.type !== condition.operator.inputType) {\n throw new Error(\"input type is not match\");\n }\n\n const value = input.payload.value;\n\n switch (condition.operator.key) {\n case \"select:eq\":\n return targetValue === value;\n case \"select:neq\":\n return targetValue !== value;\n }\n case \"none\":\n if (input.type !== condition.operator.inputType) {\n throw new Error(\"input type is not match\");\n }\n\n switch (condition.operator.key) {\n case \"select:is_null\":\n return (\n targetValue === null ||\n targetValue === undefined ||\n targetValue === \"\"\n );\n case \"select:is_not_null\":\n return (\n targetValue !== null &&\n targetValue !== undefined &&\n targetValue !== \"\"\n );\n }\n }\n case \"date\":\n switch (condition.operator.inputType) {\n case \"single date\":\n if (input.type !== condition.operator.inputType) {\n throw new Error(\"input type is not match\");\n }\n\n const dateValue = input.payload.value;\n\n if (!(targetValue instanceof Date)) {\n throw new Error(\"date value is not Date object\");\n }\n\n switch (condition.operator.key) {\n case \"date:eq\":\n return (\n targetValue.getFullYear() === dateValue.getFullYear() &&\n targetValue.getMonth() === dateValue.getMonth() &&\n targetValue.getDate() === dateValue.getDate()\n );\n case \"date:neq\":\n return (\n targetValue.getFullYear() !== dateValue.getFullYear() ||\n targetValue.getMonth() !== dateValue.getMonth() ||\n targetValue.getDate() !== dateValue.getDate()\n );\n case \"date:gt\":\n return targetValue > dateValue;\n case \"date:gte\":\n return targetValue >= dateValue;\n case \"date:lt\":\n return targetValue < dateValue;\n case \"date:lte\":\n return targetValue <= dateValue;\n }\n case \"none\":\n if (input.type !== condition.operator.inputType) {\n throw new Error(\"input type is not match\");\n }\n\n switch (condition.operator.key) {\n case \"date:is_null\":\n return (\n targetValue === null ||\n targetValue === undefined ||\n targetValue === \"\"\n );\n case \"date:is_not_null\":\n return (\n targetValue !== null &&\n targetValue !== undefined &&\n targetValue !== \"\"\n );\n }\n }\n case \"datetime\":\n switch (condition.operator.inputType) {\n case \"single datetime\":\n if (input.type !== condition.operator.inputType) {\n throw new Error(\"input type is not match\");\n }\n\n const dateValue = input.payload.value;\n\n switch (condition.operator.key) {\n case \"datetime:gt\":\n return targetValue > dateValue;\n case \"datetime:gte\":\n return targetValue >= dateValue;\n case \"datetime:lt\":\n return targetValue < dateValue;\n case \"datetime:lte\":\n return targetValue <= dateValue;\n }\n case \"none\":\n if (input.type !== condition.operator.inputType) {\n throw new Error(\"input type is not match\");\n }\n\n switch (condition.operator.key) {\n case \"datetime:is_null\":\n return (\n targetValue === null ||\n targetValue === undefined ||\n targetValue === \"\"\n );\n case \"datetime:is_not_null\":\n return (\n targetValue !== null &&\n targetValue !== undefined &&\n targetValue !== \"\"\n );\n }\n }\n }\n}\n"],"names":["initialConditions","_a","useReducer","filterReducer","conditions","state","dispatch","actions","useMemo","addFilter","condition","type","payload","removeFilter","index","clearFilter","functions","filter","rows","row","every","targetValue","input","operator","inputType","Error","numValue","value","key","includes","dateValue","Date","getFullYear","getMonth","getDate","isMatchCondition","target"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use strict";var e=require("react/jsx-runtime"),t=require("../../constant.js"),r=require("./context.js"),i=require("./reducer.js");var n=function(e){return e.reduce((function(e,r){return e[r.key]={colWidth:r.initialWidth||t.DEFAULT_COL_WIDTH,minWidth:r.minWidth||t.DEFAULT_MIN_COL_WIDTH},e}),{})};exports.ColumnsWidthProvider=function(t){var u=i.useColumnsWidthReducer(n(t.initialState)),o=u.state,d=u.action;return e.jsx(r.ColumnsWidthStateContext.Provider,{value:o,children:e.jsx(r.ColumnsWidthActionContext.Provider,{value:d,children:t.children})})};
2
+ "use strict";var e=require("react/jsx-runtime"),t=require("../../constant.js"),i=require("./context.js"),r=require("./reducer.js");var n=function(e){return e.reduce((function(e,i,r){return e[i.key]={colWidth:i.initialWidth||t.DEFAULT_COL_WIDTH,minWidth:i.minWidth||t.DEFAULT_MIN_COL_WIDTH,index:r},e}),{})};exports.ColumnsWidthProvider=function(t){var u=r.useColumnsWidthReducer(n(t.initialState)),d=u.state,o=u.action;return e.jsx(i.ColumnsWidthStateContext.Provider,{value:d,children:e.jsx(i.ColumnsWidthActionContext.Provider,{value:o,children:t.children})})};
3
3
  //# sourceMappingURL=provider.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var t=require("../../../../node_modules/tslib/tslib.es6.js"),n=require("react"),e=require("../../constant.js"),s=function(n,e){var s,i;switch(e.type){case"init":return e.payload.columnsWidth;case"setMinWidth":return t.__assign(t.__assign({},n),((s={})[e.payload.key]=t.__assign(t.__assign({},n[e.payload.key]),{minWidth:e.payload.minWidth}),s));case"set":return t.__assign(t.__assign({},n),((i={})[e.payload.key]=t.__assign(t.__assign({},n[e.payload.key]),{colWidth:e.payload.colWidth}),i));default:return n}};exports.columnsWidthReducer=s,exports.useColumnsWidthReducer=function(t){var i=n.useReducer(s,t),o=i[0],a=i[1];return{state:n.useMemo((function(){return{getColumnWidth:function(t){var n=o[t];return n?n.colWidth:(console.warn("Column width state not found: ".concat(t)),e.DEFAULT_COL_WIDTH)},getColumnMinWidth:function(t){var n=o[t];return n?n.minWidth:(console.warn("Column width state not found: ".concat(t)),e.DEFAULT_MIN_COL_WIDTH)}}}),[o]),action:n.useMemo((function(){return{setColWidth:function(t,n){a({type:"set",payload:{key:t,colWidth:n}})}}}),[])}};
1
+ "use strict";var t=require("../../../../node_modules/tslib/tslib.es6.js"),n=require("react"),e=require("../../constant.js"),o=function(n,e){var o,c;switch(e.type){case"init":return e.payload.columnsWidth;case"setMinWidth":return t.__assign(t.__assign({},n),((o={})[e.payload.key]=t.__assign(t.__assign({},n[e.payload.key]),{minWidth:e.payload.minWidth}),o));case"set":return t.__assign(t.__assign({},n),((c={})[e.payload.key]=t.__assign(t.__assign({},n[e.payload.key]),{colWidth:e.payload.colWidth}),c));default:return n}};exports.columnsWidthReducer=o,exports.useColumnsWidthReducer=function(t){var c=n.useReducer(o,t),i=c[0],a=c[1],u=n.useRef(null),r=n.useMemo((function(){return{getColumnWidth:function(t){var n=i[t];return n?n.colWidth:(console.warn("Column width state not found: ".concat(t)),e.DEFAULT_COL_WIDTH)},getColumnMinWidth:function(t){var n=i[t];return n?n.minWidth:(console.warn("Column width state not found: ".concat(t)),e.DEFAULT_MIN_COL_WIDTH)}}}),[i]),s=n.useMemo((function(){return{setColWidth:function(t,n){u.current=t,a({type:"set",payload:{key:t,colWidth:n}})}}}),[]);return n.useLayoutEffect((function(){if(u.current){var t=u.current,n=setTimeout((function(){var n,e,o;n=i[t].colWidth,e=i[t].index,o="table-col-".concat(e),document.querySelectorAll(".".concat(o)).forEach((function(t){t.setAttribute("style","width: ".concat(n,"px; min-width: ").concat(n,"px; max-width: ").concat(n,"px;"))}))}),200);return function(){clearTimeout(n)}}Object.keys(i).forEach((function(t){var n=i[t].colWidth,e=i[t].index,o="table-col-".concat(e);document.querySelectorAll(".".concat(o)).forEach((function(t){t.setAttribute("style","width: ".concat(n,"px; min-width: ").concat(n,"px; max-width: ").concat(n,"px;"))}))}))}),[i]),{state:r,action:s}};
2
2
  //# sourceMappingURL=reducer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sources":["../../../../../../src/table/header/columns-width/reducer.ts"],"sourcesContent":["import { useMemo, useReducer } from \"react\";\nimport { TColumnsWidthHook, TColumnsWidthReducer } from \"./type\";\nimport { DEFAULT_COL_WIDTH, DEFAULT_MIN_COL_WIDTH } from \"../../constant\";\n\nexport const columnsWidthReducer: TColumnsWidthReducer = (state, action) => {\n switch (action.type) {\n case \"init\":\n return action.payload.columnsWidth;\n case \"setMinWidth\":\n return {\n ...state,\n [action.payload.key]: {\n ...state[action.payload.key],\n minWidth: action.payload.minWidth,\n },\n };\n case \"set\":\n return {\n ...state,\n [action.payload.key]: {\n ...state[action.payload.key],\n colWidth: action.payload.colWidth,\n },\n };\n default:\n return state;\n }\n};\n\nexport const useColumnsWidthReducer: TColumnsWidthHook = (initialState) => {\n const [state, dispatch] = useReducer(columnsWidthReducer, initialState);\n\n const stateActions = useMemo(\n () => ({\n getColumnWidth: (key: string) => {\n const s = state[key];\n\n if (!s) {\n console.warn(`Column width state not found: ${key}`);\n return DEFAULT_COL_WIDTH;\n }\n\n return s.colWidth;\n },\n getColumnMinWidth: (key: string) => {\n const s = state[key];\n\n if (!s) {\n console.warn(`Column width state not found: ${key}`);\n return DEFAULT_MIN_COL_WIDTH;\n }\n\n return s.minWidth;\n },\n }),\n [state]\n );\n\n const action = useMemo(\n () => ({\n setColWidth: (key: string, colWidth: number) => {\n dispatch({ type: \"set\", payload: { key, colWidth } });\n },\n }),\n []\n );\n\n return { state: stateActions, action };\n};\n"],"names":["columnsWidthReducer","state","action","type","payload","columnsWidth","__assign","_a","key","minWidth","_b","colWidth","initialState","useReducer","dispatch","useMemo","getColumnWidth","s","console","warn","DEFAULT_COL_WIDTH","getColumnMinWidth","DEFAULT_MIN_COL_WIDTH","setColWidth"],"mappings":"4HAIaA,EAA4C,SAACC,EAAOC,WAC/D,OAAQA,EAAOC,MACb,IAAK,OACH,OAAOD,EAAOE,QAAQC,aACxB,IAAK,cACH,OACKC,EAAAA,SAAAA,EAAAA,SAAA,GAAAL,KACFM,EAAA,IAAAL,EAAOE,QAAQI,KAAGF,EAAAA,SAAAA,EAAAA,SAAA,CAAA,EACdL,EAAMC,EAAOE,QAAQI,MAAI,CAC5BC,SAAUP,EAAOE,QAAQK,WAE3BF,IACJ,IAAK,MACH,OACKD,EAAAA,SAAAA,EAAAA,SAAA,GAAAL,KACFS,EAAA,IAAAR,EAAOE,QAAQI,KAAGF,EAAAA,SAAAA,EAAAA,SAAA,CAAA,EACdL,EAAMC,EAAOE,QAAQI,MAAI,CAC5BG,SAAUT,EAAOE,QAAQO,WAE3BD,IACJ,QACE,OAAOT,EAEb,+DAEyD,SAACW,GAClD,IAAAL,EAAoBM,EAAAA,WAAWb,EAAqBY,GAAnDX,EAAKM,EAAA,GAAEO,OAqCd,MAAO,CAAEb,MAnCYc,WACnB,WAAM,MAAC,CACLC,eAAgB,SAACR,GACf,IAAMS,EAAIhB,EAAMO,GAEhB,OAAKS,EAKEA,EAAEN,UAJPO,QAAQC,KAAK,wCAAiCX,IACvCY,oBAIV,EACDC,kBAAmB,SAACb,GAClB,IAAMS,EAAIhB,EAAMO,GAEhB,OAAKS,EAKEA,EAAER,UAJPS,QAAQC,KAAK,wCAAiCX,IACvCc,wBAIV,EACD,GACF,CAACrB,IAY2BC,OATfa,WACb,WAAM,MAAC,CACLQ,YAAa,SAACf,EAAaG,GACzBG,EAAS,CAAEX,KAAM,MAAOC,QAAS,CAAEI,MAAKG,aACzC,EAHG,GAKN,IAIJ"}
1
+ {"version":3,"file":"reducer.js","sources":["../../../../../../src/table/header/columns-width/reducer.ts"],"sourcesContent":["import { useMemo, useReducer, useRef, useLayoutEffect } from \"react\";\nimport { TColumnsWidthHook, TColumnsWidthReducer } from \"./type\";\nimport { DEFAULT_COL_WIDTH, DEFAULT_MIN_COL_WIDTH } from \"../../constant\";\n\nexport const columnsWidthReducer: TColumnsWidthReducer = (state, action) => {\n switch (action.type) {\n case \"init\":\n return action.payload.columnsWidth;\n case \"setMinWidth\":\n return {\n ...state,\n [action.payload.key]: {\n ...state[action.payload.key],\n minWidth: action.payload.minWidth,\n },\n };\n case \"set\":\n return {\n ...state,\n [action.payload.key]: {\n ...state[action.payload.key],\n colWidth: action.payload.colWidth,\n },\n };\n default:\n return state;\n }\n};\n\nexport const useColumnsWidthReducer: TColumnsWidthHook = (initialState) => {\n const [state, dispatch] = useReducer(columnsWidthReducer, initialState);\n const updateKeyRef = useRef<string | null>(null);\n\n const stateActions = useMemo(\n () => ({\n getColumnWidth: (key: string) => {\n const s = state[key];\n\n if (!s) {\n console.warn(`Column width state not found: ${key}`);\n return DEFAULT_COL_WIDTH;\n }\n\n return s.colWidth;\n },\n getColumnMinWidth: (key: string) => {\n const s = state[key];\n\n if (!s) {\n console.warn(`Column width state not found: ${key}`);\n return DEFAULT_MIN_COL_WIDTH;\n }\n\n return s.minWidth;\n },\n }),\n [state]\n );\n\n const action = useMemo(\n () => ({\n setColWidth: (key: string, colWidth: number) => {\n updateKeyRef.current = key;\n dispatch({ type: \"set\", payload: { key, colWidth } });\n },\n }),\n []\n );\n\n useLayoutEffect(() => {\n if (updateKeyRef.current) {\n const key = updateKeyRef.current;\n\n const updateColWidth = () => {\n const colWidth = state[key].colWidth;\n const index = state[key].index;\n\n const className = `table-col-${index}`;\n const colElements = document.querySelectorAll(`.${className}`);\n colElements.forEach((colElement) => {\n colElement.setAttribute(\n \"style\",\n `width: ${colWidth}px; min-width: ${colWidth}px; max-width: ${colWidth}px;`\n );\n });\n };\n\n const timer = setTimeout(() => {\n updateColWidth();\n }, 200);\n\n return () => {\n clearTimeout(timer);\n };\n } else {\n Object.keys(state).forEach((key) => {\n const colWidth = state[key].colWidth;\n const index = state[key].index;\n\n const className = `table-col-${index}`;\n const colElements = document.querySelectorAll(`.${className}`);\n colElements.forEach((colElement) => {\n colElement.setAttribute(\n \"style\",\n `width: ${colWidth}px; min-width: ${colWidth}px; max-width: ${colWidth}px;`\n );\n });\n });\n }\n }, [state]);\n\n return { state: stateActions, action };\n};\n"],"names":["columnsWidthReducer","state","action","type","payload","columnsWidth","__assign","_a","key","minWidth","_b","colWidth","initialState","useReducer","dispatch","updateKeyRef","useRef","stateActions","useMemo","getColumnWidth","s","console","warn","DEFAULT_COL_WIDTH","getColumnMinWidth","DEFAULT_MIN_COL_WIDTH","setColWidth","current","useLayoutEffect","key_1","timer_1","setTimeout","index","className","concat","document","querySelectorAll","forEach","colElement","setAttribute","clearTimeout","Object","keys"],"mappings":"4HAIaA,EAA4C,SAACC,EAAOC,WAC/D,OAAQA,EAAOC,MACb,IAAK,OACH,OAAOD,EAAOE,QAAQC,aACxB,IAAK,cACH,OACKC,EAAAA,SAAAA,EAAAA,SAAA,GAAAL,KACFM,EAAA,IAAAL,EAAOE,QAAQI,KAAGF,EAAAA,SAAAA,EAAAA,SAAA,CAAA,EACdL,EAAMC,EAAOE,QAAQI,MAAI,CAC5BC,SAAUP,EAAOE,QAAQK,WAE3BF,IACJ,IAAK,MACH,OACKD,EAAAA,SAAAA,EAAAA,SAAA,GAAAL,KACFS,EAAA,IAAAR,EAAOE,QAAQI,KAAGF,EAAAA,SAAAA,EAAAA,SAAA,CAAA,EACdL,EAAMC,EAAOE,QAAQI,MAAI,CAC5BG,SAAUT,EAAOE,QAAQO,WAE3BD,IACJ,QACE,OAAOT,EAEb,+DAEyD,SAACW,GAClD,IAAAL,EAAoBM,EAAAA,WAAWb,EAAqBY,GAAnDX,EAAKM,EAAA,GAAEO,OACRC,EAAeC,SAAsB,MAErCC,EAAeC,WACnB,WAAM,MAAC,CACLC,eAAgB,SAACX,GACf,IAAMY,EAAInB,EAAMO,GAEhB,OAAKY,EAKEA,EAAET,UAJPU,QAAQC,KAAK,wCAAiCd,IACvCe,oBAIV,EACDC,kBAAmB,SAAChB,GAClB,IAAMY,EAAInB,EAAMO,GAEhB,OAAKY,EAKEA,EAAEX,UAJPY,QAAQC,KAAK,wCAAiCd,IACvCiB,wBAIV,EACD,GACF,CAACxB,IAGGC,EAASgB,WACb,WAAM,MAAC,CACLQ,YAAa,SAAClB,EAAaG,GACzBI,EAAaY,QAAUnB,EACvBM,EAAS,CAAEX,KAAM,MAAOC,QAAS,CAAEI,MAAKG,aACzC,EAJG,GAMN,IA6CF,OA1CAiB,EAAAA,iBAAgB,WACd,GAAIb,EAAaY,QAAS,CACxB,IAAME,EAAMd,EAAaY,QAgBnBG,EAAQC,YAAW,WAdF,IACfpB,EACAqB,EAEAC,EAHAtB,EAAWV,EAAM4B,GAAKlB,SACtBqB,EAAQ/B,EAAM4B,GAAKG,MAEnBC,EAAY,aAAaC,OAAAF,GACXG,SAASC,iBAAiB,IAAIF,OAAAD,IACtCI,SAAQ,SAACC,GACnBA,EAAWC,aACT,QACA,UAAAL,OAAUvB,EAAQ,mBAAAuB,OAAkBvB,EAAQ,mBAAAuB,OAAkBvB,EAAQ,OAE1E,GAKD,GAAE,KAEH,OAAO,WACL6B,aAAaV,EACf,CACD,CACCW,OAAOC,KAAKzC,GAAOoC,SAAQ,SAAC7B,GAC1B,IAAMG,EAAWV,EAAMO,GAAKG,SACtBqB,EAAQ/B,EAAMO,GAAKwB,MAEnBC,EAAY,aAAaC,OAAAF,GACXG,SAASC,iBAAiB,IAAIF,OAAAD,IACtCI,SAAQ,SAACC,GACnBA,EAAWC,aACT,QACA,UAAAL,OAAUvB,EAAQ,mBAAAuB,OAAkBvB,EAAQ,mBAAAuB,OAAkBvB,EAAQ,OAE1E,GACF,GAEJ,GAAG,CAACV,IAEG,CAAEA,MAAOgB,EAAcf,OAAMA,EACtC"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react/jsx-runtime"),t=require("react"),r=require("./columns-width/context.js");require("../../../node_modules/tslib/tslib.es6.js");var l=require("./header-v2-hook.js"),n=require("../checkbox/components.js"),s=require("../../search-bar/condition-search-bar/base.js"),i=require("../id/provider.js"),a=require("../filter-v2/context.js");var o=t.memo((function(r){var n=t.useRef(null),s=l.useResizeColWidthHook(r.keyName).onMouseDownResizeWidth,i=n.current?r.colWidth-n.current.clientWidth:r.colWidth;return e.jsxs("div",{className:"relative",style:{width:r.colWidth,maxWidth:r.colWidth,minWidth:r.colWidth},children:[e.jsxs("div",{className:"flex justify-between items-center bg-gray-200 text-gray-600 h-[32px]",children:[e.jsx("div",{className:"px-2",style:{maxWidth:i},children:r.label&&e.jsx("p",{className:"text-left font-bold text-nowrap overflow-hidden text-ellipsis",children:r.label})}),e.jsx("div",{ref:n,className:"flex items-center w-fit shrink-0 gap-1 px-1",children:!r.disableSort&&r.generateSortButton&&r.generateSortButton(r.keyName)})]}),e.jsx("div",{className:"absolute top-0 right-0 grid place-items-end py-1 w-[4px] h-full cursor-col-resize",onMouseDown:s,children:e.jsx("div",{className:"w-[1px] h-full bg-white"})})]})}));exports.TableHeader=function(c){var d=i.useTableIdGenerator(),u=r.useColumnsWidthState().getColumnWidth,h=a.useFilter(),x=h.conditions,b=h.addFilter,m=h.removeFilter,p=l.useScrollXRef();t.useEffect((function(){if(p.current){var e=p.current,t=function(t){0!==t.deltaY&&(t.preventDefault(),e.scrollLeft+=t.deltaY)};return e.addEventListener("wheel",t),function(){e.removeEventListener("wheel",t)}}}),[p]);var f=t.useCallback((function(e){switch(e.type){case"add":b(e.payload.condition);break;case"remove":m(e.payload.index)}}),[]),v=t.useMemo((function(){return c.cols.filter((function(e){return!!e.label&&(e.editable||!e.editable&&!e.render)})).map((function(e){switch(e.type){case"string":case"number":return{key:e.key.toString(),label:e.label,type:e.type};case"select":return{key:e.key.toString(),label:e.label,type:e.type,options:e.options}}}))}),[c.cols]);return e.jsxs("div",{className:"border-gray-200 bg-gray-200 text-gray-600 rounded-t-md",style:{maxWidth:c.maxWidth},children:[e.jsx("div",{className:"py-2 px-2",children:e.jsx(s.ConditionSearchBar,{id:d.getTableHeaderId(),targets:v,conditions:x,onChangeCondition:f,size:"small"})}),e.jsx("style",{children:"\n .teppen-no-scrollbar {\n -ms-overflow-style: none;\n scrollbar-width: none;\n }\n .teppen-no-scrollbar::-webkit-scrollbar {\n display: none;\n }\n "}),e.jsx("div",{ref:p,className:"relative max-w-full overflow-x-auto teppen-no-scrollbar",children:e.jsxs("div",{className:"flex h-[32px]",children:[c.checkbox&&e.jsx("div",{className:"w-8 h-full",children:e.jsx(n.AllCheckbox,{rows:c.rows})}),c.cols.map((function(t){return e.jsx(o,{keyName:t.key.toString(),label:t.label,colWidth:u(t.key),disableSort:t.disableSort||!t.editable&&!!t.render,generateSortButton:c.generateSortButton},t.key.toString())}))]})})]})};
1
+ "use strict";var e=require("react/jsx-runtime"),t=require("react"),r=require("./columns-width/context.js");require("../../../node_modules/tslib/tslib.es6.js");var l=require("./header-v2-hook.js"),i=require("../checkbox/components.js"),s=require("../../search-bar/condition-search-bar/base.js"),n=require("../id/provider.js"),a=require("../filter-v2/context.js");var o=t.memo((function(r){var i=t.useRef(null),s=l.useResizeColWidthHook(r.keyName).onMouseDownResizeWidth,n=i.current?r.colWidth-i.current.clientWidth:r.colWidth;return e.jsxs("div",{className:"relative",style:{width:r.colWidth,maxWidth:r.colWidth,minWidth:r.colWidth},children:[e.jsxs("div",{className:"flex justify-between items-center bg-gray-200 text-gray-600 h-[32px]",children:[e.jsx("div",{className:"px-2",style:{maxWidth:n},children:r.label&&e.jsx("p",{className:"text-left font-bold text-nowrap overflow-hidden text-ellipsis",children:r.label})}),e.jsx("div",{ref:i,className:"flex items-center w-fit shrink-0 gap-1 px-1",children:!r.disableSort&&r.generateSortButton&&r.generateSortButton(r.keyName)})]}),e.jsx("div",{className:"absolute top-0 right-0 grid place-items-end py-1 w-[4px] h-full cursor-col-resize",onMouseDown:s,children:e.jsx("div",{className:"w-[1px] h-full bg-white"})})]})}));exports.TableHeader=function(d){var c=n.useTableIdGenerator(),u=r.useColumnsWidthState().getColumnWidth,h=a.useFilter(),m=h.conditions,x=h.addFilter,b=h.removeFilter,p=l.useScrollXRef();t.useEffect((function(){if(p.current){var e=p.current,t=function(t){0!==t.deltaY&&(t.preventDefault(),e.scrollLeft+=t.deltaY)};return e.addEventListener("wheel",t),function(){e.removeEventListener("wheel",t)}}}),[p]);var y=t.useCallback((function(e){switch(e.type){case"add":x(e.payload.condition);break;case"remove":b(e.payload.index)}}),[]),f=t.useMemo((function(){return d.cols.filter((function(e){return!!e.label&&("datetime"===e.type||"date"===e.type||e.editable||!e.editable&&!e.render)})).map((function(e){switch(e.type){case"string":case"number":case"date":case"datetime":return{key:e.key.toString(),label:e.label,type:e.type};case"select":return{key:e.key.toString(),label:e.label,type:e.type,options:e.options}}}))}),[d.cols]);return e.jsxs("div",{className:"border-gray-200 bg-gray-200 text-gray-600 rounded-t-md",style:{maxWidth:d.maxWidth},children:[e.jsx("div",{className:"py-2 px-2",children:e.jsx(s.ConditionSearchBar,{id:c.getTableHeaderId(),targets:f,conditions:m,onChangeCondition:y,size:"small"})}),e.jsx("style",{children:"\n .teppen-no-scrollbar {\n -ms-overflow-style: none;\n scrollbar-width: none;\n }\n .teppen-no-scrollbar::-webkit-scrollbar {\n display: none;\n }\n "}),e.jsx("div",{ref:p,className:"relative max-w-full overflow-x-auto teppen-no-scrollbar",children:e.jsxs("div",{className:"flex h-[32px]",children:[d.checkbox&&e.jsx("div",{className:"w-8 h-full",children:e.jsx(i.AllCheckbox,{rows:d.rows})}),d.cols.map((function(t){return e.jsx(o,{keyName:t.key.toString(),label:t.label,colWidth:u(t.key),disableSort:t.disableSort||"datetime"!==t.type&&"date"!==t.type&&!t.editable&&!!t.render,generateSortButton:d.generateSortButton},t.key.toString())}))]})})]})};
2
2
  //# sourceMappingURL=header-v2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header-v2.js","sources":["../../../../../src/table/header/header-v2.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo, useRef } from \"react\";\nimport { DataObject, DataRecord, TTableColumn } from \"../table/type\";\nimport { useColumnsWidthState } from \"./columns-width\";\nimport { useResizeColWidthHook, useScrollXRef } from \"./header-v2-hook\";\nimport { AllCheckbox } from \"../checkbox/components\";\nimport { ConditionSearchBar } from \"../../search-bar\";\nimport { useTableIdGenerator } from \"../id\";\nimport { useFilter } from \"../filter-v2\";\nimport { TConditionChangeAction } from \"../../search-bar/condition-search-bar/condition-input-management/type\";\n\ninterface IPropsTableHeader<T extends DataRecord> {\n cols: TTableColumn<T>[];\n checkbox?: boolean;\n rows: DataObject<T>[];\n maxWidth?: string;\n generateSortButton?: (columnKey: string) => React.ReactNode;\n}\n\nexport function TableHeader<T extends DataRecord>(props: IPropsTableHeader<T>) {\n const idGenerator = useTableIdGenerator();\n const { getColumnWidth } = useColumnsWidthState();\n const { conditions, addFilter, removeFilter } = useFilter();\n const ref = useScrollXRef();\n\n useEffect(() => {\n if (ref.current) {\n const element = ref.current;\n\n const scrollX = (e: WheelEvent) => {\n if (e.deltaY === 0) return;\n\n e.preventDefault();\n element.scrollLeft += e.deltaY;\n };\n\n element.addEventListener(\"wheel\", scrollX);\n\n return () => {\n element.removeEventListener(\"wheel\", scrollX);\n };\n }\n }, [ref]);\n\n const onChangeCondition = useCallback((action: TConditionChangeAction) => {\n switch (action.type) {\n case \"add\":\n addFilter(action.payload.condition);\n break;\n case \"remove\":\n removeFilter(action.payload.index);\n break;\n }\n }, []);\n\n const targets = useMemo(() => {\n return props.cols\n .filter(\n (col) => !!col.label && (col.editable || (!col.editable && !col.render))\n )\n .map((col) => {\n switch (col.type) {\n case \"string\":\n return {\n key: col.key.toString(),\n label: col.label as string,\n type: col.type,\n };\n case \"number\":\n return {\n key: col.key.toString(),\n label: col.label as string,\n type: col.type,\n };\n case \"select\":\n return {\n key: col.key.toString(),\n label: col.label as string,\n type: col.type,\n options: col.options,\n };\n }\n });\n }, [props.cols]);\n\n return (\n <div\n className=\"border-gray-200 bg-gray-200 text-gray-600 rounded-t-md\"\n style={{ maxWidth: props.maxWidth }}\n >\n <div className=\"py-2 px-2\">\n <ConditionSearchBar\n id={idGenerator.getTableHeaderId()}\n targets={targets}\n conditions={conditions}\n onChangeCondition={onChangeCondition}\n size=\"small\"\n />\n </div>\n\n <style>{`\n .teppen-no-scrollbar {\n -ms-overflow-style: none;\n scrollbar-width: none;\n }\n .teppen-no-scrollbar::-webkit-scrollbar {\n display: none;\n }\n `}</style>\n <div\n ref={ref}\n className=\"relative max-w-full overflow-x-auto teppen-no-scrollbar\"\n >\n <div className=\"flex h-[32px]\">\n {props.checkbox && (\n <div className=\"w-8 h-full\">\n <AllCheckbox rows={props.rows} />\n </div>\n )}\n {props.cols.map((col) => {\n return (\n <HeaderElement\n key={col.key.toString()}\n keyName={col.key.toString()}\n label={col.label}\n colWidth={getColumnWidth(col.key as string)}\n disableSort={col.disableSort || (!col.editable && !!col.render)}\n generateSortButton={props.generateSortButton}\n />\n );\n })}\n </div>\n </div>\n </div>\n );\n}\n\ninterface IPropsHeaderElement {\n keyName: string;\n label?: string;\n colWidth: number;\n disableSort?: boolean;\n generateSortButton?: (columnKey: string) => React.ReactNode;\n}\n\nconst HeaderElement = memo(function HE(props: IPropsHeaderElement) {\n const ref = useRef<HTMLDivElement>(null);\n const { onMouseDownResizeWidth } = useResizeColWidthHook(props.keyName);\n\n const maxWidthLabel = ref.current\n ? props.colWidth - ref.current.clientWidth\n : props.colWidth;\n\n return (\n <div\n className=\"relative\"\n style={{\n width: props.colWidth,\n maxWidth: props.colWidth,\n minWidth: props.colWidth,\n }}\n >\n <div\n className={`flex justify-between items-center bg-gray-200 text-gray-600 h-[32px]`}\n >\n <div className=\"px-2\" style={{ maxWidth: maxWidthLabel }}>\n {props.label && (\n <p\n className={`text-left font-bold text-nowrap overflow-hidden text-ellipsis`}\n >\n {props.label}\n </p>\n )}\n </div>\n\n <div ref={ref} className=\"flex items-center w-fit shrink-0 gap-1 px-1\">\n {!props.disableSort &&\n props.generateSortButton &&\n props.generateSortButton(props.keyName)}\n </div>\n </div>\n <div\n className=\"absolute top-0 right-0 grid place-items-end py-1 w-[4px] h-full cursor-col-resize\"\n onMouseDown={onMouseDownResizeWidth}\n >\n <div className={`w-[1px] h-full bg-white`} />\n </div>\n </div>\n );\n});\n"],"names":["HeaderElement","memo","props","ref","useRef","onMouseDownResizeWidth","useResizeColWidthHook","keyName","maxWidthLabel","current","colWidth","clientWidth","_jsxs","jsxs","className","style","width","maxWidth","minWidth","children","_jsx","jsx","label","disableSort","generateSortButton","onMouseDown","idGenerator","useTableIdGenerator","getColumnWidth","useColumnsWidthState","_a","useFilter","conditions","addFilter","removeFilter","useScrollXRef","useEffect","element_1","scrollX_1","e","deltaY","preventDefault","scrollLeft","addEventListener","removeEventListener","onChangeCondition","useCallback","action","type","payload","condition","index","targets","useMemo","cols","filter","col","editable","render","map","key","toString","options","ConditionSearchBar","id","getTableHeaderId","size","checkbox","AllCheckbox","rows"],"mappings":"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"}
1
+ {"version":3,"file":"header-v2.js","sources":["../../../../../src/table/header/header-v2.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo, useRef } from \"react\";\nimport { DataObject, DataRecord, TTableColumn } from \"../table/type\";\nimport { useColumnsWidthState } from \"./columns-width\";\nimport { useResizeColWidthHook, useScrollXRef } from \"./header-v2-hook\";\nimport { AllCheckbox } from \"../checkbox/components\";\nimport { ConditionSearchBar } from \"../../search-bar\";\nimport { useTableIdGenerator } from \"../id\";\nimport { useFilter } from \"../filter-v2\";\nimport { TConditionChangeAction } from \"../../search-bar/condition-search-bar/condition-input-management/type\";\n\ninterface IPropsTableHeader<T extends DataRecord> {\n cols: TTableColumn<T>[];\n checkbox?: boolean;\n rows: DataObject<T>[];\n maxWidth?: string;\n generateSortButton?: (columnKey: string) => React.ReactNode;\n}\n\nexport function TableHeader<T extends DataRecord>(props: IPropsTableHeader<T>) {\n const idGenerator = useTableIdGenerator();\n const { getColumnWidth } = useColumnsWidthState();\n const { conditions, addFilter, removeFilter } = useFilter();\n const ref = useScrollXRef();\n\n useEffect(() => {\n if (ref.current) {\n const element = ref.current;\n\n const scrollX = (e: WheelEvent) => {\n if (e.deltaY === 0) return;\n\n e.preventDefault();\n element.scrollLeft += e.deltaY;\n };\n\n element.addEventListener(\"wheel\", scrollX);\n\n return () => {\n element.removeEventListener(\"wheel\", scrollX);\n };\n }\n }, [ref]);\n\n const onChangeCondition = useCallback((action: TConditionChangeAction) => {\n switch (action.type) {\n case \"add\":\n addFilter(action.payload.condition);\n break;\n case \"remove\":\n removeFilter(action.payload.index);\n break;\n }\n }, []);\n\n const targets = useMemo(() => {\n return props.cols\n .filter(\n (col) =>\n !!col.label &&\n (col.type === \"datetime\" ||\n col.type === \"date\" ||\n col.editable ||\n (!col.editable && !col.render))\n )\n .map((col) => {\n switch (col.type) {\n case \"string\":\n return {\n key: col.key.toString(),\n label: col.label as string,\n type: col.type,\n };\n case \"number\":\n return {\n key: col.key.toString(),\n label: col.label as string,\n type: col.type,\n };\n case \"select\":\n return {\n key: col.key.toString(),\n label: col.label as string,\n type: col.type,\n options: col.options,\n };\n case \"date\":\n return {\n key: col.key.toString(),\n label: col.label as string,\n type: col.type,\n };\n case \"datetime\":\n return {\n key: col.key.toString(),\n label: col.label as string,\n type: col.type,\n };\n }\n });\n }, [props.cols]);\n\n return (\n <div\n className=\"border-gray-200 bg-gray-200 text-gray-600 rounded-t-md\"\n style={{ maxWidth: props.maxWidth }}\n >\n <div className=\"py-2 px-2\">\n <ConditionSearchBar\n id={idGenerator.getTableHeaderId()}\n targets={targets}\n conditions={conditions}\n onChangeCondition={onChangeCondition}\n size=\"small\"\n />\n </div>\n\n <style>{`\n .teppen-no-scrollbar {\n -ms-overflow-style: none;\n scrollbar-width: none;\n }\n .teppen-no-scrollbar::-webkit-scrollbar {\n display: none;\n }\n `}</style>\n <div\n ref={ref}\n className=\"relative max-w-full overflow-x-auto teppen-no-scrollbar\"\n >\n <div className=\"flex h-[32px]\">\n {props.checkbox && (\n <div className=\"w-8 h-full\">\n <AllCheckbox rows={props.rows} />\n </div>\n )}\n {props.cols.map((col) => {\n return (\n <HeaderElement\n key={col.key.toString()}\n keyName={col.key.toString()}\n label={col.label}\n colWidth={getColumnWidth(col.key as string)}\n disableSort={\n col.disableSort ||\n (col.type !== \"datetime\" &&\n col.type !== \"date\" &&\n !col.editable &&\n !!col.render)\n }\n generateSortButton={props.generateSortButton}\n />\n );\n })}\n </div>\n </div>\n </div>\n );\n}\n\ninterface IPropsHeaderElement {\n keyName: string;\n label?: string;\n colWidth: number;\n disableSort?: boolean;\n generateSortButton?: (columnKey: string) => React.ReactNode;\n}\n\nconst HeaderElement = memo(function HE(props: IPropsHeaderElement) {\n const ref = useRef<HTMLDivElement>(null);\n const { onMouseDownResizeWidth } = useResizeColWidthHook(props.keyName);\n\n const maxWidthLabel = ref.current\n ? props.colWidth - ref.current.clientWidth\n : props.colWidth;\n\n return (\n <div\n className=\"relative\"\n style={{\n width: props.colWidth,\n maxWidth: props.colWidth,\n minWidth: props.colWidth,\n }}\n >\n <div\n className={`flex justify-between items-center bg-gray-200 text-gray-600 h-[32px]`}\n >\n <div className=\"px-2\" style={{ maxWidth: maxWidthLabel }}>\n {props.label && (\n <p\n className={`text-left font-bold text-nowrap overflow-hidden text-ellipsis`}\n >\n {props.label}\n </p>\n )}\n </div>\n\n <div ref={ref} className=\"flex items-center w-fit shrink-0 gap-1 px-1\">\n {!props.disableSort &&\n props.generateSortButton &&\n props.generateSortButton(props.keyName)}\n </div>\n </div>\n <div\n className=\"absolute top-0 right-0 grid place-items-end py-1 w-[4px] h-full cursor-col-resize\"\n onMouseDown={onMouseDownResizeWidth}\n >\n <div className={`w-[1px] h-full bg-white`} />\n </div>\n </div>\n );\n});\n"],"names":["HeaderElement","memo","props","ref","useRef","onMouseDownResizeWidth","useResizeColWidthHook","keyName","maxWidthLabel","current","colWidth","clientWidth","_jsxs","jsxs","className","style","width","maxWidth","minWidth","children","_jsx","jsx","label","disableSort","generateSortButton","onMouseDown","idGenerator","useTableIdGenerator","getColumnWidth","useColumnsWidthState","_a","useFilter","conditions","addFilter","removeFilter","useScrollXRef","useEffect","element_1","scrollX_1","e","deltaY","preventDefault","scrollLeft","addEventListener","removeEventListener","onChangeCondition","useCallback","action","type","payload","condition","index","targets","useMemo","cols","filter","col","editable","render","map","key","toString","options","ConditionSearchBar","id","getTableHeaderId","size","checkbox","AllCheckbox","rows"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";function n(n){var e="入力値が不正のため、エラーを確認し修正してください。\n\n";e+="[対象の列名]: ".concat(n[0].label,"\n"),e+="[入力値]  : ".concat(n[0].value,"\n\n"),e+="[エラー内容]:",e+=n.reduce((function(n,e){switch(e.type){case"STRING_IS_TOO_LONG":return n+"\n・文字数が最大の長さ".concat(e.maxLength,"文字を超えています。(現在").concat(e.currentLength,"文字)");case"STRING_IS_TOO_SHORT":return n+"\n・文字数が最小の長さ".concat(e.minLength,"文字に満たないです。(現在").concat(e.currentLength,"文字)");case"STRING_PATTERN_NOT_MATCH":return n+"\n・パターンに一致しません。(パターン".concat(e.pattern,")");case"NUMBER_IS_TOO_LARGE":return n+"\n・最大値".concat(e.max,"を超えています。(入力値").concat(e.value,")");case"NUMBER_IS_TOO_SMALL":return n+"\n・最小値".concat(e.min,"を下回っています。(入力値").concat(e.value,")");case"NOT_NUMBER":return n+"\n・数値ではない値が入力されています。";case"NOT_IN_OPTIONS":return n+"\n・選択肢に含まれていない値です。"}}),""),alert(e)}exports.generateValidateFunction=function(e,t){if("string"===e.type)return function(e,t,r,a){return function(e){var u=[];return(null==r?void 0:r.maxLength)&&e.length>r.maxLength&&u.push({type:"STRING_IS_TOO_LONG",label:t,maxLength:r.maxLength,currentLength:e.length,value:e}),(null==r?void 0:r.minLength)&&e.length<r.minLength&&u.push({type:"STRING_IS_TOO_SHORT",label:t,minLength:r.minLength,currentLength:e.length,value:e}),(null==r?void 0:r.pattern)&&(new RegExp(r.pattern).test(e)||u.push({type:"STRING_PATTERN_NOT_MATCH",label:t,pattern:r.pattern,value:e})),!(u.length>0&&(a?a(u):n(u),1))}}(e.key,e.label,e.constraints,t);if("number"===e.type)return function(e,t,r,a){return function(e){var u=[];return"string"!=typeof e||/^-?[0-9]+(\.[0-9]+)?$/.test(e)?(e=Number(e),"number"==typeof(null==r?void 0:r.max)&&e>r.max&&u.push({type:"NUMBER_IS_TOO_LARGE",label:t,max:r.max,value:e}),"number"==typeof(null==r?void 0:r.min)&&e<r.min&&u.push({type:"NUMBER_IS_TOO_SMALL",label:t,min:r.min,value:e}),!(u.length>0&&(a?a(u):n(u),1))):(u.push({type:"NOT_NUMBER",label:t,value:e}),a?a(u):n(u),!1)}}(e.key,e.label,e.constraints,t);if("select"===e.type)return function(e,t,r,a,u){var l=new Set(r.map((function(n){return n.label})));return function(e){if(a&&""===e)return!0;var r=[];return l.has(e)||r.push({type:"NOT_IN_OPTIONS",label:t,value:e,options:Array.from(l)}),!(r.length>0&&(u?u(r):n(r),1))}}(e.key,e.label,e.options,e.allowEmpty,t);throw new Error("Invalid type")};
1
+ "use strict";function e(e){var n="入力値が不正のため、エラーを確認し修正してください。\n\n";n+="[対象の列名]: ".concat(e[0].label,"\n"),n+="[入力値]  : ".concat(e[0].value,"\n\n"),n+="[エラー内容]:",n+=e.reduce((function(e,n){switch(n.type){case"STRING_IS_TOO_LONG":return e+"\n・文字数が最大の長さ".concat(n.maxLength,"文字を超えています。(現在").concat(n.currentLength,"文字)");case"STRING_IS_TOO_SHORT":return e+"\n・文字数が最小の長さ".concat(n.minLength,"文字に満たないです。(現在").concat(n.currentLength,"文字)");case"STRING_PATTERN_NOT_MATCH":return e+"\n・パターンに一致しません。(パターン".concat(n.pattern,")");case"NUMBER_IS_TOO_LARGE":return e+"\n・最大値".concat(n.max,"を超えています。(入力値").concat(n.value,")");case"NUMBER_IS_TOO_SMALL":return e+"\n・最小値".concat(n.min,"を下回っています。(入力値").concat(n.value,")");case"NOT_NUMBER":return e+"\n・数値ではない値が入力されています。";case"NOT_IN_OPTIONS":return e+"\n・選択肢に含まれていない値です。";case"NOT_DATE":return e+"\n・日付の形式ではありません。";case"NOT_DATETIME":return e+"\n・日時の形式ではありません。"}}),""),alert(n)}exports.generateValidateFunction=function(n,t){if("string"===n.type)return function(n,t,r,a){return function(n){var u=[];return(null==r?void 0:r.maxLength)&&n.length>r.maxLength&&u.push({type:"STRING_IS_TOO_LONG",label:t,maxLength:r.maxLength,currentLength:n.length,value:n}),(null==r?void 0:r.minLength)&&n.length<r.minLength&&u.push({type:"STRING_IS_TOO_SHORT",label:t,minLength:r.minLength,currentLength:n.length,value:n}),(null==r?void 0:r.pattern)&&(new RegExp(r.pattern).test(n)||u.push({type:"STRING_PATTERN_NOT_MATCH",label:t,pattern:r.pattern,value:n})),!(u.length>0&&(a?a(u):e(u),1))}}(n.key,n.label,n.constraints,t);if("number"===n.type)return function(n,t,r,a){return function(n){var u=[];return"string"!=typeof n||/^-?[0-9]+(\.[0-9]+)?$/.test(n)?(n=Number(n),"number"==typeof(null==r?void 0:r.max)&&n>r.max&&u.push({type:"NUMBER_IS_TOO_LARGE",label:t,max:r.max,value:n}),"number"==typeof(null==r?void 0:r.min)&&n<r.min&&u.push({type:"NUMBER_IS_TOO_SMALL",label:t,min:r.min,value:n}),!(u.length>0&&(a?a(u):e(u),1))):(u.push({type:"NOT_NUMBER",label:t,value:n}),a?a(u):e(u),!1)}}(n.key,n.label,n.constraints,t);if("select"===n.type)return function(n,t,r,a,u){var l=new Set(r.map((function(e){return e.label})));return function(n){if(a&&""===n)return!0;var r=[];return l.has(n)||r.push({type:"NOT_IN_OPTIONS",label:t,value:n,options:Array.from(l)}),!(r.length>0&&(u?u(r):e(r),1))}}(n.key,n.label,n.options,n.allowEmpty,t);if("date"===n.type)return function(n,t,r){return function(n){var a=[];return isNaN(new Date(n).getTime())&&a.push({type:"NOT_DATE",label:t,value:n}),!(a.length>0&&(r?r(a):e(a),1))}}(n.key,n.label,t);if("datetime"===n.type)return function(n,t,r){return function(n){var a=[];return isNaN(new Date(n).getTime())&&a.push({type:"NOT_DATETIME",label:t,value:n}),!(a.length>0&&(r?r(a):e(a),1))}}(n.key,n.label,t);throw new Error("Invalid type")};
2
2
  //# sourceMappingURL=generate-validate-function.js.map