@haiyue/ui 0.1.1 → 0.2.1

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.
Files changed (99) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +504 -1
  3. package/dist/adapters/web/controls.d.ts +19 -0
  4. package/dist/adapters/web/controls.js +284 -0
  5. package/dist/adapters/web/dom.d.ts +10 -0
  6. package/dist/adapters/web/dom.js +98 -0
  7. package/dist/adapters/web/index.d.ts +3 -0
  8. package/dist/adapters/web/index.js +3 -0
  9. package/dist/adapters/web/renderer.d.ts +18 -0
  10. package/dist/adapters/web/renderer.js +545 -0
  11. package/dist/adapters/web/styles.d.ts +3 -0
  12. package/dist/adapters/web/styles.js +62 -0
  13. package/dist/adapters/web/types.d.ts +46 -0
  14. package/dist/adapters/web/types.js +2 -0
  15. package/dist/affix.d.ts +35 -0
  16. package/dist/affix.js +137 -0
  17. package/dist/badge.d.ts +45 -0
  18. package/dist/badge.js +168 -0
  19. package/dist/border-beam.js +3 -1
  20. package/dist/breadcrumb.d.ts +37 -0
  21. package/dist/breadcrumb.js +210 -0
  22. package/dist/button-group.d.ts +12 -0
  23. package/dist/button-group.js +72 -0
  24. package/dist/button.d.ts +15 -1
  25. package/dist/button.js +101 -12
  26. package/dist/cascader.d.ts +65 -0
  27. package/dist/cascader.js +479 -0
  28. package/dist/collapse.d.ts +55 -0
  29. package/dist/collapse.js +261 -0
  30. package/dist/core/actions.d.ts +32 -0
  31. package/dist/core/actions.js +145 -0
  32. package/dist/core/data.d.ts +4 -0
  33. package/dist/core/data.js +27 -0
  34. package/dist/core/index.d.ts +7 -0
  35. package/dist/core/index.js +6 -0
  36. package/dist/core/platform-view.d.ts +17 -0
  37. package/dist/core/platform-view.js +84 -0
  38. package/dist/core/selection.d.ts +14 -0
  39. package/dist/core/selection.js +93 -0
  40. package/dist/core/text.d.ts +31 -0
  41. package/dist/core/text.js +154 -0
  42. package/dist/core/types.d.ts +250 -0
  43. package/dist/core/types.js +2 -0
  44. package/dist/core/validation.d.ts +24 -0
  45. package/dist/core/validation.js +238 -0
  46. package/dist/date-picker.d.ts +60 -0
  47. package/dist/date-picker.js +355 -0
  48. package/dist/dialog.d.ts +4 -0
  49. package/dist/dialog.js +23 -5
  50. package/dist/divider.d.ts +33 -0
  51. package/dist/divider.js +113 -0
  52. package/dist/draggable.d.ts +78 -0
  53. package/dist/draggable.js +255 -0
  54. package/dist/expandable.d.ts +32 -0
  55. package/dist/expandable.js +136 -0
  56. package/dist/index.d.ts +47 -1
  57. package/dist/index.js +69 -0
  58. package/dist/input.d.ts +30 -1
  59. package/dist/input.js +166 -54
  60. package/dist/portable/index.d.ts +4 -0
  61. package/dist/portable/index.js +3 -0
  62. package/dist/portable/page.d.ts +38 -0
  63. package/dist/portable/page.js +361 -0
  64. package/dist/portable/theme.d.ts +19 -0
  65. package/dist/portable/theme.js +40 -0
  66. package/dist/portable/tree.d.ts +10 -0
  67. package/dist/portable/tree.js +96 -0
  68. package/dist/range.d.ts +3 -0
  69. package/dist/range.js +16 -5
  70. package/dist/rate.d.ts +46 -0
  71. package/dist/rate.js +193 -0
  72. package/dist/resizable.d.ts +97 -0
  73. package/dist/resizable.js +426 -0
  74. package/dist/skeleton.d.ts +41 -0
  75. package/dist/skeleton.js +141 -0
  76. package/dist/steps.d.ts +45 -0
  77. package/dist/steps.js +203 -0
  78. package/dist/table.d.ts +106 -0
  79. package/dist/table.js +689 -0
  80. package/dist/tabs.d.ts +7 -0
  81. package/dist/tabs.js +90 -16
  82. package/dist/tag.d.ts +55 -0
  83. package/dist/tag.js +225 -0
  84. package/dist/time-picker.d.ts +62 -0
  85. package/dist/time-picker.js +298 -0
  86. package/dist/timeline.d.ts +48 -0
  87. package/dist/timeline.js +201 -0
  88. package/dist/toast.d.ts +55 -0
  89. package/dist/toast.js +224 -0
  90. package/dist/tour.d.ts +89 -0
  91. package/dist/tour.js +306 -0
  92. package/dist/virtual-keyboard.d.ts +95 -0
  93. package/dist/virtual-keyboard.js +432 -0
  94. package/dist/virtual-list.js +12 -10
  95. package/dist/virtual-mouse.d.ts +82 -0
  96. package/dist/virtual-mouse.js +358 -0
  97. package/dist/watermark.d.ts +44 -0
  98. package/dist/watermark.js +148 -0
  99. package/package.json +135 -7
