UNPKG

@table-library/react-table-library

Version:
3 lines (2 loc) 4.88 kB
import{a as e,S as t}from"./select-d972db04.js";export{S as SelectClickTypes,a as SelectTypes}from"./select-d972db04.js";import{_ as o,o as r}from"./styles-492c6342.js";import*as n from"react";import i from"clsx";import{jsx as c}from"@emotion/react";import{d as s,b as l,u as d}from"./Feature-dc8674d3.js";import{C as p,i as u}from"./Cell-a4350b14.js";import{a as f}from"./modifiers-d418f2b2.js";import{H as m}from"./HeaderCell-1d879c3c.js";import{s as b}from"./slicedToArray-c92cae3a.js";import{d as y}from"./defineProperty-9f9de5d0.js";import{R as g}from"./colors-953946b8.js";import{u as w}from"./index-7b379f2c.js";import{b as h}from"./useSyncControlledState-6e39bfdc.js";import"./toConsumableArray-25e5c43c.js";import"./unsupportedIterableToArray-dc74e326.js";import"./fromTreeToList-272db833.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)."}},v=n.forwardRef((function(e,t){return c("input",o({type:"checkbox",ref:t},e,{css:j}))})),C=function(e){var t=e.checked,o=e.isIndeterminate,r=e.onChange;return c(v,{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),u=s(),m=l(),b=d();if(!u)throw new Error("No Select Context. No return value from useRowSelect provided to Table component.");var y=u.options.buttonSelect===e.SingleSelect&&u.state.id===i.id||u.state.ids.includes(i.id),g=n.useCallback((function(){var t=u.options.buttonSelect===e.MultiSelect;b&&t?u.fns.onToggleByIdShift(i.id,u.options,f(m)):t?u.fns.onToggleByIdRecursively(i.id,{isCarryForward:u.options.isCarryForward,isPartialToAll:u.options.isPartialToAll}):u.fns.onToggleByIdExclusively(i.id)}),[b,m,i.id,u]);return c(p,o({stiff:!0},a),c(C,{checked:!!y,onChange:g}))})),I=n.memo((function(t){var r=s();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 c(m,o({stiff:!0},t),c(C,{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){y(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,c=r.select;if(!c)throw new Error("No 'select' in getRowProps. That's odd");var s=c.state.ids.includes(n.id),l=c.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":c.options.clickType===t.RowClick,"row-select-selected":s,"row-select-single-selected":l}),onClick:function(o,n){if(u(n)&&c.options.clickType===t.RowClick){var i=c.options.rowSelect===e.MultiSelect||c.options.buttonSelect===e.MultiSelect,s=c.options.rowSelect===e.MultiSelect,l=!!n.metaKey,a=!!n.shiftKey;l&&i?c.fns.onToggleById(o.id):a&&i?c.fns.onToggleByIdShift(o.id,c.options,f(r)):s?c.fns.onToggleById(o.id):c.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,i=P(P({},N),null!==(n=null==t?void 0:t.state)&&void 0!==n?n:{}),c=null!=t&&t.onChange?t.onChange:function(){},s=w(e,i,c,r),l=b(s,2),a=l[0],d=l[1];return h("select",r,a),{state:a,fns:d,options:P(P({},x),null!=o?o:{}),_getRowProps:B,components:{HeaderCellSelect:I,CellSelect:T}}};export{T as CellSelect,C as Checkbox,I as HeaderCellSelect,R as useRowSelect}; //# sourceMappingURL=select.js.map