@alkimi.org/ui-kit 0.12.6 → 0.13.1
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/COMPONENTS.md +222 -2
- package/dist/{chunk-3TLCOZ5R.js → chunk-24EJLBGD.js} +2 -2
- package/dist/chunk-24EJLBGD.js.map +1 -0
- package/dist/chunk-372VUZFE.js.map +1 -1
- package/dist/chunk-3BVMHDYA.js.map +1 -1
- package/dist/{chunk-GRXC46JC.js → chunk-3DUPSGEY.js} +2 -2
- package/dist/chunk-3DUPSGEY.js.map +1 -0
- package/dist/{chunk-DMMKR6TY.js → chunk-3N5K4X23.js} +2 -2
- package/dist/chunk-3N5K4X23.js.map +1 -0
- package/dist/chunk-3PEPOFYU.js.map +1 -1
- package/dist/{chunk-DATWXRPT.mjs → chunk-4DRIPZWE.mjs} +2 -2
- package/dist/{chunk-BV7RXRSL.js → chunk-53P3PXF7.js} +2 -2
- package/dist/chunk-53P3PXF7.js.map +1 -0
- package/dist/chunk-5L5DM2X5.js.map +1 -1
- package/dist/chunk-5X26XR44.js.map +1 -1
- package/dist/chunk-73MWZSJI.js +3 -0
- package/dist/chunk-73MWZSJI.js.map +1 -0
- package/dist/chunk-7SOZ6MOV.js.map +1 -1
- package/dist/chunk-ALSJLUSL.js +3 -0
- package/dist/chunk-ALSJLUSL.js.map +1 -0
- package/dist/chunk-C4GUY2JQ.js +3 -0
- package/dist/chunk-C4GUY2JQ.js.map +1 -0
- package/dist/chunk-CT2CRYC2.js.map +1 -1
- package/dist/chunk-DEWWZMYC.js.map +1 -1
- package/dist/chunk-EBNJXPHG.js.map +1 -1
- package/dist/{chunk-UAUSYTY4.mjs → chunk-EDOMXQSZ.mjs} +2 -2
- package/dist/{chunk-UAUSYTY4.mjs.map → chunk-EDOMXQSZ.mjs.map} +1 -1
- package/dist/chunk-EIM5R7AJ.js.map +1 -1
- package/dist/chunk-EJTY2ABY.js.map +1 -1
- package/dist/{chunk-QMJVRGPB.mjs → chunk-EOFZPG26.mjs} +2 -2
- package/dist/{chunk-QMJVRGPB.mjs.map → chunk-EOFZPG26.mjs.map} +1 -1
- package/dist/chunk-ETE5IUMO.js +3 -0
- package/dist/chunk-ETE5IUMO.js.map +1 -0
- package/dist/chunk-FUYXCJOQ.js.map +1 -1
- package/dist/chunk-I5INE4KG.js.map +1 -1
- package/dist/{chunk-RKRTEMMZ.js → chunk-IJRJBDSO.js} +2 -2
- package/dist/chunk-IJRJBDSO.js.map +1 -0
- package/dist/{chunk-XQILGD5B.js → chunk-IJVB2BVO.js} +2 -2
- package/dist/chunk-IJVB2BVO.js.map +1 -0
- package/dist/{chunk-DKMCJGI4.mjs → chunk-JD2CTTZW.mjs} +2 -2
- package/dist/chunk-JOEQLSHD.js +32 -0
- package/dist/chunk-JOEQLSHD.js.map +1 -0
- package/dist/{chunk-PD43W3YN.mjs → chunk-JYA3425I.mjs} +2 -2
- package/dist/chunk-KN2ZJ5E6.mjs +3 -0
- package/dist/chunk-KN2ZJ5E6.mjs.map +1 -0
- package/dist/{chunk-574USYNO.mjs → chunk-MKZJL4AD.mjs} +2 -2
- package/dist/{chunk-574USYNO.mjs.map → chunk-MKZJL4AD.mjs.map} +1 -1
- package/dist/{chunk-DHHZMQ72.js → chunk-NCBOTFZQ.js} +2 -2
- package/dist/chunk-NCBOTFZQ.js.map +1 -0
- package/dist/chunk-NHM7DO42.mjs +3 -0
- package/dist/chunk-NHM7DO42.mjs.map +1 -0
- package/dist/chunk-OLF2HLRF.mjs +3 -0
- package/dist/chunk-OLF2HLRF.mjs.map +1 -0
- package/dist/chunk-QOEM7ZRV.mjs +3 -0
- package/dist/chunk-QOEM7ZRV.mjs.map +1 -0
- package/dist/{chunk-BLHKJHNV.mjs → chunk-QZKQORLQ.mjs} +2 -2
- package/dist/chunk-QZKQORLQ.mjs.map +1 -0
- package/dist/chunk-RJMIOBXZ.js.map +1 -1
- package/dist/chunk-RRAIGAHU.js.map +1 -1
- package/dist/{chunk-KLU33CJI.mjs → chunk-RUEPYIWM.mjs} +2 -2
- package/dist/{chunk-7J2ETVGK.js → chunk-SPGHRCUD.js} +2 -2
- package/dist/chunk-SPGHRCUD.js.map +1 -0
- package/dist/chunk-TDMRUCR6.js.map +1 -1
- package/dist/chunk-TUADTU4Z.mjs +32 -0
- package/dist/chunk-TUADTU4Z.mjs.map +1 -0
- package/dist/chunk-UJZP6L4S.js.map +1 -1
- package/dist/chunk-ULIOO55I.js.map +1 -1
- package/dist/chunk-UNR6ATUH.js.map +1 -1
- package/dist/chunk-UW73WIQU.js +3 -0
- package/dist/chunk-UW73WIQU.js.map +1 -0
- package/dist/chunk-VBPIXXIA.js.map +1 -1
- package/dist/chunk-VGPTOLNX.mjs +3 -0
- package/dist/chunk-VGPTOLNX.mjs.map +1 -0
- package/dist/chunk-WFD523CV.js.map +1 -1
- package/dist/chunk-WYRD4UAK.js.map +1 -1
- package/dist/{chunk-USPGZYMV.js → chunk-XUVA7BXG.js} +2 -2
- package/dist/chunk-XUVA7BXG.js.map +1 -0
- package/dist/chunk-XVF3OJWZ.js +3 -0
- package/dist/chunk-XVF3OJWZ.js.map +1 -0
- package/dist/chunk-XY6RUEAT.mjs +3 -0
- package/dist/chunk-XY6RUEAT.mjs.map +1 -0
- package/dist/chunk-XYO4VLMF.js.map +1 -1
- package/dist/{chunk-LQMOWEA7.js → chunk-YE7OOLWB.js} +2 -2
- package/dist/chunk-YE7OOLWB.js.map +1 -0
- package/dist/{chunk-TYRJ7CQV.mjs → chunk-YIVVQTGD.mjs} +2 -2
- package/dist/chunk-YSIF7HA3.mjs +3 -0
- package/dist/chunk-YSIF7HA3.mjs.map +1 -0
- package/dist/chunk-Z5V4P3EC.js.map +1 -1
- package/dist/components/GeometricFluidGrid.js.map +1 -1
- package/dist/components/GlitchLink.js.map +1 -1
- package/dist/components/PixelLoad.js.map +1 -1
- package/dist/components/TextDecoder.js.map +1 -1
- package/dist/components/accordion.js.map +1 -1
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/breadcrumb.js +2 -2
- package/dist/components/breadcrumb.js.map +1 -1
- package/dist/components/breadcrumb.mjs +1 -1
- package/dist/components/breadcrumb.mjs.map +1 -1
- package/dist/components/button.d.mts +2 -2
- package/dist/components/button.d.ts +2 -2
- package/dist/components/button.js +1 -1
- package/dist/components/button.js.map +1 -1
- package/dist/components/button.mjs +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/calendar.mjs +1 -1
- package/dist/components/card.js +2 -31
- package/dist/components/card.js.map +1 -1
- package/dist/components/card.mjs +1 -30
- package/dist/components/card.mjs.map +1 -1
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/combobox.d.mts +19 -2
- package/dist/components/combobox.d.ts +19 -2
- package/dist/components/combobox.js +1 -1
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/combobox.mjs +1 -1
- package/dist/components/command.d.mts +1 -1
- package/dist/components/command.d.ts +1 -1
- package/dist/components/command.js +1 -1
- package/dist/components/command.js.map +1 -1
- package/dist/components/command.mjs +1 -1
- package/dist/components/date-picker.js +1 -1
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/date-picker.mjs +1 -1
- package/dist/components/date-range-picker.js +1 -1
- package/dist/components/date-range-picker.js.map +1 -1
- package/dist/components/date-range-picker.mjs +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/dialog.mjs +1 -1
- package/dist/components/drawer.js +1 -1
- package/dist/components/drawer.js.map +1 -1
- package/dist/components/drawer.mjs +1 -1
- package/dist/components/dropdown-menu.js.map +1 -1
- package/dist/components/field.js.map +1 -1
- package/dist/components/file-upload.js +1 -1
- package/dist/components/file-upload.js.map +1 -1
- package/dist/components/file-upload.mjs +1 -1
- package/dist/components/input.js +1 -1
- package/dist/components/input.js.map +1 -1
- package/dist/components/input.mjs +1 -1
- package/dist/components/label.js.map +1 -1
- package/dist/components/popover.js.map +1 -1
- package/dist/components/progress.js +2 -2
- package/dist/components/progress.js.map +1 -1
- package/dist/components/progress.mjs +1 -1
- package/dist/components/progress.mjs.map +1 -1
- package/dist/components/radio-group.js.map +1 -1
- package/dist/components/scroll-area.js.map +1 -1
- package/dist/components/separator.js.map +1 -1
- package/dist/components/sheet.js.map +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/sidebar.js.map +1 -1
- package/dist/components/sidebar.mjs +1 -1
- package/dist/components/skeleton.js.map +1 -1
- package/dist/components/slider.js +2 -2
- package/dist/components/slider.js.map +1 -1
- package/dist/components/slider.mjs +1 -1
- package/dist/components/slider.mjs.map +1 -1
- package/dist/components/switch.js +2 -2
- package/dist/components/switch.js.map +1 -1
- package/dist/components/switch.mjs +1 -1
- package/dist/components/switch.mjs.map +1 -1
- package/dist/components/table.js.map +1 -1
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/textarea.js.map +1 -1
- package/dist/components/toast.js.map +1 -1
- package/dist/components/tooltip.js.map +1 -1
- package/dist/components/tree-select.js +1 -1
- package/dist/components/tree-select.js.map +1 -1
- package/dist/components/tree-select.mjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +9 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-3TLCOZ5R.js.map +0 -1
- package/dist/chunk-4UISHS25.mjs +0 -3
- package/dist/chunk-4UISHS25.mjs.map +0 -1
- package/dist/chunk-7FUNOEYE.mjs +0 -3
- package/dist/chunk-7FUNOEYE.mjs.map +0 -1
- package/dist/chunk-7J2ETVGK.js.map +0 -1
- package/dist/chunk-BLHKJHNV.mjs.map +0 -1
- package/dist/chunk-BV7RXRSL.js.map +0 -1
- package/dist/chunk-DHHZMQ72.js.map +0 -1
- package/dist/chunk-DMMKR6TY.js.map +0 -1
- package/dist/chunk-GRXC46JC.js.map +0 -1
- package/dist/chunk-K4GMCVHO.js +0 -3
- package/dist/chunk-K4GMCVHO.js.map +0 -1
- package/dist/chunk-LQMOWEA7.js.map +0 -1
- package/dist/chunk-NEOUFWZN.mjs +0 -3
- package/dist/chunk-NEOUFWZN.mjs.map +0 -1
- package/dist/chunk-ODXDXJ72.js +0 -3
- package/dist/chunk-ODXDXJ72.js.map +0 -1
- package/dist/chunk-RKRTEMMZ.js.map +0 -1
- package/dist/chunk-USPGZYMV.js.map +0 -1
- package/dist/chunk-XQILGD5B.js.map +0 -1
- /package/dist/{chunk-DATWXRPT.mjs.map → chunk-4DRIPZWE.mjs.map} +0 -0
- /package/dist/{chunk-DKMCJGI4.mjs.map → chunk-JD2CTTZW.mjs.map} +0 -0
- /package/dist/{chunk-PD43W3YN.mjs.map → chunk-JYA3425I.mjs.map} +0 -0
- /package/dist/{chunk-KLU33CJI.mjs.map → chunk-RUEPYIWM.mjs.map} +0 -0
- /package/dist/{chunk-TYRJ7CQV.mjs.map → chunk-YIVVQTGD.mjs.map} +0 -0
package/dist/COMPONENTS.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# @alkimi.org/ui-kit v0.
|
|
1
|
+
# @alkimi.org/ui-kit v0.13.1
|
|
2
2
|
|
|
3
3
|
AI-readable component documentation for the Alkimi UI Kit.
|
|
4
4
|
|
|
@@ -1057,9 +1057,11 @@ import { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, Comman
|
|
|
1057
1057
|
## Combobox
|
|
1058
1058
|
|
|
1059
1059
|
```tsx
|
|
1060
|
-
import { Combobox, type ComboboxOption, type ComboboxGroup, type ComboboxProps } from "@alkimi.org/ui-kit"
|
|
1060
|
+
import { Combobox, ComboboxChips, type ComboboxOption, type ComboboxGroup, type ComboboxProps, type ComboboxChipsProps } from "@alkimi.org/ui-kit"
|
|
1061
1061
|
```
|
|
1062
1062
|
|
|
1063
|
+
**Components:** `Combobox`, `ComboboxChips`
|
|
1064
|
+
|
|
1063
1065
|
A searchable select component that combines a button trigger with a command palette for filtering options. Supports both single and multiple selection modes.
|
|
1064
1066
|
|
|
1065
1067
|
### Usage
|
|
@@ -1235,6 +1237,13 @@ The Combobox is composed of:
|
|
|
1235
1237
|
| onTriggerClick? | `() =\> void` | - | - |
|
|
1236
1238
|
| showChipRemoveIcon? | `boolean` | `true` | - |
|
|
1237
1239
|
| triggerProps? | `React.ButtonHTMLAttributes\<HTMLButtonElement\>` | - | - |
|
|
1240
|
+
| externalChipsOnly? | `boolean` | `false` | When true, external chips are not rendered inside the Combobox. Use ComboboxChips to render them externally. |
|
|
1241
|
+
| selectedOptions | `ComboboxOption[]` | - | The selected options to display as chips |
|
|
1242
|
+
| onRemove? | `(value: string) =\> void` | - | Callback when a chip is removed |
|
|
1243
|
+
| showRemoveIcon? | `boolean` | `true` | Whether to show the remove icon on chips |
|
|
1244
|
+
| disabled? | `boolean` | `false` | Whether the chips are disabled |
|
|
1245
|
+
| className? | `string` | `"flex flex-wrap items-center gap-2"` | Additional class name for the chip container |
|
|
1246
|
+
| chipClassName? | `string` | - | Additional class name for individual chips |
|
|
1238
1247
|
|
|
1239
1248
|
### ComboboxOption
|
|
1240
1249
|
|
|
@@ -1699,6 +1708,217 @@ Available positions: `top-left`, `top-center`, `top-right`, `bottom-left`, `bott
|
|
|
1699
1708
|
|
|
1700
1709
|
---
|
|
1701
1710
|
|
|
1711
|
+
## Card
|
|
1712
|
+
|
|
1713
|
+
```tsx
|
|
1714
|
+
import { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } from "@alkimi.org/ui-kit"
|
|
1715
|
+
```
|
|
1716
|
+
|
|
1717
|
+
**Components:** `Card`, `CardHeader`, `CardFooter`, `CardTitle`, `CardDescription`, `CardContent`
|
|
1718
|
+
|
|
1719
|
+
A flexible card container component with multiple sub-components for structured content.
|
|
1720
|
+
|
|
1721
|
+
### Usage
|
|
1722
|
+
|
|
1723
|
+
```tsx
|
|
1724
|
+
<Card>
|
|
1725
|
+
<CardHeader>
|
|
1726
|
+
<CardTitle>Card Title</CardTitle>
|
|
1727
|
+
<CardDescription>Card Description</CardDescription>
|
|
1728
|
+
</CardHeader>
|
|
1729
|
+
<CardContent>
|
|
1730
|
+
<p>Card Content</p>
|
|
1731
|
+
</CardContent>
|
|
1732
|
+
<CardFooter>
|
|
1733
|
+
<Button>Action</Button>
|
|
1734
|
+
</CardFooter>
|
|
1735
|
+
</Card>
|
|
1736
|
+
```
|
|
1737
|
+
|
|
1738
|
+
### Component Structure
|
|
1739
|
+
|
|
1740
|
+
- **Card**: Root container
|
|
1741
|
+
- **CardHeader**: Header section for title and description
|
|
1742
|
+
- **CardTitle**: Title text
|
|
1743
|
+
- **CardDescription**: Subtitle or description text
|
|
1744
|
+
- **CardContent**: Main content area
|
|
1745
|
+
- **CardFooter**: Footer section for actions
|
|
1746
|
+
|
|
1747
|
+
### Props
|
|
1748
|
+
|
|
1749
|
+
- **hoverable**: When true, adds hover effect with bg-secondary and cursor-pointer
|
|
1750
|
+
- **rounded**: Controls border-radius size — `"default"` (20px) or `"sm"` (16px)
|
|
1751
|
+
- **isAnimated**: When true, shows animated blurred blobs behind the card content
|
|
1752
|
+
|
|
1753
|
+
All sub-components are optional and can be used in any combination.
|
|
1754
|
+
|
|
1755
|
+
---
|
|
1756
|
+
|
|
1757
|
+
## Progress
|
|
1758
|
+
|
|
1759
|
+
```tsx
|
|
1760
|
+
import { Progress } from "@alkimi.org/ui-kit"
|
|
1761
|
+
```
|
|
1762
|
+
|
|
1763
|
+
A progress bar component for visualizing task completion or loading states.
|
|
1764
|
+
|
|
1765
|
+
### Usage
|
|
1766
|
+
|
|
1767
|
+
```tsx
|
|
1768
|
+
<Progress value={60} />
|
|
1769
|
+
<Progress value={100} className="h-4" />
|
|
1770
|
+
```
|
|
1771
|
+
|
|
1772
|
+
### Props
|
|
1773
|
+
|
|
1774
|
+
- **value**: Progress percentage (0-100)
|
|
1775
|
+
- **className**: Customize height using Tailwind (e.g., `h-1`, `h-4`)
|
|
1776
|
+
|
|
1777
|
+
### Use Cases
|
|
1778
|
+
|
|
1779
|
+
- File uploads
|
|
1780
|
+
- Form completion tracking
|
|
1781
|
+
- Skill level indicators
|
|
1782
|
+
- Any percentage-based metric visualization
|
|
1783
|
+
|
|
1784
|
+
---
|
|
1785
|
+
|
|
1786
|
+
## Slider
|
|
1787
|
+
|
|
1788
|
+
```tsx
|
|
1789
|
+
import { Slider } from "@alkimi.org/ui-kit"
|
|
1790
|
+
```
|
|
1791
|
+
|
|
1792
|
+
A slider component for selecting a value or range of values from a continuous range.
|
|
1793
|
+
|
|
1794
|
+
### Component Structure
|
|
1795
|
+
|
|
1796
|
+
The Slider component is built on top of Radix UI's Slider primitive and supports both single-value and range selections.
|
|
1797
|
+
|
|
1798
|
+
### Key Features
|
|
1799
|
+
|
|
1800
|
+
- **Single Value**: Select a single value from a range
|
|
1801
|
+
- **Range Selection**: Select a range with two thumbs (min and max)
|
|
1802
|
+
- **Vertical Orientation**: Display slider vertically
|
|
1803
|
+
- **Customizable Range**: Set custom min and max values
|
|
1804
|
+
- **Controlled/Uncontrolled**: Works with both controlled and uncontrolled patterns
|
|
1805
|
+
- **Accessible**: Full keyboard navigation and screen reader support
|
|
1806
|
+
|
|
1807
|
+
### Usage Example
|
|
1808
|
+
|
|
1809
|
+
```tsx
|
|
1810
|
+
// Single value (uncontrolled)
|
|
1811
|
+
<Slider defaultValue={[50]} min={0} max={100} />
|
|
1812
|
+
|
|
1813
|
+
// Single value (controlled)
|
|
1814
|
+
const [value, setValue] = React.useState([50])
|
|
1815
|
+
<Slider value={value} onValueChange={setValue} />
|
|
1816
|
+
|
|
1817
|
+
// Range selection
|
|
1818
|
+
<Slider defaultValue={[20, 80]} min={0} max={100} />
|
|
1819
|
+
|
|
1820
|
+
// Vertical slider
|
|
1821
|
+
<Slider defaultValue={[50]} orientation="vertical" className="h-64" />
|
|
1822
|
+
```
|
|
1823
|
+
|
|
1824
|
+
### Props
|
|
1825
|
+
|
|
1826
|
+
- **defaultValue**: Initial value(s) as an array (e.g., `[50]` or `[20, 80]`)
|
|
1827
|
+
- **value**: Controlled value(s) as an array
|
|
1828
|
+
- **onValueChange**: Callback when value changes
|
|
1829
|
+
- **min**: Minimum value (default: 0)
|
|
1830
|
+
- **max**: Maximum value (default: 100)
|
|
1831
|
+
- **step**: Step size for increments (default: 1)
|
|
1832
|
+
- **orientation**: `"horizontal"` or `"vertical"` (default: horizontal)
|
|
1833
|
+
- **disabled**: Disable the slider
|
|
1834
|
+
- **className**: Custom CSS classes
|
|
1835
|
+
|
|
1836
|
+
### Use Cases
|
|
1837
|
+
|
|
1838
|
+
- Volume controls
|
|
1839
|
+
- Price range filters
|
|
1840
|
+
- Time range selectors
|
|
1841
|
+
- Brightness/contrast adjustments
|
|
1842
|
+
- Any numeric input with visual feedback
|
|
1843
|
+
|
|
1844
|
+
---
|
|
1845
|
+
|
|
1846
|
+
## Switch
|
|
1847
|
+
|
|
1848
|
+
```tsx
|
|
1849
|
+
import { Switch } from "@alkimi.org/ui-kit"
|
|
1850
|
+
```
|
|
1851
|
+
|
|
1852
|
+
A toggle switch component for binary on/off states.
|
|
1853
|
+
|
|
1854
|
+
### Usage
|
|
1855
|
+
|
|
1856
|
+
```tsx
|
|
1857
|
+
<div className="flex items-center space-x-2">
|
|
1858
|
+
<Switch id="airplane" />
|
|
1859
|
+
<label htmlFor="airplane">Airplane mode</label>
|
|
1860
|
+
</div>
|
|
1861
|
+
```
|
|
1862
|
+
|
|
1863
|
+
### Modes
|
|
1864
|
+
|
|
1865
|
+
- **Uncontrolled**: Use `defaultChecked` prop
|
|
1866
|
+
- **Controlled**: Use `checked` and `onCheckedChange` props
|
|
1867
|
+
|
|
1868
|
+
### Props
|
|
1869
|
+
|
|
1870
|
+
- **checked**: Controlled state
|
|
1871
|
+
- **defaultChecked**: Default state for uncontrolled mode
|
|
1872
|
+
- **onCheckedChange**: Callback when state changes
|
|
1873
|
+
- **disabled**: Prevents user interaction
|
|
1874
|
+
|
|
1875
|
+
Perfect for settings, preferences, and feature toggles. Fully accessible.
|
|
1876
|
+
|
|
1877
|
+
---
|
|
1878
|
+
|
|
1879
|
+
## Breadcrumb
|
|
1880
|
+
|
|
1881
|
+
```tsx
|
|
1882
|
+
import { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis } from "@alkimi.org/ui-kit"
|
|
1883
|
+
```
|
|
1884
|
+
|
|
1885
|
+
**Components:** `Breadcrumb`, `BreadcrumbList`, `BreadcrumbItem`, `BreadcrumbLink`, `BreadcrumbPage`, `BreadcrumbSeparator`, `BreadcrumbEllipsis`
|
|
1886
|
+
|
|
1887
|
+
A breadcrumb navigation component that displays the user's location within the application hierarchy.
|
|
1888
|
+
|
|
1889
|
+
### Component Structure
|
|
1890
|
+
|
|
1891
|
+
- **Breadcrumb**: Root container
|
|
1892
|
+
- **BreadcrumbList**: Wrapper for breadcrumb items
|
|
1893
|
+
- **BreadcrumbItem**: Individual item in the breadcrumb trail
|
|
1894
|
+
- **BreadcrumbLink**: Clickable link for navigable items
|
|
1895
|
+
- **BreadcrumbPage**: Current page (non-clickable, end of trail)
|
|
1896
|
+
- **BreadcrumbSeparator**: Visual separator between items (defaults to chevron)
|
|
1897
|
+
- **BreadcrumbEllipsis**: Collapsed items indicator for long paths
|
|
1898
|
+
|
|
1899
|
+
### Usage
|
|
1900
|
+
|
|
1901
|
+
```tsx
|
|
1902
|
+
<Breadcrumb>
|
|
1903
|
+
<BreadcrumbList>
|
|
1904
|
+
<BreadcrumbItem>
|
|
1905
|
+
<BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
1906
|
+
</BreadcrumbItem>
|
|
1907
|
+
<BreadcrumbSeparator />
|
|
1908
|
+
<BreadcrumbItem>
|
|
1909
|
+
<BreadcrumbPage>Current</BreadcrumbPage>
|
|
1910
|
+
</BreadcrumbItem>
|
|
1911
|
+
</BreadcrumbList>
|
|
1912
|
+
</Breadcrumb>
|
|
1913
|
+
```
|
|
1914
|
+
|
|
1915
|
+
### Customization
|
|
1916
|
+
|
|
1917
|
+
- Use custom separators by passing children to BreadcrumbSeparator (e.g., icons, text)
|
|
1918
|
+
- Use BreadcrumbEllipsis for collapsed middle sections in long paths
|
|
1919
|
+
|
|
1920
|
+
---
|
|
1921
|
+
|
|
1702
1922
|
## Utilities
|
|
1703
1923
|
|
|
1704
1924
|
```tsx
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
|
|
2
|
-
var
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
2
|
+
var _chunk3DUPSGEYjs = require('./chunk-3DUPSGEY.js');var _chunkFUYXCJOQjs = require('./chunk-FUYXCJOQ.js');var _react = require('react'); var r = _interopRequireWildcard(_react);var _lucidereact = require('lucide-react');var _datefns = require('date-fns');var _reactpopover = require('@radix-ui/react-popover'); var o = _interopRequireWildcard(_reactpopover);var _jsxruntime = require('react/jsx-runtime');var C=o.Root,x=o.Trigger,c=r.forwardRef(({className:e,align:a="start",sideOffset:n=4,...i},s)=>_jsxruntime.jsx.call(void 0, o.Portal,{children:_jsxruntime.jsx.call(void 0, o.Content,{ref:s,align:a,sideOffset:n,className:_chunkFUYXCJOQjs.a.call(void 0, "z-50 w-auto rounded-3xl border border-border bg-popover p-0 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...i})}));c.displayName=o.Content.displayName;var k=r.forwardRef(({dateRange:e,onDateRangeChange:a,placeholder:n="Pick a date range",disabled:i=!1,className:s,calendarProps:P,formatStr:d="LLL dd, y",numberOfMonths:u=2},g)=>{let[v,b]=r.useState(!1),y=()=>_optionalChain([e, 'optionalAccess', _ => _.from])?e.to?`${_datefns.format.call(void 0, e.from,d)} - ${_datefns.format.call(void 0, e.to,d)}`:_datefns.format.call(void 0, e.from,d):n;return _jsxruntime.jsxs.call(void 0, C,{open:v,onOpenChange:b,modal:!0,children:[_jsxruntime.jsx.call(void 0, x,{asChild:!0,children:_jsxruntime.jsxs.call(void 0, "button",{ref:g,type:"button",className:_chunkFUYXCJOQjs.a.call(void 0, "flex my-2 h-8 lg:h-9 w-full items-center rounded-3xl border border-border bg-background hover:bg-secondary px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",!_optionalChain([e, 'optionalAccess', _2 => _2.from])&&"text-secondary-text",s),disabled:i,children:[_jsxruntime.jsx.call(void 0, _lucidereact.CalendarIcon,{className:"mr-2 h-4 w-4 shrink-0"}),_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:y()})]})}),_jsxruntime.jsx.call(void 0, c,{className:"w-auto p-0",align:"start",children:_jsxruntime.jsx.call(void 0, _chunk3DUPSGEYjs.a,{mode:"range",selected:e,onSelect:h=>{_optionalChain([a, 'optionalCall', _3 => _3(h)])},defaultMonth:_optionalChain([e, 'optionalAccess', _4 => _4.from]),numberOfMonths:u,...P})})]})});k.displayName="DateRangePicker";exports.a = k;
|
|
3
|
+
//# sourceMappingURL=chunk-24EJLBGD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/chunk-24EJLBGD.js","../src/components/date-range-picker.tsx"],"names":["Popover","PopoverTrigger","PopoverContent","className","align","sideOffset","props","ref","jsx","cn","DateRangePicker","dateRange","onDateRangeChange","placeholder","disabled","calendarProps","formatStr","numberOfMonths","open","setOpen","formatDisplayValue"],"mappings":"AAAA,22BAAY;AACZ,sDAAuC,sDAAwC,uECCxD,2CACM,mCACN,uGACW,+CAc9B,IAREA,CAAAA,CAA2B,CAAA,CAAA,IAAA,CAC3BC,CAAAA,CAAkC,CAAA,CAAA,OAAA,CAElCC,CAAAA,CAAuB,CAAA,CAAA,UAAA,CAG3B,CAAC,CAAE,SAAA,CAAAC,CAAAA,CAAW,KAAA,CAAAC,CAAAA,CAAQ,OAAA,CAAS,UAAA,CAAAC,CAAAA,CAAa,CAAA,CAAG,GAAGC,CAAM,CAAA,CAAGC,CAAAA,CAAAA,EAC3DC,6BAAAA,CAAkB,CAAA,MAAA,CAAjB,CACC,QAAA,CAAAA,6BAAAA,CAAkB,CAAA,OAAA,CAAjB,CACC,GAAA,CAAKD,CAAAA,CACL,KAAA,CAAOH,CAAAA,CACP,UAAA,CAAYC,CAAAA,CACZ,SAAA,CAAWI,gCAAAA,6bACT,CACAN,CACF,CAAA,CACC,GAAGG,CAAAA,CACN,CAAA,CACF,CACD,CAAA,CACDJ,CAAAA,CAAe,WAAA,CAA+B,CAAA,CAAA,OAAA,CAAQ,WAAA,CAgBtD,IAAMQ,CAAAA,CAAwB,CAAA,CAAA,UAAA,CAI5B,CACE,CACE,SAAA,CAAAC,CAAAA,CACA,iBAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CAAc,mBAAA,CACd,QAAA,CAAAC,CAAAA,CAAW,CAAA,CAAA,CACX,SAAA,CAAAX,CAAAA,CACA,aAAA,CAAAY,CAAAA,CACA,SAAA,CAAAC,CAAAA,CAAY,WAAA,CACZ,cAAA,CAAAC,CAAAA,CAAiB,CACnB,CAAA,CACAV,CAAAA,CAAAA,EACG,CACH,GAAM,CAACW,CAAAA,CAAMC,CAAO,CAAA,CAAU,CAAA,CAAA,QAAA,CAAS,CAAA,CAAK,CAAA,CAEtCC,CAAAA,CAAqB,CAAA,CAAA,kBACpBT,CAAAA,2BAAW,MAAA,CAIZA,CAAAA,CAAU,EAAA,CACL,CAAA,EAAA","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/chunk-24EJLBGD.js","sourcesContent":[null,"\"use client\"\n\nimport * as React from \"react\"\nimport { CalendarIcon } from \"lucide-react\"\nimport { format } from \"date-fns\"\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\nimport type { DateRange } from \"react-day-picker\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Calendar } from \"@/components/calendar\"\n\nconst Popover = PopoverPrimitive.Root\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = \"start\", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-auto rounded-3xl border border-border bg-popover p-0 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport interface DateRangePickerProps {\n dateRange?: DateRange\n onDateRangeChange?: (dateRange: DateRange | undefined) => void\n placeholder?: string\n disabled?: boolean\n className?: string\n calendarProps?: Omit<\n React.ComponentProps<typeof Calendar>,\n \"mode\" | \"selected\" | \"onSelect\"\n >\n formatStr?: string\n numberOfMonths?: number\n}\n\nconst DateRangePicker = React.forwardRef<\n HTMLButtonElement,\n DateRangePickerProps\n>(\n (\n {\n dateRange,\n onDateRangeChange,\n placeholder = \"Pick a date range\",\n disabled = false,\n className,\n calendarProps,\n formatStr = \"LLL dd, y\",\n numberOfMonths = 2,\n },\n ref\n ) => {\n const [open, setOpen] = React.useState(false)\n\n const formatDisplayValue = () => {\n if (!dateRange?.from) {\n return placeholder\n }\n\n if (dateRange.to) {\n return `${format(dateRange.from, formatStr)} - ${format(dateRange.to, formatStr)}`\n }\n\n return format(dateRange.from, formatStr)\n }\n\n return (\n <Popover open={open} onOpenChange={setOpen} modal>\n <PopoverTrigger asChild>\n <button\n ref={ref}\n type=\"button\"\n className={cn(\n \"flex my-2 h-8 lg:h-9 w-full items-center rounded-3xl border border-border bg-background hover:bg-secondary px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n !dateRange?.from && \"text-secondary-text\",\n className\n )}\n disabled={disabled}\n >\n <CalendarIcon className=\"mr-2 h-4 w-4 shrink-0\" />\n <span className=\"truncate\">{formatDisplayValue()}</span>\n </button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"range\"\n selected={dateRange}\n onSelect={(range) => {\n onDateRangeChange?.(range)\n }}\n defaultMonth={dateRange?.from}\n numberOfMonths={numberOfMonths}\n {...calendarProps}\n />\n </PopoverContent>\n </Popover>\n )\n }\n)\n\nDateRangePicker.displayName = \"DateRangePicker\"\n\nexport { DateRangePicker }\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/
|
|
1
|
+
{"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/chunk-372VUZFE.js","../src/components/avatar.tsx"],"names":["generateHashes","seed","cleanSeed","P1","P2","P3","h1","h2","i","char","getSphericalGradient","hue1","hue2","sat1","sat2","light1","light2","color1","color2","getSeedColor","hue","saturation","lightness","Avatar","className","props","ref","jsx","cn","AvatarImage","AvatarFallback","gradientStyle"],"mappings":"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","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/chunk-372VUZFE.js","sourcesContent":[null,"\"use client\"\n\nimport * as React from \"react\"\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\"\nimport { cn } from \"@/lib/utils\"\n\n/**\n * Generates hash values from a seed string.\n * This is the core function that ensures consistency between gradient and single color.\n */\nconst generateHashes = (seed: string = \"default\") => {\n // 1. Remove '0x' to jump straight into the unique data\n const cleanSeed = seed.startsWith(\"0x\") ? seed.slice(2) : seed\n\n // Primes for high-variance bit-mixing\n const P1 = 0x85ebca6b\n const P2 = 0xc2b2ae35\n const P3 = 0x27d4eb2f\n\n let h1 = 0xdeadbeef\n let h2 = 0x41c6ce57\n\n for (let i = 0; i < cleanSeed.length; i++) {\n const char = cleanSeed.charCodeAt(i)\n h1 = Math.imul(h1 ^ char, P1)\n h1 = (h1 << 13) | (h1 >>> 19)\n\n h2 = Math.imul(h2 ^ char, P2)\n h2 = (h2 << 17) | (h2 >>> 15)\n }\n\n // Final mix\n h1 ^= h1 >>> 16\n h1 = Math.imul(h1, P3)\n h2 ^= h2 >>> 13\n h2 = Math.imul(h2, P1)\n\n return { h1: Math.abs(h1), h2: Math.abs(h2) }\n}\n\n/**\n * Creates a mesh-style radial gradient that mimics a 3D sphere.\n * Base color: #F8F8F8\n * Top: Two distinct HSL blobs that occupy roughly the upper 3/4.\n */\nconst getSphericalGradient = (seed: string = \"default\") => {\n const { h1, h2 } = generateHashes(seed)\n\n // Map Hashes to HSL\n const hue1 = h1 % 360\n // Force second hue to be at least 120 degrees away for maximum contrast\n const hue2 = (hue1 + 120 + (h2 % 120)) % 360\n\n const sat1 = 70 + ((h1 >> 4) % 30)\n const sat2 = 70 + ((h2 >> 4) % 30)\n\n const light1 = 50 + ((h1 >> 8) % 15)\n const light2 = 50 + ((h2 >> 8) % 15)\n\n const color1 = `hsl(${hue1}, ${sat1}%, ${light1}%)`\n const color2 = `hsl(${hue2}, ${sat2}%, ${light2}%)`\n\n return {\n backgroundColor: \"#F8F8F8\",\n backgroundImage: `\n radial-gradient(at 0% 0%, ${color1} 0%, transparent 80%),\n radial-gradient(at 100% 100%, ${color2} 0%, transparent 80%)\n `,\n }\n}\n\n/**\n * Generates a unique single color from a seed string.\n * This color is in sync with the spherical gradient - the same seed will produce\n * a color that matches the primary color (color1) of the gradient.\n * Useful for leaderboards, badges, or other UI elements that need a consistent identifier color.\n *\n * @param seed - The seed string (e.g., username, user ID)\n * @returns A single HSL color string (e.g., \"hsl(120, 85%, 60%)\")\n */\nconst getSeedColor = (seed: string = \"default\"): string => {\n const { h1 } = generateHashes(seed)\n\n const hue = h1 % 360\n const saturation = 70 + ((h1 >> 4) % 30) // 70-100%\n const lightness = 50 + ((h1 >> 8) % 15) // 50-65%\n\n return `hsl(${hue}, ${saturation}%, ${lightness}%)`\n}\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full\",\n className\n )}\n {...props}\n />\n))\nAvatar.displayName = AvatarPrimitive.Root.displayName\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image\n ref={ref}\n className={cn(\"aspect-square h-full w-full\", className)}\n {...props}\n />\n))\nAvatarImage.displayName = AvatarPrimitive.Image.displayName\n\ninterface FallbackProps extends React.ComponentPropsWithoutRef<\n typeof AvatarPrimitive.Fallback\n> {\n seed?: string\n}\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n FallbackProps\n>(({ className, seed, ...props }, ref) => {\n const gradientStyle = React.useMemo(() => getSphericalGradient(seed), [seed])\n\n return (\n <AvatarPrimitive.Fallback\n ref={ref}\n style={gradientStyle}\n className={cn(\n \"flex h-full w-full items-center justify-center rounded-full text-white font-medium shadow-inner\",\n className\n )}\n {...props}\n />\n )\n})\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName\n\nexport {\n Avatar,\n AvatarImage,\n AvatarFallback,\n getSphericalGradient,\n getSeedColor,\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/
|
|
1
|
+
{"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/chunk-3BVMHDYA.js","../src/lib/use-media-query.ts","../tailwind.config.ts"],"names":["config","tailwind_config_default","useMediaQuery","breakpoint","matches","setMatches","query","media","updateMatch"],"mappings":"AAAA,uWAAY;ACEZ,uEAAuB,ICAjBA,CAAAA,CAAS,CACb,OAAA,CAAS,CACP,qBAAA,CACA,yBACF,CAAA,CACA,KAAA,CAAO,CACL,MAAA,CAAQ,CACN,OAAA,CAAS,CACP,EAAA,CAAM,OAAA,CACN,EAAA,CAAM,OAAA,CACN,EAAA,CAAM,OAAA,CACN,EAAA,CAAM,QAAA,CACN,KAAA,CAAO,QACT,CACF,CACF,CACF,CAAA,CAEOC,CAAAA,CAAQD,CAAAA,CDXR,SAASE,CAAAA,CAAcC,CAAAA,CAA8D,CAC1F,GAAM,CAACC,CAAAA,CAASC,CAAU,CAAA,CAAU,CAAA,CAAA,QAAA,CAAS,CAAA,CAAK,CAAA,CAElD,OAAM,CAAA,CAAA,SAAA,CAAU,CAAA,CAAA,EAAM,CAEpB,IAAMC,CAAAA,CAAQ,CAAA,YAAA,EADAL,CAAAA,CAAe,KAAA,CAAM,MAAA,CAAO,OAAA,CAAQE,CAAU,CAC1B,CAAA,CAAA,CAAA,CAC5BI,CAAAA,CAAQ,MAAA,CAAO,UAAA,CAAWD,CAAK,CAAA,CAE/BE,CAAAA,CAAc,CAAA,CAAA,EAAMH,CAAAA,CAAWE,CAAAA,CAAM,OAAO,CAAA,CAClD,OAAAC,CAAAA,CAAY,CAAA,CAEZD,CAAAA,CAAM,gBAAA,CAAiB,QAAA,CAAUC,CAAW,CAAA,CACrC,CAAA,CAAA,EAAMD,CAAAA,CAAM,mBAAA,CAAoB,QAAA,CAAUC,CAAW,CAC9D,CAAA,CAAG,CAACL,CAAU,CAAC,CAAA,CAERC,CACT,CAAA,cAAA","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/chunk-3BVMHDYA.js","sourcesContent":[null,"\"use client\"\n\nimport * as React from \"react\"\nimport tailwindConfig from \"../../tailwind.config\"\n\n/**\n * Hook to detect if a Tailwind breakpoint is active\n * Uses the actual breakpoint values from tailwind.config.ts\n */\nexport function useMediaQuery(breakpoint: keyof typeof tailwindConfig.theme.extend.screens) {\n const [matches, setMatches] = React.useState(false)\n\n React.useEffect(() => {\n const value = tailwindConfig.theme.extend.screens[breakpoint]\n const query = `(min-width: ${value})`\n const media = window.matchMedia(query)\n\n const updateMatch = () => setMatches(media.matches)\n updateMatch()\n\n media.addEventListener(\"change\", updateMatch)\n return () => media.removeEventListener(\"change\", updateMatch)\n }, [breakpoint])\n\n return matches\n}\n","import type { Config } from 'tailwindcss'\n\nconst config = {\n content: [\n \"./src/**/*.{ts,tsx}\",\n \"./stories/**/*.{ts,tsx}\",\n ],\n theme: {\n extend: {\n screens: {\n 'sm': '448px',\n 'md': '576px',\n 'lg': '986px',\n 'xl': '1280px',\n '2xl': '1400px',\n },\n },\n },\n} satisfies Config\n\nexport default config\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
|
|
2
|
-
var
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
2
|
+
var _chunkIJVB2BVOjs = require('./chunk-IJVB2BVO.js');var _chunkFUYXCJOQjs = require('./chunk-FUYXCJOQ.js');var _react = require('react'); var i = _interopRequireWildcard(_react);var _reactdaypicker = require('react-day-picker');var _lucidereact = require('lucide-react');var _jsxruntime = require('react/jsx-runtime');function D({className:c,classNames:m,showOutsideDays:a=!0,captionLayout:d="label",buttonVariant:s="ghost",formatters:u,components:b,...y}){let t=_reactdaypicker.getDefaultClassNames.call(void 0, );return _jsxruntime.jsx.call(void 0, _reactdaypicker.DayPicker,{showOutsideDays:a,className:_chunkFUYXCJOQjs.a.call(void 0, "p-3 text-primary-accent group/calendar rounded-sm",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,c),captionLayout:d,formatters:{formatMonthDropdown:r=>r.toLocaleString("default",{month:"short"}),...u},classNames:{root:_chunkFUYXCJOQjs.a.call(void 0, "w-fit",t.root),months:_chunkFUYXCJOQjs.a.call(void 0, "flex gap-4 flex-col md:flex-row relative",t.months),month:_chunkFUYXCJOQjs.a.call(void 0, "flex flex-col w-full gap-4",t.month),nav:_chunkFUYXCJOQjs.a.call(void 0, "flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",t.nav),button_previous:_chunkFUYXCJOQjs.a.call(void 0, _chunkIJVB2BVOjs.a.call(void 0, {variant:s}),"h-7 w-7 aria-disabled:opacity-50 p-0 select-none",t.button_previous),button_next:_chunkFUYXCJOQjs.a.call(void 0, _chunkIJVB2BVOjs.a.call(void 0, {variant:s}),"h-7 w-7 aria-disabled:opacity-50 p-0 select-none",t.button_next),month_caption:_chunkFUYXCJOQjs.a.call(void 0, "flex items-center justify-center h-7 w-full",t.month_caption),dropdowns:_chunkFUYXCJOQjs.a.call(void 0, "w-full flex items-center text-sm font-medium justify-center h-7 gap-1.5",t.dropdowns),dropdown_root:_chunkFUYXCJOQjs.a.call(void 0, "relative cn-calendar-dropdown-root rounded-sm",t.dropdown_root),dropdown:_chunkFUYXCJOQjs.a.call(void 0, "absolute bg-popover inset-0 opacity-0",t.dropdown),caption_label:_chunkFUYXCJOQjs.a.call(void 0, "select-none font-medium",d==="label"?"text-sm":"cn-calendar-caption-label rounded-sm flex items-center gap-1 text-sm [&>svg]:text-muted-foreground [&>svg]:size-3.5",t.caption_label),table:"w-full border-collapse",weekdays:_chunkFUYXCJOQjs.a.call(void 0, "flex",t.weekdays),weekday:_chunkFUYXCJOQjs.a.call(void 0, "text-muted-foreground rounded-sm flex-1 font-normal text-[0.8rem] select-none",t.weekday),week:_chunkFUYXCJOQjs.a.call(void 0, "flex w-full mt-2",t.week),week_number_header:_chunkFUYXCJOQjs.a.call(void 0, "select-none w-9",t.week_number_header),week_number:_chunkFUYXCJOQjs.a.call(void 0, "text-[0.8rem] select-none text-muted-foreground",t.week_number),day:_chunkFUYXCJOQjs.a.call(void 0, "relative w-full rounded-sm h-full p-0 text-center group/day aspect-square select-none [&:first-child_button[data-range-start]]:!rounded-l-sm [&:first-child_button[data-range-middle]]:!rounded-l-sm [&:last-child_button[data-range-end]]:!rounded-r-sm [&:last-child_button[data-range-middle]]:!rounded-r-sm z-20 [&:has(button:not([data-range-start]):not([data-range-end]):hover)]:z-10 data-[focused=true]:z-30",t.day),range_start:_chunkFUYXCJOQjs.a.call(void 0, "rounded-l-sm bg-muted relative after:bg-muted after:absolute after:inset-y-0 after:w-4 after:right-0 -z-0 isolate",t.range_start),range_middle:_chunkFUYXCJOQjs.a.call(void 0, "rounded-none bg-transparent",t.range_middle),range_end:_chunkFUYXCJOQjs.a.call(void 0, "rounded-r-sm bg-muted relative after:bg-muted after:absolute after:inset-y-0 after:w-4 after:left-0 -z-0 isolate",t.range_end),today:_chunkFUYXCJOQjs.a.call(void 0, "bg-muted text-foreground rounded-sm data-[selected=true]:rounded-none",t.today),outside:_chunkFUYXCJOQjs.a.call(void 0, "text-muted-foreground opacity-20 aria-selected:text-muted-foreground aria-selected:opacity-20",t.outside),disabled:_chunkFUYXCJOQjs.a.call(void 0, "text-muted-foreground opacity-50",t.disabled),hidden:_chunkFUYXCJOQjs.a.call(void 0, "invisible",t.hidden),...m},components:{Root:({className:r,rootRef:o,...g})=>_jsxruntime.jsx.call(void 0, "div",{"data-slot":"calendar",ref:o,className:_chunkFUYXCJOQjs.a.call(void 0, r),...g}),Chevron:({className:r,orientation:o,...g})=>{let x=o==="left"?_lucidereact.ChevronLeftIcon:_lucidereact.ChevronRightIcon;return _jsxruntime.jsx.call(void 0, "span",{className:_chunkFUYXCJOQjs.a.call(void 0, _chunkIJVB2BVOjs.a.call(void 0, {variant:"outline",size:"icon"}),"shrink-0 pointer-events-none"),children:_jsxruntime.jsx.call(void 0, x,{className:_chunkFUYXCJOQjs.a.call(void 0, "size-4 shrink-0",r),...g})})},DayButton:v,WeekNumber:({children:r,...o})=>_jsxruntime.jsx.call(void 0, "td",{...o,children:_jsxruntime.jsx.call(void 0, "div",{className:"flex h-8 lg:h-9 w-8 lg:w-9 items-center justify-center text-center",children:r})}),...b},...y})}function v({className:c,day:m,modifiers:a,...d}){let s=_reactdaypicker.getDefaultClassNames.call(void 0, ),u=i.useRef(null);return i.useEffect(()=>{a.focused&&_optionalChain([u, 'access', _2 => _2.current, 'optionalAccess', _3 => _3.focus, 'call', _4 => _4()])},[a.focused]),_jsxruntime.jsx.call(void 0, _chunkIJVB2BVOjs.b,{ref:u,variant:"ghost",size:"icon","data-day":m.date.toLocaleDateString(),"data-selected-single":a.selected&&!a.range_start&&!a.range_end&&!a.range_middle,"data-range-start":a.range_start,"data-range-end":a.range_end,"data-range-middle":a.range_middle,className:_chunkFUYXCJOQjs.a.call(void 0, "rounded-sm data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-muted data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 relative isolate z-10 flex aspect-square size-auto w-full min-w-9 flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-30 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-sm! data-[range-end=true]:rounded-r-sm! data-[range-middle=true]:rounded-none! data-[range-start=true]:rounded-sm! data-[range-start=true]:rounded-l-sm! [&>span]:text-xs [&>span]:opacity-70",s.day,c),...d})}exports.a = D; exports.b = v;
|
|
3
|
+
//# sourceMappingURL=chunk-3DUPSGEY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/chunk-3DUPSGEY.js","../src/components/calendar.tsx"],"names":["Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","props","defaultClassNames","getDefaultClassNames","jsx","DayPicker","cn","date","buttonVariants","rootRef","orientation","Icon","ChevronLeftIcon","ChevronRightIcon","CalendarDayButton","children","day","modifiers","ref","Button"],"mappings":"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","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/chunk-3DUPSGEY.js","sourcesContent":[null,"\"use client\"\n\nimport * as React from \"react\"\nimport {\n DayPicker,\n getDefaultClassNames,\n type DayButton,\n} from \"react-day-picker\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button, buttonVariants } from \"@/components/button\"\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\"\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"]\n}) {\n const defaultClassNames = getDefaultClassNames()\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"p-3 text-primary-accent group/calendar rounded-sm\",\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\n \"flex gap-4 flex-col md:flex-row relative\",\n defaultClassNames.months\n ),\n month: cn(\"flex flex-col w-full gap-4\", defaultClassNames.month),\n nav: cn(\n \"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between\",\n defaultClassNames.nav\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"h-7 w-7 aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"h-7 w-7 aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_next\n ),\n month_caption: cn(\n \"flex items-center justify-center h-7 w-full\",\n defaultClassNames.month_caption\n ),\n dropdowns: cn(\n \"w-full flex items-center text-sm font-medium justify-center h-7 gap-1.5\",\n defaultClassNames.dropdowns\n ),\n dropdown_root: cn(\n \"relative cn-calendar-dropdown-root rounded-sm\",\n defaultClassNames.dropdown_root\n ),\n dropdown: cn(\n \"absolute bg-popover inset-0 opacity-0\",\n defaultClassNames.dropdown\n ),\n caption_label: cn(\n \"select-none font-medium\",\n captionLayout === \"label\"\n ? \"text-sm\"\n : \"cn-calendar-caption-label rounded-sm flex items-center gap-1 text-sm [&>svg]:text-muted-foreground [&>svg]:size-3.5\",\n defaultClassNames.caption_label\n ),\n table: \"w-full border-collapse\",\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"text-muted-foreground rounded-sm flex-1 font-normal text-[0.8rem] select-none\",\n defaultClassNames.weekday\n ),\n week: cn(\"flex w-full mt-2\", defaultClassNames.week),\n week_number_header: cn(\n \"select-none w-9\",\n defaultClassNames.week_number_header\n ),\n week_number: cn(\n \"text-[0.8rem] select-none text-muted-foreground\",\n defaultClassNames.week_number\n ),\n day: cn(\n \"relative w-full rounded-sm h-full p-0 text-center group/day aspect-square select-none [&:first-child_button[data-range-start]]:!rounded-l-sm [&:first-child_button[data-range-middle]]:!rounded-l-sm [&:last-child_button[data-range-end]]:!rounded-r-sm [&:last-child_button[data-range-middle]]:!rounded-r-sm z-20 [&:has(button:not([data-range-start]):not([data-range-end]):hover)]:z-10 data-[focused=true]:z-30\",\n defaultClassNames.day\n ),\n range_start: cn(\n \"rounded-l-sm bg-muted relative after:bg-muted after:absolute after:inset-y-0 after:w-4 after:right-0 -z-0 isolate\",\n defaultClassNames.range_start\n ),\n range_middle: cn(\n \"rounded-none bg-transparent\",\n defaultClassNames.range_middle\n ),\n range_end: cn(\n \"rounded-r-sm bg-muted relative after:bg-muted after:absolute after:inset-y-0 after:w-4 after:left-0 -z-0 isolate\",\n defaultClassNames.range_end\n ),\n today: cn(\n \"bg-muted text-foreground rounded-sm data-[selected=true]:rounded-none\",\n defaultClassNames.today\n ),\n outside: cn(\n \"text-muted-foreground opacity-20 aria-selected:text-muted-foreground aria-selected:opacity-20\",\n defaultClassNames.outside\n ),\n disabled: cn(\n \"text-muted-foreground opacity-50\",\n defaultClassNames.disabled\n ),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n )\n },\n Chevron: ({ className, orientation, ...props }) => {\n const Icon =\n orientation === \"left\" ? ChevronLeftIcon : ChevronRightIcon\n return (\n <span\n className={cn(\n buttonVariants({ variant: \"outline\", size: \"icon\" }),\n \"shrink-0 pointer-events-none\"\n )}\n >\n <Icon className={cn(\"size-4 shrink-0\", className)} {...props} />\n </span>\n )\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex h-8 lg:h-9 w-8 lg:w-9 items-center justify-center text-center\">\n {children}\n </div>\n </td>\n )\n },\n ...components,\n }}\n {...props}\n />\n )\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames()\n\n const ref = React.useRef<HTMLButtonElement>(null)\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus()\n }, [modifiers.focused])\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n \"rounded-sm data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-muted data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 relative isolate z-10 flex aspect-square size-auto w-full min-w-9 flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-30 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-sm! data-[range-end=true]:rounded-r-sm! data-[range-middle=true]:rounded-none! data-[range-start=true]:rounded-sm! data-[range-start=true]:rounded-l-sm! [&>span]:text-xs [&>span]:opacity-70\",\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Calendar, CalendarDayButton }\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
|
|
2
|
-
var _chunkRRAIGAHUjs = require('./chunk-RRAIGAHU.js');var _chunk7SOZ6MOVjs = require('./chunk-7SOZ6MOV.js');var _chunkUNR6ATUHjs = require('./chunk-UNR6ATUH.js');var _chunk5L5DM2X5js = require('./chunk-5L5DM2X5.js');var _chunkK4GMCVHOjs = require('./chunk-K4GMCVHO.js');var _chunkXQILGD5Bjs = require('./chunk-XQILGD5B.js');var _chunkFUYXCJOQjs = require('./chunk-FUYXCJOQ.js');var _react = require('react'); var e = _interopRequireWildcard(_react);var _reactslot = require('@radix-ui/react-slot');var _classvarianceauthority = require('class-variance-authority');var _lucidereact = require('lucide-react');var _jsxruntime = require('react/jsx-runtime');var ce="sidebar_state",pe=3600*24*7,be="16.75rem",ee="23rem",ue="calc(3rem + 0.75rem)",fe="b",me="55px",ae=e.createContext(null),te=e.createContext(!1);function y(){let a=e.useContext(ae);if(!a)throw new Error("useSidebar must be used within a SidebarProvider.");return a}var ge=e.forwardRef(({defaultOpen:a=!0,open:t,onOpenChange:n,bannerHeight:i=me,className:s,style:c,children:p,...d},R)=>{let[v,b]=e.useState(!1),[g,C]=e.useState(a),[x,S]=e.useState(!1),[m,N]=e.useState(!1),[M,h]=e.useState(a),I=_nullishCoalesce(t, () => (M)),E=e.useCallback(l=>{let f=typeof l=="function"?l(I):l;n?n(f):h(f),document.cookie=`${ce}=${f}; path=/; max-age=${pe}`},[n,I]),T=e.useCallback(()=>{E(l=>!l)},[E]),A=e.useCallback(()=>{let l=getComputedStyle(document.documentElement).getPropertyValue("--breakpoint-md").trim();l&&window.matchMedia(`(min-width: ${l})`).matches||b(f=>!f)},[b]);e.useEffect(()=>{let l=f=>{f.key===fe&&(f.metaKey||f.ctrlKey)&&(f.preventDefault(),T())};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[T]);let O=I?"expanded":"collapsed",L=e.useRef([]),V=e.Children.toArray(p),B=V.filter(l=>e.isValidElement(l)&&_optionalChain([l, 'access', _2 => _2.type, 'optionalAccess', _3 => _3.displayName])==="SidebarBanner"),ne=V.filter(l=>!e.isValidElement(l)||_optionalChain([l, 'access', _4 => _4.type, 'optionalAccess', _5 => _5.displayName])!=="SidebarBanner");B.length>0&&m&&(L.current=B);let G=B.length>0,P=G&&m,H=!P&&L.current.length>0,F=G,oe=e.useMemo(()=>({state:O,isOpen:g,setOpen:E,openMobile:v,setOpenMobile:b,toggleSidebar:T,toggleMobileSidebar:A,setIsFullyOpen:C,isAnimating:x,setIsAnimating:S,isBannerClosing:H,bannerVisible:m,setBannerVisible:N}),[O,g,E,v,b,T,A,C,x,S,H,m]);return _jsxruntime.jsx.call(void 0, ae.Provider,{value:oe,children:_jsxruntime.jsx.call(void 0, _chunkRRAIGAHUjs.a,{delayDuration:0,children:_jsxruntime.jsx.call(void 0, "div",{style:{"--sidebar-width":be,"--sidebar-width-icon":ue,"--sidebar-top":P?i:"0px",...c},className:_chunkFUYXCJOQjs.a.call(void 0, "group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",F&&"flex-col",s),ref:R,...d,children:F?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "div",{className:"relative overflow-hidden transition-[height] duration-200 ease-linear",style:{height:P?i:"0px"},children:_jsxruntime.jsx.call(void 0, "div",{className:"fixed top-0 left-0 right-0 z-20 w-full transition-transform duration-200 ease-linear data-[state=closed]:-translate-y-full",style:{height:i},"data-state":P?"open":"closed",onTransitionEnd:()=>{H&&(L.current=[])},children:B})}),_jsxruntime.jsx.call(void 0, "div",{className:"flex flex-1",children:ne})]}):p})})})});ge.displayName="SidebarProvider";var ve=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "div",{ref:n,"data-sidebar":"banner",className:_chunkFUYXCJOQjs.a.call(void 0, "w-full",a),...t}));ve.displayName="SidebarBanner";var he=e.forwardRef(({side:a="left",variant:t="sidebar",collapsible:n="offcanvas",className:i,children:s,...c},p)=>{let{state:d,openMobile:R,setOpenMobile:v,setIsFullyOpen:b,setIsAnimating:g,isBannerClosing:C}=y(),x=e.useRef(null),S=e.useRef(!0);return e.useEffect(()=>{let m=x.current;if(!m)return;if(S.current){S.current=!1,b(d==="expanded"),g(!1);return}g(!0);let N=setTimeout(()=>{b(d==="expanded"),g(!1)},300),M=h=>{h.target===m&&(h.propertyName==="left"||h.propertyName==="right"||h.propertyName==="width")&&(clearTimeout(N),b(d==="expanded"),g(!1))};return m.addEventListener("transitionend",M),()=>{m.removeEventListener("transitionend",M),clearTimeout(N)}},[d,b,g]),n==="none"?_jsxruntime.jsx.call(void 0, "aside",{className:_chunkFUYXCJOQjs.a.call(void 0, "flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",i),ref:p,...c,children:s}):_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, _chunkUNR6ATUHjs.a,{open:R,onOpenChange:v,children:_jsxruntime.jsxs.call(void 0, _chunkUNR6ATUHjs.f,{"data-sidebar":"sidebar","data-mobile":"true",className:"md:hidden bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{width:ee,maxWidth:ee},side:a,children:[_jsxruntime.jsxs.call(void 0, _chunkUNR6ATUHjs.g,{className:"sr-only",children:[_jsxruntime.jsx.call(void 0, _chunkUNR6ATUHjs.i,{children:"Sidebar"}),_jsxruntime.jsx.call(void 0, _chunkUNR6ATUHjs.j,{children:"Displays the mobile sidebar."})]}),_jsxruntime.jsx.call(void 0, te.Provider,{value:!0,children:_jsxruntime.jsx.call(void 0, "div",{className:"flex h-full w-full flex-col",children:s})})]})}),_jsxruntime.jsxs.call(void 0, "aside",{ref:p,className:"group peer hidden text-sidebar-foreground md:block","data-state":d,"data-collapsible":d==="collapsed"?n:"","data-variant":t,"data-side":a,children:[_jsxruntime.jsx.call(void 0, "div",{className:_chunkFUYXCJOQjs.a.call(void 0, "w-(--sidebar-width) transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),_jsxruntime.jsx.call(void 0, "div",{ref:x,"data-banner-closing":C,className:_chunkFUYXCJOQjs.a.call(void 0, "fixed z-10 hidden w-(--sidebar-width) transition-[left,right,width,top,height] duration-200 ease-linear md:flex","top-(--sidebar-top) h-[calc(100svh-var(--sidebar-top))]",a==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)",i),...c,children:_jsxruntime.jsx.call(void 0, "div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow",children:_jsxruntime.jsx.call(void 0, "div",{className:"flex flex-col my-2.5 ml-2.5 rounded-2xl border bg-sidebar border-sidebar-border flex-1 min-h-0",children:s})})})]})]})});he.displayName="Sidebar";var re=e.forwardRef(({className:a,onClick:t,...n},i)=>{let{toggleSidebar:s,toggleMobileSidebar:c,openMobile:p}=y();return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsxs.call(void 0, _chunkXQILGD5Bjs.b,{"data-sidebar":"trigger",variant:"ghost",size:"icon",className:_chunkFUYXCJOQjs.a.call(void 0, "md:hidden bg-transparent hover:bg-transparent",a),onClick:d=>{_optionalChain([t, 'optionalCall', _6 => _6(d)]),c()},...n,children:[p?_jsxruntime.jsx.call(void 0, "span",{className:_chunkFUYXCJOQjs.a.call(void 0, _chunkXQILGD5Bjs.a.call(void 0, {variant:"secondary",size:"icon"})),children:_jsxruntime.jsx.call(void 0, _lucidereact.X,{size:16})}):_jsxruntime.jsx.call(void 0, "span",{className:_chunkFUYXCJOQjs.a.call(void 0, _chunkXQILGD5Bjs.a.call(void 0, {variant:"outline",size:"icon"})),children:_jsxruntime.jsx.call(void 0, _lucidereact.Menu,{size:16})}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Toggle Sidebar"})]}),_jsxruntime.jsxs.call(void 0, _chunkXQILGD5Bjs.b,{ref:i,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:_chunkFUYXCJOQjs.a.call(void 0, "hidden md:inline-flex h-7 w-7",a),onClick:d=>{_optionalChain([t, 'optionalCall', _7 => _7(d)]),s()},...n,children:[_jsxruntime.jsx.call(void 0, "span",{className:"rounded-full p-2",children:_jsxruntime.jsx.call(void 0, _lucidereact.PanelLeft,{size:16})}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Toggle Sidebar"})]})]})});re.displayName="SidebarTrigger";var Re=e.forwardRef(({className:a,...t},n)=>{let{toggleSidebar:i}=y();return _jsxruntime.jsx.call(void 0, "button",{ref:n,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:i,title:"Toggle Sidebar",className:_chunkFUYXCJOQjs.a.call(void 0, "absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",a),...t})});Re.displayName="SidebarRail";var xe=e.memo(e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "main",{ref:n,className:_chunkFUYXCJOQjs.a.call(void 0, "relative flex min-w-0 w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",a),...t})));xe.displayName="SidebarInset";var Se=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, _chunkK4GMCVHOjs.a,{ref:n,"data-sidebar":"input",className:_chunkFUYXCJOQjs.a.call(void 0, "h-8 w-full bg-sidebar shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",a),...t}));Se.displayName="SidebarInput";var we=e.forwardRef(({className:a,showTrigger:t=!1,children:n,...i},s)=>{let{state:c}=y(),p=e.useContext(te),d=c==="collapsed"&&!p;return _jsxruntime.jsxs.call(void 0, "div",{ref:s,"data-sidebar":"header",className:_chunkFUYXCJOQjs.a.call(void 0, "flex w-full gap-2 p-2 items-center",d?"justify-center items-center":"justify-between items-start",a),...i,children:[!d&&_jsxruntime.jsx.call(void 0, "div",{className:"transition-all duration-200 w-full h-fit flex justify-between overflow-hidden",children:_jsxruntime.jsx.call(void 0, "div",{className:"whitespace-nowrap",children:n})}),t&&_jsxruntime.jsx.call(void 0, re,{})]})});we.displayName="SidebarHeader";var ye=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "div",{ref:n,"data-sidebar":"footer",className:_chunkFUYXCJOQjs.a.call(void 0, "flex flex-col gap-2 p-2",a),...t}));ye.displayName="SidebarFooter";var Ce=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, _chunk7SOZ6MOVjs.a,{ref:n,"data-sidebar":"separator",className:_chunkFUYXCJOQjs.a.call(void 0, "mx-2 w-auto bg-border",a),...t}));Ce.displayName="SidebarSeparator";var Ne=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "div",{ref:n,"data-sidebar":"content",className:_chunkFUYXCJOQjs.a.call(void 0, "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden p-2",a),...t}));Ne.displayName="SidebarContent";var Me=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "div",{ref:n,"data-sidebar":"group",className:_chunkFUYXCJOQjs.a.call(void 0, "relative flex w-full min-w-0 flex-col","group-data-[collapsible=icon]:p-0",a),...t}));Me.displayName="SidebarGroup";var Ee=e.forwardRef(({className:a,asChild:t=!1,...n},i)=>_jsxruntime.jsx.call(void 0, t?_reactslot.Slot:"div",{ref:i,"data-sidebar":"group-label",className:_chunkFUYXCJOQjs.a.call(void 0, "flex h-8 shrink-0 items-center rounded-md text-xs font-medium text-secondary-text outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",a),...n}));Ee.displayName="SidebarGroupLabel";var Te=e.forwardRef(({className:a,asChild:t=!1,...n},i)=>_jsxruntime.jsx.call(void 0, t?_reactslot.Slot:"button",{ref:i,"data-sidebar":"group-action",className:_chunkFUYXCJOQjs.a.call(void 0, "absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",a),...n}));Te.displayName="SidebarGroupAction";var Be=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "div",{ref:n,"data-sidebar":"group-content",className:_chunkFUYXCJOQjs.a.call(void 0, "w-full text-sm",a),...t}));Be.displayName="SidebarGroupContent";var Pe=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "ul",{ref:n,"data-sidebar":"menu",className:_chunkFUYXCJOQjs.a.call(void 0, "flex w-full min-w-0 flex-col gap-1",a),...t}));Pe.displayName="SidebarMenu";var Ie=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "li",{ref:n,"data-sidebar":"menu-item",className:_chunkFUYXCJOQjs.a.call(void 0, "group/menu-item relative",a),...t}));Ie.displayName="SidebarMenuItem";var Le=_classvarianceauthority.cva.call(void 0, "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"",outline:"bg-sidebar shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),He= exports.s =e.forwardRef(({asChild:a=!1,isActive:t=!1,variant:n="default",size:i="default",tooltip:s,className:c,...p},d)=>{let R=a?_reactslot.Slot:"button",{state:v}=y(),b=_jsxruntime.jsx.call(void 0, R,{ref:d,"data-sidebar":"menu-button","data-size":i,"data-active":t,className:_chunkFUYXCJOQjs.a.call(void 0, Le({variant:n,size:i}),c),...p});return s?(typeof s=="string"&&(s={children:s}),_jsxruntime.jsxs.call(void 0, _chunkRRAIGAHUjs.b,{children:[_jsxruntime.jsx.call(void 0, _chunkRRAIGAHUjs.c,{asChild:!0,children:b}),_jsxruntime.jsx.call(void 0, _chunkRRAIGAHUjs.d,{side:"right",align:"center",hidden:v!=="collapsed",...s})]})):b});He.displayName="SidebarMenuButton";var ze=e.forwardRef(({className:a,asChild:t=!1,showOnHover:n=!1,...i},s)=>_jsxruntime.jsx.call(void 0, t?_reactslot.Slot:"button",{ref:s,"data-sidebar":"menu-action",className:_chunkFUYXCJOQjs.a.call(void 0, "absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",n&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-base-accent-foreground md:opacity-0",a),...i}));ze.displayName="SidebarMenuAction";var De=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "div",{ref:n,"data-sidebar":"menu-badge",className:_chunkFUYXCJOQjs.a.call(void 0, "pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",a),...t}));De.displayName="SidebarMenuBadge";var _e=e.forwardRef(({className:a,showIcon:t=!1,...n},i)=>{let s=e.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return _jsxruntime.jsxs.call(void 0, "div",{ref:i,"data-sidebar":"menu-skeleton",className:_chunkFUYXCJOQjs.a.call(void 0, "flex h-8 items-center gap-2 rounded-md px-2",a),...n,children:[t&&_jsxruntime.jsx.call(void 0, _chunk5L5DM2X5js.a,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),_jsxruntime.jsx.call(void 0, _chunk5L5DM2X5js.a,{className:"h-4 max-w-[--skeleton-width] flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":s}})]})});_e.displayName="SidebarMenuSkeleton";var ke=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "ul",{ref:n,"data-sidebar":"menu-sub",className:_chunkFUYXCJOQjs.a.call(void 0, "mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",a),...t}));ke.displayName="SidebarMenuSub";var Ae=e.forwardRef(({...a},t)=>_jsxruntime.jsx.call(void 0, "li",{ref:t,...a}));Ae.displayName="SidebarMenuSubItem";var Oe=e.forwardRef(({asChild:a=!1,size:t="md",isActive:n,className:i,...s},c)=>_jsxruntime.jsx.call(void 0, a?_reactslot.Slot:"a",{ref:c,"data-sidebar":"menu-sub-button","data-size":t,"data-active":n,className:_chunkFUYXCJOQjs.a.call(void 0, "flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",t==="sm"&&"text-xs",t==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",i),...s}));Oe.displayName="SidebarMenuSubButton";exports.a = y; exports.b = ge; exports.c = ve; exports.d = he; exports.e = re; exports.f = Re; exports.g = xe; exports.h = Se; exports.i = we; exports.j = ye; exports.k = Ce; exports.l = Ne; exports.m = Me; exports.n = Ee; exports.o = Te; exports.p = Be; exports.q = Pe; exports.r = Ie; exports.s = He; exports.t = ze; exports.u = De; exports.v = _e; exports.w = ke; exports.x = Ae; exports.y = Oe;
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
2
|
+
var _chunkRRAIGAHUjs = require('./chunk-RRAIGAHU.js');var _chunk7SOZ6MOVjs = require('./chunk-7SOZ6MOV.js');var _chunkUNR6ATUHjs = require('./chunk-UNR6ATUH.js');var _chunk5L5DM2X5js = require('./chunk-5L5DM2X5.js');var _chunkXVF3OJWZjs = require('./chunk-XVF3OJWZ.js');var _chunkIJVB2BVOjs = require('./chunk-IJVB2BVO.js');var _chunkFUYXCJOQjs = require('./chunk-FUYXCJOQ.js');var _react = require('react'); var e = _interopRequireWildcard(_react);var _reactslot = require('@radix-ui/react-slot');var _classvarianceauthority = require('class-variance-authority');var _lucidereact = require('lucide-react');var _jsxruntime = require('react/jsx-runtime');var ce="sidebar_state",pe=3600*24*7,be="16.75rem",ee="23rem",ue="calc(3rem + 0.75rem)",fe="b",me="55px",ae=e.createContext(null),te=e.createContext(!1);function y(){let a=e.useContext(ae);if(!a)throw new Error("useSidebar must be used within a SidebarProvider.");return a}var ge=e.forwardRef(({defaultOpen:a=!0,open:t,onOpenChange:n,bannerHeight:i=me,className:s,style:c,children:p,...d},R)=>{let[v,b]=e.useState(!1),[g,C]=e.useState(a),[x,S]=e.useState(!1),[m,N]=e.useState(!1),[M,h]=e.useState(a),I=_nullishCoalesce(t, () => (M)),E=e.useCallback(l=>{let f=typeof l=="function"?l(I):l;n?n(f):h(f),document.cookie=`${ce}=${f}; path=/; max-age=${pe}`},[n,I]),T=e.useCallback(()=>{E(l=>!l)},[E]),A=e.useCallback(()=>{let l=getComputedStyle(document.documentElement).getPropertyValue("--breakpoint-md").trim();l&&window.matchMedia(`(min-width: ${l})`).matches||b(f=>!f)},[b]);e.useEffect(()=>{let l=f=>{f.key===fe&&(f.metaKey||f.ctrlKey)&&(f.preventDefault(),T())};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[T]);let O=I?"expanded":"collapsed",L=e.useRef([]),V=e.Children.toArray(p),B=V.filter(l=>e.isValidElement(l)&&_optionalChain([l, 'access', _2 => _2.type, 'optionalAccess', _3 => _3.displayName])==="SidebarBanner"),ne=V.filter(l=>!e.isValidElement(l)||_optionalChain([l, 'access', _4 => _4.type, 'optionalAccess', _5 => _5.displayName])!=="SidebarBanner");B.length>0&&m&&(L.current=B);let G=B.length>0,P=G&&m,H=!P&&L.current.length>0,F=G,oe=e.useMemo(()=>({state:O,isOpen:g,setOpen:E,openMobile:v,setOpenMobile:b,toggleSidebar:T,toggleMobileSidebar:A,setIsFullyOpen:C,isAnimating:x,setIsAnimating:S,isBannerClosing:H,bannerVisible:m,setBannerVisible:N}),[O,g,E,v,b,T,A,C,x,S,H,m]);return _jsxruntime.jsx.call(void 0, ae.Provider,{value:oe,children:_jsxruntime.jsx.call(void 0, _chunkRRAIGAHUjs.a,{delayDuration:0,children:_jsxruntime.jsx.call(void 0, "div",{style:{"--sidebar-width":be,"--sidebar-width-icon":ue,"--sidebar-top":P?i:"0px",...c},className:_chunkFUYXCJOQjs.a.call(void 0, "group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",F&&"flex-col",s),ref:R,...d,children:F?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "div",{className:"relative overflow-hidden transition-[height] duration-200 ease-linear",style:{height:P?i:"0px"},children:_jsxruntime.jsx.call(void 0, "div",{className:"fixed top-0 left-0 right-0 z-20 w-full transition-transform duration-200 ease-linear data-[state=closed]:-translate-y-full",style:{height:i},"data-state":P?"open":"closed",onTransitionEnd:()=>{H&&(L.current=[])},children:B})}),_jsxruntime.jsx.call(void 0, "div",{className:"flex flex-1",children:ne})]}):p})})})});ge.displayName="SidebarProvider";var ve=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "div",{ref:n,"data-sidebar":"banner",className:_chunkFUYXCJOQjs.a.call(void 0, "w-full",a),...t}));ve.displayName="SidebarBanner";var he=e.forwardRef(({side:a="left",variant:t="sidebar",collapsible:n="offcanvas",className:i,children:s,...c},p)=>{let{state:d,openMobile:R,setOpenMobile:v,setIsFullyOpen:b,setIsAnimating:g,isBannerClosing:C}=y(),x=e.useRef(null),S=e.useRef(!0);return e.useEffect(()=>{let m=x.current;if(!m)return;if(S.current){S.current=!1,b(d==="expanded"),g(!1);return}g(!0);let N=setTimeout(()=>{b(d==="expanded"),g(!1)},300),M=h=>{h.target===m&&(h.propertyName==="left"||h.propertyName==="right"||h.propertyName==="width")&&(clearTimeout(N),b(d==="expanded"),g(!1))};return m.addEventListener("transitionend",M),()=>{m.removeEventListener("transitionend",M),clearTimeout(N)}},[d,b,g]),n==="none"?_jsxruntime.jsx.call(void 0, "aside",{className:_chunkFUYXCJOQjs.a.call(void 0, "flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",i),ref:p,...c,children:s}):_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, _chunkUNR6ATUHjs.a,{open:R,onOpenChange:v,children:_jsxruntime.jsxs.call(void 0, _chunkUNR6ATUHjs.f,{"data-sidebar":"sidebar","data-mobile":"true",className:"md:hidden bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{width:ee,maxWidth:ee},side:a,children:[_jsxruntime.jsxs.call(void 0, _chunkUNR6ATUHjs.g,{className:"sr-only",children:[_jsxruntime.jsx.call(void 0, _chunkUNR6ATUHjs.i,{children:"Sidebar"}),_jsxruntime.jsx.call(void 0, _chunkUNR6ATUHjs.j,{children:"Displays the mobile sidebar."})]}),_jsxruntime.jsx.call(void 0, te.Provider,{value:!0,children:_jsxruntime.jsx.call(void 0, "div",{className:"flex h-full w-full flex-col",children:s})})]})}),_jsxruntime.jsxs.call(void 0, "aside",{ref:p,className:"group peer hidden text-sidebar-foreground md:block","data-state":d,"data-collapsible":d==="collapsed"?n:"","data-variant":t,"data-side":a,children:[_jsxruntime.jsx.call(void 0, "div",{className:_chunkFUYXCJOQjs.a.call(void 0, "w-(--sidebar-width) transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),_jsxruntime.jsx.call(void 0, "div",{ref:x,"data-banner-closing":C,className:_chunkFUYXCJOQjs.a.call(void 0, "fixed z-10 hidden w-(--sidebar-width) transition-[left,right,width,top,height] duration-200 ease-linear md:flex","top-(--sidebar-top) h-[calc(100svh-var(--sidebar-top))]",a==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)",i),...c,children:_jsxruntime.jsx.call(void 0, "div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow",children:_jsxruntime.jsx.call(void 0, "div",{className:"flex flex-col my-2.5 ml-2.5 rounded-2xl border bg-sidebar border-sidebar-border flex-1 min-h-0",children:s})})})]})]})});he.displayName="Sidebar";var re=e.forwardRef(({className:a,onClick:t,...n},i)=>{let{toggleSidebar:s,toggleMobileSidebar:c,openMobile:p}=y();return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsxs.call(void 0, _chunkIJVB2BVOjs.b,{"data-sidebar":"trigger",variant:"ghost",size:"icon",className:_chunkFUYXCJOQjs.a.call(void 0, "md:hidden bg-transparent hover:bg-transparent",a),onClick:d=>{_optionalChain([t, 'optionalCall', _6 => _6(d)]),c()},...n,children:[p?_jsxruntime.jsx.call(void 0, "span",{className:_chunkFUYXCJOQjs.a.call(void 0, _chunkIJVB2BVOjs.a.call(void 0, {variant:"secondary",size:"icon"})),children:_jsxruntime.jsx.call(void 0, _lucidereact.X,{size:16})}):_jsxruntime.jsx.call(void 0, "span",{className:_chunkFUYXCJOQjs.a.call(void 0, _chunkIJVB2BVOjs.a.call(void 0, {variant:"outline",size:"icon"})),children:_jsxruntime.jsx.call(void 0, _lucidereact.Menu,{size:16})}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Toggle Sidebar"})]}),_jsxruntime.jsxs.call(void 0, _chunkIJVB2BVOjs.b,{ref:i,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:_chunkFUYXCJOQjs.a.call(void 0, "hidden md:inline-flex h-7 w-7",a),onClick:d=>{_optionalChain([t, 'optionalCall', _7 => _7(d)]),s()},...n,children:[_jsxruntime.jsx.call(void 0, "span",{className:"rounded-full p-2",children:_jsxruntime.jsx.call(void 0, _lucidereact.PanelLeft,{size:16})}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Toggle Sidebar"})]})]})});re.displayName="SidebarTrigger";var Re=e.forwardRef(({className:a,...t},n)=>{let{toggleSidebar:i}=y();return _jsxruntime.jsx.call(void 0, "button",{ref:n,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:i,title:"Toggle Sidebar",className:_chunkFUYXCJOQjs.a.call(void 0, "absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",a),...t})});Re.displayName="SidebarRail";var xe=e.memo(e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "main",{ref:n,className:_chunkFUYXCJOQjs.a.call(void 0, "relative flex min-w-0 w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",a),...t})));xe.displayName="SidebarInset";var Se=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, _chunkXVF3OJWZjs.a,{ref:n,"data-sidebar":"input",className:_chunkFUYXCJOQjs.a.call(void 0, "h-8 w-full bg-sidebar shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",a),...t}));Se.displayName="SidebarInput";var we=e.forwardRef(({className:a,showTrigger:t=!1,children:n,...i},s)=>{let{state:c}=y(),p=e.useContext(te),d=c==="collapsed"&&!p;return _jsxruntime.jsxs.call(void 0, "div",{ref:s,"data-sidebar":"header",className:_chunkFUYXCJOQjs.a.call(void 0, "flex w-full gap-2 p-2 items-center",d?"justify-center items-center":"justify-between items-start",a),...i,children:[!d&&_jsxruntime.jsx.call(void 0, "div",{className:"transition-all duration-200 w-full h-fit flex justify-between overflow-hidden",children:_jsxruntime.jsx.call(void 0, "div",{className:"whitespace-nowrap",children:n})}),t&&_jsxruntime.jsx.call(void 0, re,{})]})});we.displayName="SidebarHeader";var ye=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "div",{ref:n,"data-sidebar":"footer",className:_chunkFUYXCJOQjs.a.call(void 0, "flex flex-col gap-2 p-2",a),...t}));ye.displayName="SidebarFooter";var Ce=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, _chunk7SOZ6MOVjs.a,{ref:n,"data-sidebar":"separator",className:_chunkFUYXCJOQjs.a.call(void 0, "mx-2 w-auto bg-border",a),...t}));Ce.displayName="SidebarSeparator";var Ne=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "div",{ref:n,"data-sidebar":"content",className:_chunkFUYXCJOQjs.a.call(void 0, "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden p-2",a),...t}));Ne.displayName="SidebarContent";var Me=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "div",{ref:n,"data-sidebar":"group",className:_chunkFUYXCJOQjs.a.call(void 0, "relative flex w-full min-w-0 flex-col","group-data-[collapsible=icon]:p-0",a),...t}));Me.displayName="SidebarGroup";var Ee=e.forwardRef(({className:a,asChild:t=!1,...n},i)=>_jsxruntime.jsx.call(void 0, t?_reactslot.Slot:"div",{ref:i,"data-sidebar":"group-label",className:_chunkFUYXCJOQjs.a.call(void 0, "flex h-8 shrink-0 items-center rounded-md text-xs font-medium text-secondary-text outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",a),...n}));Ee.displayName="SidebarGroupLabel";var Te=e.forwardRef(({className:a,asChild:t=!1,...n},i)=>_jsxruntime.jsx.call(void 0, t?_reactslot.Slot:"button",{ref:i,"data-sidebar":"group-action",className:_chunkFUYXCJOQjs.a.call(void 0, "absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",a),...n}));Te.displayName="SidebarGroupAction";var Be=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "div",{ref:n,"data-sidebar":"group-content",className:_chunkFUYXCJOQjs.a.call(void 0, "w-full text-sm",a),...t}));Be.displayName="SidebarGroupContent";var Pe=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "ul",{ref:n,"data-sidebar":"menu",className:_chunkFUYXCJOQjs.a.call(void 0, "flex w-full min-w-0 flex-col gap-1",a),...t}));Pe.displayName="SidebarMenu";var Ie=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "li",{ref:n,"data-sidebar":"menu-item",className:_chunkFUYXCJOQjs.a.call(void 0, "group/menu-item relative",a),...t}));Ie.displayName="SidebarMenuItem";var Le=_classvarianceauthority.cva.call(void 0, "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"",outline:"bg-sidebar shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),He= exports.s =e.forwardRef(({asChild:a=!1,isActive:t=!1,variant:n="default",size:i="default",tooltip:s,className:c,...p},d)=>{let R=a?_reactslot.Slot:"button",{state:v}=y(),b=_jsxruntime.jsx.call(void 0, R,{ref:d,"data-sidebar":"menu-button","data-size":i,"data-active":t,className:_chunkFUYXCJOQjs.a.call(void 0, Le({variant:n,size:i}),c),...p});return s?(typeof s=="string"&&(s={children:s}),_jsxruntime.jsxs.call(void 0, _chunkRRAIGAHUjs.b,{children:[_jsxruntime.jsx.call(void 0, _chunkRRAIGAHUjs.c,{asChild:!0,children:b}),_jsxruntime.jsx.call(void 0, _chunkRRAIGAHUjs.d,{side:"right",align:"center",hidden:v!=="collapsed",...s})]})):b});He.displayName="SidebarMenuButton";var ze=e.forwardRef(({className:a,asChild:t=!1,showOnHover:n=!1,...i},s)=>_jsxruntime.jsx.call(void 0, t?_reactslot.Slot:"button",{ref:s,"data-sidebar":"menu-action",className:_chunkFUYXCJOQjs.a.call(void 0, "absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",n&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-base-accent-foreground md:opacity-0",a),...i}));ze.displayName="SidebarMenuAction";var De=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "div",{ref:n,"data-sidebar":"menu-badge",className:_chunkFUYXCJOQjs.a.call(void 0, "pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",a),...t}));De.displayName="SidebarMenuBadge";var _e=e.forwardRef(({className:a,showIcon:t=!1,...n},i)=>{let s=e.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return _jsxruntime.jsxs.call(void 0, "div",{ref:i,"data-sidebar":"menu-skeleton",className:_chunkFUYXCJOQjs.a.call(void 0, "flex h-8 items-center gap-2 rounded-md px-2",a),...n,children:[t&&_jsxruntime.jsx.call(void 0, _chunk5L5DM2X5js.a,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),_jsxruntime.jsx.call(void 0, _chunk5L5DM2X5js.a,{className:"h-4 max-w-[--skeleton-width] flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":s}})]})});_e.displayName="SidebarMenuSkeleton";var ke=e.forwardRef(({className:a,...t},n)=>_jsxruntime.jsx.call(void 0, "ul",{ref:n,"data-sidebar":"menu-sub",className:_chunkFUYXCJOQjs.a.call(void 0, "mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",a),...t}));ke.displayName="SidebarMenuSub";var Ae=e.forwardRef(({...a},t)=>_jsxruntime.jsx.call(void 0, "li",{ref:t,...a}));Ae.displayName="SidebarMenuSubItem";var Oe=e.forwardRef(({asChild:a=!1,size:t="md",isActive:n,className:i,...s},c)=>_jsxruntime.jsx.call(void 0, a?_reactslot.Slot:"a",{ref:c,"data-sidebar":"menu-sub-button","data-size":t,"data-active":n,className:_chunkFUYXCJOQjs.a.call(void 0, "flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",t==="sm"&&"text-xs",t==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",i),...s}));Oe.displayName="SidebarMenuSubButton";exports.a = y; exports.b = ge; exports.c = ve; exports.d = he; exports.e = re; exports.f = Re; exports.g = xe; exports.h = Se; exports.i = we; exports.j = ye; exports.k = Ce; exports.l = Ne; exports.m = Me; exports.n = Ee; exports.o = Te; exports.p = Be; exports.q = Pe; exports.r = Ie; exports.s = He; exports.t = ze; exports.u = De; exports.v = _e; exports.w = ke; exports.x = Ae; exports.y = Oe;
|
|
3
|
+
//# sourceMappingURL=chunk-3N5K4X23.js.map
|