@elmethis/core 0.2.11 → 0.3.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.
@@ -0,0 +1,6 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3-vite';
2
+ import { default as ElmValidation } from './ElmValidation.vue';
3
+ declare const meta: Meta<typeof ElmValidation>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Primary: Story;
@@ -0,0 +1,11 @@
1
+ export interface ElmValidationProps<T = string> {
2
+ text: string;
3
+ validColor?: string;
4
+ input: T;
5
+ validateFunction: (input: T) => boolean;
6
+ }
7
+ type __VLS_Props = ElmValidationProps;
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
9
+ validColor: string;
10
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
11
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import _sfc_main from "./ElmValidation.vue2.mjs";
2
+ import style0 from "./ElmValidation.vue3.mjs";
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const cssModules = {
5
+ "$style": style0
6
+ };
7
+ const ElmValidation = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
8
+ export {
9
+ ElmValidation as default
10
+ };
@@ -0,0 +1,43 @@
1
+ import { defineComponent, ref, watch, createElementBlock, openBlock, normalizeStyle, normalizeClass, createVNode, unref } from "vue";
2
+ import { mdiCheckCircle, mdiCheckCircleOutline } from "@mdi/js";
3
+ import ElmMdiIcon from "../icon/ElmMdiIcon.vue.mjs";
4
+ import ElmInlineText from "../typography/ElmInlineText.vue.mjs";
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ __name: "ElmValidation",
7
+ props: {
8
+ text: {},
9
+ validColor: { default: "#449763" },
10
+ input: {},
11
+ validateFunction: {}
12
+ },
13
+ setup(__props) {
14
+ const props = __props;
15
+ const isValid = ref(false);
16
+ watch(
17
+ () => props.input,
18
+ (input) => {
19
+ isValid.value = props.validateFunction(input);
20
+ }
21
+ );
22
+ return (_ctx, _cache) => {
23
+ return openBlock(), createElementBlock("div", {
24
+ class: normalizeClass(_ctx.$style.validation),
25
+ style: normalizeStyle({
26
+ "--opacity": isValid.value ? 1 : 0.5
27
+ })
28
+ }, [
29
+ createVNode(ElmMdiIcon, {
30
+ d: isValid.value ? unref(mdiCheckCircle) : unref(mdiCheckCircleOutline),
31
+ color: isValid.value ? _ctx.validColor : void 0
32
+ }, null, 8, ["d", "color"]),
33
+ createVNode(ElmInlineText, {
34
+ text: _ctx.text,
35
+ color: isValid.value ? _ctx.validColor : void 0
36
+ }, null, 8, ["text", "color"])
37
+ ], 6);
38
+ };
39
+ }
40
+ });
41
+ export {
42
+ _sfc_main as default
43
+ };
@@ -0,0 +1,20 @@
1
+ (function() {
2
+ "use strict";
3
+ try {
4
+ if (typeof document != "undefined") {
5
+ var elementStyle = document.createElement("style");
6
+ elementStyle.appendChild(document.createTextNode("._validation_r3xix_1{display:flex;justify-content:flex-start;align-items:center;padding:.125rem 0;gap:.5rem;opacity:var(--opacity);transition:opacity .25s}"));
7
+ document.head.appendChild(elementStyle);
8
+ }
9
+ } catch (e) {
10
+ console.error("vite-plugin-css-injected-by-js", e);
11
+ }
12
+ })();
13
+ const validation = "_validation_r3xix_1";
14
+ const style0 = {
15
+ validation
16
+ };
17
+ export {
18
+ style0 as default,
19
+ validation
20
+ };
@@ -3,14 +3,14 @@
3
3
  try {
4
4
  if (typeof document != "undefined") {
5
5
  var elementStyle = document.createElement("style");
6
- elementStyle.appendChild(document.createTextNode("._icon_1ta1m_1{fill:#555b67;fill:var(--color, #555b67)}[data-theme=dark] ._icon_1ta1m_1{fill:#b0b5be;fill:var(--dark-color, #b0b5be)}"));
6
+ elementStyle.appendChild(document.createTextNode("._icon_1gvln_1{fill:#555b67;fill:var(--color, #555b67);transition:fill .2s}[data-theme=dark] ._icon_1gvln_1{fill:#b0b5be;fill:var(--dark-color, #b0b5be)}"));
7
7
  document.head.appendChild(elementStyle);
8
8
  }
9
9
  } catch (e) {
10
10
  console.error("vite-plugin-css-injected-by-js", e);
11
11
  }
