@cwncollab-org/mui-component-kit 0.4.2 → 0.4.5

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.
Files changed (43) hide show
  1. package/dist/form/MaskedInput.d.ts.map +1 -1
  2. package/dist/form/MaskedInput.js +2 -7
  3. package/dist/form/MaskedInput.js.map +1 -1
  4. package/dist/form/MaskedInputAdapter.d.ts +17 -0
  5. package/dist/form/MaskedInputAdapter.d.ts.map +1 -0
  6. package/dist/form/MaskedInputAdapter.js +10 -0
  7. package/dist/form/MaskedInputAdapter.js.map +1 -0
  8. package/dist/form/MaskedTextField.d.ts.map +1 -1
  9. package/dist/form/MaskedTextField.js +1 -6
  10. package/dist/form/MaskedTextField.js.map +1 -1
  11. package/package.json +1 -1
  12. package/dist/layout/AppBar.d.ts +0 -20
  13. package/dist/layout/AppBar.d.ts.map +0 -1
  14. package/dist/layout/AppBar.js +0 -17
  15. package/dist/layout/AppBar.js.map +0 -1
  16. package/dist/layout/AppBarMenu.d.ts +0 -12
  17. package/dist/layout/AppBarMenu.d.ts.map +0 -1
  18. package/dist/layout/AppBarMenu.js +0 -26
  19. package/dist/layout/AppBarMenu.js.map +0 -1
  20. package/dist/layout/AppLayout.d.ts +0 -23
  21. package/dist/layout/AppLayout.d.ts.map +0 -1
  22. package/dist/layout/AppLayout.js +0 -71
  23. package/dist/layout/AppLayout.js.map +0 -1
  24. package/dist/layout/index.d.ts +0 -4
  25. package/dist/layout/index.d.ts.map +0 -1
  26. package/dist/layout/index.js +0 -3
  27. package/dist/layout/index.js.map +0 -1
  28. package/dist/layout/types.d.ts +0 -11
  29. package/dist/layout/types.d.ts.map +0 -1
  30. package/dist/layout/types.js +0 -2
  31. package/dist/layout/types.js.map +0 -1
  32. package/dist/tabs/removeTrailingSlash.d.ts +0 -7
  33. package/dist/tabs/removeTrailingSlash.d.ts.map +0 -1
  34. package/dist/tabs/removeTrailingSlash.js +0 -9
  35. package/dist/tabs/removeTrailingSlash.js.map +0 -1
  36. package/dist/tabs/removeTrailingSlash.test.d.ts +0 -2
  37. package/dist/tabs/removeTrailingSlash.test.d.ts.map +0 -1
  38. package/dist/tabs/removeTrailingSlash.test.js +0 -19
  39. package/dist/tabs/removeTrailingSlash.test.js.map +0 -1
  40. package/dist/tabs/routerTabHooks.d.ts +0 -2
  41. package/dist/tabs/routerTabHooks.d.ts.map +0 -1
  42. package/dist/tabs/routerTabHooks.js +0 -9
  43. package/dist/tabs/routerTabHooks.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MaskedInput.d.ts","sourceRoot":"","sources":["../../src/lib/form/MaskedInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAAE,MAAM,aAAa,CAAA;AAIzD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,CAAA;AA0BD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAiBlD"}
