@gravitee/ui-components 3.25.3-typescript-fdacf14 → 3.25.3-typescript-493e1dd

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 (183) hide show
  1. package/package.json +5 -13
  2. package/src/atoms/gv-autocomplete.js +422 -1
  3. package/src/atoms/gv-button.js +397 -1
  4. package/src/atoms/gv-checkbox.js +178 -1
  5. package/src/atoms/gv-date-picker-calendar.js +812 -1
  6. package/src/atoms/gv-date-picker-cell.js +174 -1
  7. package/src/atoms/gv-date-picker.js +638 -1
  8. package/src/atoms/gv-file-upload.js +348 -1
  9. package/src/atoms/gv-icon.js +93 -1
  10. package/src/atoms/gv-image.js +135 -1
  11. package/src/atoms/gv-input-message.js +78 -1
  12. package/src/atoms/gv-input.js +508 -1
  13. package/src/atoms/gv-link.js +204 -1
  14. package/src/atoms/gv-message.js +133 -1
  15. package/src/atoms/gv-metric.js +112 -1
  16. package/src/atoms/gv-relative-time.js +143 -1
  17. package/src/atoms/gv-select-native.js +363 -1
  18. package/src/atoms/gv-select.js +413 -1
  19. package/src/atoms/gv-spinner.js +54 -1
  20. package/src/atoms/gv-state.js +125 -1
  21. package/src/atoms/gv-switch.js +235 -1
  22. package/src/atoms/gv-tag.js +162 -1
  23. package/src/atoms/gv-text.js +160 -1
  24. package/src/charts/gv-chart-bar.js +101 -1
  25. package/src/charts/gv-chart-gauge.js +92 -1
  26. package/src/charts/gv-chart-histogram.js +78 -1
  27. package/src/charts/gv-chart-line.js +218 -1
  28. package/src/charts/gv-chart-map.js +111 -1
  29. package/src/charts/gv-chart-pie.js +89 -1
  30. package/src/index.js +77 -1
  31. package/src/lib/cron-expression.js +176 -1
  32. package/src/lib/date.js +43 -1
  33. package/src/lib/events.js +26 -1
  34. package/src/lib/http-client-schema-form.js +67 -1
  35. package/src/lib/http.js +237 -1
  36. package/src/lib/i18n.js +93 -1
  37. package/src/lib/item.js +110 -1
  38. package/src/lib/properties.js +171 -1
  39. package/src/lib/schema-form.js +39 -1
  40. package/src/lib/studio.js +144 -1
  41. package/src/lib/style.js +39 -1
  42. package/src/lib/text-format.js +65 -1
  43. package/src/lib/theme.js +60 -1
  44. package/src/lib/utils.js +106 -1
  45. package/src/mixins/chart-element.js +153 -1
  46. package/src/mixins/input-element.js +136 -1
  47. package/src/mixins/item-resource.js +102 -1
  48. package/src/mixins/keyboard-element.js +62 -1
  49. package/src/mixins/update-after-browser.js +30 -1
  50. package/src/mixins/with-resize-observer.js +62 -1
  51. package/src/mixins/with-skeleton-attribute.js +109 -1
  52. package/src/molecules/gv-card-full.js +209 -1
  53. package/src/molecules/gv-card-list.js +101 -1
  54. package/src/molecules/gv-card.js +130 -1
  55. package/src/molecules/gv-category-list.js +56 -1
  56. package/src/molecules/gv-category.js +163 -1
  57. package/src/molecules/gv-code.js +334 -1
  58. package/src/molecules/gv-confirm.js +175 -1
  59. package/src/molecules/gv-cron-editor.js +685 -1
  60. package/src/molecules/gv-dropdown-menu.js +108 -1
  61. package/src/molecules/gv-expandable.js +116 -1
  62. package/src/molecules/gv-expression-language.js +263 -1
  63. package/src/molecules/gv-identity-picture.js +139 -1
  64. package/src/molecules/gv-list.js +214 -1
  65. package/src/molecules/gv-metrics.js +147 -1
  66. package/src/molecules/gv-modal.js +203 -1
  67. package/src/molecules/gv-nav.js +180 -1
  68. package/src/molecules/gv-option.js +230 -1
  69. package/src/molecules/gv-plans.js +400 -1
  70. package/src/molecules/gv-popover.js +323 -1
  71. package/src/molecules/gv-promote.js +203 -1
  72. package/src/molecules/gv-rating-list.js +341 -1
  73. package/src/molecules/gv-rating.js +234 -1
  74. package/src/molecules/gv-row-expandable.js +42 -1
  75. package/src/molecules/gv-row.js +205 -1
  76. package/src/molecules/gv-stats.js +110 -1
  77. package/src/molecules/gv-stepper.js +274 -1
  78. package/src/molecules/gv-table.js +644 -1
  79. package/src/molecules/gv-tree.js +238 -1
  80. package/src/organisms/gv-documentation.js +205 -1
  81. package/src/organisms/gv-header.js +276 -1
  82. package/src/organisms/gv-http-client.js +258 -1
  83. package/src/organisms/gv-menu.js +258 -1
  84. package/src/organisms/gv-newsletter-subscription.js +258 -1
  85. package/src/organisms/gv-pagination.js +179 -1
  86. package/src/organisms/gv-properties.js +860 -1
  87. package/src/organisms/gv-resizable-views.js +371 -1
  88. package/src/organisms/gv-resources.js +496 -1
  89. package/src/organisms/gv-schema-form-array.js +237 -1
  90. package/src/organisms/gv-schema-form-control-object.js +141 -1
  91. package/src/organisms/gv-schema-form-control.js +419 -1
  92. package/src/organisms/gv-schema-form.js +700 -1
  93. package/src/organisms/gv-tabs.js +201 -1
  94. package/src/organisms/gv-user-menu.js +298 -1
  95. package/src/organisms/gv-vertical-menu.js +119 -1
  96. package/src/policy-studio/gv-flow-step.js +443 -1
  97. package/src/policy-studio/gv-flow.js +595 -1
  98. package/src/policy-studio/gv-policy-studio-menu.js +689 -1
  99. package/src/policy-studio/gv-policy-studio.js +1712 -1
  100. package/src/styles/empty.js +35 -1
  101. package/src/styles/input.js +262 -1
  102. package/src/styles/link.js +31 -1
  103. package/src/styles/shapes.js +17 -1
  104. package/src/styles/skeleton.js +52 -1
  105. package/src/styles/zoom.js +39 -1
  106. package/src/theme/gv-theme.js +197 -1
  107. package/wc/gv-autocomplete.js +1 -1
  108. package/wc/gv-button.js +1 -1
  109. package/wc/gv-card-full.js +1 -1
  110. package/wc/gv-card-list.js +1 -1
  111. package/wc/gv-card.js +1 -1
  112. package/wc/gv-category-list.js +1 -1
  113. package/wc/gv-category.js +1 -1
  114. package/wc/gv-chart-bar.js +1 -1
  115. package/wc/gv-chart-gauge.js +1 -1
  116. package/wc/gv-chart-histogram.js +1 -1
  117. package/wc/gv-chart-line.js +1 -1
  118. package/wc/gv-chart-map.js +1 -1
  119. package/wc/gv-chart-pie.js +1 -1
  120. package/wc/gv-checkbox.js +1 -1
  121. package/wc/gv-code.js +1 -1
  122. package/wc/gv-confirm.js +1 -1
  123. package/wc/gv-cron-editor.js +1 -1
  124. package/wc/gv-date-picker-calendar.js +1 -1
  125. package/wc/gv-date-picker-cell.js +1 -1
  126. package/wc/gv-date-picker.js +1 -1
  127. package/wc/gv-documentation.js +1 -1
  128. package/wc/gv-dropdown-menu.js +1 -1
  129. package/wc/gv-expandable.js +1 -1
  130. package/wc/gv-expression-language.js +1 -1
  131. package/wc/gv-file-upload.js +1 -1
  132. package/wc/gv-flow-step.js +1 -1
  133. package/wc/gv-flow.js +1 -1
  134. package/wc/gv-header.js +1 -1
  135. package/wc/gv-http-client.js +1 -1
  136. package/wc/gv-icon.js +1 -1
  137. package/wc/gv-identity-picture.js +1 -1
  138. package/wc/gv-image.js +1 -1
  139. package/wc/gv-input-message.js +1 -1
  140. package/wc/gv-input.js +1 -1
  141. package/wc/gv-link.js +1 -1
  142. package/wc/gv-list.js +1 -1
  143. package/wc/gv-menu.js +1 -1
  144. package/wc/gv-message.js +1 -1
  145. package/wc/gv-metric.js +1 -1
  146. package/wc/gv-metrics.js +1 -1
  147. package/wc/gv-modal.js +1 -1
  148. package/wc/gv-nav.js +1 -1
  149. package/wc/gv-newsletter-subscription.js +1 -1
  150. package/wc/gv-option.js +1 -1
  151. package/wc/gv-pagination.js +1 -1
  152. package/wc/gv-plans.js +1 -1
  153. package/wc/gv-policy-studio-menu.js +1 -1
  154. package/wc/gv-policy-studio.js +1 -1
  155. package/wc/gv-popover.js +1 -1
  156. package/wc/gv-promote.js +1 -1
  157. package/wc/gv-properties.js +1 -1
  158. package/wc/gv-rating-list.js +1 -1
  159. package/wc/gv-rating.js +1 -1
  160. package/wc/gv-relative-time.js +1 -1
  161. package/wc/gv-resizable-views.js +1 -1
  162. package/wc/gv-resources.js +1 -1
  163. package/wc/gv-row-expandable.js +1 -1
  164. package/wc/gv-row.js +1 -1
  165. package/wc/gv-schema-form-array.js +1 -1
  166. package/wc/gv-schema-form-control-object.js +1 -1
  167. package/wc/gv-schema-form-control.js +1 -1
  168. package/wc/gv-schema-form.js +1 -1
  169. package/wc/gv-select-native.js +1 -1
  170. package/wc/gv-select.js +1 -1
  171. package/wc/gv-spinner.js +1 -1
  172. package/wc/gv-state.js +1 -1
  173. package/wc/gv-stats.js +1 -1
  174. package/wc/gv-stepper.js +1 -1
  175. package/wc/gv-switch.js +1 -1
  176. package/wc/gv-table.js +1 -1
  177. package/wc/gv-tabs.js +1 -1
  178. package/wc/gv-tag.js +1 -1
  179. package/wc/gv-text.js +1 -1
  180. package/wc/gv-theme.js +1 -1
  181. package/wc/gv-tree.js +1 -1
  182. package/wc/gv-user-menu.js +1 -1
  183. package/wc/gv-vertical-menu.js +1 -1