@@ -0,0 +1,136 @@
1
+ /** A non-modal, top-layer expansion of the same slotted content; no cloning or reparenting. */
2
+ export class HYExpandable extends HTMLElement {
3
+ static get observedAttributes() { return ['expanded', 'expanded-width', 'expanded-height', 'button-position', 'expand-label', 'restore-label']; }
4
+ panel;
5
+ placeholder;
6
+ button;
7
+ expandIcon;
8
+ restoreIcon;
9
+ lifetime;
10
+ active = false;
11
+ constructor() {
12
+ super();
13
+ const root = this.attachShadow({ mode: 'open' });
14
+ const style = document.createElement('style');
15
+ style.textContent = `
16
+ :host { display:block; position:relative; min-width:0; min-height:0; }
17
+ .placeholder { display:none; pointer-events:none; }
18
+ .panel { position:relative; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); width:100%; height:100%; min-width:0; min-height:0; box-sizing:border-box; color:inherit; font:inherit; }
19
+ .panel:popover-open { position:fixed; inset:0; margin:auto; width:var(--_width,90vw); height:var(--_height,90dvh); max-width:calc(100vw - 2 * var(--hy-expandable-margin,16px)); max-height:calc(100dvh - 2 * var(--hy-expandable-margin,16px)); padding:var(--hy-expandable-padding,16px); border:1px solid var(--hy-border-color,#536074); border-radius:var(--hy-expandable-radius,10px); background:var(--hy-surface-color,#18202e); box-shadow:var(--hy-expandable-shadow,0 16px 64px #0006); }
20
+ .panel::backdrop { background:transparent; pointer-events:none; }
21
+ button { position:absolute; z-index:2; top:var(--hy-expandable-button-offset,8px); right:var(--hy-expandable-button-offset,8px); display:grid; place-items:center; width:var(--hy-expandable-button-size,32px); height:var(--hy-expandable-button-size,32px); padding:6px; border:1px solid var(--hy-border-color,#536074); border-radius:6px; color:var(--hy-text-color,inherit); background:var(--hy-surface-color,#18202e); cursor:pointer; }
22
+ button:hover { color:var(--hy-accent-color,#7dd3fc); }
23
+ button:focus-visible { outline:2px solid var(--hy-accent-color,#7dd3fc); outline-offset:2px; }
24
+ button[data-position$="left"] { left:var(--hy-expandable-button-offset,8px); right:auto; }
25
+ button[data-position^="bottom"] { bottom:var(--hy-expandable-button-offset,8px); top:auto; }
26
+ svg, ::slotted([slot="expand-icon"]), ::slotted([slot="restore-icon"]) { width:100%; height:100%; pointer-events:none; }
27
+ slot[hidden] { display:none; }
28
+ `;
29
+ this.placeholder = document.createElement('div');
30
+ this.placeholder.className = 'placeholder';
31
+ this.panel = document.createElement('div');
32
+ this.panel.className = 'panel';
33
+ this.panel.id = 'panel';
34
+ this.panel.part.add('panel');
35
+ this.button = document.createElement('button');
36
+ this.button.type = 'button';
37
+ this.button.part.add('toggle');
38
+ this.button.setAttribute('aria-controls', 'panel');
39
+ const icon = (name, path) => {
40
+ const slot = document.createElement('slot');
41
+ slot.name = name;
42
+ slot.setAttribute('aria-hidden', 'true');
43
+ const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
44
+ svg.setAttribute('viewBox', '0 0 24 24');
45
+ svg.setAttribute('fill', 'none');
46
+ svg.setAttribute('stroke', 'currentColor');
47
+ svg.setAttribute('stroke-width', '1.8');
48
+ const shape = document.createElementNS(svg.namespaceURI, 'path');
49
+ shape.setAttribute('d', path);
50
+ svg.append(shape);
51
+ slot.append(svg);
52
+ return slot;
53
+ };
54
+ this.expandIcon = icon('expand-icon', 'M8 3H3v5m13-5h5v5M3 16v5h5m13-5v5h-5M3 3l6 6m12-6-6 6M3 21l6-6m12 6-6-6');
55
+ this.restoreIcon = icon('restore-icon', 'M3 9h6V3m6 0v6h6M9 21v-6H3m18 0h-6v6M3 3l6 6m12-6-6 6M3 21l6-6m12 6-6-6');
56
+ this.button.append(this.expandIcon, this.restoreIcon);
57
+ this.panel.append(document.createElement('slot'), this.button);
58
+ root.append(style, this.placeholder, this.panel);
59
+ this.button.addEventListener('click', () => this.toggle());
60
+ this.render();
61
+ }
62
+ get expanded() { return this.hasAttribute('expanded'); }
63
+ set expanded(value) { this.toggleAttribute('expanded', Boolean(value)); }
64
+ get expandedWidth() { return this.getAttribute('expanded-width') ?? '90vw'; }
65
+ set expandedWidth(value) { this.setAttribute('expanded-width', value); }
66
+ get expandedHeight() { return this.getAttribute('expanded-height') ?? '90dvh'; }
67
+ set expandedHeight(value) { this.setAttribute('expanded-height', value); }
68
+ get buttonPosition() {
69
+ const value = this.getAttribute('button-position');
70
+ return (['top-left', 'bottom-right', 'bottom-left'].includes(value ?? '') ? value : 'top-right');
71
+ }
72
+ set buttonPosition(value) { this.setAttribute('button-position', value); }
73
+ toggle() { this.expanded = !this.expanded; }
74
+ connectedCallback() {
75
+ this.lifetime?.abort();
76
+ this.lifetime = new AbortController();
77
+ this.addEventListener('keydown', event => {
78
+ // Bubbling follows the composed tree across shadow roots. Child menus and
79
+ // expanded containers consume Escape before it reaches their ancestors.
80
+ if (event.key === 'Escape' && !event.defaultPrevented && this.active) {
81
+ event.preventDefault();
82
+ this.expanded = false;
83
+ this.button.focus({ preventScroll: true });
84
+ }
85
+ }, { signal: this.lifetime.signal });
86
+ queueMicrotask(() => { if (this.isConnected)
87
+ this.sync(); });
88
+ }
89
+ disconnectedCallback() {
90
+ this.lifetime?.abort();
91
+ this.lifetime = undefined;
92
+ this.closePanel(); // Attribute remains available if the owner reconnects this element.
93
+ }
94
+ attributeChangedCallback() { this.render(); if (this.isConnected)
95
+ this.sync(); }
96
+ render() {
97
+ for (const [name, value] of [['width', this.expandedWidth], ['height', this.expandedHeight]]) {
98
+ this.panel.style.removeProperty(`--_${name}`);
99
+ if (CSS.supports(name, value))
100
+ this.panel.style.setProperty(`--_${name}`, value);
101
+ }
102
+ this.button.dataset.position = this.buttonPosition;
103
+ this.button.setAttribute('aria-expanded', String(this.expanded));
104
+ const label = this.getAttribute(this.expanded ? 'restore-label' : 'expand-label') ?? (this.expanded ? 'Restore size' : 'Expand');
105
+ this.button.setAttribute('aria-label', label);
106
+ this.button.title = label;
107
+ this.expandIcon.hidden = this.expanded;
108
+ this.restoreIcon.hidden = !this.expanded;
109
+ }
110
+ sync() {
111
+ if (this.expanded === this.active)
112
+ return;
113
+ if (this.expanded) {
114
+ this.placeholder.style.height = `${this.getBoundingClientRect().height}px`;
115
+ this.placeholder.style.display = 'block';
116
+ this.panel.setAttribute('popover', 'manual');
117
+ this.panel.showPopover();
118
+ this.active = true;
119
+ }
120
+ else
121
+ this.closePanel();
122
+ this.dispatchEvent(new CustomEvent('expanded-change', { detail: { expanded: this.active }, bubbles: true, composed: true }));
123
+ }
124
+ closePanel() {
125
+ if (this.panel.matches(':popover-open'))
126
+ this.panel.hidePopover();
127
+ this.panel.removeAttribute('popover');
128
+ this.placeholder.style.display = 'none';
129
+ this.active = false;
130
+ }
131
+ }
132
+ export function defineExpandableComponents() {
133
+ if (!customElements.get('hy-expandable'))
134
+ customElements.define('hy-expandable', HYExpandable);
135
+ }
136
+ //# sourceMappingURL=expandable.js.map
package/dist/index.d.ts CHANGED
@@ -1,4 +1,9 @@
1
+ export { defineExpandableComponents, HYExpandable } from './expandable.js';
2
+ export type { HYExpandableButtonPosition, HYExpandableChangeDetail } from './expandable.js';
1
3
  export { defineButtonComponents, HYButton, } from './button.js';
