@invopop/popui 0.1.68 → 0.1.69

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,40 @@
1
+ <script lang="ts">
2
+ import { Icon } from '@steeze-ui/svelte-icon'
3
+ import { ChevronDown } from '@invopop/ui-icons'
4
+ import clsx from 'clsx'
5
+ import type { AccordionProps } from './types'
6
+ import { cn } from './utils.js'
7
+
8
+ let { label, open = true, children, onToggle, class: className }: AccordionProps = $props()
9
+
10
+ let isOpen = $derived(open)
11
+
12
+ function toggle() {
13
+ isOpen = !isOpen
14
+ onToggle?.(isOpen)
15
+ }
16
+ </script>
17
+
18
+ <div class={cn('flex flex-col', className)}>
19
+ <button
20
+ data-accordion-trigger
21
+ class="flex items-center gap-1.5 overflow-clip pl-2 py-2 pr-1.5 rounded-lg cursor-pointer"
22
+ onclick={toggle}
23
+ >
24
+ <p data-accordion-label class="text-sm font-medium text-foreground-default-secondary text-left">
25
+ {label}
26
+ </p>
27
+ <Icon
28
+ data-accordion-icon
29
+ src={ChevronDown}
30
+ class={clsx('size-3 text-icon-default-secondary transition-transform', {
31
+ '-rotate-90': !isOpen
32
+ })}
33
+ />
34
+ </button>
35
+ {#if isOpen}
36
+ <div data-accordion-content>
37
+ {@render children?.()}
38
+ </div>
39
+ {/if}
40
+ </div>
@@ -0,0 +1,4 @@
1
+ import type { AccordionProps } from './types';
2
+ declare const Accordion: import("svelte").Component<AccordionProps, {}, "">;
3
+ type Accordion = ReturnType<typeof Accordion>;
4
+ export default Accordion;
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import Accordion from './Accordion.svelte';
1
2
  import AlertDialog from './AlertDialog.svelte';
2
3
  import BaseButton from './BaseButton.svelte';
3
4
  import BaseCard from './BaseCard.svelte';
@@ -86,4 +87,4 @@ import { FlexRender } from './data-table';
86
87
  import { createSvelteTable } from './data-table';
87
88
  import { renderComponent } from './data-table';
88
89
  import { renderSnippet } from './data-table';
89
- export { AlertDialog, BaseButton, BaseCard, BaseCounter, BaseDropdown, BaseFlag, BaseTableActions, Breadcrumbs, ButtonFile, ButtonSearch, ButtonUuidCopy, CardCheckbox, CardRelation, CompanySelector, CounterWidget, DataListItem, DatePicker, DrawerContext, DrawerContextItem, DrawerContextSeparator, DropdownSelect, DropdownSelectGroup, EmptyState, FeedEvents, FeedIconEvent, FeedIconStatus, FeedItem, FeedItemDetail, FeedViewer, GlobalSearch, InputCheckbox, InputError, InputLabel, InputRadio, InputSearch, InputSelect, InputText, InputTextarea, InputToggle, MenuItem, MenuItemCollapsible, Notification, ProfileAvatar, ProgressBar, ProgressBarCircle, SeparatorHorizontal, ShortcutWrapper, Skeleton, SkeletonAvatar, SkeletonCard, SkeletonList, StatusLabel, StepIcon, StepIconList, Table, TableBody, TableCaption, TableFooter, TableHeader, TableRow, TableHead, TableCell, Tabs, TabsContent, TabsList, TabsTrigger, TagBeta, TagProgress, TagSearch, TagStatus, TitleMain, TitleSection, Toaster, Tooltip, TooltipContent, TooltipTrigger, TooltipAutoHide, resolveIcon, getCountryName, getStatusType, buttonVariants, DataTable, DataTableToolbar, DataTableViewOptions, FlexRender, createSvelteTable, renderComponent, renderSnippet };
90
+ export { Accordion, AlertDialog, BaseButton, BaseCard, BaseCounter, BaseDropdown, BaseFlag, BaseTableActions, Breadcrumbs, ButtonFile, ButtonSearch, ButtonUuidCopy, CardCheckbox, CardRelation, CompanySelector, CounterWidget, DataListItem, DatePicker, DrawerContext, DrawerContextItem, DrawerContextSeparator, DropdownSelect, DropdownSelectGroup, EmptyState, FeedEvents, FeedIconEvent, FeedIconStatus, FeedItem, FeedItemDetail, FeedViewer, GlobalSearch, InputCheckbox, InputError, InputLabel, InputRadio, InputSearch, InputSelect, InputText, InputTextarea, InputToggle, MenuItem, MenuItemCollapsible, Notification, ProfileAvatar, ProgressBar, ProgressBarCircle, SeparatorHorizontal, ShortcutWrapper, Skeleton, SkeletonAvatar, SkeletonCard, SkeletonList, StatusLabel, StepIcon, StepIconList, Table, TableBody, TableCaption, TableFooter, TableHeader, TableRow, TableHead, TableCell, Tabs, TabsContent, TabsList, TabsTrigger, TagBeta, TagProgress, TagSearch, TagStatus, TitleMain, TitleSection, Toaster, Tooltip, TooltipContent, TooltipTrigger, TooltipAutoHide, resolveIcon, getCountryName, getStatusType, buttonVariants, DataTable, DataTableToolbar, DataTableViewOptions, FlexRender, createSvelteTable, renderComponent, renderSnippet };
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import Accordion from './Accordion.svelte'
1
2
  import AlertDialog from './AlertDialog.svelte'
2
3
  import BaseButton from './BaseButton.svelte'
3
4
  import BaseCard from './BaseCard.svelte'
@@ -81,6 +82,7 @@ import {
81
82
  } from './data-table'
82
83
 
83
84
  export {
85
+ Accordion,
84
86
  AlertDialog,
85
87
  BaseButton,
86
88
  BaseCard,
package/dist/types.d.ts CHANGED
@@ -139,6 +139,13 @@ export type StepIcon = {
139
139
  name: string;
140
140
  url: string;
141
141
  };
142
+ export interface AccordionProps {
143
+ label: string;
144
+ open?: boolean;
145
+ children?: Snippet;
146
+ onToggle?: (open: boolean) => void;
147
+ class?: string;
148
+ }
142
149
  export interface AlertDialogProps {
143
150
  open?: boolean;
144
151
  destructive?: boolean;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@invopop/popui",
3
3
  "license": "MIT",
4
- "version": "0.1.68",
4
+ "version": "0.1.69",
5
5
  "repository": {
6
6
  "url": "https://github.com/invopop/popui"
7
7
  },