@vialiq/web-components 0.20.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +126 -0
- package/base/controllers/floating-controller.d.ts +2 -2
- package/base/controllers/floating-controller.d.ts.map +1 -1
- package/base/flatpickr-mixin.d.ts +38 -0
- package/base/flatpickr-mixin.d.ts.map +1 -0
- package/base/validity-mixin.d.ts +2 -0
- package/base/validity-mixin.d.ts.map +1 -1
- package/date-picker/i18n.d.ts +19 -0
- package/date-picker/i18n.d.ts.map +1 -0
- package/date-picker/index.d.ts +4 -0
- package/date-picker/index.d.ts.map +1 -0
- package/date-picker/index.js +2 -0
- package/date-picker/iso-week.d.ts +18 -0
- package/date-picker/iso-week.d.ts.map +1 -0
- package/date-picker/locale-registry.d.ts +8 -0
- package/date-picker/locale-registry.d.ts.map +1 -0
- package/date-picker/plugin-registry.d.ts +7 -0
- package/date-picker/plugin-registry.d.ts.map +1 -0
- package/date-picker/plugin-utils.d.ts +10 -0
- package/date-picker/plugin-utils.d.ts.map +1 -0
- package/date-picker/plugins/vi-month-year-plugin.d.ts +17 -0
- package/date-picker/plugins/vi-month-year-plugin.d.ts.map +1 -0
- package/date-picker/plugins/vi-range-plugin.d.ts +12 -0
- package/date-picker/plugins/vi-range-plugin.d.ts.map +1 -0
- package/date-picker/plugins/vi-shadow-dom-plugin.d.ts +18 -0
- package/date-picker/plugins/vi-shadow-dom-plugin.d.ts.map +1 -0
- package/date-picker/types.d.ts +34 -0
- package/date-picker/types.d.ts.map +1 -0
- package/date-picker/vi-date-picker-input.d.ts +34 -0
- package/date-picker/vi-date-picker-input.d.ts.map +1 -0
- package/date-picker/vi-date-picker-input.js +599 -0
- package/date-picker/vi-date-picker.d.ts +95 -0
- package/date-picker/vi-date-picker.d.ts.map +1 -0
- package/date-picker/vi-date-picker.js +2273 -0
- package/index.d.ts +7 -0
- package/index.js +5 -0
- package/input/vi-input.js +1 -1
- package/{keyboard-controller-DqpJtUuK.js → keyboard-controller-D3htDhGR.js} +25 -23
- package/label/index.d.ts +2 -0
- package/label/index.d.ts.map +1 -0
- package/label/index.js +1 -0
- package/label/vi-label.d.ts +53 -0
- package/label/vi-label.d.ts.map +1 -0
- package/label/vi-label.js +552 -0
- package/package.json +32 -4
package/index.d.ts
CHANGED
|
@@ -41,4 +41,11 @@ export type { SwitchSize, LabelPlacement } from './switch/vi-switch.js';
|
|
|
41
41
|
export { ViSelect } from './select/vi-select.js';
|
|
42
42
|
export { ViSelectOption } from './select/vi-select-option.js';
|
|
43
43
|
export { ViSelectGroup } from './select/vi-select-group.js';
|
|
44
|
+
export { ViCombobox } from './combobox/vi-combobox.js';
|
|
45
|
+
export { ViComboboxItem } from './combobox/vi-combobox-item.js';
|
|
46
|
+
export { ViDatePicker, VIALIQ_CHANGE } from './date-picker/vi-date-picker.js';
|
|
47
|
+
export { ViDatePickerInput } from './date-picker/vi-date-picker-input.js';
|
|
48
|
+
export type { DatePickerMode, DatePickerChangeDetail } from './date-picker/types.js';
|
|
49
|
+
export { ViLabel } from './label/vi-label.js';
|
|
50
|
+
export type { LabelSize } from './label/vi-label.js';
|
|
44
51
|
//# sourceMappingURL=index.d.ts.map
|
package/index.js
CHANGED
|
@@ -23,3 +23,8 @@ export { ViSwitch } from './switch/vi-switch.js';
|
|
|
23
23
|
export { ViSelect } from './select/vi-select.js';
|
|
24
24
|
export { ViSelectOption } from './select/vi-select-option.js';
|
|
25
25
|
export { ViSelectGroup } from './select/vi-select-group.js';
|
|
26
|
+
export { ViCombobox } from './combobox/vi-combobox.js';
|
|
27
|
+
export { ViComboboxItem } from './combobox/vi-combobox-item.js';
|
|
28
|
+
export { VIALIQ_CHANGE, ViDatePicker } from './date-picker/vi-date-picker.js';
|
|
29
|
+
export { ViDatePickerInput } from './date-picker/vi-date-picker-input.js';
|
|
30
|
+
export { ViLabel } from './label/vi-label.js';
|
package/input/vi-input.js
CHANGED
|
@@ -5,7 +5,7 @@ import { V as ValidityMixin } from '../validity-mixin-DO0ycRH2.js';
|
|
|
5
5
|
import { V as ViElement } from '../vi-element-C6GfDPs3.js';
|
|
6
6
|
import { i as ifNonEmpty } from '../if-non-empty-DX8UGa-B.js';
|
|
7
7
|
|
|
8
|
-
const inputStyles = "@charset \"UTF-8\";@layer reset,components,utilities;@layer components{.input-field{display:flex;flex-direction:column;gap:var(--vi-input-spacing-field-gap, var(--vi-spacing-xs, 8px));width:100%}.input-control{appearance:none;-webkit-appearance:none;display:block;width:100%;box-sizing:border-box;min-height:var(--vi-input-sizing-min-height, 40px);border:var(--vi-border-width-thin, 1px) solid var(--vi-input-border-color, var(--vi-outline, #e5e7eb));border-radius:var(--vi-input-shape-border-radius, var(--vi-border-radius-lg, 8px));padding:var(--vi-input-spacing-padding-block, var(--vi-spacing-xs, 8px)) var(--vi-input-spacing-padding-inline, var(--vi-spacing-sm, 16px));font-family:var(--vi-font-family-base, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif);font-size:var(--vi-input-typography-font-size, var(--vi-font-size-base, 16px));font-weight:var(--vi-font-weight-normal, 400);line-height:var(--vi-input-typography-line-height, var(--vi-line-height-normal, 1.5));color:var(--vi-input-text-color, var(--vi-text-primary, #111827));background-color:var(--vi-input-background-color, var(--vi-color-background, #ffffff));transition:border-color .15s ease,box-shadow .15s ease}.input-control:hover:not(:focus-visible){border-color:var(--vi-input-border-color-hover, var(--vi-text-secondary, #4b5563))}.input-control:focus-visible,.input-control:focus{outline:var(--vi-border-width-base, 2px) solid var(--vi-input-focus-ring-color, var(--vi-focus, #3676d0));outline-offset:0;box-shadow:0 0 0 3px var(--vi-input-focus-ring-glow, var(--vi-color-blue-200, #cee6ff))}.input-control::placeholder{color:var(--vi-input-placeholder-color, var(--vi-text-secondary, #4b5563))}.input-helper{font-size:var(--vi-input-helper-size, var(--vi-font-size-xs, 12px));line-height:var(--vi-input-helper-leading, var(--vi-line-height-normal, 1.5));color:var(--vi-input-helper-color, var(--vi-text-helper, #9e9e9e))}.input-error{font-size:var(--vi-input-error-size, var(--vi-font-size-xs, 12px));line-height:var(--vi-input-error-leading, var(--vi-line-height-normal, 1.5));color:var(--vi-input-error-color, var(--vi-color-error, #ef4444))}@media(prefers-reduced-motion:reduce){.input-control{transition:none}}}:host{display:block;outline:none}:host([disabled]){
|
|
8
|
+
const inputStyles = "@charset \"UTF-8\";@layer reset,components,utilities;@layer components{.input-field{display:flex;flex-direction:column;gap:var(--vi-input-spacing-field-gap, var(--vi-spacing-xs, 8px));width:100%}.input-control{appearance:none;-webkit-appearance:none;display:block;width:100%;box-sizing:border-box;min-height:var(--vi-input-sizing-min-height, 40px);border:var(--vi-border-width-thin, 1px) solid var(--vi-input-border-color, var(--vi-outline, #e5e7eb));border-radius:var(--vi-input-shape-border-radius, var(--vi-border-radius-lg, 8px));padding:var(--vi-input-spacing-padding-block, var(--vi-spacing-xs, 8px)) var(--vi-input-spacing-padding-inline, var(--vi-spacing-sm, 16px));font-family:var(--vi-font-family-base, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif);font-size:var(--vi-input-typography-font-size, var(--vi-font-size-base, 16px));font-weight:var(--vi-font-weight-normal, 400);line-height:var(--vi-input-typography-line-height, var(--vi-line-height-normal, 1.5));color:var(--vi-input-text-color, var(--vi-text-primary, #111827));background-color:var(--vi-input-background-color, var(--vi-color-background, #ffffff));transition:border-color .15s ease,box-shadow .15s ease}.input-control:hover:not(:focus-visible){border-color:var(--vi-input-border-color-hover, var(--vi-text-secondary, #4b5563))}.input-control:focus-visible,.input-control:focus{outline:var(--vi-border-width-base, 2px) solid var(--vi-input-focus-ring-color, var(--vi-focus, #3676d0));outline-offset:0;box-shadow:0 0 0 3px var(--vi-input-focus-ring-glow, var(--vi-color-blue-200, #cee6ff))}.input-control::placeholder{color:var(--vi-input-placeholder-color, var(--vi-text-secondary, #4b5563))}.input-control:disabled{cursor:not-allowed;background-color:var(--vi-input-bg-disabled, var(--vi-layer-disabled, #f3f4f6));color:var(--vi-input-text-disabled, var(--vi-text-disabled, #9e9e9e));border-color:var(--vi-input-border-disabled, var(--vi-border-02, #eeeeee))}.input-helper{font-size:var(--vi-input-helper-size, var(--vi-font-size-xs, 12px));line-height:var(--vi-input-helper-leading, var(--vi-line-height-normal, 1.5));color:var(--vi-input-helper-color, var(--vi-text-helper, #9e9e9e))}.input-error{font-size:var(--vi-input-error-size, var(--vi-font-size-xs, 12px));line-height:var(--vi-input-error-leading, var(--vi-line-height-normal, 1.5));color:var(--vi-input-error-color, var(--vi-color-error, #ef4444))}@media(prefers-reduced-motion:reduce){.input-control{transition:none}}}:host{display:block;outline:none}:host([disabled]){cursor:not-allowed}:host([status=invalid]){--vi-input-border-color: var(--vi-color-error, #ef4444);--vi-input-border-color-hover: var(--vi-color-error, #ef4444);--vi-input-focus-ring-color: var(--vi-color-error, #ef4444);--vi-input-focus-ring-glow: var(--vi-color-red-100, #ffccce);--vi-input-label-color: var(--vi-color-error, #ef4444)}:host([status=valid]){--vi-input-border-color: var(--vi-color-success, #489167);--vi-input-border-color-hover: var(--vi-color-success, #489167);--vi-input-focus-ring-color: var(--vi-color-success, #489167);--vi-input-focus-ring-glow: var(--vi-color-green-100, #e6f0eb)}.input-validation{font-family:var(--vi-font-family-base, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif);font-size:var(--vi-font-size-xs, 12px);line-height:var(--vi-line-height-normal, 1.5);letter-spacing:var(--vi-letter-spacing-wider, .05em);color:var(--vi-input-helper-color, var(--vi-text-helper, #9e9e9e))}.input-validation--invalid{color:var(--vi-input-error-color, var(--vi-color-error, #ef4444))}.input-validation--valid{color:var(--vi-input-success-color, var(--vi-color-success, #489167))}::slotted([slot=helper]){font-family:var(--vi-font-family-base, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif);font-size:var(--vi-font-size-xs, 12px);line-height:var(--vi-line-height-normal, 1.5);letter-spacing:var(--vi-letter-spacing-wider, .05em);color:var(--vi-input-helper-color, var(--vi-text-helper, #9e9e9e))}:host([size=xs]){--vi-input-spacing-padding-block: 2px;--vi-input-spacing-padding-inline: 8px;--vi-input-typography-font-size: var(--vi-font-size-xs, 12px)}:host([size=sm]){--vi-input-spacing-padding-block: 4px;--vi-input-spacing-padding-inline: 12px;--vi-input-typography-font-size: var(--vi-font-size-sm, 14px)}:host([size=lg]){--vi-input-spacing-padding-block: 12px;--vi-input-spacing-padding-inline: 20px;--vi-input-typography-font-size: var(--vi-font-size-lg, 18px)}";
|
|
9
9
|
|
|
10
10
|
function applyDecs2203RFactory() {
|
|
11
11
|
function createAddInitializerMethod(initializers, decoratorFinishedRef) {
|
|
@@ -3,12 +3,12 @@ import { O as OverlayManager } from './overlay-manager-Ch_6fr_D.js';
|
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* FloatingController
|
|
6
|
-
*
|
|
6
|
+
*
|
|
7
7
|
* A Lit Reactive Controller that manages `@floating-ui/dom` positioning logic.
|
|
8
|
-
* It abstracts away the complex math and event listeners (autoUpdate) required to
|
|
8
|
+
* It abstracts away the complex math and event listeners (autoUpdate) required to
|
|
9
9
|
* keep a popup/dropdown anchored to a reference element during scrolling/resizing.
|
|
10
|
-
*
|
|
11
|
-
* It also automatically registers the floating element with the `OverlayManager`
|
|
10
|
+
*
|
|
11
|
+
* It also automatically registers the floating element with the `OverlayManager`
|
|
12
12
|
* to ensure correct z-index stacking when `hoist` is true.
|
|
13
13
|
*/ class FloatingController {
|
|
14
14
|
host;
|
|
@@ -26,7 +26,7 @@ import { O as OverlayManager } from './overlay-manager-Ch_6fr_D.js';
|
|
|
26
26
|
/**
|
|
27
27
|
* Starts the floating UI `autoUpdate` listener cycle.
|
|
28
28
|
* This should be called when the popover physically opens (e.g., in `updated()`).
|
|
29
|
-
*
|
|
29
|
+
*
|
|
30
30
|
* If `hoist` is true, it also acquires a high z-index from the `OverlayManager`.
|
|
31
31
|
*/ start() {
|
|
32
32
|
const ref = this.options.reference();
|
|
@@ -48,7 +48,7 @@ import { O as OverlayManager } from './overlay-manager-Ch_6fr_D.js';
|
|
|
48
48
|
/**
|
|
49
49
|
* Stops the floating UI `autoUpdate` listener cycle.
|
|
50
50
|
* This should be called when the popover closes, or when the host component disconnects.
|
|
51
|
-
*
|
|
51
|
+
*
|
|
52
52
|
* It also releases its z-index back to the `OverlayManager`.
|
|
53
53
|
*/ stop() {
|
|
54
54
|
if (this._cleanup) {
|
|
@@ -65,9 +65,9 @@ import { O as OverlayManager } from './overlay-manager-Ch_6fr_D.js';
|
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
67
|
* Imperatively calculates and applies the new coordinates (`x`, `y`) using Floating UI.
|
|
68
|
-
*
|
|
69
|
-
* This method applies various CSS property resets (`margin`, `bottom`, `right`, `minWidth`)
|
|
70
|
-
* to ensure that the base CSS of the floating element does not distort the absolute coordinates
|
|
68
|
+
*
|
|
69
|
+
* This method applies various CSS property resets (`margin`, `bottom`, `right`, `minWidth`)
|
|
70
|
+
* to ensure that the base CSS of the floating element does not distort the absolute coordinates
|
|
71
71
|
* provided by Floating UI.
|
|
72
72
|
*/ async updatePosition() {
|
|
73
73
|
const ref = this.options.reference();
|
|
@@ -96,21 +96,23 @@ import { O as OverlayManager } from './overlay-manager-Ch_6fr_D.js';
|
|
|
96
96
|
})
|
|
97
97
|
];
|
|
98
98
|
const matchWidthVal = typeof this.options.matchWidth === 'function' ? this.options.matchWidth() : this.options.matchWidth;
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
99
|
+
if (matchWidthVal !== 'none') {
|
|
100
|
+
middlewares.push(size({
|
|
101
|
+
apply: ({ rects })=>{
|
|
102
|
+
if (matchWidthVal !== false) {
|
|
103
|
+
Object.assign(floating.style, {
|
|
104
|
+
width: `${rects.reference.width}px`,
|
|
105
|
+
minWidth: 'auto'
|
|
106
|
+
});
|
|
107
|
+
} else {
|
|
108
|
+
Object.assign(floating.style, {
|
|
109
|
+
width: 'auto',
|
|
110
|
+
minWidth: `${rects.reference.width}px`
|
|
111
|
+
});
|
|
112
|
+
}
|
|
111
113
|
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
+
}));
|
|
115
|
+
}
|
|
114
116
|
const { x, y, placement } = await computePosition(ref, floating, {
|
|
115
117
|
placement: placementStr,
|
|
116
118
|
strategy: hoist ? 'fixed' : 'absolute',
|
package/label/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../libs/web-components/src/label/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
package/label/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ViLabel } from './vi-label.js';
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { TemplateResult } from 'lit';
|
|
2
|
+
import { ViElement } from '../base/vi-element.js';
|
|
3
|
+
export type LabelSize = 'sm' | 'md' | 'lg';
|
|
4
|
+
export type LabelLayout = 'stacked' | 'inline';
|
|
5
|
+
export type LabelType = 'default' | 'primary' | 'secondary';
|
|
6
|
+
/**
|
|
7
|
+
* `vi-label`
|
|
8
|
+
*
|
|
9
|
+
* A styled `<label>` element for associating visible text with form controls.
|
|
10
|
+
*
|
|
11
|
+
* @element vi-label
|
|
12
|
+
*
|
|
13
|
+
* @attr {string} for - ID of the associated control
|
|
14
|
+
* @attr {boolean} required - Show required `*` indicator
|
|
15
|
+
* @attr {boolean} optional - Show "(optional)" text
|
|
16
|
+
* @attr {boolean} disabled - Muted disabled styling
|
|
17
|
+
* @attr {string} size - Font size variant ('sm', 'md', 'lg')
|
|
18
|
+
*
|
|
19
|
+
* @slot - Default slot for label text
|
|
20
|
+
* @slot tooltip - Inline help icon that triggers a tooltip
|
|
21
|
+
*
|
|
22
|
+
* @csspart label - The `<label>` element
|
|
23
|
+
* @csspart required-indicator - The `*` asterisk `<span>`
|
|
24
|
+
* @csspart optional-indicator - The "(optional)" `<span>`
|
|
25
|
+
* @csspart tooltip-trigger - Tooltip icon wrapper
|
|
26
|
+
*/
|
|
27
|
+
export declare class ViLabel extends ViElement {
|
|
28
|
+
static styles: import('lit').CSSResult;
|
|
29
|
+
/** ID of the associated control */
|
|
30
|
+
accessor for: string;
|
|
31
|
+
/** Show required `*` indicator */
|
|
32
|
+
accessor required: boolean;
|
|
33
|
+
/** Show "(optional)" text */
|
|
34
|
+
accessor optional: boolean;
|
|
35
|
+
/** Muted disabled styling */
|
|
36
|
+
accessor disabled: boolean;
|
|
37
|
+
/** Font size variant */
|
|
38
|
+
accessor size: LabelSize;
|
|
39
|
+
/** Layout spacing behavior */
|
|
40
|
+
accessor layout: LabelLayout;
|
|
41
|
+
/** Semantic text color */
|
|
42
|
+
accessor type: LabelType;
|
|
43
|
+
private _hasTooltip;
|
|
44
|
+
private _handleSlotChange;
|
|
45
|
+
private _handleClick;
|
|
46
|
+
render(): TemplateResult;
|
|
47
|
+
}
|
|
48
|
+
declare global {
|
|
49
|
+
interface HTMLElementTagNameMap {
|
|
50
|
+
'vi-label': ViLabel;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=vi-label.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vi-label.d.ts","sourceRoot":"","sources":["../../../../libs/web-components/src/label/vi-label.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGzE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC/C,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBACa,OAAQ,SAAQ,SAAS;IACpC,OAAgB,MAAM,0BAEpB;IAEF,mCAAmC;IACP,QAAQ,CAAC,GAAG,SAAM;IAE9C,kCAAkC;IACL,QAAQ,CAAC,QAAQ,UAAS;IAEvD,6BAA6B;IACA,QAAQ,CAAC,QAAQ,UAAS;IAEvD,6BAA6B;IACe,QAAQ,CAAC,QAAQ,UAAS;IAEtE,wBAAwB;IACI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAQ;IAE5D,8BAA8B;IACa,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAa;IAEpF,0BAA0B;IACiB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAa;IAEhF,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,YAAY;IAeX,MAAM,IAAI,cAAc;CA6BlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}
|