@teppen/react-ui 1.7.6 → 1.8.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/dist/cjs/node_modules/react-icons/bi/index.js +2 -0
- package/dist/cjs/node_modules/react-icons/bi/index.js.map +1 -0
- package/dist/cjs/node_modules/react-icons/ti/index.js +2 -0
- package/dist/cjs/node_modules/react-icons/ti/index.js.map +1 -0
- package/dist/cjs/src/search-bar/condition-search-bar/base.js +3 -0
- package/dist/cjs/src/search-bar/condition-search-bar/base.js.map +1 -0
- package/dist/cjs/src/search-bar/condition-search-bar/condition-input-management/context.js +2 -0
- package/dist/cjs/src/search-bar/condition-search-bar/condition-input-management/context.js.map +1 -0
- package/dist/cjs/src/search-bar/condition-search-bar/condition-input-management/hook.js +2 -0
- package/dist/cjs/src/search-bar/condition-search-bar/condition-input-management/hook.js.map +1 -0
- package/dist/cjs/src/search-bar/condition-search-bar/condition-input-management/provider.js +2 -0
- package/dist/cjs/src/search-bar/condition-search-bar/condition-input-management/provider.js.map +1 -0
- package/dist/cjs/src/search-bar/condition-search-bar/condition-input-management/reducer.js +2 -0
- package/dist/cjs/src/search-bar/condition-search-bar/condition-input-management/reducer.js.map +1 -0
- package/dist/cjs/src/search-bar/condition-search-bar/condition-list.js +3 -0
- package/dist/cjs/src/search-bar/condition-search-bar/condition-list.js.map +1 -0
- package/dist/cjs/src/search-bar/condition-search-bar/input-form.js +3 -0
- package/dist/cjs/src/search-bar/condition-search-bar/input-form.js.map +1 -0
- package/dist/cjs/src/search-bar/id-generator/context.js +2 -0
- package/dist/cjs/src/search-bar/id-generator/context.js.map +1 -0
- package/dist/cjs/src/search-bar/id-generator/provider.js +3 -0
- package/dist/cjs/src/select-box/index.js +2 -1
- package/dist/cjs/src/select-box/index.js.map +1 -1
- package/dist/cjs/src/select-box/options-window/component.js +2 -0
- package/dist/cjs/src/select-box/options-window/component.js.map +1 -0
- package/dist/cjs/src/select-box/options-window/context.js +2 -0
- package/dist/cjs/src/select-box/options-window/context.js.map +1 -0
- package/dist/cjs/src/select-box/options-window/hook.js +2 -0
- package/dist/cjs/src/select-box/options-window/hook.js.map +1 -0
- package/dist/cjs/src/select-box/options-window/provider.js +2 -0
- package/dist/cjs/src/select-box/options-window/provider.js.map +1 -0
- package/dist/cjs/src/select-box/options-window/reducer.js +2 -0
- package/dist/cjs/src/select-box/options-window/reducer.js.map +1 -0
- package/dist/cjs/src/select-box/parts/frame.js +1 -1
- package/dist/cjs/src/select-box/parts/frame.js.map +1 -1
- package/dist/cjs/src/select-box/parts/input-area.js +1 -1
- package/dist/cjs/src/select-box/provider.js +3 -0
- package/dist/cjs/src/share/search-operator/constant.js +2 -0
- package/dist/cjs/src/share/search-operator/constant.js.map +1 -0
- package/dist/cjs/src/table/cell/hooks.js +1 -1
- package/dist/cjs/src/table/cell/hooks.js.map +1 -1
- package/dist/cjs/src/table/checkbox/components.js +1 -1
- package/dist/cjs/src/table/filter-v2/context.js +2 -0
- package/dist/cjs/src/table/filter-v2/context.js.map +1 -0
- package/dist/cjs/src/table/filter-v2/hook.js +2 -0
- package/dist/cjs/src/table/filter-v2/hook.js.map +1 -0
- package/dist/cjs/src/table/filter-v2/provider.js +2 -0
- package/dist/cjs/src/table/filter-v2/provider.js.map +1 -0
- package/dist/cjs/src/table/filter-v2/reducer.js +2 -0
- package/dist/cjs/src/table/filter-v2/reducer.js.map +1 -0
- package/dist/cjs/src/table/frame/frame.js +3 -0
- package/dist/cjs/src/table/frame/frame.js.map +1 -0
- package/dist/cjs/src/table/header/columns-width/context.js +2 -0
- package/dist/cjs/src/table/header/columns-width/context.js.map +1 -0
- package/dist/cjs/src/table/header/columns-width/provider.js +3 -0
- package/dist/cjs/src/table/header/columns-width/provider.js.map +1 -0
- package/dist/cjs/src/table/header/columns-width/reducer.js +2 -0
- package/dist/cjs/src/table/header/columns-width/reducer.js.map +1 -0
- package/dist/cjs/src/table/header/header-v2-hook.js +2 -0
- package/dist/cjs/src/table/header/header-v2-hook.js.map +1 -0
- package/dist/cjs/src/table/header/header-v2.js +2 -0
- package/dist/cjs/src/table/header/header-v2.js.map +1 -0
- package/dist/cjs/src/table/header/header.js +1 -1
- package/dist/cjs/src/table/header/x-scroll-position/context.js +2 -0
- package/dist/cjs/src/table/header/x-scroll-position/context.js.map +1 -0
- package/dist/cjs/src/table/header/x-scroll-position/provider.js +2 -0
- package/dist/cjs/src/table/header/x-scroll-position/provider.js.map +1 -0
- package/dist/cjs/src/table/header/x-scroll-position/reducer.js +2 -0
- package/dist/cjs/src/table/header/x-scroll-position/reducer.js.map +1 -0
- package/dist/cjs/src/table/id/id-generator.js +1 -1
- package/dist/cjs/src/table/id/id-generator.js.map +1 -1
- package/dist/cjs/src/table/range/provider.js +1 -1
- package/dist/cjs/src/table/range/provider.js.map +1 -1
- package/dist/cjs/src/table/sheet/components.js +1 -1
- package/dist/cjs/src/table/sheet/components.js.map +1 -1
- package/dist/cjs/src/table/table/base.js +1 -1
- package/dist/cjs/src/table/table/component-provider/provider.js +3 -0
- package/dist/cjs/src/table/table/component-provider/provider.js.map +1 -0
- package/dist/cjs/src/table/table/hook.js +1 -1
- package/dist/cjs/src/table/table/hook.js.map +1 -1
- package/dist/esm/node_modules/react-icons/bi/index.js +2 -0
- package/dist/esm/node_modules/react-icons/bi/index.js.map +1 -0
- package/dist/esm/node_modules/react-icons/ti/index.js +2 -0
- package/dist/esm/node_modules/react-icons/ti/index.js.map +1 -0
- package/dist/esm/src/search-bar/condition-search-bar/base.js +3 -0
- package/dist/esm/src/search-bar/condition-search-bar/base.js.map +1 -0
- package/dist/esm/src/search-bar/condition-search-bar/condition-input-management/context.js +2 -0
- package/dist/esm/src/search-bar/condition-search-bar/condition-input-management/context.js.map +1 -0
- package/dist/esm/src/search-bar/condition-search-bar/condition-input-management/hook.js +2 -0
- package/dist/esm/src/search-bar/condition-search-bar/condition-input-management/hook.js.map +1 -0
- package/dist/esm/src/search-bar/condition-search-bar/condition-input-management/provider.js +2 -0
- package/dist/esm/src/search-bar/condition-search-bar/condition-input-management/provider.js.map +1 -0
- package/dist/esm/src/search-bar/condition-search-bar/condition-input-management/reducer.js +2 -0
- package/dist/esm/src/search-bar/condition-search-bar/condition-input-management/reducer.js.map +1 -0
- package/dist/esm/src/search-bar/condition-search-bar/condition-list.js +3 -0
- package/dist/esm/src/search-bar/condition-search-bar/condition-list.js.map +1 -0
- package/dist/esm/src/search-bar/condition-search-bar/input-form.js +3 -0
- package/dist/esm/src/search-bar/condition-search-bar/input-form.js.map +1 -0
- package/dist/esm/src/search-bar/id-generator/context.js +2 -0
- package/dist/esm/src/search-bar/id-generator/context.js.map +1 -0
- package/dist/esm/src/search-bar/id-generator/provider.js +3 -0
- package/dist/esm/src/search-bar/id-generator/provider.js.map +1 -0
- package/dist/esm/src/select-box/index.js +2 -1
- package/dist/esm/src/select-box/index.js.map +1 -1
- package/dist/esm/src/select-box/options-window/component.js +2 -0
- package/dist/esm/src/select-box/options-window/component.js.map +1 -0
- package/dist/esm/src/select-box/options-window/context.js +2 -0
- package/dist/esm/src/select-box/options-window/context.js.map +1 -0
- package/dist/esm/src/select-box/options-window/hook.js +2 -0
- package/dist/esm/src/select-box/options-window/hook.js.map +1 -0
- package/dist/esm/src/select-box/options-window/provider.js +2 -0
- package/dist/esm/src/select-box/options-window/provider.js.map +1 -0
- package/dist/esm/src/select-box/options-window/reducer.js +2 -0
- package/dist/esm/src/select-box/options-window/reducer.js.map +1 -0
- package/dist/esm/src/select-box/parts/frame.js +1 -1
- package/dist/esm/src/select-box/parts/frame.js.map +1 -1
- package/dist/esm/src/select-box/parts/input-area.js +1 -1
- package/dist/esm/src/select-box/provider.js +3 -0
- package/dist/esm/src/select-box/provider.js.map +1 -0
- package/dist/esm/src/share/search-operator/constant.js +2 -0
- package/dist/esm/src/share/search-operator/constant.js.map +1 -0
- package/dist/esm/src/table/cell/hooks.js +1 -1
- package/dist/esm/src/table/cell/hooks.js.map +1 -1
- package/dist/esm/src/table/checkbox/components.js +1 -1
- package/dist/esm/src/table/filter-v2/context.js +2 -0
- package/dist/esm/src/table/filter-v2/context.js.map +1 -0
- package/dist/esm/src/table/filter-v2/hook.js +2 -0
- package/dist/esm/src/table/filter-v2/hook.js.map +1 -0
- package/dist/esm/src/table/filter-v2/provider.js +2 -0
- package/dist/esm/src/table/filter-v2/provider.js.map +1 -0
- package/dist/esm/src/table/filter-v2/reducer.js +2 -0
- package/dist/esm/src/table/filter-v2/reducer.js.map +1 -0
- package/dist/esm/src/table/frame/frame.js +3 -0
- package/dist/esm/src/table/frame/frame.js.map +1 -0
- package/dist/esm/src/table/header/columns-width/context.js +2 -0
- package/dist/esm/src/table/header/columns-width/context.js.map +1 -0
- package/dist/esm/src/table/header/columns-width/provider.js +3 -0
- package/dist/esm/src/table/header/columns-width/provider.js.map +1 -0
- package/dist/esm/src/table/header/columns-width/reducer.js +2 -0
- package/dist/esm/src/table/header/columns-width/reducer.js.map +1 -0
- package/dist/esm/src/table/header/header-v2-hook.js +2 -0
- package/dist/esm/src/table/header/header-v2-hook.js.map +1 -0
- package/dist/esm/src/table/header/header-v2.js +2 -0
- package/dist/esm/src/table/header/header-v2.js.map +1 -0
- package/dist/esm/src/table/header/header.js +1 -1
- package/dist/esm/src/table/header/x-scroll-position/context.js +2 -0
- package/dist/esm/src/table/header/x-scroll-position/context.js.map +1 -0
- package/dist/esm/src/table/header/x-scroll-position/provider.js +2 -0
- package/dist/esm/src/table/header/x-scroll-position/provider.js.map +1 -0
- package/dist/esm/src/table/header/x-scroll-position/reducer.js +2 -0
- package/dist/esm/src/table/header/x-scroll-position/reducer.js.map +1 -0
- package/dist/esm/src/table/id/id-generator.js +1 -1
- package/dist/esm/src/table/id/id-generator.js.map +1 -1
- package/dist/esm/src/table/range/provider.js +1 -1
- package/dist/esm/src/table/range/provider.js.map +1 -1
- package/dist/esm/src/table/sheet/components.js +1 -1
- package/dist/esm/src/table/sheet/components.js.map +1 -1
- package/dist/esm/src/table/table/base.js +1 -1
- package/dist/esm/src/table/table/component-provider/provider.js +3 -0
- package/dist/esm/src/table/table/component-provider/provider.js.map +1 -0
- package/dist/esm/src/table/table/hook.js +1 -1
- package/dist/esm/src/table/table/hook.js.map +1 -1
- package/dist/index.d.ts +28 -4
- package/package.json +1 -1
- package/dist/cjs/src/select-box/parts/options-area.js +0 -2
- package/dist/cjs/src/select-box/parts/options-area.js.map +0 -1
- package/dist/cjs/src/table/filter/components.js +0 -3
- package/dist/cjs/src/table/filter/components.js.map +0 -1
- package/dist/cjs/src/table/filter/constants.js +0 -2
- package/dist/cjs/src/table/filter/constants.js.map +0 -1
- package/dist/cjs/src/table/filter/filter-icon.js +0 -2
- package/dist/cjs/src/table/filter/filter-icon.js.map +0 -1
- package/dist/cjs/src/table/filter/hooks/selectedFilteringColumn/hooks.js +0 -2
- package/dist/cjs/src/table/filter/hooks/selectedFilteringColumn/hooks.js.map +0 -1
- package/dist/cjs/src/table/filter/hooks/selectedFilteringColumn/provider.js +0 -2
- package/dist/cjs/src/table/filter/hooks/selectedFilteringColumn/provider.js.map +0 -1
- package/dist/cjs/src/table/filter/hooks.js +0 -2
- package/dist/cjs/src/table/filter/hooks.js.map +0 -1
- package/dist/cjs/src/table/filter/provider.js +0 -3
- package/dist/cjs/src/table/header/resize-col-width-hook.js +0 -2
- package/dist/cjs/src/table/header/resize-col-width-hook.js.map +0 -1
- package/dist/esm/src/select-box/parts/options-area.js +0 -2
- package/dist/esm/src/select-box/parts/options-area.js.map +0 -1
- package/dist/esm/src/table/filter/components.js +0 -3
- package/dist/esm/src/table/filter/components.js.map +0 -1
- package/dist/esm/src/table/filter/constants.js +0 -2
- package/dist/esm/src/table/filter/constants.js.map +0 -1
- package/dist/esm/src/table/filter/filter-icon.js +0 -2
- package/dist/esm/src/table/filter/filter-icon.js.map +0 -1
- package/dist/esm/src/table/filter/hooks/selectedFilteringColumn/hooks.js +0 -2
- package/dist/esm/src/table/filter/hooks/selectedFilteringColumn/hooks.js.map +0 -1
- package/dist/esm/src/table/filter/hooks/selectedFilteringColumn/provider.js +0 -2
- package/dist/esm/src/table/filter/hooks/selectedFilteringColumn/provider.js.map +0 -1
- package/dist/esm/src/table/filter/hooks.js +0 -2
- package/dist/esm/src/table/filter/hooks.js.map +0 -1
- package/dist/esm/src/table/filter/provider.js +0 -3
- package/dist/esm/src/table/header/resize-col-width-hook.js +0 -2
- package/dist/esm/src/table/header/resize-col-width-hook.js.map +0 -1
- /package/dist/cjs/src/{table/filter → search-bar/id-generator}/provider.js.map +0 -0
- /package/dist/{esm/src/table/filter → cjs/src/select-box}/provider.js.map +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{
|
|
2
|
+
import{jsx as t}from"react/jsx-runtime";import{memo as r}from"react";import{useColumnsWidthState as i}from"./columns-width/context.js";import"../../../node_modules/tslib/tslib.es6.js";var m=r((function(r){var m=(0,i().getColumnWidth)(r.keyname);return t("th",{style:{width:m,maxWidth:m,minWidth:m}})}));export{m as TableHeaderElement};
|
|
3
3
|
//# sourceMappingURL=header.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__assign as r}from"../../../../node_modules/tslib/tslib.es6.js";import{createContext as o,useContext as t}from"react";var i=o(null),n=o(null);function e(){var r=t(i);if(null===r)throw new Error("useScrollXPositionState must be used within a ScrollXPositionProvider");return r}function l(){var r=t(n);if(null===r)throw new Error("useScrollXPositionAction must be used within a ScrollXPositionProvider");return r}function u(){return r(r({},e()),l())}export{n as ScrollXPositionActionContext,i as ScrollXPositionStateContext,u as useScrollXPosition,l as useScrollXPositionAction,e as useScrollXPositionState};
|
|
2
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../../../../src/table/header/x-scroll-position/context.ts"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport {\n TScrollXPositionActionContext,\n TScrollXPositionStateContext,\n} from \"./type\";\n\nexport const ScrollXPositionStateContext =\n createContext<TScrollXPositionStateContext | null>(null);\nexport const ScrollXPositionActionContext =\n createContext<TScrollXPositionActionContext | null>(null);\n\nexport function useScrollXPositionState() {\n const context = useContext(ScrollXPositionStateContext);\n\n if (context === null) {\n throw new Error(\n \"useScrollXPositionState must be used within a ScrollXPositionProvider\"\n );\n }\n\n return context;\n}\n\nexport function useScrollXPositionAction() {\n const context = useContext(ScrollXPositionActionContext);\n\n if (context === null) {\n throw new Error(\n \"useScrollXPositionAction must be used within a ScrollXPositionProvider\"\n );\n }\n\n return context;\n}\n\nexport function useScrollXPosition() {\n return { ...useScrollXPositionState(), ...useScrollXPositionAction() };\n}\n"],"names":["ScrollXPositionStateContext","createContext","ScrollXPositionActionContext","useScrollXPositionState","context","useContext","Error","useScrollXPositionAction","useScrollXPosition","__assign"],"mappings":"iIAMaA,EACXC,EAAmD,MACxCC,EACXD,EAAoD,eAEtCE,IACd,IAAMC,EAAUC,EAAWL,GAE3B,GAAgB,OAAZI,EACF,MAAM,IAAIE,MACR,yEAIJ,OAAOF,CACT,UAEgBG,IACd,IAAMH,EAAUC,EAAWH,GAE3B,GAAgB,OAAZE,EACF,MAAM,IAAIE,MACR,0EAIJ,OAAOF,CACT,UAEgBI,IACd,OAAAC,EAAAA,EAAA,CAAA,EAAYN,KAA8BI,IAC5C"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{ScrollXPositionStateContext as e,ScrollXPositionActionContext as t}from"./context.js";import{useScrollXPositionReducer as i}from"./reducer.js";function o(o){var n=i(o.initialState),a=n.state,c=n.action;return r(e.Provider,{value:a,children:r(t.Provider,{value:c,children:o.children})})}export{o as ScrollXPositionProvider};
|
|
2
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sources":["../../../../../../src/table/header/x-scroll-position/provider.tsx"],"sourcesContent":["import {\n ScrollXPositionActionContext,\n ScrollXPositionStateContext,\n} from \"./context\";\nimport { useScrollXPositionReducer } from \"./reducer\";\n\nexport function ScrollXPositionProvider(props: {\n children: React.ReactNode;\n initialState?: number;\n}) {\n const { state, action } = useScrollXPositionReducer(props.initialState);\n\n return (\n <ScrollXPositionStateContext.Provider value={state}>\n <ScrollXPositionActionContext.Provider value={action}>\n {props.children}\n </ScrollXPositionActionContext.Provider>\n </ScrollXPositionStateContext.Provider>\n );\n}\n"],"names":["ScrollXPositionProvider","props","_a","useScrollXPositionReducer","initialState","state","action","_jsx","ScrollXPositionStateContext","Provider","value","children","ScrollXPositionActionContext"],"mappings":"8LAMM,SAAUA,EAAwBC,GAIhC,IAAAC,EAAoBC,EAA0BF,EAAMG,cAAlDC,EAAKH,EAAAG,MAAEC,WAEf,OACEC,EAACC,EAA4BC,UAASC,MAAOL,EAAKM,SAChDJ,EAACK,EAA6BH,SAAQ,CAACC,MAAOJ,EAAMK,SACjDV,EAAMU,YAIf"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useReducer as t,useMemo as a}from"react";var o=function(t,a){if("set"===a.type)return a.payload.x===t.x||a.payload.x<0?t:{x:a.payload.x}},r=function(r){var n=t(o,{x:r||0}),e=n[0],p=n[1];return{state:e,action:a((function(){return{setScrollX:function(t){p({type:"set",payload:{x:t}})}}}),[])}};export{r as useScrollXPositionReducer};
|
|
2
|
+
//# sourceMappingURL=reducer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reducer.js","sources":["../../../../../../src/table/header/x-scroll-position/reducer.ts"],"sourcesContent":["import { useMemo, useReducer } from \"react\";\nimport { TScrollXPositionHook, TScrollXPositionReducer } from \"./type\";\n\nconst scrollXPositionReducer: TScrollXPositionReducer = (state, action) => {\n switch (action.type) {\n case \"set\":\n if (action.payload.x === state.x) {\n return state;\n }\n\n if (action.payload.x < 0) {\n return state;\n }\n\n return {\n x: action.payload.x,\n };\n }\n};\n\nexport const useScrollXPositionReducer: TScrollXPositionHook = (\n initialState\n) => {\n const [state, dispatch] = useReducer(scrollXPositionReducer, {\n x: initialState || 0,\n });\n\n const action = useMemo(\n () => ({\n setScrollX: (x: number) => {\n dispatch({ type: \"set\", payload: { x } });\n },\n }),\n []\n );\n\n return { state, action };\n};\n"],"names":["scrollXPositionReducer","state","action","type","payload","x","useScrollXPositionReducer","initialState","_a","useReducer","dispatch","useMemo","setScrollX"],"mappings":"gDAGA,IAAMA,EAAkD,SAACC,EAAOC,GAC9D,GACO,QADCA,EAAOC,KAEX,OAAID,EAAOE,QAAQC,IAAMJ,EAAMI,GAI3BH,EAAOE,QAAQC,EAAI,EAHdJ,EAOF,CACLI,EAAGH,EAAOE,QAAQC,EAG1B,EAEaC,EAAkD,SAC7DC,GAEM,IAAAC,EAAoBC,EAAWT,EAAwB,CAC3DK,EAAGE,GAAgB,IADdN,EAAKO,EAAA,GAAEE,OAad,MAAO,CAAET,MAAKA,EAAEC,OATDS,GACb,WAAM,MAAC,CACLC,WAAY,SAACP,GACXK,EAAS,CAAEP,KAAM,MAAOC,QAAS,CAAEC,EAACA,IACrC,EAHG,GAKN,IAIJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t=function(){function t(t){this.additionalId=t}return t.prototype.getTableId=function(){return"ReactUI:Table".concat(this.additionalId?":".concat(this.additionalId):"")},t.prototype.getTableColId=function(t){return"".concat(this.getTableId(),":Column-").concat(t.columnIndex)},t.prototype.getTableCellId=function(t){return"".concat(this.getTableId(),":Cell-").concat(t.rowIndex,"-").concat(t.columnIndex)},t.prototype.getEditorId=function(){return"".concat(this.getTableId(),":Editor")},t.prototype.extractCellIndexFromId=function(t){var
|
|
1
|
+
var t=function(){function t(t){this.additionalId=t}return t.prototype.getTableId=function(){return"ReactUI:Table".concat(this.additionalId?":".concat(this.additionalId):"")},t.prototype.getTableColId=function(t){return"".concat(this.getTableId(),":Column-").concat(t.columnIndex)},t.prototype.getTableCellId=function(t){return"".concat(this.getTableId(),":Cell-").concat(t.rowIndex,"-").concat(t.columnIndex)},t.prototype.getEditorId=function(){return"".concat(this.getTableId(),":Editor")},t.prototype.getTableHeaderId=function(){return"".concat(this.getTableId(),":Header")},t.prototype.extractCellIndexFromId=function(t){var e=t.split("-"),n=e[e.length-2],o=e[e.length-1];return[Number(n),Number(o)]},t}();export{t as IdGenerator};
|
|
2
2
|
//# sourceMappingURL=id-generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id-generator.js","sources":["../../../../../src/table/id/id-generator.ts"],"sourcesContent":["import { ITableIdGenerator } from \"./interface\";\n\nexport class IdGenerator implements ITableIdGenerator {\n constructor(private additionalId?: string) {}\n\n getTableId(): string {\n return `ReactUI:Table${this.additionalId ? `:${this.additionalId}` : \"\"}`;\n }\n getTableColId(args: { columnIndex: number }): string {\n return `${this.getTableId()}:Column-${args.columnIndex}`;\n }\n getTableCellId(args: { rowIndex: number; columnIndex: number }): string {\n return `${this.getTableId()}:Cell-${args.rowIndex}-${args.columnIndex}`;\n }\n getEditorId(): string {\n return `${this.getTableId()}:Editor`;\n }\n extractCellIndexFromId(id: string): [number, number] {\n const arr = id.split(\"-\");\n const rowIndex = arr[arr.length - 2];\n const columnIndex = arr[arr.length - 1];\n return [Number(rowIndex), Number(columnIndex)];\n }\n}\n"],"names":["IdGenerator","additionalId","this","prototype","getTableId","concat","getTableColId","args","columnIndex","getTableCellId","rowIndex","getEditorId","extractCellIndexFromId","id","arr","split","length","Number"],"mappings":"AAEA,IAAAA,EAAA,WACE,SAAAA,EAAoBC,GAAAC,KAAYD,aAAZA,CAAyB,
|
|
1
|
+
{"version":3,"file":"id-generator.js","sources":["../../../../../src/table/id/id-generator.ts"],"sourcesContent":["import { ITableIdGenerator } from \"./interface\";\n\nexport class IdGenerator implements ITableIdGenerator {\n constructor(private additionalId?: string) {}\n\n getTableId(): string {\n return `ReactUI:Table${this.additionalId ? `:${this.additionalId}` : \"\"}`;\n }\n getTableColId(args: { columnIndex: number }): string {\n return `${this.getTableId()}:Column-${args.columnIndex}`;\n }\n getTableCellId(args: { rowIndex: number; columnIndex: number }): string {\n return `${this.getTableId()}:Cell-${args.rowIndex}-${args.columnIndex}`;\n }\n getEditorId(): string {\n return `${this.getTableId()}:Editor`;\n }\n getTableHeaderId(): string {\n return `${this.getTableId()}:Header`;\n }\n extractCellIndexFromId(id: string): [number, number] {\n const arr = id.split(\"-\");\n const rowIndex = arr[arr.length - 2];\n const columnIndex = arr[arr.length - 1];\n return [Number(rowIndex), Number(columnIndex)];\n }\n}\n"],"names":["IdGenerator","additionalId","this","prototype","getTableId","concat","getTableColId","args","columnIndex","getTableCellId","rowIndex","getEditorId","getTableHeaderId","extractCellIndexFromId","id","arr","split","length","Number"],"mappings":"AAEA,IAAAA,EAAA,WACE,SAAAA,EAAoBC,GAAAC,KAAYD,aAAZA,CAAyB,CAuB/C,OArBED,EAAAG,UAAAC,WAAA,WACE,MAAO,uBAAgBF,KAAKD,aAAe,IAAAI,OAAIH,KAAKD,cAAiB,KAEvED,EAAaG,UAAAG,cAAb,SAAcC,GACZ,MAAO,GAAAF,OAAGH,KAAKE,gCAAuBG,EAAKC,cAE7CR,EAAcG,UAAAM,eAAd,SAAeF,GACb,MAAO,GAAGF,OAAAH,KAAKE,aAAqB,UAAAC,OAAAE,EAAKG,SAAY,KAAAL,OAAAE,EAAKC,cAE5DR,EAAAG,UAAAQ,YAAA,WACE,MAAO,UAAGT,KAAKE,yBAEjBJ,EAAAG,UAAAS,iBAAA,WACE,MAAO,UAAGV,KAAKE,yBAEjBJ,EAAsBG,UAAAU,uBAAtB,SAAuBC,GACrB,IAAMC,EAAMD,EAAGE,MAAM,KACfN,EAAWK,EAAIA,EAAIE,OAAS,GAC5BT,EAAcO,EAAIA,EAAIE,OAAS,GACrC,MAAO,CAACC,OAAOR,GAAWQ,OAAOV,KAEpCR,CAAD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign as e}from"../../../node_modules/tslib/tslib.es6.js";import{jsx as t,jsxs as n,Fragment as r}from"react/jsx-runtime";import{createContext as o,useContext as i,useEffect as d}from"react";import{NoImplementeFunction as a}from"../lib/errors.js";import{useRangeReducer as s}from"./hooks.js";import{useTablePropertyStateContext as l}from"../table-property/provider.js";import{useTableIdGenerator as c}from"../id/provider.js";var m=o({isSelecting:!1}),u=o({setMax:a,startSelectRange:a,moveSelectRange:a,endSelectRange:a,moveUp:a,moveDown:a,moveLeft:a,moveRight:a,extendUp:a,extendDown:a,extendLeft:a,extendRight:a,reset:a,setRange:a});function x(){return i(m)}function f(){return i(u)}function p(){return e(e({},x()),f())}function v(){var e=f().setMax,n=l(),o=n.maxDisplayRowCount,i=n.maxDisplayColCount;return d((function(){e({maxRowIndex:o-1,maxColIndex:i-1})}),[o,i]),t(r,{})}function g(e){var n=c(),o=x();if(d((function(){if(o.isSelecting){var e=document.getElementById(n.getTableCellId({rowIndex:o.end.rowIndex,columnIndex:o.end.colIndex}));e&&(e.scrollIntoView({behavior:"
|
|
1
|
+
import{__assign as e}from"../../../node_modules/tslib/tslib.es6.js";import{jsx as t,jsxs as n,Fragment as r}from"react/jsx-runtime";import{createContext as o,useContext as i,useEffect as d}from"react";import{NoImplementeFunction as a}from"../lib/errors.js";import{useRangeReducer as s}from"./hooks.js";import{useTablePropertyStateContext as l}from"../table-property/provider.js";import{useTableIdGenerator as c}from"../id/provider.js";var m=o({isSelecting:!1}),u=o({setMax:a,startSelectRange:a,moveSelectRange:a,endSelectRange:a,moveUp:a,moveDown:a,moveLeft:a,moveRight:a,extendUp:a,extendDown:a,extendLeft:a,extendRight:a,reset:a,setRange:a});function x(){return i(m)}function f(){return i(u)}function p(){return e(e({},x()),f())}function v(){var e=f().setMax,n=l(),o=n.maxDisplayRowCount,i=n.maxDisplayColCount;return d((function(){e({maxRowIndex:o-1,maxColIndex:i-1})}),[o,i]),t(r,{})}function g(e){var n=c(),o=x();if(d((function(){if(o.isSelecting){var e=document.getElementById(n.getTableCellId({rowIndex:o.end.rowIndex,columnIndex:o.end.colIndex}));e&&(e.scrollIntoView({behavior:"instant",block:"nearest",inline:"nearest"}),e.focus())}}),[o]),!o.isSelecting)return t(r,{});var i=o.rangeBox,a=o.start,s=o.end;return a.xEnd<s.xEnd?s.xEnd:a.xEnd,a.yEnd<s.yEnd?s.yEnd:a.yEnd,t(r,{children:t("div",{className:"absolute border border-gray-500 bg-gray-500 bg-opacity-10 ".concat(e.isCopied?"border-dashed":"border-solid"),style:{top:i.top,left:i.left,width:i.width,height:i.height,pointerEvents:"none"}})})}function h(e){var r=e.children,o=s(),i=o.state,d=o.actions;return t(m.Provider,{value:i,children:n(u.Provider,{value:d,children:[t(v,{}),r]})})}export{h as RangeProvider,g as TestRange,f as useRangeActionContext,p as useRangeContext,x as useRangeStateContext};
|
|
2
2
|
//# sourceMappingURL=provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sources":["../../../../../src/table/range/provider.tsx"],"sourcesContent":["import { createContext, useContext, useEffect } from \"react\";\nimport { TRangeActionContext, TRangeStateContext } from \"./type\";\nimport { NoImplementeFunction } from \"../lib/errors\";\nimport { useRangeReducer } from \"./hooks\";\nimport { useTablePropertyStateContext } from \"../table-property/provider\";\nimport { useTableIdGenerator } from \"../id\";\n\nconst RangeStateContext = createContext<TRangeStateContext>({\n isSelecting: false,\n});\n\nconst RangeActionContext = createContext<TRangeActionContext>({\n setMax: NoImplementeFunction,\n startSelectRange: NoImplementeFunction,\n moveSelectRange: NoImplementeFunction,\n endSelectRange: NoImplementeFunction,\n moveUp: NoImplementeFunction,\n moveDown: NoImplementeFunction,\n moveLeft: NoImplementeFunction,\n moveRight: NoImplementeFunction,\n extendUp: NoImplementeFunction,\n extendDown: NoImplementeFunction,\n extendLeft: NoImplementeFunction,\n extendRight: NoImplementeFunction,\n reset: NoImplementeFunction,\n setRange: NoImplementeFunction,\n});\n\nexport function useRangeStateContext() {\n return useContext(RangeStateContext);\n}\n\nexport function useRangeActionContext() {\n return useContext(RangeActionContext);\n}\n\nexport function useRangeContext() {\n return { ...useRangeStateContext(), ...useRangeActionContext() };\n}\n\nfunction EffectSetMax() {\n const { setMax } = useRangeActionContext();\n const { maxDisplayRowCount, maxDisplayColCount } =\n useTablePropertyStateContext();\n\n useEffect(() => {\n setMax({\n maxRowIndex: maxDisplayRowCount - 1,\n maxColIndex: maxDisplayColCount - 1,\n });\n }, [maxDisplayRowCount, maxDisplayColCount]);\n\n return <></>;\n}\n\nexport function TestRange(props: { isCopied?: boolean }) {\n const IdGenerator = useTableIdGenerator();\n const state = useRangeStateContext();\n\n useEffect(() => {\n if (state.isSelecting) {\n const endElement = document.getElementById(\n IdGenerator.getTableCellId({\n rowIndex: state.end.rowIndex,\n columnIndex: state.end.colIndex,\n })\n );\n\n if (endElement) {\n endElement.scrollIntoView({\n behavior: \"
|
|
1
|
+
{"version":3,"file":"provider.js","sources":["../../../../../src/table/range/provider.tsx"],"sourcesContent":["import { createContext, useContext, useEffect } from \"react\";\nimport { TRangeActionContext, TRangeStateContext } from \"./type\";\nimport { NoImplementeFunction } from \"../lib/errors\";\nimport { useRangeReducer } from \"./hooks\";\nimport { useTablePropertyStateContext } from \"../table-property/provider\";\nimport { useTableIdGenerator } from \"../id\";\n\nconst RangeStateContext = createContext<TRangeStateContext>({\n isSelecting: false,\n});\n\nconst RangeActionContext = createContext<TRangeActionContext>({\n setMax: NoImplementeFunction,\n startSelectRange: NoImplementeFunction,\n moveSelectRange: NoImplementeFunction,\n endSelectRange: NoImplementeFunction,\n moveUp: NoImplementeFunction,\n moveDown: NoImplementeFunction,\n moveLeft: NoImplementeFunction,\n moveRight: NoImplementeFunction,\n extendUp: NoImplementeFunction,\n extendDown: NoImplementeFunction,\n extendLeft: NoImplementeFunction,\n extendRight: NoImplementeFunction,\n reset: NoImplementeFunction,\n setRange: NoImplementeFunction,\n});\n\nexport function useRangeStateContext() {\n return useContext(RangeStateContext);\n}\n\nexport function useRangeActionContext() {\n return useContext(RangeActionContext);\n}\n\nexport function useRangeContext() {\n return { ...useRangeStateContext(), ...useRangeActionContext() };\n}\n\nfunction EffectSetMax() {\n const { setMax } = useRangeActionContext();\n const { maxDisplayRowCount, maxDisplayColCount } =\n useTablePropertyStateContext();\n\n useEffect(() => {\n setMax({\n maxRowIndex: maxDisplayRowCount - 1,\n maxColIndex: maxDisplayColCount - 1,\n });\n }, [maxDisplayRowCount, maxDisplayColCount]);\n\n return <></>;\n}\n\nexport function TestRange(props: { isCopied?: boolean }) {\n const IdGenerator = useTableIdGenerator();\n const state = useRangeStateContext();\n\n useEffect(() => {\n if (state.isSelecting) {\n const endElement = document.getElementById(\n IdGenerator.getTableCellId({\n rowIndex: state.end.rowIndex,\n columnIndex: state.end.colIndex,\n })\n );\n\n if (endElement) {\n endElement.scrollIntoView({\n behavior: \"instant\",\n block: \"nearest\",\n inline: \"nearest\",\n });\n endElement.focus();\n }\n }\n }, [state]);\n\n if (!state.isSelecting) {\n return <></>;\n }\n\n const { rangeBox, start, end } = state;\n\n const clickboxPoint = {\n x: start.xEnd < end.xEnd ? end.xEnd : start.xEnd,\n y: start.yEnd < end.yEnd ? end.yEnd : start.yEnd,\n };\n\n return (\n <>\n <div\n className={`absolute border border-gray-500 bg-gray-500 bg-opacity-10 ${\n props.isCopied ? \"border-dashed\" : \"border-solid\"\n }`}\n style={{\n top: rangeBox.top,\n left: rangeBox.left,\n width: rangeBox.width,\n height: rangeBox.height,\n pointerEvents: \"none\",\n }}\n ></div>\n {/* <div\n className=\"absolute bg-gray-700\"\n style={{\n top: clickboxPoint.y - 5,\n left: clickboxPoint.x - 5,\n width: 10,\n height: 10,\n pointerEvents: \"none\",\n }}\n /> */}\n </>\n );\n}\n\nexport function RangeProvider({\n children,\n}: {\n children: JSX.Element | JSX.Element[];\n}) {\n const { state, actions } = useRangeReducer();\n\n return (\n <RangeStateContext.Provider value={state}>\n <RangeActionContext.Provider value={actions}>\n <EffectSetMax />\n {children}\n </RangeActionContext.Provider>\n </RangeStateContext.Provider>\n );\n}\n"],"names":["RangeStateContext","createContext","isSelecting","RangeActionContext","setMax","NoImplementeFunction","startSelectRange","moveSelectRange","endSelectRange","moveUp","moveDown","moveLeft","moveRight","extendUp","extendDown","extendLeft","extendRight","reset","setRange","useRangeStateContext","useContext","useRangeActionContext","useRangeContext","__assign","EffectSetMax","_a","useTablePropertyStateContext","maxDisplayRowCount","maxDisplayColCount","useEffect","maxRowIndex","maxColIndex","_jsx","TestRange","props","IdGenerator","useTableIdGenerator","state","endElement","document","getElementById","getTableCellId","rowIndex","end","columnIndex","colIndex","scrollIntoView","behavior","block","inline","focus","rangeBox","start","xEnd","yEnd","className","concat","isCopied","style","top","left","width","height","pointerEvents","RangeProvider","children","_b","useRangeReducer","actions","Provider","value","_jsxs"],"mappings":"mbAOA,IAAMA,EAAoBC,EAAkC,CAC1DC,aAAa,IAGTC,EAAqBF,EAAmC,CAC5DG,OAAQC,EACRC,iBAAkBD,EAClBE,gBAAiBF,EACjBG,eAAgBH,EAChBI,OAAQJ,EACRK,SAAUL,EACVM,SAAUN,EACVO,UAAWP,EACXQ,SAAUR,EACVS,WAAYT,EACZU,WAAYV,EACZW,YAAaX,EACbY,MAAOZ,EACPa,SAAUb,aAGIc,IACd,OAAOC,EAAWpB,EACpB,UAEgBqB,IACd,OAAOD,EAAWjB,EACpB,UAEgBmB,IACd,OAAAC,EAAAA,EAAA,CAAA,EAAYJ,KAA2BE,IACzC,CAEA,SAASG,IACC,IAAApB,EAAWiB,WACbI,EACJC,IADMC,EAAkBF,EAAAE,mBAAEC,EAAkBH,EAAAG,mBAU9C,OAPAC,GAAU,WACRzB,EAAO,CACL0B,YAAaH,EAAqB,EAClCI,YAAaH,EAAqB,GAEtC,GAAG,CAACD,EAAoBC,IAEjBI,OACT,CAEM,SAAUC,EAAUC,GACxB,IAAMC,EAAcC,IACdC,EAAQlB,IAsBd,GApBAU,GAAU,WACR,GAAIQ,EAAMnC,YAAa,CACrB,IAAMoC,EAAaC,SAASC,eAC1BL,EAAYM,eAAe,CACzBC,SAAUL,EAAMM,IAAID,SACpBE,YAAaP,EAAMM,IAAIE,YAIvBP,IACFA,EAAWQ,eAAe,CACxBC,SAAU,UACVC,MAAO,UACPC,OAAQ,YAEVX,EAAWY,QAEd,CACH,GAAG,CAACb,KAECA,EAAMnC,YACT,OAAO8B,QAGD,IAAAmB,EAAyBd,EAAKc,SAApBC,EAAef,EAAKe,MAAbT,EAAQN,MAOjC,OAJKe,EAAMC,KAAOV,EAAIU,KAAOV,EAAIU,KAAOD,EAAMC,KACzCD,EAAME,KAAOX,EAAIW,KAAOX,EAAIW,KAAOF,EAAME,KAI5CtB,cACEA,EACE,MAAA,CAAAuB,UAAW,6DACTC,OAAAtB,EAAMuB,SAAW,gBAAkB,gBAErCC,MAAO,CACLC,IAAKR,EAASQ,IACdC,KAAMT,EAASS,KACfC,MAAOV,EAASU,MAChBC,OAAQX,EAASW,OACjBC,cAAe,WAezB,CAEM,SAAUC,EAAcvC,GAC5B,IAAAwC,EAAQxC,EAAAwC,SAIFC,EAAqBC,IAAnB9B,EAAK6B,EAAA7B,MAAE+B,EAAOF,EAAAE,QAEtB,OACEpC,EAAChC,EAAkBqE,SAAS,CAAAC,MAAOjC,EACjC4B,SAAAM,EAACpE,EAAmBkE,SAAQ,CAACC,MAAOF,EAAOH,SAAA,CACzCjC,EAACR,EAAe,CAAA,GACfyC,MAIT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as r,jsx as o}from"react/jsx-runtime";import{memo as t}from"react";import{Checkbox as e}from"../checkbox/components.js";import{TableCell as i}from"../cell/ui/cell.js";import{useRangeActionContext as
|
|
1
|
+
import{jsxs as r,jsx as o}from"react/jsx-runtime";import{memo as t}from"react";import{Checkbox as e}from"../checkbox/components.js";import{TableCell as i}from"../cell/ui/cell.js";import{useRangeActionContext as a}from"../range/provider.js";import{useTableIdGenerator as n}from"../id/provider.js";var l=t((function(t){var l=n(),c=a().reset,s=JSON.parse(t.dataString),m=t.conditionalFormattingString.split(",");return r("tr",{className:"relative border border-gray-200 after:absolute after:w-full after:h-full after:top-0 after:left-0 after:pointer-events-none after:hover:bg-gray-500/10 ".concat(t.onClickRow?"hover:cursor-pointer":""," ").concat(t.applyRowFormatting?t.applyRowFormatting(s):""),onClick:function(r){r.preventDefault(),t.onClickRow&&(t.onClickRow(s),c())},"data-testid":s.id,children:[t.existCheckbox&&o("td",{className:"w-8 h-full",onClick:function(r){r.stopPropagation()},children:o(e,{row:s})}),t.cols.map((function(r,e){var a;return o(i,{id:l.getTableCellId({rowIndex:t.rowIndex,columnIndex:e}),row:s,isExistOnClickRow:!!t.onClickRow,cellFormatClassName:m[e],editable:null!==(a=r.editable)&&void 0!==a&&a},r.key)}))]})}));export{l as Row};
|
|
2
2
|
//# sourceMappingURL=components.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sources":["../../../../../src/table/sheet/components.tsx"],"sourcesContent":["import { memo } from \"react\";\nimport { DataRecord, TTableColumn } from \"../table/type\";\nimport { Checkbox } from \"../checkbox/components\";\nimport { TableCell } from \"../cell/ui/cell\";\nimport { useRangeActionContext } from \"../range/provider\";\nimport { useTableIdGenerator } from \"../id\";\n\ninterface TPropsRow<T extends DataRecord> {\n dataString: string;\n cols: TTableColumn<T>[];\n existCheckbox?: boolean;\n rowIndex: number;\n conditionalFormattingString: string;\n onClickRow?: (row: any) => void;\n applyRowFormatting?: (row: any) => string;\n}\n\nexport const Row = memo(function R<T extends DataRecord>(props: TPropsRow<T>) {\n const IdGenerator = useTableIdGenerator();\n const { reset } = useRangeActionContext();\n const row = JSON.parse(props.dataString);\n const conditionalFormatting = props.conditionalFormattingString.split(\",\");\n\n return (\n <tr\n className={`relative border border-gray-200 after:absolute after:w-full after:h-full after:top-0 after:left-0 after:pointer-events-none after:hover:bg-gray-500/10 ${\n !!props.onClickRow ? \"hover:cursor-pointer\" : \"\"\n } ${props.applyRowFormatting ? props.applyRowFormatting(row) : \"\"}`}\n onClick={(e) => {\n e.preventDefault();\n\n if (!!props.onClickRow) {\n props.onClickRow(row);\n reset();\n }\n }}\n data-testid={row.id}\n >\n {props.existCheckbox && (\n <td\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <Checkbox row={row} />\n </td>\n )}\n {props.cols.map((col, j) => {\n return (\n <TableCell\n key={col.key as string}\n id={IdGenerator.getTableCellId({\n rowIndex: props.rowIndex,\n columnIndex: j,\n })}\n row={row}\n isExistOnClickRow={!!props.onClickRow}\n cellFormatClassName={conditionalFormatting[j]}\n editable={col.editable ?? false}\n />\n );\n })}\n </tr>\n );\n});\n"],"names":["Row","memo","props","IdGenerator","useTableIdGenerator","reset","useRangeActionContext","row","JSON","parse","dataString","conditionalFormatting","conditionalFormattingString","split","_jsxs","className","concat","onClickRow","applyRowFormatting","onClick","e","preventDefault","id","existCheckbox","_jsx","stopPropagation","
|
|
1
|
+
{"version":3,"file":"components.js","sources":["../../../../../src/table/sheet/components.tsx"],"sourcesContent":["import { memo } from \"react\";\nimport { DataRecord, TTableColumn } from \"../table/type\";\nimport { Checkbox } from \"../checkbox/components\";\nimport { TableCell } from \"../cell/ui/cell\";\nimport { useRangeActionContext } from \"../range/provider\";\nimport { useTableIdGenerator } from \"../id\";\n\ninterface TPropsRow<T extends DataRecord> {\n dataString: string;\n cols: TTableColumn<T>[];\n existCheckbox?: boolean;\n rowIndex: number;\n conditionalFormattingString: string;\n onClickRow?: (row: any) => void;\n applyRowFormatting?: (row: any) => string;\n}\n\nexport const Row = memo(function R<T extends DataRecord>(props: TPropsRow<T>) {\n const IdGenerator = useTableIdGenerator();\n const { reset } = useRangeActionContext();\n const row = JSON.parse(props.dataString);\n const conditionalFormatting = props.conditionalFormattingString.split(\",\");\n\n return (\n <tr\n className={`relative border border-gray-200 after:absolute after:w-full after:h-full after:top-0 after:left-0 after:pointer-events-none after:hover:bg-gray-500/10 ${\n !!props.onClickRow ? \"hover:cursor-pointer\" : \"\"\n } ${props.applyRowFormatting ? props.applyRowFormatting(row) : \"\"}`}\n onClick={(e) => {\n e.preventDefault();\n\n if (!!props.onClickRow) {\n props.onClickRow(row);\n reset();\n }\n }}\n data-testid={row.id}\n >\n {props.existCheckbox && (\n <td\n className=\"w-8 h-full\"\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <Checkbox row={row} />\n </td>\n )}\n {props.cols.map((col, j) => {\n return (\n <TableCell\n key={col.key as string}\n id={IdGenerator.getTableCellId({\n rowIndex: props.rowIndex,\n columnIndex: j,\n })}\n row={row}\n isExistOnClickRow={!!props.onClickRow}\n cellFormatClassName={conditionalFormatting[j]}\n editable={col.editable ?? false}\n />\n );\n })}\n </tr>\n );\n});\n"],"names":["Row","memo","props","IdGenerator","useTableIdGenerator","reset","useRangeActionContext","row","JSON","parse","dataString","conditionalFormatting","conditionalFormattingString","split","_jsxs","className","concat","onClickRow","applyRowFormatting","onClick","e","preventDefault","id","children","existCheckbox","_jsx","stopPropagation","Checkbox","cols","map","col","j","TableCell","getTableCellId","rowIndex","columnIndex","isExistOnClickRow","cellFormatClassName","editable","_a","key"],"mappings":"4SAiBaA,EAAMC,GAAK,SAAiCC,GACvD,IAAMC,EAAcC,IACZC,EAAUC,UACZC,EAAMC,KAAKC,MAAMP,EAAMQ,YACvBC,EAAwBT,EAAMU,4BAA4BC,MAAM,KAEtE,OACEC,EACE,KAAA,CAAAC,UAAW,0JACTC,OAAEd,EAAMe,WAAa,uBAAyB,GAC5C,KAAAD,OAAAd,EAAMgB,mBAAqBhB,EAAMgB,mBAAmBX,GAAO,IAC/DY,QAAS,SAACC,GACRA,EAAEC,iBAEInB,EAAMe,aACVf,EAAMe,WAAWV,GACjBF,IAEH,gBACYE,EAAIe,GAEhBC,SAAA,CAAArB,EAAMsB,eACLC,EAAA,KAAA,CACEV,UAAU,aACVI,QAAS,SAACC,GACRA,EAAEM,iBACH,EAAAH,SAEDE,EAACE,EAAQ,CAACpB,IAAKA,MAGlBL,EAAM0B,KAAKC,KAAI,SAACC,EAAKC,SACpB,OACEN,EAACO,EAAS,CAERV,GAAInB,EAAY8B,eAAe,CAC7BC,SAAUhC,EAAMgC,SAChBC,YAAaJ,IAEfxB,IAAKA,EACL6B,oBAAqBlC,EAAMe,WAC3BoB,oBAAqB1B,EAAsBoB,GAC3CO,SAA0B,QAAhBC,EAAAT,EAAIQ,gBAAY,IAAAC,GAAAA,GARrBT,EAAIU,UAcrB"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{__assign as o}from"../../../node_modules/tslib/tslib.es6.js";import{jsx as r,jsxs as e}from"react/jsx-runtime";import{useTable as i}from"./hook.js";import{TableHeaderElement as t}from"../header/header.js";import{PagenationProvider as n}from"../pagenation/providers.js";import{DisplayRange as
|
|
2
|
+
import{__assign as o}from"../../../node_modules/tslib/tslib.es6.js";import{jsx as r,jsxs as e}from"react/jsx-runtime";import{useTable as i}from"./hook.js";import{TableHeaderElement as t}from"../header/header.js";import{PagenationProvider as n}from"../pagenation/providers.js";import{DisplayRange as d,Pagenation as l}from"../pagenation/components.js";import"../filter-v2/context.js";import{FilterProvider as s}from"../filter-v2/provider.js";import"../sort/icon.js";import{SortProvider as c}from"../sort/provider.js";import{ColumnsProvider as m}from"../sheet/providers.js";import{CheckboxProvider as a,CheckboxStatusProvider as p}from"../checkbox/provider.js";import{EditProvider as h}from"../edit/provider.js";import{TablePropertyProvider as f}from"../table-property/provider.js";import{KeyboardSetting as v}from"../operation/components/keyboard-setting.js";import{Row as j}from"../sheet/components.js";import{PasteProvider as g}from"../paste/provider.js";import{generateFormattingString as x}from"../libs/conditional-formatting.js";import{Editor as u}from"../edit/ui/editor.js";import{RangeProvider as w,TestRange as b}from"../range/provider.js";import{CopyProvider as k}from"../copy/provider.js";import{CopiedMessage as y}from"../copy/components.js";import{TableIdGeneratorProvider as C,useTableIdGenerator as R}from"../id/provider.js";import{TableHeader as S}from"../header/header-v2.js";import"../header/columns-width/context.js";import{ColumnsWidthProvider as N}from"../header/columns-width/provider.js";import"../header/x-scroll-position/context.js";import{ScrollXPositionProvider as F}from"../header/x-scroll-position/provider.js";import{Frame as H}from"../frame/frame.js";import{ComponentProvider as I,useGenerateSortButton as W}from"./component-provider/provider.js";import{SelectBoxProvider as D}from"../../select-box/provider.js";function P(i){var t,d,l,j;return r(I,{children:r(C,{id:i.id,children:r(N,{initialState:i.cols,children:r(s,{initialConditions:[],children:r(c,{initialCondition:null===(t=i.initialCondition)||void 0===t?void 0:t.sort,children:r(n,{rowCount:i.rows.length,perPage:null===(l=null===(d=i.initialCondition)||void 0===d?void 0:d.pagenation)||void 0===l?void 0:l.rowCountPerPage,children:r(a,{checkbox:i.checkbox,children:r(p,{checkboxCount:i.rows.length,children:r(m,{cols:i.cols,errorHandler:i.errorHandler,children:r(h,{children:r(f,{children:r(w,{children:e(k,{rows:i.rows,cols:i.cols,children:[r(y,{}),e(g,{rows:i.rows,cols:i.cols,onUpdateRowFunction:i.onUpdateRow,children:[r(v,{enableDeprecatedCopy:null===(j=i.deprecatedOptions)||void 0===j?void 0:j.enableDeprecatedCopy}),r(F,{children:r(A,o({},i))})]})]})})})})})})})})})})})})})}function A(o){var n=i(o),s=n.cols,c=n.rowMaps,m=n.pageRowIds,a=R(),p=W();return e("div",{className:"w-full",children:[e("div",{children:[r(S,{cols:s,checkbox:!!o.checkbox,rows:o.rows,maxWidth:o.maxWidth,generateSortButton:p}),r(D,{children:e(H,{id:a.getTableId(),maxHeight:o.maxHeight,maxWidth:o.maxWidth,displayScroll:!1,children:[e("table",{className:"table",children:[r("thead",{children:e("tr",{children:[o.checkbox&&r("th",{}),s.map((function(o){return r(t,{keyname:o.key.toString()},o.key.toString())}))]})}),e("tbody",{children:[0===m.length&&r("tr",{children:r("td",{colSpan:s.length,className:"py-5",children:r("p",{className:"text-center font-bold text-lg",children:"NO DATA"})})}),m.map((function(e,i){return r(j,{existCheckbox:!!o.checkbox,rowIndex:i,dataString:c[e].stringValue,cols:o.cols,onClickRow:o.onClickRow,applyRowFormatting:o.applyRowFormatting,conditionalFormattingString:x(c[e].data,s,o.conditionalFormattings)},e)}))]})]}),r(b,{}),r(u,{rowMaps:c,pageRowIds:m})]})})]}),e("div",{className:"mt-1",children:[r(d,{}),r("div",{className:"mt-2",children:r(l,{})})]})]})}export{P as default};
|
|
3
3
|
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import{jsx as r,Fragment as o}from"react/jsx-runtime";import{createContext as t,useCallback as n,useContext as e}from"react";import{SortButton as i}from"../../sort/components.js";import"../../sort/provider.js";var u=t((function(){return r(o,{})}));function c(o){var t=n((function(o){return r(i,{columnKey:o})}),[]);return r(u.Provider,{value:t,children:o.children})}function m(){return e(u)}export{c as ComponentProvider,m as useGenerateSortButton};
|
|
3
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useMemo as r,useEffect as t}from"react";import{usePageContext as o}from"../pagenation/providers.js";import
|
|
1
|
+
import{useMemo as r,useEffect as t}from"react";import{usePageContext as o}from"../pagenation/providers.js";import{useCheckboxStatusContext as n}from"../checkbox/provider.js";import{useSortActionContext as e,useSortTimingContext as i}from"../sort/provider.js";import{useTablePropertyActionContext as c}from"../table-property/provider.js";import{usePasteActionContext as u}from"../paste/provider.js";import{useCopyActionContext as s}from"../copy/provider.js";import{useFilterFunctions as a}from"../filter-v2/context.js";function f(f){var p=a().filter,l=e(),d=l.sort,m=l.updatedData,h=i(),v=o(),w=v.setRowCount,g=v.pageFilter,x=n().dispatchCheckboxStatus,j=u().setRows,k=s().setRows,y=c(),b=y.setMaxDisplayColCount,R=y.setMaxDisplayRowCount,C=r((function(){return p(f.rows)}),[p,h,f.rows.length]);t((function(){w(C.length)}),[C.length]);var S=r((function(){return f.checkbox?f.rows.filter((function(r){var t;return null===(t=f.checkbox)||void 0===t?void 0:t.checked(r)})):[]}),[f.checkbox,f.rows]);t((function(){x({type:"SET",payload:{checkedRecords:S}})}),[S]);var D=r((function(){return d(C)}),[C,h]);t((function(){m()}),[f.rows]);var M=r((function(){return g(D)}),[g,D]),O=r((function(){return M.map((function(r){return r.id}))}),[M]),E=r((function(){return new Set(O)}),[O]),F=r((function(){return f.rows.filter((function(r){return E.has(r.id)})).reduce((function(r,t){var o=Object.keys(t).sort().reduce((function(r,o){return r[o]=t[o],r}),{});return r[t.id]={data:o,stringValue:JSON.stringify(o)},r}),{})}),[f.rows,E]);return t((function(){b(f.cols.length)}),[f.cols.length]),t((function(){R(O.length)}),[O.length]),t((function(){var r=O.map((function(r){return F[r].data}));k(r),j(r)}),[F]),{cols:f.cols,rowMaps:F,pageRowIds:O}}export{f as useTable};
|
|
2
2
|
//# sourceMappingURL=hook.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sources":["../../../../../src/table/table/hook.ts"],"sourcesContent":["import { useEffect, useMemo } from \"react\";\nimport { DataObject, DataRecord, TPropsTable } from \"./type\";\nimport { usePageContext } from \"../pagenation/providers\";\nimport {
|
|
1
|
+
{"version":3,"file":"hook.js","sources":["../../../../../src/table/table/hook.ts"],"sourcesContent":["import { useEffect, useMemo } from \"react\";\nimport { DataObject, DataRecord, TPropsTable } from \"./type\";\nimport { usePageContext } from \"../pagenation/providers\";\nimport { useCheckboxStatusContext } from \"../checkbox/provider\";\nimport { useSortActionContext, useSortTimingContext } from \"../sort/provider\";\nimport { useTablePropertyActionContext } from \"../table-property/provider\";\nimport { usePasteActionContext } from \"../paste/provider\";\nimport { useCopyActionContext } from \"../copy/provider\";\nimport { useFilterFunctions } from \"../filter-v2/context\";\n\nexport function useTable<T extends DataRecord>(props: TPropsTable<T>) {\n const { filter } = useFilterFunctions();\n const { sort, updatedData } = useSortActionContext();\n const sortTiming = useSortTimingContext();\n const { setRowCount, pageFilter } = usePageContext();\n const { dispatchCheckboxStatus } = useCheckboxStatusContext();\n const { setRows: setRowsForPaste } = usePasteActionContext();\n const { setRows: setRowsForCopy } = useCopyActionContext();\n const { setMaxDisplayColCount, setMaxDisplayRowCount } =\n useTablePropertyActionContext();\n\n const filteredRows = useMemo(\n () => filter(props.rows),\n [filter, sortTiming, props.rows.length]\n );\n\n useEffect(() => {\n setRowCount(filteredRows.length);\n }, [filteredRows.length]);\n\n const checkBoxes = useMemo(() => {\n if (!props.checkbox) {\n return [];\n }\n\n return props.rows.filter((row) => props.checkbox?.checked(row));\n }, [props.checkbox, props.rows]);\n\n useEffect(() => {\n dispatchCheckboxStatus({\n type: \"SET\",\n payload: { checkedRecords: checkBoxes },\n });\n }, [checkBoxes]);\n\n const sortedRows = useMemo(\n () => sort(filteredRows),\n [filteredRows, sortTiming]\n );\n\n useEffect(() => {\n updatedData();\n }, [props.rows]);\n\n const pageRows = useMemo(\n () => pageFilter(sortedRows),\n [pageFilter, sortedRows]\n );\n\n const pageRowIds = useMemo(() => pageRows.map((row) => row.id), [pageRows]);\n const pageRowIdSets = useMemo(() => new Set(pageRowIds), [pageRowIds]);\n\n const rowMaps = useMemo(\n () =>\n props.rows\n .filter((row) => pageRowIdSets.has(row.id))\n .reduce((acc, row) => {\n const rowSortedByKey = Object.keys(row)\n .sort()\n .reduce((acc, key) => {\n acc[key] = row[key];\n return acc;\n }, {} as { [key: string]: string | number });\n\n acc[row.id] = {\n data: rowSortedByKey,\n stringValue: JSON.stringify(rowSortedByKey),\n };\n return acc;\n }, {} as { [id: string | number]: { data: DataObject<any>; stringValue: string } }),\n [props.rows, pageRowIdSets]\n );\n\n useEffect(() => {\n setMaxDisplayColCount(props.cols.length);\n }, [props.cols.length]);\n\n useEffect(() => {\n setMaxDisplayRowCount(pageRowIds.length);\n }, [pageRowIds.length]);\n\n useEffect(() => {\n const rows = pageRowIds.map((id) => rowMaps[id].data);\n setRowsForCopy(rows);\n setRowsForPaste(rows);\n }, [rowMaps]);\n\n return {\n cols: props.cols,\n rowMaps,\n pageRowIds,\n };\n}\n"],"names":["useTable","props","filter","useFilterFunctions","_a","useSortActionContext","sort","updatedData","sortTiming","useSortTimingContext","_b","usePageContext","setRowCount","pageFilter","dispatchCheckboxStatus","useCheckboxStatusContext","setRowsForPaste","usePasteActionContext","setRowsForCopy","useCopyActionContext","_c","useTablePropertyActionContext","setMaxDisplayColCount","setMaxDisplayRowCount","filteredRows","useMemo","rows","length","useEffect","checkBoxes","checkbox","row","checked","type","payload","checkedRecords","sortedRows","pageRows","pageRowIds","map","id","pageRowIdSets","Set","rowMaps","has","reduce","acc","rowSortedByKey","Object","keys","key","data","stringValue","JSON","stringify","cols"],"mappings":"sgBAUM,SAAUA,EAA+BC,GACrC,IAAAC,EAAWC,WACbC,EAAwBC,IAAtBC,EAAIF,EAAAE,KAAEC,EAAWH,EAAAG,YACnBC,EAAaC,IACbC,EAA8BC,IAA5BC,EAAWF,EAAAE,YAAEC,EAAUH,EAAAG,WACvBC,EAA2BC,2BAClBC,EAAoBC,YACpBC,EAAmBC,YAC9BC,EACJC,IADMC,EAAqBF,EAAAE,sBAAEC,EAAqBH,EAAAG,sBAG9CC,EAAeC,GACnB,WAAM,OAAAvB,EAAOD,EAAMyB,KAAK,GACxB,CAACxB,EAAQM,EAAYP,EAAMyB,KAAKC,SAGlCC,GAAU,WACRhB,EAAYY,EAAaG,OAC3B,GAAG,CAACH,EAAaG,SAEjB,IAAME,EAAaJ,GAAQ,WACzB,OAAKxB,EAAM6B,SAIJ7B,EAAMyB,KAAKxB,QAAO,SAAC6B,GAAG,IAAA3B,EAAK,eAAAA,EAAAH,EAAM6B,+BAAUE,QAAQD,EAAI,IAHrD,EAIV,GAAE,CAAC9B,EAAM6B,SAAU7B,EAAMyB,OAE1BE,GAAU,WACRd,EAAuB,CACrBmB,KAAM,MACNC,QAAS,CAAEC,eAAgBN,IAE/B,GAAG,CAACA,IAEJ,IAAMO,EAAaX,GACjB,WAAM,OAAAnB,EAAKkB,KACX,CAACA,EAAchB,IAGjBoB,GAAU,WACRrB,GACF,GAAG,CAACN,EAAMyB,OAEV,IAAMW,EAAWZ,GACf,WAAM,OAAAZ,EAAWuB,KACjB,CAACvB,EAAYuB,IAGTE,EAAab,GAAQ,WAAM,OAAAY,EAASE,KAAI,SAACR,GAAQ,OAAAA,EAAIS,EAAE,GAAC,GAAE,CAACH,IAC3DI,EAAgBhB,GAAQ,WAAM,OAAA,IAAIiB,IAAIJ,EAAW,GAAE,CAACA,IAEpDK,EAAUlB,GACd,WACE,OAAAxB,EAAMyB,KACHxB,QAAO,SAAC6B,GAAQ,OAAAU,EAAcG,IAAIb,EAAIS,OACtCK,QAAO,SAACC,EAAKf,GACZ,IAAMgB,EAAiBC,OAAOC,KAAKlB,GAChCzB,OACAuC,QAAO,SAACC,EAAKI,GAEZ,OADAJ,EAAII,GAAOnB,EAAImB,GACRJ,CACR,GAAE,CAAwC,GAM7C,OAJAA,EAAIf,EAAIS,IAAM,CACZW,KAAMJ,EACNK,YAAaC,KAAKC,UAAUP,IAEvBD,CACR,GAAE,CAA+E,EAAC,GACvF,CAAC7C,EAAMyB,KAAMe,IAiBf,OAdAb,GAAU,WACRN,EAAsBrB,EAAMsD,KAAK5B,OAClC,GAAE,CAAC1B,EAAMsD,KAAK5B,SAEfC,GAAU,WACRL,EAAsBe,EAAWX,OACnC,GAAG,CAACW,EAAWX,SAEfC,GAAU,WACR,IAAMF,EAAOY,EAAWC,KAAI,SAACC,GAAO,OAAAG,EAAQH,GAAIW,IAAI,IACpDjC,EAAeQ,GACfV,EAAgBU,EAClB,GAAG,CAACiB,IAEG,CACLY,KAAMtD,EAAMsD,KACZZ,QAAOA,EACPL,WAAUA,EAEd"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
|
|
3
|
+
interface Options {
|
|
4
|
+
/**
|
|
5
|
+
* The label is the string that will be displayed for the option.
|
|
6
|
+
*/
|
|
7
|
+
label: string;
|
|
8
|
+
/**
|
|
9
|
+
* The value is the value of the option and will not be displayed.
|
|
10
|
+
*/
|
|
11
|
+
value: string;
|
|
12
|
+
/**
|
|
13
|
+
* The searchLabel is the string that will be displayed in the list of options when the user is selecting an option.
|
|
14
|
+
* The difference between label and searchLabel is that label is the string displayed when the option is selected,
|
|
15
|
+
* while searchLabel is the string displayed in the list of options during selection.
|
|
16
|
+
* If searchLabel is undefined, the list of options will display the label.
|
|
17
|
+
*/
|
|
18
|
+
searchLabel?: string;
|
|
19
|
+
/**
|
|
20
|
+
* The searchText is the string used for searching and filtering the list of options.
|
|
21
|
+
* For example, in the case of Japanese options, you can use hiragana or katakana readings in searchText,
|
|
22
|
+
* allowing users to search using hiragana even if the displayed label is in kanji.
|
|
23
|
+
* If searchText is undefined, the search will use searchLabel if defined, otherwise it will use label.
|
|
24
|
+
*/
|
|
25
|
+
searchText?: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
3
28
|
type TStringValidateOption = {
|
|
4
29
|
maxLength?: number;
|
|
5
30
|
minLength?: number;
|
|
@@ -62,10 +87,7 @@ type TNumberCellEditingCondition<T extends DataRecord> = ({
|
|
|
62
87
|
}));
|
|
63
88
|
type TSelectCellEditingCondition<T extends DataRecord> = ({
|
|
64
89
|
type: "select";
|
|
65
|
-
options:
|
|
66
|
-
value: string;
|
|
67
|
-
label: string;
|
|
68
|
-
}[];
|
|
90
|
+
options: Options[];
|
|
69
91
|
} & ({
|
|
70
92
|
editable?: false;
|
|
71
93
|
render?: (value: string, row: DataObject<T>) => React.ReactNode;
|
|
@@ -101,6 +123,8 @@ type TPropsTable<T extends DataRecord> = {
|
|
|
101
123
|
id?: string;
|
|
102
124
|
cols: TTableColumn<T>[];
|
|
103
125
|
rows: DataObject<T>[];
|
|
126
|
+
maxHeight?: string;
|
|
127
|
+
maxWidth?: string;
|
|
104
128
|
onClickRow?: (row: DataObject<T>) => void;
|
|
105
129
|
onUpdateRow?: (newRow: DataObject<T>, oldRow: DataObject<T>) => void;
|
|
106
130
|
initialCondition?: {
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("../id/provider.js"),n=require("../lib/id-generator.js");exports.OptionsArea=function(a){var l=t.useIdContext();return r.useEffect((function(){var e,r=document.getElementById(n.IdGenerator.generateIdSelectBoxOption(l,null!==(e=a.selectingValue)&&void 0!==e?e:""));r&&r.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}),[a.selectingValue]),e.jsx("div",{id:n.IdGenerator.generateIdSelectBoxOptionsArea(l),className:"absolute top-full left-0 w-full max-h-[40vh] overflow-auto border border-gray-300",children:a.options.map((function(r){var t;return e.jsx("div",{id:n.IdGenerator.generateIdSelectBoxOption(l,null!==(t=r.value)&&void 0!==t?t:""),className:"hover:bg-gray-200 px-2 py-1 ".concat("string"==typeof a.selectingValue?a.selectingValue===r.value?"bg-gray-100":"bg-white":a.value===r.value?"bg-gray-100":"bg-white"),onClick:function(){return a.onSelect(r.value)},children:r.label},r.value)}))})};
|
|
2
|
-
//# sourceMappingURL=options-area.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"options-area.js","sources":["../../../../../src/select-box/parts/options-area.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { Options } from \"../types\";\nimport { useIdContext } from \"../id/provider\";\nimport { IdGenerator } from \"../lib\";\n\ninterface IPropsSelectArea {\n options: Options[];\n value: string;\n onSelect: (value: string) => void;\n selectingValue?: string;\n}\n\nexport function OptionsArea(props: IPropsSelectArea) {\n const id = useIdContext();\n\n useEffect(() => {\n const optionElement = document.getElementById(\n IdGenerator.generateIdSelectBoxOption(id, props.selectingValue ?? \"\")\n );\n\n if (!optionElement) return;\n\n optionElement.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"nearest\",\n });\n }, [props.selectingValue]);\n\n return (\n <div\n id={IdGenerator.generateIdSelectBoxOptionsArea(id)}\n className=\"absolute top-full left-0 w-full max-h-[40vh] overflow-auto border border-gray-300\"\n >\n {props.options.map((option) => (\n <div\n id={IdGenerator.generateIdSelectBoxOption(id, option.value ?? \"\")}\n className={`hover:bg-gray-200 px-2 py-1 ${\n typeof props.selectingValue === \"string\"\n ? props.selectingValue === option.value\n ? \"bg-gray-100\"\n : \"bg-white\"\n : props.value === option.value\n ? \"bg-gray-100\"\n : \"bg-white\"\n }`}\n key={option.value}\n onClick={() => props.onSelect(option.value)}\n >\n {option.label}\n </div>\n ))}\n </div>\n );\n}\n"],"names":["props","id","useIdContext","useEffect","optionElement","document","getElementById","IdGenerator","generateIdSelectBoxOption","_a","selectingValue","scrollIntoView","behavior","block","inline","_jsx","generateIdSelectBoxOptionsArea","className","options","map","option","value","concat","onClick","onSelect","children","label"],"mappings":"0JAYM,SAAsBA,GAC1B,IAAMC,EAAKC,EAAAA,eAgBX,OAdAC,EAAAA,WAAU,iBACFC,EAAgBC,SAASC,eAC7BC,EAAWA,YAACC,0BAA0BP,UAAIQ,EAAAT,EAAMU,8BAAkB,KAG/DN,GAELA,EAAcO,eAAe,CAC3BC,SAAU,SACVC,MAAO,UACPC,OAAQ,WAEZ,GAAG,CAACd,EAAMU,iBAGRK,EAAAA,WACEd,GAAIM,EAAWA,YAACS,+BAA+Bf,GAC/CgB,UAAU,6FAETjB,EAAMkB,QAAQC,KAAI,SAACC,SAAW,OAC7BL,MACE,MAAA,CAAAd,GAAIM,EAAWA,YAACC,0BAA0BP,EAAoB,QAAhBQ,EAAAW,EAAOC,aAAS,IAAAZ,EAAAA,EAAA,IAC9DQ,UAAW,+BACTK,OAAgC,iBAAzBtB,EAAMU,eACTV,EAAMU,iBAAmBU,EAAOC,MAC9B,cACA,WACFrB,EAAMqB,QAAUD,EAAOC,MACvB,cACA,YAGNE,QAAS,WAAM,OAAAvB,EAAMwB,SAASJ,EAAOC,MAAM,EAE1CI,SAAAL,EAAOM,OAHHN,EAAOC,MAKf,KAGP"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
"use strict";var e=require("react/jsx-runtime"),t=require("./filter-icon.js"),n=require("./provider.js"),l=require("react"),r=require("../../icon/cancel-icon.js"),i=require("./constants.js"),a=require("../sheet/providers.js"),o=require("./hooks/selectedFilteringColumn/provider.js");function u(t){var l=t.children,r=n.useFilterContext(),i=r.removeFilter,a=r.filterConditions,u=o.useFilteringColumnStateContext();if(null!==u&&0!==a.filter((function(e){return e.key===u.key})).length){return e.jsx("button",{onClick:function(e){e.preventDefault(),a.filter((function(e){return e.key===u.key})).forEach((function(e){i(e.id)}))},children:l})}}function s(t){var n=t.value,l=t.onChange,r=o.useFilteringColumnStateContext();return r?e.jsxs("select",{value:n,onChange:l,className:"px-2 py-1 rounded-md",children:[e.jsx("option",{value:"",children:r.key?"-- 条件を選択 --":"-- 列を選択してください --"}),"string"===r.type&&i.STRING_FILTER_OPERATOR.map((function(t){return e.jsx("option",{value:t.key,children:t.label},t.key)})),"number"===r.type&&i.NUMBER_FILTER_OPERATOR.map((function(t){return e.jsx("option",{value:t.key,children:t.label},t.key)})),"select"===r.type&&i.SELECT_FILTER_OPERATOR.map((function(t){return e.jsx("option",{value:t.key,children:t.label},t.key)}))]}):e.jsx(e.Fragment,{})}function c(t){return e.jsxs("select",{className:"w-full px-2 py-1 rounded-md min-w-32",value:t.value,onChange:function(e){e.preventDefault(),t.setValue(e.target.value)},children:[e.jsx("option",{value:"",children:"-- 未選択 --"}),t.options.map((function(t){return e.jsx("option",{value:t.value,children:t.label},t.value)}))]})}function x(t){return e.jsx("input",{className:"w-full px-2 py-1 rounded-md min-w-32",type:"text",value:t.value,onChange:function(e){e.preventDefault(),t.setValue(e.target.value)},placeholder:"-- 値を入力 --"})}function d(t){var l=n.useFilterContext().addFilter,r=o.useFilteringColumnStateContext();return r?e.jsx("button",{className:"bg-gray-900 text-white py-1 px-2 rounded-md text-nowrap",onClick:function(e){var n;e.preventDefault(),r.key&&t.selectingOperator&&("select"===r.type||t.value)?l("string"===r.type?{key:r.key,operator:t.selectingOperator,value:[t.value]}:"select"===r.type?{key:r.key,operator:t.selectingOperator,value:t.value,label:null===(n=r.options.find((function(e){return e.value===t.value})))||void 0===n?void 0:n.label}:{key:r.key,operator:t.selectingOperator,value:Number(t.value)}):alert("全ての項目を入力してください")},children:"追加"}):e.jsx(e.Fragment,{})}exports.TableFilter=function(l){var r=n.useFilterContext().filterConditions,i=o.useFilteringColumnStateContext(),a=o.useFilteringColumnActionContext(),u=a.setFilteringColumn,s=a.clearFilteringColumn;return e.jsx("div",{className:"relative cursor-pointer",onClick:function(e){e.preventDefault(),i&&i.key===l.col.key?s():u(l.col)},children:e.jsx(t.FIlterIcon,{isFilterTarget:!!i&&i.key===l.col.key,isFilterActive:r.filter((function(e){return e.key===l.col.key})).length>0})})},exports.TableFilterForm=function(){var t=o.useFilteringColumnStateContext(),f=o.useFilteringColumnActionContext(),p=f.setFilteringColumn,v=f.clearFilteringColumn,m=a.useColumnsContext(),y=n.useFilterContext(),h=y.removeFilter,g=y.filterConditions,j=l.useState(""),k=j[0],C=j[1],b=l.useState(""),F=b[0],N=b[1];if(l.useEffect((function(){N(""),C("")}),[t]),!t)return e.jsx(e.Fragment,{});var w=l.useCallback((function(e){e.preventDefault,C(e.target.value)}),[]);return e.jsxs("div",{className:"flex w-full max-h-[50vh] bg-gray-200",children:[e.jsx("ul",{className:"flex flex-col items-end min-w-16 md:w-[20%] max-h-full overflow-y-auto no_scrollbar bg-white",children:m.filter((function(e){return!!e.label&&!e.disableFilter})).map((function(n){return e.jsxs("li",{className:"relative pl-2 pr-8 md:px-8 py-3 w-full cursor-pointer border-y border-gray-300 ".concat(t.key===n.key?"bg-gray-200":"hover:bg-gray-100"),onClick:function(e){e.preventDefault(),p(n)},children:[e.jsx("p",{className:"text-right text-nowrap ".concat(t.key===n.key?"underline underline-offset-2 decoration-2 decoration-neutral-500":""),children:n.label}),g.filter((function(e){return e.key===n.key})).length>0&&e.jsx("div",{className:"absolute top-1/2 right-1",children:e.jsx("div",{className:"-translate-y-1/2 rounded-full border border-gray-400 bg-gray-100 aspect-square w-5",children:e.jsx("p",{className:"text-xs text-center",children:g.filter((function(e){return e.key===n.key})).length})})})]},n.key)}))}),e.jsxs("div",{className:"relative flex flex-col gap-4 ml-4 mr-4 md:ml-16 md:mr-auto py-5",children:[e.jsx("div",{className:"absolute top-5 right-0",children:e.jsx("button",{onClick:function(e){e.preventDefault(),v()},children:"閉じる"})}),e.jsx("p",{className:"font-bold text-xl",children:"フィルタリング条件"}),e.jsxs("div",{className:"flex items-center gap-3 max-w-6xl",children:[e.jsxs("p",{className:"text-gray-600 text-lg text-nowrap",children:["「",e.jsx("strong",{children:t.label}),"」 は"]}),e.jsx(s,{value:k,onChange:w}),"select"===t.type?e.jsx(c,{value:F,options:t.options,setValue:N}):e.jsx(x,{value:F,setValue:N}),e.jsx(d,{value:F,selectingOperator:k})]}),e.jsx("ul",{className:"flex flex-col gap-1 my-5 max-h-32 overflow-auto",children:g.filter((function(e){return e.key===t.key})).map((function(t){var n,l;return e.jsxs("li",{className:"flex justify-between mr-5",children:[e.jsxs("p",{children:["「",e.jsx("strong",{children:null===(n=m.find((function(e){return e.key===t.key})))||void 0===n?void 0:n.label}),"」 は",e.jsx("span",{children:null===(l=i.FILTER_OPERATOR.find((function(e){return e.key===t.operator})))||void 0===l?void 0:l.label}),":",e.jsx("span",{children:t.label?t.label:t.value})]}),e.jsx("button",{onClick:function(e){e.preventDefault(),h(t.id)},children:e.jsx(r.CancelIcon,{size:16})})]},t.id)}))}),e.jsx("div",{className:"flex justify-center",children:e.jsx(u,{children:e.jsxs("p",{className:"text-xs text-gray-600 underline hover:text-gray-800",children:["「",t.label,"」のフィルタを全て解除"]})})})]})]})},exports.TableFilterRemoveButton=function(t){var l=t.children,r=n.useFilterContext(),i=r.clearFilter;if(0!==r.filterConditions.length)return e.jsx("button",{onClick:function(e){e.preventDefault(),i()},children:l})},exports.TableSpecifyKeyFilterRemoveButton=u;
|
|
3
|
-
//# sourceMappingURL=components.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("../../../node_modules/tslib/tslib.es6.js"),l=[{key:"includeText",label:"次の値を含む"}],r=[{key:"eq",label:"次の値と等しい"},{key:"ne",label:"次の値と等しくない"},{key:"gt",label:"次の値より大きい"},{key:"lt",label:"次の値より小さい"},{key:"gte",label:"次の値以上"},{key:"lte",label:"次の値以下"}],a=[{key:"selected",label:"次の値と等しい"},{key:"notSelected",label:"次の値と等しくない"}],t=e.__spreadArray(e.__spreadArray(e.__spreadArray([],l,!0),r,!0),a,!0);exports.FILTER_OPERATOR=t,exports.NUMBER_FILTER_OPERATOR=r,exports.SELECT_FILTER_OPERATOR=a,exports.STRING_FILTER_OPERATOR=l;
|
|
2
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../../src/table/filter/constants.ts"],"sourcesContent":["export const STRING_FILTER_OPERATOR = [\n { key: \"includeText\", label: \"次の値を含む\" },\n] as const;\n\nexport const NUMBER_FILTER_OPERATOR = [\n { key: \"eq\", label: \"次の値と等しい\" },\n { key: \"ne\", label: \"次の値と等しくない\" },\n { key: \"gt\", label: \"次の値より大きい\" },\n { key: \"lt\", label: \"次の値より小さい\" },\n { key: \"gte\", label: \"次の値以上\" },\n { key: \"lte\", label: \"次の値以下\" },\n] as const;\n\nexport const SELECT_FILTER_OPERATOR = [\n { key: \"selected\", label: \"次の値と等しい\" },\n { key: \"notSelected\", label: \"次の値と等しくない\" },\n] as const;\n\nexport const FILTER_OPERATOR = [\n ...STRING_FILTER_OPERATOR,\n ...NUMBER_FILTER_OPERATOR,\n ...SELECT_FILTER_OPERATOR,\n] as const;\n"],"names":["STRING_FILTER_OPERATOR","key","label","NUMBER_FILTER_OPERATOR","SELECT_FILTER_OPERATOR","FILTER_OPERATOR","__spreadArray"],"mappings":"uEAAaA,EAAyB,CACpC,CAAEC,IAAK,cAAeC,MAAO,WAGlBC,EAAyB,CACpC,CAAEF,IAAK,KAAMC,MAAO,WACpB,CAAED,IAAK,KAAMC,MAAO,aACpB,CAAED,IAAK,KAAMC,MAAO,YACpB,CAAED,IAAK,KAAMC,MAAO,YACpB,CAAED,IAAK,MAAOC,MAAO,SACrB,CAAED,IAAK,MAAOC,MAAO,UAGVE,EAAyB,CACpC,CAAEH,IAAK,WAAYC,MAAO,WAC1B,CAAED,IAAK,cAAeC,MAAO,cAGlBG,EAAkBC,EAAAA,cAAAA,gBAAAA,EAAAA,cAAA,GAC1BN,GAAsB,GACtBG,GAAsB,GACtBC,GAAsB"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime");exports.FIlterIcon=function(t){var r,i=null!==(r=t.size)&&void 0!==r?r:16;return e.jsx("div",{className:"duration-300 ".concat(t.isFilterTarget?"text-neutral-500":t.isFilterActive?"text-gray-700":"text-gray-500"),children:e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",version:"1.1",width:"".concat(i,"px"),height:"".concat(i,"px"),viewBox:"0 0 256 256",xmlSpace:"preserve",children:[e.jsx("defs",{}),t.isFilterActive||t.isFilterTarget?e.jsx("g",{style:{stroke:"none",strokeWidth:0,strokeDasharray:"none",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:10,fill:"none",fillRule:"nonzero",opacity:1},transform:"translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)",children:e.jsx("path",{d:"M 52.537 80.466 V 45.192 L 84.53 2.999 C 85.464 1.768 84.586 0 83.041 0 H 6.959 C 5.414 0 4.536 1.768 5.47 2.999 l 31.994 42.192 v 43.441 c 0 1.064 1.163 1.719 2.073 1.167 l 11.758 -7.127 C 52.065 82.205 52.537 81.368 52.537 80.466 z",style:{stroke:"none",strokeWidth:1,strokeDasharray:"none",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:10,fill:"currentColor",fillRule:"nonzero",opacity:1},transform:" matrix(1 0 0 1 0 0) ",strokeLinecap:"round"})}):e.jsx("g",{style:{stroke:"none",strokeWidth:0,strokeDasharray:"none",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:10,fill:"none",fillRule:"nonzero",opacity:1},transform:"translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)",children:e.jsx("path",{d:"M 37.882 90 c -0.338 0 -0.676 -0.086 -0.981 -0.258 c -0.629 -0.354 -1.019 -1.02 -1.019 -1.742 V 45.354 L 3.923 3.208 C 3.464 2.604 3.388 1.791 3.726 1.11 S 4.758 0 5.517 0 h 78.966 c 0.76 0 1.453 0.43 1.791 1.11 s 0.262 1.493 -0.197 2.098 L 54.118 45.354 V 79.37 c 0 0.699 -0.365 1.348 -0.963 1.71 l -14.237 8.63 C 38.601 89.903 38.241 90 37.882 90 z M 9.543 4 l 29.932 39.474 c 0.264 0.348 0.406 0.772 0.406 1.208 v 39.767 l 10.236 -6.205 V 44.682 c 0 -0.437 0.143 -0.861 0.406 -1.208 L 80.457 4 H 9.543 z M 52.118 79.37 h 0.01 H 52.118 z",style:{stroke:"none",strokeWidth:1,strokeDasharray:"none",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:10,fill:"currentColor",fillRule:"nonzero",opacity:1},transform:" matrix(1 0 0 1 0 0) ",strokeLinecap:"round"})})]})})};
|
|
2
|
-
//# sourceMappingURL=filter-icon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter-icon.js","sources":["../../../../../src/table/filter/filter-icon.tsx"],"sourcesContent":["type TPropsFIlterIcon = {\n size?: number;\n isFilterActive?: boolean;\n isFilterTarget?: boolean;\n};\n\nexport function FIlterIcon(props: TPropsFIlterIcon) {\n const size = props.size ?? 16;\n return (\n <div\n className={`duration-300 ${\n props.isFilterTarget\n ? \"text-neutral-500\"\n : props.isFilterActive\n ? \"text-gray-700\"\n : \"text-gray-500\"\n }`}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n version=\"1.1\"\n width={`${size}px`}\n height={`${size}px`}\n viewBox=\"0 0 256 256\"\n xmlSpace=\"preserve\"\n >\n <defs></defs>\n {props.isFilterActive || props.isFilterTarget ? (\n <g\n style={{\n stroke: \"none\",\n strokeWidth: 0,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 10,\n fill: \"none\",\n fillRule: \"nonzero\",\n opacity: 1,\n }}\n transform=\"translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)\"\n >\n <path\n d=\"M 52.537 80.466 V 45.192 L 84.53 2.999 C 85.464 1.768 84.586 0 83.041 0 H 6.959 C 5.414 0 4.536 1.768 5.47 2.999 l 31.994 42.192 v 43.441 c 0 1.064 1.163 1.719 2.073 1.167 l 11.758 -7.127 C 52.065 82.205 52.537 81.368 52.537 80.466 z\"\n style={{\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 10,\n fill: \"currentColor\",\n fillRule: \"nonzero\",\n opacity: 1,\n }}\n transform=\" matrix(1 0 0 1 0 0) \"\n strokeLinecap=\"round\"\n />\n </g>\n ) : (\n <g\n style={{\n stroke: \"none\",\n strokeWidth: 0,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 10,\n fill: \"none\",\n fillRule: \"nonzero\",\n opacity: 1,\n }}\n transform=\"translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)\"\n >\n <path\n d=\"M 37.882 90 c -0.338 0 -0.676 -0.086 -0.981 -0.258 c -0.629 -0.354 -1.019 -1.02 -1.019 -1.742 V 45.354 L 3.923 3.208 C 3.464 2.604 3.388 1.791 3.726 1.11 S 4.758 0 5.517 0 h 78.966 c 0.76 0 1.453 0.43 1.791 1.11 s 0.262 1.493 -0.197 2.098 L 54.118 45.354 V 79.37 c 0 0.699 -0.365 1.348 -0.963 1.71 l -14.237 8.63 C 38.601 89.903 38.241 90 37.882 90 z M 9.543 4 l 29.932 39.474 c 0.264 0.348 0.406 0.772 0.406 1.208 v 39.767 l 10.236 -6.205 V 44.682 c 0 -0.437 0.143 -0.861 0.406 -1.208 L 80.457 4 H 9.543 z M 52.118 79.37 h 0.01 H 52.118 z\"\n style={{\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 10,\n fill: \"currentColor\",\n fillRule: \"nonzero\",\n opacity: 1,\n }}\n transform=\" matrix(1 0 0 1 0 0) \"\n strokeLinecap=\"round\"\n />\n </g>\n )}\n </svg>\n </div>\n );\n}\n"],"names":["props","size","_a","_jsx","className","concat","isFilterTarget","isFilterActive","children","_jsxs","xmlns","xmlnsXlink","version","width","height","viewBox","xmlSpace","style","stroke","strokeWidth","strokeDasharray","strokeLinecap","strokeLinejoin","strokeMiterlimit","fill","fillRule","opacity","transform","d","jsx"],"mappings":"mEAMM,SAAqBA,SACnBC,EAAiB,QAAVC,EAAAF,EAAMC,YAAI,IAAAC,EAAAA,EAAI,GAC3B,OACEC,EAAAA,IACE,MAAA,CAAAC,UAAW,gBACTC,OAAAL,EAAMM,eACF,mBACAN,EAAMO,eACN,gBACA,iBAGNC,SAAAC,OAAA,MAAA,CACEC,MAAM,6BACNC,WAAW,+BACXC,QAAQ,MACRC,MAAO,UAAGZ,EAAI,MACda,OAAQ,GAAAT,OAAGJ,EAAQ,MACnBc,QAAQ,cACRC,SAAS,WAETR,SAAA,CAAAL,MAAA,OAAA,CAAA,GACCH,EAAMO,gBAAkBP,EAAMM,eAC7BH,MACE,IAAA,CAAAc,MAAO,CACLC,OAAQ,OACRC,YAAa,EACbC,gBAAiB,OACjBC,cAAe,OACfC,eAAgB,QAChBC,iBAAkB,GAClBC,KAAM,OACNC,SAAU,UACVC,QAAS,GAEXC,UAAU,oEAEVnB,SAAAL,EAAAA,IAAA,OAAA,CACEyB,EAAE,4OACFX,MAAO,CACLC,OAAQ,OACRC,YAAa,EACbC,gBAAiB,OACjBC,cAAe,OACfC,eAAgB,QAChBC,iBAAkB,GAClBC,KAAM,eACNC,SAAU,UACVC,QAAS,GAEXC,UAAU,wBACVN,cAAc,YAIlBlB,EAAA0B,IAAA,IAAA,CACEZ,MAAO,CACLC,OAAQ,OACRC,YAAa,EACbC,gBAAiB,OACjBC,cAAe,OACfC,eAAgB,QAChBC,iBAAkB,GAClBC,KAAM,OACNC,SAAU,UACVC,QAAS,GAEXC,UAAU,oEAEVnB,SAAAL,EAAAA,IAAA,OAAA,CACEyB,EAAE,8hBACFX,MAAO,CACLC,OAAQ,OACRC,YAAa,EACbC,gBAAiB,OACjBC,cAAe,OACfC,eAAgB,QAChBC,iBAAkB,GAClBC,KAAM,eACNC,SAAU,UACVC,QAAS,GAEXC,UAAU,wBACVN,cAAc,gBAO5B"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("react"),l=function(e,l){switch(l.type){case"set":return e&&e.key===l.payload.col.key?e:"string"===l.payload.col.type||"number"===l.payload.col.type?{key:l.payload.col.key,type:l.payload.col.type,label:l.payload.col.label}:{key:l.payload.col.key,type:l.payload.col.type,label:l.payload.col.label,options:l.payload.col.options};case"clear":return null}};exports.useFilteringColumnReducer=function(){var o=e.useReducer(l,null),t=o[0],a=o[1];return{state:t,actions:e.useMemo((function(){return{setFilteringColumn:function(e){return a({type:"set",payload:{col:e}})},clearFilteringColumn:function(){return a({type:"clear"})}}}),[])}};
|
|
2
|
-
//# sourceMappingURL=hooks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sources":["../../../../../../../src/table/filter/hooks/selectedFilteringColumn/hooks.ts"],"sourcesContent":["import { useMemo, useReducer } from \"react\";\nimport { TFilteringColumnReducer, TReturnFilteringColumnReducer } from \"./type\";\nimport { DataRecord, TTableColumn } from \"../../../table/type\";\n\nconst filteringColumnReducer: TFilteringColumnReducer = (state, action) => {\n switch (action.type) {\n case \"set\":\n if (!!state && state.key === action.payload.col.key) return state;\n\n if (\n action.payload.col.type === \"string\" ||\n action.payload.col.type === \"number\"\n ) {\n return {\n key: action.payload.col.key,\n type: action.payload.col.type,\n label: action.payload.col.label,\n };\n } else {\n return {\n key: action.payload.col.key,\n type: action.payload.col.type,\n label: action.payload.col.label,\n options: action.payload.col.options,\n };\n }\n case \"clear\":\n return null;\n }\n};\n\nexport function useFilteringColumnReducer(): TReturnFilteringColumnReducer {\n const [state, dispatch] = useReducer(filteringColumnReducer, null);\n\n const actions = useMemo(\n () => ({\n setFilteringColumn: (col: TTableColumn<DataRecord>) =>\n dispatch({ type: \"set\", payload: { col } }),\n clearFilteringColumn: () => dispatch({ type: \"clear\" }),\n }),\n []\n );\n\n return { state, actions };\n}\n"],"names":["filteringColumnReducer","state","action","type","key","payload","col","label","options","_a","useReducer","dispatch","actions","useMemo","setFilteringColumn","clearFilteringColumn"],"mappings":"oCAIMA,EAAkD,SAACC,EAAOC,GAC9D,OAAQA,EAAOC,MACb,IAAK,MACH,OAAMF,GAASA,EAAMG,MAAQF,EAAOG,QAAQC,IAAIF,IAAYH,EAG9B,WAA5BC,EAAOG,QAAQC,IAAIH,MACS,WAA5BD,EAAOG,QAAQC,IAAIH,KAEZ,CACLC,IAAKF,EAAOG,QAAQC,IAAIF,IACxBD,KAAMD,EAAOG,QAAQC,IAAIH,KACzBI,MAAOL,EAAOG,QAAQC,IAAIC,OAGrB,CACLH,IAAKF,EAAOG,QAAQC,IAAIF,IACxBD,KAAMD,EAAOG,QAAQC,IAAIH,KACzBI,MAAOL,EAAOG,QAAQC,IAAIC,MAC1BC,QAASN,EAAOG,QAAQC,IAAIE,SAGlC,IAAK,QACH,OAAO,KAEb,+CAGQ,IAAAC,EAAoBC,EAAAA,WAAWV,EAAwB,MAAtDC,EAAKQ,EAAA,GAAEE,OAWd,MAAO,CAAEV,MAAKA,EAAEW,QATAC,WACd,WAAM,MAAC,CACLC,mBAAoB,SAACR,GACnB,OAAAK,EAAS,CAAER,KAAM,MAAOE,QAAS,CAAEC,IAAGA,IAAK,EAC7CS,qBAAsB,WAAM,OAAAJ,EAAS,CAAER,KAAM,SAAU,EAHnD,GAKN,IAIJ"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";require("../../../../../node_modules/tslib/tslib.es6.js");var e=require("react/jsx-runtime"),t=require("react"),r=require("./hooks.js"),n=t.createContext(null),i=t.createContext({setFilteringColumn:function(){},clearFilteringColumn:function(){}});exports.FilteringColumnProvider=function(t){var u=r.useFilteringColumnReducer(),o=u.state,l=u.actions;return e.jsx(n.Provider,{value:o,children:e.jsx(i.Provider,{value:l,children:t.children})})},exports.useFilteringColumnActionContext=function(){return t.useContext(i)},exports.useFilteringColumnStateContext=function(){return t.useContext(n)};
|
|
2
|
-
//# sourceMappingURL=provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sources":["../../../../../../../src/table/filter/hooks/selectedFilteringColumn/provider.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport {\n TFilteringColumnActionContext,\n TFilteringColumnStateContext,\n} from \"./type\";\nimport { useFilteringColumnReducer } from \"./hooks\";\n\nconst FilteringColumnStateContext =\n createContext<TFilteringColumnStateContext>(null);\n\nconst FilteringColumnActionContext =\n createContext<TFilteringColumnActionContext>({\n setFilteringColumn: () => {},\n clearFilteringColumn: () => {},\n });\n\ntype TPropsFilteringColumnProvider = {\n children: JSX.Element | JSX.Element[];\n};\n\nexport function FilteringColumnProvider(props: TPropsFilteringColumnProvider) {\n const { state, actions } = useFilteringColumnReducer();\n return (\n <FilteringColumnStateContext.Provider value={state}>\n <FilteringColumnActionContext.Provider value={actions}>\n {props.children}\n </FilteringColumnActionContext.Provider>\n </FilteringColumnStateContext.Provider>\n );\n}\n\nexport function useFilteringColumnStateContext() {\n return useContext(FilteringColumnStateContext);\n}\n\nexport function useFilteringColumnActionContext() {\n return useContext(FilteringColumnActionContext);\n}\n\nexport function useFilteringColumnContext() {\n return {\n ...useFilteringColumnStateContext(),\n ...useFilteringColumnActionContext(),\n };\n}\n"],"names":["FilteringColumnStateContext","createContext","FilteringColumnActionContext","setFilteringColumn","clearFilteringColumn","props","_a","useFilteringColumnReducer","state","actions","_jsx","Provider","value","children","useContext"],"mappings":"qJAOMA,EACJC,EAAAA,cAA4C,MAExCC,EACJD,EAAAA,cAA6C,CAC3CE,mBAAoB,WAAQ,EAC5BC,qBAAsB,WAAQ,oCAO5B,SAAkCC,GAChC,IAAAC,EAAqBC,EAAyBA,4BAA5CC,EAAKF,EAAAE,MAAEC,EAAOH,EAAAG,QACtB,OACEC,EAAAA,IAACV,EAA4BW,UAASC,MAAOJ,EAAKK,SAChDH,MAACR,EAA6BS,SAAQ,CAACC,MAAOH,EAAOI,SAClDR,EAAMQ,YAIf,qDAOE,OAAOC,EAAAA,WAAWZ,EACpB,oDALE,OAAOY,EAAAA,WAAWd,EACpB"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("../../../node_modules/tslib/tslib.es6.js"),r=require("react");function t(r,t){switch(t.type){case"add":return{filters:e.__spreadArray(e.__spreadArray([],r.filters,!0),[e.__assign({id:(new Date).getTime()},t.payload.filter)],!1)};case"remove":return{filters:r.filters.filter((function(e){return e.id!==t.payload.id}))};case"clear":return{filters:[]}}}exports.useFilterReducer=function(){var e=r.useReducer(t,{filters:[]}),n=e[0],u=e[1];return{addFilter:r.useCallback((function(e){return u({type:"add",payload:{filter:e}})}),[u]),removeFilter:r.useCallback((function(e){return u({type:"remove",payload:{id:e}})}),[u]),clearFilter:r.useCallback((function(){return u({type:"clear"})}),[u]),filter:r.useCallback((function(e){return n.filters.reduce((function(e,r){switch(r.operator){case"includeText":return e.filter((function(e){var t=e[r.key];return"string"==typeof t&&r.value.some((function(e){return t.includes(e)}))}));case"eq":case"selected":return e.filter((function(e){return e[r.key]===r.value}));case"ne":case"notSelected":return e.filter((function(e){return e[r.key]!==r.value}));case"gt":return e.filter((function(e){return e[r.key]>r.value}));case"lt":return e.filter((function(e){return e[r.key]<r.value}));case"gte":return e.filter((function(e){return e[r.key]>=r.value}));case"lte":return e.filter((function(e){return e[r.key]<=r.value}))}}),e)}),[n]),filterConditions:n.filters}};
|
|
2
|
-
//# sourceMappingURL=hooks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sources":["../../../../../src/table/filter/hooks.ts"],"sourcesContent":["import { useCallback, useReducer } from \"react\";\nimport {\n TFilter,\n TFilterAction,\n TFilterState,\n TReturnUseFilterReducer,\n} from \"./types\";\nimport { DataObject, DataRecord } from \"../table/type\";\n\nfunction reducer<T extends DataRecord>(\n state: TFilterState<T>,\n action: TFilterAction<T>\n): TFilterState<T> {\n switch (action.type) {\n case \"add\":\n return {\n filters: [\n ...state.filters,\n { id: new Date().getTime(), ...action.payload.filter },\n ],\n };\n case \"remove\":\n return {\n filters: state.filters.filter((f) => f.id !== action.payload.id),\n };\n case \"clear\":\n return { filters: [] };\n }\n}\n\nexport function useFilterReducer<\n T extends DataRecord\n>(): TReturnUseFilterReducer<T> {\n const [state, dispatch] = useReducer(reducer, { filters: [] });\n\n const addFilter = useCallback(\n (filter: TFilter<T>) => dispatch({ type: \"add\", payload: { filter } }),\n [dispatch]\n );\n const removeFilter = useCallback(\n (id: number) => dispatch({ type: \"remove\", payload: { id } }),\n [dispatch]\n );\n const clearFilter = useCallback(\n () => dispatch({ type: \"clear\" }),\n [dispatch]\n );\n\n const filter = useCallback(\n <U extends DataRecord>(rows: DataObject<U>[]): DataObject<U>[] => {\n return state.filters.reduce((acc, filter) => {\n switch (filter.operator) {\n case \"includeText\":\n return acc.filter((row) => {\n const value = row[filter.key];\n if (typeof value === \"string\") {\n return filter.value.some((v) => value.includes(v));\n }\n return false;\n });\n case \"eq\":\n return acc.filter((row) => row[filter.key] === filter.value);\n case \"ne\":\n return acc.filter((row) => row[filter.key] !== filter.value);\n case \"gt\":\n return acc.filter(\n (row) => (row[filter.key] as number) > filter.value\n );\n case \"lt\":\n return acc.filter(\n (row) => (row[filter.key] as number) < filter.value\n );\n case \"gte\":\n return acc.filter(\n (row) => (row[filter.key] as number) >= filter.value\n );\n case \"lte\":\n return acc.filter(\n (row) => (row[filter.key] as number) <= filter.value\n );\n case \"selected\":\n return acc.filter((row) => row[filter.key] === filter.value);\n case \"notSelected\":\n return acc.filter((row) => row[filter.key] !== filter.value);\n }\n }, rows);\n },\n [state]\n );\n\n return {\n addFilter,\n removeFilter,\n clearFilter,\n filter,\n filterConditions: state.filters,\n };\n}\n"],"names":["reducer","state","action","type","filters","__spreadArray","__assign","id","Date","getTime","payload","filter","f","_a","useReducer","dispatch","addFilter","useCallback","removeFilter","clearFilter","rows","reduce","acc","operator","row","value","key","some","v","includes","filterConditions"],"mappings":"0FASA,SAASA,EACPC,EACAC,GAEA,OAAQA,EAAOC,MACb,IAAK,MACH,MAAO,CACLC,QAAOC,EAAAA,cAAAA,gBAAA,GACFJ,EAAMG,SAAO,GAAA,CACdE,WAAA,CAAAC,IAAI,IAAIC,MAAOC,WAAcP,EAAOQ,QAAQC,UAC/C,IAEL,IAAK,SACH,MAAO,CACLP,QAASH,EAAMG,QAAQO,QAAO,SAACC,GAAM,OAAAA,EAAEL,KAAOL,EAAOQ,QAAQH,EAAxB,KAEzC,IAAK,QACH,MAAO,CAAEH,QAAS,IAExB,qCAKQ,IAAAS,EAAoBC,EAAUA,WAACd,EAAS,CAAEI,QAAS,KAAlDH,OAAOc,OAyDd,MAAO,CACLC,UAxDgBC,EAAAA,aAChB,SAACN,GAAuB,OAAAI,EAAS,CAAEZ,KAAM,MAAOO,QAAS,CAAEC,OAAMA,OACjE,CAACI,IAuDDG,aArDmBD,EAAAA,aACnB,SAACV,GAAe,OAAAQ,EAAS,CAAEZ,KAAM,SAAUO,QAAS,CAAEH,GAAEA,OACxD,CAACQ,IAoDDI,YAlDkBF,EAAAA,aAClB,WAAM,OAAAF,EAAS,CAAEZ,KAAM,SAAjB,GACN,CAACY,IAiDDJ,OA9CaM,eACb,SAAuBG,GACrB,OAAOnB,EAAMG,QAAQiB,QAAO,SAACC,EAAKX,GAChC,OAAQA,EAAOY,UACb,IAAK,cACH,OAAOD,EAAIX,QAAO,SAACa,GACjB,IAAMC,EAAQD,EAAIb,EAAOe,KACzB,MAAqB,iBAAVD,GACFd,EAAOc,MAAME,MAAK,SAACC,GAAM,OAAAH,EAAMI,SAASD,EAAE,GAGrD,IACF,IAAK,KAoBL,IAAK,WACH,OAAON,EAAIX,QAAO,SAACa,GAAQ,OAAAA,EAAIb,EAAOe,OAASf,EAAOc,KAAK,IAnB7D,IAAK,KAoBL,IAAK,cACH,OAAOH,EAAIX,QAAO,SAACa,GAAQ,OAAAA,EAAIb,EAAOe,OAASf,EAAOc,KAAK,IAnB7D,IAAK,KACH,OAAOH,EAAIX,QACT,SAACa,GAAQ,OAACA,EAAIb,EAAOe,KAAkBf,EAAOc,KAAK,IAEvD,IAAK,KACH,OAAOH,EAAIX,QACT,SAACa,GAAQ,OAACA,EAAIb,EAAOe,KAAkBf,EAAOc,KAAK,IAEvD,IAAK,MACH,OAAOH,EAAIX,QACT,SAACa,GAAQ,OAACA,EAAIb,EAAOe,MAAmBf,EAAOc,KAAK,IAExD,IAAK,MACH,OAAOH,EAAIX,QACT,SAACa,GAAQ,OAACA,EAAIb,EAAOe,MAAmBf,EAAOc,KAAK,IAO3D,GAAEL,EACL,GACA,CAACnB,IAQD6B,iBAAkB7B,EAAMG,QAE5B"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
"use strict";var e=require("../../../node_modules/tslib/tslib.es6.js"),r=require("react/jsx-runtime"),i=require("react"),t=require("./hooks.js"),n=require("./hooks/selectedFilteringColumn/provider.js"),o=i.createContext({addFilter:function(){},removeFilter:function(){},clearFilter:function(){},filter:function(){return[]},filterConditions:[]});exports.FilterProvider=function(e){var i=e.children;return r.jsx(n.FilteringColumnProvider,{children:r.jsx(o.Provider,{value:t.useFilterReducer(),children:i})})},exports.useFilterContext=function(){return e.__assign({},i.useContext(o))};
|
|
3
|
-
//# sourceMappingURL=provider.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("react"),t=require("../constant.js");exports.useResizeColWidthHook=function(o){var n,u,i=e.useState(null!==(n=null==o?void 0:o.initialWidth)&&void 0!==n?n:t.DEFAULT_COL_WIDTH),s=i[0],r=i[1],d=e.useState(!1),c=d[0],l=d[1],m=null!==(u=null==o?void 0:o.minWidth)&&void 0!==u?u:t.DEFAULT_MIN_COL_WIDTH,v=e.useCallback((function(e){if(!c){var t=e.clientX,o=s;document.body.style.cursor="col-resize",document.body.style.userSelect="none";var n=function(e){l(!0);var n=o+(e.clientX-t);r(n>m?n:m)},u=function(){l(!1),document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",u),document.body.style.cursor="default",document.body.style.userSelect="auto"};document.addEventListener("mousemove",n),document.addEventListener("mouseup",u)}}),[c,m]);return{colWidth:s,onMouseDownResizeWidth:v}};
|
|
2
|
-
//# sourceMappingURL=resize-col-width-hook.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resize-col-width-hook.js","sources":["../../../../../src/table/header/resize-col-width-hook.ts"],"sourcesContent":["import { useCallback, useState } from \"react\";\nimport { DEFAULT_COL_WIDTH, DEFAULT_MIN_COL_WIDTH } from \"../constant\";\n\nexport function useResizeColWidthHook(options?: {\n initialWidth?: number;\n minWidth?: number;\n}) {\n const [colWidth, setColWidth] = useState(\n options?.initialWidth ?? DEFAULT_COL_WIDTH\n );\n const [isDragging, setIsDragging] = useState(false);\n const minWidth = options?.minWidth ?? DEFAULT_MIN_COL_WIDTH;\n\n const cursorStyle = \"col-resize\";\n\n const onMouseDownResizeWidth: React.MouseEventHandler<HTMLDivElement> =\n useCallback(\n (e) => {\n if (isDragging) return;\n\n const startX = e.clientX;\n const startWidth = colWidth;\n\n document.body.style.cursor = cursorStyle;\n document.body.style.userSelect = \"none\";\n\n const onMouseMove = (moveEvent: MouseEvent) => {\n setIsDragging(true);\n const newWidth = startWidth + (moveEvent.clientX - startX);\n setColWidth(newWidth > minWidth ? newWidth : minWidth);\n };\n\n const onMouseUp = () => {\n setIsDragging(false);\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n document.body.style.cursor = \"default\";\n document.body.style.userSelect = \"auto\";\n };\n\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n },\n [isDragging, minWidth]\n );\n\n return {\n colWidth,\n onMouseDownResizeWidth,\n };\n}\n"],"names":["options","_c","useState","_a","initialWidth","DEFAULT_COL_WIDTH","colWidth","setColWidth","_d","isDragging","setIsDragging","minWidth","_b","DEFAULT_MIN_COL_WIDTH","onMouseDownResizeWidth","useCallback","e","startX","clientX","startWidth","document","body","style","cursor","userSelect","onMouseMove","moveEvent","newWidth","onMouseUp","removeEventListener","addEventListener"],"mappings":"8FAGM,SAAgCA,WAI9BC,EAA0BC,EAAAA,SACL,QAAzBC,EAAAH,eAAAA,EAASI,oBAAgB,IAAAD,EAAAA,EAAAE,EAAiBA,mBADrCC,OAAUC,OAGXC,EAA8BN,EAAAA,UAAS,GAAtCO,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAC1BG,EAAgC,QAArBC,EAAAZ,aAAA,EAAAA,EAASW,gBAAY,IAAAC,EAAAA,EAAAC,wBAIhCC,EACJC,eACE,SAACC,GACC,IAAIP,EAAJ,CAEA,IAAMQ,EAASD,EAAEE,QACXC,EAAab,EAEnBc,SAASC,KAAKC,MAAMC,OAVN,aAWdH,SAASC,KAAKC,MAAME,WAAa,OAEjC,IAAMC,EAAc,SAACC,GACnBhB,GAAc,GACd,IAAMiB,EAAWR,GAAcO,EAAUR,QAAUD,GACnDV,EAAYoB,EAAWhB,EAAWgB,EAAWhB,EAC/C,EAEMiB,EAAY,WAChBlB,GAAc,GACdU,SAASS,oBAAoB,YAAaJ,GAC1CL,SAASS,oBAAoB,UAAWD,GACxCR,SAASC,KAAKC,MAAMC,OAAS,UAC7BH,SAASC,KAAKC,MAAME,WAAa,MACnC,EAEAJ,SAASU,iBAAiB,YAAaL,GACvCL,SAASU,iBAAiB,UAAWF,EAvBd,CAwBzB,GACA,CAACnB,EAAYE,IAGjB,MAAO,CACLL,SAAQA,EACRQ,uBAAsBA,EAE1B"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{useEffect as t}from"react";import{useIdContext as r}from"../id/provider.js";import{IdGenerator as o}from"../lib/id-generator.js";function l(l){var n=r();return t((function(){var e,t=document.getElementById(o.generateIdSelectBoxOption(n,null!==(e=l.selectingValue)&&void 0!==e?e:""));t&&t.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}),[l.selectingValue]),e("div",{id:o.generateIdSelectBoxOptionsArea(n),className:"absolute top-full left-0 w-full max-h-[40vh] overflow-auto border border-gray-300",children:l.options.map((function(t){var r;return e("div",{id:o.generateIdSelectBoxOption(n,null!==(r=t.value)&&void 0!==r?r:""),className:"hover:bg-gray-200 px-2 py-1 ".concat("string"==typeof l.selectingValue?l.selectingValue===t.value?"bg-gray-100":"bg-white":l.value===t.value?"bg-gray-100":"bg-white"),onClick:function(){return l.onSelect(t.value)},children:t.label},t.value)}))})}export{l as OptionsArea};
|
|
2
|
-
//# sourceMappingURL=options-area.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"options-area.js","sources":["../../../../../src/select-box/parts/options-area.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { Options } from \"../types\";\nimport { useIdContext } from \"../id/provider\";\nimport { IdGenerator } from \"../lib\";\n\ninterface IPropsSelectArea {\n options: Options[];\n value: string;\n onSelect: (value: string) => void;\n selectingValue?: string;\n}\n\nexport function OptionsArea(props: IPropsSelectArea) {\n const id = useIdContext();\n\n useEffect(() => {\n const optionElement = document.getElementById(\n IdGenerator.generateIdSelectBoxOption(id, props.selectingValue ?? \"\")\n );\n\n if (!optionElement) return;\n\n optionElement.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"nearest\",\n });\n }, [props.selectingValue]);\n\n return (\n <div\n id={IdGenerator.generateIdSelectBoxOptionsArea(id)}\n className=\"absolute top-full left-0 w-full max-h-[40vh] overflow-auto border border-gray-300\"\n >\n {props.options.map((option) => (\n <div\n id={IdGenerator.generateIdSelectBoxOption(id, option.value ?? \"\")}\n className={`hover:bg-gray-200 px-2 py-1 ${\n typeof props.selectingValue === \"string\"\n ? props.selectingValue === option.value\n ? \"bg-gray-100\"\n : \"bg-white\"\n : props.value === option.value\n ? \"bg-gray-100\"\n : \"bg-white\"\n }`}\n key={option.value}\n onClick={() => props.onSelect(option.value)}\n >\n {option.label}\n </div>\n ))}\n </div>\n );\n}\n"],"names":["OptionsArea","props","id","useIdContext","useEffect","optionElement","document","getElementById","IdGenerator","generateIdSelectBoxOption","_a","selectingValue","scrollIntoView","behavior","block","inline","_jsx","generateIdSelectBoxOptionsArea","className","options","map","option","value","concat","onClick","onSelect","children","label"],"mappings":"gLAYM,SAAUA,EAAYC,GAC1B,IAAMC,EAAKC,IAgBX,OAdAC,GAAU,iBACFC,EAAgBC,SAASC,eAC7BC,EAAYC,0BAA0BP,UAAIQ,EAAAT,EAAMU,8BAAkB,KAG/DN,GAELA,EAAcO,eAAe,CAC3BC,SAAU,SACVC,MAAO,UACPC,OAAQ,WAEZ,GAAG,CAACd,EAAMU,iBAGRK,SACEd,GAAIM,EAAYS,+BAA+Bf,GAC/CgB,UAAU,6FAETjB,EAAMkB,QAAQC,KAAI,SAACC,SAAW,OAC7BL,EACE,MAAA,CAAAd,GAAIM,EAAYC,0BAA0BP,EAAoB,QAAhBQ,EAAAW,EAAOC,aAAS,IAAAZ,EAAAA,EAAA,IAC9DQ,UAAW,+BACTK,OAAgC,iBAAzBtB,EAAMU,eACTV,EAAMU,iBAAmBU,EAAOC,MAC9B,cACA,WACFrB,EAAMqB,QAAUD,EAAOC,MACvB,cACA,YAGNE,QAAS,WAAM,OAAAvB,EAAMwB,SAASJ,EAAOC,MAAM,EAE1CI,SAAAL,EAAOM,OAHHN,EAAOC,MAKf,KAGP"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import{jsx as e,Fragment as t,jsxs as n}from"react/jsx-runtime";import{FIlterIcon as l}from"./filter-icon.js";import{useFilterContext as r}from"./provider.js";import{useState as i,useEffect as a,useCallback as o}from"react";import{CancelIcon as u}from"../../icon/cancel-icon.js";import{FILTER_OPERATOR as c,STRING_FILTER_OPERATOR as s,NUMBER_FILTER_OPERATOR as d,SELECT_FILTER_OPERATOR as f}from"./constants.js";import{useColumnsContext as p}from"../sheet/providers.js";import{useFilteringColumnStateContext as v,useFilteringColumnActionContext as m}from"./hooks/selectedFilteringColumn/provider.js";function y(t){var n=r().filterConditions,i=v(),a=m(),o=a.setFilteringColumn,u=a.clearFilteringColumn;return e("div",{className:"relative cursor-pointer",onClick:function(e){e.preventDefault(),i&&i.key===t.col.key?u():o(t.col)},children:e(l,{isFilterTarget:!!i&&i.key===t.col.key,isFilterActive:n.filter((function(e){return e.key===t.col.key})).length>0})})}function h(t){var n=t.children,l=r(),i=l.clearFilter;if(0!==l.filterConditions.length)return e("button",{onClick:function(e){e.preventDefault(),i()},children:n})}function g(t){var n=t.children,l=r(),i=l.removeFilter,a=l.filterConditions,o=v();if(null!==o&&0!==a.filter((function(e){return e.key===o.key})).length){return e("button",{onClick:function(e){e.preventDefault(),a.filter((function(e){return e.key===o.key})).forEach((function(e){i(e.id)}))},children:n})}}function k(l){var r=l.value,i=l.onChange,a=v();return a?n("select",{value:r,onChange:i,className:"px-2 py-1 rounded-md",children:[e("option",{value:"",children:a.key?"-- 条件を選択 --":"-- 列を選択してください --"}),"string"===a.type&&s.map((function(t){return e("option",{value:t.key,children:t.label},t.key)})),"number"===a.type&&d.map((function(t){return e("option",{value:t.key,children:t.label},t.key)})),"select"===a.type&&f.map((function(t){return e("option",{value:t.key,children:t.label},t.key)}))]}):e(t,{})}function x(t){return n("select",{className:"w-full px-2 py-1 rounded-md min-w-32",value:t.value,onChange:function(e){e.preventDefault(),t.setValue(e.target.value)},children:[e("option",{value:"",children:"-- 未選択 --"}),t.options.map((function(t){return e("option",{value:t.value,children:t.label},t.value)}))]})}function b(t){return e("input",{className:"w-full px-2 py-1 rounded-md min-w-32",type:"text",value:t.value,onChange:function(e){e.preventDefault(),t.setValue(e.target.value)},placeholder:"-- 値を入力 --"})}function N(n){var l=r().addFilter,i=v();return i?e("button",{className:"bg-gray-900 text-white py-1 px-2 rounded-md text-nowrap",onClick:function(e){var t;e.preventDefault(),i.key&&n.selectingOperator&&("select"===i.type||n.value)?l("string"===i.type?{key:i.key,operator:n.selectingOperator,value:[n.value]}:"select"===i.type?{key:i.key,operator:n.selectingOperator,value:n.value,label:null===(t=i.options.find((function(e){return e.value===n.value})))||void 0===t?void 0:t.label}:{key:i.key,operator:n.selectingOperator,value:Number(n.value)}):alert("全ての項目を入力してください")},children:"追加"}):e(t,{})}function C(){var l=v(),s=m(),d=s.setFilteringColumn,f=s.clearFilteringColumn,y=p(),h=r(),C=h.removeFilter,w=h.filterConditions,F=i(""),D=F[0],j=F[1],O=i(""),V=O[0],q=O[1];if(a((function(){q(""),j("")}),[l]),!l)return e(t,{});var z=o((function(e){e.preventDefault,j(e.target.value)}),[]);return n("div",{className:"flex w-full max-h-[50vh] bg-gray-200",children:[e("ul",{className:"flex flex-col items-end min-w-16 md:w-[20%] max-h-full overflow-y-auto no_scrollbar bg-white",children:y.filter((function(e){return!!e.label&&!e.disableFilter})).map((function(t){return n("li",{className:"relative pl-2 pr-8 md:px-8 py-3 w-full cursor-pointer border-y border-gray-300 ".concat(l.key===t.key?"bg-gray-200":"hover:bg-gray-100"),onClick:function(e){e.preventDefault(),d(t)},children:[e("p",{className:"text-right text-nowrap ".concat(l.key===t.key?"underline underline-offset-2 decoration-2 decoration-neutral-500":""),children:t.label}),w.filter((function(e){return e.key===t.key})).length>0&&e("div",{className:"absolute top-1/2 right-1",children:e("div",{className:"-translate-y-1/2 rounded-full border border-gray-400 bg-gray-100 aspect-square w-5",children:e("p",{className:"text-xs text-center",children:w.filter((function(e){return e.key===t.key})).length})})})]},t.key)}))}),n("div",{className:"relative flex flex-col gap-4 ml-4 mr-4 md:ml-16 md:mr-auto py-5",children:[e("div",{className:"absolute top-5 right-0",children:e("button",{onClick:function(e){e.preventDefault(),f()},children:"閉じる"})}),e("p",{className:"font-bold text-xl",children:"フィルタリング条件"}),n("div",{className:"flex items-center gap-3 max-w-6xl",children:[n("p",{className:"text-gray-600 text-lg text-nowrap",children:["「",e("strong",{children:l.label}),"」 は"]}),e(k,{value:D,onChange:z}),"select"===l.type?e(x,{value:V,options:l.options,setValue:q}):e(b,{value:V,setValue:q}),e(N,{value:V,selectingOperator:D})]}),e("ul",{className:"flex flex-col gap-1 my-5 max-h-32 overflow-auto",children:w.filter((function(e){return e.key===l.key})).map((function(t){var l,r;return n("li",{className:"flex justify-between mr-5",children:[n("p",{children:["「",e("strong",{children:null===(l=y.find((function(e){return e.key===t.key})))||void 0===l?void 0:l.label}),"」 は",e("span",{children:null===(r=c.find((function(e){return e.key===t.operator})))||void 0===r?void 0:r.label}),":",e("span",{children:t.label?t.label:t.value})]}),e("button",{onClick:function(e){e.preventDefault(),C(t.id)},children:e(u,{size:16})})]},t.id)}))}),e("div",{className:"flex justify-center",children:e(g,{children:n("p",{className:"text-xs text-gray-600 underline hover:text-gray-800",children:["「",l.label,"」のフィルタを全て解除"]})})})]})]})}export{y as TableFilter,C as TableFilterForm,h as TableFilterRemoveButton,g as TableSpecifyKeyFilterRemoveButton};
|
|
3
|
-
//# sourceMappingURL=components.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{__spreadArray as e}from"../../../node_modules/tslib/tslib.es6.js";var l=[{key:"includeText",label:"次の値を含む"}],t=[{key:"eq",label:"次の値と等しい"},{key:"ne",label:"次の値と等しくない"},{key:"gt",label:"次の値より大きい"},{key:"lt",label:"次の値より小さい"},{key:"gte",label:"次の値以上"},{key:"lte",label:"次の値以下"}],b=[{key:"selected",label:"次の値と等しい"},{key:"notSelected",label:"次の値と等しくない"}],a=e(e(e([],l,!0),t,!0),b,!0);export{a as FILTER_OPERATOR,t as NUMBER_FILTER_OPERATOR,b as SELECT_FILTER_OPERATOR,l as STRING_FILTER_OPERATOR};
|
|
2
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../../src/table/filter/constants.ts"],"sourcesContent":["export const STRING_FILTER_OPERATOR = [\n { key: \"includeText\", label: \"次の値を含む\" },\n] as const;\n\nexport const NUMBER_FILTER_OPERATOR = [\n { key: \"eq\", label: \"次の値と等しい\" },\n { key: \"ne\", label: \"次の値と等しくない\" },\n { key: \"gt\", label: \"次の値より大きい\" },\n { key: \"lt\", label: \"次の値より小さい\" },\n { key: \"gte\", label: \"次の値以上\" },\n { key: \"lte\", label: \"次の値以下\" },\n] as const;\n\nexport const SELECT_FILTER_OPERATOR = [\n { key: \"selected\", label: \"次の値と等しい\" },\n { key: \"notSelected\", label: \"次の値と等しくない\" },\n] as const;\n\nexport const FILTER_OPERATOR = [\n ...STRING_FILTER_OPERATOR,\n ...NUMBER_FILTER_OPERATOR,\n ...SELECT_FILTER_OPERATOR,\n] as const;\n"],"names":["STRING_FILTER_OPERATOR","key","label","NUMBER_FILTER_OPERATOR","SELECT_FILTER_OPERATOR","FILTER_OPERATOR","__spreadArray"],"mappings":"yEAAa,IAAAA,EAAyB,CACpC,CAAEC,IAAK,cAAeC,MAAO,WAGlBC,EAAyB,CACpC,CAAEF,IAAK,KAAMC,MAAO,WACpB,CAAED,IAAK,KAAMC,MAAO,aACpB,CAAED,IAAK,KAAMC,MAAO,YACpB,CAAED,IAAK,KAAMC,MAAO,YACpB,CAAED,IAAK,MAAOC,MAAO,SACrB,CAAED,IAAK,MAAOC,MAAO,UAGVE,EAAyB,CACpC,CAAEH,IAAK,WAAYC,MAAO,WAC1B,CAAED,IAAK,cAAeC,MAAO,cAGlBG,EAAkBC,EAAAA,EAAAA,EAAA,GAC1BN,GAAsB,GACtBG,GAAsB,GACtBC,GAAsB"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as t,jsxs as e}from"react/jsx-runtime";function r(r){var i,o=null!==(i=r.size)&&void 0!==i?i:16;return t("div",{className:"duration-300 ".concat(r.isFilterTarget?"text-neutral-500":r.isFilterActive?"text-gray-700":"text-gray-500"),children:e("svg",{xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",version:"1.1",width:"".concat(o,"px"),height:"".concat(o,"px"),viewBox:"0 0 256 256",xmlSpace:"preserve",children:[t("defs",{}),r.isFilterActive||r.isFilterTarget?t("g",{style:{stroke:"none",strokeWidth:0,strokeDasharray:"none",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:10,fill:"none",fillRule:"nonzero",opacity:1},transform:"translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)",children:t("path",{d:"M 52.537 80.466 V 45.192 L 84.53 2.999 C 85.464 1.768 84.586 0 83.041 0 H 6.959 C 5.414 0 4.536 1.768 5.47 2.999 l 31.994 42.192 v 43.441 c 0 1.064 1.163 1.719 2.073 1.167 l 11.758 -7.127 C 52.065 82.205 52.537 81.368 52.537 80.466 z",style:{stroke:"none",strokeWidth:1,strokeDasharray:"none",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:10,fill:"currentColor",fillRule:"nonzero",opacity:1},transform:" matrix(1 0 0 1 0 0) ",strokeLinecap:"round"})}):t("g",{style:{stroke:"none",strokeWidth:0,strokeDasharray:"none",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:10,fill:"none",fillRule:"nonzero",opacity:1},transform:"translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)",children:t("path",{d:"M 37.882 90 c -0.338 0 -0.676 -0.086 -0.981 -0.258 c -0.629 -0.354 -1.019 -1.02 -1.019 -1.742 V 45.354 L 3.923 3.208 C 3.464 2.604 3.388 1.791 3.726 1.11 S 4.758 0 5.517 0 h 78.966 c 0.76 0 1.453 0.43 1.791 1.11 s 0.262 1.493 -0.197 2.098 L 54.118 45.354 V 79.37 c 0 0.699 -0.365 1.348 -0.963 1.71 l -14.237 8.63 C 38.601 89.903 38.241 90 37.882 90 z M 9.543 4 l 29.932 39.474 c 0.264 0.348 0.406 0.772 0.406 1.208 v 39.767 l 10.236 -6.205 V 44.682 c 0 -0.437 0.143 -0.861 0.406 -1.208 L 80.457 4 H 9.543 z M 52.118 79.37 h 0.01 H 52.118 z",style:{stroke:"none",strokeWidth:1,strokeDasharray:"none",strokeLinecap:"butt",strokeLinejoin:"miter",strokeMiterlimit:10,fill:"currentColor",fillRule:"nonzero",opacity:1},transform:" matrix(1 0 0 1 0 0) ",strokeLinecap:"round"})})]})})}export{r as FIlterIcon};
|
|
2
|
-
//# sourceMappingURL=filter-icon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter-icon.js","sources":["../../../../../src/table/filter/filter-icon.tsx"],"sourcesContent":["type TPropsFIlterIcon = {\n size?: number;\n isFilterActive?: boolean;\n isFilterTarget?: boolean;\n};\n\nexport function FIlterIcon(props: TPropsFIlterIcon) {\n const size = props.size ?? 16;\n return (\n <div\n className={`duration-300 ${\n props.isFilterTarget\n ? \"text-neutral-500\"\n : props.isFilterActive\n ? \"text-gray-700\"\n : \"text-gray-500\"\n }`}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n version=\"1.1\"\n width={`${size}px`}\n height={`${size}px`}\n viewBox=\"0 0 256 256\"\n xmlSpace=\"preserve\"\n >\n <defs></defs>\n {props.isFilterActive || props.isFilterTarget ? (\n <g\n style={{\n stroke: \"none\",\n strokeWidth: 0,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 10,\n fill: \"none\",\n fillRule: \"nonzero\",\n opacity: 1,\n }}\n transform=\"translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)\"\n >\n <path\n d=\"M 52.537 80.466 V 45.192 L 84.53 2.999 C 85.464 1.768 84.586 0 83.041 0 H 6.959 C 5.414 0 4.536 1.768 5.47 2.999 l 31.994 42.192 v 43.441 c 0 1.064 1.163 1.719 2.073 1.167 l 11.758 -7.127 C 52.065 82.205 52.537 81.368 52.537 80.466 z\"\n style={{\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 10,\n fill: \"currentColor\",\n fillRule: \"nonzero\",\n opacity: 1,\n }}\n transform=\" matrix(1 0 0 1 0 0) \"\n strokeLinecap=\"round\"\n />\n </g>\n ) : (\n <g\n style={{\n stroke: \"none\",\n strokeWidth: 0,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 10,\n fill: \"none\",\n fillRule: \"nonzero\",\n opacity: 1,\n }}\n transform=\"translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)\"\n >\n <path\n d=\"M 37.882 90 c -0.338 0 -0.676 -0.086 -0.981 -0.258 c -0.629 -0.354 -1.019 -1.02 -1.019 -1.742 V 45.354 L 3.923 3.208 C 3.464 2.604 3.388 1.791 3.726 1.11 S 4.758 0 5.517 0 h 78.966 c 0.76 0 1.453 0.43 1.791 1.11 s 0.262 1.493 -0.197 2.098 L 54.118 45.354 V 79.37 c 0 0.699 -0.365 1.348 -0.963 1.71 l -14.237 8.63 C 38.601 89.903 38.241 90 37.882 90 z M 9.543 4 l 29.932 39.474 c 0.264 0.348 0.406 0.772 0.406 1.208 v 39.767 l 10.236 -6.205 V 44.682 c 0 -0.437 0.143 -0.861 0.406 -1.208 L 80.457 4 H 9.543 z M 52.118 79.37 h 0.01 H 52.118 z\"\n style={{\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 10,\n fill: \"currentColor\",\n fillRule: \"nonzero\",\n opacity: 1,\n }}\n transform=\" matrix(1 0 0 1 0 0) \"\n strokeLinecap=\"round\"\n />\n </g>\n )}\n </svg>\n </div>\n );\n}\n"],"names":["FIlterIcon","props","size","_a","_jsx","className","concat","isFilterTarget","isFilterActive","children","_jsxs","xmlns","xmlnsXlink","version","width","height","viewBox","xmlSpace","style","stroke","strokeWidth","strokeDasharray","strokeLinecap","strokeLinejoin","strokeMiterlimit","fill","fillRule","opacity","transform","d"],"mappings":"kDAMM,SAAUA,EAAWC,SACnBC,EAAiB,QAAVC,EAAAF,EAAMC,YAAI,IAAAC,EAAAA,EAAI,GAC3B,OACEC,EACE,MAAA,CAAAC,UAAW,gBACTC,OAAAL,EAAMM,eACF,mBACAN,EAAMO,eACN,gBACA,iBAGNC,SAAAC,EAAA,MAAA,CACEC,MAAM,6BACNC,WAAW,+BACXC,QAAQ,MACRC,MAAO,UAAGZ,EAAI,MACda,OAAQ,GAAAT,OAAGJ,EAAQ,MACnBc,QAAQ,cACRC,SAAS,WAETR,SAAA,CAAAL,EAAA,OAAA,CAAA,GACCH,EAAMO,gBAAkBP,EAAMM,eAC7BH,EACE,IAAA,CAAAc,MAAO,CACLC,OAAQ,OACRC,YAAa,EACbC,gBAAiB,OACjBC,cAAe,OACfC,eAAgB,QAChBC,iBAAkB,GAClBC,KAAM,OACNC,SAAU,UACVC,QAAS,GAEXC,UAAU,oEAEVnB,SAAAL,EAAA,OAAA,CACEyB,EAAE,4OACFX,MAAO,CACLC,OAAQ,OACRC,YAAa,EACbC,gBAAiB,OACjBC,cAAe,OACfC,eAAgB,QAChBC,iBAAkB,GAClBC,KAAM,eACNC,SAAU,UACVC,QAAS,GAEXC,UAAU,wBACVN,cAAc,YAIlBlB,EAAA,IAAA,CACEc,MAAO,CACLC,OAAQ,OACRC,YAAa,EACbC,gBAAiB,OACjBC,cAAe,OACfC,eAAgB,QAChBC,iBAAkB,GAClBC,KAAM,OACNC,SAAU,UACVC,QAAS,GAEXC,UAAU,oEAEVnB,SAAAL,EAAA,OAAA,CACEyB,EAAE,8hBACFX,MAAO,CACLC,OAAQ,OACRC,YAAa,EACbC,gBAAiB,OACjBC,cAAe,OACfC,eAAgB,QAChBC,iBAAkB,GAClBC,KAAM,eACNC,SAAU,UACVC,QAAS,GAEXC,UAAU,wBACVN,cAAc,gBAO5B"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{useReducer as l,useMemo as e}from"react";var o=function(l,e){switch(e.type){case"set":return l&&l.key===e.payload.col.key?l:"string"===e.payload.col.type||"number"===e.payload.col.type?{key:e.payload.col.key,type:e.payload.col.type,label:e.payload.col.label}:{key:e.payload.col.key,type:e.payload.col.type,label:e.payload.col.label,options:e.payload.col.options};case"clear":return null}};function a(){var a=l(o,null),t=a[0],n=a[1];return{state:t,actions:e((function(){return{setFilteringColumn:function(l){return n({type:"set",payload:{col:l}})},clearFilteringColumn:function(){return n({type:"clear"})}}}),[])}}export{a as useFilteringColumnReducer};
|
|
2
|
-
//# sourceMappingURL=hooks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sources":["../../../../../../../src/table/filter/hooks/selectedFilteringColumn/hooks.ts"],"sourcesContent":["import { useMemo, useReducer } from \"react\";\nimport { TFilteringColumnReducer, TReturnFilteringColumnReducer } from \"./type\";\nimport { DataRecord, TTableColumn } from \"../../../table/type\";\n\nconst filteringColumnReducer: TFilteringColumnReducer = (state, action) => {\n switch (action.type) {\n case \"set\":\n if (!!state && state.key === action.payload.col.key) return state;\n\n if (\n action.payload.col.type === \"string\" ||\n action.payload.col.type === \"number\"\n ) {\n return {\n key: action.payload.col.key,\n type: action.payload.col.type,\n label: action.payload.col.label,\n };\n } else {\n return {\n key: action.payload.col.key,\n type: action.payload.col.type,\n label: action.payload.col.label,\n options: action.payload.col.options,\n };\n }\n case \"clear\":\n return null;\n }\n};\n\nexport function useFilteringColumnReducer(): TReturnFilteringColumnReducer {\n const [state, dispatch] = useReducer(filteringColumnReducer, null);\n\n const actions = useMemo(\n () => ({\n setFilteringColumn: (col: TTableColumn<DataRecord>) =>\n dispatch({ type: \"set\", payload: { col } }),\n clearFilteringColumn: () => dispatch({ type: \"clear\" }),\n }),\n []\n );\n\n return { state, actions };\n}\n"],"names":["filteringColumnReducer","state","action","type","key","payload","col","label","options","useFilteringColumnReducer","_a","useReducer","dispatch","actions","useMemo","setFilteringColumn","clearFilteringColumn"],"mappings":"gDAIA,IAAMA,EAAkD,SAACC,EAAOC,GAC9D,OAAQA,EAAOC,MACb,IAAK,MACH,OAAMF,GAASA,EAAMG,MAAQF,EAAOG,QAAQC,IAAIF,IAAYH,EAG9B,WAA5BC,EAAOG,QAAQC,IAAIH,MACS,WAA5BD,EAAOG,QAAQC,IAAIH,KAEZ,CACLC,IAAKF,EAAOG,QAAQC,IAAIF,IACxBD,KAAMD,EAAOG,QAAQC,IAAIH,KACzBI,MAAOL,EAAOG,QAAQC,IAAIC,OAGrB,CACLH,IAAKF,EAAOG,QAAQC,IAAIF,IACxBD,KAAMD,EAAOG,QAAQC,IAAIH,KACzBI,MAAOL,EAAOG,QAAQC,IAAIC,MAC1BC,QAASN,EAAOG,QAAQC,IAAIE,SAGlC,IAAK,QACH,OAAO,KAEb,WAEgBC,IACR,IAAAC,EAAoBC,EAAWX,EAAwB,MAAtDC,EAAKS,EAAA,GAAEE,OAWd,MAAO,CAAEX,MAAKA,EAAEY,QATAC,GACd,WAAM,MAAC,CACLC,mBAAoB,SAACT,GACnB,OAAAM,EAAS,CAAET,KAAM,MAAOE,QAAS,CAAEC,IAAGA,IAAK,EAC7CU,qBAAsB,WAAM,OAAAJ,EAAS,CAAET,KAAM,SAAU,EAHnD,GAKN,IAIJ"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"../../../../../node_modules/tslib/tslib.es6.js";import{jsx as r}from"react/jsx-runtime";import{createContext as n,useContext as t}from"react";import{useFilteringColumnReducer as e}from"./hooks.js";var i=n(null),o=n({setFilteringColumn:function(){},clearFilteringColumn:function(){}});function l(n){var t=e(),l=t.state,u=t.actions;return r(i.Provider,{value:l,children:r(o.Provider,{value:u,children:n.children})})}function u(){return t(i)}function c(){return t(o)}export{l as FilteringColumnProvider,c as useFilteringColumnActionContext,u as useFilteringColumnStateContext};
|
|
2
|
-
//# sourceMappingURL=provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sources":["../../../../../../../src/table/filter/hooks/selectedFilteringColumn/provider.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport {\n TFilteringColumnActionContext,\n TFilteringColumnStateContext,\n} from \"./type\";\nimport { useFilteringColumnReducer } from \"./hooks\";\n\nconst FilteringColumnStateContext =\n createContext<TFilteringColumnStateContext>(null);\n\nconst FilteringColumnActionContext =\n createContext<TFilteringColumnActionContext>({\n setFilteringColumn: () => {},\n clearFilteringColumn: () => {},\n });\n\ntype TPropsFilteringColumnProvider = {\n children: JSX.Element | JSX.Element[];\n};\n\nexport function FilteringColumnProvider(props: TPropsFilteringColumnProvider) {\n const { state, actions } = useFilteringColumnReducer();\n return (\n <FilteringColumnStateContext.Provider value={state}>\n <FilteringColumnActionContext.Provider value={actions}>\n {props.children}\n </FilteringColumnActionContext.Provider>\n </FilteringColumnStateContext.Provider>\n );\n}\n\nexport function useFilteringColumnStateContext() {\n return useContext(FilteringColumnStateContext);\n}\n\nexport function useFilteringColumnActionContext() {\n return useContext(FilteringColumnActionContext);\n}\n\nexport function useFilteringColumnContext() {\n return {\n ...useFilteringColumnStateContext(),\n ...useFilteringColumnActionContext(),\n };\n}\n"],"names":["FilteringColumnStateContext","createContext","FilteringColumnActionContext","setFilteringColumn","clearFilteringColumn","FilteringColumnProvider","props","_a","useFilteringColumnReducer","state","actions","_jsx","Provider","value","children","useFilteringColumnStateContext","useContext","useFilteringColumnActionContext"],"mappings":"4MAOA,IAAMA,EACJC,EAA4C,MAExCC,EACJD,EAA6C,CAC3CE,mBAAoB,WAAQ,EAC5BC,qBAAsB,WAAQ,IAO5B,SAAUC,EAAwBC,GAChC,IAAAC,EAAqBC,IAAnBC,EAAKF,EAAAE,MAAEC,EAAOH,EAAAG,QACtB,OACEC,EAACX,EAA4BY,UAASC,MAAOJ,EAAKK,SAChDH,EAACT,EAA6BU,SAAQ,CAACC,MAAOH,EAAOI,SAClDR,EAAMQ,YAIf,UAEgBC,IACd,OAAOC,EAAWhB,EACpB,UAEgBiB,IACd,OAAOD,EAAWd,EACpB"}
|