@digitalwalletcorp/vue-core 1.1.0 → 1.2.0
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/README.md +4 -4
- package/lib/accordion-fieldset.cjs +1 -1
- package/lib/accordion-fieldset.d.cts +25 -0
- package/lib/accordion-fieldset.js +1 -1
- package/lib/{accordion-fieldset.vue_vue_type_style_index_0_lang-tzJhLHyT.js → accordion-fieldset.vue_vue_type_style_index_0_lang-n-IZxUiu.js} +1 -1
- package/lib/{accordion-fieldset.vue_vue_type_style_index_0_lang-Dd8HXuVm.cjs → accordion-fieldset.vue_vue_type_style_index_0_lang-t9NqmoZW.cjs} +1 -1
- package/lib/accordion-section.cjs +1 -1
- package/lib/accordion-section.d.cts +34 -0
- package/lib/accordion-section.js +1 -1
- package/lib/{accordion-section.vue_vue_type_style_index_0_lang-BBEywIH3.cjs → accordion-section.vue_vue_type_style_index_0_lang-CFDdUEnn.cjs} +1 -1
- package/lib/{accordion-section.vue_vue_type_style_index_0_lang-DAlUN0wH.js → accordion-section.vue_vue_type_style_index_0_lang-Gvjjx02P.js} +1 -1
- package/lib/{components-YAonMRcW.cjs → components-CNOeuZPu.cjs} +1 -1
- package/lib/{components-xNQBXMzx.js → components-DBK8NUBh.js} +7 -7
- package/lib/components.d.cts +9 -0
- package/lib/global.d.cts +7 -0
- package/lib/hourglass-loading.d.cts +23 -0
- package/lib/index.cjs +1 -1
- package/lib/index.d.cts +3 -0
- package/lib/index.js +7 -7
- package/lib/internal/tab-group-context.d.cts +16 -0
- package/lib/internal/use-shrinkable.d.cts +12 -0
- package/lib/label-button.cjs +1 -1
- package/lib/label-button.d.cts +30 -0
- package/lib/label-button.js +1 -1
- package/lib/{label-button.vue_vue_type_script_setup_true_lang-DqhdCgmJ.cjs → label-button.vue_vue_type_script_setup_true_lang-BwVOxaJP.cjs} +1 -1
- package/lib/{label-button.vue_vue_type_script_setup_true_lang-CoHrTUSs.js → label-button.vue_vue_type_script_setup_true_lang-DorC4pKz.js} +1 -1
- package/lib/label-icon.cjs +1 -1
- package/lib/label-icon.d.cts +30 -0
- package/lib/label-icon.js +1 -1
- package/lib/{label-icon.vue_vue_type_style_index_0_lang-C2URq6GP.cjs → label-icon.vue_vue_type_style_index_0_lang-D9Cimu20.cjs} +1 -1
- package/lib/{label-icon.vue_vue_type_style_index_0_lang-bQFkQ_gC.js → label-icon.vue_vue_type_style_index_0_lang-me52HE2V.js} +1 -1
- package/lib/nuxt.cjs +1 -1
- package/lib/nuxt.d.cts +10 -0
- package/lib/nuxt.js +1 -1
- package/lib/page-section.cjs +1 -1
- package/lib/page-section.d.cts +34 -0
- package/lib/page-section.js +1 -1
- package/lib/{page-section.vue_vue_type_style_index_0_lang-bvQeBjUP.cjs → page-section.vue_vue_type_style_index_0_lang-DEAkTLxd.cjs} +1 -1
- package/lib/{page-section.vue_vue_type_style_index_0_lang-4MLb_sDZ.js → page-section.vue_vue_type_style_index_0_lang-DpVQe_rV.js} +1 -1
- package/lib/page-title.cjs +1 -1
- package/lib/page-title.d.cts +20 -0
- package/lib/page-title.js +1 -1
- package/lib/{page-title.vue_vue_type_style_index_0_lang-DcmGICoo.cjs → page-title.vue_vue_type_style_index_0_lang-BqIsIks5.cjs} +1 -1
- package/lib/{page-title.vue_vue_type_style_index_0_lang-CzfdMzXf.js → page-title.vue_vue_type_style_index_0_lang-ChZot85K.js} +1 -1
- package/lib/register.cjs +1 -1
- package/lib/register.d.cts +9 -0
- package/lib/register.js +1 -1
- package/lib/style.css +1 -1
- package/lib/tab-content.d.cts +39 -0
- package/lib/tab-group.cjs +1 -1
- package/lib/tab-group.d.cts +44 -0
- package/lib/tab-group.js +1 -1
- package/lib/{tab-group.vue_vue_type_style_index_0_lang-CjnBkvvZ.js → tab-group.vue_vue_type_style_index_0_lang-C84mDEOC.js} +1 -1
- package/lib/{tab-group.vue_vue_type_style_index_0_lang-CwVGYZAo.cjs → tab-group.vue_vue_type_style_index_0_lang-CMaufRJV.cjs} +1 -1
- package/lib/types/label-preset.d.cts +12 -0
- package/package.json +25 -10
- package/src/accordion-section.vue +1 -1
- package/src/label-icon.vue +2 -2
- package/src/page-section.vue +2 -2
- package/src/page-title.vue +5 -5
- package/src/tab-content.vue +7 -7
- package/src/tab-group.vue +15 -15
package/README.md
CHANGED
|
@@ -101,10 +101,10 @@ We recommend keeping a `vue-core-variables.css` in your application that connect
|
|
|
101
101
|
```css
|
|
102
102
|
/* vue-core-variables.css */
|
|
103
103
|
:root {
|
|
104
|
-
--dwui-tab-header
|
|
105
|
-
--dwui-tab-header
|
|
106
|
-
--dwui-tab-header-selected
|
|
107
|
-
--dwui-tab-header-selected
|
|
104
|
+
--dwui-background-tab-header: var(--app-tab-header-background);
|
|
105
|
+
--dwui-color-text-tab-header: var(--app-tab-header-text);
|
|
106
|
+
--dwui-background-tab-header-selected: var(--app-tab-header-selected-background);
|
|
107
|
+
--dwui-color-text-tab-header-selected: var(--app-tab-header-selected-text);
|
|
108
108
|
}
|
|
109
109
|
```
|
|
110
110
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./accordion-fieldset.vue_vue_type_style_index_0_lang-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./accordion-fieldset.vue_vue_type_style_index_0_lang-t9NqmoZW.cjs");exports.default=e._sfc_main;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
/** 凡例の文字。HTMLを含める場合は#legendスロットを使う */
|
|
3
|
+
legend?: string;
|
|
4
|
+
/** trueの場合、fieldsetを無効にする */
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
/** trueの場合、開いた状態で表示する デフォルト false */
|
|
7
|
+
initialExpand?: boolean;
|
|
8
|
+
}
|
|
9
|
+
interface Slots {
|
|
10
|
+
/** 凡例の文字の前に表示するアイコン */
|
|
11
|
+
icon?(): unknown;
|
|
12
|
+
/** 凡例。legendより優先する */
|
|
13
|
+
legend?(): unknown;
|
|
14
|
+
default?(): unknown;
|
|
15
|
+
}
|
|
16
|
+
type __VLS_Slots = Slots;
|
|
17
|
+
declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
18
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
19
|
+
declare const _default: typeof __VLS_export;
|
|
20
|
+
export default _default;
|
|
21
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
22
|
+
new (): {
|
|
23
|
+
$slots: S;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as f, useSlots as m, ref as g, reactive as x, onMounted as _, openBlock as i, createElementBlock as k, createElementVNode as d, createVNode as C, unref as s, createBlock as b, createSlots as y, withCtx as r, renderSlot as l, createTextVNode as h, toDisplayString as w, createCommentVNode as B, normalizeClass as S } from "vue";
|
|
2
2
|
import { SvgTriangleButton as v } from "@digitalwalletcorp/vue-svg-icons";
|
|
3
|
-
import { _ as E } from "./label-icon.vue_vue_type_style_index_0_lang-
|
|
3
|
+
import { _ as E } from "./label-icon.vue_vue_type_style_index_0_lang-me52HE2V.js";
|
|
4
4
|
import { u as N } from "./use-shrinkable-CS2bmsJJ.js";
|
|
5
5
|
const V = ["disabled"], $ = ["aria-expanded"], q = /* @__PURE__ */ f({
|
|
6
6
|
__name: "accordion-fieldset",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),r=require("@digitalwalletcorp/vue-svg-icons"),c=require("./label-icon.vue_vue_type_style_index_0_lang-
|
|
1
|
+
"use strict";const e=require("vue"),r=require("@digitalwalletcorp/vue-svg-icons"),c=require("./label-icon.vue_vue_type_style_index_0_lang-D9Cimu20.cjs"),u=require("./use-shrinkable-Cu9JQZll.cjs"),p=["disabled"],_=["aria-expanded"],f=e.defineComponent({__name:"accordion-fieldset",props:{legend:{},disabled:{type:Boolean},initialExpand:{type:Boolean}},setup(a){const t=a,o=e.useSlots(),l=e.ref(),n=e.reactive({expanded:!0}),i=u.useShrinkable(l),s=()=>{n.expanded=!n.expanded};return e.onMounted(()=>{n.expanded=!!t.initialExpand}),(d,g)=>(e.openBlock(),e.createElementBlock("fieldset",{class:"dwui-accordion-fieldset",disabled:t.disabled},[e.createElementVNode("legend",null,[e.createElementVNode("button",{type:"button",class:"dwui-accordion-toggle","aria-expanded":n.expanded,onClick:s},[e.createVNode(e.unref(r.SvgTriangleButton),{direction:n.expanded?"up":"down"},null,8,["direction"]),t.legend!=null||o.legend!=null||o.icon!=null?(e.openBlock(),e.createBlock(c._sfc_main,{key:0},e.createSlots({_:2},[o.icon!=null?{name:"icon",fn:e.withCtx(()=>[e.renderSlot(d.$slots,"icon")]),key:"0"}:void 0,t.legend!=null||o.legend!=null?{name:"default",fn:e.withCtx(()=>[e.renderSlot(d.$slots,"legend",{},()=>[e.createTextVNode(e.toDisplayString(t.legend),1)])]),key:"1"}:void 0]),1024)):e.createCommentVNode("",!0)],8,_)]),e.createElementVNode("div",{ref_key:"refContents",ref:l,class:e.normalizeClass(["dwui-accordion-contents",e.unref(i)?n.expanded?"dwui-expanded":"dwui-shrunk":""])},[e.renderSlot(d.$slots,"default")],2)],8,p))}});exports._sfc_main=f;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./accordion-section.vue_vue_type_style_index_0_lang-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./accordion-section.vue_vue_type_style_index_0_lang-CFDdUEnn.cjs");exports.default=e._sfc_main;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { LabelPreset } from './types/label-preset.cjs';
|
|
2
|
+
interface Props {
|
|
3
|
+
/** trueの場合、開閉ボタンを無効にする */
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
/** trueの場合、開いた状態で表示する デフォルト false */
|
|
6
|
+
initialExpand?: boolean;
|
|
7
|
+
/** trueの場合、縮めたときに中身の下側をぼかさない */
|
|
8
|
+
noGradient?: boolean;
|
|
9
|
+
/** 縮めているときの開閉ボタン(開く)のラベル */
|
|
10
|
+
openLabel?: string;
|
|
11
|
+
/** 開いているときの開閉ボタン(閉じる)のラベル */
|
|
12
|
+
closeLabel?: string;
|
|
13
|
+
/** 縮めているときの開閉ボタン(開く)のアイコンとラベル */
|
|
14
|
+
openPreset?: LabelPreset;
|
|
15
|
+
/** 開いているときの開閉ボタン(閉じる)のアイコンとラベル */
|
|
16
|
+
closePreset?: LabelPreset;
|
|
17
|
+
}
|
|
18
|
+
interface Slots {
|
|
19
|
+
/** 縮めているときの開閉ボタン(開く)のアイコン */
|
|
20
|
+
'open-icon'?(): unknown;
|
|
21
|
+
/** 開いているときの開閉ボタン(閉じる)のアイコン */
|
|
22
|
+
'close-icon'?(): unknown;
|
|
23
|
+
default?(): unknown;
|
|
24
|
+
}
|
|
25
|
+
type __VLS_Slots = Slots;
|
|
26
|
+
declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
27
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
28
|
+
declare const _default: typeof __VLS_export;
|
|
29
|
+
export default _default;
|
|
30
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
31
|
+
new (): {
|
|
32
|
+
$slots: S;
|
|
33
|
+
};
|
|
34
|
+
};
|
package/lib/accordion-section.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),k=require("@digitalwalletcorp/vue-svg-icons"),v=require("./label-icon.vue_vue_type_style_index_0_lang-
|
|
1
|
+
"use strict";const e=require("vue"),k=require("@digitalwalletcorp/vue-svg-icons"),v=require("./label-icon.vue_vue_type_style_index_0_lang-D9Cimu20.cjs"),x=require("./use-shrinkable-Cu9JQZll.cjs"),f={class:"dwui-accordion-section"},g={key:0,class:"dwui-accordion-section-control"},m=["disabled","aria-expanded"],b=e.defineComponent({__name:"accordion-section",props:{disabled:{type:Boolean},initialExpand:{type:Boolean},noGradient:{type:Boolean},openLabel:{},closeLabel:{},openPreset:{},closePreset:{}},setup(u){const o=u,l=e.useSlots(),r=e.ref(),n=e.reactive({expanded:!0}),d=x.useShrinkable(r),s=e.computed(()=>n.expanded?o.closePreset:o.openPreset),a=()=>(n.expanded?l["close-icon"]:l["open-icon"])??s.value?.icon,p=()=>(n.expanded?l["close-icon"]:l["open-icon"])==null?s.value?.iconProps:void 0,i=e.computed(()=>{const t=n.expanded?o.closeLabel:o.openLabel;if(t!=null)return t;const c=s.value?.label;return typeof c=="function"?c():c}),_=()=>{n.expanded=!n.expanded};return e.onMounted(()=>{n.expanded=!!o.initialExpand}),(t,c)=>(e.openBlock(),e.createElementBlock("div",f,[e.createElementVNode("div",{ref_key:"refContents",ref:r,class:e.normalizeClass(["dwui-accordion-section-contents",[e.unref(d)?n.expanded?"dwui-expanded":"dwui-shrunk":"",{"dwui-no-gradient":o.noGradient}]])},[e.renderSlot(t.$slots,"default")],2),e.unref(d)?(e.openBlock(),e.createElementBlock("div",g,[e.createElementVNode("button",{type:"button",class:"dwui-accordion-section-toggle",disabled:o.disabled,"aria-expanded":n.expanded,onClick:e.withModifiers(_,["stop"])},[a()!=null||i.value!=null?(e.openBlock(),e.createBlock(v._sfc_main,{key:0},e.createSlots({_:2},[a()!=null?{name:"icon",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a()),e.normalizeProps(e.guardReactiveProps(p())),null,16))]),key:"0"}:void 0,i.value!=null?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value),1)]),key:"1"}:void 0]),1024)):(e.openBlock(),e.createBlock(e.unref(k.SvgTriangleButton),{key:1,direction:n.expanded?"up":"down"},null,8,["direction"]))],8,m)])):e.createCommentVNode("",!0)]))}});exports._sfc_main=b;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as k, useSlots as y, ref as w, reactive as C, computed as m, onMounted as h, openBlock as t, createElementBlock as f, createElementVNode as x, normalizeClass as P, unref as d, renderSlot as B, withModifiers as L, createBlock as r, createSlots as S, withCtx as g, resolveDynamicComponent as E, normalizeProps as N, guardReactiveProps as T, createTextVNode as V, toDisplayString as z, createCommentVNode as D } from "vue";
|
|
2
2
|
import { SvgTriangleButton as G } from "@digitalwalletcorp/vue-svg-icons";
|
|
3
|
-
import { _ as I } from "./label-icon.vue_vue_type_style_index_0_lang-
|
|
3
|
+
import { _ as I } from "./label-icon.vue_vue_type_style_index_0_lang-me52HE2V.js";
|
|
4
4
|
import { u as M } from "./use-shrinkable-CS2bmsJJ.js";
|
|
5
5
|
const $ = { class: "dwui-accordion-section" }, R = {
|
|
6
6
|
key: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("./accordion-fieldset.vue_vue_type_style_index_0_lang-
|
|
1
|
+
"use strict";const e=require("./accordion-fieldset.vue_vue_type_style_index_0_lang-t9NqmoZW.cjs"),_=require("./accordion-section.vue_vue_type_style_index_0_lang-CFDdUEnn.cjs"),n=require("./hourglass-loading.vue_vue_type_style_index_0_lang-C72UVA9W.cjs"),t=require("./label-button.vue_vue_type_script_setup_true_lang-BwVOxaJP.cjs"),i=require("./label-icon.vue_vue_type_style_index_0_lang-D9Cimu20.cjs"),o=require("./page-section.vue_vue_type_style_index_0_lang-DEAkTLxd.cjs"),c=require("./page-title.vue_vue_type_style_index_0_lang-BqIsIks5.cjs"),s=require("./tab-content.vue_vue_type_style_index_0_lang-BeCi7Xkp.cjs"),u=require("./tab-group.vue_vue_type_style_index_0_lang-CMaufRJV.cjs"),a=Object.freeze(Object.defineProperty({__proto__:null,AccordionFieldset:e._sfc_main,AccordionSection:_._sfc_main,HourglassLoading:n._sfc_main,LabelButton:t._sfc_main,LabelIcon:i._sfc_main,PageSection:o._sfc_main,PageTitle:c._sfc_main,TabContent:s._sfc_main,TabGroup:u._sfc_main},Symbol.toStringTag,{value:"Module"}));exports.components=a;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { _ as o } from "./accordion-fieldset.vue_vue_type_style_index_0_lang-
|
|
2
|
-
import { _ } from "./accordion-section.vue_vue_type_style_index_0_lang-
|
|
1
|
+
import { _ as o } from "./accordion-fieldset.vue_vue_type_style_index_0_lang-n-IZxUiu.js";
|
|
2
|
+
import { _ } from "./accordion-section.vue_vue_type_style_index_0_lang-Gvjjx02P.js";
|
|
3
3
|
import { _ as a } from "./hourglass-loading.vue_vue_type_style_index_0_lang-DkUGIxQ2.js";
|
|
4
|
-
import { _ as m } from "./label-button.vue_vue_type_script_setup_true_lang-
|
|
5
|
-
import { _ as r } from "./label-icon.vue_vue_type_style_index_0_lang-
|
|
6
|
-
import { _ as i } from "./page-section.vue_vue_type_style_index_0_lang-
|
|
7
|
-
import { _ as t } from "./page-title.vue_vue_type_style_index_0_lang-
|
|
4
|
+
import { _ as m } from "./label-button.vue_vue_type_script_setup_true_lang-DorC4pKz.js";
|
|
5
|
+
import { _ as r } from "./label-icon.vue_vue_type_style_index_0_lang-me52HE2V.js";
|
|
6
|
+
import { _ as i } from "./page-section.vue_vue_type_style_index_0_lang-DpVQe_rV.js";
|
|
7
|
+
import { _ as t } from "./page-title.vue_vue_type_style_index_0_lang-ChZot85K.js";
|
|
8
8
|
import { _ as n } from "./tab-content.vue_vue_type_style_index_0_lang-CcQLHmIF.js";
|
|
9
|
-
import { _ as s } from "./tab-group.vue_vue_type_style_index_0_lang-
|
|
9
|
+
import { _ as s } from "./tab-group.vue_vue_type_style_index_0_lang-C84mDEOC.js";
|
|
10
10
|
const u = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
11
11
|
__proto__: null,
|
|
12
12
|
AccordionFieldset: o,
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { default as AccordionFieldset } from './accordion-fieldset.cjs';
|
|
2
|
+
export { default as AccordionSection } from './accordion-section.cjs';
|
|
3
|
+
export { default as HourglassLoading } from './hourglass-loading.cjs';
|
|
4
|
+
export { default as LabelButton } from './label-button.cjs';
|
|
5
|
+
export { default as LabelIcon } from './label-icon.cjs';
|
|
6
|
+
export { default as PageSection } from './page-section.cjs';
|
|
7
|
+
export { default as PageTitle } from './page-title.cjs';
|
|
8
|
+
export { default as TabContent } from './tab-content.cjs';
|
|
9
|
+
export { default as TabGroup } from './tab-group.cjs';
|
package/lib/global.d.cts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
/** ローディング表示するか */
|
|
3
|
+
loading: boolean;
|
|
4
|
+
/** 砂が落ち切るまでの秒数。未指定ならSvgHourglassの既定値に任せる */
|
|
5
|
+
duration?: number;
|
|
6
|
+
/** 表示サイズ(高さ)。数値はpxとして扱う */
|
|
7
|
+
size?: number | string;
|
|
8
|
+
}
|
|
9
|
+
declare var __VLS_8: {};
|
|
10
|
+
type __VLS_Slots = {} & {
|
|
11
|
+
default?: (props: typeof __VLS_8) => any;
|
|
12
|
+
};
|
|
13
|
+
declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
14
|
+
size: number | string;
|
|
15
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
16
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
17
|
+
declare const _default: typeof __VLS_export;
|
|
18
|
+
export default _default;
|
|
19
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
20
|
+
new (): {
|
|
21
|
+
$slots: S;
|
|
22
|
+
};
|
|
23
|
+
};
|
package/lib/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./accordion-fieldset.vue_vue_type_style_index_0_lang-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./accordion-fieldset.vue_vue_type_style_index_0_lang-t9NqmoZW.cjs"),_=require("./accordion-section.vue_vue_type_style_index_0_lang-CFDdUEnn.cjs"),n=require("./hourglass-loading.vue_vue_type_style_index_0_lang-C72UVA9W.cjs"),t=require("./label-button.vue_vue_type_script_setup_true_lang-BwVOxaJP.cjs"),i=require("./label-icon.vue_vue_type_style_index_0_lang-D9Cimu20.cjs"),a=require("./page-section.vue_vue_type_style_index_0_lang-DEAkTLxd.cjs"),u=require("./page-title.vue_vue_type_style_index_0_lang-BqIsIks5.cjs"),o=require("./tab-content.vue_vue_type_style_index_0_lang-BeCi7Xkp.cjs"),s=require("./tab-group.vue_vue_type_style_index_0_lang-CMaufRJV.cjs");exports.AccordionFieldset=e._sfc_main;exports.AccordionSection=_._sfc_main;exports.HourglassLoading=n._sfc_main;exports.LabelButton=t._sfc_main;exports.LabelIcon=i._sfc_main;exports.PageSection=a._sfc_main;exports.PageTitle=u._sfc_main;exports.TabContent=o._sfc_main;exports.TabGroup=s._sfc_main;
|
package/lib/index.d.cts
ADDED
package/lib/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { _ as e } from "./accordion-fieldset.vue_vue_type_style_index_0_lang-
|
|
2
|
-
import { _ as t } from "./accordion-section.vue_vue_type_style_index_0_lang-
|
|
1
|
+
import { _ as e } from "./accordion-fieldset.vue_vue_type_style_index_0_lang-n-IZxUiu.js";
|
|
2
|
+
import { _ as t } from "./accordion-section.vue_vue_type_style_index_0_lang-Gvjjx02P.js";
|
|
3
3
|
import { _ as p } from "./hourglass-loading.vue_vue_type_style_index_0_lang-DkUGIxQ2.js";
|
|
4
|
-
import { _ as m } from "./label-button.vue_vue_type_script_setup_true_lang-
|
|
5
|
-
import { _ as x } from "./label-icon.vue_vue_type_style_index_0_lang-
|
|
6
|
-
import { _ as c } from "./page-section.vue_vue_type_style_index_0_lang-
|
|
7
|
-
import { _ as l } from "./page-title.vue_vue_type_style_index_0_lang-
|
|
4
|
+
import { _ as m } from "./label-button.vue_vue_type_script_setup_true_lang-DorC4pKz.js";
|
|
5
|
+
import { _ as x } from "./label-icon.vue_vue_type_style_index_0_lang-me52HE2V.js";
|
|
6
|
+
import { _ as c } from "./page-section.vue_vue_type_style_index_0_lang-DpVQe_rV.js";
|
|
7
|
+
import { _ as l } from "./page-title.vue_vue_type_style_index_0_lang-ChZot85K.js";
|
|
8
8
|
import { _ as d } from "./tab-content.vue_vue_type_style_index_0_lang-CcQLHmIF.js";
|
|
9
|
-
import { _ as u } from "./tab-group.vue_vue_type_style_index_0_lang-
|
|
9
|
+
import { _ as u } from "./tab-group.vue_vue_type_style_index_0_lang-C84mDEOC.js";
|
|
10
10
|
export {
|
|
11
11
|
e as AccordionFieldset,
|
|
12
12
|
t as AccordionSection,
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ComputedRef, InjectionKey, Ref, Slot } from 'vue';
|
|
2
|
+
/** タブの見出しの状態 */
|
|
3
|
+
export type TabContentStatus = 'warn' | 'error';
|
|
4
|
+
/**
|
|
5
|
+
* TabGroupからTabContentへ渡す状態
|
|
6
|
+
* TabGroupとTabContentの間だけで使い、利用側には公開しない
|
|
7
|
+
*/
|
|
8
|
+
export interface TabGroupContext {
|
|
9
|
+
/** 選択中のタブのlabelId */
|
|
10
|
+
activeLabelId: ComputedRef<string | undefined>;
|
|
11
|
+
/** TabGroupがマウント済みか */
|
|
12
|
+
mounted: Ref<boolean>;
|
|
13
|
+
/** TabGroupの#loadingスロット。未指定ならTabContentは既定の読み込み中表示を出す */
|
|
14
|
+
loadingSlot: () => Slot | undefined;
|
|
15
|
+
}
|
|
16
|
+
export declare const tabGroupContextKey: InjectionKey<TabGroupContext>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
/** 縮めたときの中身の高さ(px)。中身がこれより低い場合は開閉しない */
|
|
3
|
+
export declare const SHRUNK_HEIGHT = 70;
|
|
4
|
+
/**
|
|
5
|
+
* 中身が縮めたときの高さ以上あり、開閉できるかを返す
|
|
6
|
+
* 中身の大きさが変わるたびに測り直すため、隠れたタブの中にあって後から表示された場合や、中身が増減した場合も再判定される
|
|
7
|
+
* 縮めている間も中身の本来の高さで判定する
|
|
8
|
+
*
|
|
9
|
+
* @param {Ref<HTMLElement | undefined>} contents 開閉する中身の要素
|
|
10
|
+
* @returns {Ref<boolean>}
|
|
11
|
+
*/
|
|
12
|
+
export declare function useShrinkable(contents: Ref<HTMLElement | undefined>): Ref<boolean>;
|
package/lib/label-button.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./label-button.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./label-button.vue_vue_type_script_setup_true_lang-BwVOxaJP.cjs");exports.default=e._sfc_main;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ClassValue, StyleValue } from 'vue';
|
|
2
|
+
import { LabelPreset } from './types/label-preset.cjs';
|
|
3
|
+
interface Props {
|
|
4
|
+
/** アイコンとラベルの組み合わせ */
|
|
5
|
+
preset?: LabelPreset;
|
|
6
|
+
/** アイコンとラベルの間隔。未指定ならLabelIconの既定値(0.25em) */
|
|
7
|
+
gap?: string;
|
|
8
|
+
/** presetのアイコンに付けるclass。スロットで渡したアイコンには、スロット側で直接指定する */
|
|
9
|
+
iconClass?: ClassValue;
|
|
10
|
+
/** presetのアイコンに付けるstyle。スロットで渡したアイコンには、スロット側で直接指定する */
|
|
11
|
+
iconStyle?: StyleValue;
|
|
12
|
+
/** ラベルに付けるclass */
|
|
13
|
+
labelClass?: ClassValue;
|
|
14
|
+
/** ラベルに付けるstyle */
|
|
15
|
+
labelStyle?: StyleValue;
|
|
16
|
+
}
|
|
17
|
+
interface Slots {
|
|
18
|
+
icon?(): unknown;
|
|
19
|
+
default?(): unknown;
|
|
20
|
+
}
|
|
21
|
+
type __VLS_Slots = Slots;
|
|
22
|
+
declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
23
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
24
|
+
declare const _default: typeof __VLS_export;
|
|
25
|
+
export default _default;
|
|
26
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
27
|
+
new (): {
|
|
28
|
+
$slots: S;
|
|
29
|
+
};
|
|
30
|
+
};
|
package/lib/label-button.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),a=require("./label-icon.vue_vue_type_style_index_0_lang-
|
|
1
|
+
"use strict";const e=require("vue"),a=require("./label-icon.vue_vue_type_style_index_0_lang-D9Cimu20.cjs"),o=e.defineComponent({__name:"label-button",props:{preset:{},gap:{},iconClass:{type:[Boolean,null,String,Object,Array]},iconStyle:{type:[Boolean,null,String,Object,Array]},labelClass:{type:[Boolean,null,String,Object,Array]},labelStyle:{type:[Boolean,null,String,Object,Array]}},setup(s){const l=s,t=e.useSlots();return(n,c)=>(e.openBlock(),e.createElementBlock("button",null,[e.createVNode(a._sfc_main,{preset:l.preset,gap:l.gap,"icon-class":l.iconClass,"icon-style":l.iconStyle,"label-class":l.labelClass,"label-style":l.labelStyle},e.createSlots({_:2},[t.icon!=null?{name:"icon",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"icon")]),key:"0"}:void 0,t.default!=null?{name:"default",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),key:"1"}:void 0]),1032,["preset","gap","icon-class","icon-style","label-class","label-style"])]))}});exports._sfc_main=o;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as s, useSlots as r, openBlock as c, createElementBlock as i, createVNode as p, createSlots as y, withCtx as n, renderSlot as o } from "vue";
|
|
2
|
-
import { _ as u } from "./label-icon.vue_vue_type_style_index_0_lang-
|
|
2
|
+
import { _ as u } from "./label-icon.vue_vue_type_style_index_0_lang-me52HE2V.js";
|
|
3
3
|
const f = /* @__PURE__ */ s({
|
|
4
4
|
__name: "label-button",
|
|
5
5
|
props: {
|
package/lib/label-icon.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./label-icon.vue_vue_type_style_index_0_lang-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./label-icon.vue_vue_type_style_index_0_lang-D9Cimu20.cjs");exports.default=e._sfc_main;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ClassValue, StyleValue } from 'vue';
|
|
2
|
+
import { LabelPreset } from './types/label-preset.cjs';
|
|
3
|
+
interface Props {
|
|
4
|
+
/** アイコンとラベルの組み合わせ */
|
|
5
|
+
preset?: LabelPreset;
|
|
6
|
+
/** アイコンとラベルの間隔。未指定なら既定値(0.25em) */
|
|
7
|
+
gap?: string;
|
|
8
|
+
/** presetのアイコンに付けるclass。スロットで渡したアイコンには、スロット側で直接指定する */
|
|
9
|
+
iconClass?: ClassValue;
|
|
10
|
+
/** presetのアイコンに付けるstyle。スロットで渡したアイコンには、スロット側で直接指定する */
|
|
11
|
+
iconStyle?: StyleValue;
|
|
12
|
+
/** ラベルに付けるclass */
|
|
13
|
+
labelClass?: ClassValue;
|
|
14
|
+
/** ラベルに付けるstyle */
|
|
15
|
+
labelStyle?: StyleValue;
|
|
16
|
+
}
|
|
17
|
+
interface Slots {
|
|
18
|
+
icon?(): unknown;
|
|
19
|
+
default?(): unknown;
|
|
20
|
+
}
|
|
21
|
+
type __VLS_Slots = Slots;
|
|
22
|
+
declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
23
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
24
|
+
declare const _default: typeof __VLS_export;
|
|
25
|
+
export default _default;
|
|
26
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
27
|
+
new (): {
|
|
28
|
+
$slots: S;
|
|
29
|
+
};
|
|
30
|
+
};
|
package/lib/label-icon.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),s=e.defineComponent({__name:"label-icon",props:{preset:{},gap:{},iconClass:{type:[Boolean,null,String,Object,Array]},iconStyle:{type:[Boolean,null,String,Object,Array]},labelClass:{type:[Boolean,null,String,Object,Array]},labelStyle:{type:[Boolean,null,String,Object,Array]}},setup(n){const l=n,o=e.useSlots();return(t,a)=>(e.openBlock(),e.createElementBlock("span",{class:"dwui-label-icon",style:e.normalizeStyle(l.gap==null?void 0:{"--dwui-label-icon
|
|
1
|
+
"use strict";const e=require("vue"),s=e.defineComponent({__name:"label-icon",props:{preset:{},gap:{},iconClass:{type:[Boolean,null,String,Object,Array]},iconStyle:{type:[Boolean,null,String,Object,Array]},labelClass:{type:[Boolean,null,String,Object,Array]},labelStyle:{type:[Boolean,null,String,Object,Array]}},setup(n){const l=n,o=e.useSlots();return(t,a)=>(e.openBlock(),e.createElementBlock("span",{class:"dwui-label-icon",style:e.normalizeStyle(l.gap==null?void 0:{"--dwui-gap-label-icon":l.gap})},[e.renderSlot(t.$slots,"icon",{},()=>[l.preset!=null?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.preset.icon),e.mergeProps({key:0},l.preset.iconProps,{class:l.iconClass,style:l.iconStyle}),null,16,["class","style"])):e.createCommentVNode("",!0)]),o.default!=null||l.preset!=null?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["dwui-label",l.labelClass]),style:e.normalizeStyle(l.labelStyle)},[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(typeof l.preset?.label=="function"?l.preset.label():l.preset?.label),1)])],6)):e.createCommentVNode("",!0)],4))}});exports._sfc_main=s;
|
|
@@ -13,7 +13,7 @@ const f = /* @__PURE__ */ p({
|
|
|
13
13
|
const e = r, c = i();
|
|
14
14
|
return (t, g) => (l(), s("span", {
|
|
15
15
|
class: "dwui-label-icon",
|
|
16
|
-
style: n(e.gap == null ? void 0 : { "--dwui-label-icon
|
|
16
|
+
style: n(e.gap == null ? void 0 : { "--dwui-gap-label-icon": e.gap })
|
|
17
17
|
}, [
|
|
18
18
|
o(t.$slots, "icon", {}, () => [
|
|
19
19
|
e.preset != null ? (l(), y(u(e.preset.icon), b({ key: 0 }, e.preset.iconProps, {
|
package/lib/nuxt.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("@nuxt/kit"),r=require("./components-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("@nuxt/kit"),r=require("./components-CNOeuZPu.cjs");var t=typeof document<"u"?document.currentScript:null;const u=e.defineNuxtModule({meta:{name:"@digitalwalletcorp/vue-core",configKey:"vueCore"},setup(){const n=e.createResolver(typeof document>"u"?require("url").pathToFileURL(__filename).href:t&&t.tagName.toUpperCase()==="SCRIPT"&&t.src||new URL("nuxt.cjs",document.baseURI).href);for(const o of Object.keys(r.components))e.addComponent({name:o,export:o,filePath:n.resolve("./index")})}});exports.default=u;
|
package/lib/nuxt.d.cts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* コンポーネントをNuxtのコンポーネント自動importへ登録するモジュール。
|
|
3
|
+
* グローバル登録(registerComponents)と違い、テンプレートで使ったコンポーネントだけがバンドルされ、
|
|
4
|
+
* 型は Nuxt が .nuxt/components.d.ts へ生成するため、利用側に型定義は要らない。
|
|
5
|
+
*
|
|
6
|
+
* 名前の一覧を得るためだけに ./components をimportしている。
|
|
7
|
+
* このモジュールはビルド時にNuxtが読み込むもので、アプリの実行時バンドルには入らない
|
|
8
|
+
*/
|
|
9
|
+
declare const _default: import('@nuxt/schema').NuxtModule<import('@nuxt/schema').ModuleOptions, import('@nuxt/schema').ModuleOptions, false>;
|
|
10
|
+
export default _default;
|
package/lib/nuxt.js
CHANGED
package/lib/page-section.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./page-section.vue_vue_type_style_index_0_lang-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./page-section.vue_vue_type_style_index_0_lang-DEAkTLxd.cjs");exports.default=e._sfc_main;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ClassValue, StyleValue } from 'vue';
|
|
2
|
+
/** 見出しのアイコンとして選べるもの */
|
|
3
|
+
type PageSectionIcon = 'diamond' | 'circle' | 'square' | 'pushpin' | 'round-pushpin';
|
|
4
|
+
interface Props {
|
|
5
|
+
/** 見出しの文字。未指定なら見出しを表示しない */
|
|
6
|
+
title?: string;
|
|
7
|
+
/** 見出しのアイコン。これ以外のアイコンは#iconスロットで渡す デフォルト 'diamond' */
|
|
8
|
+
icon?: PageSectionIcon;
|
|
9
|
+
/** diamond・circle・squareの大きさ。未指定ならアイコンの既定値(large) */
|
|
10
|
+
iconVariant?: 'large' | 'medium' | 'small';
|
|
11
|
+
/** diamond・circle・squareの色。未指定ならdiamondは#1a44b6、circleは#e78b2f、squareは#d13a2b */
|
|
12
|
+
iconColor?: string;
|
|
13
|
+
/** 見出しに付けるclass */
|
|
14
|
+
titleClass?: ClassValue;
|
|
15
|
+
/** 見出しに付けるstyle */
|
|
16
|
+
titleStyle?: StyleValue;
|
|
17
|
+
}
|
|
18
|
+
interface Slots {
|
|
19
|
+
/** 見出しの文字の前に表示するアイコン。iconより優先する */
|
|
20
|
+
icon?(): unknown;
|
|
21
|
+
default?(): unknown;
|
|
22
|
+
}
|
|
23
|
+
type __VLS_Slots = Slots;
|
|
24
|
+
declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
25
|
+
icon: PageSectionIcon;
|
|
26
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
27
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
28
|
+
declare const _default: typeof __VLS_export;
|
|
29
|
+
export default _default;
|
|
30
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
31
|
+
new (): {
|
|
32
|
+
$slots: S;
|
|
33
|
+
};
|
|
34
|
+
};
|
package/lib/page-section.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),n=require("@digitalwalletcorp/vue-svg-icons"),r=require("./label-icon.vue_vue_type_style_index_0_lang-
|
|
1
|
+
"use strict";const e=require("vue"),n=require("@digitalwalletcorp/vue-svg-icons"),r=require("./label-icon.vue_vue_type_style_index_0_lang-D9Cimu20.cjs"),a={class:"dwui-page-section"},i={class:"dwui-page-section-content"},p=e.defineComponent({__name:"page-section",props:{title:{},icon:{default:"diamond"},iconVariant:{},iconColor:{},titleClass:{type:[Boolean,null,String,Object,Array]},titleStyle:{type:[Boolean,null,String,Object,Array]}},setup(l){const o=l,s={diamond:{component:n.SvgDiamond,shape:!0,color:"#1a44b6"},circle:{component:n.SvgCircle,shape:!0,color:"#e78b2f"},square:{component:n.SvgSquare,shape:!0,color:"#d13a2b"},pushpin:{component:n.SvgPushpin,shape:!1},"round-pushpin":{component:n.SvgRoundPushpin,shape:!1}},c=e.computed(()=>{const t=s[o.icon];return{component:t.component,props:t.shape?{variant:o.iconVariant,color:o.iconColor??t.color}:{}}});return(t,u)=>(e.openBlock(),e.createElementBlock("section",a,[o.title!=null?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["dwui-page-section-title",o.titleClass]),style:e.normalizeStyle(o.titleStyle)},[e.createVNode(r._sfc_main,null,{icon:e.withCtx(()=>[e.renderSlot(t.$slots,"icon",{},()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value.component),e.normalizeProps(e.guardReactiveProps(c.value.props)),null,16))])]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(o.title),1)]),_:3})],6)):e.createCommentVNode("",!0),e.createElementVNode("div",i,[e.renderSlot(t.$slots,"default")])]))}});exports._sfc_main=p;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as i, computed as p, openBlock as t, createElementBlock as r, normalizeStyle as m, normalizeClass as u, createVNode as d, withCtx as a, createTextVNode as S, toDisplayString as h, renderSlot as l, createBlock as _, resolveDynamicComponent as g, normalizeProps as f, guardReactiveProps as v, createCommentVNode as y, createElementVNode as C } from "vue";
|
|
2
2
|
import { SvgRoundPushpin as V, SvgPushpin as b, SvgSquare as B, SvgCircle as N, SvgDiamond as P } from "@digitalwalletcorp/vue-svg-icons";
|
|
3
|
-
import { _ as k } from "./label-icon.vue_vue_type_style_index_0_lang-
|
|
3
|
+
import { _ as k } from "./label-icon.vue_vue_type_style_index_0_lang-me52HE2V.js";
|
|
4
4
|
const w = { class: "dwui-page-section" }, E = { class: "dwui-page-section-content" }, $ = /* @__PURE__ */ i({
|
|
5
5
|
__name: "page-section",
|
|
6
6
|
props: {
|
package/lib/page-title.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./page-title.vue_vue_type_style_index_0_lang-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./page-title.vue_vue_type_style_index_0_lang-BqIsIks5.cjs");exports.default=e._sfc_main;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
/** タイトルの文字 */
|
|
3
|
+
title: string;
|
|
4
|
+
}
|
|
5
|
+
interface Slots {
|
|
6
|
+
/** タイトルの文字の前に表示するアイコン */
|
|
7
|
+
icon?(): unknown;
|
|
8
|
+
/** タイトルバーの右側に表示する内容 */
|
|
9
|
+
default?(): unknown;
|
|
10
|
+
}
|
|
11
|
+
type __VLS_Slots = Slots;
|
|
12
|
+
declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
|
+
declare const _default: typeof __VLS_export;
|
|
15
|
+
export default _default;
|
|
16
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
17
|
+
new (): {
|
|
18
|
+
$slots: S;
|
|
19
|
+
};
|
|
20
|
+
};
|
package/lib/page-title.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),l=require("./label-icon.vue_vue_type_style_index_0_lang-
|
|
1
|
+
"use strict";const e=require("vue"),l=require("./label-icon.vue_vue_type_style_index_0_lang-D9Cimu20.cjs"),c={class:"dwui-page-title"},i={key:0,class:"dwui-page-title-actions"},a=e.defineComponent({__name:"page-title",props:{title:{}},setup(n){const s=n,t=e.useSlots();return(o,r)=>(e.openBlock(),e.createElementBlock("section",c,[e.createVNode(l._sfc_main,{class:"dwui-page-title-label"},e.createSlots({default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(s.title),1)]),_:2},[t.icon!=null?{name:"icon",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"icon")]),key:"0"}:void 0]),1024),t.default!=null?(e.openBlock(),e.createElementBlock("span",i,[e.renderSlot(o.$slots,"default")])):e.createCommentVNode("",!0)]))}});exports._sfc_main=a;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as c, useSlots as r, openBlock as o, createElementBlock as s, createVNode as p, createSlots as d, withCtx as l, createTextVNode as u, toDisplayString as _, renderSlot as n, createCommentVNode as m } from "vue";
|
|
2
|
-
import { _ as f } from "./label-icon.vue_vue_type_style_index_0_lang-
|
|
2
|
+
import { _ as f } from "./label-icon.vue_vue_type_style_index_0_lang-me52HE2V.js";
|
|
3
3
|
const g = { class: "dwui-page-title" }, h = {
|
|
4
4
|
key: 0,
|
|
5
5
|
class: "dwui-page-title-actions"
|
package/lib/register.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./components-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./components-CNOeuZPu.cjs");function r(e){for(const[o,n]of Object.entries(t.components))e.component(o,n)}exports.registerComponents=r;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { App } from 'vue';
|
|
2
|
+
import * as components from './components.cjs';
|
|
3
|
+
type VueCoreComponents = typeof components;
|
|
4
|
+
declare module 'vue' {
|
|
5
|
+
interface GlobalComponents extends VueCoreComponents {
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export declare function registerComponents(app: App): void;
|
|
9
|
+
export {};
|
package/lib/register.js
CHANGED
package/lib/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:where(.dwui-label-icon){display:inline-block}:where(.dwui-label-icon>.dwui-label){display:inline-block}:where(.dwui-label-icon>.dwui-label:not(:first-child)){margin-left:var(--dwui-label-icon
|
|
1
|
+
:where(.dwui-label-icon){display:inline-block}:where(.dwui-label-icon>.dwui-label){display:inline-block}:where(.dwui-label-icon>.dwui-label:not(:first-child)){margin-left:var(--dwui-gap-label-icon, .25em)}:where(.dwui-accordion-fieldset){position:relative}:where(.dwui-accordion-toggle){display:inline-flex;align-items:center;gap:4px;margin-left:4px;padding:0;border:none;background:none;color:inherit;cursor:pointer}:where(.dwui-accordion-toggle:disabled){opacity:.6;cursor:not-allowed}:where(.dwui-accordion-contents){position:relative;width:fit-content;padding:2px;overflow:hidden;opacity:1}:where(.dwui-accordion-contents.dwui-expanded){transition:all .3s linear}:where(.dwui-accordion-contents.dwui-shrunk){height:auto;max-height:70px;opacity:.75;transition:all .3s linear}:where(.dwui-accordion-section){position:relative}:where(.dwui-accordion-section-contents){position:relative;width:fit-content;overflow:hidden}:where(.dwui-accordion-section-contents.dwui-expanded){transition:all .3s linear}:where(.dwui-accordion-section-contents.dwui-shrunk){height:auto;max-height:70px;transition:all .3s linear}:where(.dwui-accordion-section-contents.dwui-shrunk:not(.dwui-no-gradient)):after{content:"";position:absolute;inset:0;background-image:linear-gradient(180deg,transparent 0%,transparent 60%,var(--dwui-color-accordion-section-fade, Canvas) 100%);pointer-events:none}:where(.dwui-accordion-section-control){position:relative;display:flex;justify-content:center;width:100%}:where(.dwui-accordion-section-toggle){display:inline-flex;align-items:center;cursor:pointer}:where(.dwui-accordion-section-toggle:disabled){opacity:.6;cursor:not-allowed}:where(.dwui-accordion-section-toggle[aria-expanded=true]){margin-top:8px}:where(.dwui-accordion-section-toggle[aria-expanded=false]){margin-top:-10px}:where(.dwui-hourglass-loading){animation:dwui-hourglass-loading-spin 1.2s linear infinite}@keyframes dwui-hourglass-loading-spin{to{transform:rotate(360deg)}}:where(.dwui-page-section){display:block;margin:4px 0 8px;padding-top:2px;font-size:var(--dwui-font-size-page-section, 12px);font-weight:500}:where(.dwui-page-section-title){display:flex;align-items:center;font-size:var(--dwui-font-size-page-section-title, 14px)}:where(.dwui-page-section-content){margin:8px 0 8px 16px}:where(.dwui-page-title){display:flex;align-items:center;justify-content:space-between;width:var(--dwui-width-page-title, auto);padding:4px;border-radius:4px;background:var(--dwui-background-page-title, linear-gradient(#323232 0%, rgb(32, 32, 31) 25%, rgb(32, 32, 31) 75%, #323232 100%));color:var(--dwui-color-text-page-title, rgb(220, 220, 220));font-size:var(--dwui-font-size-page-title, 14px);font-weight:var(--dwui-font-weight-page-title, normal)}:where(.dwui-tab-content[aria-checked=false]){display:none}:where(.dwui-tab-content[aria-checked=true]){display:block;position:relative;padding:4px 8px;overflow:hidden;animation:dwui-tab-slide-in var(--dwui-duration-tab-slide, .35s) var(--dwui-easing-tab-slide, cubic-bezier(.22, 1, .36, 1))}:where(.dwui-tab-loading){position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;background:var(--dwui-overlay-color-loading, rgba(0, 0, 0, .25))}:where(.dwui-tab-loading-spinner){width:var(--dwui-size-loading-spinner, 40px);height:var(--dwui-size-loading-spinner, 40px);border:4px solid var(--dwui-border-color-loading-spinner-track, rgba(255, 255, 255, .4));border-top-color:var(--dwui-border-color-loading-spinner, #ffffff);border-radius:50%;animation:dwui-tab-loading-spin .8s linear infinite}@keyframes dwui-tab-loading-spin{to{transform:rotate(360deg)}}@keyframes dwui-tab-slide-in{0%{opacity:0;transform:translate(var(--dwui-distance-tab-slide, -128px))}to{opacity:1;transform:translate(0)}}:where(.dwui-tab-group){margin-bottom:8px}:where(.dwui-tab-headers){display:flex;flex-direction:row;flex-wrap:wrap;margin-top:5px;padding-bottom:4px}:where(.dwui-tab-radio){display:none}:where(.dwui-tab-item){display:block;min-width:100px;padding:0 4px;border:1px solid var(--dwui-border-color-tab, #565656);border-bottom:1px solid var(--dwui-border-color-tab-header-accent, #5ab4bd);background:var(--dwui-background-tab-header, linear-gradient(#1313c7, navy));line-height:2em;text-align:center;white-space:nowrap;color:var(--dwui-color-text-tab-header, azure);text-overflow:ellipsis;cursor:pointer;transition:all .2s ease}:where(.dwui-tab-radio:checked+.dwui-tab-item){background:var(--dwui-background-tab-header-selected, linear-gradient(#1313c7, rgb(149, 149, 234), #1313c7));color:var(--dwui-color-text-tab-header-selected, azure);cursor:default}:where(.dwui-tab-radio:disabled+.dwui-tab-item){background:var(--dwui-background-tab-header-disabled, gray);cursor:not-allowed}:where(.dwui-tab-item.dwui-tab-warn){background:var(--dwui-background-tab-header-warn, #efef13);color:var(--dwui-color-text-tab-header-warn, midnightblue)}:where(.dwui-tab-radio:checked+.dwui-tab-item.dwui-tab-warn){background:var(--dwui-background-tab-header-warn-selected, linear-gradient(#fafa06, rgb(232, 238, 206), #fafa06))}:where(.dwui-tab-item.dwui-tab-error){background:var(--dwui-background-tab-header-error, red);color:var(--dwui-color-text-tab-header-error, azure)}:where(.dwui-tab-radio:checked+.dwui-tab-item.dwui-tab-error){background:var(--dwui-background-tab-header-error-selected, linear-gradient(#ff0000, rgb(240, 136, 136), #ff0000))}:where(.dwui-tab-radio:not(:checked)+.dwui-tab-item:hover){box-shadow:inset 0 0 0 999px var(--dwui-overlay-color-tab-header-hover, rgba(255, 255, 255, .35))}:where(.dwui-tab-items){height:100%;border:1px solid var(--dwui-border-color-tab, #565656);overflow:hidden}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ClassValue, StyleValue } from 'vue';
|
|
2
|
+
import { TabContentStatus } from './internal/tab-group-context.cjs';
|
|
3
|
+
interface Props {
|
|
4
|
+
/** タブを識別するID。TabGroupのselectedTabLabelIdに渡す値 */
|
|
5
|
+
labelId: string;
|
|
6
|
+
/** タブの見出しの文字 */
|
|
7
|
+
description: string;
|
|
8
|
+
/** trueの場合、タブを選べなくし、中身も描画しない */
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
/** タブの見出しの状態。見出しの色が変わる */
|
|
11
|
+
status?: TabContentStatus;
|
|
12
|
+
/** タブの見出しに付けるclass */
|
|
13
|
+
headerClass?: ClassValue;
|
|
14
|
+
/** タブの見出しに付けるstyle */
|
|
15
|
+
headerStyle?: StyleValue;
|
|
16
|
+
}
|
|
17
|
+
interface Slots {
|
|
18
|
+
/** タブの見出しの文字の前に表示するアイコン */
|
|
19
|
+
icon?(): unknown;
|
|
20
|
+
/**
|
|
21
|
+
* タブの中身
|
|
22
|
+
* activated: タブが選ばれて表示されている間はtrue。中身のコンポーネントにpropsで渡し、選ばれたときの処理の契機にする
|
|
23
|
+
* setLoading: trueを渡すと読み込み中の表示にする。表示はTabGroupの#loadingスロット、未指定なら既定の表示
|
|
24
|
+
*/
|
|
25
|
+
default?(props: {
|
|
26
|
+
activated: boolean;
|
|
27
|
+
setLoading: (loading: boolean) => void;
|
|
28
|
+
}): unknown;
|
|
29
|
+
}
|
|
30
|
+
type __VLS_Slots = Slots;
|
|
31
|
+
declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
32
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
33
|
+
declare const _default: typeof __VLS_export;
|
|
34
|
+
export default _default;
|
|
35
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
36
|
+
new (): {
|
|
37
|
+
$slots: S;
|
|
38
|
+
};
|
|
39
|
+
};
|
package/lib/tab-group.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./tab-group.vue_vue_type_style_index_0_lang-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./tab-group.vue_vue_type_style_index_0_lang-CMaufRJV.cjs");exports.default=e._sfc_main;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ClassValue, StyleValue, VNode } from 'vue';
|
|
2
|
+
interface Props {
|
|
3
|
+
/** ラジオボタンのname。未指定なら自動で採番する */
|
|
4
|
+
tabGroupName?: string;
|
|
5
|
+
/** selectedTabLabelIdが未指定のとき、trueならdisabledでない最初のタブを選ぶ。falseなら先頭のタブ(disabledなら中身は空になる) */
|
|
6
|
+
selectFirstEnabled?: boolean;
|
|
7
|
+
/** タブの見出しを並べる部分に付けるclass */
|
|
8
|
+
headerClass?: ClassValue;
|
|
9
|
+
/** タブの見出しを並べる部分に付けるstyle */
|
|
10
|
+
headerStyle?: StyleValue;
|
|
11
|
+
/** タブの見出しを移動する先(Teleportのto) */
|
|
12
|
+
teleport?: string;
|
|
13
|
+
}
|
|
14
|
+
type __VLS_Props = Props;
|
|
15
|
+
interface Slots {
|
|
16
|
+
default?(): VNode[];
|
|
17
|
+
/** 読み込み中のTabContentに重ねて表示する内容。未指定なら既定の読み込み中表示 */
|
|
18
|
+
loading?(): VNode[];
|
|
19
|
+
}
|
|
20
|
+
type __VLS_Slots = Slots;
|
|
21
|
+
type __VLS_ModelProps = {
|
|
22
|
+
/**
|
|
23
|
+
* 選択するタブのlabelId。未指定なら先頭のタブ
|
|
24
|
+
* 親がいつ代入しても選び直せるよう、v-model:selected-tab-label-idで同期する前提とする
|
|
25
|
+
*/
|
|
26
|
+
'selectedTabLabelId'?: string;
|
|
27
|
+
};
|
|
28
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
29
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
30
|
+
"update:selectedTabLabelId": (value: string | undefined) => any;
|
|
31
|
+
} & {
|
|
32
|
+
"emit:changeSelectedTab": (labelId: string) => any;
|
|
33
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
34
|
+
"onEmit:changeSelectedTab"?: ((labelId: string) => any) | undefined;
|
|
35
|
+
"onUpdate:selectedTabLabelId"?: ((value: string | undefined) => any) | undefined;
|
|
36
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
37
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
38
|
+
declare const _default: typeof __VLS_export;
|
|
39
|
+
export default _default;
|
|
40
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
41
|
+
new (): {
|
|
42
|
+
$slots: S;
|
|
43
|
+
};
|
|
44
|
+
};
|
package/lib/tab-group.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as L, useModel as B, useSlots as N, useId as x, computed as y, ref as A, provide as E, onMounted as M, openBlock as s, createElementBlock as i, createBlock as _, Teleport as F, createElementVNode as o, normalizeStyle as v, normalizeClass as g, Fragment as S, renderList as G, unref as c, createVNode as V, createSlots as j, withCtx as I, createTextVNode as z, toDisplayString as D, resolveDynamicComponent as O, renderSlot as H, mergeModels as C } from "vue";
|
|
2
|
-
import { _ as K } from "./label-icon.vue_vue_type_style_index_0_lang-
|
|
2
|
+
import { _ as K } from "./label-icon.vue_vue_type_style_index_0_lang-me52HE2V.js";
|
|
3
3
|
import { t as P, _ as q } from "./tab-content.vue_vue_type_style_index_0_lang-CcQLHmIF.js";
|
|
4
4
|
const J = { class: "dwui-tab-group" }, Q = ["id", "name", "disabled", "checked", "onChange"], R = ["for", "data-test-tab-content-control"], U = { class: "dwui-tab-items" }, Z = /* @__PURE__ */ L({
|
|
5
5
|
__name: "tab-group",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),v=require("./label-icon.vue_vue_type_style_index_0_lang-
|
|
1
|
+
"use strict";const e=require("vue"),v=require("./label-icon.vue_vue_type_style_index_0_lang-D9Cimu20.cjs"),m=require("./tab-content.vue_vue_type_style_index_0_lang-BeCi7Xkp.cjs"),g={class:"dwui-tab-group"},S=["id","name","disabled","checked","onChange"],C=["for","data-test-tab-content-control"],I={class:"dwui-tab-items"},k=e.defineComponent({__name:"tab-group",props:e.mergeModels({tabGroupName:{},selectFirstEnabled:{type:Boolean},headerClass:{type:[Boolean,null,String,Object,Array]},headerStyle:{type:[Boolean,null,String,Object,Array]},teleport:{}},{selectedTabLabelId:{},selectedTabLabelIdModifiers:{}}),emits:e.mergeModels(["emit:changeSelectedTab"],["update:selectedTabLabelId"]),setup(r,{emit:h}){const n=r,_=h,o=e.useModel(r,"selectedTabLabelId"),c=e.useSlots(),s=n.tabGroupName??e.useId(),y=a=>{if(a.type!==m._sfc_main)return;const l=a.props??{},t=l.disabled;return{labelId:String(l["label-id"]??l.labelId),description:l.description,disabled:t===""||!!t,status:l.status,headerClass:l["header-class"]??l.headerClass,headerStyle:l["header-style"]??l.headerStyle,icon:a.children?.icon}},d=e.computed(()=>{const a=[];for(const l of c.default?.()??[]){const t=Array.isArray(l.children)?l.children:[l];for(const b of t){const p=y(b);p&&a.push(p)}}return a}),i=e.computed(()=>o.value!=null?o.value:(n.selectFirstEnabled?d.value.find(l=>!l.disabled):d.value[0])?.labelId),u=e.ref(!1);e.provide(m.tabGroupContextKey,{activeLabelId:i,mounted:u,loadingSlot:()=>c.loading}),e.onMounted(()=>{u.value=!0});const f=a=>{o.value=a,_("emit:changeSelectedTab",a)};return(a,l)=>(e.openBlock(),e.createElementBlock("div",g,[(e.openBlock(),e.createBlock(e.Teleport,{to:n.teleport??"body",disabled:n.teleport==null},[e.createElementVNode("div",{class:e.normalizeClass(["dwui-tab-headers",n.headerClass]),style:e.normalizeStyle(n.headerStyle)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,t=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t.labelId},[e.createElementVNode("input",{id:`${e.unref(s)}-${t.labelId}`,type:"radio",class:"dwui-tab-radio",name:e.unref(s),disabled:t.disabled,checked:t.labelId===i.value,onChange:b=>f(t.labelId)},null,40,S),e.createElementVNode("label",{for:`${e.unref(s)}-${t.labelId}`,class:e.normalizeClass(["dwui-tab-item",[t.status!=null?`dwui-tab-${t.status}`:void 0,t.headerClass]]),style:e.normalizeStyle(t.headerStyle),"data-test-tab-content-control":t.labelId},[e.createVNode(v._sfc_main,null,e.createSlots({default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(t.description),1)]),_:2},[t.icon!=null?{name:"icon",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon)))]),key:"0"}:void 0]),1024)],14,C)],64))),128))],6)],8,["to","disabled"])),e.createElementVNode("div",I,[e.renderSlot(a.$slots,"default")])]))}});exports._sfc_main=k;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Component } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* アイコンとラベルの組み合わせ
|
|
4
|
+
*/
|
|
5
|
+
export interface LabelPreset {
|
|
6
|
+
/** アイコンのコンポーネント */
|
|
7
|
+
icon: Component;
|
|
8
|
+
/** アイコンに渡すProps */
|
|
9
|
+
iconProps?: Record<string, unknown>;
|
|
10
|
+
/** ラベル。言語切替に追従させる場合は、描画のたびに呼ばれる関数で渡す */
|
|
11
|
+
label: string | (() => string);
|
|
12
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digitalwalletcorp/vue-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Basic UI components for Vue 3",
|
|
6
6
|
"main": "lib/index.cjs",
|
|
@@ -11,27 +11,42 @@
|
|
|
11
11
|
],
|
|
12
12
|
"exports": {
|
|
13
13
|
".": {
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
"import": {
|
|
15
|
+
"types": "./lib/index.d.ts",
|
|
16
|
+
"default": "./lib/index.js"
|
|
17
|
+
},
|
|
18
|
+
"require": {
|
|
19
|
+
"types": "./lib/index.d.cts",
|
|
20
|
+
"default": "./lib/index.cjs"
|
|
21
|
+
}
|
|
17
22
|
},
|
|
18
23
|
"./nuxt": {
|
|
19
24
|
"types": "./lib/nuxt.d.ts",
|
|
20
25
|
"import": "./lib/nuxt.js"
|
|
21
26
|
},
|
|
22
27
|
"./register": {
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
"import": {
|
|
29
|
+
"types": "./lib/register.d.ts",
|
|
30
|
+
"default": "./lib/register.js"
|
|
31
|
+
},
|
|
32
|
+
"require": {
|
|
33
|
+
"types": "./lib/register.d.cts",
|
|
34
|
+
"default": "./lib/register.cjs"
|
|
35
|
+
}
|
|
26
36
|
},
|
|
27
37
|
"./global": {
|
|
28
38
|
"types": "./lib/global.d.ts"
|
|
29
39
|
},
|
|
30
40
|
"./style.css": "./lib/style.css",
|
|
31
41
|
"./*": {
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
42
|
+
"import": {
|
|
43
|
+
"types": "./lib/*.d.ts",
|
|
44
|
+
"default": "./lib/*.js"
|
|
45
|
+
},
|
|
46
|
+
"require": {
|
|
47
|
+
"types": "./lib/*.d.cts",
|
|
48
|
+
"default": "./lib/*.cjs"
|
|
49
|
+
}
|
|
35
50
|
}
|
|
36
51
|
},
|
|
37
52
|
"scripts": {
|
|
@@ -160,7 +160,7 @@ onMounted(() => {
|
|
|
160
160
|
content: '';
|
|
161
161
|
position: absolute;
|
|
162
162
|
inset: 0;
|
|
163
|
-
background-image: linear-gradient(180deg, transparent 0%, transparent 60%, var(--dwui-accordion-section-fade, Canvas) 100%);
|
|
163
|
+
background-image: linear-gradient(180deg, transparent 0%, transparent 60%, var(--dwui-color-accordion-section-fade, Canvas) 100%);
|
|
164
164
|
pointer-events: none;
|
|
165
165
|
}
|
|
166
166
|
|
package/src/label-icon.vue
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<template>
|
|
5
5
|
<span
|
|
6
6
|
class="dwui-label-icon"
|
|
7
|
-
:style="props.gap == null ? undefined : { '--dwui-label-icon
|
|
7
|
+
:style="props.gap == null ? undefined : { '--dwui-gap-label-icon': props.gap }"
|
|
8
8
|
>
|
|
9
9
|
<slot name="icon">
|
|
10
10
|
<component
|
|
@@ -70,6 +70,6 @@ const slots = defineSlots<Slots>();
|
|
|
70
70
|
|
|
71
71
|
/* アイコンとラベルの間隔。gapはflex専用のためmarginで空ける */
|
|
72
72
|
:where(.dwui-label-icon > .dwui-label:not(:first-child)) {
|
|
73
|
-
margin-left: var(--dwui-label-icon
|
|
73
|
+
margin-left: var(--dwui-gap-label-icon, 0.25em);
|
|
74
74
|
}
|
|
75
75
|
</style>
|
package/src/page-section.vue
CHANGED
|
@@ -87,14 +87,14 @@ const presetIcon = computed((): { component: Component; props: Record<string, un
|
|
|
87
87
|
display: block;
|
|
88
88
|
margin: 4px 0 8px;
|
|
89
89
|
padding-top: 2px;
|
|
90
|
-
font-size: var(--dwui-page-section
|
|
90
|
+
font-size: var(--dwui-font-size-page-section, 12px);
|
|
91
91
|
font-weight: 500;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
:where(.dwui-page-section-title) {
|
|
95
95
|
display: flex;
|
|
96
96
|
align-items: center;
|
|
97
|
-
font-size: var(--dwui-page-section-title
|
|
97
|
+
font-size: var(--dwui-font-size-page-section-title, 14px);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
:where(.dwui-page-section-content) {
|
package/src/page-title.vue
CHANGED
|
@@ -45,12 +45,12 @@ const slots = defineSlots<Slots>();
|
|
|
45
45
|
display: flex;
|
|
46
46
|
align-items: center;
|
|
47
47
|
justify-content: space-between;
|
|
48
|
-
width: var(--dwui-page-title
|
|
48
|
+
width: var(--dwui-width-page-title, auto);
|
|
49
49
|
padding: 4px;
|
|
50
50
|
border-radius: 4px;
|
|
51
|
-
background: var(--dwui-page-title
|
|
52
|
-
color: var(--dwui-page-title
|
|
53
|
-
font-size: var(--dwui-page-title
|
|
54
|
-
font-weight: var(--dwui-page-title
|
|
51
|
+
background: var(--dwui-background-page-title, linear-gradient(#323232 0%, rgb(32, 32, 31) 25%, rgb(32, 32, 31) 75%, #323232 100%));
|
|
52
|
+
color: var(--dwui-color-text-page-title, rgb(220, 220, 220));
|
|
53
|
+
font-size: var(--dwui-font-size-page-title, 14px);
|
|
54
|
+
font-weight: var(--dwui-font-weight-page-title, normal);
|
|
55
55
|
}
|
|
56
56
|
</style>
|
package/src/tab-content.vue
CHANGED
|
@@ -106,7 +106,7 @@ const setLoading = (value: boolean) => {
|
|
|
106
106
|
padding: 4px 8px;
|
|
107
107
|
overflow: hidden;
|
|
108
108
|
/* 全幅を横断すると速度が出てカクつくため、既定は固定の移動量とease-outとフェードでスライドインする */
|
|
109
|
-
animation: dwui-tab-slide-in var(--dwui-tab-slide
|
|
109
|
+
animation: dwui-tab-slide-in var(--dwui-duration-tab-slide, 0.35s) var(--dwui-easing-tab-slide, cubic-bezier(0.22, 1, 0.36, 1));
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
:where(.dwui-tab-loading) {
|
|
@@ -116,14 +116,14 @@ const setLoading = (value: boolean) => {
|
|
|
116
116
|
display: flex;
|
|
117
117
|
align-items: center;
|
|
118
118
|
justify-content: center;
|
|
119
|
-
background: var(--dwui-loading
|
|
119
|
+
background: var(--dwui-overlay-color-loading, rgba(0, 0, 0, 0.25));
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
:where(.dwui-tab-loading-spinner) {
|
|
123
|
-
width: var(--dwui-loading-spinner
|
|
124
|
-
height: var(--dwui-loading-spinner
|
|
125
|
-
border: 4px solid var(--dwui-loading-spinner-track, rgba(255, 255, 255, 0.4));
|
|
126
|
-
border-top-color: var(--dwui-loading-spinner
|
|
123
|
+
width: var(--dwui-size-loading-spinner, 40px);
|
|
124
|
+
height: var(--dwui-size-loading-spinner, 40px);
|
|
125
|
+
border: 4px solid var(--dwui-border-color-loading-spinner-track, rgba(255, 255, 255, 0.4));
|
|
126
|
+
border-top-color: var(--dwui-border-color-loading-spinner, #ffffff);
|
|
127
127
|
border-radius: 50%;
|
|
128
128
|
animation: dwui-tab-loading-spin 0.8s linear infinite;
|
|
129
129
|
}
|
|
@@ -137,7 +137,7 @@ const setLoading = (value: boolean) => {
|
|
|
137
137
|
@keyframes dwui-tab-slide-in {
|
|
138
138
|
0% {
|
|
139
139
|
opacity: 0;
|
|
140
|
-
transform: translateX(var(--dwui-tab-slide
|
|
140
|
+
transform: translateX(var(--dwui-distance-tab-slide, -128px));
|
|
141
141
|
}
|
|
142
142
|
100% {
|
|
143
143
|
opacity: 1;
|
package/src/tab-group.vue
CHANGED
|
@@ -190,56 +190,56 @@ const onChangeTab = (labelId: string) => {
|
|
|
190
190
|
display: block;
|
|
191
191
|
min-width: 100px;
|
|
192
192
|
padding: 0 4px;
|
|
193
|
-
border: 1px solid var(--dwui-tab
|
|
194
|
-
border-bottom: 1px solid var(--dwui-tab-header-accent, #5ab4bd);
|
|
195
|
-
background: var(--dwui-tab-header
|
|
193
|
+
border: 1px solid var(--dwui-border-color-tab, #565656);
|
|
194
|
+
border-bottom: 1px solid var(--dwui-border-color-tab-header-accent, #5ab4bd);
|
|
195
|
+
background: var(--dwui-background-tab-header, linear-gradient(#1313c7, navy));
|
|
196
196
|
line-height: 2em;
|
|
197
197
|
text-align: center;
|
|
198
198
|
white-space: nowrap;
|
|
199
|
-
color: var(--dwui-tab-header
|
|
199
|
+
color: var(--dwui-color-text-tab-header, azure);
|
|
200
200
|
text-overflow: ellipsis;
|
|
201
201
|
cursor: pointer;
|
|
202
202
|
transition: all 0.2s ease;
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
:where(.dwui-tab-radio:checked + .dwui-tab-item) {
|
|
206
|
-
background: var(--dwui-tab-header-selected
|
|
207
|
-
color: var(--dwui-tab-header-selected
|
|
206
|
+
background: var(--dwui-background-tab-header-selected, linear-gradient(#1313c7, rgb(149, 149, 234), #1313c7));
|
|
207
|
+
color: var(--dwui-color-text-tab-header-selected, azure);
|
|
208
208
|
/* 選択済みのタブは操作の対象ではないためカーソルを既定にする */
|
|
209
209
|
cursor: default;
|
|
210
210
|
}
|
|
211
211
|
|
|
212
212
|
:where(.dwui-tab-radio:disabled + .dwui-tab-item) {
|
|
213
|
-
background: var(--dwui-tab-header-disabled
|
|
213
|
+
background: var(--dwui-background-tab-header-disabled, gray);
|
|
214
214
|
cursor: not-allowed;
|
|
215
215
|
}
|
|
216
216
|
|
|
217
217
|
:where(.dwui-tab-item.dwui-tab-warn) {
|
|
218
|
-
background: var(--dwui-tab-header-warn
|
|
219
|
-
color: var(--dwui-tab-header-warn
|
|
218
|
+
background: var(--dwui-background-tab-header-warn, #efef13);
|
|
219
|
+
color: var(--dwui-color-text-tab-header-warn, midnightblue);
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
:where(.dwui-tab-radio:checked + .dwui-tab-item.dwui-tab-warn) {
|
|
223
|
-
background: var(--dwui-tab-header-warn-selected
|
|
223
|
+
background: var(--dwui-background-tab-header-warn-selected, linear-gradient(#fafa06, rgb(232, 238, 206), #fafa06));
|
|
224
224
|
}
|
|
225
225
|
|
|
226
226
|
:where(.dwui-tab-item.dwui-tab-error) {
|
|
227
|
-
background: var(--dwui-tab-header-error
|
|
228
|
-
color: var(--dwui-tab-header-error
|
|
227
|
+
background: var(--dwui-background-tab-header-error, red);
|
|
228
|
+
color: var(--dwui-color-text-tab-header-error, azure);
|
|
229
229
|
}
|
|
230
230
|
|
|
231
231
|
:where(.dwui-tab-radio:checked + .dwui-tab-item.dwui-tab-error) {
|
|
232
|
-
background: var(--dwui-tab-header-error-selected
|
|
232
|
+
background: var(--dwui-background-tab-header-error-selected, linear-gradient(#ff0000, rgb(240, 136, 136), #ff0000));
|
|
233
233
|
}
|
|
234
234
|
|
|
235
235
|
:where(.dwui-tab-radio:not(:checked) + .dwui-tab-item:hover) {
|
|
236
236
|
/* 背景の上に半透明の白を重ね、枠線と文字はそのままで背景だけを明るくする */
|
|
237
|
-
box-shadow: inset 0 0 0 999px var(--dwui-tab-header-hover
|
|
237
|
+
box-shadow: inset 0 0 0 999px var(--dwui-overlay-color-tab-header-hover, rgba(255, 255, 255, 0.35));
|
|
238
238
|
}
|
|
239
239
|
|
|
240
240
|
:where(.dwui-tab-items) {
|
|
241
241
|
height: 100%;
|
|
242
|
-
border: 1px solid var(--dwui-tab
|
|
242
|
+
border: 1px solid var(--dwui-border-color-tab, #565656);
|
|
243
243
|
/* 中身を切り替えたときのスライドを枠内に収める */
|
|
244
244
|
overflow: hidden;
|
|
245
245
|
}
|