@arclux/arc-ui-vue 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +52 -0
  3. package/package.json +71 -0
  4. package/src/application/AppShell.vue +20 -0
  5. package/src/application/AuthShell.vue +20 -0
  6. package/src/application/Breadcrumb.vue +24 -0
  7. package/src/application/BreadcrumbItem.vue +20 -0
  8. package/src/application/Container.vue +20 -0
  9. package/src/application/DashboardGrid.vue +26 -0
  10. package/src/application/Footer.vue +23 -0
  11. package/src/application/NavItem.vue +26 -0
  12. package/src/application/NavigationMenu.vue +23 -0
  13. package/src/application/NotificationPanel.vue +31 -0
  14. package/src/application/PageHeader.vue +23 -0
  15. package/src/application/PageLayout.vue +26 -0
  16. package/src/application/Resizable.vue +36 -0
  17. package/src/application/ScrollSpy.vue +33 -0
  18. package/src/application/Section.vue +20 -0
  19. package/src/application/SettingsLayout.vue +20 -0
  20. package/src/application/Sidebar.vue +32 -0
  21. package/src/application/SidebarLink.vue +23 -0
  22. package/src/application/SidebarSection.vue +30 -0
  23. package/src/application/SplitPane.vue +33 -0
  24. package/src/application/SpyLink.vue +20 -0
  25. package/src/application/StatusBar.vue +20 -0
  26. package/src/application/Toolbar.vue +26 -0
  27. package/src/application/TopBar.vue +30 -0
  28. package/src/application/index.ts +23 -0
  29. package/src/content/Accordion.vue +23 -0
  30. package/src/content/AccordionItem.vue +20 -0
  31. package/src/content/AnimatedNumber.vue +38 -0
  32. package/src/content/AspectRatio.vue +20 -0
  33. package/src/content/Avatar.vue +26 -0
  34. package/src/content/AvatarGroup.vue +23 -0
  35. package/src/content/Badge.vue +20 -0
  36. package/src/content/Callout.vue +20 -0
  37. package/src/content/Card.vue +20 -0
  38. package/src/content/Carousel.vue +42 -0
  39. package/src/content/CodeBlock.vue +29 -0
  40. package/src/content/Collapsible.vue +27 -0
  41. package/src/content/ColorSwatch.vue +26 -0
  42. package/src/content/Column.vue +29 -0
  43. package/src/content/DataTable.vue +44 -0
  44. package/src/content/Divider.vue +25 -0
  45. package/src/content/EmptyState.vue +23 -0
  46. package/src/content/FeatureCard.vue +29 -0
  47. package/src/content/Highlight.vue +26 -0
  48. package/src/content/Icon.vue +26 -0
  49. package/src/content/InfiniteScroll.vue +33 -0
  50. package/src/content/Kbd.vue +13 -0
  51. package/src/content/Link.vue +29 -0
  52. package/src/content/Markdown.vue +20 -0
  53. package/src/content/Marquee.vue +29 -0
  54. package/src/content/Meter.vue +38 -0
  55. package/src/content/ScrollArea.vue +23 -0
  56. package/src/content/Skeleton.vue +26 -0
  57. package/src/content/Spinner.vue +23 -0
  58. package/src/content/Stack.vue +32 -0
  59. package/src/content/Stat.vue +23 -0
  60. package/src/content/Step.vue +20 -0
  61. package/src/content/Stepper.vue +23 -0
  62. package/src/content/Table.vue +29 -0
  63. package/src/content/Tag.vue +30 -0
  64. package/src/content/Text.vue +23 -0
  65. package/src/content/Timeline.vue +20 -0
  66. package/src/content/TimelineItem.vue +23 -0
  67. package/src/content/Truncate.vue +27 -0
  68. package/src/content/ValueCard.vue +26 -0
  69. package/src/content/index.ts +37 -0
  70. package/src/feedback/Alert.vue +30 -0
  71. package/src/feedback/CommandItem.vue +23 -0
  72. package/src/feedback/CommandPalette.vue +37 -0
  73. package/src/feedback/ContextMenu.vue +38 -0
  74. package/src/feedback/Dialog.vue +34 -0
  75. package/src/feedback/DropdownMenu.vue +31 -0
  76. package/src/feedback/HoverCard.vue +34 -0
  77. package/src/feedback/Modal.vue +34 -0
  78. package/src/feedback/NotificationPanel.vue +31 -0
  79. package/src/feedback/Popover.vue +30 -0
  80. package/src/feedback/Progress.vue +32 -0
  81. package/src/feedback/Sheet.vue +31 -0
  82. package/src/feedback/Toast.vue +30 -0
  83. package/src/feedback/Tooltip.vue +29 -0
  84. package/src/index.ts +116 -0
  85. package/src/input/Button.vue +32 -0
  86. package/src/input/Calendar.vue +40 -0
  87. package/src/input/Checkbox.vue +39 -0
  88. package/src/input/Chip.vue +30 -0
  89. package/src/input/ColorPicker.vue +51 -0
  90. package/src/input/Combobox.vue +45 -0
  91. package/src/input/CopyButton.vue +30 -0
  92. package/src/input/DatePicker.vue +51 -0
  93. package/src/input/FileUpload.vue +43 -0
  94. package/src/input/Form.vue +31 -0
  95. package/src/input/IconButton.vue +41 -0
  96. package/src/input/Input.vue +49 -0
  97. package/src/input/MultiSelect.vue +45 -0
  98. package/src/input/NumberInput.vue +39 -0
  99. package/src/input/OtpInput.vue +33 -0
  100. package/src/input/PinInput.vue +43 -0
  101. package/src/input/Radio.vue +23 -0
  102. package/src/input/RadioGroup.vue +36 -0
  103. package/src/input/Rating.vue +33 -0
  104. package/src/input/Search.vue +48 -0
  105. package/src/input/SegmentedControl.vue +30 -0
  106. package/src/input/Select.vue +42 -0
  107. package/src/input/Slider.vue +40 -0
  108. package/src/input/SortableList.vue +39 -0
  109. package/src/input/Suggestion.vue +20 -0
  110. package/src/input/Textarea.vue +49 -0
  111. package/src/input/ThemeToggle.vue +30 -0
  112. package/src/input/Toggle.vue +33 -0
  113. package/src/layout/AppShell.vue +29 -0
  114. package/src/layout/AuthShell.vue +20 -0
  115. package/src/layout/Container.vue +20 -0
  116. package/src/layout/DashboardGrid.vue +26 -0
  117. package/src/layout/PageHeader.vue +23 -0
  118. package/src/layout/PageLayout.vue +26 -0
  119. package/src/layout/Resizable.vue +36 -0
  120. package/src/layout/Section.vue +20 -0
  121. package/src/layout/SettingsLayout.vue +20 -0
  122. package/src/layout/SplitPane.vue +33 -0
  123. package/src/layout/StatusBar.vue +20 -0
  124. package/src/layout/Toolbar.vue +26 -0
  125. package/src/navigation/Breadcrumb.vue +24 -0
  126. package/src/navigation/BreadcrumbItem.vue +20 -0
  127. package/src/navigation/Drawer.vue +30 -0
  128. package/src/navigation/Footer.vue +23 -0
  129. package/src/navigation/Link.vue +29 -0
  130. package/src/navigation/NavItem.vue +26 -0
  131. package/src/navigation/NavigationMenu.vue +36 -0
  132. package/src/navigation/Pagination.vue +30 -0
  133. package/src/navigation/ScrollSpy.vue +33 -0
  134. package/src/navigation/ScrollToTop.vue +32 -0
  135. package/src/navigation/Sidebar.vue +32 -0
  136. package/src/navigation/SidebarLink.vue +23 -0
  137. package/src/navigation/SidebarSection.vue +30 -0
  138. package/src/navigation/SpyLink.vue +20 -0
  139. package/src/navigation/Tab.vue +20 -0
  140. package/src/navigation/Tabs.vue +30 -0
  141. package/src/navigation/TopBar.vue +32 -0
  142. package/src/navigation/TreeItem.vue +26 -0
  143. package/src/navigation/TreeView.vue +28 -0
  144. package/src/reactive/Accordion.vue +23 -0
  145. package/src/reactive/AccordionItem.vue +20 -0
  146. package/src/reactive/Alert.vue +30 -0
  147. package/src/reactive/Button.vue +32 -0
  148. package/src/reactive/Calendar.vue +40 -0
  149. package/src/reactive/Carousel.vue +42 -0
  150. package/src/reactive/Checkbox.vue +39 -0
  151. package/src/reactive/Chip.vue +30 -0
  152. package/src/reactive/Collapsible.vue +27 -0
  153. package/src/reactive/ColorPicker.vue +51 -0
  154. package/src/reactive/Column.vue +29 -0
  155. package/src/reactive/Combobox.vue +45 -0
  156. package/src/reactive/CommandItem.vue +23 -0
  157. package/src/reactive/CommandPalette.vue +37 -0
  158. package/src/reactive/ContextMenu.vue +38 -0
  159. package/src/reactive/CopyButton.vue +30 -0
  160. package/src/reactive/DataTable.vue +44 -0
  161. package/src/reactive/DatePicker.vue +51 -0
  162. package/src/reactive/Dialog.vue +34 -0
  163. package/src/reactive/Drawer.vue +30 -0
  164. package/src/reactive/DropdownMenu.vue +31 -0
  165. package/src/reactive/FileUpload.vue +43 -0
  166. package/src/reactive/Form.vue +31 -0
  167. package/src/reactive/HoverCard.vue +34 -0
  168. package/src/reactive/IconButton.vue +41 -0
  169. package/src/reactive/InfiniteScroll.vue +33 -0
  170. package/src/reactive/Input.vue +49 -0
  171. package/src/reactive/Modal.vue +34 -0
  172. package/src/reactive/MultiSelect.vue +45 -0
  173. package/src/reactive/NumberInput.vue +39 -0
  174. package/src/reactive/OtpInput.vue +33 -0
  175. package/src/reactive/Pagination.vue +30 -0
  176. package/src/reactive/PinInput.vue +43 -0
  177. package/src/reactive/Popover.vue +30 -0
  178. package/src/reactive/Progress.vue +32 -0
  179. package/src/reactive/Radio.vue +23 -0
  180. package/src/reactive/RadioGroup.vue +36 -0
  181. package/src/reactive/Rating.vue +33 -0
  182. package/src/reactive/ScrollToTop.vue +32 -0
  183. package/src/reactive/Search.vue +48 -0
  184. package/src/reactive/SegmentedControl.vue +30 -0
  185. package/src/reactive/Select.vue +42 -0
  186. package/src/reactive/Sheet.vue +31 -0
  187. package/src/reactive/Slider.vue +40 -0
  188. package/src/reactive/SortableList.vue +39 -0
  189. package/src/reactive/Suggestion.vue +20 -0
  190. package/src/reactive/Tab.vue +20 -0
  191. package/src/reactive/Tabs.vue +30 -0
  192. package/src/reactive/Tag.vue +30 -0
  193. package/src/reactive/Textarea.vue +49 -0
  194. package/src/reactive/ThemeToggle.vue +30 -0
  195. package/src/reactive/Toast.vue +30 -0
  196. package/src/reactive/Toggle.vue +33 -0
  197. package/src/reactive/Tooltip.vue +29 -0
  198. package/src/reactive/TreeItem.vue +26 -0
  199. package/src/reactive/TreeView.vue +28 -0
  200. package/src/reactive/Truncate.vue +27 -0
  201. package/src/reactive/index.ts +53 -0
  202. package/src/shared/MenuDivider.vue +13 -0
  203. package/src/shared/MenuItem.vue +26 -0
  204. package/src/shared/Option.vue +26 -0
