m2mui-datasheet 3.0.1 → 3.0.2-alpha-fd7cce1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Cell.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Cell.js","names":["css","React","jsx","___EmotionJSX","_ref4","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","Cell","memo","_ref5","readonly","selected","invalid","title","style","props","_objectWithoutPropertiesLoose","_excluded","_extends","cursor","border","boxShadow","background","color","prev","next","value","onClick","_ref2","_ref3","ColumnHeadCell","_ref","RowHeadCell"],"sources":["../../src/Cell.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\nexport interface CellProps extends React.ComponentPropsWithoutRef<\"div\"> {\n readonly?: boolean;\n selected?: boolean;\n invalid?: boolean | string;\n value?: unknown;\n children?: React.ReactNode;\n}\n\nexport const Cell = React.memo(\n ({\n readonly = false,\n selected = false,\n invalid = false,\n title,\n value: _value,\n style = {},\n ...props\n }: CellProps) => {\n return (\n <div\n {...props}\n data-element=\"cell\"\n title={typeof invalid === \"string\" ? invalid : title}\n style={{\n ...style,\n cursor: typeof invalid === \"string\" ? \"help\" : \"cursor\",\n ...(selected\n ? {\n border: `1px double #2185d0`,\n boxShadow: `inset 0 -100px 0 rgba(33, 133, 208, 0.15)`,\n }\n : {}),\n ...(invalid !== false\n ? {\n background: `rgba(208, 33, 33, 0.3)`,\n }\n : {}),\n ...(readonly\n ? {\n background: `#f8f9fa`,\n color: `#5f6368`,\n }\n : {}),\n }}\n css={css`\n position: relative;\n box-sizing: border-box;\n height: 24px;\n padding: 0px;\n overflow: scroll;\n text-align: right;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n background-color: unset;\n background-color: white;\n border: 1px solid #e1e3e3;\n -ms-overflow-style: none;\n scrollbar-width: none;\n &::-webkit-scrollbar {\n display: none;\n }\n `}\n />\n );\n },\n (prev, next) =>\n prev.selected === next.selected &&\n prev.value === next.value &&\n next.onClick === prev.onClick\n);\n\nexport const ColumnHeadCell = React.memo(\n (props: CellProps) => {\n return (\n <Cell\n {...props}\n data-selected={props.selected}\n css={[\n css`\n flex-shrink: 0;\n font-size: 10px;\n line-height: 24px;\n color: #5f6368;\n text-align: center;\n cursor: pointer;\n background-color: #f8f9fa;\n transition: 0.2s;\n `,\n props.selected\n ? css`\n color: #f8f9fa;\n background-color: #5f6368;\n `\n : null,\n ]}\n />\n );\n },\n (prev, next) =>\n prev.selected === next.selected &&\n prev.value === next.value &&\n next.onClick === prev.onClick\n);\n\nexport const RowHeadCell = React.memo(\n (props: CellProps) => {\n return (\n <ColumnHeadCell\n {...props}\n css={css`\n width: 24px;\n font-family: monospace !important;\n line-height: 24px;\n `}\n />\n );\n },\n (prev, next) =>\n prev.selected === next.selected &&\n prev.value === next.value &&\n next.onClick === prev.onClick\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Cell.js","names":["css","React","jsx","___EmotionJSX","_ref4","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","Cell","memo","_ref5","readonly","selected","invalid","title","style","props","_objectWithoutPropertiesLoose","_excluded","_extends","cursor","border","boxShadow","background","color","prev","next","value","onClick","_ref2","_ref3","ColumnHeadCell","_ref","RowHeadCell"],"sources":["../../src/Cell.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\nexport interface CellProps extends React.ComponentPropsWithoutRef<\"div\"> {\n readonly?: boolean;\n selected?: boolean;\n invalid?: boolean | string;\n value?: unknown;\n children?: React.ReactNode;\n}\n\nexport const Cell = React.memo(\n ({\n readonly = false,\n selected = false,\n invalid = false,\n title,\n value: _value,\n style = {},\n ...props\n }: CellProps) => {\n return (\n <div\n {...props}\n data-element=\"cell\"\n title={typeof invalid === \"string\" ? invalid : title}\n style={{\n ...style,\n cursor: typeof invalid === \"string\" ? \"help\" : \"cursor\",\n ...(selected\n ? {\n border: `1px double #2185d0`,\n boxShadow: `inset 0 -100px 0 rgba(33, 133, 208, 0.15)`,\n }\n : {}),\n ...(invalid !== false\n ? {\n background: `rgba(208, 33, 33, 0.3)`,\n }\n : {}),\n ...(readonly\n ? {\n background: `#f8f9fa`,\n color: `#5f6368`,\n }\n : {}),\n }}\n css={css`\n position: relative;\n box-sizing: border-box;\n height: 24px;\n padding: 0px;\n overflow: scroll;\n text-align: right;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n background-color: unset;\n background-color: white;\n border: 1px solid #e1e3e3;\n -ms-overflow-style: none;\n scrollbar-width: none;\n &::-webkit-scrollbar {\n display: none;\n }\n `}\n />\n );\n },\n (prev, next) =>\n prev.selected === next.selected &&\n prev.value === next.value &&\n next.onClick === prev.onClick\n);\n\nexport const ColumnHeadCell = React.memo(\n (props: CellProps) => {\n return (\n <Cell\n {...props}\n data-selected={props.selected}\n css={[\n css`\n flex-shrink: 0;\n font-size: 10px;\n line-height: 24px;\n color: #5f6368;\n text-align: center;\n cursor: pointer;\n background-color: #f8f9fa;\n transition: 0.2s;\n `,\n props.selected\n ? css`\n color: #f8f9fa;\n background-color: #5f6368;\n `\n : null,\n ]}\n />\n );\n },\n (prev, next) =>\n prev.selected === next.selected &&\n prev.value === next.value &&\n next.onClick === prev.onClick\n);\n\nexport const RowHeadCell = React.memo(\n (props: CellProps) => {\n return (\n <ColumnHeadCell\n {...props}\n css={css`\n width: 24px;\n font-family: monospace !important;\n line-height: 24px;\n `}\n />\n );\n },\n (prev, next) =>\n prev.selected === next.selected &&\n prev.value === next.value &&\n next.onClick === prev.onClick\n);\n"],"mappings":";;;;AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,GAAA,IAAAC,aAAA;AAAA,IAAAC,KAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAS1B,OAAO,IAAMC,IAAI,gBAAGZ,KAAK,CAACa,IAAI,CAC5BC,KAAA,IAQiB;EAAA,IARhB;MACCC,QAAQ,GAAG,KAAK;MAChBC,QAAQ,GAAG,KAAK;MAChBC,OAAO,GAAG,KAAK;MACfC,KAAK;MAELC,KAAK,GAAG,CAAC;IAEA,CAAC,GAAAL,KAAA;IADPM,KAAK,GAAAC,6BAAA,CAAAP,KAAA,EAAAQ,SAAA;EAER,OACEpB,aAAA,QAAAqB,QAAA,KACMH,KAAK;IACT,gBAAa,MAAM;IACnBF,KAAK,EAAE,OAAOD,OAAO,KAAK,QAAQ,GAAGA,OAAO,GAAGC,KAAM;IACrDC,KAAK,EAAAI,QAAA,KACAJ,KAAK;MACRK,MAAM,EAAE,OAAOP,OAAO,KAAK,QAAQ,GAAG,MAAM,GAAG;IAAQ,GACnDD,QAAQ,GACR;MACES,MAAM,sBAAsB;MAC5BC,SAAS;IACX,CAAC,GACD,CAAC,CAAC,EACFT,OAAO,KAAK,KAAK,GACjB;MACEU,UAAU;IACZ,CAAC,GACD,CAAC,CAAC,EACFZ,QAAQ,GACR;MACEY,UAAU,WAAW;MACrBC,KAAK;IACP,CAAC,GACD,CAAC,CAAC,CACN;IACF7B,GAAG,EAAAI;EAkBD,EACH,CAAC;AAEN,CAAC,EACD,CAAC0B,IAAI,EAAEC,IAAI,KACTD,IAAI,CAACb,QAAQ,KAAKc,IAAI,CAACd,QAAQ,IAC/Ba,IAAI,CAACE,KAAK,KAAKD,IAAI,CAACC,KAAK,IACzBD,IAAI,CAACE,OAAO,KAAKH,IAAI,CAACG,OAC1B,CAAC;AAAC,IAAAC,KAAA,GAAA7B,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAAA,IAAAuB,KAAA,GAAA9B,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAEF,OAAO,IAAMwB,cAAc,gBAAGnC,KAAK,CAACa,IAAI,CACrCO,KAAgB,IAAK;EACpB,OACElB,aAAA,CAACU,IAAI,EAAAW,QAAA,KACCH,KAAK;IACT,iBAAeA,KAAK,CAACJ,QAAS;IAC9BjB,GAAG,GAAAmC,KAAA,EAWDd,KAAK,CAACJ,QAAQ,GAAAiB,KAAA,GAKV,IAAI,EAAA7B,OAAA,CAAAC,GAAA,CAAAC,QAAA,mDAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA;EACR,EACH,CAAC;AAEN,CAAC,EACD,CAACuB,IAAI,EAAEC,IAAI,KACTD,IAAI,CAACb,QAAQ,KAAKc,IAAI,CAACd,QAAQ,IAC/Ba,IAAI,CAACE,KAAK,KAAKD,IAAI,CAACC,KAAK,IACzBD,IAAI,CAACE,OAAO,KAAKH,IAAI,CAACG,OAC1B,CAAC;AAAC,IAAAI,IAAA,GAAAhC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAEF,OAAO,IAAM0B,WAAW,gBAAGrC,KAAK,CAACa,IAAI,CAClCO,KAAgB,IAAK;EACpB,OACElB,aAAA,CAACiC,cAAc,EAAAZ,QAAA,KACTH,KAAK;IACTrB,GAAG,EAAAqC;EAID,EACH,CAAC;AAEN,CAAC,EACD,CAACP,IAAI,EAAEC,IAAI,KACTD,IAAI,CAACb,QAAQ,KAAKc,IAAI,CAACd,QAAQ,IAC/Ba,IAAI,CAACE,KAAK,KAAKD,IAAI,CAACC,KAAK,IACzBD,IAAI,CAACE,OAAO,KAAKH,IAAI,CAACG,OAC1B,CAAC","ignoreList":[]}
package/Controller.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Controller.js","names":["css","React","jsx","___EmotionJSX","_ref2","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","Controller","props","_extends","_ref","DownloadButton","title","type","xmlns","enableBackground","height","viewBox","width","fill","d"],"sources":["../../src/Controller.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\n\ninterface ControllerProps extends React.ComponentPropsWithoutRef<\"div\"> {\n children?: React.ReactNode;\n}\n\nexport const Controller = (props: ControllerProps) => {\n return (\n <div\n css={css`\n box-sizing: border-box;\n display: flex;\n justify-content: flex-end;\n background-color: #f8f9fa;\n border-top: 1px solid #e1e3e3;\n border-right: 1px solid #e1e3e3;\n border-left: 1px solid #e1e3e3;\n `}\n {...props}\n />\n );\n};\n\nexport const DownloadButton = (\n props: React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n) => {\n return (\n <button\n title={`CSV形式でデータをダウンロードします。\nCtrlまたはCommandを押しながらクリックすることで名前を付けてダウンロードできます。`}\n {...props}\n type=\"button\"\n css={css`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n padding: 0px;\n margin: 0px;\n cursor: pointer;\n background-color: #f8f9fa;\n border: none;\n outline: none;\n transition: 0.2s;\n appearance: none;\n &:hover {\n background-color: #e1e3e3;\n }\n `}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n enableBackground=\"new 0 0 24 24\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#000000\"\n >\n <g>\n <rect fill=\"none\" height=\"24\" width=\"24\" />\n </g>\n <g>\n <path d=\"M5,20h14v-2H5V20z M19,9h-4V3H9v6H5l7,7L19,9z\" />\n </g>\n </svg>\n </button>\n );\n};\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,GAAA,IAAAC,aAAA;AAAA,IAAAC,KAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAM1B,OAAO,IAAMC,UAAU,GAAIC,KAAsB,IAAK;EACpD,OACEX,aAAA,QAAAY,QAAA;IACEf,GAAG,EAAAI;EAQD,GACEU,KAAK,CACV,CAAC;AAEN,CAAC;AAAC,IAAAE,IAAA,GAAAX,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAEF,OAAO,IAAMK,cAAc,GACzBH,KAGC,IACE;EACH,OACEX,aAAA,WAAAY,QAAA;IACEG,KAAK;EACqC,GACtCJ,KAAK;IACTK,IAAI,EAAC,QAAQ;IACbnB,GAAG,EAAAgB;EAkBD,IAEFb,aAAA;IACEiB,KAAK,EAAC,4BAA4B;IAClCC,gBAAgB,EAAC,eAAe;IAChCC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,KAAK,EAAC,MAAM;IACZC,IAAI,EAAC;EAAS,GAEdtB,aAAA,YACEA,aAAA;IAAMsB,IAAI,EAAC,MAAM;IAACH,MAAM,EAAC,IAAI;IAACE,KAAK,EAAC;EAAI,CAAE,CACzC,CAAC,EACJrB,aAAA,YACEA,aAAA;IAAMuB,CAAC,EAAC;EAA8C,CAAE,CACvD,CACA,CACC,CAAC;AAEb,CAAC"}
1
+ {"version":3,"file":"Controller.js","names":["css","React","jsx","___EmotionJSX","_ref2","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","Controller","props","_extends","_ref","DownloadButton","title","type","xmlns","enableBackground","height","viewBox","width","fill","d"],"sources":["../../src/Controller.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\n\ninterface ControllerProps extends React.ComponentPropsWithoutRef<\"div\"> {\n children?: React.ReactNode;\n}\n\nexport const Controller = (props: ControllerProps) => {\n return (\n <div\n css={css`\n box-sizing: border-box;\n display: flex;\n justify-content: flex-end;\n background-color: #f8f9fa;\n border-top: 1px solid #e1e3e3;\n border-right: 1px solid #e1e3e3;\n border-left: 1px solid #e1e3e3;\n `}\n {...props}\n />\n );\n};\n\nexport const DownloadButton = (\n props: React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n) => {\n return (\n <button\n title={`CSV形式でデータをダウンロードします。\nCtrlまたはCommandを押しながらクリックすることで名前を付けてダウンロードできます。`}\n {...props}\n type=\"button\"\n css={css`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n padding: 0px;\n margin: 0px;\n cursor: pointer;\n background-color: #f8f9fa;\n border: none;\n outline: none;\n transition: 0.2s;\n appearance: none;\n &:hover {\n background-color: #e1e3e3;\n }\n `}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n enableBackground=\"new 0 0 24 24\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#000000\"\n >\n <g>\n <rect fill=\"none\" height=\"24\" width=\"24\" />\n </g>\n <g>\n <path d=\"M5,20h14v-2H5V20z M19,9h-4V3H9v6H5l7,7L19,9z\" />\n </g>\n </svg>\n </button>\n );\n};\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,GAAA,IAAAC,aAAA;AAAA,IAAAC,KAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAM1B,OAAO,IAAMC,UAAU,GAAIC,KAAsB,IAAK;EACpD,OACEX,aAAA,QAAAY,QAAA;IACEf,GAAG,EAAAI;EAQD,GACEU,KAAK,CACV,CAAC;AAEN,CAAC;AAAC,IAAAE,IAAA,GAAAX,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAEF,OAAO,IAAMK,cAAc,GACzBH,KAGC,IACE;EACH,OACEX,aAAA,WAAAY,QAAA;IACEG,KAAK;EACqC,GACtCJ,KAAK;IACTK,IAAI,EAAC,QAAQ;IACbnB,GAAG,EAAAgB;EAkBD,IAEFb,aAAA;IACEiB,KAAK,EAAC,4BAA4B;IAClCC,gBAAgB,EAAC,eAAe;IAChCC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,KAAK,EAAC,MAAM;IACZC,IAAI,EAAC;EAAS,GAEdtB,aAAA,YACEA,aAAA;IAAMsB,IAAI,EAAC,MAAM;IAACH,MAAM,EAAC,IAAI;IAACE,KAAK,EAAC;EAAI,CAAE,CACzC,CAAC,EACJrB,aAAA,YACEA,aAAA;IAAMuB,CAAC,EAAC;EAA8C,CAAE,CACvD,CACA,CACC,CAAC;AAEb,CAAC","ignoreList":[]}
package/CustomCell.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"CustomCell.js","names":["Cell","RowHeadCell","DataSheetCheckbox","DataSheetInput","DataSheetSelect","areEqual","React","jsx","___EmotionJSX","CustomCell","memo","_ref","columnIndex","rowIndex","style","data","columns","handleSelectRow","handleMouseDownRow","handleMouseOverRow","handleMouseUpRow","isSelectRow","rows","handleChangeDataEditor","isSelection","handleMouseDown","handleMouseOver","handleChangeCheckbox","x","y","title","onClick","onMouseDown","onMouseOver","onMouseUp","selected","row","cell","readonly","type","list","key","validator","formatter","makeOptions","map","option","i","value","displayValue","undefined","invalid","defaultValue","onChange","readOnly","defaultChecked","Fragment","id"],"sources":["../../src/CustomCell.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access */\nimport { Cell, RowHeadCell } from \"./Cell\";\nimport { ComponentType } from \"react\";\nimport { DataSheetCheckbox } from \"./DataSheetCheckbox\";\nimport { DataSheetInput } from \"./DataSheetInput\";\nimport { DataSheetSelect } from \"./DataSheetSelect\";\nimport { GridChildComponentProps, areEqual } from \"react-window\";\nimport React from \"react\";\n\nexport const CustomCell: ComponentType<GridChildComponentProps> = React.memo(\n ({\n columnIndex,\n rowIndex,\n style,\n data: {\n columns,\n handleSelectRow,\n handleMouseDownRow,\n handleMouseOverRow,\n handleMouseUpRow,\n isSelectRow,\n rows,\n handleChangeDataEditor,\n isSelection,\n data,\n handleMouseDown,\n handleMouseOver,\n handleChangeCheckbox,\n },\n }) => {\n const x = rowIndex;\n const y = columnIndex - 1;\n if (y === -1) {\n return (\n <RowHeadCell\n title={`${x}行目を選択`}\n data-row={x}\n data-column={0}\n onClick={handleSelectRow}\n onMouseDown={handleMouseDownRow}\n onMouseOver={handleMouseOverRow}\n onMouseUp={handleMouseUpRow}\n selected={isSelectRow(x)}\n style={style}\n >\n {x}\n </RowHeadCell>\n );\n }\n const row = rows[x];\n const cell = row[y];\n\n const {\n readonly = false,\n type,\n list,\n key,\n validator,\n formatter,\n } = columns[y];\n\n const selected = isSelection({\n x: x,\n y: y,\n });\n const makeOptions = () =>\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n list\n ? typeof list === \"function\"\n ? list({\n row: data[x],\n }).map((option: string, i: number) => (\n <option value={option} key={`${option}-${i}`}>\n {option}\n </option>\n ))\n : list.map((option: string, i: number) => (\n <option value={option} key={`${option}-${i}`}>\n {option}\n </option>\n ))\n : null;\n\n const displayValue =\n cell === undefined\n ? \"\"\n : formatter\n ? formatter(cell, {\n row: data[y],\n })\n : `${cell}`;\n return (\n <Cell\n style={style}\n title={displayValue}\n invalid={\n cell !== undefined && validator\n ? validator({\n row: data[x],\n })\n : false\n }\n readonly={readonly}\n selected={selected}\n data-row={x}\n data-column={y}\n value={cell}\n key={`row-${x}-cell-${y}`}\n onMouseDown={handleMouseDown}\n onMouseOver={handleMouseOver}\n >\n {readonly || type === undefined ? (\n <DataSheetInput\n type={type}\n defaultValue={displayValue}\n list={`${key}`}\n key={`${x}-${y}-${cell}`}\n data-row={x}\n data-column={y}\n onChange={handleChangeDataEditor}\n readOnly={readonly}\n />\n ) : type === \"checkbox\" ? (\n <DataSheetCheckbox\n type={type}\n data-row={x}\n data-column={y}\n onChange={handleChangeCheckbox}\n key={`${x}-${y}-${cell}`}\n defaultChecked={typeof cell === \"boolean\" ? cell : undefined}\n />\n ) : type === \"select\" ? (\n <DataSheetSelect\n data-row={x}\n data-column={y}\n defaultValue={cell as string}\n key={`${x}-${y}-${cell}`}\n onChange={handleChangeDataEditor}\n >\n {makeOptions()}\n </DataSheetSelect>\n ) : (\n <React.Fragment>\n <DataSheetInput\n type={type}\n defaultValue={cell}\n list={`${key}`}\n key={`${x}-${y}-${cell}`}\n data-row={x}\n data-column={y}\n onChange={handleChangeDataEditor}\n readOnly={readonly}\n />\n {list ? (\n <datalist id={key as string}>{makeOptions()}</datalist>\n ) : null}\n </React.Fragment>\n )}\n </Cell>\n );\n },\n areEqual\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"CustomCell.js","names":["Cell","RowHeadCell","DataSheetCheckbox","DataSheetInput","DataSheetSelect","areEqual","React","jsx","___EmotionJSX","CustomCell","memo","_ref","columnIndex","rowIndex","style","data","columns","handleSelectRow","handleMouseDownRow","handleMouseOverRow","handleMouseUpRow","isSelectRow","rows","handleChangeDataEditor","isSelection","handleMouseDown","handleMouseOver","handleChangeCheckbox","x","y","title","onClick","onMouseDown","onMouseOver","onMouseUp","selected","row","cell","readonly","type","list","key","validator","formatter","makeOptions","map","option","i","value","displayValue","undefined","invalid","defaultValue","onChange","readOnly","defaultChecked","Fragment","id"],"sources":["../../src/CustomCell.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access */\nimport { Cell, RowHeadCell } from \"./Cell\";\nimport { ComponentType } from \"react\";\nimport { DataSheetCheckbox } from \"./DataSheetCheckbox\";\nimport { DataSheetInput } from \"./DataSheetInput\";\nimport { DataSheetSelect } from \"./DataSheetSelect\";\nimport { GridChildComponentProps, areEqual } from \"react-window\";\nimport React from \"react\";\n\nexport const CustomCell: ComponentType<GridChildComponentProps> = React.memo(\n ({\n columnIndex,\n rowIndex,\n style,\n data: {\n columns,\n handleSelectRow,\n handleMouseDownRow,\n handleMouseOverRow,\n handleMouseUpRow,\n isSelectRow,\n rows,\n handleChangeDataEditor,\n isSelection,\n data,\n handleMouseDown,\n handleMouseOver,\n handleChangeCheckbox,\n },\n }) => {\n const x = rowIndex;\n const y = columnIndex - 1;\n if (y === -1) {\n return (\n <RowHeadCell\n title={`${x}行目を選択`}\n data-row={x}\n data-column={0}\n onClick={handleSelectRow}\n onMouseDown={handleMouseDownRow}\n onMouseOver={handleMouseOverRow}\n onMouseUp={handleMouseUpRow}\n selected={isSelectRow(x)}\n style={style}\n >\n {x}\n </RowHeadCell>\n );\n }\n const row = rows[x];\n const cell = row[y];\n\n const {\n readonly = false,\n type,\n list,\n key,\n validator,\n formatter,\n } = columns[y];\n\n const selected = isSelection({\n x: x,\n y: y,\n });\n const makeOptions = () =>\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n list\n ? typeof list === \"function\"\n ? list({\n row: data[x],\n }).map((option: string, i: number) => (\n <option value={option} key={`${option}-${i}`}>\n {option}\n </option>\n ))\n : list.map((option: string, i: number) => (\n <option value={option} key={`${option}-${i}`}>\n {option}\n </option>\n ))\n : null;\n\n const displayValue =\n cell === undefined\n ? \"\"\n : formatter\n ? formatter(cell, {\n row: data[y],\n })\n : `${cell}`;\n return (\n <Cell\n style={style}\n title={displayValue}\n invalid={\n cell !== undefined && validator\n ? validator({\n row: data[x],\n })\n : false\n }\n readonly={readonly}\n selected={selected}\n data-row={x}\n data-column={y}\n value={cell}\n key={`row-${x}-cell-${y}`}\n onMouseDown={handleMouseDown}\n onMouseOver={handleMouseOver}\n >\n {readonly || type === undefined ? (\n <DataSheetInput\n type={type}\n defaultValue={displayValue}\n list={`${key}`}\n key={`${x}-${y}-${cell}`}\n data-row={x}\n data-column={y}\n onChange={handleChangeDataEditor}\n readOnly={readonly}\n />\n ) : type === \"checkbox\" ? (\n <DataSheetCheckbox\n type={type}\n data-row={x}\n data-column={y}\n onChange={handleChangeCheckbox}\n key={`${x}-${y}-${cell}`}\n defaultChecked={typeof cell === \"boolean\" ? cell : undefined}\n />\n ) : type === \"select\" ? (\n <DataSheetSelect\n data-row={x}\n data-column={y}\n defaultValue={cell as string}\n key={`${x}-${y}-${cell}`}\n onChange={handleChangeDataEditor}\n >\n {makeOptions()}\n </DataSheetSelect>\n ) : (\n <React.Fragment>\n <DataSheetInput\n type={type}\n defaultValue={cell}\n list={`${key}`}\n key={`${x}-${y}-${cell}`}\n data-row={x}\n data-column={y}\n onChange={handleChangeDataEditor}\n readOnly={readonly}\n />\n {list ? (\n <datalist id={key as string}>{makeOptions()}</datalist>\n ) : null}\n </React.Fragment>\n )}\n </Cell>\n );\n },\n areEqual\n);\n"],"mappings":"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","ignoreList":[]}
package/DataSheet.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"DataSheet.js","names":["Controller","DownloadButton","CustomCell","InnerElement","InnerElementContext","VariableSizeGrid","useOnClickOutside","React","useCallback","useEffect","useMemo","useRef","useState","jsx","___EmotionJSX","Grid","paste","_ref","_asyncToGenerator","text","navigator","clipboard","readText","apply","arguments","copy","_ref2","writeText","_x","DataSheet","_ref3","data","columns","width","height","onSave","onDownload","rows","map","row","_ref4","key","value","history","current","push","JSON","parse","stringify","handleChangeCheckbox","event","element","currentTarget","column","dataset","x","parseInt","y","checked","_extends","handleChangeDataEditor","initialSelection","type","active","start","end","ref","selection","setSelection","handleClickOutside","handleMouseDown","shiftKey","prev","handleMouseOver","handleShiftKeyUp","document","removeEventListener","handleMouseUp","addEventListener","capture","handleSelectColumn","length","handleMouseDownColumn","handleMouseOverColumn","handleMouseUpColumn","handleSelectRow","handleMouseDownRow","handleMouseOverRow","handleMouseUpRow","handleSelectAll","passive","isSelection","posX","negX","posY","negY","handleKeyDown","getClipBoardText","_ref5","minX","Math","min","minY","dataToInsert","split","rowLength","columnLength","i","j","undefined","readonly","handleCopy","_ref6","maxX","max","maxY","selectedKeys","splice","e","selectedData","result","join","isSelectColumn","index","isSelectRow","style","maxWidth","onClick","title","concat","_ref7","Provider","innerElementType","innerRef","columnCount","rowCount","columnWidth","rowHeight","itemData"],"sources":["../../src/DataSheet.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { Controller, DownloadButton } from \"./Controller\";\nimport { CustomCell } from \"./CustomCell\";\nimport { InnerElement, InnerElementContext } from \"./InnerElement\";\nimport { VariableSizeGrid, VariableSizeGridProps } from \"react-window\";\nimport { useOnClickOutside } from \"./useOnClickOutside\";\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nconst Grid = VariableSizeGrid as unknown as (\n props: Omit<VariableSizeGridProps, \"children\"> & {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n children: any;\n }\n) => JSX.Element;\n\nconst paste = async () => {\n const text = await navigator.clipboard.readText();\n return text;\n};\n\nconst copy = async (text: string) => {\n await navigator.clipboard.writeText(text);\n};\n\nexport type DataRow = Record<string, string | undefined | boolean | number>;\n\nexport type DataColumn<R extends DataRow> = {\n [S in keyof R]: {\n key: S;\n title: string;\n Header?: (props: { title: string }) => React.ReactElement | null;\n type?: \"number\" | \"date\" | \"text\" | \"select\" | \"checkbox\";\n readonly?: boolean;\n validator?: (props: { row: R }) => boolean | string;\n // formatter?: (value: R[S], props: { row: R }) => string\n list?: string[] | ((props: { row: R }) => string[]);\n width: number;\n };\n}[keyof R];\n\nexport interface DataSheetProps<R extends DataRow = DataRow> {\n width: number;\n height: number;\n readonly columns: DataColumn<R>[];\n readonly data: R[];\n readonly onSave?: (data: R[]) => void;\n readonly onDownload?: (data: string[][]) => void;\n}\n\nexport const DataSheet = <R extends DataRow>({\n data,\n columns,\n width,\n height,\n onSave,\n onDownload,\n}: DataSheetProps<R>) => {\n const rows = useMemo(() => {\n return data.map((row) => {\n return columns.map(({ key }) => {\n const value = row[key];\n return value;\n });\n });\n }, [data, columns]);\n\n const history = useRef<(typeof data)[]>([]);\n\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n history.current.push(JSON.parse(JSON.stringify(data)));\n }, [data]);\n\n const handleChangeCheckbox = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const element = event.currentTarget;\n const { row, column } = element.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n const { key } = columns[y];\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const copy: R[] = JSON.parse(JSON.stringify(data));\n const { checked } = element;\n copy[x] = {\n ...copy[x],\n [key]: checked,\n };\n history.current.push(copy);\n },\n [data, columns]\n );\n\n const handleChangeDataEditor = useCallback(\n (event: React.ChangeEvent<HTMLInputElement | HTMLSelectElement>) => {\n const element = event.currentTarget;\n const { row, column } = element.dataset;\n const x = parseInt(row!, 10);\n\n const y = parseInt(column!, 10);\n const { key } = columns[y];\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const copy: R[] = JSON.parse(JSON.stringify(data));\n const { value } = element;\n copy[x] = {\n ...copy[x],\n [key]: value,\n };\n history.current.push(copy);\n },\n [columns, data]\n );\n\n /**\n * Select\n */\n const { current: initialSelection } = useRef<{\n type: \"cell\" | \"column\" | \"row\" | \"all\";\n active: boolean;\n start: {\n x: number;\n y: number;\n };\n end: {\n x: number;\n y: number;\n };\n }>({\n type: \"cell\",\n active: false,\n start: { x: -1, y: -1 },\n end: { x: -1, y: -1 },\n });\n const ref = useRef<HTMLTableElement>(null);\n\n const [selection, setSelection] = useState(initialSelection);\n\n const handleClickOutside = useCallback(() => {\n setSelection(initialSelection);\n }, [initialSelection]);\n useOnClickOutside(ref, handleClickOutside);\n\n const handleMouseDown = useCallback(\n (event: React.MouseEvent<HTMLTableDataCellElement, MouseEvent>) => {\n if (event.shiftKey) {\n const { row, column } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n setSelection((prev) => ({\n ...prev,\n type: \"cell\",\n end: { x, y },\n }));\n } else {\n const { row, column } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n setSelection((prev) => {\n if (prev.active === true) return prev;\n return {\n type: \"cell\",\n active: true,\n start: { x, y },\n end: { x, y },\n };\n });\n }\n },\n []\n );\n\n const handleMouseOver = useCallback(\n (event: React.MouseEvent<HTMLTableDataCellElement, MouseEvent>) => {\n const { row, column } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n setSelection((prev) => {\n if (prev.active === false) return prev;\n if (prev.type === \"cell\") {\n return {\n ...prev,\n end: {\n x,\n y,\n },\n };\n }\n if (prev.type === \"column\") {\n return {\n ...prev,\n end: {\n x: prev.end.x,\n y,\n },\n };\n }\n if (prev.type === \"row\") {\n return {\n ...prev,\n end: {\n x,\n y: prev.end.y,\n },\n };\n }\n return prev;\n });\n },\n []\n );\n\n const handleShiftKeyUp = useCallback(() => {\n setSelection((prev) => ({\n ...prev,\n active: false,\n }));\n document.removeEventListener(\"keyup\", handleShiftKeyUp);\n }, []);\n\n const handleMouseUp = useCallback(\n (event: MouseEvent) => {\n if (event.shiftKey) {\n setSelection((prev) => {\n return {\n ...prev,\n active: true,\n };\n });\n document.addEventListener(\"keyup\", handleShiftKeyUp, {\n capture: true,\n });\n } else {\n setSelection((prev) => {\n return {\n ...prev,\n active: false,\n };\n });\n }\n },\n [handleShiftKeyUp]\n );\n\n /** Column */\n const handleSelectColumn = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { column } = event.currentTarget.dataset;\n const y = parseInt(column!, 10);\n setSelection({\n type: \"column\",\n active: false,\n start: {\n x: 0,\n y,\n },\n end: {\n x: data.length - 1,\n y,\n },\n });\n },\n [data.length]\n );\n const handleMouseDownColumn = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { column } = event.currentTarget.dataset;\n\n const y = parseInt(column!, 10);\n setSelection({\n type: \"column\",\n active: true,\n start: {\n x: 0,\n y,\n },\n end: {\n x: data.length - 1,\n y,\n },\n });\n },\n [data.length]\n );\n const handleMouseOverColumn = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { column } = event.currentTarget.dataset;\n const y = parseInt(column!, 10);\n\n setSelection((prev) => {\n if (prev.active === false || prev.type !== \"column\") return prev;\n return {\n ...prev,\n end: {\n x: data.length - 1,\n y,\n },\n };\n });\n },\n [data.length]\n );\n const handleMouseUpColumn = useCallback(() => {\n setSelection((prev) => {\n return {\n ...prev,\n active: false,\n };\n });\n }, []);\n\n /** Row */\n const handleSelectRow = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { row } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n setSelection({\n type: \"row\",\n active: false,\n start: {\n x,\n y: 0,\n },\n end: {\n x,\n y: columns.length - 1,\n },\n });\n },\n [columns.length]\n );\n const handleMouseDownRow = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { row } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n setSelection({\n type: \"row\",\n active: true,\n start: {\n x,\n y: 0,\n },\n end: {\n x,\n y: columns.length - 1,\n },\n });\n },\n [columns.length]\n );\n const handleMouseOverRow = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { row } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n setSelection((prev) => {\n if (prev.active === false || prev.type !== \"row\") return prev;\n return {\n ...prev,\n end: {\n x,\n y: columns.length - 1,\n },\n };\n });\n },\n [columns.length]\n );\n const handleMouseUpRow = useCallback(() => {\n setSelection((prev) => {\n return {\n ...prev,\n active: false,\n };\n });\n }, []);\n\n /** All */\n\n const handleSelectAll = useCallback(() => {\n setSelection({\n type: \"all\",\n active: false,\n start: {\n x: 0,\n y: 0,\n },\n end: {\n x: data.length - 1,\n y: columns.length - 1,\n },\n });\n }, [data.length, columns.length]);\n useEffect(() => {\n document.addEventListener(\"mouseup\", handleMouseUp, { passive: true });\n return () => {\n document.removeEventListener(\"mouseup\", handleMouseUp);\n document.removeEventListener(\"keyup\", handleShiftKeyUp);\n };\n }, [handleMouseUp, handleShiftKeyUp]);\n const isSelection = useCallback(\n (current: { x: number; y: number }) => {\n const { start, end } = selection;\n\n const posX = current.y >= start.y && current.y <= end.y;\n const negX = current.y <= start.y && current.y >= end.y;\n const posY = current.x >= start.x && current.x <= end.x;\n const negY = current.x <= start.x && current.x >= end.x;\n\n return (\n (posX && posY) || (negX && posY) || (negX && negY) || (posX && negY)\n );\n },\n [selection]\n );\n\n /**\n * Keycode\n */\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n switch (event.key) {\n case \"ArrowUp\": {\n setSelection((prev) => {\n if (prev.start.x === 0) return prev;\n return {\n ...prev,\n start: { x: prev.start.x - 1, y: prev.start.y },\n end: { x: prev.start.x - 1, y: prev.start.y },\n };\n });\n break;\n }\n case \"ArrowRight\":\n setSelection((prev) => {\n if (prev.start.y === columns.length - 1) return prev;\n return {\n ...prev,\n start: { x: prev.start.x, y: prev.start.y + 1 },\n end: { x: prev.start.x, y: prev.start.y + 1 },\n };\n });\n break;\n case \"ArrowDown\":\n setSelection((prev) => {\n if (prev.start.x === data.length - 1) return prev;\n return {\n ...prev,\n start: { x: prev.start.x + 1, y: prev.start.y },\n end: { x: prev.start.x + 1, y: prev.start.y },\n };\n });\n break;\n case \"ArrowLeft\":\n setSelection((prev) => {\n if (prev.start.y === 0) return prev;\n return {\n ...prev,\n start: { x: prev.start.x, y: prev.start.y - 1 },\n end: { x: prev.start.x, y: prev.start.y - 1 },\n };\n });\n break;\n default:\n break;\n }\n },\n [columns.length, data.length]\n );\n\n useEffect(() => {\n const getClipBoardText = async () => {\n if (selection.start.x > -1 && selection.start.y > -1) {\n const text = await paste();\n if (text) {\n const minX = Math.min(selection.start.x, selection.end.x);\n const minY = Math.min(selection.start.y, selection.end.y);\n const dataToInsert = text.split(/\\n/g).map((row) => row.split(/\\t/g));\n const rowLength = dataToInsert.length;\n const columnLength = dataToInsert[0].length;\n const copy = [...data];\n for (let i = 0; i < rowLength; i++) {\n for (let j = 0; j < columnLength; j++) {\n const column = columns[minY + j];\n if (column === undefined) continue;\n const { key, readonly, type } = column;\n if (\n key !== undefined &&\n copy[minX + i] !== undefined &&\n !readonly\n ) {\n const value = dataToInsert[i][j];\n if (type === \"checkbox\") {\n copy[minX + i][key] = (\n value === \"false\" ? false : value === \"true\" ? true : value\n ) as R[keyof R];\n } else {\n copy[minX + i][key] = value as R[keyof R];\n }\n }\n }\n }\n if (onSave) {\n onSave(copy);\n }\n }\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n document.addEventListener(\"paste\", getClipBoardText, { capture: true });\n return () => {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n document.removeEventListener(\"paste\", getClipBoardText);\n };\n }, [\n columns,\n data,\n onSave,\n selection.end.x,\n selection.end.y,\n selection.start.x,\n selection.start.y,\n ]);\n\n useEffect(() => {\n const handleCopy = async () => {\n if (selection.start.x > -1 && selection.start.y > -1) {\n const minX = Math.min(selection.start.x, selection.end.x);\n const maxX = Math.max(selection.start.x, selection.end.x);\n const minY = Math.min(selection.start.y, selection.end.y);\n const maxY = Math.max(selection.start.y, selection.end.y);\n const selectedKeys = [...columns]\n .splice(minY, maxY - minY + 1)\n .map((e) => e.key);\n const selectedData = [...data].splice(minX, maxX - minX + 1);\n\n const result = selectedData\n .map((row) => {\n return selectedKeys\n .map((key) => {\n return row[key];\n })\n .join(\"\\t\");\n })\n .join(\"\\n\");\n if (result) {\n await copy(result);\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n document.addEventListener(\"copy\", handleCopy, { capture: true });\n return () => {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n document.removeEventListener(\"copy\", handleCopy);\n };\n }, [\n columns,\n data,\n selection.end.x,\n selection.end.y,\n selection.start.x,\n selection.start.y,\n ]);\n\n const isSelectColumn = useCallback(\n (index: number) => {\n if (selection.type !== \"column\") return false;\n return (\n (selection.start.y <= index && index <= selection.end.y) ||\n (selection.start.y >= index && index >= selection.end.y)\n );\n },\n [selection.end.y, selection.start.y, selection.type]\n );\n const isSelectRow = useCallback(\n (index: number) => {\n if (selection.type !== \"row\") return false;\n return (\n (selection.start.x <= index && index <= selection.end.x) ||\n (selection.start.x >= index && index >= selection.end.x)\n );\n },\n [selection.end.x, selection.start.x, selection.type]\n );\n\n return (\n <div>\n {onDownload ? (\n <Controller style={{ maxWidth: width }}>\n <DownloadButton\n onClick={() => {\n const result = [columns.map((column) => column.title)].concat(\n data.map((row) => {\n return columns.map(({ key }) => {\n return row[key] as string;\n });\n })\n );\n onDownload(result);\n }}\n />\n </Controller>\n ) : null}\n\n <InnerElementContext.Provider\n value={{\n handleSelectAll,\n handleSelectColumn,\n handleMouseDownColumn,\n handleMouseOverColumn,\n handleMouseUpColumn,\n isSelectColumn,\n handleKeyDown,\n columns: columns as DataColumn<DataRow>[],\n }}\n >\n <Grid\n style={{ maxWidth: \"100%\" }}\n innerElementType={InnerElement}\n innerRef={ref}\n columnCount={columns.length + 1}\n rowCount={data.length}\n height={height}\n width={width}\n columnWidth={(index) => (index === 0 ? 32 : columns[index - 1].width)}\n rowHeight={() => 24}\n itemData={{\n columns,\n handleSelectRow,\n handleMouseDownRow,\n handleMouseOverRow,\n handleMouseUpRow,\n isSelectRow,\n rows,\n handleChangeDataEditor,\n isSelection,\n data,\n handleMouseDown,\n handleMouseOver,\n handleChangeCheckbox,\n }}\n >\n {CustomCell}\n </Grid>\n </InnerElementContext.Provider>\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataSheet.js","names":["Controller","DownloadButton","CustomCell","InnerElement","InnerElementContext","VariableSizeGrid","useOnClickOutside","React","useCallback","useEffect","useMemo","useRef","useState","jsx","___EmotionJSX","Grid","paste","_ref","_asyncToGenerator","text","navigator","clipboard","readText","apply","arguments","copy","_ref2","writeText","_x","DataSheet","_ref3","data","columns","width","height","onSave","onDownload","rows","map","row","_ref4","key","value","history","current","push","JSON","parse","stringify","handleChangeCheckbox","event","element","currentTarget","column","dataset","x","parseInt","y","checked","_extends","handleChangeDataEditor","initialSelection","type","active","start","end","ref","selection","setSelection","handleClickOutside","handleMouseDown","shiftKey","prev","handleMouseOver","handleShiftKeyUp","document","removeEventListener","handleMouseUp","addEventListener","capture","handleSelectColumn","length","handleMouseDownColumn","handleMouseOverColumn","handleMouseUpColumn","handleSelectRow","handleMouseDownRow","handleMouseOverRow","handleMouseUpRow","handleSelectAll","passive","isSelection","posX","negX","posY","negY","handleKeyDown","getClipBoardText","_ref5","minX","Math","min","minY","dataToInsert","split","rowLength","columnLength","i","j","undefined","readonly","handleCopy","_ref6","maxX","max","maxY","selectedKeys","splice","e","selectedData","result","join","isSelectColumn","index","isSelectRow","style","maxWidth","onClick","title","concat","_ref7","Provider","innerElementType","innerRef","columnCount","rowCount","columnWidth","rowHeight","itemData"],"sources":["../../src/DataSheet.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { Controller, DownloadButton } from \"./Controller\";\nimport { CustomCell } from \"./CustomCell\";\nimport { InnerElement, InnerElementContext } from \"./InnerElement\";\nimport { VariableSizeGrid, VariableSizeGridProps } from \"react-window\";\nimport { useOnClickOutside } from \"./useOnClickOutside\";\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nconst Grid = VariableSizeGrid as unknown as (\n props: Omit<VariableSizeGridProps, \"children\"> & {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n children: any;\n }\n) => JSX.Element;\n\nconst paste = async () => {\n const text = await navigator.clipboard.readText();\n return text;\n};\n\nconst copy = async (text: string) => {\n await navigator.clipboard.writeText(text);\n};\n\nexport type DataRow = Record<string, string | undefined | boolean | number>;\n\nexport type DataColumn<R extends DataRow> = {\n [S in keyof R]: {\n key: S;\n title: string;\n Header?: (props: { title: string }) => React.ReactElement | null;\n type?: \"number\" | \"date\" | \"text\" | \"select\" | \"checkbox\";\n readonly?: boolean;\n validator?: (props: { row: R }) => boolean | string;\n // formatter?: (value: R[S], props: { row: R }) => string\n list?: string[] | ((props: { row: R }) => string[]);\n width: number;\n };\n}[keyof R];\n\nexport interface DataSheetProps<R extends DataRow = DataRow> {\n width: number;\n height: number;\n readonly columns: DataColumn<R>[];\n readonly data: R[];\n readonly onSave?: (data: R[]) => void;\n readonly onDownload?: (data: string[][]) => void;\n}\n\nexport const DataSheet = <R extends DataRow>({\n data,\n columns,\n width,\n height,\n onSave,\n onDownload,\n}: DataSheetProps<R>) => {\n const rows = useMemo(() => {\n return data.map((row) => {\n return columns.map(({ key }) => {\n const value = row[key];\n return value;\n });\n });\n }, [data, columns]);\n\n const history = useRef<(typeof data)[]>([]);\n\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n history.current.push(JSON.parse(JSON.stringify(data)));\n }, [data]);\n\n const handleChangeCheckbox = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const element = event.currentTarget;\n const { row, column } = element.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n const { key } = columns[y];\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const copy: R[] = JSON.parse(JSON.stringify(data));\n const { checked } = element;\n copy[x] = {\n ...copy[x],\n [key]: checked,\n };\n history.current.push(copy);\n },\n [data, columns]\n );\n\n const handleChangeDataEditor = useCallback(\n (event: React.ChangeEvent<HTMLInputElement | HTMLSelectElement>) => {\n const element = event.currentTarget;\n const { row, column } = element.dataset;\n const x = parseInt(row!, 10);\n\n const y = parseInt(column!, 10);\n const { key } = columns[y];\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const copy: R[] = JSON.parse(JSON.stringify(data));\n const { value } = element;\n copy[x] = {\n ...copy[x],\n [key]: value,\n };\n history.current.push(copy);\n },\n [columns, data]\n );\n\n /**\n * Select\n */\n const { current: initialSelection } = useRef<{\n type: \"cell\" | \"column\" | \"row\" | \"all\";\n active: boolean;\n start: {\n x: number;\n y: number;\n };\n end: {\n x: number;\n y: number;\n };\n }>({\n type: \"cell\",\n active: false,\n start: { x: -1, y: -1 },\n end: { x: -1, y: -1 },\n });\n const ref = useRef<HTMLTableElement>(null);\n\n const [selection, setSelection] = useState(initialSelection);\n\n const handleClickOutside = useCallback(() => {\n setSelection(initialSelection);\n }, [initialSelection]);\n useOnClickOutside(ref, handleClickOutside);\n\n const handleMouseDown = useCallback(\n (event: React.MouseEvent<HTMLTableDataCellElement, MouseEvent>) => {\n if (event.shiftKey) {\n const { row, column } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n setSelection((prev) => ({\n ...prev,\n type: \"cell\",\n end: { x, y },\n }));\n } else {\n const { row, column } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n setSelection((prev) => {\n if (prev.active === true) return prev;\n return {\n type: \"cell\",\n active: true,\n start: { x, y },\n end: { x, y },\n };\n });\n }\n },\n []\n );\n\n const handleMouseOver = useCallback(\n (event: React.MouseEvent<HTMLTableDataCellElement, MouseEvent>) => {\n const { row, column } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n setSelection((prev) => {\n if (prev.active === false) return prev;\n if (prev.type === \"cell\") {\n return {\n ...prev,\n end: {\n x,\n y,\n },\n };\n }\n if (prev.type === \"column\") {\n return {\n ...prev,\n end: {\n x: prev.end.x,\n y,\n },\n };\n }\n if (prev.type === \"row\") {\n return {\n ...prev,\n end: {\n x,\n y: prev.end.y,\n },\n };\n }\n return prev;\n });\n },\n []\n );\n\n const handleShiftKeyUp = useCallback(() => {\n setSelection((prev) => ({\n ...prev,\n active: false,\n }));\n document.removeEventListener(\"keyup\", handleShiftKeyUp);\n }, []);\n\n const handleMouseUp = useCallback(\n (event: MouseEvent) => {\n if (event.shiftKey) {\n setSelection((prev) => {\n return {\n ...prev,\n active: true,\n };\n });\n document.addEventListener(\"keyup\", handleShiftKeyUp, {\n capture: true,\n });\n } else {\n setSelection((prev) => {\n return {\n ...prev,\n active: false,\n };\n });\n }\n },\n [handleShiftKeyUp]\n );\n\n /** Column */\n const handleSelectColumn = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { column } = event.currentTarget.dataset;\n const y = parseInt(column!, 10);\n setSelection({\n type: \"column\",\n active: false,\n start: {\n x: 0,\n y,\n },\n end: {\n x: data.length - 1,\n y,\n },\n });\n },\n [data.length]\n );\n const handleMouseDownColumn = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { column } = event.currentTarget.dataset;\n\n const y = parseInt(column!, 10);\n setSelection({\n type: \"column\",\n active: true,\n start: {\n x: 0,\n y,\n },\n end: {\n x: data.length - 1,\n y,\n },\n });\n },\n [data.length]\n );\n const handleMouseOverColumn = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { column } = event.currentTarget.dataset;\n const y = parseInt(column!, 10);\n\n setSelection((prev) => {\n if (prev.active === false || prev.type !== \"column\") return prev;\n return {\n ...prev,\n end: {\n x: data.length - 1,\n y,\n },\n };\n });\n },\n [data.length]\n );\n const handleMouseUpColumn = useCallback(() => {\n setSelection((prev) => {\n return {\n ...prev,\n active: false,\n };\n });\n }, []);\n\n /** Row */\n const handleSelectRow = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { row } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n setSelection({\n type: \"row\",\n active: false,\n start: {\n x,\n y: 0,\n },\n end: {\n x,\n y: columns.length - 1,\n },\n });\n },\n [columns.length]\n );\n const handleMouseDownRow = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { row } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n setSelection({\n type: \"row\",\n active: true,\n start: {\n x,\n y: 0,\n },\n end: {\n x,\n y: columns.length - 1,\n },\n });\n },\n [columns.length]\n );\n const handleMouseOverRow = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { row } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n setSelection((prev) => {\n if (prev.active === false || prev.type !== \"row\") return prev;\n return {\n ...prev,\n end: {\n x,\n y: columns.length - 1,\n },\n };\n });\n },\n [columns.length]\n );\n const handleMouseUpRow = useCallback(() => {\n setSelection((prev) => {\n return {\n ...prev,\n active: false,\n };\n });\n }, []);\n\n /** All */\n\n const handleSelectAll = useCallback(() => {\n setSelection({\n type: \"all\",\n active: false,\n start: {\n x: 0,\n y: 0,\n },\n end: {\n x: data.length - 1,\n y: columns.length - 1,\n },\n });\n }, [data.length, columns.length]);\n useEffect(() => {\n document.addEventListener(\"mouseup\", handleMouseUp, { passive: true });\n return () => {\n document.removeEventListener(\"mouseup\", handleMouseUp);\n document.removeEventListener(\"keyup\", handleShiftKeyUp);\n };\n }, [handleMouseUp, handleShiftKeyUp]);\n const isSelection = useCallback(\n (current: { x: number; y: number }) => {\n const { start, end } = selection;\n\n const posX = current.y >= start.y && current.y <= end.y;\n const negX = current.y <= start.y && current.y >= end.y;\n const posY = current.x >= start.x && current.x <= end.x;\n const negY = current.x <= start.x && current.x >= end.x;\n\n return (\n (posX && posY) || (negX && posY) || (negX && negY) || (posX && negY)\n );\n },\n [selection]\n );\n\n /**\n * Keycode\n */\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n switch (event.key) {\n case \"ArrowUp\": {\n setSelection((prev) => {\n if (prev.start.x === 0) return prev;\n return {\n ...prev,\n start: { x: prev.start.x - 1, y: prev.start.y },\n end: { x: prev.start.x - 1, y: prev.start.y },\n };\n });\n break;\n }\n case \"ArrowRight\":\n setSelection((prev) => {\n if (prev.start.y === columns.length - 1) return prev;\n return {\n ...prev,\n start: { x: prev.start.x, y: prev.start.y + 1 },\n end: { x: prev.start.x, y: prev.start.y + 1 },\n };\n });\n break;\n case \"ArrowDown\":\n setSelection((prev) => {\n if (prev.start.x === data.length - 1) return prev;\n return {\n ...prev,\n start: { x: prev.start.x + 1, y: prev.start.y },\n end: { x: prev.start.x + 1, y: prev.start.y },\n };\n });\n break;\n case \"ArrowLeft\":\n setSelection((prev) => {\n if (prev.start.y === 0) return prev;\n return {\n ...prev,\n start: { x: prev.start.x, y: prev.start.y - 1 },\n end: { x: prev.start.x, y: prev.start.y - 1 },\n };\n });\n break;\n default:\n break;\n }\n },\n [columns.length, data.length]\n );\n\n useEffect(() => {\n const getClipBoardText = async () => {\n if (selection.start.x > -1 && selection.start.y > -1) {\n const text = await paste();\n if (text) {\n const minX = Math.min(selection.start.x, selection.end.x);\n const minY = Math.min(selection.start.y, selection.end.y);\n const dataToInsert = text.split(/\\n/g).map((row) => row.split(/\\t/g));\n const rowLength = dataToInsert.length;\n const columnLength = dataToInsert[0].length;\n const copy = [...data];\n for (let i = 0; i < rowLength; i++) {\n for (let j = 0; j < columnLength; j++) {\n const column = columns[minY + j];\n if (column === undefined) continue;\n const { key, readonly, type } = column;\n if (\n key !== undefined &&\n copy[minX + i] !== undefined &&\n !readonly\n ) {\n const value = dataToInsert[i][j];\n if (type === \"checkbox\") {\n copy[minX + i][key] = (\n value === \"false\" ? false : value === \"true\" ? true : value\n ) as R[keyof R];\n } else {\n copy[minX + i][key] = value as R[keyof R];\n }\n }\n }\n }\n if (onSave) {\n onSave(copy);\n }\n }\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n document.addEventListener(\"paste\", getClipBoardText, { capture: true });\n return () => {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n document.removeEventListener(\"paste\", getClipBoardText);\n };\n }, [\n columns,\n data,\n onSave,\n selection.end.x,\n selection.end.y,\n selection.start.x,\n selection.start.y,\n ]);\n\n useEffect(() => {\n const handleCopy = async () => {\n if (selection.start.x > -1 && selection.start.y > -1) {\n const minX = Math.min(selection.start.x, selection.end.x);\n const maxX = Math.max(selection.start.x, selection.end.x);\n const minY = Math.min(selection.start.y, selection.end.y);\n const maxY = Math.max(selection.start.y, selection.end.y);\n const selectedKeys = [...columns]\n .splice(minY, maxY - minY + 1)\n .map((e) => e.key);\n const selectedData = [...data].splice(minX, maxX - minX + 1);\n\n const result = selectedData\n .map((row) => {\n return selectedKeys\n .map((key) => {\n return row[key];\n })\n .join(\"\\t\");\n })\n .join(\"\\n\");\n if (result) {\n await copy(result);\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n document.addEventListener(\"copy\", handleCopy, { capture: true });\n return () => {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n document.removeEventListener(\"copy\", handleCopy);\n };\n }, [\n columns,\n data,\n selection.end.x,\n selection.end.y,\n selection.start.x,\n selection.start.y,\n ]);\n\n const isSelectColumn = useCallback(\n (index: number) => {\n if (selection.type !== \"column\") return false;\n return (\n (selection.start.y <= index && index <= selection.end.y) ||\n (selection.start.y >= index && index >= selection.end.y)\n );\n },\n [selection.end.y, selection.start.y, selection.type]\n );\n const isSelectRow = useCallback(\n (index: number) => {\n if (selection.type !== \"row\") return false;\n return (\n (selection.start.x <= index && index <= selection.end.x) ||\n (selection.start.x >= index && index >= selection.end.x)\n );\n },\n [selection.end.x, selection.start.x, selection.type]\n );\n\n return (\n <div>\n {onDownload ? (\n <Controller style={{ maxWidth: width }}>\n <DownloadButton\n onClick={() => {\n const result = [columns.map((column) => column.title)].concat(\n data.map((row) => {\n return columns.map(({ key }) => {\n return row[key] as string;\n });\n })\n );\n onDownload(result);\n }}\n />\n </Controller>\n ) : null}\n\n <InnerElementContext.Provider\n value={{\n handleSelectAll,\n handleSelectColumn,\n handleMouseDownColumn,\n handleMouseOverColumn,\n handleMouseUpColumn,\n isSelectColumn,\n handleKeyDown,\n columns: columns as DataColumn<DataRow>[],\n }}\n >\n <Grid\n style={{ maxWidth: \"100%\" }}\n innerElementType={InnerElement}\n innerRef={ref}\n columnCount={columns.length + 1}\n rowCount={data.length}\n height={height}\n width={width}\n columnWidth={(index) => (index === 0 ? 32 : columns[index - 1].width)}\n rowHeight={() => 24}\n itemData={{\n columns,\n handleSelectRow,\n handleMouseDownRow,\n handleMouseOverRow,\n handleMouseUpRow,\n isSelectRow,\n rows,\n handleChangeDataEditor,\n isSelection,\n data,\n handleMouseDown,\n handleMouseOver,\n handleChangeCheckbox,\n }}\n >\n {CustomCell}\n </Grid>\n </InnerElementContext.Provider>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DataSheetCheckbox.js","names":["css","React","jsx","___EmotionJSX","_ref","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","_ref2","DataSheetCheckbox","memo","_ref3","style","className","props","_objectWithoutPropertiesLoose","_excluded","_extends"],"sources":["../../src/DataSheetCheckbox.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\n\nexport interface DataSheetCheckboxProps\n extends React.ComponentPropsWithoutRef<\"input\"> {\n children?: React.ReactNode;\n}\n\nexport const DataSheetCheckbox = React.memo(\n ({ style, className, ...props }: DataSheetCheckboxProps) => {\n return (\n <label\n style={style}\n className={className}\n css={css`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n padding: 0px;\n text-align: inherit;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 0px;\n outline: 0px;\n `}\n >\n <input\n css={css`\n cursor: pointer;\n `}\n {...props}\n />\n </label>\n );\n }\n);\n"],"mappings":";;;;AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,GAAA,IAAAC,aAAA;AAAA,IAAAC,IAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAAA,IAAAC,KAAA,GAAAR,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAO1B,OAAO,IAAME,iBAAiB,gBAAGb,KAAK,CAACc,IAAI,CACzCC,KAAA,IAA4D;EAAA,IAA3D;MAAEC,KAAK;MAAEC;IAA4C,CAAC,GAAAF,KAAA;IAA/BG,KAAK,GAAAC,6BAAA,CAAAJ,KAAA,EAAAK,SAAA;EAC3B,OACElB,aAAA;IACEc,KAAK,EAAEA,KAAM;IACbC,SAAS,EAAEA,SAAU;IACrBlB,GAAG,EAAAa;EAcD,GAEFV,aAAA,UAAAmB,QAAA;IACEtB,GAAG,EAAAI;EAED,GACEe,KAAK,CACV,CACI,CAAC;AAEZ,CACF,CAAC"}
1
+ {"version":3,"file":"DataSheetCheckbox.js","names":["css","React","jsx","___EmotionJSX","_ref","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","_ref2","DataSheetCheckbox","memo","_ref3","style","className","props","_objectWithoutPropertiesLoose","_excluded","_extends"],"sources":["../../src/DataSheetCheckbox.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\n\nexport interface DataSheetCheckboxProps\n extends React.ComponentPropsWithoutRef<\"input\"> {\n children?: React.ReactNode;\n}\n\nexport const DataSheetCheckbox = React.memo(\n ({ style, className, ...props }: DataSheetCheckboxProps) => {\n return (\n <label\n style={style}\n className={className}\n css={css`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n padding: 0px;\n text-align: inherit;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 0px;\n outline: 0px;\n `}\n >\n <input\n css={css`\n cursor: pointer;\n `}\n {...props}\n />\n </label>\n );\n }\n);\n"],"mappings":";;;;AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,GAAA,IAAAC,aAAA;AAAA,IAAAC,IAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAAA,IAAAC,KAAA,GAAAR,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAO1B,OAAO,IAAME,iBAAiB,gBAAGb,KAAK,CAACc,IAAI,CACzCC,KAAA,IAA4D;EAAA,IAA3D;MAAEC,KAAK;MAAEC;IAA4C,CAAC,GAAAF,KAAA;IAA/BG,KAAK,GAAAC,6BAAA,CAAAJ,KAAA,EAAAK,SAAA;EAC3B,OACElB,aAAA;IACEc,KAAK,EAAEA,KAAM;IACbC,SAAS,EAAEA,SAAU;IACrBlB,GAAG,EAAAa;EAcD,GAEFV,aAAA,UAAAmB,QAAA;IACEtB,GAAG,EAAAI;EAED,GACEe,KAAK,CACV,CACI,CAAC;AAEZ,CACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DataSheetInput.js","names":["css","React","jsx","___EmotionJSX","_ref","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","DataSheetInput","memo","props","_extends","readOnly","value","defaultValue"],"sources":["../../src/DataSheetInput.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\n\ntype DataSheetInputProps = React.ComponentPropsWithoutRef<\"input\">;\n\nexport const DataSheetInput = React.memo((props: DataSheetInputProps) => {\n return (\n <input\n {...props}\n {...(props.readOnly ? { value: props.defaultValue } : {})}\n readOnly={false}\n css={css`\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n padding: 0px;\n font: inherit;\n text-align: inherit;\n background-color: transparent;\n border: 0px;\n border: 1px solid transparent;\n outline: 0px;\n &:focus {\n border: 1px solid #2185d0;\n }\n &[readonly]::selection {\n background-color: transparent;\n }\n `}\n />\n );\n});\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,GAAA,IAAAC,aAAA;AAAA,IAAAC,IAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAI1B,OAAO,IAAMC,cAAc,gBAAGZ,KAAK,CAACa,IAAI,CAAEC,KAA0B,IAAK;EACvE,OACEZ,aAAA,UAAAa,QAAA,KACMD,KAAK,EACJA,KAAK,CAACE,QAAQ,GAAG;IAAEC,KAAK,EAAEH,KAAK,CAACI;EAAa,CAAC,GAAG,CAAC,CAAC;IACxDF,QAAQ,EAAE,KAAM;IAChBjB,GAAG,EAAAI;EAiBD,EACH,CAAC;AAEN,CAAC,CAAC"}
1
+ {"version":3,"file":"DataSheetInput.js","names":["css","React","jsx","___EmotionJSX","_ref","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","DataSheetInput","memo","props","_extends","readOnly","value","defaultValue"],"sources":["../../src/DataSheetInput.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\n\ntype DataSheetInputProps = React.ComponentPropsWithoutRef<\"input\">;\n\nexport const DataSheetInput = React.memo((props: DataSheetInputProps) => {\n return (\n <input\n {...props}\n {...(props.readOnly ? { value: props.defaultValue } : {})}\n readOnly={false}\n css={css`\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n padding: 0px;\n font: inherit;\n text-align: inherit;\n background-color: transparent;\n border: 0px;\n border: 1px solid transparent;\n outline: 0px;\n &:focus {\n border: 1px solid #2185d0;\n }\n &[readonly]::selection {\n background-color: transparent;\n }\n `}\n />\n );\n});\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,GAAA,IAAAC,aAAA;AAAA,IAAAC,IAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAI1B,OAAO,IAAMC,cAAc,gBAAGZ,KAAK,CAACa,IAAI,CAAEC,KAA0B,IAAK;EACvE,OACEZ,aAAA,UAAAa,QAAA,KACMD,KAAK,EACJA,KAAK,CAACE,QAAQ,GAAG;IAAEC,KAAK,EAAEH,KAAK,CAACI;EAAa,CAAC,GAAG,CAAC,CAAC;IACxDF,QAAQ,EAAE,KAAM;IAChBjB,GAAG,EAAAI;EAiBD,EACH,CAAC;AAEN,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DataSheetSelect.js","names":["css","React","jsx","___EmotionJSX","_ref","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","DataSheetSelect","memo","props","_extends"],"sources":["../../src/DataSheetSelect.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\n\ninterface DataSheetSelectProps\n extends React.ComponentPropsWithoutRef<\"select\"> {\n children?: React.ReactNode;\n}\n\nexport const DataSheetSelect = React.memo((props: DataSheetSelectProps) => {\n return (\n <select\n {...props}\n css={css`\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n padding: 0px;\n font: inherit;\n text-align: inherit;\n border: 0px;\n outline: 0px;\n &:invalid {\n }\n `}\n />\n );\n});\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,GAAA,IAAAC,aAAA;AAAA,IAAAC,IAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAO1B,OAAO,IAAMC,eAAe,gBAAGZ,KAAK,CAACa,IAAI,CAAEC,KAA2B,IAAK;EACzE,OACEZ,aAAA,WAAAa,QAAA,KACMD,KAAK;IACTf,GAAG,EAAAI;EAWD,EACH,CAAC;AAEN,CAAC,CAAC"}
1
+ {"version":3,"file":"DataSheetSelect.js","names":["css","React","jsx","___EmotionJSX","_ref","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","DataSheetSelect","memo","props","_extends"],"sources":["../../src/DataSheetSelect.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\n\ninterface DataSheetSelectProps\n extends React.ComponentPropsWithoutRef<\"select\"> {\n children?: React.ReactNode;\n}\n\nexport const DataSheetSelect = React.memo((props: DataSheetSelectProps) => {\n return (\n <select\n {...props}\n css={css`\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n padding: 0px;\n font: inherit;\n text-align: inherit;\n border: 0px;\n outline: 0px;\n &:invalid {\n }\n `}\n />\n );\n});\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,GAAA,IAAAC,aAAA;AAAA,IAAAC,IAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAO1B,OAAO,IAAMC,eAAe,gBAAGZ,KAAK,CAACa,IAAI,CAAEC,KAA2B,IAAK;EACzE,OACEZ,aAAA,WAAAa,QAAA,KACMD,KAAK;IACTf,GAAG,EAAAI;EAWD,EACH,CAAC;AAEN,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"InnerElement.js","names":["ColumnHeadCell","RowHeadCell","css","React","createContext","forwardRef","useContext","jsx","___EmotionJSX","InnerElementContext","_ref","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","_ref2","_ref3","_ref4","InnerElement","_ref5","ref","children","props","_objectWithoutPropertiesLoose","_excluded","handleSelectAll","handleSelectColumn","handleMouseDownColumn","handleMouseOverColumn","handleMouseUpColumn","isSelectColumn","columns","handleKeyDown","_extends","onKeyDown","role","tabIndex","onClick","_ref6","y","Header","column","_excluded2","title","key","onMouseDown","onMouseOver","onMouseUp","selected","style","width"],"sources":["../../src/InnerElement.tsx"],"sourcesContent":["import { ColumnHeadCell, RowHeadCell } from \"./Cell\";\nimport { DataColumn, DataRow } from \"./DataSheet\";\nimport { GridChildComponentProps } from \"react-window\";\nimport { css } from \"@emotion/react\";\nimport React, {\n PropsWithChildren,\n createContext,\n forwardRef,\n useContext,\n} from \"react\";\n\nexport const InnerElementContext = createContext(\n {} as {\n handleSelectAll: () => void;\n handleSelectColumn: (\n event: React.MouseEvent<HTMLDivElement, MouseEvent>\n ) => void;\n handleMouseDownColumn: (\n event: React.MouseEvent<HTMLDivElement, MouseEvent>\n ) => void;\n handleMouseOverColumn: (\n event: React.MouseEvent<HTMLDivElement, MouseEvent>\n ) => void;\n handleMouseUpColumn: (\n event: React.MouseEvent<HTMLDivElement, MouseEvent>\n ) => void;\n isSelectColumn: (y: number) => boolean;\n columns: DataColumn<DataRow>[];\n handleKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;\n }\n);\n\nexport const InnerElement = forwardRef<\n HTMLDivElement,\n PropsWithChildren<GridChildComponentProps>\n>(({ children, ...props }, ref) => {\n const {\n handleSelectAll,\n handleSelectColumn,\n handleMouseDownColumn,\n handleMouseOverColumn,\n handleMouseUpColumn,\n isSelectColumn,\n columns,\n handleKeyDown,\n } = useContext(InnerElementContext);\n return (\n <div\n onKeyDown={handleKeyDown}\n ref={ref}\n {...props}\n role=\"button\"\n tabIndex={0}\n css={css`\n font-size: 12px;\n background-color: #ededed;\n `}\n >\n <div\n css={css`\n position: sticky;\n top: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: 24px;\n `}\n >\n <RowHeadCell\n css={css`\n width: 32px;\n `}\n onClick={handleSelectAll}\n />\n {columns.map(({ Header, ...column }, y: number) => {\n return (\n <ColumnHeadCell\n title={`${y}列目を選択`}\n key={`${column.key}`}\n data-column={y}\n data-row={0}\n onClick={handleSelectColumn}\n onMouseDown={handleMouseDownColumn}\n onMouseOver={handleMouseOverColumn}\n onMouseUp={handleMouseUpColumn}\n selected={isSelectColumn(y)}\n style={{\n width: column.width,\n }}\n >\n {Header ? <Header title={column.title} /> : column.title}\n </ColumnHeadCell>\n );\n })}\n </div>\n <div\n css={css`\n position: absolute;\n top: 24px;\n left: 0px;\n `}\n >\n {children}\n </div>\n </div>\n );\n});\n"],"mappings":";;;;;AAAA,SAASA,cAAc,EAAEC,WAAW,QAAQ,QAAQ;AAGpD,SAASC,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,KAAK,IAEVC,aAAa,EACbC,UAAU,EACVC,UAAU,QACL,OAAO;AAAC,SAAAC,GAAA,IAAAC,aAAA;AAEf,OAAO,IAAMC,mBAAmB,gBAAGL,aAAa,CAC9C,CAAC,CAkBH,CAAC;AAAC,IAAAM,IAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAAA,IAAAC,KAAA,GAAAR,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAAA,IAAAE,KAAA,GAAAT,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAAA,IAAAG,KAAA,GAAAV,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAEF,OAAO,IAAMI,YAAY,gBAAGjB,UAAU,CAGpC,CAAAkB,KAAA,EAAyBC,GAAG,KAAK;EAAA,IAAhC;MAAEC;IAAmB,CAAC,GAAAF,KAAA;IAAPG,KAAK,GAAAC,6BAAA,CAAAJ,KAAA,EAAAK,SAAA;EACrB,IAAM;IACJC,eAAe;IACfC,kBAAkB;IAClBC,qBAAqB;IACrBC,qBAAqB;IACrBC,mBAAmB;IACnBC,cAAc;IACdC,OAAO;IACPC;EACF,CAAC,GAAG9B,UAAU,CAACG,mBAAmB,CAAC;EACnC,OACED,aAAA,QAAA6B,QAAA;IACEC,SAAS,EAAEF,aAAc;IACzBZ,GAAG,EAAEA;EAAI,GACLE,KAAK;IACTa,IAAI,EAAC,QAAQ;IACbC,QAAQ,EAAE,CAAE;IACZtC,GAAG,EAAAmB;EAGD,IAEFb,aAAA;IACEN,GAAG,EAAAkB;EAOD,GAEFZ,aAAA,CAACP,WAAW;IACVC,GAAG,EAAAiB,KAED;IACFsB,OAAO,EAAEZ;EAAgB,CAC1B,CAAC,EACDM,OAAO,CAACnB,GAAG,CAAC,CAAA0B,KAAA,EAAwBC,CAAS,KAAK;IAAA,IAArC;QAAEC;MAAkB,CAAC,GAAAF,KAAA;MAARG,MAAM,GAAAlB,6BAAA,CAAAe,KAAA,EAAAI,UAAA;IAC/B,OACEtC,aAAA,CAACR,cAAc;MACb+C,KAAK,EAAKJ,CAAC,mCAAQ;MACnBK,GAAG,OAAKH,MAAM,CAACG,GAAM;MACrB,eAAaL,CAAE;MACf,YAAU,CAAE;MACZF,OAAO,EAAEX,kBAAmB;MAC5BmB,WAAW,EAAElB,qBAAsB;MACnCmB,WAAW,EAAElB,qBAAsB;MACnCmB,SAAS,EAAElB,mBAAoB;MAC/BmB,QAAQ,EAAElB,cAAc,CAACS,CAAC,CAAE;MAC5BU,KAAK,EAAE;QACLC,KAAK,EAAET,MAAM,CAACS;MAChB;IAAE,GAEDV,MAAM,GAAGpC,aAAA,CAACoC,MAAM;MAACG,KAAK,EAAEF,MAAM,CAACE;IAAM,CAAE,CAAC,GAAGF,MAAM,CAACE,KACrC,CAAC;EAErB,CAAC,CACE,CAAC,EACNvC,aAAA;IACEN,GAAG,EAAAQ;EAID,GAEDe,QACE,CACF,CAAC;AAEV,CAAC,CAAC"}
1
+ {"version":3,"file":"InnerElement.js","names":["ColumnHeadCell","RowHeadCell","css","React","createContext","forwardRef","useContext","jsx","___EmotionJSX","InnerElementContext","_ref","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","_ref2","_ref3","_ref4","InnerElement","_ref5","ref","children","props","_objectWithoutPropertiesLoose","_excluded","handleSelectAll","handleSelectColumn","handleMouseDownColumn","handleMouseOverColumn","handleMouseUpColumn","isSelectColumn","columns","handleKeyDown","_extends","onKeyDown","role","tabIndex","onClick","_ref6","y","Header","column","_excluded2","title","key","onMouseDown","onMouseOver","onMouseUp","selected","style","width"],"sources":["../../src/InnerElement.tsx"],"sourcesContent":["import { ColumnHeadCell, RowHeadCell } from \"./Cell\";\nimport { DataColumn, DataRow } from \"./DataSheet\";\nimport { GridChildComponentProps } from \"react-window\";\nimport { css } from \"@emotion/react\";\nimport React, {\n PropsWithChildren,\n createContext,\n forwardRef,\n useContext,\n} from \"react\";\n\nexport const InnerElementContext = createContext(\n {} as {\n handleSelectAll: () => void;\n handleSelectColumn: (\n event: React.MouseEvent<HTMLDivElement, MouseEvent>\n ) => void;\n handleMouseDownColumn: (\n event: React.MouseEvent<HTMLDivElement, MouseEvent>\n ) => void;\n handleMouseOverColumn: (\n event: React.MouseEvent<HTMLDivElement, MouseEvent>\n ) => void;\n handleMouseUpColumn: (\n event: React.MouseEvent<HTMLDivElement, MouseEvent>\n ) => void;\n isSelectColumn: (y: number) => boolean;\n columns: DataColumn<DataRow>[];\n handleKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;\n }\n);\n\nexport const InnerElement = forwardRef<\n HTMLDivElement,\n PropsWithChildren<GridChildComponentProps>\n>(({ children, ...props }, ref) => {\n const {\n handleSelectAll,\n handleSelectColumn,\n handleMouseDownColumn,\n handleMouseOverColumn,\n handleMouseUpColumn,\n isSelectColumn,\n columns,\n handleKeyDown,\n } = useContext(InnerElementContext);\n return (\n <div\n onKeyDown={handleKeyDown}\n ref={ref}\n {...props}\n role=\"button\"\n tabIndex={0}\n css={css`\n font-size: 12px;\n background-color: #ededed;\n `}\n >\n <div\n css={css`\n position: sticky;\n top: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: 24px;\n `}\n >\n <RowHeadCell\n css={css`\n width: 32px;\n `}\n onClick={handleSelectAll}\n />\n {columns.map(({ Header, ...column }, y: number) => {\n return (\n <ColumnHeadCell\n title={`${y}列目を選択`}\n key={`${column.key}`}\n data-column={y}\n data-row={0}\n onClick={handleSelectColumn}\n onMouseDown={handleMouseDownColumn}\n onMouseOver={handleMouseOverColumn}\n onMouseUp={handleMouseUpColumn}\n selected={isSelectColumn(y)}\n style={{\n width: column.width,\n }}\n >\n {Header ? <Header title={column.title} /> : column.title}\n </ColumnHeadCell>\n );\n })}\n </div>\n <div\n css={css`\n position: absolute;\n top: 24px;\n left: 0px;\n `}\n >\n {children}\n </div>\n </div>\n );\n});\n"],"mappings":";;;;;AAAA,SAASA,cAAc,EAAEC,WAAW,QAAQ,QAAQ;AAGpD,SAASC,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,KAAK,IAEVC,aAAa,EACbC,UAAU,EACVC,UAAU,QACL,OAAO;AAAC,SAAAC,GAAA,IAAAC,aAAA;AAEf,OAAO,IAAMC,mBAAmB,gBAAGL,aAAa,CAC9C,CAAC,CAkBH,CAAC;AAAC,IAAAM,IAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAAA,IAAAC,KAAA,GAAAR,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAAA,IAAAE,KAAA,GAAAT,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAAA,IAAAG,KAAA,GAAAV,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAEF,OAAO,IAAMI,YAAY,gBAAGjB,UAAU,CAGpC,CAAAkB,KAAA,EAAyBC,GAAG,KAAK;EAAA,IAAhC;MAAEC;IAAmB,CAAC,GAAAF,KAAA;IAAPG,KAAK,GAAAC,6BAAA,CAAAJ,KAAA,EAAAK,SAAA;EACrB,IAAM;IACJC,eAAe;IACfC,kBAAkB;IAClBC,qBAAqB;IACrBC,qBAAqB;IACrBC,mBAAmB;IACnBC,cAAc;IACdC,OAAO;IACPC;EACF,CAAC,GAAG9B,UAAU,CAACG,mBAAmB,CAAC;EACnC,OACED,aAAA,QAAA6B,QAAA;IACEC,SAAS,EAAEF,aAAc;IACzBZ,GAAG,EAAEA;EAAI,GACLE,KAAK;IACTa,IAAI,EAAC,QAAQ;IACbC,QAAQ,EAAE,CAAE;IACZtC,GAAG,EAAAmB;EAGD,IAEFb,aAAA;IACEN,GAAG,EAAAkB;EAOD,GAEFZ,aAAA,CAACP,WAAW;IACVC,GAAG,EAAAiB,KAED;IACFsB,OAAO,EAAEZ;EAAgB,CAC1B,CAAC,EACDM,OAAO,CAACnB,GAAG,CAAC,CAAA0B,KAAA,EAAwBC,CAAS,KAAK;IAAA,IAArC;QAAEC;MAAkB,CAAC,GAAAF,KAAA;MAARG,MAAM,GAAAlB,6BAAA,CAAAe,KAAA,EAAAI,UAAA;IAC/B,OACEtC,aAAA,CAACR,cAAc;MACb+C,KAAK,EAAKJ,CAAC,mCAAQ;MACnBK,GAAG,OAAKH,MAAM,CAACG,GAAM;MACrB,eAAaL,CAAE;MACf,YAAU,CAAE;MACZF,OAAO,EAAEX,kBAAmB;MAC5BmB,WAAW,EAAElB,qBAAsB;MACnCmB,WAAW,EAAElB,qBAAsB;MACnCmB,SAAS,EAAElB,mBAAoB;MAC/BmB,QAAQ,EAAElB,cAAc,CAACS,CAAC,CAAE;MAC5BU,KAAK,EAAE;QACLC,KAAK,EAAET,MAAM,CAACS;MAChB;IAAE,GAEDV,MAAM,GAAGpC,aAAA,CAACoC,MAAM;MAACG,KAAK,EAAEF,MAAM,CAACE;IAAM,CAAE,CAAC,GAAGF,MAAM,CAACE,KACrC,CAAC;EAErB,CAAC,CACE,CAAC,EACNvC,aAAA;IACEN,GAAG,EAAAQ;EAID,GAEDe,QACE,CACF,CAAC;AAEV,CAAC,CAAC","ignoreList":[]}
package/cjs/Cell.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Cell.js","names":["_react","require","_react2","_interopRequireDefault","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_EMOTION_STRINGIFIED_CSS_ERROR__","_ref4","process","env","NODE_ENV","name","styles","map","toString","Cell","exports","React","memo","readonly","selected","invalid","title","value","_value","style","props","jsx","cursor","border","boxShadow","background","color","css","prev","next","onClick","_ref2","_ref3","ColumnHeadCell","_ref","RowHeadCell"],"sources":["../../src/Cell.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\nexport interface CellProps extends React.ComponentPropsWithoutRef<\"div\"> {\n readonly?: boolean;\n selected?: boolean;\n invalid?: boolean | string;\n value?: unknown;\n children?: React.ReactNode;\n}\n\nexport const Cell = React.memo(\n ({\n readonly = false,\n selected = false,\n invalid = false,\n title,\n value: _value,\n style = {},\n ...props\n }: CellProps) => {\n return (\n <div\n {...props}\n data-element=\"cell\"\n title={typeof invalid === \"string\" ? invalid : title}\n style={{\n ...style,\n cursor: typeof invalid === \"string\" ? \"help\" : \"cursor\",\n ...(selected\n ? {\n border: `1px double #2185d0`,\n boxShadow: `inset 0 -100px 0 rgba(33, 133, 208, 0.15)`,\n }\n : {}),\n ...(invalid !== false\n ? {\n background: `rgba(208, 33, 33, 0.3)`,\n }\n : {}),\n ...(readonly\n ? {\n background: `#f8f9fa`,\n color: `#5f6368`,\n }\n : {}),\n }}\n css={css`\n position: relative;\n box-sizing: border-box;\n height: 24px;\n padding: 0px;\n overflow: scroll;\n text-align: right;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n background-color: unset;\n background-color: white;\n border: 1px solid #e1e3e3;\n -ms-overflow-style: none;\n scrollbar-width: none;\n &::-webkit-scrollbar {\n display: none;\n }\n `}\n />\n );\n },\n (prev, next) =>\n prev.selected === next.selected &&\n prev.value === next.value &&\n next.onClick === prev.onClick\n);\n\nexport const ColumnHeadCell = React.memo(\n (props: CellProps) => {\n return (\n <Cell\n {...props}\n data-selected={props.selected}\n css={[\n css`\n flex-shrink: 0;\n font-size: 10px;\n line-height: 24px;\n color: #5f6368;\n text-align: center;\n cursor: pointer;\n background-color: #f8f9fa;\n transition: 0.2s;\n `,\n props.selected\n ? css`\n color: #f8f9fa;\n background-color: #5f6368;\n `\n : null,\n ]}\n />\n );\n },\n (prev, next) =>\n prev.selected === next.selected &&\n prev.value === next.value &&\n next.onClick === prev.onClick\n);\n\nexport const RowHeadCell = React.memo(\n (props: CellProps) => {\n return (\n <ColumnHeadCell\n {...props}\n css={css`\n width: 24px;\n font-family: monospace !important;\n line-height: 24px;\n `}\n />\n );\n },\n (prev, next) =>\n prev.selected === next.selected &&\n prev.value === next.value &&\n next.onClick === prev.onClick\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Cell.js","names":["_react","require","_react2","_interopRequireDefault","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_EMOTION_STRINGIFIED_CSS_ERROR__","_ref4","process","env","NODE_ENV","name","styles","map","toString","Cell","exports","React","memo","readonly","selected","invalid","title","value","_value","style","props","jsx","cursor","border","boxShadow","background","color","css","prev","next","onClick","_ref2","_ref3","ColumnHeadCell","_ref","RowHeadCell"],"sources":["../../src/Cell.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\nexport interface CellProps extends React.ComponentPropsWithoutRef<\"div\"> {\n readonly?: boolean;\n selected?: boolean;\n invalid?: boolean | string;\n value?: unknown;\n children?: React.ReactNode;\n}\n\nexport const Cell = React.memo(\n ({\n readonly = false,\n selected = false,\n invalid = false,\n title,\n value: _value,\n style = {},\n ...props\n }: CellProps) => {\n return (\n <div\n {...props}\n data-element=\"cell\"\n title={typeof invalid === \"string\" ? invalid : title}\n style={{\n ...style,\n cursor: typeof invalid === \"string\" ? \"help\" : \"cursor\",\n ...(selected\n ? {\n border: `1px double #2185d0`,\n boxShadow: `inset 0 -100px 0 rgba(33, 133, 208, 0.15)`,\n }\n : {}),\n ...(invalid !== false\n ? {\n background: `rgba(208, 33, 33, 0.3)`,\n }\n : {}),\n ...(readonly\n ? {\n background: `#f8f9fa`,\n color: `#5f6368`,\n }\n : {}),\n }}\n css={css`\n position: relative;\n box-sizing: border-box;\n height: 24px;\n padding: 0px;\n overflow: scroll;\n text-align: right;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n background-color: unset;\n background-color: white;\n border: 1px solid #e1e3e3;\n -ms-overflow-style: none;\n scrollbar-width: none;\n &::-webkit-scrollbar {\n display: none;\n }\n `}\n />\n );\n },\n (prev, next) =>\n prev.selected === next.selected &&\n prev.value === next.value &&\n next.onClick === prev.onClick\n);\n\nexport const ColumnHeadCell = React.memo(\n (props: CellProps) => {\n return (\n <Cell\n {...props}\n data-selected={props.selected}\n css={[\n css`\n flex-shrink: 0;\n font-size: 10px;\n line-height: 24px;\n color: #5f6368;\n text-align: center;\n cursor: pointer;\n background-color: #f8f9fa;\n transition: 0.2s;\n `,\n props.selected\n ? css`\n color: #f8f9fa;\n background-color: #5f6368;\n `\n : null,\n ]}\n />\n );\n },\n (prev, next) =>\n prev.selected === next.selected &&\n prev.value === next.value &&\n next.onClick === prev.onClick\n);\n\nexport const RowHeadCell = React.memo(\n (props: CellProps) => {\n return (\n <ColumnHeadCell\n {...props}\n css={css`\n width: 24px;\n font-family: monospace !important;\n line-height: 24px;\n `}\n />\n );\n },\n (prev, next) =>\n prev.selected === next.selected &&\n prev.value === next.value &&\n next.onClick === prev.onClick\n);\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Controller.js","names":["_react","require","_react2","_interopRequireDefault","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_EMOTION_STRINGIFIED_CSS_ERROR__","_ref2","process","env","NODE_ENV","name","styles","map","toString","Controller","props","jsx","css","exports","_ref","DownloadButton","title","type","xmlns","enableBackground","height","viewBox","width","fill","d"],"sources":["../../src/Controller.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\n\ninterface ControllerProps extends React.ComponentPropsWithoutRef<\"div\"> {\n children?: React.ReactNode;\n}\n\nexport const Controller = (props: ControllerProps) => {\n return (\n <div\n css={css`\n box-sizing: border-box;\n display: flex;\n justify-content: flex-end;\n background-color: #f8f9fa;\n border-top: 1px solid #e1e3e3;\n border-right: 1px solid #e1e3e3;\n border-left: 1px solid #e1e3e3;\n `}\n {...props}\n />\n );\n};\n\nexport const DownloadButton = (\n props: React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n) => {\n return (\n <button\n title={`CSV形式でデータをダウンロードします。\nCtrlまたはCommandを押しながらクリックすることで名前を付けてダウンロードできます。`}\n {...props}\n type=\"button\"\n css={css`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n padding: 0px;\n margin: 0px;\n cursor: pointer;\n background-color: #f8f9fa;\n border: none;\n outline: none;\n transition: 0.2s;\n appearance: none;\n &:hover {\n background-color: #e1e3e3;\n }\n `}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n enableBackground=\"new 0 0 24 24\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#000000\"\n >\n <g>\n <rect fill=\"none\" height=\"24\" width=\"24\" />\n </g>\n <g>\n <path d=\"M5,20h14v-2H5V20z M19,9h-4V3H9v6H5l7,7L19,9z\" />\n </g>\n </svg>\n </button>\n );\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0B,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,iCAAA;AAAA,IAAAC,KAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAR;AAAA;AAMnB,MAAMS,UAAU,GAAIC,KAAsB,IAAK;EACpD,OACE,IAAA/B,MAAA,CAAAgC,GAAA,SAAAzB,QAAA;IACE0B,GAAG,EAAAX;EAQD,GACES,KAAK,CACV,CAAC;AAEN,CAAC;AAACG,OAAA,CAAAJ,UAAA,GAAAA,UAAA;AAAA,IAAAK,IAAA,GAAAZ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAR;AAAA;AAEK,MAAMe,cAAc,GACzBL,KAGC,IACE;EACH,OACE,IAAA/B,MAAA,CAAAgC,GAAA,YAAAzB,QAAA;IACE8B,KAAK,EAAG;AACd;EAAgD,GACtCN,KAAK;IACTO,IAAI,EAAC,QAAQ;IACbL,GAAG,EAAAE;EAkBD,IAEF,IAAAnC,MAAA,CAAAgC,GAAA;IACEO,KAAK,EAAC,4BAA4B;IAClCC,gBAAgB,EAAC,eAAe;IAChCC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,KAAK,EAAC,MAAM;IACZC,IAAI,EAAC;EAAS,GAEd,IAAA5C,MAAA,CAAAgC,GAAA,aACE,IAAAhC,MAAA,CAAAgC,GAAA;IAAMY,IAAI,EAAC,MAAM;IAACH,MAAM,EAAC,IAAI;IAACE,KAAK,EAAC;EAAI,CAAE,CACzC,CAAC,EACJ,IAAA3C,MAAA,CAAAgC,GAAA,aACE,IAAAhC,MAAA,CAAAgC,GAAA;IAAMa,CAAC,EAAC;EAA8C,CAAE,CACvD,CACA,CACC,CAAC;AAEb,CAAC;AAACX,OAAA,CAAAE,cAAA,GAAAA,cAAA"}
1
+ {"version":3,"file":"Controller.js","names":["_react","require","_react2","_interopRequireDefault","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_EMOTION_STRINGIFIED_CSS_ERROR__","_ref2","process","env","NODE_ENV","name","styles","map","toString","Controller","props","jsx","css","exports","_ref","DownloadButton","title","type","xmlns","enableBackground","height","viewBox","width","fill","d"],"sources":["../../src/Controller.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\n\ninterface ControllerProps extends React.ComponentPropsWithoutRef<\"div\"> {\n children?: React.ReactNode;\n}\n\nexport const Controller = (props: ControllerProps) => {\n return (\n <div\n css={css`\n box-sizing: border-box;\n display: flex;\n justify-content: flex-end;\n background-color: #f8f9fa;\n border-top: 1px solid #e1e3e3;\n border-right: 1px solid #e1e3e3;\n border-left: 1px solid #e1e3e3;\n `}\n {...props}\n />\n );\n};\n\nexport const DownloadButton = (\n props: React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n) => {\n return (\n <button\n title={`CSV形式でデータをダウンロードします。\nCtrlまたはCommandを押しながらクリックすることで名前を付けてダウンロードできます。`}\n {...props}\n type=\"button\"\n css={css`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n padding: 0px;\n margin: 0px;\n cursor: pointer;\n background-color: #f8f9fa;\n border: none;\n outline: none;\n transition: 0.2s;\n appearance: none;\n &:hover {\n background-color: #e1e3e3;\n }\n `}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n enableBackground=\"new 0 0 24 24\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#000000\"\n >\n <g>\n <rect fill=\"none\" height=\"24\" width=\"24\" />\n </g>\n <g>\n <path d=\"M5,20h14v-2H5V20z M19,9h-4V3H9v6H5l7,7L19,9z\" />\n </g>\n </svg>\n </button>\n );\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0B,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,iCAAA;AAAA,IAAAC,KAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAR;AAAA;AAMnB,MAAMS,UAAU,GAAIC,KAAsB,IAAK;EACpD,OACE,IAAA/B,MAAA,CAAAgC,GAAA,SAAAzB,QAAA;IACE0B,GAAG,EAAAX;EAQD,GACES,KAAK,CACV,CAAC;AAEN,CAAC;AAACG,OAAA,CAAAJ,UAAA,GAAAA,UAAA;AAAA,IAAAK,IAAA,GAAAZ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAR;AAAA;AAEK,MAAMe,cAAc,GACzBL,KAGC,IACE;EACH,OACE,IAAA/B,MAAA,CAAAgC,GAAA,YAAAzB,QAAA;IACE8B,KAAK,EAAG;AACd;EAAgD,GACtCN,KAAK;IACTO,IAAI,EAAC,QAAQ;IACbL,GAAG,EAAAE;EAkBD,IAEF,IAAAnC,MAAA,CAAAgC,GAAA;IACEO,KAAK,EAAC,4BAA4B;IAClCC,gBAAgB,EAAC,eAAe;IAChCC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,KAAK,EAAC,MAAM;IACZC,IAAI,EAAC;EAAS,GAEd,IAAA5C,MAAA,CAAAgC,GAAA,aACE,IAAAhC,MAAA,CAAAgC,GAAA;IAAMY,IAAI,EAAC,MAAM;IAACH,MAAM,EAAC,IAAI;IAACE,KAAK,EAAC;EAAI,CAAE,CACzC,CAAC,EACJ,IAAA3C,MAAA,CAAAgC,GAAA,aACE,IAAAhC,MAAA,CAAAgC,GAAA;IAAMa,CAAC,EAAC;EAA8C,CAAE,CACvD,CACA,CACC,CAAC;AAEb,CAAC;AAACX,OAAA,CAAAE,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomCell.js","names":["_Cell","require","_DataSheetCheckbox","_DataSheetInput","_DataSheetSelect","_reactWindow","_react","_interopRequireDefault","_react2","obj","__esModule","default","CustomCell","exports","React","memo","columnIndex","rowIndex","style","data","columns","handleSelectRow","handleMouseDownRow","handleMouseOverRow","handleMouseUpRow","isSelectRow","rows","handleChangeDataEditor","isSelection","handleMouseDown","handleMouseOver","handleChangeCheckbox","x","y","jsx","RowHeadCell","title","onClick","onMouseDown","onMouseOver","onMouseUp","selected","row","cell","readonly","type","list","key","validator","formatter","makeOptions","map","option","i","value","displayValue","undefined","Cell","invalid","DataSheetInput","defaultValue","onChange","readOnly","DataSheetCheckbox","defaultChecked","DataSheetSelect","Fragment","id","areEqual"],"sources":["../../src/CustomCell.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access */\nimport { Cell, RowHeadCell } from \"./Cell\";\nimport { ComponentType } from \"react\";\nimport { DataSheetCheckbox } from \"./DataSheetCheckbox\";\nimport { DataSheetInput } from \"./DataSheetInput\";\nimport { DataSheetSelect } from \"./DataSheetSelect\";\nimport { GridChildComponentProps, areEqual } from \"react-window\";\nimport React from \"react\";\n\nexport const CustomCell: ComponentType<GridChildComponentProps> = React.memo(\n ({\n columnIndex,\n rowIndex,\n style,\n data: {\n columns,\n handleSelectRow,\n handleMouseDownRow,\n handleMouseOverRow,\n handleMouseUpRow,\n isSelectRow,\n rows,\n handleChangeDataEditor,\n isSelection,\n data,\n handleMouseDown,\n handleMouseOver,\n handleChangeCheckbox,\n },\n }) => {\n const x = rowIndex;\n const y = columnIndex - 1;\n if (y === -1) {\n return (\n <RowHeadCell\n title={`${x}行目を選択`}\n data-row={x}\n data-column={0}\n onClick={handleSelectRow}\n onMouseDown={handleMouseDownRow}\n onMouseOver={handleMouseOverRow}\n onMouseUp={handleMouseUpRow}\n selected={isSelectRow(x)}\n style={style}\n >\n {x}\n </RowHeadCell>\n );\n }\n const row = rows[x];\n const cell = row[y];\n\n const {\n readonly = false,\n type,\n list,\n key,\n validator,\n formatter,\n } = columns[y];\n\n const selected = isSelection({\n x: x,\n y: y,\n });\n const makeOptions = () =>\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n list\n ? typeof list === \"function\"\n ? list({\n row: data[x],\n }).map((option: string, i: number) => (\n <option value={option} key={`${option}-${i}`}>\n {option}\n </option>\n ))\n : list.map((option: string, i: number) => (\n <option value={option} key={`${option}-${i}`}>\n {option}\n </option>\n ))\n : null;\n\n const displayValue =\n cell === undefined\n ? \"\"\n : formatter\n ? formatter(cell, {\n row: data[y],\n })\n : `${cell}`;\n return (\n <Cell\n style={style}\n title={displayValue}\n invalid={\n cell !== undefined && validator\n ? validator({\n row: data[x],\n })\n : false\n }\n readonly={readonly}\n selected={selected}\n data-row={x}\n data-column={y}\n value={cell}\n key={`row-${x}-cell-${y}`}\n onMouseDown={handleMouseDown}\n onMouseOver={handleMouseOver}\n >\n {readonly || type === undefined ? (\n <DataSheetInput\n type={type}\n defaultValue={displayValue}\n list={`${key}`}\n key={`${x}-${y}-${cell}`}\n data-row={x}\n data-column={y}\n onChange={handleChangeDataEditor}\n readOnly={readonly}\n />\n ) : type === \"checkbox\" ? (\n <DataSheetCheckbox\n type={type}\n data-row={x}\n data-column={y}\n onChange={handleChangeCheckbox}\n key={`${x}-${y}-${cell}`}\n defaultChecked={typeof cell === \"boolean\" ? cell : undefined}\n />\n ) : type === \"select\" ? (\n <DataSheetSelect\n data-row={x}\n data-column={y}\n defaultValue={cell as string}\n key={`${x}-${y}-${cell}`}\n onChange={handleChangeDataEditor}\n >\n {makeOptions()}\n </DataSheetSelect>\n ) : (\n <React.Fragment>\n <DataSheetInput\n type={type}\n defaultValue={cell}\n list={`${key}`}\n key={`${x}-${y}-${cell}`}\n data-row={x}\n data-column={y}\n onChange={handleChangeDataEditor}\n readOnly={readonly}\n />\n {list ? (\n <datalist id={key as string}>{makeOptions()}</datalist>\n ) : null}\n </React.Fragment>\n )}\n </Cell>\n );\n },\n areEqual\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"CustomCell.js","names":["_Cell","require","_DataSheetCheckbox","_DataSheetInput","_DataSheetSelect","_reactWindow","_react","_interopRequireDefault","_react2","obj","__esModule","default","CustomCell","exports","React","memo","columnIndex","rowIndex","style","data","columns","handleSelectRow","handleMouseDownRow","handleMouseOverRow","handleMouseUpRow","isSelectRow","rows","handleChangeDataEditor","isSelection","handleMouseDown","handleMouseOver","handleChangeCheckbox","x","y","jsx","RowHeadCell","title","onClick","onMouseDown","onMouseOver","onMouseUp","selected","row","cell","readonly","type","list","key","validator","formatter","makeOptions","map","option","i","value","displayValue","undefined","Cell","invalid","DataSheetInput","defaultValue","onChange","readOnly","DataSheetCheckbox","defaultChecked","DataSheetSelect","Fragment","id","areEqual"],"sources":["../../src/CustomCell.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access */\nimport { Cell, RowHeadCell } from \"./Cell\";\nimport { ComponentType } from \"react\";\nimport { DataSheetCheckbox } from \"./DataSheetCheckbox\";\nimport { DataSheetInput } from \"./DataSheetInput\";\nimport { DataSheetSelect } from \"./DataSheetSelect\";\nimport { GridChildComponentProps, areEqual } from \"react-window\";\nimport React from \"react\";\n\nexport const CustomCell: ComponentType<GridChildComponentProps> = React.memo(\n ({\n columnIndex,\n rowIndex,\n style,\n data: {\n columns,\n handleSelectRow,\n handleMouseDownRow,\n handleMouseOverRow,\n handleMouseUpRow,\n isSelectRow,\n rows,\n handleChangeDataEditor,\n isSelection,\n data,\n handleMouseDown,\n handleMouseOver,\n handleChangeCheckbox,\n },\n }) => {\n const x = rowIndex;\n const y = columnIndex - 1;\n if (y === -1) {\n return (\n <RowHeadCell\n title={`${x}行目を選択`}\n data-row={x}\n data-column={0}\n onClick={handleSelectRow}\n onMouseDown={handleMouseDownRow}\n onMouseOver={handleMouseOverRow}\n onMouseUp={handleMouseUpRow}\n selected={isSelectRow(x)}\n style={style}\n >\n {x}\n </RowHeadCell>\n );\n }\n const row = rows[x];\n const cell = row[y];\n\n const {\n readonly = false,\n type,\n list,\n key,\n validator,\n formatter,\n } = columns[y];\n\n const selected = isSelection({\n x: x,\n y: y,\n });\n const makeOptions = () =>\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n list\n ? typeof list === \"function\"\n ? list({\n row: data[x],\n }).map((option: string, i: number) => (\n <option value={option} key={`${option}-${i}`}>\n {option}\n </option>\n ))\n : list.map((option: string, i: number) => (\n <option value={option} key={`${option}-${i}`}>\n {option}\n </option>\n ))\n : null;\n\n const displayValue =\n cell === undefined\n ? \"\"\n : formatter\n ? formatter(cell, {\n row: data[y],\n })\n : `${cell}`;\n return (\n <Cell\n style={style}\n title={displayValue}\n invalid={\n cell !== undefined && validator\n ? validator({\n row: data[x],\n })\n : false\n }\n readonly={readonly}\n selected={selected}\n data-row={x}\n data-column={y}\n value={cell}\n key={`row-${x}-cell-${y}`}\n onMouseDown={handleMouseDown}\n onMouseOver={handleMouseOver}\n >\n {readonly || type === undefined ? (\n <DataSheetInput\n type={type}\n defaultValue={displayValue}\n list={`${key}`}\n key={`${x}-${y}-${cell}`}\n data-row={x}\n data-column={y}\n onChange={handleChangeDataEditor}\n readOnly={readonly}\n />\n ) : type === \"checkbox\" ? (\n <DataSheetCheckbox\n type={type}\n data-row={x}\n data-column={y}\n onChange={handleChangeCheckbox}\n key={`${x}-${y}-${cell}`}\n defaultChecked={typeof cell === \"boolean\" ? cell : undefined}\n />\n ) : type === \"select\" ? (\n <DataSheetSelect\n data-row={x}\n data-column={y}\n defaultValue={cell as string}\n key={`${x}-${y}-${cell}`}\n onChange={handleChangeDataEditor}\n >\n {makeOptions()}\n </DataSheetSelect>\n ) : (\n <React.Fragment>\n <DataSheetInput\n type={type}\n defaultValue={cell}\n list={`${key}`}\n key={`${x}-${y}-${cell}`}\n data-row={x}\n data-column={y}\n onChange={handleChangeDataEditor}\n readOnly={readonly}\n />\n {list ? (\n <datalist id={key as string}>{makeOptions()}</datalist>\n ) : null}\n </React.Fragment>\n )}\n </Cell>\n );\n },\n areEqual\n);\n"],"mappings":"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","ignoreList":[]}