4
+ export type { HYButtonIconPosition } from './button.js';
5
+ export { defineButtonGroupComponents, HYButtonGroup, } from './button-group.js';
6
+ export type { HYButtonGroupOrientation } from './button-group.js';
2
7
  export { defineBorderBeamComponents, HYBorderBeam, } from './border-beam.js';
3
8
  export { defineTreeComponents, HYTree, HYTreeNode, } from './tree.js';
4
9
  export { defineSplitComponents, HYSplit, } from './split.js';
@@ -10,14 +15,52 @@ export { defineTooltipComponents, HYTooltip, } from './tooltip.js';
10
15
  export { defineCheckboxComponents, HYCheckbox, } from './checkbox.js';
11
16
  export { defineRadioComponents, HYRadio, } from './radio.js';
12
17
  export { defineRangeComponents, HYRange, } from './range.js';
18
+ export { defineResizableComponents, HYResizable, } from './resizable.js';
13
19
  export { defineDialogComponents, HYDialog, } from './dialog.js';
14
20
  export { defineDrawerComponents, HYDrawer, } from './drawer.js';
21
+ export { defineDraggableComponents, HYDraggable, } from './draggable.js';
15
22
  export { defineInputComponents, HYInput, } from './input.js';
16
23
  export { defineNotificationComponents, HYNotification, } from './notification.js';
