@vmz/ui 0.1.15 → 0.1.17

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 (58) hide show
  1. package/contracts/token-requirements.v0.json +39 -0
  2. package/package.json +1 -1
  3. package/src/components/Accordion.vmz +13 -13
  4. package/src/components/Alert.vmz +4 -4
  5. package/src/components/AppShell.vmz +4 -4
  6. package/src/components/Autocomplete.vmz +22 -23
  7. package/src/components/Avatar.vmz +1 -1
  8. package/src/components/Badge.vmz +1 -1
  9. package/src/components/Breadcrumb.vmz +4 -4
  10. package/src/components/BulkActions.vmz +3 -3
  11. package/src/components/Button.vmz +9 -9
  12. package/src/components/Callout.vmz +4 -4
  13. package/src/components/Card.vmz +4 -4
  14. package/src/components/Checkbox.vmz +7 -7
  15. package/src/components/CodeBlock.vmz +3 -3
  16. package/src/components/Collapse.vmz +7 -3
  17. package/src/components/ConsoleShell.vmz +7 -7
  18. package/src/components/DataTable.vmz +23 -24
  19. package/src/components/DatePicker.vmz +33 -36
  20. package/src/components/Dialog.vmz +8 -8
  21. package/src/components/Divider.vmz +2 -2
  22. package/src/components/Drawer.vmz +8 -8
  23. package/src/components/Dropdown.vmz +8 -3
  24. package/src/components/Empty.vmz +2 -2
  25. package/src/components/Field.vmz +14 -14
  26. package/src/components/FilterBar.vmz +1 -1
  27. package/src/components/Flex.vmz +1 -1
  28. package/src/components/Form.vmz +7 -7
  29. package/src/components/FormItem.vmz +7 -7
  30. package/src/components/Grid.vmz +1 -1
  31. package/src/components/Icon.vmz +17 -17
  32. package/src/components/Link.vmz +3 -3
  33. package/src/components/List.vmz +12 -13
  34. package/src/components/Menu.vmz +14 -15
  35. package/src/components/Notification.vmz +4 -4
  36. package/src/components/Pagination.vmz +6 -6
  37. package/src/components/Popover.vmz +8 -8
  38. package/src/components/Progress.vmz +3 -3
  39. package/src/components/QueryForm.vmz +2 -2
  40. package/src/components/RadioGroup.vmz +17 -18
  41. package/src/components/Result.vmz +3 -3
  42. package/src/components/Segmented.vmz +7 -7
  43. package/src/components/Select.vmz +36 -36
  44. package/src/components/Skeleton.vmz +6 -6
  45. package/src/components/Space.vmz +1 -1
  46. package/src/components/Spinner.vmz +1 -1
  47. package/src/components/Steps.vmz +9 -10
  48. package/src/components/Switch.vmz +8 -8
  49. package/src/components/Table.vmz +13 -13
  50. package/src/components/Tabs.vmz +14 -15
  51. package/src/components/Tag.vmz +8 -1
  52. package/src/components/TextArea.vmz +12 -12
  53. package/src/components/Timeline.vmz +5 -5
  54. package/src/components/Toc.vmz +7 -8
  55. package/src/components/Tooltip.vmz +4 -4
  56. package/src/components/Tree.vmz +20 -21
  57. package/src/components/Typography.vmz +1 -1
  58. package/src/components/Upload.vmz +44 -45
@@ -2,40 +2,40 @@
2
2
  <div
3
3
  class="vmz-ui-dialog-root"
4
4
  data-vmz-ui="dialog"
5
- data-vmz-overlay-open={open}
5
+ :data-vmz-overlay-open="open"
6
6
  >
7
7
  <div
8
- if={open}
8
+ v-if="open"
9
9
  class="vmz-ui-dialog"
10
10
  data-vmz-overlay="dialog"
11
11
  data-vmz-overlay-owner="dialog"
12
- data-vmz-overlay-stack={stackLevel}
12
+ :data-vmz-overlay-stack="stackLevel"
13
13
  >
14
14
  <button
15
15
  type="button"
16
16
  class="vmz-ui-dialog__backdrop"
17
17
  data-vmz-overlay-layer="backdrop"
18
18
  aria-label="Dismiss dialog"
