@table-library/react-table-library
Version:
react-table-library
3 lines (2 loc) • 4.85 kB
JavaScript
import{a as e,S as t}from"./select-caf548e3.js";export{S as SelectClickTypes,a as SelectTypes}from"./select-caf548e3.js";import{_ as o,o as r}from"./styles-79dd03ea.js";import*as n from"react";import i from"clsx";import{jsx as s}from"@emotion/react";import{d as c,b as l,u as d}from"./Feature-a8a3f9cd.js";import{C as f,i as p}from"./Cell-602b78fa.js";import{a as u}from"./modifiers-e1faba7b.js";import{H as m}from"./HeaderCell-3621006f.js";import{s as y}from"./slicedToArray-c92cae3a.js";import{d as b}from"./defineProperty-9f9de5d0.js";import{R as g}from"./colors-953946b8.js";import{u as w}from"./index-396eb960.js";import{b as h}from"./useSyncControlledState-367beeb4.js";import"./toConsumableArray-25e5c43c.js";import"./unsupportedIterableToArray-dc74e326.js";import"./fromTreeToList-f1e2c7f1.js";var j="production"===process.env.NODE_ENV?{name:"e0dnmk",styles:"cursor:pointer"}:{name:"e0dnmk",styles:"cursor:pointer",map:"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ21CIiwiZmlsZSI6InN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmV4cG9ydCBkZWZhdWx0IGNzcyBgXG4gIGN1cnNvcjogcG9pbnRlcjtcbmA7XHJcbiJdfQ== */",toString:function(){return"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."}},C=n.forwardRef((function(e,t){return s("input",o({type:"checkbox",ref:t},e,{css:j}))})),v=function(e){var t=e.checked,o=e.isIndeterminate,r=e.onChange;return s(C,{ref:function(e){e&&(t?(e.indeterminate=!1,e.checked=!0):o?(e.indeterminate=!0,e.checked=!1):(e.indeterminate=!1,e.checked=!1))},type:"checkbox",onChange:r})},k=["item"],T=n.memo((function(t){var i=t.item,a=r(t,k),p=c(),m=l(),y=d();if(!p)throw new Error("No Select Context. No return value from useRowSelect provided to Table component.");var b=p.options.buttonSelect===e.SingleSelect&&p.state.id===i.id||p.state.ids.includes(i.id),g=n.useCallback((function(){var t=p.options.buttonSelect===e.MultiSelect;y&&t?p.fns.onToggleByIdShift(i.id,p.options,u(m)):t?p.fns.onToggleByIdRecursively(i.id,{isCarryForward:p.options.isCarryForward,isPartialToAll:p.options.isPartialToAll}):p.fns.onToggleByIdExclusively(i.id)}),[y,m,i.id,p]);return s(f,o({stiff:!0},a),s(v,{checked:!!b,onChange:g}))})),I=n.memo((function(t){var r=c();if(!r)throw new Error("No Select Context. No return value from useRowSelect provided to Table component.");var n=r.state.all,i=!r.state.all&&!r.state.none||r.options.buttonSelect===e.SingleSelect&&null!=r.state.id;return s(m,o({stiff:!0},t),s(v,{checked:!!n,isIndeterminate:i,onChange:function(){return r.fns.onToggleAll({isPartialToAll:r.options.isPartialToAll})}}))}));function O(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function P(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?O(Object(o),!0).forEach((function(t){b(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):O(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}var B=function(o,r){var n=o.item,s=r.select;if(!s)throw new Error("No 'select' in getRowProps. That's odd");var c=s.state.ids.includes(n.id),l=s.state.id===n.id;return{theme:"\n &.row-select-selected,\n &.row-select-single-selected {\n font-weight: bold;\n\n background-color: ".concat(g,";\n }\n\n &.row-select-clickable {\n cursor: pointer;\n }\n "),className:i("row-select",{"row-select-clickable":s.options.clickType===t.RowClick,"row-select-selected":c,"row-select-single-selected":l}),onClick:function(o,n){if(p(n)&&s.options.clickType===t.RowClick){var i=s.options.rowSelect===e.MultiSelect||s.options.buttonSelect===e.MultiSelect,c=s.options.rowSelect===e.MultiSelect,l=!!n.metaKey,a=!!n.shiftKey;l&&i?s.fns.onToggleById(o.id):a&&i?s.fns.onToggleByIdShift(o.id,s.options,u(r)):c?s.fns.onToggleById(o.id):s.fns.onToggleByIdExclusively(o.id)}}}},N={ids:[],id:null},x={clickType:t.RowClick,rowSelect:e.SingleSelect,buttonSelect:e.MultiSelect,isCarryForward:!0,isPartialToAll:!1},R=function(e,t,o,r){var n=null!=t&&t.state?P(P({},N),t.state):P({},N),i=null!=t&&t.onChange?t.onChange:function(){},s=w(e,n,i,r),c=y(s,2),l=c[0],a=c[1];return h("select",r,l),{state:l,fns:a,options:P(P({},x),o||{}),_getRowProps:B,components:{HeaderCellSelect:I,CellSelect:T}}};export{T as CellSelect,v as Checkbox,I as HeaderCellSelect,R as useRowSelect};
//# sourceMappingURL=select.js.map