1
+ {"version":3,"file":"MaskedInput.d.ts","sourceRoot":"","sources":["../../src/lib/form/MaskedInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAI7C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,CAAA;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAgBlD"}
@@ -1,14 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { IMaskInput } from 'react-imask';
3
2
  import { Input as MuiInput } from '@mui/material';
4
- import React from 'react';
5
- const TextMaskCustom = React.forwardRef(function TextMaskCustom(props, ref) {
6
- const { onChange, ...other } = props;
7
- return (_jsx(IMaskInput, { ...other, inputRef: ref, onAccept: (value) => onChange({ target: { name: props.name, value } }), overwrite: true }));
8
- });
3
+ import { MaskedInputAdapter } from './MaskedInputAdapter';
9
4
  export function MaskedInput(props) {
10
5
  const { mask, value, onChange, definitions, blocks, pattern } = props;
11
- return (_jsx(MuiInput, { value: value, onChange: e => onChange?.(e.target.value), name: 'maskedInput', inputComponent: TextMaskCustom, inputProps: {
6
+ return (_jsx(MuiInput, { value: value, onChange: e => onChange?.(e.target.value), inputComponent: MaskedInputAdapter, inputProps: {
12
7
  mask: mask,
13
8
  definitions: definitions,
14
9
  blocks: blocks,
@@ -1 +1 @@
1
- {"version":3,"file":"MaskedInput.js","sourceRoot":"","sources":["../../src/lib/form/MaskedInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,MAAM,OAAO,CAAA;AAmBzB,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,SAAS,cAAc,CAAC,KAAK,EAAE,GAAG;IAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAA;IACpC,OAAO,CACL,KAAC,UAAU,OACJ,KAAa,EAClB,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,CAAC,KAAU,EAAE,EAAE,CACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAEnD,SAAS,SACT,CACH,CAAA;AACH,CAAC,CACF,CAAA;AAED,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IAErE,OAAO,CACL,KAAC,QAAQ,IACP,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,IAAI,EAAC,aAAa,EAClB,cAAc,EAAE,cAAqB,EACrC,UAAU,EAAE;YACV,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,WAAW;YACxB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;SACjB,GACD,CACH,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"MaskedInput.js","sourceRoot":"","sources":["../../src/lib/form/MaskedInput.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAWzD,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IAErE,OAAO,CACL,KAAC,QAAQ,IACP,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,cAAc,EAAE,kBAAyB,EACzC,UAAU,EAAE;YACV,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,WAAW;YACxB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;SACjB,GACD,CACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { IMaskInputProps } from 'react-imask';
3
+ export type MaskedInputAdapterProps = {
4
+ onChange: (event: {
5
+ target: {
6
+ name: string;
7
+ value: string;
8
+ };
9
+ }) => void;
10
+ name: string;
11
+ mask: IMaskInputProps<HTMLInputElement>['mask'];
12
+ definitions?: Record<string, RegExp>;
13
+ blocks?: Record<string, any>;
14
+ overwrite?: boolean;
15
+ };
16
+ export declare const MaskedInputAdapter: React.ForwardRefExoticComponent<MaskedInputAdapterProps & React.RefAttributes<HTMLInputElement>>;
17
+ //# sourceMappingURL=MaskedInputAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaskedInputAdapter.d.ts","sourceRoot":"","sources":["../../src/lib/form/MaskedInputAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAc,eAAe,EAAE,MAAM,aAAa,CAAA;AAEzD,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,KAAK,IAAI,CAAA;IACtE,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,kBAAkB,kGAc7B,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { IMaskInput } from 'react-imask';
4
+ export const MaskedInputAdapter = React.forwardRef(function MaskedInputAdapter(props, ref) {
5
+ const { onChange, ...other } = props;
6
+ return (_jsx(IMaskInput, { ...other, inputRef: ref, onComplete: (value) => {
7
+ onChange({ target: { name: props.name, value } });
8
+ } }));
9
+ });
10
+ //# sourceMappingURL=MaskedInputAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaskedInputAdapter.js","sourceRoot":"","sources":["../../src/lib/form/MaskedInputAdapter.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAmB,MAAM,aAAa,CAAA;AAWzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAGhD,SAAS,kBAAkB,CAAC,KAAK,EAAE,GAAG;IACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAA;IACpC,OAAO,CACL,KAAC,UAAU,OACJ,KAAa,EAClB,QAAQ,EAAE,GAAG,EACb,UAAU,EAAE,CAAC,KAAU,EAAE,EAAE;YACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;QACnD,CAAC,GACD,CACH,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MaskedTextField.d.ts","sourceRoot":"","sources":["../../src/lib/form/MaskedTextField.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAa,cAAc,EAAE,MAAM,aAAa,CAAA;AAGvD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG;IACrE,IAAI,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACjC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd,SAAS,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;QACvD,KAAK,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAA;KACnD,CAAA;CACF,CAAA;AAkBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAsB1D"}
1
+ {"version":3,"file":"MaskedTextField.d.ts","sourceRoot":"","sources":["../../src/lib/form/MaskedTextField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAa,cAAc,EAAE,MAAM,aAAa,CAAA;AAGvD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG;IACrE,IAAI,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACjC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd,SAAS,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;QACvD,KAAK,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAA;KACnD,CAAA;CACF,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAsB1D"}
@@ -1,11 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import React from 'react';
3
2
  import { TextField } from './TextField';
4
- import { IMaskInput } from 'react-imask';
5
- const MaskedInputAdapter = React.forwardRef(function MaskedInputAdapter(props, ref) {
6
- const { onChange, ...other } = props;
7
- return (_jsx(IMaskInput, { ...other, inputRef: ref, onAccept: (value) => onChange({ target: { name: props.name, value } }), overwrite: true }));
8
- });
3
+ import { MaskedInputAdapter } from './MaskedInputAdapter';
9
4
  export function MaskedTextField(props) {
10
5
  const { mask, blocks, definitions, pattern, lazy, slotProps, ...rest } = props;
11
6
  return (_jsx(TextField, { ...rest, slotProps: {
@@ -1 +1 @@
1
- {"version":3,"file":"MaskedTextField.js","sourceRoot":"","sources":["../../src/lib/form/MaskedTextField.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAcxC,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CACzC,SAAS,kBAAkB,CAAC,KAAK,EAAE,GAAG;IACpC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAA;IACpC,OAAO,CACL,KAAC,UAAU,OACL,KAAK,EACT,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,CAAC,KAAU,EAAE,EAAE,CACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAEnD,SAAS,SACT,CACH,CAAA;AACH,CAAC,CACF,CAAA;AAED,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAE9E,OAAO,CACL,KAAC,SAAS,OACJ,IAAI,EACR,SAAS,EAAE;YACT,GAAG,SAAS;YACZ,KAAK,EAAE;gBACL,cAAc,EAAE,kBAAyB;gBACzC,UAAU,EAAE;oBACV,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,WAAW;oBACxB,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,IAAI;iBACX;gBACD,GAAG,SAAS,EAAE,KAAK;aACpB;SACF,GACD,CACH,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"MaskedTextField.js","sourceRoot":"","sources":["../../src/lib/form/MaskedTextField.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAczD,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAE9E,OAAO,CACL,KAAC,SAAS,OACJ,IAAI,EACR,SAAS,EAAE;YACT,GAAG,SAAS;YACZ,KAAK,EAAE;gBACL,cAAc,EAAE,kBAAyB;gBACzC,UAAU,EAAE;oBACV,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,WAAW;oBACxB,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,IAAI;iBACX;gBACD,GAAG,SAAS,EAAE,KAAK;aACpB;SACF,GACD,CACH,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cwncollab-org/mui-component-kit",
3
3
  "private": false,
4
- "version": "0.4.2",
4
+ "version": "0.4.5",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.js",
@@ -1,20 +0,0 @@
1
- import { SxProps } from '@mui/material';
2
- import { AppBarMenuInitialState, AppBarMenuState } from './AppBarMenu';
3
- export type AppBarState = AppBarMenuState;
4
- export type AppBarInitialState = AppBarMenuInitialState;
5
- export type AppBarProps = {
6
- title?: string | React.ReactNode;
7
- status?: string | React.ReactNode;
8
- sidebarOpen: boolean;
9
- drawerWidth: number;
10
- collapsedDrawerWidth: number;
11
- dense?: boolean;
12
- onDrawerToggle: () => void;
13
- endSlot?: React.ReactNode;
14
- menuItems?: React.ReactNode[];
15
- initialState?: AppBarInitialState;
16
- state?: AppBarState;
17
- sx?: SxProps;
18
- };
19
- export declare function AppBar(props: AppBarProps): import("react/jsx-runtime").JSX.Element;
20
- //# sourceMappingURL=AppBar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppBar.d.ts","sourceRoot":"","sources":["../../src/lib/layout/AppBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,OAAO,EAGR,MAAM,eAAe,CAAA;AAEtB,OAAO,EAEL,sBAAsB,EACtB,eAAe,EAChB,MAAM,cAAc,CAAA;AAErB,MAAM,MAAM,WAAW,GAAG,eAAe,CAAA;AACzC,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAA;AAEvD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;IACjC,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC7B,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,EAAE,CAAC,EAAE,OAAO,CAAA;CACb,CAAA;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,2CA0DxC"}
@@ -1,17 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, IconButton, AppBar as MuiAppBar, Toolbar, Typography, } from '@mui/material';
3
- import { Menu as MenuIcon } from '@mui/icons-material';
4
- import { AppBarMenu, } from './AppBarMenu';
5
- export function AppBar(props) {
6
- const { title, sidebarOpen, drawerWidth, collapsedDrawerWidth, dense, onDrawerToggle, endSlot, menuItems, initialState, state, sx, } = props;
7
- const renderedEndSlot = endSlot ?? (_jsx(AppBarMenu, { menuItems: menuItems, initialState: initialState, state: state }));
8
- return (_jsx(MuiAppBar, { position: 'fixed', sx: {
9
- ...sx,
10
- width: {
11
- sm: `calc(100% - ${sidebarOpen ? drawerWidth : collapsedDrawerWidth}px)`,
12
- },
13
- ml: { sm: `${sidebarOpen ? drawerWidth : collapsedDrawerWidth}px` },
14
- transition: 'width 0.2s, margin-left 0.2s',
15
- }, children: _jsxs(Toolbar, { variant: dense ? 'dense' : 'regular', children: [_jsx(IconButton, { color: 'inherit', "aria-label": 'open drawer', edge: 'start', onClick: () => onDrawerToggle(), sx: { mr: 2, display: { sm: 'none' } }, children: _jsx(MenuIcon, {}) }), typeof title === 'string' ? (_jsx(Typography, { variant: 'h6', noWrap: true, component: 'div', sx: { flexGrow: 1 }, children: title })) : (_jsx(Box, { sx: { flexGrow: 1 }, children: title })), renderedEndSlot && _jsx(Box, { children: renderedEndSlot })] }) }));
16
- }
17
- //# sourceMappingURL=AppBar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppBar.js","sourceRoot":"","sources":["../../src/lib/layout/AppBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,GAAG,EACH,UAAU,EACV,MAAM,IAAI,SAAS,EAEnB,OAAO,EACP,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EACL,UAAU,GAGX,MAAM,cAAc,CAAA;AAoBrB,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,MAAM,EACJ,KAAK,EACL,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,KAAK,EACL,cAAc,EACd,OAAO,EACP,SAAS,EACT,YAAY,EACZ,KAAK,EACL,EAAE,GACH,GAAG,KAAK,CAAA;IAET,MAAM,eAAe,GAAG,OAAO,IAAI,CACjC,KAAC,UAAU,IACT,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,GACZ,CACH,CAAA;IAED,OAAO,CACL,KAAC,SAAS,IACR,QAAQ,EAAC,OAAO,EAChB,EAAE,EAAE;YACF,GAAG,EAAE;YACL,KAAK,EAAE;gBACL,EAAE,EAAE,eACF,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,oBAC9B,KAAK;aACN;YACD,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE;YACnE,UAAU,EAAE,8BAA8B;SAC3C,YAED,MAAC,OAAO,IAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,aAC3C,KAAC,UAAU,IACT,KAAK,EAAC,SAAS,gBACJ,aAAa,EACxB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,EAC/B,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,YAEtC,KAAC,QAAQ,KAAG,GACD,EACZ,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC3B,KAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,MAAM,QAAC,SAAS,EAAC,KAAK,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,YAChE,KAAK,GACK,CACd,CAAC,CAAC,CAAC,CACF,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAG,KAAK,GAAO,CACxC,EACA,eAAe,IAAI,KAAC,GAAG,cAAE,eAAe,GAAO,IACxC,GACA,CACb,CAAA;AACH,CAAC"}
@@ -1,12 +0,0 @@
1
- export type AppBarMenuState = {
2
- menuOpen: boolean;
3
- onMenuOpenChange?: (open: boolean) => void;
4
- };
5
- export type AppBarMenuInitialState = Pick<AppBarMenuState, 'menuOpen'>;
6
- export type AppBarMenuProps = {
7
- menuItems?: React.ReactNode[];
8
- initialState?: AppBarMenuInitialState;
9
- state?: AppBarMenuState;
10
- };
11
- export declare function AppBarMenu(props: AppBarMenuProps): import("react/jsx-runtime").JSX.Element;
12
- //# sourceMappingURL=AppBarMenu.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppBarMenu.d.ts","sourceRoot":"","sources":["../../src/lib/layout/AppBarMenu.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;CAC3C,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;AAEtE,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC7B,YAAY,CAAC,EAAE,sBAAsB,CAAA;IACrC,KAAK,CAAC,EAAE,eAAe,CAAA;CACxB,CAAA;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CA2ChD"}
@@ -1,26 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Avatar, IconButton, Menu } from '@mui/material';
3
- import { useLayoutEffect, useRef, useState } from 'react';
4
- import { Person as PersonIcon } from '@mui/icons-material';
5
- export function AppBarMenu(props) {
6
- const { menuItems, initialState, state } = props;
7
- const [anchorEl, setAnchorEl] = useState(null);
8
- const [_menuOpen, setMenuOpen] = useState(initialState?.menuOpen ?? false);
9
- const buttonRef = useRef(null);
10
- const menuOpen = state?.menuOpen ?? _menuOpen;
11
- useLayoutEffect(() => {
12
- if (buttonRef.current) {
13
- setAnchorEl(buttonRef.current);
14
- }
15
- }, [buttonRef.current]);
16
- const handleClick = () => {
17
- setMenuOpen(true);
18
- state?.onMenuOpenChange?.(true);
19
- };
20
- const handleClose = () => {
21
- setMenuOpen(false);
22
- state?.onMenuOpenChange?.(false);
23
- };
24
- return (_jsxs("div", { children: [_jsx(IconButton, { ref: buttonRef, color: 'inherit', "aria-label": 'search', onClick: handleClick, children: _jsx(Avatar, { sx: { width: 32, height: 32 }, children: _jsx(PersonIcon, {}) }) }), menuItems && (_jsx(Menu, { open: menuOpen, onClose: handleClose, anchorEl: anchorEl, children: menuItems }))] }));
25
- }
26
- //# sourceMappingURL=AppBarMenu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppBarMenu.js","sourceRoot":"","sources":["../../src/lib/layout/AppBarMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAe1D,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IAChD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAA;IAClE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,YAAY,EAAE,QAAQ,IAAI,KAAK,CAAC,CAAA;IAE1E,MAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAA;IAEjD,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,IAAI,SAAS,CAAA;IAE7C,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAChC,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IAEvB,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,WAAW,CAAC,IAAI,CAAC,CAAA;QACjB,KAAK,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC,CAAA;IACD,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,WAAW,CAAC,KAAK,CAAC,CAAA;QAClB,KAAK,EAAE,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC,CAAA;IAED,OAAO,CACL,0BACE,KAAC,UAAU,IACT,GAAG,EAAE,SAAS,EACd,KAAK,EAAC,SAAS,gBACJ,QAAQ,EACnB,OAAO,EAAE,WAAW,YAEpB,KAAC,MAAM,IAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YACnC,KAAC,UAAU,KAAG,GACP,GACE,EACZ,SAAS,IAAI,CACZ,KAAC,IAAI,IAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,YAC3D,SAAS,GACL,CACR,IACG,CACP,CAAA;AACH,CAAC"}
@@ -1,23 +0,0 @@
1
- import { ListProps, SxProps } from '@mui/material';
2
- import { PropsWithChildren } from 'react';
3
- import { AppBarInitialState, AppBarProps, AppBarState } from './AppBar';
4
- import { NavList } from './types';
5
- export type AppLayoutState = AppBarState;
6
- export type AppLayoutInitialState = AppBarInitialState;
7
- export type AppLayoutProps = PropsWithChildren & {
8
- title?: string | React.ReactNode;
9
- navList?: NavList | NavList[];
10
- drawerWidth?: number;
11
- collapsedDrawerWidth?: number;
12
- dense?: boolean;
13
- slotProps?: {
14
- appBar?: Omit<AppBarProps, 'title' | 'status' | 'sidebarOpen' | 'drawerWidth' | 'collapsedDrawerWidth' | 'onDrawerToggle'>;
15
- list?: ListProps;
16
- };
17
- menuItems?: React.ReactNode[];
18
- initialState?: AppLayoutInitialState;
19
- state?: AppLayoutState;
20
- sx?: SxProps;
21
- };
22
- export declare function AppLayout(props: AppLayoutProps): import("react/jsx-runtime").JSX.Element;
23
- //# sourceMappingURL=AppLayout.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppLayout.d.ts","sourceRoot":"","sources":["../../src/lib/layout/AppLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EASL,SAAS,EACT,OAAO,EAER,MAAM,eAAe,CAAA;AACtB,OAAO,EAAW,iBAAiB,EAAY,MAAM,OAAO,CAAA;AAK5D,OAAO,EAAU,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAKjC,MAAM,MAAM,cAAc,GAAG,WAAW,CAAA;AACxC,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAA;AAEtD,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAC/C,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;IAChC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAA;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,IAAI,CACX,WAAW,EACT,OAAO,GACP,QAAQ,GACR,aAAa,GACb,aAAa,GACb,sBAAsB,GACtB,gBAAgB,CACnB,CAAA;QACD,IAAI,CAAC,EAAE,SAAS,CAAA;KACjB,CAAA;IACD,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC7B,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,EAAE,CAAC,EAAE,OAAO,CAAA;CACb,CAAA;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CA0K9C"}
@@ -1,71 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Drawer, IconButton, List, ListItem, ListItemButton, ListItemIcon, ListItemText, Toolbar, } from '@mui/material';
3
- import { useMemo, Fragment } from 'react';
4
- import { ChevronRight } from '@mui/icons-material';
5
- import { useState } from 'react';
6
- import { ChevronLeft } from '@mui/icons-material';
7
- import { Link } from '@tanstack/react-router';
8
- import { AppBar } from './AppBar';
9
- const defaultDrawerWidth = 240;
10
- const defaultCollapsedDrawerWidth = 64;
11
- export function AppLayout(props) {
12
- const { title, navList = [], drawerWidth = defaultDrawerWidth, collapsedDrawerWidth = defaultCollapsedDrawerWidth, dense, children, slotProps, menuItems, initialState, state, sx, } = props;
13
- const [mobileOpen, setMobileOpen] = useState(false);
14
- const [sidebarOpen, setSidebarOpen] = useState(true);
15
- const navLists = useMemo(() => (Array.isArray(navList) ? navList : [navList]), [navList]);
16
- const handleDrawerToggle = () => {
17
- setMobileOpen(!mobileOpen);
18
- };
19
- const handleSidebarToggle = () => {
20
- setSidebarOpen(!sidebarOpen);
21
- };
22
- const drawerContent = useMemo(() => {
23
- const renderNavSidebar = (expanded) => {
24
- return (_jsxs("div", { children: [_jsx(Toolbar, { variant: dense ? 'dense' : 'regular', sx: {
25
- justifyContent: expanded ? 'flex-end' : 'center',
26
- display: { xs: 'none', sm: 'flex' },
27
- }, children: _jsx(IconButton, { onClick: handleSidebarToggle, children: expanded ? _jsx(ChevronLeft, {}) : _jsx(ChevronRight, {}) }) }), navLists.map((list, index) => (_jsx(Fragment, { children: renderNavList(expanded, list) }, index)))] }));
28
- };
29
- const renderNavList = (expanded, navList) => (_jsx(List, { dense: dense, ...slotProps?.list, children: navList.items.map((item, index) => (_jsx(ListItem, { disablePadding: true, sx: { justifyContent: 'center' }, children: _jsxs(ListItemButton, { component: item.url ? Link : 'div', to: item.url, sx: { justifyContent: 'center' }, children: [_jsx(ListItemIcon, { sx: {
30
- minWidth: '24px',
31
- }, children: item.icon }), expanded && (_jsx(ListItemText, { primary: item.label, sx: {
32
- ml: '1rem',
33
- textOverflow: 'clip',
34
- overflow: 'hidden',
35
- whiteSpace: 'nowrap',
36
- } }))] }) }, index))) }));
37
- return {
38
- expanded: renderNavSidebar(true),
39
- collapsed: renderNavSidebar(false),
40
- };
41
- }, [handleSidebarToggle, navLists]);
42
- return (_jsxs(Box, { sx: { display: 'flex', ...sx }, children: [_jsx(AppBar, { dense: dense, ...slotProps?.appBar, title: title, sidebarOpen: sidebarOpen, drawerWidth: drawerWidth, collapsedDrawerWidth: collapsedDrawerWidth, onDrawerToggle: handleDrawerToggle, menuItems: menuItems, initialState: initialState, state: state }), _jsxs(Box, { component: 'nav', sx: {
43
- width: { sm: sidebarOpen ? drawerWidth : collapsedDrawerWidth },
44
- flexShrink: { sm: 0 },
45
- transition: 'width 0.2s',
46
- }, children: [_jsx(Drawer, { variant: 'temporary', open: mobileOpen, onClose: handleDrawerToggle, ModalProps: {
47
- keepMounted: true,
48
- }, sx: {
49
- display: { xs: 'block', sm: 'none' },
50
- '& .MuiDrawer-paper': {
51
- boxSizing: 'border-box',
52
- width: drawerWidth,
53
- },
54
- }, children: drawerContent.expanded }), _jsx(Drawer, { variant: 'permanent', sx: {
55
- display: { xs: 'none', sm: 'block' },
56
- '& .MuiDrawer-paper': {
57
- boxSizing: 'border-box',
58
- width: sidebarOpen ? drawerWidth : collapsedDrawerWidth,
59
- transition: 'width 0.2s',
60
- },
61
- }, open: sidebarOpen, children: sidebarOpen ? drawerContent.expanded : drawerContent.collapsed })] }), _jsxs(Box, { component: 'main', sx: {
62
- flexGrow: 1,
63
- p: 0,
64
- width: {
65
- sm: `calc(100% - ${sidebarOpen ? drawerWidth : collapsedDrawerWidth}px)`,
66
- },
67
- transition: 'width 0.2s',
68
- overflowX: 'hidden',
69
- }, children: [_jsx(Toolbar, { variant: dense ? 'dense' : 'regular' }), children] })] }));
70
- }
71
- //# sourceMappingURL=AppLayout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppLayout.js","sourceRoot":"","sources":["../../src/lib/layout/AppLayout.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export { AppBar } from './AppBar';
2
- export { AppLayout } from './AppLayout';
3
- export { type NavList, type NavItem } from './types';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAA"}
@@ -1,3 +0,0 @@
1
- export { AppBar } from './AppBar';
2
- export { AppLayout } from './AppLayout';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA"}
@@ -1,11 +0,0 @@
1
- import { ValidateToPath } from '@tanstack/react-router';
2
- export type NavList = {
3
- items: NavItem[];
4
- title?: string;
5
- };
6
- export type NavItem = {
7
- icon: React.ReactNode;
8
- label: string;
9
- url?: ValidateToPath;
10
- };
11
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/layout/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/layout/types.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- /**
2
- * Removes trailing slashes from a string
3
- * @param str The string to remove trailing slashes from
4
- * @returns The string with trailing slashes removed
5
- */
6
- export declare function removeTrailingSlash(str: string): string;
7
- //# sourceMappingURL=removeTrailingSlash.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeTrailingSlash.d.ts","sourceRoot":"","sources":["../../src/lib/tabs/removeTrailingSlash.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Removes trailing slashes from a string
3
- * @param str The string to remove trailing slashes from
4
- * @returns The string with trailing slashes removed
5
- */
6
- export function removeTrailingSlash(str) {
7
- return str.replace(/\/+$/, '');
8
- }
9
- //# sourceMappingURL=removeTrailingSlash.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeTrailingSlash.js","sourceRoot":"","sources":["../../src/lib/tabs/removeTrailingSlash.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAChC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=removeTrailingSlash.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeTrailingSlash.test.d.ts","sourceRoot":"","sources":["../../src/lib/tabs/removeTrailingSlash.test.ts"],"names":[],"mappings":""}
@@ -1,19 +0,0 @@
1
- import { removeTrailingSlash } from './removeTrailingSlash';
2
- describe('removeTrailingSlash', () => {
3
- it('should remove single trailing slash', () => {
4
- expect(removeTrailingSlash('test/')).toBe('test');
5
- });
6
- it('should remove multiple trailing slashes', () => {
7
- expect(removeTrailingSlash('test///')).toBe('test');
8
- });
9
- it('should not modify string without trailing slash', () => {
10
- expect(removeTrailingSlash('test')).toBe('test');
11
- });
12
- it('should handle empty string', () => {
13
- expect(removeTrailingSlash('')).toBe('');
14
- });
15
- it('should handle string with only slashes', () => {
16
- expect(removeTrailingSlash('///')).toBe('');
17
- });
18
- });
19
- //# sourceMappingURL=removeTrailingSlash.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeTrailingSlash.test.js","sourceRoot":"","sources":["../../src/lib/tabs/removeTrailingSlash.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare function useRouterTabsValue(): string;
2
- //# sourceMappingURL=routerTabHooks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"routerTabHooks.d.ts","sourceRoot":"","sources":["../../src/lib/tabs/routerTabHooks.ts"],"names":[],"mappings":"AAIA,wBAAgB,kBAAkB,WAQjC"}
@@ -1,9 +0,0 @@
1
- import { useRouterState } from '@tanstack/react-router';
2
- import { useMemo } from 'react';
3
- import { removeTrailingSlash } from './removeTrailingSlash';
4
- export function useRouterTabsValue() {
5
- const matches = useRouterState({ select: state => state.matches });
6
- const normalizedValue = useMemo(() => removeTrailingSlash(matches[matches.length - 1].fullPath), [matches]);
7
- return normalizedValue;
8
- }
9
- //# sourceMappingURL=routerTabHooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"routerTabHooks.js","sourceRoot":"","sources":["../../src/lib/tabs/routerTabHooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAElE,MAAM,eAAe,GAAG,OAAO,CAC7B,GAAG,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAC/D,CAAC,OAAO,CAAC,CACV,CAAA;IACD,OAAO,eAAe,CAAA;AACxB,CAAC"}