12
12
  })();
13
- const icon = "_icon_1ta1m_1";
13
+ const icon = "_icon_1gvln_1";
14
14
  const style0 = {
15
15
  icon
16
16
  };
@@ -3,27 +3,27 @@
3
3
  try {
4
4
  if (typeof document != "undefined") {
5
5
  var elementStyle = document.createElement("style");
6
- elementStyle.appendChild(document.createTextNode('._text_38tt2_1{padding:0;margin:0;white-space:pre-line;font-size:1em;font-size:var(--font-size, 1em);line-height:1em;line-height:var(--font-size, 1em);background-color:var(--background-color)}._code_38tt2_10{margin-inline:.25rem;padding:2px .5em;font-size:calc(1em - 2px);border-radius:.125rem;background-color:#00000013;font-family:"Source Code Pro" monospace}._kbd_38tt2_19{padding:.125rem .25rem;position:relative;border-radius:.125rem;background-color:#e6e6e6}[data-theme=dark] ._kbd_38tt2_19{background-color:#404040}._kbd_38tt2_19:before{z-index:-1;position:absolute;content:"";bottom:-.25em;left:0;height:100%;width:100%;background-color:#ccc;border-radius:0 0 .125rem .125rem;box-shadow:0 0 .125em #00000080}[data-theme=dark] ._kbd_38tt2_19:before{background-color:#595959;box-shadow:0 0 .125em #ffffff80}._link_38tt2_45{all:unset;box-sizing:border-box;padding:0 .25rem;font-size:var(--font-size);display:inline-flex;align-items:center;gap:.25rem;cursor:pointer;color:#6987b8;border-radius:.125rem;transition:background-color .2s,color .2s,opacity .2s}._link_38tt2_45:hover{background-color:#6987b833}._link_38tt2_45:active{opacity:.5}._link_38tt2_45:visited{color:#9771bd;border-bottom:dashed 1px #9771bd}._link_38tt2_45:visited:hover{background-color:#9771bd33}._ogp_38tt2_72{display:flex;flex-direction:column;gap:.25rem;overflow:hidden;border-radius:.25rem;box-shadow:0 0 .125rem #0000004d;background-color:#fffc}[data-theme=dark] ._ogp_38tt2_72{background-color:#ffffff1a}._ogp-text_38tt2_85{box-sizing:border-box;padding:.5rem}._ogp-title_38tt2_90{box-sizing:border-box;font-weight:700;padding-block-end:.25rem}._ogp-description_38tt2_96{opacity:.7;padding:.25rem}'));
6
+ elementStyle.appendChild(document.createTextNode('._text_xfybp_1{padding:0;margin:0;white-space:pre-line;font-size:1em;font-size:var(--font-size, 1em);line-height:1em;line-height:var(--font-size, 1em);background-color:var(--background-color);transition:color .2s}._code_xfybp_11{margin-inline:.25rem;padding:2px .5em;font-size:calc(1em - 2px);border-radius:.125rem;background-color:#00000013;font-family:"Source Code Pro" monospace}._kbd_xfybp_20{padding:.125rem .25rem;position:relative;border-radius:.125rem;background-color:#e6e6e6}[data-theme=dark] ._kbd_xfybp_20{background-color:#404040}._kbd_xfybp_20:before{z-index:-1;position:absolute;content:"";bottom:-.25em;left:0;height:100%;width:100%;background-color:#ccc;border-radius:0 0 .125rem .125rem;box-shadow:0 0 .125em #00000080}[data-theme=dark] ._kbd_xfybp_20:before{background-color:#595959;box-shadow:0 0 .125em #ffffff80}._link_xfybp_46{all:unset;box-sizing:border-box;padding:0 .25rem;font-size:var(--font-size);display:inline-flex;align-items:center;gap:.25rem;cursor:pointer;color:#6987b8;border-radius:.125rem;transition:background-color .2s,color .2s,opacity .2s}._link_xfybp_46:hover{background-color:#6987b833}._link_xfybp_46:active{opacity:.5}._link_xfybp_46:visited{color:#9771bd;border-bottom:dashed 1px #9771bd}._link_xfybp_46:visited:hover{background-color:#9771bd33}._ogp_xfybp_73{display:flex;flex-direction:column;gap:.25rem;overflow:hidden;border-radius:.25rem;box-shadow:0 0 .125rem #0000004d;background-color:#fffc}[data-theme=dark] ._ogp_xfybp_73{background-color:#ffffff1a}._ogp-text_xfybp_86{box-sizing:border-box;padding:.5rem}._ogp-title_xfybp_91{box-sizing:border-box;font-weight:700;padding-block-end:.25rem}._ogp-description_xfybp_97{opacity:.7;padding:.25rem}'));
7
7
  document.head.appendChild(elementStyle);
8
8
  }
9
9
  } catch (e) {
10
10
  console.error("vite-plugin-css-injected-by-js", e);
11
11
  }
