@emuanalytics/flow-rdf-ui 0.0.19 → 0.0.21

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.
@@ -3216,6 +3216,10 @@ export declare class FlowTabPanel extends FlowRdfElement {
3216
3216
  name: string;
3217
3217
  /** When true, the tab panel will be shown. */
3218
3218
  active: boolean;
3219
+ /**
3220
+ * Indicates whether the panel is scrollable. By default overflow is hidden.
3221
+ */
3222
+ scrollable: boolean;
3219
3223
  connectedCallback(): void;
3220
3224
  handleActiveChange(): void;
3221
3225
  render(): TemplateResult<1>;
@@ -19767,14 +19767,24 @@ const styles$r = i$8`
19767
19767
  overflow: hidden;
19768
19768
  }
19769
19769
 
19770
+ /* For scrollable panel - enable scroll and (optionally) add padding to scrollable content */
19770
19771
  .panel--scrollable .panel__body-wrapper {
19771
19772
  overflow-y: auto;
19772
19773
  }
19773
19774
 
19774
- .panel--with-padding .panel__body {
19775
+ .panel--scrollable.panel--with-padding .panel__body {
19775
19776
  padding: var(--padding);
19776
19777
  }
19777
19778
 
19779
+ /* For non-scrollable panel - fix body at 100% and disable scroll. Padding is added to wrapper */
19780
+ .panel.panel--with-padding:not(.panel--scrollable) .panel__body-wrapper {
19781
+ padding: var(--padding);
19782
+ }
19783
+
19784
+ .panel:not(.panel--scrollable) .panel__body {
19785
+ height: 100%;
19786
+ overflow-y: hidden;
19787
+ }
19778
19788
  `;
19779
19789
  var __defProp$r = Object.defineProperty;
19780
19790
  var __getOwnPropDesc$r = Object.getOwnPropertyDescriptor;
@@ -28062,7 +28072,8 @@ const styles$9 = i$8`
28062
28072
  }
28063
28073
 
28064
28074
  /* Ensure nav is positioned when tab-group is placed in a split panel and the panel is closed */
28065
- .tab-group--end, .tab-group--bottom {
28075
+ .tab-group--end,
28076
+ .tab-group--bottom {
28066
28077
  justify-content: end;
28067
28078
  }
28068
28079
 
@@ -28129,6 +28140,11 @@ const styles$9 = i$8`
28129
28140
  width: var(--flow-ui-spacing-x-large);
28130
28141
  }
28131
28142
 
28143
+ /* Make tab panels take up full height */
28144
+ ::slotted(flow-ui-tab-panel) {
28145
+ height: 100%;
28146
+ }
28147
+
28132
28148
  /*
28133
28149
  * Top
28134
28150
  */
@@ -28267,7 +28283,7 @@ const styles$9 = i$8`
28267
28283
 
28268
28284
  .tab-group--start .tab-group__track {
28269
28285
  height: 100%;
28270
- right:0;
28286
+ right: 0;
28271
28287
  border-right: solid var(--track-width) var(--track-color);
28272
28288
  }
28273
28289
 
@@ -28408,7 +28424,6 @@ const styles$9 = i$8`
28408
28424
  top: auto;
28409
28425
  bottom: 0;
28410
28426
  }
28411
-
28412
28427
  `;
28413
28428
  var __defProp$9 = Object.defineProperty;
28414
28429
  var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
@@ -28807,18 +28822,47 @@ const styles$8 = i$8`
28807
28822
  ${componentStyles}
28808
28823
 
28809
28824
  :host {
28810
- --padding: 0;
28811
28825
  display: none;
28826
+ min-height: 0;
28827
+
28828
+ --padding: 0;
28812
28829
  }
28813
28830
 
28814
28831
  :host([active]) {
28815
28832
  display: block;
28816
28833
  }
28817
28834
 
