vira 30.3.0 → 30.5.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.
@@ -3,7 +3,7 @@ import { colorCss, ContrastLevelName } from '@electrovir/color';
3
3
  import { css, defineElementEvent, html, listen, unsafeCSS } from 'element-vir';
4
4
  import { themeDefaultKey } from 'theme-vir';
5
5
  import { Check16Icon } from '../icons/icon-svgs/check-16.icon.js';
6
- import { CloseX16Icon } from '../icons/icon-svgs/close-x-16.icon.js';
6
+ import { X16Icon } from '../icons/icon-svgs/x-16.icon.js';
7
7
  import { viraFormCssVars } from '../styles/form-styles.js';
8
8
  import { ViraColorVariant, viraColorVariantToColorName, ViraEmphasis, ViraSize, viraSizeHeights, } from '../styles/form-variants.js';
9
9
  import { noNativeFormStyles } from '../styles/native-styles.js';
@@ -284,7 +284,7 @@ export const ViraTag = defineViraElement()({
284
284
  ></${ViraIcon}>
285
285
  <span class="text">${String(inputs.text)}</span>
286
286
  <${ViraIcon.assign({
287
- icon: CloseX16Icon,
287
+ icon: X16Icon,
288
288
  })}
289
289
  class="cancel-x"
290
290
  ></${ViraIcon}>
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A dash (horizontal line) icon.
3
+ *
4
+ * @category Icon
5
+ * @category SVG
6
+ * @see https://electrovir.github.io/vira/book/icons/dash16icon
7
+ */
8
+ export declare const Dash16Icon: import("../icon-svg.js").ViraIconSvg;
@@ -0,0 +1,24 @@
1
+ import { html } from 'element-vir';
2
+ import { viraIconCssVars } from '../icon-css-vars.js';
3
+ import { defineIcon } from '../icon-svg.js';
4
+ /**
5
+ * A dash (horizontal line) icon.
6
+ *
7
+ * @category Icon
8
+ * @category SVG
9
+ * @see https://electrovir.github.io/vira/book/icons/dash16icon
10
+ */
11
+ export const Dash16Icon = defineIcon({
12
+ name: 'Dash16Icon',
13
+ svgTemplate: html `
14
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
15
+ <path
16
+ d="M3 8h10"
17
+ fill="none"
18
+ stroke=${viraIconCssVars['vira-icon-stroke-color'].value}
19
+ stroke-width=${viraIconCssVars['vira-icon-stroke-width'].value}
20
+ stroke-linecap="round"
21
+ />
22
+ </svg>
23
+ `,
24
+ });
@@ -0,0 +1,8 @@
1
+ /**
2
+ * An x icon.
3
+ *
4
+ * @category Icon
5
+ * @category SVG
6
+ * @see https://electrovir.github.io/vira/book/icons/x16icon
7
+ */
8
+ export declare const X16Icon: import("../icon-svg.js").ViraIconSvg;
@@ -2,14 +2,14 @@ import { html } from 'element-vir';
2
2
  import { viraIconCssVars } from '../icon-css-vars.js';
3
3
  import { defineIcon } from '../icon-svg.js';
4
4
  /**
5
- * An x icon meant to be used as a "close" button (16px).
5
+ * An x icon.
6
6
  *
7
7
  * @category Icon
8
8
  * @category SVG
9
- * @see https://electrovir.github.io/vira/book/icons/closex16icon
9
+ * @see https://electrovir.github.io/vira/book/icons/x16icon
10
10
  */
11
- export const CloseX16Icon = defineIcon({
12
- name: 'CloseX16Icon',
11
+ export const X16Icon = defineIcon({
12
+ name: 'X16Icon',
13
13
  svgTemplate: html `
14
14
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
15
15
  <path
@@ -13,10 +13,10 @@ export * from './icon-svgs/check-16.icon.js';
13
13
  export * from './icon-svgs/check-24.icon.js';
14
14
  export * from './icon-svgs/chevron-down-24.icon.js';
15
15
  export * from './icon-svgs/chevron-up-24.icon.js';
16
- export * from './icon-svgs/close-x-16.icon.js';
17
16
  export * from './icon-svgs/close-x-24.icon.js';
18
17
  export * from './icon-svgs/commit-24.icon.js';
19
18
  export * from './icon-svgs/copy-24.icon.js';
19
+ export * from './icon-svgs/dash-16.icon.js';
20
20
  export * from './icon-svgs/document-24.icon.js';
21
21
  export * from './icon-svgs/document-search-24.icon.js';
22
22
  export * from './icon-svgs/double-chevron-24.icon.js';
@@ -52,6 +52,7 @@ export * from './icon-svgs/status-unknown-24.icon.js';
52
52
  export * from './icon-svgs/status-warning-24.icon.js';
53
53
  export * from './icon-svgs/sun-24.icon.js';
54
54
  export * from './icon-svgs/upload-24.icon.js';
55
+ export * from './icon-svgs/x-16.icon.js';
55
56
  export * from './icon-svgs/x-24.icon.js';
56
57
  /**
57
58
  * All icons within vira by name.
@@ -70,10 +71,10 @@ export declare const allIconsByName: {
70
71
  readonly Check24Icon: import("./icon-svg.js").ViraIconSvg;
71
72
  readonly ChevronDown24Icon: import("./icon-svg.js").ViraIconSvg;
72
73
  readonly ChevronUp24Icon: import("./icon-svg.js").ViraIconSvg;
73
- readonly CloseX16Icon: import("./icon-svg.js").ViraIconSvg;
74
74
  readonly CloseX24Icon: import("./icon-svg.js").ViraIconSvg;
75
75
  readonly Commit24Icon: import("./icon-svg.js").ViraIconSvg;
76
76
  readonly Copy24Icon: import("./icon-svg.js").ViraIconSvg;
77
+ readonly Dash16Icon: import("./icon-svg.js").ViraIconSvg;
77
78
  readonly Document24Icon: import("./icon-svg.js").ViraIconSvg;
78
79
  readonly DocumentSearch24Icon: import("./icon-svg.js").ViraIconSvg;
79
80
  readonly DoubleChevron24Icon: import("./icon-svg.js").ViraIconSvg;
@@ -109,5 +110,6 @@ export declare const allIconsByName: {
109
110
  readonly StatusWarning24Icon: import("./icon-svg.js").ViraIconSvg;
110
111
  readonly Sun24Icon: import("./icon-svg.js").ViraIconSvg;
111
112
  readonly Upload24Icon: import("./icon-svg.js").ViraIconSvg;
113
+ readonly X16Icon: import("./icon-svg.js").ViraIconSvg;
112
114
  readonly X24Icon: import("./icon-svg.js").ViraIconSvg;
113
115
  };
@@ -10,10 +10,10 @@ import { Check16Icon } from './icon-svgs/check-16.icon.js';
10
10
  import { Check24Icon } from './icon-svgs/check-24.icon.js';
11
11
  import { ChevronDown24Icon } from './icon-svgs/chevron-down-24.icon.js';
12
12
  import { ChevronUp24Icon } from './icon-svgs/chevron-up-24.icon.js';
13
- import { CloseX16Icon } from './icon-svgs/close-x-16.icon.js';
14
13
  import { CloseX24Icon } from './icon-svgs/close-x-24.icon.js';
15
14
  import { Commit24Icon } from './icon-svgs/commit-24.icon.js';
16
15
  import { Copy24Icon } from './icon-svgs/copy-24.icon.js';
16
+ import { Dash16Icon } from './icon-svgs/dash-16.icon.js';
17
17
  import { Document24Icon } from './icon-svgs/document-24.icon.js';
18
18
  import { DocumentSearch24Icon } from './icon-svgs/document-search-24.icon.js';
19
19
  import { DoubleChevron24Icon } from './icon-svgs/double-chevron-24.icon.js';
@@ -49,6 +49,7 @@ import { StatusUnknown24Icon } from './icon-svgs/status-unknown-24.icon.js';
49
49
  import { StatusWarning24Icon } from './icon-svgs/status-warning-24.icon.js';
50
50
  import { Sun24Icon } from './icon-svgs/sun-24.icon.js';
51
51
  import { Upload24Icon } from './icon-svgs/upload-24.icon.js';
52
+ import { X16Icon } from './icon-svgs/x-16.icon.js';
52
53
  import { X24Icon } from './icon-svgs/x-24.icon.js';
53
54
  export * from './colored-icon.js';
54
55
  export * from './icon-css-vars.js';
@@ -64,10 +65,10 @@ export * from './icon-svgs/check-16.icon.js';
64
65
  export * from './icon-svgs/check-24.icon.js';
65
66
  export * from './icon-svgs/chevron-down-24.icon.js';
66
67
  export * from './icon-svgs/chevron-up-24.icon.js';
67
- export * from './icon-svgs/close-x-16.icon.js';
68
68
  export * from './icon-svgs/close-x-24.icon.js';
69
69
  export * from './icon-svgs/commit-24.icon.js';
70
70
  export * from './icon-svgs/copy-24.icon.js';
71
+ export * from './icon-svgs/dash-16.icon.js';
71
72
  export * from './icon-svgs/document-24.icon.js';
72
73
  export * from './icon-svgs/document-search-24.icon.js';
73
74
  export * from './icon-svgs/double-chevron-24.icon.js';
@@ -103,6 +104,7 @@ export * from './icon-svgs/status-unknown-24.icon.js';
103
104
  export * from './icon-svgs/status-warning-24.icon.js';
104
105
  export * from './icon-svgs/sun-24.icon.js';
105
106
  export * from './icon-svgs/upload-24.icon.js';
107
+ export * from './icon-svgs/x-16.icon.js';
106
108
  export * from './icon-svgs/x-24.icon.js';
107
109
  /**
108
110
  * All icons within vira by name.
@@ -121,10 +123,10 @@ export const allIconsByName = {
121
123
  Check24Icon,
122
124
  ChevronDown24Icon,
123
125
  ChevronUp24Icon,
124
- CloseX16Icon,
125
126
  CloseX24Icon,
126
127
  Commit24Icon,
127
128
  Copy24Icon,
129
+ Dash16Icon,
128
130
  Document24Icon,
129
131
  DocumentSearch24Icon,
130
132
  DoubleChevron24Icon,
@@ -160,5 +162,6 @@ export const allIconsByName = {
160
162
  StatusWarning24Icon,
161
163
  Sun24Icon,
162
164
  Upload24Icon,
165
+ X16Icon,
163
166
  X24Icon,
164
167
  };
@@ -34,6 +34,12 @@ export type ViraMenuItemEntry = {
34
34
  selected: boolean;
35
35
  /** Called when any item is activated. */
36
36
  onClick: MenuItemClickCallback;
37
+ /**
38
+ * If set to `true`, this menu item won't show up at all.
39
+ *
40
+ * @default false
41
+ */
42
+ hidden: boolean;
37
43
  }> & typeof ViraMenuItem.InputsType;
38
44
  /**
39
45
  * A callback for menu items getting activated, to be used with {@link renderMenuItemEntries}.
@@ -1,4 +1,4 @@
1
- import { joinWithFinalConjunction, } from '@augment-vir/common';
1
+ import { filterMap, joinWithFinalConjunction, } from '@augment-vir/common';
2
2
  import { html, listen } from 'element-vir';
3
3
  import { ViraMenuItem } from '../elements/pop-up/vira-menu-item.element.js';
4
4
  /**
@@ -42,20 +42,20 @@ export function triggerPopUpState({ open, callback, popUpManager, host, options,
42
42
  * @category PopUp
43
43
  */
44
44
  export function renderMenuItemEntries(items) {
45
- return items.map((item, index) => {
45
+ return filterMap(items, (item, index) => {
46
46
  return html `
47
- <${ViraMenuItem.assign({
47
+ <${ViraMenuItem.assign({
48
48
  ...item,
49
49
  })}
50
- ${listen('click', async (event) => {
50
+ ${listen('click', async (event) => {
51
51
  await item.onClick?.({
52
52
  event,
53
53
  index,
54
54
  });
55
55
  })}
56
- >
57
- ${item.content}
58
- </${ViraMenuItem}>
59
- `;
60
- });
56
+ >
57
+ ${item.content}
58
+ </${ViraMenuItem}>
59
+ `;
60
+ }, (template, menuItem) => !menuItem.hidden);
61
61
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vira",
3
- "version": "30.3.0",
3
+ "version": "30.5.0",
4
4
  "description": "A simple and highly versatile design system using element-vir.",
5
5
  "keywords": [
6
6
  "design",
@@ -1,8 +0,0 @@
1
- /**
2
- * An x icon meant to be used as a "close" button (16px).
3
- *
4
- * @category Icon
5
- * @category SVG
6
- * @see https://electrovir.github.io/vira/book/icons/closex16icon
7
- */
8
- export declare const CloseX16Icon: import("../icon-svg.js").ViraIconSvg;