reactive-bulma 2.7.0 → 2.8.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/dist/cjs/index.js +80 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/components/atoms/PaginationItem/index.d.ts +4 -0
- package/dist/cjs/types/components/atoms/index.d.ts +1 -0
- package/dist/cjs/types/components/molecules/Pagination/index.d.ts +4 -0
- package/dist/cjs/types/components/molecules/index.d.ts +1 -0
- package/dist/cjs/types/interfaces/atomProps.d.ts +14 -4
- package/dist/cjs/types/interfaces/moleculeProps.d.ts +32 -6
- package/dist/cjs/types/types/styleTypes.d.ts +2 -1
- package/dist/esm/index.js +79 -9
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/components/atoms/PaginationItem/index.d.ts +4 -0
- package/dist/esm/types/components/atoms/index.d.ts +1 -0
- package/dist/esm/types/components/molecules/Pagination/index.d.ts +4 -0
- package/dist/esm/types/components/molecules/index.d.ts +1 -0
- package/dist/esm/types/interfaces/atomProps.d.ts +14 -4
- package/dist/esm/types/interfaces/moleculeProps.d.ts +32 -6
- package/dist/esm/types/types/styleTypes.d.ts +2 -1
- package/dist/index.d.ts +49 -8
- package/package.json +10 -10
package/dist/cjs/index.js
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
|
-
var crypto = require('crypto');
|
4
|
-
|
5
3
|
function styleInject(css, ref) {
|
6
4
|
if ( ref === void 0 ) ref = {};
|
7
5
|
var insertAt = ref.insertAt;
|
@@ -2867,7 +2865,7 @@ const parseKey = (max = 5000, min = 1) => {
|
|
2867
2865
|
max = Math.floor(max);
|
2868
2866
|
min = Math.ceil(min);
|
2869
2867
|
const secureRandomNumbers = new Uint32Array(1);
|
2870
|
-
crypto.getRandomValues(secureRandomNumbers);
|
2868
|
+
window.crypto.getRandomValues(secureRandomNumbers);
|
2871
2869
|
return Math.floor(secureRandomNumbers[0] * (max - min) + min).toString();
|
2872
2870
|
};
|
2873
2871
|
|
@@ -2944,7 +2942,7 @@ const Tag = ({ testId = null, containerTestId = null, cssClasses = null, contain
|
|
2944
2942
|
const tagDeleteTestId = `${tagTestId}-delete`;
|
2945
2943
|
return withAddon ? (React.createElement("section", { "data-testid": tagContainerTestId, style: containerStyle !== null && containerStyle !== void 0 ? containerStyle : undefined, className: tagContainerClasses },
|
2946
2944
|
React.createElement("span", { "data-testid": tagTestId, className: tagClasses }, text),
|
2947
|
-
withDelete ? (React.createElement("a", { "data-testid": tagDeleteTestId, className: 'tag is-delete', "aria-hidden": 'true', onClick: onDeleteClick !== null && onDeleteClick !== void 0 ? onDeleteClick : undefined })) : (React.createElement("span", { className: tagAddonClasses }, addonText)))) : (React.createElement("span", { "data-testid": tagTestId, style: style !== null && style !== void 0 ? style : undefined, className: tagClasses },
|
2945
|
+
withDelete ? (React.createElement("a", { "data-testid": tagDeleteTestId, className: 'tag is-delete', title: 'delete', "aria-hidden": 'true', onClick: onDeleteClick !== null && onDeleteClick !== void 0 ? onDeleteClick : undefined })) : (React.createElement("span", { className: tagAddonClasses }, addonText)))) : (React.createElement("span", { "data-testid": tagTestId, style: style !== null && style !== void 0 ? style : undefined, className: tagClasses },
|
2948
2946
|
text,
|
2949
2947
|
withDelete ? (React.createElement("button", { "data-testid": tagDeleteTestId, className: 'delete', onClick: onDeleteClick !== null && onDeleteClick !== void 0 ? onDeleteClick : undefined })) : null));
|
2950
2948
|
};
|
@@ -2953,8 +2951,6 @@ const Box = ({ testId = 'test-box', cssClasses = 'box', style = null, children =
|
|
2953
2951
|
|
2954
2952
|
const renderTitleSection = (section) => {
|
2955
2953
|
var _a, _b;
|
2956
|
-
if (!section)
|
2957
|
-
return null;
|
2958
2954
|
const { type, size, isSpaced, cssClasses } = section;
|
2959
2955
|
const sectionClasses = parseClasses([
|
2960
2956
|
type,
|
@@ -2966,8 +2962,8 @@ const renderTitleSection = (section) => {
|
|
2966
2962
|
return (React.createElement("p", { "data-testid": sectionTestId, className: sectionClasses, style: (_b = section === null || section === void 0 ? void 0 : section.style) !== null && _b !== void 0 ? _b : undefined }, section === null || section === void 0 ? void 0 : section.text));
|
2967
2963
|
};
|
2968
2964
|
const Title = ({ main, secondary }) => (React.createElement(React.Fragment, null,
|
2969
|
-
renderTitleSection(main),
|
2970
|
-
renderTitleSection(secondary)));
|
2965
|
+
main ? renderTitleSection(main) : null,
|
2966
|
+
secondary ? renderTitleSection(secondary) : null));
|
2971
2967
|
|
2972
2968
|
var IconSizeEnum;
|
2973
2969
|
(function (IconSizeEnum) {
|
@@ -3255,6 +3251,20 @@ const MenuItem = ({ testId = null, cssClasses = null, style = null, text, isActi
|
|
3255
3251
|
return (React.createElement("a", { "data-testid": menuItemTestId, className: menuItemClasses, style: style !== null && style !== void 0 ? style : undefined, "aria-hidden": 'true', onClick: onClick !== null && onClick !== void 0 ? onClick : undefined }, text));
|
3256
3252
|
};
|
3257
3253
|
|
3254
|
+
const PaginationItem = ({ testId = null, cssClasses = null, style = null, text, labelText = 'Page', currentLabelText = 'Go to page', isSelected = null, onClick = null }) => {
|
3255
|
+
const paginationItemClasses = parseClasses([
|
3256
|
+
'pagination-link',
|
3257
|
+
isSelected ? 'is-current' : null,
|
3258
|
+
cssClasses
|
3259
|
+
]);
|
3260
|
+
const paginationItemTestId = testId !== null && testId !== void 0 ? testId : parseTestId({
|
3261
|
+
tag: 'pagination-link',
|
3262
|
+
parsedClasses: paginationItemClasses
|
3263
|
+
});
|
3264
|
+
const parsedLabelText = isSelected ? currentLabelText : labelText;
|
3265
|
+
return (React.createElement("a", { "data-testid": paginationItemTestId, className: paginationItemClasses, style: style !== null && style !== void 0 ? style : undefined, "aria-label": `${parsedLabelText} ${text}`, "aria-current": isSelected ? 'page' : undefined, "aria-hidden": 'true', onClick: onClick !== null && onClick !== void 0 ? onClick : undefined }, text));
|
3266
|
+
};
|
3267
|
+
|
3258
3268
|
const ButtonGroup = ({ testId = null, cssClasses = null, style = null, buttonList, isAttached = false, position = 'left' }) => {
|
3259
3269
|
const buttonGroupClasses = parseClasses([
|
3260
3270
|
'buttons',
|
@@ -3408,6 +3418,66 @@ const Menu = ({ testId = null, cssClasses = null, style = null, menuSections })
|
|
3408
3418
|
React.createElement(MenuList, { key: `section-menu-list-${parseKey()}`, itemList: section.itemList }))))));
|
3409
3419
|
};
|
3410
3420
|
|
3421
|
+
const renderEllipsis = (hasEllipsis) => hasEllipsis ? (React.createElement("li", null,
|
3422
|
+
React.createElement("span", { "aria-hidden": 'true', className: 'pagination-ellipsis' }, "\u2026"))) : null;
|
3423
|
+
const renderNavigationButton = (navigationButton) => {
|
3424
|
+
var _a;
|
3425
|
+
if (!navigationButton)
|
3426
|
+
return null;
|
3427
|
+
const navigationButtonClasses = parseClasses([
|
3428
|
+
navigationButton.cssClasses,
|
3429
|
+
navigationButton.isDisabled ? 'is-disabled' : null
|
3430
|
+
]);
|
3431
|
+
return (React.createElement("a", { className: navigationButtonClasses, onClick: (_a = navigationButton.onClick) !== null && _a !== void 0 ? _a : undefined, "aria-hidden": 'true' }, navigationButton.text));
|
3432
|
+
};
|
3433
|
+
const renderPages = (pages, hasEllipsis, ellipsisItems) => {
|
3434
|
+
return pages.map((pageItem, pageIndex, { length }) => {
|
3435
|
+
const lastEllipsisItemIndex = length - ellipsisItems - 1;
|
3436
|
+
if (pageIndex === 0) {
|
3437
|
+
return (React.createElement(React.Fragment, { key: `first-pagination-item` },
|
3438
|
+
React.createElement(PaginationItem, Object.assign({}, pageItem)),
|
3439
|
+
renderEllipsis(hasEllipsis)));
|
3440
|
+
}
|
3441
|
+
if (!hasEllipsis ||
|
3442
|
+
(pageIndex > ellipsisItems && pageIndex < lastEllipsisItemIndex)) {
|
3443
|
+
return (React.createElement(PaginationItem, Object.assign({ key: `pagination-item-${parseKey()}` }, pageItem)));
|
3444
|
+
}
|
3445
|
+
if (pageIndex === --length) {
|
3446
|
+
return (React.createElement(React.Fragment, { key: `last-pagination-item` },
|
3447
|
+
renderEllipsis(hasEllipsis),
|
3448
|
+
React.createElement(PaginationItem, Object.assign({}, pageItem))));
|
3449
|
+
}
|
3450
|
+
});
|
3451
|
+
};
|
3452
|
+
const Pagination = ({ testId = null, containerTestId = null, cssClasses = null, containerCssClasses = null, style = null, containerStyle = null, pages, ellipsisItems = 0, showPreviousPageButton = {
|
3453
|
+
text: 'Previous',
|
3454
|
+
cssClasses: 'pagination-previous'
|
3455
|
+
}, showNextPageButton = {
|
3456
|
+
text: 'Next page',
|
3457
|
+
cssClasses: 'pagination-next'
|
3458
|
+
}, hasEllipsis = false, isRounded = false, alignment = null, size = null }) => {
|
3459
|
+
const paginationContainerClasses = parseClasses([
|
3460
|
+
'pagination',
|
3461
|
+
isRounded ? 'is-rounded' : null,
|
3462
|
+
size,
|
3463
|
+
alignment,
|
3464
|
+
cssClasses
|
3465
|
+
]);
|
3466
|
+
const paginationContainerTestId = testId !== null && testId !== void 0 ? testId : parseTestId({
|
3467
|
+
tag: 'pagination',
|
3468
|
+
parsedClasses: paginationContainerClasses
|
3469
|
+
});
|
3470
|
+
const paginationClasses = parseClasses([
|
3471
|
+
'pagination-list',
|
3472
|
+
containerCssClasses
|
3473
|
+
]);
|
3474
|
+
const paginationTestId = containerTestId !== null && containerTestId !== void 0 ? containerTestId : parseTestId({ tag: 'pagination-list', parsedClasses: paginationClasses });
|
3475
|
+
return (React.createElement("nav", { "data-testid": paginationContainerTestId, className: paginationContainerClasses, style: containerStyle !== null && containerStyle !== void 0 ? containerStyle : undefined, role: 'navigation', "aria-label": 'pagination' },
|
3476
|
+
renderNavigationButton(showPreviousPageButton),
|
3477
|
+
renderNavigationButton(showNextPageButton),
|
3478
|
+
React.createElement("ul", { "data-testid": paginationTestId, className: paginationClasses, style: style !== null && style !== void 0 ? style : undefined }, renderPages(pages, hasEllipsis, ellipsisItems))));
|
3479
|
+
};
|
3480
|
+
|
3411
3481
|
exports.Block = Block;
|
3412
3482
|
exports.Box = Box;
|
3413
3483
|
exports.BreadcrumbItem = BreadcrumbItem;
|
@@ -3429,6 +3499,8 @@ exports.MenuItem = MenuItem;
|
|
3429
3499
|
exports.MenuList = MenuList;
|
3430
3500
|
exports.Message = Message;
|
3431
3501
|
exports.Notification = Notification;
|
3502
|
+
exports.Pagination = Pagination;
|
3503
|
+
exports.PaginationItem = PaginationItem;
|
3432
3504
|
exports.ProgressBar = ProgressBar;
|
3433
3505
|
exports.RadioButton = RadioButton;
|
3434
3506
|
exports.Select = Select;
|