@twreporter/react-typescript-components 0.1.0-beta.21 → 0.1.0-beta.23
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/lib/action-links-B-kLE-JI.mjs +31 -0
- package/lib/action-links-B-kLE-JI.mjs.map +1 -0
- package/lib/action-links-CrB9xTLX.js +42 -0
- package/lib/action-links-CrB9xTLX.js.map +1 -0
- package/lib/animation-Bh6OgE1s.mjs +12 -0
- package/lib/animation-Bh6OgE1s.mjs.map +1 -0
- package/lib/animation-CjKIebSq.js +18 -0
- package/lib/animation-CjKIebSq.js.map +1 -0
- package/lib/auth-store-B8SMis_O.mjs +18 -0
- package/lib/auth-store-B8SMis_O.mjs.map +1 -0
- package/lib/auth-store-Dol00nWl.js +25 -0
- package/lib/auth-store-Dol00nWl.js.map +1 -0
- package/lib/button/components/icon-button/index.d.mts +5 -0
- package/lib/button/components/icon-button/index.d.ts +5 -0
- package/lib/button/components/icon-button/index.js +6 -0
- package/lib/button/components/icon-button/index.mjs +6 -0
- package/lib/button/components/icon-button/theme.d.mts +11 -0
- package/lib/button/components/icon-button/theme.d.ts +11 -0
- package/lib/button/components/icon-button/theme.js +5 -0
- package/lib/button/components/icon-button/theme.mjs +4 -0
- package/lib/button/components/icon-with-text-button/index.d.mts +4 -0
- package/lib/button/components/icon-with-text-button/index.d.ts +4 -0
- package/lib/button/components/icon-with-text-button/index.js +7 -0
- package/lib/button/components/icon-with-text-button/index.mjs +7 -0
- package/lib/button/components/icon-with-text-button/theme.d.mts +13 -0
- package/lib/button/components/icon-with-text-button/theme.d.ts +13 -0
- package/lib/button/components/icon-with-text-button/theme.js +4 -0
- package/lib/button/components/icon-with-text-button/theme.mjs +4 -0
- package/lib/button/components/menu-button/index.d.mts +4 -0
- package/lib/button/components/menu-button/index.d.ts +4 -0
- package/lib/button/components/menu-button/index.js +5 -0
- package/lib/button/components/menu-button/index.mjs +5 -0
- package/lib/button/components/pill-button/index.d.mts +5 -0
- package/lib/button/components/pill-button/index.d.ts +5 -0
- package/lib/button/components/pill-button/index.js +8 -0
- package/lib/button/components/pill-button/index.mjs +8 -0
- package/lib/button/components/pill-button/theme.d.mts +28 -0
- package/lib/button/components/pill-button/theme.d.ts +28 -0
- package/lib/button/components/pill-button/theme.js +6 -0
- package/lib/button/components/pill-button/theme.mjs +5 -0
- package/lib/button/components/text-button/index.d.mts +5 -0
- package/lib/button/components/text-button/index.d.ts +5 -0
- package/lib/button/components/text-button/index.js +8 -0
- package/lib/button/components/text-button/index.mjs +8 -0
- package/lib/button/components/text-button/theme.d.mts +13 -0
- package/lib/button/components/text-button/theme.d.ts +13 -0
- package/lib/button/components/text-button/theme.js +7 -0
- package/lib/button/components/text-button/theme.mjs +5 -0
- package/lib/button/constants.d.mts +2 -2
- package/lib/button/constants.d.ts +1 -1
- package/lib/button/index.d.mts +17 -94
- package/lib/button/index.d.ts +16 -93
- package/lib/button/index.js +16 -7
- package/lib/button/index.mjs +11 -2
- package/lib/button-BLRV4Hwe.js +23 -0
- package/lib/button-BLRV4Hwe.js.map +1 -0
- package/lib/button-ubJKEMLe.mjs +18 -0
- package/lib/button-ubJKEMLe.mjs.map +1 -0
- package/lib/card/list/constants.d.mts +3 -0
- package/lib/card/list/constants.d.ts +3 -0
- package/lib/card/list/constants.js +3 -0
- package/lib/card/list/constants.mjs +3 -0
- package/lib/card/list/img-placeholder.d.mts +7 -0
- package/lib/card/list/img-placeholder.d.ts +6 -0
- package/lib/card/list/img-placeholder.js +3 -0
- package/lib/card/list/img-placeholder.mjs +3 -0
- package/lib/card/list/index.d.mts +30 -0
- package/lib/card/list/index.d.ts +29 -0
- package/lib/card/list/index.js +99 -0
- package/lib/card/list/index.js.map +1 -0
- package/lib/card/list/index.mjs +96 -0
- package/lib/card/list/index.mjs.map +1 -0
- package/lib/card/list/loading.d.mts +14 -0
- package/lib/card/list/loading.d.ts +14 -0
- package/lib/card/list/loading.js +5 -0
- package/lib/card/list/loading.mjs +3 -0
- package/lib/channels-91z01E6M.mjs +210 -0
- package/lib/channels-91z01E6M.mjs.map +1 -0
- package/lib/channels-BdOcGdox.mjs +63 -0
- package/lib/channels-BdOcGdox.mjs.map +1 -0
- package/lib/channels-BpBCfeF7.js +73 -0
- package/lib/channels-BpBCfeF7.js.map +1 -0
- package/lib/channels-C0h1mON8.js +221 -0
- package/lib/channels-C0h1mON8.js.map +1 -0
- package/lib/constants/external-links.js +1 -1
- package/lib/constants/external-links.mjs +1 -1
- package/lib/constants/internal-links.js +1 -1
- package/lib/constants/internal-links.mjs +1 -1
- package/lib/constants/release-branch.d.mts +2 -2
- package/lib/constants/release-branch.d.ts +1 -1
- package/lib/constants/release-branch.js +1 -1
- package/lib/constants/release-branch.mjs +1 -1
- package/lib/constants/request-origins.js +2 -2
- package/lib/constants/request-origins.mjs +2 -2
- package/lib/constants/theme.d.mts +2 -2
- package/lib/constants/theme.d.ts +1 -1
- package/lib/{constants-B8QkNSRh.mjs → constants-BAmdJ_dS.mjs} +3 -3
- package/lib/{constants-B8QkNSRh.mjs.map → constants-BAmdJ_dS.mjs.map} +1 -1
- package/lib/{constants-CZ7dxJ-t.d.ts → constants-BC_JdEyk.d.ts} +1 -1
- package/lib/{constants-MpdMPjnk.d.mts → constants-BD_W9lzE.d.mts} +2 -2
- package/lib/{constants-R6EfY15A.js → constants-BE7hWIZ-.js} +1 -1
- package/lib/{constants-R6EfY15A.js.map → constants-BE7hWIZ-.js.map} +1 -1
- package/lib/{constants-DVYCKpJ0.d.mts → constants-BVpJd-Eq.d.mts} +2 -2
- package/lib/constants-BYQoStw1.js +64 -0
- package/lib/constants-BYQoStw1.js.map +1 -0
- package/lib/constants-BZZgQcEy.mjs +9 -0
- package/lib/constants-BZZgQcEy.mjs.map +1 -0
- package/lib/{constants-Npoq7yu0.mjs → constants-BinATQpN.mjs} +1 -1
- package/lib/{constants-Npoq7yu0.mjs.map → constants-BinATQpN.mjs.map} +1 -1
- package/lib/{constants-CBjyeHSl.d.ts → constants-BkxOSlW7.d.ts} +1 -1
- package/lib/constants-BotsR-TR.mjs +59 -0
- package/lib/constants-BotsR-TR.mjs.map +1 -0
- package/lib/{constants-CUzusjTU.js → constants-BsNgVA15.js} +3 -3
- package/lib/{constants-CUzusjTU.js.map → constants-BsNgVA15.js.map} +1 -1
- package/lib/constants-CCYwjB2d.js +15 -0
- package/lib/constants-CCYwjB2d.js.map +1 -0
- package/lib/{constants-ZGhPn0d6.d.mts → constants-CFstRAZ_.d.mts} +2 -2
- package/lib/{constants-pqSeExjX.js → constants-CkmgPgze.js} +1 -1
- package/lib/{constants-pqSeExjX.js.map → constants-CkmgPgze.js.map} +1 -1
- package/lib/{constants-CzHmv07x.d.ts → constants-CncdMRN6.d.ts} +1 -1
- package/lib/{constants-nmH6p6-y.js → constants-CwOzq2oV.js} +1 -1
- package/lib/{constants-nmH6p6-y.js.map → constants-CwOzq2oV.js.map} +1 -1
- package/lib/{constants-oNjXcfW2.d.mts → constants-D3kwLyJT.d.mts} +2 -2
- package/lib/{constants-CMMcn0f-.d.ts → constants-DNT9OrhT.d.ts} +1 -1
- package/lib/constants-DP5x2xfg.d.mts +11 -0
- package/lib/{constants-z9Q8ph_H.mjs → constants-DXHY4pUi.mjs} +1 -1
- package/lib/{constants-z9Q8ph_H.mjs.map → constants-DXHY4pUi.mjs.map} +1 -1
- package/lib/constants-Dk98cPGb.d.ts +11 -0
- package/lib/{constants-gCmka4Fp.d.ts → constants-YK2KhqPU.d.ts} +1 -1
- package/lib/{constants-DKqcALfv.mjs → constants-ZlCS0t-_.mjs} +1 -1
- package/lib/{constants-DKqcALfv.mjs.map → constants-ZlCS0t-_.mjs.map} +1 -1
- package/lib/{constants-C_OX3J7_.d.mts → constants-jR2WUCRY.d.mts} +2 -2
- package/lib/{context-C9AuSZIE.mjs → context-Bg1CbUYL.mjs} +2 -2
- package/lib/{context-C9AuSZIE.mjs.map → context-Bg1CbUYL.mjs.map} +1 -1
- package/lib/{context-vBt5fnU9.js → context-DW8qh_Q3.js} +2 -2
- package/lib/{context-vBt5fnU9.js.map → context-DW8qh_Q3.js.map} +1 -1
- package/lib/customized-link/external-link.d.mts +2 -2
- package/lib/customized-link/external-link.d.ts +2 -2
- package/lib/customized-link/external-link.js +1 -1
- package/lib/customized-link/external-link.mjs +1 -1
- package/lib/customized-link/index.d.mts +6 -6
- package/lib/customized-link/index.d.ts +6 -6
- package/lib/customized-link/index.js +3 -3
- package/lib/customized-link/index.mjs +3 -3
- package/lib/customized-link/internal-link.d.mts +2 -2
- package/lib/customized-link/internal-link.d.ts +2 -2
- package/lib/customized-link/internal-link.js +1 -1
- package/lib/customized-link/internal-link.mjs +1 -1
- package/lib/customized-link/type.d.mts +1 -1
- package/lib/customized-link/type.d.ts +1 -1
- package/lib/{customized-link-BDKQVdcH.js → customized-link-DoNAVCRa.js} +3 -3
- package/lib/{customized-link-BDKQVdcH.js.map → customized-link-DoNAVCRa.js.map} +1 -1
- package/lib/{customized-link-D3p9rjEe.mjs → customized-link-KNmVReo7.mjs} +3 -3
- package/lib/{customized-link-D3p9rjEe.mjs.map → customized-link-KNmVReo7.mjs.map} +1 -1
- package/lib/desktop-and-above-DA68C2UN.mjs +57 -0
- package/lib/desktop-and-above-DA68C2UN.mjs.map +1 -0
- package/lib/desktop-and-above-DQniIO6p.js +67 -0
- package/lib/desktop-and-above-DQniIO6p.js.map +1 -0
- package/lib/divider/constants.d.mts +2 -2
- package/lib/divider/constants.d.ts +1 -1
- package/lib/divider/constants.js +1 -1
- package/lib/divider/constants.mjs +1 -1
- package/lib/divider/index.d.mts +2 -2
- package/lib/divider/index.d.ts +1 -1
- package/lib/divider/index.js +2 -2
- package/lib/divider/index.mjs +2 -2
- package/lib/{divider-B1zvSjNJ.js → divider-BBJMRjAQ.js} +2 -2
- package/lib/{divider-B1zvSjNJ.js.map → divider-BBJMRjAQ.js.map} +1 -1
- package/lib/{divider-CE4u6SR5.mjs → divider-DX0u-V4m.mjs} +2 -2
- package/lib/{divider-CE4u6SR5.mjs.map → divider-DX0u-V4m.mjs.map} +1 -1
- package/lib/dropdown-menu/dropdown-menu-item/index.d.mts +9 -0
- package/lib/dropdown-menu/dropdown-menu-item/index.d.ts +8 -0
- package/lib/dropdown-menu/dropdown-menu-item/index.js +10 -0
- package/lib/dropdown-menu/dropdown-menu-item/index.mjs +10 -0
- package/lib/dropdown-menu/index.d.mts +1 -1
- package/lib/dropdown-menu/index.d.ts +1 -1
- package/lib/dropdown-menu/index.js +12 -10
- package/lib/dropdown-menu/index.mjs +12 -10
- package/lib/dropdown-menu-B4wI7TSC.js +49 -0
- package/lib/dropdown-menu-B4wI7TSC.js.map +1 -0
- package/lib/dropdown-menu-D7h5TpGV.mjs +40 -0
- package/lib/dropdown-menu-D7h5TpGV.mjs.map +1 -0
- package/lib/dropdown-menu-item-CoMgn82j.js +33 -0
- package/lib/dropdown-menu-item-CoMgn82j.js.map +1 -0
- package/lib/dropdown-menu-item-wJLVdE6F.mjs +24 -0
- package/lib/dropdown-menu-item-wJLVdE6F.mjs.map +1 -0
- package/lib/{external-link-BMxYePU7.d.ts → external-link-C63qcPni.d.ts} +2 -2
- package/lib/{external-link-CvvjuS1W.d.mts → external-link-DYhF6muk.d.mts} +2 -2
- package/lib/{external-link-Ce1_loKh.js → external-link-Dnw1WSM1.js} +1 -1
- package/lib/{external-link-Ce1_loKh.js.map → external-link-Dnw1WSM1.js.map} +1 -1
- package/lib/{external-link-BMIFL3DE.mjs → external-link-DrDvZqvE.mjs} +1 -1
- package/lib/{external-link-BMIFL3DE.mjs.map → external-link-DrDvZqvE.mjs.map} +1 -1
- package/lib/{external-links-DCn-uTD-.js → external-links-CeidCP88.js} +1 -1
- package/lib/{external-links-DCn-uTD-.js.map → external-links-CeidCP88.js.map} +1 -1
- package/lib/{external-links-B-A17Osq.mjs → external-links-FfndTp-X.mjs} +1 -1
- package/lib/{external-links-B-A17Osq.mjs.map → external-links-FfndTp-X.mjs.map} +1 -1
- package/lib/footer/index.d.mts +4 -4
- package/lib/footer/index.d.ts +3 -3
- package/lib/footer/index.js +32 -19
- package/lib/footer/index.js.map +1 -1
- package/lib/footer/index.mjs +29 -16
- package/lib/footer/index.mjs.map +1 -1
- package/lib/footer/links.d.mts +4 -4
- package/lib/footer/links.d.ts +7 -7
- package/lib/footer/links.js +19 -10
- package/lib/footer/links.mjs +19 -10
- package/lib/footer/logo.d.mts +2 -2
- package/lib/footer/logo.d.ts +1 -1
- package/lib/footer/logo.js +11 -7
- package/lib/footer/logo.mjs +11 -7
- package/lib/footer/types.d.mts +3 -3
- package/lib/footer/types.d.ts +2 -2
- package/lib/hamburger-menu/components/icon-link.d.mts +14 -0
- package/lib/hamburger-menu/components/icon-link.d.ts +13 -0
- package/lib/hamburger-menu/components/icon-link.js +15 -0
- package/lib/hamburger-menu/components/icon-link.mjs +15 -0
- package/lib/hamburger-menu/components/light-link.d.mts +13 -0
- package/lib/hamburger-menu/components/light-link.d.ts +12 -0
- package/lib/hamburger-menu/components/light-link.js +13 -0
- package/lib/hamburger-menu/components/light-link.mjs +13 -0
- package/lib/hamburger-menu/components/social-media.d.mts +12 -0
- package/lib/hamburger-menu/components/social-media.d.ts +11 -0
- package/lib/hamburger-menu/components/social-media.js +21 -0
- package/lib/hamburger-menu/components/social-media.mjs +21 -0
- package/lib/hamburger-menu/constants/channels.d.mts +210 -0
- package/lib/hamburger-menu/constants/channels.d.ts +210 -0
- package/lib/hamburger-menu/constants/channels.js +6 -0
- package/lib/hamburger-menu/constants/channels.mjs +5 -0
- package/lib/hamburger-menu/constants/social-media.d.mts +14 -0
- package/lib/hamburger-menu/constants/social-media.d.ts +14 -0
- package/lib/hamburger-menu/constants/social-media.js +5 -0
- package/lib/hamburger-menu/constants/social-media.mjs +5 -0
- package/lib/hamburger-menu/index.js +41 -19
- package/lib/hamburger-menu/index.mjs +41 -19
- package/lib/hamburger-menu/utils/theme.d.mts +28 -0
- package/lib/hamburger-menu/utils/theme.d.ts +28 -0
- package/lib/hamburger-menu/utils/theme.js +8 -0
- package/lib/hamburger-menu/utils/theme.mjs +5 -0
- package/lib/hamburger-menu-COVjQWOZ.mjs +181 -0
- package/lib/hamburger-menu-COVjQWOZ.mjs.map +1 -0
- package/lib/hamburger-menu-CuCIBIip.js +190 -0
- package/lib/hamburger-menu-CuCIBIip.js.map +1 -0
- package/lib/header/components/channels/constants/index.d.mts +12 -0
- package/lib/header/components/channels/constants/index.d.ts +12 -0
- package/lib/header/components/channels/constants/index.js +4 -0
- package/lib/header/components/channels/constants/index.mjs +4 -0
- package/lib/header/components/channels/index.d.mts +7 -0
- package/lib/header/components/channels/index.d.ts +6 -0
- package/lib/header/components/channels/index.js +28 -0
- package/lib/header/components/channels/index.mjs +28 -0
- package/lib/header/components/desktop-and-above.d.mts +13 -0
- package/lib/header/components/desktop-and-above.d.ts +12 -0
- package/lib/header/components/desktop-and-above.js +47 -0
- package/lib/header/components/desktop-and-above.mjs +47 -0
- package/lib/header/components/tablet-and-below.d.mts +13 -0
- package/lib/header/components/tablet-and-below.d.ts +12 -0
- package/lib/header/components/tablet-and-below.js +35 -0
- package/lib/header/components/tablet-and-below.mjs +35 -0
- package/lib/header/components/top-row/icons.d.mts +13 -0
- package/lib/header/components/top-row/icons.d.ts +13 -0
- package/lib/header/components/top-row/icons.js +30 -0
- package/lib/header/components/top-row/icons.mjs +30 -0
- package/lib/header/components/top-row/index.d.mts +13 -0
- package/lib/header/components/top-row/index.d.ts +12 -0
- package/lib/header/components/top-row/index.js +42 -0
- package/lib/header/components/top-row/index.mjs +42 -0
- package/lib/header/constants/action-links.d.mts +16 -0
- package/lib/header/constants/action-links.d.ts +16 -0
- package/lib/header/constants/action-links.js +7 -0
- package/lib/header/constants/action-links.mjs +6 -0
- package/lib/header/constants/animation.d.mts +11 -0
- package/lib/header/constants/animation.d.ts +11 -0
- package/lib/header/constants/animation.js +3 -0
- package/lib/header/constants/animation.mjs +3 -0
- package/lib/header/constants/z-index.d.mts +12 -0
- package/lib/header/constants/z-index.d.ts +12 -0
- package/lib/header/constants/z-index.js +3 -0
- package/lib/header/constants/z-index.mjs +3 -0
- package/lib/header/context/index.d.mts +5 -0
- package/lib/header/context/index.d.ts +5 -0
- package/lib/header/context/index.js +6 -0
- package/lib/header/context/index.mjs +5 -0
- package/lib/header/index.d.mts +4 -11
- package/lib/header/index.d.ts +3 -10
- package/lib/header/index.js +65 -464
- package/lib/header/index.js.map +1 -1
- package/lib/header/index.mjs +59 -452
- package/lib/header/index.mjs.map +1 -1
- package/lib/header/store/auth-actions.d.mts +10 -0
- package/lib/header/store/auth-actions.d.ts +10 -0
- package/lib/header/store/auth-actions.js +32 -0
- package/lib/header/store/auth-actions.js.map +1 -0
- package/lib/header/store/auth-actions.mjs +30 -0
- package/lib/header/store/auth-actions.mjs.map +1 -0
- package/lib/header/store/auth-store.d.mts +14 -0
- package/lib/header/store/auth-store.d.ts +14 -0
- package/lib/header/store/auth-store.js +3 -0
- package/lib/header/store/auth-store.mjs +3 -0
- package/lib/header/utils/jwt.d.mts +2 -0
- package/lib/header/utils/jwt.d.ts +2 -0
- package/lib/header/utils/jwt.js +5 -0
- package/lib/header/utils/jwt.mjs +3 -0
- package/lib/header/utils/links.d.mts +8 -0
- package/lib/header/utils/links.d.ts +8 -0
- package/lib/header/utils/links.js +5 -0
- package/lib/header/utils/links.mjs +5 -0
- package/lib/header/utils/theme.d.mts +13 -0
- package/lib/header/utils/theme.d.ts +13 -0
- package/lib/header/utils/theme.js +7 -0
- package/lib/header/utils/theme.mjs +5 -0
- package/lib/{heading-CCsID-nv.mjs → heading-BVKLYfXi.mjs} +1 -1
- package/lib/{heading-CCsID-nv.mjs.map → heading-BVKLYfXi.mjs.map} +1 -1
- package/lib/{heading-D7slLGoI.js → heading-D5Lv6X0M.js} +1 -1
- package/lib/{heading-D7slLGoI.js.map → heading-D5Lv6X0M.js.map} +1 -1
- package/lib/hook-DGSr4R5I.mjs +27 -0
- package/lib/hook-DGSr4R5I.mjs.map +1 -0
- package/lib/hook-DUH3wp9d.js +34 -0
- package/lib/hook-DUH3wp9d.js.map +1 -0
- package/lib/hooks/index.d.mts +1 -1
- package/lib/hooks/index.d.ts +3 -3
- package/lib/hooks/index.js +2 -2
- package/lib/hooks/index.mjs +2 -2
- package/lib/hooks/use-outside-click.d.mts +1 -1
- package/lib/hooks/use-outside-click.d.ts +1 -1
- package/lib/hooks/use-outside-click.js +1 -1
- package/lib/hooks/use-outside-click.mjs +1 -1
- package/lib/{hooks-CcqXFDPN.mjs → hooks-Bx775uvt.mjs} +2 -2
- package/lib/{hooks-CcqXFDPN.mjs.map → hooks-Bx775uvt.mjs.map} +1 -1
- package/lib/{hooks-CYgvBAmt.js → hooks-yvwMENLm.js} +2 -2
- package/lib/{hooks-CYgvBAmt.js.map → hooks-yvwMENLm.js.map} +1 -1
- package/lib/icon-button-B-71Zncn.mjs +28 -0
- package/lib/icon-button-B-71Zncn.mjs.map +1 -0
- package/lib/icon-button-Vqwyow05.js +36 -0
- package/lib/icon-button-Vqwyow05.js.map +1 -0
- package/lib/icon-link-Kzj6ZGDD.js +43 -0
- package/lib/icon-link-Kzj6ZGDD.js.map +1 -0
- package/lib/icon-link-wXlulu3j.mjs +34 -0
- package/lib/icon-link-wXlulu3j.mjs.map +1 -0
- package/lib/icon-with-text-button-CTWmp6He.mjs +31 -0
- package/lib/icon-with-text-button-CTWmp6He.mjs.map +1 -0
- package/lib/icon-with-text-button-DOj_-gz0.js +39 -0
- package/lib/icon-with-text-button-DOj_-gz0.js.map +1 -0
- package/lib/icons/constants.d.mts +2 -2
- package/lib/icons/constants.d.ts +1 -1
- package/lib/icons/constants.js +1 -1
- package/lib/icons/constants.mjs +1 -1
- package/lib/icons/index.d.mts +12 -12
- package/lib/icons/index.d.ts +11 -11
- package/lib/icons/index.js +3 -3
- package/lib/icons/index.mjs +3 -3
- package/lib/icons-BwOqeNBO.mjs +81 -0
- package/lib/icons-BwOqeNBO.mjs.map +1 -0
- package/lib/icons-DF2IcvTD.js +90 -0
- package/lib/icons-DF2IcvTD.js.map +1 -0
- package/lib/{icons-C5UqghX2.mjs → icons-D_G_3m8-.mjs} +3 -3
- package/lib/{icons-C5UqghX2.mjs.map → icons-D_G_3m8-.mjs.map} +1 -1
- package/lib/{icons-BZI6_5JJ.js → icons-OsNrxOWn.js} +3 -3
- package/lib/{icons-BZI6_5JJ.js.map → icons-OsNrxOWn.js.map} +1 -1
- package/lib/img-placeholder-D-fbn9IG.js +41 -0
- package/lib/img-placeholder-D-fbn9IG.js.map +1 -0
- package/lib/img-placeholder-DhOOFcVQ.mjs +33 -0
- package/lib/img-placeholder-DhOOFcVQ.mjs.map +1 -0
- package/lib/index-B1cqLG7H.d.ts +26 -0
- package/lib/index-B5cZ2bgU.d.mts +21 -0
- package/lib/index-B7-bdIVL.d.ts +25 -0
- package/lib/index-BLWHIu0E.d.ts +20 -0
- package/lib/index-BNr6dtKF.d.mts +20 -0
- package/lib/index-C_Y_QOX7.d.mts +25 -0
- package/lib/index-Cav_aW5H.d.mts +17 -0
- package/lib/index-CxmCLH2N.d.ts +13 -0
- package/lib/index-D6x__0gM.d.mts +13 -0
- package/lib/index-D9_HCa05.d.ts +21 -0
- package/lib/index-Dg9CXOZr.d.mts +26 -0
- package/lib/{index-CUE6zs36.d.mts → index-HhQuz4hd.d.mts} +1 -1
- package/lib/index-MTFsl7V2.d.ts +25 -0
- package/lib/index-XkB8HVPQ.d.ts +17 -0
- package/lib/index-r6FmjV5m.d.mts +25 -0
- package/lib/input/components/search-bar.d.mts +5 -0
- package/lib/input/components/search-bar.d.ts +5 -0
- package/lib/input/components/search-bar.js +21 -0
- package/lib/input/components/search-bar.mjs +21 -0
- package/lib/input/constants.d.mts +1 -1
- package/lib/input/index.d.mts +6 -22
- package/lib/input/index.d.ts +5 -21
- package/lib/input/index.js +18 -8
- package/lib/input/index.mjs +17 -7
- package/lib/input/theme.d.mts +2 -2
- package/lib/input/theme.d.ts +1 -1
- package/lib/input/theme.js +1 -1
- package/lib/input/theme.mjs +1 -1
- package/lib/input-BdeamSBg.js +13 -0
- package/lib/input-BdeamSBg.js.map +1 -0
- package/lib/input-DJFz-dZR.mjs +8 -0
- package/lib/input-DJFz-dZR.mjs.map +1 -0
- package/lib/{internal-link-Bq4yp13E.js → internal-link-CKuvpRC8.js} +665 -66
- package/lib/internal-link-CKuvpRC8.js.map +1 -0
- package/lib/{internal-link-BL950cs3.d.ts → internal-link-CnC6mb4i.d.ts} +2 -2
- package/lib/{internal-link-DgOMen4w.d.mts → internal-link-F7DL65ZS.d.mts} +2 -2
- package/lib/{internal-link-DCXJvzgx.mjs → internal-link-JeC0sVNF.mjs} +665 -66
- package/lib/internal-link-JeC0sVNF.mjs.map +1 -0
- package/lib/{internal-links-DxtMobuI.js → internal-links-B0I8FU-O.js} +1 -1
- package/lib/{internal-links-DxtMobuI.js.map → internal-links-B0I8FU-O.js.map} +1 -1
- package/lib/{internal-links-CP3dqmrz.mjs → internal-links-hIbZZEWd.mjs} +1 -1
- package/lib/{internal-links-CP3dqmrz.mjs.map → internal-links-hIbZZEWd.mjs.map} +1 -1
- package/lib/jwt-B3e1_IVb.d.ts +11 -0
- package/lib/jwt-BpdQDGBb.mjs +18 -0
- package/lib/jwt-BpdQDGBb.mjs.map +1 -0
- package/lib/jwt-D5ouC3Ti.d.mts +11 -0
- package/lib/jwt-DPaLchNC.js +31 -0
- package/lib/jwt-DPaLchNC.js.map +1 -0
- package/lib/light-link-B51e63N6.mjs +29 -0
- package/lib/light-link-B51e63N6.mjs.map +1 -0
- package/lib/light-link-CqP81kip.js +38 -0
- package/lib/light-link-CqP81kip.js.map +1 -0
- package/lib/links-B-W3iTG7.js +20 -0
- package/lib/links-B-W3iTG7.js.map +1 -0
- package/lib/links-CLk9Tme-.mjs +15 -0
- package/lib/links-CLk9Tme-.mjs.map +1 -0
- package/lib/{links-DMd-CuUJ.js → links-aGPsRmpL.js} +7 -7
- package/lib/{links-DMd-CuUJ.js.map → links-aGPsRmpL.js.map} +1 -1
- package/lib/{links-CFjOQl4o.mjs → links-mToBwfIx.mjs} +6 -6
- package/lib/{links-CFjOQl4o.mjs.map → links-mToBwfIx.mjs.map} +1 -1
- package/lib/loading-BeEKq8Mb.mjs +100 -0
- package/lib/loading-BeEKq8Mb.mjs.map +1 -0
- package/lib/loading-CFCk4kkD.js +120 -0
- package/lib/loading-CFCk4kkD.js.map +1 -0
- package/lib/logo/components/logo-footer.d.mts +5 -0
- package/lib/logo/components/logo-footer.d.ts +5 -0
- package/lib/logo/components/logo-footer.js +6 -0
- package/lib/logo/components/logo-footer.mjs +6 -0
- package/lib/logo/components/logo-header.d.mts +5 -0
- package/lib/logo/components/logo-header.d.ts +5 -0
- package/lib/logo/components/logo-header.js +6 -0
- package/lib/logo/components/logo-header.mjs +6 -0
- package/lib/logo/components/logo-symbol.d.mts +5 -0
- package/lib/logo/components/logo-symbol.d.ts +5 -0
- package/lib/logo/components/logo-symbol.js +6 -0
- package/lib/logo/components/logo-symbol.mjs +6 -0
- package/lib/logo/constants.d.mts +2 -2
- package/lib/logo/constants.d.ts +1 -1
- package/lib/logo/constants.js +1 -1
- package/lib/logo/constants.mjs +1 -1
- package/lib/logo/index.d.mts +13 -38
- package/lib/logo/index.d.ts +12 -37
- package/lib/logo/index.js +10 -6
- package/lib/logo/index.mjs +7 -3
- package/lib/logo/utils/path.d.mts +12 -0
- package/lib/logo/utils/path.d.ts +11 -0
- package/lib/logo/utils/path.js +3 -0
- package/lib/logo/utils/path.mjs +3 -0
- package/lib/logo-BSQ347BA.mjs +14 -0
- package/lib/logo-BSQ347BA.mjs.map +1 -0
- package/lib/logo-BadImFmH.js +19 -0
- package/lib/logo-BadImFmH.js.map +1 -0
- package/lib/{logo-CeaVUbIW.js → logo-C6MIZMjk.js} +6 -6
- package/lib/{logo-CeaVUbIW.js.map → logo-C6MIZMjk.js.map} +1 -1
- package/lib/{logo-lPQ3Apwn.mjs → logo-HHIgzFFO.mjs} +4 -4
- package/lib/{logo-lPQ3Apwn.mjs.map → logo-HHIgzFFO.mjs.map} +1 -1
- package/lib/logo-footer-BHaZowQS.js +30 -0
- package/lib/logo-footer-BHaZowQS.js.map +1 -0
- package/lib/logo-footer-C2mygzWM.mjs +22 -0
- package/lib/logo-footer-C2mygzWM.mjs.map +1 -0
- package/lib/logo-footer-CmA2BnzS.d.ts +15 -0
- package/lib/logo-footer-NUo251uv.d.mts +15 -0
- package/lib/logo-header-BDLCtLT6.d.mts +15 -0
- package/lib/logo-header-Cp7W8CR-.js +27 -0
- package/lib/logo-header-Cp7W8CR-.js.map +1 -0
- package/lib/logo-header-DvUP30Y7.d.ts +15 -0
- package/lib/logo-header-Gy5Y-1lY.mjs +20 -0
- package/lib/logo-header-Gy5Y-1lY.mjs.map +1 -0
- package/lib/logo-symbol-8s7nSU0Z.mjs +20 -0
- package/lib/logo-symbol-8s7nSU0Z.mjs.map +1 -0
- package/lib/logo-symbol-DRA5IhbT.js +27 -0
- package/lib/logo-symbol-DRA5IhbT.js.map +1 -0
- package/lib/logo-symbol-OQi-RG-l.d.ts +15 -0
- package/lib/logo-symbol-S6fmcutW.d.mts +15 -0
- package/lib/menu-button-BzXGdc8T.mjs +22 -0
- package/lib/menu-button-BzXGdc8T.mjs.map +1 -0
- package/lib/menu-button-DP302FyB.js +30 -0
- package/lib/menu-button-DP302FyB.js.map +1 -0
- package/lib/{paragraph-iuz3jP0Q.js → paragraph-Bve022HS.js} +2 -2
- package/lib/paragraph-Bve022HS.js.map +1 -0
- package/lib/{paragraph-Cf9jr8RF.mjs → paragraph-QihuIWot.mjs} +2 -2
- package/lib/paragraph-QihuIWot.mjs.map +1 -0
- package/lib/path-CsJVJyBr.mjs +27 -0
- package/lib/path-CsJVJyBr.mjs.map +1 -0
- package/lib/path-j90QzFqV.js +33 -0
- package/lib/path-j90QzFqV.js.map +1 -0
- package/lib/pill-button-CNbShnjT.js +68 -0
- package/lib/pill-button-CNbShnjT.js.map +1 -0
- package/lib/pill-button-y0eh5cgT.mjs +59 -0
- package/lib/pill-button-y0eh5cgT.mjs.map +1 -0
- package/lib/{release-branch-CsBbhuYE.d.ts → release-branch-CnwfO6yj.d.ts} +1 -1
- package/lib/{release-branch-CRZV4Ivz.js → release-branch-DmSIuJAw.js} +1 -1
- package/lib/{release-branch-CRZV4Ivz.js.map → release-branch-DmSIuJAw.js.map} +1 -1
- package/lib/{release-branch-uF0B5lcE.d.mts → release-branch-IPa6pTGS.d.mts} +2 -2
- package/lib/{release-branch-DNCD1uH_.mjs → release-branch-oA59oIop.mjs} +1 -1
- package/lib/{release-branch-DNCD1uH_.mjs.map → release-branch-oA59oIop.mjs.map} +1 -1
- package/lib/{request-origins-CGkNWg8R.mjs → request-origins-BeXRYpFr.mjs} +2 -2
- package/lib/{request-origins-CGkNWg8R.mjs.map → request-origins-BeXRYpFr.mjs.map} +1 -1
- package/lib/{request-origins-BDXulkK9.js → request-origins-CSHIpq-b.js} +2 -2
- package/lib/{request-origins-BDXulkK9.js.map → request-origins-CSHIpq-b.js.map} +1 -1
- package/lib/{input-e0a-Wul_.js → search-bar-B9iWikhM.js} +7 -17
- package/lib/search-bar-B9iWikhM.js.map +1 -0
- package/lib/search-bar-BkH6o5Oz.d.mts +22 -0
- package/lib/search-bar-C3NMJ9ks.d.ts +22 -0
- package/lib/{input-BJWcutA3.mjs → search-bar-CU2VQdeo.mjs} +6 -10
- package/lib/search-bar-CU2VQdeo.mjs.map +1 -0
- package/lib/social-media-B3ZZZuYp.mjs +30 -0
- package/lib/social-media-B3ZZZuYp.mjs.map +1 -0
- package/lib/social-media-BX0Ns4BR.js +35 -0
- package/lib/social-media-BX0Ns4BR.js.map +1 -0
- package/lib/social-media-DDNkN_DL.js +35 -0
- package/lib/social-media-DDNkN_DL.js.map +1 -0
- package/lib/social-media-HZ8Jr1iM.mjs +26 -0
- package/lib/social-media-HZ8Jr1iM.mjs.map +1 -0
- package/lib/storybook/utils/get-enum-arg.d.mts +21 -0
- package/lib/storybook/utils/get-enum-arg.d.ts +21 -0
- package/lib/storybook/utils/get-enum-arg.js +28 -0
- package/lib/storybook/utils/get-enum-arg.js.map +1 -0
- package/lib/storybook/utils/get-enum-arg.mjs +26 -0
- package/lib/storybook/utils/get-enum-arg.mjs.map +1 -0
- package/lib/styles.css +176 -3
- package/lib/tab-bar/constants.d.mts +3 -3
- package/lib/tab-bar/constants.d.ts +2 -2
- package/lib/tab-bar/constants.js +5 -5
- package/lib/tab-bar/constants.mjs +5 -5
- package/lib/tab-bar/index.js +23 -13
- package/lib/tab-bar/index.mjs +23 -13
- package/lib/tab-bar/theme.d.mts +2 -2
- package/lib/tab-bar/theme.d.ts +1 -1
- package/lib/tab-bar/theme.js +1 -1
- package/lib/tab-bar/theme.mjs +1 -1
- package/lib/{tab-bar-C_FxNWkG.mjs → tab-bar-DDsyTDpg.mjs} +10 -20
- package/lib/tab-bar-DDsyTDpg.mjs.map +1 -0
- package/lib/{tab-bar-USs-mSXE.js → tab-bar-DE2tPvyh.js} +12 -28
- package/lib/tab-bar-DE2tPvyh.js.map +1 -0
- package/lib/tab-item-BLf_p9Qi.js +37 -0
- package/lib/tab-item-BLf_p9Qi.js.map +1 -0
- package/lib/tab-item-NrRakHlM.mjs +29 -0
- package/lib/tab-item-NrRakHlM.mjs.map +1 -0
- package/lib/tablet-and-below-BMy_YUZ1.mjs +101 -0
- package/lib/tablet-and-below-BMy_YUZ1.mjs.map +1 -0
- package/lib/tablet-and-below-DxwJGBEL.js +113 -0
- package/lib/tablet-and-below-DxwJGBEL.js.map +1 -0
- package/lib/text/constants.d.mts +2 -2
- package/lib/text/constants.d.ts +1 -1
- package/lib/text/heading.d.mts +2 -2
- package/lib/text/heading.d.ts +1 -1
- package/lib/text/heading.js +1 -1
- package/lib/text/heading.mjs +1 -1
- package/lib/text/paragraph.d.mts +2 -2
- package/lib/text/paragraph.d.ts +1 -1
- package/lib/text/paragraph.js +1 -1
- package/lib/text/paragraph.mjs +1 -1
- package/lib/text-button-DkD8OA65.mjs +66 -0
- package/lib/text-button-DkD8OA65.mjs.map +1 -0
- package/lib/text-button-DlMVqsvV.js +75 -0
- package/lib/text-button-DlMVqsvV.js.map +1 -0
- package/lib/theme-B4rsurcB.js +58 -0
- package/lib/theme-B4rsurcB.js.map +1 -0
- package/lib/theme-B5GNXw4M.js +48 -0
- package/lib/theme-B5GNXw4M.js.map +1 -0
- package/lib/theme-CJDY-Vlz.mjs +37 -0
- package/lib/theme-CJDY-Vlz.mjs.map +1 -0
- package/lib/theme-CKrQVNS4.mjs +53 -0
- package/lib/theme-CKrQVNS4.mjs.map +1 -0
- package/lib/theme-Cbt9LjOk.mjs +42 -0
- package/lib/theme-Cbt9LjOk.mjs.map +1 -0
- package/lib/{theme-BDGfJ8n-.d.ts → theme-Ce9CLqLS.d.ts} +1 -1
- package/lib/theme-CjHrkZbk.mjs +67 -0
- package/lib/theme-CjHrkZbk.mjs.map +1 -0
- package/lib/{theme-Cf9NG_eL.mjs → theme-DGjb7DO8.mjs} +1 -1
- package/lib/{theme-Cf9NG_eL.mjs.map → theme-DGjb7DO8.mjs.map} +1 -1
- package/lib/{theme-B9k1Udon.js → theme-DZGKeUdz.js} +1 -1
- package/lib/{theme-B9k1Udon.js.map → theme-DZGKeUdz.js.map} +1 -1
- package/lib/{theme-BLdi7Moc.js → theme-DcgOPrC2.js} +1 -1
- package/lib/{theme-BLdi7Moc.js.map → theme-DcgOPrC2.js.map} +1 -1
- package/lib/theme-DjRdV3Iq.js +90 -0
- package/lib/theme-DjRdV3Iq.js.map +1 -0
- package/lib/{theme-DURvzYaJ.mjs → theme-DkV7kMq6.mjs} +1 -1
- package/lib/{theme-DURvzYaJ.mjs.map → theme-DkV7kMq6.mjs.map} +1 -1
- package/lib/{theme-DKi2E2si.d.mts → theme-ECp4BKXJ.d.mts} +2 -2
- package/lib/theme-VVqGnnPq.js +307 -0
- package/lib/theme-VVqGnnPq.js.map +1 -0
- package/lib/theme-YXaUsVJu.mjs +296 -0
- package/lib/theme-YXaUsVJu.mjs.map +1 -0
- package/lib/theme-gPGrAR2u.mjs +46 -0
- package/lib/theme-gPGrAR2u.mjs.map +1 -0
- package/lib/theme-ingLagfo.js +63 -0
- package/lib/theme-ingLagfo.js.map +1 -0
- package/lib/theme-tgdB3gqC.js +59 -0
- package/lib/theme-tgdB3gqC.js.map +1 -0
- package/lib/title-bar/components/title-tab/hook.d.mts +7 -0
- package/lib/title-bar/components/title-tab/hook.d.ts +7 -0
- package/lib/title-bar/components/title-tab/hook.js +3 -0
- package/lib/title-bar/components/title-tab/hook.mjs +3 -0
- package/lib/title-bar/components/title-tab/index.d.mts +3 -0
- package/lib/title-bar/components/title-tab/index.d.ts +3 -0
- package/lib/title-bar/components/title-tab/index.js +23 -0
- package/lib/title-bar/components/title-tab/index.mjs +23 -0
- package/lib/title-bar/components/title-tab/tab-item.d.mts +12 -0
- package/lib/title-bar/components/title-tab/tab-item.d.ts +11 -0
- package/lib/title-bar/components/title-tab/tab-item.js +20 -0
- package/lib/title-bar/components/title-tab/tab-item.mjs +20 -0
- package/lib/title-bar/components/title-tab/type.d.mts +2 -0
- package/lib/title-bar/components/title-tab/type.d.ts +2 -0
- package/lib/title-bar/components/title-tab/type.js +0 -0
- package/lib/title-bar/components/title-tab/type.mjs +1 -0
- package/lib/title-bar/components/title1.d.mts +2 -0
- package/lib/title-bar/components/title1.d.ts +2 -0
- package/lib/title-bar/components/title1.js +6 -0
- package/lib/title-bar/components/title1.mjs +6 -0
- package/lib/title-bar/components/title2.d.mts +2 -0
- package/lib/title-bar/components/title2.d.ts +2 -0
- package/lib/title-bar/components/title2.js +6 -0
- package/lib/title-bar/components/title2.mjs +6 -0
- package/lib/title-bar/index.d.mts +8 -38
- package/lib/title-bar/index.d.ts +8 -38
- package/lib/title-bar/index.js +26 -141
- package/lib/title-bar/index.js.map +1 -1
- package/lib/title-bar/index.mjs +20 -131
- package/lib/title-bar/index.mjs.map +1 -1
- package/lib/title-tab-BRQQyX8-.js +55 -0
- package/lib/title-tab-BRQQyX8-.js.map +1 -0
- package/lib/title-tab-ClfJ1n88.mjs +46 -0
- package/lib/title-tab-ClfJ1n88.mjs.map +1 -0
- package/lib/title1-CB1C3lVX.js +34 -0
- package/lib/title1-CB1C3lVX.js.map +1 -0
- package/lib/title1-CkuzBJgg.d.ts +12 -0
- package/lib/title1-DMIzZ_Ce.d.mts +12 -0
- package/lib/title1-FLSEnRkW.mjs +26 -0
- package/lib/title1-FLSEnRkW.mjs.map +1 -0
- package/lib/title2-C2R8IF0W.d.ts +13 -0
- package/lib/title2-Dmq-RO59.mjs +29 -0
- package/lib/title2-Dmq-RO59.mjs.map +1 -0
- package/lib/title2-DxioNGe1.d.mts +13 -0
- package/lib/title2-MnbXvYzY.js +37 -0
- package/lib/title2-MnbXvYzY.js.map +1 -0
- package/lib/top-row-Be6hy8bz.mjs +76 -0
- package/lib/top-row-Be6hy8bz.mjs.map +1 -0
- package/lib/top-row-DoDiUNas.js +85 -0
- package/lib/top-row-DoDiUNas.js.map +1 -0
- package/lib/{type-CcygKers.d.ts → type-BnDFCU6X.d.ts} +1 -1
- package/lib/type-CLXaT3at.d.ts +10 -0
- package/lib/{type-Bsf9A8YX.d.mts → type-CUK24s0m.d.mts} +1 -1
- package/lib/type-CeVcN-Qd.d.mts +10 -0
- package/lib/types/index.d.mts +1 -1
- package/lib/{types-p8V2pbqn.d.mts → types-Blyo2r50.d.mts} +2 -2
- package/lib/{types-dW_WJa4D.d.ts → types-Ds7aLWpi.d.ts} +2 -2
- package/lib/use-outside-click-BIZ5N7wQ.d.ts +7 -0
- package/lib/use-outside-click-BO4-52Iu.d.mts +7 -0
- package/lib/{use-outside-click-DnJ0DNZ9.js → use-outside-click-Ffe2bjxu.js} +1 -1
- package/lib/{use-outside-click-DnJ0DNZ9.js.map → use-outside-click-Ffe2bjxu.js.map} +1 -1
- package/lib/{use-outside-click-BfAURk-E.mjs → use-outside-click-OKNYPEZn.mjs} +1 -1
- package/lib/{use-outside-click-BfAURk-E.mjs.map → use-outside-click-OKNYPEZn.mjs.map} +1 -1
- package/lib/z-index-CkMhi8IW.js +19 -0
- package/lib/z-index-CkMhi8IW.js.map +1 -0
- package/lib/z-index-YHdIcjBJ.mjs +13 -0
- package/lib/z-index-YHdIcjBJ.mjs.map +1 -0
- package/package.json +5 -6
- package/lib/button-D_AWI7r9.mjs +0 -597
- package/lib/button-D_AWI7r9.mjs.map +0 -1
- package/lib/button-Dk0MxlKd.js +0 -636
- package/lib/button-Dk0MxlKd.js.map +0 -1
- package/lib/dropdown-menu-CTUg6MST.js +0 -150
- package/lib/dropdown-menu-CTUg6MST.js.map +0 -1
- package/lib/dropdown-menu-MOuxtoud.mjs +0 -117
- package/lib/dropdown-menu-MOuxtoud.mjs.map +0 -1
- package/lib/hamburger-menu-B-n_-t91.mjs +0 -482
- package/lib/hamburger-menu-B-n_-t91.mjs.map +0 -1
- package/lib/hamburger-menu-CYiCx5_x.js +0 -497
- package/lib/hamburger-menu-CYiCx5_x.js.map +0 -1
- package/lib/input-BJWcutA3.mjs.map +0 -1
- package/lib/input-e0a-Wul_.js.map +0 -1
- package/lib/internal-link-Bq4yp13E.js.map +0 -1
- package/lib/internal-link-DCXJvzgx.mjs.map +0 -1
- package/lib/logo-B35M1BaX.js +0 -106
- package/lib/logo-B35M1BaX.js.map +0 -1
- package/lib/logo-DkEpjnPV.mjs +0 -80
- package/lib/logo-DkEpjnPV.mjs.map +0 -1
- package/lib/paragraph-Cf9jr8RF.mjs.map +0 -1
- package/lib/paragraph-iuz3jP0Q.js.map +0 -1
- package/lib/tab-bar-C_FxNWkG.mjs.map +0 -1
- package/lib/tab-bar-USs-mSXE.js.map +0 -1
- package/lib/use-outside-click-BA-T3hJc.d.ts +0 -7
- package/lib/use-outside-click-E-9eTkfz.d.mts +0 -7
package/lib/header/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["IconButton","SearchBar","Icons: FC<{\n releaseBranch?: ReleaseBranch\n theme?: Theme\n}>","ExternalLink","InternalLink","TopRow: FC<TopRowProps>","ExternalLink","InternalLink","IconButton","LogoHeader","PillButton","CHANNELS: ChannelType[]","_","ChannelItem: FC<ChannelItemProps>","ExternalLink","InternalLink","TextButton","IconButton","Divider","DesktopAndAbove: FC<DesktopAndAboveProps>","TopRow","Divider","Channel","TabletAndBelow: FC<TabletAndBelowProps>","ExternalLink","InternalLink","IconButton","LogoHeader","PillButton","TextButton","creator: StateCreator<AuthState>","Header: FC<HeaderProps>","DesktopAndAbove","TabletAndBelow","HamburgerMenu","TabBar"],"sources":["../../src/header/constants/animation.ts","../../src/header/components/top-row/icons.tsx","../../src/header/utils/theme.ts","../../src/header/components/top-row/index.tsx","../../src/header/components/channels/constants/index.ts","../../src/header/components/channels/index.tsx","../../src/header/components/desktop-and-above.tsx","../../src/header/utils/links.ts","../../src/header/components/tablet-and-below.tsx","../../src/header/store/auth-store.ts","../../src/header/index.tsx"],"sourcesContent":["export const ANIMATION = {\n step1Duration: 'duration-[200ms]',\n step2Delay: 'delay-[150ms]',\n step2Duration: 'duration-[50ms]',\n step3Delay: 'delay-[150ms]',\n step3Duration: 'duration-[200ms]',\n} as const\n","import { useContext, useState, type FC, type MouseEvent } from 'react'\nimport clsx from 'clsx'\n// context\nimport { HeaderContext } from '../../context'\n// constants\nimport { THEME, type Theme } from '../../../constants/theme'\nimport {\n RELEASE_BRANCH,\n type ReleaseBranch,\n} from '../../../constants/release-branch'\nimport { INTERNAL_LINKS } from '../../../constants/internal-links'\n// icons\nimport { Search, KidStar, Member } from '../../../icons'\n// button\nimport { IconButton } from '../../../button'\n// link\nimport { ExternalLink, InternalLink } from '../../../customized-link'\n// hooks\nimport { useOutsideClick } from '../../../hooks'\n// search bar\nimport { SearchBar } from '../../../input'\n\nconst SearchIcon = () => {\n const [isSearchOpened, setSearchOpened] = useState(false)\n const { releaseBranch, theme } = useContext(HeaderContext)\n\n const closeSearchBox = () => {\n setSearchOpened(false)\n }\n const ref = useOutsideClick(closeSearchBox)\n\n const handleClickSearch = (e: MouseEvent<HTMLButtonElement>) => {\n e.preventDefault()\n setSearchOpened(true)\n if (!ref.current) return\n const input = ref.current.getElementsByTagName('input')[0]\n input?.focus()\n }\n\n const onSearch = (keywords: string) => {\n setSearchOpened(false)\n if (typeof window !== 'undefined') {\n window.location.href = `${INTERNAL_LINKS.search}?q=${encodeURIComponent(keywords)}`\n }\n }\n\n return (\n <div className=\"relative\" ref={ref} key=\"search\">\n <IconButton\n iconComponent={Search(releaseBranch)}\n theme={theme}\n onClick={handleClickSearch}\n className={clsx(\n 'transition-opacity ease-in-out duration-[300ms]',\n isSearchOpened ? 'opacity-0 pointer-events-none' : 'opacity-100'\n )}\n />\n <div\n className={clsx(\n 'absolute right-0 -top-[8px] transition-opacity ease-in-out duration-[300ms]',\n isSearchOpened ? 'opacity-100' : 'opacity-0 pointer-events-none',\n isSearchOpened ? 'z-999' : '-z-1'\n )}\n >\n <SearchBar\n placeholder=\"關鍵字搜尋\"\n theme={theme}\n onClose={closeSearchBox}\n onSearch={onSearch}\n releaseBranch={releaseBranch}\n searchBarWidth=\"w-[240px]\"\n />\n </div>\n </div>\n )\n}\n\nexport const Icons: FC<{\n releaseBranch?: ReleaseBranch\n theme?: Theme\n}> = ({ releaseBranch = RELEASE_BRANCH.master, theme = THEME.normal }) => {\n const { isLinkExternal } = useContext(HeaderContext)\n const LinkComponent = isLinkExternal ? ExternalLink : InternalLink\n return (\n <div className=\"ml-[24px] flex flex-row gap-[16px]\">\n <SearchIcon />\n <LinkComponent to={INTERNAL_LINKS.myReading.index}>\n <IconButton iconComponent={KidStar(releaseBranch)} theme={theme} />\n </LinkComponent>\n <LinkComponent to={INTERNAL_LINKS.account.index}>\n <IconButton iconComponent={Member(releaseBranch)} theme={theme} />\n </LinkComponent>\n </div>\n )\n}\n","import { THEME, type Theme } from '../../constants/theme'\nimport { LOGO_TYPE } from '../../logo/constants'\n\nexport const selectLogoType = (theme: Theme) => {\n switch (theme) {\n case THEME.photography:\n case THEME.transparent:\n return LOGO_TYPE.white\n default:\n return LOGO_TYPE.default\n }\n}\n\nexport const selectHeaderTheme = (theme: Theme) => {\n switch (theme) {\n case THEME.photography:\n return {\n bgColor: 'bg-photo-dark',\n topRowBgColor: 'bg-photo-dark',\n }\n case THEME.transparent:\n return {\n bgColor: 'bg-opacity-black-02',\n topRowBgColor: 'bg-transparent',\n }\n case THEME.index:\n return {\n bgColor: 'bg-gray-white',\n topRowBgColor: 'bg-gray-white',\n }\n default:\n return {\n bgColor: 'bg-gray-100',\n topRowBgColor: 'bg-gray-100',\n }\n }\n}\n\nexport const selectSloganTheme = (theme: Theme) => {\n switch (theme) {\n case THEME.photography:\n case THEME.transparent:\n return 'text-gray-white'\n default:\n return 'text-gray-800'\n }\n}\n","import { useContext, type FC } from 'react'\nimport clsx from 'clsx'\n// context\nimport { HeaderContext, HamburgerContext } from '../../context'\n// constants\nimport { ZIndex } from '../../constants/z-index'\nimport { ANIMATION } from '../../constants/animation'\nimport { HEADER_ACTION_LINKS } from '../../constants/action-links'\nimport { INTERNAL_LINKS } from '../../../constants/internal-links'\n// logo\nimport { LogoHeader } from '../../../logo'\nimport type { LogoType } from '../../../logo/constants'\n// buton\nimport { IconButton, PillButton } from '../../../button'\n// components\nimport { Icons } from './icons'\nimport { Hamburger } from '../../../icons'\n// utils\nimport { selectSloganTheme } from '../../utils/theme'\n// link\nimport { ExternalLink, InternalLink } from '../../../customized-link'\n\ntype TopRowProps = {\n topRowBgColor: string\n logoType: LogoType\n}\nconst TopRow: FC<TopRowProps> = ({ topRowBgColor, logoType }) => {\n const { toUseNarrow, releaseBranch, theme, isLinkExternal } =\n useContext(HeaderContext)\n const { toggleHamburger } = useContext(HamburgerContext)\n const LinkComponent = isLinkExternal ? ExternalLink : InternalLink\n return (\n <div\n className={clsx(\n `flex items-center justify-between ${ZIndex.topRow} px-[16px] ${topRowBgColor}`,\n toUseNarrow ? 'py-[16px]' : 'py-[24px]'\n )}\n >\n {/* left group */}\n <div className=\"flex items-center\">\n <div\n className={clsx(\n toUseNarrow ? 'opacity-100' : 'opacity-0',\n `transition-opacity ${ANIMATION.step3Duration}`,\n toUseNarrow ? 'delay-[350ms]' : 'delay-0'\n )}\n >\n <IconButton\n iconComponent={Hamburger(releaseBranch)}\n theme={theme}\n onClick={toggleHamburger}\n />\n </div>\n {/* Logo */}\n <div\n className={clsx(\n `flex items-center mr-[16px] transition-all ${ANIMATION.step3Duration}`,\n toUseNarrow ? 'ml-[24px]' : 'ml-0',\n toUseNarrow ? 'translate-x-0' : '-translate-x-[24px]',\n toUseNarrow ? `${ANIMATION.step3Delay}` : 'delay-0'\n )}\n >\n <LinkComponent to={INTERNAL_LINKS.home}>\n <LogoHeader\n type={logoType}\n releaseBranch={releaseBranch}\n className={clsx(\n `transition-height ${ANIMATION.step3Duration}`,\n toUseNarrow ? `${ANIMATION.step3Delay}` : 'delay-0',\n toUseNarrow ? 'h-[24px]' : 'h-[32px]'\n )}\n />\n </LinkComponent>\n </div>\n <div\n className={clsx(\n `transition-opacity ${ANIMATION.step3Duration}`,\n 'flex items-center font-serif font-normal text-[14px]',\n toUseNarrow ? `${ANIMATION.step3Delay}` : 'delay-0',\n toUseNarrow ? 'pointer-events-none' : 'pointer-events-auto',\n toUseNarrow ? 'opacity-0' : 'opacity-100',\n selectSloganTheme(theme)\n )}\n >\n 深度 × 開放 × 非營利\n </div>\n </div>\n {/* right group */}\n <div className=\"flex items-center\">\n <div\n className={clsx(\n 'flex items-center gap-[16px]',\n `transition-opacity ${ANIMATION.step3Duration}`,\n toUseNarrow ? `${ANIMATION.step3Delay}` : 'delay-0',\n toUseNarrow ? 'pointer-events-none' : 'pointer-events-auto',\n toUseNarrow ? 'opacity-0' : 'opacity-100'\n )}\n >\n {HEADER_ACTION_LINKS.map((link) => (\n <LinkComponent to={link.to} target={link.target} key={link.label}>\n <PillButton text={link.label} theme={theme} type={link.type} />\n </LinkComponent>\n ))}\n </div>\n {/* icons */}\n <Icons releaseBranch={releaseBranch} theme={theme} />\n </div>\n </div>\n )\n}\n\nexport default TopRow\n","import { INTERNAL_LINKS } from '../../../../constants/internal-links'\nimport type { LinkTarget } from '../../../../customized-link/type'\n\ntype ChannelType = {\n label: string\n to: string\n target: LinkTarget\n}\nexport const CHANNELS: ChannelType[] = [\n {\n label: '最新',\n to: INTERNAL_LINKS.latest,\n target: '_self',\n },\n {\n label: '深度專題',\n to: INTERNAL_LINKS.topics,\n target: '_self',\n },\n {\n label: '國際兩岸',\n to: INTERNAL_LINKS.categories.world,\n target: '_self',\n },\n {\n label: '人權司法',\n to: INTERNAL_LINKS.categories.humanRights,\n target: '_self',\n },\n {\n label: '政治社會',\n to: INTERNAL_LINKS.categories.politicsAndSociety,\n target: '_self',\n },\n {\n label: '醫療健康',\n to: INTERNAL_LINKS.categories.health,\n target: '_self',\n },\n {\n label: '環境永續',\n to: INTERNAL_LINKS.categories.environment,\n target: '_self',\n },\n {\n label: '經濟產業',\n to: INTERNAL_LINKS.categories.econ,\n target: '_self',\n },\n {\n label: '文化生活',\n to: INTERNAL_LINKS.categories.culture,\n target: '_self',\n },\n {\n label: '教育校園',\n to: INTERNAL_LINKS.categories.education,\n target: '_self',\n },\n]\n","import { useContext, type FC } from 'react'\nimport clsx from 'clsx'\n// context\nimport { HeaderContext, HamburgerContext } from '../../context'\n// components\nimport { IconButton, TextButton } from '../../../button'\nimport { Hamburger } from '../../../icons'\nimport Divider from '../../../divider'\n// constants\nimport { CHANNELS } from './constants'\n// link\nimport { ExternalLink, InternalLink } from '../../../customized-link'\nimport type { LinkTarget } from '../../../customized-link/type'\n// lodash\nimport map from 'lodash/map'\nconst _ = {\n map,\n}\ntype ChannelItemProps = {\n link: {\n href: string\n target: LinkTarget\n }\n label: string\n}\nconst ChannelItem: FC<ChannelItemProps> = ({\n link = { href: '', target: '_self' },\n label = '',\n}) => {\n const { theme, isLinkExternal } = useContext(HeaderContext)\n const LinkComponent = isLinkExternal ? ExternalLink : InternalLink\n return (\n <div className={clsx('flex items-center', '[&>a]:no-underline')}>\n <LinkComponent to={link.href} target={link.target}>\n <TextButton\n text={label}\n size={TextButton.Size.l}\n theme={theme}\n style={TextButton.Style.dark}\n />\n </LinkComponent>\n </div>\n )\n}\n\nconst Channel = () => {\n const { releaseBranch, theme } = useContext(HeaderContext)\n const { toggleHamburger } = useContext(HamburgerContext)\n return (\n <div className=\"flex flex-col items-center\">\n <div className=\"flex items-center justify-between w-full px-[16px] py-[8px]\">\n <IconButton\n iconComponent={Hamburger(releaseBranch)}\n theme={theme}\n onClick={toggleHamburger}\n />\n {_.map(CHANNELS, (channel) => {\n return (\n <ChannelItem\n key={`channel-${channel.label}`}\n label={channel.label}\n link={{\n href: channel.to,\n target: channel.target,\n }}\n />\n )\n })}\n </div>\n <Divider />\n </div>\n )\n}\n\nexport default Channel\n","import { useContext, useRef, type FC } from 'react'\nimport clsx from 'clsx'\nimport { CSSTransition } from 'react-transition-group'\n// context\nimport { HeaderContext } from '../context'\n// constants\nimport { ZIndex } from '../constants/z-index'\nimport { ANIMATION } from '../constants/animation'\n// compontents\nimport TopRow from './top-row'\nimport Channel from './channels'\nimport Divider from '../../divider'\n// type\nimport type { LogoType } from '../../logo/constants'\ntype DesktopAndAboveProps = {\n topRowBgColor: string\n logoType: LogoType\n}\nconst DesktopAndAbove: FC<DesktopAndAboveProps> = ({\n topRowBgColor,\n logoType,\n}) => {\n const { toUseNarrow } = useContext(HeaderContext)\n const channelRef = useRef<HTMLDivElement>(null)\n return (\n <div className=\"hidden desktop:flex desktop:flex-col\">\n <TopRow topRowBgColor={topRowBgColor} logoType={logoType} />\n {/* divider */}\n <div\n className={clsx(\n `transition-opacity ${ANIMATION.step2Duration}`,\n toUseNarrow ? 'opacity-0' : 'opacity-100',\n toUseNarrow ? 'delay-0' : `${ANIMATION.step2Delay}`\n )}\n >\n <Divider direction={Divider.Direction.horizontal} />\n </div>\n {/* channels */}\n <div className={`${ZIndex.channel}`}>\n <CSSTransition\n in={!toUseNarrow}\n nodeRef={channelRef}\n classNames={{\n enter: `opacity-0 -translate-y-full`,\n enterActive: `transition-all ease-linear ${ANIMATION.step1Duration} ${ANIMATION.step2Delay} opacity-100 translate-y-0`,\n exit: `opacity-100 translate-y-0`,\n exitActive: `transition-all ease-linear ${ANIMATION.step1Duration} -translate-y-full`,\n }}\n timeout={{ appear: 0, enter: 350, exit: 200 }}\n unmountOnExit\n >\n <div ref={channelRef}>\n <Channel />\n </div>\n </CSSTransition>\n </div>\n </div>\n )\n}\n\nexport default DesktopAndAbove\n","import {\n RELEASE_BRANCH,\n type ReleaseBranch,\n} from '../../constants/release-branch'\nimport { forClientSideRendering } from '../../constants/request-origins'\n\nexport const checkReferrer = (\n referrer: string = '',\n releaseBranch: ReleaseBranch = RELEASE_BRANCH.master\n) => {\n try {\n const url = new URL(referrer)\n return url.origin === forClientSideRendering[releaseBranch].main\n } catch (_err) {\n return false\n }\n}\n","import { useContext, useState, useEffect, type FC } from 'react'\nimport clsx from 'clsx'\n// context\nimport { HeaderContext } from '../context'\n// constants\nimport { ZIndex } from '../constants/z-index'\nimport { INTERNAL_LINKS } from '../../constants/internal-links'\nimport { EXTERNAL_LINKS } from '../../constants/external-links'\n// logo\nimport { LogoHeader } from '../../logo'\nimport type { LogoType } from '../../logo/constants'\n// link\nimport { ExternalLink, InternalLink } from '../../customized-link'\n// button\nimport { PillButton, TextButton, IconButton } from '../../button'\n// icon\nimport { Arrow, Member } from '../../icons'\n// utils\nimport { checkReferrer } from '../utils/links'\n// lodash\nimport some from 'lodash/some'\nimport includes from 'lodash/includes'\nimport throttle from 'lodash/throttle'\nconst _ = {\n some,\n includes,\n throttle,\n}\n\ntype TabletAndBelowProps = {\n topRowBgColor: string\n logoType: LogoType\n}\nconst TabletAndBelow: FC<TabletAndBelowProps> = ({\n topRowBgColor,\n logoType,\n}) => {\n const {\n isLinkExternal,\n releaseBranch,\n theme,\n pathname,\n referrerPath,\n isAuthed,\n } = useContext(HeaderContext)\n const LinkComponent = isLinkExternal ? ExternalLink : InternalLink\n\n const [currentClientWidth, setCurrentClientWidth] = useState(0)\n useEffect(() => {\n const handleResize = _.throttle(() => {\n setCurrentClientWidth(document.body.clientWidth)\n }, 200)\n\n handleResize()\n window.addEventListener('resize', handleResize)\n\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [])\n\n const isOnArticlePage = _.includes(pathname, `${INTERNAL_LINKS.article}/`)\n const needPrevIconRoute = [\n INTERNAL_LINKS.account.donationHistoryPage,\n INTERNAL_LINKS.account.emailSubscription,\n INTERNAL_LINKS.myReading.savedBookmarks,\n INTERNAL_LINKS.myReading.browsingHistory,\n ]\n const isOnNeedPrevIconPage = _.some(needPrevIconRoute, (el) =>\n _.includes(pathname, el)\n )\n\n const showPrevIcon =\n isOnArticlePage || (isOnNeedPrevIconPage && currentClientWidth < 768) // only show it on mobile\n\n const gotoPrev = () => {\n if (referrerPath || checkReferrer(document.referrer, releaseBranch)) {\n // go to previous page when referer is twreporter site\n window.history.back()\n } else {\n // go to home page when referer is not twreporter site\n window.location.href = '/'\n }\n }\n\n return (\n <div\n className={clsx(\n `flex items-center justify-between ${ZIndex.topRow} py-[16px] ${topRowBgColor}`,\n 'desktop:hidden'\n )}\n >\n <div className=\"flex flex-row gap-[8px]\">\n {/* pre button */}\n {showPrevIcon ? (\n <div className=\"p-[4px] -translate-x-[8px]\">\n <IconButton\n iconComponent={\n <Arrow\n direction={Arrow.Direction.left}\n releaseBranch={releaseBranch}\n />\n }\n theme={theme}\n onClick={gotoPrev}\n />\n </div>\n ) : null}\n {/* logo */}\n <LinkComponent to={INTERNAL_LINKS.home} className=\"flex items-center\">\n <LogoHeader type={logoType} className=\"h-[21px]\" />\n </LinkComponent>\n </div>\n {/* actions */}\n <div className=\"flex flex-row items-center gap-[16px]\">\n <LinkComponent to={EXTERNAL_LINKS.monthlyDonation}>\n <PillButton\n text=\"贊助\"\n theme={PillButton.Theme.normal}\n type={PillButton.Type.primary}\n style={PillButton.Style.brand}\n />\n </LinkComponent>\n <LinkComponent to={INTERNAL_LINKS.account.index}>\n {isAuthed ? (\n <IconButton iconComponent={Member(releaseBranch)} />\n ) : (\n <TextButton\n text=\"登入\"\n theme={TextButton.Theme.normal}\n style={TextButton.Style.dark}\n size={TextButton.Size.s}\n />\n )}\n </LinkComponent>\n </div>\n </div>\n )\n}\n\nexport default TabletAndBelow\n","import { create, type StateCreator } from 'zustand'\n\nexport type AuthState = {\n isAuthed: boolean\n token?: string\n setAuthed: (isAuthed: boolean) => void\n setToken: (token?: string) => void\n reset: () => void\n}\n\nconst creator: StateCreator<AuthState> = (set) => ({\n isAuthed: false,\n token: undefined,\n setAuthed: (isAuthed: boolean) => set({ isAuthed }),\n setToken: (token?: string) => set({ token }),\n reset: () => set({ isAuthed: false, token: undefined }),\n})\n\nexport const useAuthStore = create<AuthState>()(creator)\n","import { useRef, useState, useCallback, useEffect, type FC } from 'react'\nimport clsx from 'clsx'\n\n// constants\nimport { THEME, type Theme } from '../constants/theme'\nimport type { ReleaseBranch } from '../constants/release-branch'\nimport { ZIndex } from './constants/z-index'\n// components\nimport DesktopAndAbove from './components/desktop-and-above'\nimport TabletAndBelow from './components/tablet-and-below'\n// context\nimport {\n HeaderContext,\n HamburgerContext,\n type HamburgerContextType,\n} from './context'\n// utils\nimport { selectHeaderTheme, selectLogoType } from './utils/theme'\n// hamburger menu\nimport HamburgerMenu from '../hamburger-menu'\n// tab bar\nimport TabBar from '../tab-bar'\nimport { useAuthStore, type AuthState } from './store/auth-store'\n// hook\nimport { useOutsideClick } from '../hooks'\n\nconst HIDE_HEADER_THRESHOLD = 8\nconst TRANSFORM_HEADER_THRESHOLD = 40\nconst TRANSFORM_TIMEOUT = 800\n\ntype HeaderProps = {\n releaseBranch: ReleaseBranch\n isLinkExternal: boolean\n theme: Theme\n pathname: string\n referrerPath: string\n hamburgerContext: HamburgerContextType\n}\nconst Header: FC<HeaderProps> = ({\n releaseBranch,\n isLinkExternal,\n theme,\n pathname,\n referrerPath,\n hamburgerContext,\n}) => {\n const isAuthed = useAuthStore((s: AuthState) => s.isAuthed)\n const { bgColor, topRowBgColor } = selectHeaderTheme(theme)\n const logoType = selectLogoType(theme)\n\n const { isHamburgerMenuOpen, closeHamburgerMenu } = hamburgerContext\n\n const [toUseNarrow, setToUseNarrow] = useState(false)\n const [hideHeader, setHideHeader] = useState(false)\n\n const lastKnownPageYOffset = useRef(0)\n const ticking = useRef(false)\n const currentY = useRef(0)\n const readyY = useRef(0)\n const isTransforming = useRef(false)\n const transformTimer = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n const outsideRef = useOutsideClick(closeHamburgerMenu)\n\n const getScrollState = useCallback(\n (scrollTop: number, scrollDirection: 'up' | 'down') => {\n const isCurrentNarrow = toUseNarrow\n const nextToUseNarrow = scrollTop > TRANSFORM_HEADER_THRESHOLD\n const scrollState = { toUseNarrow, hideHeader }\n\n if (isTransforming.current) {\n return scrollState\n }\n\n if (scrollDirection === 'up') {\n readyY.current = scrollTop\n scrollState.hideHeader = false\n }\n\n if (scrollDirection === 'down') {\n if (\n isCurrentNarrow &&\n scrollTop - readyY.current > HIDE_HEADER_THRESHOLD\n ) {\n scrollState.hideHeader = true\n }\n }\n\n if (isCurrentNarrow) {\n scrollState.toUseNarrow =\n scrollDirection === 'down' ? true : nextToUseNarrow\n } else {\n scrollState.toUseNarrow =\n scrollDirection === 'up' ? false : nextToUseNarrow\n }\n\n if (isCurrentNarrow !== scrollState.toUseNarrow) {\n if (!transformTimer.current) {\n isTransforming.current = true\n transformTimer.current = setTimeout(() => {\n isTransforming.current = false\n readyY.current = currentY.current\n transformTimer.current = null\n }, TRANSFORM_TIMEOUT)\n }\n }\n\n return scrollState\n },\n [toUseNarrow, hideHeader]\n )\n\n const updateScrollState = useCallback(\n (currentScrollTop: number) => {\n const scrollDirection =\n currentScrollTop > currentY.current ? 'down' : 'up'\n currentY.current = currentScrollTop\n const updateState = getScrollState(currentScrollTop, scrollDirection)\n setToUseNarrow(() => updateState.toUseNarrow)\n setHideHeader(() => updateState.hideHeader)\n },\n [getScrollState]\n )\n\n const handleScroll = useCallback(() => {\n lastKnownPageYOffset.current = window.pageYOffset\n if (!ticking.current) {\n window.requestAnimationFrame(() => {\n updateScrollState(lastKnownPageYOffset.current)\n ticking.current = false\n })\n ticking.current = true\n }\n }, [updateScrollState])\n\n useEffect(() => {\n window.addEventListener('scroll', handleScroll, { passive: true })\n return () => {\n window.removeEventListener('scroll', handleScroll)\n }\n }, [handleScroll])\n\n return (\n <HeaderContext\n value={{\n releaseBranch,\n isLinkExternal,\n isAuthed,\n theme,\n pathname,\n referrerPath,\n toUseNarrow,\n hideHeader,\n }}\n >\n <HamburgerContext value={hamburgerContext}>\n <header\n className={clsx(\n `w-full top-0 transition-transform duration-300 ${bgColor} ${ZIndex.header}`,\n theme === THEME.transparent ? 'fixed' : 'sticky',\n hideHeader ? 'ease-in' : 'ease-out',\n hideHeader ? '-translate-y-full' : 'translate-y-0'\n )}\n >\n <div\n className={clsx(\n `flex flex-col mx-auto px-[24px]`,\n 'tablet:px-[32px]',\n 'desktop:px-[48px]',\n 'hd:w-[1280px] hd:px-0'\n )}\n >\n <DesktopAndAbove\n topRowBgColor={topRowBgColor}\n logoType={logoType}\n />\n <TabletAndBelow topRowBgColor={topRowBgColor} logoType={logoType} />\n </div>\n </header>\n <div\n ref={outsideRef}\n className={clsx(\n `fixed top-0 left-0 ${ZIndex.hamburger} transition-transform duration-300 ease-in-out`,\n isHamburgerMenuOpen\n ? 'translate-x-0 opacity-100'\n : '-translate-x-full opacity-100',\n 'tablet:-left-[320px]',\n isHamburgerMenuOpen\n ? 'tablet:translate-x-[320px] tablet:opacity-100'\n : 'tablet:-translate-x-[320px] tablet:opacity-100',\n 'desktop:-left-[280px]',\n isHamburgerMenuOpen\n ? 'desktop:translate-x-[280px] desktop:opacity-100'\n : 'desktop:-translate-x-[280px] desktop:opacity-100'\n )}\n >\n <HamburgerMenu />\n </div>\n <TabBar />\n </HamburgerContext>\n </HeaderContext>\n )\n}\n\nexport default Header\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["Header: FC<HeaderProps>","DesktopAndAbove","TabletAndBelow","HamburgerMenu","TabBar"],"sources":["../../src/header/index.tsx"],"sourcesContent":["import { useRef, useState, useCallback, useEffect, type FC } from 'react'\nimport clsx from 'clsx'\n\n// constants\nimport { THEME, type Theme } from '../constants/theme'\nimport type { ReleaseBranch } from '../constants/release-branch'\nimport { ZIndex } from './constants/z-index'\n// components\nimport DesktopAndAbove from './components/desktop-and-above'\nimport TabletAndBelow from './components/tablet-and-below'\n// context\nimport {\n HeaderContext,\n HamburgerContext,\n type HamburgerContextType,\n} from './context'\n// utils\nimport { selectHeaderTheme, selectLogoType } from './utils/theme'\n// hamburger menu\nimport HamburgerMenu from '../hamburger-menu'\n// tab bar\nimport TabBar from '../tab-bar'\nimport { useAuthStore, type AuthState } from './store/auth-store'\n// hook\nimport { useOutsideClick } from '../hooks'\n\nconst HIDE_HEADER_THRESHOLD = 8\nconst TRANSFORM_HEADER_THRESHOLD = 40\nconst TRANSFORM_TIMEOUT = 800\n\ntype HeaderProps = {\n releaseBranch: ReleaseBranch\n isLinkExternal: boolean\n theme: Theme\n pathname: string\n referrerPath: string\n hamburgerContext: HamburgerContextType\n}\nconst Header: FC<HeaderProps> = ({\n releaseBranch,\n isLinkExternal,\n theme,\n pathname,\n referrerPath,\n hamburgerContext,\n}) => {\n const isAuthed = useAuthStore((s: AuthState) => s.isAuthed)\n const { bgColor, topRowBgColor } = selectHeaderTheme(theme)\n const logoType = selectLogoType(theme)\n\n const { isHamburgerMenuOpen, closeHamburgerMenu } = hamburgerContext\n\n const [toUseNarrow, setToUseNarrow] = useState(false)\n const [hideHeader, setHideHeader] = useState(false)\n\n const lastKnownPageYOffset = useRef(0)\n const ticking = useRef(false)\n const currentY = useRef(0)\n const readyY = useRef(0)\n const isTransforming = useRef(false)\n const transformTimer = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n const outsideRef = useOutsideClick(closeHamburgerMenu)\n\n const getScrollState = useCallback(\n (scrollTop: number, scrollDirection: 'up' | 'down') => {\n const isCurrentNarrow = toUseNarrow\n const nextToUseNarrow = scrollTop > TRANSFORM_HEADER_THRESHOLD\n const scrollState = { toUseNarrow, hideHeader }\n\n if (isTransforming.current) {\n return scrollState\n }\n\n if (scrollDirection === 'up') {\n readyY.current = scrollTop\n scrollState.hideHeader = false\n }\n\n if (scrollDirection === 'down') {\n if (\n isCurrentNarrow &&\n scrollTop - readyY.current > HIDE_HEADER_THRESHOLD\n ) {\n scrollState.hideHeader = true\n }\n }\n\n if (isCurrentNarrow) {\n scrollState.toUseNarrow =\n scrollDirection === 'down' ? true : nextToUseNarrow\n } else {\n scrollState.toUseNarrow =\n scrollDirection === 'up' ? false : nextToUseNarrow\n }\n\n if (isCurrentNarrow !== scrollState.toUseNarrow) {\n if (!transformTimer.current) {\n isTransforming.current = true\n transformTimer.current = setTimeout(() => {\n isTransforming.current = false\n readyY.current = currentY.current\n transformTimer.current = null\n }, TRANSFORM_TIMEOUT)\n }\n }\n\n return scrollState\n },\n [toUseNarrow, hideHeader]\n )\n\n const updateScrollState = useCallback(\n (currentScrollTop: number) => {\n const scrollDirection =\n currentScrollTop > currentY.current ? 'down' : 'up'\n currentY.current = currentScrollTop\n const updateState = getScrollState(currentScrollTop, scrollDirection)\n setToUseNarrow(() => updateState.toUseNarrow)\n setHideHeader(() => updateState.hideHeader)\n },\n [getScrollState]\n )\n\n const handleScroll = useCallback(() => {\n lastKnownPageYOffset.current = window.pageYOffset\n if (!ticking.current) {\n window.requestAnimationFrame(() => {\n updateScrollState(lastKnownPageYOffset.current)\n ticking.current = false\n })\n ticking.current = true\n }\n }, [updateScrollState])\n\n useEffect(() => {\n window.addEventListener('scroll', handleScroll, { passive: true })\n return () => {\n window.removeEventListener('scroll', handleScroll)\n }\n }, [handleScroll])\n\n return (\n <HeaderContext\n value={{\n releaseBranch,\n isLinkExternal,\n isAuthed,\n theme,\n pathname,\n referrerPath,\n toUseNarrow,\n hideHeader,\n }}\n >\n <HamburgerContext value={hamburgerContext}>\n <header\n className={clsx(\n `w-full top-0 transition-transform duration-300 ${bgColor} ${ZIndex.header}`,\n theme === THEME.transparent ? 'fixed' : 'sticky',\n hideHeader ? 'ease-in' : 'ease-out',\n hideHeader ? '-translate-y-full' : 'translate-y-0'\n )}\n >\n <div\n className={clsx(\n `flex flex-col mx-auto px-[24px]`,\n 'tablet:px-[32px]',\n 'desktop:px-[48px]',\n 'hd:w-[1280px] hd:px-0'\n )}\n >\n <DesktopAndAbove\n topRowBgColor={topRowBgColor}\n logoType={logoType}\n />\n <TabletAndBelow topRowBgColor={topRowBgColor} logoType={logoType} />\n </div>\n </header>\n <div\n ref={outsideRef}\n className={clsx(\n `fixed top-0 left-0 ${ZIndex.hamburger} transition-transform duration-300 ease-in-out`,\n isHamburgerMenuOpen\n ? 'translate-x-0 opacity-100'\n : '-translate-x-full opacity-100',\n 'tablet:-left-[320px]',\n isHamburgerMenuOpen\n ? 'tablet:translate-x-[320px] tablet:opacity-100'\n : 'tablet:-translate-x-[320px] tablet:opacity-100',\n 'desktop:-left-[280px]',\n isHamburgerMenuOpen\n ? 'desktop:translate-x-[280px] desktop:opacity-100'\n : 'desktop:-translate-x-[280px] desktop:opacity-100'\n )}\n >\n <HamburgerMenu />\n </div>\n <TabBar />\n </HamburgerContext>\n </HeaderContext>\n )\n}\n\nexport default Header\n"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { JwtPayload } from "../../jwt-D5ouC3Ti.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/header/store/auth-actions.d.ts
|
|
4
|
+
declare function fetchAccessToken(apiOrigin: string, cookieList?: string): Promise<{
|
|
5
|
+
jwt: string;
|
|
6
|
+
userInfo: JwtPayload | null;
|
|
7
|
+
} | null>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { fetchAccessToken };
|
|
10
|
+
//# sourceMappingURL=auth-actions.d.mts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { JwtPayload } from "../../jwt-B3e1_IVb.js";
|
|
2
|
+
|
|
3
|
+
//#region src/header/store/auth-actions.d.ts
|
|
4
|
+
declare function fetchAccessToken(apiOrigin: string, cookieList?: string): Promise<{
|
|
5
|
+
jwt: string;
|
|
6
|
+
userInfo: JwtPayload | null;
|
|
7
|
+
} | null>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { fetchAccessToken };
|
|
10
|
+
//# sourceMappingURL=auth-actions.d.ts.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const require_chunk = require('../../chunk-BxBTb9qk.js');
|
|
2
|
+
const require_auth_store = require('../../auth-store-Dol00nWl.js');
|
|
3
|
+
const require_jwt = require('../../jwt-DPaLchNC.js');
|
|
4
|
+
let axios = require("axios");
|
|
5
|
+
axios = require_chunk.__toESM(axios);
|
|
6
|
+
|
|
7
|
+
//#region src/header/store/auth-actions.ts
|
|
8
|
+
async function fetchAccessToken(apiOrigin, cookieList) {
|
|
9
|
+
const headers = {};
|
|
10
|
+
if (cookieList) headers.Cookie = cookieList;
|
|
11
|
+
const jwt = (await axios.default.post(`${apiOrigin}/v2/auth/token`, null, {
|
|
12
|
+
headers,
|
|
13
|
+
timeout: 5e3,
|
|
14
|
+
withCredentials: true
|
|
15
|
+
})).data?.data?.jwt;
|
|
16
|
+
if (jwt) {
|
|
17
|
+
const userInfo = require_jwt.decodePayload(jwt);
|
|
18
|
+
require_auth_store.useAuthStore.setState({
|
|
19
|
+
token: jwt,
|
|
20
|
+
isAuthed: true
|
|
21
|
+
});
|
|
22
|
+
return {
|
|
23
|
+
jwt,
|
|
24
|
+
userInfo
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
exports.fetchAccessToken = fetchAccessToken;
|
|
32
|
+
//# sourceMappingURL=auth-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-actions.js","names":["headers: Record<string, string>","decodePayload"],"sources":["../../../src/header/store/auth-actions.ts"],"sourcesContent":["import axios from 'axios'\nimport { useAuthStore } from './auth-store'\nimport { decodePayload } from '../utils/jwt'\n\n// Provide a plain function (no Redux thunk) to fetch and store auth state\nexport async function fetchAccessToken(apiOrigin: string, cookieList?: string) {\n const headers: Record<string, string> = {}\n if (cookieList) headers.Cookie = cookieList\n\n const res = await axios.post(`${apiOrigin}/v2/auth/token`, null, {\n headers,\n timeout: 5000,\n withCredentials: true,\n })\n const jwt = res.data?.data?.jwt as string\n if (jwt) {\n const userInfo = decodePayload(jwt)\n useAuthStore.setState({ token: jwt, isAuthed: true })\n return { jwt, userInfo }\n }\n return null\n}\n"],"mappings":";;;;;;;AAKA,eAAsB,iBAAiB,WAAmB,YAAqB;CAC7E,MAAMA,UAAkC,EAAE;AAC1C,KAAI,WAAY,SAAQ,SAAS;CAOjC,MAAM,OALM,MAAM,cAAM,KAAK,GAAG,UAAU,iBAAiB,MAAM;EAC/D;EACA,SAAS;EACT,iBAAiB;EAClB,CAAC,EACc,MAAM,MAAM;AAC5B,KAAI,KAAK;EACP,MAAM,WAAWC,0BAAc,IAAI;AACnC,kCAAa,SAAS;GAAE,OAAO;GAAK,UAAU;GAAM,CAAC;AACrD,SAAO;GAAE;GAAK;GAAU;;AAE1B,QAAO"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { useAuthStore } from "../../auth-store-B8SMis_O.mjs";
|
|
2
|
+
import { decodePayload } from "../../jwt-BpdQDGBb.mjs";
|
|
3
|
+
import axios from "axios";
|
|
4
|
+
|
|
5
|
+
//#region src/header/store/auth-actions.ts
|
|
6
|
+
async function fetchAccessToken(apiOrigin, cookieList) {
|
|
7
|
+
const headers = {};
|
|
8
|
+
if (cookieList) headers.Cookie = cookieList;
|
|
9
|
+
const jwt = (await axios.post(`${apiOrigin}/v2/auth/token`, null, {
|
|
10
|
+
headers,
|
|
11
|
+
timeout: 5e3,
|
|
12
|
+
withCredentials: true
|
|
13
|
+
})).data?.data?.jwt;
|
|
14
|
+
if (jwt) {
|
|
15
|
+
const userInfo = decodePayload(jwt);
|
|
16
|
+
useAuthStore.setState({
|
|
17
|
+
token: jwt,
|
|
18
|
+
isAuthed: true
|
|
19
|
+
});
|
|
20
|
+
return {
|
|
21
|
+
jwt,
|
|
22
|
+
userInfo
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
//#endregion
|
|
29
|
+
export { fetchAccessToken };
|
|
30
|
+
//# sourceMappingURL=auth-actions.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-actions.mjs","names":["headers: Record<string, string>"],"sources":["../../../src/header/store/auth-actions.ts"],"sourcesContent":["import axios from 'axios'\nimport { useAuthStore } from './auth-store'\nimport { decodePayload } from '../utils/jwt'\n\n// Provide a plain function (no Redux thunk) to fetch and store auth state\nexport async function fetchAccessToken(apiOrigin: string, cookieList?: string) {\n const headers: Record<string, string> = {}\n if (cookieList) headers.Cookie = cookieList\n\n const res = await axios.post(`${apiOrigin}/v2/auth/token`, null, {\n headers,\n timeout: 5000,\n withCredentials: true,\n })\n const jwt = res.data?.data?.jwt as string\n if (jwt) {\n const userInfo = decodePayload(jwt)\n useAuthStore.setState({ token: jwt, isAuthed: true })\n return { jwt, userInfo }\n }\n return null\n}\n"],"mappings":";;;;;AAKA,eAAsB,iBAAiB,WAAmB,YAAqB;CAC7E,MAAMA,UAAkC,EAAE;AAC1C,KAAI,WAAY,SAAQ,SAAS;CAOjC,MAAM,OALM,MAAM,MAAM,KAAK,GAAG,UAAU,iBAAiB,MAAM;EAC/D;EACA,SAAS;EACT,iBAAiB;EAClB,CAAC,EACc,MAAM,MAAM;AAC5B,KAAI,KAAK;EACP,MAAM,WAAW,cAAc,IAAI;AACnC,eAAa,SAAS;GAAE,OAAO;GAAK,UAAU;GAAM,CAAC;AACrD,SAAO;GAAE;GAAK;GAAU;;AAE1B,QAAO"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as zustand0 from "zustand";
|
|
2
|
+
|
|
3
|
+
//#region src/header/store/auth-store.d.ts
|
|
4
|
+
type AuthState = {
|
|
5
|
+
isAuthed: boolean;
|
|
6
|
+
token?: string;
|
|
7
|
+
setAuthed: (isAuthed: boolean) => void;
|
|
8
|
+
setToken: (token?: string) => void;
|
|
9
|
+
reset: () => void;
|
|
10
|
+
};
|
|
11
|
+
declare const useAuthStore: zustand0.UseBoundStore<zustand0.StoreApi<AuthState>>;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { AuthState, useAuthStore };
|
|
14
|
+
//# sourceMappingURL=auth-store.d.mts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as zustand0 from "zustand";
|
|
2
|
+
|
|
3
|
+
//#region src/header/store/auth-store.d.ts
|
|
4
|
+
type AuthState = {
|
|
5
|
+
isAuthed: boolean;
|
|
6
|
+
token?: string;
|
|
7
|
+
setAuthed: (isAuthed: boolean) => void;
|
|
8
|
+
setToken: (token?: string) => void;
|
|
9
|
+
reset: () => void;
|
|
10
|
+
};
|
|
11
|
+
declare const useAuthStore: zustand0.UseBoundStore<zustand0.StoreApi<AuthState>>;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { AuthState, useAuthStore };
|
|
14
|
+
//# sourceMappingURL=auth-store.d.ts.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "../../index-HhQuz4hd.mjs";
|
|
2
|
+
import { ReleaseBranch } from "../../release-branch-IPa6pTGS.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/header/utils/links.d.ts
|
|
5
|
+
declare const checkReferrer: (referrer?: string, releaseBranch?: ReleaseBranch) => boolean;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { checkReferrer };
|
|
8
|
+
//# sourceMappingURL=links.d.mts.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "../../index-H3peA2d_.js";
|
|
2
|
+
import { ReleaseBranch } from "../../release-branch-CnwfO6yj.js";
|
|
3
|
+
|
|
4
|
+
//#region src/header/utils/links.d.ts
|
|
5
|
+
declare const checkReferrer: (referrer?: string, releaseBranch?: ReleaseBranch) => boolean;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { checkReferrer };
|
|
8
|
+
//# sourceMappingURL=links.d.ts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import "../../index-HhQuz4hd.mjs";
|
|
2
|
+
import { Theme } from "../../theme-ECp4BKXJ.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/header/utils/theme.d.ts
|
|
5
|
+
declare const selectLogoType: (theme: Theme) => "default" | "white";
|
|
6
|
+
declare const selectHeaderTheme: (theme: Theme) => {
|
|
7
|
+
bgColor: string;
|
|
8
|
+
topRowBgColor: string;
|
|
9
|
+
};
|
|
10
|
+
declare const selectSloganTheme: (theme: Theme) => "text-gray-800" | "text-gray-white";
|
|
11
|
+
//#endregion
|
|
12
|
+
export { selectHeaderTheme, selectLogoType, selectSloganTheme };
|
|
13
|
+
//# sourceMappingURL=theme.d.mts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import "../../index-H3peA2d_.js";
|
|
2
|
+
import { Theme } from "../../theme-Ce9CLqLS.js";
|
|
3
|
+
|
|
4
|
+
//#region src/header/utils/theme.d.ts
|
|
5
|
+
declare const selectLogoType: (theme: Theme) => "default" | "white";
|
|
6
|
+
declare const selectHeaderTheme: (theme: Theme) => {
|
|
7
|
+
bgColor: string;
|
|
8
|
+
topRowBgColor: string;
|
|
9
|
+
};
|
|
10
|
+
declare const selectSloganTheme: (theme: Theme) => "text-gray-800" | "text-gray-white";
|
|
11
|
+
//#endregion
|
|
12
|
+
export { selectHeaderTheme, selectLogoType, selectSloganTheme };
|
|
13
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
require('../../theme-DDBlIbeS.js');
|
|
2
|
+
require('../../constants-CkmgPgze.js');
|
|
3
|
+
const require_theme$1 = require('../../theme-tgdB3gqC.js');
|
|
4
|
+
|
|
5
|
+
exports.selectHeaderTheme = require_theme$1.selectHeaderTheme;
|
|
6
|
+
exports.selectLogoType = require_theme$1.selectLogoType;
|
|
7
|
+
exports.selectSloganTheme = require_theme$1.selectSloganTheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heading-
|
|
1
|
+
{"version":3,"file":"heading-BVKLYfXi.mjs","names":["Component: React.FC<HeadingProps> & { Type: typeof TYPE }"],"sources":["../src/text/heading.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport React from 'react'\nimport { TYPE, type Type } from './constants'\n\ntype HeadingProps = React.HTMLAttributes<HTMLHeadingElement> & {\n text?: string\n type?: Type\n className?: string\n}\n\nconst baseClass = 'font-bold'\n\nconst variantClass = {\n H1: 'text-[28px] leading-[125%] tablet:text-[36px]',\n H2: 'text-[24px] leading-[125%] tablet:text-[32px]',\n H3: 'text-[22px] leading-[150%] tablet:text-[28px]',\n H4: 'text-[18px] leading-[150%] tablet:text-[22px]',\n H5: 'text-[17px] leading-[150%] tablet:text-[18px]',\n H6: 'text-[16px] leading-[150%] tablet:text-[16px]',\n}\n\nconst HeadingVariant = (variant: keyof typeof variantClass) => {\n const Component: React.FC<HeadingProps> & { Type: typeof TYPE } = ({\n text = '',\n type = TYPE.default,\n className = '',\n ...props\n }) => {\n const htmlTag = variant.toLowerCase() // 產生 'h1', 'h2', ...\n const fontFamily = type === TYPE.article ? 'font-title' : 'font-default'\n return React.createElement(\n htmlTag,\n {\n className: clsx(\n fontFamily,\n baseClass,\n variantClass[variant],\n className\n ),\n ...props,\n },\n text\n )\n }\n Component.displayName = variant\n Component.Type = TYPE\n return Component\n}\n\nconst H1 = HeadingVariant('H1')\nconst H2 = HeadingVariant('H2')\nconst H3 = HeadingVariant('H3')\nconst H4 = HeadingVariant('H4')\nconst H5 = HeadingVariant('H5')\nconst H6 = HeadingVariant('H6')\n\nexport { H1, H2, H3, H4, H5, H6 }\n"],"mappings":";;;;;AAUA,MAAM,YAAY;AAElB,MAAM,eAAe;CACnB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,MAAM,kBAAkB,YAAuC;CAC7D,MAAMA,aAA6D,EACjE,OAAO,IACP,OAAO,KAAK,SACZ,YAAY,GACZ,GAAG,YACC;EACJ,MAAM,UAAU,QAAQ,aAAa;EACrC,MAAM,aAAa,SAAS,KAAK,UAAU,eAAe;AAC1D,SAAO,MAAM,cACX,SACA;GACE,WAAW,KACT,YACA,WACA,aAAa,UACb,UACD;GACD,GAAG;GACJ,EACD,KACD;;AAEH,WAAU,cAAc;AACxB,WAAU,OAAO;AACjB,QAAO;;AAGT,MAAM,KAAK,eAAe,KAAK;AAC/B,MAAM,KAAK,eAAe,KAAK;AAC/B,MAAM,KAAK,eAAe,KAAK;AAC/B,MAAM,KAAK,eAAe,KAAK;AAC/B,MAAM,KAAK,eAAe,KAAK;AAC/B,MAAM,KAAK,eAAe,KAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heading-
|
|
1
|
+
{"version":3,"file":"heading-D5Lv6X0M.js","names":["Component: React.FC<HeadingProps> & { Type: typeof TYPE }","TYPE","React"],"sources":["../src/text/heading.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport React from 'react'\nimport { TYPE, type Type } from './constants'\n\ntype HeadingProps = React.HTMLAttributes<HTMLHeadingElement> & {\n text?: string\n type?: Type\n className?: string\n}\n\nconst baseClass = 'font-bold'\n\nconst variantClass = {\n H1: 'text-[28px] leading-[125%] tablet:text-[36px]',\n H2: 'text-[24px] leading-[125%] tablet:text-[32px]',\n H3: 'text-[22px] leading-[150%] tablet:text-[28px]',\n H4: 'text-[18px] leading-[150%] tablet:text-[22px]',\n H5: 'text-[17px] leading-[150%] tablet:text-[18px]',\n H6: 'text-[16px] leading-[150%] tablet:text-[16px]',\n}\n\nconst HeadingVariant = (variant: keyof typeof variantClass) => {\n const Component: React.FC<HeadingProps> & { Type: typeof TYPE } = ({\n text = '',\n type = TYPE.default,\n className = '',\n ...props\n }) => {\n const htmlTag = variant.toLowerCase() // 產生 'h1', 'h2', ...\n const fontFamily = type === TYPE.article ? 'font-title' : 'font-default'\n return React.createElement(\n htmlTag,\n {\n className: clsx(\n fontFamily,\n baseClass,\n variantClass[variant],\n className\n ),\n ...props,\n },\n text\n )\n }\n Component.displayName = variant\n Component.Type = TYPE\n return Component\n}\n\nconst H1 = HeadingVariant('H1')\nconst H2 = HeadingVariant('H2')\nconst H3 = HeadingVariant('H3')\nconst H4 = HeadingVariant('H4')\nconst H5 = HeadingVariant('H5')\nconst H6 = HeadingVariant('H6')\n\nexport { H1, H2, H3, H4, H5, H6 }\n"],"mappings":";;;;;;;;AAUA,MAAM,YAAY;AAElB,MAAM,eAAe;CACnB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,MAAM,kBAAkB,YAAuC;CAC7D,MAAMA,aAA6D,EACjE,OAAO,IACP,OAAOC,uBAAK,SACZ,YAAY,GACZ,GAAG,YACC;EACJ,MAAM,UAAU,QAAQ,aAAa;EACrC,MAAM,aAAa,SAASA,uBAAK,UAAU,eAAe;AAC1D,SAAOC,cAAM,cACX,SACA;GACE,6BACE,YACA,WACA,aAAa,UACb,UACD;GACD,GAAG;GACJ,EACD,KACD;;AAEH,WAAU,cAAc;AACxB,WAAU,OAAOD;AACjB,QAAO;;AAGT,MAAM,KAAK,eAAe,KAAK;AAC/B,MAAM,KAAK,eAAe,KAAK;AAC/B,MAAM,KAAK,eAAe,KAAK;AAC/B,MAAM,KAAK,eAAe,KAAK;AAC/B,MAAM,KAAK,eAAe,KAAK;AAC/B,MAAM,KAAK,eAAe,KAAK"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { useEffect, useRef } from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/title-bar/components/title-tab/hook.ts
|
|
4
|
+
const useScrollStatus = (setShowNext) => {
|
|
5
|
+
const ref = useRef(null);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
if (!ref.current) return;
|
|
8
|
+
if (ref.current.scrollWidth > ref.current.clientWidth) setShowNext(true);
|
|
9
|
+
}, [setShowNext]);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
if (!ref.current) return;
|
|
12
|
+
const refEle = ref.current;
|
|
13
|
+
const handleScroll = () => {
|
|
14
|
+
if (refEle.offsetWidth + refEle.scrollLeft >= refEle.scrollWidth) setShowNext(false);
|
|
15
|
+
else setShowNext(true);
|
|
16
|
+
};
|
|
17
|
+
refEle.addEventListener("scroll", handleScroll);
|
|
18
|
+
return () => {
|
|
19
|
+
refEle.removeEventListener("scroll", handleScroll);
|
|
20
|
+
};
|
|
21
|
+
}, [setShowNext]);
|
|
22
|
+
return ref;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
export { useScrollStatus };
|
|
27
|
+
//# sourceMappingURL=hook-DGSr4R5I.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-DGSr4R5I.mjs","names":["handleScroll: EventListener"],"sources":["../src/title-bar/components/title-tab/hook.ts"],"sourcesContent":["import { useRef, useEffect } from 'react'\n\nexport const useScrollStatus = (setShowNext: (show: boolean) => void) => {\n const ref = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (!ref.current) return\n\n if (ref.current.scrollWidth > ref.current.clientWidth) {\n // scrollbar occur\n setShowNext(true)\n }\n }, [setShowNext])\n\n useEffect(() => {\n if (!ref.current) return\n\n const refEle = ref.current\n const handleScroll: EventListener = () => {\n if (refEle.offsetWidth + refEle.scrollLeft >= refEle.scrollWidth) {\n // scroll to end\n setShowNext(false)\n } else {\n setShowNext(true)\n }\n }\n\n refEle.addEventListener('scroll', handleScroll)\n\n return () => {\n refEle.removeEventListener('scroll', handleScroll)\n }\n }, [setShowNext])\n\n return ref\n}\n"],"mappings":";;;AAEA,MAAa,mBAAmB,gBAAyC;CACvE,MAAM,MAAM,OAAuB,KAAK;AAExC,iBAAgB;AACd,MAAI,CAAC,IAAI,QAAS;AAElB,MAAI,IAAI,QAAQ,cAAc,IAAI,QAAQ,YAExC,aAAY,KAAK;IAElB,CAAC,YAAY,CAAC;AAEjB,iBAAgB;AACd,MAAI,CAAC,IAAI,QAAS;EAElB,MAAM,SAAS,IAAI;EACnB,MAAMA,qBAAoC;AACxC,OAAI,OAAO,cAAc,OAAO,cAAc,OAAO,YAEnD,aAAY,MAAM;OAElB,aAAY,KAAK;;AAIrB,SAAO,iBAAiB,UAAU,aAAa;AAE/C,eAAa;AACX,UAAO,oBAAoB,UAAU,aAAa;;IAEnD,CAAC,YAAY,CAAC;AAEjB,QAAO"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const require_chunk = require('./chunk-BxBTb9qk.js');
|
|
2
|
+
let react = require("react");
|
|
3
|
+
react = require_chunk.__toESM(react);
|
|
4
|
+
|
|
5
|
+
//#region src/title-bar/components/title-tab/hook.ts
|
|
6
|
+
const useScrollStatus = (setShowNext) => {
|
|
7
|
+
const ref = (0, react.useRef)(null);
|
|
8
|
+
(0, react.useEffect)(() => {
|
|
9
|
+
if (!ref.current) return;
|
|
10
|
+
if (ref.current.scrollWidth > ref.current.clientWidth) setShowNext(true);
|
|
11
|
+
}, [setShowNext]);
|
|
12
|
+
(0, react.useEffect)(() => {
|
|
13
|
+
if (!ref.current) return;
|
|
14
|
+
const refEle = ref.current;
|
|
15
|
+
const handleScroll = () => {
|
|
16
|
+
if (refEle.offsetWidth + refEle.scrollLeft >= refEle.scrollWidth) setShowNext(false);
|
|
17
|
+
else setShowNext(true);
|
|
18
|
+
};
|
|
19
|
+
refEle.addEventListener("scroll", handleScroll);
|
|
20
|
+
return () => {
|
|
21
|
+
refEle.removeEventListener("scroll", handleScroll);
|
|
22
|
+
};
|
|
23
|
+
}, [setShowNext]);
|
|
24
|
+
return ref;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
Object.defineProperty(exports, 'useScrollStatus', {
|
|
29
|
+
enumerable: true,
|
|
30
|
+
get: function () {
|
|
31
|
+
return useScrollStatus;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=hook-DUH3wp9d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-DUH3wp9d.js","names":["handleScroll: EventListener"],"sources":["../src/title-bar/components/title-tab/hook.ts"],"sourcesContent":["import { useRef, useEffect } from 'react'\n\nexport const useScrollStatus = (setShowNext: (show: boolean) => void) => {\n const ref = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (!ref.current) return\n\n if (ref.current.scrollWidth > ref.current.clientWidth) {\n // scrollbar occur\n setShowNext(true)\n }\n }, [setShowNext])\n\n useEffect(() => {\n if (!ref.current) return\n\n const refEle = ref.current\n const handleScroll: EventListener = () => {\n if (refEle.offsetWidth + refEle.scrollLeft >= refEle.scrollWidth) {\n // scroll to end\n setShowNext(false)\n } else {\n setShowNext(true)\n }\n }\n\n refEle.addEventListener('scroll', handleScroll)\n\n return () => {\n refEle.removeEventListener('scroll', handleScroll)\n }\n }, [setShowNext])\n\n return ref\n}\n"],"mappings":";;;;;AAEA,MAAa,mBAAmB,gBAAyC;CACvE,MAAM,wBAA6B,KAAK;AAExC,4BAAgB;AACd,MAAI,CAAC,IAAI,QAAS;AAElB,MAAI,IAAI,QAAQ,cAAc,IAAI,QAAQ,YAExC,aAAY,KAAK;IAElB,CAAC,YAAY,CAAC;AAEjB,4BAAgB;AACd,MAAI,CAAC,IAAI,QAAS;EAElB,MAAM,SAAS,IAAI;EACnB,MAAMA,qBAAoC;AACxC,OAAI,OAAO,cAAc,OAAO,cAAc,OAAO,YAEnD,aAAY,MAAM;OAElB,aAAY,KAAK;;AAIrB,SAAO,iBAAiB,UAAU,aAAa;AAE/C,eAAa;AACX,UAAO,oBAAoB,UAAU,aAAa;;IAEnD,CAAC,YAAY,CAAC;AAEjB,QAAO"}
|
package/lib/hooks/index.d.mts
CHANGED
package/lib/hooks/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { useOutsideClick } from "../use-outside-click-
|
|
2
|
-
import * as
|
|
1
|
+
import { useOutsideClick } from "../use-outside-click-BIZ5N7wQ.js";
|
|
2
|
+
import * as react16 from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/hooks/index.d.ts
|
|
5
5
|
declare const _default: {
|
|
6
|
-
useOutsideClick: (callback: () => void) =>
|
|
6
|
+
useOutsideClick: (callback: () => void) => react16.RefObject<HTMLDivElement | null>;
|
|
7
7
|
};
|
|
8
8
|
//#endregion
|
|
9
9
|
export { _default as default, useOutsideClick };
|
package/lib/hooks/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2
|
-
const require_use_outside_click = require('../use-outside-click-
|
|
3
|
-
const require_hooks = require('../hooks-
|
|
2
|
+
const require_use_outside_click = require('../use-outside-click-Ffe2bjxu.js');
|
|
3
|
+
const require_hooks = require('../hooks-yvwMENLm.js');
|
|
4
4
|
|
|
5
5
|
exports.default = require_hooks.hooks_default;
|
|
6
6
|
exports.useOutsideClick = require_use_outside_click.useOutsideClick;
|
package/lib/hooks/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useOutsideClick } from "../use-outside-click-
|
|
2
|
-
import { hooks_default } from "../hooks-
|
|
1
|
+
import { useOutsideClick } from "../use-outside-click-OKNYPEZn.mjs";
|
|
2
|
+
import { hooks_default } from "../hooks-Bx775uvt.mjs";
|
|
3
3
|
|
|
4
4
|
export { hooks_default as default, useOutsideClick };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { useOutsideClick } from "../use-outside-click-
|
|
1
|
+
import { useOutsideClick } from "../use-outside-click-BO4-52Iu.mjs";
|
|
2
2
|
export { useOutsideClick };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { useOutsideClick } from "../use-outside-click-
|
|
1
|
+
import { useOutsideClick } from "../use-outside-click-BIZ5N7wQ.js";
|
|
2
2
|
export { useOutsideClick };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { useOutsideClick } from "./use-outside-click-
|
|
1
|
+
import { useOutsideClick } from "./use-outside-click-OKNYPEZn.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/hooks/index.ts
|
|
4
4
|
var hooks_default = { useOutsideClick };
|
|
5
5
|
|
|
6
6
|
//#endregion
|
|
7
7
|
export { hooks_default };
|
|
8
|
-
//# sourceMappingURL=hooks-
|
|
8
|
+
//# sourceMappingURL=hooks-Bx775uvt.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks-
|
|
1
|
+
{"version":3,"file":"hooks-Bx775uvt.mjs","names":[],"sources":["../src/hooks/index.ts"],"sourcesContent":["import { useOutsideClick } from './use-outside-click'\n\nexport { useOutsideClick }\n\nexport default { useOutsideClick }\n"],"mappings":";;;AAIA,oBAAe,EAAE,iBAAiB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_use_outside_click = require('./use-outside-click-
|
|
1
|
+
const require_use_outside_click = require('./use-outside-click-Ffe2bjxu.js');
|
|
2
2
|
|
|
3
3
|
//#region src/hooks/index.ts
|
|
4
4
|
var hooks_default = { useOutsideClick: require_use_outside_click.useOutsideClick };
|
|
@@ -10,4 +10,4 @@ Object.defineProperty(exports, 'hooks_default', {
|
|
|
10
10
|
return hooks_default;
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
|
-
//# sourceMappingURL=hooks-
|
|
13
|
+
//# sourceMappingURL=hooks-yvwMENLm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks-
|
|
1
|
+
{"version":3,"file":"hooks-yvwMENLm.js","names":[],"sources":["../src/hooks/index.ts"],"sourcesContent":["import { useOutsideClick } from './use-outside-click'\n\nexport { useOutsideClick }\n\nexport default { useOutsideClick }\n"],"mappings":";;;AAIA,oBAAe,EAAE,4DAAiB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { TYPE } from "./constants-oTHAnh6r.mjs";
|
|
2
|
+
import { THEME } from "./theme-BG6yZVj-.mjs";
|
|
3
|
+
import { getPrimaryIconButtonTheme, getSecondaryIconButtonTheme } from "./theme-CJDY-Vlz.mjs";
|
|
4
|
+
import clsx from "clsx";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
|
|
7
|
+
//#region src/button/components/icon-button/index.tsx
|
|
8
|
+
const IconButton = ({ iconComponent, theme = THEME.normal, type = TYPE.primary, disabled = false, active = false, className = "", onClick = () => {} }) => {
|
|
9
|
+
const themeClass = type === TYPE.primary ? getPrimaryIconButtonTheme(theme, active, disabled) : getSecondaryIconButtonTheme(theme, active, disabled);
|
|
10
|
+
const handleClick = (e) => {
|
|
11
|
+
if (disabled) return;
|
|
12
|
+
e.stopPropagation();
|
|
13
|
+
onClick(e);
|
|
14
|
+
};
|
|
15
|
+
return /* @__PURE__ */ jsx("button", {
|
|
16
|
+
className: clsx("flex", "[&>svg]:w-[24px] [&>svg]:h-[24px]", disabled ? "cursor-default" : "cursor-pointer", themeClass, className),
|
|
17
|
+
onClick: handleClick,
|
|
18
|
+
type: "button",
|
|
19
|
+
children: iconComponent
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
IconButton.Theme = THEME;
|
|
23
|
+
IconButton.Type = TYPE;
|
|
24
|
+
var icon_button_default = IconButton;
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
export { icon_button_default };
|
|
28
|
+
//# sourceMappingURL=icon-button-B-71Zncn.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-button-B-71Zncn.mjs","names":["IconButton: React.FC<IconButtonProps> & {\n Theme: typeof THEME\n Type: typeof TYPE\n}"],"sources":["../src/button/components/icon-button/index.tsx"],"sourcesContent":["import type React from 'react'\nimport clsx from 'clsx'\n// constants\nimport { THEME, type Theme } from '../../../constants/theme'\nimport { TYPE, type Type } from '../../constants'\n// theme\nimport { getPrimaryIconButtonTheme, getSecondaryIconButtonTheme } from './theme'\n\ntype IconButtonProps = {\n iconComponent: React.ReactElement\n theme?: Theme\n type?: Type\n disabled?: boolean\n active?: boolean\n className?: string\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void\n}\nconst IconButton: React.FC<IconButtonProps> & {\n Theme: typeof THEME\n Type: typeof TYPE\n} = ({\n iconComponent,\n theme = THEME.normal,\n type = TYPE.primary,\n disabled = false,\n active = false,\n className = '',\n onClick = () => {},\n}) => {\n const themeClass =\n type === TYPE.primary\n ? getPrimaryIconButtonTheme(theme, active, disabled)\n : getSecondaryIconButtonTheme(theme, active, disabled)\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (disabled) {\n return\n }\n e.stopPropagation()\n onClick(e)\n }\n return (\n <button\n className={clsx(\n 'flex',\n '[&>svg]:w-[24px] [&>svg]:h-[24px]',\n disabled ? 'cursor-default' : 'cursor-pointer',\n themeClass,\n className\n )}\n onClick={handleClick}\n type=\"button\"\n >\n {iconComponent}\n </button>\n )\n}\n\nIconButton.Theme = THEME\nIconButton.Type = TYPE\n\nexport default IconButton\n"],"mappings":";;;;;;;AAiBA,MAAMA,cAGD,EACH,eACA,QAAQ,MAAM,QACd,OAAO,KAAK,SACZ,WAAW,OACX,SAAS,OACT,YAAY,IACZ,gBAAgB,SACZ;CACJ,MAAM,aACJ,SAAS,KAAK,UACV,0BAA0B,OAAO,QAAQ,SAAS,GAClD,4BAA4B,OAAO,QAAQ,SAAS;CAE1D,MAAM,eAAe,MAA2C;AAC9D,MAAI,SACF;AAEF,IAAE,iBAAiB;AACnB,UAAQ,EAAE;;AAEZ,QACE,oBAAC;EACC,WAAW,KACT,QACA,qCACA,WAAW,mBAAmB,kBAC9B,YACA,UACD;EACD,SAAS;EACT,MAAK;YAEJ;GACM;;AAIb,WAAW,QAAQ;AACnB,WAAW,OAAO;AAElB,0BAAe"}
|