24
+ export { defineToastComponents, HYToast, } from './toast.js';
17
25
  export { defineHistoryControlsComponents, HYHistoryControls, } from './history-controls.js';
18
26
  export type { HYHistoryEntry, } from './history-controls.js';
19
27
  export { calculateVirtualListRange, defineVirtualListComponents, HYVirtualList, } from './virtual-list.js';
20
28
  export type { HYVirtualListAlign, HYVirtualListItemClickDetail, HYVirtualListItemRenderer, HYVirtualListRange, HYVirtualListRangeChangeDetail, } from './virtual-list.js';
29
+ export { defineVirtualMouseComponents, HYVirtualMouse, } from './virtual-mouse.js';
30
+ export { defineVirtualKeyboardComponents, HYVirtualKeyboard, HY_VIRTUAL_KEYBOARD_NUMERIC_LAYOUT, HY_VIRTUAL_KEYBOARD_QWERTY_LAYOUT, } from './virtual-keyboard.js';
31
+ export { defineTableComponents, HYTable, } from './table.js';
32
+ export { defineBreadcrumbComponents, HYBreadcrumb, } from './breadcrumb.js';
33
+ export { defineCascaderComponents, HYCascader, } from './cascader.js';
34
+ export type { HYCascaderChangeDetail, HYCascaderOpenChangeDetail, HYCascaderOption, HYCascaderValue, } from './cascader.js';
35
+ export { defineDatePickerComponents, HYDatePicker, } from './date-picker.js';
36
+ export type { HYDatePickerChangeDetail, HYDatePickerOpenChangeDetail, } from './date-picker.js';
37
+ export { defineTimePickerComponents, HYTimePicker, } from './time-picker.js';
38
+ export type { HYTimePickerChangeDetail, HYTimePickerOpenChangeDetail, } from './time-picker.js';
39
+ export { defineSkeletonComponents, HYSkeleton, } from './skeleton.js';
40
+ export type { HYSkeletonAvatarShape, HYSkeletonSize, } from './skeleton.js';
41
+ export { defineWatermarkComponents, HYWatermark, } from './watermark.js';
42
+ export { defineTimelineComponents, HYTimeline, } from './timeline.js';
43
+ export { defineRateComponents, HYRate, } from './rate.js';
44
+ export type { HYRateChangeDetail, HYRateHoverChangeDetail, } from './rate.js';
45
+ export { defineDividerComponents, HYDivider, } from './divider.js';
46
+ export type { HYDividerLineStyle, HYDividerOrientation, HYDividerTextPlacement, } from './divider.js';
47
+ export { defineStepsComponents, HYSteps, } from './steps.js';
48
+ export { defineAffixComponents, HYAffix, } from './affix.js';
49
+ export type { HYAffixChangeDetail } from './affix.js';
50
+ export { defineTourComponents, HYTour, } from './tour.js';
51
+ export { defineBadgeComponents, HYBadge, } from './badge.js';
52
+ export type { HYBadgeCount, HYBadgeSize, HYBadgeStatus, } from './badge.js';
53
+ export { defineTagComponents, HYTag, } from './tag.js';
54
+ export type { HYTagCheckedChangeDetail, HYTagCloseDetail, HYTagSize, HYTagVariant, } from './tag.js';
55
+ export { defineCollapseComponents, HYCollapse, } from './collapse.js';
56
+ export type { HYCollapseChangeDetail, HYCollapseContent, HYCollapseIconPosition, HYCollapseItem, HYCollapseKey, HYCollapseTrigger, } from './collapse.js';
57
+ export type { HYTourChangeDetail, HYTourCloseDetail, HYTourCloseReason, HYTourFinishDetail, HYTourOpenChangeDetail, HYTourPlacement, HYTourStep, HYTourTarget, } from './tour.js';
58
+ export type { HYStepItem, HYStepsChangeDetail, HYStepsDirection, HYStepsSize, HYStepStatus, } from './steps.js';
59
+ export type { HYTimelineDotRenderer, HYTimelineItem, HYTimelineItemPosition, HYTimelineItemRenderer, HYTimelineMode, HYTimelineStatus, } from './timeline.js';
60
+ export type { HYBreadcrumbClickDetail, HYBreadcrumbItem, HYBreadcrumbItemRenderer, } from './breadcrumb.js';
61
+ export type { HYTableAlign, HYTableChangeDetail, HYTableChangeReason, HYTableColumn, HYTableFilterOption, HYTableFilterState, HYTableRowClickDetail, HYTableSortDirection, HYTableSortState, } from './table.js';
62
+ export type { HYVirtualMouseButton, HYVirtualMouseButtonDetail, HYVirtualMouseClickOptions, HYVirtualMouseImages, HYVirtualMouseMoveDetail, HYVirtualMouseMoveOptions, HYVirtualMousePosition, HYVirtualMouseState, } from './virtual-mouse.js';
63
+ export type { HYVirtualKeyboardAction, HYVirtualKeyboardInputDetail, HYVirtualKeyboardKey, HYVirtualKeyboardKeyDetail, HYVirtualKeyboardLayout, HYVirtualKeyboardMode, HYVirtualKeyboardSource, HYVirtualKeyboardTapOptions, HYVirtualKeyboardTypeOptions, } from './virtual-keyboard.js';
21
64
  export type { HYSplitDirection, HYSplitRatioChangeDetail, } from './split.js';