@@ -0,0 +1,20 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'SpyLink' });
6
+
7
+ withDefaults(defineProps<{
8
+ target?: string;
9
+ }>(), {
10
+ target: '',
11
+ });
12
+ </script>
13
+
14
+ <template>
15
+ <arc-spy-link
16
+ :target="target"
17
+ >
18
+ <slot />
19
+ </arc-spy-link>
20
+ </template>
@@ -0,0 +1,20 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'StatusBar' });
6
+
7
+ withDefaults(defineProps<{
8
+ position?: string;
9
+ }>(), {
10
+ position: 'static',
11
+ });
12
+ </script>
13
+
14
+ <template>
15
+ <arc-status-bar
16
+ :position="position"
17
+ >
18
+ <slot />
19
+ </arc-status-bar>
20
+ </template>
@@ -0,0 +1,26 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'Toolbar' });
6
+
7
+ withDefaults(defineProps<{
8
+ sticky?: boolean;
9
+ size?: string;
10
+ border?: boolean;
11
+ }>(), {
12
+ sticky: false,
13
+ size: 'md',
14
+ border: true,
15
+ });
16
+ </script>
17
+
18
+ <template>
19
+ <arc-toolbar
20
+ :sticky="sticky"
21
+ :size="size"
22
+ :border="border"
23
+ >
24
+ <slot />
25
+ </arc-toolbar>
26
+ </template>
@@ -0,0 +1,30 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'TopBar' });
6
+
7
+ withDefaults(defineProps<{
8
+ heading?: string;
9
+ fixed?: boolean;
10
+ menuOpen?: boolean;
11
+ }>(), {
12
+ heading: '',
13
+ fixed: false,
14
+ menuOpen: false,
15
+ });
16
+
17
+ defineEmits<{
18
+ 'arc-toggle': [event: CustomEvent];
19
+ }>();
20
+ </script>
21
+
22
+ <template>
23
+ <arc-top-bar
24
+ :heading="heading"
25
+ :fixed="fixed"
26
+ :menuOpen="menuOpen"
27
+ >
28
+ <slot />
29
+ </arc-top-bar>
30
+ </template>
@@ -0,0 +1,23 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+ export { default as AppShell } from './AppShell.vue';
3
+ export { default as AuthShell } from './AuthShell.vue';
4
+ export { default as BreadcrumbItem } from './BreadcrumbItem.vue';
5
+ export { default as Container } from './Container.vue';
6
+ export { default as DashboardGrid } from './DashboardGrid.vue';
7
+ export { default as Footer } from './Footer.vue';
8
+ export { default as NavItem } from './NavItem.vue';
9
+ export { default as NavigationMenu } from './NavigationMenu.vue';
10
+ export { default as NotificationPanel } from './NotificationPanel.vue';
11
+ export { default as PageHeader } from './PageHeader.vue';
12
+ export { default as PageLayout } from './PageLayout.vue';
13
+ export { default as Resizable } from './Resizable.vue';
14
+ export { default as ScrollSpy } from './ScrollSpy.vue';
15
+ export { default as Section } from './Section.vue';
16
+ export { default as SettingsLayout } from './SettingsLayout.vue';
17
+ export { default as SidebarLink } from './SidebarLink.vue';
18
+ export { default as SidebarSection } from './SidebarSection.vue';
19
+ export { default as SplitPane } from './SplitPane.vue';
20
+ export { default as SpyLink } from './SpyLink.vue';
21
+ export { default as StatusBar } from './StatusBar.vue';
22
+ export { default as Toolbar } from './Toolbar.vue';
23
+ export { default as TopBar } from './TopBar.vue';
@@ -0,0 +1,23 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'Accordion' });
6
+
7
+ withDefaults(defineProps<{
8
+ _items?: string;
9
+ _openItems?: string;
10
+ }>(), {
11
+ _items: () => ([]),
12
+ _openItems: 'new Set()',
13
+ });
14
+ </script>
15
+
16
+ <template>
17
+ <arc-accordion
18
+ :_items="_items"
19
+ :_openItems="_openItems"
20
+ >
21
+ <slot />
22
+ </arc-accordion>
23
+ </template>
@@ -0,0 +1,20 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'AccordionItem' });
6
+
7
+ withDefaults(defineProps<{
8
+ question?: string;
9
+ }>(), {
10
+ question: '',
11
+ });
12
+ </script>
13
+
14
+ <template>
15
+ <arc-accordion-item
16
+ :question="question"
17
+ >
18
+ <slot />
19
+ </arc-accordion-item>
20
+ </template>
@@ -0,0 +1,38 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'AnimatedNumber' });
6
+
7
+ withDefaults(defineProps<{
8
+ value?: number;
9
+ duration?: number;
10
+ format?: string;
11
+ prefix?: string;
12
+ suffix?: string;
13
+ decimals?: number;
14
+ locale?: string;
15
+ }>(), {
16
+ value: 0,
17
+ duration: 1000,
18
+ format: 'number',
19
+ prefix: '',
20
+ suffix: '',
21
+ decimals: 0,
22
+ locale: 'en-US',
23
+ });
24
+ </script>
25
+
26
+ <template>
27
+ <arc-animated-number
28
+ :value="value"
29
+ :duration="duration"
30
+ :format="format"
31
+ :prefix="prefix"
32
+ :suffix="suffix"
33
+ :decimals="decimals"
34
+ :locale="locale"
35
+ >
36
+ <slot />
37
+ </arc-animated-number>
38
+ </template>
@@ -0,0 +1,20 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'AspectRatio' });
6
+
7
+ withDefaults(defineProps<{
8
+ ratio?: string;
9
+ }>(), {
10
+ ratio: '16/9',
11
+ });
12
+ </script>
13
+
14
+ <template>
15
+ <arc-aspect-ratio
16
+ :ratio="ratio"
17
+ >
18
+ <slot />
19
+ </arc-aspect-ratio>
20
+ </template>
@@ -0,0 +1,26 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'Avatar' });
6
+
7
+ withDefaults(defineProps<{
8
+ src?: string;
9
+ name?: string;
10
+ size?: 'sm' | 'md' | 'lg';
11
+ }>(), {
12
+ src: '',
13
+ name: '',
14
+ size: 'md',
15
+ });
16
+ </script>
17
+
18
+ <template>
19
+ <arc-avatar
20
+ :src="src"
21
+ :name="name"
22
+ :size="size"
23
+ >
24
+ <slot />
25
+ </arc-avatar>
26
+ </template>
@@ -0,0 +1,23 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'AvatarGroup' });
6
+
7
+ withDefaults(defineProps<{
8
+ max?: number;
9
+ overlap?: 'sm' | 'lg';
10
+ }>(), {
11
+ max: Infinity,
12
+ overlap: 'md',
13
+ });
14
+ </script>
15
+
16
+ <template>
17
+ <arc-avatar-group
18
+ :max="max"
19
+ :overlap="overlap"
20
+ >
21
+ <slot />
22
+ </arc-avatar-group>
23
+ </template>
@@ -0,0 +1,20 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'Badge' });
6
+
7
+ withDefaults(defineProps<{
8
+ variant?: 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info';
9
+ }>(), {
10
+ variant: 'default',
11
+ });
12
+ </script>
13
+
14
+ <template>
15
+ <arc-badge
16
+ :variant="variant"
17
+ >
18
+ <slot />
19
+ </arc-badge>
20
+ </template>
@@ -0,0 +1,20 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'Callout' });
6
+
7
+ withDefaults(defineProps<{
8
+ variant?: 'info' | 'warning' | 'tip' | 'danger';
9
+ }>(), {
10
+ variant: 'info',
11
+ });
12
+ </script>
13
+
14
+ <template>
15
+ <arc-callout
16
+ :variant="variant"
17
+ >
18
+ <slot />
19
+ </arc-callout>
20
+ </template>
@@ -0,0 +1,20 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'Card' });
6
+
7
+ withDefaults(defineProps<{
8
+ href?: string;
9
+ }>(), {
10
+ href: '',
11
+ });
12
+ </script>
13
+
14
+ <template>
15
+ <arc-card
16
+ :href="href"
17
+ >
18
+ <slot />
19
+ </arc-card>
20
+ </template>
@@ -0,0 +1,42 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'Carousel' });
6
+
7
+ withDefaults(defineProps<{
8
+ autoPlay?: boolean;
9
+ interval?: number;
10
+ loop?: boolean;
11
+ showDots?: boolean;
12
+ showArrows?: boolean;
13
+ _current?: string;
14
+ _total?: string;
15
+ }>(), {
16
+ autoPlay: false,
17
+ interval: 5000,
18
+ loop: true,
19
+ showDots: true,
20
+ showArrows: true,
21
+ _current: 0,
22
+ _total: 0,
23
+ });
24
+
25
+ defineEmits<{
26
+ 'arc-change': [event: CustomEvent];
27
+ }>();
28
+ </script>
29
+
30
+ <template>
31
+ <arc-carousel
32
+ :autoPlay="autoPlay"
33
+ :interval="interval"
34
+ :loop="loop"
35
+ :showDots="showDots"
36
+ :showArrows="showArrows"
37
+ :_current="_current"
38
+ :_total="_total"
39
+ >
40
+ <slot />
41
+ </arc-carousel>
42
+ </template>
@@ -0,0 +1,29 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'CodeBlock' });
6
+
7
+ withDefaults(defineProps<{
8
+ language?: string;
9
+ filename?: string;
10
+ code?: string;
11
+ _copied?: string;
12
+ }>(), {
13
+ language: '',
14
+ filename: '',
15
+ code: '',
16
+ _copied: false,
17
+ });
18
+ </script>
19
+
20
+ <template>
21
+ <arc-code-block
22
+ :language="language"
23
+ :filename="filename"
24
+ :code="code"
25
+ :_copied="_copied"
26
+ >
27
+ <slot />
28
+ </arc-code-block>
29
+ </template>
@@ -0,0 +1,27 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'Collapsible' });
6
+
7
+ withDefaults(defineProps<{
8
+ open?: boolean;
9
+ heading?: string;
10
+ }>(), {
11
+ open: false,
12
+ heading: '',
13
+ });
14
+
15
+ defineEmits<{
16
+ 'arc-toggle': [event: CustomEvent];
17
+ }>();
18
+ </script>
19
+
20
+ <template>
21
+ <arc-collapsible
22
+ :open="open"
23
+ :heading="heading"
24
+ >
25
+ <slot />
26
+ </arc-collapsible>
27
+ </template>
@@ -0,0 +1,26 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'ColorSwatch' });
6
+
7
+ withDefaults(defineProps<{
8
+ color?: string;
9
+ label?: string;
10
+ size?: 'sm' | 'md' | 'lg';
11
+ }>(), {
12
+ color: '#4d7ef7',
13
+ label: '',
14
+ size: 'md',
15
+ });
16
+ </script>
17
+
18
+ <template>
19
+ <arc-color-swatch
20
+ :color="color"
21
+ :label="label"
22
+ :size="size"
23
+ >
24
+ <slot />
25
+ </arc-color-swatch>
26
+ </template>
@@ -0,0 +1,29 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'Column' });
6
+
7
+ withDefaults(defineProps<{
8
+ key?: string;
9
+ label?: string;
10
+ sortable?: boolean;
11
+ width?: string;
12
+ }>(), {
13
+ key: '',
14
+ label: '',
15
+ sortable: false,
16
+ width: '',
17
+ });
18
+ </script>
19
+
20
+ <template>
21
+ <arc-column
22
+ :key="key"
23
+ :label="label"
24
+ :sortable="sortable"
25
+ :width="width"
26
+ >
27
+ <slot />
28
+ </arc-column>
29
+ </template>
@@ -0,0 +1,44 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'DataTable' });
6
+
7
+ withDefaults(defineProps<{
8
+ rows?: unknown[];
9
+ sortable?: boolean;
10
+ selectable?: boolean;
11
+ sortColumn?: string;
12
+ sortDirection?: string;
13
+ _columns?: string;
14
+ _selectedRows?: string;
15
+ }>(), {
16
+ rows: () => ([]),
17
+ sortable: false,
18
+ selectable: false,
19
+ sortColumn: '',
20
+ sortDirection: 'asc',
21
+ _columns: () => ([]),
22
+ _selectedRows: 'new Set()',
23
+ });
24
+
25
+ defineEmits<{
26
+ 'arc-sort': [event: CustomEvent];
27
+ 'arc-select-all': [event: CustomEvent];
28
+ 'arc-row-select': [event: CustomEvent];
29
+ }>();
30
+ </script>
31
+
32
+ <template>
33
+ <arc-data-table
34
+ :rows="rows"
35
+ :sortable="sortable"
36
+ :selectable="selectable"
37
+ :sortColumn="sortColumn"
38
+ :sortDirection="sortDirection"
39
+ :_columns="_columns"
40
+ :_selectedRows="_selectedRows"
41
+ >
42
+ <slot />
43
+ </arc-data-table>
44
+ </template>
@@ -0,0 +1,25 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'Divider' });
6
+
7
+ withDefaults(defineProps<{
8
+ variant?: 'subtle' | 'glow' | 'line-white' | 'line-primary' | 'line-gradient';
9
+ align?: 'left' | 'right';
10
+ vertical?: boolean;
11
+ }>(), {
12
+ variant: 'subtle',
13
+ vertical: false,
14
+ });
15
+ </script>
16
+
17
+ <template>
18
+ <arc-divider
19
+ :variant="variant"
20
+ :align="align"
21
+ :vertical="vertical"
22
+ >
23
+ <slot />
24
+ </arc-divider>
25
+ </template>
@@ -0,0 +1,23 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'EmptyState' });
6
+
7
+ withDefaults(defineProps<{
8
+ heading?: string;
9
+ description?: string;
10
+ }>(), {
11
+ heading: '',
12
+ description: '',
13
+ });
14
+ </script>
15
+
16
+ <template>
17
+ <arc-empty-state
18
+ :heading="heading"
19
+ :description="description"
20
+ >
21
+ <slot />
22
+ </arc-empty-state>
23
+ </template>
@@ -0,0 +1,29 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'FeatureCard' });
6
+
7
+ withDefaults(defineProps<{
8
+ icon?: string;
9
+ heading?: string;
10
+ description?: string;
11
+ href?: string;
12
+ }>(), {
13
+ icon: '',
14
+ heading: '',
15
+ description: '',
16
+ href: '',
17
+ });
18
+ </script>
19
+
20
+ <template>
21
+ <arc-feature-card
22
+ :icon="icon"
23
+ :heading="heading"
24
+ :description="description"
25
+ :href="href"
26
+ >
27
+ <slot />
28
+ </arc-feature-card>
29
+ </template>
@@ -0,0 +1,26 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'Highlight' });
6
+
7
+ withDefaults(defineProps<{
8
+ text?: string;
9
+ query?: string;
10
+ caseSensitive?: boolean;
11
+ }>(), {
12
+ text: '',
13
+ query: '',
14
+ caseSensitive: false,
15
+ });
16
+ </script>
17
+
18
+ <template>
19
+ <arc-highlight
20
+ :text="text"
21
+ :query="query"
22
+ :caseSensitive="caseSensitive"
23
+ >
24
+ <slot />
25
+ </arc-highlight>
26
+ </template>
@@ -0,0 +1,26 @@
1
+ <!-- Auto-generated by @arclux/prism — do not edit manually -->
2
+ <script setup lang="ts">
3
+ import '@arclux/arc-ui';
4
+
5
+ defineOptions({ name: 'Icon' });
6
+
7
+ withDefaults(defineProps<{
8
+ name?: string;
9
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
10
+ label?: string;
11
+ }>(), {
12
+ name: '',
13
+ size: 'sm',
14
+ label: '',
15
+ });
16
+ </script>
17
+
18
+ <template>
19
+ <arc-icon
20
+ :name="name"
21
+ :size="size"
22
+ :label="label"
23
+ >
24
+ <slot />
25
+ </arc-icon>
26
+ </template>