@code-coaching/vuetiful 0.3.0 → 0.4.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.
@@ -1,5 +1,5 @@
1
- import { defineComponent, useAttrs, openBlock, createBlock, resolveDynamicComponent, normalizeClass, unref, withCtx, createElementBlock, Fragment, createTextVNode, toDisplayString, createCommentVNode, renderSlot, provide, createElementVNode, ref, inject, mergeProps, computed, withDirectives, readonly, onMounted, resolveComponent, createVNode, renderList, pushScopeId, popScopeId } from "vue";
2
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1
+ import { defineComponent, useAttrs, openBlock, createBlock, resolveDynamicComponent, normalizeClass, unref, withCtx, createElementBlock, Fragment, createTextVNode, toDisplayString, createCommentVNode, renderSlot, ref, reactive, readonly, toRefs, computed, onMounted, createVNode, Transition, provide, createElementVNode, inject, mergeProps, withDirectives, resolveComponent, renderList, pushScopeId, popScopeId } from "vue";
2
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3
3
  __name: "VButton",
4
4
  props: {
5
5
  tag: {
@@ -28,6 +28,131 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
28
28
  };
29
29
  }
30
30
  });
31
+ const selectedRailTile = ref("");
32
+ const useRail = () => {
33
+ return {
34
+ selectedRailTile
35
+ };
36
+ };
37
+ const drawer = reactive({
38
+ id: "default",
39
+ open: false
40
+ });
41
+ const useDrawer = () => {
42
+ const open = (settings) => {
43
+ drawer.open = true;
44
+ if (settings) {
45
+ Object.keys(settings).forEach((key) => {
46
+ drawer[key] = settings[key];
47
+ });
48
+ }
49
+ };
50
+ const close = () => drawer.open = false;
51
+ const toggle = () => drawer.open = !drawer.open;
52
+ return {
53
+ drawer: readonly(drawer),
54
+ open,
55
+ close,
56
+ toggle
57
+ };
58
+ };
59
+ const _hoisted_1$4 = ["aria-labelledby", "aria-describedby"];
60
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
61
+ __name: "VDrawer",
62
+ props: {
63
+ position: {
64
+ type: String,
65
+ default: "left"
66
+ },
67
+ duration: {
68
+ type: Number,
69
+ default: 300
70
+ },
71
+ regionBackdrop: {
72
+ type: String,
73
+ default: ""
74
+ },
75
+ regionDrawer: {
76
+ type: String,
77
+ default: ""
78
+ },
79
+ labelledby: {
80
+ type: String,
81
+ default: ""
82
+ },
83
+ describedby: {
84
+ type: String,
85
+ default: ""
86
+ }
87
+ },
88
+ setup(__props) {
89
+ const props = __props;
90
+ const { drawer: drawer2, close } = useDrawer();
91
+ const attrs = useAttrs();
92
+ const { position, duration, regionBackdrop, regionDrawer, labelledby, describedby } = toRefs(props);
93
+ const presets = {
94
+ top: { alignment: "top-0", width: "w-full", height: "h-[50%]", rounded: "rounded-bl-container-token rounded-br-container-token" },
95
+ bottom: { alignment: "bottom-0", width: "w-full", height: " h-[50%]", rounded: "rounded-tl-container-token rounded-tr-container-token" },
96
+ left: { alignment: "lef-0", width: "w-[90%]", height: "h-full", rounded: "rounded-tr-container-token rounded-br-container-token" },
97
+ right: { alignment: "right-0", width: "w-[90%]", height: "h-full", rounded: "rounded-tl-container-token rounded-bl-container-token" }
98
+ };
99
+ const preset = computed(() => presets[position.value]);
100
+ const elemBackdrop = ref();
101
+ const elemDrawer = ref();
102
+ const onBackdropInteraction = (event) => {
103
+ if (event.target === elemBackdrop.value)
104
+ close();
105
+ };
106
+ const onKeydownWindow = (event) => {
107
+ if (event.code === "Escape")
108
+ close();
109
+ };
110
+ onMounted(() => {
111
+ window.addEventListener("keydown", onKeydownWindow);
112
+ });
113
+ return (_ctx, _cache) => {
114
+ return openBlock(), createElementBlock(Fragment, null, [
115
+ createVNode(Transition, {
116
+ name: `slide-${unref(position)}-${unref(duration)}`
117
+ }, {
118
+ default: withCtx(() => [
119
+ unref(drawer2).open ? (openBlock(), createElementBlock("div", {
120
+ key: 0,
121
+ ref_key: "elemDrawer",
122
+ ref: elemDrawer,
123
+ class: normalizeClass(`drawer absolute overflow-y-auto shadow-xl transition-transform bg-surface-100-800-token ${unref(preset).width} ${unref(preset).height} ${unref(preset).rounded} ${unref(preset).alignment} z-50 ${unref(regionDrawer)}`),
124
+ role: "dialog",
125
+ "aria-modal": "true",
126
+ "aria-labelledby": unref(labelledby),
127
+ "aria-describedby": unref(describedby)
128
+ }, [
129
+ renderSlot(_ctx.$slots, "default")
130
+ ], 10, _hoisted_1$4)) : createCommentVNode("", true)
131
+ ]),
132
+ _: 3
133
+ }, 8, ["name"]),
134
+ createVNode(Transition, {
135
+ name: `fade-${unref(duration)}`
136
+ }, {
137
+ default: withCtx(() => {
138
+ var _a;
139
+ return [
140
+ unref(drawer2).open ? (openBlock(), createElementBlock("div", {
141
+ key: 0,
142
+ ref_key: "elemBackdrop",
143
+ ref: elemBackdrop,
144
+ class: normalizeClass(`drawer-backdrop backdrop-blur-xs fixed top-0 left-0 right-0 bottom-0 flex bg-surface-backdrop-token ${unref(regionBackdrop)} z-40 ${(_a = unref(attrs).class) != null ? _a : ""}`),
145
+ onMousedown: onBackdropInteraction,
146
+ onTouchstart: onBackdropInteraction
147
+ }, null, 34)) : createCommentVNode("", true)
148
+ ];
149
+ }),
150
+ _: 1
151
+ }, 8, ["name"])
152
+ ], 64);
153
+ };
154
+ }
155
+ });
31
156
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
32
157
  __name: "VRail",