22
65
  export type { HYSelectChangeDetail, HYSelectOption, } from './select.js';
23
66
  export type { HYTabChangeDetail, HYTabOption, } from './tabs.js';
@@ -27,9 +70,12 @@ export type { HYTooltipPlacement, } from './tooltip.js';
27
70
  export type { HYCheckboxChangeDetail, } from './checkbox.js';
28
71
  export type { HYRadioChangeDetail, } from './radio.js';
29
72
  export type { HYRangeChangeDetail, HYRangeHandle, HYRangeValue, } from './range.js';
73
+ export type { HYResizableBounds, HYResizableBoundsMode, HYResizableChangeDetail, HYResizableEndDetail, HYResizableHandle, HYResizableRect, HYResizableSource, } from './resizable.js';
30
74
  export type { HYDialogCloseDetail, HYDialogCloseReason, } from './dialog.js';
31
75
  export type { HYDrawerCloseDetail, HYDrawerCloseReason, HYDrawerPlacement, } from './drawer.js';
32
- export type { HYInputChangeDetail, HYInputType, } from './input.js';
76
+ export type { HYDraggableAxis, HYDraggableBounds, HYDraggableBoundsMode, HYDraggableEndDetail, HYDraggableMoveDetail, HYDraggableMoveSource, HYDraggablePosition, HYDraggableStartDetail, } from './draggable.js';
77
+ export type { HYInputChangeDetail, HYInputSearchDetail, HYInputSearchSource, HYInputType, } from './input.js';
33
78
  export type { HYNotificationCloseDetail, HYNotificationCloseReason, HYNotificationMethodOptions, HYNotificationOpenDetail, HYNotificationOptions, HYNotificationPlacement, HYNotificationType, } from './notification.js';