19
- onClick={dismiss}
19
+ @click="dismiss"
20
20
  ></button>
21
21
  <div
22
22
  class="vmz-ui-dialog__panel"
23
23
  role="dialog"
24
24
  aria-modal="true"
25
- aria-labelledby={titleId}
25
+ :aria-labelledby="titleId"
26
26
  tabindex="-1"
27
27
  data-vmz-overlay-layer="panel"
28
28
  data-vmz-focus="enter"
29
29
  data-vmz-motion="overlay-enter"
30
30
  data-vmz-motion-token="motion.overlay"
31
- onKeyDown={onPanelKeyDown}
31
+ :onKeyDown="onPanelKeyDown"
32
32
  >
33
- <h2 id={titleId} class="vmz-ui-dialog__title">{title}</h2>
33
+ <h2 :id="titleId" class="vmz-ui-dialog__title">{{ title }}</h2>
34
34
  <div class="vmz-ui-dialog__body">
35
35
  <slot />
36
36
  </div>
37
37
  <div class="vmz-ui-dialog__actions">
38
- <button type="button" class="vmz-ui-dialog__close" data-vmz-focus="close" onClick={dismiss}>
38
+ <button type="button" class="vmz-ui-dialog__close" data-vmz-focus="close" @click="dismiss">
39
39
  Close
40
40
  </button>
41
41
  </div>
@@ -1,6 +1,6 @@
1
1
  <template>
2
- <div class="vmz-ui-divider" data-vmz-ui="divider" data-direction={direction} role="separator">
3
- <span if={label}>{label}</span>
2
+ <div class="vmz-ui-divider" data-vmz-ui="divider" :data-direction="direction" role="separator">
3
+ <span v-if="label">{{ label }}</span>
4
4
  </div>
5
5
  </template>
6
6
  <style>
@@ -2,40 +2,40 @@
2
2
  <div
3
3
  class="vmz-ui-drawer-root"
4
4
  data-vmz-ui="drawer"
5
- data-vmz-overlay-open={open}
5
+ :data-vmz-overlay-open="open"
6
6
  >
7
7
  <div
8
- if={open}
8
+ v-if="open"
9
9
  class="vmz-ui-drawer"
10
10
  data-vmz-overlay="drawer"
11
11
  data-vmz-overlay-owner="drawer"
12
- data-vmz-overlay-stack={stackLevel}
12
+ :data-vmz-overlay-stack="stackLevel"
13
13
  >
14
14
  <button
15
15
  type="button"
16
16
  class="vmz-ui-drawer__backdrop"
17
17
  data-vmz-overlay-layer="backdrop"
18
18
  aria-label="Dismiss drawer"
19
- onClick={dismiss}
19
+ @click="dismiss"
20
20
  ></button>
21
21
  <div
22
22
  class="vmz-ui-drawer__panel"
23
23
  role="dialog"
24
24
  aria-modal="true"
25
- aria-labelledby={titleId}
25
+ :aria-labelledby="titleId"
26
26
  tabindex="-1"
27
27
  data-vmz-overlay-layer="panel"
28
28
  data-vmz-focus="enter"
29
29
  data-vmz-motion="overlay-enter"
30
30
  data-vmz-motion-token="motion.overlay"
31
- onKeyDown={onPanelKeyDown}
31
+ :onKeyDown="onPanelKeyDown"
32
32
  >
33
- <h2 id={titleId} class="vmz-ui-drawer__title">{title}</h2>
33
+ <h2 :id="titleId" class="vmz-ui-drawer__title">{{ title }}</h2>
34
34
  <div class="vmz-ui-drawer__body">
35
35
  <slot />
36
36
  </div>
37
37
  <div class="vmz-ui-drawer__actions">
38
- <button type="button" class="vmz-ui-drawer__close" data-vmz-focus="close" onClick={dismiss}>
38
+ <button type="button" class="vmz-ui-drawer__close" data-vmz-focus="close" @click="dismiss">
39
39
  Close
40
40
  </button>
41
41
  </div>
@@ -1,8 +1,13 @@
1
1
  <template>
2
2
  <details class="vmz-ui-dropdown" data-vmz-ui="dropdown">