33
158
  props: {
@@ -80,12 +205,6 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
80
205
  };
81
206
  }
82
207
  });
83
- const selectedRailTile = ref("");
84
- const useRail = () => {
85
- return {
86
- selectedRailTile
87
- };
88
- };
89
208
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
90
209
  __name: "VRailTile",
91
210
  props: {
@@ -117,7 +236,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
117
236
  const { selectedRailTile: selectedRailTile2 } = useRail();
118
237
  const active = inject("active");
119
238
  const hover = inject("hover");
120
- const onClickHandler = (event) => {
239
+ const onClickHandler = () => {
121
240
  if (!props.value)
122
241
  return;
123
242
  selectedRailTile2.value = props.value;
@@ -197,9 +316,7 @@ const _sfc_main$3 = defineComponent({
197
316
  key: 0,
198
317
  class: normalizeClass(`vuetiful-page-header flex-none ${__props.slotPageHeader}`)
199
318
  }, [
200
- renderSlot(_ctx.$slots, "pageHeader", {}, () => [
201
- createTextVNode("(slot:header)")
202
- ])
319
+ renderSlot(_ctx.$slots, "pageHeader")
203
320
  ], 2)) : createCommentVNode("", true),
204
321
  createElementVNode("main", {
205
322
  class: normalizeClass(`vuetiful-page-content flex-auto ${__props.slotPageContent}`)
@@ -210,9 +327,7 @@ const _sfc_main$3 = defineComponent({
210
327
  key: 1,
211
328
  class: normalizeClass(`vuetiful-page-footer flex-none ${__props.slotPageFooter}`)
212
329
  }, [
213
- renderSlot(_ctx.$slots, "pageFooter", {}, () => [
214
- createTextVNode("(slot:footer)")
215
- ])
330
+ renderSlot(_ctx.$slots, "pageFooter")
216
331
  ], 2)) : createCommentVNode("", true)
217
332
  ], 2),
218
333
  _ctx.$slots.sidebarRight ? (openBlock(), createElementBlock("aside", {
@@ -235,10 +350,11 @@ const _sfc_main$3 = defineComponent({
235
350
  var components = /* @__PURE__ */ Object.freeze({
236
351
  __proto__: null,
237
352
  [Symbol.toStringTag]: "Module",
238
- VButton: _sfc_main$6,
353
+ VButton: _sfc_main$7,
239
354
  VRail: _sfc_main$5,
240
355
  VRailTile: _sfc_main$4,
241
- VShell: _sfc_main$3
356
+ VShell: _sfc_main$3,
357
+ VDrawer: _sfc_main$6
242
358
  });
243
359
  var main = "";
244
360
  var tailwind = "";
@@ -46918,7 +47034,7 @@ var themeSwitcher_vue_vue_type_style_index_0_scoped_true_lang = "";
46918
47034
  const _sfc_main = defineComponent({
46919
47035
  components: {
46920
47036
  DarkModeSwitch,
46921
- VButton: _sfc_main$6
47037
+ VButton: _sfc_main$7
46922
47038
  },
46923
47039
  props: {
46924
47040
  bgLight: {
@@ -47161,4 +47277,4 @@ function install(app) {
47161
47277
  }
47162
47278
  }
47163
47279
  var index = { install };
47164
- export { _sfc_main$2 as CodeBlock, DarkModeSwitch, themeSwitcher as ThemeSwitcher, _sfc_main$6 as VButton, _sfc_main$5 as VRail, _sfc_main$4 as VRailTile, _sfc_main$3 as VShell, index as default, useDarkMode, useRail, useTheme, clipboard as vClipboard };
47280
+ export { _sfc_main$2 as CodeBlock, DarkModeSwitch, themeSwitcher as ThemeSwitcher, _sfc_main$7 as VButton, _sfc_main$6 as VDrawer, _sfc_main$5 as VRail, _sfc_main$4 as VRailTile, _sfc_main$3 as VShell, index as default, useDarkMode, useDrawer, useRail, useTheme, clipboard as vClipboard };