79
+ export type { HYToastCloseDetail, HYToastCloseReason, HYToastMethodOptions, HYToastOpenDetail, HYToastOptions, HYToastPlacement, HYToastType, } from './toast.js';
34
80
  export type { HYTreeDataChangeDetail, HYTreeDropPosition, HYTreeNodeContextMenuDetail, HYTreeNodeData, HYTreeSelectionChangeDetail, } from './tree.js';
35
81
  export declare function defineHaiyueUI(): void;
package/dist/index.js CHANGED
@@ -1,4 +1,7 @@
1
+ import { defineExpandableComponents } from './expandable.js';
2
+ export { defineExpandableComponents, HYExpandable } from './expandable.js';
1
3
  import { defineButtonComponents } from './button.js';
4
+ import { defineButtonGroupComponents } from './button-group.js';
2
5
  import { defineBorderBeamComponents } from './border-beam.js';
3
6
  import { defineTreeComponents } from './tree.js';
4
7
  import { defineSplitComponents } from './split.js';
@@ -10,13 +13,35 @@ import { defineTooltipComponents } from './tooltip.js';
10
13
  import { defineCheckboxComponents } from './checkbox.js';
11
14
  import { defineRadioComponents } from './radio.js';
12
15
  import { defineRangeComponents } from './range.js';
16
+ import { defineResizableComponents } from './resizable.js';
13
17
  import { defineDialogComponents } from './dialog.js';
14
18
  import { defineDrawerComponents } from './drawer.js';
19
+ import { defineDraggableComponents } from './draggable.js';
15
20
  import { defineInputComponents } from './input.js';
16
21
  import { defineNotificationComponents } from './notification.js';
22
+ import { defineToastComponents } from './toast.js';
17
23
  import { defineHistoryControlsComponents } from './history-controls.js';
18
24
  import { defineVirtualListComponents } from './virtual-list.js';