3
- <summary>{label}</summary>
4
- <div class="vmz-ui-dropdown__menu">
5
- <a each={items} as="item" key={item.id} href={item.href}>{item.title}</a>
3
+ <summary data-vmz-dropdown-trigger="1">{{ label }}</summary>
4
+ <div class="vmz-ui-dropdown__menu" data-vmz-dropdown-menu="1">
5
+ <a
6
+ v-for="item in items"
7
+ :key="item.id"
8
+ :href="item.href"
9
+ :data-vmz-dropdown-item="item.id"
10
+ >{{ item.title }}</a>
6
11
  </div>
7
12
  </details>
8
13
  </template>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class="vmz-ui-empty" data-vmz-ui="empty">
3
- <h2 class="vmz-ui-empty__title">{title}</h2>
4
- <p if={description} class="vmz-ui-empty__description">{description}</p>
3
+ <h2 class="vmz-ui-empty__title">{{ title }}</h2>
4
+ <p v-if="description" class="vmz-ui-empty__description">{{ description }}</p>
5
5
  <div class="vmz-ui-empty__actions">
6
6
  <slot />
7
7
  </div>
@@ -1,21 +1,21 @@
1
1
  <template>
2
- <div class="vmz-ui-field" data-vmz-ui="field" data-invalid={invalidAttr}>
3
- <label if={label} class="vmz-ui-field__label" for={controlId}>{label}</label>
2
+ <div class="vmz-ui-field" data-vmz-ui="field" :data-invalid="invalidAttr">
3
+ <label v-if="label" class="vmz-ui-field__label" :for="controlId">{{ label }}</label>
4
4
  <input
5
- id={controlId}
5
+ :id="controlId"
6
6
  class="vmz-ui-field__control"
7
- type={type}
8
- value={value}
9
- min={min}
10
- max={max}
11
- step={step}
12
- disabled={disabled}
13
- aria-invalid={error ? 'true' : 'false'}
14
- aria-describedby={describedBy}
15
- onInput={onInput}
7
+ :type="type"
8
+ :value="value"
9
+ :min="min"
10
+ :max="max"
11
+ :step="step"
12
+ :disabled="disabled"
13
+ :aria-invalid="error ? 'true' : 'false'"
14
+ :aria-describedby="describedBy"
15
+ @input="onInput"
16
16
  />
17
- <p if={description} id={descriptionId} class="vmz-ui-field__description">{description}</p>
18
- <p if={error} id={errorId} class="vmz-ui-field__error" role="alert">{error}</p>
17
+ <p v-if="description" :id="descriptionId" class="vmz-ui-field__description">{{ description }}</p>
18
+ <p v-if="error" :id="errorId" class="vmz-ui-field__error" role="alert">{{ error }}</p>
19
19
  </div>
20
20
  </template>
21
21
 
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <section class="vmz-ui-filter-bar" data-vmz-ui="filter-bar" aria-label={label}>
2
+ <section class="vmz-ui-filter-bar" data-vmz-ui="filter-bar" :aria-label="label">
3
3
  <slot />
4
4
  </section>
5
5
  </template>
@@ -1,4 +1,4 @@
1
- <template><div class="vmz-ui-flex" data-vmz-ui="flex" data-vertical={vertical?'true':'false'} data-wrap={wrap?'true':'false'}><slot /></div></template>
1
+ <template><div class="vmz-ui-flex" data-vmz-ui="flex" :data-vertical="vertical?'true':'false'" :data-wrap="wrap?'true':'false'"><slot /></div></template>
2
2
  <style>
3
3
  .vmz-ui-flex{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;min-width:0}
4
4
  .vmz-ui-flex[data-vertical='true']{flex-direction:column;align-items:stretch}
@@ -2,15 +2,15 @@
2
2
  <form
3
3
  class="vmz-ui-form"
4
4
  data-vmz-ui="form"
5
- data-disabled={disabledAttr}
5
+ :data-disabled="disabledAttr"
6
6
  data-novalidate="true"
7
- aria-label={label}
8
- aria-describedby={describedBy}
9
- onSubmit={onSubmitGuard}
10
- onReset={onResetGuard}
7
+ :aria-label="label"
8
+ :aria-describedby="describedBy"
9
+ @submit="onSubmitGuard"
10
+ :onReset="onResetGuard"
11
11
  >
