@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
package/dist/Table/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { C as paginateData, D as sortRows, E as resolveColumnWidths, S as generateColumns, T as proportional, _ as useTableColumnSettings, a as _sfc_main$3, b as capitalize, c as _sfc_main, d as useTableSelection, f as useTableSelectionState, g as useTableFiltering, h as useTableFilterState, i as _sfc_main$4, l as useTableSortable, m as applyTableFilters, n as _sfc_main$6, o as _sfc_main$2, p as useTablePagination, r as _sfc_main$5, s as _sfc_main$1, t as _sfc_main$7, u as useTableSortableState, v as useTableColumnSettingsState, w as pixel, x as cellText, y as useTableColumnResize } from "../Table-
|
|
1
|
+
import { C as paginateData, D as sortRows, E as resolveColumnWidths, S as generateColumns, T as proportional, _ as useTableColumnSettings, a as _sfc_main$3, b as capitalize, c as _sfc_main, d as useTableSelection, f as useTableSelectionState, g as useTableFiltering, h as useTableFilterState, i as _sfc_main$4, l as useTableSortable, m as applyTableFilters, n as _sfc_main$6, o as _sfc_main$2, p as useTablePagination, r as _sfc_main$5, s as _sfc_main$1, t as _sfc_main$7, u as useTableSortableState, v as useTableColumnSettingsState, w as pixel, x as cellText, y as useTableColumnResize } from "../Table-DwehtMap.js";
|
|
2
2
|
export { _sfc_main as Table, _sfc_main$1 as TableBody, _sfc_main$2 as TableCell, _sfc_main$3 as TableFooter, _sfc_main$4 as TableHeader, _sfc_main$5 as TableHeaderCell, _sfc_main$6 as TableRow, _sfc_main$7 as TableSelectionToolbar, applyTableFilters, capitalize, cellText, generateColumns, paginateData, paginateData as paginateTableData, pixel, proportional, resolveColumnWidths, sortRows, useTableColumnResize, useTableColumnSettings, useTableColumnSettingsState, useTableFilterState, useTableFiltering, useTablePagination, useTableSelection, useTableSelectionState, useTableSortable, useTableSortableState };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as _sfc_main$10 } from "./Button-DrqeomlE.js";
|
|
2
|
-
import { a as useAstryxMessages } from "./context-
|
|
2
|
+
import { a as useAstryxMessages } from "./context-DzcK4T_C.js";
|
|
3
3
|
import { t as _sfc_main$11 } from "./IconButton-BNQuz9W_.js";
|
|
4
|
-
import { t as _sfc_main$12 } from "./Icon-
|
|
4
|
+
import { t as _sfc_main$12 } from "./Icon-Bku25g_K.js";
|
|
5
5
|
import { t as _sfc_main$13 } from "./CheckboxInput-CMsEE1_4.js";
|
|
6
6
|
import { t as _sfc_main$14 } from "./Popover-Crhk9PNP.js";
|
|
7
|
-
import { t as _sfc_main$15 } from "./Pagination-
|
|
8
|
-
import { t as _sfc_main$16 } from "./Selector-
|
|
7
|
+
import { t as _sfc_main$15 } from "./Pagination-BpGXPmc7.js";
|
|
8
|
+
import { t as _sfc_main$16 } from "./Selector-DkJOLZSR.js";
|
|
9
9
|
import { t as _sfc_main$17 } from "./TextInput-BasnjVvy.js";
|
|
10
10
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, h, normalizeClass, normalizeStyle, openBlock, ref, renderList, renderSlot, toDisplayString, toValue, unref, watch, withCtx } from "vue";
|
|
11
11
|
import "../styles/table.css";
|
package/dist/Text/index.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import { a as
|
|
2
|
-
|
|
1
|
+
import { a as TextSize, c as TextWordBreak, i as TextProps, l as TextWrap, n as TextColor, o as TextType, r as TextDisplay, s as TextWeight, t as TextAs } from "../types-Bt-lSgYX.js";
|
|
2
|
+
import { t as _default } from "../index-Cm_TiLXU.js";
|
|
3
|
+
export { _default as Text, type TextAs, type TextColor, type TextDisplay, type TextProps, type TextSize, type TextType, type TextWeight, type TextWordBreak, type TextWrap };
|
package/dist/Text/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as _sfc_main } from "../Text-
|
|
1
|
+
import { t as _sfc_main } from "../Text-BHVghsWo.js";
|
|
2
2
|
export { _sfc_main as Text };
|
|
@@ -8,19 +8,29 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
8
8
|
size: {},
|
|
9
9
|
color: { default: "primary" },
|
|
10
10
|
weight: {},
|
|
11
|
+
textWrap: {},
|
|
12
|
+
wordBreak: {},
|
|
13
|
+
hasStrikethrough: { type: Boolean },
|
|
14
|
+
hasTabularNumbers: { type: Boolean },
|
|
11
15
|
display: { default: "inline" },
|
|
12
16
|
as: { default: "span" },
|
|
13
17
|
maxLines: { default: 0 }
|
|
14
18
|
},
|
|
15
19
|
setup(__props) {
|
|
16
20
|
const props = __props;
|
|
21
|
+
const weight = computed(() => props.weight === "normal" ? "regular" : props.weight);
|
|
22
|
+
const isBlock = computed(() => props.display === "block" || props.maxLines > 0);
|
|
17
23
|
const classes = computed(() => [
|
|
18
24
|
"astryx-text",
|
|
19
25
|
`astryx-text--type-${props.type}`,
|
|
20
26
|
props.size && `astryx-text--size-${props.size}`,
|
|
21
27
|
`astryx-text--color-${props.color}`,
|
|
22
|
-
|
|
23
|
-
props.
|
|
28
|
+
weight.value && `astryx-text--weight-${weight.value}`,
|
|
29
|
+
props.textWrap && `astryx-text--wrap-${props.textWrap}`,
|
|
30
|
+
props.wordBreak && `astryx-text--word-${props.wordBreak}`,
|
|
31
|
+
props.hasStrikethrough && "astryx-text--strike",
|
|
32
|
+
props.hasTabularNumbers && "astryx-text--tabular",
|
|
33
|
+
isBlock.value && "astryx-text--block",
|
|
24
34
|
props.maxLines === 1 && "astryx-text--truncate-single",
|
|
25
35
|
props.maxLines > 1 && "astryx-text--truncate-multi"
|
|
26
36
|
]);
|
package/dist/TextArea/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Ct as TextAreaSize, Dt as TextAreaWrap, Et as TextAreaStatusType, St as TextAreaResize, Tt as TextAreaStatus, _t as _default, bt as TextAreaEmits, vt as TextAreaChangeAction, wt as TextAreaSlots, xt as TextAreaProps, yt as TextAreaChangeEvent } from "../index-
|
|
1
|
+
import { Ct as TextAreaSize, Dt as TextAreaWrap, Et as TextAreaStatusType, St as TextAreaResize, Tt as TextAreaStatus, _t as _default, bt as TextAreaEmits, vt as TextAreaChangeAction, wt as TextAreaSlots, xt as TextAreaProps, yt as TextAreaChangeEvent } from "../index-DeOftUMq.js";
|
|
2
2
|
export { _default as TextArea, type TextAreaChangeAction, type TextAreaChangeEvent, type TextAreaEmits, type TextAreaProps, type TextAreaResize, type TextAreaSize, type TextAreaSlots, type TextAreaStatus, type TextAreaStatusType, type TextAreaWrap };
|
package/dist/TextArea/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as _sfc_main } from "../TextArea-
|
|
1
|
+
import { t as _sfc_main } from "../TextArea-CPwSytdO.js";
|
|
2
2
|
export { _sfc_main as TextArea };
|
|
@@ -93,8 +93,9 @@ const _hoisted_3 = [
|
|
|
93
93
|
"aria-describedby",
|
|
94
94
|
"data-autofocus"
|
|
95
95
|
];
|
|
96
|
-
const _hoisted_4 =
|
|
97
|
-
|
|
96
|
+
const _hoisted_4 = ["data-over"];
|
|
97
|
+
const _hoisted_5 = {
|
|
98
|
+
key: 2,
|
|
98
99
|
class: "astryx-text-area-end"
|
|
99
100
|
};
|
|
100
101
|
const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
@@ -314,9 +315,14 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
314
315
|
onFocus: _cache[1] || (_cache[1] = (...args) => unref(disabledTooltip).onTooltipPointerEnter && unref(disabledTooltip).onTooltipPointerEnter(...args)),
|
|
315
316
|
onBlur: _cache[2] || (_cache[2] = (...args) => unref(disabledTooltip).onBlur && unref(disabledTooltip).onBlur(...args))
|
|
316
317
|
}), null, 16, _hoisted_3),
|
|
317
|
-
|
|
318
|
+
__props.maxlength != null ? (openBlock(), createElementBlock("span", {
|
|
319
|
+
key: 1,
|
|
320
|
+
class: "astryx-text-area-count",
|
|
321
|
+
"data-over": unref(action).value.value.length > Number(__props.maxlength) || void 0
|
|
322
|
+
}, toDisplayString(unref(action).value.value.length) + " / " + toDisplayString(__props.maxlength), 9, _hoisted_4)) : createCommentVNode("v-if", true),
|
|
323
|
+
_ctx.$slots.end ? (openBlock(), createElementBlock("span", _hoisted_5, [renderSlot(_ctx.$slots, "end")])) : createCommentVNode("v-if", true),
|
|
318
324
|
__props.hasClear && unref(action).value.value && !__props.isDisabled && !__props.isReadOnly ? (openBlock(), createBlock(_sfc_main$5, {
|
|
319
|
-
key:
|
|
325
|
+
key: 3,
|
|
320
326
|
class: "astryx-text-area-clear-button",
|
|
321
327
|
variant: "ghost",
|
|
322
328
|
size: "sm",
|
|
@@ -327,12 +333,12 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
327
333
|
_: 1
|
|
328
334
|
}, 8, ["label"])) : createCommentVNode("v-if", true),
|
|
329
335
|
busy.value ? (openBlock(), createBlock(_sfc_main$2, {
|
|
330
|
-
key:
|
|
336
|
+
key: 4,
|
|
331
337
|
class: "astryx-text-area-spinner",
|
|
332
338
|
label: __props.loadingLabel
|
|
333
339
|
}, null, 8, ["label"])) : createCommentVNode("v-if", true),
|
|
334
340
|
__props.status?.message && __props.statusVariant === "tooltip" ? (openBlock(), createBlock(_sfc_main$6, {
|
|
335
|
-
key:
|
|
341
|
+
key: 5,
|
|
336
342
|
text: __props.status.message,
|
|
337
343
|
type: __props.status.type
|
|
338
344
|
}, null, 8, ["text", "type"])) : createCommentVNode("v-if", true)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ct as TextInputChangeAction, dt as TextInputProps, ft as TextInputSize, gt as TextInputType, ht as TextInputStatusType, lt as TextInputChangeEvent, mt as TextInputStatus, pt as TextInputSlots, st as _default, ut as TextInputEmits } from "../index-
|
|
1
|
+
import { ct as TextInputChangeAction, dt as TextInputProps, ft as TextInputSize, gt as TextInputType, ht as TextInputStatusType, lt as TextInputChangeEvent, mt as TextInputStatus, pt as TextInputSlots, st as _default, ut as TextInputEmits } from "../index-DeOftUMq.js";
|
|
2
2
|
export { _default as TextInput, type TextInputChangeAction, type TextInputChangeEvent, type TextInputEmits, type TextInputProps, type TextInputSize, type TextInputSlots, type TextInputStatus, type TextInputStatusType, type TextInputType };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { _ as ThemeSurfaceInput, a as _default$1, c as isDefinedTheme, d as DefineThemeInput, f as MediaThemeMode, g as ThemeProps, h as ThemeMode, i as useMediaTheme, l as neutralTheme, m as ThemeDefinition, n as useTheme, o as _default, p as MediaThemeProps, r as UseMediaThemeReturn, s as defineTheme, t as UseThemeReturn, u as normalizeTokenName, v as ThemeTokenValue, y as ThemeTokens } from "../index-CRizexSC.js";
|
|
2
|
+
export { type DefineThemeInput, _default as MediaTheme, type MediaThemeMode, type MediaThemeProps, _default$1 as Theme, type ThemeDefinition, type ThemeMode, type ThemeProps, type ThemeSurfaceInput, type ThemeTokenValue, type ThemeTokens, type UseMediaThemeReturn, type UseThemeReturn, defineTheme, isDefinedTheme, neutralTheme, normalizeTokenName, useMediaTheme, useTheme };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as defineTheme, c as normalizeTokenName, i as _sfc_main, n as useMediaTheme, o as isDefinedTheme, r as _sfc_main$1, s as neutralTheme, t as useTheme } from "../Theme-BuUiiJNr.js";
|
|
2
|
+
export { _sfc_main as MediaTheme, _sfc_main$1 as Theme, defineTheme, isDefinedTheme, neutralTheme, normalizeTokenName, useMediaTheme, useTheme };
|
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
import { t as useMediaQuery } from "./useMediaQuery-GMmgp28-.js";
|
|
2
|
+
import { i as syntaxThemeStyle } from "./syntaxTheme-ClpWALZX.js";
|
|
3
|
+
import { a as resolveLightDark, i as readColorMode, n as themeContextKey, o as syntaxThemeKey, r as themeNestingKey, t as mediaThemeKey } from "./context-O2Vb8cJl.js";
|
|
4
|
+
import { computed, createElementBlock, defineComponent, inject, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, openBlock, provide, ref, renderSlot, unref, useAttrs, useTemplateRef, watch } from "vue";
|
|
5
|
+
import "../styles/media-theme.css";
|
|
6
|
+
import "../styles/theme.css";
|
|
7
|
+
//#region src/Theme/defineTheme.ts
|
|
8
|
+
const THEME_NAME = /^[a-z0-9][a-z0-9-]*$/i;
|
|
9
|
+
const UNSAFE_TOKEN = /[;{}<>\n\r]/;
|
|
10
|
+
function isDefinedTheme(value) {
|
|
11
|
+
return !!value && typeof value === "object" && value.__astryxTheme === true;
|
|
12
|
+
}
|
|
13
|
+
/** Accept `--color-accent`, `--astryx-color-accent`, or `color-accent`. */
|
|
14
|
+
function normalizeTokenName(name) {
|
|
15
|
+
const trimmed = name.trim();
|
|
16
|
+
if (trimmed.startsWith("--astryx-")) return trimmed;
|
|
17
|
+
if (trimmed.startsWith("--")) return `--astryx-${trimmed.slice(2)}`;
|
|
18
|
+
return `--astryx-${trimmed}`;
|
|
19
|
+
}
|
|
20
|
+
function assertTokenValue(value, name) {
|
|
21
|
+
if (UNSAFE_TOKEN.test(value)) throw new Error(`Theme token ${name} has an unsupported value.`);
|
|
22
|
+
}
|
|
23
|
+
function isTokenPair(value) {
|
|
24
|
+
return Array.isArray(value);
|
|
25
|
+
}
|
|
26
|
+
function resolveTokenMap(tokens) {
|
|
27
|
+
const resolved = {};
|
|
28
|
+
if (!tokens) return resolved;
|
|
29
|
+
for (const [name, value] of Object.entries(tokens)) {
|
|
30
|
+
if (value == null) continue;
|
|
31
|
+
const key = normalizeTokenName(name);
|
|
32
|
+
if (isTokenPair(value)) {
|
|
33
|
+
const [light, dark] = value;
|
|
34
|
+
assertTokenValue(light, key);
|
|
35
|
+
assertTokenValue(dark, key);
|
|
36
|
+
resolved[key] = `light-dark(${light}, ${dark})`;
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
assertTokenValue(value, key);
|
|
40
|
+
resolved[key] = value;
|
|
41
|
+
}
|
|
42
|
+
return resolved;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Create a theme object that `Theme` can apply to a subtree.
|
|
46
|
+
*
|
|
47
|
+
* Token names are the upstream names (`--color-accent`) or this package's
|
|
48
|
+
* prefixed names (`--astryx-color-accent`). A `[light, dark]` tuple becomes
|
|
49
|
+
* `light-dark()`.
|
|
50
|
+
*/
|
|
51
|
+
function defineTheme(input) {
|
|
52
|
+
if (!THEME_NAME.test(input.name)) throw new Error(`Theme name "${input.name}" must use letters, numbers, and hyphens.`);
|
|
53
|
+
if (input.extends != null && !isDefinedTheme(input.extends)) throw new Error("defineTheme extends must be a theme returned by defineTheme().");
|
|
54
|
+
const base = input.extends;
|
|
55
|
+
return {
|
|
56
|
+
__astryxTheme: true,
|
|
57
|
+
name: input.name,
|
|
58
|
+
tokens: {
|
|
59
|
+
...base?.tokens,
|
|
60
|
+
...resolveTokenMap(input.tokens)
|
|
61
|
+
},
|
|
62
|
+
onDark: {
|
|
63
|
+
...base?.onDark,
|
|
64
|
+
...resolveTokenMap(input.onDark?.tokens)
|
|
65
|
+
},
|
|
66
|
+
onLight: {
|
|
67
|
+
...base?.onLight,
|
|
68
|
+
...resolveTokenMap(input.onLight?.tokens)
|
|
69
|
+
},
|
|
70
|
+
syntax: input.syntax ?? base?.syntax
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/** Neutral, with no token overrides. Colors come from `@astryx-vue/themes/neutral.css`. */
|
|
74
|
+
const neutralTheme = defineTheme({ name: "neutral" });
|
|
75
|
+
//#endregion
|
|
76
|
+
//#region src/Theme/themeStyle.ts
|
|
77
|
+
/**
|
|
78
|
+
* Aliases declared on `:root` are substituted there. A later override of the
|
|
79
|
+
* semantic token does not flow through that already-substituted value, so the
|
|
80
|
+
* alias has to be written again on the element that sets the semantic token.
|
|
81
|
+
*
|
|
82
|
+
* Card background and border are not aliases: Neutral paints them with its own
|
|
83
|
+
* stops, and they follow the semantic token only when a theme sets one.
|
|
84
|
+
*/
|
|
85
|
+
const COMPONENT_BRIDGES = {
|
|
86
|
+
"--astryx-color-text-primary": [
|
|
87
|
+
"--astryx-text-foreground",
|
|
88
|
+
"--astryx-heading-foreground",
|
|
89
|
+
"--astryx-button-secondary-foreground",
|
|
90
|
+
"--astryx-button-ghost-foreground"
|
|
91
|
+
],
|
|
92
|
+
"--astryx-color-text-secondary": ["--astryx-text-supporting-foreground"],
|
|
93
|
+
"--astryx-color-accent": ["--astryx-button-primary-background", "--astryx-button-focus"],
|
|
94
|
+
"--astryx-color-on-accent": ["--astryx-button-primary-foreground"],
|
|
95
|
+
"--astryx-color-neutral": ["--astryx-button-secondary-background"],
|
|
96
|
+
"--astryx-color-icon-primary": ["--astryx-icon-primary-foreground"],
|
|
97
|
+
"--astryx-color-background-card": ["--astryx-card-background"],
|
|
98
|
+
"--astryx-color-background-muted": ["--astryx-card-muted-background"],
|
|
99
|
+
"--astryx-color-border": ["--astryx-card-border"]
|
|
100
|
+
};
|
|
101
|
+
/** Surfaces keep their own button treatment. Text aliases still follow onDark and onLight. */
|
|
102
|
+
const SURFACE_BRIDGES = {
|
|
103
|
+
"--astryx-color-text-primary": ["--astryx-text-foreground", "--astryx-heading-foreground"],
|
|
104
|
+
"--astryx-color-text-secondary": ["--astryx-text-supporting-foreground"],
|
|
105
|
+
"--astryx-color-background-card": ["--astryx-card-background"],
|
|
106
|
+
"--astryx-color-background-muted": ["--astryx-card-muted-background"],
|
|
107
|
+
"--astryx-color-border": ["--astryx-card-border"]
|
|
108
|
+
};
|
|
109
|
+
function bridgeComponentTokens(tokens, bridges = COMPONENT_BRIDGES) {
|
|
110
|
+
const style = { ...tokens };
|
|
111
|
+
for (const [source, targets] of Object.entries(bridges)) {
|
|
112
|
+
const value = tokens[source];
|
|
113
|
+
if (!value) continue;
|
|
114
|
+
for (const target of targets) style[target] = value;
|
|
115
|
+
}
|
|
116
|
+
return style;
|
|
117
|
+
}
|
|
118
|
+
/** Token bridges for an inverted surface. Button colors stay with MediaTheme. */
|
|
119
|
+
function bridgeSurfaceTokens(tokens) {
|
|
120
|
+
return bridgeComponentTokens(tokens, SURFACE_BRIDGES);
|
|
121
|
+
}
|
|
122
|
+
/** Inline custom properties for a theme subtree, including syntax colors. */
|
|
123
|
+
function themeStyle(theme) {
|
|
124
|
+
const style = bridgeComponentTokens(theme.tokens);
|
|
125
|
+
if (theme.syntax) Object.assign(style, syntaxThemeStyle(theme.syntax));
|
|
126
|
+
return style;
|
|
127
|
+
}
|
|
128
|
+
//#endregion
|
|
129
|
+
//#region src/Theme/contrast.ts
|
|
130
|
+
const HEX = /^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
|
|
131
|
+
const RGB = /^rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)(?:[,\s/]+([\d.]+)(%)?)?\s*\)$/i;
|
|
132
|
+
function parseColor(input) {
|
|
133
|
+
const value = input.trim().toLowerCase();
|
|
134
|
+
if (value === "transparent") return {
|
|
135
|
+
r: 0,
|
|
136
|
+
g: 0,
|
|
137
|
+
b: 0,
|
|
138
|
+
a: 0
|
|
139
|
+
};
|
|
140
|
+
const hex = HEX.exec(value);
|
|
141
|
+
if (hex?.[1]) {
|
|
142
|
+
const raw = hex[1];
|
|
143
|
+
const expanded = raw.length === 3 ? raw.split("").map((part) => part + part).join("") : raw;
|
|
144
|
+
const channels = expanded.length === 6 ? `${expanded}ff` : expanded;
|
|
145
|
+
return {
|
|
146
|
+
r: Number.parseInt(channels.slice(0, 2), 16),
|
|
147
|
+
g: Number.parseInt(channels.slice(2, 4), 16),
|
|
148
|
+
b: Number.parseInt(channels.slice(4, 6), 16),
|
|
149
|
+
a: Number.parseInt(channels.slice(6, 8), 16) / 255
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
const rgb = RGB.exec(value);
|
|
153
|
+
if (!rgb) return null;
|
|
154
|
+
const alpha = rgb[4] == null ? 1 : rgb[5] === "%" ? Number.parseFloat(rgb[4]) / 100 : Number.parseFloat(rgb[4]);
|
|
155
|
+
return {
|
|
156
|
+
r: Number.parseFloat(rgb[1] ?? "0"),
|
|
157
|
+
g: Number.parseFloat(rgb[2] ?? "0"),
|
|
158
|
+
b: Number.parseFloat(rgb[3] ?? "0"),
|
|
159
|
+
a: alpha
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
function channel(value) {
|
|
163
|
+
const scaled = value / 255;
|
|
164
|
+
return scaled <= .04045 ? scaled / 12.92 : ((scaled + .055) / 1.055) ** 2.4;
|
|
165
|
+
}
|
|
166
|
+
function relativeLuminance(color) {
|
|
167
|
+
return .2126 * channel(color.r) + .7152 * channel(color.g) + .0722 * channel(color.b);
|
|
168
|
+
}
|
|
169
|
+
/** WCAG contrast ratio. 1 is no contrast. */
|
|
170
|
+
function contrastRatio(foreground, background) {
|
|
171
|
+
const first = relativeLuminance(foreground);
|
|
172
|
+
const second = relativeLuminance(background);
|
|
173
|
+
const lighter = Math.max(first, second);
|
|
174
|
+
const darker = Math.min(first, second);
|
|
175
|
+
return (lighter + .05) / (darker + .05);
|
|
176
|
+
}
|
|
177
|
+
const ON_DARK = {
|
|
178
|
+
r: 255,
|
|
179
|
+
g: 255,
|
|
180
|
+
b: 255,
|
|
181
|
+
a: 1
|
|
182
|
+
};
|
|
183
|
+
const ON_LIGHT = {
|
|
184
|
+
r: 23,
|
|
185
|
+
g: 23,
|
|
186
|
+
b: 23,
|
|
187
|
+
a: 1
|
|
188
|
+
};
|
|
189
|
+
/**
|
|
190
|
+
* Choose a media surface from the painted background.
|
|
191
|
+
*
|
|
192
|
+
* `off` means the ambient text already reads on that background at 3:1, so no
|
|
193
|
+
* inverted context is needed. `null` means the background is too transparent
|
|
194
|
+
* to judge.
|
|
195
|
+
*/
|
|
196
|
+
function pickMediaMode(background, ambientText) {
|
|
197
|
+
if (background.a < .2) return null;
|
|
198
|
+
if (contrastRatio(ambientText, background) >= 3) return "off";
|
|
199
|
+
return contrastRatio(ON_DARK, background) >= contrastRatio(ON_LIGHT, background) ? "dark" : "light";
|
|
200
|
+
}
|
|
201
|
+
//#endregion
|
|
202
|
+
//#region src/Theme/useAutoMediaMode.ts
|
|
203
|
+
function readPaintedBackground(start) {
|
|
204
|
+
let current = start;
|
|
205
|
+
for (let depth = 0; current && depth < 6; depth += 1) {
|
|
206
|
+
const style = getComputedStyle(current);
|
|
207
|
+
const background = parseColor(style.backgroundColor);
|
|
208
|
+
if (background && background.a >= .2) return {
|
|
209
|
+
background,
|
|
210
|
+
ambient: parseColor(style.color) ?? {
|
|
211
|
+
r: 23,
|
|
212
|
+
g: 23,
|
|
213
|
+
b: 23,
|
|
214
|
+
a: 1
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
current = current.parentElement;
|
|
218
|
+
}
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Measure the element that actually paints behind a `display: contents` media
|
|
223
|
+
* theme. Returns `null` when the surface cannot be read.
|
|
224
|
+
*/
|
|
225
|
+
function useAutoMediaMode(element, enabled) {
|
|
226
|
+
const detected = ref(null);
|
|
227
|
+
function measure() {
|
|
228
|
+
if (!enabled.value || typeof getComputedStyle !== "function") {
|
|
229
|
+
detected.value = null;
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
const parent = element.value?.parentElement;
|
|
233
|
+
if (!parent) {
|
|
234
|
+
detected.value = null;
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
const painted = readPaintedBackground(parent);
|
|
238
|
+
detected.value = painted ? pickMediaMode(painted.background, painted.ambient) : null;
|
|
239
|
+
}
|
|
240
|
+
onMounted(measure);
|
|
241
|
+
watch(enabled, measure);
|
|
242
|
+
return detected;
|
|
243
|
+
}
|
|
244
|
+
//#endregion
|
|
245
|
+
//#region src/Theme/MediaTheme.vue
|
|
246
|
+
const _hoisted_1$1 = ["data-astryx-media"];
|
|
247
|
+
const _sfc_main$1 = /*@__PURE__*/ defineComponent({
|
|
248
|
+
name: "AstryxMediaTheme",
|
|
249
|
+
inheritAttrs: false,
|
|
250
|
+
__name: "MediaTheme",
|
|
251
|
+
props: {
|
|
252
|
+
mode: {},
|
|
253
|
+
fallback: { default: "dark" }
|
|
254
|
+
},
|
|
255
|
+
setup(__props, { expose: __expose }) {
|
|
256
|
+
const props = __props;
|
|
257
|
+
const attrs = useAttrs();
|
|
258
|
+
const root = useTemplateRef("root");
|
|
259
|
+
const theme = inject(themeContextKey, null);
|
|
260
|
+
const detected = useAutoMediaMode(root, computed(() => props.mode === "auto"));
|
|
261
|
+
const resolved = computed(() => {
|
|
262
|
+
if (props.mode === "off") return "off";
|
|
263
|
+
if (props.mode === "auto") return detected.value ?? props.fallback;
|
|
264
|
+
return props.mode;
|
|
265
|
+
});
|
|
266
|
+
provide(mediaThemeKey, resolved);
|
|
267
|
+
const rootStyle = computed(() => {
|
|
268
|
+
const surface = resolved.value === "dark" ? theme?.value.theme.onDark : resolved.value === "light" ? theme?.value.theme.onLight : void 0;
|
|
269
|
+
if (!surface) return {};
|
|
270
|
+
return bridgeSurfaceTokens(surface);
|
|
271
|
+
});
|
|
272
|
+
__expose({ element: root });
|
|
273
|
+
return (_ctx, _cache) => {
|
|
274
|
+
return openBlock(), createElementBlock("div", {
|
|
275
|
+
ref_key: "root",
|
|
276
|
+
ref: root,
|
|
277
|
+
class: normalizeClass(["astryx-media-theme", unref(attrs).class]),
|
|
278
|
+
"data-astryx-media": resolved.value === "off" ? void 0 : resolved.value,
|
|
279
|
+
style: normalizeStyle([rootStyle.value, unref(attrs).style])
|
|
280
|
+
}, [renderSlot(_ctx.$slots, "default")], 14, _hoisted_1$1);
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
//#endregion
|
|
285
|
+
//#region src/Theme/useThemeRootSync.ts
|
|
286
|
+
const entries = [];
|
|
287
|
+
let baseSnapshot = null;
|
|
288
|
+
function capture() {
|
|
289
|
+
const root = document.documentElement;
|
|
290
|
+
return {
|
|
291
|
+
theme: root.getAttribute("data-astryx-theme"),
|
|
292
|
+
mode: root.getAttribute("data-astryx-color-mode")
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
function writeAttribute(name, value) {
|
|
296
|
+
const root = document.documentElement;
|
|
297
|
+
if (value == null) root.removeAttribute(name);
|
|
298
|
+
else root.setAttribute(name, value);
|
|
299
|
+
}
|
|
300
|
+
function apply(entry) {
|
|
301
|
+
const root = document.documentElement;
|
|
302
|
+
root.setAttribute("data-astryx-theme", entry.name());
|
|
303
|
+
const mode = entry.mode();
|
|
304
|
+
if (mode === "light" || mode === "dark") root.setAttribute("data-astryx-color-mode", mode);
|
|
305
|
+
else root.removeAttribute("data-astryx-color-mode");
|
|
306
|
+
}
|
|
307
|
+
function restoreBase() {
|
|
308
|
+
if (!baseSnapshot) return;
|
|
309
|
+
writeAttribute("data-astryx-theme", baseSnapshot.theme);
|
|
310
|
+
writeAttribute("data-astryx-color-mode", baseSnapshot.mode);
|
|
311
|
+
baseSnapshot = null;
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* The outermost Theme mirrors its name and mode onto `documentElement`, so
|
|
315
|
+
* portaled UI and browser chrome see the same theme. Nested themes do not.
|
|
316
|
+
*/
|
|
317
|
+
function useThemeRootSync(isNested, themeName, mode) {
|
|
318
|
+
if (isNested || typeof document === "undefined") return;
|
|
319
|
+
const entry = {
|
|
320
|
+
name: themeName,
|
|
321
|
+
mode
|
|
322
|
+
};
|
|
323
|
+
onMounted(() => {
|
|
324
|
+
if (entries.length === 0) baseSnapshot = capture();
|
|
325
|
+
entries.push(entry);
|
|
326
|
+
apply(entry);
|
|
327
|
+
});
|
|
328
|
+
watch(() => [themeName(), mode()], () => {
|
|
329
|
+
if (entries[entries.length - 1] === entry) apply(entry);
|
|
330
|
+
});
|
|
331
|
+
onBeforeUnmount(() => {
|
|
332
|
+
const index = entries.lastIndexOf(entry);
|
|
333
|
+
if (index >= 0) entries.splice(index, 1);
|
|
334
|
+
const top = entries[entries.length - 1];
|
|
335
|
+
if (top) apply(top);
|
|
336
|
+
else restoreBase();
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
//#endregion
|
|
340
|
+
//#region src/Theme/Theme.vue
|
|
341
|
+
const _hoisted_1 = ["data-astryx-theme", "data-astryx-color-mode"];
|
|
342
|
+
const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
343
|
+
name: "AstryxTheme",
|
|
344
|
+
inheritAttrs: false,
|
|
345
|
+
__name: "Theme",
|
|
346
|
+
props: {
|
|
347
|
+
theme: {},
|
|
348
|
+
mode: { default: "system" }
|
|
349
|
+
},
|
|
350
|
+
setup(__props, { expose: __expose }) {
|
|
351
|
+
const props = __props;
|
|
352
|
+
const attrs = useAttrs();
|
|
353
|
+
const root = useTemplateRef("root");
|
|
354
|
+
const isNested = inject(themeNestingKey, false);
|
|
355
|
+
const parentSyntax = inject(syntaxThemeKey, null);
|
|
356
|
+
provide(themeNestingKey, true);
|
|
357
|
+
provide(themeContextKey, computed(() => ({
|
|
358
|
+
theme: props.theme,
|
|
359
|
+
mode: props.mode
|
|
360
|
+
})));
|
|
361
|
+
if (parentSyntax || props.theme.syntax) provide(syntaxThemeKey, computed(() => props.theme.syntax ?? parentSyntax?.value ?? null));
|
|
362
|
+
useThemeRootSync(isNested, () => props.theme.name, () => props.mode);
|
|
363
|
+
const colorScheme = computed(() => {
|
|
364
|
+
if (props.mode === "dark") return "dark";
|
|
365
|
+
if (props.mode === "light") return "light";
|
|
366
|
+
return "light dark";
|
|
367
|
+
});
|
|
368
|
+
const rootStyle = computed(() => ({
|
|
369
|
+
colorScheme: colorScheme.value,
|
|
370
|
+
...themeStyle(props.theme)
|
|
371
|
+
}));
|
|
372
|
+
__expose({ element: root });
|
|
373
|
+
return (_ctx, _cache) => {
|
|
374
|
+
return openBlock(), createElementBlock("div", {
|
|
375
|
+
ref_key: "root",
|
|
376
|
+
ref: root,
|
|
377
|
+
class: normalizeClass(["astryx-theme", unref(attrs).class]),
|
|
378
|
+
"data-astryx-theme": __props.theme.name,
|
|
379
|
+
"data-astryx-color-mode": __props.mode === "system" ? void 0 : __props.mode,
|
|
380
|
+
style: normalizeStyle([rootStyle.value, unref(attrs).style])
|
|
381
|
+
}, [renderSlot(_ctx.$slots, "default")], 14, _hoisted_1);
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
});
|
|
385
|
+
//#endregion
|
|
386
|
+
//#region src/Theme/useMediaTheme.ts
|
|
387
|
+
/** Read the nearest MediaTheme. Outside one, the mode is `off`. */
|
|
388
|
+
function useMediaTheme() {
|
|
389
|
+
return { mode: inject(mediaThemeKey, null) ?? computed(() => "off") };
|
|
390
|
+
}
|
|
391
|
+
//#endregion
|
|
392
|
+
//#region src/Theme/useTheme.ts
|
|
393
|
+
function readDocumentToken(name, mode) {
|
|
394
|
+
if (typeof document === "undefined") return "";
|
|
395
|
+
const raw = getComputedStyle(document.documentElement).getPropertyValue(name).trim();
|
|
396
|
+
return raw ? resolveLightDark(raw, mode) : "";
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Read the nearest theme. Outside a `Theme`, the name is `neutral` and tokens
|
|
400
|
+
* are read from the document's custom properties.
|
|
401
|
+
*/
|
|
402
|
+
function useTheme() {
|
|
403
|
+
const context = inject(themeContextKey, null);
|
|
404
|
+
const prefersDark = useMediaQuery("(prefers-color-scheme: dark)");
|
|
405
|
+
const mode = computed(() => {
|
|
406
|
+
const requested = context?.value.mode;
|
|
407
|
+
if (requested === "light" || requested === "dark") return requested;
|
|
408
|
+
return readColorMode(prefersDark.value);
|
|
409
|
+
});
|
|
410
|
+
const name = computed(() => context?.value.theme.name ?? "neutral");
|
|
411
|
+
const tokens = computed(() => {
|
|
412
|
+
const source = context?.value.theme.tokens ?? {};
|
|
413
|
+
const resolved = {};
|
|
414
|
+
for (const [key, value] of Object.entries(source)) resolved[key] = resolveLightDark(value, mode.value);
|
|
415
|
+
return resolved;
|
|
416
|
+
});
|
|
417
|
+
function token(tokenName) {
|
|
418
|
+
const key = normalizeTokenName(tokenName);
|
|
419
|
+
return tokens.value[key] ?? readDocumentToken(key, mode.value);
|
|
420
|
+
}
|
|
421
|
+
return {
|
|
422
|
+
name,
|
|
423
|
+
mode,
|
|
424
|
+
token,
|
|
425
|
+
tokens
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
//#endregion
|
|
429
|
+
export { defineTheme as a, normalizeTokenName as c, _sfc_main$1 as i, useMediaTheme as n, isDefinedTheme as o, _sfc_main as r, neutralTheme as s, useTheme as t };
|
package/dist/Thumbnail/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as _sfc_main } from "../Thumbnail-
|
|
1
|
+
import { t as _sfc_main } from "../Thumbnail-CAOYds8t.js";
|
|
2
2
|
export { _sfc_main as Thumbnail };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as useAstryxMessages } from "./context-
|
|
2
|
-
import { t as _sfc_main$1 } from "./
|
|
3
|
-
import { t as _sfc_main$2 } from "./
|
|
4
|
-
import { t as _sfc_main$3 } from "./
|
|
5
|
-
import { t as _sfc_main$4 } from "./
|
|
1
|
+
import { a as useAstryxMessages } from "./context-DzcK4T_C.js";
|
|
2
|
+
import { t as _sfc_main$1 } from "./Tooltip-mp0NMh_Y.js";
|
|
3
|
+
import { t as _sfc_main$2 } from "./IconButton-BNQuz9W_.js";
|
|
4
|
+
import { t as _sfc_main$3 } from "./Icon-Bku25g_K.js";
|
|
5
|
+
import { t as _sfc_main$4 } from "./Spinner-9cYUCnDy.js";
|
|
6
6
|
import { t as _sfc_main$5 } from "./Skeleton-CrgWxJgr.js";
|
|
7
7
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, getCurrentInstance, normalizeClass, normalizeStyle, openBlock, ref, unref, watch, withCtx } from "vue";
|
|
8
8
|
import "../styles/thumbnail.css";
|
|
@@ -91,7 +91,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
91
91
|
emit("remove", event);
|
|
92
92
|
}
|
|
93
93
|
return (_ctx, _cache) => {
|
|
94
|
-
return openBlock(), createBlock(_sfc_main$
|
|
94
|
+
return openBlock(), createBlock(_sfc_main$1, {
|
|
95
95
|
content: __props.label ?? "",
|
|
96
96
|
"is-enabled": __props.label != null,
|
|
97
97
|
"has-hover-indication": false
|
|
@@ -120,7 +120,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
120
120
|
}, null, 40, _hoisted_4)) : showSkeleton.value ? (openBlock(), createBlock(_sfc_main$5, {
|
|
121
121
|
key: 1,
|
|
122
122
|
radius: 2
|
|
123
|
-
})) : showPlaceholder.value ? (openBlock(), createElementBlock("span", _hoisted_5, [createVNode(_sfc_main$
|
|
123
|
+
})) : showPlaceholder.value ? (openBlock(), createElementBlock("span", _hoisted_5, [createVNode(_sfc_main$3, { icon: "image" })])) : createCommentVNode("v-if", true)], 8, _hoisted_3)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [showImage.value ? (openBlock(), createElementBlock("img", {
|
|
124
124
|
key: 0,
|
|
125
125
|
class: "astryx-thumbnail__image",
|
|
126
126
|
src: __props.src,
|
|
@@ -131,9 +131,9 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
131
131
|
}, null, 40, _hoisted_6)) : showSkeleton.value ? (openBlock(), createBlock(_sfc_main$5, {
|
|
132
132
|
key: 1,
|
|
133
133
|
radius: 2
|
|
134
|
-
})) : showPlaceholder.value ? (openBlock(), createElementBlock("span", _hoisted_7, [createVNode(_sfc_main$
|
|
134
|
+
})) : showPlaceholder.value ? (openBlock(), createElementBlock("span", _hoisted_7, [createVNode(_sfc_main$3, { icon: "image" })])) : createCommentVNode("v-if", true)], 64)),
|
|
135
135
|
showImage.value ? (openBlock(), createElementBlock("span", _hoisted_8)) : createCommentVNode("v-if", true),
|
|
136
|
-
showUpload.value ? (openBlock(), createElementBlock("span", _hoisted_9, [createVNode(_sfc_main$
|
|
136
|
+
showUpload.value ? (openBlock(), createElementBlock("span", _hoisted_9, [createVNode(_sfc_main$4, {
|
|
137
137
|
size: "sm",
|
|
138
138
|
shade: "onMedia"
|
|
139
139
|
})])) : createCommentVNode("v-if", true),
|
|
@@ -141,13 +141,13 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
141
141
|
key: 4,
|
|
142
142
|
class: "astryx-thumbnail__remove",
|
|
143
143
|
"data-reveal": __props.showRemoveOn
|
|
144
|
-
}, [createVNode(_sfc_main$
|
|
144
|
+
}, [createVNode(_sfc_main$2, {
|
|
145
145
|
variant: "secondary",
|
|
146
146
|
size: "sm",
|
|
147
147
|
label: unref(messages).thumbnail.remove(accessibleName.value),
|
|
148
148
|
onClick: onRemove
|
|
149
149
|
}, {
|
|
150
|
-
default: withCtx(() => [createVNode(_sfc_main$
|
|
150
|
+
default: withCtx(() => [createVNode(_sfc_main$3, {
|
|
151
151
|
icon: "close",
|
|
152
152
|
size: "sm"
|
|
153
153
|
})]),
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { c as useCoarsePointer, i as parseDisplayTime, o as resolveTimeSurface, r as isTimeInRange, s as shiftTime, t as formatDisplayTime } from "./useTimeValue-DWk6oTAZ.js";
|
|
2
|
-
import { a as useAstryxMessages } from "./context-
|
|
2
|
+
import { a as useAstryxMessages } from "./context-DzcK4T_C.js";
|
|
3
3
|
import { t as _sfc_main$1 } from "./FieldIcon--NTgW5IU.js";
|
|
4
4
|
import { t as _sfc_main$2 } from "./IconButton-BNQuz9W_.js";
|
|
5
|
-
import { t as _sfc_main$3 } from "./Icon-
|
|
5
|
+
import { t as _sfc_main$3 } from "./Icon-Bku25g_K.js";
|
|
6
6
|
import { computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, mergeModels, openBlock, shallowRef, useModel, watch, withCtx } from "vue";
|
|
7
7
|
import "../styles/bordered-control.css";
|
|
8
8
|
import "../styles/time-input.css";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { at as TimeInputProps, it as TimeInputEmits, ot as TimeInputSize, rt as _default } from "../index-
|
|
1
|
+
import { at as TimeInputProps, it as TimeInputEmits, ot as TimeInputSize, rt as _default } from "../index-DeOftUMq.js";
|
|
2
2
|
export { _default as TimeInput, type TimeInputEmits, type TimeInputProps, type TimeInputSize };
|
package/dist/TimeInput/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as _sfc_main } from "../TimeInput-
|
|
1
|
+
import { t as _sfc_main } from "../TimeInput-DJP3l4ZS.js";
|
|
2
2
|
export { _sfc_main as TimeInput };
|