{"version":3,"file":"useTableHeadCellCount.cjs","sources":["../../../src/components/Table/useTableHeadCellCount.ts"],"sourcesContent":["import { useCallback, useState } from 'react'\n\n// HINT: 初期表示のタイミングでBulkActionRowも表示している場合、潰れてみえないよう初期値を大きめに設定しておく\nconst INITIAL_COUNT = 999\n\nexport const useTableHeadCellCount = <T extends HTMLElement>() => {\n  const [count, setCount] = useState(INITIAL_COUNT)\n\n  const countHeadCellRef = useCallback((node: T) => {\n    if (node !== null) {\n      const parentTable = node.closest('table')\n      const rows = parentTable?.querySelectorAll('thead > tr')\n\n      if (!rows?.length) {\n        setCount(INITIAL_COUNT)\n        return\n      }\n\n      // BulkActionRowのようにthを含まない行が存在する可能性があるため、thを含む最初の行を探す\n      for (let i = 0; i < rows.length; i++) {\n        const thList = Array.from(rows[i].querySelectorAll<HTMLTableCellElement>(':scope > th'))\n        if (thList.length > 0) {\n          const totalColSpan = thList.reduce((sum, th) => sum + (th.colSpan || 1), 0)\n          setCount(totalColSpan)\n          return\n        }\n      }\n    }\n  }, [])\n\n  return { count, countHeadCellRef }\n}\n"],"names":["useState","useCallback"],"mappings":";;;;AAEA;AACA,MAAM,aAAa,GAAG,GAAG;AAElB,MAAM,qBAAqB,GAAG,MAA4B;IAC/D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAC,aAAa,CAAC;AAEjD,IAAA,MAAM,gBAAgB,GAAGC,iBAAW,CAAC,CAAC,IAAO,KAAI;AAC/C,QAAA,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACzC,MAAM,IAAI,GAAG,WAAW,EAAE,gBAAgB,CAAC,YAAY,CAAC;AAExD,YAAA,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE;gBACjB,QAAQ,CAAC,aAAa,CAAC;gBACvB;YACF;;AAGA,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,gBAAA,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAuB,aAAa,CAAC,CAAC;AACxF,gBAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC3E,QAAQ,CAAC,YAAY,CAAC;oBACtB;gBACF;YACF;QACF;IACF,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE;AACpC;;;;"}