@gitlab/ui 32.46.0 → 32.50.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/CHANGELOG.md +28 -0
- package/dist/components/base/avatar_labeled/avatar_labeled.documentation.js +2 -9
- package/dist/components/base/avatars_inline/avatars_inline.documentation.js +2 -5
- package/dist/components/base/form/form_combobox/form_combobox.documentation.js +2 -9
- package/dist/components/base/form/form_combobox/form_combobox.js +5 -0
- package/dist/components/base/form/form_radio/form_radio.documentation.js +2 -33
- package/dist/components/base/form/form_radio/form_radio.js +15 -2
- package/dist/components/base/form/input_group_text/input_group_text.documentation.js +1 -5
- package/dist/components/base/keyset_pagination/keyset_pagination.documentation.js +2 -84
- package/dist/components/base/keyset_pagination/keyset_pagination.js +42 -0
- package/dist/components/base/modal/modal.documentation.js +2 -32
- package/dist/components/base/modal/modal.js +1 -1
- package/dist/components/charts/gauge/gauge.documentation.js +2 -6
- package/dist/components/charts/tooltip/tooltip.documentation.js +1 -5
- package/dist/components/utilities/intersperse/intersperse.documentation.js +2 -5
- package/documentation/documented_stories.js +10 -0
- package/package.json +3 -3
- package/src/components/base/avatar_labeled/avatar_labeled.documentation.js +0 -9
- package/src/components/base/avatar_labeled/avatar_labeled.md +2 -5
- package/src/components/base/avatar_labeled/avatar_labeled.stories.js +68 -62
- package/src/components/base/avatar_labeled/avatar_labeled.vue +1 -0
- package/src/components/base/avatars_inline/avatars_inline.documentation.js +0 -2
- package/src/components/base/avatars_inline/avatars_inline.md +1 -3
- package/src/components/base/avatars_inline/avatars_inline.stories.js +49 -44
- package/src/components/base/form/form_combobox/form_combobox.documentation.js +0 -8
- package/src/components/base/form/form_combobox/form_combobox.md +0 -2
- package/src/components/base/form/form_combobox/form_combobox.stories.js +30 -30
- package/src/components/base/form/form_combobox/form_combobox.vue +4 -0
- package/src/components/base/form/form_radio/form_radio.documentation.js +0 -31
- package/src/components/base/form/form_radio/form_radio.md +7 -14
- package/src/components/base/form/form_radio/form_radio.stories.js +40 -28
- package/src/components/base/form/form_radio/form_radio.vue +26 -1
- package/src/components/base/form/input_group_text/input_group_text.documentation.js +0 -3
- package/src/components/base/form/input_group_text/input_group_text.stories.js +24 -18
- package/src/components/base/keyset_pagination/keyset_pagination.documentation.js +0 -99
- package/src/components/base/keyset_pagination/keyset_pagination.md +0 -2
- package/src/components/base/keyset_pagination/keyset_pagination.stories.js +60 -58
- package/src/components/base/keyset_pagination/keyset_pagination.vue +35 -1
- package/src/components/base/modal/modal.documentation.js +0 -42
- package/src/components/base/modal/modal.md +2 -7
- package/src/components/base/modal/modal.stories.js +107 -85
- package/src/components/base/modal/modal.vue +20 -0
- package/src/components/charts/gauge/gauge.documentation.js +0 -3
- package/src/components/charts/gauge/gauge.md +0 -2
- package/src/components/charts/gauge/gauge.stories.js +70 -86
- package/src/components/charts/tooltip/tooltip.documentation.js +0 -3
- package/src/components/charts/tooltip/tooltip.stories.js +59 -44
- package/src/components/utilities/intersperse/intersperse.documentation.js +0 -2
- package/src/components/utilities/intersperse/intersperse.md +0 -2
- package/src/components/utilities/intersperse/intersperse.stories.js +38 -38
- package/dist/components/base/avatar_labeled/examples/avatar.labeled.example.js +0 -38
- package/dist/components/base/avatar_labeled/examples/avatar.labeled_badges.example.js +0 -38
- package/dist/components/base/avatar_labeled/examples/avatar.labeled_links.example.js +0 -38
- package/dist/components/base/avatar_labeled/examples/avatar.labeled_tooltip.example.js +0 -38
- package/dist/components/base/avatar_labeled/examples/index.js +0 -31
- package/dist/components/base/avatars_inline/examples/avatars.inline.example.js +0 -58
- package/dist/components/base/avatars_inline/examples/avatars.inline_large.example.js +0 -58
- package/dist/components/base/avatars_inline/examples/avatars.inline_links_and_tooltips.example.js +0 -70
- package/dist/components/base/avatars_inline/examples/avatars.inline_links_and_tooltips_badge.example.js +0 -70
- package/dist/components/base/avatars_inline/examples/index.js +0 -31
- package/dist/components/base/form/form_combobox/examples/form_combobox.basic.example.js +0 -50
- package/dist/components/base/form/form_combobox/examples/index.js +0 -13
- package/dist/components/base/form/form_radio/examples/form_radio.basic.example.js +0 -48
- package/dist/components/base/form/form_radio/examples/form_radio.checked_disabled.example.js +0 -48
- package/dist/components/base/form/form_radio/examples/index.js +0 -19
- package/dist/components/base/form/input_group_text/examples/index.js +0 -13
- package/dist/components/base/form/input_group_text/examples/input_group_text.basic.example.js +0 -38
- package/dist/components/base/keyset_pagination/examples/index.js +0 -37
- package/dist/components/base/keyset_pagination/examples/keyset_pagination.basic.example.js +0 -51
- package/dist/components/base/keyset_pagination/examples/keyset_pagination.events.example.js +0 -64
- package/dist/components/base/keyset_pagination/examples/keyset_pagination.internationalization.example.js +0 -59
- package/dist/components/base/keyset_pagination/examples/keyset_pagination.links.example.js +0 -51
- package/dist/components/base/keyset_pagination/examples/keyset_pagination.slots.example.js +0 -51
- package/dist/components/base/modal/examples/index.js +0 -31
- package/dist/components/base/modal/examples/modal.basic.example.js +0 -62
- package/dist/components/base/modal/examples/modal.disabled.example.js +0 -89
- package/dist/components/base/modal/examples/modal.sizes.example.js +0 -62
- package/dist/components/charts/gauge/examples/gauge.basic.example.js +0 -38
- package/dist/components/charts/gauge/examples/gauge.no_thresholds.example.js +0 -38
- package/dist/components/charts/gauge/examples/gauge.no_value.example.js +0 -38
- package/dist/components/charts/gauge/examples/gauge.with_text.example.js +0 -38
- package/dist/components/charts/gauge/examples/index.js +0 -31
- package/dist/components/charts/tooltip/examples/chart_tooltip.basic.example.js +0 -54
- package/dist/components/charts/tooltip/examples/index.js +0 -13
- package/dist/components/utilities/intersperse/examples/index.js +0 -31
- package/dist/components/utilities/intersperse/examples/intersperse.custom_last_separator.example.js +0 -38
- package/dist/components/utilities/intersperse/examples/intersperse.custom_last_separator_two_items.example.js +0 -38
- package/dist/components/utilities/intersperse/examples/intersperse.custom_separator.example.js +0 -38
- package/dist/components/utilities/intersperse/examples/intersperse.default.example.js +0 -38
- package/src/components/base/avatar_labeled/examples/avatar.labeled.example.vue +0 -8
- package/src/components/base/avatar_labeled/examples/avatar.labeled_badges.example.vue +0 -17
- package/src/components/base/avatar_labeled/examples/avatar.labeled_links.example.vue +0 -10
- package/src/components/base/avatar_labeled/examples/avatar.labeled_tooltip.example.vue +0 -10
- package/src/components/base/avatar_labeled/examples/index.js +0 -36
- package/src/components/base/avatars_inline/examples/avatars.inline.example.vue +0 -18
- package/src/components/base/avatars_inline/examples/avatars.inline_large.example.vue +0 -18
- package/src/components/base/avatars_inline/examples/avatars.inline_links_and_tooltips.example.vue +0 -24
- package/src/components/base/avatars_inline/examples/avatars.inline_links_and_tooltips_badge.example.vue +0 -31
- package/src/components/base/avatars_inline/examples/index.js +0 -36
- package/src/components/base/form/form_combobox/examples/form_combobox.basic.example.vue +0 -31
- package/src/components/base/form/form_combobox/examples/index.js +0 -15
- package/src/components/base/form/form_radio/examples/form_radio.basic.example.vue +0 -16
- package/src/components/base/form/form_radio/examples/form_radio.checked_disabled.example.vue +0 -13
- package/src/components/base/form/form_radio/examples/index.js +0 -22
- package/src/components/base/form/input_group_text/examples/index.js +0 -15
- package/src/components/base/form/input_group_text/examples/input_group_text.basic.example.vue +0 -3
- package/src/components/base/keyset_pagination/examples/index.js +0 -43
- package/src/components/base/keyset_pagination/examples/keyset_pagination.basic.example.vue +0 -16
- package/src/components/base/keyset_pagination/examples/keyset_pagination.events.example.vue +0 -29
- package/src/components/base/keyset_pagination/examples/keyset_pagination.internationalization.example.vue +0 -23
- package/src/components/base/keyset_pagination/examples/keyset_pagination.links.example.vue +0 -20
- package/src/components/base/keyset_pagination/examples/keyset_pagination.slots.example.vue +0 -23
- package/src/components/base/modal/examples/index.js +0 -39
- package/src/components/base/modal/examples/modal.basic.example.vue +0 -39
- package/src/components/base/modal/examples/modal.disabled.example.vue +0 -58
- package/src/components/base/modal/examples/modal.sizes.example.vue +0 -61
- package/src/components/charts/gauge/examples/gauge.basic.example.vue +0 -5
- package/src/components/charts/gauge/examples/gauge.no_thresholds.example.vue +0 -5
- package/src/components/charts/gauge/examples/gauge.no_value.example.vue +0 -5
- package/src/components/charts/gauge/examples/gauge.with_text.example.vue +0 -12
- package/src/components/charts/gauge/examples/index.js +0 -36
- package/src/components/charts/tooltip/examples/chart_tooltip.basic.example.vue +0 -32
- package/src/components/charts/tooltip/examples/index.js +0 -15
- package/src/components/utilities/intersperse/examples/index.js +0 -36
- package/src/components/utilities/intersperse/examples/intersperse.custom_last_separator.example.vue +0 -7
- package/src/components/utilities/intersperse/examples/intersperse.custom_last_separator_two_items.example.vue +0 -6
- package/src/components/utilities/intersperse/examples/intersperse.custom_separator.example.vue +0 -7
- package/src/components/utilities/intersperse/examples/intersperse.default.example.vue +0 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
# [32.50.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v32.49.0...v32.50.0) (2021-12-16)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* Add support for @gitlab/svgs@2 peer dependency ([77076b7](https://gitlab.com/gitlab-org/gitlab-ui/commit/77076b7d717f4245a29df115113c96d72b002540))
|
|
7
|
+
|
|
8
|
+
# [32.49.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v32.48.0...v32.49.0) (2021-12-15)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **GlKeysetPagination:** Migrate storybook story ([b78abe6](https://gitlab.com/gitlab-org/gitlab-ui/commit/b78abe68d2c86c973af50ee20754e5b2be163f25))
|
|
14
|
+
|
|
15
|
+
# [32.48.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v32.47.0...v32.48.0) (2021-12-13)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
* **GlAvatarsInline:** Migrate storybook story ([0720510](https://gitlab.com/gitlab-org/gitlab-ui/commit/07205105cb98e8493cfe3f8b70191707175ca8a9))
|
|
21
|
+
|
|
22
|
+
# [32.47.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v32.46.0...v32.47.0) (2021-12-13)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
* **GlInputGroupText:** Migrate storybook story ([3fb2328](https://gitlab.com/gitlab-org/gitlab-ui/commit/3fb2328829b002480149bf5654c6026ff26fd670))
|
|
28
|
+
|
|
1
29
|
# [32.46.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v32.45.1...v32.46.0) (2021-12-13)
|
|
2
30
|
|
|
3
31
|
|
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var description = "# Avatar labeled\n\n<!-- STORY -->\n## Usage\n\nAvatars may also be adjacent to a text alternative, such as a user or project name. In these cases,\na null `alt` text should be used so that they can be ignored by assistive technologies.\n\nUse the `avatar-labeled` component in those scenarios. It will set a null `alt` text by default.\nIt allows to display a `label` and/or a `sub-label` next to the avatar image. It accepts the same\nproperties as the avatar component to modify the avatar’s shape and size.\n\n## Using the component\n\n~~~js\n<gl-avatar-labeled\n :shape=\"shape\"\n :size=\"size\"\n :src=\"src\"\n :label=\"label\"\n :sub-label=\"subLabel\"\n/>\n~~~\n";
|
|
1
|
+
var description = "## Usage\n\nAvatars may also be adjacent to a text alternative, such as a user or project name. In these cases,\na null `alt` text should be used so that they can be ignored by assistive technologies.\n\nUse the `avatar-labeled` component in those scenarios. It will set a null `alt` text by default.\nIt allows to display a `label` and/or a `sub-label` next to the avatar image. It accepts the same\nproperties as the avatar component to modify the avatar’s shape and size.\n\n## Using the component\n\n```js\n<gl-avatar-labeled\n :shape=\"shape\"\n :size=\"size\"\n :src=\"src\"\n :label=\"label\"\n :sub-label=\"subLabel\"\n/>\n```\n";
|
|
4
2
|
|
|
5
3
|
var avatar_labeled_documentation = {
|
|
6
4
|
followsDesignSystem: true,
|
|
7
|
-
description
|
|
8
|
-
examples,
|
|
9
|
-
slots: [{
|
|
10
|
-
name: 'meta',
|
|
11
|
-
description: 'Meta data to add to the avatar. Generally used for badges or user status emoji.'
|
|
12
|
-
}]
|
|
5
|
+
description
|
|
13
6
|
};
|
|
14
7
|
|
|
15
8
|
export default avatar_labeled_documentation;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var avatars_inline = "## Avatars inline\n\nUse `<avatars-inline />` to display multiple avatars organized in a single row.\n\n### Basic usage\n\nThe `avatars` property accepts an array of objects that contains the avatar properties. By default,\n`<avatars-inline />` expects each object contained in the array to have the same shape as the\nproperties of the `<avatar />` component. You can customize the display of each avatar by\noverriding the default slot:\n\n```html\n<gl-avatars-inline :avatars=\"avatars\">\n <template #avatar=\"{ avatar }\">\n <gl-avatar-link v-gl-tooltip target=\"blank\" :href=\"avatar.href\" :title=\"avatar.tooltip\">\n <gl-avatar :src=\"avatar.src\" :size=\"32\" />\n </gl-avatar-link>\n </template>\n</gl-avatars-inline>\n```\n\nIn the example above, the avatars displayed inside `<avatars-inline />` are links pointing to a URL\nstored in each avatar object. Each avatar also displays a tooltip. If you override\n`<inline-avatars />` default display, you can pass an array of objects with any desired shape to\nthe `avatars` property.\n\n### Collapsing\n\nWhen the `collapse` property value is `true` and the `maxVisible` property value is a number less\nthan the length of the `avatars` property array, `<avatars-inline>` will hide the overflown avatars\nand display a badge instead.\n\n### Supported sizes\n\n`<avatars-inline>` only supports avatars with `24` or `32` size.\n";
|
|
1
|
+
var avatars_inline = "Use `<avatars-inline />` to display multiple avatars organized in a single row.\n\n### Basic usage\n\nThe `avatars` property accepts an array of objects that contains the avatar properties. By default,\n`<avatars-inline />` expects each object contained in the array to have the same shape as the\nproperties of the `<avatar />` component. You can customize the display of each avatar by\noverriding the default slot:\n\n```html\n<gl-avatars-inline :avatars=\"avatars\">\n <template #avatar=\"{ avatar }\">\n <gl-avatar-link v-gl-tooltip target=\"blank\" :href=\"avatar.href\" :title=\"avatar.tooltip\">\n <gl-avatar :src=\"avatar.src\" :size=\"32\" />\n </gl-avatar-link>\n </template>\n</gl-avatars-inline>\n```\n\nIn the example above, the avatars displayed inside `<avatars-inline />` are links pointing to a URL\nstored in each avatar object. Each avatar also displays a tooltip. If you override\n`<inline-avatars />` default display, you can pass an array of objects with any desired shape to\nthe `avatars` property.\n\n### Collapsing\n\nWhen the `collapse` property value is `true` and the `maxVisible` property value is a number less\nthan the length of the `avatars` property array, `<avatars-inline>` will hide the overflown avatars\nand display a badge instead.\n\n### Supported sizes\n\n`<avatars-inline>` only supports avatars with `24` or `32` size.\n";
|
|
4
2
|
|
|
5
3
|
var description = /*#__PURE__*/Object.freeze({
|
|
6
4
|
__proto__: null,
|
|
@@ -9,8 +7,7 @@ var description = /*#__PURE__*/Object.freeze({
|
|
|
9
7
|
|
|
10
8
|
var avatars_inline_documentation = {
|
|
11
9
|
followsDesignSystem: true,
|
|
12
|
-
description
|
|
13
|
-
examples
|
|
10
|
+
description
|
|
14
11
|
};
|
|
15
12
|
|
|
16
13
|
export default avatars_inline_documentation;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var form_combobox = "# GlFormCombobox\n\nUse this component to add a [`FormInput`](/?path=/story/base-form-form-input--default) component\nwith synchronous autocomplete dropdown. It behaves as follows:\n\n- Typing matches tokens; dropdown disappears when there is no match \n- Up and down arrows navigate the dropdown \n- Enter selects keyboard-highlighted item; clicking overrides this \n- Esc closes dropdown when it is open, clears field when it is not \n- Browser/native autocomplete dropdown hidden when ours is open, shows when it is not \n- Tab selects current entered text and moves to next field \n\nThis behavior based on\n[this w3c pattern](https://www.w3.org/TR/wai-aria-practices/examples/combobox/aria1.1pattern/listbox-combo.html)\nand [this accessible combobox example](https://alligator.io/vuejs/vue-a11y-autocomplete/).\n\n## Usage\n\nThe combobox accepts an array of string tokens, a `v-model`, and label text. Internally, it generates\nunique element IDs so multiple can be used on one page without clashing.\n\nOn selection it sets the input value to the selected string and emits a `value-selected` event for\nconsumption by parent components.\n\n```html\n<gl-form-combobox\n v-model=\"inputVal\"\n :token-list=\"tokens\"\n label-text=\"Combobox Label\"\n/>\n```\n\nIt does not have a loading state nor does it accept tokens other than strings. It allows for one\nselected value.\n\n### What if I need to load the options asynchronously?\n\nYou may want to look at [`GlSearchBoxByType`] or [`GlSearchBoxByClick`].\n\n### What if I need multiple options?\n\nThe [`GlTokenSelector`] may be what you need. Alternately, [`GlFilteredSearch`] will let you search\nand include tokens.\n\n## Edge cases\n\nThe algorithm to match tokens with the input is very naive. If you need to use the component with a\nvery large list of matches, you may want to update the implementation or use one of the search\ninputs, like [`GlSearchBoxByType`], [`GlSearchBoxByClick`], or [`GlFilteredSearch`].\n\n[`GlSearchBoxByType`]: https://gitlab-org.gitlab.io/gitlab-ui/?path=/story/base-search-box-by-type--default\n[`GlSearchBoxByClick`]: https://gitlab-org.gitlab.io/gitlab-ui/?path=/story/base-search-box-by-click--default\n[`GlTokenSelector`]: https://gitlab-org.gitlab.io/gitlab-ui/?path=/story/base-token-selector--default\n[`GlFilteredSearch`]: https://gitlab-org.gitlab.io/gitlab-ui/?path=/story/base-filtered-search--default\n";
|
|
1
|
+
var form_combobox = "Use this component to add a [`FormInput`](/?path=/story/base-form-form-input--default) component\nwith synchronous autocomplete dropdown. It behaves as follows:\n\n- Typing matches tokens; dropdown disappears when there is no match \n- Up and down arrows navigate the dropdown \n- Enter selects keyboard-highlighted item; clicking overrides this \n- Esc closes dropdown when it is open, clears field when it is not \n- Browser/native autocomplete dropdown hidden when ours is open, shows when it is not \n- Tab selects current entered text and moves to next field \n\nThis behavior based on\n[this w3c pattern](https://www.w3.org/TR/wai-aria-practices/examples/combobox/aria1.1pattern/listbox-combo.html)\nand [this accessible combobox example](https://alligator.io/vuejs/vue-a11y-autocomplete/).\n\n## Usage\n\nThe combobox accepts an array of string tokens, a `v-model`, and label text. Internally, it generates\nunique element IDs so multiple can be used on one page without clashing.\n\nOn selection it sets the input value to the selected string and emits a `value-selected` event for\nconsumption by parent components.\n\n```html\n<gl-form-combobox\n v-model=\"inputVal\"\n :token-list=\"tokens\"\n label-text=\"Combobox Label\"\n/>\n```\n\nIt does not have a loading state nor does it accept tokens other than strings. It allows for one\nselected value.\n\n### What if I need to load the options asynchronously?\n\nYou may want to look at [`GlSearchBoxByType`] or [`GlSearchBoxByClick`].\n\n### What if I need multiple options?\n\nThe [`GlTokenSelector`] may be what you need. Alternately, [`GlFilteredSearch`] will let you search\nand include tokens.\n\n## Edge cases\n\nThe algorithm to match tokens with the input is very naive. If you need to use the component with a\nvery large list of matches, you may want to update the implementation or use one of the search\ninputs, like [`GlSearchBoxByType`], [`GlSearchBoxByClick`], or [`GlFilteredSearch`].\n\n[`GlSearchBoxByType`]: https://gitlab-org.gitlab.io/gitlab-ui/?path=/story/base-search-box-by-type--default\n[`GlSearchBoxByClick`]: https://gitlab-org.gitlab.io/gitlab-ui/?path=/story/base-search-box-by-click--default\n[`GlTokenSelector`]: https://gitlab-org.gitlab.io/gitlab-ui/?path=/story/base-token-selector--default\n[`GlFilteredSearch`]: https://gitlab-org.gitlab.io/gitlab-ui/?path=/story/base-filtered-search--default\n";
|
|
4
2
|
|
|
5
3
|
var description = /*#__PURE__*/Object.freeze({
|
|
6
4
|
__proto__: null,
|
|
@@ -9,12 +7,7 @@ var description = /*#__PURE__*/Object.freeze({
|
|
|
9
7
|
|
|
10
8
|
var form_combobox_documentation = {
|
|
11
9
|
followsDesignSystem: true,
|
|
12
|
-
description
|
|
13
|
-
examples,
|
|
14
|
-
events: [{
|
|
15
|
-
event: 'value-selected',
|
|
16
|
-
description: 'Emitted when a value is selected.'
|
|
17
|
-
}]
|
|
10
|
+
description
|
|
18
11
|
};
|
|
19
12
|
|
|
20
13
|
export default form_combobox_documentation;
|
|
@@ -1,39 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var description = "# GlFormRadio\n\nA radio button typically represents a single option in a group of related\nchoices. Each radio button is boolean and only one can be selected at a time.\n\n## Usage\n\n`GlFormRadio` components can be used directly, or via a `GlFormRadioGroup`.\n\nBelow is an example which demonstrates the direct approach. For examples using\n`GlFormRadioGroup`, see the documentation for that component.\n\n```html\n<script>\nexport default {\n data() {\n return {\n selected: 'yes',\n };\n },\n};\n</script>\n\n<template>\n <div>\n <gl-form-radio v-model=\"selected\" value=\"yes\">Yes</gl-form-radio>\n <gl-form-radio v-model=\"selected\" value=\"no\">No</gl-form-radio>\n </div>\n</template>\n```\n";
|
|
1
|
+
var description = "`GlFormRadio` components can be used directly, or via a `GlFormRadioGroup`.\n\nBelow is an example which demonstrates the direct approach. For examples using\n`GlFormRadioGroup`, see the documentation for that component.\n\n```html\n<script>\n export default {\n data() {\n return {\n selected: 'yes',\n };\n },\n };\n</script>\n\n<template>\n <div>\n <gl-form-radio v-model=\"selected\" value=\"yes\">Yes</gl-form-radio>\n <gl-form-radio v-model=\"selected\" value=\"no\">No</gl-form-radio>\n </div>\n</template>\n```\n";
|
|
4
2
|
|
|
5
3
|
var form_radio_documentation = {
|
|
6
4
|
description,
|
|
7
|
-
|
|
8
|
-
followsDesignSystem: true,
|
|
9
|
-
bootstrapComponent: 'b-form-radio',
|
|
10
|
-
propsInfo: {
|
|
11
|
-
checked: {
|
|
12
|
-
additionalInfo: 'The current value of the radio(s)'
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
events: [{
|
|
16
|
-
event: 'input',
|
|
17
|
-
args: [{
|
|
18
|
-
arg: 'checked',
|
|
19
|
-
description: 'current selected value of radio group'
|
|
20
|
-
}],
|
|
21
|
-
description: 'Emitted when the selected value is changed'
|
|
22
|
-
}, {
|
|
23
|
-
event: 'change',
|
|
24
|
-
args: [{
|
|
25
|
-
arg: 'checked',
|
|
26
|
-
description: 'current selected value of radio group'
|
|
27
|
-
}],
|
|
28
|
-
description: 'Emitted when the selected value is changed due to user interaction'
|
|
29
|
-
}],
|
|
30
|
-
slots: [{
|
|
31
|
-
name: 'help',
|
|
32
|
-
description: 'Content provided here will be shown beneath the radio. Typically used for help or descriptive text.'
|
|
33
|
-
}, {
|
|
34
|
-
name: 'default',
|
|
35
|
-
description: 'Content to use for the label'
|
|
36
|
-
}]
|
|
5
|
+
followsDesignSystem: true
|
|
37
6
|
};
|
|
38
7
|
|
|
39
8
|
export default form_radio_documentation;
|
|
@@ -10,14 +10,27 @@ var script = {
|
|
|
10
10
|
BFormRadio
|
|
11
11
|
},
|
|
12
12
|
inheritAttrs: false,
|
|
13
|
-
model
|
|
13
|
+
model: {
|
|
14
|
+
prop: model.prop,
|
|
15
|
+
event: model.event
|
|
16
|
+
},
|
|
17
|
+
props: {
|
|
18
|
+
/**
|
|
19
|
+
* Whether the radio is checked
|
|
20
|
+
*/
|
|
21
|
+
checked: {
|
|
22
|
+
type: [String, Number, Boolean, Object],
|
|
23
|
+
required: false,
|
|
24
|
+
default: false
|
|
25
|
+
}
|
|
26
|
+
}
|
|
14
27
|
};
|
|
15
28
|
|
|
16
29
|
/* script */
|
|
17
30
|
const __vue_script__ = script;
|
|
18
31
|
|
|
19
32
|
/* template */
|
|
20
|
-
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form-radio',_vm._g(_vm._b({staticClass:"gl-form-radio",on:{"input":function($event){return _vm.$emit('input', $event)},"change":function($event){return _vm.$emit('change', $event)}}},'b-form-radio',_vm.$attrs,false),_vm.$listeners),[_vm._t("default"),_vm._v(" "),(_vm.$scopedSlots.help)?_c('p',{staticClass:"help-text"},[_vm._t("help")],2):_vm._e()],2)};
|
|
33
|
+
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form-radio',_vm._g(_vm._b({staticClass:"gl-form-radio",attrs:{"checked":_vm.checked},on:{"input":function($event){return _vm.$emit('input', $event)},"change":function($event){return _vm.$emit('change', $event)}}},'b-form-radio',_vm.$attrs,false),_vm.$listeners),[_vm._t("default"),_vm._v(" "),(_vm.$scopedSlots.help)?_c('p',{staticClass:"help-text"},[_vm._t("help")],2):_vm._e()],2)};
|
|
21
34
|
var __vue_staticRenderFns__ = [];
|
|
22
35
|
|
|
23
36
|
/* style */
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import examples from './examples';
|
|
2
|
-
|
|
3
1
|
var input_group_text = "### Under the hood\n\nUses [`BInputGroupText`](https://bootstrap-vue.org/docs/components/input-group#comp-ref-b-input-group-text)\nfrom Vue Boostrap\n";
|
|
4
2
|
|
|
5
3
|
var description = /*#__PURE__*/Object.freeze({
|
|
@@ -8,9 +6,7 @@ var description = /*#__PURE__*/Object.freeze({
|
|
|
8
6
|
});
|
|
9
7
|
|
|
10
8
|
var input_group_text_documentation = {
|
|
11
|
-
description
|
|
12
|
-
examples,
|
|
13
|
-
propsInfo: {}
|
|
9
|
+
description
|
|
14
10
|
};
|
|
15
11
|
|
|
16
12
|
export default input_group_text_documentation;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var keyset_pagination = "# Keyset Pagination\n\nPagination is used to help users parse a large number of items on a page,\nwhenever there are too many results to show at once. Pagination breaks up\nresults into several pages with controls for navigating forward and backward, or\nto a specific page.\n\n## Usage\n\nThe simplest way to use `GlKeysetPagination` with a paginated GraphQL response\nis to `v-bind` to the\n[`PageInfo`](https://docs.gitlab.com/ee/api/graphql/reference/#pageinfo) type\nreturned by the endpoint:\n\n```html\n<gl-keyset-pagination v-bind=\"pageInfo\" />\n```\n\nThis is possible because the default field names of the `PageInfo` type align\nwith the `props` of this component.\n\n## Dos and don'ts\n\n**✅ Do** provide the `prevText` and `nextText` props with translatable strings.\nThe default strings (\"Prev\" and \"Next\") are hardcoded in this component and\ncan't be translated.\n\nExample:\n\n```html\n<gl-keyset-pagination v-bind=\"pageInfo\" :prev-text=\"__('Prev')\" :next-text=\"__('Next')\" />\n```\n\n**✅ Do** use this component for paginating GraphQL requests<sup>1</sup> (or any\nendpoint that uses keyset pagination).\n\n**❌ Don't** use this component for paginating REST requests<sup>1</sup> (or any\nendpoint that uses offset pagination).\n\nFor offset pagination, use the [`GlPagination`\ncomponent](/?path=/story/base-pagination--default) instead.\n\nFor more information on the difference between offset and keyset pagination see\n[our documentation on GraphQL\npagination](https://docs.gitlab.com/ee/development/graphql_guide/pagination.html).\n\n<small><sup>1</sup>There's no intrinsic reason why GraphQL endpoints can't\nsupport offset pagination (in fact, [the official\ndocumentation](https://graphql.org/learn/pagination/#pagination-and-edges) shows\nan example offset pagination implementation) or why REST endpoints can't support\nkeyset pagination. This is simply how we've chosen to implement our REST and\nGraphQL endpoints at GitLab.</small>\n\n## Pajamas reference\n\n<https://design.gitlab.com/components/pagination>\n";
|
|
1
|
+
var keyset_pagination = "Pagination is used to help users parse a large number of items on a page,\nwhenever there are too many results to show at once. Pagination breaks up\nresults into several pages with controls for navigating forward and backward, or\nto a specific page.\n\n## Usage\n\nThe simplest way to use `GlKeysetPagination` with a paginated GraphQL response\nis to `v-bind` to the\n[`PageInfo`](https://docs.gitlab.com/ee/api/graphql/reference/#pageinfo) type\nreturned by the endpoint:\n\n```html\n<gl-keyset-pagination v-bind=\"pageInfo\" />\n```\n\nThis is possible because the default field names of the `PageInfo` type align\nwith the `props` of this component.\n\n## Dos and don'ts\n\n**✅ Do** provide the `prevText` and `nextText` props with translatable strings.\nThe default strings (\"Prev\" and \"Next\") are hardcoded in this component and\ncan't be translated.\n\nExample:\n\n```html\n<gl-keyset-pagination v-bind=\"pageInfo\" :prev-text=\"__('Prev')\" :next-text=\"__('Next')\" />\n```\n\n**✅ Do** use this component for paginating GraphQL requests<sup>1</sup> (or any\nendpoint that uses keyset pagination).\n\n**❌ Don't** use this component for paginating REST requests<sup>1</sup> (or any\nendpoint that uses offset pagination).\n\nFor offset pagination, use the [`GlPagination`\ncomponent](/?path=/story/base-pagination--default) instead.\n\nFor more information on the difference between offset and keyset pagination see\n[our documentation on GraphQL\npagination](https://docs.gitlab.com/ee/development/graphql_guide/pagination.html).\n\n<small><sup>1</sup>There's no intrinsic reason why GraphQL endpoints can't\nsupport offset pagination (in fact, [the official\ndocumentation](https://graphql.org/learn/pagination/#pagination-and-edges) shows\nan example offset pagination implementation) or why REST endpoints can't support\nkeyset pagination. This is simply how we've chosen to implement our REST and\nGraphQL endpoints at GitLab.</small>\n\n## Pajamas reference\n\n<https://design.gitlab.com/components/pagination>\n";
|
|
4
2
|
|
|
5
3
|
var description = /*#__PURE__*/Object.freeze({
|
|
6
4
|
__proto__: null,
|
|
@@ -9,87 +7,7 @@ var description = /*#__PURE__*/Object.freeze({
|
|
|
9
7
|
|
|
10
8
|
var keyset_pagination_documentation = {
|
|
11
9
|
description,
|
|
12
|
-
followsDesignSystem: true
|
|
13
|
-
bootstrapComponent: false,
|
|
14
|
-
examples,
|
|
15
|
-
propsInfo: {
|
|
16
|
-
hasPreviousPage: {
|
|
17
|
-
type: Boolean,
|
|
18
|
-
required: false,
|
|
19
|
-
default: false,
|
|
20
|
-
additionalInfo: 'Whether or not the "Prev" button should be enabled'
|
|
21
|
-
},
|
|
22
|
-
hasNextPage: {
|
|
23
|
-
type: Boolean,
|
|
24
|
-
required: false,
|
|
25
|
-
default: false,
|
|
26
|
-
additionalInfo: 'Whether or not the "Next" button should be enabled'
|
|
27
|
-
},
|
|
28
|
-
startCursor: {
|
|
29
|
-
type: String,
|
|
30
|
-
required: false,
|
|
31
|
-
default: null,
|
|
32
|
-
additionalInfo: 'A cursor that points to the first item in the current page. Will be passed as an event parameter when the "prev" event is fired.'
|
|
33
|
-
},
|
|
34
|
-
endCursor: {
|
|
35
|
-
type: String,
|
|
36
|
-
required: false,
|
|
37
|
-
default: null,
|
|
38
|
-
additionalInfo: 'A cursor that points to the last item in the current page. Will be passed as an event parameter when the "next" event is fired.'
|
|
39
|
-
},
|
|
40
|
-
prevText: {
|
|
41
|
-
type: String,
|
|
42
|
-
required: false,
|
|
43
|
-
default: 'Prev',
|
|
44
|
-
additionalInfo: 'The text that will be rendered inside the "Prev" button. It\'s important to provide this parameter since the default text is not translatable.'
|
|
45
|
-
},
|
|
46
|
-
prevButtonLink: {
|
|
47
|
-
type: String,
|
|
48
|
-
required: false,
|
|
49
|
-
default: null,
|
|
50
|
-
additionalInfo: 'A link that will be used as the "Prev" button\'s "href" attribute. If provided, the "Prev" button renders as a link button; otherwise, it is rendered as a regular button.'
|
|
51
|
-
},
|
|
52
|
-
nextText: {
|
|
53
|
-
type: String,
|
|
54
|
-
required: false,
|
|
55
|
-
default: 'Next',
|
|
56
|
-
additionalInfo: 'The text that will be rendered inside the "Next" button. It\'s important to provide this parameter since the default text is not translatable.'
|
|
57
|
-
},
|
|
58
|
-
nextButtonLink: {
|
|
59
|
-
type: String,
|
|
60
|
-
required: false,
|
|
61
|
-
default: null,
|
|
62
|
-
additionalInfo: 'A link that will be used as the "Next" button\'s "href" attribute. If provided, the "Next" button renders as a link button; otherwise, it is rendered as a regular button.'
|
|
63
|
-
},
|
|
64
|
-
disabled: {
|
|
65
|
-
type: Boolean,
|
|
66
|
-
required: false,
|
|
67
|
-
default: false,
|
|
68
|
-
additionalInfo: 'Whether or not both buttons should be disabled (regardless of the "hasPreviousPage" and "hasNextPage" values).'
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
events: [{
|
|
72
|
-
event: 'prev',
|
|
73
|
-
description: 'Emitted when the "Prev" button is clicked',
|
|
74
|
-
args: [{
|
|
75
|
-
arg: 'startCursor',
|
|
76
|
-
description: 'A cursor that points to the first item in the current page.'
|
|
77
|
-
}]
|
|
78
|
-
}, {
|
|
79
|
-
event: 'next',
|
|
80
|
-
description: 'Emitted when the "Next" button is clicked',
|
|
81
|
-
args: [{
|
|
82
|
-
arg: 'endCursor',
|
|
83
|
-
description: 'A cursor that points to the last item in the current page'
|
|
84
|
-
}]
|
|
85
|
-
}],
|
|
86
|
-
slots: [{
|
|
87
|
-
name: 'previous-button-content',
|
|
88
|
-
description: 'Used to customize the appearance of the "Prev" button'
|
|
89
|
-
}, {
|
|
90
|
-
name: 'next-button-content',
|
|
91
|
-
description: 'Used to customize the appearance of the "Next" button'
|
|
92
|
-
}]
|
|
10
|
+
followsDesignSystem: true
|
|
93
11
|
};
|
|
94
12
|
|
|
95
13
|
export default keyset_pagination_documentation;
|
|
@@ -16,46 +16,88 @@ var script = {
|
|
|
16
16
|
// GraphQL type, allowing the returned `pageInfo` object to
|
|
17
17
|
// be bound directly to this component:
|
|
18
18
|
// `<gl-keyset-pagination v-bind="pageInfo">`
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Whether or not the "Prev" button should be enabled
|
|
22
|
+
*/
|
|
19
23
|
hasPreviousPage: {
|
|
20
24
|
type: Boolean,
|
|
21
25
|
required: false,
|
|
22
26
|
default: false
|
|
23
27
|
},
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Whether or not the "Next" button should be enabled
|
|
31
|
+
*/
|
|
24
32
|
hasNextPage: {
|
|
25
33
|
type: Boolean,
|
|
26
34
|
required: false,
|
|
27
35
|
default: false
|
|
28
36
|
},
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* A cursor that points to the first item in the current page.
|
|
40
|
+
* Will be passed as an event parameter when the "prev" event is fired.
|
|
41
|
+
*/
|
|
29
42
|
startCursor: {
|
|
30
43
|
type: String,
|
|
31
44
|
required: false,
|
|
32
45
|
default: null
|
|
33
46
|
},
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* A cursor that points to the last item in the current page.
|
|
50
|
+
* Will be passed as an event parameter when the "next" event is fired.
|
|
51
|
+
*/
|
|
34
52
|
endCursor: {
|
|
35
53
|
type: String,
|
|
36
54
|
required: false,
|
|
37
55
|
default: null
|
|
38
56
|
},
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* The text that will be rendered inside the "Prev" button.
|
|
60
|
+
* It\'s important to provide this parameter since the default text is not translatable.
|
|
61
|
+
*/
|
|
39
62
|
prevText: {
|
|
40
63
|
type: String,
|
|
41
64
|
required: false,
|
|
42
65
|
default: 'Prev'
|
|
43
66
|
},
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* A link that will be used as the "Prev" button\'s "href" attribute.
|
|
70
|
+
* If provided, the "Prev" button renders as a link button; otherwise, it is rendered as a regular button.
|
|
71
|
+
*/
|
|
44
72
|
prevButtonLink: {
|
|
45
73
|
type: String,
|
|
46
74
|
required: false,
|
|
47
75
|
default: null
|
|
48
76
|
},
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* The text that will be rendered inside the "Next" button.
|
|
80
|
+
* It\'s important to provide this parameter since the default text is not translatable.
|
|
81
|
+
*/
|
|
49
82
|
nextText: {
|
|
50
83
|
type: String,
|
|
51
84
|
required: false,
|
|
52
85
|
default: 'Next'
|
|
53
86
|
},
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* A link that will be used as the "Next" button\'s "href" attribute.
|
|
90
|
+
* If provided, the "Next" button renders as a link button; otherwise, it is rendered as a regular button.
|
|
91
|
+
*/
|
|
54
92
|
nextButtonLink: {
|
|
55
93
|
type: String,
|
|
56
94
|
required: false,
|
|
57
95
|
default: null
|
|
58
96
|
},
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Whether or not both buttons should be disabled (regardless of the "hasPreviousPage" and "hasNextPage" values).
|
|
100
|
+
*/
|
|
59
101
|
disabled: {
|
|
60
102
|
type: Boolean,
|
|
61
103
|
required: false,
|
|
@@ -1,38 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var description = "# Modal\n\n<!-- STORY -->\n## Usage\n\nModals are used to reveal critical information, show information without losing context, or when the\nsystem requires a user response. Modals can also fragment a complex workflow into simpler steps and\nshould serve a single purpose dedicated to completing the user’s task.\n\n## VModel\n\nYou can use the `v-model` directive to control the modal’s visibility. The `v-model`\ndirective interfaces with the `visible` property and the `@change` event.\n\n## Deprecation Warning\n\nWe are deprecating the `modal-ok` and `modal-cancel` slots. We are also changing the way the\n`modal-footer` slot content is populated. This is in order to align this component with the design\nsystem.\n\nThe `modal-footer` slot should only be populated via props: `action-primary`, `action-secondary` and\n`action-cancel`. These props allow you to handle how a primary, secondary and cancel button will\nbehave in the modals footer. The props receive an object as such:\n\n~~~js\n{\n text: 'Save Changes',\n attributes: [\n { variant: 'confirm' },\n { disabled: this.someState },\n { class: 'some-class' },\n ...\n ]\n}\n~~~\n";
|
|
1
|
+
var description = "Modals are used to reveal critical information, show information without losing context, or when the\nsystem requires a user response. Modals can also fragment a complex workflow into simpler steps and\nshould serve a single purpose dedicated to completing the user’s task.\n\n## VModel\n\nYou can use the `v-model` directive to control the modal’s visibility. The `v-model`\ndirective interfaces with the `visible` property and the `@change` event.\n\n## Deprecation Warning\n\nWe are deprecating the `modal-ok` and `modal-cancel` slots. We are also changing the way the\n`modal-footer` slot content is populated. This is in order to align this component with the design\nsystem.\n\nThe `modal-footer` slot should only be populated via props: `action-primary`, `action-secondary` and\n`action-cancel`. These props allow you to handle how a primary, secondary and cancel button will\nbehave in the modals footer. The props receive an object as such:\n\n```js\n{\n text: 'Save Changes',\n attributes: [\n { variant: 'confirm' },\n { disabled: this.someState },\n { class: 'some-class' },\n ...\n ]\n}\n```\n";
|
|
4
2
|
|
|
5
3
|
var modal_documentation = {
|
|
6
|
-
bootstrapComponent: 'b-modal',
|
|
7
4
|
followsDesignSystem: true,
|
|
8
|
-
description
|
|
9
|
-
examples,
|
|
10
|
-
slots: [{
|
|
11
|
-
name: 'modal-header',
|
|
12
|
-
description: 'Entire modal header container contents (including the close button on the top right corner)'
|
|
13
|
-
}, {
|
|
14
|
-
name: 'modal-title',
|
|
15
|
-
description: 'Modal title. If modal-header slot is used, this slot will not be shown.'
|
|
16
|
-
}, {
|
|
17
|
-
name: 'modal-header-close',
|
|
18
|
-
description: 'Content of Modal header close button. If modal-header slot is used, this slot will not be shown.'
|
|
19
|
-
}, {
|
|
20
|
-
name: 'modal-footer',
|
|
21
|
-
description: 'Populated via props: modal-action-primary, modal-action-cancel and modal-action-secondary.'
|
|
22
|
-
}],
|
|
23
|
-
events: [{
|
|
24
|
-
event: '@primary',
|
|
25
|
-
description: 'Emitted when clicked on modal-action-primary'
|
|
26
|
-
}, {
|
|
27
|
-
event: '@secondary',
|
|
28
|
-
description: 'Emitted when clicked on modal-action-secondary'
|
|
29
|
-
}, {
|
|
30
|
-
event: '@canceled',
|
|
31
|
-
description: 'Emitted when clicked on modal-action-cancel'
|
|
32
|
-
}, {
|
|
33
|
-
event: '@change',
|
|
34
|
-
description: 'Emitted when the modal visibility changes'
|
|
35
|
-
}]
|
|
5
|
+
description
|
|
36
6
|
};
|
|
37
7
|
|
|
38
8
|
export default modal_documentation;
|
|
@@ -151,7 +151,7 @@ var script = {
|
|
|
151
151
|
const __vue_script__ = script;
|
|
152
152
|
|
|
153
153
|
/* template */
|
|
154
|
-
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',_vm._g(_vm._b({ref:"modal",attrs:{"id":_vm.modalId,"title-tag":_vm.titleTag,"size":_vm.size,"visible":_vm.visible,"lazy":"","modal-class":['gl-modal', _vm.modalClass]},on:{"shown":_vm.setFocus,"ok":_vm.primary,"cancel":_vm.canceled,"change":function($event){return _vm.$emit('change', $event)}},scopedSlots:_vm._u([{key:"modal-header",fn:function(){return [_vm._t("modal-header",[_c('h4',{staticClass:"modal-title"},[_vm._t("modal-title",[_vm._v(_vm._s(_vm.title))])],2)]),_vm._v(" "),_c('close-button',{ref:"close-button",attrs:{"label":_vm.dismissLabel},on:{"click":_vm.close}})]},proxy:true}],null,true)},'b-modal',_vm.$attrs,false),_vm.$listeners),[_vm._t("default"),_vm._v(" "),_vm._v(" "),_vm._t("modal-ok",null,{"slot":"modal-ok"}),_vm._v(" "),_vm._t("modal-cancel",null,{"slot":"modal-cancel"}),_vm._v(" "),_vm._t("modal-footer",[(_vm.actionCancel)?_c('gl-button',_vm._b({staticClass:"js-modal-action-cancel",on:{"click":_vm.cancel}},'gl-button',_vm.buttonBinding(_vm.actionCancel, 'actionCancel'),false),[_vm._v("\n
|
|
154
|
+
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',_vm._g(_vm._b({ref:"modal",attrs:{"id":_vm.modalId,"title-tag":_vm.titleTag,"size":_vm.size,"visible":_vm.visible,"lazy":"","modal-class":['gl-modal', _vm.modalClass]},on:{"shown":_vm.setFocus,"ok":_vm.primary,"cancel":_vm.canceled,"change":function($event){return _vm.$emit('change', $event)}},scopedSlots:_vm._u([{key:"modal-header",fn:function(){return [_vm._t("modal-header",[_c('h4',{staticClass:"modal-title"},[_vm._t("modal-title",[_vm._v(_vm._s(_vm.title))])],2)]),_vm._v(" "),_c('close-button',{ref:"close-button",attrs:{"label":_vm.dismissLabel},on:{"click":_vm.close}})]},proxy:true}],null,true)},'b-modal',_vm.$attrs,false),_vm.$listeners),[_vm._t("default"),_vm._v(" "),_vm._v(" "),_vm._t("modal-ok",null,{"slot":"modal-ok"}),_vm._v(" "),_vm._t("modal-cancel",null,{"slot":"modal-cancel"}),_vm._v(" "),_vm._t("modal-footer",[(_vm.actionCancel)?_c('gl-button',_vm._b({staticClass:"js-modal-action-cancel",on:{"click":_vm.cancel}},'gl-button',_vm.buttonBinding(_vm.actionCancel, 'actionCancel'),false),[_vm._v("\n "+_vm._s(_vm.actionCancel.text)+"\n ")]):_vm._e(),_vm._v(" "),(_vm.actionSecondary)?_c('gl-button',_vm._b({staticClass:"js-modal-action-secondary",on:{"click":_vm.secondary}},'gl-button',_vm.buttonBinding(_vm.actionSecondary, 'actionSecondary'),false),[_vm._v("\n "+_vm._s(_vm.actionSecondary.text)+"\n ")]):_vm._e(),_vm._v(" "),(_vm.actionPrimary)?_c('gl-button',_vm._b({staticClass:"js-modal-action-primary",on:{"click":_vm.ok}},'gl-button',_vm.buttonBinding(_vm.actionPrimary, 'actionPrimary'),false),[_vm._v("\n "+_vm._s(_vm.actionPrimary.text)+"\n ")]):_vm._e()],{"slot":"modal-footer"})],2)};
|
|
155
155
|
var __vue_staticRenderFns__ = [];
|
|
156
156
|
|
|
157
157
|
/* style */
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var gauge = "### Gauge Chart\n\nSome layout problems can be encountered with this component. Specifically, when the gauge chart's\naxis labels or detail text have larger widths, they can overlap with the chart elements.\n\nAlso, when the containing element of the gauge chart has either of a small calculated `width` and\n`height`, its axis width could become bulkier in relation to other chart elements. This is because\nat this time [eCharts only allows for setting the axis line width in absolute units](https://echarts.apache.org/en/option.html#series-gauge.axisLine.lineStyle.width).\n\nThis issue is to be addressed by [https://gitlab.com/gitlab-org/gitlab-ui/-/issues/916](https://gitlab.com/gitlab-org/gitlab-ui/-/issues/916).\n";
|
|
1
|
+
var gauge = "Some layout problems can be encountered with this component. Specifically, when the gauge chart's\naxis labels or detail text have larger widths, they can overlap with the chart elements.\n\nAlso, when the containing element of the gauge chart has either of a small calculated `width` and\n`height`, its axis width could become bulkier in relation to other chart elements. This is because\nat this time [eCharts only allows for setting the axis line width in absolute units](https://echarts.apache.org/en/option.html#series-gauge.axisLine.lineStyle.width).\n\nThis issue is to be addressed by [https://gitlab.com/gitlab-org/gitlab-ui/-/issues/916](https://gitlab.com/gitlab-org/gitlab-ui/-/issues/916).\n";
|
|
4
2
|
|
|
5
3
|
var description = /*#__PURE__*/Object.freeze({
|
|
6
4
|
__proto__: null,
|
|
@@ -8,9 +6,7 @@ var description = /*#__PURE__*/Object.freeze({
|
|
|
8
6
|
});
|
|
9
7
|
|
|
10
8
|
var gauge_documentation = {
|
|
11
|
-
description
|
|
12
|
-
examples,
|
|
13
|
-
propsInfo: {}
|
|
9
|
+
description
|
|
14
10
|
};
|
|
15
11
|
|
|
16
12
|
export default gauge_documentation;
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import examples from './examples';
|
|
2
|
-
|
|
3
1
|
var description = "### ECharts custom tooltip\n\nUses GitLab UI's `popover` component in lieu of echart's tooltip.\n";
|
|
4
2
|
|
|
5
3
|
var tooltip_documentation = {
|
|
6
4
|
followsDesignSystem: false,
|
|
7
|
-
description
|
|
8
|
-
examples,
|
|
9
|
-
bootstrapComponent: 'b-popover'
|
|
5
|
+
description
|
|
10
6
|
};
|
|
11
7
|
|
|
12
8
|
export default tooltip_documentation;
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var description = "## Intersperse\n\nThe intersperse component separates a list of elements\nby a given character (the default is `, `).\n\nIt takes all direct descendants of its default slot and inserts\nthe given separator between each item:\n\n`item 1, item 2, item 3`\n\nOptionally the character used for separating each item and the last separator can be set\nindependently:\n\n* `separator=\"/\"` renders `item 1/item 2/item 3`\n* `lastSeparator=\" and \"` will render `item 1, item 2, and item 3`\n* `lastSeparator=\" and \"` and given two items will render `item 1 and item 2`\n\n**Note**:\n\nThe component provides an inline context since the result is wrapped in a `span`.\n\nAlso, whitespace elements that are direct children of the default-slot get removed to ensure\nconsistent formatting.\n\n## Usage\n\n### Default\n\n```html\n<gl-intersperse>\n <span>Item 1</span>\n <span>Item 2</span>\n <span>Item 3</span>\n</gl-intersperse>\n```\n\nThis renders to the following HTML:\n\n```html\n<span><span>Item 1</span>, <span>Item 2</span>, <span>Item 3</span></span>\n```\n\n### Custom Separator\n\nA custom separator can be defined via the `separator` prop:\n\n```html\n<gl-intersperse separator=\"/\">\n <span>Item 1</span>\n <span>Item 2</span>\n <span>Item 3</span>\n</gl-intersperse>\n```\n\nThis renders to the following HTML:\n\n```html\n<span><span>Item 1</span>/<span>Item 2</span>/<span>Item 3</span></span>\n```\n\n### Custom Last Separator\n\nA custom last separator can be defined via the `lastSeparator` prop:\n\n```html\n<gl-intersperse last-separator=\" and \">\n <span>Item 1</span>\n <span>Item 2</span>\n <span>Item 3</span>\n</gl-intersperse>\n```\n\nThis renders to the following HTML:\n\n```html\n<span><span>Item 1</span>, <span>Item 2</span>, and <span>Item 3</span></span>\n```\n\nA custom last separator used on two items will only place `lastSeparator` between them:\n\n```html\n<gl-intersperse last-separator=\" and \">\n <span>Item 1</span>\n <span>Item 2</span>\n</gl-intersperse>\n```\n\nThis renders to the following HTML:\n\n```html\n<span><span>Item 1</span> and <span>Item 2</span></span>\n```\n";
|
|
1
|
+
var description = "The intersperse component separates a list of elements\nby a given character (the default is `, `).\n\nIt takes all direct descendants of its default slot and inserts\nthe given separator between each item:\n\n`item 1, item 2, item 3`\n\nOptionally the character used for separating each item and the last separator can be set\nindependently:\n\n* `separator=\"/\"` renders `item 1/item 2/item 3`\n* `lastSeparator=\" and \"` will render `item 1, item 2, and item 3`\n* `lastSeparator=\" and \"` and given two items will render `item 1 and item 2`\n\n**Note**:\n\nThe component provides an inline context since the result is wrapped in a `span`.\n\nAlso, whitespace elements that are direct children of the default-slot get removed to ensure\nconsistent formatting.\n\n## Usage\n\n### Default\n\n```html\n<gl-intersperse>\n <span>Item 1</span>\n <span>Item 2</span>\n <span>Item 3</span>\n</gl-intersperse>\n```\n\nThis renders to the following HTML:\n\n```html\n<span><span>Item 1</span>, <span>Item 2</span>, <span>Item 3</span></span>\n```\n\n### Custom Separator\n\nA custom separator can be defined via the `separator` prop:\n\n```html\n<gl-intersperse separator=\"/\">\n <span>Item 1</span>\n <span>Item 2</span>\n <span>Item 3</span>\n</gl-intersperse>\n```\n\nThis renders to the following HTML:\n\n```html\n<span><span>Item 1</span>/<span>Item 2</span>/<span>Item 3</span></span>\n```\n\n### Custom Last Separator\n\nA custom last separator can be defined via the `lastSeparator` prop:\n\n```html\n<gl-intersperse last-separator=\" and \">\n <span>Item 1</span>\n <span>Item 2</span>\n <span>Item 3</span>\n</gl-intersperse>\n```\n\nThis renders to the following HTML:\n\n```html\n<span><span>Item 1</span>, <span>Item 2</span>, and <span>Item 3</span></span>\n```\n\nA custom last separator used on two items will only place `lastSeparator` between them:\n\n```html\n<gl-intersperse last-separator=\" and \">\n <span>Item 1</span>\n <span>Item 2</span>\n</gl-intersperse>\n```\n\nThis renders to the following HTML:\n\n```html\n<span><span>Item 1</span> and <span>Item 2</span></span>\n```\n";
|
|
4
2
|
|
|
5
3
|
var intersperse_documentation = {
|
|
6
4
|
followsDesignSystem: false,
|
|
7
|
-
description
|
|
8
|
-
examples
|
|
5
|
+
description
|
|
9
6
|
};
|
|
10
7
|
|
|
11
8
|
export default intersperse_documentation;
|
|
@@ -60,6 +60,7 @@ export const setupStorybookReadme = () =>
|
|
|
60
60
|
'GlTableLite',
|
|
61
61
|
'GlAlert',
|
|
62
62
|
'GlSparklineChart',
|
|
63
|
+
'GlAvatarsInline',
|
|
63
64
|
'GlSprintf',
|
|
64
65
|
'GlLink',
|
|
65
66
|
'GlChart',
|
|
@@ -88,7 +89,9 @@ export const setupStorybookReadme = () =>
|
|
|
88
89
|
'GlFormCheckbox',
|
|
89
90
|
'GlAccordion',
|
|
90
91
|
'GlAccordionItem',
|
|
92
|
+
'GlIntersperse',
|
|
91
93
|
'GlDaterangePicker',
|
|
94
|
+
'GlAvatarLabeled',
|
|
92
95
|
'GlBarChart',
|
|
93
96
|
'GlCarousel',
|
|
94
97
|
'GlMarkdown',
|
|
@@ -104,6 +107,13 @@ export const setupStorybookReadme = () =>
|
|
|
104
107
|
'GlLabel',
|
|
105
108
|
'GlStackedColumnChart',
|
|
106
109
|
'GlDiscreteScatterChart',
|
|
110
|
+
'GlFormCombobox',
|
|
111
|
+
'GlChartTooltip',
|
|
112
|
+
'GlInputGroupText',
|
|
113
|
+
'GlGaugeChart',
|
|
114
|
+
'GlFormRadio',
|
|
115
|
+
'GlModal',
|
|
116
|
+
'GlKeysetPagination',
|
|
107
117
|
],
|
|
108
118
|
components: {
|
|
109
119
|
GlComponentDocumentation,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gitlab/ui",
|
|
3
|
-
"version": "32.
|
|
3
|
+
"version": "32.50.0",
|
|
4
4
|
"description": "GitLab UI Components",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"vue-runtime-helpers": "^1.1.2"
|
|
72
72
|
},
|
|
73
73
|
"peerDependencies": {
|
|
74
|
-
"@gitlab/svgs": "^1.116.0",
|
|
74
|
+
"@gitlab/svgs": "^1.116.0 || ^2.0.0",
|
|
75
75
|
"bootstrap": "4.5.3",
|
|
76
76
|
"pikaday": "^1.8.0",
|
|
77
77
|
"vue": "^2.6.10"
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"@babel/preset-env": "^7.10.2",
|
|
86
86
|
"@gitlab/eslint-plugin": "10.0.0",
|
|
87
87
|
"@gitlab/stylelint-config": "2.6.0",
|
|
88
|
-
"@gitlab/svgs": "
|
|
88
|
+
"@gitlab/svgs": "2.0.0",
|
|
89
89
|
"@rollup/plugin-commonjs": "^11.1.0",
|
|
90
90
|
"@rollup/plugin-node-resolve": "^7.1.3",
|
|
91
91
|
"@rollup/plugin-replace": "^2.3.2",
|
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
import description from './avatar_labeled.md';
|
|
2
|
-
import examples from './examples';
|
|
3
2
|
|
|
4
3
|
export default {
|
|
5
4
|
followsDesignSystem: true,
|
|
6
5
|
description,
|
|
7
|
-
examples,
|
|
8
|
-
slots: [
|
|
9
|
-
{
|
|
10
|
-
name: 'meta',
|
|
11
|
-
description:
|
|
12
|
-
'Meta data to add to the avatar. Generally used for badges or user status emoji.',
|
|
13
|
-
},
|
|
14
|
-
],
|
|
15
6
|
};
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
# Avatar labeled
|
|
2
|
-
|
|
3
|
-
<!-- STORY -->
|
|
4
1
|
## Usage
|
|
5
2
|
|
|
6
3
|
Avatars may also be adjacent to a text alternative, such as a user or project name. In these cases,
|
|
@@ -12,7 +9,7 @@ properties as the avatar component to modify the avatar’s shape and size.
|
|
|
12
9
|
|
|
13
10
|
## Using the component
|
|
14
11
|
|
|
15
|
-
|
|
12
|
+
```js
|
|
16
13
|
<gl-avatar-labeled
|
|
17
14
|
:shape="shape"
|
|
18
15
|
:size="size"
|
|
@@ -20,4 +17,4 @@ properties as the avatar component to modify the avatar’s shape and size.
|
|
|
20
17
|
:label="label"
|
|
21
18
|
:sub-label="subLabel"
|
|
22
19
|
/>
|
|
23
|
-
|
|
20
|
+
```
|