@jackcrane/ui 0.1.19 → 0.1.20

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.
@@ -1,9 +1,10 @@
1
- export default function Card({ children, variant, chamfer, size, footerHeight, footer, title, ...props }: {
1
+ export default function Card({ children, variant, chamfer, size, collapsed, footerHeight, footer, title, ...props }: {
2
2
  [x: string]: any;
3
3
  children: any;
4
4
  variant: any;
5
5
  chamfer?: boolean;
6
6
  size: any;
7
+ collapsed: any;
7
8
  footerHeight?: number;
8
9
  footer: any;
9
10
  title: any;
package/dist/jcui.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- (function(){"use strict";try{if(typeof document!="undefined"){var r=document.createElement("style");r.appendChild(document.createTextNode(`@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");@property --button-bg {
1
+ (function(){"use strict";try{if(typeof document!="undefined"){var n=document.createElement("style");n.appendChild(document.createTextNode(`@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");@property --button-bg {
2
2
  syntax: "<color>";
3
3
  inherits: true;
4
4
  initial-value: transparent;
@@ -217,7 +217,7 @@ div.jcui_chamfer:not(.jcui_disabled):focus-within {
217
217
  transform: rotate(360deg);
218
218
  }
219
219
  }
220
- ._card_et6fi_1 {
220
+ ._card_1db6q_1 {
221
221
  border-width: var(--border-thickness);
222
222
  border-style: solid;
223
223
  font-size: 1rem;
@@ -226,70 +226,110 @@ div.jcui_chamfer:not(.jcui_disabled):focus-within {
226
226
  display: flex;
227
227
  flex-direction: column;
228
228
  }
229
- ._pageBackground_et6fi_11 {
229
+ ._pageBackground_1db6q_11 {
230
230
  --card-bg: var(--body-bg);
231
231
  --button-bg: var(--body-bg);
232
232
  --card-color: var(--body-color);
233
233
  background-color: var(--body-bg);
234
234
  }
235
- ._card_et6fi_1 ._title_et6fi_18 {
235
+ ._card_1db6q_1 ._title_1db6q_18 {
236
236
  font-size: 1.25rem;
237
237
  padding: 0.5rem 1rem;
238
238
  border-bottom: var(--border-thickness) solid var(--border-color);
239
239
  background-color: var(--card-bg);
240
240
  }
241
- ._card_et6fi_1 ._body_et6fi_25 {
241
+ ._card_1db6q_1 ._titleCollapsed_1db6q_25 {
242
+ border-bottom: 0;
243
+ }
244
+ ._card_1db6q_1 ._titleContent_1db6q_29 {
245
+ display: flex;
246
+ align-items: center;
247
+ gap: 0.5rem;
248
+ }
249
+ ._card_1db6q_1 ._chevron_1db6q_35 {
250
+ margin-left: auto;
251
+ width: 0.5rem;
252
+ height: 0.5rem;
253
+ border-right: 2px solid currentColor;
254
+ border-bottom: 2px solid currentColor;
255
+ transition: transform 0.2s ease;
256
+ flex-shrink: 0;
257
+ }
258
+ ._card_1db6q_1 ._chevronExpanded_1db6q_45 {
259
+ transform: rotate(45deg);
260
+ }
261
+ ._card_1db6q_1 ._chevronCollapsed_1db6q_49 {
262
+ transform: rotate(-45deg);
263
+ }
264
+ ._card_1db6q_1 ._content_1db6q_53 {
265
+ display: grid;
266
+ grid-template-rows: 1fr;
267
+ transition:
268
+ grid-template-rows 0.2s ease,
269
+ opacity 0.2s ease;
270
+ }
271
+ ._card_1db6q_1 ._contentInner_1db6q_61 {
272
+ overflow: hidden;
273
+ min-height: 0;
274
+ display: flex;
275
+ flex-direction: column;
276
+ }
277
+ ._card_1db6q_1 ._contentCollapsed_1db6q_68 {
278
+ grid-template-rows: 0fr;
279
+ opacity: 0;
280
+ }
281
+ ._card_1db6q_1 ._body_1db6q_73 {
242
282
  padding: 0.5rem 1rem;
243
283
  width: 100%;
244
284
  }
245
- ._card_et6fi_1 ._footer_et6fi_30 {
285
+ ._card_1db6q_1 ._footer_1db6q_78 {
246
286
  border-top: var(--border-thickness) solid var(--border-color);
247
287
  flex: 1;
248
288
  background-color: var(--card-bg);
249
289
  padding: 0.5rem 1rem;
250
290
  }
251
- ._large_et6fi_37 ._body_et6fi_25,
252
- ._large_et6fi_37 ._title_et6fi_18 {
291
+ ._large_1db6q_85 ._body_1db6q_73,
292
+ ._large_1db6q_85 ._title_1db6q_18 {
253
293
  font-size: 1.25rem;
254
294
  padding: 0.75rem 1.25rem;
255
295
  }
256
- ._small_et6fi_43 ._body_et6fi_25,
257
- ._small_et6fi_43 ._title_et6fi_18 {
296
+ ._small_1db6q_91 ._body_1db6q_73,
297
+ ._small_1db6q_91 ._title_1db6q_18 {
258
298
  font-size: 0.75rem;
259
299
  padding: 0.25rem 0.5rem;
260
300
  }
261
301
  /* Variants */
262
- ._primary_et6fi_51 {
302
+ ._primary_1db6q_99 {
263
303
  --card-bg: var(--primary-color-100);
264
304
  --border-color: var(--primary-color-300);
265
305
  --border-accent-color: var(--primary-color-600);
266
306
  --card-color: var(--primary-color-800);
267
307
  }
268
- ._success_et6fi_58 {
308
+ ._success_1db6q_106 {
269
309
  --card-bg: var(--success-color-100);
270
310
  --border-color: var(--success-color-300);
271
311
  --border-accent-color: var(--success-color-600);
272
312
  --card-color: var(--success-color-800);
273
313
  }
274
- ._warning_et6fi_65 {
314
+ ._warning_1db6q_113 {
275
315
  --card-bg: var(--warning-color-100);
276
316
  --border-color: var(--warning-color-300);
277
317
  --border-accent-color: var(--warning-color-600);
278
318
  --card-color: var(--warning-color-800);
279
319
  }
280
- ._danger_et6fi_72 {
320
+ ._danger_1db6q_120 {
281
321
  --card-bg: var(--danger-color-100);
282
322
  --border-color: var(--danger-color-300);
283
323
  --border-accent-color: var(--danger-color-600);
284
324
  --card-color: var(--danger-color-800);
285
325
  }
286
- ._info_et6fi_79 {
326
+ ._info_1db6q_127 {
287
327
  --card-bg: var(--info-color-100);
288
328
  --border-color: var(--info-color-300);
289
329
  --border-accent-color: var(--info-color-600);
290
330
  --card-color: var(--info-color-800);
291
331
  }
292
- ._secondary_et6fi_86 {
332
+ ._secondary_1db6q_134 {
293
333
  --card-bg: var(--secondary-color-100);
294
334
  --border-color: var(--secondary-color-300);
295
335
  --border-accent-color: var(--secondary-color-600);
@@ -2100,7 +2140,7 @@ hr {
2100
2140
  padding-left: 0.5rem;
2101
2141
  padding-right: 0.5rem;
2102
2142
  width: 100%;
2103
- }`)),document.head.appendChild(r)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();
2143
+ }`)),document.head.appendChild(n)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})();
2104
2144
  "use strict";
2105
2145
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2106
2146
  const React = require("react");
@@ -2615,23 +2655,39 @@ function requireClassnames() {
2615
2655
  }
2616
2656
  var classnamesExports = requireClassnames();
2617
2657
  const classNames = /* @__PURE__ */ getDefaultExportFromCjs(classnamesExports);
2618
- const card = "_card_et6fi_1";
2619
- const pageBackground$3 = "_pageBackground_et6fi_11";
2620
- const title$1 = "_title_et6fi_18";
2621
- const body$1 = "_body_et6fi_25";
2622
- const footer$1 = "_footer_et6fi_30";
2623
- const large$7 = "_large_et6fi_37";
2624
- const small$7 = "_small_et6fi_43";
2625
- const primary$9 = "_primary_et6fi_51";
2626
- const success$9 = "_success_et6fi_58";
2627
- const warning$9 = "_warning_et6fi_65";
2628
- const danger$9 = "_danger_et6fi_72";
2629
- const info$9 = "_info_et6fi_79";
2630
- const secondary$9 = "_secondary_et6fi_86";
2658
+ const card = "_card_1db6q_1";
2659
+ const pageBackground$3 = "_pageBackground_1db6q_11";
2660
+ const title$1 = "_title_1db6q_18";
2661
+ const titleCollapsed = "_titleCollapsed_1db6q_25";
2662
+ const titleContent = "_titleContent_1db6q_29";
2663
+ const chevron = "_chevron_1db6q_35";
2664
+ const chevronExpanded = "_chevronExpanded_1db6q_45";
2665
+ const chevronCollapsed = "_chevronCollapsed_1db6q_49";
2666
+ const content$4 = "_content_1db6q_53";
2667
+ const contentInner = "_contentInner_1db6q_61";
2668
+ const contentCollapsed = "_contentCollapsed_1db6q_68";
2669
+ const body$1 = "_body_1db6q_73";
2670
+ const footer$1 = "_footer_1db6q_78";
2671
+ const large$7 = "_large_1db6q_85";
2672
+ const small$7 = "_small_1db6q_91";
2673
+ const primary$9 = "_primary_1db6q_99";
2674
+ const success$9 = "_success_1db6q_106";
2675
+ const warning$9 = "_warning_1db6q_113";
2676
+ const danger$9 = "_danger_1db6q_120";
2677
+ const info$9 = "_info_1db6q_127";
2678
+ const secondary$9 = "_secondary_1db6q_134";
2631
2679
  const styles$b = {
2632
2680
  card,
2633
2681
  pageBackground: pageBackground$3,
2634
2682
  title: title$1,
2683
+ titleCollapsed,
2684
+ titleContent,
2685
+ chevron,
2686
+ chevronExpanded,
2687
+ chevronCollapsed,
2688
+ content: content$4,
2689
+ contentInner,
2690
+ contentCollapsed,
2635
2691
  body: body$1,
2636
2692
  footer: footer$1,
2637
2693
  large: large$7,
@@ -2648,12 +2704,15 @@ function Card({
2648
2704
  variant,
2649
2705
  chamfer: chamfer2 = true,
2650
2706
  size: size2,
2707
+ collapsed,
2651
2708
  footerHeight = 0,
2652
2709
  footer: footer2,
2653
2710
  // I hardly know her
2654
2711
  title: title2,
2655
2712
  ...props
2656
2713
  }) {
2714
+ const isCollapsible = collapsed !== void 0;
2715
+ const isCollapsed2 = Boolean(collapsed);
2657
2716
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
2658
2717
  "div",
2659
2718
  {
@@ -2667,14 +2726,44 @@ function Card({
2667
2726
  ),
2668
2727
  ...props,
2669
2728
  children: [
2670
- title2 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: classNames(styles$b.title, hatchStyles.hatch), children: title2 }),
2671
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$b.body, children: children2 }),
2672
- footerHeight > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(
2729
+ (title2 || isCollapsible) && /* @__PURE__ */ jsxRuntimeExports.jsx(
2730
+ "div",
2731
+ {
2732
+ className: classNames(
2733
+ styles$b.title,
2734
+ hatchStyles.hatch,
2735
+ isCollapsed2 && styles$b.titleCollapsed
2736
+ ),
2737
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$b.titleContent, children: [
2738
+ title2,
2739
+ isCollapsible && /* @__PURE__ */ jsxRuntimeExports.jsx(
2740
+ "span",
2741
+ {
2742
+ "aria-hidden": "true",
2743
+ className: classNames(
2744
+ styles$b.chevron,
2745
+ isCollapsed2 ? styles$b.chevronCollapsed : styles$b.chevronExpanded
2746
+ )
2747
+ }
2748
+ )
2749
+ ] })
2750
+ }
2751
+ ),
2752
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
2673
2753
  "div",
2674
2754
  {
2675
- className: classNames(hatchStyles.hatch, styles$b.footer),
2676
- style: { flexBasis: footerHeight },
2677
- children: footer2
2755
+ className: classNames(styles$b.content, isCollapsed2 && styles$b.contentCollapsed),
2756
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$b.contentInner, children: [
2757
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$b.body, children: children2 }),
2758
+ footerHeight > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(
2759
+ "div",
2760
+ {
2761
+ className: classNames(hatchStyles.hatch, styles$b.footer),
2762
+ style: { flexBasis: footerHeight },
2763
+ children: footer2
2764
+ }
2765
+ )
2766
+ ] })
2678
2767
  }
2679
2768
  )
2680
2769
  ]
package/dist/jcui.es.js CHANGED
@@ -1,4 +1,4 @@
1
- (function(){"use strict";try{if(typeof document!="undefined"){var r=document.createElement("style");r.appendChild(document.createTextNode(`@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");@property --button-bg {
1
+ (function(){"use strict";try{if(typeof document!="undefined"){var n=document.createElement("style");n.appendChild(document.createTextNode(`@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");@property --button-bg {
2
2
  syntax: "<color>";
3
3
  inherits: true;
4
4
  initial-value: transparent;
@@ -217,7 +217,7 @@ div.jcui_chamfer:not(.jcui_disabled):focus-within {
217
217
  transform: rotate(360deg);
218
218
  }
219
219
  }
220
- ._card_et6fi_1 {
220
+ ._card_1db6q_1 {
221
221
  border-width: var(--border-thickness);
222
222
  border-style: solid;
223
223
  font-size: 1rem;
@@ -226,70 +226,110 @@ div.jcui_chamfer:not(.jcui_disabled):focus-within {
226
226
  display: flex;
227
227
  flex-direction: column;
228
228
  }
229
- ._pageBackground_et6fi_11 {
229
+ ._pageBackground_1db6q_11 {
230
230
  --card-bg: var(--body-bg);
231
231
  --button-bg: var(--body-bg);
232
232
  --card-color: var(--body-color);
233
233
  background-color: var(--body-bg);
234
234
  }
235
- ._card_et6fi_1 ._title_et6fi_18 {
235
+ ._card_1db6q_1 ._title_1db6q_18 {
236
236
  font-size: 1.25rem;
237
237
  padding: 0.5rem 1rem;
238
238
  border-bottom: var(--border-thickness) solid var(--border-color);
239
239
  background-color: var(--card-bg);
240
240
  }
241
- ._card_et6fi_1 ._body_et6fi_25 {
241
+ ._card_1db6q_1 ._titleCollapsed_1db6q_25 {
242
+ border-bottom: 0;
243
+ }
244
+ ._card_1db6q_1 ._titleContent_1db6q_29 {
245
+ display: flex;
246
+ align-items: center;
247
+ gap: 0.5rem;
248
+ }
249
+ ._card_1db6q_1 ._chevron_1db6q_35 {
250
+ margin-left: auto;
251
+ width: 0.5rem;
252
+ height: 0.5rem;
253
+ border-right: 2px solid currentColor;
254
+ border-bottom: 2px solid currentColor;
255
+ transition: transform 0.2s ease;
256
+ flex-shrink: 0;
257
+ }
258
+ ._card_1db6q_1 ._chevronExpanded_1db6q_45 {
259
+ transform: rotate(45deg);
260
+ }
261
+ ._card_1db6q_1 ._chevronCollapsed_1db6q_49 {
262
+ transform: rotate(-45deg);
263
+ }
264
+ ._card_1db6q_1 ._content_1db6q_53 {
265
+ display: grid;
266
+ grid-template-rows: 1fr;
267
+ transition:
268
+ grid-template-rows 0.2s ease,
269
+ opacity 0.2s ease;
270
+ }
271
+ ._card_1db6q_1 ._contentInner_1db6q_61 {
272
+ overflow: hidden;
273
+ min-height: 0;
274
+ display: flex;
275
+ flex-direction: column;
276
+ }
277
+ ._card_1db6q_1 ._contentCollapsed_1db6q_68 {
278
+ grid-template-rows: 0fr;
279
+ opacity: 0;
280
+ }
281
+ ._card_1db6q_1 ._body_1db6q_73 {
242
282
  padding: 0.5rem 1rem;
243
283
  width: 100%;
244
284
  }
245
- ._card_et6fi_1 ._footer_et6fi_30 {
285
+ ._card_1db6q_1 ._footer_1db6q_78 {
246
286
  border-top: var(--border-thickness) solid var(--border-color);
247
287
  flex: 1;
248
288
  background-color: var(--card-bg);
249
289
  padding: 0.5rem 1rem;
250
290
  }
251
- ._large_et6fi_37 ._body_et6fi_25,
252
- ._large_et6fi_37 ._title_et6fi_18 {
291
+ ._large_1db6q_85 ._body_1db6q_73,
292
+ ._large_1db6q_85 ._title_1db6q_18 {
253
293
  font-size: 1.25rem;
254
294
  padding: 0.75rem 1.25rem;
255
295
  }
256
- ._small_et6fi_43 ._body_et6fi_25,
257
- ._small_et6fi_43 ._title_et6fi_18 {
296
+ ._small_1db6q_91 ._body_1db6q_73,
297
+ ._small_1db6q_91 ._title_1db6q_18 {
258
298
  font-size: 0.75rem;
259
299
  padding: 0.25rem 0.5rem;
260
300
  }
261
301
  /* Variants */
262
- ._primary_et6fi_51 {
302
+ ._primary_1db6q_99 {
263
303
  --card-bg: var(--primary-color-100);
264
304
  --border-color: var(--primary-color-300);
265
305
  --border-accent-color: var(--primary-color-600);
266
306
  --card-color: var(--primary-color-800);
267
307
  }
268
- ._success_et6fi_58 {
308
+ ._success_1db6q_106 {
269
309
  --card-bg: var(--success-color-100);
270
310
  --border-color: var(--success-color-300);
271
311
  --border-accent-color: var(--success-color-600);
272
312
  --card-color: var(--success-color-800);
273
313
  }
274
- ._warning_et6fi_65 {
314
+ ._warning_1db6q_113 {
275
315
  --card-bg: var(--warning-color-100);
276
316
  --border-color: var(--warning-color-300);
277
317
  --border-accent-color: var(--warning-color-600);
278
318
  --card-color: var(--warning-color-800);
279
319
  }
280
- ._danger_et6fi_72 {
320
+ ._danger_1db6q_120 {
281
321
  --card-bg: var(--danger-color-100);
282
322
  --border-color: var(--danger-color-300);
283
323
  --border-accent-color: var(--danger-color-600);
284
324
  --card-color: var(--danger-color-800);
285
325
  }
286
- ._info_et6fi_79 {
326
+ ._info_1db6q_127 {
287
327
  --card-bg: var(--info-color-100);
288
328
  --border-color: var(--info-color-300);
289
329
  --border-accent-color: var(--info-color-600);
290
330
  --card-color: var(--info-color-800);
291
331
  }
292
- ._secondary_et6fi_86 {
332
+ ._secondary_1db6q_134 {
293
333
  --card-bg: var(--secondary-color-100);
294
334
  --border-color: var(--secondary-color-300);
295
335
  --border-accent-color: var(--secondary-color-600);
@@ -2100,7 +2140,7 @@ hr {
2100
2140
  padding-left: 0.5rem;
2101
2141
  padding-right: 0.5rem;
2102
2142
  width: 100%;
2103
- }`)),document.head.appendChild(r)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();
2143
+ }`)),document.head.appendChild(n)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})();
2104
2144
  import * as React from "react";
2105
2145
  import React__default, { useContext, createContext as createContext$1, useId as useId$1, forwardRef, useRef, useState, useMemo, useEffect, useLayoutEffect, useCallback, createElement } from "react";
2106
2146
  import * as ReactDOM from "react-dom";
@@ -2597,23 +2637,39 @@ function requireClassnames() {
2597
2637
  }
2598
2638
  var classnamesExports = requireClassnames();
2599
2639
  const classNames = /* @__PURE__ */ getDefaultExportFromCjs(classnamesExports);
2600
- const card = "_card_et6fi_1";
2601
- const pageBackground$3 = "_pageBackground_et6fi_11";
2602
- const title$1 = "_title_et6fi_18";
2603
- const body$1 = "_body_et6fi_25";
2604
- const footer$1 = "_footer_et6fi_30";
2605
- const large$7 = "_large_et6fi_37";
2606
- const small$7 = "_small_et6fi_43";
2607
- const primary$9 = "_primary_et6fi_51";
2608
- const success$9 = "_success_et6fi_58";
2609
- const warning$9 = "_warning_et6fi_65";
2610
- const danger$9 = "_danger_et6fi_72";
2611
- const info$9 = "_info_et6fi_79";
2612
- const secondary$9 = "_secondary_et6fi_86";
2640
+ const card = "_card_1db6q_1";
2641
+ const pageBackground$3 = "_pageBackground_1db6q_11";
2642
+ const title$1 = "_title_1db6q_18";
2643
+ const titleCollapsed = "_titleCollapsed_1db6q_25";
2644
+ const titleContent = "_titleContent_1db6q_29";
2645
+ const chevron = "_chevron_1db6q_35";
2646
+ const chevronExpanded = "_chevronExpanded_1db6q_45";
2647
+ const chevronCollapsed = "_chevronCollapsed_1db6q_49";
2648
+ const content$4 = "_content_1db6q_53";
2649
+ const contentInner = "_contentInner_1db6q_61";
2650
+ const contentCollapsed = "_contentCollapsed_1db6q_68";
2651
+ const body$1 = "_body_1db6q_73";
2652
+ const footer$1 = "_footer_1db6q_78";
2653
+ const large$7 = "_large_1db6q_85";
2654
+ const small$7 = "_small_1db6q_91";
2655
+ const primary$9 = "_primary_1db6q_99";
2656
+ const success$9 = "_success_1db6q_106";
2657
+ const warning$9 = "_warning_1db6q_113";
2658
+ const danger$9 = "_danger_1db6q_120";
2659
+ const info$9 = "_info_1db6q_127";
2660
+ const secondary$9 = "_secondary_1db6q_134";
2613
2661
  const styles$b = {
2614
2662
  card,
2615
2663
  pageBackground: pageBackground$3,
2616
2664
  title: title$1,
2665
+ titleCollapsed,
2666
+ titleContent,
2667
+ chevron,
2668
+ chevronExpanded,
2669
+ chevronCollapsed,
2670
+ content: content$4,
2671
+ contentInner,
2672
+ contentCollapsed,
2617
2673
  body: body$1,
2618
2674
  footer: footer$1,
2619
2675
  large: large$7,
@@ -2630,12 +2686,15 @@ function Card({
2630
2686
  variant,
2631
2687
  chamfer: chamfer2 = true,
2632
2688
  size: size2,
2689
+ collapsed,
2633
2690
  footerHeight = 0,
2634
2691
  footer: footer2,
2635
2692
  // I hardly know her
2636
2693
  title: title2,
2637
2694
  ...props
2638
2695
  }) {
2696
+ const isCollapsible = collapsed !== void 0;
2697
+ const isCollapsed2 = Boolean(collapsed);
2639
2698
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
2640
2699
  "div",
2641
2700
  {
@@ -2649,14 +2708,44 @@ function Card({
2649
2708
  ),
2650
2709
  ...props,
2651
2710
  children: [
2652
- title2 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: classNames(styles$b.title, hatchStyles.hatch), children: title2 }),
2653
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$b.body, children: children2 }),
2654
- footerHeight > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(
2711
+ (title2 || isCollapsible) && /* @__PURE__ */ jsxRuntimeExports.jsx(
2712
+ "div",
2713
+ {
2714
+ className: classNames(
2715
+ styles$b.title,
2716
+ hatchStyles.hatch,
2717
+ isCollapsed2 && styles$b.titleCollapsed
2718
+ ),
2719
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$b.titleContent, children: [
2720
+ title2,
2721
+ isCollapsible && /* @__PURE__ */ jsxRuntimeExports.jsx(
2722
+ "span",
2723
+ {
2724
+ "aria-hidden": "true",
2725
+ className: classNames(
2726
+ styles$b.chevron,
2727
+ isCollapsed2 ? styles$b.chevronCollapsed : styles$b.chevronExpanded
2728
+ )
2729
+ }
2730
+ )
2731
+ ] })
2732
+ }
2733
+ ),
2734
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
2655
2735
  "div",
2656
2736
  {
2657
- className: classNames(hatchStyles.hatch, styles$b.footer),
2658
- style: { flexBasis: footerHeight },
2659
- children: footer2
2737
+ className: classNames(styles$b.content, isCollapsed2 && styles$b.contentCollapsed),
2738
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$b.contentInner, children: [
2739
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$b.body, children: children2 }),
2740
+ footerHeight > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(
2741
+ "div",
2742
+ {
2743
+ className: classNames(hatchStyles.hatch, styles$b.footer),
2744
+ style: { flexBasis: footerHeight },
2745
+ children: footer2
2746
+ }
2747
+ )
2748
+ ] })
2660
2749
  }
2661
2750
  )
2662
2751
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jackcrane/ui",
3
- "version": "0.1.19",
3
+ "version": "0.1.20",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "main": "dist/jcui.cjs.js",