@lokalise/harmony 1.37.0 → 1.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/harmony.cjs +66 -62
- package/dist/harmony.cjs.map +1 -1
- package/dist/harmony.mjs +66 -62
- package/dist/harmony.mjs.map +1 -1
- package/dist/harmony10.cjs +16 -45
- package/dist/harmony10.cjs.map +1 -1
- package/dist/harmony10.mjs +16 -45
- package/dist/harmony10.mjs.map +1 -1
- package/dist/harmony100.cjs +6 -7
- package/dist/harmony100.cjs.map +1 -1
- package/dist/harmony100.mjs +5 -6
- package/dist/harmony100.mjs.map +1 -1
- package/dist/harmony101.cjs +9 -21
- package/dist/harmony101.cjs.map +1 -1
- package/dist/harmony101.mjs +8 -20
- package/dist/harmony101.mjs.map +1 -1
- package/dist/harmony102.cjs +21 -9
- package/dist/harmony102.cjs.map +1 -1
- package/dist/harmony102.mjs +21 -9
- package/dist/harmony102.mjs.map +1 -1
- package/dist/harmony103.cjs +6 -99
- package/dist/harmony103.cjs.map +1 -1
- package/dist/harmony103.mjs +5 -81
- package/dist/harmony103.mjs.map +1 -1
- package/dist/harmony104.cjs +20 -13
- package/dist/harmony104.cjs.map +1 -1
- package/dist/harmony104.mjs +20 -13
- package/dist/harmony104.mjs.map +1 -1
- package/dist/harmony105.cjs +13 -19
- package/dist/harmony105.cjs.map +1 -1
- package/dist/harmony105.mjs +12 -18
- package/dist/harmony105.mjs.map +1 -1
- package/dist/harmony106.cjs +166 -21
- package/dist/harmony106.cjs.map +1 -1
- package/dist/harmony106.mjs +165 -20
- package/dist/harmony106.mjs.map +1 -1
- package/dist/harmony107.cjs +43 -5
- package/dist/harmony107.cjs.map +1 -1
- package/dist/harmony107.mjs +43 -5
- package/dist/harmony107.mjs.map +1 -1
- package/dist/harmony108.cjs +9 -129
- package/dist/harmony108.cjs.map +1 -1
- package/dist/harmony108.mjs +9 -129
- package/dist/harmony108.mjs.map +1 -1
- package/dist/harmony109.cjs +9 -9
- package/dist/harmony109.mjs +9 -9
- package/dist/harmony11.cjs +51 -8
- package/dist/harmony11.cjs.map +1 -1
- package/dist/harmony11.mjs +51 -8
- package/dist/harmony11.mjs.map +1 -1
- package/dist/harmony110.cjs +11 -5
- package/dist/harmony110.cjs.map +1 -1
- package/dist/harmony110.mjs +11 -5
- package/dist/harmony110.mjs.map +1 -1
- package/dist/harmony111.cjs +21 -40
- package/dist/harmony111.cjs.map +1 -1
- package/dist/harmony111.mjs +20 -39
- package/dist/harmony111.mjs.map +1 -1
- package/dist/harmony112.cjs +21 -60
- package/dist/harmony112.cjs.map +1 -1
- package/dist/harmony112.mjs +20 -59
- package/dist/harmony112.mjs.map +1 -1
- package/dist/harmony113.cjs +5 -6
- package/dist/harmony113.cjs.map +1 -1
- package/dist/harmony113.mjs +5 -6
- package/dist/harmony113.mjs.map +1 -1
- package/dist/harmony114.cjs +132 -6
- package/dist/harmony114.cjs.map +1 -1
- package/dist/harmony114.mjs +131 -5
- package/dist/harmony114.mjs.map +1 -1
- package/dist/harmony115.cjs +12 -5
- package/dist/harmony115.cjs.map +1 -1
- package/dist/harmony115.mjs +12 -5
- package/dist/harmony115.mjs.map +1 -1
- package/dist/harmony116.cjs +6 -6
- package/dist/harmony116.cjs.map +1 -1
- package/dist/harmony116.mjs +5 -5
- package/dist/harmony116.mjs.map +1 -1
- package/dist/harmony117.cjs +39 -95
- package/dist/harmony117.cjs.map +1 -1
- package/dist/harmony117.mjs +39 -95
- package/dist/harmony117.mjs.map +1 -1
- package/dist/harmony118.cjs +60 -13
- package/dist/harmony118.cjs.map +1 -1
- package/dist/harmony118.mjs +60 -13
- package/dist/harmony118.mjs.map +1 -1
- package/dist/harmony119.cjs +7 -14
- package/dist/harmony119.cjs.map +1 -1
- package/dist/harmony119.mjs +7 -14
- package/dist/harmony119.mjs.map +1 -1
- package/dist/harmony12.cjs +8 -4
- package/dist/harmony12.cjs.map +1 -1
- package/dist/harmony12.mjs +8 -4
- package/dist/harmony12.mjs.map +1 -1
- package/dist/harmony120.cjs +13 -35
- package/dist/harmony120.cjs.map +1 -1
- package/dist/harmony120.mjs +13 -35
- package/dist/harmony120.mjs.map +1 -1
- package/dist/harmony121.cjs +18 -28
- package/dist/harmony121.cjs.map +1 -1
- package/dist/harmony121.mjs +18 -28
- package/dist/harmony121.mjs.map +1 -1
- package/dist/harmony122.cjs +7 -63
- package/dist/harmony122.cjs.map +1 -1
- package/dist/harmony122.mjs +6 -62
- package/dist/harmony122.mjs.map +1 -1
- package/dist/harmony123.cjs +85 -86
- package/dist/harmony123.cjs.map +1 -1
- package/dist/harmony123.mjs +85 -86
- package/dist/harmony123.mjs.map +1 -1
- package/dist/harmony124.cjs +31 -19
- package/dist/harmony124.cjs.map +1 -1
- package/dist/harmony124.mjs +30 -18
- package/dist/harmony124.mjs.map +1 -1
- package/dist/harmony125.cjs +98 -12
- package/dist/harmony125.cjs.map +1 -1
- package/dist/harmony125.mjs +82 -13
- package/dist/harmony125.mjs.map +1 -1
- package/dist/harmony126.cjs +62 -15
- package/dist/harmony126.cjs.map +1 -1
- package/dist/harmony126.mjs +61 -14
- package/dist/harmony126.mjs.map +1 -1
- package/dist/harmony127.cjs +88 -16
- package/dist/harmony127.cjs.map +1 -1
- package/dist/harmony127.mjs +88 -16
- package/dist/harmony127.mjs.map +1 -1
- package/dist/harmony128.cjs +18 -7
- package/dist/harmony128.cjs.map +1 -1
- package/dist/harmony128.mjs +17 -6
- package/dist/harmony128.mjs.map +1 -1
- package/dist/harmony129.cjs +6 -58
- package/dist/harmony129.cjs.map +1 -1
- package/dist/harmony129.mjs +5 -57
- package/dist/harmony129.mjs.map +1 -1
- package/dist/harmony13.cjs +5 -32
- package/dist/harmony13.cjs.map +1 -1
- package/dist/harmony13.mjs +5 -32
- package/dist/harmony13.mjs.map +1 -1
- package/dist/harmony130.cjs +6 -61
- package/dist/harmony130.cjs.map +1 -1
- package/dist/harmony130.mjs +5 -60
- package/dist/harmony130.mjs.map +1 -1
- package/dist/harmony131.cjs +10 -18
- package/dist/harmony131.cjs.map +1 -1
- package/dist/harmony131.mjs +9 -17
- package/dist/harmony131.mjs.map +1 -1
- package/dist/harmony132.cjs +7 -11
- package/dist/harmony132.cjs.map +1 -1
- package/dist/harmony132.mjs +7 -11
- package/dist/harmony132.mjs.map +1 -1
- package/dist/harmony133.cjs +56 -15
- package/dist/harmony133.cjs.map +1 -1
- package/dist/harmony133.mjs +56 -15
- package/dist/harmony133.mjs.map +1 -1
- package/dist/harmony134.cjs +59 -20
- package/dist/harmony134.cjs.map +1 -1
- package/dist/harmony134.mjs +59 -20
- package/dist/harmony134.mjs.map +1 -1
- package/dist/harmony135.cjs +19 -13
- package/dist/harmony135.cjs.map +1 -1
- package/dist/harmony135.mjs +18 -12
- package/dist/harmony135.mjs.map +1 -1
- package/dist/harmony136.cjs +95 -5
- package/dist/harmony136.cjs.map +1 -1
- package/dist/harmony136.mjs +95 -5
- package/dist/harmony136.mjs.map +1 -1
- package/dist/harmony137.cjs +12 -11
- package/dist/harmony137.cjs.map +1 -1
- package/dist/harmony137.mjs +12 -11
- package/dist/harmony137.mjs.map +1 -1
- package/dist/harmony138.cjs +13 -31
- package/dist/harmony138.cjs.map +1 -1
- package/dist/harmony138.mjs +13 -31
- package/dist/harmony138.mjs.map +1 -1
- package/dist/harmony139.cjs +34 -12
- package/dist/harmony139.cjs.map +1 -1
- package/dist/harmony139.mjs +34 -12
- package/dist/harmony139.mjs.map +1 -1
- package/dist/harmony14.cjs +32 -5
- package/dist/harmony14.cjs.map +1 -1
- package/dist/harmony14.mjs +32 -5
- package/dist/harmony14.mjs.map +1 -1
- package/dist/harmony140.cjs +28 -46
- package/dist/harmony140.cjs.map +1 -1
- package/dist/harmony140.mjs +28 -46
- package/dist/harmony140.mjs.map +1 -1
- package/dist/harmony141.cjs +14 -13
- package/dist/harmony141.cjs.map +1 -1
- package/dist/harmony141.mjs +13 -12
- package/dist/harmony141.mjs.map +1 -1
- package/dist/harmony142.cjs +18 -0
- package/dist/harmony142.cjs.map +1 -0
- package/dist/harmony142.mjs +18 -0
- package/dist/harmony142.mjs.map +1 -0
- package/dist/harmony143.cjs +19 -0
- package/dist/harmony143.cjs.map +1 -0
- package/dist/harmony143.mjs +19 -0
- package/dist/harmony143.mjs.map +1 -0
- package/dist/harmony144.cjs +49 -0
- package/dist/harmony144.cjs.map +1 -0
- package/dist/harmony144.mjs +49 -0
- package/dist/harmony144.mjs.map +1 -0
- package/dist/harmony145.cjs +15 -0
- package/dist/harmony145.cjs.map +1 -0
- package/dist/harmony145.mjs +15 -0
- package/dist/harmony145.mjs.map +1 -0
- package/dist/harmony146.cjs +14 -0
- package/dist/harmony146.cjs.map +1 -0
- package/dist/harmony146.mjs +14 -0
- package/dist/harmony146.mjs.map +1 -0
- package/dist/harmony147.cjs +19 -0
- package/dist/harmony147.cjs.map +1 -0
- package/dist/harmony147.mjs +19 -0
- package/dist/harmony147.mjs.map +1 -0
- package/dist/harmony148.cjs +24 -0
- package/dist/harmony148.cjs.map +1 -0
- package/dist/harmony148.mjs +24 -0
- package/dist/harmony148.mjs.map +1 -0
- package/dist/harmony149.cjs +15 -0
- package/dist/harmony149.cjs.map +1 -0
- package/dist/harmony149.mjs +15 -0
- package/dist/harmony149.mjs.map +1 -0
- package/dist/harmony15.cjs +5 -11
- package/dist/harmony15.cjs.map +1 -1
- package/dist/harmony15.mjs +5 -11
- package/dist/harmony15.mjs.map +1 -1
- package/dist/harmony150.cjs +9 -0
- package/dist/harmony150.cjs.map +1 -0
- package/dist/harmony150.mjs +9 -0
- package/dist/harmony150.mjs.map +1 -0
- package/dist/harmony151.cjs +15 -0
- package/dist/harmony151.cjs.map +1 -0
- package/dist/harmony151.mjs +15 -0
- package/dist/harmony151.mjs.map +1 -0
- package/dist/harmony152.cjs +35 -0
- package/dist/harmony152.cjs.map +1 -0
- package/dist/harmony152.mjs +35 -0
- package/dist/harmony152.mjs.map +1 -0
- package/dist/harmony153.cjs +17 -0
- package/dist/harmony153.cjs.map +1 -0
- package/dist/harmony153.mjs +17 -0
- package/dist/harmony153.mjs.map +1 -0
- package/dist/harmony16.cjs +9 -9
- package/dist/harmony16.cjs.map +1 -1
- package/dist/harmony16.mjs +9 -9
- package/dist/harmony16.mjs.map +1 -1
- package/dist/harmony17.cjs +9 -16
- package/dist/harmony17.cjs.map +1 -1
- package/dist/harmony17.mjs +9 -16
- package/dist/harmony17.mjs.map +1 -1
- package/dist/harmony18.cjs +16 -14
- package/dist/harmony18.cjs.map +1 -1
- package/dist/harmony18.mjs +16 -14
- package/dist/harmony18.mjs.map +1 -1
- package/dist/harmony19.cjs +13 -139
- package/dist/harmony19.cjs.map +1 -1
- package/dist/harmony19.mjs +13 -139
- package/dist/harmony19.mjs.map +1 -1
- package/dist/harmony20.cjs +141 -13
- package/dist/harmony20.cjs.map +1 -1
- package/dist/harmony20.mjs +141 -13
- package/dist/harmony20.mjs.map +1 -1
- package/dist/harmony21.cjs +20 -17
- package/dist/harmony21.cjs.map +1 -1
- package/dist/harmony21.mjs +20 -17
- package/dist/harmony21.mjs.map +1 -1
- package/dist/harmony22.cjs +13 -17
- package/dist/harmony22.cjs.map +1 -1
- package/dist/harmony22.mjs +13 -17
- package/dist/harmony22.mjs.map +1 -1
- package/dist/harmony23.cjs +15 -18
- package/dist/harmony23.cjs.map +1 -1
- package/dist/harmony23.mjs +15 -18
- package/dist/harmony23.mjs.map +1 -1
- package/dist/harmony24.cjs +17 -19
- package/dist/harmony24.cjs.map +1 -1
- package/dist/harmony24.mjs +17 -19
- package/dist/harmony24.mjs.map +1 -1
- package/dist/harmony25.cjs +18 -8
- package/dist/harmony25.cjs.map +1 -1
- package/dist/harmony25.mjs +18 -8
- package/dist/harmony25.mjs.map +1 -1
- package/dist/harmony26.cjs +19 -10
- package/dist/harmony26.cjs.map +1 -1
- package/dist/harmony26.mjs +19 -10
- package/dist/harmony26.mjs.map +1 -1
- package/dist/harmony27.cjs +10 -55
- package/dist/harmony27.cjs.map +1 -1
- package/dist/harmony27.mjs +10 -55
- package/dist/harmony27.mjs.map +1 -1
- package/dist/harmony28.cjs +11 -31
- package/dist/harmony28.cjs.map +1 -1
- package/dist/harmony28.mjs +11 -31
- package/dist/harmony28.mjs.map +1 -1
- package/dist/harmony29.cjs +54 -10
- package/dist/harmony29.cjs.map +1 -1
- package/dist/harmony29.mjs +54 -10
- package/dist/harmony29.mjs.map +1 -1
- package/dist/harmony3.cjs +9 -5
- package/dist/harmony3.cjs.map +1 -1
- package/dist/harmony3.mjs +9 -5
- package/dist/harmony3.mjs.map +1 -1
- package/dist/harmony30.cjs +26 -50
- package/dist/harmony30.cjs.map +1 -1
- package/dist/harmony30.mjs +27 -51
- package/dist/harmony30.mjs.map +1 -1
- package/dist/harmony31.cjs +8 -27
- package/dist/harmony31.cjs.map +1 -1
- package/dist/harmony31.mjs +9 -28
- package/dist/harmony31.mjs.map +1 -1
- package/dist/harmony32.cjs +52 -15
- package/dist/harmony32.cjs.map +1 -1
- package/dist/harmony32.mjs +53 -16
- package/dist/harmony32.mjs.map +1 -1
- package/dist/harmony33.cjs +27 -15
- package/dist/harmony33.cjs.map +1 -1
- package/dist/harmony33.mjs +28 -16
- package/dist/harmony33.mjs.map +1 -1
- package/dist/harmony34.cjs +16 -12
- package/dist/harmony34.cjs.map +1 -1
- package/dist/harmony34.mjs +17 -13
- package/dist/harmony34.mjs.map +1 -1
- package/dist/harmony35.cjs +18 -14
- package/dist/harmony35.cjs.map +1 -1
- package/dist/harmony35.mjs +18 -14
- package/dist/harmony35.mjs.map +1 -1
- package/dist/harmony36.cjs +14 -14
- package/dist/harmony36.cjs.map +1 -1
- package/dist/harmony36.mjs +14 -14
- package/dist/harmony36.mjs.map +1 -1
- package/dist/harmony37.cjs +6 -6
- package/dist/harmony37.cjs.map +1 -1
- package/dist/harmony37.mjs +6 -6
- package/dist/harmony37.mjs.map +1 -1
- package/dist/harmony38.cjs +6 -6
- package/dist/harmony38.cjs.map +1 -1
- package/dist/harmony38.mjs +6 -6
- package/dist/harmony38.mjs.map +1 -1
- package/dist/harmony39.cjs +5 -4
- package/dist/harmony39.cjs.map +1 -1
- package/dist/harmony39.mjs +5 -4
- package/dist/harmony39.mjs.map +1 -1
- package/dist/harmony4.cjs +10 -10
- package/dist/harmony4.mjs +10 -10
- package/dist/harmony40.cjs +7 -15
- package/dist/harmony40.cjs.map +1 -1
- package/dist/harmony40.mjs +8 -16
- package/dist/harmony40.mjs.map +1 -1
- package/dist/harmony41.cjs +6 -6
- package/dist/harmony41.cjs.map +1 -1
- package/dist/harmony41.mjs +7 -7
- package/dist/harmony41.mjs.map +1 -1
- package/dist/harmony42.cjs +16 -7
- package/dist/harmony42.cjs.map +1 -1
- package/dist/harmony42.mjs +16 -7
- package/dist/harmony42.mjs.map +1 -1
- package/dist/harmony43.cjs +7 -11
- package/dist/harmony43.cjs.map +1 -1
- package/dist/harmony43.mjs +9 -13
- package/dist/harmony43.mjs.map +1 -1
- package/dist/harmony44.cjs +6 -10
- package/dist/harmony44.cjs.map +1 -1
- package/dist/harmony44.mjs +8 -12
- package/dist/harmony44.mjs.map +1 -1
- package/dist/harmony45.cjs +14 -12
- package/dist/harmony45.cjs.map +1 -1
- package/dist/harmony45.mjs +14 -12
- package/dist/harmony45.mjs.map +1 -1
- package/dist/harmony46.cjs +14 -12
- package/dist/harmony46.cjs.map +1 -1
- package/dist/harmony46.mjs +15 -13
- package/dist/harmony46.mjs.map +1 -1
- package/dist/harmony47.cjs +9 -9
- package/dist/harmony47.cjs.map +1 -1
- package/dist/harmony47.mjs +9 -9
- package/dist/harmony47.mjs.map +1 -1
- package/dist/harmony48.cjs +12 -14
- package/dist/harmony48.cjs.map +1 -1
- package/dist/harmony48.mjs +13 -15
- package/dist/harmony48.mjs.map +1 -1
- package/dist/harmony49.cjs +12 -14
- package/dist/harmony49.cjs.map +1 -1
- package/dist/harmony49.mjs +12 -14
- package/dist/harmony49.mjs.map +1 -1
- package/dist/harmony5.cjs +1 -1
- package/dist/harmony5.mjs +1 -1
- package/dist/harmony50.cjs +10 -10
- package/dist/harmony50.cjs.map +1 -1
- package/dist/harmony50.mjs +10 -10
- package/dist/harmony50.mjs.map +1 -1
- package/dist/harmony51.cjs +8 -8
- package/dist/harmony51.cjs.map +1 -1
- package/dist/harmony51.mjs +8 -8
- package/dist/harmony51.mjs.map +1 -1
- package/dist/harmony52.cjs +8 -8
- package/dist/harmony52.cjs.map +1 -1
- package/dist/harmony52.mjs +8 -8
- package/dist/harmony52.mjs.map +1 -1
- package/dist/harmony53.cjs +14 -12
- package/dist/harmony53.cjs.map +1 -1
- package/dist/harmony53.mjs +14 -12
- package/dist/harmony53.mjs.map +1 -1
- package/dist/harmony54.cjs +8 -8
- package/dist/harmony54.cjs.map +1 -1
- package/dist/harmony54.mjs +8 -8
- package/dist/harmony54.mjs.map +1 -1
- package/dist/harmony55.cjs +12 -14
- package/dist/harmony55.cjs.map +1 -1
- package/dist/harmony55.mjs +12 -14
- package/dist/harmony55.mjs.map +1 -1
- package/dist/harmony56.cjs +10 -7
- package/dist/harmony56.cjs.map +1 -1
- package/dist/harmony56.mjs +12 -9
- package/dist/harmony56.mjs.map +1 -1
- package/dist/harmony57.cjs +10 -7
- package/dist/harmony57.cjs.map +1 -1
- package/dist/harmony57.mjs +12 -9
- package/dist/harmony57.mjs.map +1 -1
- package/dist/harmony58.cjs +13 -123
- package/dist/harmony58.cjs.map +1 -1
- package/dist/harmony58.mjs +13 -123
- package/dist/harmony58.mjs.map +1 -1
- package/dist/harmony59.cjs +13 -81
- package/dist/harmony59.cjs.map +1 -1
- package/dist/harmony59.mjs +13 -81
- package/dist/harmony59.mjs.map +1 -1
- package/dist/harmony6.cjs +4 -4
- package/dist/harmony6.cjs.map +1 -1
- package/dist/harmony6.mjs +4 -4
- package/dist/harmony6.mjs.map +1 -1
- package/dist/harmony60.cjs +122 -4
- package/dist/harmony60.cjs.map +1 -1
- package/dist/harmony60.mjs +122 -4
- package/dist/harmony60.mjs.map +1 -1
- package/dist/harmony61.cjs +81 -22
- package/dist/harmony61.cjs.map +1 -1
- package/dist/harmony61.mjs +80 -21
- package/dist/harmony61.mjs.map +1 -1
- package/dist/harmony62.cjs +4 -18
- package/dist/harmony62.cjs.map +1 -1
- package/dist/harmony62.mjs +4 -18
- package/dist/harmony62.mjs.map +1 -1
- package/dist/harmony63.cjs +11 -131
- package/dist/harmony63.cjs.map +1 -1
- package/dist/harmony63.mjs +11 -131
- package/dist/harmony63.mjs.map +1 -1
- package/dist/harmony64.cjs +18 -34
- package/dist/harmony64.cjs.map +1 -1
- package/dist/harmony64.mjs +18 -34
- package/dist/harmony64.mjs.map +1 -1
- package/dist/harmony65.cjs +143 -24
- package/dist/harmony65.cjs.map +1 -1
- package/dist/harmony65.mjs +143 -24
- package/dist/harmony65.mjs.map +1 -1
- package/dist/harmony66.cjs +35 -7
- package/dist/harmony66.cjs.map +1 -1
- package/dist/harmony66.mjs +35 -7
- package/dist/harmony66.mjs.map +1 -1
- package/dist/harmony67.cjs +24 -82
- package/dist/harmony67.cjs.map +1 -1
- package/dist/harmony67.mjs +24 -82
- package/dist/harmony67.mjs.map +1 -1
- package/dist/harmony68.cjs +7 -32
- package/dist/harmony68.cjs.map +1 -1
- package/dist/harmony68.mjs +7 -32
- package/dist/harmony68.mjs.map +1 -1
- package/dist/harmony69.cjs +82 -16
- package/dist/harmony69.cjs.map +1 -1
- package/dist/harmony69.mjs +82 -16
- package/dist/harmony69.mjs.map +1 -1
- package/dist/harmony7.cjs +1 -1
- package/dist/harmony7.mjs +1 -1
- package/dist/harmony70.cjs +34 -16
- package/dist/harmony70.cjs.map +1 -1
- package/dist/harmony70.mjs +33 -15
- package/dist/harmony70.mjs.map +1 -1
- package/dist/harmony71.cjs +19 -19
- package/dist/harmony71.cjs.map +1 -1
- package/dist/harmony71.mjs +18 -18
- package/dist/harmony71.mjs.map +1 -1
- package/dist/harmony72.cjs +14 -60
- package/dist/harmony72.cjs.map +1 -1
- package/dist/harmony72.mjs +14 -60
- package/dist/harmony72.mjs.map +1 -1
- package/dist/harmony73.cjs +17 -5
- package/dist/harmony73.cjs.map +1 -1
- package/dist/harmony73.mjs +17 -5
- package/dist/harmony73.mjs.map +1 -1
- package/dist/harmony74.cjs +62 -10
- package/dist/harmony74.cjs.map +1 -1
- package/dist/harmony74.mjs +61 -9
- package/dist/harmony74.mjs.map +1 -1
- package/dist/harmony75.cjs +6 -18
- package/dist/harmony75.cjs.map +1 -1
- package/dist/harmony75.mjs +5 -17
- package/dist/harmony75.mjs.map +1 -1
- package/dist/harmony76.cjs +8 -22
- package/dist/harmony76.cjs.map +1 -1
- package/dist/harmony76.mjs +8 -22
- package/dist/harmony76.mjs.map +1 -1
- package/dist/harmony77.cjs +17 -4
- package/dist/harmony77.cjs.map +1 -1
- package/dist/harmony77.mjs +17 -4
- package/dist/harmony77.mjs.map +1 -1
- package/dist/harmony78.cjs +20 -29
- package/dist/harmony78.cjs.map +1 -1
- package/dist/harmony78.mjs +22 -31
- package/dist/harmony78.mjs.map +1 -1
- package/dist/harmony79.cjs +4 -31
- package/dist/harmony79.cjs.map +1 -1
- package/dist/harmony79.mjs +5 -32
- package/dist/harmony79.mjs.map +1 -1
- package/dist/harmony8.cjs +59 -30
- package/dist/harmony8.cjs.map +1 -1
- package/dist/harmony8.mjs +59 -30
- package/dist/harmony8.mjs.map +1 -1
- package/dist/harmony80.cjs +28 -15
- package/dist/harmony80.cjs.map +1 -1
- package/dist/harmony80.mjs +29 -16
- package/dist/harmony80.mjs.map +1 -1
- package/dist/harmony81.cjs +20 -19
- package/dist/harmony81.cjs.map +1 -1
- package/dist/harmony81.mjs +20 -19
- package/dist/harmony81.mjs.map +1 -1
- package/dist/harmony82.cjs +16 -56
- package/dist/harmony82.cjs.map +1 -1
- package/dist/harmony82.mjs +17 -57
- package/dist/harmony82.mjs.map +1 -1
- package/dist/harmony83.cjs +31 -9
- package/dist/harmony83.cjs.map +1 -1
- package/dist/harmony83.mjs +30 -8
- package/dist/harmony83.mjs.map +1 -1
- package/dist/harmony84.cjs +56 -5
- package/dist/harmony84.cjs.map +1 -1
- package/dist/harmony84.mjs +59 -8
- package/dist/harmony84.mjs.map +1 -1
- package/dist/harmony85.cjs +10 -30
- package/dist/harmony85.cjs.map +1 -1
- package/dist/harmony85.mjs +9 -29
- package/dist/harmony85.mjs.map +1 -1
- package/dist/harmony86.cjs +8 -3
- package/dist/harmony86.cjs.map +1 -1
- package/dist/harmony86.mjs +8 -3
- package/dist/harmony86.mjs.map +1 -1
- package/dist/harmony87.cjs +24 -28
- package/dist/harmony87.cjs.map +1 -1
- package/dist/harmony87.mjs +26 -30
- package/dist/harmony87.mjs.map +1 -1
- package/dist/harmony88.cjs +3 -12
- package/dist/harmony88.cjs.map +1 -1
- package/dist/harmony88.mjs +3 -12
- package/dist/harmony88.mjs.map +1 -1
- package/dist/harmony89.cjs +34 -13
- package/dist/harmony89.cjs.map +1 -1
- package/dist/harmony89.mjs +33 -12
- package/dist/harmony89.mjs.map +1 -1
- package/dist/harmony9.cjs +30 -23
- package/dist/harmony9.cjs.map +1 -1
- package/dist/harmony9.mjs +30 -23
- package/dist/harmony9.mjs.map +1 -1
- package/dist/harmony90.cjs +43 -11
- package/dist/harmony90.cjs.map +1 -1
- package/dist/harmony90.mjs +43 -11
- package/dist/harmony90.mjs.map +1 -1
- package/dist/harmony91.cjs +29 -21
- package/dist/harmony91.cjs.map +1 -1
- package/dist/harmony91.mjs +28 -20
- package/dist/harmony91.mjs.map +1 -1
- package/dist/harmony92.cjs +67 -7
- package/dist/harmony92.cjs.map +1 -1
- package/dist/harmony92.mjs +66 -6
- package/dist/harmony92.mjs.map +1 -1
- package/dist/harmony93.cjs +15 -9
- package/dist/harmony93.cjs.map +1 -1
- package/dist/harmony93.mjs +14 -8
- package/dist/harmony93.mjs.map +1 -1
- package/dist/harmony94.cjs +4 -10
- package/dist/harmony94.cjs.map +1 -1
- package/dist/harmony94.mjs +3 -9
- package/dist/harmony94.mjs.map +1 -1
- package/dist/harmony95.cjs +6 -57
- package/dist/harmony95.cjs.map +1 -1
- package/dist/harmony95.mjs +5 -56
- package/dist/harmony95.mjs.map +1 -1
- package/dist/harmony96.cjs +9 -42
- package/dist/harmony96.cjs.map +1 -1
- package/dist/harmony96.mjs +8 -41
- package/dist/harmony96.mjs.map +1 -1
- package/dist/harmony97.cjs +10 -6
- package/dist/harmony97.cjs.map +1 -1
- package/dist/harmony97.mjs +9 -5
- package/dist/harmony97.mjs.map +1 -1
- package/dist/harmony98.cjs +57 -9
- package/dist/harmony98.cjs.map +1 -1
- package/dist/harmony98.mjs +56 -8
- package/dist/harmony98.mjs.map +1 -1
- package/dist/harmony99.cjs +42 -24
- package/dist/harmony99.cjs.map +1 -1
- package/dist/harmony99.mjs +41 -23
- package/dist/harmony99.mjs.map +1 -1
- package/dist/types/src/components/NavigationPanel/NavigationPanel.test.d.ts +1 -0
- package/dist/types/src/components/NavigationPanel/components/DropdownContent/DropdownContent.d.ts +1 -1
- package/dist/types/src/components/NavigationPanel/components/NavigationTabs/NavigationTabs.d.ts +1 -1
- package/dist/types/src/components/NavigationPanel/components/NavigationTabs/__fixtures__/navigationMock.d.ts +1 -1
- package/dist/types/src/components/NavigationPanel/components/NavigationTabs/helpers.d.ts +1 -1
- package/dist/types/src/features/auth/factories/headerBuilderFactories.d.ts +9 -0
- package/dist/types/src/features/auth/node.d.ts +1 -0
- package/dist/types/src/features/auth/utils/permissions.d.ts +2 -0
- package/dist/types/src/features/navigation/ProjectNavigationPanel.d.ts +13 -0
- package/dist/types/src/features/navigation/core/NavigationClient.d.ts +23 -0
- package/dist/types/src/features/navigation/hooks/useExpertNavigation.d.ts +8 -0
- package/dist/types/src/features/navigation/hooks/useNavigation.d.ts +18 -0
- package/dist/types/src/features/navigation/hooks/useNavigationQueries.d.ts +279 -0
- package/dist/types/src/features/navigation/hooks/useNextgenNavigation.d.ts +16 -0
- package/dist/types/src/features/navigation/providers/NavigationClientProvider.d.ts +9 -0
- package/dist/types/src/features/navigation/schemas/navigationSchema.d.ts +22 -0
- package/dist/types/src/{components/NavigationPanel → features/navigation}/types/navigation.d.ts +1 -0
- package/dist/types/src/features/navigation/utils/toolbarVisibility.d.ts +28 -0
- package/dist/types/src/features/publicApi/hooks/useCreateProjectMutation.d.ts +3 -2
- package/dist/types/src/features/publicApi/hooks/useListProjectsQuery.d.ts +3 -2
- package/dist/types/src/features/publicApi/hooks/useRetrieveProjectQuery.d.ts +2 -1
- package/dist/types/src/features/publicApi/hooks/useUpdateProjectMutation.d.ts +2 -1
- package/dist/types/src/features/publicApi/projects.d.ts +42 -20
- package/dist/types/src/features/publicApi/types/projectTypes.d.ts +30 -15
- package/dist/types/src/node.d.ts +2 -0
- package/dist/types/src/shared/queryClient.d.ts +2 -0
- package/dist/types/src/shared/queryClient.test.d.ts +1 -0
- package/package.json +2 -1
package/dist/harmony8.cjs
CHANGED
@@ -1,33 +1,62 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
-
const
|
4
|
-
const
|
5
|
-
const
|
6
|
-
const
|
7
|
-
const
|
8
|
-
const
|
9
|
-
const
|
10
|
-
const
|
11
|
-
const
|
12
|
-
const
|
13
|
-
const
|
14
|
-
const
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
4
|
+
const NavigationPanel = require("./harmony3.cjs");
|
5
|
+
const Breadcrumbs = require("./harmony5.cjs");
|
6
|
+
const NavigationTabs = require("./harmony6.cjs");
|
7
|
+
const NavigationClient = require("./harmony90.cjs");
|
8
|
+
const useNavigation = require("./harmony91.cjs");
|
9
|
+
const useNavigationQueries = require("./harmony92.cjs");
|
10
|
+
const NavigationClientProvider = require("./harmony93.cjs");
|
11
|
+
const reactQuery = require("@tanstack/react-query");
|
12
|
+
const React = require("react");
|
13
|
+
const queryClient = require("./harmony94.cjs");
|
14
|
+
const ProjectNavigationPanelInner = ({
|
15
|
+
page,
|
16
|
+
projectId
|
17
|
+
}) => {
|
18
|
+
const {
|
19
|
+
data: { project, contributor },
|
20
|
+
isLoading,
|
21
|
+
error
|
22
|
+
} = useNavigationQueries.useNavigationData(projectId);
|
23
|
+
const navigationItems = useNavigation.useNavigation(page, project, contributor);
|
24
|
+
if (isLoading) {
|
25
|
+
return (
|
26
|
+
// TODO: replace with loading state
|
27
|
+
/* @__PURE__ */ jsxRuntime.jsxs(NavigationPanel.NavigationPanel, { children: [
|
28
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavigationPanel.NavigationPanel.Header, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: "Loading navigation..." }) }),
|
29
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavigationPanel.NavigationPanel.Tabs, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: "Loading..." }) })
|
30
|
+
] })
|
31
|
+
);
|
32
|
+
}
|
33
|
+
if (error) {
|
34
|
+
return (
|
35
|
+
// TODO: replace with error state
|
36
|
+
/* @__PURE__ */ jsxRuntime.jsxs(NavigationPanel.NavigationPanel, { children: [
|
37
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavigationPanel.NavigationPanel.Header, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: "Error loading navigation" }) }),
|
38
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavigationPanel.NavigationPanel.Tabs, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: "Failed to load navigation data" }) })
|
39
|
+
] })
|
40
|
+
);
|
41
|
+
}
|
42
|
+
const breadcrumbsItems = [
|
43
|
+
{
|
44
|
+
name: "Projects",
|
45
|
+
link: "/projects"
|
46
|
+
},
|
47
|
+
{
|
48
|
+
name: (project == null ? void 0 : project.name) || "Project",
|
49
|
+
link: `/project/${project == null ? void 0 : project.uuid}/`
|
50
|
+
}
|
51
|
+
];
|
52
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(NavigationPanel.NavigationPanel, { children: [
|
53
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavigationPanel.NavigationPanel.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(Breadcrumbs.Breadcrumbs, { items: breadcrumbsItems }) }),
|
54
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavigationPanel.NavigationPanel.Tabs, { children: /* @__PURE__ */ jsxRuntime.jsx(NavigationTabs.NavigationTabs, { navigation: navigationItems, activeItem: page }) })
|
55
|
+
] });
|
56
|
+
};
|
57
|
+
const ProjectNavigationPanel = ({ config, ...props }) => {
|
58
|
+
const navigationClient = React.useMemo(() => new NavigationClient.NavigationClient(config), [config]);
|
59
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactQuery.QueryClientProvider, { client: queryClient.queryClient, children: /* @__PURE__ */ jsxRuntime.jsx(NavigationClientProvider.NavigationClientProvider, { client: navigationClient, children: /* @__PURE__ */ jsxRuntime.jsx(ProjectNavigationPanelInner, { ...props }) }) });
|
60
|
+
};
|
61
|
+
exports.ProjectNavigationPanel = ProjectNavigationPanel;
|
33
62
|
//# sourceMappingURL=harmony8.cjs.map
|
package/dist/harmony8.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony8.cjs","sources":["../src/
|
1
|
+
{"version":3,"file":"harmony8.cjs","sources":["../src/features/navigation/ProjectNavigationPanel.tsx"],"sourcesContent":["import { NavigationPanel } from '@components/NavigationPanel/NavigationPanel'\nimport { Breadcrumbs } from '@components/NavigationPanel/components/Breadcrumbs/Breadcrumbs'\nimport { NavigationTabs } from '@components/NavigationPanel/components/NavigationTabs/NavigationTabs'\nimport { NavigationClient, type NavigationConfig } from '@features/navigation/core/NavigationClient'\nimport { useNavigation } from '@features/navigation/hooks/useNavigation'\nimport { useNavigationData } from '@features/navigation/hooks/useNavigationQueries'\nimport { NavigationClientProvider } from '@features/navigation/providers/NavigationClientProvider'\nimport type { Project } from '@features/node'\nimport { QueryClientProvider } from '@tanstack/react-query'\nimport { useMemo } from 'react'\nimport { queryClient } from '../../shared/queryClient'\nimport type { Page } from './types/navigation'\n\nexport interface ProjectNavigationPanelProps {\n\tprojectId: Project['project_id']\n\tpage: Page\n\tconfig: NavigationConfig\n}\n\nconst ProjectNavigationPanelInner = ({\n\tpage,\n\tprojectId,\n}: Omit<ProjectNavigationPanelProps, 'config'>) => {\n\tconst {\n\t\tdata: { project, contributor },\n\t\tisLoading,\n\t\terror,\n\t} = useNavigationData(projectId)\n\n\tconst navigationItems = useNavigation(page, project, contributor)\n\n\tif (isLoading) {\n\t\treturn (\n\t\t\t// TODO: replace with loading state\n\t\t\t<NavigationPanel>\n\t\t\t\t<NavigationPanel.Header>\n\t\t\t\t\t<div>Loading navigation...</div>\n\t\t\t\t</NavigationPanel.Header>\n\t\t\t\t<NavigationPanel.Tabs>\n\t\t\t\t\t<div>Loading...</div>\n\t\t\t\t</NavigationPanel.Tabs>\n\t\t\t</NavigationPanel>\n\t\t)\n\t}\n\n\tif (error) {\n\t\treturn (\n\t\t\t// TODO: replace with error state\n\t\t\t<NavigationPanel>\n\t\t\t\t<NavigationPanel.Header>\n\t\t\t\t\t<div>Error loading navigation</div>\n\t\t\t\t</NavigationPanel.Header>\n\t\t\t\t<NavigationPanel.Tabs>\n\t\t\t\t\t<div>Failed to load navigation data</div>\n\t\t\t\t</NavigationPanel.Tabs>\n\t\t\t</NavigationPanel>\n\t\t)\n\t}\n\n\tconst breadcrumbsItems = [\n\t\t{\n\t\t\tname: 'Projects',\n\t\t\tlink: '/projects',\n\t\t},\n\t\t{\n\t\t\tname: project?.name || 'Project',\n\t\t\tlink: `/project/${project?.uuid}/`,\n\t\t},\n\t]\n\n\treturn (\n\t\t<NavigationPanel>\n\t\t\t<NavigationPanel.Header>\n\t\t\t\t<Breadcrumbs items={breadcrumbsItems} />\n\t\t\t\t{/* TODO: Add branch selector */}\n\t\t\t</NavigationPanel.Header>\n\n\t\t\t<NavigationPanel.Tabs>\n\t\t\t\t<NavigationTabs navigation={navigationItems} activeItem={page} />\n\t\t\t</NavigationPanel.Tabs>\n\t\t</NavigationPanel>\n\t)\n}\n\n/**\n * Complete self-contained ProjectNavigationPanel with all providers included.\n * No external setup required - just pass config and use.\n */\nexport const ProjectNavigationPanel = ({ config, ...props }: ProjectNavigationPanelProps) => {\n\t// Create stable instances\n\n\tconst navigationClient = useMemo(() => new NavigationClient(config), [config])\n\n\treturn (\n\t\t<QueryClientProvider client={queryClient}>\n\t\t\t<NavigationClientProvider client={navigationClient}>\n\t\t\t\t<ProjectNavigationPanelInner {...props} />\n\t\t\t</NavigationClientProvider>\n\t\t</QueryClientProvider>\n\t)\n}\n"],"names":["useNavigationData","useNavigation","NavigationPanel","jsx","Breadcrumbs","NavigationTabs","useMemo","NavigationClient","QueryClientProvider","queryClient","NavigationClientProvider"],"mappings":";;;;;;;;;;;;;AAmBA,MAAM,8BAA8B,CAAC;AAAA,EACpC;AAAA,EACA;AACD,MAAmD;AAC5C,QAAA;AAAA,IACL,MAAM,EAAE,SAAS,YAAY;AAAA,IAC7B;AAAA,IACA;AAAA,EAAA,IACGA,qBAAAA,kBAAkB,SAAS;AAE/B,QAAM,kBAAkBC,cAAA,cAAc,MAAM,SAAS,WAAW;AAEhE,MAAI,WAAW;AACd;AAAA;AAAA,sCAEEC,gBAAAA,iBACA,EAAA,UAAA;AAAA,QAAAC,2BAAAA,IAACD,gCAAgB,QAAhB,EACA,UAACC,2BAAAA,IAAA,OAAA,EAAI,kCAAqB,CAAA,GAC3B;AAAA,uCACCD,gBAAAA,gBAAgB,MAAhB,EACA,UAACC,+BAAA,OAAA,EAAI,wBAAU,EAChB,CAAA;AAAA,MAAA,EACD,CAAA;AAAA;AAAA,EAAA;AAIF,MAAI,OAAO;AACV;AAAA;AAAA,sCAEED,gBAAAA,iBACA,EAAA,UAAA;AAAA,QAAAC,2BAAAA,IAACD,gCAAgB,QAAhB,EACA,UAACC,2BAAAA,IAAA,OAAA,EAAI,qCAAwB,CAAA,GAC9B;AAAA,uCACCD,gBAAAA,gBAAgB,MAAhB,EACA,UAACC,+BAAA,OAAA,EAAI,4CAA8B,EACpC,CAAA;AAAA,MAAA,EACD,CAAA;AAAA;AAAA,EAAA;AAIF,QAAM,mBAAmB;AAAA,IACxB;AAAA,MACC,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AAAA,IACA;AAAA,MACC,OAAM,mCAAS,SAAQ;AAAA,MACvB,MAAM,YAAY,mCAAS,IAAI;AAAA,IAAA;AAAA,EAEjC;AAEA,yCACED,iCACA,EAAA,UAAA;AAAA,IAAAC,2BAAAA,IAACD,gCAAgB,QAAhB,EACA,yCAACE,YAAY,aAAA,EAAA,OAAO,iBAAkB,CAAA,GAEvC;AAAA,IAEAD,2BAAAA,IAACD,gBAAgB,gBAAA,MAAhB,EACA,UAAAC,2BAAA,IAACE,iCAAe,YAAY,iBAAiB,YAAY,KAAM,CAAA,EAChE,CAAA;AAAA,EAAA,GACD;AAEF;AAMO,MAAM,yBAAyB,CAAC,EAAE,QAAQ,GAAG,YAAyC;AAGtF,QAAA,mBAAmBC,MAAAA,QAAQ,MAAM,IAAIC,kCAAiB,MAAM,GAAG,CAAC,MAAM,CAAC;AAE7E,SACEJ,2BAAAA,IAAAK,WAAAA,qBAAA,EAAoB,QAAQC,YAAAA,aAC5B,UAACN,2BAAA,IAAAO,mDAAA,EAAyB,QAAQ,kBACjC,UAACP,2BAAAA,IAAA,6BAAA,EAA6B,GAAG,MAAO,CAAA,EACzC,CAAA,GACD;AAEF;;"}
|
package/dist/harmony8.mjs
CHANGED
@@ -1,33 +1,62 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
const
|
13
|
-
|
14
|
-
|
15
|
-
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
2
|
+
import { NavigationPanel } from "./harmony3.mjs";
|
3
|
+
import { Breadcrumbs } from "./harmony5.mjs";
|
4
|
+
import { NavigationTabs } from "./harmony6.mjs";
|
5
|
+
import { NavigationClient } from "./harmony90.mjs";
|
6
|
+
import { useNavigation } from "./harmony91.mjs";
|
7
|
+
import { useNavigationData } from "./harmony92.mjs";
|
8
|
+
import { NavigationClientProvider } from "./harmony93.mjs";
|
9
|
+
import { QueryClientProvider } from "@tanstack/react-query";
|
10
|
+
import { useMemo } from "react";
|
11
|
+
import { queryClient } from "./harmony94.mjs";
|
12
|
+
const ProjectNavigationPanelInner = ({
|
13
|
+
page,
|
14
|
+
projectId
|
15
|
+
}) => {
|
16
|
+
const {
|
17
|
+
data: { project, contributor },
|
18
|
+
isLoading,
|
19
|
+
error
|
20
|
+
} = useNavigationData(projectId);
|
21
|
+
const navigationItems = useNavigation(page, project, contributor);
|
22
|
+
if (isLoading) {
|
23
|
+
return (
|
24
|
+
// TODO: replace with loading state
|
25
|
+
/* @__PURE__ */ jsxs(NavigationPanel, { children: [
|
26
|
+
/* @__PURE__ */ jsx(NavigationPanel.Header, { children: /* @__PURE__ */ jsx("div", { children: "Loading navigation..." }) }),
|
27
|
+
/* @__PURE__ */ jsx(NavigationPanel.Tabs, { children: /* @__PURE__ */ jsx("div", { children: "Loading..." }) })
|
28
|
+
] })
|
29
|
+
);
|
30
|
+
}
|
31
|
+
if (error) {
|
32
|
+
return (
|
33
|
+
// TODO: replace with error state
|
34
|
+
/* @__PURE__ */ jsxs(NavigationPanel, { children: [
|
35
|
+
/* @__PURE__ */ jsx(NavigationPanel.Header, { children: /* @__PURE__ */ jsx("div", { children: "Error loading navigation" }) }),
|
36
|
+
/* @__PURE__ */ jsx(NavigationPanel.Tabs, { children: /* @__PURE__ */ jsx("div", { children: "Failed to load navigation data" }) })
|
37
|
+
] })
|
38
|
+
);
|
39
|
+
}
|
40
|
+
const breadcrumbsItems = [
|
41
|
+
{
|
42
|
+
name: "Projects",
|
43
|
+
link: "/projects"
|
44
|
+
},
|
45
|
+
{
|
46
|
+
name: (project == null ? void 0 : project.name) || "Project",
|
47
|
+
link: `/project/${project == null ? void 0 : project.uuid}/`
|
48
|
+
}
|
49
|
+
];
|
50
|
+
return /* @__PURE__ */ jsxs(NavigationPanel, { children: [
|
51
|
+
/* @__PURE__ */ jsx(NavigationPanel.Header, { children: /* @__PURE__ */ jsx(Breadcrumbs, { items: breadcrumbsItems }) }),
|
52
|
+
/* @__PURE__ */ jsx(NavigationPanel.Tabs, { children: /* @__PURE__ */ jsx(NavigationTabs, { navigation: navigationItems, activeItem: page }) })
|
53
|
+
] });
|
54
|
+
};
|
55
|
+
const ProjectNavigationPanel = ({ config, ...props }) => {
|
56
|
+
const navigationClient = useMemo(() => new NavigationClient(config), [config]);
|
57
|
+
return /* @__PURE__ */ jsx(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx(NavigationClientProvider, { client: navigationClient, children: /* @__PURE__ */ jsx(ProjectNavigationPanelInner, { ...props }) }) });
|
58
|
+
};
|
16
59
|
export {
|
17
|
-
|
18
|
-
ENTERPRISE_PLAN_IDS,
|
19
|
-
ESSENTIAL_PLAN_IDS,
|
20
|
-
FREE_PLAN_ID,
|
21
|
-
PRO_PLAN_IDS,
|
22
|
-
START_PLAN_IDS,
|
23
|
-
TRIAL_PLAN_ID,
|
24
|
-
isEnterpriseOpenSourcePlan,
|
25
|
-
isEnterprisePlan,
|
26
|
-
isEssentialPlan,
|
27
|
-
isFreePlan,
|
28
|
-
isPaidPlan,
|
29
|
-
isProPlan,
|
30
|
-
isStartPlan,
|
31
|
-
isTrialPlan
|
60
|
+
ProjectNavigationPanel
|
32
61
|
};
|
33
62
|
//# sourceMappingURL=harmony8.mjs.map
|
package/dist/harmony8.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony8.mjs","sources":["../src/
|
1
|
+
{"version":3,"file":"harmony8.mjs","sources":["../src/features/navigation/ProjectNavigationPanel.tsx"],"sourcesContent":["import { NavigationPanel } from '@components/NavigationPanel/NavigationPanel'\nimport { Breadcrumbs } from '@components/NavigationPanel/components/Breadcrumbs/Breadcrumbs'\nimport { NavigationTabs } from '@components/NavigationPanel/components/NavigationTabs/NavigationTabs'\nimport { NavigationClient, type NavigationConfig } from '@features/navigation/core/NavigationClient'\nimport { useNavigation } from '@features/navigation/hooks/useNavigation'\nimport { useNavigationData } from '@features/navigation/hooks/useNavigationQueries'\nimport { NavigationClientProvider } from '@features/navigation/providers/NavigationClientProvider'\nimport type { Project } from '@features/node'\nimport { QueryClientProvider } from '@tanstack/react-query'\nimport { useMemo } from 'react'\nimport { queryClient } from '../../shared/queryClient'\nimport type { Page } from './types/navigation'\n\nexport interface ProjectNavigationPanelProps {\n\tprojectId: Project['project_id']\n\tpage: Page\n\tconfig: NavigationConfig\n}\n\nconst ProjectNavigationPanelInner = ({\n\tpage,\n\tprojectId,\n}: Omit<ProjectNavigationPanelProps, 'config'>) => {\n\tconst {\n\t\tdata: { project, contributor },\n\t\tisLoading,\n\t\terror,\n\t} = useNavigationData(projectId)\n\n\tconst navigationItems = useNavigation(page, project, contributor)\n\n\tif (isLoading) {\n\t\treturn (\n\t\t\t// TODO: replace with loading state\n\t\t\t<NavigationPanel>\n\t\t\t\t<NavigationPanel.Header>\n\t\t\t\t\t<div>Loading navigation...</div>\n\t\t\t\t</NavigationPanel.Header>\n\t\t\t\t<NavigationPanel.Tabs>\n\t\t\t\t\t<div>Loading...</div>\n\t\t\t\t</NavigationPanel.Tabs>\n\t\t\t</NavigationPanel>\n\t\t)\n\t}\n\n\tif (error) {\n\t\treturn (\n\t\t\t// TODO: replace with error state\n\t\t\t<NavigationPanel>\n\t\t\t\t<NavigationPanel.Header>\n\t\t\t\t\t<div>Error loading navigation</div>\n\t\t\t\t</NavigationPanel.Header>\n\t\t\t\t<NavigationPanel.Tabs>\n\t\t\t\t\t<div>Failed to load navigation data</div>\n\t\t\t\t</NavigationPanel.Tabs>\n\t\t\t</NavigationPanel>\n\t\t)\n\t}\n\n\tconst breadcrumbsItems = [\n\t\t{\n\t\t\tname: 'Projects',\n\t\t\tlink: '/projects',\n\t\t},\n\t\t{\n\t\t\tname: project?.name || 'Project',\n\t\t\tlink: `/project/${project?.uuid}/`,\n\t\t},\n\t]\n\n\treturn (\n\t\t<NavigationPanel>\n\t\t\t<NavigationPanel.Header>\n\t\t\t\t<Breadcrumbs items={breadcrumbsItems} />\n\t\t\t\t{/* TODO: Add branch selector */}\n\t\t\t</NavigationPanel.Header>\n\n\t\t\t<NavigationPanel.Tabs>\n\t\t\t\t<NavigationTabs navigation={navigationItems} activeItem={page} />\n\t\t\t</NavigationPanel.Tabs>\n\t\t</NavigationPanel>\n\t)\n}\n\n/**\n * Complete self-contained ProjectNavigationPanel with all providers included.\n * No external setup required - just pass config and use.\n */\nexport const ProjectNavigationPanel = ({ config, ...props }: ProjectNavigationPanelProps) => {\n\t// Create stable instances\n\n\tconst navigationClient = useMemo(() => new NavigationClient(config), [config])\n\n\treturn (\n\t\t<QueryClientProvider client={queryClient}>\n\t\t\t<NavigationClientProvider client={navigationClient}>\n\t\t\t\t<ProjectNavigationPanelInner {...props} />\n\t\t\t</NavigationClientProvider>\n\t\t</QueryClientProvider>\n\t)\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAmBA,MAAM,8BAA8B,CAAC;AAAA,EACpC;AAAA,EACA;AACD,MAAmD;AAC5C,QAAA;AAAA,IACL,MAAM,EAAE,SAAS,YAAY;AAAA,IAC7B;AAAA,IACA;AAAA,EAAA,IACG,kBAAkB,SAAS;AAE/B,QAAM,kBAAkB,cAAc,MAAM,SAAS,WAAW;AAEhE,MAAI,WAAW;AACd;AAAA;AAAA,2BAEE,iBACA,EAAA,UAAA;AAAA,QAAA,oBAAC,gBAAgB,QAAhB,EACA,UAAC,oBAAA,OAAA,EAAI,kCAAqB,CAAA,GAC3B;AAAA,4BACC,gBAAgB,MAAhB,EACA,UAAC,oBAAA,OAAA,EAAI,wBAAU,EAChB,CAAA;AAAA,MAAA,EACD,CAAA;AAAA;AAAA,EAAA;AAIF,MAAI,OAAO;AACV;AAAA;AAAA,2BAEE,iBACA,EAAA,UAAA;AAAA,QAAA,oBAAC,gBAAgB,QAAhB,EACA,UAAC,oBAAA,OAAA,EAAI,qCAAwB,CAAA,GAC9B;AAAA,4BACC,gBAAgB,MAAhB,EACA,UAAC,oBAAA,OAAA,EAAI,4CAA8B,EACpC,CAAA;AAAA,MAAA,EACD,CAAA;AAAA;AAAA,EAAA;AAIF,QAAM,mBAAmB;AAAA,IACxB;AAAA,MACC,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AAAA,IACA;AAAA,MACC,OAAM,mCAAS,SAAQ;AAAA,MACvB,MAAM,YAAY,mCAAS,IAAI;AAAA,IAAA;AAAA,EAEjC;AAEA,8BACE,iBACA,EAAA,UAAA;AAAA,IAAA,oBAAC,gBAAgB,QAAhB,EACA,8BAAC,aAAY,EAAA,OAAO,iBAAkB,CAAA,GAEvC;AAAA,IAEA,oBAAC,gBAAgB,MAAhB,EACA,UAAA,oBAAC,kBAAe,YAAY,iBAAiB,YAAY,KAAM,CAAA,EAChE,CAAA;AAAA,EAAA,GACD;AAEF;AAMO,MAAM,yBAAyB,CAAC,EAAE,QAAQ,GAAG,YAAyC;AAGtF,QAAA,mBAAmB,QAAQ,MAAM,IAAI,iBAAiB,MAAM,GAAG,CAAC,MAAM,CAAC;AAE7E,SACE,oBAAA,qBAAA,EAAoB,QAAQ,aAC5B,UAAC,oBAAA,0BAAA,EAAyB,QAAQ,kBACjC,UAAC,oBAAA,6BAAA,EAA6B,GAAG,MAAO,CAAA,EACzC,CAAA,GACD;AAEF;"}
|
package/dist/harmony80.cjs
CHANGED
@@ -1,22 +1,35 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
4
|
-
const
|
5
|
-
const
|
6
|
-
const
|
7
|
-
const
|
8
|
-
|
9
|
-
|
4
|
+
const louis = require("@lokalise/louis");
|
5
|
+
const ProfileMenuContext = require("./harmony100.cjs");
|
6
|
+
const ProfileSettingsMenuItem_module = require("./harmony101.cjs");
|
7
|
+
const ProfileSettingsMenuItem = ({
|
8
|
+
href,
|
9
|
+
onClick,
|
10
|
+
userEmail,
|
11
|
+
hideBottomDivider
|
12
|
+
}) => {
|
13
|
+
const { isEndOfTrialActive, isTeamSuspended } = ProfileMenuContext.useProfileMenu();
|
14
|
+
if (isEndOfTrialActive || isTeamSuspended) {
|
10
15
|
return null;
|
11
16
|
}
|
12
|
-
return /* @__PURE__ */ jsxRuntime.
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
18
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
19
|
+
louis.MenuItem,
|
20
|
+
{
|
21
|
+
href,
|
22
|
+
onClick: () => {
|
23
|
+
onClick == null ? void 0 : onClick();
|
24
|
+
},
|
25
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex-col ${ProfileSettingsMenuItem_module.default.container}`, children: [
|
26
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Profile Settings" }),
|
27
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: ProfileSettingsMenuItem_module.default.profileEmail, children: userEmail })
|
28
|
+
] })
|
29
|
+
}
|
30
|
+
),
|
31
|
+
!hideBottomDivider && /* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {})
|
32
|
+
] });
|
20
33
|
};
|
21
|
-
exports.
|
34
|
+
exports.ProfileSettingsMenuItem = ProfileSettingsMenuItem;
|
22
35
|
//# sourceMappingURL=harmony80.cjs.map
|
package/dist/harmony80.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony80.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/
|
1
|
+
{"version":3,"file":"harmony80.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.tsx"],"sourcesContent":["import { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { useProfileMenu } from '../ProfileMenuContext'\nimport styles from './ProfileSettingsMenuItem.module.css'\n\ntype ProfileSettingsMenuItemProps = {\n\t/** URL to the profile settings page */\n\thref: string\n\t/** User's email address to display below \"Profile Settings\" */\n\tuserEmail: string\n\t/** Optional callback function for tracking or additional actions */\n\tonClick?: () => void\n\t/** Whether to hide the divider that appears below this menu item */\n\thideBottomDivider?: boolean\n}\n\n/**\n * A menu item component that provides access to profile settings.\n *\n * Features:\n * - Displays \"Profile Settings\" with the user's email address below\n * - Conditionally renders based on team status\n * - Includes an optional divider below the item\n * - Will not render if:\n * - Team is suspended\n * - Team's trial period has ended\n *\n * @example\n * ```tsx\n * <ProfileSettingsMenuItem\n * href=\"/settings/profile\"\n * userEmail=\"user@example.com\"\n * onClick={() => trackSettingsClick()}\n * />\n *\n * // Without bottom divider\n * <ProfileSettingsMenuItem\n * href=\"/settings/profile\"\n * userEmail=\"user@example.com\"\n * hideBottomDivider\n * />\n * ```\n *\n * @note This component must be used within a ProfileMenu component\n * as it requires access to the ProfileMenu context for team status information.\n */\nexport const ProfileSettingsMenuItem = ({\n\thref,\n\tonClick,\n\tuserEmail,\n\thideBottomDivider,\n}: ProfileSettingsMenuItemProps) => {\n\tconst { isEndOfTrialActive, isTeamSuspended } = useProfileMenu()\n\n\tif (isEndOfTrialActive || isTeamSuspended) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\thref={href}\n\t\t\t\tonClick={() => {\n\t\t\t\t\tonClick?.()\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className={`flex-col ${styles.container}`}>\n\t\t\t\t\t<span>Profile Settings</span>\n\t\t\t\t\t<span className={styles.profileEmail}>{userEmail}</span>\n\t\t\t\t</div>\n\t\t\t</MenuItem>\n\n\t\t\t{!hideBottomDivider && <MenuDivider />}\n\t\t</>\n\t)\n}\n"],"names":["useProfileMenu","jsxs","Fragment","jsx","MenuItem","styles","MenuDivider"],"mappings":";;;;;;AA6CO,MAAM,0BAA0B,CAAC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAoC;AACnC,QAAM,EAAE,oBAAoB,gBAAgB,IAAIA,kCAAe;AAE/D,MAAI,sBAAsB,iBAAiB;AACnC,WAAA;AAAA,EAAA;AAGR,SAEEC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAAAC,2BAAA;AAAA,MAACC,MAAA;AAAA,MAAA;AAAA,QACA;AAAA,QACA,SAAS,MAAM;AACJ;AAAA,QACX;AAAA,QAEA,0CAAC,OAAI,EAAA,WAAW,YAAYC,uCAAO,SAAS,IAC3C,UAAA;AAAA,UAAAF,2BAAAA,IAAC,UAAK,UAAgB,mBAAA,CAAA;AAAA,UACrBA,2BAAA,IAAA,QAAA,EAAK,WAAWE,+BAAA,QAAO,cAAe,UAAU,UAAA,CAAA;AAAA,QAAA,EAClD,CAAA;AAAA,MAAA;AAAA,IACD;AAAA,IAEC,CAAC,qBAAqBF,+BAACG,MAAAA,aAAY,CAAA,CAAA;AAAA,EAAA,GACrC;AAEF;;"}
|
package/dist/harmony80.mjs
CHANGED
@@ -1,22 +1,35 @@
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
2
|
-
import {
|
3
|
-
import {
|
4
|
-
import styles from "./
|
5
|
-
const
|
6
|
-
|
7
|
-
|
1
|
+
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
2
|
+
import { MenuItem, MenuDivider } from "@lokalise/louis";
|
3
|
+
import { useProfileMenu } from "./harmony100.mjs";
|
4
|
+
import styles from "./harmony101.mjs";
|
5
|
+
const ProfileSettingsMenuItem = ({
|
6
|
+
href,
|
7
|
+
onClick,
|
8
|
+
userEmail,
|
9
|
+
hideBottomDivider
|
10
|
+
}) => {
|
11
|
+
const { isEndOfTrialActive, isTeamSuspended } = useProfileMenu();
|
12
|
+
if (isEndOfTrialActive || isTeamSuspended) {
|
8
13
|
return null;
|
9
14
|
}
|
10
|
-
return /* @__PURE__ */
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
16
|
+
/* @__PURE__ */ jsx(
|
17
|
+
MenuItem,
|
18
|
+
{
|
19
|
+
href,
|
20
|
+
onClick: () => {
|
21
|
+
onClick == null ? void 0 : onClick();
|
22
|
+
},
|
23
|
+
children: /* @__PURE__ */ jsxs("div", { className: `flex-col ${styles.container}`, children: [
|
24
|
+
/* @__PURE__ */ jsx("span", { children: "Profile Settings" }),
|
25
|
+
/* @__PURE__ */ jsx("span", { className: styles.profileEmail, children: userEmail })
|
26
|
+
] })
|
27
|
+
}
|
28
|
+
),
|
29
|
+
!hideBottomDivider && /* @__PURE__ */ jsx(MenuDivider, {})
|
30
|
+
] });
|
18
31
|
};
|
19
32
|
export {
|
20
|
-
|
33
|
+
ProfileSettingsMenuItem
|
21
34
|
};
|
22
35
|
//# sourceMappingURL=harmony80.mjs.map
|
package/dist/harmony80.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony80.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/
|
1
|
+
{"version":3,"file":"harmony80.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.tsx"],"sourcesContent":["import { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { useProfileMenu } from '../ProfileMenuContext'\nimport styles from './ProfileSettingsMenuItem.module.css'\n\ntype ProfileSettingsMenuItemProps = {\n\t/** URL to the profile settings page */\n\thref: string\n\t/** User's email address to display below \"Profile Settings\" */\n\tuserEmail: string\n\t/** Optional callback function for tracking or additional actions */\n\tonClick?: () => void\n\t/** Whether to hide the divider that appears below this menu item */\n\thideBottomDivider?: boolean\n}\n\n/**\n * A menu item component that provides access to profile settings.\n *\n * Features:\n * - Displays \"Profile Settings\" with the user's email address below\n * - Conditionally renders based on team status\n * - Includes an optional divider below the item\n * - Will not render if:\n * - Team is suspended\n * - Team's trial period has ended\n *\n * @example\n * ```tsx\n * <ProfileSettingsMenuItem\n * href=\"/settings/profile\"\n * userEmail=\"user@example.com\"\n * onClick={() => trackSettingsClick()}\n * />\n *\n * // Without bottom divider\n * <ProfileSettingsMenuItem\n * href=\"/settings/profile\"\n * userEmail=\"user@example.com\"\n * hideBottomDivider\n * />\n * ```\n *\n * @note This component must be used within a ProfileMenu component\n * as it requires access to the ProfileMenu context for team status information.\n */\nexport const ProfileSettingsMenuItem = ({\n\thref,\n\tonClick,\n\tuserEmail,\n\thideBottomDivider,\n}: ProfileSettingsMenuItemProps) => {\n\tconst { isEndOfTrialActive, isTeamSuspended } = useProfileMenu()\n\n\tif (isEndOfTrialActive || isTeamSuspended) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\thref={href}\n\t\t\t\tonClick={() => {\n\t\t\t\t\tonClick?.()\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className={`flex-col ${styles.container}`}>\n\t\t\t\t\t<span>Profile Settings</span>\n\t\t\t\t\t<span className={styles.profileEmail}>{userEmail}</span>\n\t\t\t\t</div>\n\t\t\t</MenuItem>\n\n\t\t\t{!hideBottomDivider && <MenuDivider />}\n\t\t</>\n\t)\n}\n"],"names":[],"mappings":";;;;AA6CO,MAAM,0BAA0B,CAAC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAoC;AACnC,QAAM,EAAE,oBAAoB,gBAAgB,IAAI,eAAe;AAE/D,MAAI,sBAAsB,iBAAiB;AACnC,WAAA;AAAA,EAAA;AAGR,SAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,SAAS,MAAM;AACJ;AAAA,QACX;AAAA,QAEA,+BAAC,OAAI,EAAA,WAAW,YAAY,OAAO,SAAS,IAC3C,UAAA;AAAA,UAAA,oBAAC,UAAK,UAAgB,mBAAA,CAAA;AAAA,UACrB,oBAAA,QAAA,EAAK,WAAW,OAAO,cAAe,UAAU,UAAA,CAAA;AAAA,QAAA,EAClD,CAAA;AAAA,MAAA;AAAA,IACD;AAAA,IAEC,CAAC,qBAAqB,oBAAC,aAAY,CAAA,CAAA;AAAA,EAAA,GACrC;AAEF;"}
|
package/dist/harmony81.cjs
CHANGED
@@ -2,33 +2,34 @@
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
4
4
|
const louis = require("@lokalise/louis");
|
5
|
-
const plan = require("./
|
6
|
-
const
|
7
|
-
const
|
8
|
-
const
|
9
|
-
const
|
10
|
-
const
|
11
|
-
if (!
|
5
|
+
const plan = require("./harmony9.cjs");
|
6
|
+
const ProfileMenuContext = require("./harmony100.cjs");
|
7
|
+
const TeamMenuItem_module = require("./harmony102.cjs");
|
8
|
+
const TeamMenuItem = ({ team, onClick, hidePlanLabel }) => {
|
9
|
+
const { currentTeam, planId } = ProfileMenuContext.useProfileMenu();
|
10
|
+
const contextTeam = team || currentTeam;
|
11
|
+
if (!contextTeam) {
|
12
12
|
return null;
|
13
13
|
}
|
14
|
-
const
|
15
|
-
const
|
16
|
-
const ctaMessage = isOnFreePlan ? "Your team is currently on the Free plan" : `Free trial ends in ${trialDaysLeft} ${daysNoun}`;
|
14
|
+
const planLabel = plan.isFreePlan(planId) ? "Free" : plan.isTrialPlan(planId) ? "Trial" : void 0;
|
15
|
+
const WrapperNode = onClick ? louis.MenuItem : "div";
|
17
16
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
18
|
-
|
17
|
+
WrapperNode,
|
19
18
|
{
|
20
|
-
|
21
|
-
|
22
|
-
className: `flex-col gap-1 items-start ${UpgradeMenuItem_module.default.container}`,
|
19
|
+
className: TeamMenuItem_module.default.wrapper,
|
20
|
+
...onClick && { onClick: () => onClick(contextTeam) },
|
23
21
|
children: [
|
24
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
25
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
26
|
-
/* @__PURE__ */ jsxRuntime.
|
27
|
-
|
22
|
+
contextTeam.logoUrl ? /* @__PURE__ */ jsxRuntime.jsx("img", { className: TeamMenuItem_module.default.profileImage, src: contextTeam.logoUrl, alt: "Team logo" }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${TeamMenuItem_module.default.defaultProfileImage}`, children: /* @__PURE__ */ jsxRuntime.jsx(louis.UserIcon, { size: "25px" }) }),
|
23
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: TeamMenuItem_module.default.teamDetails, children: [
|
24
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: TeamMenuItem_module.default.planWrapper, children: [
|
25
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { title: contextTeam.name, className: TeamMenuItem_module.default.teamName, children: contextTeam.name }),
|
26
|
+
planLabel && !hidePlanLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: TeamMenuItem_module.default.teamName, children: planLabel })
|
27
|
+
] }),
|
28
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: TeamMenuItem_module.default.membership, children: contextTeam.role })
|
28
29
|
] })
|
29
30
|
]
|
30
31
|
}
|
31
32
|
);
|
32
33
|
};
|
33
|
-
exports.
|
34
|
+
exports.TeamMenuItem = TeamMenuItem;
|
34
35
|
//# sourceMappingURL=harmony81.cjs.map
|
package/dist/harmony81.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony81.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/
|
1
|
+
{"version":3,"file":"harmony81.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.tsx"],"sourcesContent":["import { MenuItem, UserIcon } from '@lokalise/louis'\nimport { isFreePlan, isTrialPlan } from '../../../../../utils/billing/plan/plan'\nimport type { SidebarTeam } from '../../../types'\nimport { useProfileMenu } from '../ProfileMenuContext'\nimport styles from './TeamMenuItem.module.css'\n\ntype TeamMenuItemProps = {\n\t/** Team to display. If not provided, uses the current team from context */\n\tteam?: SidebarTeam\n\t/** Callback for when the team item is clicked. If provided, renders as a clickable MenuItem */\n\tonClick?: (team: SidebarTeam) => void\n\t/** Whether to hide the plan label (Free/Trial). Useful when displaying multiple teams */\n\thidePlanLabel?: boolean\n}\n\n/**\n * A component that displays team information in a menu item format.\n * Renders team logo (or default user icon), team name, role, and plan label.\n *\n * The component can be used in two modes:\n * 1. As a static display of the current team (when no onClick handler is provided)\n * 2. As a clickable menu item for team switching (when onClick handler is provided)\n *\n * @example\n * ```tsx\n * // Static current team display\n * <TeamMenuItem />\n *\n * // Clickable team item for switching\n * <TeamMenuItem\n * team={someTeam}\n * onClick={(team) => handleTeamSwitch(team)}\n * hidePlanLabel\n * />\n * ```\n *\n * @note This component must be used within a ProfileMenu component\n * as it requires access to the ProfileMenu context for current team\n * and plan information.\n */\nexport const TeamMenuItem = ({ team, onClick, hidePlanLabel }: TeamMenuItemProps) => {\n\tconst { currentTeam, planId } = useProfileMenu()\n\n\tconst contextTeam = team || currentTeam\n\n\tif (!contextTeam) {\n\t\treturn null\n\t}\n\n\tconst planLabel = isFreePlan(planId) ? 'Free' : isTrialPlan(planId) ? 'Trial' : undefined\n\n\tconst WrapperNode = onClick ? MenuItem : 'div'\n\n\treturn (\n\t\t<WrapperNode\n\t\t\tclassName={styles.wrapper}\n\t\t\t{...(onClick && { onClick: () => onClick(contextTeam) })}\n\t\t>\n\t\t\t{contextTeam.logoUrl ? (\n\t\t\t\t<img className={styles.profileImage} src={contextTeam.logoUrl} alt=\"Team logo\" />\n\t\t\t) : (\n\t\t\t\t<span className={`${styles.defaultProfileImage}`}>\n\t\t\t\t\t<UserIcon size=\"25px\" />\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<div className={styles.teamDetails}>\n\t\t\t\t<div className={styles.planWrapper}>\n\t\t\t\t\t<span title={contextTeam.name} className={styles.teamName}>\n\t\t\t\t\t\t{contextTeam.name}\n\t\t\t\t\t</span>\n\t\t\t\t\t{planLabel && !hidePlanLabel && <span className={styles.teamName}>{planLabel}</span>}\n\t\t\t\t</div>\n\t\t\t\t<span className={styles.membership}>{contextTeam.role}</span>\n\t\t\t</div>\n\t\t</WrapperNode>\n\t)\n}\n"],"names":["useProfileMenu","isFreePlan","isTrialPlan","MenuItem","jsxs","styles","jsx","UserIcon"],"mappings":";;;;;;;AAwCO,MAAM,eAAe,CAAC,EAAE,MAAM,SAAS,oBAAuC;AACpF,QAAM,EAAE,aAAa,OAAO,IAAIA,kCAAe;AAE/C,QAAM,cAAc,QAAQ;AAE5B,MAAI,CAAC,aAAa;AACV,WAAA;AAAA,EAAA;AAGF,QAAA,YAAYC,gBAAW,MAAM,IAAI,SAASC,iBAAY,MAAM,IAAI,UAAU;AAE1E,QAAA,cAAc,UAAUC,MAAAA,WAAW;AAGxC,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWC,oBAAO,QAAA;AAAA,MACjB,GAAI,WAAW,EAAE,SAAS,MAAM,QAAQ,WAAW,EAAE;AAAA,MAErD,UAAA;AAAA,QAAY,YAAA,yCACX,OAAI,EAAA,WAAWA,oBAAAA,QAAO,cAAc,KAAK,YAAY,SAAS,KAAI,YAAA,CAAY,IAE9EC,+BAAA,QAAA,EAAK,WAAW,GAAGD,oBAAO,QAAA,mBAAmB,IAC7C,UAACC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,OAAA,CAAO,EACvB,CAAA;AAAA,QAEAH,2BAAA,KAAA,OAAA,EAAI,WAAWC,oBAAAA,QAAO,aACtB,UAAA;AAAA,UAACD,2BAAA,KAAA,OAAA,EAAI,WAAWC,oBAAAA,QAAO,aACtB,UAAA;AAAA,YAACC,2BAAAA,IAAA,QAAA,EAAK,OAAO,YAAY,MAAM,WAAWD,oBAAAA,QAAO,UAC/C,sBAAY,KACd,CAAA;AAAA,YACC,aAAa,CAAC,iBAAiBC,2BAAAA,IAAC,UAAK,WAAWD,4BAAO,UAAW,UAAU,UAAA,CAAA;AAAA,UAAA,GAC9E;AAAA,yCACC,QAAK,EAAA,WAAWA,oBAAAA,QAAO,YAAa,sBAAY,KAAK,CAAA;AAAA,QAAA,EACvD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
|
package/dist/harmony81.mjs
CHANGED
@@ -1,34 +1,35 @@
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
2
|
-
import { MenuItem } from "@lokalise/louis";
|
3
|
-
import { isFreePlan } from "./
|
4
|
-
import {
|
5
|
-
import { useProfileMenu } from "./harmony97.mjs";
|
2
|
+
import { MenuItem, UserIcon } from "@lokalise/louis";
|
3
|
+
import { isFreePlan, isTrialPlan } from "./harmony9.mjs";
|
4
|
+
import { useProfileMenu } from "./harmony100.mjs";
|
6
5
|
import styles from "./harmony102.mjs";
|
7
|
-
const
|
8
|
-
const {
|
9
|
-
|
6
|
+
const TeamMenuItem = ({ team, onClick, hidePlanLabel }) => {
|
7
|
+
const { currentTeam, planId } = useProfileMenu();
|
8
|
+
const contextTeam = team || currentTeam;
|
9
|
+
if (!contextTeam) {
|
10
10
|
return null;
|
11
11
|
}
|
12
|
-
const
|
13
|
-
const
|
14
|
-
const ctaMessage = isOnFreePlan ? "Your team is currently on the Free plan" : `Free trial ends in ${trialDaysLeft} ${daysNoun}`;
|
12
|
+
const planLabel = isFreePlan(planId) ? "Free" : isTrialPlan(planId) ? "Trial" : void 0;
|
13
|
+
const WrapperNode = onClick ? MenuItem : "div";
|
15
14
|
return /* @__PURE__ */ jsxs(
|
16
|
-
|
15
|
+
WrapperNode,
|
17
16
|
{
|
18
|
-
|
19
|
-
|
20
|
-
className: `flex-col gap-1 items-start ${styles.container}`,
|
17
|
+
className: styles.wrapper,
|
18
|
+
...onClick && { onClick: () => onClick(contextTeam) },
|
21
19
|
children: [
|
22
|
-
/* @__PURE__ */ jsx("
|
23
|
-
/* @__PURE__ */ jsxs("div", { className:
|
24
|
-
/* @__PURE__ */
|
25
|
-
|
20
|
+
contextTeam.logoUrl ? /* @__PURE__ */ jsx("img", { className: styles.profileImage, src: contextTeam.logoUrl, alt: "Team logo" }) : /* @__PURE__ */ jsx("span", { className: `${styles.defaultProfileImage}`, children: /* @__PURE__ */ jsx(UserIcon, { size: "25px" }) }),
|
21
|
+
/* @__PURE__ */ jsxs("div", { className: styles.teamDetails, children: [
|
22
|
+
/* @__PURE__ */ jsxs("div", { className: styles.planWrapper, children: [
|
23
|
+
/* @__PURE__ */ jsx("span", { title: contextTeam.name, className: styles.teamName, children: contextTeam.name }),
|
24
|
+
planLabel && !hidePlanLabel && /* @__PURE__ */ jsx("span", { className: styles.teamName, children: planLabel })
|
25
|
+
] }),
|
26
|
+
/* @__PURE__ */ jsx("span", { className: styles.membership, children: contextTeam.role })
|
26
27
|
] })
|
27
28
|
]
|
28
29
|
}
|
29
30
|
);
|
30
31
|
};
|
31
32
|
export {
|
32
|
-
|
33
|
+
TeamMenuItem
|
33
34
|
};
|
34
35
|
//# sourceMappingURL=harmony81.mjs.map
|
package/dist/harmony81.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony81.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/
|
1
|
+
{"version":3,"file":"harmony81.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.tsx"],"sourcesContent":["import { MenuItem, UserIcon } from '@lokalise/louis'\nimport { isFreePlan, isTrialPlan } from '../../../../../utils/billing/plan/plan'\nimport type { SidebarTeam } from '../../../types'\nimport { useProfileMenu } from '../ProfileMenuContext'\nimport styles from './TeamMenuItem.module.css'\n\ntype TeamMenuItemProps = {\n\t/** Team to display. If not provided, uses the current team from context */\n\tteam?: SidebarTeam\n\t/** Callback for when the team item is clicked. If provided, renders as a clickable MenuItem */\n\tonClick?: (team: SidebarTeam) => void\n\t/** Whether to hide the plan label (Free/Trial). Useful when displaying multiple teams */\n\thidePlanLabel?: boolean\n}\n\n/**\n * A component that displays team information in a menu item format.\n * Renders team logo (or default user icon), team name, role, and plan label.\n *\n * The component can be used in two modes:\n * 1. As a static display of the current team (when no onClick handler is provided)\n * 2. As a clickable menu item for team switching (when onClick handler is provided)\n *\n * @example\n * ```tsx\n * // Static current team display\n * <TeamMenuItem />\n *\n * // Clickable team item for switching\n * <TeamMenuItem\n * team={someTeam}\n * onClick={(team) => handleTeamSwitch(team)}\n * hidePlanLabel\n * />\n * ```\n *\n * @note This component must be used within a ProfileMenu component\n * as it requires access to the ProfileMenu context for current team\n * and plan information.\n */\nexport const TeamMenuItem = ({ team, onClick, hidePlanLabel }: TeamMenuItemProps) => {\n\tconst { currentTeam, planId } = useProfileMenu()\n\n\tconst contextTeam = team || currentTeam\n\n\tif (!contextTeam) {\n\t\treturn null\n\t}\n\n\tconst planLabel = isFreePlan(planId) ? 'Free' : isTrialPlan(planId) ? 'Trial' : undefined\n\n\tconst WrapperNode = onClick ? MenuItem : 'div'\n\n\treturn (\n\t\t<WrapperNode\n\t\t\tclassName={styles.wrapper}\n\t\t\t{...(onClick && { onClick: () => onClick(contextTeam) })}\n\t\t>\n\t\t\t{contextTeam.logoUrl ? (\n\t\t\t\t<img className={styles.profileImage} src={contextTeam.logoUrl} alt=\"Team logo\" />\n\t\t\t) : (\n\t\t\t\t<span className={`${styles.defaultProfileImage}`}>\n\t\t\t\t\t<UserIcon size=\"25px\" />\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<div className={styles.teamDetails}>\n\t\t\t\t<div className={styles.planWrapper}>\n\t\t\t\t\t<span title={contextTeam.name} className={styles.teamName}>\n\t\t\t\t\t\t{contextTeam.name}\n\t\t\t\t\t</span>\n\t\t\t\t\t{planLabel && !hidePlanLabel && <span className={styles.teamName}>{planLabel}</span>}\n\t\t\t\t</div>\n\t\t\t\t<span className={styles.membership}>{contextTeam.role}</span>\n\t\t\t</div>\n\t\t</WrapperNode>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAwCO,MAAM,eAAe,CAAC,EAAE,MAAM,SAAS,oBAAuC;AACpF,QAAM,EAAE,aAAa,OAAO,IAAI,eAAe;AAE/C,QAAM,cAAc,QAAQ;AAE5B,MAAI,CAAC,aAAa;AACV,WAAA;AAAA,EAAA;AAGF,QAAA,YAAY,WAAW,MAAM,IAAI,SAAS,YAAY,MAAM,IAAI,UAAU;AAE1E,QAAA,cAAc,UAAU,WAAW;AAGxC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAW,OAAO;AAAA,MACjB,GAAI,WAAW,EAAE,SAAS,MAAM,QAAQ,WAAW,EAAE;AAAA,MAErD,UAAA;AAAA,QAAY,YAAA,8BACX,OAAI,EAAA,WAAW,OAAO,cAAc,KAAK,YAAY,SAAS,KAAI,YAAA,CAAY,IAE9E,oBAAA,QAAA,EAAK,WAAW,GAAG,OAAO,mBAAmB,IAC7C,UAAC,oBAAA,UAAA,EAAS,MAAK,OAAA,CAAO,EACvB,CAAA;AAAA,QAEA,qBAAA,OAAA,EAAI,WAAW,OAAO,aACtB,UAAA;AAAA,UAAC,qBAAA,OAAA,EAAI,WAAW,OAAO,aACtB,UAAA;AAAA,YAAC,oBAAA,QAAA,EAAK,OAAO,YAAY,MAAM,WAAW,OAAO,UAC/C,sBAAY,KACd,CAAA;AAAA,YACC,aAAa,CAAC,iBAAiB,oBAAC,UAAK,WAAW,OAAO,UAAW,UAAU,UAAA,CAAA;AAAA,UAAA,GAC9E;AAAA,8BACC,QAAK,EAAA,WAAW,OAAO,YAAa,sBAAY,KAAK,CAAA;AAAA,QAAA,EACvD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
|