@stackoverflow/stacks 1.9.0 → 1.9.1
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/README.md +161 -153
- package/dist/components/table/table.d.ts +26 -4
- package/dist/css/stacks.css +21 -6
- package/dist/css/stacks.min.css +1 -1
- package/dist/js/stacks.js +93 -64
- package/dist/js/stacks.min.js +1 -1
- package/lib/atomic/border.less +397 -397
- package/lib/atomic/color.less +210 -210
- package/lib/atomic/flex.less +426 -426
- package/lib/atomic/gap.less +44 -44
- package/lib/atomic/grid.less +139 -139
- package/lib/atomic/misc.less +343 -343
- package/lib/atomic/spacing.less +342 -342
- package/lib/atomic/typography.less +267 -267
- package/lib/atomic/width-height.less +194 -194
- package/lib/base/body.less +44 -44
- package/lib/base/configuration-static.less +61 -61
- package/lib/base/fieldset.less +5 -5
- package/lib/base/icon.less +11 -11
- package/lib/base/internal.less +220 -220
- package/lib/base/reset-meyer.less +64 -64
- package/lib/base/reset-normalize.less +449 -449
- package/lib/base/reset.less +20 -20
- package/lib/components/activity-indicator/activity-indicator.a11y.test.ts +21 -21
- package/lib/components/activity-indicator/activity-indicator.less +40 -40
- package/lib/components/activity-indicator/activity-indicator.visual.test.ts +23 -23
- package/lib/components/anchor/anchor.less +61 -61
- package/lib/components/avatar/avatar.a11y.test.ts +36 -36
- package/lib/components/avatar/avatar.less +108 -108
- package/lib/components/avatar/avatar.visual.test.ts +54 -54
- package/lib/components/award-bling/award-bling.a11y.test.ts +17 -0
- package/lib/components/award-bling/award-bling.less +31 -31
- package/lib/components/award-bling/award-bling.visual.test.ts +26 -0
- package/lib/components/badge/badge.less +251 -251
- package/lib/components/banner/banner.a11y.test.ts +37 -0
- package/lib/components/banner/banner.less +51 -51
- package/lib/components/banner/banner.test.ts +73 -77
- package/lib/components/banner/banner.ts +149 -149
- package/lib/components/banner/banner.visual.test.ts +37 -36
- package/lib/components/block-link/block-link.a11y.test.ts +68 -0
- package/lib/components/block-link/block-link.less +80 -80
- package/lib/components/block-link/block-link.visual.test.ts +61 -0
- package/lib/components/breadcrumbs/breadcrumbs.a11y.test.ts +37 -0
- package/lib/components/breadcrumbs/breadcrumbs.less +41 -41
- package/lib/components/breadcrumbs/breadcrumbs.visual.test.ts +37 -0
- package/lib/components/button/button.a11y.test.ts +32 -32
- package/lib/components/button/button.less +502 -502
- package/lib/components/button/button.visual.test.ts +52 -52
- package/lib/components/button-group/button-group.less +83 -83
- package/lib/components/card/card.a11y.test.ts +13 -0
- package/lib/components/card/card.less +29 -29
- package/lib/components/card/card.visual.test.ts +54 -0
- package/lib/components/check-control/check-control.less +17 -17
- package/lib/components/check-group/check-group.less +19 -19
- package/lib/components/checkbox_radio/checkbox_radio.less +158 -158
- package/lib/components/code-block/code-block.less +116 -116
- package/lib/components/description/description.less +9 -9
- package/lib/components/empty-state/empty-state.less +16 -16
- package/lib/components/expandable/expandable.less +118 -118
- package/lib/components/expandable/expandable.test.ts +51 -53
- package/lib/components/expandable/expandable.ts +238 -238
- package/lib/components/input-fill/input-fill.less +35 -35
- package/lib/components/input-icon/input-icon.less +45 -45
- package/lib/components/input-message/input-message.less +48 -48
- package/lib/components/input_textarea/input_textarea.less +166 -166
- package/lib/components/label/label.less +111 -111
- package/lib/components/link/link.less +119 -119
- package/lib/components/link-preview/link-preview.less +139 -139
- package/lib/components/menu/menu.less +41 -41
- package/lib/components/modal/modal.less +113 -113
- package/lib/components/modal/modal.ts +379 -379
- package/lib/components/navigation/navigation.less +134 -134
- package/lib/components/navigation/navigation.ts +128 -128
- package/lib/components/notice/notice.less +203 -203
- package/lib/components/page-title/page-title.less +51 -51
- package/lib/components/pagination/pagination.less +52 -52
- package/lib/components/popover/popover.less +148 -148
- package/lib/components/popover/popover.ts +651 -651
- package/lib/components/popover/tooltip.test.ts +62 -66
- package/lib/components/popover/tooltip.ts +343 -343
- package/lib/components/popover/tooltip.visual.test.ts +31 -31
- package/lib/components/post-summary/post-summary.less +415 -415
- package/lib/components/progress-bar/progress-bar.less +291 -291
- package/lib/components/prose/prose.less +452 -452
- package/lib/components/select/select.less +148 -148
- package/lib/components/sidebar-widget/sidebar-widget.less +257 -258
- package/lib/components/spinner/spinner.less +103 -103
- package/lib/components/table/table.less +307 -292
- package/lib/components/table/table.test.ts +366 -0
- package/lib/components/table/table.ts +296 -263
- package/lib/components/table-container/table-container.less +4 -4
- package/lib/components/tag/tag.less +213 -213
- package/lib/components/toast/toast.less +35 -35
- package/lib/components/toast/toast.test.ts +63 -67
- package/lib/components/toast/toast.ts +357 -357
- package/lib/components/toast/toast.visual.test.ts +27 -27
- package/lib/components/toggle-switch/toggle-switch.less +110 -110
- package/lib/components/topbar/topbar.less +436 -435
- package/lib/components/uploader/uploader.less +195 -195
- package/lib/components/uploader/uploader.ts +205 -205
- package/lib/components/user-card/user-card.less +129 -129
- package/lib/controllers.ts +33 -33
- package/lib/exports/constants-colors.less +1112 -1111
- package/lib/exports/constants-helpers.less +108 -108
- package/lib/exports/constants-type.less +153 -153
- package/lib/exports/exports.less +15 -15
- package/lib/exports/mixins.less +299 -299
- package/lib/index.ts +32 -32
- package/lib/input-utils.less +44 -44
- package/lib/stacks-dynamic.less +24 -24
- package/lib/stacks-static.less +93 -93
- package/lib/stacks.less +13 -13
- package/lib/stacks.ts +113 -113
- package/lib/test/open-wc-testing-patch.d.ts +26 -0
- package/lib/test/test-utils.ts +466 -444
- package/lib/tsconfig.build.json +4 -0
- package/lib/tsconfig.json +16 -13
- package/package.json +106 -105
- package/dist/components/activity-indicator/activity-indicator.a11y.test.d.ts +0 -1
- package/dist/components/activity-indicator/activity-indicator.visual.test.d.ts +0 -1
- package/dist/components/avatar/avatar.a11y.test.d.ts +0 -1
- package/dist/components/avatar/avatar.visual.test.d.ts +0 -1
- package/dist/components/banner/banner.test.d.ts +0 -1
- package/dist/components/banner/banner.visual.test.d.ts +0 -1
- package/dist/components/button/button.a11y.test.d.ts +0 -1
- package/dist/components/button/button.visual.test.d.ts +0 -1
- package/dist/components/expandable/expandable.test.d.ts +0 -1
- package/dist/components/popover/tooltip.test.d.ts +0 -1
- package/dist/components/popover/tooltip.visual.test.d.ts +0 -1
- package/dist/components/toast/toast.test.d.ts +0 -1
- package/dist/components/toast/toast.visual.test.d.ts +0 -1
- package/dist/test/test-utils.d.ts +0 -136
package/dist/js/stacks.js
CHANGED
|
@@ -2515,6 +2515,7 @@ class StacksApplication extends Application {
|
|
|
2515
2515
|
}
|
|
2516
2516
|
}
|
|
2517
2517
|
StacksApplication._initializing = true;
|
|
2518
|
+
|
|
2518
2519
|
const application = StacksApplication.start();
|
|
2519
2520
|
class StacksController extends Controller {
|
|
2520
2521
|
getElementData(element, key) {
|
|
@@ -2652,6 +2653,7 @@ class BannerController extends StacksController {
|
|
|
2652
2653
|
}
|
|
2653
2654
|
}
|
|
2654
2655
|
BannerController.targets = ["banner"];
|
|
2656
|
+
|
|
2655
2657
|
/**
|
|
2656
2658
|
* Helper to manually show an s-banner element via external JS
|
|
2657
2659
|
* @param element the element the `data-controller="s-banner"` attribute is on
|
|
@@ -3127,6 +3129,7 @@ class ModalController extends StacksController {
|
|
|
3127
3129
|
}
|
|
3128
3130
|
}
|
|
3129
3131
|
ModalController.targets = ["modal", "initialFocus"];
|
|
3132
|
+
|
|
3130
3133
|
/**
|
|
3131
3134
|
* Helper to manually show an s-modal element via external JS
|
|
3132
3135
|
* @param element the element the `data-controller="s-modal"` attribute is on
|
|
@@ -3307,7 +3310,7 @@ var round = Math.round;
|
|
|
3307
3310
|
function getUAString() {
|
|
3308
3311
|
var uaData = navigator.userAgentData;
|
|
3309
3312
|
|
|
3310
|
-
if (uaData != null && uaData.brands) {
|
|
3313
|
+
if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {
|
|
3311
3314
|
return uaData.brands.map(function (item) {
|
|
3312
3315
|
return item.brand + "/" + item.version;
|
|
3313
3316
|
}).join(' ');
|
|
@@ -4162,10 +4165,9 @@ var unsetSides = {
|
|
|
4162
4165
|
// Zooming can change the DPR, but it seems to report a value that will
|
|
4163
4166
|
// cleanly divide the values into the appropriate subpixels.
|
|
4164
4167
|
|
|
4165
|
-
function roundOffsetsByDPR(_ref) {
|
|
4168
|
+
function roundOffsetsByDPR(_ref, win) {
|
|
4166
4169
|
var x = _ref.x,
|
|
4167
4170
|
y = _ref.y;
|
|
4168
|
-
var win = window;
|
|
4169
4171
|
var dpr = win.devicePixelRatio || 1;
|
|
4170
4172
|
return {
|
|
4171
4173
|
x: round(x * dpr) / dpr || 0,
|
|
@@ -4248,7 +4250,7 @@ function mapToStyles(_ref2) {
|
|
|
4248
4250
|
var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
|
|
4249
4251
|
x: x,
|
|
4250
4252
|
y: y
|
|
4251
|
-
}) : {
|
|
4253
|
+
}, getWindow(popper)) : {
|
|
4252
4254
|
x: x,
|
|
4253
4255
|
y: y
|
|
4254
4256
|
};
|
|
@@ -5591,6 +5593,7 @@ class PopoverController extends BasePopoverController {
|
|
|
5591
5593
|
}
|
|
5592
5594
|
}
|
|
5593
5595
|
PopoverController.targets = [];
|
|
5596
|
+
|
|
5594
5597
|
/**
|
|
5595
5598
|
* Helper to manually show an s-popover element via external JS
|
|
5596
5599
|
* @param element the element the `data-controller="s-popover"` attribute is on
|
|
@@ -5742,37 +5745,52 @@ function toggleController(el, controllerName, include) {
|
|
|
5742
5745
|
|
|
5743
5746
|
;// CONCATENATED MODULE: ./lib/components/table/table.ts
|
|
5744
5747
|
|
|
5748
|
+
/**
|
|
5749
|
+
* The string values of these enumerations should correspond with `aria-sort` valid values.
|
|
5750
|
+
*
|
|
5751
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-sort#values
|
|
5752
|
+
*/
|
|
5753
|
+
var SortOrder;
|
|
5754
|
+
(function (SortOrder) {
|
|
5755
|
+
SortOrder["Ascending"] = "ascending";
|
|
5756
|
+
SortOrder["Descending"] = "descending";
|
|
5757
|
+
SortOrder["None"] = "none";
|
|
5758
|
+
})(SortOrder || (SortOrder = {}));
|
|
5745
5759
|
class TableController extends StacksController {
|
|
5746
|
-
|
|
5747
|
-
|
|
5748
|
-
|
|
5749
|
-
|
|
5750
|
-
|
|
5751
|
-
|
|
5752
|
-
|
|
5753
|
-
|
|
5754
|
-
|
|
5755
|
-
|
|
5756
|
-
|
|
5757
|
-
|
|
5758
|
-
|
|
5759
|
-
|
|
5760
|
+
constructor() {
|
|
5761
|
+
super(...arguments);
|
|
5762
|
+
this.updateSortedColumnStyles = (targetColumnHeader, direction) => {
|
|
5763
|
+
// Loop through all sortable columns and remove their sorting direction
|
|
5764
|
+
// (if any), and only leave/set a sorting on `targetColumnHeader`.
|
|
5765
|
+
this.columnTargets.forEach((header) => {
|
|
5766
|
+
const isCurrent = header === targetColumnHeader;
|
|
5767
|
+
const classSuffix = isCurrent
|
|
5768
|
+
? direction === SortOrder.Ascending
|
|
5769
|
+
? "asc"
|
|
5770
|
+
: "desc"
|
|
5771
|
+
: SortOrder.None;
|
|
5772
|
+
header.classList.toggle("is-sorted", isCurrent && direction !== SortOrder.None);
|
|
5773
|
+
header.querySelectorAll(".js-sorting-indicator").forEach((icon) => {
|
|
5774
|
+
icon.classList.toggle("d-none", !icon.classList.contains("js-sorting-indicator-" + classSuffix));
|
|
5775
|
+
});
|
|
5776
|
+
if (isCurrent) {
|
|
5777
|
+
header.setAttribute("aria-sort", direction);
|
|
5778
|
+
}
|
|
5779
|
+
else {
|
|
5780
|
+
header.removeAttribute("aria-sort");
|
|
5781
|
+
}
|
|
5760
5782
|
});
|
|
5761
|
-
|
|
5762
|
-
controller.removeElementData(target, "sort-direction");
|
|
5763
|
-
}
|
|
5764
|
-
else {
|
|
5765
|
-
controller.setElementData(target, "sort-direction", direction);
|
|
5766
|
-
}
|
|
5767
|
-
});
|
|
5783
|
+
};
|
|
5768
5784
|
}
|
|
5769
5785
|
sort(evt) {
|
|
5770
5786
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
5771
5787
|
const controller = this;
|
|
5772
|
-
const
|
|
5773
|
-
|
|
5774
|
-
|
|
5775
|
-
|
|
5788
|
+
const sortTriggerEl = evt.currentTarget;
|
|
5789
|
+
// TODO: support *only* button as trigger in next major release
|
|
5790
|
+
const triggerIsButton = sortTriggerEl instanceof HTMLButtonElement;
|
|
5791
|
+
// the below conditional is here for backward compatibility with the old API
|
|
5792
|
+
// where we did not advise buttons as sortable column head triggers
|
|
5793
|
+
const colHead = (triggerIsButton ? sortTriggerEl.parentElement : sortTriggerEl);
|
|
5776
5794
|
const table = this.element;
|
|
5777
5795
|
const tbody = table.tBodies[0];
|
|
5778
5796
|
// the column slot number of the clicked header
|
|
@@ -5786,7 +5804,7 @@ class TableController extends StacksController {
|
|
|
5786
5804
|
const slotIndex = buildIndex(tbody);
|
|
5787
5805
|
// the default behavior when clicking a header is to sort by this column in ascending
|
|
5788
5806
|
// direction, *unless* it is already sorted that way
|
|
5789
|
-
const direction =
|
|
5807
|
+
const direction = colHead.getAttribute("aria-sort") === SortOrder.Ascending ? -1 : 1;
|
|
5790
5808
|
const rows = Array.from(table.tBodies[0].rows);
|
|
5791
5809
|
// if this is still false after traversing the data, that means all values are integers (or empty)
|
|
5792
5810
|
// and thus we'll sort numerically.
|
|
@@ -5814,9 +5832,7 @@ class TableController extends StacksController {
|
|
|
5814
5832
|
// unless the to-be-sorted-by value is explicitly provided on the element via this attribute,
|
|
5815
5833
|
// the value we're using is the cell's text, trimmed of any whitespace
|
|
5816
5834
|
const explicit = controller.getElementData(cell, "sort-val");
|
|
5817
|
-
const d =
|
|
5818
|
-
? explicit
|
|
5819
|
-
: (_b = (_a = cell.textContent) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : "";
|
|
5835
|
+
const d = (_b = explicit !== null && explicit !== void 0 ? explicit : (_a = cell.textContent) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : "";
|
|
5820
5836
|
if (d !== "" && `${parseInt(d, 10)}` !== d) {
|
|
5821
5837
|
anyNonInt = true;
|
|
5822
5838
|
}
|
|
@@ -5850,9 +5866,9 @@ class TableController extends StacksController {
|
|
|
5850
5866
|
}
|
|
5851
5867
|
});
|
|
5852
5868
|
// this is the actual reordering of the table rows
|
|
5853
|
-
data.forEach(
|
|
5869
|
+
data.forEach(([_, rowIndex]) => {
|
|
5854
5870
|
var _a;
|
|
5855
|
-
const row = rows[
|
|
5871
|
+
const row = rows[rowIndex];
|
|
5856
5872
|
(_a = row.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(row);
|
|
5857
5873
|
if (firstBottomRow) {
|
|
5858
5874
|
tbody.insertBefore(row, firstBottomRow);
|
|
@@ -5863,43 +5879,57 @@ class TableController extends StacksController {
|
|
|
5863
5879
|
});
|
|
5864
5880
|
// update the UI and set the `data-sort-direction` attribute if appropriate, so that the next click
|
|
5865
5881
|
// will cause sorting in descending direction
|
|
5866
|
-
this.
|
|
5882
|
+
this.updateSortedColumnStyles(colHead, direction === 1 ? SortOrder.Ascending : SortOrder.Descending);
|
|
5867
5883
|
}
|
|
5868
5884
|
}
|
|
5869
5885
|
TableController.targets = ["column"];
|
|
5886
|
+
|
|
5887
|
+
/**
|
|
5888
|
+
* @internal This function is exported for testing purposes but is not a part of our public API
|
|
5889
|
+
*
|
|
5890
|
+
* @param section
|
|
5891
|
+
*/
|
|
5870
5892
|
function buildIndex(section) {
|
|
5871
5893
|
const result = buildIndexOrGetCellSlot(section);
|
|
5872
|
-
if (!(result
|
|
5894
|
+
if (!Array.isArray(result)) {
|
|
5873
5895
|
throw "shouldn't happen";
|
|
5874
5896
|
}
|
|
5875
5897
|
return result;
|
|
5876
5898
|
}
|
|
5899
|
+
/**
|
|
5900
|
+
* @internal This function is exported for testing purposes but is not a part of our public API
|
|
5901
|
+
*
|
|
5902
|
+
* @param cell
|
|
5903
|
+
*/
|
|
5877
5904
|
function getCellSlot(cell) {
|
|
5878
|
-
|
|
5879
|
-
|
|
5905
|
+
var _a;
|
|
5906
|
+
const tableElement = (_a = cell.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement;
|
|
5907
|
+
if (!(tableElement instanceof HTMLTableSectionElement)) {
|
|
5880
5908
|
throw "invalid table";
|
|
5881
5909
|
}
|
|
5882
|
-
const result = buildIndexOrGetCellSlot(
|
|
5910
|
+
const result = buildIndexOrGetCellSlot(tableElement, cell);
|
|
5883
5911
|
if (typeof result !== "number") {
|
|
5884
5912
|
throw "shouldn't happen";
|
|
5885
5913
|
}
|
|
5886
5914
|
return result;
|
|
5887
5915
|
}
|
|
5888
|
-
|
|
5889
|
-
|
|
5890
|
-
|
|
5891
|
-
|
|
5892
|
-
|
|
5893
|
-
|
|
5894
|
-
|
|
5895
|
-
|
|
5896
|
-
|
|
5897
|
-
|
|
5898
|
-
|
|
5899
|
-
|
|
5900
|
-
|
|
5901
|
-
|
|
5902
|
-
|
|
5916
|
+
/**
|
|
5917
|
+
* Just because a <td> is the 4th *child* of its <tr> doesn't mean it belongs to the 4th *column*
|
|
5918
|
+
* of the table. Previous cells may have a colspan; cells in previous rows may have a rowspan.
|
|
5919
|
+
* Because we need to know which header cells and data cells belong together, we have to 1) find out
|
|
5920
|
+
* which column number (or "slot" as we call it here) the header cell has, and 2) for each row find
|
|
5921
|
+
* out which <td> cell corresponds to this slot (because those are the rows we're sorting by).
|
|
5922
|
+
*
|
|
5923
|
+
* That's what the following function does. If the second argument is not given, it returns an index
|
|
5924
|
+
* of the table, which is an array of arrays. Each of the sub-arrays corresponds to a table row. The
|
|
5925
|
+
* indices of the sub-array correspond to column slots; the values are the actual table cell elements.
|
|
5926
|
+
* For example index[4][3] is the <td> or <th> in row 4, column 3 of the table section (<tbody> or <thead>).
|
|
5927
|
+
* Note that this element is not necessarily even in the 4th (zero-based) <tr> -- if it has a rowSpan > 1,
|
|
5928
|
+
* it may also be in a previous <tr>.
|
|
5929
|
+
*
|
|
5930
|
+
* If the second argument is given, it's a <td> or <th> that we're trying to find, and the algorithm
|
|
5931
|
+
* stops as soon as it has found it and the function returns its slot number.
|
|
5932
|
+
*/
|
|
5903
5933
|
function buildIndexOrGetCellSlot(section, findCell) {
|
|
5904
5934
|
const index = [];
|
|
5905
5935
|
let curRow = section.children[0];
|
|
@@ -5909,21 +5939,18 @@ function buildIndexOrGetCellSlot(section, findCell) {
|
|
|
5909
5939
|
const growing = [];
|
|
5910
5940
|
const growingRowsLeft = [];
|
|
5911
5941
|
// continue while we have actual <tr>'s left *or* we still have rowspan'ed elements that aren't done
|
|
5912
|
-
while (curRow ||
|
|
5913
|
-
growingRowsLeft.some(function (e) {
|
|
5914
|
-
return e !== 0;
|
|
5915
|
-
})) {
|
|
5942
|
+
while (curRow || growingRowsLeft.some((e) => e !== 0)) {
|
|
5916
5943
|
const curIndexRow = [];
|
|
5917
5944
|
index.push(curIndexRow);
|
|
5918
5945
|
let curSlot = 0;
|
|
5919
5946
|
if (curRow) {
|
|
5920
|
-
for (let
|
|
5947
|
+
for (let curCellIdx = 0; curCellIdx < curRow.children.length; curCellIdx++) {
|
|
5921
5948
|
while (growingRowsLeft[curSlot]) {
|
|
5922
5949
|
growingRowsLeft[curSlot]--;
|
|
5923
5950
|
curIndexRow[curSlot] = growing[curSlot];
|
|
5924
5951
|
curSlot++;
|
|
5925
5952
|
}
|
|
5926
|
-
const cell = curRow.children[
|
|
5953
|
+
const cell = curRow.children[curCellIdx];
|
|
5927
5954
|
if (!(cell instanceof HTMLTableCellElement)) {
|
|
5928
5955
|
throw "invalid table";
|
|
5929
5956
|
}
|
|
@@ -5952,9 +5979,8 @@ function buildIndexOrGetCellSlot(section, findCell) {
|
|
|
5952
5979
|
curRow = curRow.nextElementSibling;
|
|
5953
5980
|
}
|
|
5954
5981
|
}
|
|
5955
|
-
|
|
5956
|
-
|
|
5957
|
-
: index; /* if findCell was given but we end up here, that means it isn't in this section */
|
|
5982
|
+
// if findCell was given, but we end up here, that means it isn't in this section
|
|
5983
|
+
return findCell ? -1 : index;
|
|
5958
5984
|
}
|
|
5959
5985
|
|
|
5960
5986
|
;// CONCATENATED MODULE: ./lib/components/toast/toast.ts
|
|
@@ -6188,6 +6214,7 @@ class ToastController extends StacksController {
|
|
|
6188
6214
|
}
|
|
6189
6215
|
}
|
|
6190
6216
|
ToastController.targets = ["toast", "initialFocus"];
|
|
6217
|
+
|
|
6191
6218
|
/**
|
|
6192
6219
|
* Helper to manually show an s-toast element via external JS
|
|
6193
6220
|
* @param element the element the `data-controller="s-toast"` attribute is on
|
|
@@ -6426,6 +6453,7 @@ class TooltipController extends BasePopoverController {
|
|
|
6426
6453
|
}
|
|
6427
6454
|
}
|
|
6428
6455
|
TooltipController.targets = [];
|
|
6456
|
+
|
|
6429
6457
|
/**
|
|
6430
6458
|
* Adds or updates a Stacks tooltip on a given element, initializing the controller if necessary
|
|
6431
6459
|
* @param element The element to add a tooltip to.
|
|
@@ -6631,6 +6659,7 @@ UploaderController.targets = ["input", "previews", "uploader"];
|
|
|
6631
6659
|
UploaderController.FILE_DISPLAY_LIMIT = 10;
|
|
6632
6660
|
UploaderController.MAX_FILE_SIZE = 1024 * 1024 * 10; // 10 MB
|
|
6633
6661
|
|
|
6662
|
+
|
|
6634
6663
|
;// CONCATENATED MODULE: ./lib/controllers.ts
|
|
6635
6664
|
// export all controllers *with helpers* so they can be bulk re-exported by the package entry point
|
|
6636
6665
|
|