28818
- .tab-panel {
28819
- display: block;
28835
+ .panel {
28836
+ height: 100%;
28837
+ display: flex;
28838
+ flex-direction: column;
28839
+ }
28840
+
28841
+ /* Body */
28842
+ .panel__body-wrapper {
28843
+ flex: 1;
28844
+ min-height: 0;
28845
+ overflow: hidden;
28846
+ }
28847
+
28848
+ /* For scrollable panel - enable scroll and (optionally) add padding to scrollable content */
28849
+ .panel--scrollable .panel__body-wrapper {
28850
+ overflow-y: auto;
28851
+ }
28852
+
28853
+ .panel--scrollable .panel__body {
28854
+ padding: var(--padding);
28855
+ }
28856
+
28857
+ /* For non-scrollable panel - fix body at 100% and disable scroll. Padding is added to wrapper */
28858
+ .panel:not(.panel--scrollable) .panel__body-wrapper {
28820
28859
  padding: var(--padding);
28821
28860
  }
28861
+
28862
+ .panel:not(.panel--scrollable) .panel__body {
28863
+ height: 100%;
28864
+ overflow-y: hidden;
28865
+ }
28822
28866
  `;
28823
28867
  var __defProp$8 = Object.defineProperty;
28824
28868
  var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
@@ -28839,6 +28883,7 @@ let FlowTabPanel = class extends FlowRdfElement {
28839
28883
  this.componentId = `flow-ui-tab-panel-${this.attrId}`;
28840
28884
  this.name = "";
28841
28885
  this.active = false;
28886
+ this.scrollable = false;
28842
28887
  }
28843
28888
  connectedCallback() {
28844
28889
  super.connectedCallback();
@@ -28850,13 +28895,19 @@ let FlowTabPanel = class extends FlowRdfElement {
28850
28895
  }
28851
28896
  render() {
28852
28897
  return x$2`
28853
- <slot
28854
- part="base"
28898
+ <div
28855
28899
  class=${o$9({
28856
- "tab-panel": true,
28857
- "tab-panel--active": this.active
28900
+ panel: true,
28901
+ "panel--active": this.active,
28902
+ "panel--scrollable": this.scrollable
28858
28903
  })}
28859
- ></slot>
28904
+ >
28905
+ <div class="panel__body-wrapper">
28906
+ <div part="body" class="panel__body">
28907
+ <slot></slot>
28908
+ </div>
28909
+ </div>
28910
+ </div>
28860
28911
  `;
28861
28912
  }
28862
28913
  };
@@ -28867,6 +28918,9 @@ __decorateClass$8([
28867
28918
  __decorateClass$8([
28868
28919
  n$8({ type: Boolean, reflect: true })
28869
28920
  ], FlowTabPanel.prototype, "active", 2);
28921
+ __decorateClass$8([
28922
+ n$8({ type: Boolean, reflect: true })
28923
+ ], FlowTabPanel.prototype, "scrollable", 2);
28870
28924
  __decorateClass$8([
28871
28925
  watch("active")
28872
28926
  ], FlowTabPanel.prototype, "handleActiveChange", 1);
@@ -31298,6 +31352,9 @@ class FlowToolButtonGroup extends FlowRdfElement {
31298
31352
  }
31299
31353
  handleButtonClick(event) {
31300
31354
  const target = event.target.closest("flow-ui-tool-button");
31355
+ if (!target) {
31356
+ return;
31357
+ }
31301
31358
  const toolButtons = this.getAllToolButtons();
31302
31359
  const oldValue = this.value;
31303
31360
  if (target.disabled) {
@@ -31970,7 +32027,7 @@ const translation = {
31970
32027
  toggleColorFormat: "Toggle color format"
31971
32028
  };
31972
32029
  registerTranslation(translation);
31973
- const version = "0.0.19";
32030
+ const version = "0.0.21";
31974
32031
  const CONSOLE_HIGHLIGHT_STYLE = `
31975
32032
  padding: 2px 4px;
31976
32033
  border-radius: 2px;
@@ -19769,14 +19769,24 @@ var __publicField = (obj, key, value) => {
19769
19769
  overflow: hidden;
19770
19770
  }
19771
19771
 
19772
+ /* For scrollable panel - enable scroll and (optionally) add padding to scrollable content */
19772
19773
  .panel--scrollable .panel__body-wrapper {
19773
19774
  overflow-y: auto;
19774
19775
  }
19775
19776
 
19776
- .panel--with-padding .panel__body {
19777
+ .panel--scrollable.panel--with-padding .panel__body {
19777
19778
  padding: var(--padding);
19778
19779
  }
19779
19780
 
19781
+ /* For non-scrollable panel - fix body at 100% and disable scroll. Padding is added to wrapper */
19782
+ .panel.panel--with-padding:not(.panel--scrollable) .panel__body-wrapper {
19783
+ padding: var(--padding);
19784
+ }
19785
+
19786
+ .panel:not(.panel--scrollable) .panel__body {
19787
+ height: 100%;
19788
+ overflow-y: hidden;
19789
+ }
19780
19790
  `;
19781
19791
  var __defProp$r = Object.defineProperty;
19782
19792
  var __getOwnPropDesc$r = Object.getOwnPropertyDescriptor;
@@ -28064,7 +28074,8 @@ body > .os-scrollbar {
28064
28074
  }
28065
28075
 
28066
28076
  /* Ensure nav is positioned when tab-group is placed in a split panel and the panel is closed */
28067
- .tab-group--end, .tab-group--bottom {
28077
+ .tab-group--end,
28078
+ .tab-group--bottom {
28068
28079
  justify-content: end;
28069
28080
  }
28070
28081
 
@@ -28131,6 +28142,11 @@ body > .os-scrollbar {
28131
28142
  width: var(--flow-ui-spacing-x-large);
28132
28143
  }
28133
28144
 
28145
+ /* Make tab panels take up full height */
28146
+ ::slotted(flow-ui-tab-panel) {
28147
+ height: 100%;
28148
+ }
28149
+
28134
28150
  /*
28135
28151
  * Top
28136
28152
  */
@@ -28269,7 +28285,7 @@ body > .os-scrollbar {
28269
28285
 
28270
28286
  .tab-group--start .tab-group__track {
28271
28287
  height: 100%;
28272
- right:0;
28288
+ right: 0;
28273
28289
  border-right: solid var(--track-width) var(--track-color);
28274
28290
  }
28275
28291
 
@@ -28410,7 +28426,6 @@ body > .os-scrollbar {
28410
28426
  top: auto;
28411
28427
  bottom: 0;
28412
28428
  }
28413
-
28414
28429
  `;
28415
28430
  var __defProp$9 = Object.defineProperty;
28416
28431
  var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
@@ -28809,18 +28824,47 @@ body > .os-scrollbar {
28809
28824
  ${componentStyles}
28810
28825
 
28811
28826
  :host {
28812
- --padding: 0;
28813
28827
  display: none;
28828
+ min-height: 0;
28829
+
28830
+ --padding: 0;
28814
28831
  }
28815
28832
 
28816
28833
  :host([active]) {
28817
28834
  display: block;
28818
28835
  }
28819
28836
 
28820
- .tab-panel {
28821
- display: block;
28837
+ .panel {
28838
+ height: 100%;
28839
+ display: flex;
28840
+ flex-direction: column;
28841
+ }
28842
+
28843
+ /* Body */
28844
+ .panel__body-wrapper {
28845
+ flex: 1;
28846
+ min-height: 0;
28847
+ overflow: hidden;
28848
+ }
28849
+
28850
+ /* For scrollable panel - enable scroll and (optionally) add padding to scrollable content */
28851
+ .panel--scrollable .panel__body-wrapper {
28852
+ overflow-y: auto;
28853
+ }
28854
+
28855
+ .panel--scrollable .panel__body {
28856
+ padding: var(--padding);
28857
+ }
28858
+
28859
+ /* For non-scrollable panel - fix body at 100% and disable scroll. Padding is added to wrapper */
28860
+ .panel:not(.panel--scrollable) .panel__body-wrapper {
28822
28861
  padding: var(--padding);
28823
28862
  }
28863
+
28864
+ .panel:not(.panel--scrollable) .panel__body {
28865
+ height: 100%;
28866
+ overflow-y: hidden;
28867
+ }
28824
28868
  `;
28825
28869
  var __defProp$8 = Object.defineProperty;
28826
28870
  var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
@@ -28841,6 +28885,7 @@ body > .os-scrollbar {
28841
28885
  this.componentId = `flow-ui-tab-panel-${this.attrId}`;
28842
28886
  this.name = "";
28843
28887
  this.active = false;
28888
+ this.scrollable = false;
28844
28889
  }
28845
28890
  connectedCallback() {
28846
28891
  super.connectedCallback();
@@ -28852,13 +28897,19 @@ body > .os-scrollbar {
28852
28897
  }
28853
28898
  render() {
28854
28899
  return x$2`
28855
- <slot
28856
- part="base"
28900
+ <div
28857
28901
  class=${o$9({
28858
- "tab-panel": true,
28859
- "tab-panel--active": this.active
28902
+ panel: true,
28903
+ "panel--active": this.active,
28904
+ "panel--scrollable": this.scrollable
28860
28905
  })}
28861
- ></slot>
28906
+ >
28907
+ <div class="panel__body-wrapper">
28908
+ <div part="body" class="panel__body">
28909
+ <slot></slot>
28910
+ </div>
28911
+ </div>
28912
+ </div>
28862
28913
  `;
28863
28914
  }
28864
28915
  };
@@ -28869,6 +28920,9 @@ body > .os-scrollbar {
28869
28920
  __decorateClass$8([
28870
28921
  n$8({ type: Boolean, reflect: true })
28871
28922
  ], exports2.FlowTabPanel.prototype, "active", 2);
28923
+ __decorateClass$8([
28924
+ n$8({ type: Boolean, reflect: true })
28925
+ ], exports2.FlowTabPanel.prototype, "scrollable", 2);
28872
28926
  __decorateClass$8([
28873
28927
  watch("active")
28874
28928
  ], exports2.FlowTabPanel.prototype, "handleActiveChange", 1);
@@ -31300,6 +31354,9 @@ body > .os-scrollbar {
31300
31354
  }
31301
31355
  handleButtonClick(event) {
31302
31356
  const target = event.target.closest("flow-ui-tool-button");
31357
+ if (!target) {
31358
+ return;
31359
+ }
31303
31360
  const toolButtons = this.getAllToolButtons();
31304
31361
  const oldValue = this.value;
31305
31362
  if (target.disabled) {
@@ -31972,7 +32029,7 @@ body > .os-scrollbar {
31972
32029
  toggleColorFormat: "Toggle color format"
31973
32030
  };
31974
32031
  registerTranslation(translation);
31975
- const version = "0.0.19";
32032
+ const version = "0.0.21";
31976
32033
  const CONSOLE_HIGHLIGHT_STYLE = `
31977
32034
  padding: 2px 4px;
31978
32035
  border-radius: 2px;
@@ -132,6 +132,46 @@
132
132
  ],
133
133
  "references": []
134
134
  },
135
+ {
136
+ "name": "flow-ui-breadcrumb",
137
+ "description": "Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - One or more breadcrumb items to display.\n- **separator** - The separator to use between breadcrumb items. Works best with `<flow-ui-icon>`.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
138
+ "attributes": [
139
+ {
140
+ "name": "label",
141
+ "description": "The label to use for the breadcrumb control. This will not be shown on the screen, but it will be announced by\nscreen readers and other assistive devices to provide more context for users.",
142
+ "values": []
143
+ }
144
+ ],
145
+ "references": []
146
+ },
147
+ {
148
+ "name": "flow-ui-badge",
149
+ "description": "Badges are used to draw attention and display statuses or counts.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The badge's content.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
150
+ "attributes": [
151
+ {
152
+ "name": "variant",
153
+ "description": "The badge's theme variant.",
154
+ "values": [
155
+ { "name": "primary" },
156
+ { "name": "success" },
157
+ { "name": "neutral" },
158
+ { "name": "warning" },
159
+ { "name": "danger" }
160
+ ]
161
+ },
162
+ {
163
+ "name": "pill",
164
+ "description": "Draws a pill-style badge with rounded edges.",
165
+ "values": []
166
+ },
167
+ {
168
+ "name": "pulse",
169
+ "description": "Makes the badge pulsate to draw attention.",
170
+ "values": []
171
+ }
172
+ ],
173
+ "references": []
174
+ },
135
175
  {
136
176
  "name": "flow-ui-breadcrumb-item",
137
177
  "description": "Breadcrumb Items are used inside [breadcrumbs](/components/breadcrumb) to represent different links.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The breadcrumb item's label.\n- **prefix** - An optional prefix, usually an icon or icon button.\n- **suffix** - An optional suffix, usually an icon or icon button.\n- **separator** - The separator to use for the breadcrumb item. This will only change the separator for this item. If you want to change it for all items in the group, set the separator on `<flow-ui-breadcrumb>` instead.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **label** - The breadcrumb item's label.\n- **prefix** - The container that wraps the prefix.\n- **suffix** - The container that wraps the suffix.\n- **separator** - The container that wraps the separator.",
@@ -316,46 +356,6 @@
316
356
  ],
317
357
  "references": []
318
358
  },
319
- {
320
- "name": "flow-ui-badge",
321
- "description": "Badges are used to draw attention and display statuses or counts.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The badge's content.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
322
- "attributes": [
323
- {
324
- "name": "variant",
325
- "description": "The badge's theme variant.",
326
- "values": [
327
- { "name": "primary" },
328
- { "name": "success" },
329
- { "name": "neutral" },
330
- { "name": "warning" },
331
- { "name": "danger" }
332
- ]
333
- },
334
- {
335
- "name": "pill",
336
- "description": "Draws a pill-style badge with rounded edges.",
337
- "values": []
338
- },
339
- {
340
- "name": "pulse",
341
- "description": "Makes the badge pulsate to draw attention.",
342
- "values": []
343
- }
344
- ],
345
- "references": []
346
- },
347
- {
348
- "name": "flow-ui-breadcrumb",
349
- "description": "Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - One or more breadcrumb items to display.\n- **separator** - The separator to use between breadcrumb items. Works best with `<flow-ui-icon>`.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
350
- "attributes": [
351
- {
352
- "name": "label",
353
- "description": "The label to use for the breadcrumb control. This will not be shown on the screen, but it will be announced by\nscreen readers and other assistive devices to provide more context for users.",
354
- "values": []
355
- }
356
- ],
357
- "references": []
358
- },
359
359
  {
360
360
  "name": "flow-ui-card",
361
361
  "description": "Cards can be used to group related subjects in a container.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The card's main content.\n- **header** - An optional header for the card.\n- **footer** - An optional footer for the card.\n- **image** - An optional image to render at the start of the card.\n\n### **CSS Properties:**\n - **--border-color** - The card's border color, including borders that occur inside the card. _(default: undefined)_\n- **--border-radius** - The border radius for the card's edges. _(default: undefined)_\n- **--border-width** - The width of the card's borders. _(default: undefined)_\n- **--padding** - The padding to use for the card's sections. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **image** - The container that wraps the card's image.\n- **header** - The container that wraps the card's header.\n- **body** - The container that wraps the card's main content.\n- **footer** - The container that wraps the card's footer.",
@@ -1672,6 +1672,11 @@
1672
1672
  "name": "active",
1673
1673
  "description": "When true, the tab panel will be shown.",
1674
1674
  "values": []
1675
+ },
1676
+ {
1677
+ "name": "scrollable",
1678
+ "description": "Indicates whether the panel is scrollable. By default overflow is hidden.",
1679
+ "values": []
1675
1680
  }
1676
1681
  ],
