@giddaa-housing/ui 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/styles.css CHANGED
@@ -578,9 +578,6 @@
578
578
  .row-start-2 {
579
579
  grid-row-start: 2;
580
580
  }
581
- .row-start-3 {
582
- grid-row-start: 3;
583
- }
584
581
  .container {
585
582
  width: 100%;
586
583
  @media (width >= 40rem) {
@@ -1414,6 +1411,9 @@
1414
1411
  .flex-1 {
1415
1412
  flex: 1;
1416
1413
  }
1414
+ .shrink {
1415
+ flex-shrink: 1;
1416
+ }
1417
1417
  .shrink-0 {
1418
1418
  flex-shrink: 0;
1419
1419
  }
@@ -2207,10 +2207,10 @@
2207
2207
  background-color: color-mix(in oklab, var(--color-black) 65%, transparent);
2208
2208
  }
2209
2209
  }
2210
- .bg-black\/80 {
2211
- background-color: color-mix(in srgb, #000 80%, transparent);
2210
+ .bg-black\/70 {
2211
+ background-color: color-mix(in srgb, #000 70%, transparent);
2212
2212
  @supports (color: color-mix(in lab, red, red)) {
2213
- background-color: color-mix(in oklab, var(--color-black) 80%, transparent);
2213
+ background-color: color-mix(in oklab, var(--color-black) 70%, transparent);
2214
2214
  }
2215
2215
  }
2216
2216
  .bg-black\/90 {
@@ -2884,6 +2884,9 @@
2884
2884
  .wrap-break-word {
2885
2885
  overflow-wrap: break-word;
2886
2886
  }
2887
+ .whitespace-normal {
2888
+ white-space: normal;
2889
+ }
2887
2890
  .whitespace-nowrap {
2888
2891
  white-space: nowrap;
2889
2892
  }
@@ -3173,6 +3176,10 @@
3173
3176
  -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
3174
3177
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
3175
3178
  }
3179
+ .backdrop-filter {
3180
+ -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
3181
+ backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
3182
+ }
3176
3183
  .transition {
3177
3184
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
3178
3185
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -3985,6 +3992,11 @@
3985
3992
  background-color: var(--color-line-danger);
3986
3993
  }
3987
3994
  }
3995
+ .group-has-\[\[data-slot\=alert-title\]\]\/alert\:row-start-2 {
3996
+ &:is(:where(.group\/alert):has(*:is([data-slot=alert-title])) *) {
3997
+ grid-row-start: 2;
3998
+ }
3999
+ }
3988
4000
  .group-has-\[\>input\]\/input-group\:pt-2 {
3989
4001
  &:is(:where(.group\/input-group):has(>input) *) {
3990
4002
  padding-top: calc(var(--spacing) * 2);
@@ -6435,12 +6447,12 @@
6435
6447
  }
6436
6448
  }
6437
6449
  }
6438
- .hover\:bg-black\/90 {
6450
+ .hover\:bg-black\/80 {
6439
6451
  &:hover {
6440
6452
  @media (hover: hover) {
6441
- background-color: color-mix(in srgb, #000 90%, transparent);
6453
+ background-color: color-mix(in srgb, #000 80%, transparent);
6442
6454
  @supports (color: color-mix(in lab, red, red)) {
6443
- background-color: color-mix(in oklab, var(--color-black) 90%, transparent);
6455
+ background-color: color-mix(in oklab, var(--color-black) 80%, transparent);
6444
6456
  }
6445
6457
  }
6446
6458
  }
@@ -6934,6 +6946,14 @@
6934
6946
  }
6935
6947
  }
6936
6948
  }
6949
+ .active\:not-aria-\[haspopup\]\:translate-y-0 {
6950
+ &:active {
6951
+ &:not(*[aria-haspopup]) {
6952
+ --tw-translate-y: 0;
6953
+ translate: var(--tw-translate-x) var(--tw-translate-y);
6954
+ }
6955
+ }
6956
+ }
6937
6957
  .active\:not-aria-\[haspopup\]\:translate-y-px {
6938
6958
  &:active {
6939
6959
  &:not(*[aria-haspopup]) {
@@ -9586,6 +9606,21 @@
9586
9606
  margin-top: calc(var(--spacing) * -1);
9587
9607
  }
9588
9608
  }
9609
+ .supports-backdrop-filter\:bg-black\/40 {
9610
+ @supports (backdrop-filter: var(--tw)) {
9611
+ background-color: color-mix(in srgb, #000 40%, transparent);
9612
+ @supports (color: color-mix(in lab, red, red)) {
9613
+ background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
9614
+ }
9615
+ }
9616
+ }
9617
+ .supports-backdrop-filter\:backdrop-blur-\[15px\] {
9618
+ @supports (backdrop-filter: var(--tw)) {
9619
+ --tw-backdrop-blur: blur(15px);
9620
+ -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
9621
+ backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
9622
+ }
9623
+ }
9589
9624
  .supports-backdrop-filter\:backdrop-blur-xl {
9590
9625
  @supports (backdrop-filter: var(--tw)) {
9591
9626
  --tw-backdrop-blur: blur(var(--blur-xl));
@@ -9593,6 +9628,18 @@
9593
9628
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
9594
9629
  }
9595
9630
  }
9631
+ .supports-backdrop-filter\:hover\:bg-black\/55 {
9632
+ @supports (backdrop-filter: var(--tw)) {
9633
+ &:hover {
9634
+ @media (hover: hover) {
9635
+ background-color: color-mix(in srgb, #000 55%, transparent);
9636
+ @supports (color: color-mix(in lab, red, red)) {
9637
+ background-color: color-mix(in oklab, var(--color-black) 55%, transparent);
9638
+ }
9639
+ }
9640
+ }
9641
+ }
9642
+ }
9596
9643
  .supports-\[backdrop-filter\]\:backdrop-blur-xl {
9597
9644
  @supports (backdrop-filter: var(--tw)) {
9598
9645
  --tw-backdrop-blur: blur(var(--blur-xl));
@@ -10034,6 +10081,13 @@
10034
10081
  flex-direction: column;
10035
10082
  }
10036
10083
  }
10084
+ .max-sm\:group-has-\[\[data-slot\=alert-title\]\]\/alert\:row-start-3 {
10085
+ @media (width < 40rem) {
10086
+ &:is(:where(.group\/alert):has(*:is([data-slot=alert-title])) *) {
10087
+ grid-row-start: 3;
10088
+ }
10089
+ }
10090
+ }
10037
10091
  .sm\:top-4 {
10038
10092
  @media (width >= 40rem) {
10039
10093
  top: calc(var(--spacing) * 4);
package/dist/tabs.d.ts CHANGED
@@ -3,6 +3,11 @@ import { ComponentPropsWithoutRef } from "react";
3
3
  import { Tabs as Tabs$1 } from "@base-ui/react/tabs";
4
4
  //#region src/tabs.d.ts
5
5
  type TabsListVariant = "default" | "line" | "secondary" | "underline";
6
+ /**
7
+ * Keep friendly aliases in the public API, but collapse to the two concrete
8
+ * looks the design system ships: `underline` (Primary) and `secondary` (Pill).
9
+ */
10
+ declare function resolveTabsListVariant(variant: TabsListVariant): "secondary" | "underline";
6
11
  declare function Tabs({ className, orientation, size, ...props }: Tabs$1.Root.Props & {
7
12
  /**
8
13
  * @deprecated Pass `size` to `TabsList` instead — the root is
@@ -18,6 +23,13 @@ declare function TabsList({ className, variant, size, children, ...props }: Tabs
18
23
  variant?: TabsListVariant;
19
24
  size?: ComponentSize;
20
25
  }): import("react").JSX.Element;
26
+ /**
27
+ * Indicator styling, exported alongside `tabsTriggerClassName` so recipes that
28
+ * drive their own active state (e.g. `ScrollSpy`) can render the same sliding
29
+ * bar. Positions itself off the `--active-tab-*` custom properties, which Base
30
+ * UI sets on the list — anything reusing this has to set them too.
31
+ */
32
+ declare const tabsIndicatorClassName: string;
21
33
  /**
22
34
  * Trigger styling, exported so recipes (e.g. an overflow "More" button that
23
35
  * isn't a real tab) can render the same look. Reads both `variant` and `size`
@@ -39,4 +51,4 @@ type TabsCountProps = ComponentPropsWithoutRef<"span"> & {
39
51
  declare function TabsCount({ className, count, abbreviate, max, loading, children, ...props }: TabsCountProps): import("react").JSX.Element;
40
52
  declare function TabsContent({ className, ...props }: Tabs$1.Panel.Props): import("react").JSX.Element;
41
53
  //#endregion
42
- export { Tabs, TabsContent, TabsCount, TabsList, TabsTrigger, tabsListVariants, tabsTriggerClassName };
54
+ export { Tabs, TabsContent, TabsCount, TabsList, type TabsListVariant, TabsTrigger, resolveTabsListVariant, tabsIndicatorClassName, tabsListVariants, tabsTriggerClassName };
package/dist/tabs.js CHANGED
@@ -40,10 +40,17 @@ function TabsList({ className, variant = "underline", size, children, ...props }
40
40
  "data-size": resolvedSize,
41
41
  className: cn(tabsListVariants({ variant: resolvedVariant }), className),
42
42
  ...props,
43
- children: [children, /* @__PURE__ */ jsx(Tabs$1.Indicator, { className: cn("pointer-events-none absolute left-0 top-0 z-0 h-(--active-tab-height) w-(--active-tab-width) translate-x-(--active-tab-left) translate-y-(--active-tab-top) transition-[translate,width,height] duration-200 ease-in-out motion-reduce:transition-none", "group-data-[variant=secondary]/tabs-list:hidden", "group-data-[variant=underline]/tabs-list:rounded-none group-data-[variant=underline]/tabs-list:bg-line-focus group-data-[variant=underline]/tabs-list:shadow-none", "group-data-[orientation=horizontal]/tabs:group-data-[variant=underline]/tabs-list:top-auto group-data-[orientation=horizontal]/tabs:group-data-[variant=underline]/tabs-list:bottom-[-1px] group-data-[orientation=horizontal]/tabs:group-data-[variant=underline]/tabs-list:h-0.5! group-data-[orientation=horizontal]/tabs:group-data-[variant=underline]/tabs-list:translate-y-0", "group-data-[orientation=vertical]/tabs:group-data-[variant=underline]/tabs-list:left-auto group-data-[orientation=vertical]/tabs:group-data-[variant=underline]/tabs-list:right-[-1px] group-data-[orientation=vertical]/tabs:group-data-[variant=underline]/tabs-list:w-0.5! group-data-[orientation=vertical]/tabs:group-data-[variant=underline]/tabs-list:translate-x-0") })]
43
+ children: [children, /* @__PURE__ */ jsx(Tabs$1.Indicator, { className: tabsIndicatorClassName })]
44
44
  });
45
45
  }
46
46
  /**
47
+ * Indicator styling, exported alongside `tabsTriggerClassName` so recipes that
48
+ * drive their own active state (e.g. `ScrollSpy`) can render the same sliding
49
+ * bar. Positions itself off the `--active-tab-*` custom properties, which Base
50
+ * UI sets on the list — anything reusing this has to set them too.
51
+ */
52
+ const tabsIndicatorClassName = cn("pointer-events-none absolute left-0 top-0 z-0 h-(--active-tab-height) w-(--active-tab-width) translate-x-(--active-tab-left) translate-y-(--active-tab-top) transition-[translate,width,height] duration-200 ease-in-out motion-reduce:transition-none", "group-data-[variant=secondary]/tabs-list:hidden", "group-data-[variant=underline]/tabs-list:rounded-none group-data-[variant=underline]/tabs-list:bg-line-focus group-data-[variant=underline]/tabs-list:shadow-none", "group-data-[orientation=horizontal]/tabs:group-data-[variant=underline]/tabs-list:top-auto group-data-[orientation=horizontal]/tabs:group-data-[variant=underline]/tabs-list:bottom-[-1px] group-data-[orientation=horizontal]/tabs:group-data-[variant=underline]/tabs-list:h-0.5! group-data-[orientation=horizontal]/tabs:group-data-[variant=underline]/tabs-list:translate-y-0", "group-data-[orientation=vertical]/tabs:group-data-[variant=underline]/tabs-list:left-auto group-data-[orientation=vertical]/tabs:group-data-[variant=underline]/tabs-list:right-[-1px] group-data-[orientation=vertical]/tabs:group-data-[variant=underline]/tabs-list:w-0.5! group-data-[orientation=vertical]/tabs:group-data-[variant=underline]/tabs-list:translate-x-0");
53
+ /**
47
54
  * Trigger styling, exported so recipes (e.g. an overflow "More" button that
48
55
  * isn't a real tab) can render the same look. Reads both `variant` and `size`
49
56
  * off the parent `group/tabs-list`, so it stays in sync wherever it lives
@@ -112,4 +119,4 @@ function TabsContent({ className, ...props }) {
112
119
  });
113
120
  }
114
121
  //#endregion
115
- export { Tabs, TabsContent, TabsCount, TabsList, TabsTrigger, tabsListVariants, tabsTriggerClassName };
122
+ export { Tabs, TabsContent, TabsCount, TabsList, TabsTrigger, resolveTabsListVariant, tabsIndicatorClassName, tabsListVariants, tabsTriggerClassName };
package/dist/toast.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { Check, Info, X } from "./icons.js";
2
3
  import { t as cn } from "./cn-BI_4DMBf.js";
3
4
  import { Button } from "./button.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@giddaa-housing/ui",
3
- "version": "3.2.0",
3
+ "version": "3.3.0",
4
4
  "description": "Giddaa reusable UI component library.",
5
5
  "type": "module",
6
6
  "private": false,
@@ -317,6 +317,10 @@
317
317
  "types": "./dist/scatter-chart.d.ts",
318
318
  "import": "./dist/scatter-chart.js"
319
319
  },
320
+ "./scroll-spy": {
321
+ "types": "./dist/scroll-spy.d.ts",
322
+ "import": "./dist/scroll-spy.js"
323
+ },
320
324
  "./search-input": {
321
325
  "types": "./dist/search-input.d.ts",
322
326
  "import": "./dist/search-input.js"