ranui 0.2.0-alpha.0 → 0.2.0-alpha.2
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 +26 -0
- package/README.zh-CN.md +26 -0
- package/dist/bin/build-iife.d.ts +1 -0
- package/dist/button-BstLjXNe.js +117 -0
- package/dist/button.js +1 -1
- package/dist/colorpicker-CGh8pRqo.js +315 -0
- package/dist/colorpicker.js +1 -1
- package/dist/components/colorpicker/index.d.ts +11 -0
- package/dist/components/dropdown/index.d.ts +0 -2
- package/dist/components/image/index.d.ts +6 -0
- package/dist/components/input/index.d.ts +13 -20
- package/dist/components/player/core/view.d.ts +0 -1
- package/dist/components/player/index.d.ts +0 -1
- package/dist/components/popover/index.d.ts +0 -2
- package/dist/components/select/index.d.ts +15 -0
- package/dist/{dropdown-C5362qTy.js → dropdown-RqHMRhFE.js} +0 -6
- package/dist/dropdown.js +1 -1
- package/dist/{icon-DmoEnao5.js → icon-Blm7AbyY.js} +2 -0
- package/dist/icon.js +1 -1
- package/dist/iife/button.iife.js +1 -0
- package/dist/iife/card.iife.js +1 -0
- package/dist/iife/checkbox.iife.js +1 -0
- package/dist/iife/colorpicker.iife.js +5 -0
- package/dist/iife/dropdown.iife.js +1 -0
- package/dist/iife/form.iife.js +1 -0
- package/dist/iife/icon.iife.js +1 -0
- package/dist/iife/image.iife.js +3 -0
- package/dist/iife/input.iife.js +1 -0
- package/dist/iife/link.iife.js +1 -0
- package/dist/iife/loading.iife.js +1 -0
- package/dist/iife/math.iife.js +261 -0
- package/dist/iife/message.iife.js +1 -0
- package/dist/iife/modal.iife.js +1 -0
- package/dist/iife/player.iife.js +31 -0
- package/dist/iife/popover.iife.js +1 -0
- package/dist/iife/progress.iife.js +1 -0
- package/dist/iife/radar.iife.js +1 -0
- package/dist/iife/route.iife.js +1 -0
- package/dist/iife/router.iife.js +1 -0
- package/dist/iife/scratch.iife.js +1 -0
- package/dist/iife/section.iife.js +1 -0
- package/dist/iife/select.iife.js +5 -0
- package/dist/iife/skeleton.iife.js +1 -0
- package/dist/iife/tab.iife.js +1 -0
- package/dist/iife/tabpane.iife.js +1 -0
- package/dist/{image-6GayFDqX.js → image-DKm6z7YQ.js} +17 -15
- package/dist/image.js +1 -1
- package/dist/index.cjs +16 -16
- package/dist/index.iife.js +35 -35
- package/dist/index.js +16 -16
- package/dist/input-Dskw1bAl.js +186 -0
- package/dist/input.js +1 -1
- package/dist/{katex-es-Cnq5Pk8K.cjs → katex-es-BTpuCxxV.cjs} +7 -7
- package/dist/{katex-es-Bpesphgp.js → katex-es-CKRwcaiU.js} +606 -606
- package/dist/{loading-Mko22ncl.js → loading-C4QUpm70.js} +1 -1
- package/dist/loading.js +1 -1
- package/dist/{math-B5PpSnFR.js → math-Dv4nXSoI.js} +1 -1
- package/dist/math.js +1 -1
- package/dist/{message-CQENvkoi.js → message-De5e1txT.js} +1 -1
- package/dist/message.js +1 -1
- package/dist/{player-CvfmwWUa.js → player-CqTAmg_E.js} +636 -638
- package/dist/player.js +1 -1
- package/dist/{popover-BCvHwLZb.js → popover-BY32HNMl.js} +19 -26
- package/dist/popover.js +1 -1
- package/dist/{progress-BWkNf2J5.js → progress-gZo0knzu.js} +11 -11
- package/dist/progress.js +1 -1
- package/dist/{radar-CWsawt2g.js → radar-19P5Mtld.js} +17 -17
- package/dist/radar.js +1 -1
- package/dist/ranui.css +1 -1
- package/dist/{select-BmhCUTLb.js → select-BVdUtQX5.js} +72 -51
- package/dist/select.js +1 -1
- package/dist/{skeleton-DPv9nFhL.js → skeleton-BAdJ6vyA.js} +1 -1
- package/dist/skeleton.js +1 -1
- package/dist/{tab-C9swK-hm.js → tab-DH2owP2V.js} +0 -1
- package/dist/tab.js +1 -1
- package/dist/vite.config.d.ts +4 -0
- package/docs/COMPONENTS.md +10 -12
- package/docs/DESIGN.md +16 -0
- package/package.json +3 -3
- package/dist/button-DukaD6uL.js +0 -117
- package/dist/colorpicker-Ch67dWa_.js +0 -302
- package/dist/input-DoraIb3x.js +0 -198
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { S
|
|
2
|
-
import { t as
|
|
3
|
-
import { _ as v, i as
|
|
1
|
+
import { S, c as b, d as w, g as u, l as c, m as D, p as a, s as m, u as h, v as k } from "./utils-D4pPF77E.js";
|
|
2
|
+
import { t as x } from "./events-C59wGdni.js";
|
|
3
|
+
import { _ as v, i as l, m as C, p as g, s as O } from "./factory-BdsO0dEW.js";
|
|
4
4
|
import { a as f, n as _ } from "./ssr-DSGwPtEd.js";
|
|
5
|
-
import { n as E } from "./icon-
|
|
6
|
-
import "./input-
|
|
7
|
-
import "./dropdown-
|
|
8
|
-
var T = '.remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transparent}.remove-wap-active-focus:active,.remove-wap-active-focus:focus{outline:0;-webkit-tap-highlight-color:transparent}:host{position:var(--ran-select-host-position, relative);display:var(--ran-select-host-display, inline-block);cursor:var(--ran-select-host-cursor, pointer);height:var(--ran-select-host-height, 32px);outline:var(--ran-select-host-outline, 0);-webkit-tap-highlight-color:var(--ran-select-host-tap-highlight-color, transparent)}:host,:host(:focus),:host(:active){outline:var(--ran-select-host-focus-outline, 0);-webkit-tap-highlight-color:transparent}:host ::slotted(r-option){display:var(--ran-select-option-display, none)}:host([disabled]){cursor:var(--ran-select-host-disabled-cursor, not-allowed);pointer-events:var(--ran-select-host-disabled-pointer-events, all);opacity:var(--ran-select-host-disabled-opacity, .6)}:host(:not([disabled]):hover) .ran-select{cursor:var(--ran-select-host-hover-cursor, pointer)}:host(:not([disabled],[type="text"]):hover) .selection{border:var(--ran-select-selection-hover-border, 1px solid var(--ran-color-primary, #1890ff))}:host(:not([disabled],[type="text"]):hover) .selection-search{cursor:var(--ran-select-selection-hover-search-cursor, pointer)}:host(:not([disabled],[type="text"]):hover) .selection-item{cursor:var(--ran-select-selection-hover-item-cursor, pointer);color:var(--ran-select-selection-hover-item-color, var(--ran-color-text-disabled, #bfbfbf))}:host([type="text"]) .selection{border:var(--ran-select-selection-text-border, none);background:var(--ran-select-selection-text-background, transparent)}:host([type="text"]) .icon{display:var(--ran-select-icon-text-display, none)}:host(:not([disabled],[type="text"]):focus) .selection{border:var(--ran-select-selection-focus-border, 1px solid var(--ran-color-primary, #1890ff))}:host(:not([disabled],[type="text"]):focus) .selection-search{cursor:var(--ran-select-selection-focus-search-cursor, pointer)}:host(:not([disabled],[type="text"]):focus) .selection-item{cursor:var(--ran-select-selection-focus-item-cursor, pointer);color:var(--ran-select-selection-focus-item-color, var(--ran-color-text-disabled, #bfbfbf))}:host .selection-search{display:var(--ran-select-selection-search-display, none)}:host([showSearch]:not([disabled])) .selection-search{cursor:var(--ran-select-selection-search-visible-cursor, text);display:var(--ran-select-selection-search-visible-display, block)}:host([showSearch]:not([disabled])) .selection-item{cursor:var(--ran-select-selection-search-visible-item-cursor, pointer)}:host([showSearch]:not([disabled]):focus) .selection-search{display:var(--ran-select-selection-search-visible-display, block);cursor:var(--ran-select-selection-search-visible-cursor, text);opacity:var(--ran-select-selection-search-visible-opacity, 1)}.ran-select{width:var(--ran-select-root-width, 100%);height:var(--ran-select-root-height, 100%);font-size:var(--ran-select-root-font-size, 14px);box-sizing:var(--ran-select-root-box-sizing, border-box);margin:var(--ran-select-root-margin, 0);padding:var(--ran-select-root-padding, 0);color:var(--ran-select-root-color, var(--ran-color-text, rgba(0, 0, 0, .88)));line-height:var(--ran-select-root-line-height, 1.57142857);list-style:var(--ran-select-root-list-style, none);font-family:var(--ran-select-root-font-family, var(--ran-skin-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"));position:var(--ran-select-root-position, relative);display:var(--ran-select-root-display, inline-block)}.ran-select .selection{position:var(--ran-select-selection-position, relative);background-color:var(--ran-select-selection-background-color, var(--ran-color-bg-elevated, #ffffff));background-image:var(--ran-select-selection-background-image, none);border:var(--ran-select-selection-border, 1px solid var(--ran-color-border, #d9d9d9));transition:var(--ran-select-selection-transition,
|
|
5
|
+
import { n as E } from "./icon-Blm7AbyY.js";
|
|
6
|
+
import "./input-Dskw1bAl.js";
|
|
7
|
+
import "./dropdown-RqHMRhFE.js";
|
|
8
|
+
var T = '.remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transparent}.remove-wap-active-focus:active,.remove-wap-active-focus:focus{outline:0;-webkit-tap-highlight-color:transparent}:host{position:var(--ran-select-host-position, relative);display:var(--ran-select-host-display, inline-block);cursor:var(--ran-select-host-cursor, pointer);height:var(--ran-select-host-height, 32px);outline:var(--ran-select-host-outline, 0);-webkit-tap-highlight-color:var(--ran-select-host-tap-highlight-color, transparent)}:host,:host(:focus),:host(:active){outline:var(--ran-select-host-focus-outline, 0);-webkit-tap-highlight-color:transparent}:host ::slotted(r-option){display:var(--ran-select-option-display, none)}:host([disabled]){cursor:var(--ran-select-host-disabled-cursor, not-allowed);pointer-events:var(--ran-select-host-disabled-pointer-events, all);opacity:var(--ran-select-host-disabled-opacity, .6)}:host(:not([disabled]):hover) .ran-select{cursor:var(--ran-select-host-hover-cursor, pointer)}:host(:not([disabled],[type="text"]):hover) .selection{border:var(--ran-select-selection-hover-border, 1px solid var(--ran-color-primary, #1890ff))}:host(:not([disabled],[type="text"]):hover) .selection-search{cursor:var(--ran-select-selection-hover-search-cursor, pointer)}:host(:not([disabled],[type="text"]):hover) .selection-item{cursor:var(--ran-select-selection-hover-item-cursor, pointer);color:var(--ran-select-selection-hover-item-color, var(--ran-color-text-disabled, #bfbfbf))}:host([type="text"]) .selection{border:var(--ran-select-selection-text-border, none);background:var(--ran-select-selection-text-background, transparent)}:host([type="text"]) .icon{display:var(--ran-select-icon-text-display, none)}:host(:not([disabled],[type="text"]):focus) .selection{border:var(--ran-select-selection-focus-border, 1px solid var(--ran-color-primary, #1890ff))}:host(:not([disabled],[type="text"]):focus) .selection-search{cursor:var(--ran-select-selection-focus-search-cursor, pointer)}:host(:not([disabled],[type="text"]):focus) .selection-item{cursor:var(--ran-select-selection-focus-item-cursor, pointer);color:var(--ran-select-selection-focus-item-color, var(--ran-color-text-disabled, #bfbfbf))}:host .selection-search{display:var(--ran-select-selection-search-display, none)}:host([showSearch]:not([disabled])) .selection-search{cursor:var(--ran-select-selection-search-visible-cursor, text);display:var(--ran-select-selection-search-visible-display, block)}:host([showSearch]:not([disabled])) .selection-item{cursor:var(--ran-select-selection-search-visible-item-cursor, pointer)}:host([showSearch]:not([disabled]):focus) .selection-search{display:var(--ran-select-selection-search-visible-display, block);cursor:var(--ran-select-selection-search-visible-cursor, text);opacity:var(--ran-select-selection-search-visible-opacity, 1)}.ran-select{width:var(--ran-select-root-width, 100%);height:var(--ran-select-root-height, 100%);font-size:var(--ran-select-root-font-size, 14px);box-sizing:var(--ran-select-root-box-sizing, border-box);margin:var(--ran-select-root-margin, 0);padding:var(--ran-select-root-padding, 0);color:var(--ran-select-root-color, var(--ran-color-text, rgba(0, 0, 0, .88)));line-height:var(--ran-select-root-line-height, 1.57142857);list-style:var(--ran-select-root-list-style, none);font-family:var(--ran-select-root-font-family, var(--ran-skin-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"));position:var(--ran-select-root-position, relative);display:var(--ran-select-root-display, inline-block)}.ran-select .selection{position:var(--ran-select-selection-position, relative);background-color:var(--ran-select-selection-background-color, var(--ran-color-bg-elevated, #ffffff));background-image:var(--ran-select-selection-background-image, none);border:var(--ran-select-selection-border, 1px solid var(--ran-color-border, #d9d9d9));transition:var(--ran-select-selection-transition, border-color .2s cubic-bezier(.645, .045, .355, 1), box-shadow .2s cubic-bezier(.645, .045, .355, 1), color .2s cubic-bezier(.645, .045, .355, 1));width:var(--ran-select-selection-width, 100%);height:var(--ran-select-selection-height, 100%);padding:var(--ran-select-selection-padding, 0 11px);box-sizing:var(--ran-select-selection-box-sizing, border-box);margin:var(--ran-select-selection-margin, 0);color:var(--ran-select-selection-color, var(--ran-color-text, rgba(0, 0, 0, .88)));font-size:var(--ran-select-selection-font-size, 14px);line-height:var(--ran-select-selection-line-height, 1.57142857);list-style:var(--ran-select-selection-list-style, none);font-family:var(--ran-select-selection-font-family, inherit);display:var(--ran-select-selection-display, flex);border-radius:var(--ran-select-selection-border-radius, var(--ran-radius-sm, 6px))}.ran-select .selection-search{position:var(--ran-select-selection-search-position, absolute);opacity:var(--ran-select-selection-search-opacity, 0);top:var(--ran-select-selection-search-top, 0);left:var(--ran-select-selection-search-left, 0);height:var(--ran-select-selection-search-height, 100%);inset-inline-start:var(--ran-select-selection-search-inset-inline-start, 11px);inset-inline-end:var(--ran-select-selection-search-inset-inline-end, 11px);margin:var(--ran-select-selection-search-margin, 0);padding:var(--ran-select-selection-search-padding, 0);background:var(--ran-select-selection-search-background, transparent);border:var(--ran-select-selection-search-border, none);outline:var(--ran-select-selection-search-outline, none);appearance:var(--ran-select-selection-search-appearance, none);font-family:var(--ran-select-selection-search-font-family, inherit);cursor:var(--ran-select-selection-search-cursor, not-allowed)}.ran-select .selection-search::-webkit-search-cancel-button{display:var(--ran-select-selection-search-cancel-display, none);-webkit-appearance:var(--ran-select-selection-search-cancel-appearance, none)}.ran-select .selection-search::part(input){border:var(--ran-select-selection-search-input-border, none);padding:var(--ran-select-selection-search-input-padding, 0);height:100%;min-height:100%;box-sizing:border-box;outline:var(--ran-select-selection-search-input-outline, none)}.ran-select .selection-search::part(input):active{border:var(--ran-select-selection-search-input-active-border, none);padding:var(--ran-select-selection-search-input-active-padding, 0);height:var(--ran-select-selection-search-input-active-height, 100%);outline:var(--ran-select-selection-search-input-active-outline, none);border-color:var(--ran-select-selection-search-input-active-border-color, transparent);box-shadow:var(--ran-select-selection-search-input-active-box-shadow, none);border-right-width:var(--ran-select-selection-search-input-active-border-right-width, 0px)}.ran-select .selection-search::part(content){min-height:var(--ran-select-selection-search-input-content-min-height, 0)}.ran-select .selection-item{position:var(--ran-select-selection-item-position, absolute);top:var(--ran-select-selection-item-top, 0);left:var(--ran-select-selection-item-left, 12px);right:var(--ran-select-selection-item-right, 28px);margin:var(--ran-select-selection-item-margin, 0);padding:var(--ran-select-selection-item-padding, 0);background:var(--ran-select-selection-item-background, transparent);border:var(--ran-select-selection-item-border, none);outline:var(--ran-select-selection-item-outline, none);appearance:var(--ran-select-selection-item-appearance, none);font-family:var(--ran-select-selection-item-font-family, inherit);height:var(--ran-select-selection-item-height, 100%);display:var(--ran-select-selection-item-display, flex);align-items:var(--ran-select-selection-item-align-items, center);-webkit-user-select:var(--ran-select-selection-item-user-select, none);user-select:var(--ran-select-selection-item-user-select, none);overflow:var(--ran-select-selection-item-overflow, hidden);white-space:var(--ran-select-selection-item-white-space, nowrap);text-overflow:var(--ran-select-selection-item-text-overflow, ellipsis);cursor:var(--ran-select-selection-item-cursor, pointer)}.ran-select .selection-select{color:var(--ran-select-selection-select-color, var(--ran-color-text-disabled, rgba(0, 0, 0, .25)))}.ran-select .selection .icon{display:var(--ran-select-selection-icon-display, flex);align-items:var(--ran-select-selection-icon-align-items, center);color:var(--ran-select-selection-icon-color, var(--ran-color-text-disabled, rgba(0, 0, 0, .25)));font-style:var(--ran-select-selection-icon-font-style, normal);text-align:var(--ran-select-selection-icon-text-align, center);text-transform:var(--ran-select-selection-icon-text-transform, none);text-rendering:var(--ran-select-selection-icon-text-rendering, optimizeLegibility);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:var(--ran-select-selection-icon-position, absolute);top:var(--ran-select-selection-icon-top, 50%);inset-inline-start:var(--ran-select-selection-icon-inset-inline-start, auto);inset-inline-end:var(--ran-select-selection-icon-inset-inline-end, 8px);height:var(--ran-select-selection-icon-height, 16px);transform:var(--ran-select-selection-icon-transform, translateY(-50%));margin-top:var(--ran-select-selection-icon-margin-top, 0);font-size:var(--ran-select-selection-icon-font-size, 12px);pointer-events:var(--ran-select-selection-icon-pointer-events, none)}', L = {
|
|
9
9
|
success: !0,
|
|
10
10
|
_identification: !0,
|
|
11
11
|
data: `<svg viewBox="0 0 1024 1024" width="200" height="200" version="1.1"
|
|
@@ -28,8 +28,8 @@ var T = '.remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transpar
|
|
|
28
28
|
constructor() {
|
|
29
29
|
super(), this._shadowDom = b(this);
|
|
30
30
|
const e = m(this._shadowDom, ".ran-select-dropdown-option", () => {
|
|
31
|
-
const i = g().build(), s =
|
|
32
|
-
return
|
|
31
|
+
const i = g().build(), s = l().class("ran-select-dropdown-option-content").children(i).build();
|
|
32
|
+
return l().class("ran-select-dropdown-option").children(s).build();
|
|
33
33
|
}), t = e.querySelector(".ran-select-dropdown-option-content"), o = e.querySelector("slot");
|
|
34
34
|
this._slot = o, this._optionContent = t, this._option = e;
|
|
35
35
|
}
|
|
@@ -62,7 +62,7 @@ var T = '.remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transpar
|
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
64
|
f("r-option", P);
|
|
65
|
-
var
|
|
65
|
+
var M = '.remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transparent}.remove-wap-active-focus:active,.remove-wap-active-focus:focus{outline:0;-webkit-tap-highlight-color:transparent}.ranui-dropdown-option-item{position:var(--ran-dropdown-option-item-position, relative);display:var(--ran-dropdown-option-item-display, block);padding:var(--ran-dropdown-option-item-padding, 5px 12px);color:var(--ran-dropdown-option-item-color, var(--ran-color-text, rgba(0, 0, 0, .88)));font-weight:var(--ran-dropdown-option-item-font-weight, normal);font-size:var(--ran-dropdown-option-item-font-size, 14px);transition:var(--ran-dropdown-option-item-transition, background var(--ran-motion-duration-base, .2s) ease);border-radius:var(--ran-dropdown-option-item-border-radius, var(--ran-radius-sm, 6px));cursor:var(--ran-dropdown-option-item-cursor, pointer)}.ranui-dropdown-option-item:hover{background-color:var(--ran-dropdown-option-item-hover-background-color, var(--ran-gray-alpha-100, rgba(0, 0, 0, .04)))}.ranui-dropdown-option-item-content{text-align:var(--ran-dropdown-option-item-content-text-align, left);overflow:var(--ran-dropdown-option-item-content-overflow, hidden);white-space:var(--ran-dropdown-option-item-content-white-space, nowrap);text-overflow:var(--ran-dropdown-option-item-content-text-overflow, ellipsis);color:var(--ran-dropdown-option-item-content-color, var(--ran-color-text, rgba(0, 0, 0, .88)));font-size:var(--ran-dropdown-option-item-content-font-size, 14px);line-height:var(--ran-dropdown-option-item-content-line-height, 1.57142857);box-sizing:var(--ran-dropdown-option-item-content-box-sizing, border-box);list-style:var(--ran-dropdown-option-item-content-list-style, none);font-family:var(--ran-dropdown-option-item-content-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-variant:var(--ran-dropdown-option-item-content-font-variant, initial)}.ranui-dropdown-option-active{background-color:var(--ran-dropdown-option-active-background-color, var(--ran-blue-100, #e6f7ff));font-weight:var(--ran-dropdown-option-active-font-weight, bold)}.ranui-dropdown-option-active:hover{background-color:var(--ran-dropdown-option-active-hover-background-color, var(--ran-blue-100, #e6f7ff))}', B = class extends _ {
|
|
66
66
|
ionDropdownItem;
|
|
67
67
|
_slot;
|
|
68
68
|
_shadowDom;
|
|
@@ -76,33 +76,33 @@ var B = '.remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transpar
|
|
|
76
76
|
];
|
|
77
77
|
}
|
|
78
78
|
constructor() {
|
|
79
|
-
super(), this._shadowDom = b(this,
|
|
79
|
+
super(), this._shadowDom = b(this, M);
|
|
80
80
|
const e = m(this._shadowDom, ".ranui-dropdown-option-item", () => {
|
|
81
|
-
const i = g().class("slot").build(), s =
|
|
82
|
-
return
|
|
81
|
+
const i = g().class("slot").build(), s = l().class("ranui-dropdown-option-item-content").part("content").children(i).build();
|
|
82
|
+
return l().class("ranui-dropdown-option-item").part("item").children(s).build();
|
|
83
83
|
}), t = e.querySelector(".ranui-dropdown-option-item-content"), o = e.querySelector("slot");
|
|
84
84
|
this._slot = o, this.ionDropdownItemContent = t, this.ionDropdownItem = e;
|
|
85
85
|
}
|
|
86
86
|
get value() {
|
|
87
|
-
return
|
|
87
|
+
return c(this, "value");
|
|
88
88
|
}
|
|
89
89
|
set value(e) {
|
|
90
90
|
!a(this) && e ? this.setAttribute("value", e) : this.removeAttribute("value");
|
|
91
91
|
}
|
|
92
92
|
get active() {
|
|
93
|
-
return
|
|
93
|
+
return c(this, "active");
|
|
94
94
|
}
|
|
95
95
|
set active(e) {
|
|
96
96
|
e ? this.setAttribute("active", e) : this.removeAttribute("active");
|
|
97
97
|
}
|
|
98
98
|
get title() {
|
|
99
|
-
return
|
|
99
|
+
return c(this, "title");
|
|
100
100
|
}
|
|
101
101
|
set title(e) {
|
|
102
102
|
e ? this.setAttribute("title", e) : this.removeAttribute("title");
|
|
103
103
|
}
|
|
104
104
|
get sheet() {
|
|
105
|
-
return
|
|
105
|
+
return c(this, "sheet");
|
|
106
106
|
}
|
|
107
107
|
set sheet(e) {
|
|
108
108
|
h(this, "sheet", e);
|
|
@@ -118,11 +118,11 @@ var B = '.remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transpar
|
|
|
118
118
|
this.handlerExternalCss();
|
|
119
119
|
return;
|
|
120
120
|
}
|
|
121
|
-
e === "active" && o ? D(this.ionDropdownItem, "ranui-dropdown-option-active") :
|
|
121
|
+
e === "active" && o ? D(this.ionDropdownItem, "ranui-dropdown-option-active") : k(this.ionDropdownItem, "ranui-dropdown-option-active");
|
|
122
122
|
}
|
|
123
123
|
};
|
|
124
|
-
f("r-dropdown-item",
|
|
125
|
-
var
|
|
124
|
+
f("r-dropdown-item", B);
|
|
125
|
+
var A = {
|
|
126
126
|
bottom: {
|
|
127
127
|
add: "ran-dropdown-down-in",
|
|
128
128
|
remove: "ran-dropdown-down-out"
|
|
@@ -133,10 +133,11 @@ var x = {
|
|
|
133
133
|
}
|
|
134
134
|
};
|
|
135
135
|
E("arrow-down", L);
|
|
136
|
-
var
|
|
136
|
+
var z = S(), I = 300, V = class extends _ {
|
|
137
137
|
static formAssociated = !0;
|
|
138
138
|
_internals;
|
|
139
|
-
_events = new
|
|
139
|
+
_events = new x();
|
|
140
|
+
_searchEvents = new x();
|
|
140
141
|
removeTimeId;
|
|
141
142
|
_listboxId;
|
|
142
143
|
_activeIndex;
|
|
@@ -161,11 +162,10 @@ var V = I(), A = 300, z = class extends _ {
|
|
|
161
162
|
return [
|
|
162
163
|
"disabled",
|
|
163
164
|
"sheet",
|
|
164
|
-
"clear",
|
|
165
165
|
"type",
|
|
166
166
|
"value",
|
|
167
|
-
"
|
|
168
|
-
"
|
|
167
|
+
"defaultvalue",
|
|
168
|
+
"showsearch",
|
|
169
169
|
"placement",
|
|
170
170
|
"getPopupContainerId",
|
|
171
171
|
"dropdownclass",
|
|
@@ -180,7 +180,7 @@ var V = I(), A = 300, z = class extends _ {
|
|
|
180
180
|
this._internals = void 0;
|
|
181
181
|
}
|
|
182
182
|
this._listboxId = `ran-select-listbox-${Math.random().toString(36).slice(2, 9)}`, this._activeIndex = -1, this._optionList = [], this._optionLabelMapValue = /* @__PURE__ */ new Map(), this._optionValueMapLabel = /* @__PURE__ */ new Map(), this._shadowDom = b(this, T);
|
|
183
|
-
const e = m(this._shadowDom, ".ran-select", () =>
|
|
183
|
+
const e = m(this._shadowDom, ".ran-select", () => l().class("ran-select").part("select").children(l().class("selection").part("selection").children(v("r-icon").class("icon").part("icon").attr("name", "arrow-down").attr("color", "var(--ran-color-text-secondary)").attr("size", "16"), l().children(C().class("selection-item").part("selection-item"), O().class("selection-search").part("search").attr("type", "search").attr("autocomplete", "off"))), g().class("slot")).build());
|
|
184
184
|
this._select = e, this._selection = e.querySelector(".selection"), this._selector = this._selection.querySelector("div"), this._icon = e.querySelector(".icon"), this._text = e.querySelector(".selection-item"), this._search = e.querySelector(".selection-search"), this._slot = e.querySelector("slot");
|
|
185
185
|
}
|
|
186
186
|
get value() {
|
|
@@ -217,7 +217,7 @@ var V = I(), A = 300, z = class extends _ {
|
|
|
217
217
|
this.setAttribute("placement", e || "");
|
|
218
218
|
}
|
|
219
219
|
get sheet() {
|
|
220
|
-
return
|
|
220
|
+
return c(this, "sheet");
|
|
221
221
|
}
|
|
222
222
|
set sheet(e) {
|
|
223
223
|
h(this, "sheet", e);
|
|
@@ -273,18 +273,30 @@ var V = I(), A = 300, z = class extends _ {
|
|
|
273
273
|
if (!i) return;
|
|
274
274
|
this.setAttribute("value", i), this.syncFormValue(), this._text.textContent = o, this._text.setAttribute("title", o), this._search.setAttribute("placeholder", o);
|
|
275
275
|
const { height: s } = this.getBoundingClientRect();
|
|
276
|
-
this._text.style.setProperty("line-height", `${s}px`), this._activeOption && this._activeOption !== e && (this._activeOption.removeAttribute("active"), this._activeOption.setAttribute("aria-selected", "false")), this._activeOption = e, this._activeIndex = this.getDropdownOptions().findIndex((
|
|
276
|
+
this._text.style.setProperty("line-height", `${s}px`), this._activeOption && this._activeOption !== e && (this._activeOption.removeAttribute("active"), this._activeOption.setAttribute("aria-selected", "false")), this._activeOption = e, this._activeIndex = this.getDropdownOptions().findIndex((n) => n === e), e.setAttribute("active", i), e.setAttribute("aria-selected", "true"), this.syncActiveState(), this.setSelectDropdownDisplayNone(), t && this.dispatchEvent(new CustomEvent("change", { detail: {
|
|
277
277
|
value: i,
|
|
278
278
|
label: o
|
|
279
279
|
} }));
|
|
280
280
|
};
|
|
281
281
|
isDropdownOpen = () => this._selectionDropdown ? this._selectionDropdown.style.display === "block" : !1;
|
|
282
|
+
_nextEnabledIndex = (e, t) => {
|
|
283
|
+
const o = this.getDropdownOptions(), i = o.length;
|
|
284
|
+
if (i === 0) return -1;
|
|
285
|
+
let s = Math.max(0, Math.min(e, i - 1));
|
|
286
|
+
for (let n = 0; n < i; n++) {
|
|
287
|
+
if (!a(o[s])) return s;
|
|
288
|
+
const r = s + t;
|
|
289
|
+
if (r < 0 || r > i - 1) return -1;
|
|
290
|
+
s = r;
|
|
291
|
+
}
|
|
292
|
+
return -1;
|
|
293
|
+
};
|
|
282
294
|
keydownSelect = (e) => {
|
|
283
295
|
if (!this.disabled) {
|
|
284
296
|
if (e.key === "ArrowDown" || e.key === "ArrowUp") {
|
|
285
297
|
if (e.preventDefault(), this.isDropdownOpen() || this.selectMouseDown(e), this.getDropdownOptions().length === 0) return;
|
|
286
|
-
const t = e.key === "ArrowDown" ? 1 : -1, o = this._activeIndex >= 0 ? this._activeIndex : 0;
|
|
287
|
-
this.setActiveOptionByIndex(
|
|
298
|
+
const t = e.key === "ArrowDown" ? 1 : -1, o = this._activeIndex >= 0 ? this._activeIndex : 0, i = this._nextEnabledIndex(o + t, t);
|
|
299
|
+
i >= 0 && this.setActiveOptionByIndex(i);
|
|
288
300
|
return;
|
|
289
301
|
}
|
|
290
302
|
if (e.key === "Enter" || e.key === " ") {
|
|
@@ -302,25 +314,25 @@ var V = I(), A = 300, z = class extends _ {
|
|
|
302
314
|
w(this, this._shadowDom, "sheet", null, this.sheet);
|
|
303
315
|
}
|
|
304
316
|
setSelectDropdownDisplayNone = () => {
|
|
305
|
-
this._selectDropDownOutTimeId || (this.updateAriaExpanded(!1), this._selectionDropdown && this._selectionDropdown.style.display !== "none" && (this._detachReposition(), this._selectionDropdown.setAttribute("transit",
|
|
317
|
+
this._selectDropDownOutTimeId || (this.updateAriaExpanded(!1), this._selectionDropdown && this._selectionDropdown.style.display !== "none" && (this._detachReposition(), this._selectionDropdown.setAttribute("transit", A[this.placement].remove), this._selectDropDownOutTimeId = setTimeout(() => {
|
|
306
318
|
this._selectionDropdown?.style.setProperty("display", "none"), this._selectionDropdown && this._selectionDropdown.removeAttribute("transit"), clearTimeout(this._selectDropDownOutTimeId), this._selectDropDownOutTimeId = void 0;
|
|
307
|
-
},
|
|
319
|
+
}, I)));
|
|
308
320
|
};
|
|
309
321
|
setSelectDropdownDisplayBlock = () => {
|
|
310
|
-
this._selectDropDownInTimeId || (this.updateAriaExpanded(!0), this._selectionDropdown && this._selectionDropdown.style.display !== "block" && (this._selectionDropdown.setAttribute("transit",
|
|
322
|
+
this._selectDropDownInTimeId || (this.updateAriaExpanded(!0), this._selectionDropdown && this._selectionDropdown.style.display !== "block" && (this._selectionDropdown.setAttribute("transit", A[this.placement].add), this._selectionDropdown?.style.setProperty("display", "block"), this._attachReposition(), this._selectDropDownInTimeId = setTimeout(() => {
|
|
311
323
|
this._selectionDropdown && this._selectionDropdown.removeAttribute("transit"), clearTimeout(this._selectDropDownInTimeId), this._selectDropDownInTimeId = void 0;
|
|
312
|
-
},
|
|
324
|
+
}, I)));
|
|
313
325
|
};
|
|
314
326
|
placementPosition = () => {
|
|
315
327
|
!this._selectionDropdown || !this._selectDropdown || requestAnimationFrame(() => {
|
|
316
328
|
if (!this._selectionDropdown || !this._selectDropdown) return;
|
|
317
|
-
const { top: e, left: t, bottom: o, width: i } = this.getBoundingClientRect(), s = this.getRootNode(),
|
|
329
|
+
const { top: e, left: t, bottom: o, width: i } = this.getBoundingClientRect(), s = this.getRootNode(), n = (s.getElementById ? s.getElementById(this.getPopupContainerId) : null) || document.getElementById(this.getPopupContainerId);
|
|
318
330
|
this._selectionDropdown.style.setProperty("position", "absolute"), this._selectionDropdown.style.setProperty("--ran-x", `${e + window.scrollX}`), this._selectionDropdown.style.setProperty("--ran-y", `${t + window.scrollY}`);
|
|
319
|
-
const
|
|
320
|
-
let d = o + window.scrollY +
|
|
321
|
-
if (this._selectionDropdown.style.setProperty("width", `${i}px`), this.placement === "top" && (d = e + window.scrollY - this._selectionDropdown.clientHeight -
|
|
322
|
-
const p =
|
|
323
|
-
y = t - p.left, this.placement === "top" ? d = e - p.top - this._selectionDropdown.clientHeight -
|
|
331
|
+
const r = 4;
|
|
332
|
+
let d = o + window.scrollY + r, y = t + window.scrollX;
|
|
333
|
+
if (this._selectionDropdown.style.setProperty("width", `${i}px`), this.placement === "top" && (d = e + window.scrollY - this._selectionDropdown.clientHeight - r), this.getPopupContainerId && n) {
|
|
334
|
+
const p = n.getBoundingClientRect();
|
|
335
|
+
y = t - p.left, this.placement === "top" ? d = e - p.top - this._selectionDropdown.clientHeight - r : d = o - p.top + r;
|
|
324
336
|
}
|
|
325
337
|
this._selectionDropdown.style.setProperty("inset", `${d}px auto auto ${y}px`);
|
|
326
338
|
});
|
|
@@ -349,12 +361,16 @@ var V = I(), A = 300, z = class extends _ {
|
|
|
349
361
|
clickOption = (e) => {
|
|
350
362
|
e.stopPropagation();
|
|
351
363
|
const t = e.target.closest("r-dropdown-item");
|
|
364
|
+
if (t && a(t)) {
|
|
365
|
+
this.removeDropDownTimeId(e);
|
|
366
|
+
return;
|
|
367
|
+
}
|
|
352
368
|
this.selectOptionElement(t), this.removeDropDownTimeId(e);
|
|
353
369
|
};
|
|
354
370
|
createOption = () => {
|
|
355
371
|
if (!this._selectDropdown) {
|
|
356
372
|
const e = this.getRootNode(), t = (e.getElementById ? e.getElementById(this.getPopupContainerId) : null) || document.getElementById(this.getPopupContainerId) || document.body;
|
|
357
|
-
this._selectDropdown =
|
|
373
|
+
this._selectDropdown = l().style("-webkit-tap-highlight-color", "transparent").style("outline", "0").on("click", this.clickOption).build(), this._selectionDropdown = v("r-dropdown").id(this._listboxId).attr("role", "listbox").style("position", "absolute").style("display", "none").build(), this.dropdownclass && this._selectionDropdown.setAttribute("class", this.dropdownclass), this.trigger.includes("hover") && !u() && (this._selectDropdown.addEventListener("mouseleave", this.selectBlur), this._selectDropdown.addEventListener("mouseenter", this.removeDropDownTimeId)), this._selectDropdown.appendChild(this._selectionDropdown), t.appendChild(this._selectDropdown);
|
|
358
374
|
}
|
|
359
375
|
};
|
|
360
376
|
removeSelectDropdown = () => {
|
|
@@ -370,18 +386,19 @@ var V = I(), A = 300, z = class extends _ {
|
|
|
370
386
|
addOptionToSlot = () => {
|
|
371
387
|
this._optionList = [], this._optionLabelMapValue.clear(), this._optionValueMapLabel.clear(), this._slot.assignedElements().forEach((e) => {
|
|
372
388
|
if (e.tagName !== "R-OPTION") return;
|
|
373
|
-
const t = e.innerHTML, o = e.getAttribute("value") || "";
|
|
389
|
+
const t = e.innerHTML, o = e.getAttribute("value") || "", i = a(e);
|
|
374
390
|
this._optionList?.push({
|
|
375
391
|
label: t,
|
|
376
|
-
value: o
|
|
392
|
+
value: o,
|
|
393
|
+
disabled: i
|
|
377
394
|
}), this._optionLabelMapValue.get(t) && console.warn(`${t} is repeat option`), this._optionValueMapLabel.get(o) && console.warn(`${o} is repeat option`), this._optionLabelMapValue.set(t, o), this._optionValueMapLabel.set(o, t);
|
|
378
395
|
}), this.createSelectDropdownContent(this._optionList);
|
|
379
396
|
};
|
|
380
397
|
createSelectDropdownContent = (e = []) => {
|
|
381
398
|
e.length === 0 ? this._selectDropdown?.style.setProperty("display", "none") : this._selectDropdown?.style.setProperty("display", "block"), this._selectionDropdown && (this._selectionDropdown.innerHTML = "", this._activeOption = void 0, this._activeIndex = -1), e.forEach((t) => {
|
|
382
399
|
if (this._selectionDropdown) {
|
|
383
|
-
const { label: o, value: i } = t,
|
|
384
|
-
(this.getAttribute("defaultValue") || this.getAttribute("value")) === i ? (
|
|
400
|
+
const { label: o, value: i, disabled: s } = t, n = v("r-dropdown-item").attr("role", "option").attr("value", `${i}`).attr("title", `${o}`).text(`${o}`).build();
|
|
401
|
+
s && (n.setAttribute("disabled", ""), n.setAttribute("aria-disabled", "true")), (this.getAttribute("defaultValue") || this.getAttribute("value")) === i ? (n.setAttribute("active", i), this._activeOption = n) : n.removeAttribute("active"), this._selectionDropdown.appendChild(n);
|
|
385
402
|
}
|
|
386
403
|
}), this._activeIndex = this.getDropdownOptions().findIndex((t) => t === this._activeOption), this.syncActiveState(), this.setDefaultValue();
|
|
387
404
|
};
|
|
@@ -403,7 +420,8 @@ var V = I(), A = 300, z = class extends _ {
|
|
|
403
420
|
const { label: s } = i;
|
|
404
421
|
if (`${s}`.toLowerCase().includes(t)) return {
|
|
405
422
|
label: s,
|
|
406
|
-
value: i.value
|
|
423
|
+
value: i.value,
|
|
424
|
+
disabled: i.disabled
|
|
407
425
|
};
|
|
408
426
|
}).filter((i) => i);
|
|
409
427
|
this.createSelectDropdownContent(o);
|
|
@@ -413,13 +431,16 @@ var V = I(), A = 300, z = class extends _ {
|
|
|
413
431
|
e.stopPropagation(), this.setSelectDropdownDisplayNone();
|
|
414
432
|
};
|
|
415
433
|
connectedCallback() {
|
|
416
|
-
this.handlerExternalCss(), this.createOption(), this.initAria(), this.syncFormValue(), this._events.on(this._slot, "slotchange", this.addOptionToSlot).on(this, "keydown", this.keydownSelect).on(document, "click", this.clickRemoveSelect), this.trigger.includes("hover") && !u() && this._events.on(this, "mouseenter", this.selectMouseDown).on(this, "mouseleave", this.selectBlur), this.trigger.includes("click") && this._events.on(this, "click", this.selectMouseDown).on(this, "blur", this.selectBlur), this.
|
|
434
|
+
this.handlerExternalCss(), this.createOption(), this.initAria(), this.syncFormValue(), this._events.on(this._slot, "slotchange", this.addOptionToSlot).on(this, "keydown", this.keydownSelect).on(document, "click", this.clickRemoveSelect), this.trigger.includes("hover") && !u() && this._events.on(this, "mouseenter", this.selectMouseDown).on(this, "mouseleave", this.selectBlur), this.trigger.includes("click") && this._events.on(this, "click", this.selectMouseDown).on(this, "blur", this.selectBlur), this._applyShowSearch();
|
|
417
435
|
}
|
|
436
|
+
_applyShowSearch = () => {
|
|
437
|
+
this._searchEvents.abort(), this.showSearch && (this.onSearch = z(this.changeSearch), this.onSearch && this._searchEvents.on(this._search, "change", this.onSearch).on(this._search, "click", this.onSearch));
|
|
438
|
+
};
|
|
418
439
|
disconnectedCallback() {
|
|
419
|
-
this._events.abort(), this._detachReposition(), this.removeSelectDropdown();
|
|
440
|
+
this._events.abort(), this._searchEvents.abort(), this._detachReposition(), this.removeSelectDropdown();
|
|
420
441
|
}
|
|
421
442
|
attributeChangedCallback(e, t, o) {
|
|
422
|
-
t !== o && (e === "disabled" && this._select && (!o || o === "false" ? (this._select.removeAttribute("disabled"), this._selection.removeAttribute("disabled"), this.removeAttribute("aria-disabled"), this.hasAttribute("tabindex") || (this.tabIndex = 0)) : (this._select.setAttribute("disabled", ""), this._selection.setAttribute("disabled", ""), this.setAttribute("aria-disabled", "true"), this.tabIndex = -1)), e === "value" && this.syncSelectedFromValue(o), e === "sheet" && this._shadowDom && this.handlerExternalCss());
|
|
443
|
+
t !== o && (e === "disabled" && this._select && (!o || o === "false" ? (this._select.removeAttribute("disabled"), this._selection.removeAttribute("disabled"), this.removeAttribute("aria-disabled"), this.hasAttribute("tabindex") || (this.tabIndex = 0)) : (this._select.setAttribute("disabled", ""), this._selection.setAttribute("disabled", ""), this.setAttribute("aria-disabled", "true"), this.tabIndex = -1)), e === "value" && this.syncSelectedFromValue(o), e === "sheet" && this._shadowDom && this.handlerExternalCss(), e === "defaultvalue" && this.setDefaultValue(), e === "showsearch" && this._search && this._applyShowSearch());
|
|
423
444
|
}
|
|
424
445
|
syncSelectedFromValue = (e) => {
|
|
425
446
|
if (!e || this._activeOption?.getAttribute("value") === e) return;
|
|
@@ -427,7 +448,7 @@ var V = I(), A = 300, z = class extends _ {
|
|
|
427
448
|
t && this.selectOptionElement(t, !1);
|
|
428
449
|
};
|
|
429
450
|
};
|
|
430
|
-
f("r-select",
|
|
451
|
+
f("r-select", V);
|
|
431
452
|
export {
|
|
432
|
-
|
|
453
|
+
V as t
|
|
433
454
|
};
|
package/dist/select.js
CHANGED
|
@@ -5,7 +5,7 @@ var u = '.remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transpar
|
|
|
5
5
|
_div;
|
|
6
6
|
_shadowDom;
|
|
7
7
|
static get observedAttributes() {
|
|
8
|
-
return ["
|
|
8
|
+
return ["sheet"];
|
|
9
9
|
}
|
|
10
10
|
constructor() {
|
|
11
11
|
super(), this._shadowDom = r(this, u), this._div = i(this._shadowDom, ".ran-skeleton", () => l().class("ran-skeleton").build());
|
package/dist/skeleton.js
CHANGED
package/dist/tab.js
CHANGED
package/dist/vite.config.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { BuildOptions, UserConfig } from 'vite';
|
|
2
2
|
export declare const bundle: BuildOptions;
|
|
3
|
+
/** Every web component, keyed by its public entry name. Single source of truth:
|
|
4
|
+
* the per-component ES build below and the per-component IIFE build
|
|
5
|
+
* (bin/build-iife.ts) both derive their entry lists from this map. */
|
|
6
|
+
export declare const componentEntries: Record<string, string>;
|
|
3
7
|
export declare const es: BuildOptions;
|
|
4
8
|
export declare const viteConfig: UserConfig;
|
|
5
9
|
declare const _default: UserConfig;
|
package/docs/COMPONENTS.md
CHANGED
|
@@ -6,7 +6,7 @@ shape), slots, and `::part()` names — extracted from source. For CSS variables
|
|
|
6
6
|
(theming tokens) see [style-tokens-public.md](./style-tokens-public.md); for
|
|
7
7
|
design rules see [DESIGN.md](./DESIGN.md).
|
|
8
8
|
|
|
9
|
-
Generated at: 2026-07-
|
|
9
|
+
Generated at: 2026-07-05T13:14:26.449Z
|
|
10
10
|
|
|
11
11
|
29 custom elements.
|
|
12
12
|
|
|
@@ -50,8 +50,8 @@ Source: `components/checkbox/index.ts`
|
|
|
50
50
|
|
|
51
51
|
Source: `components/colorpicker/index.ts`
|
|
52
52
|
|
|
53
|
-
- **Attributes**: `disabled`, `sheet: string`, `value: string`
|
|
54
|
-
- **Properties**: `sheet: string`, `value: string`
|
|
53
|
+
- **Attributes**: `disabled: boolean`, `sheet: string`, `value: string`
|
|
54
|
+
- **Properties**: `disabled: boolean`, `sheet: string`, `value: string`
|
|
55
55
|
- **Events**: `change`
|
|
56
56
|
- **Slots**: —
|
|
57
57
|
- **Parts**: `block`, `swatch`
|
|
@@ -71,7 +71,7 @@ Source: `components/popover/content/index.ts`
|
|
|
71
71
|
Source: `components/dropdown/index.ts`
|
|
72
72
|
|
|
73
73
|
- **Attributes**: `arrow: string`, `sheet: string`, `transit: string`
|
|
74
|
-
- **Properties**: `arrow: string`, `sheet: string`, `
|
|
74
|
+
- **Properties**: `arrow: string`, `sheet: string`, `transit: string`
|
|
75
75
|
- **Events**: —
|
|
76
76
|
- **Slots**: `default`
|
|
77
77
|
- **Parts**: `dropdown`
|
|
@@ -123,7 +123,7 @@ Source: `components/image/index.ts`
|
|
|
123
123
|
|
|
124
124
|
Source: `components/input/index.ts`
|
|
125
125
|
|
|
126
|
-
- **Attributes**: `
|
|
126
|
+
- **Attributes**: `disabled: boolean`, `icon: string`, `label: string`, `max: string`, `message: string`, `min: string`, `name: string`, `placeholder: string`, `required: boolean`, `sheet: string`, `status: string`, `step: string`, `type: string`, `value: string`
|
|
127
127
|
- **Properties**:
|
|
128
128
|
- `disabled: boolean` — input 上 disabled 属性
|
|
129
129
|
- `icon: string` — 一个 icon
|
|
@@ -133,12 +133,10 @@ Source: `components/input/index.ts`
|
|
|
133
133
|
- `min: string` — 当 input 类型为 number 类型时,可以获取 min 属性
|
|
134
134
|
- `name: string` — 与 form 组件联动时,收集的属性名
|
|
135
135
|
- `placeholder: string` — input 的占位字符
|
|
136
|
-
- `prefix: string` — 前面的 icon
|
|
137
136
|
- `required: boolean` — input 是否为必选
|
|
138
137
|
- `sheet: string`
|
|
139
138
|
- `status: string` — input 框的状态
|
|
140
139
|
- `step: string` — 当 input 类型为 number 类型时,可以获取 step 属性
|
|
141
|
-
- `suffix: string` — 后面的 icon
|
|
142
140
|
- `type: string` — input 的类型
|
|
143
141
|
- `value: string` — input 的值
|
|
144
142
|
- **Events**: `change` → detail `{ value }` · `input` → detail `{ value }`
|
|
@@ -219,8 +217,8 @@ Source: `components/player/index.ts`
|
|
|
219
217
|
|
|
220
218
|
Source: `components/popover/index.ts`
|
|
221
219
|
|
|
222
|
-
- **Attributes**: `
|
|
223
|
-
- **Properties**: `
|
|
220
|
+
- **Attributes**: `placement: string`, `sheet: string`, `trigger: string`
|
|
221
|
+
- **Properties**: `getPopupContainerId: string`, `placement: string`, `sheet: string`, `trigger: string`
|
|
224
222
|
- **Events**: —
|
|
225
223
|
- **Slots**: `default`
|
|
226
224
|
- **Parts**: —
|
|
@@ -289,7 +287,7 @@ Source: `components/section/index.ts`
|
|
|
289
287
|
|
|
290
288
|
Source: `components/select/index.ts`
|
|
291
289
|
|
|
292
|
-
- **Attributes**: `
|
|
290
|
+
- **Attributes**: `defaultvalue`, `disabled: boolean`, `dropdownclass: string`, `getPopupContainerId: string`, `placement: string`, `sheet: string`, `showsearch`, `trigger: string`, `type: string`, `value: string`
|
|
293
291
|
- **Properties**: `defaultValue: string`, `disabled: boolean`, `dropdownclass: string`, `getPopupContainerId: string`, `placement: string`, `sheet: string`, `showSearch: string`, `trigger: string`, `type: string`, `value: string`
|
|
294
292
|
- **Events**: `change` → detail `{ label, value }` · `search` → detail `{ value }`
|
|
295
293
|
- **Slots**: `default`
|
|
@@ -299,7 +297,7 @@ Source: `components/select/index.ts`
|
|
|
299
297
|
|
|
300
298
|
Source: `components/skeleton/index.ts`
|
|
301
299
|
|
|
302
|
-
- **Attributes**: `
|
|
300
|
+
- **Attributes**: `sheet: string`
|
|
303
301
|
- **Properties**: `sheet: string`
|
|
304
302
|
- **Events**: —
|
|
305
303
|
- **Slots**: —
|
|
@@ -319,7 +317,7 @@ Source: `components/tabpane/index.ts`
|
|
|
319
317
|
|
|
320
318
|
Source: `components/tab/index.ts`
|
|
321
319
|
|
|
322
|
-
- **Attributes**: `active: string | null`, `align: string`, `effect: string | null`, `
|
|
320
|
+
- **Attributes**: `active: string | null`, `align: string`, `effect: string | null`, `sheet: string`, `type: string`
|
|
323
321
|
- **Properties**: `active: string | null`, `align: string`, `effect: string | null`, `sheet: string`, `type: string`
|
|
324
322
|
- **Events**: `change` → detail `{ active }`
|
|
325
323
|
- **Slots**: `default`
|
package/docs/DESIGN.md
CHANGED
|
@@ -140,6 +140,22 @@ Durations: `--ran-motion-duration-fast` `0.15s`, `--ran-motion-duration-base` `0
|
|
|
140
140
|
|
|
141
141
|
**Principle:** the bigger the change, the more time it earns. Otherwise: don't animate. Keep motion quick, light, and restrained. Respect `prefers-reduced-motion`.
|
|
142
142
|
|
|
143
|
+
**Never animate a theme switch.** Transitions are for _interaction_ (hover / focus / press), not for flipping light↔dark. A structural surface that declares `transition: all` will, on a theme toggle, fade its `background-color` from the light value to the dark value over the transition duration — a visible white→dark flash while the rest of the page has already flipped. Rules:
|
|
144
|
+
|
|
145
|
+
- Do **not** put `background` / `background-color` in a `transition` on any surface that carries a theme-driven color. List the interaction props explicitly (`border-color`, `box-shadow`, `color`, `opacity`, `transform`) — never `all`.
|
|
146
|
+
- `transition: all` is banned in component styles for this reason; it also silently animates properties you never intended.
|
|
147
|
+
|
|
148
|
+
```less
|
|
149
|
+
/* ✗ flashes on theme switch */
|
|
150
|
+
transition: all var(--ran-motion-duration-base, 0.2s);
|
|
151
|
+
|
|
152
|
+
/* ✓ interaction only — theme flip is instant */
|
|
153
|
+
transition:
|
|
154
|
+
border-color var(--ran-motion-duration-base, 0.2s),
|
|
155
|
+
box-shadow var(--ran-motion-duration-base, 0.2s),
|
|
156
|
+
color var(--ran-motion-duration-base, 0.2s);
|
|
157
|
+
```
|
|
158
|
+
|
|
143
159
|
---
|
|
144
160
|
|
|
145
161
|
## 6. Content — copy is part of the system
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ranui",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
3
|
+
"version": "0.2.0-alpha.2",
|
|
4
4
|
"description": "UI Component library based on `Web Component`",
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
]
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
|
-
"homepage": "https://chaxus.
|
|
28
|
+
"homepage": "https://ran.chaxus.com/src/ranui/",
|
|
29
29
|
"repository": {
|
|
30
30
|
"type": "git",
|
|
31
31
|
"url": "git+https://github.com/chaxus/ran",
|
|
@@ -223,7 +223,6 @@
|
|
|
223
223
|
"@vitest/coverage-v8": "^4.1.9",
|
|
224
224
|
"jsdom": "^29.1.1",
|
|
225
225
|
"less": "^4.6.7",
|
|
226
|
-
"prettier": "^3.8.5",
|
|
227
226
|
"rollup-plugin-visualizer": "^7.0.1",
|
|
228
227
|
"svgo": "^4.0.1",
|
|
229
228
|
"tsx": "^4.22.4",
|
|
@@ -241,6 +240,7 @@
|
|
|
241
240
|
"build:analyze": "sh -c \"RANUI_ANALYZE=true RANUI_MINIFY=esbuild RANUI_CSS_MINIFY=esbuild sh ./bin/build.sh\"",
|
|
242
241
|
"build:es": "vite build -c ./build/config.es.ts",
|
|
243
242
|
"build:bundle": "vite build -c ./build/config.bundle.ts",
|
|
243
|
+
"build:iife": "tsx ./bin/build-iife.ts",
|
|
244
244
|
"prepublish": "npm run build",
|
|
245
245
|
"test": "sh ./bin/test.sh",
|
|
246
246
|
"test:unit": "NODE_OPTIONS=--max-old-space-size=4096 vitest run",
|