12
- <div if={errorSummary} id={summaryId} class="vmz-ui-form__summary" role="alert" data-vmz-form="summary">
13
- {errorSummary}
12
+ <div v-if="errorSummary" :id="summaryId" class="vmz-ui-form__summary" role="alert" data-vmz-form="summary">
13
+ {{ errorSummary }}
14
14
  </div>
15
15
  <slot />
16
16
  </form>
@@ -2,18 +2,18 @@
2
2
  <div
3
3
  class="vmz-ui-form-item"
4
4
  data-vmz-ui="form-item"
5
- data-required={requiredAttr}
6
- data-invalid={invalidAttr}
5
+ :data-required="requiredAttr"
6
+ :data-invalid="invalidAttr"
7
7
  >
8
- <label if={label} class="vmz-ui-form-item__label" for={controlId}>
9
- <span>{label}</span>
10
- <span if={required} class="vmz-ui-form-item__required" aria-hidden="true">*</span>
8
+ <label v-if="label" class="vmz-ui-form-item__label" :for="controlId">
9
+ <span>{{ label }}</span>
10
+ <span v-if="required" class="vmz-ui-form-item__required" aria-hidden="true">*</span>
11
11
  </label>
12
12
  <div class="vmz-ui-form-item__control">
13
13
  <slot />
14
14
  </div>
15
- <p if={description} id={descriptionId} class="vmz-ui-form-item__description">{description}</p>
16
- <p if={error} id={errorId} class="vmz-ui-form-item__error" role="alert">{error}</p>
15
+ <p v-if="description" :id="descriptionId" class="vmz-ui-form-item__description">{{ description }}</p>
16
+ <p v-if="error" :id="errorId" class="vmz-ui-form-item__error" role="alert">{{ error }}</p>
17
17
  </div>
18
18
  </template>
19
19
 
@@ -1,4 +1,4 @@
1
- <template><div class="vmz-ui-grid" data-vmz-ui="grid" style={'--ui-grid-columns:' + columns + ';--ui-grid-gap:' + gap}><slot /></div></template>
1
+ <template><div class="vmz-ui-grid" data-vmz-ui="grid" :style="'--ui-grid-columns:' + columns + ';--ui-grid-gap:' + gap"><slot /></div></template>
2
2
  <style>
3
3
  .vmz-ui-grid{display:grid;grid-template-columns:repeat(var(--ui-grid-columns,3),minmax(0,1fr));gap:var(--ui-grid-gap,1rem)}