25
+ import { defineVirtualMouseComponents } from './virtual-mouse.js';
26
+ import { defineVirtualKeyboardComponents } from './virtual-keyboard.js';
27
+ import { defineTableComponents } from './table.js';
28
+ import { defineBreadcrumbComponents } from './breadcrumb.js';
29
+ import { defineCascaderComponents } from './cascader.js';
30
+ import { defineDatePickerComponents } from './date-picker.js';
31
+ import { defineTimePickerComponents } from './time-picker.js';
32
+ import { defineSkeletonComponents } from './skeleton.js';
33
+ import { defineWatermarkComponents } from './watermark.js';
34
+ import { defineTimelineComponents } from './timeline.js';
35
+ import { defineRateComponents } from './rate.js';
36
+ import { defineDividerComponents } from './divider.js';
37
+ import { defineStepsComponents } from './steps.js';
38
+ import { defineAffixComponents } from './affix.js';
39
+ import { defineTourComponents } from './tour.js';
40
+ import { defineBadgeComponents } from './badge.js';
41
+ import { defineTagComponents } from './tag.js';
42
+ import { defineCollapseComponents } from './collapse.js';
19
43
  export { defineButtonComponents, HYButton, } from './button.js';
44
+ export { defineButtonGroupComponents, HYButtonGroup, } from './button-group.js';
20
45
  export { defineBorderBeamComponents, HYBorderBeam, } from './border-beam.js';
21
46
  export { defineTreeComponents, HYTree, HYTreeNode, } from './tree.js';
22
47
  export { defineSplitComponents, HYSplit, } from './split.js';
@@ -28,15 +53,38 @@ export { defineTooltipComponents, HYTooltip, } from './tooltip.js';
28
53
  export { defineCheckboxComponents, HYCheckbox, } from './checkbox.js';
29
54
  export { defineRadioComponents, HYRadio, } from './radio.js';
30
55
  export { defineRangeComponents, HYRange, } from './range.js';
56
+ export { defineResizableComponents, HYResizable, } from './resizable.js';
31
57
  export { defineDialogComponents, HYDialog, } from './dialog.js';
32
58
  export { defineDrawerComponents, HYDrawer, } from './drawer.js';
59
+ export { defineDraggableComponents, HYDraggable, } from './draggable.js';
33
60
  export { defineInputComponents, HYInput, } from './input.js';
34
61
  export { defineNotificationComponents, HYNotification, } from './notification.js';
62
+ export { defineToastComponents, HYToast, } from './toast.js';
35
63
  export { defineHistoryControlsComponents, HYHistoryControls, } from './history-controls.js';
36
64
  export { calculateVirtualListRange, defineVirtualListComponents, HYVirtualList, } from './virtual-list.js';
