yuyeon 0.0.27 → 0.0.28

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,6 +1,7 @@
1
1
  import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
2
2
  import { computed, defineComponent, mergeProps } from 'vue';
3
3
  import { pressChoiceItemPropsOptions, useChoiceItem } from "../../composables/choice.mjs";
4
+ import { useChoiceByLink } from "../../composables/choice-link.mjs";
4
5
  import { useRender } from "../../composables/component.mjs";
5
6
  import { pressVueRouterPropsOptions, useLink } from "../../composables/vue-router.mjs";
6
7
  import { PlateWave } from "../../directives/plate-wave/index.mjs";
@@ -68,6 +69,7 @@ export const YButton = defineComponent({
68
69
  } = _ref;
69
70
  const choice = useChoiceItem(props, props.injectSymbol, false);
70
71
  const link = useLink(props, attrs);
72
+ useChoiceByLink(link, choice?.select);
71
73
  const isActive = computed(() => {
72
74
  if (props.active !== undefined) {
73
75
  return props.active;
@@ -123,31 +125,54 @@ export const YButton = defineComponent({
123
125
  [`--y-button__text-color`]: textColor
124
126
  };
125
127
  });
128
+ const isDisabled = computed(() => {
129
+ return choice?.disabled.value || props.disabled;
130
+ });
126
131
 
127
132
  /// Events
128
133
  function onClick(e) {
129
- e.preventDefault();
130
- if (props.loading) {
134
+ function guardEvent(e) {
135
+ // don't redirect with control keys
136
+ if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) return;
137
+ // don't redirect when preventDefault called
138
+ if (e.defaultPrevented) return;
139
+ // don't redirect on right click
140
+ if (e.button !== undefined && e.button !== 0) return;
141
+ // don't redirect if `target="_blank"`
142
+ if (/\b_blank\b/i.test(attrs.target)) {
143
+ return;
144
+ }
145
+ return true;
146
+ }
147
+ if (!guardEvent(e) || props.loading || isDisabled.value) {
131
148
  return;
132
149
  }
133
150
  link.navigate?.(e);
151
+ if (e.preventDefault) e.preventDefault();
134
152
  choice?.toggle();
135
153
  }
136
154
  useRender(() => {
137
- return _withDirectives(_createVNode("button", {
155
+ const Tag = link.isLink.value ? 'a' : 'button';
156
+ return _withDirectives(_createVNode(Tag, {
138
157
  "class": [`${NAME}`, choice?.selectedClass.value, {
139
158
  ...classes.value
140
159
  }],
160
+ "href": link.href.value,
141
161
  "style": styles.value,
142
162
  "onClick": onClick,
143
163
  "disabled": props.disabled ? true : undefined
144
- }, [_createVNode("span", {
145
- "class": ['y-button__content']
146
- }, [props.loading && _createVNode(YSpinnerRing, mergeProps({
147
- width: '24',
148
- height: '24'
149
- }), null), slots.default?.()]), slots.append?.()]), [[_resolveDirective("plate-wave"), !props.noWave && !props.loading]]);
164
+ }, {
165
+ default: () => [_createVNode("span", {
166
+ "class": ['y-button__content']
167
+ }, [props.loading && _createVNode(YSpinnerRing, mergeProps({
168
+ width: '24',
169
+ height: '24'
170
+ }), null), slots.default?.()]), slots.append?.()]
171
+ }), [[_resolveDirective("plate-wave"), !props.noWave && !props.loading]]);
150
172
  });
173
+ return {
174
+ link
175
+ };
151
176
  }
152
177
  });
153
178
  //# sourceMappingURL=YButton.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"YButton.mjs","names":["computed","defineComponent","mergeProps","pressChoiceItemPropsOptions","useChoiceItem","useRender","pressVueRouterPropsOptions","useLink","PlateWave","isColorValue","propsFactory","YSpinnerRing","Y_TOGGLE_BUTTON_KEY","NAME","pressYButtonProps","loading","Boolean","active","type","default","undefined","injectSymbol","variation","String","small","icon","outlined","rounded","filled","color","noWave","YButton","name","directives","props","emits","choice","setup","_ref","attrs","slots","link","isActive","isLink","value","isSelected","variations","split","map","trim","classes","includes","disabled","styles","textColor","onClick","e","preventDefault","navigate","toggle","_withDirectives","_createVNode","selectedClass","width","height","append","_resolveDirective"],"sources":["../../../src/components/button/YButton.tsx"],"sourcesContent":["import type { PropType } from 'vue';\nimport { computed, defineComponent, mergeProps } from 'vue';\n\nimport {\n pressChoiceItemPropsOptions,\n useChoiceItem,\n} from '../../composables/choice';\nimport { useRender } from '../../composables/component';\nimport {\n pressVueRouterPropsOptions,\n useLink,\n} from '../../composables/vue-router';\nimport { PlateWave } from '../../directives/plate-wave';\nimport { isColorValue } from '../../util/color';\nimport { propsFactory } from '../../util/vue-component';\nimport { YSpinnerRing } from '../loading/YSpinnerRing';\nimport { Y_TOGGLE_BUTTON_KEY } from '../toggle-button';\n\n/**\n * Style\n */\nimport './YButton.scss';\n\nconst NAME = 'y-button';\n\nexport const pressYButtonProps = propsFactory(\n {\n loading: Boolean,\n active: { type: Boolean, default: undefined },\n injectSymbol: { type: null, default: Y_TOGGLE_BUTTON_KEY },\n //\n variation: {\n type: String as PropType<string>,\n },\n small: Boolean,\n icon: Boolean,\n outlined: {\n type: Boolean,\n default: false,\n },\n rounded: {\n type: Boolean,\n default: false,\n },\n filled: {\n type: Boolean,\n default: false,\n },\n //\n color: {\n type: String,\n },\n noWave: {\n type: Boolean,\n default: false,\n },\n ...pressVueRouterPropsOptions(),\n ...pressChoiceItemPropsOptions(),\n },\n 'YButton',\n);\n\nexport const YButton = defineComponent({\n name: 'YButton',\n directives: {\n PlateWave,\n },\n props: pressYButtonProps(),\n emits: {\n 'choice:selected': (choice: { value: boolean }) => true,\n },\n setup(props, { attrs, slots }) {\n const choice = useChoiceItem(props, props.injectSymbol, false);\n const link = useLink(props, attrs);\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active;\n }\n if (link.isLink.value) {\n return link.isActive?.value;\n }\n return choice?.isSelected.value;\n });\n\n const variations = computed(() => {\n const { variation } = props;\n if (typeof variation === 'string') {\n return variation.split(',').map((value) => {\n return value.trim();\n });\n }\n return [];\n });\n\n const classes = computed(() => {\n const { outlined, rounded, filled, small, icon } = props;\n return {\n [`${NAME}--outlined`]:\n variations.value.includes('outlined') || outlined,\n [`${NAME}--rounded`]: variations.value.includes('rounded') || rounded,\n [`${NAME}--filled`]: variations.value.includes('filled') || filled,\n [`${NAME}--text`]: variations.value.includes('text'),\n [`${NAME}--small`]: variations.value.includes('small') || small,\n [`${NAME}--icon`]: variations.value.includes('icon') || icon,\n [`${NAME}--color`]: props.color,\n [`${NAME}--loading`]: props.loading,\n [`${NAME}--disabled`]: props.disabled,\n [`${NAME}--active`]: isActive.value,\n };\n });\n\n const styles = computed(() => {\n let { color } = props;\n let textColor: string | undefined;\n if (color && !isColorValue(color)) {\n color = `var(--y-theme-${color})`;\n textColor = `var(--y-theme-on-${props.color})`;\n }\n return {\n [`--y-button__color`]: color,\n [`--y-button__text-color`]: textColor,\n };\n });\n\n /// Events\n function onClick(e: MouseEvent) {\n e.preventDefault();\n if (props.loading) {\n return;\n }\n link.navigate?.(e);\n choice?.toggle();\n }\n\n useRender(() => {\n return (\n <button\n class={[\n `${NAME}`,\n choice?.selectedClass.value,\n {\n ...classes.value,\n },\n ]}\n style={styles.value}\n onClick={onClick}\n disabled={props.disabled ? true : undefined}\n v-plate-wave={!props.noWave && !props.loading}\n >\n <span class={['y-button__content']}>\n {props.loading && (\n <YSpinnerRing\n {...mergeProps({ width: '24', height: '24' })}\n ></YSpinnerRing>\n )}\n {slots.default?.()}\n </span>\n {slots.append?.()}\n </button>\n );\n });\n },\n});\n\nexport type YButton = InstanceType<typeof YButton>;\n"],"mappings":";AACA,SAASA,QAAQ,EAAEC,eAAe,EAAEC,UAAU,QAAQ,KAAK;AAAC,SAG1DC,2BAA2B,EAC3BC,aAAa;AAAA,SAENC,SAAS;AAAA,SAEhBC,0BAA0B,EAC1BC,OAAO;AAAA,SAEAC,SAAS;AAAA,SACTC,YAAY;AAAA,SACZC,YAAY;AAAA,SACZC,YAAY;AAAA,SACZC,mBAAmB;AAE5B;AACA;AACA;AACA;AAEA,MAAMC,IAAI,GAAG,UAAU;AAEvB,OAAO,MAAMC,iBAAiB,GAAGJ,YAAY,CAC3C;EACEK,OAAO,EAAEC,OAAO;EAChBC,MAAM,EAAE;IAAEC,IAAI,EAAEF,OAAO;IAAEG,OAAO,EAAEC;EAAU,CAAC;EAC7CC,YAAY,EAAE;IAAEH,IAAI,EAAE,IAAI;IAAEC,OAAO,EAAEP;EAAoB,CAAC;EAC1D;EACAU,SAAS,EAAE;IACTJ,IAAI,EAAEK;EACR,CAAC;EACDC,KAAK,EAAER,OAAO;EACdS,IAAI,EAAET,OAAO;EACbU,QAAQ,EAAE;IACRR,IAAI,EAAEF,OAAO;IACbG,OAAO,EAAE;EACX,CAAC;EACDQ,OAAO,EAAE;IACPT,IAAI,EAAEF,OAAO;IACbG,OAAO,EAAE;EACX,CAAC;EACDS,MAAM,EAAE;IACNV,IAAI,EAAEF,OAAO;IACbG,OAAO,EAAE;EACX,CAAC;EACD;EACAU,KAAK,EAAE;IACLX,IAAI,EAAEK;EACR,CAAC;EACDO,MAAM,EAAE;IACNZ,IAAI,EAAEF,OAAO;IACbG,OAAO,EAAE;EACX,CAAC;EACD,GAAGb,0BAA0B,CAAC,CAAC;EAC/B,GAAGH,2BAA2B,CAAC;AACjC,CAAC,EACD,SACF,CAAC;AAED,OAAO,MAAM4B,OAAO,GAAG9B,eAAe,CAAC;EACrC+B,IAAI,EAAE,SAAS;EACfC,UAAU,EAAE;IACVzB;EACF,CAAC;EACD0B,KAAK,EAAEpB,iBAAiB,CAAC,CAAC;EAC1BqB,KAAK,EAAE;IACL,iBAAiB,EAAGC,MAA0B,IAAK;EACrD,CAAC;EACDC,KAAKA,CAACH,KAAK,EAAAI,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAMF,MAAM,GAAGhC,aAAa,CAAC8B,KAAK,EAAEA,KAAK,CAACb,YAAY,EAAE,KAAK,CAAC;IAC9D,MAAMoB,IAAI,GAAGlC,OAAO,CAAC2B,KAAK,EAAEK,KAAK,CAAC;IAElC,MAAMG,QAAQ,GAAG1C,QAAQ,CAAC,MAAM;MAC9B,IAAIkC,KAAK,CAACjB,MAAM,KAAKG,SAAS,EAAE;QAC9B,OAAOc,KAAK,CAACjB,MAAM;MACrB;MACA,IAAIwB,IAAI,CAACE,MAAM,CAACC,KAAK,EAAE;QACrB,OAAOH,IAAI,CAACC,QAAQ,EAAEE,KAAK;MAC7B;MACA,OAAOR,MAAM,EAAES,UAAU,CAACD,KAAK;IACjC,CAAC,CAAC;IAEF,MAAME,UAAU,GAAG9C,QAAQ,CAAC,MAAM;MAChC,MAAM;QAAEsB;MAAU,CAAC,GAAGY,KAAK;MAC3B,IAAI,OAAOZ,SAAS,KAAK,QAAQ,EAAE;QACjC,OAAOA,SAAS,CAACyB,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAEJ,KAAK,IAAK;UACzC,OAAOA,KAAK,CAACK,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;MACJ;MACA,OAAO,EAAE;IACX,CAAC,CAAC;IAEF,MAAMC,OAAO,GAAGlD,QAAQ,CAAC,MAAM;MAC7B,MAAM;QAAE0B,QAAQ;QAAEC,OAAO;QAAEC,MAAM;QAAEJ,KAAK;QAAEC;MAAK,CAAC,GAAGS,KAAK;MACxD,OAAO;QACL,CAAE,GAAErB,IAAK,YAAW,GAClBiC,UAAU,CAACF,KAAK,CAACO,QAAQ,CAAC,UAAU,CAAC,IAAIzB,QAAQ;QACnD,CAAE,GAAEb,IAAK,WAAU,GAAGiC,UAAU,CAACF,KAAK,CAACO,QAAQ,CAAC,SAAS,CAAC,IAAIxB,OAAO;QACrE,CAAE,GAAEd,IAAK,UAAS,GAAGiC,UAAU,CAACF,KAAK,CAACO,QAAQ,CAAC,QAAQ,CAAC,IAAIvB,MAAM;QAClE,CAAE,GAAEf,IAAK,QAAO,GAAGiC,UAAU,CAACF,KAAK,CAACO,QAAQ,CAAC,MAAM,CAAC;QACpD,CAAE,GAAEtC,IAAK,SAAQ,GAAGiC,UAAU,CAACF,KAAK,CAACO,QAAQ,CAAC,OAAO,CAAC,IAAI3B,KAAK;QAC/D,CAAE,GAAEX,IAAK,QAAO,GAAGiC,UAAU,CAACF,KAAK,CAACO,QAAQ,CAAC,MAAM,CAAC,IAAI1B,IAAI;QAC5D,CAAE,GAAEZ,IAAK,SAAQ,GAAGqB,KAAK,CAACL,KAAK;QAC/B,CAAE,GAAEhB,IAAK,WAAU,GAAGqB,KAAK,CAACnB,OAAO;QACnC,CAAE,GAAEF,IAAK,YAAW,GAAGqB,KAAK,CAACkB,QAAQ;QACrC,CAAE,GAAEvC,IAAK,UAAS,GAAG6B,QAAQ,CAACE;MAChC,CAAC;IACH,CAAC,CAAC;IAEF,MAAMS,MAAM,GAAGrD,QAAQ,CAAC,MAAM;MAC5B,IAAI;QAAE6B;MAAM,CAAC,GAAGK,KAAK;MACrB,IAAIoB,SAA6B;MACjC,IAAIzB,KAAK,IAAI,CAACpB,YAAY,CAACoB,KAAK,CAAC,EAAE;QACjCA,KAAK,GAAI,iBAAgBA,KAAM,GAAE;QACjCyB,SAAS,GAAI,oBAAmBpB,KAAK,CAACL,KAAM,GAAE;MAChD;MACA,OAAO;QACL,CAAE,mBAAkB,GAAGA,KAAK;QAC5B,CAAE,wBAAuB,GAAGyB;MAC9B,CAAC;IACH,CAAC,CAAC;;IAEF;IACA,SAASC,OAAOA,CAACC,CAAa,EAAE;MAC9BA,CAAC,CAACC,cAAc,CAAC,CAAC;MAClB,IAAIvB,KAAK,CAACnB,OAAO,EAAE;QACjB;MACF;MACA0B,IAAI,CAACiB,QAAQ,GAAGF,CAAC,CAAC;MAClBpB,MAAM,EAAEuB,MAAM,CAAC,CAAC;IAClB;IAEAtD,SAAS,CAAC,MAAM;MACd,OAAAuD,eAAA,CAAAC,YAAA;QAAA,SAEW,CACJ,GAAEhD,IAAK,EAAC,EACTuB,MAAM,EAAE0B,aAAa,CAAClB,KAAK,EAC3B;UACE,GAAGM,OAAO,CAACN;QACb,CAAC,CACF;QAAA,SACMS,MAAM,CAACT,KAAK;QAAA,WACVW,OAAO;QAAA,YACNrB,KAAK,CAACkB,QAAQ,GAAG,IAAI,GAAGhC;MAAS,IAAAyC,YAAA;QAAA,SAG9B,CAAC,mBAAmB;MAAC,IAC/B3B,KAAK,CAACnB,OAAO,IAAA8C,YAAA,CAAAlD,YAAA,EAENT,UAAU,CAAC;QAAE6D,KAAK,EAAE,IAAI;QAAEC,MAAM,EAAE;MAAK,CAAC,CAAC,OAEhD,EACAxB,KAAK,CAACrB,OAAO,GAAG,CAAC,IAEnBqB,KAAK,CAACyB,MAAM,GAAG,CAAC,MAAAC,iBAAA,gBAVH,CAAChC,KAAK,CAACJ,MAAM,IAAI,CAACI,KAAK,CAACnB,OAAO;IAanD,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YButton.mjs","names":["computed","defineComponent","mergeProps","pressChoiceItemPropsOptions","useChoiceItem","useChoiceByLink","useRender","pressVueRouterPropsOptions","useLink","PlateWave","isColorValue","propsFactory","YSpinnerRing","Y_TOGGLE_BUTTON_KEY","NAME","pressYButtonProps","loading","Boolean","active","type","default","undefined","injectSymbol","variation","String","small","icon","outlined","rounded","filled","color","noWave","YButton","name","directives","props","emits","choice","setup","_ref","attrs","slots","link","select","isActive","isLink","value","isSelected","variations","split","map","trim","classes","includes","disabled","styles","textColor","isDisabled","onClick","e","guardEvent","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","button","test","target","navigate","preventDefault","toggle","Tag","_withDirectives","_createVNode","selectedClass","href","width","height","append","_resolveDirective"],"sources":["../../../src/components/button/YButton.tsx"],"sourcesContent":["import type { PropType } from 'vue';\nimport { computed, defineComponent, mergeProps } from 'vue';\n\nimport {\n pressChoiceItemPropsOptions,\n useChoiceItem,\n} from '../../composables/choice';\nimport { useChoiceByLink } from '../../composables/choice-link';\nimport { useRender } from '../../composables/component';\nimport {\n pressVueRouterPropsOptions,\n useLink,\n} from '../../composables/vue-router';\nimport { PlateWave } from '../../directives/plate-wave';\nimport { isColorValue } from '../../util/color';\nimport { propsFactory } from '../../util/vue-component';\nimport { YSpinnerRing } from '../loading/YSpinnerRing';\nimport { Y_TOGGLE_BUTTON_KEY } from '../toggle-button';\n\n/**\n * Style\n */\nimport './YButton.scss';\n\nconst NAME = 'y-button';\n\nexport const pressYButtonProps = propsFactory(\n {\n loading: Boolean,\n active: { type: Boolean, default: undefined },\n injectSymbol: { type: null, default: Y_TOGGLE_BUTTON_KEY },\n //\n variation: {\n type: String as PropType<string>,\n },\n small: Boolean,\n icon: Boolean,\n outlined: {\n type: Boolean,\n default: false,\n },\n rounded: {\n type: Boolean,\n default: false,\n },\n filled: {\n type: Boolean,\n default: false,\n },\n //\n color: {\n type: String,\n },\n noWave: {\n type: Boolean,\n default: false,\n },\n ...pressVueRouterPropsOptions(),\n ...pressChoiceItemPropsOptions(),\n },\n 'YButton',\n);\n\nexport const YButton = defineComponent({\n name: 'YButton',\n directives: {\n PlateWave,\n },\n props: pressYButtonProps(),\n emits: {\n 'choice:selected': (choice: { value: boolean }) => true,\n },\n setup(props, { attrs, slots }) {\n const choice = useChoiceItem(props, props.injectSymbol, false);\n const link = useLink(props, attrs);\n useChoiceByLink(link, choice?.select);\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active;\n }\n if (link.isLink.value) {\n return link.isActive?.value;\n }\n return choice?.isSelected.value;\n });\n\n const variations = computed(() => {\n const { variation } = props;\n if (typeof variation === 'string') {\n return variation.split(',').map((value) => {\n return value.trim();\n });\n }\n return [];\n });\n\n const classes = computed(() => {\n const { outlined, rounded, filled, small, icon } = props;\n return {\n [`${NAME}--outlined`]:\n variations.value.includes('outlined') || outlined,\n [`${NAME}--rounded`]: variations.value.includes('rounded') || rounded,\n [`${NAME}--filled`]: variations.value.includes('filled') || filled,\n [`${NAME}--text`]: variations.value.includes('text'),\n [`${NAME}--small`]: variations.value.includes('small') || small,\n [`${NAME}--icon`]: variations.value.includes('icon') || icon,\n [`${NAME}--color`]: props.color,\n [`${NAME}--loading`]: props.loading,\n [`${NAME}--disabled`]: props.disabled,\n [`${NAME}--active`]: isActive.value,\n };\n });\n\n const styles = computed(() => {\n let { color } = props;\n let textColor: string | undefined;\n if (color && !isColorValue(color)) {\n color = `var(--y-theme-${color})`;\n textColor = `var(--y-theme-on-${props.color})`;\n }\n return {\n [`--y-button__color`]: color,\n [`--y-button__text-color`]: textColor,\n };\n });\n\n const isDisabled = computed(() => {\n return choice?.disabled.value || props.disabled;\n });\n\n /// Events\n function onClick(e: MouseEvent) {\n function guardEvent(e: MouseEvent) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) return;\n // don't redirect when preventDefault called\n if (e.defaultPrevented) return;\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) return;\n // don't redirect if `target=\"_blank\"`\n if (/\\b_blank\\b/i.test(attrs.target as string)) {\n return;\n }\n return true;\n }\n if (!guardEvent(e) || props.loading || isDisabled.value) {\n return;\n }\n link.navigate?.(e);\n if (e.preventDefault) e.preventDefault();\n choice?.toggle();\n }\n\n useRender(() => {\n const Tag = link.isLink.value ? 'a' : 'button';\n return (\n <Tag\n class={[\n `${NAME}`,\n choice?.selectedClass.value,\n {\n ...classes.value,\n },\n ]}\n href={link.href.value}\n style={styles.value}\n onClick={onClick}\n disabled={props.disabled ? true : undefined}\n v-plate-wave={!props.noWave && !props.loading}\n >\n <span class={['y-button__content']}>\n {props.loading && (\n <YSpinnerRing\n {...mergeProps({ width: '24', height: '24' })}\n ></YSpinnerRing>\n )}\n {slots.default?.()}\n </span>\n {slots.append?.()}\n </Tag>\n );\n });\n\n return {\n link,\n };\n },\n});\n\nexport type YButton = InstanceType<typeof YButton>;\n"],"mappings":"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"}
@@ -17,6 +17,7 @@ $button-disabled-background: #d3d3d3 !default;
17
17
  border-radius: $button-border-radius;
18
18
  font-weight: 500;
19
19
  transition: all 240ms cubic-bezier(0.42, 0.5, 0.51, 1.02);
20
+ text-decoration: none;
20
21
 
21
22
  &:before {
22
23
  background-color: currentColor;
@@ -8,7 +8,6 @@ import { Y_TABS_KEY } from "./shared.mjs";
8
8
  import "./YTab.scss";
9
9
  export const pressYTabPropsOptions = propsFactory({
10
10
  text: String,
11
- value: String,
12
11
  hideIndicator: Boolean,
13
12
  indicatorColor: String,
14
13
  ...pressYButtonProps({
@@ -45,7 +44,6 @@ export const YTab = defineComponent({
45
44
  }
46
45
  useRender(() => {
47
46
  const yButtonProps = chooseProps(props, YButton.props);
48
- console.log(props, yButtonProps);
49
47
  return _createVNode(_Fragment, null, [_createVNode(YButton, _mergeProps({
50
48
  "class": ['y-tab'],
51
49
  "active": false
@@ -1 +1 @@
1
- {"version":3,"file":"YTab.mjs","names":["shallowRef","computed","defineComponent","ref","useRender","chooseProps","propsFactory","YButton","pressYButtonProps","Y_TABS_KEY","pressYTabPropsOptions","text","String","value","hideIndicator","Boolean","indicatorColor","selectedClass","noWave","YTab","name","props","slots","Object","setup","_ref","attrs","selected","indicator$","indicatorStyles","attrsProps","role","tabindex","onChoice","_ref2","yButtonProps","console","log","_createVNode","_Fragment","_mergeProps","default","append"],"sources":["../../../src/components/tab/YTab.tsx"],"sourcesContent":["import { shallowRef } from '@vue/runtime-core';\nimport {\n PropType,\n SlotsType,\n computed,\n defineComponent,\n mergeProps,\n ref,\n} from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { chooseProps, omit, propsFactory } from '../../util';\nimport { YButton, pressYButtonProps } from '../button';\nimport { Y_TABS_KEY } from './shared';\n\nimport './YTab.scss';\n\nexport const pressYTabPropsOptions = propsFactory(\n {\n text: String as PropType<string>,\n value: String as PropType<string>,\n hideIndicator: Boolean as PropType<boolean>,\n indicatorColor: String as PropType<string>,\n ...pressYButtonProps({\n selectedClass: 'y-tab--selected',\n noWave: true,\n }),\n },\n 'YTab',\n);\n\nexport const YTab = defineComponent({\n name: 'YTab',\n props: pressYTabPropsOptions(),\n slots: Object as SlotsType<{\n default?: any;\n }>,\n setup(props, { slots, attrs }) {\n const selected = shallowRef(false);\n\n const indicator$ = ref();\n const indicatorStyles = computed(() => {\n return {};\n });\n const attrsProps = computed(() => {\n return {\n role: 'tab',\n 'aria-selected': `${String(selected.value)}`,\n tabindex: selected.value ? 0 : -1,\n };\n });\n\n function onChoice({ value }: { value: boolean }) {\n selected.value = value;\n }\n\n useRender(() => {\n const yButtonProps = chooseProps(props, YButton.props);\n console.log(props, yButtonProps);\n return (\n <>\n <YButton\n class={['y-tab']}\n active={false}\n {...attrsProps.value}\n {...attrs}\n {...yButtonProps}\n injectSymbol={Y_TABS_KEY}\n onChoice:selected={onChoice}\n >\n {{\n default: () => slots.default?.() ?? props.text,\n append: () =>\n !props.hideIndicator && (\n <div\n ref={indicator$}\n class={['y-tab__indicator']}\n style={indicatorStyles.value}\n ></div>\n ),\n }}\n </YButton>\n </>\n );\n });\n\n return {};\n },\n});\n"],"mappings":";AAAA,SAASA,UAAU,QAAQ,mBAAmB;AAC9C,SAGEC,QAAQ,EACRC,eAAe,EAEfC,GAAG,QACE,KAAK;AAAC,SAEJC,SAAS;AAAA,SACTC,WAAW,EAAQC,YAAY;AAAA,SAC/BC,OAAO,EAAEC,iBAAiB;AAAA,SAC1BC,UAAU;AAEnB;AAEA,OAAO,MAAMC,qBAAqB,GAAGJ,YAAY,CAC/C;EACEK,IAAI,EAAEC,MAA0B;EAChCC,KAAK,EAAED,MAA0B;EACjCE,aAAa,EAAEC,OAA4B;EAC3CC,cAAc,EAAEJ,MAA0B;EAC1C,GAAGJ,iBAAiB,CAAC;IACjBS,aAAa,EAAE,iBAAiB;IAChCC,MAAM,EAAE;EACZ,CAAC;AACH,CAAC,EACD,MACF,CAAC;AAED,OAAO,MAAMC,IAAI,GAAGjB,eAAe,CAAC;EAClCkB,IAAI,EAAE,MAAM;EACZC,KAAK,EAAEX,qBAAqB,CAAC,CAAC;EAC9BY,KAAK,EAAEC,MAEL;EACFC,KAAKA,CAACH,KAAK,EAAAI,IAAA,EAAoB;IAAA,IAAlB;MAAEH,KAAK;MAAEI;IAAM,CAAC,GAAAD,IAAA;IAC3B,MAAME,QAAQ,GAAG3B,UAAU,CAAC,KAAK,CAAC;IAElC,MAAM4B,UAAU,GAAGzB,GAAG,CAAC,CAAC;IACxB,MAAM0B,eAAe,GAAG5B,QAAQ,CAAC,MAAM;MACrC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,MAAM6B,UAAU,GAAG7B,QAAQ,CAAC,MAAM;MAChC,OAAO;QACL8B,IAAI,EAAE,KAAK;QACX,eAAe,EAAG,GAAEnB,MAAM,CAACe,QAAQ,CAACd,KAAK,CAAE,EAAC;QAC5CmB,QAAQ,EAAEL,QAAQ,CAACd,KAAK,GAAG,CAAC,GAAG,CAAC;MAClC,CAAC;IACH,CAAC,CAAC;IAEF,SAASoB,QAAQA,CAAAC,KAAA,EAAgC;MAAA,IAA/B;QAAErB;MAA0B,CAAC,GAAAqB,KAAA;MAC7CP,QAAQ,CAACd,KAAK,GAAGA,KAAK;IACxB;IAEAT,SAAS,CAAC,MAAM;MACd,MAAM+B,YAAY,GAAG9B,WAAW,CAACgB,KAAK,EAAEd,OAAO,CAACc,KAAK,CAAC;MACtDe,OAAO,CAACC,GAAG,CAAChB,KAAK,EAAEc,YAAY,CAAC;MAChC,OAAAG,YAAA,CAAAC,SAAA,SAAAD,YAAA,CAAA/B,OAAA,EAAAiC,WAAA;QAAA,SAGa,CAAC,OAAO,CAAC;QAAA,UACR;MAAK,GACTV,UAAU,CAACjB,KAAK,EAChBa,KAAK,EACLS,YAAY;QAAA,gBACF1B,UAAU;QAAA,qBACLwB;MAAQ;QAGzBQ,OAAO,EAAEA,CAAA,KAAMnB,KAAK,CAACmB,OAAO,GAAG,CAAC,IAAIpB,KAAK,CAACV,IAAI;QAC9C+B,MAAM,EAAEA,CAAA,KACN,CAACrB,KAAK,CAACP,aAAa,IAAAwB,YAAA;UAAA,OAEXV,UAAU;UAAA,SACR,CAAC,kBAAkB,CAAC;UAAA,SACpBC,eAAe,CAAChB;QAAK;MAE/B;IAKb,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YTab.mjs","names":["shallowRef","computed","defineComponent","ref","useRender","chooseProps","propsFactory","YButton","pressYButtonProps","Y_TABS_KEY","pressYTabPropsOptions","text","String","hideIndicator","Boolean","indicatorColor","selectedClass","noWave","YTab","name","props","slots","Object","setup","_ref","attrs","selected","indicator$","indicatorStyles","attrsProps","role","value","tabindex","onChoice","_ref2","yButtonProps","_createVNode","_Fragment","_mergeProps","default","append"],"sources":["../../../src/components/tab/YTab.tsx"],"sourcesContent":["import { shallowRef } from '@vue/runtime-core';\r\nimport { PropType, SlotsType, computed, defineComponent, ref } from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { chooseProps, propsFactory } from '../../util';\r\nimport { YButton, pressYButtonProps } from '../button';\r\nimport { Y_TABS_KEY } from './shared';\r\n\r\nimport './YTab.scss';\r\n\r\nexport const pressYTabPropsOptions = propsFactory(\r\n {\r\n text: String as PropType<string>,\r\n hideIndicator: Boolean as PropType<boolean>,\r\n indicatorColor: String as PropType<string>,\r\n ...pressYButtonProps({\r\n selectedClass: 'y-tab--selected',\r\n noWave: true,\r\n }),\r\n },\r\n 'YTab',\r\n);\r\n\r\nexport const YTab = defineComponent({\r\n name: 'YTab',\r\n props: pressYTabPropsOptions(),\r\n slots: Object as SlotsType<{\r\n default?: any;\r\n }>,\r\n setup(props, { slots, attrs }) {\r\n const selected = shallowRef(false);\r\n\r\n const indicator$ = ref();\r\n const indicatorStyles = computed(() => {\r\n return {};\r\n });\r\n const attrsProps = computed(() => {\r\n return {\r\n role: 'tab',\r\n 'aria-selected': `${String(selected.value)}`,\r\n tabindex: selected.value ? 0 : -1,\r\n };\r\n });\r\n\r\n function onChoice({ value }: { value: boolean }) {\r\n selected.value = value;\r\n }\r\n\r\n useRender(() => {\r\n const yButtonProps = chooseProps(props, YButton.props);\r\n return (\r\n <>\r\n <YButton\r\n class={['y-tab']}\r\n active={false}\r\n {...attrsProps.value}\r\n {...attrs}\r\n {...yButtonProps}\r\n injectSymbol={Y_TABS_KEY}\r\n onChoice:selected={onChoice}\r\n >\r\n {{\r\n default: () => slots.default?.() ?? props.text,\r\n append: () =>\r\n !props.hideIndicator && (\r\n <div\r\n ref={indicator$}\r\n class={['y-tab__indicator']}\r\n style={indicatorStyles.value}\r\n ></div>\r\n ),\r\n }}\r\n </YButton>\r\n </>\r\n );\r\n });\r\n\r\n return {};\r\n },\r\n});\r\n"],"mappings":";AAAA,SAASA,UAAU,QAAQ,mBAAmB;AAC9C,SAA8BC,QAAQ,EAAEC,eAAe,EAAEC,GAAG,QAAQ,KAAK;AAAC,SAEjEC,SAAS;AAAA,SACTC,WAAW,EAAEC,YAAY;AAAA,SACzBC,OAAO,EAAEC,iBAAiB;AAAA,SAC1BC,UAAU;AAEnB;AAEA,OAAO,MAAMC,qBAAqB,GAAGJ,YAAY,CAC/C;EACEK,IAAI,EAAEC,MAA0B;EAChCC,aAAa,EAAEC,OAA4B;EAC3CC,cAAc,EAAEH,MAA0B;EAC1C,GAAGJ,iBAAiB,CAAC;IACnBQ,aAAa,EAAE,iBAAiB;IAChCC,MAAM,EAAE;EACV,CAAC;AACH,CAAC,EACD,MACF,CAAC;AAED,OAAO,MAAMC,IAAI,GAAGhB,eAAe,CAAC;EAClCiB,IAAI,EAAE,MAAM;EACZC,KAAK,EAAEV,qBAAqB,CAAC,CAAC;EAC9BW,KAAK,EAAEC,MAEL;EACFC,KAAKA,CAACH,KAAK,EAAAI,IAAA,EAAoB;IAAA,IAAlB;MAAEH,KAAK;MAAEI;IAAM,CAAC,GAAAD,IAAA;IAC3B,MAAME,QAAQ,GAAG1B,UAAU,CAAC,KAAK,CAAC;IAElC,MAAM2B,UAAU,GAAGxB,GAAG,CAAC,CAAC;IACxB,MAAMyB,eAAe,GAAG3B,QAAQ,CAAC,MAAM;MACrC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,MAAM4B,UAAU,GAAG5B,QAAQ,CAAC,MAAM;MAChC,OAAO;QACL6B,IAAI,EAAE,KAAK;QACX,eAAe,EAAG,GAAElB,MAAM,CAACc,QAAQ,CAACK,KAAK,CAAE,EAAC;QAC5CC,QAAQ,EAAEN,QAAQ,CAACK,KAAK,GAAG,CAAC,GAAG,CAAC;MAClC,CAAC;IACH,CAAC,CAAC;IAEF,SAASE,QAAQA,CAAAC,KAAA,EAAgC;MAAA,IAA/B;QAAEH;MAA0B,CAAC,GAAAG,KAAA;MAC7CR,QAAQ,CAACK,KAAK,GAAGA,KAAK;IACxB;IAEA3B,SAAS,CAAC,MAAM;MACd,MAAM+B,YAAY,GAAG9B,WAAW,CAACe,KAAK,EAAEb,OAAO,CAACa,KAAK,CAAC;MACtD,OAAAgB,YAAA,CAAAC,SAAA,SAAAD,YAAA,CAAA7B,OAAA,EAAA+B,WAAA;QAAA,SAGa,CAAC,OAAO,CAAC;QAAA,UACR;MAAK,GACTT,UAAU,CAACE,KAAK,EAChBN,KAAK,EACLU,YAAY;QAAA,gBACF1B,UAAU;QAAA,qBACLwB;MAAQ;QAGzBM,OAAO,EAAEA,CAAA,KAAMlB,KAAK,CAACkB,OAAO,GAAG,CAAC,IAAInB,KAAK,CAACT,IAAI;QAC9C6B,MAAM,EAAEA,CAAA,KACN,CAACpB,KAAK,CAACP,aAAa,IAAAuB,YAAA;UAAA,OAEXT,UAAU;UAAA,SACR,CAAC,kBAAkB,CAAC;UAAA,SACpBC,eAAe,CAACG;QAAK;MAE/B;IAKb,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -9,14 +9,17 @@
9
9
  --y-tab-active-indicator-color: var(--y-theme-primary);
10
10
  --y-tab-hover-indicator-color: var(--y-theme-outline);
11
11
 
12
- box-shadow: none;
13
12
  border-radius: 0;
14
- font-size: 1rem;
15
- padding: 4px 8px 12px;
16
13
  color: var(--y-tab-color);
17
14
 
18
- &:before {
19
- background: radial-gradient(currentColor 50%, transparent);
15
+ &.y-button {
16
+ font-size: 1rem;
17
+ padding: 4px 8px 12px;
18
+ box-shadow: none;
19
+
20
+ &:before {
21
+ background: radial-gradient(currentColor 50%, transparent);
22
+ }
20
23
  }
21
24
 
22
25
  &__indicator {
@@ -0,0 +1,13 @@
1
+ import { nextTick, watch } from 'vue';
2
+ export function useChoiceByLink(link, select) {
3
+ watch(() => link.isActive?.value, neo => {
4
+ if (link.isLink.value && neo && select) {
5
+ nextTick(() => {
6
+ select(true);
7
+ });
8
+ }
9
+ }, {
10
+ immediate: true
11
+ });
12
+ }
13
+ //# sourceMappingURL=choice-link.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choice-link.mjs","names":["nextTick","watch","useChoiceByLink","link","select","isActive","value","neo","isLink","immediate"],"sources":["../../src/composables/choice-link.ts"],"sourcesContent":["import { nextTick, watch } from 'vue';\n\nimport type { UseLink } from './vue-router';\n\nexport function useChoiceByLink(\n link: UseLink,\n select?: (value: boolean, event?: Event) => void,\n) {\n watch(\n () => link.isActive?.value,\n (neo) => {\n if (link.isLink.value && neo && select) {\n nextTick(() => {\n select(true);\n });\n }\n },\n { immediate: true },\n );\n}\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAIrC,OAAO,SAASC,eAAeA,CAC7BC,IAAa,EACbC,MAAgD,EAChD;EACAH,KAAK,CACH,MAAME,IAAI,CAACE,QAAQ,EAAEC,KAAK,EACzBC,GAAG,IAAK;IACP,IAAIJ,IAAI,CAACK,MAAM,CAACF,KAAK,IAAIC,GAAG,IAAIH,MAAM,EAAE;MACtCJ,QAAQ,CAAC,MAAM;QACbI,MAAM,CAAC,IAAI,CAAC;MACd,CAAC,CAAC;IACJ;EACF,CAAC,EACD;IAAEK,SAAS,EAAE;EAAK,CACpB,CAAC;AACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yuyeon",
3
- "version": "0.0.27",
3
+ "version": "0.0.28",
4
4
  "keywords": [
5
5
  "UI Library",
6
6
  "Vue"
@@ -180,7 +180,9 @@ export declare const YButton: import("vue").DefineComponent<{
180
180
  type: BooleanConstructor;
181
181
  default: boolean;
182
182
  };
183
- }, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
183
+ }, {
184
+ link: import("../../composables/vue-router").UseLink;
185
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
184
186
  'choice:selected': (choice: {
185
187
  value: boolean;
186
188
  }) => boolean;
@@ -0,0 +1,2 @@
1
+ import type { UseLink } from './vue-router';
2
+ export declare function useChoiceByLink(link: UseLink, select?: (value: boolean, event?: Event) => void): void;
package/types/shims.d.ts CHANGED
@@ -1,81 +1,81 @@
1
- import * as vue from 'vue';
2
- import {
3
- YAlert,
4
- YApp,
5
- YButton,
6
- YCard,
7
- YCardBody,
8
- YCardFooter,
9
- YCardHeader,
10
- YCheckbox,
11
- YChip,
12
- YDataTable,
13
- YDataTableServer,
14
- YDialog,
15
- YDividePanel,
16
- YDropdown,
17
- YExpandHTransition,
18
- YExpandVTransition,
19
- YFieldInput,
20
- YForm,
21
- YInput,
22
- YInputCheckbox,
23
- YLayer,
24
- YList,
25
- YListItem,
26
- YMenu,
27
- YPagination,
28
- YProgressBar,
29
- YSelect,
30
- YSnackbar,
31
- YSpinnerRing,
32
- YSwitch,
33
- YTab,
34
- YTable,
35
- YTabs,
36
- YTooltip,
37
- YTreeView,
38
- YTreeViewNode,
39
- } from 'yuyeon/types/components';
40
-
41
- declare module '@vue/runtime-core' {
42
- export interface GlobalComponents {
43
- // @define-components
44
- YApp: typeof YApp;
45
- YButton: typeof YButton;
46
- YChip: typeof YChip;
47
- YInput: typeof YInput;
48
- YFieldInput: typeof YFieldInput;
49
- YForm: typeof YForm;
50
- YCard: typeof YCard;
51
- YCardBody: typeof YCardBody;
52
- YCardHeader: typeof YCardHeader;
53
- YCardFooter: typeof YCardFooter;
54
- YDialog: typeof YDialog;
55
- YLayer: typeof YLayer;
56
- YSnackbar: typeof YSnackbar;
57
- YProgressBar: typeof YProgressBar;
58
- YSpinnerRing: typeof YSpinnerRing;
59
- YTooltip: typeof YTooltip;
60
- YExpandVTransition: typeof YExpandVTransition;
61
- YExpandHTransition: typeof YExpandHTransition;
62
- YDividePanel: typeof YDividePanel;
63
- YList: typeof YList;
64
- YListItem: typeof YListItem;
65
- YTreeView: typeof YTreeView;
66
- YTreeViewNode: typeof YTreeViewNode;
67
- YDataTable: typeof YDataTable;
68
- YTable: typeof YTable;
69
- YDataTableServer: typeof YDataTableServer;
70
- YMenu: typeof YMenu;
71
- YPagination: typeof YPagination;
72
- YInputCheckbox: typeof YInputCheckbox;
73
- YCheckbox: typeof YCheckbox;
74
- YSwitch: typeof YSwitch;
75
- YDropdown: typeof YDropdown;
76
- YSelect: typeof YSelect;
77
- YAlert: typeof YAlert;
78
- YTabs: typeof YTabs;
79
- YTab: typeof YTab;
80
- }
81
- }
1
+ import * as vue from 'vue';
2
+ import {
3
+ YAlert,
4
+ YApp,
5
+ YButton,
6
+ YCard,
7
+ YCardBody,
8
+ YCardFooter,
9
+ YCardHeader,
10
+ YCheckbox,
11
+ YChip,
12
+ YDataTable,
13
+ YDataTableServer,
14
+ YDialog,
15
+ YDividePanel,
16
+ YDropdown,
17
+ YExpandHTransition,
18
+ YExpandVTransition,
19
+ YFieldInput,
20
+ YForm,
21
+ YInput,
22
+ YInputCheckbox,
23
+ YLayer,
24
+ YList,
25
+ YListItem,
26
+ YMenu,
27
+ YPagination,
28
+ YProgressBar,
29
+ YSelect,
30
+ YSnackbar,
31
+ YSpinnerRing,
32
+ YSwitch,
33
+ YTab,
34
+ YTable,
35
+ YTabs,
36
+ YTooltip,
37
+ YTreeView,
38
+ YTreeViewNode,
39
+ } from 'yuyeon/types/components';
40
+
41
+ declare module '@vue/runtime-core' {
42
+ export interface GlobalComponents {
43
+ // @define-components
44
+ YApp: typeof YApp;
45
+ YButton: typeof YButton;
46
+ YChip: typeof YChip;
47
+ YInput: typeof YInput;
48
+ YFieldInput: typeof YFieldInput;
49
+ YForm: typeof YForm;
50
+ YCard: typeof YCard;
51
+ YCardBody: typeof YCardBody;
52
+ YCardHeader: typeof YCardHeader;
53
+ YCardFooter: typeof YCardFooter;
54
+ YDialog: typeof YDialog;
55
+ YLayer: typeof YLayer;
56
+ YSnackbar: typeof YSnackbar;
57
+ YProgressBar: typeof YProgressBar;
58
+ YSpinnerRing: typeof YSpinnerRing;
59
+ YTooltip: typeof YTooltip;
60
+ YExpandVTransition: typeof YExpandVTransition;
61
+ YExpandHTransition: typeof YExpandHTransition;
62
+ YDividePanel: typeof YDividePanel;
63
+ YList: typeof YList;
64
+ YListItem: typeof YListItem;
65
+ YTreeView: typeof YTreeView;
66
+ YTreeViewNode: typeof YTreeViewNode;
67
+ YDataTable: typeof YDataTable;
68
+ YTable: typeof YTable;
69
+ YDataTableServer: typeof YDataTableServer;
70
+ YMenu: typeof YMenu;
71
+ YPagination: typeof YPagination;
72
+ YInputCheckbox: typeof YInputCheckbox;
73
+ YCheckbox: typeof YCheckbox;
74
+ YSwitch: typeof YSwitch;
75
+ YDropdown: typeof YDropdown;
76
+ YSelect: typeof YSelect;
77
+ YAlert: typeof YAlert;
78
+ YTabs: typeof YTabs;
79
+ YTab: typeof YTab;
80
+ }
81
+ }