pixelize-design-library 2.3.22 → 2.3.25
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/Assets/defaultLogo.tsx +30 -0
- package/dist/Components/Accordion/accordionColors.d.ts +6 -0
- package/dist/Components/Accordion/accordionColors.d.ts.map +1 -0
- package/dist/Components/Accordion/accordionColors.js +20 -0
- package/dist/Components/Editor/joditThemeVars.d.ts +21 -0
- package/dist/Components/Editor/joditThemeVars.d.ts.map +1 -0
- package/dist/Components/Editor/joditThemeVars.js +70 -0
- package/dist/Components/FilterSidebar/filterHoverStyle.d.ts +12 -0
- package/dist/Components/FilterSidebar/filterHoverStyle.d.ts.map +1 -0
- package/dist/Components/FilterSidebar/filterHoverStyle.js +14 -0
- package/dist/Components/OrganizationDetails/CreateOrgModal.js +6 -4
- package/dist/Components/OrganizationDetails/OrganizationDetails.d.ts.map +1 -1
- package/dist/Components/OrganizationDetails/OrganizationDetails.js +55 -7
- package/dist/Components/OrganizationDetails/OrganizationDetailsProps.d.ts +24 -14
- package/dist/Components/OrganizationDetails/OrganizationDetailsProps.d.ts.map +1 -1
- package/dist/Components/SelectV2/SelectV2.d.ts +3 -0
- package/dist/Components/SelectV2/SelectV2.d.ts.map +1 -0
- package/dist/Components/SelectV2/SelectV2.js +185 -0
- package/dist/Components/SelectV2/SelectV2Props.d.ts +67 -0
- package/dist/Components/SelectV2/SelectV2Props.d.ts.map +1 -0
- package/dist/Components/SelectV2/SelectV2Props.js +2 -0
- package/dist/Components/SideBar/sidebarAccentColors.d.ts +21 -0
- package/dist/Components/SideBar/sidebarAccentColors.d.ts.map +1 -0
- package/dist/Components/SideBar/sidebarAccentColors.js +36 -0
- package/dist/Components/Table/components/tableRowHoverStyle.d.ts +13 -0
- package/dist/Components/Table/components/tableRowHoverStyle.d.ts.map +1 -0
- package/dist/Components/Table/components/tableRowHoverStyle.js +26 -0
- package/dist/Theme/chakra/Avatar.styles.d.ts +33 -0
- package/dist/Theme/chakra/Avatar.styles.d.ts.map +1 -0
- package/dist/Theme/chakra/Avatar.styles.js +28 -0
- package/dist/Theme/chakra/Drawer.styles.d.ts +32 -0
- package/dist/Theme/chakra/Drawer.styles.d.ts.map +1 -0
- package/dist/Theme/chakra/Drawer.styles.js +26 -0
- package/dist/Theme/chakra/Menu.styles.d.ts +70 -0
- package/dist/Theme/chakra/Menu.styles.d.ts.map +1 -0
- package/dist/Theme/chakra/Menu.styles.js +50 -0
- package/dist/Theme/chakra/Modal.styles.d.ts +32 -0
- package/dist/Theme/chakra/Modal.styles.d.ts.map +1 -0
- package/dist/Theme/chakra/Modal.styles.js +26 -0
- package/dist/Theme/chakra/Popover.styles.d.ts +37 -0
- package/dist/Theme/chakra/Popover.styles.d.ts.map +1 -0
- package/dist/Theme/chakra/Popover.styles.js +30 -0
- package/dist/Theme/chakra/Slider.styles.d.ts +31 -0
- package/dist/Theme/chakra/Slider.styles.d.ts.map +1 -0
- package/dist/Theme/chakra/Slider.styles.js +25 -0
- package/dist/Theme/chakra/Switch.styles.d.ts +31 -0
- package/dist/Theme/chakra/Switch.styles.d.ts.map +1 -0
- package/dist/Theme/chakra/Switch.styles.js +24 -0
- package/dist/Theme/chakra/Tabs.styles.d.ts +43 -0
- package/dist/Theme/chakra/Tabs.styles.d.ts.map +1 -0
- package/dist/Theme/chakra/Tabs.styles.js +41 -0
- package/dist/Theme/chakra/common.web.d.ts +171 -0
- package/dist/Theme/chakra/common.web.d.ts.map +1 -0
- package/dist/Theme/chakra/common.web.js +21 -0
- package/dist/Theme/chakra/componentStyles.d.ts +240 -0
- package/dist/Theme/chakra/componentStyles.d.ts.map +1 -0
- package/dist/Theme/chakra/componentStyles.js +150 -0
- package/dist/Theme/chakra/createBrandTheme.d.ts +18 -0
- package/dist/Theme/chakra/createBrandTheme.d.ts.map +1 -0
- package/dist/Theme/chakra/createBrandTheme.js +78 -0
- package/dist/Theme/chakra/fonts.web.d.ts +42 -0
- package/dist/Theme/chakra/fonts.web.d.ts.map +1 -0
- package/dist/Theme/chakra/fonts.web.js +15 -0
- package/dist/Theme/provider/PixelizeThemeProvider.d.ts +46 -0
- package/dist/Theme/provider/PixelizeThemeProvider.d.ts.map +1 -0
- package/dist/Theme/provider/PixelizeThemeProvider.js +124 -0
- package/dist/Theme/provider/ThemeSwitcher.d.ts +8 -0
- package/dist/Theme/provider/ThemeSwitcher.d.ts.map +1 -0
- package/dist/Theme/provider/ThemeSwitcher.js +111 -0
- package/dist/Theme/provider/colorModeStorage.d.ts +10 -0
- package/dist/Theme/provider/colorModeStorage.d.ts.map +1 -0
- package/dist/Theme/provider/colorModeStorage.js +106 -0
- package/dist/Theme/provider/index.d.ts +6 -0
- package/dist/Theme/provider/index.d.ts.map +1 -0
- package/dist/Theme/provider/index.js +9 -0
- package/dist/Theme/provider/useThemeMode.d.ts +3 -0
- package/dist/Theme/provider/useThemeMode.d.ts.map +1 -0
- package/dist/Theme/provider/useThemeMode.js +13 -0
- package/dist/Theme/tokens/brands/emerald/palette.dark.d.ts +7 -0
- package/dist/Theme/tokens/brands/emerald/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/emerald/palette.dark.js +13 -0
- package/dist/Theme/tokens/brands/emerald/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/emerald/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/emerald/palette.light.js +135 -0
- package/dist/Theme/tokens/brands/index.d.ts +28 -0
- package/dist/Theme/tokens/brands/index.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/index.js +93 -0
- package/dist/Theme/tokens/brands/lavender/palette.dark.d.ts +7 -0
- package/dist/Theme/tokens/brands/lavender/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/lavender/palette.dark.js +13 -0
- package/dist/Theme/tokens/brands/lavender/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/lavender/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/lavender/palette.light.js +316 -0
- package/dist/Theme/tokens/brands/meadow/palette.dark.d.ts +7 -0
- package/dist/Theme/tokens/brands/meadow/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/meadow/palette.dark.js +13 -0
- package/dist/Theme/tokens/brands/meadow/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/meadow/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/meadow/palette.light.js +133 -0
- package/dist/Theme/tokens/brands/radiant/palette.dark.d.ts +7 -0
- package/dist/Theme/tokens/brands/radiant/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/radiant/palette.dark.js +13 -0
- package/dist/Theme/tokens/brands/radiant/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/radiant/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/radiant/palette.light.js +135 -0
- package/dist/Theme/tokens/brands/rosewood/palette.dark.d.ts +7 -0
- package/dist/Theme/tokens/brands/rosewood/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/rosewood/palette.dark.js +13 -0
- package/dist/Theme/tokens/brands/rosewood/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/rosewood/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/rosewood/palette.light.js +139 -0
- package/dist/Theme/tokens/brands/skyline/palette.dark.d.ts +7 -0
- package/dist/Theme/tokens/brands/skyline/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/skyline/palette.dark.js +13 -0
- package/dist/Theme/tokens/brands/skyline/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/skyline/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/skyline/palette.light.js +133 -0
- package/dist/Theme/tokens/brands/slate/palette.dark.d.ts +7 -0
- package/dist/Theme/tokens/brands/slate/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/slate/palette.dark.js +13 -0
- package/dist/Theme/tokens/brands/slate/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/slate/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/slate/palette.light.js +137 -0
- package/dist/Theme/tokens/brands/storefront/palette.dark.d.ts +7 -0
- package/dist/Theme/tokens/brands/storefront/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/storefront/palette.dark.js +13 -0
- package/dist/Theme/tokens/brands/storefront/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/storefront/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/storefront/palette.light.js +127 -0
- package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts +204 -0
- package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/zinc/palette.dark.js +204 -0
- package/dist/Theme/tokens/brands/zinc/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/zinc/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/zinc/palette.light.js +383 -0
- package/dist/Theme/tokens/builders/accentText.d.ts +56 -0
- package/dist/Theme/tokens/builders/accentText.d.ts.map +1 -0
- package/dist/Theme/tokens/builders/accentText.js +92 -0
- package/dist/Theme/tokens/builders/buildBrandTokens.d.ts +16 -0
- package/dist/Theme/tokens/builders/buildBrandTokens.d.ts.map +1 -0
- package/dist/Theme/tokens/builders/buildBrandTokens.js +33 -0
- package/dist/Theme/tokens/builders/buildDarkPalette.d.ts +23 -0
- package/dist/Theme/tokens/builders/buildDarkPalette.d.ts.map +1 -0
- package/dist/Theme/tokens/builders/buildDarkPalette.js +282 -0
- package/dist/Theme/tokens/builders/chartColorsFromTheme.d.ts +17 -0
- package/dist/Theme/tokens/builders/chartColorsFromTheme.d.ts.map +1 -0
- package/dist/Theme/tokens/builders/chartColorsFromTheme.js +26 -0
- package/dist/Theme/tokens/builders/color.d.ts +50 -0
- package/dist/Theme/tokens/builders/color.d.ts.map +1 -0
- package/dist/Theme/tokens/builders/color.js +156 -0
- package/dist/Theme/tokens/builders/index.d.ts +6 -0
- package/dist/Theme/tokens/builders/index.d.ts.map +1 -0
- package/dist/Theme/tokens/builders/index.js +21 -0
- package/dist/Theme/tokens/index.d.ts +15 -0
- package/dist/Theme/tokens/index.d.ts.map +1 -0
- package/dist/Theme/tokens/index.js +30 -0
- package/dist/Theme/tokens/primitives/breakpoints.d.ts +9 -0
- package/dist/Theme/tokens/primitives/breakpoints.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/breakpoints.js +10 -0
- package/dist/Theme/tokens/primitives/index.d.ts +10 -0
- package/dist/Theme/tokens/primitives/index.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/index.js +27 -0
- package/dist/Theme/tokens/primitives/letterSpacings.d.ts +10 -0
- package/dist/Theme/tokens/primitives/letterSpacings.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/letterSpacings.js +11 -0
- package/dist/Theme/tokens/primitives/lineHeights.d.ts +19 -0
- package/dist/Theme/tokens/primitives/lineHeights.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/lineHeights.js +20 -0
- package/dist/Theme/tokens/primitives/radii.d.ts +13 -0
- package/dist/Theme/tokens/primitives/radii.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/radii.js +14 -0
- package/dist/Theme/tokens/primitives/shadows.d.ts +16 -0
- package/dist/Theme/tokens/primitives/shadows.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/shadows.js +17 -0
- package/dist/Theme/tokens/primitives/sizes.d.ts +63 -0
- package/dist/Theme/tokens/primitives/sizes.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/sizes.js +39 -0
- package/dist/Theme/tokens/primitives/space.d.ts +34 -0
- package/dist/Theme/tokens/primitives/space.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/space.js +35 -0
- package/dist/Theme/tokens/primitives/typography.d.ts +73 -0
- package/dist/Theme/tokens/primitives/typography.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/typography.js +43 -0
- package/dist/Theme/tokens/primitives/zIndices.d.ts +17 -0
- package/dist/Theme/tokens/primitives/zIndices.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/zIndices.js +18 -0
- package/dist/Theme/tokens/types.d.ts +116 -0
- package/dist/Theme/tokens/types.d.ts.map +1 -0
- package/dist/Theme/tokens/types.js +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { useCustomTheme } from "../Theme/useCustomTheme";
|
|
2
|
+
|
|
3
|
+
const DefaultLogo = () => {
|
|
4
|
+
const theme = useCustomTheme();
|
|
5
|
+
return (
|
|
6
|
+
<svg
|
|
7
|
+
width="12.09"
|
|
8
|
+
height="15.95"
|
|
9
|
+
viewBox="0 0 31 29"
|
|
10
|
+
fill="none"
|
|
11
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
12
|
+
>
|
|
13
|
+
<path
|
|
14
|
+
d="M30.4999 6.26137V7.81058H15.9761H14.8787V22.8508V28.8862H12.5226C9.6824 28.8862 7.32632 26.4656 7.06812 23.3995C7.06812 23.2381 7.06812 23.0444 7.06812 22.8508V18.3323C7.06812 18.2677 7.06812 18.2032 7.06812 18.1063V15.5889V6.2291C7.06812 2.80793 9.84378 -5.72205e-06 13.2972 -5.72205e-06H24.8517C28.0147 0.355021 30.4676 3.00158 30.4676 6.2291L30.4999 6.26137Z"
|
|
15
|
+
fill={theme.colors.black}
|
|
16
|
+
/>
|
|
17
|
+
<path
|
|
18
|
+
d="M7.10053 23.3672H7.03598C5.16402 23.2381 3.48571 22.4635 2.25926 21.3338C0.871428 20.0428 0 18.2677 0 16.3312V15.6211H7.06825V18.1386C7.06825 18.2032 7.06825 18.2677 7.06825 18.3645V22.883C7.06825 23.0767 7.06825 23.2381 7.06825 23.4317L7.10053 23.3672Z"
|
|
19
|
+
fill={theme.colors.black}
|
|
20
|
+
/>
|
|
21
|
+
<path
|
|
22
|
+
d="M30.4678 12.0063V15.6211V17.1703C30.4678 20.6238 26.272 23.3994 21.0757 23.3994H14.8789V22.8508V15.6211H22.6572V7.81056C22.6895 7.81056 30.5001 7.81056 30.5001 7.81056V11.5868C30.5001 11.7159 30.5001 11.8772 30.5001 12.0063H30.4678Z"
|
|
23
|
+
fill={theme.colors.black}
|
|
24
|
+
/>
|
|
25
|
+
</svg>
|
|
26
|
+
|
|
27
|
+
)
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export default DefaultLogo;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordionColors.d.ts","sourceRoot":"","sources":["../../../src/Components/Accordion/accordionColors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,eAAO,MAAM,uBAAuB,GAClC,QAAQ,YAAY,EACpB,QAAQ,OAAO,KACd;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAczC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAccordionHoverColors = void 0;
|
|
4
|
+
const getAccordionHoverColors = (colors, isDark) => {
|
|
5
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
6
|
+
if (isDark) {
|
|
7
|
+
// primary.opacity[8] composited over the dark canvas collapses to ~1.07:1 (near-black on
|
|
8
|
+
// near-black) — gray[200] is an opaque rung that stays visibly above canvas (~1.6:1) without
|
|
9
|
+
// being as loud as the gray[300] hover fill FilterSidebar/Table already use.
|
|
10
|
+
return {
|
|
11
|
+
expandedBg: (_d = (_b = (_a = colors.gray) === null || _a === void 0 ? void 0 : _a[200]) !== null && _b !== void 0 ? _b : (_c = colors.gray) === null || _c === void 0 ? void 0 : _c[300]) !== null && _d !== void 0 ? _d : (_e = colors.gray) === null || _e === void 0 ? void 0 : _e[50],
|
|
12
|
+
softHover: (_j = (_g = (_f = colors.gray) === null || _f === void 0 ? void 0 : _f[200]) !== null && _g !== void 0 ? _g : (_h = colors.gray) === null || _h === void 0 ? void 0 : _h[300]) !== null && _j !== void 0 ? _j : (_k = colors.gray) === null || _k === void 0 ? void 0 : _k[50],
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
expandedBg: (_o = (_m = (_l = colors.primary) === null || _l === void 0 ? void 0 : _l.opacity) === null || _m === void 0 ? void 0 : _m[8]) !== null && _o !== void 0 ? _o : (_p = colors.gray) === null || _p === void 0 ? void 0 : _p[50],
|
|
17
|
+
softHover: (_s = (_r = (_q = colors.table) === null || _q === void 0 ? void 0 : _q.hover) === null || _r === void 0 ? void 0 : _r[100]) !== null && _s !== void 0 ? _s : (_t = colors.gray) === null || _t === void 0 ? void 0 : _t[50],
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
exports.getAccordionHoverColors = getAccordionHoverColors;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { CSSProperties } from "react";
|
|
2
|
+
import type { PaletteProps } from "../../Theme/tokens/types";
|
|
3
|
+
/**
|
|
4
|
+
* Maps this library's active palette to the CSS custom properties Jodit's own light/dark theme
|
|
5
|
+
* CSS reads (`node_modules/jodit/es2021/jodit.css`). Jodit's `theme: "dark" | "default"` config
|
|
6
|
+
* only toggles which of ITS OWN selectors apply (`.jodit_theme_dark`, `.jodit-ui-input_theme_dark`,
|
|
7
|
+
* …) — those selectors are still driven by Jodit's own hardcoded `--jd-dark-*` / `--jd-color-*`
|
|
8
|
+
* custom properties (a generic mid-gray `#575757` canvas, a blue `#1e88e5` accent, …), so toggling
|
|
9
|
+
* the theme alone renders the editor in Jodit's palette instead of ours. This is what shipped the
|
|
10
|
+
* reported "editor is not black" bug in dark mode.
|
|
11
|
+
*
|
|
12
|
+
* `PaletteProps.background`/`.text` are role-stable ColorScales whose LIGHTNESS (not index)
|
|
13
|
+
* flips between modes — e.g. `background[50]` is `#ffffff` in light and near-black in dark, and
|
|
14
|
+
* `text[900]` is near-black ink in light and near-white ink in dark (see
|
|
15
|
+
* `Theme/tokens/builders/buildDarkPalette.ts`). So the *same* token expression already resolves
|
|
16
|
+
* correctly in both modes; only the Jodit CSS-variable NAME differs (`--jd-dark-*` only takes
|
|
17
|
+
* effect inside `.jodit_theme_dark`, `--jd-color-*` is what the default theme reads), which is why
|
|
18
|
+
* this still branches on `isDark`.
|
|
19
|
+
*/
|
|
20
|
+
export declare const getJoditThemeVars: (colors: PaletteProps, isDark: boolean) => CSSProperties;
|
|
21
|
+
//# sourceMappingURL=joditThemeVars.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"joditThemeVars.d.ts","sourceRoot":"","sources":["../../../src/Components/Editor/joditThemeVars.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,YAAY,EAAE,QAAQ,OAAO,KAAG,aAkDzE,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getJoditThemeVars = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Maps this library's active palette to the CSS custom properties Jodit's own light/dark theme
|
|
6
|
+
* CSS reads (`node_modules/jodit/es2021/jodit.css`). Jodit's `theme: "dark" | "default"` config
|
|
7
|
+
* only toggles which of ITS OWN selectors apply (`.jodit_theme_dark`, `.jodit-ui-input_theme_dark`,
|
|
8
|
+
* …) — those selectors are still driven by Jodit's own hardcoded `--jd-dark-*` / `--jd-color-*`
|
|
9
|
+
* custom properties (a generic mid-gray `#575757` canvas, a blue `#1e88e5` accent, …), so toggling
|
|
10
|
+
* the theme alone renders the editor in Jodit's palette instead of ours. This is what shipped the
|
|
11
|
+
* reported "editor is not black" bug in dark mode.
|
|
12
|
+
*
|
|
13
|
+
* `PaletteProps.background`/`.text` are role-stable ColorScales whose LIGHTNESS (not index)
|
|
14
|
+
* flips between modes — e.g. `background[50]` is `#ffffff` in light and near-black in dark, and
|
|
15
|
+
* `text[900]` is near-black ink in light and near-white ink in dark (see
|
|
16
|
+
* `Theme/tokens/builders/buildDarkPalette.ts`). So the *same* token expression already resolves
|
|
17
|
+
* correctly in both modes; only the Jodit CSS-variable NAME differs (`--jd-dark-*` only takes
|
|
18
|
+
* effect inside `.jodit_theme_dark`, `--jd-color-*` is what the default theme reads), which is why
|
|
19
|
+
* this still branches on `isDark`.
|
|
20
|
+
*/
|
|
21
|
+
const getJoditThemeVars = (colors, isDark) => {
|
|
22
|
+
const shared = {
|
|
23
|
+
// Not remapped by `.jodit_theme_dark` in Jodit's own CSS, so one declaration covers both modes.
|
|
24
|
+
"--jd-color-border-selected": colors.primary[500],
|
|
25
|
+
// `--jd-color-panel` backs the search & replace box (`.jodit-ui-search__box`) and any other
|
|
26
|
+
// panel that isn't re-themed under `.jodit_theme_dark` (that scope overrides `--jd-color-border`
|
|
27
|
+
// itself to a hardcoded `#6b6b6b`, but never touches `--jd-color-panel`) — unset in dark mode it
|
|
28
|
+
// fell back to Jodit's own `#f9f9f9`, the reported "Search & Replace panel white" bug. Role-stable
|
|
29
|
+
// like `background`/`text`: the SAME expression already resolved correctly for the light branch.
|
|
30
|
+
"--jd-color-panel": colors.backgroundColor.secondary,
|
|
31
|
+
// Dialog/insert-link/insert-image inputs (`.jodit-ui-input__input`, `.jodit-ui-select__input`)
|
|
32
|
+
// read `--jd-color-white` as their OWN background regardless of theme unless Jodit applied its
|
|
33
|
+
// `_theme_dark` modifier class to that specific element (which reads `--jd-color-gray` instead,
|
|
34
|
+
// set below) — leaving either unset is what shipped the "white inputs" bug, since portalled
|
|
35
|
+
// dialog inputs don't reliably get the modifier class. `background[50]` is this library's
|
|
36
|
+
// established "white surface, darkens in dark mode" token (same pattern as the DatePicker
|
|
37
|
+
// month/year `<select>`), so one declaration is correct in both modes.
|
|
38
|
+
"--jd-color-white": colors.background[50],
|
|
39
|
+
};
|
|
40
|
+
if (isDark) {
|
|
41
|
+
return {
|
|
42
|
+
...shared,
|
|
43
|
+
"--jd-dark-background-color": colors.backgroundColor.main, // canvas / toolbar-box / wysiwyg bg
|
|
44
|
+
"--jd-dark-toolbar-color": colors.backgroundColor.secondary, // toolbar + status-bar bg
|
|
45
|
+
"--jd-dark-text-color": colors.text[900], // body/button/status-bar ink
|
|
46
|
+
"--jd-dark-icon-color": colors.text[700], // toolbar icon fill/stroke
|
|
47
|
+
// Was `colors.backgroundColor.muted` — computed at ~1.3:1 against the canvas (a near-miss
|
|
48
|
+
// that shipped: both values sit within ~11 lightness points of each other down near L7-18,
|
|
49
|
+
// where WCAG contrast collapses non-linearly). This backs BOTH the toolbar/dialog-button
|
|
50
|
+
// hover fill (paired with `--jd-dark-background-color` as the flipped-to-dark hover text —
|
|
51
|
+
// see `.jodit_theme_dark .jodit-ui-button:hover` in jodit.css) and the `.jodit-select`/
|
|
52
|
+
// `.jodit-input` background (paired with `--jd-dark-border-color` as its text). `background[900]`
|
|
53
|
+
// is this palette's dark-mode "bright highlight" rung (~9.7-10.7:1 against the canvas across
|
|
54
|
+
// brands) — verified numerically before this change, not assumed.
|
|
55
|
+
"--jd-dark-background-ligher": colors.background[900],
|
|
56
|
+
"--jd-dark-border-color": colors.boxborder[500], // select/input/dialog-header border
|
|
57
|
+
// `_theme_dark`-suffixed input/select variants read this instead of `--jd-color-white` above.
|
|
58
|
+
"--jd-color-gray": colors.background[50],
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
...shared,
|
|
63
|
+
"--jd-color-background-default": colors.backgroundColor.main, // workplace/popup bg
|
|
64
|
+
"--jd-color-text": colors.text[900], // base button/status-bar ink
|
|
65
|
+
"--jd-color-icon": colors.text[700], // base icon fill/stroke
|
|
66
|
+
"--jd-color-button-background-hover": colors.backgroundColor.muted, // hover bg
|
|
67
|
+
"--jd-color-border": colors.boxborder[500], // container/workplace border
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
exports.getJoditThemeVars = getJoditThemeVars;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PaletteProps } from "../../Theme/tokens/types";
|
|
2
|
+
/**
|
|
3
|
+
* FilterSidebar's hover fill for option rows, popover list items, and the accordion trigger.
|
|
4
|
+
* `gray[50]` (a pale near-white tint in light mode) sits within ~1 lightness point of the
|
|
5
|
+
* dark-mode canvas once the whole scale flips (~1.08:1 contrast) — invisible, the QA-reported
|
|
6
|
+
* "checkbox hover invisible" bug. `gray[300]` clears the resting canvas (~2.3:1, a clear visible
|
|
7
|
+
* cue) while staying dark enough that the existing `gray[700]`/`gray[800]` row text (tuned for a
|
|
8
|
+
* near-black canvas) still reads at/above AA (~4.9:1+) on top of it — no text-color flip needed
|
|
9
|
+
* here, unlike the Table row hover fix.
|
|
10
|
+
*/
|
|
11
|
+
export declare const getFilterHoverBg: (colors: PaletteProps, isDark: boolean) => string;
|
|
12
|
+
//# sourceMappingURL=filterHoverStyle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterHoverStyle.d.ts","sourceRoot":"","sources":["../../../src/Components/FilterSidebar/filterHoverStyle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,YAAY,EAAE,QAAQ,OAAO,KAAG,MAC5B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFilterHoverBg = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* FilterSidebar's hover fill for option rows, popover list items, and the accordion trigger.
|
|
6
|
+
* `gray[50]` (a pale near-white tint in light mode) sits within ~1 lightness point of the
|
|
7
|
+
* dark-mode canvas once the whole scale flips (~1.08:1 contrast) — invisible, the QA-reported
|
|
8
|
+
* "checkbox hover invisible" bug. `gray[300]` clears the resting canvas (~2.3:1, a clear visible
|
|
9
|
+
* cue) while staying dark enough that the existing `gray[700]`/`gray[800]` row text (tuned for a
|
|
10
|
+
* near-black canvas) still reads at/above AA (~4.9:1+) on top of it — no text-color flip needed
|
|
11
|
+
* here, unlike the Table row hover fix.
|
|
12
|
+
*/
|
|
13
|
+
const getFilterHoverBg = (colors, isDark) => isDark ? colors.gray[300] : colors.gray[50];
|
|
14
|
+
exports.getFilterHoverBg = getFilterHoverBg;
|
|
@@ -31,28 +31,30 @@ const CreateOrgModal = ({ isOpen, onClose, isLoading, onSubmit, labels, }) => {
|
|
|
31
31
|
setErrors((prev) => ({ ...prev, [key]: undefined }));
|
|
32
32
|
};
|
|
33
33
|
const validate = () => {
|
|
34
|
+
var _a, _b;
|
|
34
35
|
const next = {};
|
|
35
36
|
if (!values.company_name.trim())
|
|
36
37
|
next.company_name = labels.requiredField;
|
|
37
38
|
if (!values.company_address.trim())
|
|
38
39
|
next.company_address = labels.requiredField;
|
|
39
|
-
const digits = values.phone.replace(/\D/g, "");
|
|
40
|
-
if (!values.phone.trim()) {
|
|
40
|
+
const digits = (_a = values === null || values === void 0 ? void 0 : values.phone) === null || _a === void 0 ? void 0 : _a.replace(/\D/g, "");
|
|
41
|
+
if (!((_b = values === null || values === void 0 ? void 0 : values.phone) === null || _b === void 0 ? void 0 : _b.trim())) {
|
|
41
42
|
next.phone = labels.requiredField;
|
|
42
43
|
}
|
|
43
|
-
else if (digits.length < 8) {
|
|
44
|
+
else if (digits && (digits === null || digits === void 0 ? void 0 : digits.length) < 8) {
|
|
44
45
|
next.phone = labels.invalidPhone;
|
|
45
46
|
}
|
|
46
47
|
setErrors(next);
|
|
47
48
|
return Object.keys(next).length === 0;
|
|
48
49
|
};
|
|
49
50
|
const handleSubmit = () => {
|
|
51
|
+
var _a;
|
|
50
52
|
if (!validate())
|
|
51
53
|
return;
|
|
52
54
|
onSubmit({
|
|
53
55
|
company_name: values.company_name.trim(),
|
|
54
56
|
company_address: values.company_address.trim(),
|
|
55
|
-
phone: values.phone.trim(),
|
|
57
|
+
phone: (_a = values === null || values === void 0 ? void 0 : values.phone) === null || _a === void 0 ? void 0 : _a.trim(),
|
|
56
58
|
});
|
|
57
59
|
};
|
|
58
60
|
return ((0, jsx_runtime_1.jsxs)(react_2.Modal, { isOpen: isOpen, onClose: onClose, isCentered: true, autoFocus: false, children: [(0, jsx_runtime_1.jsx)(react_2.ModalOverlay, { backdropFilter: "blur(4px)" }), (0, jsx_runtime_1.jsxs)(react_2.ModalContent, { borderRadius: "2xl", overflow: "hidden", children: [(0, jsx_runtime_1.jsx)(react_2.ModalHeader, { borderBottom: "1px solid", borderColor: (_b = (_a = colors === null || colors === void 0 ? void 0 : colors.boxborder) === null || _a === void 0 ? void 0 : _a[200]) !== null && _b !== void 0 ? _b : (_c = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _c === void 0 ? void 0 : _c[200], fontSize: "1.05rem", fontWeight: 600, children: labels.createOrganization }), (0, jsx_runtime_1.jsx)(react_2.ModalCloseButton, {}), (0, jsx_runtime_1.jsxs)(react_2.ModalBody, { py: 6, children: [(0, jsx_runtime_1.jsxs)(react_2.VStack, { spacing: 4, align: "stretch", children: [(0, jsx_runtime_1.jsx)(TextInput_1.default, { label: labels.companyName, value: values.company_name, onChange: (e) => setField("company_name", e.target.value), isRequired: true, width: "100%", placeholder: "Enter Company Name", error: !!errors.company_name, errorMessage: errors.company_name }), (0, jsx_runtime_1.jsx)(TextInput_1.default, { label: labels.companyAddress, value: values.company_address, onChange: (e) => setField("company_address", e.target.value), isRequired: true, width: "100%", placeholder: "Enter Company Address", error: !!errors.company_address, errorMessage: errors.company_address }), (0, jsx_runtime_1.jsx)(TextInput_1.default, { label: labels.phone, value: values.phone, onChange: (e) => setField("phone", e.target.value), isRequired: true, width: "100%", placeholder: "Enter Phone Number", error: !!errors.phone, errorMessage: errors.phone })] }), (0, jsx_runtime_1.jsxs)(react_2.HStack, { justifyContent: "center", spacing: 4, mt: 6, children: [(0, jsx_runtime_1.jsx)(Button_1.default, { label: labels.cancel, onClick: onClose, variant: "outline", colorScheme: "red", size: "sm" }), (0, jsx_runtime_1.jsx)(Button_1.default, { label: labels.submit, onClick: handleSubmit, colorScheme: "primary", size: "sm", isLoading: isLoading })] })] })] })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrganizationDetails.d.ts","sourceRoot":"","sources":["../../../src/Components/OrganizationDetails/OrganizationDetails.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"OrganizationDetails.d.ts","sourceRoot":"","sources":["../../../src/Components/OrganizationDetails/OrganizationDetails.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAoCjD,OAAO,EAEL,wBAAwB,EAEzB,MAAM,4BAA4B,CAAC;AAwCpC,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAgf3D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -30,6 +30,10 @@ const DEFAULT_LABELS = {
|
|
|
30
30
|
deleteOrganization: "Delete Organization",
|
|
31
31
|
protectedOrganization: "Protected organization",
|
|
32
32
|
delete: "Delete",
|
|
33
|
+
editOrganization: "Edit organization name",
|
|
34
|
+
save: "Save",
|
|
35
|
+
saving: "Saving...",
|
|
36
|
+
emptyNameError: "Organization name cannot be empty",
|
|
33
37
|
noOrganizationsTitle: "No organizations found",
|
|
34
38
|
noOrganizationsDescription: "Get started by creating your first organization or wait for an invitation",
|
|
35
39
|
companyName: "Company Name",
|
|
@@ -44,12 +48,16 @@ const DEFAULT_LABELS = {
|
|
|
44
48
|
copyright: "Pixelize Corp. All rights reserved.",
|
|
45
49
|
termsOfService: "Terms of Service",
|
|
46
50
|
};
|
|
47
|
-
const OrganizationDetails = ({ activeOrganizations, invitedOrganizations, isLoading = false, switchingOrgIds = [], respondingOrgIds = [], isCreating = false, userName, userAvatarUrl, onSetDefault, onAcceptInvite, onDeclineInvite, onDeleteOrganization, onCreateOrganization, onBack, footerSlot, labels: labelOverrides, }) => {
|
|
51
|
+
const OrganizationDetails = ({ activeOrganizations, invitedOrganizations, isLoading = false, switchingOrgIds = [], respondingOrgIds = [], editingOrgIds = [], isCreating = false, userName, userAvatarUrl, onSetDefault, onAcceptInvite, onDeclineInvite, onDeleteOrganization, onCreateOrganization, onEditOrganization, onBack, footerSlot, labels: labelOverrides, }) => {
|
|
48
52
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
|
|
49
53
|
const { colors } = (0, useCustomTheme_1.useCustomTheme)();
|
|
50
54
|
const labels = (0, react_1.useMemo)(() => ({ ...DEFAULT_LABELS, ...labelOverrides }), [labelOverrides]);
|
|
51
55
|
const [isCreateOpen, setCreateOpen] = (0, react_1.useState)(false);
|
|
52
56
|
const [deleteOrgId, setDeleteOrgId] = (0, react_1.useState)(null);
|
|
57
|
+
// --- Inline "edit organization name" state ---
|
|
58
|
+
const [editingOrgId, setEditingOrgId] = (0, react_1.useState)(null);
|
|
59
|
+
const [editValue, setEditValue] = (0, react_1.useState)("");
|
|
60
|
+
const [editError, setEditError] = (0, react_1.useState)("");
|
|
53
61
|
const border = (_d = (_b = (_a = colors === null || colors === void 0 ? void 0 : colors.boxborder) === null || _a === void 0 ? void 0 : _a[200]) !== null && _b !== void 0 ? _b : (_c = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _c === void 0 ? void 0 : _c[200]) !== null && _d !== void 0 ? _d : "#E2E8F0";
|
|
54
62
|
const surface = (_e = colors === null || colors === void 0 ? void 0 : colors.white) !== null && _e !== void 0 ? _e : "#FFFFFF";
|
|
55
63
|
const muted = (_g = (_f = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _f === void 0 ? void 0 : _f[500]) !== null && _g !== void 0 ? _g : "#64748B";
|
|
@@ -68,18 +76,56 @@ const OrganizationDetails = ({ activeOrganizations, invitedOrganizations, isLoad
|
|
|
68
76
|
boxShadow: "0 1px 2px rgba(16,24,40,0.05)",
|
|
69
77
|
};
|
|
70
78
|
const sectionBadge = (count, scheme) => ((0, jsx_runtime_1.jsx)(react_2.Badge, { colorScheme: scheme, variant: "subtle", borderRadius: "full", px: 2, py: 0.5, fontSize: "0.65rem", children: count }));
|
|
79
|
+
const startEditing = (item) => {
|
|
80
|
+
setEditingOrgId(item.orgId);
|
|
81
|
+
setEditValue(item.company_name);
|
|
82
|
+
setEditError("");
|
|
83
|
+
};
|
|
84
|
+
const cancelEditing = () => {
|
|
85
|
+
setEditingOrgId(null);
|
|
86
|
+
setEditValue("");
|
|
87
|
+
setEditError("");
|
|
88
|
+
};
|
|
89
|
+
const submitEditing = async (item) => {
|
|
90
|
+
const trimmed = editValue.trim();
|
|
91
|
+
if (!trimmed) {
|
|
92
|
+
setEditError(labels.emptyNameError);
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (trimmed === item.company_name) {
|
|
96
|
+
cancelEditing();
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
await (onEditOrganization === null || onEditOrganization === void 0 ? void 0 : onEditOrganization(item.orgId, trimmed));
|
|
100
|
+
setEditingOrgId(null);
|
|
101
|
+
setEditValue("");
|
|
102
|
+
setEditError("");
|
|
103
|
+
};
|
|
71
104
|
const renderActiveCard = (item) => {
|
|
72
|
-
var _a, _b, _c, _d, _e, _f;
|
|
105
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
73
106
|
const isSwitching = switchingOrgIds.includes(item.orgId);
|
|
74
107
|
const isProtected = item.defaultOrg === 1;
|
|
108
|
+
const isEditingThis = editingOrgId === item.orgId;
|
|
109
|
+
const isSavingThis = editingOrgIds.includes(item.orgId);
|
|
75
110
|
return ((0, jsx_runtime_1.jsxs)(react_2.Box, { ...cardSx, p: 3, position: "relative", transition: "all 0.2s ease", _hover: {
|
|
76
111
|
borderColor: (_b = (_a = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _a === void 0 ? void 0 : _a[300]) !== null && _b !== void 0 ? _b : "#A5B4FC",
|
|
77
112
|
boxShadow: "0 8px 24px rgba(16,24,40,0.10)",
|
|
78
113
|
transform: "translateY(-3px)",
|
|
79
|
-
}, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { justifyContent: "space-between", alignItems: "
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
114
|
+
}, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { justifyContent: "space-between", alignItems: "center", mb: 2, children: [(0, jsx_runtime_1.jsx)(react_2.Flex, { align: "center", justify: "center", boxSize: "36px", borderRadius: "lg", bg: primary50, color: primary600, children: (0, jsx_runtime_1.jsx)(lucide_react_1.Building2, { size: 18 }) }), (0, jsx_runtime_1.jsxs)(react_2.HStack, { spacing: 1, children: [item.default === 1 ? ((0, jsx_runtime_1.jsxs)(react_2.Badge, { colorScheme: "green", borderRadius: "full", px: 2, py: 0.5, display: "flex", alignItems: "center", gap: 1, fontSize: "0.7rem", fontWeight: 600, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.CheckCircle2, { size: 12 }), labels.default] })) : isSwitching ? ((0, jsx_runtime_1.jsxs)(react_2.Flex, { align: "center", gap: 2, color: primary500, children: [(0, jsx_runtime_1.jsx)(react_2.Spinner, { size: "sm" }), (0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "xs", children: labels.settingDefault })] })) : ((0, jsx_runtime_1.jsxs)(react_2.Flex, { align: "center", gap: 1, fontSize: "xs", color: primary600, fontWeight: 600, cursor: "pointer", _hover: { color: primary500, gap: 2 }, transition: "all 0.2s ease", onClick: () => onSetDefault === null || onSetDefault === void 0 ? void 0 : onSetDefault(item.orgId), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.CheckCircle2, { size: 12 }), (0, jsx_runtime_1.jsx)(react_2.Text, { children: labels.setAsDefault })] })), (0, jsx_runtime_1.jsx)(react_2.Tooltip, { label: labels.editOrganization, hasArrow: true, children: (0, jsx_runtime_1.jsx)(react_2.IconButton, { "aria-label": labels.editOrganization, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.Pencil, { size: 12 }), size: "xs", variant: "ghost", color: muted, borderRadius: "full", _hover: { color: primary600, bg: primary50 }, onClick: () => startEditing(item) }) }), (0, jsx_runtime_1.jsx)(react_2.Tooltip, { label: isProtected
|
|
115
|
+
? labels.protectedOrganization
|
|
116
|
+
: labels.deleteOrganization, hasArrow: true, children: (0, jsx_runtime_1.jsx)(react_2.IconButton, { "aria-label": labels.deleteOrganization, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.Trash2, { size: 12 }), size: "xs", variant: "ghost", borderRadius: "full", color: muted, isDisabled: isProtected, _hover: {
|
|
117
|
+
bg: (_d = (_c = colors === null || colors === void 0 ? void 0 : colors.red) === null || _c === void 0 ? void 0 : _c[50]) !== null && _d !== void 0 ? _d : "#FEF2F2",
|
|
118
|
+
color: (_f = (_e = colors === null || colors === void 0 ? void 0 : colors.red) === null || _e === void 0 ? void 0 : _e[600]) !== null && _f !== void 0 ? _f : "#DC2626",
|
|
119
|
+
}, onClick: () => setDeleteOrgId(item.orgId) }) })] })] }), isEditingThis ? ((0, jsx_runtime_1.jsxs)(react_2.Box, { children: [(0, jsx_runtime_1.jsxs)(react_2.HStack, { spacing: 1, children: [(0, jsx_runtime_1.jsx)(react_2.Input, { value: editValue, onChange: (e) => {
|
|
120
|
+
setEditValue(e.target.value);
|
|
121
|
+
if (editError)
|
|
122
|
+
setEditError("");
|
|
123
|
+
}, size: "sm", fontSize: "sm", fontWeight: 700, autoFocus: true, isDisabled: isSavingThis, onKeyDown: (e) => {
|
|
124
|
+
if (e.key === "Enter")
|
|
125
|
+
submitEditing(item);
|
|
126
|
+
if (e.key === "Escape")
|
|
127
|
+
cancelEditing();
|
|
128
|
+
} }), (0, jsx_runtime_1.jsx)(react_2.IconButton, { "aria-label": labels.save, icon: isSavingThis ? (0, jsx_runtime_1.jsx)(react_2.Spinner, { size: "xs" }) : (0, jsx_runtime_1.jsx)(lucide_react_1.Check, { size: 14 }), size: "xs", colorScheme: "green", isDisabled: isSavingThis, onClick: () => submitEditing(item) }), (0, jsx_runtime_1.jsx)(react_2.IconButton, { "aria-label": labels.cancel, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { size: 14 }), size: "xs", variant: "ghost", isDisabled: isSavingThis, onClick: cancelEditing })] }), editError && ((0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "0.7rem", color: (_h = (_g = colors === null || colors === void 0 ? void 0 : colors.red) === null || _g === void 0 ? void 0 : _g[600]) !== null && _h !== void 0 ? _h : "#DC2626", mt: 1, children: editError }))] })) : ((0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", fontWeight: 700, color: heading, noOfLines: 1, children: item.company_name }))] }, item.orgId));
|
|
83
129
|
};
|
|
84
130
|
const renderInvitedCard = (item) => {
|
|
85
131
|
var _a, _b, _c, _d;
|
|
@@ -100,7 +146,9 @@ const OrganizationDetails = ({ activeOrganizations, invitedOrganizations, isLoad
|
|
|
100
146
|
width: "100%",
|
|
101
147
|
};
|
|
102
148
|
const hasOrganizations = activeOrganizations.length > 0 || invitedOrganizations.length > 0;
|
|
103
|
-
return ((0, jsx_runtime_1.jsxs)(react_2.Box, { backgroundColor: pageBg, minHeight: "100%", p: { base: 2, md: 3 }, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { ...cardSx, px: 3, py: 2.5, mb: 3, alignItems: "center", justifyContent: "space-between", flexWrap: "wrap", gap: 3, bgGradient: `linear(135deg, ${primary50} 0%, ${primary100} 100%)`, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { alignItems: "center", gap: 3, children: [onBack && ((0, jsx_runtime_1.jsx)(react_2.IconButton, { "aria-label": "Go back", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ArrowLeft, { size: 18 }), variant: "ghost", size: "sm", color: subtle, onClick: onBack })), (0, jsx_runtime_1.jsx)(react_2.Flex, { align: "center", justify: "center", boxSize: "36px", borderRadius: "full", bg: primary500, color: "white", children: (0, jsx_runtime_1.jsx)(lucide_react_1.Building2, { size: 18 }) }), (0, jsx_runtime_1.jsxs)(react_2.Box, { children: [(0, jsx_runtime_1.jsxs)(react_2.HStack, { spacing: 2, children: [(0, jsx_runtime_1.jsx)(react_2.Heading, { size: "sm", color: heading, fontWeight: 700, children: userName
|
|
149
|
+
return ((0, jsx_runtime_1.jsxs)(react_2.Box, { backgroundColor: pageBg, minHeight: "100%", p: { base: 2, md: 3 }, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { ...cardSx, px: 3, py: 2.5, mb: 3, alignItems: "center", justifyContent: "space-between", flexWrap: "wrap", gap: 3, bgGradient: `linear(135deg, ${primary50} 0%, ${primary100} 100%)`, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { alignItems: "center", gap: 3, children: [onBack && ((0, jsx_runtime_1.jsx)(react_2.IconButton, { "aria-label": "Go back", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ArrowLeft, { size: 18 }), variant: "ghost", size: "sm", color: subtle, onClick: onBack })), (0, jsx_runtime_1.jsx)(react_2.Flex, { align: "center", justify: "center", boxSize: "36px", borderRadius: "full", bg: primary500, color: "white", children: (0, jsx_runtime_1.jsx)(lucide_react_1.Building2, { size: 18 }) }), (0, jsx_runtime_1.jsxs)(react_2.Box, { children: [(0, jsx_runtime_1.jsxs)(react_2.HStack, { spacing: 2, children: [(0, jsx_runtime_1.jsx)(react_2.Heading, { size: "sm", color: heading, fontWeight: 700, children: userName
|
|
150
|
+
? `${labels.greeting.replace(/User!?/, "")}${userName}!`.trim()
|
|
151
|
+
: labels.greeting }), (0, jsx_runtime_1.jsx)(react_2.Avatar, { size: "xs", name: userName, src: userAvatarUrl })] }), (0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "xs", color: subtle, mt: 0.5, children: labels.manageSubtitle })] })] }), (0, jsx_runtime_1.jsx)(Button_1.default, { label: labels.createNewOrganization, onClick: () => setCreateOpen(true), leftIcon: (0, jsx_runtime_1.jsx)(lucide_react_1.Plus, { size: 16 }), colorScheme: "primary", size: "sm" })] }), isLoading ? ((0, jsx_runtime_1.jsx)(react_2.Box, { ...gridSx, children: Array.from({ length: 6 }).map((_, idx) => ((0, jsx_runtime_1.jsxs)(react_2.Box, { ...cardSx, p: 3, children: [(0, jsx_runtime_1.jsx)(react_2.Skeleton, { boxSize: "36px", borderRadius: "lg", mb: 2 }), (0, jsx_runtime_1.jsx)(react_2.SkeletonText, { noOfLines: 2, spacing: 2 })] }, idx))) })) : !hasOrganizations ? ((0, jsx_runtime_1.jsx)(EmptyState_1.default, { icon: lucide_react_1.Building2, title: labels.noOrganizationsTitle, description: labels.noOrganizationsDescription, minH: "40vh", action: (0, jsx_runtime_1.jsx)(Button_1.default, { label: labels.createOrganization, onClick: () => setCreateOpen(true), leftIcon: (0, jsx_runtime_1.jsx)(lucide_react_1.Plus, { size: 16 }), colorScheme: "primary", size: "sm" }) })) : ((0, jsx_runtime_1.jsxs)(react_2.VStack, { align: "stretch", spacing: 4, children: [activeOrganizations.length > 0 && ((0, jsx_runtime_1.jsxs)(react_2.Box, { children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { align: "center", gap: 2, mb: 2, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Users, { size: 16, color: primary500 }), (0, jsx_runtime_1.jsx)(react_2.Heading, { size: "sm", color: heading, fontWeight: 600, children: labels.activeOrganizations }), sectionBadge(activeOrganizations.length, "blue")] }), (0, jsx_runtime_1.jsx)(react_2.Box, { ...gridSx, children: activeOrganizations.map(renderActiveCard) })] })), invitedOrganizations.length > 0 && ((0, jsx_runtime_1.jsxs)(react_2.Box, { children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { align: "center", gap: 2, mb: 2, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Mail, { size: 16, color: (_y = (_x = colors === null || colors === void 0 ? void 0 : colors.yellow) === null || _x === void 0 ? void 0 : _x[500]) !== null && _y !== void 0 ? _y : "#EAB308" }), (0, jsx_runtime_1.jsx)(react_2.Heading, { size: "sm", color: heading, fontWeight: 600, children: labels.invitedOrganizations }), sectionBadge(invitedOrganizations.length, "yellow")] }), (0, jsx_runtime_1.jsx)(react_2.Box, { ...gridSx, children: invitedOrganizations.map(renderInvitedCard) })] }))] })), footerSlot, (0, jsx_runtime_1.jsx)(CreateOrgModal_1.default, { isOpen: isCreateOpen, onClose: () => setCreateOpen(false), isLoading: isCreating, onSubmit: async (values) => {
|
|
104
152
|
await (onCreateOrganization === null || onCreateOrganization === void 0 ? void 0 : onCreateOrganization(values));
|
|
105
153
|
setCreateOpen(false);
|
|
106
154
|
}, labels: labels }), (0, jsx_runtime_1.jsx)(DeleteOrgModal_1.default, { isOpen: deleteOrgId !== null, onClose: () => setDeleteOrgId(null), onConfirm: async () => {
|
|
@@ -2,7 +2,7 @@ import { ReactNode } from "react";
|
|
|
2
2
|
export type OrganizationItem = {
|
|
3
3
|
orgId: number;
|
|
4
4
|
company_name: string;
|
|
5
|
-
company_url
|
|
5
|
+
company_url?: string;
|
|
6
6
|
/** 1 when this org is the user's default org. */
|
|
7
7
|
default: number;
|
|
8
8
|
/** 1 = active/accepted, 0 = pending invite. */
|
|
@@ -13,12 +13,10 @@ export type OrganizationItem = {
|
|
|
13
13
|
export type CreateOrgFormValues = {
|
|
14
14
|
company_name: string;
|
|
15
15
|
company_address: string;
|
|
16
|
-
phone
|
|
16
|
+
phone?: string;
|
|
17
|
+
default?: number;
|
|
18
|
+
defaultOrg?: number;
|
|
17
19
|
};
|
|
18
|
-
/**
|
|
19
|
-
* All user-facing strings. Provide translated values from the host app; every
|
|
20
|
-
* key has a sensible English default so the component works standalone.
|
|
21
|
-
*/
|
|
22
20
|
export type OrganizationDetailsLabels = {
|
|
23
21
|
greeting?: string;
|
|
24
22
|
manageSubtitle?: string;
|
|
@@ -37,6 +35,10 @@ export type OrganizationDetailsLabels = {
|
|
|
37
35
|
deleteOrganization?: string;
|
|
38
36
|
protectedOrganization?: string;
|
|
39
37
|
delete?: string;
|
|
38
|
+
editOrganization?: string;
|
|
39
|
+
save?: string;
|
|
40
|
+
saving?: string;
|
|
41
|
+
emptyNameError?: string;
|
|
40
42
|
noOrganizationsTitle?: string;
|
|
41
43
|
noOrganizationsDescription?: string;
|
|
42
44
|
companyName?: string;
|
|
@@ -51,23 +53,31 @@ export type OrganizationDetailsLabels = {
|
|
|
51
53
|
copyright?: string;
|
|
52
54
|
termsOfService?: string;
|
|
53
55
|
};
|
|
56
|
+
export interface CreateOrganizationValues {
|
|
57
|
+
company_name: string;
|
|
58
|
+
company_address?: string;
|
|
59
|
+
phone?: string;
|
|
60
|
+
}
|
|
54
61
|
export interface OrganizationDetailsProps {
|
|
55
62
|
activeOrganizations: OrganizationItem[];
|
|
56
63
|
invitedOrganizations: OrganizationItem[];
|
|
57
64
|
isLoading?: boolean;
|
|
58
|
-
|
|
65
|
+
isCreating?: boolean;
|
|
66
|
+
/** orgIds currently switching to default (shows a spinner on that card) */
|
|
59
67
|
switchingOrgIds?: number[];
|
|
60
|
-
/**
|
|
68
|
+
/** orgIds currently accepting/declining an invite (shows a spinner on that card) */
|
|
61
69
|
respondingOrgIds?: number[];
|
|
62
|
-
|
|
63
|
-
|
|
70
|
+
/** orgIds currently saving a renamed organization (shows a spinner on that card) */
|
|
71
|
+
editingOrgIds?: number[];
|
|
64
72
|
userName?: string;
|
|
65
73
|
userAvatarUrl?: string;
|
|
66
|
-
onSetDefault?: (orgId: number) => void
|
|
67
|
-
onAcceptInvite?: (orgId: number) => void
|
|
68
|
-
onDeclineInvite?: (orgId: number) => void
|
|
74
|
+
onSetDefault?: (orgId: number) => void | Promise<void>;
|
|
75
|
+
onAcceptInvite?: (orgId: number) => void | Promise<void>;
|
|
76
|
+
onDeclineInvite?: (orgId: number) => void | Promise<void>;
|
|
69
77
|
onDeleteOrganization?: (orgId: number) => void | Promise<void>;
|
|
70
|
-
onCreateOrganization?: (values:
|
|
78
|
+
onCreateOrganization?: (values: CreateOrganizationValues) => void | Promise<void>;
|
|
79
|
+
/** Called when the user confirms a new name for an organization */
|
|
80
|
+
onEditOrganization?: (orgId: number, newName: string) => void | Promise<void>;
|
|
71
81
|
onBack?: () => void;
|
|
72
82
|
footerSlot?: ReactNode;
|
|
73
83
|
labels?: OrganizationDetailsLabels;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrganizationDetailsProps.d.ts","sourceRoot":"","sources":["../../../src/Components/OrganizationDetails/OrganizationDetailsProps.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"OrganizationDetailsProps.d.ts","sourceRoot":"","sources":["../../../src/Components/OrganizationDetails/OrganizationDetailsProps.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,EAAE,CAAC;IAEzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,oBAAoB,CAAC,EAAE,CACrB,MAAM,EAAE,wBAAwB,KAC7B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,yBAAyB,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,EAAE,QAAQ,CACd,IAAI,CACF,yBAAyB,EACvB,oBAAoB,GACpB,aAAa,GACb,gBAAgB,GAChB,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,eAAe,GACf,cAAc,CACjB,CACF,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,EAAE,QAAQ,CACd,IAAI,CACF,yBAAyB,EACzB,iBAAiB,GAAG,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,CAC9D,CACF,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectV2.d.ts","sourceRoot":"","sources":["../../../src/Components/SelectV2/SelectV2.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAc,aAAa,EAAgB,MAAM,iBAAiB,CAAC;AAY1E,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAiYpD"}
|