jcicl 0.0.34 → 0.0.37

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.
@@ -0,0 +1 @@
1
+ export { default, type ScrollContainerProps } from './ScrollContainer';
@@ -0,0 +1,4 @@
1
+ import { default as o } from "./ScrollContainer.js";
2
+ export {
3
+ o as default
4
+ };
@@ -1,7 +1,7 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
2
  import { n as i } from "../../.chunks/emotion-styled.browser.esm.js";
3
3
  import n from "../../theme.js";
4
- const p = i("div")(
4
+ const f = i("div")(
5
5
  ({ width: o, borderColor: t, bordered: r, backgroundColor: e }) => ({
6
6
  display: "flex",
7
7
  flexDirection: "column",
@@ -13,7 +13,7 @@ const p = i("div")(
13
13
  width: o
14
14
  }
15
15
  })
16
- ), f = i("div")(
16
+ ), x = i("div")(
17
17
  ({ padding: o, borderColor: t, bordered: r }) => ({
18
18
  padding: o,
19
19
  ...r && {
@@ -23,7 +23,7 @@ const p = i("div")(
23
23
  }
24
24
  }
25
25
  })
26
- ), b = ({
26
+ ), y = ({
27
27
  bordered: o = !1,
28
28
  width: t,
29
29
  padding: r = "0",
@@ -32,8 +32,8 @@ const p = i("div")(
32
32
  children: m
33
33
  }) => {
34
34
  const a = { width: t, borderColor: e, bordered: o, backgroundColor: l }, c = { padding: r, borderColor: e, bordered: o };
35
- return /* @__PURE__ */ s(p, { ...a, children: m.map((d) => /* @__PURE__ */ s(f, { ...c, children: d })) });
35
+ return /* @__PURE__ */ s(f, { ...a, children: m.map((d, p) => /* @__PURE__ */ s(x, { ...c, children: d }, p)) });
36
36
  };
37
37
  export {
38
- b as default
38
+ y as default
39
39
  };
@@ -1,19 +1,20 @@
1
- import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
- import { n as r } from "../../.chunks/emotion-styled.browser.esm.js";
1
+ import { jsxs as n, jsx as o } from "react/jsx-runtime";
2
+ import { n as t } from "../../.chunks/emotion-styled.browser.esm.js";
3
3
  import { c as a } from "../../.chunks/emotion-react.browser.esm.js";
4
- import o from "../../theme.js";
5
- import { l as n } from "../../.chunks/jocologo.js";
6
- const s = r("img")({
4
+ import e from "../../theme.js";
5
+ import { l as r } from "../../.chunks/jocologo.js";
6
+ import s from "../../animation/ZoomEntrance/ZoomEntrance.js";
7
+ const i = t("img")({
7
8
  ...a`
8
9
  height: 6em;
9
10
  padding: 1.5em;
10
11
  will-change: filter;
11
12
  transition: filter 300ms;
12
13
  position: relative;
13
- filter: drop-shadow(0 0 2em ${o.colors.gold}aa);
14
+ filter: drop-shadow(0 0 2em ${e.colors.gold}aa);
14
15
 
15
16
  :hover {
16
- filter: drop-shadow(0 0 2em ${o.colors.gold});
17
+ filter: drop-shadow(0 0 2em ${e.colors.gold});
17
18
  }
18
19
 
19
20
  @keyframes logo-left {
@@ -40,20 +41,20 @@ const s = r("img")({
40
41
  }
41
42
 
42
43
  @media (prefers-reduced-motion: no-preference) {
43
- animation: logo-left infinite 9s linear;
44
+ animation: logo-left infinite 9s cubic-bezier(0.3, 0.4, 0.7, 0.6);
44
45
  }
45
46
  `
46
- }), i = r("img")({
47
+ }), l = t("img")({
47
48
  ...a`
48
49
  height: 6em;
49
50
  padding: 1.5em;
50
51
  will-change: filter;
51
52
  transition: filter 300ms;
52
53
  position: relative;
53
- filter: drop-shadow(0 0 2em ${o.colors.green}aa);
54
+ filter: drop-shadow(0 0 2em ${e.colors.green}aa);
54
55
 
55
56
  :hover {
56
- filter: drop-shadow(0 0 2em ${o.colors.green});
57
+ filter: drop-shadow(0 0 2em ${e.colors.green});
57
58
  }
58
59
 
59
60
  @keyframes logo-right {
@@ -80,30 +81,13 @@ const s = r("img")({
80
81
  }
81
82
 
82
83
  @media (prefers-reduced-motion: no-preference) {
83
- animation: logo-right infinite 9s linear;
84
+ animation: logo-right infinite 9s cubic-bezier(0.3, 0.4, 0.7, 0.6);
84
85
  }
85
86
  `
86
- }), l = r("div")({
87
- ...a`
88
- @keyframes open {
89
- 0% {
90
- transform: scale(0);
91
- border-radius: 100%;
92
- }
93
- 100% {
94
- transform: scale(1);
95
- border-radius: 0;
96
- }
97
- }
98
-
99
- @media (prefers-reduced-motion: no-preference) {
100
- animation: open 1.3s ease-in-out;
101
- }
102
- `
103
- }), h = () => /* @__PURE__ */ t(l, { children: [
104
- /* @__PURE__ */ e("a", { href: "https://int.johnsoncountyiowa.gov/home", target: "_blank", children: /* @__PURE__ */ e(s, { src: n, className: "logo logo-left", alt: "Johnson County, Iowa logo" }) }),
105
- /* @__PURE__ */ e("a", { href: "https://int.johnsoncountyiowa.gov/home", target: "_blank", children: /* @__PURE__ */ e(i, { src: n, className: "logo logo-right", alt: "Johnson County, Iowa logo" }) })
87
+ }), p = () => /* @__PURE__ */ n(s, { children: [
88
+ /* @__PURE__ */ o("a", { href: "https://int.johnsoncountyiowa.gov/home", target: "_blank", children: /* @__PURE__ */ o(i, { src: r, className: "logo logo-left", alt: "Johnson County, Iowa logo" }) }),
89
+ /* @__PURE__ */ o("a", { href: "https://int.johnsoncountyiowa.gov/home", target: "_blank", children: /* @__PURE__ */ o(l, { src: r, className: "logo logo-right", alt: "Johnson County, Iowa logo" }) })
106
90
  ] });
107
91
  export {
108
- h as default
92
+ p as default
109
93
  };
package/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { ZoomEntrance } from './animation';
1
2
  export { Avatar, AvatarWithImage, Button, Divider, Flex, Grid, ListButton } from './base';
2
3
  export { List, LogoLoop, WithLabel } from './composite';
3
4
  export { AppHeader, Nav } from './supercomposite';
package/index.js CHANGED
@@ -1,29 +1,31 @@
1
- import { default as e } from "./base/Avatar/Avatar.js";
2
- import { AvatarWithImage as f } from "./base/AvatarWithImage/AvatarWithImage.js";
3
- import { Button as m } from "./base/Button/Button.js";
4
- import { Divider as d } from "./base/Divider/Divider.js";
5
- import { default as s } from "./base/Flex/Flex.js";
6
- import { Grid as i } from "./base/Grid/Grid.js";
1
+ import { default as e } from "./animation/ZoomEntrance/ZoomEntrance.js";
2
+ import { default as f } from "./base/Avatar/Avatar.js";
3
+ import { AvatarWithImage as m } from "./base/AvatarWithImage/AvatarWithImage.js";
4
+ import { Button as d } from "./base/Button/Button.js";
5
+ import { Divider as s } from "./base/Divider/Divider.js";
6
+ import { default as i } from "./base/Flex/Flex.js";
7
+ import { Grid as L } from "./base/Grid/Grid.js";
7
8
  import "./base/Input/Input.js";
8
- import { default as n } from "./base/ListButton/ListButton.js";
9
- import { default as A } from "./composite/List/List.js";
10
- import { default as h } from "./composite/LogoLoop/LogoLoop.js";
11
- import { default as W } from "./composite/WithLabel/WithLabel.js";
12
- import { default as C } from "./supercomposite/AppHeader/AppHeader.js";
9
+ import { default as A } from "./base/ListButton/ListButton.js";
10
+ import { default as h } from "./composite/List/List.js";
11
+ import { default as W } from "./composite/LogoLoop/LogoLoop.js";
12
+ import { default as c } from "./composite/WithLabel/WithLabel.js";
13
+ import { default as D } from "./supercomposite/AppHeader/AppHeader.js";
13
14
  import { Nav as F } from "./supercomposite/Nav/Nav.js";
14
15
  import { default as H } from "./templates/AppContainer/AppContainer.js";
15
16
  export {
16
17
  H as AppContainer,
17
- C as AppHeader,
18
- e as Avatar,
19
- f as AvatarWithImage,
20
- m as Button,
21
- d as Divider,
22
- s as Flex,
23
- i as Grid,
24
- A as List,
25
- n as ListButton,
26
- h as LogoLoop,
18
+ D as AppHeader,
19
+ f as Avatar,
20
+ m as AvatarWithImage,
21
+ d as Button,
22
+ s as Divider,
23
+ i as Flex,
24
+ L as Grid,
25
+ h as List,
26
+ A as ListButton,
27
+ W as LogoLoop,
27
28
  F as Nav,
28
- W as WithLabel
29
+ c as WithLabel,
30
+ e as ZoomEntrance
29
31
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "jcicl",
3
3
  "private": false,
4
- "version": "0.0.34",
4
+ "version": "0.0.37",
5
5
  "description": "Component library for the websites of Johnson County Iowa",
6
6
  "license": "MIT",
7
7
  "homepage": "https://devops.jc.net/JCIT/Business%20Solutions%20Delivery/_git/JCComponentLibrary?path=%2FREADME.md&version=GBmaster",
@@ -18,6 +18,7 @@
18
18
  "@fontsource/material-icons": "^5.1.0",
19
19
  "@fontsource/roboto": "^5.1.0",
20
20
  "@mui/icons-material": "^6.1.3",
21
- "@mui/material": "^6.1.1"
21
+ "@mui/material": "^6.1.1",
22
+ "overlayscrollbars-react": "^0.5.6"
22
23
  }
23
24
  }
@@ -1,8 +1,8 @@
1
1
  import { jsxs as i, jsx as t } from "react/jsx-runtime";
2
- import { useState as s } from "react";
2
+ import { useState as a } from "react";
3
3
  import { n } from "../../.chunks/emotion-styled.browser.esm.js";
4
4
  import e from "../../theme.js";
5
- import { l as a } from "../../.chunks/jocologo.js";
5
+ import { l as s } from "../../.chunks/jocologo.js";
6
6
  import { Input as m } from "../../base/Input/Input.js";
7
7
  import { Button as c } from "../../base/Button/Button.js";
8
8
  import d from "../../base/Avatar/Avatar.js";
@@ -13,15 +13,15 @@ const l = n("div")({
13
13
  backgroundColor: "transparent",
14
14
  alignItems: "center",
15
15
  justifyContent: "space-between",
16
- gridTemplateColumns: `minmax(${e.constants.navWidth + e.constants.actionsPaneWidth}px, 1fr) 2fr 1fr`
16
+ gridTemplateColumns: `minmax(${e.constants.navDefaultWidth + e.constants.actionsPaneWidth}px, 1fr) 2fr 1fr`
17
17
  }), p = n("img")({
18
18
  width: "36px"
19
19
  }), f = n("div")({}), g = n("div")({
20
20
  justifySelf: "end"
21
21
  }), y = () => {
22
- const [r, o] = s(!1);
22
+ const [r, o] = a(!1);
23
23
  return /* @__PURE__ */ i(l, { children: [
24
- /* @__PURE__ */ t(f, { children: /* @__PURE__ */ t(p, { src: a }) }),
24
+ /* @__PURE__ */ t(f, { children: /* @__PURE__ */ t(p, { src: s }) }),
25
25
  /* @__PURE__ */ t(m, { placeholder: "Search..." }),
26
26
  /* @__PURE__ */ t(g, { children: r ? /* @__PURE__ */ t(d, { onClick: () => o(!1) }) : /* @__PURE__ */ t(c, { onClick: () => o(!0), children: "Log In" }) })
27
27
  ] });
@@ -8,6 +8,7 @@ export interface NavItemProps {
8
8
  export interface NavProps {
9
9
  navItems: NavItemProps[];
10
10
  activeRoute?: string;
11
+ navWidth?: string;
11
12
  }
12
13
  export declare const Nav: React.FC<NavProps>;
13
14
  export default Nav;
@@ -1,28 +1,29 @@
1
- import { jsx as i, jsxs as u } from "react/jsx-runtime";
2
- import { useState as m } from "react";
3
- import { n as s, i as f } from "../../.chunks/emotion-styled.browser.esm.js";
4
- import e from "../../theme.js";
5
- import { B as x } from "../../.chunks/ButtonBase.js";
6
- const g = s(x, {
7
- shouldForwardProp: (o) => f(o)
8
- })(({ active: o }) => ({
1
+ import { jsx as r, jsxs as u } from "react/jsx-runtime";
2
+ import { useState as x } from "react";
3
+ import { n as s, i as h } from "../../.chunks/emotion-styled.browser.esm.js";
4
+ import o from "../../theme.js";
5
+ import g from "../../base/ScrollContainer/ScrollContainer.js";
6
+ import { B as v } from "../../.chunks/ButtonBase.js";
7
+ const C = s(v, {
8
+ shouldForwardProp: (t) => h(t)
9
+ })(({ active: t }) => ({
9
10
  display: "flex",
10
11
  flexDirection: "column",
11
12
  alignItems: "center",
12
13
  justifyContent: "center",
13
14
  padding: "0 8px 8px 8px",
14
15
  transition: "313ms all ease-in-out",
15
- backgroundColor: o ? e.colors.sunlight : "transparent",
16
- boxShadow: o ? e.boxShadow.darkGreen : "none",
16
+ backgroundColor: t ? o.colors.sunlight : "transparent",
17
+ boxShadow: t ? o.boxShadow.darkGreen : "none",
17
18
  "&:hover, :focus-visible": {
18
19
  svg: {
19
- backgroundColor: e.colors.sunlight
20
+ backgroundColor: o.colors.sunlight
20
21
  }
21
22
  },
22
23
  svg: {
23
24
  fontSize: "2.1rem",
24
- fill: e.colors.darkGreen,
25
- backgroundColor: o ? e.colors.sunlight : "transparent",
25
+ fill: o.colors.darkGreen,
26
+ backgroundColor: t ? o.colors.sunlight : "transparent",
26
27
  borderRadius: "50%",
27
28
  padding: "8px",
28
29
  display: "flex",
@@ -34,10 +35,10 @@ const g = s(x, {
34
35
  fontFamily: "Roboto, sans-serif",
35
36
  fontSize: "12px",
36
37
  fontWeight: "bold",
37
- color: e.colors.darkGreen,
38
+ color: o.colors.darkGreen,
38
39
  textAlign: "center"
39
40
  }
40
- })), h = s("div")({
41
+ })), k = s("div")(({ navWidth: t }) => ({
41
42
  display: "flex",
42
43
  flexDirection: "column",
43
44
  backgroundColor: "transparent",
@@ -45,41 +46,23 @@ const g = s(x, {
45
46
  justifyContent: "flex-start",
46
47
  maxHeight: "100%",
47
48
  flexShrink: 0,
48
- overflowX: "hidden",
49
- overflowY: "auto",
50
49
  gap: "1rem",
51
- transition: "313ms all ease-in-out",
52
- "@media screen and (-webkit-min-device-pixel-ratio:0)": {
53
- backgroundColor: "transparent",
54
- "-webkit-background-clip": "text",
55
- transition: "313ms all ease-in-out",
56
- "::-webkit-scrollbar": {
57
- width: "6px",
58
- height: "6px",
59
- overflow: "visible"
60
- },
61
- "::-webkit-scrollbar-track": {
62
- display: "none"
63
- },
64
- "::-webkit-scrollbar-thumb": {
65
- backgroundColor: "inherit",
66
- borderRadius: "6px"
67
- },
68
- "&:hover": {
69
- backgroundColor: e.colors.darkGreenO99
70
- }
71
- }
72
- }), S = ({ navItems: o, activeRoute: n }) => {
73
- const [a, l] = m(""), c = (t, r) => {
74
- l(t), r();
75
- };
76
- return /* @__PURE__ */ i(h, { children: o.map(({ icon: t, label: r = "", onClick: d = () => {
77
- }, ...p }) => /* @__PURE__ */ u(g, { ...p, active: n ? n === r : a === r, onClick: () => c(r, d), children: [
78
- t,
79
- /* @__PURE__ */ i("span", { children: r })
80
- ] }, r)) });
50
+ width: t
51
+ })), H = ({
52
+ navItems: t,
53
+ activeRoute: i,
54
+ navWidth: a = `${o.constants.navDefaultWidth}px`
55
+ }) => {
56
+ const [l, c] = x(""), d = (e, n) => {
57
+ c(e), n();
58
+ }, p = { navWidth: a };
59
+ return /* @__PURE__ */ r(g, { style: { maxHeight: `calc(100vh - ${o.constants.appHeaderHeight}px)` }, children: /* @__PURE__ */ r(k, { ...p, children: t.map(({ icon: e, label: n = "", onClick: m = () => {
60
+ }, ...f }) => /* @__PURE__ */ u(C, { ...f, active: i ? i === n : l === n, onClick: () => d(n, m), children: [
61
+ e,
62
+ /* @__PURE__ */ r("span", { children: n })
63
+ ] }, n)) }) });
81
64
  };
82
65
  export {
83
- S as Nav,
84
- S as default
66
+ H as Nav,
67
+ H as default
85
68
  };
package/theme.d.ts CHANGED
@@ -1,21 +1,25 @@
1
1
  export interface ThemeColors {
2
2
  black: string;
3
3
  blue: string;
4
+ burgundy: string;
4
5
  charcoal: string;
5
6
  darkBlue: string;
7
+ darkerGreen: string;
6
8
  darkGreen: string;
7
9
  darkGreenO22: string;
8
10
  darkGreenO99: string;
9
11
  darkRed: string;
10
12
  gold: string;
11
13
  gray: string;
12
- veryLightGray: string;
13
- veryLightGrayO33: string;
14
14
  grayO44: string;
15
15
  green: string;
16
+ indigo: string;
16
17
  midnight: string;
17
18
  mint: string;
18
19
  sunlight: string;
20
+ purple: string;
21
+ veryLightGray: string;
22
+ veryLightGrayO33: string;
19
23
  white: string;
20
24
  whiteGreen: string;
21
25
  whiteGreenA: string;
@@ -26,16 +30,15 @@ export interface ThemeBoxShadows extends Partial<ThemeColors> {
26
30
  gray63?: string;
27
31
  greenThick?: string;
28
32
  }
33
+ export interface ThemeConstants {
34
+ actionsPaneWidth: number;
35
+ appHeaderHeight: number;
36
+ navDefaultWidth: number;
37
+ }
29
38
  export interface Theme {
30
39
  boxShadow: ThemeBoxShadows;
31
40
  colors: ThemeColors;
32
- constants: {
33
- actionsPaneWidth: number;
34
- appHeaderHeight: number;
35
- navWidth: number;
36
- oldAppBarHeight: number;
37
- oldNavBarWidth: number;
38
- };
41
+ constants: ThemeConstants;
39
42
  }
40
43
  declare const theme: Theme;
41
44
  export default theme;
package/theme.js CHANGED
@@ -3,8 +3,10 @@ const e = {
3
3
  colors: {
4
4
  black: "black",
5
5
  blue: "#1976d2",
6
+ burgundy: "#920920",
6
7
  charcoal: "#404040",
7
8
  darkBlue: "#10517c",
9
+ darkerGreen: "#124000",
8
10
  darkGreen: "#005c00",
9
11
  darkGreenO22: "#005c0022",
10
12
  darkGreenO99: "#005c0099",
@@ -13,21 +15,21 @@ const e = {
13
15
  gray: "#727272",
14
16
  grayO44: "#72727244",
15
17
  green: "#009200",
18
+ indigo: "#4105c1",
16
19
  midnight: "#131313",
17
20
  mint: "#a4edb4",
21
+ purple: "#920092",
18
22
  sunlight: "#faf9e8",
23
+ veryLightGray: "#fafafa",
24
+ veryLightGrayO33: "#fafafa33",
19
25
  white: "white",
20
26
  whiteGreen: "#f2fcf5",
21
- whiteGreenA: "#dae8de",
22
- veryLightGray: "#fafafa",
23
- veryLightGrayO33: "#fafafa33"
27
+ whiteGreenA: "#dae8de"
24
28
  },
25
29
  constants: {
26
30
  appHeaderHeight: 54,
27
31
  actionsPaneWidth: 201,
28
- navWidth: 75,
29
- oldAppBarHeight: 92,
30
- oldNavBarWidth: 290
32
+ navDefaultWidth: 75
31
33
  }
32
34
  };
33
35
  e.boxShadow = {