65
+ export { defineVirtualMouseComponents, HYVirtualMouse, } from './virtual-mouse.js';
66
+ export { defineVirtualKeyboardComponents, HYVirtualKeyboard, HY_VIRTUAL_KEYBOARD_NUMERIC_LAYOUT, HY_VIRTUAL_KEYBOARD_QWERTY_LAYOUT, } from './virtual-keyboard.js';
67
+ export { defineTableComponents, HYTable, } from './table.js';
68
+ export { defineBreadcrumbComponents, HYBreadcrumb, } from './breadcrumb.js';
69
+ export { defineCascaderComponents, HYCascader, } from './cascader.js';
70
+ export { defineDatePickerComponents, HYDatePicker, } from './date-picker.js';
71
+ export { defineTimePickerComponents, HYTimePicker, } from './time-picker.js';
72
+ export { defineSkeletonComponents, HYSkeleton, } from './skeleton.js';
73
+ export { defineWatermarkComponents, HYWatermark, } from './watermark.js';
74
+ export { defineTimelineComponents, HYTimeline, } from './timeline.js';
75
+ export { defineRateComponents, HYRate, } from './rate.js';
76
+ export { defineDividerComponents, HYDivider, } from './divider.js';
77
+ export { defineStepsComponents, HYSteps, } from './steps.js';
78
+ export { defineAffixComponents, HYAffix, } from './affix.js';
79
+ export { defineTourComponents, HYTour, } from './tour.js';
80
+ export { defineBadgeComponents, HYBadge, } from './badge.js';
81
+ export { defineTagComponents, HYTag, } from './tag.js';
82
+ export { defineCollapseComponents, HYCollapse, } from './collapse.js';
37
83
  export function defineHaiyueUI() {
84
+ defineExpandableComponents();
38
85
  defineBorderBeamComponents();
39
86
  defineButtonComponents();
87
+ defineButtonGroupComponents();
40
88
  defineTreeComponents();
41
89
  defineSplitComponents();
42
90
  defineSelectComponents();
@@ -47,11 +95,32 @@ export function defineHaiyueUI() {
47
95
  defineCheckboxComponents();
48
96
  defineRadioComponents();
49
97
  defineRangeComponents();
98
+ defineResizableComponents();
50
99
  defineDialogComponents();
51
100
  defineDrawerComponents();
101
+ defineDraggableComponents();
52
102
  defineInputComponents();
53
103
  defineNotificationComponents();
104
+ defineToastComponents();
54
105
  defineHistoryControlsComponents();
55
106
  defineVirtualListComponents();
107
+ defineVirtualMouseComponents();
108
+ defineVirtualKeyboardComponents();
109
+ defineTableComponents();
110
+ defineBreadcrumbComponents();
111
+ defineCascaderComponents();
112
+ defineDatePickerComponents();
113
+ defineTimePickerComponents();
114
+ defineSkeletonComponents();
115
+ defineWatermarkComponents();
116
+ defineTimelineComponents();
117
+ defineRateComponents();
118
+ defineDividerComponents();
119
+ defineStepsComponents();
120
+ defineAffixComponents();
121
+ defineTourComponents();
122
+ defineBadgeComponents();
123
+ defineTagComponents();
124
+ defineCollapseComponents();
56
125
  }
57
126
  //# sourceMappingURL=index.js.map
package/dist/input.d.ts CHANGED
@@ -1,11 +1,25 @@
1
- export type HYInputType = 'text' | 'number' | 'color';
1
+ export type HYInputType = 'text' | 'number' | 'color' | 'search' | 'password';
2
+ export type HYInputSearchSource = 'enter' | 'button' | 'api';
2
3
  export interface HYInputChangeDetail {
3
4
  value: string;
4
5
  valueAsNumber: number | null;
5
6
  valid: boolean;
6
7
  }
8
+ export interface HYInputSearchDetail {
9
+ value: string;
10
+ valid: boolean;
11
+ source: HYInputSearchSource;
12
+ }
7
13
  export declare class HYInput extends HTMLElement {
14
+ private readonly _control;
15
+ private readonly _prefix;
16
+ private readonly _prefixSlot;
17
+ private readonly _prefixText;
8
18
  private readonly _input;
19
+ private readonly _suffix;
20
+ private readonly _suffixSlot;
21
+ private readonly _suffixText;
22
+ private readonly _searchButton;
9
23
  static get observedAttributes(): string[];
10
24
  constructor();
11
25
  connectedCallback(): void;
@@ -16,6 +30,12 @@ export declare class HYInput extends HTMLElement {
16
30
  get value(): string;
17
31
  set value(value: string);
18
32
  get valueAsNumber(): number;
33
+ get prefix(): string;
34
+ set prefix(value: string);
35
+ get suffix(): string;
36
+ set suffix(value: string);
37
+ get searchLabel(): string;
38
+ set searchLabel(value: string);
19
39
  get disabled(): boolean;
20
40
  set disabled(value: boolean);
21
41
  get readOnly(): boolean;
@@ -23,8 +43,17 @@ export declare class HYInput extends HTMLElement {
23
43
  get valid(): boolean;
24
44
  focus(options?: FocusOptions): void;
25
45
  select(): void;
46
+ search(): boolean;
26
47
  private _sync;
48
+ private _syncAffixes;
49
+ private _syncAffix;
50
+ private _syncValidity;
51
+ private _setOptionalAttribute;
52
+ private _onSlotChange;
27
53
  private _onInput;
28
54
  private _onChange;
55
+ private _onKeydown;
56
+ private _onSearchClick;
57
+ private _emitSearch;
29
58
  }
30
59
  export declare function defineInputComponents(): void;