@@ -1 +1,179 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.GvPagination=void 0;const t=require("lit"),i=require("../lib/events");require("../atoms/gv-button");const e=require("../lib/i18n");class s extends t.LitElement{static get properties(){return{data:{type:Object},hideEmpty:{type:Boolean,attribute:"hide-empty"},widget:{type:Boolean},disabled:{type:Boolean},_first:{type:Number},_last:{type:Number},_current:{type:Number},_total:{type:Number}}}static get styles(){return[t.css`.pagination{--font-size:var(--gv-pagination--fz, var(--gv-theme-font-size-s, 12px));font-size:var(--fz);--gv-button--fz:var(--fz);display:flex;align-items:center}gv-button{--gv-icon--s:var(--gv-pagination-icon--s, 18px);min-width:29px}gv-input{width:50px}`]}constructor(){super(),this.hideEmpty=!1,this.hasInput=!1,this.max=10,this.center=this.max/2-1,this.sizes=[],this.links={}}set data(t){t&&(this._last=t.last,this._current=parseInt(t.current_page),this._pages=t.total_pages,this._pages<this.max&&(this.max=this._pages))}_goToPage(t){this._current=parseInt(t),(0,i.dispatchCustomEvent)(this,"paginate",{page:t})}_onSubmit(t){const i=t.target.value;this._goToPage(i)}_onClickToSearch(){const t=this.shadowRoot.querySelector("gv-input").value;t&&this._goToPage(t)}_renderPagination(){const i=[];for(let t=0;t<this._pages;t++)i.push(t+1);let s=i.slice(0,this._current-1),n=i.slice(this._current);if(i.length>this.max){let t=s.length-this.center-1,i=this.max-this._current>this.center?this.max-this._current:this.center;if(t>0){i=this.center;const e=this._last-this._current-i;e<0&&(t+=e),s=s.slice(t)}n=n.slice(0,i)}const a=s.map((i=>t.html`<gv-button small outlined @click="${this._goToPage.bind(this,i)}">${i}</gv-button>`)),h=n.map((i=>t.html`<gv-button small outlined @click="${this._goToPage.bind(this,i)}">${i}</gv-button>`));return a.unshift(t.html`<gv-button small .disabled="${this.disabled||0===a.length}" .icon="${this.widget?"navigation:angle-left":null}" .title="${(0,e.i18n)("gv-pagination.previous")}" outlined @click="${0===a.length?()=>{}:this._goToPage.bind(this,this._current-1)}">${this.widget?"":(0,e.i18n)("gv-pagination.previous")}</gv-button>`),h.push(t.html`<gv-button small .disabled="${this.disabled||0===h.length}" .icon="${this.widget?"navigation:angle-right":null}" .title="${(0,e.i18n)("gv-pagination.next")}" outlined @click="${0===h.length?()=>{}:this._goToPage.bind(this,this._current+1)}">${this.widget?"":(0,e.i18n)("gv-pagination.next")}</gv-button>`),t.html`${this.widget?a.slice(0,1):a} ${t.html`<gv-button .disabled="${this.disabled}" small primary>${this.widget?this._current+" / "+i.length:this._current}</gv-button>`} ${this.widget?h.slice(h.length-1,h.length):h}`}_hasData(){return this._pages&&this._last&&this._current}_hideEmpty(){return this._hasData()&&this.hideEmpty&&this._pages<2}render(){return this._hasData()&&!this._hideEmpty()?t.html`<div class="pagination">${this.hasInput?t.html`<gv-input class="goto" @gv-input:submit="${this._onSubmit}" type="number" min="1" max="${this._pages}" placeholder="Page" small></gv-input><gv-button small outlined @click="${this._onClickToSearch}" icon="general:search"></gv-button>`:""} ${this._renderPagination()}</div>`:t.html``}}exports.GvPagination=s,window.customElements.define("gv-pagination",s);
1
+ /*
2
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { LitElement, html, css } from 'lit';
17
+ import { dispatchCustomEvent } from '../lib/events';
18
+ import '../atoms/gv-button';
19
+ import { i18n } from '../lib/i18n';
20
+ /**
21
+ * A pagination
22
+ *
23
+ * ## Details
24
+ * * has @theme facet
25
+ *
26
+ * @fires gv-pagination:paginate - Custom event with pagination link
27
+ *
28
+ * @attr {Object} data - Pagination information {first, last, total, current_page}
29
+ * @attr {Boolean} hide-empty - hide component if no page or no data.
30
+ * @attr {Boolean} widget - display widget pagination (with arrows).
31
+ * @attr {Boolean} disabled - same as native button element `disabled` attribute
32
+ *
33
+ * @cssprop {Length} [--gv-pagination--fz=var(--gv-theme-font-size-s, 12px)] - Font size
34
+ * @cssprop {Length} [--gv-pagination-icon--s=18px] - Height and icon width
35
+ */
36
+ export class GvPagination extends LitElement {
37
+ static get properties() {
38
+ return {
39
+ data: { type: Object },
40
+ hideEmpty: { type: Boolean, attribute: 'hide-empty' },
41
+ widget: { type: Boolean },
42
+ disabled: { type: Boolean },
43
+ _first: { type: Number },
44
+ _last: { type: Number },
45
+ _current: { type: Number },
46
+ _total: { type: Number },
47
+ };
48
+ }
49
+ static get styles() {
50
+ return [
51
+ // language=css
52
+ css `
53
+ .pagination {
54
+ --font-size: var(--gv-pagination--fz, var(--gv-theme-font-size-s, 12px));
55
+ font-size: var(--fz);
56
+ --gv-button--fz: var(--fz);
57
+ display: flex;
58
+ align-items: center;
59
+ }
60
+
61
+ gv-button {
62
+ --gv-icon--s: var(--gv-pagination-icon--s, 18px);
63
+ min-width: 29px;
64
+ }
65
+
66
+ gv-input {
67
+ width: 50px;
68
+ }
69
+ `,
70
+ ];
71
+ }
72
+ constructor() {
73
+ super();
74
+ this.hideEmpty = false;
75
+ this.hasInput = false;
76
+ this.max = 10;
77
+ this.center = this.max / 2 - 1;
78
+ this.sizes = [];
79
+ this.links = {};
80
+ }
81
+ set data(data) {
82
+ if (data) {
83
+ this._last = data.last;
84
+ this._current = parseInt(data.current_page);
85
+ this._pages = data.total_pages;
86
+ if (this._pages < this.max) {
87
+ this.max = this._pages;
88
+ }
89
+ }
90
+ }
91
+ _goToPage(page) {
92
+ this._current = parseInt(page);
93
+ dispatchCustomEvent(this, 'paginate', { page: page });
94
+ }
95
+ _onSubmit(e) {
96
+ const page = e.target.value;
97
+ this._goToPage(page);
98
+ }
99
+ _onClickToSearch() {
100
+ const page = this.shadowRoot.querySelector('gv-input').value;
101
+ if (page) {
102
+ this._goToPage(page);
103
+ }
104
+ }
105
+ _renderPagination() {
106
+ const pagination = [];
107
+ for (let i = 0; i < this._pages; i++) {
108
+ pagination.push(i + 1);
109
+ }
110
+ let left = pagination.slice(0, this._current - 1);
111
+ let right = pagination.slice(this._current);
112
+ if (pagination.length > this.max) {
113
+ const dL = left.length;
114
+ let removeL = dL - this.center - 1;
115
+ let addRight = this.max - this._current > this.center ? this.max - this._current : this.center;
116
+ if (removeL > 0) {
117
+ addRight = this.center;
118
+ const diff = this._last - this._current - addRight;
119
+ if (diff < 0) {
120
+ removeL += diff;
121
+ }
122
+ left = left.slice(removeL);
123
+ }
124
+ right = right.slice(0, addRight);
125
+ }
126
+ const leftP = left.map((i) => html `<gv-button small outlined @click="${this._goToPage.bind(this, i)}">${i}</gv-button>`);
127
+ const rightP = right.map((i) => html `<gv-button small outlined @click="${this._goToPage.bind(this, i)}">${i}</gv-button>`);
128
+ leftP.unshift(html `<gv-button
129
+ small
130
+ .disabled="${this.disabled || leftP.length === 0}"
131
+ .icon="${this.widget ? 'navigation:angle-left' : null}"
132
+ .title="${i18n('gv-pagination.previous')}"
133
+ outlined
134
+ @click="${leftP.length === 0 ? () => { } : this._goToPage.bind(this, this._current - 1)}"
135
+ >${this.widget ? '' : i18n('gv-pagination.previous')}</gv-button
136
+ >`);
137
+ rightP.push(html `<gv-button
138
+ small
139
+ .disabled="${this.disabled || rightP.length === 0}"
140
+ .icon="${this.widget ? 'navigation:angle-right' : null}"
141
+ .title="${i18n('gv-pagination.next')}"
142
+ outlined
143
+ @click="${rightP.length === 0 ? () => { } : this._goToPage.bind(this, this._current + 1)}"
144
+ >${this.widget ? '' : i18n('gv-pagination.next')}</gv-button
145
+ >`);
146
+ return html `${this.widget ? leftP.slice(0, 1) : leftP}
147
+ ${html `<gv-button .disabled="${this.disabled}" small primary
148
+ >${this.widget ? this._current + ' / ' + pagination.length : this._current}</gv-button
149
+ >`}
150
+ ${this.widget ? rightP.slice(rightP.length - 1, rightP.length) : rightP}`;
151
+ }
152
+ _hasData() {
153
+ return this._pages && this._last && this._current;
154
+ }
155
+ _hideEmpty() {
156
+ return this._hasData() && this.hideEmpty && this._pages < 2;
157
+ }
158
+ render() {
159
+ if (this._hasData() && !this._hideEmpty()) {
160
+ return html `<div class="pagination">
161
+ ${this.hasInput
162
+ ? html `<gv-input
163
+ class="goto"
164
+ @gv-input:submit="${this._onSubmit}"
165
+ type="number"
166
+ min="1"
167
+ max="${this._pages}"
168
+ placeholder="Page"
169
+ small
170
+ ></gv-input>
171
+ <gv-button small outlined @click="${this._onClickToSearch}" icon="general:search"></gv-button>`
172
+ : ''}
173
+ ${this._renderPagination()}
174
+ </div> `;
175
+ }
176
+ return html ``;
177
+ }
178
+ }
179
+ window.customElements.define('gv-pagination', GvPagination);