4
4
  @media(max-width:900px){.vmz-ui-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@@ -2,25 +2,25 @@
2
2
  <span
3
3
  class="vmz-ui-icon"
4
4
  data-vmz-ui="icon"
5
- data-name={name}
6
- data-size={size}
7
- role={decorative ? 'presentation' : 'img'}
8
- aria-hidden={decorative ? 'true' : 'false'}
9
- aria-label={decorative ? '' : label}
5
+ :data-name="name"
6
+ :data-size="size"
7
+ :role="decorative ? 'presentation' : 'img'"
8
+ :aria-hidden="decorative ? 'true' : 'false'"
9
+ :aria-label="decorative ? '' : label"
10
10
  >
11
11
  <svg class="vmz-ui-icon__svg" viewBox="0 0 24 24" focusable="false" aria-hidden="true">
12
- <path if={isCheck} fill="currentColor" d="M9.2 16.6 4.8 12.2l1.4-1.4 3 3 8-8 1.4 1.4z" />
13
- <path if={isClose} fill="currentColor" d="M6.4 7.8 7.8 6.4 12 10.6 16.2 6.4 17.6 7.8 13.4 12 17.6 16.2 16.2 17.6 12 13.4 7.8 17.6 6.4 16.2 10.6 12z" />
14
- <path if={isSearch} fill="currentColor" d="M10.5 3a7.5 7.5 0 0 1 5.9 12.1l4 4-1.4 1.4-4-4A7.5 7.5 0 1 1 10.5 3zm0 2a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11z" />
15
- <path if={isChevronDown} fill="currentColor" d="M7.4 9.1 12 13.7l4.6-4.6 1.4 1.4L12 16.5 6 10.5z" />
16
- <path if={isChevronRight} fill="currentColor" d="M9.1 6 15.1 12l-6 6-1.4-1.4L12.3 12 7.7 7.4z" />
17
- <path if={isInfo} fill="currentColor" d="M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20zm0 8.2a1 1 0 0 0-1 1V17a1 1 0 1 0 2 0v-5.8a1 1 0 0 0-1-1zm0-3.7a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4z" />
18
- <path if={isWarning} fill="currentColor" d="M12 3.2 21 19H3L12 3.2zm0 5.3a1 1 0 0 0-1 1v4.2a1 1 0 1 0 2 0V9.5a1 1 0 0 0-1-1zm0 8.1a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4z" />
19
- <path if={isSuccess} fill="currentColor" d="M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20zm-2.5 10.3-2-2 1.4-1.4 2 2 5-5 1.4 1.4z" />
20
- <path if={isDanger} fill="currentColor" d="M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20zm-1 5h2v6h-2zm0 8h2v2h-2z" />
21
- <path if={isMenu} fill="currentColor" d="M4 7h16v2H4zm0 4h16v2H4zm0 4h16v2H4z" />
22
- <path if={isPlus} fill="currentColor" d="M11 5h2v6h6v2h-6v6h-2v-6H5v-2h6z" />
23
- <path if={isFallback} fill="currentColor" d="M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20zm1 5h-2v2h2zm0 4h-2v7h2z" />
12
+ <path v-if="isCheck" fill="currentColor" d="M9.2 16.6 4.8 12.2l1.4-1.4 3 3 8-8 1.4 1.4z" />
13
+ <path v-if="isClose" fill="currentColor" d="M6.4 7.8 7.8 6.4 12 10.6 16.2 6.4 17.6 7.8 13.4 12 17.6 16.2 16.2 17.6 12 13.4 7.8 17.6 6.4 16.2 10.6 12z" />
14
+ <path v-if="isSearch" fill="currentColor" d="M10.5 3a7.5 7.5 0 0 1 5.9 12.1l4 4-1.4 1.4-4-4A7.5 7.5 0 1 1 10.5 3zm0 2a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11z" />
15
+ <path v-if="isChevronDown" fill="currentColor" d="M7.4 9.1 12 13.7l4.6-4.6 1.4 1.4L12 16.5 6 10.5z" />
16
+ <path v-if="isChevronRight" fill="currentColor" d="M9.1 6 15.1 12l-6 6-1.4-1.4L12.3 12 7.7 7.4z" />
17
+ <path v-if="isInfo" fill="currentColor" d="M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20zm0 8.2a1 1 0 0 0-1 1V17a1 1 0 1 0 2 0v-5.8a1 1 0 0 0-1-1zm0-3.7a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4z" />
18
+ <path v-if="isWarning" fill="currentColor" d="M12 3.2 21 19H3L12 3.2zm0 5.3a1 1 0 0 0-1 1v4.2a1 1 0 1 0 2 0V9.5a1 1 0 0 0-1-1zm0 8.1a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4z" />
19
+ <path v-if="isSuccess" fill="currentColor" d="M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20zm-2.5 10.3-2-2 1.4-1.4 2 2 5-5 1.4 1.4z" />
20
+ <path v-if="isDanger" fill="currentColor" d="M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20zm-1 5h2v6h-2zm0 8h2v2h-2z" />
21
+ <path v-if="isMenu" fill="currentColor" d="M4 7h16v2H4zm0 4h16v2H4zm0 4h16v2H4z" />
22
+ <path v-if="isPlus" fill="currentColor" d="M11 5h2v6h6v2h-6v6h-2v-6H5v-2h6z" />
23
+ <path v-if="isFallback" fill="currentColor" d="M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20zm1 5h-2v2h2zm0 4h-2v7h2z" />
24
24
  </svg>
25
25
  </span>
26
26
  </template>
@@ -2,9 +2,9 @@
2
2
  <a
3
3
  class="vmz-ui-link"
4
4
  data-vmz-ui="link"
5
- href={href}
6
- target={target}
7
- rel={rel}
5
+ :href="href"
6
+ :target="target"
7
+ :rel="rel"
8
8
  >
9
9
  <slot />
10
10
  </a>
@@ -1,26 +1,25 @@
1
1
  <template>
2
2
  <div class="vmz-ui-list" data-vmz-ui="list">
3
- <p if={label} class="vmz-ui-list__label" id={labelId}>{label}</p>
3
+ <p v-if="label" class="vmz-ui-list__label" :id="labelId">{{ label }}</p>
4
4
  <ul
5
5
  class="vmz-ui-list__items"
6
6
  role="listbox"
7
- aria-labelledby={labelId}
8
- aria-label={label}
9
- onClick={onListClick}
10
- onKeyDown={onListKeyDown}
7
+ :aria-labelledby="labelId"
8
+ :aria-label="label"
9
+ @click="onListClick"
10
+ :onKeyDown="onListKeyDown"
11
11
  >
12
12
  <li
13
- each={items}
14
- as="item"
15
- key={item.id}
13
+ v-for="item in items"
14
+ :key="item.id"
16
15
  class="vmz-ui-list__item"
17
16
  role="option"
18
- id={item.id}
19
- data-vmz-list-item={item.id}
20
- aria-selected={selected === item.id ? 'true' : 'false'}
21
- tabindex={selected === item.id ? 0 : -1}
17
+ :id="item.id"
18
+ :data-vmz-list-item="item.id"
19
+ :aria-selected="selected === item.id ? 'true' : 'false'"
20
+ :tabindex="selected === item.id ? 0 : -1"
22
21
  >
23
- {item.title}
22
+ {{ item.title }}
24
23
  </li>
25
24
  </ul>
26
25
  </div>
@@ -1,39 +1,38 @@
1
1
  <template>
2
- <div class="vmz-ui-menu" data-vmz-ui="menu" data-vmz-overlay-open={open}>
2
+ <div class="vmz-ui-menu" data-vmz-ui="menu" :data-vmz-overlay-open="open">
3
3
  <button
4
4
  type="button"
5
5
  class="vmz-ui-menu__trigger"
6
6
  data-vmz-menu="trigger"
7
7
  aria-haspopup="menu"
8
- aria-expanded={open ? 'true' : 'false'}
9
- aria-controls={menuId}
10
- onClick={toggle}
11
- onKeyDown={onTriggerKeyDown}
8
+ :aria-expanded="open ? 'true' : 'false'"
9
+ :aria-controls="menuId"
10
+ @click="toggle"
11
+ :onKeyDown="onTriggerKeyDown"
12
12
  >
13
- {label}
13
+ {{ label }}
14
14
  </button>
15
15
  <div
16
- if={open}
17
- id={menuId}
16
+ v-if="open"
17
+ :id="menuId"
18
18
  class="vmz-ui-menu__panel"
19
19
  role="menu"
20
20
  data-vmz-overlay="menu"
21
21
  data-vmz-overlay-owner="menu"
22
22
  data-vmz-focus="enter"
23
23
  tabindex="-1"
24
- onKeyDown={onMenuKeyDown}
24
+ :onKeyDown="onMenuKeyDown"
25
25
  >
26
26
  <button
27
- each={items}
28
- as="item"
29
- key={item.id}
27
+ v-for="item in items"
28
+ :key="item.id"
30
29
  type="button"
31
30
  class="vmz-ui-menu__item"
32
31
  role="menuitem"
33
- data-vmz-menu-item={item.id}
34
- onClick={onItemClick}
32
+ :data-vmz-menu-item="item.id"
33
+ @click="onItemClick"
35
34
  >
36
- {item.title}
35
+ {{ item.title }}
37
36
  </button>
38
37
  </div>
39
38
  </div>
@@ -2,11 +2,11 @@
2
2
  <div
3
3
  class="vmz-ui-notification"
4
4
  data-vmz-ui="notification"
5
- data-tone={tone}
6
- role={roleName}
5
+ :data-tone="tone"
6
+ :role="roleName"
7
7
  >
8
- <p if={title} class="vmz-ui-notification__title">{title}</p>
9
- <p if={description} class="vmz-ui-notification__description">{description}</p>
8
+ <p v-if="title" class="vmz-ui-notification__title">{{ title }}</p>
9
+ <p v-if="description" class="vmz-ui-notification__description">{{ description }}</p>
10
10
  <div class="vmz-ui-notification__actions">
11
11
  <slot />
12
12
  </div>
@@ -1,19 +1,19 @@
1
1
  <template>
2
- <nav class="vmz-ui-pagination" data-vmz-ui="pagination" aria-label={label}>
2
+ <nav class="vmz-ui-pagination" data-vmz-ui="pagination" :aria-label="label">
3
3
  <button
4
4
  type="button"
5
5
  class="vmz-ui-pagination__btn"
6
- disabled={prevDisabled}
7
- onClick={onPrevClick}
6
+ :disabled="prevDisabled"
7
+ @click="onPrevClick"
8
8
  >
9
9
  Previous
10
10
  </button>
11
- <p class="vmz-ui-pagination__status" data-vmz-fixture="page-status">{status}</p>
11
+ <p class="vmz-ui-pagination__status" data-vmz-fixture="page-status">{{ status }}</p>
12
12
  <button
13
13
  type="button"
14
14
  class="vmz-ui-pagination__btn"
15
- disabled={nextDisabled}
16
- onClick={onNextClick}
15
+ :disabled="nextDisabled"
16
+ @click="onNextClick"
17
17
  >
18
18
  Next
19
19
  </button>
@@ -2,38 +2,38 @@
2
2
  <div
3
3
  class="vmz-ui-popover-root"
4
4
  data-vmz-ui="popover"
5
- data-vmz-overlay-open={open}
5
+ :data-vmz-overlay-open="open"
6
6
  >
7
7
  <div
8
- if={open}
8
+ v-if="open"
9
9
  class="vmz-ui-popover"
10
10
  data-vmz-overlay="popover"
11
11
  data-vmz-overlay-owner="popover"
12
- data-vmz-overlay-stack={stackLevel}
12
+ :data-vmz-overlay-stack="stackLevel"
13
13
  >
14
14
  <button
15
15
  type="button"
16
16
  class="vmz-ui-popover__backdrop"
17
17
  data-vmz-overlay-layer="backdrop"
18
18
  aria-label="Dismiss popover"
19
- onClick={dismiss}
19
+ @click="dismiss"
20
20
  ></button>
21
21
  <div
22
22
  class="vmz-ui-popover__panel"
23
23
  role="dialog"
24
24
  aria-modal="false"
25
- aria-labelledby={titleId}
25
+ :aria-labelledby="titleId"
26
26
  tabindex="-1"
27
27
  data-vmz-overlay-layer="panel"
28
28
  data-vmz-focus="enter"
29
- onKeyDown={onPanelKeyDown}
29
+ :onKeyDown="onPanelKeyDown"
30
30
  >
31
- <h2 id={titleId} class="vmz-ui-popover__title">{title}</h2>
31
+ <h2 :id="titleId" class="vmz-ui-popover__title">{{ title }}</h2>
32
32
  <div class="vmz-ui-popover__body">
33
33
  <slot />
34
34
  </div>
35
35
  <div class="vmz-ui-popover__actions">
36
- <button type="button" class="vmz-ui-popover__close" data-vmz-focus="close" onClick={dismiss}>
36
+ <button type="button" class="vmz-ui-popover__close" data-vmz-focus="close" @click="dismiss">
37
37
  Close
38
38
  </button>
39
39
  </div>
@@ -1,7 +1,7 @@
1
1
  <template>
2
- <div class="vmz-ui-progress" data-vmz-ui="progress" role="progressbar" aria-valuemin={0} aria-valuemax={100} aria-valuenow={percent}>
3
- <div class="vmz-ui-progress__track"><span style={'width:' + percent + '%'}></span></div>
4
- <span if={showInfo} class="vmz-ui-progress__text">{percent}%</span>
2
+ <div class="vmz-ui-progress" data-vmz-ui="progress" role="progressbar" :aria-valuemin="0" :aria-valuemax="100" :aria-valuenow="percent">
3
+ <div class="vmz-ui-progress__track"><span :style="'width:' + percent + '%'"></span></div>
4
+ <span v-if="showInfo" class="vmz-ui-progress__text">{{ percent }}%</span>
5
5
  </div>
6
6
  </template>
7
7
  <style>
@@ -3,8 +3,8 @@
3
3
  class="vmz-ui-query-form"
4
4
  data-vmz-ui="query-form"
5
5
  data-dense="true"
6
- aria-label={label}
7
- onSubmit={onSubmitGuard}
6
+ :aria-label="label"
7
+ @submit="onSubmitGuard"
8
8
  >
9
9
  <slot />
10
10
  </form>
@@ -2,34 +2,33 @@
2
2
  <fieldset
3
3
  class="vmz-ui-radio-group"
4
4
  data-vmz-ui="radio-group"
5
- data-invalid={invalidAttr}
6
- aria-describedby={describedBy}
7
- disabled={disabled}
5
+ :data-invalid="invalidAttr"
6
+ :aria-describedby="describedBy"
7
+ :disabled="disabled"
8
8
  >
9
- <legend class="vmz-ui-radio-group__legend">{label}</legend>
10
- <div class="vmz-ui-radio-group__list" role="radiogroup" aria-label={label} onClick={onListClick}>
9
+ <legend class="vmz-ui-radio-group__legend">{{ label }}</legend>
10
+ <div class="vmz-ui-radio-group__list" role="radiogroup" :aria-label="label" @click="onListClick">
11
11
  <label
12
- each={items}
13
- as="item"
14
- key={item.value}
12
+ v-for="item in items"
13
+ :key="item.value"
15
14
  class="vmz-ui-radio-group__option"
16
- for={item.id}
15
+ :for="item.id"
17
16
  >
18
17
  <input
19
- id={item.id}
18
+ :id="item.id"
20
19
  class="vmz-ui-radio-group__input"
21
20
  type="radio"
22
- name={name}
23
- value={item.value}
24
- checked={value === item.value}
25
- disabled={disabled}
26
- data-vmz-radio={item.value}
21
+ :name="name"
22
+ :value="item.value"
23
+ :checked="value === item.value"
24
+ :disabled="disabled"
25
+ :data-vmz-radio="item.value"
27
26
  />
28
- <span class="vmz-ui-radio-group__text">{item.label}</span>
27
+ <span class="vmz-ui-radio-group__text">{{ item.label }}</span>
29
28
  </label>
30
29
  </div>
31
- <p if={description} id={descriptionId} class="vmz-ui-radio-group__description">{description}</p>
32
- <p if={error} id={errorId} class="vmz-ui-radio-group__error" role="alert">{error}</p>
30
+ <p v-if="description" :id="descriptionId" class="vmz-ui-radio-group__description">{{ description }}</p>
31
+ <p v-if="error" :id="errorId" class="vmz-ui-radio-group__error" role="alert">{{ error }}</p>
33
32
  </fieldset>
34
33
  </template>
35
34
 
@@ -2,10 +2,10 @@
2
2
  <section
3
3
  class="vmz-ui-result"
4
4
  data-vmz-ui="result"
5
- data-status={status}
5
+ :data-status="status"
6
6
  >
7
- <p class="vmz-ui-result__title">{title}</p>
8
- <p if={description} class="vmz-ui-result__description">{description}</p>
7
+ <p class="vmz-ui-result__title">{{ title }}</p>
8
+ <p v-if="description" class="vmz-ui-result__description">{{ description }}</p>
9
9
  <div class="vmz-ui-result__actions">
10
10
  <slot />
11
11
  </div>
@@ -1,13 +1,13 @@
1
1
  <template>
2
- <div class="vmz-ui-segmented" data-vmz-ui="segmented" role="group" aria-label={label}>
2
+ <div class="vmz-ui-segmented" data-vmz-ui="segmented" role="group" :aria-label="label">
3
3
  <button
4
- each={options}
5
- as="opt"
6
- key={opt.value}
4
+ v-for="opt in options"
5
+ :key="opt.value"
7
6
  type="button"
8
- aria-pressed={opt.value === value ? 'true' : 'false'}
9
- onClick={() => onPick(opt.value)}
10
- >{opt.label}</button>
7
+ :data-vmz-segment="opt.value"
8
+ :aria-pressed="opt.value === value ? 'true' : 'false'"
9
+ @click="() => this.onPick(opt.value)"
10
+ >{{ opt.label }}</button>
11
11
  </div>
12
12
  </template>
13
13
  <style>