1677
1682
  "references": []
@@ -1941,12 +1946,6 @@
1941
1946
  ],
1942
1947
  "references": []
1943
1948
  },
1944
- {
1945
- "name": "flow-ui-visually-hidden",
1946
- "description": "The visually hidden utility makes content accessible to assistive devices without displaying it on the screen.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The content to be visually hidden.",
1947
- "attributes": [],
1948
- "references": []
1949
- },
1950
1949
  {
1951
1950
  "name": "flow-ui-tree-item",
1952
1951
  "description": "A tree item serves as a hierarchical node that lives inside a [tree](/components/tree).\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-expand** - Emitted when the tree item expands.\n- **flow-ui-after-expand** - Emitted after the tree item expands and all animations are complete.\n- **flow-ui-collapse** - Emitted when the tree item collapses.\n- **flow-ui-after-collapse** - Emitted after the tree item collapses and all animations are complete.\n- **flow-ui-lazy-change** - Emitted when the tree item's lazy state changes.\n- **flow-ui-lazy-load** - Emitted when a lazy item is selected. Use this event to asynchronously load data and append items to the tree before expanding. After appending new items, remove the `lazy` attribute to remove the loading state and update the tree.\n\n### **Methods:**\n - **getChildrenItems({ includeDisabled = true }: _{ includeDisabled?: boolean }_): _FlowTreeItem[]_** - Gets all the nested tree items in this node.\n\n### **Slots:**\n - _default_ - The default slot.\n- **expand-icon** - The icon to show when the tree item is expanded.\n- **collapse-icon** - The icon to show when the tree item is collapsed.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **item** - The tree item's container. This element wraps everything except slotted tree item children.\n- **item--disabled** - Applied when the tree item is disabled.\n- **item--expanded** - Applied when the tree item is expanded.\n- **item--indeterminate** - Applied when the selection is indeterminate.\n- **item--selected** - Applied when the tree item is selected.\n- **indentation** - The tree item's indentation container.\n- **expand-button** - The container that wraps the tree item's expand button and spinner.\n- **label** - The tree item's label.\n- **children** - The container that wraps the tree item's nested children.\n- **checkbox** - The checkbox that shows when using multiselect.\n- **checkbox__base** - The checkbox's exported `base` part.\n- **checkbox__control** - The checkbox's exported `control` part.\n- **checkbox__control--checked** - The checkbox's exported `control--checked` part.\n- **checkbox__control--indeterminate** - The checkbox's exported `control--indeterminate` part.\n- **checkbox__checked-icon** - The checkbox's exported `checked-icon` part.\n- **checkbox__indeterminate-icon** - The checkbox's exported `indeterminate-icon` part.\n- **checkbox__label** - The checkbox's exported `label` part.",
@@ -1973,6 +1972,12 @@
1973
1972
  }
1974
1973
  ],
1975
1974
  "references": []
1975
+ },
1976
+ {
1977
+ "name": "flow-ui-visually-hidden",
1978
+ "description": "The visually hidden utility makes content accessible to assistive devices without displaying it on the screen.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The content to be visually hidden.",
1979
+ "attributes": [],
1980
+ "references": []
1976
1981
  }
1977
1982
  ]
1978
1983
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emuanalytics/flow-rdf-ui",
3
- "version": "0.0.19",
3
+ "version": "0.0.21",
4
4
  "type": "module",
5
5
  "main": "dist/flow-rdf-ui.umd.cjs",
6
6
  "module": "dist/flow-rdf-ui.js",