@astryx-vue/core 0.1.3 → 0.2.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/AlertDialog/index.js +1 -1
- package/dist/{AlertDialog-BylcA4vV.js → AlertDialog-ovx4cBjM.js} +1 -1
- package/dist/AppShell/index.js +1 -1
- package/dist/{AppShell-b0PWt9Fz.js → AppShell-1wNIEtK_.js} +2 -2
- package/dist/Avatar/index.d.ts +1 -1
- package/dist/Avatar/index.js +1 -1
- package/dist/Avatar-jmHInHwj.js +244 -0
- package/dist/AvatarGroup/index.d.ts +1 -1
- package/dist/AvatarGroup/index.js +1 -1
- package/dist/{AvatarGroup-CZcgAMjM.js → AvatarGroup-QyzSrpYA.js} +8 -7
- package/dist/Badge/index.d.ts +1 -1
- package/dist/Badge/index.js +1 -1
- package/dist/Badge-CjDQPF5g.js +30 -0
- package/dist/Banner/index.d.ts +1 -1
- package/dist/Breadcrumbs/index.d.ts +2 -2
- package/dist/Breadcrumbs/index.js +1 -1
- package/dist/{Breadcrumbs-C3YZFQ9w.js → Breadcrumbs-C97HmjkC.js} +45 -11
- package/dist/Button/index.d.ts +1 -1
- package/dist/ButtonGroup/index.d.ts +1 -1
- package/dist/Calendar/index.d.ts +2 -2
- package/dist/Calendar/index.js +1 -1
- package/dist/Calendar-DqC3EDN1.js +352 -0
- package/dist/Card/index.d.ts +1 -1
- package/dist/Carousel/index.d.ts +2 -0
- package/dist/Carousel/index.js +2 -0
- package/dist/Carousel-BGUnskjo.js +363 -0
- package/dist/Chat/index.js +1 -1
- package/dist/{Chat-C1aWl5V3.js → Chat-DCjXRiOF.js} +8 -8
- package/dist/CheckboxInput/index.d.ts +1 -1
- package/dist/CheckboxList/index.d.ts +1 -1
- package/dist/CheckboxList/index.js +1 -1
- package/dist/Citation/index.js +1 -1
- package/dist/{Citation-C1X0Rde8.js → Citation-DunoAqVH.js} +2 -2
- package/dist/ClickableCard/index.d.ts +1 -1
- package/dist/Code/index.d.ts +3 -2
- package/dist/Code/index.js +4 -2
- package/dist/Code-yb_KOFtJ.js +299 -0
- package/dist/{CodeBlock-BQdooQy2.js → CodeBlock-CAF-VJnh.js} +8 -2
- package/dist/Collapsible/index.js +1 -1
- package/dist/{Collapsible-BS9ctCQV.js → Collapsible-DvMiYJp7.js} +1 -1
- package/dist/CommandPalette/index.js +1 -1
- package/dist/{CommandPalette-u5h_E05P.js → CommandPalette-xfm9ldUI.js} +1 -1
- package/dist/ComplexSelector/index.d.ts +1 -1
- package/dist/ComplexSelector/index.js +1 -1
- package/dist/{ComplexSelector-BHmGWml0.js → ComplexSelector-B6lBTRhP.js} +2 -2
- package/dist/ContextMenu/index.d.ts +2 -2
- package/dist/ContextMenu/index.js +1 -1
- package/dist/{ContextMenu-dA-ppaRQ.js → ContextMenu-DUkED3Z3.js} +101 -63
- package/dist/DateInput/index.d.ts +2 -2
- package/dist/DateInput/index.js +1 -1
- package/dist/DateInput-Crcg-CCj.js +376 -0
- package/dist/DateRangeInput/index.d.ts +1 -1
- package/dist/DateRangeInput/index.js +1 -1
- package/dist/{DateRangeInput-fmQlr_A7.js → DateRangeInput-e9KSxBBK.js} +2 -2
- package/dist/DateTimeInput/index.d.ts +1 -1
- package/dist/DateTimeInput/index.js +1 -1
- package/dist/{DateTimeInput-Bs1JmcIp.js → DateTimeInput-fSOfuLex.js} +5 -3
- package/dist/DropdownMenu/index.d.ts +3 -2
- package/dist/DropdownMenu/index.js +3 -2
- package/dist/{DropdownMenu-B0gogrvG.js → DropdownMenu-8G0B1UND.js} +63 -16
- package/dist/DropdownMenu-XvW4BJob.js +164 -0
- package/dist/EmptyState/index.js +1 -1
- package/dist/{EmptyState-Bhlqgsg4.js → EmptyState-CUJdTYKV.js} +1 -1
- package/dist/FileInput/index.d.ts +1 -1
- package/dist/FileInput/index.js +1 -1
- package/dist/{FileInput-CmAfOpkA.js → FileInput-D-fchyQH.js} +2 -2
- package/dist/Icon/index.d.ts +4 -0
- package/dist/Icon/index.js +3 -0
- package/dist/Icon/plugin.d.ts +45 -0
- package/dist/Icon/plugin.js +177 -0
- package/dist/Icon-Bku25g_K.js +193 -0
- package/dist/Lightbox/index.d.ts +2 -0
- package/dist/Lightbox/index.js +2 -0
- package/dist/Lightbox-uuVGgHxW.js +384 -0
- package/dist/Link/index.d.ts +1 -1
- package/dist/Link/index.js +1 -1
- package/dist/Link-DqdQZ37C.js +141 -0
- package/dist/List/index.d.ts +1 -1
- package/dist/Markdown/index.js +1 -1
- package/dist/{Markdown-CwtLr3f_.js → Markdown-DLICa3db.js} +3 -3
- package/dist/MetadataList/index.d.ts +1 -1
- package/dist/MetadataList/index.js +1 -1
- package/dist/{MetadataList-DlXQTLog.js → MetadataList-h492rqEN.js} +1 -1
- package/dist/MobileNav/index.js +1 -1
- package/dist/{MobileNavToggle-CgQamG6E.js → MobileNavToggle-BMj3Wtuq.js} +1 -1
- package/dist/MoreMenu/index.d.ts +1 -1
- package/dist/MoreMenu/index.js +1 -1
- package/dist/{MoreMenu-BXL6Dqsu.js → MoreMenu-DkYi5az5.js} +2 -2
- package/dist/MultiSelector/index.d.ts +1 -1
- package/dist/MultiSelector/index.js +1 -1
- package/dist/{MultiSelector-DT8ZccMI.js → MultiSelector-C2IS-EaU.js} +2 -2
- package/dist/NavItem/index.d.ts +1 -1
- package/dist/NavMenu/index.d.ts +1 -1
- package/dist/NavMenu/index.js +1 -1
- package/dist/{NavMenuItem-mzNQESpB.js → NavMenuItem-B-k7olt5.js} +2 -1
- package/dist/NumberInput/index.d.ts +2 -2
- package/dist/NumberInput/index.js +1 -1
- package/dist/NumberInput-CjfAsFwj.js +210 -0
- package/dist/Outline/index.d.ts +2 -0
- package/dist/Outline/index.js +2 -0
- package/dist/Outline-BTmrtvXR.js +325 -0
- package/dist/OverflowList/index.d.ts +1 -1
- package/dist/OverflowList/index.js +1 -1
- package/dist/{OverflowList-zXg3g6fy.js → OverflowList-CRE8BE7V.js} +2 -2
- package/dist/Overlay/index.d.ts +1 -1
- package/dist/Pagination/index.d.ts +2 -2
- package/dist/Pagination/index.js +1 -1
- package/dist/{Pagination-DXfgMUKJ.js → Pagination-BpGXPmc7.js} +76 -22
- package/dist/Popover/index.d.ts +1 -1
- package/dist/ProgressBar/index.d.ts +1 -1
- package/dist/ProgressBar/index.js +1 -1
- package/dist/{ProgressBar-ChDp-7oe.js → ProgressBar-DO9Chic6.js} +31 -11
- package/dist/Radio/index.d.ts +1 -1
- package/dist/RadioList/index.d.ts +1 -1
- package/dist/Resizable/index.js +1 -1
- package/dist/{Resizable-BuGKvU9I.js → Resizable-CE8XQDL2.js} +1 -1
- package/dist/ScrollableArea/index.d.ts +1 -1
- package/dist/SegmentedControl/index.d.ts +1 -1
- package/dist/SelectableCard/index.d.ts +1 -1
- package/dist/Selector/index.d.ts +2 -2
- package/dist/Selector/index.js +1 -1
- package/dist/Selector-DkJOLZSR.js +468 -0
- package/dist/SideNav/index.d.ts +1 -1
- package/dist/SideNav/index.js +1 -1
- package/dist/{SideNav-Cdrigq2A.js → SideNav-DcDWBnXJ.js} +17 -17
- package/dist/Stepper/index.d.ts +1 -1
- package/dist/Stepper/index.js +1 -1
- package/dist/{Stepper-DxmLfh8O.js → Stepper-DZKaqEoz.js} +1 -1
- package/dist/Switch/index.d.ts +1 -1
- package/dist/TabList/index.d.ts +1 -1
- package/dist/TabList/index.js +1 -1
- package/dist/{TabList-C411uNQU.js → TabList-hm06QPiW.js} +10 -3
- package/dist/Table/index.js +1 -1
- package/dist/{Table-7qRmlIQd.js → Table-DwehtMap.js} +4 -4
- package/dist/Text/index.d.ts +3 -2
- package/dist/Text/index.js +1 -1
- package/dist/{Text-CKd7e3gK.js → Text-BHVghsWo.js} +12 -2
- package/dist/TextArea/index.d.ts +1 -1
- package/dist/TextArea/index.js +1 -1
- package/dist/{TextArea-Cv9UVbzS.js → TextArea-CPwSytdO.js} +12 -6
- package/dist/TextInput/index.d.ts +1 -1
- package/dist/Theme/index.d.ts +2 -0
- package/dist/Theme/index.js +2 -0
- package/dist/Theme-BuUiiJNr.js +429 -0
- package/dist/Thumbnail/index.js +1 -1
- package/dist/{Thumbnail-BWVzLLyI.js → Thumbnail-CAOYds8t.js} +11 -11
- package/dist/{TimeField-l3QzU6vC.js → TimeField-BGbxCoKU.js} +2 -2
- package/dist/TimeInput/index.d.ts +1 -1
- package/dist/TimeInput/index.js +1 -1
- package/dist/{TimeInput-OkgX-xbQ.js → TimeInput-DJP3l4ZS.js} +1 -1
- package/dist/Timer/index.d.ts +2 -0
- package/dist/Timer/index.js +2 -0
- package/dist/Timer-B7GV6hqd.js +134 -0
- package/dist/Timestamp/index.d.ts +1 -1
- package/dist/Timestamp/index.js +2 -1
- package/dist/{Timestamp-DUoP9ari.js → Timestamp-BzRp8uWc.js} +5 -122
- package/dist/Toast/index.d.ts +2 -2
- package/dist/Toast/index.js +1 -1
- package/dist/{Toast-BKXPvEMp.js → Toast-C2ML-bmi.js} +37 -7
- package/dist/ToggleButton/index.d.ts +1 -1
- package/dist/Token/index.d.ts +1 -1
- package/dist/Token/index.js +1 -1
- package/dist/{Token-C4KD0fZD.js → Token-CjocuhzE.js} +1 -1
- package/dist/Tokenizer/index.d.ts +1 -1
- package/dist/Tokenizer/index.js +1 -1
- package/dist/{Tokenizer-BA8sTMPZ.js → Tokenizer-mYES5SPM.js} +2 -2
- package/dist/Toolbar/index.d.ts +1 -1
- package/dist/TopNav/index.d.ts +1 -1
- package/dist/TopNav/index.js +1 -1
- package/dist/{TopNav-CZokS7E_.js → TopNav-C2t6JkZb.js} +4 -4
- package/dist/TreeList/index.d.ts +1 -1
- package/dist/TreeList/index.js +1 -1
- package/dist/{TreeList-CIbAGOMf.js → TreeList-THJ0KamE.js} +3 -3
- package/dist/Typeahead/index.d.ts +1 -1
- package/dist/Typeahead/index.js +1 -1
- package/dist/{Typeahead-DIw-K4aa.js → Typeahead-D7VnvRpK.js} +2 -2
- package/dist/{context-D6ECRdc5.js → context-DzcK4T_C.js} +58 -2
- package/dist/context-O2Vb8cJl.js +57 -0
- package/dist/formatInstant-BDWUIxS7.js +119 -0
- package/dist/index-1AZ4KZhg.d.ts +96 -0
- package/dist/index-3p2BDVHq.d.ts +31 -0
- package/dist/{index-BuubzuE8.d.ts → index-BDZCJ9ri.d.ts} +2 -2
- package/dist/{index-FEy8qFSD.d.ts → index-BHqRH7QW.d.ts} +2 -2
- package/dist/{index-CTolyeii.d.ts → index-BLOEjvaM.d.ts} +16 -2
- package/dist/index-BMrggCw-.d.ts +52 -0
- package/dist/{index-z4p2k9VR.d.ts → index-Bgv4ZmBl.d.ts} +20 -2
- package/dist/{index-BoRIw-bP.d.ts → index-Bt7ewoz2.d.ts} +32 -2
- package/dist/{index-CjtAH60j.d.ts → index-Bu0Zd1uw.d.ts} +1 -1
- package/dist/{index-uQrLBZfF.d.ts → index-Bu3oXIIS.d.ts} +24 -0
- package/dist/{index-CX97hlld.d.ts → index-CBym0hSq.d.ts} +2 -19
- package/dist/index-CJlBAXwj.d.ts +100 -0
- package/dist/{index-DT9S92sh.d.ts → index-CNjbOgty.d.ts} +15 -0
- package/dist/{index-gW0HW02U.d.ts → index-COxy6LEW.d.ts} +1 -1
- package/dist/index-CRizexSC.d.ts +147 -0
- package/dist/{index-DYChvBOM.d.ts → index-Clmz00IK.d.ts} +31 -0
- package/dist/index-Cm_TiLXU.d.ts +22 -0
- package/dist/index-Cn-sSds-.d.ts +68 -0
- package/dist/index-CsVS37na.d.ts +81 -0
- package/dist/{index-DRmb-oUa.d.ts → index-CuFLztiI.d.ts} +6 -1
- package/dist/{index-CT8KEpec.d.ts → index-D0TlUOtG.d.ts} +1 -1
- package/dist/{index-fa72tWIU.d.ts → index-D2bSSSBP.d.ts} +1 -1
- package/dist/{index-2u4l3wq8.d.ts → index-DAiGhkNZ.d.ts} +15 -2
- package/dist/{index-DGNqi2za.d.ts → index-DQAnGHu7.d.ts} +5 -5
- package/dist/{index-BfOtLyNH.d.ts → index-D_nYxnNv.d.ts} +1 -1
- package/dist/{index-Df2YvC8o.d.ts → index-DeOftUMq.d.ts} +191 -75
- package/dist/{index-DXDGk38y.d.ts → index-Dg3ZmwEg.d.ts} +11 -0
- package/dist/{index-BiMGXtD-.d.ts → index-DimuSES0.d.ts} +14 -1
- package/dist/{index-C_2Z65Rp.d.ts → index-DnEh-HA0.d.ts} +1 -1
- package/dist/{index-D-ZuubCK.d.ts → index-DnSrjbjP.d.ts} +1 -1
- package/dist/{index-mQ6EPmaG.d.ts → index-DsyKhauk.d.ts} +78 -9
- package/dist/{index-C6RecznD.d.ts → index-I4J7gwa1.d.ts} +51 -9
- package/dist/{index-utZGF4GR.d.ts → index-NOXYEdOI.d.ts} +1 -1
- package/dist/{index-B4OOtNP8.d.ts → index-Z_onS2lR.d.ts} +1 -1
- package/dist/{index-CVn0GBdB.d.ts → index-cG1E0U2s.d.ts} +1 -1
- package/dist/{index-DEeJowZf.d.ts → index-cGagYM1g.d.ts} +15 -2
- package/dist/{index-Ck8qy6Rf.d.ts → index-c_TaW8mM.d.ts} +24 -2
- package/dist/{index-Bqb_Fyju.d.ts → index-jdjcb3Js.d.ts} +2 -2
- package/dist/index.d.ts +78 -68
- package/dist/index.js +107 -96
- package/dist/locale/index.d.ts +1 -1
- package/dist/locale/index.js +1 -1
- package/dist/registry-B1ObuP--.d.ts +45 -0
- package/dist/registry-C7OZb0PJ.js +135 -0
- package/dist/syntaxTheme-Bcs1YMF7.d.ts +38 -0
- package/dist/syntaxTheme-ClpWALZX.js +75 -0
- package/dist/types-BKcxXW--.d.ts +114 -0
- package/dist/types-Bt-lSgYX.d.ts +65 -0
- package/dist/{index-B8MbfMwV.d.ts → types-DDAAT1Xd.d.ts} +36 -82
- package/package.json +30 -1
- package/styles/avatar.css +14 -0
- package/styles/badge.css +8 -0
- package/styles/breadcrumbs.css +6 -1
- package/styles/button.css +13 -0
- package/styles/calendar.css +16 -0
- package/styles/card.css +2 -0
- package/styles/carousel.css +120 -0
- package/styles/chat.css +5 -2
- package/styles/dropdown-menu.css +11 -0
- package/styles/heading.css +6 -2
- package/styles/icon.css +38 -8
- package/styles/lightbox.css +144 -0
- package/styles/link.css +5 -0
- package/styles/media-theme.css +51 -0
- package/styles/number-input.css +22 -0
- package/styles/outline.css +124 -0
- package/styles/pagination.css +45 -1
- package/styles/progress-bar.css +4 -0
- package/styles/selector.css +58 -0
- package/styles/tab-list.css +15 -0
- package/styles/text-area.css +17 -0
- package/styles/text-input.css +5 -0
- package/styles/text.css +63 -14
- package/styles/theme.css +29 -0
- package/styles/timer.css +34 -0
- package/styles/toast.css +7 -0
- package/styles/toolbar.css +11 -0
- package/styles.css +6 -0
- package/dist/Avatar-5s3HSrtN.js +0 -136
- package/dist/Badge-Ba0EwsTj.js +0 -19
- package/dist/Calendar-CYhGDT6f.js +0 -277
- package/dist/DateInput-D2ErjXYO.js +0 -250
- package/dist/Icon-5MdZQ18k.js +0 -86
- package/dist/Link-CprjOuTI.js +0 -92
- package/dist/NumberInput-DspJO6z6.js +0 -147
- package/dist/Selector-DlZpQh42.js +0 -325
- package/dist/index-BzqRns96.d.ts +0 -64
- package/dist/index-ZJyk8RtQ.d.ts +0 -68
- package/dist/{CheckboxList-EsIEXjK_.js → CheckboxList-BbCPiend.js} +1 -1
- package/dist/{index-4FM5lQdV.d.ts → index-BUXNRekN.d.ts} +1 -1
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Component, VNodeChild } from "vue";
|
|
2
|
+
//#region src/Icon/types.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Icon sizes are expressed in `rem` so they scale with the root font-size.
|
|
5
|
+
* Values are the px-equivalents at a 16px root: 12, 16, 20, and 24px.
|
|
6
|
+
*/
|
|
7
|
+
type IconSize = 'xsm' | 'sm' | 'md' | 'lg';
|
|
8
|
+
interface IconColorMap {
|
|
9
|
+
accent: true;
|
|
10
|
+
blue: true;
|
|
11
|
+
cyan: true;
|
|
12
|
+
disabled: true;
|
|
13
|
+
error: true;
|
|
14
|
+
gray: true;
|
|
15
|
+
green: true;
|
|
16
|
+
inherit: true;
|
|
17
|
+
orange: true;
|
|
18
|
+
pink: true;
|
|
19
|
+
primary: true;
|
|
20
|
+
purple: true;
|
|
21
|
+
red: true;
|
|
22
|
+
secondary: true;
|
|
23
|
+
success: true;
|
|
24
|
+
teal: true;
|
|
25
|
+
tertiary: true;
|
|
26
|
+
warning: true;
|
|
27
|
+
yellow: true;
|
|
28
|
+
}
|
|
29
|
+
type IconColor = Extract<keyof IconColorMap, string>;
|
|
30
|
+
/**
|
|
31
|
+
* The semantic names of the artwork astryx-vue keeps for its own chrome.
|
|
32
|
+
*
|
|
33
|
+
* A name describes what the icon is for, not one particular drawing, so a theme
|
|
34
|
+
* can replace the artwork with one declaration. Applications never pass these
|
|
35
|
+
* names: the artwork is a library implementation detail, and a `icon` prop or
|
|
36
|
+
* slot takes a CSS icon class or the application's own component instead.
|
|
37
|
+
*/
|
|
38
|
+
type IconName = 'chevronDown' | 'chevronLeft' | 'chevronRight' | 'check' | 'moreHorizontal' | 'copy' | 'calendar' | 'clock' | 'upload' | 'arrowUp' | 'arrowDown' | 'close' | 'funnel' | 'image';
|
|
39
|
+
/**
|
|
40
|
+
* A built-in name, or any other string.
|
|
41
|
+
*
|
|
42
|
+
* The `(string & {})` intersection keeps the built-in names available for
|
|
43
|
+
* autocomplete while allowing keys contributed by a component or application.
|
|
44
|
+
*/
|
|
45
|
+
type ExtendedIconName = IconName | (string & {});
|
|
46
|
+
interface IconProps {
|
|
47
|
+
/**
|
|
48
|
+
* Iconify icon to draw, as `collection:icon`.
|
|
49
|
+
*
|
|
50
|
+
* `carbon:settings` reads the `settings` icon from the Carbon collection.
|
|
51
|
+
* `carbon-settings` is the same icon when that collection is registered.
|
|
52
|
+
* The component does not ship the artwork: install `@iconify-json/carbon`
|
|
53
|
+
* (or another collection) and register it with the `astryxIcons` Vite
|
|
54
|
+
* plugin, or call `addIcon` / `addCollection`.
|
|
55
|
+
*
|
|
56
|
+
* With no `size`, the icon is `1em` square and uses `currentColor`, so it
|
|
57
|
+
* follows the surrounding text and the sized slots on Button, IconButton,
|
|
58
|
+
* and fields.
|
|
59
|
+
*/
|
|
60
|
+
name?: string;
|
|
61
|
+
/**
|
|
62
|
+
* The icon to render. Three forms are accepted:
|
|
63
|
+
*
|
|
64
|
+
* - a string, treated as a CSS icon class you provide — for example an
|
|
65
|
+
* UnoCSS icon such as `'i-carbon-search'`, or your own class. The class
|
|
66
|
+
* paints the inside of the sized box, so a utility that sets
|
|
67
|
+
* `width`/`height: 100%` fills the icon instead of replacing its size;
|
|
68
|
+
* - a name from the library's own chrome, which only the components use;
|
|
69
|
+
* - a component, rendered as it is.
|
|
70
|
+
*
|
|
71
|
+
* Omit it when `name` or the default slot provides the artwork instead.
|
|
72
|
+
* `name` wins when both are set.
|
|
73
|
+
*/
|
|
74
|
+
icon?: ExtendedIconName | Component;
|
|
75
|
+
/**
|
|
76
|
+
* The color of the icon.
|
|
77
|
+
*
|
|
78
|
+
* `inherit` (the default) leaves the icon at the surrounding text color,
|
|
79
|
+
* which is what you want for an icon next to a label. Use a semantic color
|
|
80
|
+
* only when the color itself carries meaning.
|
|
81
|
+
*
|
|
82
|
+
* @default 'inherit'
|
|
83
|
+
*/
|
|
84
|
+
color?: IconColor;
|
|
85
|
+
/**
|
|
86
|
+
* The size of the icon.
|
|
87
|
+
*
|
|
88
|
+
* An explicit value wins. When omitted, a `name` icon stays `1em` so it
|
|
89
|
+
* scales with the text around it. Any other icon uses the nearest default
|
|
90
|
+
* supplied by an owning astryx-vue component, then falls back to `md`.
|
|
91
|
+
*/
|
|
92
|
+
size?: IconSize;
|
|
93
|
+
/**
|
|
94
|
+
* Accessible name for the icon.
|
|
95
|
+
*
|
|
96
|
+
* Set it only when the icon is meaningful on its own, such as a standalone
|
|
97
|
+
* status glyph with no adjacent text. A non-empty `label` renders the icon as
|
|
98
|
+
* `role="img"` with this string as `aria-label`; omitting it (or passing an
|
|
99
|
+
* empty string) keeps the icon `aria-hidden="true"` as decoration.
|
|
100
|
+
*
|
|
101
|
+
* Do not set `label` when an interactive parent such as a button or a link
|
|
102
|
+
* already names the control, or screen readers announce the name twice.
|
|
103
|
+
*/
|
|
104
|
+
label?: string;
|
|
105
|
+
}
|
|
106
|
+
interface IconSlots {
|
|
107
|
+
/**
|
|
108
|
+
* The SVG markup to render. Use it instead of the `icon` prop when the
|
|
109
|
+
* artwork is written inline.
|
|
110
|
+
*/
|
|
111
|
+
default?: () => VNodeChild;
|
|
112
|
+
}
|
|
113
|
+
//#endregion
|
|
114
|
+
export { IconSize as a, IconProps as i, IconColor as n, IconSlots as o, IconName as r, ExtendedIconName as t };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
//#region src/Text/types.d.ts
|
|
2
|
+
type TextType = 'body' | 'large' | 'label' | 'supporting' | 'code' | 'display-1' | 'display-2' | 'display-3';
|
|
3
|
+
type TextSize = 'sm' | 'md' | 'lg' | 'xl';
|
|
4
|
+
type TextColor = 'primary' | 'secondary' | 'accent' | 'disabled' | 'placeholder' | 'inherit';
|
|
5
|
+
type TextWeight = 'regular' | 'normal' | 'medium' | 'semibold' | 'bold';
|
|
6
|
+
type TextWrap = 'wrap' | 'nowrap' | 'balance' | 'pretty';
|
|
7
|
+
type TextWordBreak = 'normal' | 'break-word' | 'break-all';
|
|
8
|
+
type TextDisplay = 'block' | 'inline';
|
|
9
|
+
type TextAs = 'span' | 'p' | 'div' | 'label';
|
|
10
|
+
interface TextProps {
|
|
11
|
+
/**
|
|
12
|
+
* Semantic text type. Determines size, weight, and line-height.
|
|
13
|
+
* @default 'body'
|
|
14
|
+
*/
|
|
15
|
+
type?: TextType;
|
|
16
|
+
/**
|
|
17
|
+
* Explicit font size override.
|
|
18
|
+
*/
|
|
19
|
+
size?: TextSize;
|
|
20
|
+
/**
|
|
21
|
+
* Text color.
|
|
22
|
+
* @default 'primary'
|
|
23
|
+
*/
|
|
24
|
+
color?: TextColor;
|
|
25
|
+
/**
|
|
26
|
+
* Font weight override. `normal` is the same weight as `regular`.
|
|
27
|
+
*/
|
|
28
|
+
weight?: TextWeight;
|
|
29
|
+
/**
|
|
30
|
+
* CSS `text-wrap` behavior.
|
|
31
|
+
*/
|
|
32
|
+
textWrap?: TextWrap;
|
|
33
|
+
/**
|
|
34
|
+
* How long unbroken strings break inside a constrained width.
|
|
35
|
+
*/
|
|
36
|
+
wordBreak?: TextWordBreak;
|
|
37
|
+
/**
|
|
38
|
+
* Draws a line through the text.
|
|
39
|
+
* @default false
|
|
40
|
+
*/
|
|
41
|
+
hasStrikethrough?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Uses tabular figures so digits line up across rows.
|
|
44
|
+
* @default false
|
|
45
|
+
*/
|
|
46
|
+
hasTabularNumbers?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Display type.
|
|
49
|
+
* @default 'inline'
|
|
50
|
+
*/
|
|
51
|
+
display?: TextDisplay;
|
|
52
|
+
/**
|
|
53
|
+
* HTML element to render.
|
|
54
|
+
* @default 'span'
|
|
55
|
+
*/
|
|
56
|
+
as?: TextAs;
|
|
57
|
+
/**
|
|
58
|
+
* Maximum lines before truncation. 0 means no truncation.
|
|
59
|
+
* A positive value forces block layout so the ellipsis has a width.
|
|
60
|
+
* @default 0
|
|
61
|
+
*/
|
|
62
|
+
maxLines?: number;
|
|
63
|
+
}
|
|
64
|
+
//#endregion
|
|
65
|
+
export { TextSize as a, TextWordBreak as c, TextProps as i, TextWrap as l, TextColor as n, TextType as o, TextDisplay as r, TextWeight as s, TextAs as t };
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import { a as ButtonProps } from "./types-WlmsNL1I.js";
|
|
2
|
-
import { c as ItemTarget } from "./types-CAZY4Xua.js";
|
|
3
2
|
import { n as LayerPlacement, t as LayerAlignment } from "./position-DFW5ymAF.js";
|
|
4
|
-
import {
|
|
3
|
+
import { c as ItemTarget } from "./types-CAZY4Xua.js";
|
|
4
|
+
import { Component, VNodeChild } from "vue";
|
|
5
5
|
//#region src/DropdownMenu/types.d.ts
|
|
6
6
|
/** Size of the menu, derived from the trigger button's size. */
|
|
7
7
|
type DropdownMenuSize = 'sm' | 'md' | 'lg';
|
|
8
|
+
/**
|
|
9
|
+
* Where the menu opens.
|
|
10
|
+
*
|
|
11
|
+
* `popover` hangs off the trigger. `bottom-sheet` rises from the bottom edge.
|
|
12
|
+
* `adaptive` uses the sheet only on a compact touch surface.
|
|
13
|
+
*/
|
|
14
|
+
type DropdownMenuPresentation = 'adaptive' | 'bottom-sheet' | 'popover';
|
|
8
15
|
/** Visual variant of one menu row. */
|
|
9
16
|
type DropdownMenuItemVariant = 'default' | 'destructive';
|
|
10
17
|
/**
|
|
@@ -132,6 +139,13 @@ interface DropdownMenuProps {
|
|
|
132
139
|
* @default 'below'
|
|
133
140
|
*/
|
|
134
141
|
placement?: LayerPlacement;
|
|
142
|
+
/**
|
|
143
|
+
* `popover` anchors to the trigger. `bottom-sheet` uses a bottom sheet.
|
|
144
|
+
* `adaptive` chooses the sheet on a compact touch surface and a popover
|
|
145
|
+
* otherwise.
|
|
146
|
+
* @default 'popover'
|
|
147
|
+
*/
|
|
148
|
+
presentation?: DropdownMenuPresentation;
|
|
135
149
|
/**
|
|
136
150
|
* How the menu aligns with the trigger along the placement axis.
|
|
137
151
|
* @default 'start'
|
|
@@ -247,85 +261,25 @@ interface DropdownMenuGroupSlots {
|
|
|
247
261
|
/** Rich content replacing the `title` prop, still used as the group's name. */
|
|
248
262
|
title?: () => VNodeChild;
|
|
249
263
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
+
interface DropdownMenuSubMenuProps {
|
|
265
|
+
/** Row label. */
|
|
266
|
+
label?: string | number;
|
|
267
|
+
/** Icon before the label. A CSS class or a component. */
|
|
268
|
+
icon?: string | Component;
|
|
269
|
+
/** Secondary line under the label. */
|
|
270
|
+
description?: string | number;
|
|
271
|
+
/**
|
|
272
|
+
* Whether the row can open its flyout.
|
|
273
|
+
* @default false
|
|
274
|
+
*/
|
|
275
|
+
isDisabled?: boolean;
|
|
276
|
+
}
|
|
277
|
+
interface DropdownMenuSubMenuSlots {
|
|
278
|
+
/** The rows of the nested menu. */
|
|
279
|
+
default?: () => VNodeChild;
|
|
280
|
+
icon?: () => VNodeChild;
|
|
281
|
+
label?: () => VNodeChild;
|
|
282
|
+
description?: () => VNodeChild;
|
|
264
283
|
}
|
|
265
|
-
/** The surrounding menu, or `undefined` when a row stands alone. */
|
|
266
|
-
declare function useDropdownMenuContext(): DropdownMenuContextValue | undefined;
|
|
267
|
-
//#endregion
|
|
268
|
-
//#region src/DropdownMenu/DropdownMenu.vue.d.ts
|
|
269
|
-
type __VLS_Props = DropdownMenuProps;
|
|
270
|
-
type __VLS_Slots$2 = DropdownMenuSlots;
|
|
271
|
-
type __VLS_ModelProps = {
|
|
272
|
-
'isMenuOpen'?: boolean | undefined;
|
|
273
|
-
};
|
|
274
|
-
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
275
|
-
declare const __VLS_base$2: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
276
|
-
click: () => any;
|
|
277
|
-
openChange: (isOpen: boolean) => any;
|
|
278
|
-
"update:isMenuOpen": (...args: unknown[]) => any;
|
|
279
|
-
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
280
|
-
onClick?: (() => any) | undefined;
|
|
281
|
-
onOpenChange?: ((isOpen: boolean) => any) | undefined;
|
|
282
|
-
"onUpdate:isMenuOpen"?: ((...args: unknown[]) => any) | undefined;
|
|
283
|
-
}>, {
|
|
284
|
-
button: DropdownMenuButtonProps;
|
|
285
|
-
placement: LayerPlacement;
|
|
286
|
-
alignment: LayerAlignment;
|
|
287
|
-
hasChevron: boolean;
|
|
288
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
289
|
-
declare const __VLS_export$3: __VLS_WithSlots$2<typeof __VLS_base$2, __VLS_Slots$2>;
|
|
290
|
-
declare const _default$3: typeof __VLS_export$3;
|
|
291
|
-
type __VLS_WithSlots$2<T, S> = T & {
|
|
292
|
-
new (): {
|
|
293
|
-
$slots: S;
|
|
294
|
-
};
|
|
295
|
-
};
|
|
296
|
-
//#endregion
|
|
297
|
-
//#region src/DropdownMenu/DropdownMenuDivider.vue.d.ts
|
|
298
|
-
declare const __VLS_export$2: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
299
|
-
declare const _default$2: typeof __VLS_export$2;
|
|
300
|
-
//#endregion
|
|
301
|
-
//#region src/DropdownMenu/DropdownMenuGroup.vue.d.ts
|
|
302
|
-
type __VLS_Slots$1 = DropdownMenuGroupSlots;
|
|
303
|
-
declare const __VLS_base$1: import("vue").DefineComponent<DropdownMenuGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DropdownMenuGroupProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
304
|
-
declare const __VLS_export$1: __VLS_WithSlots$1<typeof __VLS_base$1, __VLS_Slots$1>;
|
|
305
|
-
declare const _default$1: typeof __VLS_export$1;
|
|
306
|
-
type __VLS_WithSlots$1<T, S> = T & {
|
|
307
|
-
new (): {
|
|
308
|
-
$slots: S;
|
|
309
|
-
};
|
|
310
|
-
};
|
|
311
|
-
//#endregion
|
|
312
|
-
//#region src/DropdownMenu/DropdownMenuItem.vue.d.ts
|
|
313
|
-
type __VLS_Slots = DropdownMenuItemSlots;
|
|
314
|
-
declare const __VLS_base: import("vue").DefineComponent<DropdownMenuItemProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
315
|
-
click: (event: MouseEvent) => any;
|
|
316
|
-
}, string, import("vue").PublicProps, Readonly<DropdownMenuItemProps> & Readonly<{
|
|
317
|
-
onClick?: ((event: MouseEvent) => any) | undefined;
|
|
318
|
-
}>, {
|
|
319
|
-
isDisabled: boolean;
|
|
320
|
-
variant: DropdownMenuItemVariant;
|
|
321
|
-
hasCloseOnSelect: boolean;
|
|
322
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
323
|
-
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
324
|
-
declare const _default: typeof __VLS_export;
|
|
325
|
-
type __VLS_WithSlots<T, S> = T & {
|
|
326
|
-
new (): {
|
|
327
|
-
$slots: S;
|
|
328
|
-
};
|
|
329
|
-
};
|
|
330
284
|
//#endregion
|
|
331
|
-
export {
|
|
285
|
+
export { DropdownMenuSubMenuProps as _, DropdownMenuGroupSlots as a, DropdownMenuItemProps as c, DropdownMenuOption as d, DropdownMenuPresentation as f, DropdownMenuSlots as g, DropdownMenuSize as h, DropdownMenuGroupProps as i, DropdownMenuItemSlots as l, DropdownMenuSection as m, DropdownMenuDividerData as n, DropdownMenuItemData as o, DropdownMenuProps as p, DropdownMenuEmits as r, DropdownMenuItemEmits as s, DropdownMenuButtonProps as t, DropdownMenuItemVariant as u, DropdownMenuSubMenuSlots as v, DropdownMenuTriggerProps as y };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astryx-vue/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.1
|
|
4
|
+
"version": "0.2.1",
|
|
5
5
|
"description": "Vue components for the unofficial astryx-vue community project.",
|
|
6
6
|
"author": "ShenQingchuan",
|
|
7
7
|
"license": "MIT",
|
|
@@ -44,6 +44,10 @@
|
|
|
44
44
|
"types": "./dist/AvatarGroup/index.d.ts",
|
|
45
45
|
"import": "./dist/AvatarGroup/index.js"
|
|
46
46
|
},
|
|
47
|
+
"./Carousel": {
|
|
48
|
+
"types": "./dist/Carousel/index.d.ts",
|
|
49
|
+
"import": "./dist/Carousel/index.js"
|
|
50
|
+
},
|
|
47
51
|
"./CheckboxList": {
|
|
48
52
|
"types": "./dist/CheckboxList/index.d.ts",
|
|
49
53
|
"import": "./dist/CheckboxList/index.js"
|
|
@@ -80,14 +84,30 @@
|
|
|
80
84
|
"types": "./dist/FormLayout/index.d.ts",
|
|
81
85
|
"import": "./dist/FormLayout/index.js"
|
|
82
86
|
},
|
|
87
|
+
"./Icon": {
|
|
88
|
+
"types": "./dist/Icon/index.d.ts",
|
|
89
|
+
"import": "./dist/Icon/index.js"
|
|
90
|
+
},
|
|
91
|
+
"./icons": {
|
|
92
|
+
"types": "./dist/Icon/plugin.d.ts",
|
|
93
|
+
"import": "./dist/Icon/plugin.js"
|
|
94
|
+
},
|
|
83
95
|
"./Layout": {
|
|
84
96
|
"types": "./dist/Layout/index.d.ts",
|
|
85
97
|
"import": "./dist/Layout/index.js"
|
|
86
98
|
},
|
|
99
|
+
"./Lightbox": {
|
|
100
|
+
"types": "./dist/Lightbox/index.d.ts",
|
|
101
|
+
"import": "./dist/Lightbox/index.js"
|
|
102
|
+
},
|
|
87
103
|
"./MetadataList": {
|
|
88
104
|
"types": "./dist/MetadataList/index.d.ts",
|
|
89
105
|
"import": "./dist/MetadataList/index.js"
|
|
90
106
|
},
|
|
107
|
+
"./Outline": {
|
|
108
|
+
"types": "./dist/Outline/index.d.ts",
|
|
109
|
+
"import": "./dist/Outline/index.js"
|
|
110
|
+
},
|
|
91
111
|
"./RadioList": {
|
|
92
112
|
"types": "./dist/RadioList/index.d.ts",
|
|
93
113
|
"import": "./dist/RadioList/index.js"
|
|
@@ -168,6 +188,10 @@
|
|
|
168
188
|
"types": "./dist/Table/index.d.ts",
|
|
169
189
|
"import": "./dist/Table/index.js"
|
|
170
190
|
},
|
|
191
|
+
"./Theme": {
|
|
192
|
+
"types": "./dist/Theme/index.d.ts",
|
|
193
|
+
"import": "./dist/Theme/index.js"
|
|
194
|
+
},
|
|
171
195
|
"./Thumbnail": {
|
|
172
196
|
"types": "./dist/Thumbnail/index.d.ts",
|
|
173
197
|
"import": "./dist/Thumbnail/index.js"
|
|
@@ -176,6 +200,10 @@
|
|
|
176
200
|
"types": "./dist/TimeInput/index.d.ts",
|
|
177
201
|
"import": "./dist/TimeInput/index.js"
|
|
178
202
|
},
|
|
203
|
+
"./Timer": {
|
|
204
|
+
"types": "./dist/Timer/index.d.ts",
|
|
205
|
+
"import": "./dist/Timer/index.js"
|
|
206
|
+
},
|
|
179
207
|
"./Timestamp": {
|
|
180
208
|
"types": "./dist/Timestamp/index.d.ts",
|
|
181
209
|
"import": "./dist/Timestamp/index.js"
|
|
@@ -437,6 +465,7 @@
|
|
|
437
465
|
"micromark-extension-gfm": "3.0.0"
|
|
438
466
|
},
|
|
439
467
|
"devDependencies": {
|
|
468
|
+
"@types/node": "26.6.4",
|
|
440
469
|
"@vue/compiler-sfc": "3.5.43",
|
|
441
470
|
"tsdown": "0.23.0",
|
|
442
471
|
"typescript": "npm:@typescript/typescript6@6.0.2",
|
package/styles/avatar.css
CHANGED
|
@@ -9,6 +9,20 @@
|
|
|
9
9
|
vertical-align: middle;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
+
.astryx-avatar--interactive {
|
|
13
|
+
padding: 0;
|
|
14
|
+
border: 0;
|
|
15
|
+
background: transparent;
|
|
16
|
+
color: inherit;
|
|
17
|
+
font: inherit;
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.astryx-avatar--interactive:focus-visible {
|
|
22
|
+
outline: 2px solid var(--astryx-color-border-focus, #0074e2);
|
|
23
|
+
outline-offset: 2px;
|
|
24
|
+
}
|
|
25
|
+
|
|
12
26
|
.astryx-avatar--circle {
|
|
13
27
|
border-radius: var(--astryx-radius-full, 9999px);
|
|
14
28
|
}
|
package/styles/badge.css
CHANGED
|
@@ -17,6 +17,14 @@
|
|
|
17
17
|
line-height: var(--astryx-text-supporting-leading, 1.6667);
|
|
18
18
|
vertical-align: middle;
|
|
19
19
|
white-space: nowrap;
|
|
20
|
+
max-width: 100%;
|
|
21
|
+
min-width: 0;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.astryx-badge__label {
|
|
25
|
+
min-width: 0;
|
|
26
|
+
overflow: hidden;
|
|
27
|
+
text-overflow: ellipsis;
|
|
20
28
|
}
|
|
21
29
|
|
|
22
30
|
.astryx-badge[data-variant='neutral'] {
|
package/styles/breadcrumbs.css
CHANGED
|
@@ -68,9 +68,14 @@
|
|
|
68
68
|
text-decoration: none;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
.astryx-breadcrumb-item__icon
|
|
71
|
+
.astryx-breadcrumb-item__icon,
|
|
72
|
+
.astryx-breadcrumb-item__chevron {
|
|
72
73
|
display: inline-flex;
|
|
73
74
|
align-items: center;
|
|
74
75
|
flex-shrink: 0;
|
|
75
76
|
}
|
|
77
|
+
|
|
78
|
+
.astryx-breadcrumb-item__chevron {
|
|
79
|
+
margin-inline-start: var(--astryx-spacing-0-5, 2px);
|
|
80
|
+
}
|
|
76
81
|
}
|
package/styles/button.css
CHANGED
|
@@ -181,6 +181,19 @@
|
|
|
181
181
|
font-size: 20px;
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
+
/* The end slot has no fixed box of its own. A named icon still matches the leading slot. */
|
|
185
|
+
.astryx-button__end > .astryx-icon {
|
|
186
|
+
width: 16px;
|
|
187
|
+
height: 16px;
|
|
188
|
+
font-size: 16px;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.astryx-button[data-size='lg'] .astryx-button__end > .astryx-icon {
|
|
192
|
+
width: 20px;
|
|
193
|
+
height: 20px;
|
|
194
|
+
font-size: 20px;
|
|
195
|
+
}
|
|
196
|
+
|
|
184
197
|
.astryx-button__icon > *,
|
|
185
198
|
.astryx-button__end > * {
|
|
186
199
|
display: block;
|
package/styles/calendar.css
CHANGED
|
@@ -114,6 +114,22 @@
|
|
|
114
114
|
box-shadow: inset 0 0 0 1px var(--astryx-color-border-emphasized, #d4d4d4);
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
+
.astryx-calendar[data-months='2'] {
|
|
118
|
+
display: flex;
|
|
119
|
+
gap: var(--astryx-spacing-4, 16px);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.astryx-calendar[data-months='2'] .astryx-calendar-header {
|
|
123
|
+
display: flex;
|
|
124
|
+
align-items: center;
|
|
125
|
+
justify-content: space-between;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.astryx-calendar-cell.is-in-range {
|
|
129
|
+
background: color-mix(in srgb, light-dark(#1b1b1b, #f1f1f1) 12%, transparent);
|
|
130
|
+
border-radius: 0;
|
|
131
|
+
}
|
|
132
|
+
|
|
117
133
|
.astryx-calendar-cell.is-selected {
|
|
118
134
|
background: light-dark(#1b1b1b, #f1f1f1);
|
|
119
135
|
color: light-dark(#ffffff, #111111);
|
package/styles/card.css
CHANGED
|
@@ -33,6 +33,8 @@
|
|
|
33
33
|
--layout-padding-own-outer-y: initial;
|
|
34
34
|
--layout-padding-outer-x: var(--_card-padding-inline-start);
|
|
35
35
|
--layout-padding-outer-y: var(--_card-padding-block-start);
|
|
36
|
+
--layout-padding-inner-x: var(--_card-padding-inline-start);
|
|
37
|
+
--layout-padding-inner-y: var(--_card-padding-block-start);
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
.astryx-card[data-scrollable='true'] {
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
@layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
|
|
2
|
+
|
|
3
|
+
@layer astryx.components {
|
|
4
|
+
.astryx-carousel {
|
|
5
|
+
position: relative;
|
|
6
|
+
display: flex;
|
|
7
|
+
align-items: center;
|
|
8
|
+
min-width: 0;
|
|
9
|
+
max-width: 100%;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.astryx-carousel__scroller {
|
|
13
|
+
display: flex;
|
|
14
|
+
align-items: center;
|
|
15
|
+
gap: var(--astryx-carousel-gap, var(--astryx-spacing-1, 4px));
|
|
16
|
+
width: 100%;
|
|
17
|
+
min-width: 0;
|
|
18
|
+
padding-inline: var(--astryx-carousel-padding, 0);
|
|
19
|
+
padding-bottom: 1px;
|
|
20
|
+
margin-bottom: -1px;
|
|
21
|
+
overflow-x: auto;
|
|
22
|
+
overflow-y: hidden;
|
|
23
|
+
overscroll-behavior-x: contain;
|
|
24
|
+
scroll-behavior: smooth;
|
|
25
|
+
scroll-padding-inline: var(--astryx-carousel-padding, 0);
|
|
26
|
+
scrollbar-width: none;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.astryx-carousel__scroller::-webkit-scrollbar {
|
|
30
|
+
display: none;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@media (prefers-reduced-motion: reduce) {
|
|
34
|
+
.astryx-carousel__scroller {
|
|
35
|
+
scroll-behavior: auto;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.astryx-carousel__scroller:focus-visible {
|
|
40
|
+
outline: var(--astryx-focus-outline-width, 2px) var(--astryx-focus-outline-style, solid) var(--astryx-focus-outline-color, var(--astryx-color-accent, #0074e2));
|
|
41
|
+
outline-offset: var(--astryx-focus-outline-offset, 3px);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.astryx-carousel__scroller[data-snap] {
|
|
45
|
+
scroll-snap-type: x mandatory;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.astryx-carousel__scroller[data-fade='start'] {
|
|
49
|
+
mask-image: linear-gradient(to right, transparent 0%, rgb(0 0 0 / 30%) 2px, #000 var(--astryx-spacing-1, 4px));
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.astryx-carousel__scroller[data-fade='end'] {
|
|
53
|
+
mask-image: linear-gradient(to left, transparent 0%, rgb(0 0 0 / 30%) 2px, #000 var(--astryx-spacing-1, 4px));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.astryx-carousel__scroller[data-fade='both'] {
|
|
57
|
+
mask-image: linear-gradient(to right, transparent 0%, rgb(0 0 0 / 30%) 2px, #000 var(--astryx-spacing-1, 4px), #000 calc(100% - var(--astryx-spacing-1, 4px)), rgb(0 0 0 / 30%) calc(100% - 2px), transparent 100%);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
[dir='rtl'] .astryx-carousel__scroller[data-fade='start'] {
|
|
61
|
+
mask-image: linear-gradient(to left, transparent 0%, rgb(0 0 0 / 30%) 2px, #000 var(--astryx-spacing-1, 4px));
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
[dir='rtl'] .astryx-carousel__scroller[data-fade='end'] {
|
|
65
|
+
mask-image: linear-gradient(to right, transparent 0%, rgb(0 0 0 / 30%) 2px, #000 var(--astryx-spacing-1, 4px));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.astryx-carousel__item {
|
|
69
|
+
display: flex;
|
|
70
|
+
flex-shrink: 0;
|
|
71
|
+
scroll-snap-align: start;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.astryx-carousel__controls {
|
|
75
|
+
position: absolute;
|
|
76
|
+
inset: 0;
|
|
77
|
+
display: flex;
|
|
78
|
+
align-items: center;
|
|
79
|
+
justify-content: space-between;
|
|
80
|
+
pointer-events: none;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.astryx-carousel__pill {
|
|
84
|
+
display: flex;
|
|
85
|
+
align-items: center;
|
|
86
|
+
justify-content: center;
|
|
87
|
+
border-radius: var(--astryx-radius-full, 9999px);
|
|
88
|
+
background-color: var(--astryx-color-background-popover, #fff);
|
|
89
|
+
box-shadow: var(--astryx-shadow-med, 0 2px 4px rgb(0 0 0 / 8%), 0 4px 12px rgb(0 0 0 / 10%));
|
|
90
|
+
pointer-events: auto;
|
|
91
|
+
opacity: 1;
|
|
92
|
+
transition: opacity var(--astryx-duration-fast, 125ms) var(--astryx-ease-standard, cubic-bezier(0.24, 1, 0.4, 1));
|
|
93
|
+
--astryx-button-radius: var(--astryx-radius-full, 9999px);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.astryx-carousel__pill--start {
|
|
97
|
+
transform: translateX(-50%);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.astryx-carousel__pill--end {
|
|
101
|
+
transform: translateX(50%);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
[dir='rtl'] .astryx-carousel__pill--start {
|
|
105
|
+
transform: translateX(50%);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
[dir='rtl'] .astryx-carousel__pill--end {
|
|
109
|
+
transform: translateX(-50%);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.astryx-carousel__pill[data-hidden] {
|
|
113
|
+
opacity: 0;
|
|
114
|
+
pointer-events: none;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
[dir='rtl'] .astryx-carousel__pill .astryx-icon {
|
|
118
|
+
transform: scaleX(-1);
|
|
119
|
+
}
|
|
120
|
+
}
|
package/styles/chat.css
CHANGED
|
@@ -296,7 +296,7 @@
|
|
|
296
296
|
.astryx-chat-message__metadata {
|
|
297
297
|
box-sizing: border-box;
|
|
298
298
|
max-width: min(100%, max(80%, 280px));
|
|
299
|
-
min-width:
|
|
299
|
+
min-width: min(100%, 280px);
|
|
300
300
|
}
|
|
301
301
|
|
|
302
302
|
.astryx-chat-message-bubble__frame {
|
|
@@ -306,7 +306,10 @@
|
|
|
306
306
|
box-sizing: border-box;
|
|
307
307
|
width: fit-content;
|
|
308
308
|
max-width: min(100%, max(80%, 280px));
|
|
309
|
-
min-width: 0
|
|
309
|
+
/* fit-content with min-width: 0 collapses to a few characters when the
|
|
310
|
+
parent's width is cyclic. 280px is the original floor; cap it at the
|
|
311
|
+
column so a narrow thread wraps the text instead of overflowing. */
|
|
312
|
+
min-width: min(100%, 280px);
|
|
310
313
|
}
|
|
311
314
|
|
|
312
315
|
/* Same column gap as the original bubble stack. Metadata’s -6px / +4px
|
package/styles/dropdown-menu.css
CHANGED
|
@@ -20,6 +20,17 @@
|
|
|
20
20
|
);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
.astryx-dropdown-menu.is-sheet {
|
|
24
|
+
position: static;
|
|
25
|
+
top: auto;
|
|
26
|
+
left: auto;
|
|
27
|
+
width: 100%;
|
|
28
|
+
max-width: none;
|
|
29
|
+
background: transparent;
|
|
30
|
+
box-shadow: none;
|
|
31
|
+
animation: none;
|
|
32
|
+
}
|
|
33
|
+
|
|
23
34
|
.astryx-dropdown-menu {
|
|
24
35
|
box-sizing: border-box;
|
|
25
36
|
position: fixed;
|