@varlet/ui 3.17.1 → 3.18.0-alpha.1781190469654

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/es/app-bar/AppBar.mjs +2 -0
  2. package/es/app-bar/appBar.css +1 -1
  3. package/es/app-bar/props.mjs +8 -0
  4. package/es/badge/badge.css +1 -1
  5. package/es/bottom-navigation-item/BottomNavigationItem.mjs +1 -1
  6. package/es/bottom-navigation-item/bottomNavigationItem.css +1 -1
  7. package/es/button/Button.mjs +13 -6
  8. package/es/button/button.css +1 -1
  9. package/es/button/props.mjs +2 -0
  10. package/es/collapse-transition/useCollapseTransition.mjs +27 -8
  11. package/es/data-table/DataTable.mjs +656 -0
  12. package/es/data-table/DataTableBodyCell.mjs +210 -0
  13. package/es/data-table/DataTableHeaderCell.mjs +237 -0
  14. package/es/data-table/DataTableSfc.css +0 -0
  15. package/es/data-table/dataTable.css +1 -0
  16. package/es/data-table/index.mjs +12 -0
  17. package/es/data-table/props.mjs +94 -0
  18. package/es/data-table/span.mjs +29 -0
  19. package/es/data-table/style/index.mjs +17 -0
  20. package/es/data-table/useBodyRows.mjs +141 -0
  21. package/es/data-table/useColumnSizes.mjs +175 -0
  22. package/es/data-table/useColumnsFixedOffsets.mjs +90 -0
  23. package/es/data-table/useContainerScroll.mjs +35 -0
  24. package/es/data-table/useExpandRow.mjs +46 -0
  25. package/es/data-table/useFootRows.mjs +49 -0
  26. package/es/data-table/useHeaderRows.mjs +113 -0
  27. package/es/data-table/usePagination.mjs +101 -0
  28. package/es/data-table/useSelectionColumn.mjs +242 -0
  29. package/es/data-table/useSorter.mjs +70 -0
  30. package/es/data-table/useTreeExpand.mjs +69 -0
  31. package/es/icon/icon.css +1 -1
  32. package/es/index.bundle.mjs +25 -1
  33. package/es/index.mjs +21 -1
  34. package/es/locale/en-US.mjs +3 -1
  35. package/es/locale/fa-IR.mjs +3 -1
  36. package/es/locale/ja-JP.mjs +3 -1
  37. package/es/locale/zh-CN.mjs +3 -1
  38. package/es/locale/zh-TW.mjs +3 -1
  39. package/es/menu/Menu.mjs +1 -0
  40. package/es/menu/menu.css +1 -1
  41. package/es/menu-select/MenuSelect.mjs +1 -1
  42. package/es/menu-select/menuSelect.css +1 -1
  43. package/es/otp-input/OtpInput.mjs +39 -12
  44. package/es/pagination/pagination.css +1 -1
  45. package/es/rail-navigation/RailNavigation.mjs +87 -0
  46. package/es/rail-navigation/RailNavigationSfc.css +0 -0
  47. package/es/rail-navigation/index.mjs +12 -0
  48. package/es/rail-navigation/props.mjs +21 -0
  49. package/es/rail-navigation/provide.mjs +12 -0
  50. package/es/rail-navigation/railNavigation.css +1 -0
  51. package/es/rail-navigation/style/index.mjs +3 -0
  52. package/es/rail-navigation-item/RailNavigationItem.mjs +177 -0
  53. package/es/rail-navigation-item/RailNavigationItemSfc.css +0 -0
  54. package/es/rail-navigation-item/index.mjs +12 -0
  55. package/es/rail-navigation-item/props.mjs +19 -0
  56. package/es/rail-navigation-item/provide.mjs +17 -0
  57. package/es/rail-navigation-item/railNavigationItem.css +1 -0
  58. package/es/rail-navigation-item/style/index.mjs +6 -0
  59. package/es/select/Select.mjs +1 -1
  60. package/es/select/select.css +1 -1
  61. package/es/snackbar/style/index.mjs +1 -1
  62. package/es/style.mjs +4 -0
  63. package/es/styles/common.css +1 -1
  64. package/es/table/Table.mjs +22 -9
  65. package/es/table/props.mjs +3 -1
  66. package/es/table/table.css +1 -1
  67. package/es/themes/dark/appBar.mjs +3 -0
  68. package/es/themes/dark/bottomNavigationItem.mjs +1 -0
  69. package/es/themes/dark/button.mjs +3 -0
  70. package/es/themes/dark/dataTable.mjs +31 -0
  71. package/es/themes/dark/index.mjs +6 -2
  72. package/es/themes/dark/railNavigation.mjs +12 -0
  73. package/es/themes/dark/railNavigationItem.mjs +18 -0
  74. package/es/themes/dark/table.mjs +4 -1
  75. package/es/themes/dark/treeMenu.mjs +32 -0
  76. package/es/themes/md3-dark/appBar.mjs +3 -0
  77. package/es/themes/md3-dark/bottomNavigationItem.mjs +1 -0
  78. package/es/themes/md3-dark/button.mjs +3 -0
  79. package/es/themes/md3-dark/dataTable.mjs +31 -0
  80. package/es/themes/md3-dark/index.mjs +6 -2
  81. package/es/themes/md3-dark/railNavigation.mjs +12 -0
  82. package/es/themes/md3-dark/railNavigationItem.mjs +18 -0
  83. package/es/themes/md3-dark/table.mjs +4 -1
  84. package/es/themes/md3-dark/treeMenu.mjs +32 -0
  85. package/es/themes/md3-light/appBar.mjs +3 -0
  86. package/es/themes/md3-light/bottomNavigationItem.mjs +1 -0
  87. package/es/themes/md3-light/button.mjs +3 -0
  88. package/es/themes/md3-light/dataTable.mjs +31 -0
  89. package/es/themes/md3-light/index.mjs +6 -2
  90. package/es/themes/md3-light/pagination.mjs +1 -1
  91. package/es/themes/md3-light/railNavigation.mjs +12 -0
  92. package/es/themes/md3-light/railNavigationItem.mjs +18 -0
  93. package/es/themes/md3-light/table.mjs +4 -1
  94. package/es/themes/md3-light/treeMenu.mjs +32 -0
  95. package/es/tree-menu/TreeMenu.mjs +223 -0
  96. package/es/tree-menu/TreeMenuOption.mjs +206 -0
  97. package/es/tree-menu/TreeMenuSfc.css +0 -0
  98. package/es/tree-menu/index.mjs +12 -0
  99. package/es/tree-menu/props.mjs +40 -0
  100. package/es/tree-menu/style/index.mjs +6 -0
  101. package/es/tree-menu/treeMenu.css +1 -0
  102. package/es/varlet.css +1 -1
  103. package/es/varlet.esm.js +11262 -8955
  104. package/highlight/web-types.en-US.json +414 -1
  105. package/highlight/web-types.zh-CN.json +148 -1
  106. package/lib/varlet.cjs.js +10836 -8015
  107. package/lib/varlet.css +1 -1
  108. package/package.json +7 -7
  109. package/types/appBar.d.ts +6 -0
  110. package/types/button.d.ts +2 -0
  111. package/types/buttonGroup.d.ts +1 -1
  112. package/types/dataTable.d.ts +173 -0
  113. package/types/index.d.ts +8 -0
  114. package/types/railNavigation.d.ts +27 -0
  115. package/types/railNavigationItem.d.ts +38 -0
  116. package/types/styleVars.d.ts +84 -0
  117. package/types/table.d.ts +2 -0
  118. package/types/treeMenu.d.ts +80 -0
  119. package/umd/varlet.js +7 -7
