@leaflink/stash 51.10.0 → 51.11.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/Accordion.js.map +1 -1
- package/dist/Accordion.vue.d.ts +37 -6
- package/dist/ActionsDropdown.js +2 -2
- package/dist/ActionsDropdown.js.map +1 -1
- package/dist/ActionsDropdown.vue.d.ts +74 -0
- package/dist/AddressSelect.js +60 -56
- package/dist/AddressSelect.js.map +1 -1
- package/dist/AddressSelect.vue.d.ts +65 -8
- package/dist/Alert.js.map +1 -1
- package/dist/Alert.vue.d.ts +41 -4
- package/dist/AppNavigationItem.js.map +1 -1
- package/dist/AppNavigationItem.vue.d.ts +31 -4
- package/dist/AppSidebar.js.map +1 -1
- package/dist/AppSidebar.vue.d.ts +35 -8
- package/dist/AppTopbar.js +1 -1
- package/dist/AppTopbar.js.map +1 -1
- package/dist/AppTopbar.vue.d.ts +33 -4
- package/dist/Avatar.js.map +1 -1
- package/dist/Avatar.vue.d.ts +44 -5
- package/dist/Backdrop.js.map +1 -1
- package/dist/Backdrop.vue.d.ts +1 -1
- package/dist/Badge.js.map +1 -1
- package/dist/Badge.vue.d.ts +55 -6
- package/dist/Box.vue.d.ts +36 -3
- package/dist/Box.vue_vue_type_script_setup_true_lang-rFnvwLVY.js.map +1 -1
- package/dist/Button.js.map +1 -1
- package/dist/Button.vue.d.ts +50 -5
- package/dist/ButtonGroup.js +37 -33
- package/dist/ButtonGroup.js.map +1 -1
- package/dist/ButtonGroup.vue.d.ts +39 -6
- package/dist/Card.js.map +1 -1
- package/dist/Card.vue.d.ts +32 -5
- package/dist/CardContent.js.map +1 -1
- package/dist/CardContent.vue.d.ts +1 -1
- package/dist/CardFooter.js.map +1 -1
- package/dist/CardFooter.vue.d.ts +1 -1
- package/dist/CardHeader.js.map +1 -1
- package/dist/CardHeader.vue.d.ts +15 -2
- package/dist/CardMedia.js.map +1 -1
- package/dist/CardMedia.vue.d.ts +15 -2
- package/dist/Carousel.js +72 -66
- package/dist/Carousel.js.map +1 -1
- package/dist/Carousel.vue.d.ts +10 -10
- package/dist/Checkbox.js.map +1 -1
- package/dist/Checkbox.vue.d.ts +53 -8
- package/dist/ChevronToggle.vue.d.ts +34 -7
- package/dist/ChevronToggle.vue_vue_type_script_setup_true_lang-Ce_qOXfR.js.map +1 -1
- package/dist/Chip.js.map +1 -1
- package/dist/Chip.vue.d.ts +52 -10
- package/dist/ConfirmationCodeInput.js +44 -40
- package/dist/ConfirmationCodeInput.js.map +1 -1
- package/dist/ConfirmationCodeInput.vue.d.ts +43 -8
- package/dist/ContextSwitcher.js.map +1 -1
- package/dist/ContextSwitcher.vue.d.ts +41 -6
- package/dist/Copy.js.map +1 -1
- package/dist/Copy.vue.d.ts +34 -3
- package/dist/CurrencyInput.js +21 -20
- package/dist/CurrencyInput.js.map +1 -1
- package/dist/CurrencyInput.vue.d.ts +46 -125
- package/dist/CustomRender.js.map +1 -1
- package/dist/DataView.js +96 -94
- package/dist/DataView.js.map +1 -1
- package/dist/DataView.keys-aSOnA4AD.js.map +1 -1
- package/dist/DataView.vue.d.ts +57 -12
- package/dist/DataViewFilters.js +139 -127
- package/dist/DataViewFilters.js.map +1 -1
- package/dist/DataViewFilters.keys-BLu07FiP.js.map +1 -1
- package/dist/DataViewFilters.vue.d.ts +54 -9
- package/dist/DataViewSortButton.js +2 -2
- package/dist/DataViewSortButton.js.map +1 -1
- package/dist/DataViewSortButton.vue.d.ts +30 -3
- package/dist/DataViewToolbar.js +151 -83
- package/dist/DataViewToolbar.js.map +1 -1
- package/dist/DataViewToolbar.vue.d.ts +40 -5
- package/dist/DatePicker.js +4636 -4524
- package/dist/DatePicker.js.map +1 -1
- package/dist/DatePicker.vue.d.ts +79 -30
- package/dist/DescriptionList.js.map +1 -1
- package/dist/DescriptionList.vue.d.ts +32 -3
- package/dist/DescriptionListDetail.js.map +1 -1
- package/dist/DescriptionListDetail.vue.d.ts +1 -1
- package/dist/DescriptionListGroup.js.map +1 -1
- package/dist/DescriptionListGroup.vue.d.ts +1 -1
- package/dist/DescriptionListTerm.js.map +1 -1
- package/dist/DescriptionListTerm.vue.d.ts +1 -1
- package/dist/Dialog.js.map +1 -1
- package/dist/Dialog.vue.d.ts +53 -10
- package/dist/Divider.js.map +1 -1
- package/dist/Dropdown.js +95 -89
- package/dist/Dropdown.js.map +1 -1
- package/dist/Dropdown.vue.d.ts +48 -12
- package/dist/EmptyState.js +1 -1
- package/dist/EmptyState.js.map +1 -1
- package/dist/EmptyState.vue.d.ts +62 -5
- package/dist/Expand.vue.d.ts +40 -10
- package/dist/Expand.vue_vue_type_script_setup_true_lang-CiONJfAp.js.map +1 -1
- package/dist/Field.vue.d.ts +53 -4
- package/dist/Field.vue_vue_type_script_setup_true_lang-DI6z3AE9.js.map +1 -1
- package/dist/FileUpload.js +74 -72
- package/dist/FileUpload.js.map +1 -1
- package/dist/FileUpload.vue.d.ts +44 -10
- package/dist/FilterChip.js.map +1 -1
- package/dist/FilterChip.vue.d.ts +41 -6
- package/dist/FilterDrawerItem.js +21 -21
- package/dist/FilterDrawerItem.js.map +1 -1
- package/dist/FilterDrawerItem.vue.d.ts +23 -6
- package/dist/FilterDropdown.js +69 -63
- package/dist/FilterDropdown.js.map +1 -1
- package/dist/FilterDropdown.vue.d.ts +35 -122
- package/dist/FilterSelect.js.map +1 -1
- package/dist/FilterSelect.vue.d.ts +31 -4
- package/dist/Filters.js +164 -157
- package/dist/Filters.js.map +1 -1
- package/dist/Filters.vue.d.ts +2190 -0
- package/dist/HttpError.js +7 -7
- package/dist/HttpError.js.map +1 -1
- package/dist/HttpError.vue.d.ts +41 -4
- package/dist/Icon.js +17 -17
- package/dist/Icon.js.map +1 -1
- package/dist/Icon.vue.d.ts +36 -3
- package/dist/IconLabel.js.map +1 -1
- package/dist/IconLabel.vue.d.ts +40 -5
- package/dist/Illustration.js +2 -2
- package/dist/Illustration.vue.d.ts +42 -3
- package/dist/{Illustration.vue_vue_type_script_setup_true_lang-BVzzNsRt.js → Illustration.vue_vue_type_script_setup_true_lang-BrqEF8xe.js} +11 -11
- package/dist/{Illustration.vue_vue_type_script_setup_true_lang-BVzzNsRt.js.map → Illustration.vue_vue_type_script_setup_true_lang-BrqEF8xe.js.map} +1 -1
- package/dist/Image.js +2 -2
- package/dist/Image.vue.d.ts +40 -5
- package/dist/{Image.vue_vue_type_script_setup_true_lang-Dg2Zk2r2.js → Image.vue_vue_type_script_setup_true_lang-D5u4av0_.js} +41 -37
- package/dist/{Image.vue_vue_type_script_setup_true_lang-Dg2Zk2r2.js.map → Image.vue_vue_type_script_setup_true_lang-D5u4av0_.js.map} +1 -1
- package/dist/InlineEdit.js.map +1 -1
- package/dist/InlineEdit.vue.d.ts +47 -126
- package/dist/Input.js.map +1 -1
- package/dist/Input.vue.d.ts +45 -12
- package/dist/InputOptions.js +69 -66
- package/dist/InputOptions.js.map +1 -1
- package/dist/InputOptions.vue.d.ts +55 -10
- package/dist/IntegrationIcon.js +7 -7
- package/dist/IntegrationIcon.js.map +1 -1
- package/dist/IntegrationIcon.vue.d.ts +36 -3
- package/dist/Label.vue.d.ts +42 -3
- package/dist/Label.vue_vue_type_script_setup_true_lang-CNquF3AP.js.map +1 -1
- package/dist/LicenseChip.js.map +1 -1
- package/dist/LicenseChip.vue.d.ts +30 -3
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItem.vue.d.ts +294 -0
- package/dist/ListItemCell.js.map +1 -1
- package/dist/ListItemCell.vue.d.ts +21 -0
- package/dist/ListView.js +7 -4
- package/dist/ListView.js.map +1 -1
- package/dist/ListView.types.d.ts +29 -0
- package/dist/ListView.vue.d.ts +5496 -0
- package/dist/Loading.js +2 -2
- package/dist/Loading.js.map +1 -1
- package/dist/Loading.vue.d.ts +1 -1
- package/dist/Logo.js +1 -1
- package/dist/Logo.vue.d.ts +41 -6
- package/dist/{Logo.vue_vue_type_script_setup_true_lang-Y3iE9utm.js → Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js} +17 -17
- package/dist/Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js.map +1 -0
- package/dist/Menu.js.map +1 -1
- package/dist/Menu.vue.d.ts +1 -1
- package/dist/MenuItem.js.map +1 -1
- package/dist/MenuItem.vue.d.ts +1 -1
- package/dist/MenusPlugin-Bk6UW6o9.js +12 -0
- package/dist/{MenusPlugin-B4jpNe7x.js.map → MenusPlugin-Bk6UW6o9.js.map} +1 -1
- package/dist/Metric.js.map +1 -1
- package/dist/Metric.vue.d.ts +34 -3
- package/dist/Modal.js +64 -62
- package/dist/Modal.js.map +1 -1
- package/dist/Modal.vue.d.ts +60 -13
- package/dist/Modals.js +18 -17
- package/dist/Modals.js.map +1 -1
- package/dist/ModalsPlugin.js +11 -11
- package/dist/ModalsPlugin.js.map +1 -1
- package/dist/Module.js.map +1 -1
- package/dist/Module.keys-CEsrW2f0.js.map +1 -1
- package/dist/Module.types-B1FfGGac.js.map +1 -1
- package/dist/Module.vue.d.ts +29 -2
- package/dist/ModuleContent.js.map +1 -1
- package/dist/ModuleContent.vue.d.ts +3 -3
- package/dist/ModuleFooter.js.map +1 -1
- package/dist/ModuleFooter.vue.d.ts +1 -1
- package/dist/ModuleHeader.js.map +1 -1
- package/dist/ModuleHeader.vue.d.ts +39 -5
- package/dist/MoreActions.js +491 -0
- package/dist/MoreActions.js.map +1 -0
- package/dist/MoreActions.vue.d.ts +126 -0
- package/dist/ObfuscateText.js.map +1 -1
- package/dist/ObfuscateText.vue.d.ts +40 -3
- package/dist/PageContent.js.map +1 -1
- package/dist/PageContent.vue.d.ts +30 -3
- package/dist/PageHeader.js.map +1 -1
- package/dist/PageHeader.vue.d.ts +35 -6
- package/dist/PageNavigation.js +50 -50
- package/dist/PageNavigation.js.map +1 -1
- package/dist/PageNavigation.vue.d.ts +36 -7
- package/dist/Paginate.js.map +1 -1
- package/dist/Paginate.vue.d.ts +40 -5
- package/dist/PlaidLink.js.map +1 -1
- package/dist/PlaidLink.vue.d.ts +49 -12
- package/dist/QuickAction.js.map +1 -1
- package/dist/QuickAction.vue.d.ts +15 -2
- package/dist/Radio.js.map +1 -1
- package/dist/Radio.vue.d.ts +93 -0
- package/dist/RadioGroup.js +101 -94
- package/dist/RadioGroup.js.map +1 -1
- package/dist/RadioGroup.vue.d.ts +42 -116
- package/dist/RadioNew.js +99 -96
- package/dist/RadioNew.js.map +1 -1
- package/dist/RadioNew.vue.d.ts +48 -7
- package/dist/RangeInput.js.map +1 -1
- package/dist/RangeInput.vue.d.ts +1 -1
- package/dist/SearchBar.js +39 -38
- package/dist/SearchBar.js.map +1 -1
- package/dist/SearchBar.vue.d.ts +44 -127
- package/dist/SectionHeader.js.map +1 -1
- package/dist/SectionHeader.vue.d.ts +36 -5
- package/dist/Select.js +183 -171
- package/dist/Select.js.map +1 -1
- package/dist/Select.vue.d.ts +102 -23
- package/dist/SelectStatus.js +38 -38
- package/dist/SelectStatus.js.map +1 -1
- package/dist/SelectStatus.vue.d.ts +46 -226
- package/dist/Skeleton.js.map +1 -1
- package/dist/Skeleton.vue.d.ts +34 -3
- package/dist/Step.js +44 -44
- package/dist/Step.js.map +1 -1
- package/dist/Step.vue.d.ts +43 -4
- package/dist/Stepper.js.map +1 -1
- package/dist/Stepper.vue.d.ts +44 -9
- package/dist/Switch.js.map +1 -1
- package/dist/Switch.vue.d.ts +47 -8
- package/dist/Tab.js +9 -9
- package/dist/Tab.js.map +1 -1
- package/dist/Tab.vue.d.ts +15 -2
- package/dist/TabPanel.js.map +1 -1
- package/dist/TabPanel.vue.d.ts +30 -3
- package/dist/Table.js +59 -53
- package/dist/Table.js.map +1 -1
- package/dist/Table.keys-LHQf6FEH.js.map +1 -1
- package/dist/Table.vue.d.ts +50 -3
- package/dist/TableCell.js +1 -1
- package/dist/TableCell.js.map +1 -1
- package/dist/TableCell.vue.d.ts +32 -3
- package/dist/TableHeaderCell.js +1 -1
- package/dist/TableHeaderCell.js.map +1 -1
- package/dist/TableHeaderCell.vue.d.ts +30 -3
- package/dist/TableHeaderRow.js +1 -1
- package/dist/TableHeaderRow.js.map +1 -1
- package/dist/TableHeaderRow.vue.d.ts +34 -5
- package/dist/TableRow.js +44 -43
- package/dist/TableRow.js.map +1 -1
- package/dist/TableRow.vue.d.ts +48 -7
- package/dist/Tabs.js +2 -2
- package/dist/Tabs.vue.d.ts +31 -122
- package/dist/Tabs.vue_vue_type_script_setup_true_lang-BlJVDr7o.js +78 -0
- package/dist/Tabs.vue_vue_type_script_setup_true_lang-BlJVDr7o.js.map +1 -0
- package/dist/TextEditor.js +2420 -2414
- package/dist/TextEditor.js.map +1 -1
- package/dist/TextEditor.vue.d.ts +39 -8
- package/dist/Textarea.js +32 -29
- package/dist/Textarea.js.map +1 -1
- package/dist/Textarea.vue.d.ts +44 -9
- package/dist/Thumbnail.js +1 -1
- package/dist/Thumbnail.js.map +1 -1
- package/dist/Thumbnail.vue.d.ts +4 -4
- package/dist/ThumbnailEmpty.js.map +1 -1
- package/dist/ThumbnailEmpty.vue.d.ts +1 -1
- package/dist/ThumbnailGroup.js.map +1 -1
- package/dist/ThumbnailGroup.keys-EJ4qFNhx.js.map +1 -1
- package/dist/ThumbnailGroup.vue.d.ts +22 -26
- package/dist/Timeline.js.map +1 -1
- package/dist/Timeline.vue.d.ts +32 -3
- package/dist/TimelineItem.js.map +1 -1
- package/dist/TimelineItem.vue.d.ts +1 -1
- package/dist/Toast.js.map +1 -1
- package/dist/Toast.vue.d.ts +30 -3
- package/dist/Toasts.js.map +1 -1
- package/dist/ToastsPlugin.js +11 -11
- package/dist/ToastsPlugin.js.map +1 -1
- package/dist/Tooltip.js +30 -29
- package/dist/Tooltip.js.map +1 -1
- package/dist/Tooltip.vue.d.ts +43 -11
- package/dist/colors-DDDVvqfQ.js.map +1 -1
- package/dist/components.css +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/directives/autofocus.js.map +1 -1
- package/dist/directives/clickoutside.js.map +1 -1
- package/dist/directives/observe.js.map +1 -1
- package/dist/directives/sticky.js.map +1 -1
- package/dist/directives/tooltip.js +3 -3
- package/dist/directives/tooltip.js.map +1 -1
- package/dist/directives/viewable.js +44 -39
- package/dist/directives/viewable.js.map +1 -1
- package/dist/{floating-ui.vue-CL01Y9ER.js → floating-ui.vue-pzUuloyX.js} +2 -2
- package/dist/{floating-ui.vue-CL01Y9ER.js.map → floating-ui.vue-pzUuloyX.js.map} +1 -1
- package/dist/formatDateTime-Dz8bXV0R.js +1418 -0
- package/dist/{formatDateTime-DG7kBc2T.js.map → formatDateTime-Dz8bXV0R.js.map} +1 -1
- package/dist/index-C14LhAwV.js +294 -0
- package/dist/{index-GUu9zvbg.js.map → index-C14LhAwV.js.map} +1 -1
- package/dist/index-D6bxWkZ1.js.map +1 -1
- package/dist/index.js +104 -99
- package/dist/index.js.map +1 -1
- package/dist/isDefined-DzVx0B6k.js.map +1 -1
- package/dist/keys-BEdEsanp.js.map +1 -1
- package/dist/keys-C8Zfr_By.js.map +1 -1
- package/dist/locale.js.map +1 -1
- package/dist/misc-CHQs-G03.js.map +1 -1
- package/dist/obfuscateText.d.ts +1 -1
- package/dist/parseISO-wlfIB_QJ.js.map +1 -1
- package/dist/searchFuzzy-DRasJ33G.js +409 -0
- package/dist/{searchFuzzy-DBDE6jkd.js.map → searchFuzzy-DRasJ33G.js.map} +1 -1
- package/dist/statusLevels-D8EgtE_L.js.map +1 -1
- package/dist/storage.js.map +1 -1
- package/dist/tailwind-base.d.ts +18 -0
- package/dist/tailwind-base.js +18 -8
- package/dist/tailwind-base.js.map +1 -1
- package/dist/toTimeZone-Coq1oPTt.js.map +1 -1
- package/dist/useConfirmBeforeClosing.js.map +1 -1
- package/dist/useDialog.d.ts +2 -2
- package/dist/useDialog.js +25 -21
- package/dist/useDialog.js.map +1 -1
- package/dist/useGoogleMaps.js +110 -108
- package/dist/useGoogleMaps.js.map +1 -1
- package/dist/useMediaQuery.d.ts +6 -0
- package/dist/useMediaQuery.js +15 -11
- package/dist/useMediaQuery.js.map +1 -1
- package/dist/useModals.d.ts +1 -1
- package/dist/useModals.js.map +1 -1
- package/dist/usePaginationStats-d_q39naC.js.map +1 -1
- package/dist/usePlaidLink.js +27 -20
- package/dist/usePlaidLink.js.map +1 -1
- package/dist/useScriptTag.js.map +1 -1
- package/dist/useSearch.js +13 -13
- package/dist/useSearch.js.map +1 -1
- package/dist/useSelection.js +56 -56
- package/dist/useSelection.js.map +1 -1
- package/dist/useSortable.js +63 -54
- package/dist/useSortable.js.map +1 -1
- package/dist/useStepper.d.ts +2 -2
- package/dist/useStepper.js +40 -36
- package/dist/useStepper.js.map +1 -1
- package/dist/useToasts.js +23 -23
- package/dist/useToasts.js.map +1 -1
- package/dist/useValidation.js +100 -96
- package/dist/useValidation.js.map +1 -1
- package/dist/utils/calculateElementOverflow.js +4 -4
- package/dist/utils/calculateElementOverflow.js.map +1 -1
- package/dist/utils/colorScheme.js.map +1 -1
- package/dist/utils/createQueryString.js.map +1 -1
- package/dist/utils/createValidDate.js.map +1 -1
- package/dist/utils/formatDateTime.js +1 -1
- package/dist/utils/getContrastingTextColor.js.map +1 -1
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/normalizeDate.js.map +1 -1
- package/dist/utils/obfuscateText.js +6 -6
- package/dist/utils/obfuscateText.js.map +1 -1
- package/dist/utils/searchFuzzy.js +1 -1
- package/dist/utils/storage.js +23 -23
- package/dist/utils/storage.js.map +1 -1
- package/package.json +12 -12
- package/tailwind-base.ts +11 -0
- package/dist/Logo.vue_vue_type_script_setup_true_lang-Y3iE9utm.js.map +0 -1
- package/dist/MenusPlugin-B4jpNe7x.js +0 -12
- package/dist/Tabs.vue_vue_type_script_setup_true_lang-Dprx064Y.js +0 -156
- package/dist/Tabs.vue_vue_type_script_setup_true_lang-Dprx064Y.js.map +0 -1
- package/dist/formatDateTime-DG7kBc2T.js +0 -1414
- package/dist/index-GUu9zvbg.js +0 -128
- package/dist/searchFuzzy-DBDE6jkd.js +0 -408
package/dist/TableRow.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { defineComponent as A, useAttrs as D, useCssModule as M, useSlots as V, inject as j, ref as P, computed as k, watch as q, createElementBlock as
|
|
1
|
+
import { defineComponent as A, useAttrs as D, useCssModule as M, useSlots as V, inject as j, ref as P, computed as k, watch as q, createElementBlock as x, openBlock as r, Fragment as z, createElementVNode as F, createCommentVNode as u, mergeProps as J, unref as e, createBlock as E, renderSlot as y, normalizeClass as c, withCtx as _, createVNode as b } from "vue";
|
|
2
2
|
import L from "lodash-es/uniqueId";
|
|
3
|
-
import { t as
|
|
3
|
+
import { t as h } from "./locale.js";
|
|
4
4
|
import O from "./Checkbox.js";
|
|
5
5
|
import { _ as U } from "./ChevronToggle.vue_vue_type_script_setup_true_lang-Ce_qOXfR.js";
|
|
6
6
|
import { _ as G } from "./Expand.vue_vue_type_script_setup_true_lang-CiONJfAp.js";
|
|
7
7
|
import "lodash-es/cloneDeep";
|
|
8
8
|
import "./DataView.keys-aSOnA4AD.js";
|
|
9
|
-
import "./Illustration.vue_vue_type_script_setup_true_lang-
|
|
9
|
+
import "./Illustration.vue_vue_type_script_setup_true_lang-BrqEF8xe.js";
|
|
10
10
|
import g from "./TableCell.js";
|
|
11
11
|
import { T as H } from "./Table.keys-LHQf6FEH.js";
|
|
12
12
|
import { _ as K } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
@@ -22,82 +22,83 @@ const Q = /* @__PURE__ */ A({
|
|
|
22
22
|
},
|
|
23
23
|
emits: ["update:isSelected", "update:isExpanded"],
|
|
24
24
|
setup(S, { emit: T }) {
|
|
25
|
-
const t = S,
|
|
25
|
+
const t = S, m = T, B = D(), o = M(), i = V(), f = j(H.key);
|
|
26
26
|
if (!f)
|
|
27
27
|
throw new Error("TableRow must be used within a Table component");
|
|
28
|
-
const { hasActions: R, hasCustomExpandToggle: v, isExpandable: $, isSelectable:
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
const { hasActions: R, hasCustomExpandToggle: v, isExpandable: $, isSelectable: w, layout: d } = f, l = P(t.isExpanded), n = k(() => $.value && !!i.expansion), I = k(() => {
|
|
29
|
+
var s;
|
|
30
|
+
let a = ((s = i.default) == null ? void 0 : s.call(i, { toggleExpand: p }).length) ?? 0;
|
|
31
|
+
return w.value && (a += 1), n.value && !v.value && (a += 1), a;
|
|
31
32
|
}), C = L("table-row-");
|
|
32
|
-
function
|
|
33
|
-
if (!
|
|
33
|
+
function p(a) {
|
|
34
|
+
if (!n.value)
|
|
34
35
|
throw new Error("Cannot call `toggleExpand` on a non-expandable row. Provide an `expansion` slot.");
|
|
35
|
-
const
|
|
36
|
-
l.value =
|
|
36
|
+
const s = typeof a == "boolean" ? a : !l.value;
|
|
37
|
+
l.value = s, m("update:isExpanded", s);
|
|
37
38
|
}
|
|
38
39
|
return q(
|
|
39
40
|
() => t.isExpanded,
|
|
40
|
-
() =>
|
|
41
|
-
), (a,
|
|
41
|
+
() => p(t.isExpanded)
|
|
42
|
+
), (a, s) => (r(), x(z, null, [
|
|
42
43
|
F("tr", J({
|
|
43
44
|
class: ["stash-table-row", [
|
|
44
45
|
e(o).root,
|
|
45
|
-
e(o)[`layout--${e(
|
|
46
|
+
e(o)[`layout--${e(d)}`],
|
|
46
47
|
{
|
|
47
|
-
[e(o)["is-expandable"]]:
|
|
48
|
+
[e(o)["is-expandable"]]: n.value,
|
|
48
49
|
[e(o)["is-expanded"]]: l.value,
|
|
49
50
|
[e(o)["root--hidden-divider"]]: a.hideExpansionDivider,
|
|
50
|
-
"tw-p-gutter": e(
|
|
51
|
-
"tw-mb-6 tw-shadow lg:tw-mb-0 lg:tw-shadow-none": e(
|
|
52
|
-
"tw-pt-[60px]": e(R) && e(
|
|
51
|
+
"tw-p-gutter": e(d) === "stack",
|
|
52
|
+
"tw-mb-6 tw-shadow lg:tw-mb-0 lg:tw-shadow-none": e(d) === "stack" && !n.value,
|
|
53
|
+
"tw-pt-[60px]": e(R) && e(d) === "stack" && !e(w),
|
|
53
54
|
"stash-table-row--accent": t.accentColor,
|
|
54
55
|
"tw-relative": t.accentColor
|
|
55
56
|
}
|
|
56
57
|
]],
|
|
57
58
|
"data-test": "stash-table-row"
|
|
58
59
|
}, e(B)), [
|
|
59
|
-
e(
|
|
60
|
+
e(w) ? (r(), E(g, {
|
|
60
61
|
key: 0,
|
|
61
62
|
"is-control": "",
|
|
62
|
-
class:
|
|
63
|
+
class: c(["stash-table-row__selection-cell tw-min-w-[48px]", e(o)["row-control-cell"]]),
|
|
63
64
|
"data-test": "stash-table-row|selection-cell"
|
|
64
65
|
}, {
|
|
65
|
-
default:
|
|
66
|
-
|
|
67
|
-
class:
|
|
66
|
+
default: _(() => [
|
|
67
|
+
b(O, {
|
|
68
|
+
class: c(e(o)["row-selection-checkbox"]),
|
|
68
69
|
checked: t.isSelected,
|
|
69
70
|
disabled: t.isSelectDisabled,
|
|
70
|
-
title: e(
|
|
71
|
-
"onUpdate:checked":
|
|
71
|
+
title: e(h)("ll.select.self"),
|
|
72
|
+
"onUpdate:checked": s[0] || (s[0] = (N) => m("update:isSelected", N))
|
|
72
73
|
}, null, 8, ["class", "checked", "disabled", "title"])
|
|
73
74
|
]),
|
|
74
75
|
_: 1
|
|
75
|
-
}, 8, ["class"])) :
|
|
76
|
-
|
|
76
|
+
}, 8, ["class"])) : u("", !0),
|
|
77
|
+
n.value && !e(v) ? (r(), E(g, {
|
|
77
78
|
key: 1,
|
|
78
|
-
class:
|
|
79
|
+
class: c(["stash-table-row__toggle-expansion-cell tw-px-0", e(o)["row-control-cell"]]),
|
|
79
80
|
"data-test": "stash-table-row|custom-expansion-cell",
|
|
80
81
|
"is-control": ""
|
|
81
82
|
}, {
|
|
82
|
-
default:
|
|
83
|
-
|
|
83
|
+
default: _(() => [
|
|
84
|
+
b(U, {
|
|
84
85
|
"aria-controls": e(C),
|
|
85
|
-
"aria-label": l.value ? e(
|
|
86
|
+
"aria-label": l.value ? e(h)("ll.table.collapseRow") : e(h)("ll.table.expandRow"),
|
|
86
87
|
direction: l.value ? "up" : "down",
|
|
87
88
|
"is-expanded": l.value,
|
|
88
|
-
onClick:
|
|
89
|
+
onClick: p
|
|
89
90
|
}, null, 8, ["aria-controls", "aria-label", "direction", "is-expanded"])
|
|
90
91
|
]),
|
|
91
92
|
_: 1
|
|
92
|
-
}, 8, ["class"])) :
|
|
93
|
+
}, 8, ["class"])) : u("", !0),
|
|
93
94
|
y(a.$slots, "default", {
|
|
94
95
|
isRowExpanded: l.value,
|
|
95
|
-
toggleExpand:
|
|
96
|
+
toggleExpand: p
|
|
96
97
|
}),
|
|
97
|
-
t.accentColor ? (r(),
|
|
98
|
+
t.accentColor ? (r(), x("div", {
|
|
98
99
|
key: 2,
|
|
99
100
|
"data-test": "stash-table-row|accent",
|
|
100
|
-
class:
|
|
101
|
+
class: c({
|
|
101
102
|
"tw-absolute": t.accentColor,
|
|
102
103
|
[`tw-bg-${t.accentColor}`]: t.accentColor,
|
|
103
104
|
"tw-block": t.accentColor,
|
|
@@ -106,27 +107,27 @@ const Q = /* @__PURE__ */ A({
|
|
|
106
107
|
"tw-top-0": t.accentColor,
|
|
107
108
|
"tw-left-0": t.accentColor
|
|
108
109
|
})
|
|
109
|
-
}, null, 2)) :
|
|
110
|
+
}, null, 2)) : u("", !0)
|
|
110
111
|
], 16),
|
|
111
|
-
|
|
112
|
+
n.value ? (r(), x("tr", {
|
|
112
113
|
key: 0,
|
|
113
|
-
class:
|
|
114
|
+
class: c(["stash-table-row stash-table-row--expandable", e(o)["row-expansion"]]),
|
|
114
115
|
"data-test": "stash-table-row|expansion-row"
|
|
115
116
|
}, [
|
|
116
|
-
|
|
117
|
+
b(G, {
|
|
117
118
|
is: "td",
|
|
118
119
|
id: e(C),
|
|
119
|
-
class:
|
|
120
|
+
class: c(["tw-border-none tw-bg-white tw-px-3 tw-py-0", e(o)["row-expansion-content"]]),
|
|
120
121
|
"data-test": "stash-table-row|expansion-cell",
|
|
121
122
|
colspan: I.value,
|
|
122
123
|
"is-expanded": l.value
|
|
123
124
|
}, {
|
|
124
|
-
default:
|
|
125
|
+
default: _(() => [
|
|
125
126
|
y(a.$slots, "expansion")
|
|
126
127
|
]),
|
|
127
128
|
_: 3
|
|
128
129
|
}, 8, ["id", "class", "colspan", "is-expanded"])
|
|
129
|
-
], 2)) :
|
|
130
|
+
], 2)) : u("", !0)
|
|
130
131
|
], 64));
|
|
131
132
|
}
|
|
132
133
|
}), W = "_root_1h1vo_2", X = {
|
package/dist/TableRow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRow.js","sources":["../src/components/TableRow/TableRow.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import uniqueId from 'lodash-es/uniqueId';\n import { computed, inject, ref, useAttrs, useCssModule, watch } from 'vue';\n\n import { StashCommonColor } from '../../../types/colors';\n import { t } from '../../locale';\n import Checkbox, { CheckboxProps } from '../Checkbox/Checkbox.vue';\n import ChevronToggle from '../ChevronToggle/ChevronToggle.vue';\n import Expand from '../Expand/Expand.vue';\n import { TABLE_INJECTION } from '../Table/Table.vue';\n import TableCell from '../TableCell/TableCell.vue';\n\n defineOptions({ inheritAttrs: false });\n\n export interface TableRowProps {\n hideExpansionDivider?: boolean;\n isExpanded?: boolean;\n isSelected?: boolean;\n isSelectDisabled?: boolean;\n /**\n * The accent color for the TableRow.\n */\n accentColor?: StashCommonColor;\n }\n\n const props = withDefaults(defineProps<TableRowProps>(), {\n /**\n * If true, hides the divider between the parent row and expansion row\n */\n hideExpansionDivider: false,\n isExpanded: false,\n isSelected: false,\n isSelectDisabled: false,\n accentColor: undefined,\n });\n\n const emit = defineEmits<{\n 'update:isSelected': [isChecked: CheckboxProps['checked']];\n 'update:isExpanded': [isExpanded: boolean];\n }>();\n\n const attrs = useAttrs();\n const classes = useCssModule();\n const slots = defineSlots<{\n default(props: { isRowExpanded?: boolean; toggleExpand: (value?: boolean) => void }): unknown[];\n expansion(): unknown[];\n }>();\n\n const tableInjection = inject(TABLE_INJECTION.key);\n\n if (!tableInjection) {\n throw new Error('TableRow must be used within a Table component');\n }\n\n const { hasActions, hasCustomExpandToggle, isExpandable, isSelectable, layout } = tableInjection;\n\n const isRowExpanded = ref(props.isExpanded);\n const isRowExpandable = computed(() => isExpandable.value && !!slots.expansion);\n\n const childCellCount = computed(() => {\n let count = slots.default?.({ toggleExpand }).length ?? 0;\n\n if (isSelectable.value) {\n count += 1;\n }\n\n if (isRowExpandable.value && !hasCustomExpandToggle.value) {\n count += 1;\n }\n\n return count;\n });\n const rowId = uniqueId('table-row-');\n\n function toggleExpand(value?: boolean) {\n if (!isRowExpandable.value) {\n throw new Error('Cannot call `toggleExpand` on a non-expandable row. Provide an `expansion` slot.');\n }\n\n const isExpanded = typeof value === 'boolean' ? value : !isRowExpanded.value;\n\n isRowExpanded.value = isExpanded;\n emit('update:isExpanded', isExpanded);\n }\n\n watch(\n () => props.isExpanded,\n () => toggleExpand(props.isExpanded),\n );\n</script>\n\n<template>\n <tr\n class=\"stash-table-row\"\n :class=\"[\n classes.root,\n classes[`layout--${layout}`],\n {\n [classes['is-expandable']]: isRowExpandable,\n [classes['is-expanded']]: isRowExpanded,\n [classes['root--hidden-divider']]: hideExpansionDivider,\n 'tw-p-gutter': layout === 'stack',\n 'tw-mb-6 tw-shadow lg:tw-mb-0 lg:tw-shadow-none': layout === 'stack' && !isRowExpandable,\n 'tw-pt-[60px]': hasActions && layout === 'stack' && !isSelectable,\n 'stash-table-row--accent': props.accentColor,\n 'tw-relative': props.accentColor,\n },\n ]\"\n data-test=\"stash-table-row\"\n v-bind=\"attrs\"\n >\n <TableCell\n v-if=\"isSelectable\"\n is-control\n class=\"stash-table-row__selection-cell tw-min-w-[48px]\"\n :class=\"classes['row-control-cell']\"\n data-test=\"stash-table-row|selection-cell\"\n >\n <Checkbox\n :class=\"classes['row-selection-checkbox']\"\n :checked=\"props.isSelected\"\n :disabled=\"props.isSelectDisabled\"\n :title=\"t('ll.select.self')\"\n @update:checked=\"emit('update:isSelected', $event)\"\n />\n </TableCell>\n <TableCell\n v-if=\"isRowExpandable && !hasCustomExpandToggle\"\n class=\"stash-table-row__toggle-expansion-cell tw-px-0\"\n data-test=\"stash-table-row|custom-expansion-cell\"\n is-control\n :class=\"classes['row-control-cell']\"\n >\n <ChevronToggle\n :aria-controls=\"rowId\"\n :aria-label=\"isRowExpanded ? t('ll.table.collapseRow') : t('ll.table.expandRow')\"\n :direction=\"isRowExpanded ? 'up' : 'down'\"\n :is-expanded=\"isRowExpanded\"\n @click=\"toggleExpand\"\n />\n </TableCell>\n <!-- @slot default -->\n <slot :is-row-expanded=\"isRowExpanded\" :toggle-expand=\"toggleExpand\"></slot>\n <!-- Displays a 4px accent on the left of the table row -->\n <div\n v-if=\"props.accentColor\"\n data-test=\"stash-table-row|accent\"\n :class=\"{\n 'tw-absolute': props.accentColor,\n [`tw-bg-${props.accentColor}`]: props.accentColor,\n 'tw-block': props.accentColor,\n 'tw-h-full': props.accentColor,\n 'tw-w-1': props.accentColor,\n 'tw-top-0': props.accentColor,\n 'tw-left-0': props.accentColor,\n }\"\n ></div>\n </tr>\n <tr\n v-if=\"isRowExpandable\"\n class=\"stash-table-row stash-table-row--expandable\"\n :class=\"classes['row-expansion']\"\n data-test=\"stash-table-row|expansion-row\"\n >\n <Expand\n is=\"td\"\n :id=\"rowId\"\n class=\"tw-border-none tw-bg-white tw-px-3 tw-py-0\"\n data-test=\"stash-table-row|expansion-cell\"\n :class=\"classes['row-expansion-content']\"\n :colspan=\"childCellCount\"\n :is-expanded=\"isRowExpanded\"\n >\n <!-- @slot expansion, for expandable content -->\n <slot name=\"expansion\"></slot>\n </Expand>\n </tr>\n</template>\n\n<style module>\n .root {\n border: 0;\n }\n\n /**\n * Only takes effect when hideExpansionDivider is true, for a softer collapse transition as the bottom border re-appears\n */\n .is-expandable > td {\n border-bottom-color: var(--color-ice-200);\n transition: border-bottom-color 0.5s;\n }\n\n .root--hidden-divider.is-expanded > td {\n transition: border-bottom-color 0s;\n /**\n * Removes the grey cell background for 'control' cells at lower breakpoints, letting the white of the tr come through.\n */\n border-bottom-color: transparent;\n }\n\n .layout--scroll {\n border-radius: 0;\n box-shadow: none !important;\n margin: 0;\n }\n\n .layout--scroll:last-of-type {\n border: 0;\n }\n\n .layout--scroll:last-of-type td {\n border-bottom: none;\n }\n\n .layout--stack {\n align-items: stretch;\n background-color: var(--color-white);\n column-gap: var(--grid-gutter);\n display: grid;\n grid-template-columns: repeat(12, 1fr);\n position: relative;\n row-gap: var(--grid-gutter);\n }\n\n .layout--stack:not(.is-expanded) {\n border-radius: theme('borderRadius.DEFAULT');\n transition: border-radius 0.5s;\n }\n\n .layout--stack.is-expanded {\n border-top-left-radius: theme('borderRadius.DEFAULT');\n border-top-right-radius: theme('borderRadius.DEFAULT');\n }\n\n .row-selection-checkbox label {\n padding: 0;\n vertical-align: middle;\n }\n\n .layout--stack .row-control-cell {\n display: flex;\n align-items: center;\n min-width: 0;\n }\n\n /* On mobile, display controls on their own row, pushing other cells below */\n .row-control-cell + :not(.row-control-cell) {\n grid-column-start: 1;\n }\n\n .row-expansion-content {\n box-shadow: inset 0 -1px 0 0 var(--color-ice-200);\n }\n\n .layout--stack + .row-expansion,\n .layout--stack + .row-expansion > .row-expansion-content {\n display: block;\n }\n\n .layout--stack + .row-expansion > .row-expansion-content {\n border-top: 1px solid var(--color-ice-200);\n border-bottom-left-radius: theme('borderRadius.DEFAULT');\n border-bottom-right-radius: theme('borderRadius.DEFAULT');\n margin-bottom: theme('spacing.6');\n }\n\n .layout--stack.root--hidden-divider + .row-expansion > .row-expansion-content {\n border-top: none;\n }\n\n /* On large screens, match the styles for layout-SCROLL */\n @media screen('lg') {\n .layout--stack {\n align-items: unset;\n background-color: unset;\n border: 0;\n border-bottom: 1px solid var(--color-ice-200);\n border-radius: 0;\n box-shadow: none;\n column-gap: unset;\n display: table-row;\n grid-template-columns: unset;\n row-gap: unset;\n }\n\n .layout--stack:last-of-type {\n border-bottom: 0;\n }\n\n .layout--stack .row-control-cell {\n display: table-cell;\n }\n\n .layout--stack + .row-expansion {\n display: table-row;\n }\n\n .layout--stack + .row-expansion > .row-expansion-content {\n border-top: unset;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n display: table-cell;\n margin-bottom: unset;\n }\n\n .row-control-cell + :not(.row-control-cell) {\n grid-column-start: unset;\n }\n }\n</style>\n"],"names":["props","__props","emit","__emit","attrs","useAttrs","classes","useCssModule","slots","_useSlots","tableInjection","inject","TABLE_INJECTION","hasActions","hasCustomExpandToggle","isExpandable","isSelectable","layout","isRowExpanded","ref","isRowExpandable","computed","childCellCount","count","toggleExpand","rowId","uniqueId","value","isExpanded","watch","_createElementVNode","_mergeProps","_unref","hideExpansionDivider","_createBlock","TableCell","_normalizeClass","_createVNode","Checkbox","t","_cache","$event","ChevronToggle","_renderSlot","_ctx","_createElementBlock","Expand"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TableRow.js","sources":["../src/components/TableRow/TableRow.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import uniqueId from 'lodash-es/uniqueId';\n import { computed, inject, ref, useAttrs, useCssModule, watch } from 'vue';\n\n import { StashCommonColor } from '../../../types/colors';\n import { t } from '../../locale';\n import Checkbox, { CheckboxProps } from '../Checkbox/Checkbox.vue';\n import ChevronToggle from '../ChevronToggle/ChevronToggle.vue';\n import Expand from '../Expand/Expand.vue';\n import { TABLE_INJECTION } from '../Table/Table.vue';\n import TableCell from '../TableCell/TableCell.vue';\n\n defineOptions({ inheritAttrs: false });\n\n export interface TableRowProps {\n hideExpansionDivider?: boolean;\n isExpanded?: boolean;\n isSelected?: boolean;\n isSelectDisabled?: boolean;\n /**\n * The accent color for the TableRow.\n */\n accentColor?: StashCommonColor;\n }\n\n const props = withDefaults(defineProps<TableRowProps>(), {\n /**\n * If true, hides the divider between the parent row and expansion row\n */\n hideExpansionDivider: false,\n isExpanded: false,\n isSelected: false,\n isSelectDisabled: false,\n accentColor: undefined,\n });\n\n const emit = defineEmits<{\n 'update:isSelected': [isChecked: CheckboxProps['checked']];\n 'update:isExpanded': [isExpanded: boolean];\n }>();\n\n const attrs = useAttrs();\n const classes = useCssModule();\n const slots = defineSlots<{\n default(props: { isRowExpanded?: boolean; toggleExpand: (value?: boolean) => void }): unknown[];\n expansion(): unknown[];\n }>();\n\n const tableInjection = inject(TABLE_INJECTION.key);\n\n if (!tableInjection) {\n throw new Error('TableRow must be used within a Table component');\n }\n\n const { hasActions, hasCustomExpandToggle, isExpandable, isSelectable, layout } = tableInjection;\n\n const isRowExpanded = ref(props.isExpanded);\n const isRowExpandable = computed(() => isExpandable.value && !!slots.expansion);\n\n const childCellCount = computed(() => {\n let count = slots.default?.({ toggleExpand }).length ?? 0;\n\n if (isSelectable.value) {\n count += 1;\n }\n\n if (isRowExpandable.value && !hasCustomExpandToggle.value) {\n count += 1;\n }\n\n return count;\n });\n const rowId = uniqueId('table-row-');\n\n function toggleExpand(value?: boolean) {\n if (!isRowExpandable.value) {\n throw new Error('Cannot call `toggleExpand` on a non-expandable row. Provide an `expansion` slot.');\n }\n\n const isExpanded = typeof value === 'boolean' ? value : !isRowExpanded.value;\n\n isRowExpanded.value = isExpanded;\n emit('update:isExpanded', isExpanded);\n }\n\n watch(\n () => props.isExpanded,\n () => toggleExpand(props.isExpanded),\n );\n</script>\n\n<template>\n <tr\n class=\"stash-table-row\"\n :class=\"[\n classes.root,\n classes[`layout--${layout}`],\n {\n [classes['is-expandable']]: isRowExpandable,\n [classes['is-expanded']]: isRowExpanded,\n [classes['root--hidden-divider']]: hideExpansionDivider,\n 'tw-p-gutter': layout === 'stack',\n 'tw-mb-6 tw-shadow lg:tw-mb-0 lg:tw-shadow-none': layout === 'stack' && !isRowExpandable,\n 'tw-pt-[60px]': hasActions && layout === 'stack' && !isSelectable,\n 'stash-table-row--accent': props.accentColor,\n 'tw-relative': props.accentColor,\n },\n ]\"\n data-test=\"stash-table-row\"\n v-bind=\"attrs\"\n >\n <TableCell\n v-if=\"isSelectable\"\n is-control\n class=\"stash-table-row__selection-cell tw-min-w-[48px]\"\n :class=\"classes['row-control-cell']\"\n data-test=\"stash-table-row|selection-cell\"\n >\n <Checkbox\n :class=\"classes['row-selection-checkbox']\"\n :checked=\"props.isSelected\"\n :disabled=\"props.isSelectDisabled\"\n :title=\"t('ll.select.self')\"\n @update:checked=\"emit('update:isSelected', $event)\"\n />\n </TableCell>\n <TableCell\n v-if=\"isRowExpandable && !hasCustomExpandToggle\"\n class=\"stash-table-row__toggle-expansion-cell tw-px-0\"\n data-test=\"stash-table-row|custom-expansion-cell\"\n is-control\n :class=\"classes['row-control-cell']\"\n >\n <ChevronToggle\n :aria-controls=\"rowId\"\n :aria-label=\"isRowExpanded ? t('ll.table.collapseRow') : t('ll.table.expandRow')\"\n :direction=\"isRowExpanded ? 'up' : 'down'\"\n :is-expanded=\"isRowExpanded\"\n @click=\"toggleExpand\"\n />\n </TableCell>\n <!-- @slot default -->\n <slot :is-row-expanded=\"isRowExpanded\" :toggle-expand=\"toggleExpand\"></slot>\n <!-- Displays a 4px accent on the left of the table row -->\n <div\n v-if=\"props.accentColor\"\n data-test=\"stash-table-row|accent\"\n :class=\"{\n 'tw-absolute': props.accentColor,\n [`tw-bg-${props.accentColor}`]: props.accentColor,\n 'tw-block': props.accentColor,\n 'tw-h-full': props.accentColor,\n 'tw-w-1': props.accentColor,\n 'tw-top-0': props.accentColor,\n 'tw-left-0': props.accentColor,\n }\"\n ></div>\n </tr>\n <tr\n v-if=\"isRowExpandable\"\n class=\"stash-table-row stash-table-row--expandable\"\n :class=\"classes['row-expansion']\"\n data-test=\"stash-table-row|expansion-row\"\n >\n <Expand\n is=\"td\"\n :id=\"rowId\"\n class=\"tw-border-none tw-bg-white tw-px-3 tw-py-0\"\n data-test=\"stash-table-row|expansion-cell\"\n :class=\"classes['row-expansion-content']\"\n :colspan=\"childCellCount\"\n :is-expanded=\"isRowExpanded\"\n >\n <!-- @slot expansion, for expandable content -->\n <slot name=\"expansion\"></slot>\n </Expand>\n </tr>\n</template>\n\n<style module>\n .root {\n border: 0;\n }\n\n /**\n * Only takes effect when hideExpansionDivider is true, for a softer collapse transition as the bottom border re-appears\n */\n .is-expandable > td {\n border-bottom-color: var(--color-ice-200);\n transition: border-bottom-color 0.5s;\n }\n\n .root--hidden-divider.is-expanded > td {\n transition: border-bottom-color 0s;\n /**\n * Removes the grey cell background for 'control' cells at lower breakpoints, letting the white of the tr come through.\n */\n border-bottom-color: transparent;\n }\n\n .layout--scroll {\n border-radius: 0;\n box-shadow: none !important;\n margin: 0;\n }\n\n .layout--scroll:last-of-type {\n border: 0;\n }\n\n .layout--scroll:last-of-type td {\n border-bottom: none;\n }\n\n .layout--stack {\n align-items: stretch;\n background-color: var(--color-white);\n column-gap: var(--grid-gutter);\n display: grid;\n grid-template-columns: repeat(12, 1fr);\n position: relative;\n row-gap: var(--grid-gutter);\n }\n\n .layout--stack:not(.is-expanded) {\n border-radius: theme('borderRadius.DEFAULT');\n transition: border-radius 0.5s;\n }\n\n .layout--stack.is-expanded {\n border-top-left-radius: theme('borderRadius.DEFAULT');\n border-top-right-radius: theme('borderRadius.DEFAULT');\n }\n\n .row-selection-checkbox label {\n padding: 0;\n vertical-align: middle;\n }\n\n .layout--stack .row-control-cell {\n display: flex;\n align-items: center;\n min-width: 0;\n }\n\n /* On mobile, display controls on their own row, pushing other cells below */\n .row-control-cell + :not(.row-control-cell) {\n grid-column-start: 1;\n }\n\n .row-expansion-content {\n box-shadow: inset 0 -1px 0 0 var(--color-ice-200);\n }\n\n .layout--stack + .row-expansion,\n .layout--stack + .row-expansion > .row-expansion-content {\n display: block;\n }\n\n .layout--stack + .row-expansion > .row-expansion-content {\n border-top: 1px solid var(--color-ice-200);\n border-bottom-left-radius: theme('borderRadius.DEFAULT');\n border-bottom-right-radius: theme('borderRadius.DEFAULT');\n margin-bottom: theme('spacing.6');\n }\n\n .layout--stack.root--hidden-divider + .row-expansion > .row-expansion-content {\n border-top: none;\n }\n\n /* On large screens, match the styles for layout-SCROLL */\n @media screen('lg') {\n .layout--stack {\n align-items: unset;\n background-color: unset;\n border: 0;\n border-bottom: 1px solid var(--color-ice-200);\n border-radius: 0;\n box-shadow: none;\n column-gap: unset;\n display: table-row;\n grid-template-columns: unset;\n row-gap: unset;\n }\n\n .layout--stack:last-of-type {\n border-bottom: 0;\n }\n\n .layout--stack .row-control-cell {\n display: table-cell;\n }\n\n .layout--stack + .row-expansion {\n display: table-row;\n }\n\n .layout--stack + .row-expansion > .row-expansion-content {\n border-top: unset;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n display: table-cell;\n margin-bottom: unset;\n }\n\n .row-control-cell + :not(.row-control-cell) {\n grid-column-start: unset;\n }\n }\n</style>\n"],"names":["props","__props","emit","__emit","attrs","useAttrs","classes","useCssModule","slots","_useSlots","tableInjection","inject","TABLE_INJECTION","hasActions","hasCustomExpandToggle","isExpandable","isSelectable","layout","isRowExpanded","ref","isRowExpandable","computed","childCellCount","count","_a","toggleExpand","rowId","uniqueId","value","isExpanded","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAyBE,UAAMA,IAAQC,GAWRC,IAAOC,GAKPC,IAAQC,EAAS,GACjBC,IAAUC,EAAa,GACvBC,IAAQC,EAGV,GAEEC,IAAiBC,EAAOC,EAAgB,GAAG;AAEjD,QAAI,CAACF;AACG,YAAA,IAAI,MAAM,gDAAgD;AAGlE,UAAM,EAAE,YAAAG,GAAY,uBAAAC,GAAuB,cAAAC,GAAc,cAAAC,GAAc,QAAAC,MAAWP,GAE5EQ,IAAgBC,EAAInB,EAAM,UAAU,GACpCoB,IAAkBC,EAAS,MAAMN,EAAa,SAAS,CAAC,CAACP,EAAM,SAAS,GAExEc,IAAiBD,EAAS,MAAM;;AACpC,UAAIE,MAAQC,IAAAhB,EAAM,YAAN,gBAAAgB,EAAA,KAAAhB,GAAgB,EAAE,cAAAiB,EAAc,GAAE,WAAU;AAExD,aAAIT,EAAa,UACNO,KAAA,IAGPH,EAAgB,SAAS,CAACN,EAAsB,UACzCS,KAAA,IAGJA;AAAA,IAAA,CACR,GACKG,IAAQC,EAAS,YAAY;AAEnC,aAASF,EAAaG,GAAiB;AACjC,UAAA,CAACR,EAAgB;AACb,cAAA,IAAI,MAAM,kFAAkF;AAGpG,YAAMS,IAAa,OAAOD,KAAU,YAAYA,IAAQ,CAACV,EAAc;AAEvE,MAAAA,EAAc,QAAQW,GACtB3B,EAAK,qBAAqB2B,CAAU;AAAA,IAAA;AAGtC,WAAAC;AAAA,MACE,MAAM9B,EAAM;AAAA,MACZ,MAAMyB,EAAazB,EAAM,UAAU;AAAA,IACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/TableRow.vue.d.ts
CHANGED
|
@@ -1,27 +1,68 @@
|
|
|
1
1
|
import { ComponentOptionsMixin } from 'vue';
|
|
2
2
|
import { ComponentProvideOptions } from 'vue';
|
|
3
3
|
import { DefineComponent } from 'vue';
|
|
4
|
+
import { ExtractPropTypes } from 'vue';
|
|
5
|
+
import { PropType } from 'vue';
|
|
4
6
|
import { PublicProps } from 'vue';
|
|
5
7
|
|
|
8
|
+
declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
9
|
+
|
|
10
|
+
declare type __VLS_Prettify<T> = {
|
|
11
|
+
[K in keyof T]: T[K];
|
|
12
|
+
} & {};
|
|
13
|
+
|
|
14
|
+
declare type __VLS_TypePropsToRuntimeProps<T> = {
|
|
15
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
16
|
+
type: PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
17
|
+
} : {
|
|
18
|
+
type: PropType<T[K]>;
|
|
19
|
+
required: true;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
declare type __VLS_WithDefaults<P, D> = {
|
|
24
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
25
|
+
default: D[K];
|
|
26
|
+
}> : P[K];
|
|
27
|
+
};
|
|
28
|
+
|
|
6
29
|
declare type __VLS_WithTemplateSlots<T, S> = T & {
|
|
7
30
|
new (): {
|
|
8
31
|
$slots: S;
|
|
9
32
|
};
|
|
10
33
|
};
|
|
11
34
|
|
|
12
|
-
declare const _default: __VLS_WithTemplateSlots<DefineComponent<TableRowProps
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
35
|
+
declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TableRowProps>, {
|
|
36
|
+
/**
|
|
37
|
+
* If true, hides the divider between the parent row and expansion row
|
|
38
|
+
*/
|
|
39
|
+
hideExpansionDivider: boolean;
|
|
40
|
+
isExpanded: boolean;
|
|
41
|
+
isSelected: boolean;
|
|
42
|
+
isSelectDisabled: boolean;
|
|
43
|
+
accentColor: undefined;
|
|
44
|
+
}>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
45
|
+
"update:isSelected": (isChecked: boolean | (string | number)[]) => void;
|
|
46
|
+
"update:isExpanded": (isExpanded: boolean) => void;
|
|
47
|
+
}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TableRowProps>, {
|
|
48
|
+
/**
|
|
49
|
+
* If true, hides the divider between the parent row and expansion row
|
|
50
|
+
*/
|
|
51
|
+
hideExpansionDivider: boolean;
|
|
52
|
+
isExpanded: boolean;
|
|
53
|
+
isSelected: boolean;
|
|
54
|
+
isSelectDisabled: boolean;
|
|
55
|
+
accentColor: undefined;
|
|
56
|
+
}>>> & Readonly<{
|
|
16
57
|
"onUpdate:isSelected"?: ((isChecked: boolean | (string | number)[]) => any) | undefined;
|
|
17
58
|
"onUpdate:isExpanded"?: ((isExpanded: boolean) => any) | undefined;
|
|
18
59
|
}>, {
|
|
19
|
-
accentColor: "ice-700" | "white" | "black" | "red-500" | "orange-500" | "blue-500" | "green-500" | "purple-700" | "purple-500" | "purple-100" | "royal-700" | "royal-500" | "royal-100" | "blue-700" | "blue-100" | "teal-700" | "teal-500" | "teal-100" | "green-700" | "green-100" | "seafoam-700" | "seafoam-500" | "seafoam-100" | "yellow-700" | "yellow-500" | "yellow-100" | "orange-700" | "orange-100" | "red-700" | "red-100" | "ice-500" | "ice-200" | "ice-100";
|
|
20
60
|
isExpanded: boolean;
|
|
21
61
|
isSelected: boolean;
|
|
62
|
+
accentColor: "ice-700" | "purple-700" | "purple-500" | "purple-100" | "royal-700" | "royal-500" | "royal-100" | "blue-700" | "blue-500" | "blue-100" | "teal-700" | "teal-500" | "teal-100" | "green-700" | "green-500" | "green-100" | "seafoam-700" | "seafoam-500" | "seafoam-100" | "yellow-700" | "yellow-500" | "yellow-100" | "orange-700" | "orange-500" | "orange-100" | "red-700" | "red-500" | "red-100" | "ice-500" | "ice-200" | "ice-100" | "white" | "black";
|
|
22
63
|
hideExpansionDivider: boolean;
|
|
23
64
|
isSelectDisabled: boolean;
|
|
24
|
-
}, {}, {}, {}, string, ComponentProvideOptions,
|
|
65
|
+
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, Readonly<{
|
|
25
66
|
default(props: {
|
|
26
67
|
isRowExpanded?: boolean | undefined;
|
|
27
68
|
toggleExpand: (value?: boolean | undefined) => void;
|
|
@@ -77,7 +118,7 @@ declare enum StashCommonColors {
|
|
|
77
118
|
Black = "black"
|
|
78
119
|
}
|
|
79
120
|
|
|
80
|
-
declare interface TableRowProps {
|
|
121
|
+
export declare interface TableRowProps {
|
|
81
122
|
hideExpansionDivider?: boolean;
|
|
82
123
|
isExpanded?: boolean;
|
|
83
124
|
isSelected?: boolean;
|
package/dist/Tabs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { _ as s } from "./Tabs.vue_vue_type_script_setup_true_lang-
|
|
2
|
-
import { T as c, a as f } from "./Tabs.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
import { _ as s } from "./Tabs.vue_vue_type_script_setup_true_lang-BlJVDr7o.js";
|
|
2
|
+
import { T as c, a as f } from "./Tabs.vue_vue_type_script_setup_true_lang-BlJVDr7o.js";
|
|
3
3
|
import { _ as a } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
4
4
|
const t = {
|
|
5
5
|
"menu-tab": "_menu-tab_frbn6_2"
|
package/dist/Tabs.vue.d.ts
CHANGED
|
@@ -1,27 +1,32 @@
|
|
|
1
|
-
import { AllowedComponentProps } from 'vue';
|
|
2
|
-
import { ComponentCustomProperties } from 'vue';
|
|
3
|
-
import { ComponentCustomProps } from 'vue';
|
|
4
|
-
import { ComponentInternalInstance } from 'vue';
|
|
5
|
-
import { ComponentOptionsBase } from 'vue';
|
|
6
1
|
import { ComponentOptionsMixin } from 'vue';
|
|
7
2
|
import { ComponentProvideOptions } from 'vue';
|
|
8
|
-
import { ComponentPublicInstance } from 'vue';
|
|
9
3
|
import { ComputedRef } from 'vue';
|
|
10
|
-
import { DebuggerEvent } from 'vue';
|
|
11
4
|
import { DefineComponent } from 'vue';
|
|
12
|
-
import {
|
|
13
|
-
import { DropdownProps } from '../Dropdown/Dropdown.vue';
|
|
14
|
-
import { GlobalComponents } from 'vue';
|
|
15
|
-
import { GlobalDirectives } from 'vue';
|
|
5
|
+
import { ExtractPropTypes } from 'vue';
|
|
16
6
|
import { InjectionKey } from 'vue';
|
|
17
|
-
import {
|
|
18
|
-
import { OnCleanup } from '@vue/reactivity';
|
|
7
|
+
import { PropType } from 'vue';
|
|
19
8
|
import { PublicProps } from 'vue';
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
9
|
+
|
|
10
|
+
declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
11
|
+
|
|
12
|
+
declare type __VLS_Prettify<T> = {
|
|
13
|
+
[K in keyof T]: T[K];
|
|
14
|
+
} & {};
|
|
15
|
+
|
|
16
|
+
declare type __VLS_TypePropsToRuntimeProps<T> = {
|
|
17
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
18
|
+
type: PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
19
|
+
} : {
|
|
20
|
+
type: PropType<T[K]>;
|
|
21
|
+
required: true;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
declare type __VLS_WithDefaults<P, D> = {
|
|
26
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
27
|
+
default: D[K];
|
|
28
|
+
}> : P[K];
|
|
29
|
+
};
|
|
25
30
|
|
|
26
31
|
declare type __VLS_WithTemplateSlots<T, S> = T & {
|
|
27
32
|
new (): {
|
|
@@ -29,113 +34,17 @@ declare type __VLS_WithTemplateSlots<T, S> = T & {
|
|
|
29
34
|
};
|
|
30
35
|
};
|
|
31
36
|
|
|
32
|
-
declare const _default: __VLS_WithTemplateSlots<DefineComponent<TabsProps
|
|
33
|
-
|
|
34
|
-
},
|
|
37
|
+
declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TabsProps>, {
|
|
38
|
+
variant: TabVariant;
|
|
39
|
+
}>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
40
|
+
"update:activeTab": (newTabValue: string) => void;
|
|
41
|
+
}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TabsProps>, {
|
|
42
|
+
variant: TabVariant;
|
|
43
|
+
}>>> & Readonly<{
|
|
35
44
|
"onUpdate:activeTab"?: ((newTabValue: string) => any) | undefined;
|
|
36
45
|
}>, {
|
|
37
46
|
variant: "line" | "enclosed";
|
|
38
|
-
}, {}, {}, {}, string, ComponentProvideOptions,
|
|
39
|
-
tabListEl: HTMLUListElement;
|
|
40
|
-
moreDropdownEl: ({
|
|
41
|
-
$: ComponentInternalInstance;
|
|
42
|
-
$data: {};
|
|
43
|
-
$props: {
|
|
44
|
-
readonly align?: "right" | "left" | undefined;
|
|
45
|
-
readonly label?: string | undefined;
|
|
46
|
-
readonly closeManually?: boolean | undefined;
|
|
47
|
-
readonly offset?: DropdownOffset | undefined;
|
|
48
|
-
readonly reattach?: boolean | undefined;
|
|
49
|
-
readonly contentClass?: string | string[] | undefined;
|
|
50
|
-
readonly fluidContent?: boolean | undefined;
|
|
51
|
-
readonly onToggle?: ((isActive: boolean) => any) | undefined;
|
|
52
|
-
readonly onDismiss?: (() => any) | undefined;
|
|
53
|
-
} & VNodeProps & AllowedComponentProps & ComponentCustomProps;
|
|
54
|
-
$attrs: {
|
|
55
|
-
[x: string]: unknown;
|
|
56
|
-
};
|
|
57
|
-
$refs: {
|
|
58
|
-
[x: string]: unknown;
|
|
59
|
-
} & {
|
|
60
|
-
dropdownRef: HTMLDivElement;
|
|
61
|
-
contentRef: HTMLDivElement;
|
|
62
|
-
};
|
|
63
|
-
$slots: Readonly<{
|
|
64
|
-
[name: string]: Slot<any> | undefined;
|
|
65
|
-
}>;
|
|
66
|
-
$root: ComponentPublicInstance< {}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null;
|
|
67
|
-
$parent: ComponentPublicInstance< {}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null;
|
|
68
|
-
$host: Element | null;
|
|
69
|
-
$emit: ((event: "toggle", isActive: boolean) => void) & ((event: "dismiss") => void);
|
|
70
|
-
$el: HTMLDivElement;
|
|
71
|
-
$options: ComponentOptionsBase<Readonly<DropdownProps> & Readonly<{
|
|
72
|
-
onToggle?: ((isActive: boolean) => any) | undefined;
|
|
73
|
-
onDismiss?: (() => any) | undefined;
|
|
74
|
-
}>, {
|
|
75
|
-
isActive: ComputedRef<boolean>;
|
|
76
|
-
toggle: () => Promise<void>;
|
|
77
|
-
dismiss: (event?: Event | undefined) => void;
|
|
78
|
-
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
79
|
-
toggle: (isActive: boolean) => any;
|
|
80
|
-
dismiss: () => any;
|
|
81
|
-
}, string, {
|
|
82
|
-
label: string;
|
|
83
|
-
align: "right" | "left";
|
|
84
|
-
offset: DropdownOffset;
|
|
85
|
-
closeManually: boolean;
|
|
86
|
-
reattach: boolean;
|
|
87
|
-
contentClass: string | string[];
|
|
88
|
-
fluidContent: boolean;
|
|
89
|
-
}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
|
|
90
|
-
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
|
|
91
|
-
created?: ((() => void) | (() => void)[]) | undefined;
|
|
92
|
-
beforeMount?: ((() => void) | (() => void)[]) | undefined;
|
|
93
|
-
mounted?: ((() => void) | (() => void)[]) | undefined;
|
|
94
|
-
beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
|
|
95
|
-
updated?: ((() => void) | (() => void)[]) | undefined;
|
|
96
|
-
activated?: ((() => void) | (() => void)[]) | undefined;
|
|
97
|
-
deactivated?: ((() => void) | (() => void)[]) | undefined;
|
|
98
|
-
beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
|
|
99
|
-
beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
|
|
100
|
-
destroyed?: ((() => void) | (() => void)[]) | undefined;
|
|
101
|
-
unmounted?: ((() => void) | (() => void)[]) | undefined;
|
|
102
|
-
renderTracked?: (((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]) | undefined;
|
|
103
|
-
renderTriggered?: (((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]) | undefined;
|
|
104
|
-
errorCaptured?: (((err: unknown, instance: ComponentPublicInstance< {}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance< {}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null, info: string) => boolean | void)[]) | undefined;
|
|
105
|
-
};
|
|
106
|
-
$forceUpdate: () => void;
|
|
107
|
-
$nextTick: nextTick;
|
|
108
|
-
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R, args_2: OnCleanup) => any : (args_0: any, args_1: any, args_2: OnCleanup) => any, options?: WatchOptions<boolean> | undefined): WatchStopHandle;
|
|
109
|
-
} & Readonly<{
|
|
110
|
-
label: string;
|
|
111
|
-
align: "right" | "left";
|
|
112
|
-
offset: DropdownOffset;
|
|
113
|
-
closeManually: boolean;
|
|
114
|
-
reattach: boolean;
|
|
115
|
-
contentClass: string | string[];
|
|
116
|
-
fluidContent: boolean;
|
|
117
|
-
}> & Omit<Readonly<DropdownProps> & Readonly<{
|
|
118
|
-
onToggle?: ((isActive: boolean) => any) | undefined;
|
|
119
|
-
onDismiss?: (() => any) | undefined;
|
|
120
|
-
}>, "toggle" | "dismiss" | "isActive" | ("label" | "align" | "offset" | "closeManually" | "reattach" | "contentClass" | "fluidContent")> & ShallowUnwrapRef< {
|
|
121
|
-
isActive: ComputedRef<boolean>;
|
|
122
|
-
toggle: () => Promise<void>;
|
|
123
|
-
dismiss: (event?: Event | undefined) => void;
|
|
124
|
-
}> & {} & ComponentCustomProperties & {} & {
|
|
125
|
-
$slots: {
|
|
126
|
-
toggle?(_: {
|
|
127
|
-
isActive: boolean;
|
|
128
|
-
toggle: () => Promise<void>;
|
|
129
|
-
}): any;
|
|
130
|
-
default?(_: {
|
|
131
|
-
dismiss: (event?: Event | undefined) => void;
|
|
132
|
-
isActive: boolean;
|
|
133
|
-
}): any;
|
|
134
|
-
};
|
|
135
|
-
}) | null;
|
|
136
|
-
moreDropdownMenuEl: HTMLUListElement;
|
|
137
|
-
}, HTMLDivElement>, {
|
|
138
|
-
default?(_: {}): any;
|
|
47
|
+
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
|
|
139
48
|
default?(_: {}): any;
|
|
140
49
|
}>;
|
|
141
50
|
export default _default;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { defineComponent as f, computed as a, provide as T, createElementBlock as h, openBlock as _, createVNode as n, unref as i, normalizeClass as r, withCtx as c, createElementVNode as x, createTextVNode as y, toDisplayString as g, renderSlot as C } from "vue";
|
|
2
|
+
import { t as l } from "./locale.js";
|
|
3
|
+
import I from "./Icon.js";
|
|
4
|
+
import N from "./MoreActions.js";
|
|
5
|
+
const k = Object.freeze({
|
|
6
|
+
key: Symbol("TABS_INJECTION_KEY")
|
|
7
|
+
});
|
|
8
|
+
var d = /* @__PURE__ */ ((e) => (e.Line = "line", e.Enclosed = "enclosed", e))(d || {});
|
|
9
|
+
const E = {
|
|
10
|
+
class: "stash-tabs tw-relative",
|
|
11
|
+
role: "tabList",
|
|
12
|
+
"data-test": "stash-tabs"
|
|
13
|
+
}, A = ["aria-expanded", "onClick"], z = /* @__PURE__ */ f({
|
|
14
|
+
__name: "Tabs",
|
|
15
|
+
props: {
|
|
16
|
+
activeTab: {},
|
|
17
|
+
variant: { default: d.Line }
|
|
18
|
+
},
|
|
19
|
+
emits: ["update:activeTab"],
|
|
20
|
+
setup(e, { emit: m }) {
|
|
21
|
+
const p = m, o = e, s = a({
|
|
22
|
+
get() {
|
|
23
|
+
return o.activeTab;
|
|
24
|
+
},
|
|
25
|
+
set(t) {
|
|
26
|
+
p("update:activeTab", t);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
function u(t) {
|
|
30
|
+
s.value = t;
|
|
31
|
+
}
|
|
32
|
+
const v = a(() => `tab-${s.value}`);
|
|
33
|
+
return T(k.key, {
|
|
34
|
+
activeTab: a(() => s.value),
|
|
35
|
+
variant: a(() => o.variant),
|
|
36
|
+
setActiveTab: u
|
|
37
|
+
}), (t, S) => (_(), h("div", E, [
|
|
38
|
+
n(N, {
|
|
39
|
+
class: r(["stash-tabs-list tw-flex tw-items-end", {
|
|
40
|
+
"stash-tabs-list--line": t.variant === "line",
|
|
41
|
+
"stash-tabs-list--enclosed": t.variant === "enclosed",
|
|
42
|
+
"tw-gap-6": t.variant === "line"
|
|
43
|
+
}]),
|
|
44
|
+
"more-button-text": i(l)("ll.more"),
|
|
45
|
+
"dropdown-mode": "custom",
|
|
46
|
+
"auto-style-dropdown-items": "",
|
|
47
|
+
"active-item-id": v.value,
|
|
48
|
+
"actions-container-class": {
|
|
49
|
+
"tw-gap-0": t.variant === "enclosed",
|
|
50
|
+
"tw-gap-6": t.variant === "line"
|
|
51
|
+
}
|
|
52
|
+
}, {
|
|
53
|
+
actions: c(() => [
|
|
54
|
+
C(t.$slots, "default")
|
|
55
|
+
]),
|
|
56
|
+
toggle: c(({ toggle: b, isOpen: w }) => [
|
|
57
|
+
x("button", {
|
|
58
|
+
"aria-haspopup": "menu",
|
|
59
|
+
"aria-expanded": w,
|
|
60
|
+
class: r(["tw-flex tw-cursor-pointer tw-items-center tw-justify-center tw-border-solid tw-px-6 tw-py-1.5 tw-text-sm tw-font-medium tw-text-blue-500 hover:tw-text-blue-700", { "tw-border-t-4 tw-border-transparent": o.variant === "enclosed" }]),
|
|
61
|
+
type: "button",
|
|
62
|
+
onClick: b
|
|
63
|
+
}, [
|
|
64
|
+
y(g(i(l)("ll.more")) + " ", 1),
|
|
65
|
+
n(I, { name: "caret-down" })
|
|
66
|
+
], 10, A)
|
|
67
|
+
]),
|
|
68
|
+
_: 3
|
|
69
|
+
}, 8, ["class", "more-button-text", "active-item-id", "actions-container-class"])
|
|
70
|
+
]));
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
export {
|
|
74
|
+
k as T,
|
|
75
|
+
z as _,
|
|
76
|
+
d as a
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=Tabs.vue_vue_type_script_setup_true_lang-BlJVDr7o.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.vue_vue_type_script_setup_true_lang-BlJVDr7o.js","sources":["../src/components/Tabs/keys.ts","../src/components/Tabs/models.ts","../src/components/Tabs/Tabs.vue"],"sourcesContent":["import { Injection } from '../../../types/utils';\nimport { TabsInjection } from './models';\n\nexport const TABS_INJECTION: Injection<TabsInjection> = Object.freeze({\n key: Symbol('TABS_INJECTION_KEY'),\n});\n","import { ComputedRef } from 'vue';\n\nexport enum TabVariant {\n Line = 'line',\n Enclosed = 'enclosed',\n}\n\nexport type TabVariants = `${TabVariant}`;\n\nexport interface TabsInjection {\n activeTab: ComputedRef<string>;\n variant: ComputedRef<TabVariants>;\n setActiveTab: (newTabValue: string) => void;\n}\n","<script lang=\"ts\">\n import { TabVariant, TabVariants } from './models';\n\n export * from './keys';\n export * from './models';\n\n export interface TabsProps {\n /**\n * The currently active tab value\n */\n activeTab: string;\n\n /**\n * Tabs variant\n */\n variant?: TabVariants;\n }\n</script>\n\n<script setup lang=\"ts\">\n import { computed, provide } from 'vue';\n\n import { t } from '../../locale';\n import Icon from '../Icon/Icon.vue';\n import MoreActions from '../MoreActions/MoreActions.vue';\n import { TABS_INJECTION } from './keys';\n\n const emit = defineEmits<{\n (e: 'update:activeTab', newTabValue: TabsProps['activeTab']): void;\n }>();\n\n const props = withDefaults(defineProps<TabsProps>(), {\n variant: TabVariant.Line,\n });\n\n const currentActiveTab = computed({\n get() {\n return props.activeTab;\n },\n set(nv: TabsProps['activeTab']) {\n emit('update:activeTab', nv);\n },\n });\n\n function setActiveTab(newTabValue) {\n currentActiveTab.value = newTabValue;\n }\n\n const activeItemId = computed(() => `tab-${currentActiveTab.value}`);\n\n provide(TABS_INJECTION.key, {\n activeTab: computed(() => currentActiveTab.value),\n variant: computed(() => props.variant),\n setActiveTab,\n });\n</script>\n\n<template>\n <div class=\"stash-tabs tw-relative\" role=\"tabList\" data-test=\"stash-tabs\">\n <MoreActions\n class=\"stash-tabs-list tw-flex tw-items-end\"\n :class=\"{\n 'stash-tabs-list--line': variant === 'line',\n 'stash-tabs-list--enclosed': variant === 'enclosed',\n 'tw-gap-6': variant === 'line',\n }\"\n :more-button-text=\"t('ll.more')\"\n dropdown-mode=\"custom\"\n auto-style-dropdown-items\n :active-item-id=\"activeItemId\"\n :actions-container-class=\"{\n 'tw-gap-0': variant === 'enclosed',\n 'tw-gap-6': variant === 'line',\n }\"\n >\n <template #actions>\n <slot></slot>\n </template>\n <template #toggle=\"{ toggle, isOpen }\">\n <button\n aria-haspopup=\"menu\"\n :aria-expanded=\"isOpen\"\n class=\"tw-flex tw-cursor-pointer tw-items-center tw-justify-center tw-border-solid tw-px-6 tw-py-1.5 tw-text-sm tw-font-medium tw-text-blue-500 hover:tw-text-blue-700\"\n :class=\"{ 'tw-border-t-4 tw-border-transparent': props.variant === 'enclosed' }\"\n type=\"button\"\n @click=\"toggle\"\n >\n {{ t('ll.more') }}\n <Icon name=\"caret-down\" />\n </button>\n </template>\n </MoreActions>\n </div>\n</template>\n\n<style module>\n .menu-tab > a {\n /* prevents the global link styles to overwrite the overflowed tab styles */\n &,\n &:hover,\n &:focus {\n color: inherit;\n }\n }\n</style>\n"],"names":["TABS_INJECTION","TabVariant","emit","__emit","props","__props","currentActiveTab","computed","nv","setActiveTab","newTabValue","activeItemId","provide"],"mappings":";;;;AAGa,MAAAA,IAA2C,OAAO,OAAO;AAAA,EACpE,KAAK,OAAO,oBAAoB;AAClC,CAAC;ACHW,IAAAC,sBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,WAAW,YAFDA,IAAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;;ACyBV,UAAMC,IAAOC,GAIPC,IAAQC,GAIRC,IAAmBC,EAAS;AAAA,MAChC,MAAM;AACJ,eAAOH,EAAM;AAAA,MACf;AAAA,MACA,IAAII,GAA4B;AAC9B,QAAAN,EAAK,oBAAoBM,CAAE;AAAA,MAAA;AAAA,IAC7B,CACD;AAED,aAASC,EAAaC,GAAa;AACjC,MAAAJ,EAAiB,QAAQI;AAAA,IAAA;AAG3B,UAAMC,IAAeJ,EAAS,MAAM,OAAOD,EAAiB,KAAK,EAAE;AAEnE,WAAAM,EAAQZ,EAAe,KAAK;AAAA,MAC1B,WAAWO,EAAS,MAAMD,EAAiB,KAAK;AAAA,MAChD,SAASC,EAAS,MAAMH,EAAM,OAAO;AAAA,MACrC,cAAAK;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|