@almadar/ui 2.23.0 → 2.24.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.
@@ -0,0 +1,35 @@
1
+ /**
2
+ * EdgeDecoration Molecule
3
+ *
4
+ * Standalone SVG decorative elements positioned on section edges.
5
+ * Unlike GeometricPattern (which tiles small units), these are large
6
+ * singular shapes placed at specific positions: left edge, right edge,
7
+ * or both.
8
+ *
9
+ * Variants:
10
+ * arch — Concentric pointed mihrab arches (half-circles opening inward)
11
+ * vine — Flowing arabesque scroll tendrils running vertically
12
+ * lattice — Fine curved diamond lattice mesh
13
+ *
14
+ * Each variant renders as an absolutely-positioned SVG on one or both
15
+ * sides of the parent container.
16
+ */
17
+ import React from 'react';
18
+ export type EdgeVariant = 'arch' | 'vine' | 'lattice';
19
+ export type EdgeSide = 'left' | 'right' | 'both';
20
+ export interface EdgeDecorationProps {
21
+ /** Which decorative element */
22
+ variant?: EdgeVariant;
23
+ /** Which side(s) to place the decoration */
24
+ side?: EdgeSide;
25
+ /** Overall opacity (default: 0.15) */
26
+ opacity?: number;
27
+ /** Stroke color */
28
+ color?: string;
29
+ /** Stroke width */
30
+ strokeWidth?: number;
31
+ /** Width of the decoration area as percentage of container (default: 15) */
32
+ width?: number;
33
+ className?: string;
34
+ }
35
+ export declare const EdgeDecoration: React.FC<EdgeDecorationProps>;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * GeometricPattern Molecule
3
+ *
4
+ * Composes PatternTile into reusable layout modes for Islamic geometric
5
+ * background decoration. Supports four modes:
6
+ *
7
+ * background — full tiling fill behind content
8
+ * left/right — pattern fades from one side toward the other
9
+ * frame — thin decorative strips above and below content
10
+ *
11
+ * Uses SVG <pattern> for efficient tiling and <mask> for fade effects.
12
+ * All rendering is pure SVG (SSR-safe, no browser APIs).
13
+ */
14
+ import React from 'react';
15
+ import type { PatternVariant } from '../atoms/PatternTile';
16
+ export interface GeometricPatternProps {
17
+ /** Which geometric tile design */
18
+ variant?: PatternVariant;
19
+ /** Layout mode */
20
+ mode?: 'background' | 'left' | 'right' | 'dual' | 'around' | 'frame';
21
+ /** Overall opacity (default: 0.06) */
22
+ opacity?: number;
23
+ /** Stroke color passed to PatternTile */
24
+ color?: string;
25
+ /** Tile scale multiplier (default: 1) */
26
+ scale?: number;
27
+ /** Stroke width passed to PatternTile */
28
+ strokeWidth?: number;
29
+ /** Content to wrap (used in frame mode) */
30
+ children?: React.ReactNode;
31
+ className?: string;
32
+ }
33
+ export declare const GeometricPattern: React.FC<GeometricPatternProps>;
@@ -76,3 +76,5 @@ export { TagCloud, type TagCloudProps, type TagCloudItem } from './TagCloud';
76
76
  export { CommunityLinks, type CommunityLinksProps } from './CommunityLinks';
77
77
  export { TeamCard, type TeamCardProps } from './TeamCard';
78
78
  export { ShowcaseCard, type ShowcaseCardProps } from './ShowcaseCard';
79
+ export { GeometricPattern, type GeometricPatternProps } from './GeometricPattern';
80
+ export { EdgeDecoration, type EdgeDecorationProps, type EdgeVariant, type EdgeSide } from './EdgeDecoration';
@@ -3047,9 +3047,9 @@ var variantStyles2 = {
3047
3047
  "active:scale-[var(--active-scale)] active:shadow-[var(--shadow-active)]"
3048
3048
  ].join(" "),
3049
3049
  secondary: [
3050
- "bg-[var(--color-secondary)] text-[var(--color-secondary-foreground)]",
3051
- "border-[length:var(--border-width-thin)] border-[var(--color-border)]",
3052
- "hover:bg-[var(--color-secondary-hover)]",
3050
+ "bg-transparent text-[var(--color-accent)]",
3051
+ "border-[length:var(--border-width)] border-[var(--color-accent)]",
3052
+ "hover:bg-[var(--color-accent)] hover:text-white",
3053
3053
  "active:scale-[var(--active-scale)]"
3054
3054
  ].join(" "),
3055
3055
  ghost: [
@@ -3023,9 +3023,9 @@ var variantStyles2 = {
3023
3023
  "active:scale-[var(--active-scale)] active:shadow-[var(--shadow-active)]"
3024
3024
  ].join(" "),
3025
3025
  secondary: [
3026
- "bg-[var(--color-secondary)] text-[var(--color-secondary-foreground)]",
3027
- "border-[length:var(--border-width-thin)] border-[var(--color-border)]",
3028
- "hover:bg-[var(--color-secondary-hover)]",
3026
+ "bg-transparent text-[var(--color-accent)]",
3027
+ "border-[length:var(--border-width)] border-[var(--color-accent)]",
3028
+ "hover:bg-[var(--color-accent)] hover:text-white",
3029
3029
  "active:scale-[var(--active-scale)]"
3030
3030
  ].join(" "),
3031
3031
  ghost: [