@@ -1,4 +1,24 @@
1
- import { call, clamp, toNumber } from "@varlet/shared";
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+ import { call, clamp, raf, toNumber } from "@varlet/shared";
2
22
  import { onSmartMounted } from "@varlet/use";
3
23
  import { computed, defineComponent, nextTick, ref, useSlots } from "vue";
4
24
  import VarFormDetails from "../form-details/index.mjs";
@@ -51,7 +71,6 @@ function __render__(_ctx, _cache) {
51
71
  ref: (el) => _ctx.setInputRef(el, index),
52
72
  "model-value": _ctx.getDisplayChar(index),
53
73
  type: _ctx.nativeInputType,
54
- maxlength: 1,
55
74
  autocomplete: "one-time-code",
56
75
  placeholder: "",
57
76
  hint: false,
@@ -206,9 +225,15 @@ const __sfc__ = defineComponent({
206
225
  maybeEmitComplete(value);
207
226
  }
208
227
  function focusCell(index) {
209
- var _a, _b;
210
- const targetIndex = clamp(index, 0, normalizedLength.value - 1);
211
- (_b = (_a = inputRefs.value[targetIndex]) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);
228
+ return __async(this, null, function* () {
229
+ var _a, _b, _c, _d, _e;
230
+ const targetIndex = clamp(index, 0, normalizedLength.value - 1);
231
+ (_b = (_a = inputRefs.value[targetIndex]) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);
232
+ yield raf();
233
+ if (document.activeElement === ((_c = inputRefs.value[targetIndex]) == null ? void 0 : _c.el)) {
234
+ (_e = (_d = inputRefs.value[targetIndex]) == null ? void 0 : _d.select) == null ? void 0 : _e.call(_d);
235
+ }
236
+ });
212
237
  }
213
238
  function focus(index) {
214
239
  const targetIndex = index == null ? Math.min(getValueChars().length, normalizedLength.value - 1) : index;
@@ -295,18 +320,19 @@ const __sfc__ = defineComponent({
295
320
  if (props2.disabled || formDisabled.value) {
296
321
  return;
297
322
  }
323
+ const target = event.target;
324
+ const cell = target == null ? void 0 : target.closest(`.${n("cell")}`);
325
+ const indexAttr = cell == null ? void 0 : cell.dataset.index;
298
326
  call(props2.onClick, event);
299
327
  validateWithTrigger("onClick");
328
+ if (indexAttr == null) {
329
+ return;
330
+ }
331
+ focusCell(Number(indexAttr));
300
332
  }
301
333
  function handleFocus(index) {
302
- const valueChars = getValueChars();
303
334
  activeIndex.value = index;
304
- if (valueChars[index]) {
305
- nextTick(() => {
306
- var _a, _b;
307
- (_b = (_a = inputRefs.value[index]) == null ? void 0 : _a.select) == null ? void 0 : _b.call(_a);
308
- });
309
- }
335
+ focusCell(index);
310
336
  }
311
337
  function handleBlur(event) {
312
338
  var _a;
@@ -330,6 +356,7 @@ const __sfc__ = defineComponent({
330
356
  removeAt(index);
331
357
  } else {
332
358
  syncCellDisplayValue(index);
359
+ scheduleFocusEffect(index);
333
360
  }
334
361
  return;
335
362
  }
@@ -1 +1 @@
1
- :root { --pagination-text-color: #555; --pagination-font-size: var(--font-size-md); --pagination-active-color: var(--color-on-primary); --pagination-active-bg-color: var(--color-primary); --pagination-hover-bg-color: rgba(85, 85, 85, 0.15); --pagination-total-margin: 0 10px; --pagination-total-line-height: 24px; --pagination-item-width: 32px; --pagination-item-height: 32px; --pagination-item-margin: 0 6px; --pagination-item-background: #fff; --pagination-item-border-radius: 4px; --pagination-item-simple-border-radius: 50%; --pagination-input-width: 32px; --pagination-disabled-color: var(--color-text-disabled); --pagination-bg-disabled-color: var(--color-disabled); --pagination-size-line-height: 24px; --pagination-size-padding: 0 4px; --pagination-quick-jumper-margin: 0 10px;}.var-pagination-flex-nowrap { display: flex; white-space: nowrap; align-items: center;}.var-pagination { display: flex; align-items: center; list-style: none; margin: 0; font-size: var(--pagination-font-size); padding: 0; color: var(--pagination-text-color);}.var-pagination__item { display: inline-flex; min-width: var(--pagination-item-width); align-items: center; justify-content: center; margin: var(--pagination-item-margin); height: var(--pagination-item-height); cursor: pointer; border-radius: var(--pagination-item-border-radius); outline: none; transition: all 0.25s; user-select: none; background-color: var(--pagination-item-background);}.var-pagination__item:hover { background-color: var(--pagination-hover-bg-color);}.var-pagination__item--active { color: var(--pagination-active-color); background-color: var(--pagination-active-bg-color) !important;}.var-pagination__item--hide { display: none;}.var-pagination__item--simple { background: transparent; border-radius: var(--pagination-item-simple-border-radius);}.var-pagination__item--disabled { cursor: not-allowed !important; color: var(--pagination-disabled-color); background-color: unset; box-shadow: none !important;}.var-pagination__item--disabled:hover { background-color: unset;}.var-pagination__item--disabled--active { background-color: var(--pagination-bg-disabled-color);}.var-pagination__item--disabled--active:hover { background-color: var(--pagination-bg-disabled-color);}.var-pagination__prev { margin-left: 0;}.var-pagination__total { display: flex; white-space: nowrap; align-items: center; line-height: var(--pagination-total-line-height); margin: var(--pagination-total-margin);}.var-pagination__size { display: flex; white-space: nowrap; align-items: center; height: var(--pagination-item-height); line-height: var(--pagination-size-line-height); margin: var(--pagination-item-margin); padding: var(--pagination-size-padding); cursor: pointer;}.var-pagination__size--open { display: flex; align-items: center; cursor: pointer;}.var-pagination__size--open--disabled { cursor: inherit;}.var-pagination__quickly,.var-pagination__simple { display: flex; white-space: nowrap; align-items: center;}.var-pagination__quickly [var-pagination-cover],.var-pagination__simple [var-pagination-cover] { width: var(--pagination-input-width);}.var-pagination__quickly [var-pagination-cover] .var-field-decorator__middle,.var-pagination__simple [var-pagination-cover] .var-field-decorator__middle { padding: 0;}.var-pagination__quickly [var-pagination-cover] .var-input__input,.var-pagination__simple [var-pagination-cover] .var-input__input { height: auto; text-align: center; font-weight: normal; font-size: var(--pagination-font-size); padding-top: 1px;}.var-pagination__quickly-line,.var-pagination__simple-line { height: 1px; background: transparent;}.var-pagination__quickly { margin: var(--pagination-quick-jumper-margin);}.var-pagination__quickly [var-pagination-cover] { margin-left: 6px;}.var-pagination__size--open-icon[var-pagination-cover] { font-size: inherit;}
1
+ :root { --pagination-text-color: #555; --pagination-font-size: var(--font-size-md); --pagination-active-color: var(--color-on-primary); --pagination-active-bg-color: var(--color-primary); --pagination-hover-bg-color: rgba(85, 85, 85, 0.15); --pagination-total-margin: 0 10px; --pagination-total-line-height: 24px; --pagination-item-width: 32px; --pagination-item-height: 32px; --pagination-item-margin: 0 6px; --pagination-item-background: #fff; --pagination-item-border-radius: 4px; --pagination-item-simple-border-radius: 50%; --pagination-input-width: 32px; --pagination-disabled-color: var(--color-text-disabled); --pagination-bg-disabled-color: var(--color-disabled); --pagination-size-line-height: 24px; --pagination-size-padding: 0 4px; --pagination-quick-jumper-margin: 0 10px;}.var-pagination-flex-nowrap { display: flex; white-space: nowrap; align-items: center;}.var-pagination { display: flex; align-items: center; list-style: none; margin: 0; font-size: var(--pagination-font-size); padding: 0; color: var(--pagination-text-color);}.var-pagination__item { display: inline-flex; min-width: var(--pagination-item-width); align-items: center; justify-content: center; margin: var(--pagination-item-margin); height: var(--pagination-item-height); cursor: pointer; border-radius: var(--pagination-item-border-radius); outline: none; transition: all 0.25s; user-select: none; background-color: var(--pagination-item-background);}.var-pagination__item:hover { background-color: var(--pagination-hover-bg-color);}.var-pagination__item--active { color: var(--pagination-active-color); background-color: var(--pagination-active-bg-color) !important;}.var-pagination__item--hide { display: none;}.var-pagination__item--simple { background: transparent; border-radius: var(--pagination-item-simple-border-radius);}.var-pagination__item--disabled { cursor: not-allowed !important; color: var(--pagination-disabled-color); background-color: unset; box-shadow: none !important;}.var-pagination__item--disabled:hover { background-color: unset;}.var-pagination__item--disabled--active { background-color: var(--pagination-bg-disabled-color);}.var-pagination__item--disabled--active:hover { background-color: var(--pagination-bg-disabled-color);}.var-pagination__prev { margin-left: 0;}.var-pagination__next:last-child { margin-right: 0;}.var-pagination__total { display: flex; white-space: nowrap; align-items: center; line-height: var(--pagination-total-line-height); margin: var(--pagination-total-margin);}.var-pagination__size { display: flex; white-space: nowrap; align-items: center; height: var(--pagination-item-height); line-height: var(--pagination-size-line-height); margin: var(--pagination-item-margin); padding: var(--pagination-size-padding); cursor: pointer;}.var-pagination__size--open { display: flex; align-items: center; cursor: pointer;}.var-pagination__size--open--disabled { cursor: inherit;}.var-pagination__quickly,.var-pagination__simple { display: flex; white-space: nowrap; align-items: center;}.var-pagination__quickly [var-pagination-cover],.var-pagination__simple [var-pagination-cover] { width: var(--pagination-input-width);}.var-pagination__quickly [var-pagination-cover] .var-field-decorator__middle,.var-pagination__simple [var-pagination-cover] .var-field-decorator__middle { padding: 0;}.var-pagination__quickly [var-pagination-cover] .var-input__input,.var-pagination__simple [var-pagination-cover] .var-input__input { height: auto; text-align: center; font-weight: normal; font-size: var(--pagination-font-size); padding-top: 1px;}.var-pagination__quickly-line,.var-pagination__simple-line { height: 1px; background: transparent;}.var-pagination__quickly { margin: var(--pagination-quick-jumper-margin);}.var-pagination__quickly [var-pagination-cover] { margin-left: 6px;}.var-pagination__size--open-icon[var-pagination-cover] { font-size: inherit;}
@@ -0,0 +1,87 @@
1
+ import { call } from "@varlet/shared";
2
+ import { computed, defineComponent } from "vue";
3
+ import { createNamespace } from "../utils/components.mjs";
4
+ import { props } from "./props.mjs";
5
+ import { useRailNavigationItems } from "./provide.mjs";
6
+ const { name, n, classes } = createNamespace("rail-navigation");
7
+ import { renderSlot as _renderSlot, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from "vue";
8
+ function __render__(_ctx, _cache) {
9
+ return _openBlock(), _createElementBlock(
10
+ "aside",
11
+ _mergeProps({
12
+ class: _ctx.classes(_ctx.n(), _ctx.n("$--box"), [_ctx.border, _ctx.n("--border")])
13
+ }, _ctx.$attrs),
14
+ [
15
+ _ctx.$slots.start ? (_openBlock(), _createElementBlock(
16
+ "div",
17
+ {
18
+ key: 0,
19
+ class: _normalizeClass(_ctx.n("start"))
20
+ },
21
+ [
22
+ _renderSlot(_ctx.$slots, "start")
23
+ ],
24
+ 2
25
+ /* CLASS */
26
+ )) : _createCommentVNode("v-if", true),
27
+ _createElementVNode(
28
+ "nav",
29
+ {
30
+ class: _normalizeClass(_ctx.n("content"))
31
+ },
32
+ [
33
+ _renderSlot(_ctx.$slots, "default")
34
+ ],
35
+ 2
36
+ /* CLASS */
37
+ ),
38
+ _ctx.$slots.end ? (_openBlock(), _createElementBlock(
39
+ "div",
40
+ {
41
+ key: 1,
42
+ class: _normalizeClass(_ctx.n("end"))
43
+ },
44
+ [
45
+ _renderSlot(_ctx.$slots, "end")
46
+ ],
47
+ 2
48
+ /* CLASS */
49
+ )) : _createCommentVNode("v-if", true)
50
+ ],
51
+ 16
52
+ /* FULL_PROPS */
53
+ );
54
+ }
55
+ const __sfc__ = defineComponent({
56
+ name,
57
+ props,
58
+ setup(props2) {
59
+ const active = computed(() => props2.active);
60
+ const ripple = computed(() => props2.ripple);
61
+ const showLabel = computed(() => props2.showLabel);
62
+ const { bindRailNavigationItem } = useRailNavigationItems();
63
+ const railNavigationProvider = {
64
+ active,
65
+ ripple,
66
+ showLabel,
67
+ onToggle
68
+ };
69
+ bindRailNavigationItem(railNavigationProvider);
70
+ function onToggle(value) {
71
+ if (active.value === value) {
72
+ return;
73
+ }
74
+ call(props2["onUpdate:active"], value);
75
+ call(props2.onChange, value);
76
+ }
77
+ return {
78
+ n,
79
+ classes
80
+ };
81
+ }
82
+ });
83
+ __sfc__.render = __render__;
84
+ var stdin_default = __sfc__;
85
+ export {
86
+ stdin_default as default
87
+ };
File without changes
@@ -0,0 +1,12 @@
1
+ import { withInstall, withPropsDefaultsSetter } from "../utils/components.mjs";
2
+ import { props as railNavigationProps } from "./props.mjs";
3
+ import RailNavigation from "./RailNavigation.mjs";
4
+ withInstall(RailNavigation);
5
+ withPropsDefaultsSetter(RailNavigation, railNavigationProps);
6
+ const _RailNavigationComponent = RailNavigation;
7
+ var stdin_default = RailNavigation;
8
+ export {
9
+ _RailNavigationComponent,
10
+ stdin_default as default,
11
+ railNavigationProps
12
+ };
@@ -0,0 +1,21 @@
1
+ import { defineListenerProp } from "../utils/components.mjs";
2
+ const props = {
3
+ active: {
4
+ type: [Number, String],
5
+ default: 0
6
+ },
7
+ ripple: {
8
+ type: Boolean,
9
+ default: false
10
+ },
11
+ showLabel: {
12
+ type: Boolean,
13
+ default: true
14
+ },
15
+ border: Boolean,
16
+ onChange: defineListenerProp(),
17
+ "onUpdate:active": defineListenerProp()
18
+ };
19
+ export {
20
+ props
21
+ };
@@ -0,0 +1,12 @@
1
+ import { useChildren } from "@varlet/use";
2
+ const RAIL_NAVIGATION_BIND_RAIL_NAVIGATION_ITEM_KEY = /* @__PURE__ */ Symbol("RAIL_NAVIGATION_BIND_RAIL_NAVIGATION_ITEM_KEY");
3
+ function useRailNavigationItems() {
4
+ const { bindChildren } = useChildren(RAIL_NAVIGATION_BIND_RAIL_NAVIGATION_ITEM_KEY);
5
+ return {
6
+ bindRailNavigationItem: bindChildren
7
+ };
8
+ }
9
+ export {
10
+ RAIL_NAVIGATION_BIND_RAIL_NAVIGATION_ITEM_KEY,
11
+ useRailNavigationItems
12
+ };
@@ -0,0 +1 @@
1
+ :root { --rail-navigation-width: 80px; --rail-navigation-background: var(--color-surface-container-high); --rail-navigation-border-color: var(--color-outline); --rail-navigation-padding: 12px 0; --rail-navigation-start-padding: 4px 0; --rail-navigation-end-padding: 4px 0; --rail-navigation-item-gap: 4px;}.var-rail-navigation { width: var(--rail-navigation-width); min-height: 100%; padding: var(--rail-navigation-padding); display: inline-flex; flex-direction: column; align-items: stretch; background-color: var(--rail-navigation-background); transition: background-color 250ms; -webkit-tap-highlight-color: transparent;}.var-rail-navigation--border { border-right: 1px solid var(--rail-navigation-border-color);}.var-rail-navigation__start,.var-rail-navigation__end { display: flex; flex-direction: column; align-items: center;}.var-rail-navigation__start { padding: var(--rail-navigation-start-padding);}.var-rail-navigation__end { padding: var(--rail-navigation-end-padding);}.var-rail-navigation__content { min-height: 0; flex: 1; display: flex; flex-direction: column; align-items: stretch; overflow-x: hidden; overflow-y: auto; scrollbar-width: none;}.var-rail-navigation__content::-webkit-scrollbar { display: none;}.var-rail-navigation__content > * + * { margin-top: var(--rail-navigation-item-gap);}
@@ -0,0 +1,3 @@
1
+ import '../../styles/common.css'
2
+ import '../railNavigation.css'
3
+ import '../RailNavigationSfc.css'
@@ -0,0 +1,177 @@
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+ import { call, doubleRaf } from "@varlet/shared";
22
+ import { computed, defineComponent, onMounted, ref } from "vue";
23
+ import VarBadge from "../badge/index.mjs";
24
+ import VarIcon from "../icon/index.mjs";
25
+ import Ripple from "../ripple/index.mjs";
26
+ import { createNamespace } from "../utils/components.mjs";
27
+ import { props } from "./props.mjs";
28
+ import { useRailNavigation } from "./provide.mjs";
29
+ const { name, n, classes } = createNamespace("rail-navigation-item");
30
+ const defaultBadgeProps = {
31
+ type: "primary",
32
+ dot: true
33
+ };
34
+ import { renderSlot as _renderSlot, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, createVNode as _createVNode, mergeProps as _mergeProps, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, normalizeStyle as _normalizeStyle, resolveDirective as _resolveDirective, withDirectives as _withDirectives } from "vue";
35
+ const _hoisted_1 = ["aria-disabled"];
36
+ function __render__(_ctx, _cache) {
37
+ const _component_var_icon = _resolveComponent("var-icon");
38
+ const _component_var_badge = _resolveComponent("var-badge");
39
+ const _directive_ripple = _resolveDirective("ripple");
40
+ return _withDirectives((_openBlock(), _createElementBlock("div", {
41
+ class: _normalizeClass(
42
+ _ctx.classes(
43
+ _ctx.n(),
44
+ [_ctx.isActive, _ctx.n("--active")],
45
+ [_ctx.disabled, _ctx.n("--disabled")],
46
+ [_ctx.ripple && !_ctx.disabled, _ctx.n("--ripple-enabled")],
47
+ [!_ctx.showLabel, _ctx.n("--icon-only")]
48
+ )
49
+ ),
50
+ style: _normalizeStyle({ "--rail-navigation-item-transition-duration-override": _ctx.allowTransition && !_ctx.ripple ? void 0 : "0ms" }),
51
+ "aria-disabled": _ctx.disabled,
52
+ role: "button",
53
+ onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args)),
54
+ onMouseenter: _cache[1] || (_cache[1] = (...args) => _ctx.handleMouseenter && _ctx.handleMouseenter(...args)),
55
+ onMouseleave: _cache[2] || (_cache[2] = (...args) => _ctx.handleMouseleave && _ctx.handleMouseleave(...args))
56
+ }, [
57
+ _ctx.$slots.icon || _ctx.icon ? (_openBlock(), _createElementBlock(
58
+ "span",
59
+ {
60
+ key: 0,
61
+ class: _normalizeClass(_ctx.n("indicator"))
62
+ },
63
+ [
64
+ _ctx.badge ? (_openBlock(), _createBlock(_component_var_badge, _mergeProps({ key: 0 }, _ctx.badgeProps, {
65
+ class: _ctx.n("badge"),
66
+ "var-rail-navigation-item-cover": ""
67
+ }), {
68
+ default: _withCtx(() => [
69
+ _renderSlot(_ctx.$slots, "icon", { active: _ctx.isActive }, () => [
70
+ _createVNode(_component_var_icon, {
71
+ class: _normalizeClass(_ctx.n("icon")),
72
+ name: _ctx.icon,
73
+ namespace: _ctx.namespace,
74
+ "var-rail-navigation-item-cover": ""
75
+ }, null, 8, ["class", "name", "namespace"])
76
+ ])
77
+ ]),
78
+ _: 3
79
+ /* FORWARDED */
80
+ }, 16, ["class"])) : _renderSlot(_ctx.$slots, "icon", {
81
+ key: 1,
82
+ active: _ctx.isActive
83
+ }, () => [
84
+ _createVNode(_component_var_icon, {
85
+ class: _normalizeClass(_ctx.n("icon")),
86
+ name: _ctx.icon,
87
+ namespace: _ctx.namespace,
88
+ "var-rail-navigation-item-cover": ""
89
+ }, null, 8, ["class", "name", "namespace"])
90
+ ])
91
+ ],
92
+ 2
93
+ /* CLASS */
94
+ )) : _createCommentVNode("v-if", true),
95
+ _ctx.showLabel && (_ctx.$slots.default || _ctx.label) ? (_openBlock(), _createElementBlock(
96
+ "span",
97
+ {
98
+ key: 1,
99
+ class: _normalizeClass(_ctx.n("label"))
100
+ },
101
+ [
102
+ _renderSlot(_ctx.$slots, "default", { active: _ctx.isActive }, () => [
103
+ _createTextVNode(
104
+ _toDisplayString(_ctx.label),
105
+ 1
106
+ /* TEXT */
107
+ )
108
+ ])
109
+ ],
110
+ 2
111
+ /* CLASS */
112
+ )) : _createCommentVNode("v-if", true)
113
+ ], 46, _hoisted_1)), [
114
+ [_directive_ripple, { disabled: !_ctx.ripple || _ctx.disabled }]
115
+ ]);
116
+ }
117
+ const __sfc__ = defineComponent({
118
+ name,
119
+ components: {
120
+ VarBadge,
121
+ VarIcon
122
+ },
123
+ directives: { Ripple },
124
+ props,
125
+ setup(props2) {
126
+ const { index, railNavigation, bindRailNavigation } = useRailNavigation();
127
+ const { active, ripple, showLabel, onToggle } = railNavigation;
128
+ const activeValue = computed(() => {
129
+ var _a;
130
+ return (_a = props2.name) != null ? _a : index.value;
131
+ });
132
+ const isActive = computed(() => active.value === activeValue.value);
133
+ const badgeProps = computed(() => props2.badge === true ? defaultBadgeProps : props2.badge);
134
+ const allowTransition = ref(false);
135
+ bindRailNavigation(null);
136
+ onMounted(() => __async(null, null, function* () {
137
+ yield doubleRaf();
138
+ allowTransition.value = true;
139
+ }));
140
+ function handleClick() {
141
+ if (props2.disabled) {
142
+ return;
143
+ }
144
+ call(props2.onClick, activeValue.value);
145
+ call(onToggle, activeValue.value);
146
+ }
147
+ function handleMouseenter() {
148
+ if (props2.disabled) {
149
+ return;
150
+ }
151
+ call(props2.onMouseenter, activeValue.value);
152
+ }
153
+ function handleMouseleave() {
154
+ if (props2.disabled) {
155
+ return;
156
+ }
157
+ call(props2.onMouseleave, activeValue.value);
158
+ }
159
+ return {
160
+ isActive,
161
+ badgeProps,
162
+ ripple,
163
+ showLabel,
164
+ allowTransition,
165
+ n,
166
+ classes,
167
+ handleClick,
168
+ handleMouseenter,
169
+ handleMouseleave
170
+ };
171
+ }
172
+ });
173
+ __sfc__.render = __render__;
174
+ var stdin_default = __sfc__;
175
+ export {
176
+ stdin_default as default
177
+ };
@@ -0,0 +1,12 @@
1
+ import { withInstall, withPropsDefaultsSetter } from "../utils/components.mjs";
2
+ import { props as railNavigationItemProps } from "./props.mjs";
3
+ import RailNavigationItem from "./RailNavigationItem.mjs";
4
+ withInstall(RailNavigationItem);
5
+ withPropsDefaultsSetter(RailNavigationItem, railNavigationItemProps);
6
+ const _RailNavigationItemComponent = RailNavigationItem;
7
+ var stdin_default = RailNavigationItem;
8
+ export {
9
+ _RailNavigationItemComponent,
10
+ stdin_default as default,
11
+ railNavigationItemProps
12
+ };
@@ -0,0 +1,19 @@
1
+ import { iconProps } from "../icon/index.mjs";
2
+ import { defineListenerProp, pickProps } from "../utils/components.mjs";
3
+ const props = {
4
+ name: [Number, String],
5
+ label: String,
6
+ icon: pickProps(iconProps, "name"),
7
+ namespace: pickProps(iconProps, "namespace"),
8
+ badge: {
9
+ type: [Boolean, Object],
10
+ default: false
11
+ },
12
+ disabled: Boolean,
13
+ onClick: defineListenerProp(),
14
+ onMouseenter: defineListenerProp(),
15
+ onMouseleave: defineListenerProp()
16
+ };
17
+ export {
18
+ props
19
+ };
@@ -0,0 +1,17 @@
1
+ import { assert } from "@varlet/shared";
2
+ import { useParent } from "@varlet/use";
3
+ import { RAIL_NAVIGATION_BIND_RAIL_NAVIGATION_ITEM_KEY } from "../rail-navigation/provide.mjs";
4
+ function useRailNavigation() {
5
+ const { parentProvider, index, bindParent } = useParent(
6
+ RAIL_NAVIGATION_BIND_RAIL_NAVIGATION_ITEM_KEY
7
+ );
8
+ assert(!!bindParent, "RailNavigationItem", "<var-rail-navigation-item/> must in <var-rail-navigation/>");
9
+ return {
10
+ index,
11
+ railNavigation: parentProvider,
12
+ bindRailNavigation: bindParent
13
+ };
14
+ }
15
+ export {
16
+ useRailNavigation
17
+ };
@@ -0,0 +1 @@
1
+ :root { --rail-navigation-item-height: 64px; --rail-navigation-item-padding: 6px 4px; --rail-navigation-item-indicator-width: 56px; --rail-navigation-item-indicator-height: 32px; --rail-navigation-item-indicator-hover-background: transparent; --rail-navigation-item-indicator-pressed-background: transparent; --rail-navigation-item-indicator-active-background: transparent; --rail-navigation-item-inactive-text-color: var(--color-on-surface-variant); --rail-navigation-item-active-text-color: var(--color-primary); --rail-navigation-item-disabled-opacity: var(--opacity-disabled); --rail-navigation-item-icon-size: 24px; --rail-navigation-item-label-font-size: var(--font-size-sm); --rail-navigation-item-label-line-height: 1.5;}.var-rail-navigation-item { width: 100%; min-height: var(--rail-navigation-item-height); padding: var(--rail-navigation-item-padding); position: relative; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; color: var(--rail-navigation-item-inactive-text-color); cursor: pointer; user-select: none; transition: color 250ms, opacity 250ms;}.var-rail-navigation-item__indicator { width: var(--rail-navigation-item-indicator-width); height: var(--rail-navigation-item-indicator-height); display: inline-flex; align-items: center; justify-content: center; position: relative;}.var-rail-navigation-item__indicator::before,.var-rail-navigation-item__indicator::after { content: ''; z-index: 0; height: var(--rail-navigation-item-indicator-height); position: absolute; left: 50%; top: 50%; border-radius: calc(var(--rail-navigation-item-indicator-height) / 2); transform: translate(-50%, -50%);}.var-rail-navigation-item__indicator::before { width: var(--rail-navigation-item-indicator-width); background-color: var(--rail-navigation-item-indicator-hover-background); opacity: 0; transition: opacity 150ms;}.var-rail-navigation-item__indicator::after { width: var(--rail-navigation-item-indicator-width); transform: translate(-50%, -50%) scaleX(0); transform-origin: center;}.var-rail-navigation-item__icon[var-rail-navigation-item-cover] { font-size: var(--rail-navigation-item-icon-size);}.var-rail-navigation-item__icon { z-index: 1; position: relative; line-height: 1; color: currentColor;}.var-rail-navigation-item__badge[var-rail-navigation-item-cover] { z-index: 1;}.var-rail-navigation-item__label { margin-top: 4px; max-width: 100%; display: inline-flex; align-items: center; justify-content: center; color: currentColor; font-size: var(--rail-navigation-item-label-font-size); line-height: var(--rail-navigation-item-label-line-height); text-align: center; white-space: normal; word-break: break-word;}.var-rail-navigation-item:hover .var-rail-navigation-item__indicator::before { opacity: 1;}.var-rail-navigation-item:active:not(.var-rail-navigation-item--ripple-enabled):not(.var-rail-navigation-item--disabled) .var-rail-navigation-item__indicator::before { background-color: var(--rail-navigation-item-indicator-pressed-background); opacity: 1;}.var-rail-navigation-item--active { color: var(--rail-navigation-item-active-text-color);}.var-rail-navigation-item--active .var-rail-navigation-item__indicator::after { background-color: var(--rail-navigation-item-indicator-active-background); transform: translate(-50%, -50%) scaleX(1); transition: transform var(--rail-navigation-item-transition-duration-override, 250ms), background-color var(--rail-navigation-item-transition-duration-override, 250ms);}.var-rail-navigation-item--active:hover .var-rail-navigation-item__indicator::before { opacity: 0;}.var-rail-navigation-item--disabled { cursor: not-allowed; opacity: var(--rail-navigation-item-disabled-opacity);}.var-rail-navigation-item--disabled:hover .var-rail-navigation-item__indicator::before { opacity: 0;}.var-rail-navigation-item--disabled * { pointer-events: none;}.var-rail-navigation-item--icon-only { min-height: var(--rail-navigation-item-indicator-height);}
@@ -0,0 +1,6 @@
1
+ import '../../styles/common.css'
2
+ import '../../badge/badge.css'
3
+ import '../../icon/icon.css'
4
+ import '../../ripple/ripple.css'
5
+ import '../railNavigationItem.css'
6
+ import '../RailNavigationItemSfc.css'
@@ -97,7 +97,7 @@ function __render__(_ctx, _cache) {
97
97
  "div",
98
98
  {
99
99
  ref: "menuEl",
100
- class: _normalizeClass(_ctx.classes(_ctx.n("scroller"), _ctx.n("$-elevation--3")))
100
+ class: _normalizeClass(_ctx.classes(_ctx.n("scroller"), _ctx.n("$--scrollbar"), _ctx.n("$-elevation--3")))
101
101
  },
102
102
  [
103
103
  _ctx.showEmpty ? _renderSlot(_ctx.$slots, "empty", { key: 0 }, () => [
@@ -1 +1 @@
1
- :root { --select-scroller-background: var(--color-surface-container-high); --select-scroller-padding: 6px 0; --select-scroller-max-height: 278px; --select-scroller-border-radius: 2px; --select-chips-margin: -5px 0 0 0; --select-chips-padding: 2px 0; --select-chip-margin: 5px 5px 0 0; --select-chip-background-color: #e0e0e0; --select-arrow-size: 20px; --select-standard-menu-margin: calc(var(--field-decorator-placeholder-size) * 0.75 + 12px) 0 0 0; --select-label-font-size: 16px; --select-empty-text-color: rgba(0, 0, 0, 0.6); --select-empty-height: 38px; --select-empty-font-size: 14px;}.var-select { text-align: left; outline: none;}.var-select__menu[var-select-cover] { width: 100%; background: transparent; display: block;}.var-select__chip[var-select-cover] { margin: var(--select-chip-margin); background-color: var(--select-chip-background-color);}.var-select__chips { padding: var(--select-chips-padding); margin: var(--select-chips-margin);}.var-select__scroller { max-height: var(--select-scroller-max-height); background: var(--select-scroller-background); padding: var(--select-scroller-padding); overflow-y: auto; transition: background-color 0.25s; border-radius: var(--select-scroller-border-radius);}.var-select__select { display: flex; justify-content: space-between; align-items: center; width: 100%; min-height: 24px; outline: none; border: none; font-size: inherit; color: var(--field-decorator-text-color); word-break: break-all; overflow: hidden; transition: color 0.25s;}.var-select__values { display: flex; flex-wrap: wrap; align-items: center;}.var-select__chips { display: flex; flex-wrap: wrap; align-items: center;}.var-select__filter { flex: 1; position: absolute; left: 0; top: 0; height: 100%; border: none; outline: none; padding: 0; background-color: transparent; font-size: var(--field-decorator-placeholder-size); line-height: inherit; color: var(--field-decorator-text-color);}.var-select__filter--multiple { position: unset;}.var-select__chips .var-select__filter { padding-left: 0; margin-top: 4px;}.var-select__filter-calculator { position: absolute; left: 0; top: 0; max-width: 100%; visibility: hidden; white-space: pre; overflow: hidden; pointer-events: none;}.var-select__label { display: flex; align-items: center; font-size: var(--select-label-font-size);}.var-select__placeholder { max-width: 100%; position: absolute; top: 50%; left: 0; transform: translateY(-50%); font-size: var(--field-decorator-placeholder-size); line-height: 1.5em; color: var(--field-decorator-blur-color); pointer-events: none; cursor: inherit;}.var-select__empty { color: var(--select-empty-text-color); text-align: center; height: var(--select-empty-height); font-size: var(--select-empty-font-size); display: flex; align-items: center; justify-content: center;}.var-select__arrow[var-select-cover] { flex-shrink: 0; font-size: var(--select-arrow-size); margin-left: 6px;}.var-select--standard-menu-margin { margin: var(--select-standard-menu-margin) !important;}.var-select--disabled { color: var(--field-decorator-disabled-color); cursor: not-allowed;}.var-select--error { color: var(--field-decorator-error-color);}.var-select--arrow-rotate { transform: rotate(180deg);}.var-select--label-focusing { color: var(--field-decorator-blur-color);}
1
+ :root { --select-scroller-background: var(--color-surface-container-high); --select-scroller-padding: 6px 0; --select-scroller-max-height: 278px; --select-scroller-border-radius: 2px; --select-chips-margin: -5px 0 0 0; --select-chips-padding: 2px 0; --select-chip-margin: 5px 5px 0 0; --select-chip-background-color: #e0e0e0; --select-arrow-size: 20px; --select-standard-menu-margin: calc(var(--field-decorator-placeholder-size) * 0.75 + 12px) 0 0 0; --select-label-font-size: 16px; --select-empty-text-color: rgba(0, 0, 0, 0.6); --select-empty-height: 38px; --select-empty-font-size: 14px;}.var-select { text-align: left; outline: none;}.var-select__menu[var-select-cover] { width: 100%; background: transparent; display: block;}.var-select__chip[var-select-cover] { margin: var(--select-chip-margin); background-color: var(--select-chip-background-color);}.var-select__chips { padding: var(--select-chips-padding); margin: var(--select-chips-margin);}.var-select__scroller { --scrollbar-track-background: var(--select-scroller-background); max-height: var(--select-scroller-max-height); background: var(--select-scroller-background); padding: var(--select-scroller-padding); overflow-y: auto; transition: background-color 0.25s; border-radius: var(--select-scroller-border-radius);}.var-select__select { display: flex; justify-content: space-between; align-items: center; width: 100%; min-height: 24px; outline: none; border: none; font-size: inherit; color: var(--field-decorator-text-color); word-break: break-all; overflow: hidden; transition: color 0.25s;}.var-select__values { display: flex; flex-wrap: wrap; align-items: center;}.var-select__chips { display: flex; flex-wrap: wrap; align-items: center;}.var-select__filter { flex: 1; position: absolute; left: 0; top: 0; height: 100%; border: none; outline: none; padding: 0; background-color: transparent; font-size: var(--field-decorator-placeholder-size); line-height: inherit; color: var(--field-decorator-text-color);}.var-select__filter--multiple { position: unset;}.var-select__chips .var-select__filter { padding-left: 0; margin-top: 4px;}.var-select__filter-calculator { position: absolute; left: 0; top: 0; max-width: 100%; visibility: hidden; white-space: pre; overflow: hidden; pointer-events: none;}.var-select__label { display: flex; align-items: center; font-size: var(--select-label-font-size);}.var-select__placeholder { max-width: 100%; position: absolute; top: 50%; left: 0; transform: translateY(-50%); font-size: var(--field-decorator-placeholder-size); line-height: 1.5em; color: var(--field-decorator-blur-color); pointer-events: none; cursor: inherit;}.var-select__empty { color: var(--select-empty-text-color); text-align: center; height: var(--select-empty-height); font-size: var(--select-empty-font-size); display: flex; align-items: center; justify-content: center;}.var-select__arrow[var-select-cover] { flex-shrink: 0; font-size: var(--select-arrow-size); margin-left: 6px;}.var-select--standard-menu-margin { margin: var(--select-standard-menu-margin) !important;}.var-select--disabled { color: var(--field-decorator-disabled-color); cursor: not-allowed;}.var-select--error { color: var(--field-decorator-error-color);}.var-select--arrow-rotate { transform: rotate(180deg);}.var-select--label-focusing { color: var(--field-decorator-blur-color);}
@@ -1,7 +1,7 @@
1
1
  import '../../styles/common.css'
2
+ import '../SnackbarSfc.css'
2
3
  import '../../styles/elevation.css'
3
4
  import '../../loading/loading.css'
4
5
  import '../../icon/icon.css'
5
6
  import '../snackbar.css'
6
7
  import '../coreSfc.css'
7
- import '../SnackbarSfc.css'
package/es/style.mjs CHANGED
@@ -26,6 +26,7 @@ import './context/style/index.mjs'
26
26
  import './count-to/style/index.mjs'
27
27
  import './countdown/style/index.mjs'
28
28
  import './counter/style/index.mjs'
29
+ import './data-table/style/index.mjs'
29
30
  import './date-picker/style/index.mjs'
30
31
  import './dialog/style/index.mjs'
31
32
  import './divider/style/index.mjs'
@@ -66,6 +67,8 @@ import './progress/style/index.mjs'
66
67
  import './pull-refresh/style/index.mjs'
67
68
  import './radio/style/index.mjs'
68
69
  import './radio-group/style/index.mjs'
70
+ import './rail-navigation/style/index.mjs'
71
+ import './rail-navigation-item/style/index.mjs'
69
72
  import './rate/style/index.mjs'
70
73
  import './result/style/index.mjs'
71
74
  import './ripple/style/index.mjs'
@@ -93,5 +96,6 @@ import './tabs-items/style/index.mjs'
93
96
  import './themes/style/index.mjs'
94
97
  import './time-picker/style/index.mjs'
95
98
  import './tooltip/style/index.mjs'
99
+ import './tree-menu/style/index.mjs'
96
100
  import './uploader/style/index.mjs'
97
101
  import './watermark/style/index.mjs'
@@ -1 +1 @@
1
- .var--box { box-sizing: border-box;}.var--box * { box-sizing: border-box;}.var--lock { overflow: hidden !important;}.var--ellipsis { overflow-x: hidden; text-overflow: ellipsis; white-space: nowrap;}.var--inline-block { display: inline-block;}.var--flex { display: flex;}.var--inline-flex { display: inline-flex;}:root { --font-size-xs: 10px; --font-size-sm: 12px; --font-size-md: 14px; --font-size-lg: 16px; --icon-size-xs: 16px; --icon-size-sm: 18px; --icon-size-md: 20px; --icon-size-lg: 22px; --hsl-body: 0, 0%, 100%; --color-body: hsla(var(--hsl-body), 1); --hsl-text: 0, 0%, 20%; --color-text: hsla(var(--hsl-text), 1); --hsl-primary: 220, 99%, 61%; --color-primary: hsla(var(--hsl-primary), 1); --hsl-info: 196, 100%, 47%; --color-info: hsla(var(--hsl-info), 1); --hsl-success: 164, 100%, 38%; --color-success: hsla(var(--hsl-success), 1); --hsl-warning: 37, 100%, 50%; --color-warning: hsla(var(--hsl-warning), 1); --hsl-danger: 4, 90%, 58%; --color-danger: hsla(var(--hsl-danger), 1); --hsl-disabled: 0, 0%, 88%; --color-disabled: hsla(var(--hsl-disabled), 1); --hsl-text-disabled: 0, 0%, 67%; --color-text-disabled: hsla(var(--hsl-text-disabled), 1); --hsl-on-primary: 0, 0%, 100%; --color-on-primary: hsla(var(--hsl-on-primary), 1); --hsl-on-info: 0, 0%, 100%; --color-on-info: hsla(var(--hsl-on-info), 1); --hsl-on-success: 0, 0%, 100%; --color-on-success: hsla(var(--hsl-on-success), 1); --hsl-on-warning: 0, 0%, 100%; --color-on-warning: hsla(var(--hsl-on-warning), 1); --hsl-on-danger: 0, 0%, 100%; --color-on-danger: hsla(var(--hsl-on-danger), 1); --hsl-primary-container: 220, 99%, 61%; --color-primary-container: hsla(var(--hsl-primary-container), 1); --hsl-info-container: 196, 100%, 47%; --color-info-container: hsla(var(--hsl-info-container), 1); --hsl-success-container: 164, 100%, 38%; --color-success-container: hsla(var(--hsl-success-container), 1); --hsl-warning-container: 37, 100%, 50%; --color-warning-container: hsla(var(--hsl-warning-container), 1); --hsl-danger-container: 4, 90%, 58%; --color-danger-container: hsla(var(--hsl-danger-container), 1); --hsl-on-primary-container: 0, 0%, 100%; --color-on-primary-container: hsla(var(--hsl-on-primary-container), 1); --hsl-on-info-container: 0, 0%, 100%; --color-on-info-container: hsla(var(--hsl-on-info-container), 1); --hsl-on-success-container: 0, 0%, 100%; --color-on-success-container: hsla(var(--hsl-on-success-container), 1); --hsl-on-warning-container: 0, 0%, 100%; --color-on-warning-container: hsla(var(--hsl-on-warning-container), 1); --hsl-on-danger-container: 0, 0%, 100%; --color-on-danger-container: hsla(var(--hsl-on-danger-container), 1); --hsl-surface-container: 0, 0%, 100%; --color-surface-container: hsla(var(--hsl-surface-container), 1); --hsl-surface-container-low: 0, 0%, 100%; --color-surface-container-low: hsla(var(--hsl-surface-container-low), 1); --hsl-surface-container-high: 0, 0%, 100%; --color-surface-container-high: hsla(var(--hsl-surface-container-high), 1); --hsl-surface-container-highest: 0, 0%, 100%; --color-surface-container-highest: hsla(var(--hsl-surface-container-highest), 1); --hsl-inverse-surface: 0, 0%, 20%; --color-inverse-surface: hsla(var(--hsl-inverse-surface), 1); --hsl-outline: 0, 0%, 0%; --color-outline: hsla(var(--hsl-outline), 0.12); --hsl-on-surface-variant: 0, 0%, 53%; --color-on-surface-variant: hsla(var(--hsl-on-surface-variant), 1); --opacity-disabled: 0.6; --opacity-hover: 0.15; --opacity-focus: 0.2; --cubic-bezier: cubic-bezier(0.25, 0.8, 0.5, 1); --shadow-key-umbra-opacity: rgba(0, 0, 0, 0.2); --shadow-key-penumbra-opacity: rgba(0, 0, 0, 0.14); --shadow-key-ambient-opacity: rgba(0, 0, 0, 0.12);}
1
+ .var--box { box-sizing: border-box;}.var--box * { box-sizing: border-box;}.var--lock { overflow: hidden !important;}.var--ellipsis { overflow-x: hidden; text-overflow: ellipsis; white-space: nowrap;}.var--inline-block { display: inline-block;}.var--flex { display: flex;}.var--inline-flex { display: inline-flex;}.var--scrollbar { scrollbar-width: thin; scrollbar-color: hsla(var(--hsl-text), 0.28) var(--scrollbar-track-background, transparent);}.var--scrollbar::-webkit-scrollbar { width: 4px; height: 4px; background: var(--scrollbar-track-background, transparent);}.var--scrollbar::-webkit-scrollbar-track { background: var(--scrollbar-track-background, transparent);}.var--scrollbar::-webkit-scrollbar-thumb { border-radius: 999px; background: hsla(var(--hsl-text), 0.28); border: 1px solid var(--scrollbar-track-background, transparent); background-clip: padding-box; cursor: pointer;}.var--scrollbar::-webkit-scrollbar-corner { background: var(--scrollbar-track-background, transparent);}:root { --font-size-xs: 10px; --font-size-sm: 12px; --font-size-md: 14px; --font-size-lg: 16px; --icon-size-xs: 16px; --icon-size-sm: 18px; --icon-size-md: 20px; --icon-size-lg: 22px; --hsl-body: 0, 0%, 100%; --color-body: hsla(var(--hsl-body), 1); --hsl-text: 0, 0%, 20%; --color-text: hsla(var(--hsl-text), 1); --hsl-primary: 220, 99%, 61%; --color-primary: hsla(var(--hsl-primary), 1); --hsl-info: 196, 100%, 47%; --color-info: hsla(var(--hsl-info), 1); --hsl-success: 164, 100%, 38%; --color-success: hsla(var(--hsl-success), 1); --hsl-warning: 37, 100%, 50%; --color-warning: hsla(var(--hsl-warning), 1); --hsl-danger: 4, 90%, 58%; --color-danger: hsla(var(--hsl-danger), 1); --hsl-disabled: 0, 0%, 88%; --color-disabled: hsla(var(--hsl-disabled), 1); --hsl-text-disabled: 0, 0%, 67%; --color-text-disabled: hsla(var(--hsl-text-disabled), 1); --hsl-on-primary: 0, 0%, 100%; --color-on-primary: hsla(var(--hsl-on-primary), 1); --hsl-on-info: 0, 0%, 100%; --color-on-info: hsla(var(--hsl-on-info), 1); --hsl-on-success: 0, 0%, 100%; --color-on-success: hsla(var(--hsl-on-success), 1); --hsl-on-warning: 0, 0%, 100%; --color-on-warning: hsla(var(--hsl-on-warning), 1); --hsl-on-danger: 0, 0%, 100%; --color-on-danger: hsla(var(--hsl-on-danger), 1); --hsl-primary-container: 220, 99%, 61%; --color-primary-container: hsla(var(--hsl-primary-container), 1); --hsl-info-container: 196, 100%, 47%; --color-info-container: hsla(var(--hsl-info-container), 1); --hsl-success-container: 164, 100%, 38%; --color-success-container: hsla(var(--hsl-success-container), 1); --hsl-warning-container: 37, 100%, 50%; --color-warning-container: hsla(var(--hsl-warning-container), 1); --hsl-danger-container: 4, 90%, 58%; --color-danger-container: hsla(var(--hsl-danger-container), 1); --hsl-on-primary-container: 0, 0%, 100%; --color-on-primary-container: hsla(var(--hsl-on-primary-container), 1); --hsl-on-info-container: 0, 0%, 100%; --color-on-info-container: hsla(var(--hsl-on-info-container), 1); --hsl-on-success-container: 0, 0%, 100%; --color-on-success-container: hsla(var(--hsl-on-success-container), 1); --hsl-on-warning-container: 0, 0%, 100%; --color-on-warning-container: hsla(var(--hsl-on-warning-container), 1); --hsl-on-danger-container: 0, 0%, 100%; --color-on-danger-container: hsla(var(--hsl-on-danger-container), 1); --hsl-surface-container: 0, 0%, 100%; --color-surface-container: hsla(var(--hsl-surface-container), 1); --hsl-surface-container-low: 0, 0%, 100%; --color-surface-container-low: hsla(var(--hsl-surface-container-low), 1); --hsl-surface-container-high: 0, 0%, 100%; --color-surface-container-high: hsla(var(--hsl-surface-container-high), 1); --hsl-surface-container-highest: 0, 0%, 100%; --color-surface-container-highest: hsla(var(--hsl-surface-container-highest), 1); --hsl-inverse-surface: 0, 0%, 20%; --color-inverse-surface: hsla(var(--hsl-inverse-surface), 1); --hsl-outline: 0, 0%, 0%; --color-outline: hsla(var(--hsl-outline), 0.12); --hsl-on-surface-variant: 0, 0%, 53%; --color-on-surface-variant: hsla(var(--hsl-on-surface-variant), 1); --opacity-disabled: 0.6; --opacity-hover: 0.15; --opacity-focus: 0.2; --cubic-bezier: cubic-bezier(0.25, 0.8, 0.5, 1); --shadow-key-umbra-opacity: rgba(0, 0, 0, 0.2); --shadow-key-penumbra-opacity: rgba(0, 0, 0, 0.14); --shadow-key-ambient-opacity: rgba(0, 0, 0, 0.12);}
@@ -1,4 +1,4 @@
1
- import { defineComponent } from "vue";
1
+ import { computed, defineComponent } from "vue";
2
2
  import { createNamespace, formatElevation } from "../utils/components.mjs";
3
3
  import { toSizeUnit } from "../utils/elements.mjs";
4
4
  import { props } from "./props.mjs";
@@ -8,13 +8,21 @@ function __render__(_ctx, _cache) {
8
8
  return _openBlock(), _createElementBlock(
9
9
  "div",
10
10
  {
11
- class: _normalizeClass(_ctx.classes(_ctx.n(), _ctx.formatElevation(_ctx.elevation, 1), _ctx.n("$--box")))
11
+ class: _normalizeClass(
12
+ _ctx.classes(
13
+ _ctx.n(),
14
+ [!_ctx.plain, _ctx.formatElevation(_ctx.elevation, 1)],
15
+ _ctx.n("$--box"),
16
+ [_ctx.surfaceLow, _ctx.n("--surface-low")],
17
+ [_ctx.plain, _ctx.n("--plain")]
18
+ )
19
+ )
12
20
  },
13
21
  [
14
22
  _createElementVNode(
15
23
  "div",
16
24
  {
17
- class: _normalizeClass(_ctx.n("main")),
25
+ class: _normalizeClass(_ctx.classes(_ctx.n("main"), _ctx.n("$--scrollbar"))),
18
26
  style: _normalizeStyle({ "max-height": _ctx.toSizeUnit(_ctx.scrollerHeight) })
19
27
  },
20
28
  [
@@ -54,12 +62,17 @@ function __render__(_ctx, _cache) {
54
62
  const __sfc__ = defineComponent({
55
63
  name,
56
64
  props,
57
- setup: () => ({
58
- toSizeUnit,
59
- n,
60
- classes,
61
- formatElevation
62
- })
65
+ setup(props2) {
66
+ const surfaceLow = computed(() => props2.surface === "low");
67
+ return {
68
+ toSizeUnit,
69
+ n,
70
+ classes,
71
+ formatElevation,
72
+ surfaceLow,
73
+ plain: computed(() => props2.plain)
74
+ };
75
+ }
63
76
  });
64
77
  __sfc__.render = __render__;
65
78
  var stdin_default = __sfc__;
@@ -9,7 +9,9 @@ const props = {
9
9
  elevation: {
10
10
  type: [Boolean, Number, String],
11
11
  default: true
12
- }
12
+ },
13
+ surface: String,
14
+ plain: Boolean
13
15
  };
14
16
  export {
15
17
  props