ropav 0.0.4 → 0.0.5
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 +11 -2
- package/dist/base.css +15 -14
- package/dist/button.css +1 -1
- package/dist/button.js +2 -11
- package/dist/button.js.map +1 -1
- package/dist/card.css +88 -0
- package/dist/card.js +71 -0
- package/dist/card.js.map +1 -0
- package/dist/checkbox.css +12 -1
- package/dist/components/card/card.d.ts +21 -0
- package/dist/components/card/index.d.ts +2 -0
- package/dist/components/card/index.js +2 -0
- package/dist/components/card/types.d.ts +11 -0
- package/dist/components/field/field.d.ts +35 -0
- package/dist/components/field/index.d.ts +2 -0
- package/dist/components/field/index.js +2 -0
- package/dist/components/field/types.d.ts +21 -0
- package/dist/components/icon-button/icon-button.d.ts +21 -0
- package/dist/components/icon-button/index.d.ts +2 -0
- package/dist/components/icon-button/index.js +2 -0
- package/dist/components/icon-button/types.d.ts +15 -0
- package/dist/field.css +40 -0
- package/dist/field.js +128 -0
- package/dist/field.js.map +1 -0
- package/dist/icon-button.css +339 -0
- package/dist/icon-button.js +63 -0
- package/dist/icon-button.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +4 -1
- package/dist/input.css +2 -2
- package/dist/loader-circle.js +14 -0
- package/dist/loader-circle.js.map +1 -0
- package/dist/select.css +13 -3
- package/dist/switch.css +10 -1
- package/dist/textarea.css +2 -2
- package/package.json +13 -1
- package/src/styles/_tokens.scss +14 -13
- package/src/styles/_variables.scss +2 -1
package/dist/field.js
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import './field.css';
|
|
2
|
+
import { n as bem, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
3
|
+
import { child, computed, createIf, createSlot, defineVaporComponent, renderEffect, setClass, setInsertionState, setProp, setText, template, toDisplayString, useId, useSlots } from "vue";
|
|
4
|
+
//#region src/components/field/field.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
5
|
+
var t0 = template(" ");
|
|
6
|
+
var t1 = template("<span data-v-b8c3dcbe class=rp-field__required aria-hidden=true>*", 2);
|
|
7
|
+
var t2 = template("<label data-v-b8c3dcbe class=rp-field__label>");
|
|
8
|
+
var t3 = template("<p data-v-b8c3dcbe class=rp-field__description>");
|
|
9
|
+
var t4 = template("<p data-v-b8c3dcbe class=rp-field__message>");
|
|
10
|
+
var t5 = template("<div data-v-b8c3dcbe><div data-v-b8c3dcbe class=rp-field__control></div>", 1);
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region src/components/field/field.vue
|
|
13
|
+
var field_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
14
|
+
name: "RpField",
|
|
15
|
+
__name: "field",
|
|
16
|
+
props: {
|
|
17
|
+
id: {},
|
|
18
|
+
label: { default: "" },
|
|
19
|
+
description: { default: "" },
|
|
20
|
+
message: { default: "" },
|
|
21
|
+
error: { default: "" },
|
|
22
|
+
disabled: {
|
|
23
|
+
type: Boolean,
|
|
24
|
+
default: void 0
|
|
25
|
+
},
|
|
26
|
+
required: {
|
|
27
|
+
type: Boolean,
|
|
28
|
+
default: false
|
|
29
|
+
},
|
|
30
|
+
invalid: {
|
|
31
|
+
type: Boolean,
|
|
32
|
+
default: void 0
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
setup(__props) {
|
|
36
|
+
const props = __props;
|
|
37
|
+
const slots = useSlots();
|
|
38
|
+
const generatedId = useId();
|
|
39
|
+
const controlId = computed(() => props.id ?? `${generatedId}-control`);
|
|
40
|
+
const labelId = computed(() => `${controlId.value}-label`);
|
|
41
|
+
const descriptionId = computed(() => `${controlId.value}-description`);
|
|
42
|
+
const messageId = computed(() => `${controlId.value}-message`);
|
|
43
|
+
const isInvalid = computed(() => Boolean(props.invalid || props.error));
|
|
44
|
+
const messageText = computed(() => props.error || props.message);
|
|
45
|
+
const hasLabel = computed(() => Boolean(props.label || slots.label));
|
|
46
|
+
const hasDescription = computed(() => Boolean(props.description || slots.description));
|
|
47
|
+
const hasMessage = computed(() => Boolean(messageText.value || slots.message));
|
|
48
|
+
const controlLabelledby = computed(() => hasLabel.value ? labelId.value : void 0);
|
|
49
|
+
const controlDescribedby = computed(() => [hasDescription.value ? descriptionId.value : void 0, hasMessage.value ? messageId.value : void 0].filter(Boolean).join(" ") || void 0);
|
|
50
|
+
const rootClass = computed(() => bem("rp-field", {
|
|
51
|
+
disabled: props.disabled,
|
|
52
|
+
required: props.required,
|
|
53
|
+
invalid: isInvalid.value
|
|
54
|
+
}));
|
|
55
|
+
const controlProps = computed(() => ({
|
|
56
|
+
id: controlId.value,
|
|
57
|
+
disabled: props.disabled || void 0,
|
|
58
|
+
required: props.required || void 0,
|
|
59
|
+
invalid: isInvalid.value || void 0,
|
|
60
|
+
labelledby: controlLabelledby.value,
|
|
61
|
+
describedby: controlDescribedby.value
|
|
62
|
+
}));
|
|
63
|
+
const n23 = t5();
|
|
64
|
+
const n10 = child(n23, 1);
|
|
65
|
+
renderEffect(() => setClass(n23, rootClass.value));
|
|
66
|
+
setInsertionState(n23, 0, 0);
|
|
67
|
+
createIf(() => hasLabel.value, () => {
|
|
68
|
+
const n8 = t2();
|
|
69
|
+
renderEffect(() => {
|
|
70
|
+
setProp(n8, "id", labelId.value);
|
|
71
|
+
setProp(n8, "for", controlId.value);
|
|
72
|
+
});
|
|
73
|
+
setInsertionState(n8, null, 0);
|
|
74
|
+
createSlot("label", null, () => {
|
|
75
|
+
const n4 = t0();
|
|
76
|
+
renderEffect(() => setText(n4, toDisplayString(__props.label)));
|
|
77
|
+
return n4;
|
|
78
|
+
}, 1);
|
|
79
|
+
setInsertionState(n8, null, 1);
|
|
80
|
+
createIf(() => __props.required, () => {
|
|
81
|
+
return t1();
|
|
82
|
+
});
|
|
83
|
+
return n8;
|
|
84
|
+
});
|
|
85
|
+
setInsertionState(n10, null, 0);
|
|
86
|
+
createSlot("default", {
|
|
87
|
+
id: () => controlId.value,
|
|
88
|
+
disabled: () => __props.disabled || void 0,
|
|
89
|
+
required: () => __props.required || void 0,
|
|
90
|
+
invalid: () => isInvalid.value || void 0,
|
|
91
|
+
labelledby: () => controlLabelledby.value,
|
|
92
|
+
describedby: () => controlDescribedby.value,
|
|
93
|
+
controlProps: () => controlProps.value
|
|
94
|
+
}, null, 1);
|
|
95
|
+
setInsertionState(n23, null, 2);
|
|
96
|
+
createIf(() => hasDescription.value, () => {
|
|
97
|
+
const n16 = t3();
|
|
98
|
+
renderEffect(() => setProp(n16, "id", descriptionId.value));
|
|
99
|
+
setInsertionState(n16, null, 0);
|
|
100
|
+
createSlot("description", null, () => {
|
|
101
|
+
const n15 = t0();
|
|
102
|
+
renderEffect(() => setText(n15, toDisplayString(__props.description)));
|
|
103
|
+
return n15;
|
|
104
|
+
}, 1);
|
|
105
|
+
return n16;
|
|
106
|
+
});
|
|
107
|
+
setInsertionState(n23, null, 3);
|
|
108
|
+
createIf(() => hasMessage.value, () => {
|
|
109
|
+
const n22 = t4();
|
|
110
|
+
renderEffect(() => {
|
|
111
|
+
setProp(n22, "id", messageId.value);
|
|
112
|
+
setProp(n22, "role", isInvalid.value ? "alert" : void 0);
|
|
113
|
+
});
|
|
114
|
+
setInsertionState(n22, null, 0);
|
|
115
|
+
createSlot("message", null, () => {
|
|
116
|
+
const n21 = t0();
|
|
117
|
+
renderEffect(() => setText(n21, toDisplayString(messageText.value)));
|
|
118
|
+
return n21;
|
|
119
|
+
}, 1);
|
|
120
|
+
return n22;
|
|
121
|
+
});
|
|
122
|
+
return n23;
|
|
123
|
+
}
|
|
124
|
+
}), [["__scopeId", "data-v-b8c3dcbe"]]);
|
|
125
|
+
//#endregion
|
|
126
|
+
export { field_default as t };
|
|
127
|
+
|
|
128
|
+
//# sourceMappingURL=field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.js","names":[],"sources":["../src/components/field/field.vue","../src/components/field/field.vue"],"sourcesContent":["<template>\n <div :class=\"rootClass\">\n <label v-if=\"hasLabel\" :id=\"labelId\" class=\"rp-field__label\" :for=\"controlId\">\n <slot name=\"label\">{{ label }}</slot>\n <span v-if=\"required\" class=\"rp-field__required\" aria-hidden=\"true\">*</span>\n </label>\n\n <div class=\"rp-field__control\">\n <slot\n :id=\"controlId\"\n :disabled=\"disabled || undefined\"\n :required=\"required || undefined\"\n :invalid=\"isInvalid || undefined\"\n :labelledby=\"controlLabelledby\"\n :describedby=\"controlDescribedby\"\n :control-props=\"controlProps\"\n />\n </div>\n\n <p v-if=\"hasDescription\" :id=\"descriptionId\" class=\"rp-field__description\">\n <slot name=\"description\">{{ description }}</slot>\n </p>\n\n <p\n v-if=\"hasMessage\"\n :id=\"messageId\"\n class=\"rp-field__message\"\n :role=\"isInvalid ? 'alert' : undefined\"\n >\n <slot name=\"message\">{{ messageText }}</slot>\n </p>\n </div>\n</template>\n\n<script lang=\"ts\" setup vapor>\nimport { computed, useId, useSlots } from 'vue';\nimport { bem } from '@/utils/bem';\nimport type { FieldControlProps, FieldProps } from './types';\n\ndefineOptions({ name: 'RpField' });\n\nconst props = withDefaults(defineProps<FieldProps>(), {\n label: '',\n description: '',\n message: '',\n error: '',\n disabled: undefined,\n required: false,\n invalid: undefined,\n});\n\nconst slots = useSlots();\nconst generatedId = useId();\n\nconst controlId = computed(() => props.id ?? `${generatedId}-control`);\nconst labelId = computed(() => `${controlId.value}-label`);\nconst descriptionId = computed(() => `${controlId.value}-description`);\nconst messageId = computed(() => `${controlId.value}-message`);\n\nconst isInvalid = computed(() => Boolean(props.invalid || props.error));\nconst messageText = computed(() => props.error || props.message);\n\nconst hasLabel = computed(() => Boolean(props.label || slots.label));\nconst hasDescription = computed(() => Boolean(props.description || slots.description));\nconst hasMessage = computed(() => Boolean(messageText.value || slots.message));\n\nconst controlLabelledby = computed(() => (hasLabel.value ? labelId.value : undefined));\nconst controlDescribedby = computed(\n () =>\n [\n hasDescription.value ? descriptionId.value : undefined,\n hasMessage.value ? messageId.value : undefined,\n ]\n .filter(Boolean)\n .join(' ') || undefined,\n);\n\nconst rootClass = computed(() =>\n bem('rp-field', {\n disabled: props.disabled,\n required: props.required,\n invalid: isInvalid.value,\n }),\n);\n\nconst controlProps = computed<FieldControlProps>(() => ({\n id: controlId.value,\n disabled: props.disabled || undefined,\n required: props.required || undefined,\n invalid: isInvalid.value || undefined,\n labelledby: controlLabelledby.value,\n describedby: controlDescribedby.value,\n}));\n</script>\n\n<style src=\"./field.scss\" lang=\"scss\" scoped></style>\n","<template>\n <div :class=\"rootClass\">\n <label v-if=\"hasLabel\" :id=\"labelId\" class=\"rp-field__label\" :for=\"controlId\">\n <slot name=\"label\">{{ label }}</slot>\n <span v-if=\"required\" class=\"rp-field__required\" aria-hidden=\"true\">*</span>\n </label>\n\n <div class=\"rp-field__control\">\n <slot\n :id=\"controlId\"\n :disabled=\"disabled || undefined\"\n :required=\"required || undefined\"\n :invalid=\"isInvalid || undefined\"\n :labelledby=\"controlLabelledby\"\n :describedby=\"controlDescribedby\"\n :control-props=\"controlProps\"\n />\n </div>\n\n <p v-if=\"hasDescription\" :id=\"descriptionId\" class=\"rp-field__description\">\n <slot name=\"description\">{{ description }}</slot>\n </p>\n\n <p\n v-if=\"hasMessage\"\n :id=\"messageId\"\n class=\"rp-field__message\"\n :role=\"isInvalid ? 'alert' : undefined\"\n >\n <slot name=\"message\">{{ messageText }}</slot>\n </p>\n </div>\n</template>\n\n<script lang=\"ts\" setup vapor>\nimport { computed, useId, useSlots } from 'vue';\nimport { bem } from '@/utils/bem';\nimport type { FieldControlProps, FieldProps } from './types';\n\ndefineOptions({ name: 'RpField' });\n\nconst props = withDefaults(defineProps<FieldProps>(), {\n label: '',\n description: '',\n message: '',\n error: '',\n disabled: undefined,\n required: false,\n invalid: undefined,\n});\n\nconst slots = useSlots();\nconst generatedId = useId();\n\nconst controlId = computed(() => props.id ?? `${generatedId}-control`);\nconst labelId = computed(() => `${controlId.value}-label`);\nconst descriptionId = computed(() => `${controlId.value}-description`);\nconst messageId = computed(() => `${controlId.value}-message`);\n\nconst isInvalid = computed(() => Boolean(props.invalid || props.error));\nconst messageText = computed(() => props.error || props.message);\n\nconst hasLabel = computed(() => Boolean(props.label || slots.label));\nconst hasDescription = computed(() => Boolean(props.description || slots.description));\nconst hasMessage = computed(() => Boolean(messageText.value || slots.message));\n\nconst controlLabelledby = computed(() => (hasLabel.value ? labelId.value : undefined));\nconst controlDescribedby = computed(\n () =>\n [\n hasDescription.value ? descriptionId.value : undefined,\n hasMessage.value ? messageId.value : undefined,\n ]\n .filter(Boolean)\n .join(' ') || undefined,\n);\n\nconst rootClass = computed(() =>\n bem('rp-field', {\n disabled: props.disabled,\n required: props.required,\n invalid: isInvalid.value,\n }),\n);\n\nconst controlProps = computed<FieldControlProps>(() => ({\n id: controlId.value,\n disabled: props.disabled || undefined,\n required: props.required || undefined,\n invalid: isInvalid.value || undefined,\n labelledby: controlLabelledby.value,\n describedby: controlDescribedby.value,\n}));\n</script>\n\n<style src=\"./field.scss\" lang=\"scss\" scoped></style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCA,MAAM,QAAQ;EAUd,MAAM,QAAQ,SAAS;EACvB,MAAM,cAAc,MAAM;EAE1B,MAAM,YAAY,eAAe,MAAM,MAAM,GAAG,YAAY,SAAS;EACrE,MAAM,UAAU,eAAe,GAAG,UAAU,MAAM,OAAO;EACzD,MAAM,gBAAgB,eAAe,GAAG,UAAU,MAAM,aAAa;EACrE,MAAM,YAAY,eAAe,GAAG,UAAU,MAAM,SAAS;EAE7D,MAAM,YAAY,eAAe,QAAQ,MAAM,WAAW,MAAM,KAAK,CAAC;EACtE,MAAM,cAAc,eAAe,MAAM,SAAS,MAAM,OAAO;EAE/D,MAAM,WAAW,eAAe,QAAQ,MAAM,SAAS,MAAM,KAAK,CAAC;EACnE,MAAM,iBAAiB,eAAe,QAAQ,MAAM,eAAe,MAAM,WAAW,CAAC;EACrF,MAAM,aAAa,eAAe,QAAQ,YAAY,SAAS,MAAM,OAAO,CAAC;EAE7E,MAAM,oBAAoB,eAAgB,SAAS,QAAQ,QAAQ,QAAQ,KAAA,CAAU;EACrF,MAAM,qBAAqB,eAEnB,CACI,eAAe,QAAQ,cAAc,QAAQ,KAAA,GAC7C,WAAW,QAAQ,UAAU,QAAQ,KAAA,CACzC,CAAA,CACK,OAAO,OAAO,CAAA,CACd,KAAK,GAAG,KAAK,KAAA,CAC1B;EAEA,MAAM,YAAY,eACd,IAAI,YAAY;GACZ,UAAU,MAAM;GAChB,UAAU,MAAM;GAChB,SAAS,UAAU;EACvB,CAAC,CACL;EAEA,MAAM,eAAe,gBAAmC;GACpD,IAAI,UAAU;GACd,UAAU,MAAM,YAAY,KAAA;GAC5B,UAAU,MAAM,YAAY,KAAA;GAC5B,SAAS,UAAU,SAAS,KAAA;GAC5B,YAAY,kBAAkB;GAC9B,aAAa,mBAAmB;EACpC,EAAE;;;mCA3Fe,UAAA,KAAS,CAAA;;iBACL,SAAA,aAAQ;;;gBAAG,MAAI,QAAA,KAAO;gBAA2B,OAAK,UAAA,KAAS;;;cAClE,SAAY,YAAA;;mDAAI,QAAA,KAAK,CAAA,CAAA;;;;kBACf,QAAA,gBAAQ;;;;;;;GAKf,UAAI,UAAA;GACJ,gBAAU,QAAA,YAAY,KAAA;GACtB,gBAAU,QAAA,YAAY,KAAA;GACtB,eAAS,UAAA,SAAa,KAAA;GACtB,kBAAY,kBAAA;GACZ,mBAAa,mBAAA;GACb,oBAAe,aAAA;;;iBAIf,eAAA,aAAc;;mCAAG,MAAI,cAAA,KAAa,CAAA;;cACjC,eAAkB,YAAA;;oDAAI,QAAA,WAAW,CAAA,CAAA;;;;;;iBAIjC,WAAA,aAAU;;;iBACf,MAAI,UAAA,KAAS;iBAEb,QAAM,UAAA,QAAS,UAAa,KAAA,CAAS;;;cAEhC,WAAc,YAAA;;oDAAI,YAAA,KAAW,CAAA,CAAA"}
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
.rp-button[data-v-4a239144] {
|
|
2
|
+
--_rp-button-accent: var(--rp-color-primary);
|
|
3
|
+
--_rp-button-accent-hover: var(--rp-color-primary-hover);
|
|
4
|
+
--_rp-button-accent-active: var(--rp-color-primary-active);
|
|
5
|
+
--_rp-button-accent-on: var(--rp-color-on-primary);
|
|
6
|
+
--_rp-button-accent-subtle-bg: var(--rp-color-primary-subtle-bg);
|
|
7
|
+
--_rp-button-accent-subtle-bg-hover: var(--rp-color-primary-subtle-bg-hover);
|
|
8
|
+
--_rp-button-accent-subtle-bg-active: var(--rp-color-primary-subtle-bg-active);
|
|
9
|
+
--_rp-button-accent-border: var(--rp-color-primary-border);
|
|
10
|
+
--_rp-button-accent-border-hover: var(--rp-color-primary-border-hover);
|
|
11
|
+
--_rp-button-accent-fg: var(--rp-color-primary-fg);
|
|
12
|
+
--_rp-button-bg: var(--rp-color-button-default-bg);
|
|
13
|
+
--_rp-button-bg-hover: var(--rp-color-button-default-bg-hover);
|
|
14
|
+
--_rp-button-bg-active: var(--rp-color-button-default-bg-active);
|
|
15
|
+
--_rp-button-border: var(--rp-color-border);
|
|
16
|
+
--_rp-button-border-hover: var(--rp-color-border-hover);
|
|
17
|
+
--_rp-button-border-active: var(--_rp-button-border-hover);
|
|
18
|
+
--_rp-button-fg: var(--rp-color-text);
|
|
19
|
+
--_rp-button-height: var(--rp-size-control-md);
|
|
20
|
+
--_rp-button-padding-x: var(--rp-spacing-4);
|
|
21
|
+
--_rp-button-font-size: var(--rp-font-size-base);
|
|
22
|
+
--_rp-button-radius: var(--rp-radius-sm);
|
|
23
|
+
--_rp-button-shadow: var(--rp-shadow-sm);
|
|
24
|
+
--_rp-button-shadow-hover: var(--rp-shadow-base);
|
|
25
|
+
--_rp-button-shadow-active: var(--rp-shadow-sm);
|
|
26
|
+
display: inline-flex;
|
|
27
|
+
align-items: center;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
box-sizing: border-box;
|
|
30
|
+
gap: var(--rp-spacing-2);
|
|
31
|
+
font-family: var(--rp-font-family);
|
|
32
|
+
font-weight: var(--rp-font-weight-medium);
|
|
33
|
+
line-height: var(--rp-line-height-none);
|
|
34
|
+
appearance: none;
|
|
35
|
+
background-color: var(--_rp-button-bg);
|
|
36
|
+
border: var(--rp-border-width-thin) solid var(--_rp-button-border);
|
|
37
|
+
box-shadow: var(--_rp-button-shadow);
|
|
38
|
+
color: var(--_rp-button-fg);
|
|
39
|
+
cursor: pointer;
|
|
40
|
+
transition: background-color var(--rp-transition-fast), color var(--rp-transition-fast), border-color var(--rp-transition-fast), box-shadow var(--rp-transition-fast), transform var(--rp-transition-fast);
|
|
41
|
+
white-space: nowrap;
|
|
42
|
+
user-select: none;
|
|
43
|
+
height: var(--_rp-button-height);
|
|
44
|
+
padding: 0 var(--_rp-button-padding-x);
|
|
45
|
+
font-size: var(--_rp-button-font-size);
|
|
46
|
+
border-radius: var(--_rp-button-radius);
|
|
47
|
+
}
|
|
48
|
+
.rp-button[data-v-4a239144]:hover:not(:disabled) {
|
|
49
|
+
background-color: var(--_rp-button-bg-hover);
|
|
50
|
+
border-color: var(--_rp-button-border-hover);
|
|
51
|
+
box-shadow: var(--_rp-button-shadow-hover);
|
|
52
|
+
}
|
|
53
|
+
.rp-button[data-v-4a239144]:active:not(:disabled) {
|
|
54
|
+
background-color: var(--_rp-button-bg-active);
|
|
55
|
+
border-color: var(--_rp-button-border-active);
|
|
56
|
+
box-shadow: var(--_rp-button-shadow-active);
|
|
57
|
+
transform: translateY(1px);
|
|
58
|
+
}
|
|
59
|
+
.rp-button--color-primary[data-v-4a239144] {
|
|
60
|
+
--_rp-button-accent: var(--rp-color-primary);
|
|
61
|
+
--_rp-button-accent-hover: var(--rp-color-primary-hover);
|
|
62
|
+
--_rp-button-accent-active: var(--rp-color-primary-active);
|
|
63
|
+
--_rp-button-accent-on: var(--rp-color-on-primary);
|
|
64
|
+
--_rp-button-accent-subtle-bg: var(--rp-color-primary-subtle-bg);
|
|
65
|
+
--_rp-button-accent-subtle-bg-hover: var(--rp-color-primary-subtle-bg-hover);
|
|
66
|
+
--_rp-button-accent-subtle-bg-active: var(--rp-color-primary-subtle-bg-active);
|
|
67
|
+
--_rp-button-accent-border: var(--rp-color-primary-border);
|
|
68
|
+
--_rp-button-accent-border-hover: var(--rp-color-primary-border-hover);
|
|
69
|
+
--_rp-button-accent-fg: var(--rp-color-primary-fg);
|
|
70
|
+
--_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
|
|
71
|
+
--_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
|
|
72
|
+
--_rp-button-border: var(--_rp-button-accent-border);
|
|
73
|
+
--_rp-button-border-hover: var(--_rp-button-accent-border-hover);
|
|
74
|
+
--_rp-button-fg: var(--_rp-button-accent-fg);
|
|
75
|
+
}
|
|
76
|
+
.rp-button--color-secondary[data-v-4a239144] {
|
|
77
|
+
--_rp-button-accent: var(--rp-color-secondary);
|
|
78
|
+
--_rp-button-accent-hover: var(--rp-color-secondary-hover);
|
|
79
|
+
--_rp-button-accent-active: var(--rp-color-secondary-active);
|
|
80
|
+
--_rp-button-accent-on: var(--rp-color-on-secondary);
|
|
81
|
+
--_rp-button-accent-subtle-bg: var(--rp-color-secondary-subtle-bg);
|
|
82
|
+
--_rp-button-accent-subtle-bg-hover: var(--rp-color-secondary-subtle-bg-hover);
|
|
83
|
+
--_rp-button-accent-subtle-bg-active: var(--rp-color-secondary-subtle-bg-active);
|
|
84
|
+
--_rp-button-accent-border: var(--rp-color-secondary-border);
|
|
85
|
+
--_rp-button-accent-border-hover: var(--rp-color-secondary-border-hover);
|
|
86
|
+
--_rp-button-accent-fg: var(--rp-color-secondary-fg);
|
|
87
|
+
--_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
|
|
88
|
+
--_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
|
|
89
|
+
--_rp-button-border: var(--_rp-button-accent-border);
|
|
90
|
+
--_rp-button-border-hover: var(--_rp-button-accent-border-hover);
|
|
91
|
+
--_rp-button-fg: var(--_rp-button-accent-fg);
|
|
92
|
+
}
|
|
93
|
+
.rp-button--color-success[data-v-4a239144] {
|
|
94
|
+
--_rp-button-accent: var(--rp-color-success);
|
|
95
|
+
--_rp-button-accent-hover: var(--rp-color-success-hover);
|
|
96
|
+
--_rp-button-accent-active: var(--rp-color-success-active);
|
|
97
|
+
--_rp-button-accent-on: var(--rp-color-on-success);
|
|
98
|
+
--_rp-button-accent-subtle-bg: var(--rp-color-success-subtle-bg);
|
|
99
|
+
--_rp-button-accent-subtle-bg-hover: var(--rp-color-success-subtle-bg-hover);
|
|
100
|
+
--_rp-button-accent-subtle-bg-active: var(--rp-color-success-subtle-bg-active);
|
|
101
|
+
--_rp-button-accent-border: var(--rp-color-success-border);
|
|
102
|
+
--_rp-button-accent-border-hover: var(--rp-color-success-border-hover);
|
|
103
|
+
--_rp-button-accent-fg: var(--rp-color-success-fg);
|
|
104
|
+
--_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
|
|
105
|
+
--_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
|
|
106
|
+
--_rp-button-border: var(--_rp-button-accent-border);
|
|
107
|
+
--_rp-button-border-hover: var(--_rp-button-accent-border-hover);
|
|
108
|
+
--_rp-button-fg: var(--_rp-button-accent-fg);
|
|
109
|
+
}
|
|
110
|
+
.rp-button--color-warning[data-v-4a239144] {
|
|
111
|
+
--_rp-button-accent: var(--rp-color-warning);
|
|
112
|
+
--_rp-button-accent-hover: var(--rp-color-warning-hover);
|
|
113
|
+
--_rp-button-accent-active: var(--rp-color-warning-active);
|
|
114
|
+
--_rp-button-accent-on: var(--rp-color-on-warning);
|
|
115
|
+
--_rp-button-accent-subtle-bg: var(--rp-color-warning-subtle-bg);
|
|
116
|
+
--_rp-button-accent-subtle-bg-hover: var(--rp-color-warning-subtle-bg-hover);
|
|
117
|
+
--_rp-button-accent-subtle-bg-active: var(--rp-color-warning-subtle-bg-active);
|
|
118
|
+
--_rp-button-accent-border: var(--rp-color-warning-border);
|
|
119
|
+
--_rp-button-accent-border-hover: var(--rp-color-warning-border-hover);
|
|
120
|
+
--_rp-button-accent-fg: var(--rp-color-warning-fg);
|
|
121
|
+
--_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
|
|
122
|
+
--_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
|
|
123
|
+
--_rp-button-border: var(--_rp-button-accent-border);
|
|
124
|
+
--_rp-button-border-hover: var(--_rp-button-accent-border-hover);
|
|
125
|
+
--_rp-button-fg: var(--_rp-button-accent-fg);
|
|
126
|
+
}
|
|
127
|
+
.rp-button--color-danger[data-v-4a239144] {
|
|
128
|
+
--_rp-button-accent: var(--rp-color-danger);
|
|
129
|
+
--_rp-button-accent-hover: var(--rp-color-danger-hover);
|
|
130
|
+
--_rp-button-accent-active: var(--rp-color-danger-active);
|
|
131
|
+
--_rp-button-accent-on: var(--rp-color-on-danger);
|
|
132
|
+
--_rp-button-accent-subtle-bg: var(--rp-color-danger-subtle-bg);
|
|
133
|
+
--_rp-button-accent-subtle-bg-hover: var(--rp-color-danger-subtle-bg-hover);
|
|
134
|
+
--_rp-button-accent-subtle-bg-active: var(--rp-color-danger-subtle-bg-active);
|
|
135
|
+
--_rp-button-accent-border: var(--rp-color-danger-border);
|
|
136
|
+
--_rp-button-accent-border-hover: var(--rp-color-danger-border-hover);
|
|
137
|
+
--_rp-button-accent-fg: var(--rp-color-danger-fg);
|
|
138
|
+
--_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
|
|
139
|
+
--_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
|
|
140
|
+
--_rp-button-border: var(--_rp-button-accent-border);
|
|
141
|
+
--_rp-button-border-hover: var(--_rp-button-accent-border-hover);
|
|
142
|
+
--_rp-button-fg: var(--_rp-button-accent-fg);
|
|
143
|
+
}
|
|
144
|
+
.rp-button--color-info[data-v-4a239144] {
|
|
145
|
+
--_rp-button-accent: var(--rp-color-info);
|
|
146
|
+
--_rp-button-accent-hover: var(--rp-color-info-hover);
|
|
147
|
+
--_rp-button-accent-active: var(--rp-color-info-active);
|
|
148
|
+
--_rp-button-accent-on: var(--rp-color-on-info);
|
|
149
|
+
--_rp-button-accent-subtle-bg: var(--rp-color-info-subtle-bg);
|
|
150
|
+
--_rp-button-accent-subtle-bg-hover: var(--rp-color-info-subtle-bg-hover);
|
|
151
|
+
--_rp-button-accent-subtle-bg-active: var(--rp-color-info-subtle-bg-active);
|
|
152
|
+
--_rp-button-accent-border: var(--rp-color-info-border);
|
|
153
|
+
--_rp-button-accent-border-hover: var(--rp-color-info-border-hover);
|
|
154
|
+
--_rp-button-accent-fg: var(--rp-color-info-fg);
|
|
155
|
+
--_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
|
|
156
|
+
--_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
|
|
157
|
+
--_rp-button-border: var(--_rp-button-accent-border);
|
|
158
|
+
--_rp-button-border-hover: var(--_rp-button-accent-border-hover);
|
|
159
|
+
--_rp-button-fg: var(--_rp-button-accent-fg);
|
|
160
|
+
}
|
|
161
|
+
.rp-button--color-neutral[data-v-4a239144] {
|
|
162
|
+
--_rp-button-accent: var(--rp-color-neutral);
|
|
163
|
+
--_rp-button-accent-hover: var(--rp-color-neutral-hover);
|
|
164
|
+
--_rp-button-accent-active: var(--rp-color-neutral-active);
|
|
165
|
+
--_rp-button-accent-on: var(--rp-color-on-neutral);
|
|
166
|
+
--_rp-button-accent-subtle-bg: var(--rp-color-neutral-subtle-bg);
|
|
167
|
+
--_rp-button-accent-subtle-bg-hover: var(--rp-color-neutral-subtle-bg-hover);
|
|
168
|
+
--_rp-button-accent-subtle-bg-active: var(--rp-color-neutral-subtle-bg-active);
|
|
169
|
+
--_rp-button-accent-border: var(--rp-color-neutral-border);
|
|
170
|
+
--_rp-button-accent-border-hover: var(--rp-color-neutral-border-hover);
|
|
171
|
+
--_rp-button-accent-fg: var(--rp-color-neutral-fg);
|
|
172
|
+
--_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
|
|
173
|
+
--_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
|
|
174
|
+
--_rp-button-border: var(--_rp-button-accent-border);
|
|
175
|
+
--_rp-button-border-hover: var(--_rp-button-accent-border-hover);
|
|
176
|
+
--_rp-button-fg: var(--_rp-button-accent-fg);
|
|
177
|
+
}
|
|
178
|
+
.rp-button--size-xs[data-v-4a239144] {
|
|
179
|
+
--_rp-button-height: calc(var(--rp-size-control-sm) - var(--rp-spacing-1));
|
|
180
|
+
--_rp-button-padding-x: var(--rp-spacing-2);
|
|
181
|
+
--_rp-button-font-size: var(--rp-font-size-xs);
|
|
182
|
+
}
|
|
183
|
+
.rp-button--size-sm[data-v-4a239144] {
|
|
184
|
+
--_rp-button-height: var(--rp-size-control-sm);
|
|
185
|
+
--_rp-button-padding-x: var(--rp-spacing-3);
|
|
186
|
+
--_rp-button-font-size: var(--rp-font-size-sm);
|
|
187
|
+
}
|
|
188
|
+
.rp-button--size-lg[data-v-4a239144] {
|
|
189
|
+
--_rp-button-height: var(--rp-size-control-lg);
|
|
190
|
+
--_rp-button-padding-x: var(--rp-spacing-5);
|
|
191
|
+
--_rp-button-font-size: var(--rp-font-size-lg);
|
|
192
|
+
}
|
|
193
|
+
.rp-button--size-xl[data-v-4a239144] {
|
|
194
|
+
--_rp-button-height: calc(var(--rp-size-control-lg) + var(--rp-spacing-2));
|
|
195
|
+
--_rp-button-padding-x: var(--rp-spacing-6);
|
|
196
|
+
--_rp-button-font-size: var(--rp-font-size-lg);
|
|
197
|
+
}
|
|
198
|
+
.rp-button--radius-xs[data-v-4a239144] {
|
|
199
|
+
--_rp-button-radius: var(--rp-radius-xs);
|
|
200
|
+
}
|
|
201
|
+
.rp-button--radius-sm[data-v-4a239144] {
|
|
202
|
+
--_rp-button-radius: var(--rp-radius-sm);
|
|
203
|
+
}
|
|
204
|
+
.rp-button--radius-md[data-v-4a239144] {
|
|
205
|
+
--_rp-button-radius: var(--rp-radius-md);
|
|
206
|
+
}
|
|
207
|
+
.rp-button--radius-lg[data-v-4a239144] {
|
|
208
|
+
--_rp-button-radius: var(--rp-radius-lg);
|
|
209
|
+
}
|
|
210
|
+
.rp-button--radius-xl[data-v-4a239144] {
|
|
211
|
+
--_rp-button-radius: var(--rp-radius-xl);
|
|
212
|
+
}
|
|
213
|
+
.rp-button--solid[data-v-4a239144] {
|
|
214
|
+
--_rp-button-bg: var(--_rp-button-accent);
|
|
215
|
+
--_rp-button-bg-hover: var(--_rp-button-accent-hover);
|
|
216
|
+
--_rp-button-bg-active: var(--_rp-button-accent-active);
|
|
217
|
+
--_rp-button-border: var(--_rp-button-accent);
|
|
218
|
+
--_rp-button-border-hover: var(--_rp-button-accent-hover);
|
|
219
|
+
--_rp-button-border-active: var(--_rp-button-accent-active);
|
|
220
|
+
--_rp-button-fg: var(--_rp-button-accent-on);
|
|
221
|
+
}
|
|
222
|
+
.rp-button--subtle[data-v-4a239144] {
|
|
223
|
+
--_rp-button-bg: var(--_rp-button-accent-subtle-bg);
|
|
224
|
+
--_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
|
|
225
|
+
--_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
|
|
226
|
+
--_rp-button-border: transparent;
|
|
227
|
+
--_rp-button-border-hover: transparent;
|
|
228
|
+
--_rp-button-border-active: transparent;
|
|
229
|
+
--_rp-button-fg: var(--_rp-button-accent-fg);
|
|
230
|
+
--_rp-button-shadow: none;
|
|
231
|
+
--_rp-button-shadow-hover: none;
|
|
232
|
+
--_rp-button-shadow-active: none;
|
|
233
|
+
}
|
|
234
|
+
.rp-button--surface[data-v-4a239144] {
|
|
235
|
+
--_rp-button-bg: var(--_rp-button-accent-subtle-bg);
|
|
236
|
+
--_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
|
|
237
|
+
--_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
|
|
238
|
+
--_rp-button-border: var(--_rp-button-accent-border);
|
|
239
|
+
--_rp-button-border-hover: var(--_rp-button-accent-subtle-bg-hover);
|
|
240
|
+
--_rp-button-border-active: var(--_rp-button-accent-border-hover);
|
|
241
|
+
--_rp-button-fg: var(--_rp-button-accent-fg);
|
|
242
|
+
--_rp-button-shadow: none;
|
|
243
|
+
--_rp-button-shadow-hover: none;
|
|
244
|
+
--_rp-button-shadow-active: none;
|
|
245
|
+
}
|
|
246
|
+
.rp-button--outline[data-v-4a239144] {
|
|
247
|
+
--_rp-button-bg: transparent;
|
|
248
|
+
--_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
|
|
249
|
+
--_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
|
|
250
|
+
--_rp-button-border: var(--_rp-button-accent-border);
|
|
251
|
+
--_rp-button-border-hover: var(--_rp-button-accent-border-hover);
|
|
252
|
+
--_rp-button-border-active: var(--_rp-button-accent-border-hover);
|
|
253
|
+
--_rp-button-fg: var(--_rp-button-accent-fg);
|
|
254
|
+
--_rp-button-shadow: none;
|
|
255
|
+
--_rp-button-shadow-hover: none;
|
|
256
|
+
--_rp-button-shadow-active: none;
|
|
257
|
+
}
|
|
258
|
+
.rp-button--ghost[data-v-4a239144] {
|
|
259
|
+
--_rp-button-bg: transparent;
|
|
260
|
+
--_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
|
|
261
|
+
--_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
|
|
262
|
+
--_rp-button-border: transparent;
|
|
263
|
+
--_rp-button-border-hover: transparent;
|
|
264
|
+
--_rp-button-border-active: transparent;
|
|
265
|
+
--_rp-button-fg: var(--_rp-button-accent-fg);
|
|
266
|
+
--_rp-button-shadow: none;
|
|
267
|
+
--_rp-button-shadow-hover: none;
|
|
268
|
+
--_rp-button-shadow-active: none;
|
|
269
|
+
}
|
|
270
|
+
.rp-button--plain[data-v-4a239144] {
|
|
271
|
+
--_rp-button-bg: transparent;
|
|
272
|
+
--_rp-button-bg-hover: transparent;
|
|
273
|
+
--_rp-button-bg-active: transparent;
|
|
274
|
+
--_rp-button-border: transparent;
|
|
275
|
+
--_rp-button-border-hover: transparent;
|
|
276
|
+
--_rp-button-border-active: transparent;
|
|
277
|
+
--_rp-button-fg: var(--_rp-button-accent-fg);
|
|
278
|
+
--_rp-button-shadow: none;
|
|
279
|
+
--_rp-button-shadow-hover: none;
|
|
280
|
+
--_rp-button-shadow-active: none;
|
|
281
|
+
}
|
|
282
|
+
.rp-button[data-v-4a239144]:disabled {
|
|
283
|
+
opacity: var(--rp-opacity-disabled);
|
|
284
|
+
cursor: not-allowed;
|
|
285
|
+
box-shadow: none;
|
|
286
|
+
transform: none;
|
|
287
|
+
}
|
|
288
|
+
.rp-button[data-v-4a239144]:focus-visible {
|
|
289
|
+
outline: none;
|
|
290
|
+
border-color: var(--rp-color-primary);
|
|
291
|
+
box-shadow: 0 0 0 var(--rp-border-width-medium) var(--rp-color-focus-ring);
|
|
292
|
+
}
|
|
293
|
+
.rp-button__left[data-v-4a239144], .rp-button__right[data-v-4a239144] {
|
|
294
|
+
display: inline-flex;
|
|
295
|
+
align-items: center;
|
|
296
|
+
flex-shrink: 0;
|
|
297
|
+
}
|
|
298
|
+
.rp-button__spinner[data-v-4a239144] {
|
|
299
|
+
display: block;
|
|
300
|
+
width: 1em;
|
|
301
|
+
height: 1em;
|
|
302
|
+
flex-shrink: 0;
|
|
303
|
+
transform-origin: center;
|
|
304
|
+
animation: rp-button-spin-4a239144 700ms linear infinite;
|
|
305
|
+
}
|
|
306
|
+
@keyframes rp-button-spin-4a239144 {
|
|
307
|
+
to {
|
|
308
|
+
transform: rotate(360deg);
|
|
309
|
+
}
|
|
310
|
+
}.rp-icon-button[data-v-4a239144] {
|
|
311
|
+
width: var(--_rp-button-height);
|
|
312
|
+
padding: 0;
|
|
313
|
+
}
|
|
314
|
+
.rp-icon-button__icon[data-v-4a239144], .rp-icon-button__spinner[data-v-4a239144] {
|
|
315
|
+
width: 1em;
|
|
316
|
+
height: 1em;
|
|
317
|
+
flex-shrink: 0;
|
|
318
|
+
}
|
|
319
|
+
.rp-icon-button__icon[data-v-4a239144] {
|
|
320
|
+
display: inline-flex;
|
|
321
|
+
align-items: center;
|
|
322
|
+
justify-content: center;
|
|
323
|
+
line-height: 0;
|
|
324
|
+
}
|
|
325
|
+
.rp-icon-button__icon svg[data-v-4a239144-s] {
|
|
326
|
+
display: block;
|
|
327
|
+
width: 1em;
|
|
328
|
+
height: 1em;
|
|
329
|
+
}
|
|
330
|
+
.rp-icon-button__spinner[data-v-4a239144] {
|
|
331
|
+
display: block;
|
|
332
|
+
transform-origin: center;
|
|
333
|
+
animation: rp-icon-button-spin-4a239144 700ms linear infinite;
|
|
334
|
+
}
|
|
335
|
+
@keyframes rp-icon-button-spin-4a239144 {
|
|
336
|
+
to {
|
|
337
|
+
transform: rotate(360deg);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import './icon-button.css';
|
|
2
|
+
import { t as loader_circle_default } from "./loader-circle.js";
|
|
3
|
+
import { n as bem, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
4
|
+
import { computed, createComponent, createIf, createSlot, defineVaporComponent, renderEffect, setAttr, setClass, setInsertionState, setProp, template, unref } from "vue";
|
|
5
|
+
//#region src/components/icon-button/icon-button.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
6
|
+
var t0 = template("<span data-v-4a239144 class=rp-icon-button__icon aria-hidden=true>");
|
|
7
|
+
var t1 = template("<button data-v-4a239144>", 1);
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/components/icon-button/icon-button.vue
|
|
10
|
+
var icon_button_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
11
|
+
name: "RpIconButton",
|
|
12
|
+
__name: "icon-button",
|
|
13
|
+
props: {
|
|
14
|
+
ariaLabel: {},
|
|
15
|
+
variant: {},
|
|
16
|
+
color: {},
|
|
17
|
+
size: {},
|
|
18
|
+
radius: {},
|
|
19
|
+
type: { default: "button" },
|
|
20
|
+
disabled: {
|
|
21
|
+
type: Boolean,
|
|
22
|
+
default: false
|
|
23
|
+
},
|
|
24
|
+
loading: {
|
|
25
|
+
type: Boolean,
|
|
26
|
+
default: false
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
setup(__props) {
|
|
30
|
+
const props = __props;
|
|
31
|
+
const isLoading = computed(() => props.loading && !props.disabled);
|
|
32
|
+
const rootClass = computed(() => [...bem("rp-button", {
|
|
33
|
+
[props.variant ?? ""]: Boolean(props.variant),
|
|
34
|
+
[`color-${props.color}`]: Boolean(props.color),
|
|
35
|
+
[`size-${props.size}`]: Boolean(props.size),
|
|
36
|
+
[`radius-${props.radius}`]: Boolean(props.radius)
|
|
37
|
+
}), "rp-icon-button"]);
|
|
38
|
+
const n6 = t1();
|
|
39
|
+
renderEffect(() => {
|
|
40
|
+
setClass(n6, rootClass.value);
|
|
41
|
+
setProp(n6, "disabled", __props.disabled || isLoading.value || void 0);
|
|
42
|
+
setProp(n6, "type", __props.type);
|
|
43
|
+
setAttr(n6, "aria-label", __props.ariaLabel || void 0);
|
|
44
|
+
});
|
|
45
|
+
setInsertionState(n6, null, 0);
|
|
46
|
+
createIf(() => isLoading.value, () => {
|
|
47
|
+
return createComponent(unref(loader_circle_default), {
|
|
48
|
+
class: "rp-icon-button__spinner",
|
|
49
|
+
"aria-hidden": "true"
|
|
50
|
+
});
|
|
51
|
+
}, () => {
|
|
52
|
+
const n5 = t0();
|
|
53
|
+
setInsertionState(n5, null, 0);
|
|
54
|
+
createSlot("default", null, null, 1);
|
|
55
|
+
return n5;
|
|
56
|
+
}, 261);
|
|
57
|
+
return n6;
|
|
58
|
+
}
|
|
59
|
+
}), [["__scopeId", "data-v-4a239144"]]);
|
|
60
|
+
//#endregion
|
|
61
|
+
export { icon_button_default as t };
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=icon-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-button.js","names":[],"sources":["../src/components/icon-button/icon-button.vue","../src/components/icon-button/icon-button.vue"],"sourcesContent":["<template>\n <button\n :class=\"rootClass\"\n :disabled=\"disabled || isLoading || undefined\"\n :type=\"type\"\n :aria-label=\"ariaLabel || undefined\"\n >\n <IconLoaderCircle v-if=\"isLoading\" class=\"rp-icon-button__spinner\" aria-hidden=\"true\" />\n <span v-else class=\"rp-icon-button__icon\" aria-hidden=\"true\">\n <slot />\n </span>\n </button>\n</template>\n\n<script lang=\"ts\" setup vapor>\nimport { computed } from 'vue';\nimport IconLoaderCircle from '~icons/lucide/loader-circle';\nimport { bem } from '@/utils/bem';\nimport type { IconButtonProps } from './types';\n\ndefineOptions({ name: 'RpIconButton' });\n\nconst props = withDefaults(defineProps<IconButtonProps>(), {\n type: 'button',\n disabled: false,\n loading: false,\n});\n\nconst isLoading = computed(() => props.loading && !props.disabled);\n\nconst rootClass = computed(() => [\n ...bem('rp-button', {\n [props.variant ?? '']: Boolean(props.variant),\n [`color-${props.color}`]: Boolean(props.color),\n [`size-${props.size}`]: Boolean(props.size),\n [`radius-${props.radius}`]: Boolean(props.radius),\n }),\n 'rp-icon-button',\n]);\n</script>\n\n<style src=\"../button/button.scss\" lang=\"scss\" scoped></style>\n<style src=\"./icon-button.scss\" lang=\"scss\" scoped></style>\n","<template>\n <button\n :class=\"rootClass\"\n :disabled=\"disabled || isLoading || undefined\"\n :type=\"type\"\n :aria-label=\"ariaLabel || undefined\"\n >\n <IconLoaderCircle v-if=\"isLoading\" class=\"rp-icon-button__spinner\" aria-hidden=\"true\" />\n <span v-else class=\"rp-icon-button__icon\" aria-hidden=\"true\">\n <slot />\n </span>\n </button>\n</template>\n\n<script lang=\"ts\" setup vapor>\nimport { computed } from 'vue';\nimport IconLoaderCircle from '~icons/lucide/loader-circle';\nimport { bem } from '@/utils/bem';\nimport type { IconButtonProps } from './types';\n\ndefineOptions({ name: 'RpIconButton' });\n\nconst props = withDefaults(defineProps<IconButtonProps>(), {\n type: 'button',\n disabled: false,\n loading: false,\n});\n\nconst isLoading = computed(() => props.loading && !props.disabled);\n\nconst rootClass = computed(() => [\n ...bem('rp-button', {\n [props.variant ?? '']: Boolean(props.variant),\n [`color-${props.color}`]: Boolean(props.color),\n [`size-${props.size}`]: Boolean(props.size),\n [`radius-${props.radius}`]: Boolean(props.radius),\n }),\n 'rp-icon-button',\n]);\n</script>\n\n<style src=\"../button/button.scss\" lang=\"scss\" scoped></style>\n<style src=\"./icon-button.scss\" lang=\"scss\" scoped></style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBA,MAAM,QAAQ;EAMd,MAAM,YAAY,eAAe,MAAM,WAAW,CAAC,MAAM,QAAQ;EAEjE,MAAM,YAAY,eAAe,CAC7B,GAAG,IAAI,aAAa;IACf,MAAM,WAAW,KAAK,QAAQ,MAAM,OAAO;IAC3C,SAAS,MAAM,UAAU,QAAQ,MAAM,KAAK;IAC5C,QAAQ,MAAM,SAAS,QAAQ,MAAM,IAAI;IACzC,UAAU,MAAM,WAAW,QAAQ,MAAM,MAAM;EACpD,CAAC,GACD,gBACJ,CAAC;;;gBApCe,UAAA,KAAS;eAChB,YAAU,QAAA,YAAY,UAAA,SAAa,KAAA,CAAS;eAC5C,QAAM,QAAA,IAAI;eACV,cAAY,QAAA,aAAa,KAAA,CAAS;;;iBAEX,UAAA,aAAS;;IAAE,OAAM;IAA0B,eAAY"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export * from './components/button';
|
|
2
|
+
export * from './components/card';
|
|
2
3
|
export * from './components/checkbox';
|
|
4
|
+
export * from './components/field';
|
|
5
|
+
export * from './components/icon-button';
|
|
3
6
|
export * from './components/input';
|
|
4
7
|
export * from './components/radio';
|
|
5
8
|
export * from './components/select';
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { t as button_default } from "./button.js";
|
|
2
|
+
import { t as card_default } from "./card.js";
|
|
2
3
|
import { t as checkbox_default } from "./checkbox.js";
|
|
4
|
+
import { t as field_default } from "./field.js";
|
|
5
|
+
import { t as icon_button_default } from "./icon-button.js";
|
|
3
6
|
import { t as input_default } from "./input.js";
|
|
4
7
|
import { n as radio_default, t as radio_group_default } from "./radio.js";
|
|
5
8
|
import { t as select_default } from "./select.js";
|
|
6
9
|
import { t as switch_default } from "./switch.js";
|
|
7
10
|
import { t as textarea_default } from "./textarea.js";
|
|
8
|
-
export { button_default as Button, checkbox_default as Checkbox, input_default as Input, radio_default as Radio, radio_group_default as RadioGroup, select_default as Select, switch_default as Switch, textarea_default as Textarea };
|
|
11
|
+
export { button_default as Button, card_default as Card, checkbox_default as Checkbox, field_default as Field, icon_button_default as IconButton, input_default as Input, radio_default as Radio, radio_group_default as RadioGroup, select_default as Select, switch_default as Switch, textarea_default as Textarea };
|
package/dist/input.css
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
--_rp-input-radius: var(--rp-radius-sm);
|
|
6
6
|
--_rp-input-valid-border: var(--rp-color-success-border-hover);
|
|
7
7
|
--_rp-input-valid-ring: color-mix(in srgb, var(--rp-color-success) 32%, transparent);
|
|
8
|
-
--_rp-input-invalid-border: var(--rp-color-danger
|
|
8
|
+
--_rp-input-invalid-border: var(--rp-color-danger);
|
|
9
9
|
--_rp-input-invalid-ring: color-mix(in srgb, var(--rp-color-danger) 32%, transparent);
|
|
10
10
|
display: inline-flex;
|
|
11
11
|
align-items: center;
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
--_rp-input-font-size: var(--rp-font-size-lg);
|
|
59
59
|
}
|
|
60
60
|
.rp-input--radius-xs[data-v-fedf15e7] {
|
|
61
|
-
--_rp-input-radius: var(--rp-radius-
|
|
61
|
+
--_rp-input-radius: var(--rp-radius-xs);
|
|
62
62
|
}
|
|
63
63
|
.rp-input--radius-sm[data-v-fedf15e7] {
|
|
64
64
|
--_rp-input-radius: var(--rp-radius-sm);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { defineVaporComponent, markRaw, template } from "vue";
|
|
2
|
+
//#region ~icons/lucide/loader-circle
|
|
3
|
+
var t0 = template("<svg viewBox=\"0 0 24 24\"width=1.2em height=1.2em><path fill=none stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=2 d=\"M21 12a9 9 0 1 1-6.219-8.56\">", 3, 1);
|
|
4
|
+
function render(_ctx) {
|
|
5
|
+
return t0();
|
|
6
|
+
}
|
|
7
|
+
var loader_circle_default = markRaw(defineVaporComponent({
|
|
8
|
+
name: "lucide-loader-circle",
|
|
9
|
+
render
|
|
10
|
+
}));
|
|
11
|
+
//#endregion
|
|
12
|
+
export { loader_circle_default as t };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=loader-circle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader-circle.js","names":[],"sources":[],"mappings":""}
|
package/dist/select.css
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
.rp-select[data-v-9838513c] {
|
|
2
2
|
--_rp-select-radius: var(--rp-radius-sm);
|
|
3
|
+
--_rp-select-invalid-border: var(--rp-color-danger);
|
|
4
|
+
--_rp-select-invalid-ring: color-mix(in srgb, var(--rp-color-danger) 32%, transparent);
|
|
3
5
|
position: relative;
|
|
4
6
|
display: inline-flex;
|
|
5
7
|
font-family: var(--rp-font-family);
|
|
6
8
|
font-weight: var(--rp-font-weight-normal);
|
|
7
9
|
line-height: var(--rp-line-height-none);
|
|
8
10
|
}
|
|
11
|
+
html.dark .rp-select[data-v-9838513c] {
|
|
12
|
+
--_rp-select-invalid-border: var(--rp-color-danger-fg);
|
|
13
|
+
--_rp-select-invalid-ring: color-mix(in srgb, var(--rp-color-danger-fg) 32%, transparent);
|
|
14
|
+
}
|
|
9
15
|
.rp-select--disabled[data-v-9838513c] {
|
|
10
16
|
opacity: var(--rp-opacity-disabled);
|
|
11
17
|
cursor: not-allowed;
|
|
@@ -36,7 +42,7 @@
|
|
|
36
42
|
box-shadow: 0 0 0 var(--rp-border-width-medium) var(--rp-color-focus-ring);
|
|
37
43
|
}
|
|
38
44
|
.rp-select--radius-xs[data-v-9838513c] {
|
|
39
|
-
--_rp-select-radius: var(--rp-radius-
|
|
45
|
+
--_rp-select-radius: var(--rp-radius-xs);
|
|
40
46
|
}
|
|
41
47
|
.rp-select--radius-sm[data-v-9838513c] {
|
|
42
48
|
--_rp-select-radius: var(--rp-radius-sm);
|
|
@@ -55,7 +61,11 @@
|
|
|
55
61
|
box-shadow: 0 0 0 var(--rp-border-width-medium) var(--rp-color-focus-ring);
|
|
56
62
|
}
|
|
57
63
|
.rp-select--invalid .rp-select__trigger[data-v-9838513c] {
|
|
58
|
-
border-color: var(--
|
|
64
|
+
border-color: var(--_rp-select-invalid-border);
|
|
65
|
+
}
|
|
66
|
+
.rp-select--invalid .rp-select__trigger[data-v-9838513c]:focus-visible, .rp-select--open.rp-select--invalid .rp-select__trigger[data-v-9838513c] {
|
|
67
|
+
border-color: var(--_rp-select-invalid-border);
|
|
68
|
+
box-shadow: 0 0 0 var(--rp-border-width-medium) var(--_rp-select-invalid-ring);
|
|
59
69
|
}
|
|
60
70
|
.rp-select__value[data-v-9838513c] {
|
|
61
71
|
flex: 1;
|
|
@@ -134,7 +144,7 @@
|
|
|
134
144
|
}
|
|
135
145
|
.rp-select__dropdown[data-v-9838513c] {
|
|
136
146
|
position: absolute;
|
|
137
|
-
top: calc(100% + var(--rp-spacing-
|
|
147
|
+
top: calc(100% + var(--rp-spacing-2));
|
|
138
148
|
left: 0;
|
|
139
149
|
right: 0;
|
|
140
150
|
z-index: 100;
|