12
12
  })();
13
- const text = "_text_38tt2_1";
14
- const code = "_code_38tt2_10";
15
- const kbd = "_kbd_38tt2_19";
16
- const link = "_link_38tt2_45";
17
- const ogp = "_ogp_38tt2_72";
13
+ const text = "_text_xfybp_1";
14
+ const code = "_code_xfybp_11";
15
+ const kbd = "_kbd_xfybp_20";
16
+ const link = "_link_xfybp_46";
17
+ const ogp = "_ogp_xfybp_73";
18
18
  const style0 = {
19
19
  text,
20
20
  code,
21
21
  kbd,
22
22
  link,
23
23
  ogp,
24
- "ogp-text": "_ogp-text_38tt2_85",
25
- "ogp-title": "_ogp-title_38tt2_90",
26
- "ogp-description": "_ogp-description_38tt2_96"
24
+ "ogp-text": "_ogp-text_xfybp_86",
25
+ "ogp-title": "_ogp-title_xfybp_91",
26
+ "ogp-description": "_ogp-description_xfybp_97"
27
27
  };
28
28
  export {
29
29
  code,
package/dist/index.d.ts CHANGED
@@ -44,6 +44,8 @@ export type { ElmSwitchProps } from './components/form/ElmSwitch.vue';
44
44
  export { default as ElmSwitch } from './components/form/ElmSwitch.vue';
45
45
  export type { ElmTextFieldProps } from './components/form/ElmTextField.vue';
46
46
  export { default as ElmTextField } from './components/form/ElmTextField.vue';
47
+ export type { ElmValidationProps } from './components/form/ElmValidation.vue';
48
+ export { default as ElmValidation } from './components/form/ElmValidation.vue';
47
49
  export type { ElmArrowIconProps } from './components/icon/ElmArrowIcon.vue';
48
50
  export { default as ElmArrowIcon } from './components/icon/ElmArrowIcon.vue';
49
51
  export type { ElmBookmarkIconProps } from './components/icon/ElmBookmarkIcon.vue';
package/dist/index.mjs CHANGED
@@ -33,72 +33,73 @@ import { default as default21 } from "./components/form/ElmCheckbox.vue.mjs";
33
33
  import { default as default22 } from "./components/form/ElmSelect.vue.mjs";
34
34
  import { default as default23 } from "./components/form/ElmSwitch.vue.mjs";
35
35
  import { default as default24 } from "./components/form/ElmTextField.vue.mjs";
36
- import { default as default25 } from "./components/icon/ElmArrowIcon.vue.mjs";
37
- import { default as default26 } from "./components/icon/ElmBookmarkIcon.vue.mjs";
38
- import { default as default27 } from "./components/icon/ElmCubeIcon.vue.mjs";
39
- import { default as default28 } from "./components/icon/ElmDotLoadingIcon.vue.mjs";
40
- import { default as default29 } from "./components/icon/ElmLanguageIcon.vue.mjs";
41
- import { default as default30 } from "./components/icon/ElmLoginIcon.vue.mjs";
42
- import { default as default31 } from "./components/icon/ElmMdiIcon.vue.mjs";
43
- import { default as default32 } from "./components/icon/ElmToggleTheme.vue.mjs";
44
- import { default as default33 } from "./components/media/ElmFile.vue.mjs";
45
- import { default as default34 } from "./components/media/ElmImage.vue.mjs";
46
- import { default as default35 } from "./components/navigation/ElmBookmark.vue.mjs";
47
- import { default as default36 } from "./components/navigation/ElmBreadcrumb.vue.mjs";
48
- import { default as default37 } from "./components/navigation/ElmPagetop.vue.mjs";
49
- import { default as default38 } from "./components/navigation/ElmTableOfContents.vue.mjs";
50
- import { default as default39 } from "./components/others/ElmColorSample.vue.mjs";
51
- import { default as default40 } from "./components/others/ElmColorTable.vue.mjs";
52
- import { default as default41 } from "./components/others/ElmJsonComponentRenderer.vue.mjs";
53
- import { default as default42 } from "./components/table/ElmTable.vue.mjs";
54
- import { default as default43 } from "./components/table/ElmTableHeader.vue.mjs";
55
- import { default as default44 } from "./components/table/ElmTableBody.vue.mjs";
56
- import { default as default45 } from "./components/table/ElmTableRow.vue.mjs";
57
- import { default as default46 } from "./components/table/ElmTableCell.vue.mjs";
58
- import { default as default47 } from "./components/typography/ElmBlockQuote.vue.mjs";
59
- import { default as default48 } from "./components/typography/ElmCallout.vue.mjs";
60
- import { default as default49 } from "./components/typography/ElmDivider.vue.mjs";
61
- import { default as default50 } from "./components/typography/ElmFragmentIdentifier.vue.mjs";
62
- import { default as default51 } from "./components/typography/ElmHeading.vue.mjs";
63
- import { default as default52 } from "./components/typography/ElmInlineText.vue.mjs";
64
- import { default as default53 } from "./components/typography/ElmParagraph.vue.mjs";
65
- import { default as default54 } from "./components/typography/ElmList.vue.mjs";
36
+ import { default as default25 } from "./components/form/ElmValidation.vue.mjs";
37
+ import { default as default26 } from "./components/icon/ElmArrowIcon.vue.mjs";
38
+ import { default as default27 } from "./components/icon/ElmBookmarkIcon.vue.mjs";
39
+ import { default as default28 } from "./components/icon/ElmCubeIcon.vue.mjs";
40
+ import { default as default29 } from "./components/icon/ElmDotLoadingIcon.vue.mjs";
41
+ import { default as default30 } from "./components/icon/ElmLanguageIcon.vue.mjs";
42
+ import { default as default31 } from "./components/icon/ElmLoginIcon.vue.mjs";
43
+ import { default as default32 } from "./components/icon/ElmMdiIcon.vue.mjs";
44
+ import { default as default33 } from "./components/icon/ElmToggleTheme.vue.mjs";
45
+ import { default as default34 } from "./components/media/ElmFile.vue.mjs";
46
+ import { default as default35 } from "./components/media/ElmImage.vue.mjs";
47
+ import { default as default36 } from "./components/navigation/ElmBookmark.vue.mjs";
48
+ import { default as default37 } from "./components/navigation/ElmBreadcrumb.vue.mjs";
49
+ import { default as default38 } from "./components/navigation/ElmPagetop.vue.mjs";
50
+ import { default as default39 } from "./components/navigation/ElmTableOfContents.vue.mjs";
51
+ import { default as default40 } from "./components/others/ElmColorSample.vue.mjs";
52
+ import { default as default41 } from "./components/others/ElmColorTable.vue.mjs";
53
+ import { default as default42 } from "./components/others/ElmJsonComponentRenderer.vue.mjs";
54
+ import { default as default43 } from "./components/table/ElmTable.vue.mjs";
55
+ import { default as default44 } from "./components/table/ElmTableHeader.vue.mjs";
56
+ import { default as default45 } from "./components/table/ElmTableBody.vue.mjs";
57
+ import { default as default46 } from "./components/table/ElmTableRow.vue.mjs";
58
+ import { default as default47 } from "./components/table/ElmTableCell.vue.mjs";
59
+ import { default as default48 } from "./components/typography/ElmBlockQuote.vue.mjs";
60
+ import { default as default49 } from "./components/typography/ElmCallout.vue.mjs";
61
+ import { default as default50 } from "./components/typography/ElmDivider.vue.mjs";
62
+ import { default as default51 } from "./components/typography/ElmFragmentIdentifier.vue.mjs";
63
+ import { default as default52 } from "./components/typography/ElmHeading.vue.mjs";
64
+ import { default as default53 } from "./components/typography/ElmInlineText.vue.mjs";
65
+ import { default as default54 } from "./components/typography/ElmParagraph.vue.mjs";
66
+ import { default as default55 } from "./components/typography/ElmList.vue.mjs";
66
67
 
67
68
  import { useElmethisTheme } from "./hooks/useElmethisTheme.mjs";
68
69
  import { useTyping } from "./hooks/useTyping.mjs";
69
70
  export {
70
- default25 as ElmArrowIcon,
71
+ default26 as ElmArrowIcon,
71
72
  default17 as ElmBlockFallback,
72
- default47 as ElmBlockQuote,
73
- default35 as ElmBookmark,
74
- default26 as ElmBookmarkIcon,
75
- default36 as ElmBreadcrumb,
73
+ default48 as ElmBlockQuote,
74
+ default36 as ElmBookmark,
75
+ default27 as ElmBookmarkIcon,
76
+ default37 as ElmBreadcrumb,
76
77
  default20 as ElmButton,
77
- default48 as ElmCallout,
78
+ default49 as ElmCallout,
78
79
  default21 as ElmCheckbox,
79
80
  default2 as ElmCodeBlock,
80
- default39 as ElmColorSample,
81
- default40 as ElmColorTable,
81
+ default40 as ElmColorSample,
82
+ default41 as ElmColorTable,
82
83
  default5 as ElmConfirmModal,
83
- default27 as ElmCubeIcon,
84
+ default28 as ElmCubeIcon,
84
85
  default4 as ElmDesktopWindow,
85
- default49 as ElmDivider,
86
- default28 as ElmDotLoadingIcon,
87
- default33 as ElmFile,
88
- default50 as ElmFragmentIdentifier,
89
- default51 as ElmHeading,
90
- default34 as ElmImage,
91
- default52 as ElmInlineText,
92
- default41 as ElmJsonComponentRenderer,
86
+ default50 as ElmDivider,
87
+ default29 as ElmDotLoadingIcon,
88
+ default34 as ElmFile,
89
+ default51 as ElmFragmentIdentifier,
90
+ default52 as ElmHeading,
91
+ default35 as ElmImage,
92
+ default53 as ElmInlineText,
93
+ default42 as ElmJsonComponentRenderer,
93
94
  default3 as ElmKatex,
94
- default29 as ElmLanguageIcon,
95
- default54 as ElmList,
96
- default30 as ElmLoginIcon,
97
- default31 as ElmMdiIcon,
95
+ default30 as ElmLanguageIcon,
96
+ default55 as ElmList,
97
+ default31 as ElmLoginIcon,
98
+ default32 as ElmMdiIcon,
98
99
  default6 as ElmModal,
99
100
  default14 as ElmMultiProgress,
100
- default37 as ElmPagetop,
101
- default53 as ElmParagraph,
101
+ default38 as ElmPagetop,
102
+ default54 as ElmParagraph,
102
103
  default7 as ElmParallax,
103
104
  default13 as ElmProgress,
104
105
  default16 as ElmRectangleWave,
@@ -109,17 +110,18 @@ export {
109
110
  default18 as ElmSpinner,
110
111
  default15 as ElmStatusMessage,
111
112
  default23 as ElmSwitch,
112
- default42 as ElmTable,
113
- default44 as ElmTableBody,
114
- default46 as ElmTableCell,
115
- default43 as ElmTableHeader,
116
- default38 as ElmTableOfContents,
117
- default45 as ElmTableRow,
113
+ default43 as ElmTable,
114
+ default45 as ElmTableBody,
115
+ default47 as ElmTableCell,
116
+ default44 as ElmTableHeader,
117
+ default39 as ElmTableOfContents,
118
+ default46 as ElmTableRow,
118
119
  default24 as ElmTextField,
119
120
  default11 as ElmToggle,
120
- default32 as ElmToggleTheme,
121
+ default33 as ElmToggleTheme,
121
122
  default12 as ElmTooltip,
122
123
  default19 as ElmUnsupportedBlock,
124
+ default25 as ElmValidation,
123
125
  useElmethisTheme,
124
126
  useTyping
125
127
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elmethis/core",
3
- "version": "0.2.11",
3
+ "version": "0.3.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },