@carbon/web-components 1.36.1 → 1.37.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/accordion.min.js +1 -1
- package/dist/accordion.rtl.min.js +1 -1
- package/dist/breadcrumb.min.js +1 -1
- package/dist/breadcrumb.rtl.min.js +1 -1
- package/dist/{button-4e0b32c8.js → button-035465bb.js} +1 -1
- package/dist/{button-99f6b809.js → button-1a16f30e.js} +1 -1
- package/dist/button.min.js +1 -1
- package/dist/button.rtl.min.js +1 -1
- package/dist/{checkbox-d61e0f46.js → checkbox-61c8aa71.js} +1 -1
- package/dist/{checkbox-39ba54c6.js → checkbox-93412a35.js} +1 -1
- package/dist/checkbox.min.js +1 -1
- package/dist/checkbox.rtl.min.js +1 -1
- package/dist/code-snippet.min.js +2 -2
- package/dist/code-snippet.rtl.min.js +2 -2
- package/dist/combo-box.min.js +1 -1
- package/dist/combo-box.rtl.min.js +1 -1
- package/dist/{content-switcher-item-f853369b.js → content-switcher-item-6df85f1c.js} +1 -1
- package/dist/{content-switcher-item-55452b53.js → content-switcher-item-88761ecf.js} +1 -1
- package/dist/content-switcher.min.js +1 -1
- package/dist/content-switcher.rtl.min.js +1 -1
- package/dist/{copy-button-9fb90a01.js → copy-button-07fadd2e.js} +1 -1
- package/dist/{copy-button-7a7bbaf8.js → copy-button-d62f4b6e.js} +1 -1
- package/dist/copy-button.min.js +1 -1
- package/dist/copy-button.rtl.min.js +1 -1
- package/dist/data-table.min.js +2 -2
- package/dist/data-table.rtl.min.js +2 -2
- package/dist/date-picker.min.js +3 -3
- package/dist/date-picker.rtl.min.js +3 -3
- package/dist/{dropdown-item-2d248e51.js → dropdown-item-0d7d9847.js} +1 -1
- package/dist/{dropdown-item-9c062c1c.js → dropdown-item-5ea25a90.js} +1 -1
- package/dist/dropdown.min.js +1 -1
- package/dist/dropdown.rtl.min.js +1 -1
- package/dist/file-uploader.min.js +2 -2
- package/dist/file-uploader.rtl.min.js +2 -2
- package/dist/{floating-menu-72acc1bc.js → floating-menu-14b01da2.js} +1 -1
- package/dist/floating-menu.min.js +1 -1
- package/dist/floating-menu.rtl.min.js +1 -1
- package/dist/form.min.js +1 -1
- package/dist/form.rtl.min.js +1 -1
- package/dist/inline-loading.min.js +2 -2
- package/dist/inline-loading.rtl.min.js +2 -2
- package/dist/{input-d66d0e9c.js → input-13d32d6b.js} +2 -2
- package/dist/{input-47f04966.js → input-e5ad8493.js} +2 -2
- package/dist/input.min.js +1 -1
- package/dist/input.rtl.min.js +1 -1
- package/dist/{link-f9de12ea.js → link-00bbdb76.js} +1 -1
- package/dist/{link-afe664a3.js → link-1e3fcabc.js} +1 -1
- package/dist/link.min.js +1 -1
- package/dist/link.rtl.min.js +1 -1
- package/dist/list.min.js +1 -1
- package/dist/list.rtl.min.js +1 -1
- package/dist/{loading-926a29f5.js → loading-2a5481c6.js} +1 -1
- package/dist/{loading-a1c01e84.js → loading-5f4a55c9.js} +1 -1
- package/dist/{loading-icon-9d1c486a.js → loading-icon-4be51b70.js} +1 -1
- package/dist/loading.min.js +1 -1
- package/dist/loading.rtl.min.js +1 -1
- package/dist/modal.min.js +2 -2
- package/dist/modal.rtl.min.js +2 -2
- package/dist/multi-select.min.js +1 -1
- package/dist/multi-select.rtl.min.js +1 -1
- package/dist/notification.min.js +1 -1
- package/dist/notification.rtl.min.js +1 -1
- package/dist/number-input.min.js +2 -2
- package/dist/number-input.rtl.min.js +2 -2
- package/dist/overflow-menu.min.js +2 -2
- package/dist/overflow-menu.rtl.min.js +2 -2
- package/dist/pagination.min.js +1 -1
- package/dist/pagination.rtl.min.js +1 -1
- package/dist/progress-indicator.min.js +2 -12
- package/dist/progress-indicator.rtl.min.js +2 -12
- package/dist/radio-button.min.js +1 -1
- package/dist/radio-button.rtl.min.js +1 -1
- package/dist/{search-e6781408.js → search-7746f7ab.js} +1 -1
- package/dist/{search-f36f74c2.js → search-dc317efe.js} +1 -1
- package/dist/search.min.js +1 -1
- package/dist/search.rtl.min.js +1 -1
- package/dist/select.min.js +1 -1
- package/dist/select.rtl.min.js +1 -1
- package/dist/skeleton-placeholder.min.js +1 -1
- package/dist/skeleton-placeholder.rtl.min.js +1 -1
- package/dist/skeleton-text.min.js +1 -1
- package/dist/skeleton-text.rtl.min.js +1 -1
- package/dist/skip-to-content.min.js +1 -1
- package/dist/skip-to-content.rtl.min.js +1 -1
- package/dist/slider.min.js +1 -1
- package/dist/slider.rtl.min.js +1 -1
- package/dist/structured-list.min.js +1 -1
- package/dist/structured-list.rtl.min.js +1 -1
- package/dist/tabs.min.js +2 -2
- package/dist/tabs.rtl.min.js +2 -2
- package/dist/tag.min.js +1 -1
- package/dist/tag.rtl.min.js +1 -1
- package/dist/textarea.min.js +1 -1
- package/dist/textarea.rtl.min.js +1 -1
- package/dist/tile.min.js +1 -1
- package/dist/tile.rtl.min.js +1 -1
- package/dist/toggle.min.js +2 -2
- package/dist/toggle.rtl.min.js +2 -2
- package/dist/tooltip.min.js +2 -2
- package/dist/tooltip.rtl.min.js +2 -2
- package/dist/ui-shell.min.js +2 -2
- package/dist/ui-shell.rtl.min.js +2 -2
- package/es/components/accordion/accordion-item.js +19 -1
- package/es/components/accordion/accordion-item.js.map +1 -1
- package/es/components/accordion/accordion.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-item.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-overflow-menu.js +5 -1
- package/es/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb.js +6 -1
- package/es/components/breadcrumb/breadcrumb.js.map +1 -1
- package/es/components/button/button-skeleton.js +21 -1
- package/es/components/button/button-skeleton.js.map +1 -1
- package/es/components/button/button.js +34 -2
- package/es/components/button/button.js.map +1 -1
- package/es/components/checkbox/checkbox.js +18 -1
- package/es/components/checkbox/checkbox.js.map +1 -1
- package/es/components/code-snippet/code-snippet-skeleton.js +5 -1
- package/es/components/code-snippet/code-snippet-skeleton.js.map +1 -1
- package/es/components/code-snippet/code-snippet.js +26 -5
- package/es/components/code-snippet/code-snippet.js.map +1 -1
- package/es/components/combo-box/combo-box.js +23 -2
- package/es/components/combo-box/combo-box.js.map +1 -1
- package/es/components/content-switcher/content-switcher-item.js +11 -1
- package/es/components/content-switcher/content-switcher-item.js.map +1 -1
- package/es/components/content-switcher/content-switcher.js +7 -1
- package/es/components/content-switcher/content-switcher.js.map +1 -1
- package/es/components/copy-button/copy-button.js +15 -2
- package/es/components/copy-button/copy-button.js.map +1 -1
- package/es/components/data-table/table-batch-actions.js +15 -1
- package/es/components/data-table/table-batch-actions.js.map +1 -1
- package/es/components/data-table/table-body.js.map +1 -1
- package/es/components/data-table/table-cell-skeleton.js.map +1 -1
- package/es/components/data-table/table-cell.js.map +1 -1
- package/es/components/data-table/table-expand-row.js +10 -1
- package/es/components/data-table/table-expand-row.js.map +1 -1
- package/es/components/data-table/table-expanded-row.js +7 -1
- package/es/components/data-table/table-expanded-row.js.map +1 -1
- package/es/components/data-table/table-head.js.map +1 -1
- package/es/components/data-table/table-header-cell.js +12 -1
- package/es/components/data-table/table-header-cell.js.map +1 -1
- package/es/components/data-table/table-row.js +22 -1
- package/es/components/data-table/table-row.js.map +1 -1
- package/es/components/data-table/table-toolbar-content.js.map +1 -1
- package/es/components/data-table/table-toolbar-search.js +8 -1
- package/es/components/data-table/table-toolbar-search.js.map +1 -1
- package/es/components/data-table/table-toolbar.js.map +1 -1
- package/es/components/data-table/table.js.map +1 -1
- package/es/components/date-picker/date-picker-input-skeleton.js +4 -1
- package/es/components/date-picker/date-picker-input-skeleton.js.map +1 -1
- package/es/components/date-picker/date-picker-input.js +30 -2
- package/es/components/date-picker/date-picker-input.js.map +1 -1
- package/es/components/date-picker/date-picker.js +12 -1
- package/es/components/date-picker/date-picker.js.map +1 -1
- package/es/components/dropdown/dropdown-item.js +6 -1
- package/es/components/dropdown/dropdown-item.js.map +1 -1
- package/es/components/dropdown/dropdown-skeleton.js +8 -1
- package/es/components/dropdown/dropdown-skeleton.js.map +1 -1
- package/es/components/dropdown/dropdown.js +72 -4
- package/es/components/dropdown/dropdown.js.map +1 -1
- package/es/components/file-uploader/drop-container.js +16 -1
- package/es/components/file-uploader/drop-container.js.map +1 -1
- package/es/components/file-uploader/file-uploader-item.js +29 -3
- package/es/components/file-uploader/file-uploader-item.js.map +1 -1
- package/es/components/file-uploader/file-uploader.js +12 -1
- package/es/components/file-uploader/file-uploader.js.map +1 -1
- package/es/components/floating-menu/floating-menu.d.ts +1 -1
- package/es/components/floating-menu/floating-menu.js +5 -2
- package/es/components/floating-menu/floating-menu.js.map +1 -1
- package/es/components/form/form-item.js.map +1 -1
- package/es/components/inline-loading/inline-loading.js +14 -3
- package/es/components/inline-loading/inline-loading.js.map +1 -1
- package/es/components/input/input.d.ts +1 -1
- package/es/components/input/input.js +48 -4
- package/es/components/input/input.js.map +1 -1
- package/es/components/link/link.js +26 -3
- package/es/components/link/link.js.map +1 -1
- package/es/components/list/list-item.js +8 -1
- package/es/components/list/list-item.js.map +1 -1
- package/es/components/list/ordered-list.js +5 -1
- package/es/components/list/ordered-list.js.map +1 -1
- package/es/components/list/unordered-list.js +5 -1
- package/es/components/list/unordered-list.js.map +1 -1
- package/es/components/loading/loading-icon.js +16 -1
- package/es/components/loading/loading-icon.js.map +1 -1
- package/es/components/loading/loading.js.map +1 -1
- package/es/components/modal/modal-body.js.map +1 -1
- package/es/components/modal/modal-close-button.js +9 -1
- package/es/components/modal/modal-close-button.js.map +1 -1
- package/es/components/modal/modal-footer.js +5 -1
- package/es/components/modal/modal-footer.js.map +1 -1
- package/es/components/modal/modal-header.js.map +1 -1
- package/es/components/modal/modal-heading.js.map +1 -1
- package/es/components/modal/modal-label.js.map +1 -1
- package/es/components/modal/modal.js +20 -1
- package/es/components/modal/modal.js.map +1 -1
- package/es/components/multi-select/multi-select-item.js +19 -1
- package/es/components/multi-select/multi-select-item.js.map +1 -1
- package/es/components/multi-select/multi-select.js +35 -3
- package/es/components/multi-select/multi-select.js.map +1 -1
- package/es/components/notification/inline-notification.js +27 -3
- package/es/components/notification/inline-notification.js.map +1 -1
- package/es/components/notification/toast-notification.js +21 -2
- package/es/components/notification/toast-notification.js.map +1 -1
- package/es/components/number-input/number-input-skeleton.js +4 -1
- package/es/components/number-input/number-input-skeleton.js.map +1 -1
- package/es/components/number-input/number-input.d.ts +1 -1
- package/es/components/number-input/number-input.js +80 -6
- package/es/components/number-input/number-input.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu-item.js +16 -1
- package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu.js +5 -1
- package/es/components/overflow-menu/overflow-menu.js.map +1 -1
- package/es/components/pagination/page-sizes-select.js +14 -1
- package/es/components/pagination/page-sizes-select.js.map +1 -1
- package/es/components/pagination/pages-select.js +25 -2
- package/es/components/pagination/pages-select.js.map +1 -1
- package/es/components/pagination/pagination.js +30 -1
- package/es/components/pagination/pagination.js.map +1 -1
- package/es/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
- package/es/components/progress-indicator/progress-indicator.js.map +1 -1
- package/es/components/progress-indicator/progress-step-skeleton.js +10 -1
- package/es/components/progress-indicator/progress-step-skeleton.js.map +1 -1
- package/es/components/progress-indicator/progress-step.js +19 -2
- package/es/components/progress-indicator/progress-step.js.map +1 -1
- package/es/components/radio-button/radio-button-group.js.map +1 -1
- package/es/components/radio-button/radio-button-skeleton.js +4 -1
- package/es/components/radio-button/radio-button-skeleton.js.map +1 -1
- package/es/components/radio-button/radio-button.js +14 -1
- package/es/components/radio-button/radio-button.js.map +1 -1
- package/es/components/search/search-skeleton.js +4 -1
- package/es/components/search/search-skeleton.js.map +1 -1
- package/es/components/search/search.js +25 -1
- package/es/components/search/search.js.map +1 -1
- package/es/components/select/select.js +58 -4
- package/es/components/select/select.js.map +1 -1
- package/es/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
- package/es/components/skeleton-text/skeleton-text.js.map +1 -1
- package/es/components/skip-to-content/skip-to-content.js +5 -1
- package/es/components/skip-to-content/skip-to-content.js.map +1 -1
- package/es/components/slider/slider-input.js +12 -1
- package/es/components/slider/slider-input.js.map +1 -1
- package/es/components/slider/slider-skeleton.js +12 -1
- package/es/components/slider/slider-skeleton.js.map +1 -1
- package/es/components/slider/slider.js +45 -1
- package/es/components/slider/slider.js.map +1 -1
- package/es/components/structured-list/structured-list-body.js.map +1 -1
- package/es/components/structured-list/structured-list-cell.js.map +1 -1
- package/es/components/structured-list/structured-list-head.js.map +1 -1
- package/es/components/structured-list/structured-list-header-cell-skeleton.js.map +1 -1
- package/es/components/structured-list/structured-list-header-cell.js.map +1 -1
- package/es/components/structured-list/structured-list-header-row.js +4 -1
- package/es/components/structured-list/structured-list-header-row.js.map +1 -1
- package/es/components/structured-list/structured-list-row.js +14 -1
- package/es/components/structured-list/structured-list-row.js.map +1 -1
- package/es/components/structured-list/structured-list.js +3 -1
- package/es/components/structured-list/structured-list.js.map +1 -1
- package/es/components/tabs/tab-skeleton.js.map +1 -1
- package/es/components/tabs/tab.js +11 -1
- package/es/components/tabs/tab.js.map +1 -1
- package/es/components/tabs/tabs-skeleton.js +8 -1
- package/es/components/tabs/tabs-skeleton.js.map +1 -1
- package/es/components/tabs/tabs.js +26 -1
- package/es/components/tabs/tabs.js.map +1 -1
- package/es/components/tag/filter-tag.js +6 -1
- package/es/components/tag/filter-tag.js.map +1 -1
- package/es/components/tag/tag.css.js +1 -1
- package/es/components/tag/tag.js.map +1 -1
- package/es/components/textarea/textarea-skeleton.js +4 -1
- package/es/components/textarea/textarea-skeleton.js.map +1 -1
- package/es/components/textarea/textarea.js +32 -1
- package/es/components/textarea/textarea.js.map +1 -1
- package/es/components/tile/expandable-tile.js +17 -1
- package/es/components/tile/expandable-tile.js.map +1 -1
- package/es/components/tile/selectable-tile.js +17 -1
- package/es/components/tile/selectable-tile.js.map +1 -1
- package/es/components/tile/tile-group.js.map +1 -1
- package/es/components/tile/tile.js.map +1 -1
- package/es/components/toggle/toggle.js +33 -2
- package/es/components/toggle/toggle.js.map +1 -1
- package/es/components/tooltip/tooltip-body.js +4 -1
- package/es/components/tooltip/tooltip-body.js.map +1 -1
- package/es/components/tooltip/tooltip-definition.js +8 -1
- package/es/components/tooltip/tooltip-definition.js.map +1 -1
- package/es/components/tooltip/tooltip-footer.js.map +1 -1
- package/es/components/tooltip/tooltip-icon.js +11 -1
- package/es/components/tooltip/tooltip-icon.js.map +1 -1
- package/es/components/tooltip/tooltip.js +4 -1
- package/es/components/tooltip/tooltip.js.map +1 -1
- package/es/components/ui-shell/header-menu-button.js +10 -1
- package/es/components/ui-shell/header-menu-button.js.map +1 -1
- package/es/components/ui-shell/header-menu.js +19 -1
- package/es/components/ui-shell/header-menu.js.map +1 -1
- package/es/components/ui-shell/header-name.js +10 -2
- package/es/components/ui-shell/header-name.js.map +1 -1
- package/es/components/ui-shell/header-nav-item.js +11 -1
- package/es/components/ui-shell/header-nav-item.js.map +1 -1
- package/es/components/ui-shell/header-nav.js +9 -1
- package/es/components/ui-shell/header-nav.js.map +1 -1
- package/es/components/ui-shell/header.js.map +1 -1
- package/es/components/ui-shell/side-nav-items.js.map +1 -1
- package/es/components/ui-shell/side-nav-link.js +16 -1
- package/es/components/ui-shell/side-nav-link.js.map +1 -1
- package/es/components/ui-shell/side-nav-menu-item.js +7 -1
- package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
- package/es/components/ui-shell/side-nav-menu.js +30 -1
- package/es/components/ui-shell/side-nav-menu.js.map +1 -1
- package/es/components/ui-shell/side-nav.js.map +1 -1
- package/es/globals/internal/storybook-cdn.d.ts +1 -1
- package/es/globals/internal/storybook-cdn.js +2 -2
- package/es/globals/internal/storybook-cdn.js.map +1 -1
- package/package.json +4 -3
- package/scss/components/tag/tag.scss +4 -4
|
@@ -11,7 +11,7 @@ let _2 = t => t,
|
|
|
11
11
|
/**
|
|
12
12
|
* @license
|
|
13
13
|
*
|
|
14
|
-
* Copyright IBM Corp. 2019,
|
|
14
|
+
* Copyright IBM Corp. 2019, 2024
|
|
15
15
|
*
|
|
16
16
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
17
17
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -383,12 +383,86 @@ let BXNumberInput = _decorate([customElement(`${prefix}-number-input`)], functio
|
|
|
383
383
|
[`${prefix}--form__helper-text`]: true,
|
|
384
384
|
[`${prefix}--form__helper-text--disabled`]: this.disabled
|
|
385
385
|
});
|
|
386
|
-
const incrementButton = html(_t || (_t = _2`
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
386
|
+
const incrementButton = html(_t || (_t = _2`
|
|
387
|
+
<button
|
|
388
|
+
class="${0}--number__control-btn up-icon"
|
|
389
|
+
aria-label="${0}"
|
|
390
|
+
aria-live="polite"
|
|
391
|
+
aria-atomic="true"
|
|
392
|
+
type="button"
|
|
393
|
+
?disabled=${0}
|
|
394
|
+
@click=${0}>
|
|
395
|
+
${0}
|
|
396
|
+
</button>
|
|
397
|
+
`), prefix, this.incrementButtonAssistiveText, this.disabled, handleUserInitiatedStepUp, CaretUp16());
|
|
398
|
+
const decrementButton = html(_t2 || (_t2 = _2`
|
|
399
|
+
<button
|
|
400
|
+
class="${0}--number__control-btn down-icon"
|
|
401
|
+
aria-label="${0}"
|
|
402
|
+
aria-live="polite"
|
|
403
|
+
aria-atomic="true"
|
|
404
|
+
type="button"
|
|
405
|
+
?disabled=${0}
|
|
406
|
+
@click=${0}>
|
|
407
|
+
${0}
|
|
408
|
+
</button>
|
|
409
|
+
`), prefix, this.decrementButtonAssistiveText, this.disabled, handleUserInitiatedStepDown, CaretDown16());
|
|
410
|
+
const input = html(_t3 || (_t3 = _2`
|
|
411
|
+
<input
|
|
412
|
+
?autocomplete="${0}"
|
|
413
|
+
?autofocus="${0}"
|
|
414
|
+
?data-invalid="${0}"
|
|
415
|
+
?disabled="${0}"
|
|
416
|
+
id="input"
|
|
417
|
+
name="${0}"
|
|
418
|
+
pattern="${0}"
|
|
419
|
+
placeholder="${0}"
|
|
420
|
+
?readonly="${0}"
|
|
421
|
+
?required="${0}"
|
|
422
|
+
type="number"
|
|
423
|
+
.value="${0}"
|
|
424
|
+
@input="${0}"
|
|
425
|
+
min="${0}"
|
|
426
|
+
max="${0}"
|
|
427
|
+
step="${0}"
|
|
428
|
+
role="alert"
|
|
429
|
+
aria-atomic="true" />
|
|
430
|
+
`), this.autocomplete, this.autofocus, this.invalid, this.disabled, ifNonEmpty(this.name), ifNonEmpty(this.pattern), ifNonEmpty(this.placeholder), this.readonly, this.required, this.value, handleInput, ifNonEmpty(this.min), ifNonEmpty(this.max), ifNonEmpty(this.step));
|
|
431
|
+
const defaultLayout = html(_t4 || (_t4 = _2`
|
|
432
|
+
${0} ${0}
|
|
433
|
+
<div class="${0}--number__controls">
|
|
434
|
+
${0} ${0}
|
|
435
|
+
</div>
|
|
436
|
+
`), this.invalid ? invalidIcon : null, input, prefix, incrementButton, decrementButton);
|
|
390
437
|
const mobileLayout = html(_t5 || (_t5 = _2` ${0} ${0} ${0} `), decrementButton, input, incrementButton);
|
|
391
|
-
return html(_t6 || (_t6 = _2`
|
|
438
|
+
return html(_t6 || (_t6 = _2`
|
|
439
|
+
<div class="${0}" ?data-invalid=${0}>
|
|
440
|
+
<label class="${0}" for="input">
|
|
441
|
+
<slot name="label-text"> ${0} </slot>
|
|
442
|
+
</label>
|
|
443
|
+
<div class="${0}--number__input-wrapper">
|
|
444
|
+
${0}
|
|
445
|
+
</div>
|
|
446
|
+
<div class="${0}">
|
|
447
|
+
<slot name="helper-text"> ${0} </slot>
|
|
448
|
+
</div>
|
|
449
|
+
<div
|
|
450
|
+
class="${0}--form-requirement"
|
|
451
|
+
?hidden="${0}">
|
|
452
|
+
<slot name="validity-message"> ${0} </slot>
|
|
453
|
+
</div>
|
|
454
|
+
<div
|
|
455
|
+
class="${0}--form-requirement"
|
|
456
|
+
?hidden="${0}">
|
|
457
|
+
<slot name="validity-message-max"> ${0} </slot>
|
|
458
|
+
</div>
|
|
459
|
+
<div
|
|
460
|
+
class="${0}--form-requirement"
|
|
461
|
+
?hidden="${0}">
|
|
462
|
+
<slot name="validity-message-min"> ${0} </slot>
|
|
463
|
+
</div>
|
|
464
|
+
</div>
|
|
465
|
+
`), wrapperClasses, this.invalid, labelClasses, this.labelText, prefix, this.mobile ? mobileLayout : defaultLayout, helperTextClasses, this.helperText, prefix, !isGenericallyInvalid(), this.validityMessage, prefix, validity !== NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM, this.validityMessageMax, prefix, validity !== NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM, this.validityMessageMin);
|
|
392
466
|
}
|
|
393
467
|
|
|
394
468
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-input.js","names":["html","property","query","classMap","settings","WarningFilled16","CaretUp16","CaretDown16","ifNonEmpty","NUMBER_INPUT_COLOR_SCHEME","NUMBER_INPUT_VALIDATION_STATUS","styles","BXInput","INPUT_SIZE","carbonElement","customElement","prefix","BXNumberInput","_decorate","_initialize","_BXInput","constructor","args","F","d","kind","key","value","_handleInput","event","target","dispatchEvent","CustomEvent","eventInput","bubbles","composed","cancelable","detail","_get","_getPrototypeOf","prototype","call","_handleUserInitiatedStepDown","_","_input","input","stepDown","_handleUserInitiatedStepUp","stepUp","decorators","_testValidity","_this$_input","_this$_input2","valueAsNumber","Number","max","EXCEEDED_MAXIMUM","min","EXCEEDED_MINIMUM","_getValidityMessage","state","Object","values","includes","stateMessageMap","validityMessageMax","validityMessageMin","attribute","reflect","REGULAR","_min","toString","oldValue","requestUpdate","_max","step","_step","type","Boolean","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","exec","navigator","userAgent","render","handleInput","handleUserInitiatedStepDown","handleUserInitiatedStepUp","invalidIcon","class","validity","isGenericallyInvalid","invalid","wrapperClasses","colorScheme","mobile","size","labelClasses","disabled","helperTextClasses","incrementButton","_t","_2","incrementButtonAssistiveText","decrementButton","_t2","decrementButtonAssistiveText","_t3","autocomplete","autofocus","name","pattern","placeholder","readonly","required","defaultLayout","_t4","mobileLayout","_t5","_t6","labelText","helperText","validityMessage","static","default"],"sources":["components/number-input/number-input.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property, query } from 'lit-element';\nimport { classMap } from 'lit-html/directives/class-map';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport WarningFilled16 from '@carbon/icons/lib/warning--filled/16';\nimport CaretUp16 from '@carbon/icons/lib/caret--up/16';\nimport CaretDown16 from '@carbon/icons/lib/caret--down/16';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport {\n NUMBER_INPUT_COLOR_SCHEME,\n NUMBER_INPUT_VALIDATION_STATUS,\n} from './defs';\nimport styles from './number-input.scss';\nimport BXInput, { INPUT_SIZE } from '../input/input';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { NUMBER_INPUT_COLOR_SCHEME, NUMBER_INPUT_VALIDATION_STATUS };\n\nconst { prefix } = settings;\n\n/**\n * Number input.\n *\n * @element bx-number-input\n * @slot helper-text - The helper text.\n * @slot label-text - The label text.\n * @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.\n */\n@customElement(`${prefix}-number-input`)\nexport default class BXNumberInput extends BXInput {\n /**\n * Handles `input` event on the `<input>` in the shadow DOM.\n */\n protected _handleInput(event: Event) {\n const { target } = event;\n const { value } = target as HTMLInputElement;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXNumberInput).eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value,\n },\n })\n );\n super._handleInput(event);\n }\n\n /**\n * Handles `click` event on the up button in the shadow DOM.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected _handleUserInitiatedStepDown(_: Event) {\n const { _input: input } = this;\n this.stepDown();\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXNumberInput).eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value: input.value,\n },\n })\n );\n }\n\n /**\n * Handles `click` event on the down button in the shadow DOM.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected _handleUserInitiatedStepUp(_: Event) {\n const { _input: input } = this;\n this.stepUp();\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXNumberInput).eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value: input.value,\n },\n })\n );\n }\n\n /**\n * The underlying input element\n */\n @query('input')\n protected _input!: HTMLInputElement;\n\n _testValidity() {\n if (this._input?.valueAsNumber > Number(this.max)) {\n return NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM;\n }\n if (this._input?.valueAsNumber < Number(this.min)) {\n return NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM;\n }\n return super._testValidity();\n }\n\n _getValidityMessage(state: string) {\n if (\n Object.values(NUMBER_INPUT_VALIDATION_STATUS).includes(\n state as NUMBER_INPUT_VALIDATION_STATUS\n )\n ) {\n const stateMessageMap = {\n [NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM]:\n this.validityMessageMax,\n [NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM]:\n this.validityMessageMin,\n };\n return stateMessageMap[state];\n }\n return super._getValidityMessage(state);\n }\n\n protected _min = '';\n\n protected _max = '';\n\n protected _step = '1';\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = NUMBER_INPUT_COLOR_SCHEME.REGULAR;\n\n /**\n * The minimum value allowed in the input\n */\n @property({ reflect: true })\n get min() {\n return this._min.toString();\n }\n\n set min(value) {\n const oldValue = this.min;\n this._min = value;\n this.requestUpdate('min', oldValue);\n }\n\n /**\n * The maximum value allowed in the input\n */\n @property({ reflect: true })\n get max() {\n return this._max.toString();\n }\n\n set max(value) {\n const oldValue = this.max;\n this._max = value;\n this.requestUpdate('max', oldValue);\n }\n\n /**\n * The amount the value should increase or decrease by\n */\n @property({ reflect: true })\n get step() {\n return this._step.toString();\n }\n\n set step(value) {\n const oldValue = this.step;\n this._step = value;\n this.requestUpdate('step', oldValue);\n }\n\n /**\n * Set to `true` to enable the mobile variant of the number input\n */\n @property({ type: Boolean, reflect: true })\n mobile = false;\n\n /**\n * Aria text for the button that increments the value\n */\n @property({ attribute: 'increment-button-assistive-text' })\n incrementButtonAssistiveText = 'increase number input';\n\n /**\n * Aria text for the button that decrements the value\n */\n @property({ attribute: 'decrement-button-assistive-text' })\n decrementButtonAssistiveText = 'decrease number input';\n\n /**\n * The input box size.\n */\n @property({ reflect: true })\n size = INPUT_SIZE.REGULAR;\n\n /**\n * The validity message shown when the value is greater than the maximum\n *\n * Also available via the `validity-message-max` slot\n */\n @property({ attribute: 'validity-message-max' })\n validityMessageMax = '';\n\n /**\n * The validity message shown when the value is less than the minimum\n *\n * Also available via the `validity-message-min` slot\n */\n @property({ attribute: 'validity-message-min' })\n validityMessageMin = '';\n\n /**\n * Handles incrementing the value in the input\n */\n stepUp() {\n this._input.stepUp();\n }\n\n /**\n * Handles decrementing the value in the input\n */\n stepDown() {\n this._input.stepDown();\n }\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n render() {\n const {\n _handleInput: handleInput,\n _handleUserInitiatedStepDown: handleUserInitiatedStepDown,\n _handleUserInitiatedStepUp: handleUserInitiatedStepUp,\n } = this;\n\n const invalidIcon = WarningFilled16({\n class: `${prefix}--number__invalid`,\n });\n\n const validity = this._testValidity();\n\n const isGenericallyInvalid = () =>\n this.invalid &&\n validity !== NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM &&\n validity !== NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM;\n\n const wrapperClasses = classMap({\n [`${prefix}--number`]: true,\n [`${prefix}--number--${this.colorScheme}`]: this.colorScheme,\n [`${prefix}--number--mobile`]: this.mobile,\n [`${prefix}--number--${this.size}`]: this.size,\n });\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: this.disabled,\n });\n\n const helperTextClasses = classMap({\n [`${prefix}--form__helper-text`]: true,\n [`${prefix}--form__helper-text--disabled`]: this.disabled,\n });\n\n const incrementButton = html`\n <button\n class=\"${prefix}--number__control-btn up-icon\"\n aria-label=\"${this.incrementButtonAssistiveText}\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n type=\"button\"\n ?disabled=${this.disabled}\n @click=${handleUserInitiatedStepUp}>\n ${CaretUp16()}\n </button>\n `;\n const decrementButton = html`\n <button\n class=\"${prefix}--number__control-btn down-icon\"\n aria-label=\"${this.decrementButtonAssistiveText}\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n type=\"button\"\n ?disabled=${this.disabled}\n @click=${handleUserInitiatedStepDown}>\n ${CaretDown16()}\n </button>\n `;\n\n const input = html`\n <input\n ?autocomplete=\"${this.autocomplete}\"\n ?autofocus=\"${this.autofocus}\"\n ?data-invalid=\"${this.invalid}\"\n ?disabled=\"${this.disabled}\"\n id=\"input\"\n name=\"${ifNonEmpty(this.name)}\"\n pattern=\"${ifNonEmpty(this.pattern)}\"\n placeholder=\"${ifNonEmpty(this.placeholder)}\"\n ?readonly=\"${this.readonly}\"\n ?required=\"${this.required}\"\n type=\"number\"\n .value=\"${this.value}\"\n @input=\"${handleInput}\"\n min=\"${ifNonEmpty(this.min)}\"\n max=\"${ifNonEmpty(this.max)}\"\n step=\"${ifNonEmpty(this.step)}\"\n role=\"alert\"\n aria-atomic=\"true\" />\n `;\n\n const defaultLayout = html`\n ${this.invalid ? invalidIcon : null} ${input}\n <div class=\"${prefix}--number__controls\">\n ${incrementButton} ${decrementButton}\n </div>\n `;\n\n const mobileLayout = html` ${decrementButton} ${input} ${incrementButton} `;\n\n return html`\n <div class=\"${wrapperClasses}\" ?data-invalid=${this.invalid}>\n <label class=\"${labelClasses}\" for=\"input\">\n <slot name=\"label-text\"> ${this.labelText} </slot>\n </label>\n <div class=\"${prefix}--number__input-wrapper\">\n ${this.mobile ? mobileLayout : defaultLayout}\n </div>\n <div class=\"${helperTextClasses}\">\n <slot name=\"helper-text\"> ${this.helperText} </slot>\n </div>\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${!isGenericallyInvalid()}\">\n <slot name=\"validity-message\"> ${this.validityMessage} </slot>\n </div>\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${validity !==\n NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM}\">\n <slot name=\"validity-message-max\"> ${this.validityMessageMax} </slot>\n </div>\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${validity !==\n NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM}\">\n <slot name=\"validity-message-min\"> ${this.validityMessageMin} </slot>\n </div>\n </div>\n `;\n }\n\n /**\n * The name of the custom event fired after the value is changed upon a user gesture.\n */\n static get eventInput() {\n return `${prefix}-number-input`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"number-input.js","names":["html","property","query","classMap","settings","WarningFilled16","CaretUp16","CaretDown16","ifNonEmpty","NUMBER_INPUT_COLOR_SCHEME","NUMBER_INPUT_VALIDATION_STATUS","styles","BXInput","INPUT_SIZE","carbonElement","customElement","prefix","BXNumberInput","_decorate","_initialize","_BXInput","constructor","args","F","d","kind","key","value","_handleInput","event","target","dispatchEvent","CustomEvent","eventInput","bubbles","composed","cancelable","detail","_get","_getPrototypeOf","prototype","call","_handleUserInitiatedStepDown","_","_input","input","stepDown","_handleUserInitiatedStepUp","stepUp","decorators","_testValidity","_this$_input","_this$_input2","valueAsNumber","Number","max","EXCEEDED_MAXIMUM","min","EXCEEDED_MINIMUM","_getValidityMessage","state","Object","values","includes","stateMessageMap","validityMessageMax","validityMessageMin","attribute","reflect","REGULAR","_min","toString","oldValue","requestUpdate","_max","step","_step","type","Boolean","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","exec","navigator","userAgent","render","handleInput","handleUserInitiatedStepDown","handleUserInitiatedStepUp","invalidIcon","class","validity","isGenericallyInvalid","invalid","wrapperClasses","colorScheme","mobile","size","labelClasses","disabled","helperTextClasses","incrementButton","_t","_2","incrementButtonAssistiveText","decrementButton","_t2","decrementButtonAssistiveText","_t3","autocomplete","autofocus","name","pattern","placeholder","readonly","required","defaultLayout","_t4","mobileLayout","_t5","_t6","labelText","helperText","validityMessage","static","default"],"sources":["components/number-input/number-input.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property, query } from 'lit-element';\nimport { classMap } from 'lit-html/directives/class-map';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport WarningFilled16 from '@carbon/icons/lib/warning--filled/16';\nimport CaretUp16 from '@carbon/icons/lib/caret--up/16';\nimport CaretDown16 from '@carbon/icons/lib/caret--down/16';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport {\n NUMBER_INPUT_COLOR_SCHEME,\n NUMBER_INPUT_VALIDATION_STATUS,\n} from './defs';\nimport styles from './number-input.scss';\nimport BXInput, { INPUT_SIZE } from '../input/input';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { NUMBER_INPUT_COLOR_SCHEME, NUMBER_INPUT_VALIDATION_STATUS };\n\nconst { prefix } = settings;\n\n/**\n * Number input.\n *\n * @element bx-number-input\n * @slot helper-text - The helper text.\n * @slot label-text - The label text.\n * @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.\n */\n@customElement(`${prefix}-number-input`)\nexport default class BXNumberInput extends BXInput {\n /**\n * Handles `input` event on the `<input>` in the shadow DOM.\n */\n protected _handleInput(event: Event) {\n const { target } = event;\n const { value } = target as HTMLInputElement;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXNumberInput).eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value,\n },\n })\n );\n super._handleInput(event);\n }\n\n /**\n * Handles `click` event on the up button in the shadow DOM.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected _handleUserInitiatedStepDown(_: Event) {\n const { _input: input } = this;\n this.stepDown();\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXNumberInput).eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value: input.value,\n },\n })\n );\n }\n\n /**\n * Handles `click` event on the down button in the shadow DOM.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected _handleUserInitiatedStepUp(_: Event) {\n const { _input: input } = this;\n this.stepUp();\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXNumberInput).eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value: input.value,\n },\n })\n );\n }\n\n /**\n * The underlying input element\n */\n @query('input')\n protected _input!: HTMLInputElement;\n\n _testValidity() {\n if (this._input?.valueAsNumber > Number(this.max)) {\n return NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM;\n }\n if (this._input?.valueAsNumber < Number(this.min)) {\n return NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM;\n }\n return super._testValidity();\n }\n\n _getValidityMessage(state: string) {\n if (\n Object.values(NUMBER_INPUT_VALIDATION_STATUS).includes(\n state as NUMBER_INPUT_VALIDATION_STATUS\n )\n ) {\n const stateMessageMap = {\n [NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM]:\n this.validityMessageMax,\n [NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM]:\n this.validityMessageMin,\n };\n return stateMessageMap[state];\n }\n return super._getValidityMessage(state);\n }\n\n protected _min = '';\n\n protected _max = '';\n\n protected _step = '1';\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = NUMBER_INPUT_COLOR_SCHEME.REGULAR;\n\n /**\n * The minimum value allowed in the input\n */\n @property({ reflect: true })\n get min() {\n return this._min.toString();\n }\n\n set min(value) {\n const oldValue = this.min;\n this._min = value;\n this.requestUpdate('min', oldValue);\n }\n\n /**\n * The maximum value allowed in the input\n */\n @property({ reflect: true })\n get max() {\n return this._max.toString();\n }\n\n set max(value) {\n const oldValue = this.max;\n this._max = value;\n this.requestUpdate('max', oldValue);\n }\n\n /**\n * The amount the value should increase or decrease by\n */\n @property({ reflect: true })\n get step() {\n return this._step.toString();\n }\n\n set step(value) {\n const oldValue = this.step;\n this._step = value;\n this.requestUpdate('step', oldValue);\n }\n\n /**\n * Set to `true` to enable the mobile variant of the number input\n */\n @property({ type: Boolean, reflect: true })\n mobile = false;\n\n /**\n * Aria text for the button that increments the value\n */\n @property({ attribute: 'increment-button-assistive-text' })\n incrementButtonAssistiveText = 'increase number input';\n\n /**\n * Aria text for the button that decrements the value\n */\n @property({ attribute: 'decrement-button-assistive-text' })\n decrementButtonAssistiveText = 'decrease number input';\n\n /**\n * The input box size.\n */\n @property({ reflect: true })\n size = INPUT_SIZE.REGULAR;\n\n /**\n * The validity message shown when the value is greater than the maximum\n *\n * Also available via the `validity-message-max` slot\n */\n @property({ attribute: 'validity-message-max' })\n validityMessageMax = '';\n\n /**\n * The validity message shown when the value is less than the minimum\n *\n * Also available via the `validity-message-min` slot\n */\n @property({ attribute: 'validity-message-min' })\n validityMessageMin = '';\n\n /**\n * Handles incrementing the value in the input\n */\n stepUp() {\n this._input.stepUp();\n }\n\n /**\n * Handles decrementing the value in the input\n */\n stepDown() {\n this._input.stepDown();\n }\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n render() {\n const {\n _handleInput: handleInput,\n _handleUserInitiatedStepDown: handleUserInitiatedStepDown,\n _handleUserInitiatedStepUp: handleUserInitiatedStepUp,\n } = this;\n\n const invalidIcon = WarningFilled16({\n class: `${prefix}--number__invalid`,\n });\n\n const validity = this._testValidity();\n\n const isGenericallyInvalid = () =>\n this.invalid &&\n validity !== NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM &&\n validity !== NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM;\n\n const wrapperClasses = classMap({\n [`${prefix}--number`]: true,\n [`${prefix}--number--${this.colorScheme}`]: this.colorScheme,\n [`${prefix}--number--mobile`]: this.mobile,\n [`${prefix}--number--${this.size}`]: this.size,\n });\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: this.disabled,\n });\n\n const helperTextClasses = classMap({\n [`${prefix}--form__helper-text`]: true,\n [`${prefix}--form__helper-text--disabled`]: this.disabled,\n });\n\n const incrementButton = html`\n <button\n class=\"${prefix}--number__control-btn up-icon\"\n aria-label=\"${this.incrementButtonAssistiveText}\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n type=\"button\"\n ?disabled=${this.disabled}\n @click=${handleUserInitiatedStepUp}>\n ${CaretUp16()}\n </button>\n `;\n const decrementButton = html`\n <button\n class=\"${prefix}--number__control-btn down-icon\"\n aria-label=\"${this.decrementButtonAssistiveText}\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n type=\"button\"\n ?disabled=${this.disabled}\n @click=${handleUserInitiatedStepDown}>\n ${CaretDown16()}\n </button>\n `;\n\n const input = html`\n <input\n ?autocomplete=\"${this.autocomplete}\"\n ?autofocus=\"${this.autofocus}\"\n ?data-invalid=\"${this.invalid}\"\n ?disabled=\"${this.disabled}\"\n id=\"input\"\n name=\"${ifNonEmpty(this.name)}\"\n pattern=\"${ifNonEmpty(this.pattern)}\"\n placeholder=\"${ifNonEmpty(this.placeholder)}\"\n ?readonly=\"${this.readonly}\"\n ?required=\"${this.required}\"\n type=\"number\"\n .value=\"${this.value}\"\n @input=\"${handleInput}\"\n min=\"${ifNonEmpty(this.min)}\"\n max=\"${ifNonEmpty(this.max)}\"\n step=\"${ifNonEmpty(this.step)}\"\n role=\"alert\"\n aria-atomic=\"true\" />\n `;\n\n const defaultLayout = html`\n ${this.invalid ? invalidIcon : null} ${input}\n <div class=\"${prefix}--number__controls\">\n ${incrementButton} ${decrementButton}\n </div>\n `;\n\n const mobileLayout = html` ${decrementButton} ${input} ${incrementButton} `;\n\n return html`\n <div class=\"${wrapperClasses}\" ?data-invalid=${this.invalid}>\n <label class=\"${labelClasses}\" for=\"input\">\n <slot name=\"label-text\"> ${this.labelText} </slot>\n </label>\n <div class=\"${prefix}--number__input-wrapper\">\n ${this.mobile ? mobileLayout : defaultLayout}\n </div>\n <div class=\"${helperTextClasses}\">\n <slot name=\"helper-text\"> ${this.helperText} </slot>\n </div>\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${!isGenericallyInvalid()}\">\n <slot name=\"validity-message\"> ${this.validityMessage} </slot>\n </div>\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${validity !==\n NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MAXIMUM}\">\n <slot name=\"validity-message-max\"> ${this.validityMessageMax} </slot>\n </div>\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${validity !==\n NUMBER_INPUT_VALIDATION_STATUS.EXCEEDED_MINIMUM}\">\n <slot name=\"validity-message-min\"> ${this.validityMessageMin} </slot>\n </div>\n </div>\n `;\n }\n\n /**\n * The name of the custom event fired after the value is changed upon a user gesture.\n */\n static get eventInput() {\n return `${prefix}-number-input`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overflow-menu-body.js","names":["settings","html","property","BXFloatingMenu","FLOATING_MENU_ALIGNMENT","FLOATING_MENU_DIRECTION","NAVIGATION_DIRECTION","OVERFLOW_MENU_COLOR_SCHEME","styles","HostListener","indexOf","carbonElement","customElement","prefix","capIndex","index","length","BXOverflowMenuBody","_decorate","_initialize","_BXFloatingMenu","constructor","args","F","d","kind","decorators","key","value","START","attribute","reflect","REGULAR","BOTTOM","type","Boolean","_getNextItem","currentItem","direction","selectorItemEnabled","menuItems","querySelectorAll","currentIndex","nextIndex","_navigate","selected","nextItem","focus","event","open","contains","document","activeElement","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","_t","_","static","selectorMenuItem"],"sources":["components/overflow-menu/overflow-menu-body.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { html, property } from 'lit-element';\nimport BXFloatingMenu, {\n FLOATING_MENU_ALIGNMENT,\n FLOATING_MENU_DIRECTION,\n} from '../floating-menu/floating-menu';\nimport { NAVIGATION_DIRECTION, OVERFLOW_MENU_COLOR_SCHEME } from './defs';\nimport styles from './overflow-menu.scss';\nimport BXOverflowMenuItem from './overflow-menu-item';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { indexOf } from '../../globals/internal/collection-helpers';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * @param index The index\n * @param length The length of the array.\n * @returns The new index, adjusting overflow/underflow.\n */\nconst capIndex = (index: number, length: number) => {\n if (index < 0) {\n return length - 1;\n }\n if (index >= length) {\n return 0;\n }\n return index;\n};\n\n/**\n * Overflow menu body.\n *\n * @element bx-overflow-menu-body\n */\n@customElement(`${prefix}-overflow-menu-body`)\nclass BXOverflowMenuBody extends BXFloatingMenu {\n /**\n * How the menu is aligned to the trigger button.\n */\n @property()\n alignment = FLOATING_MENU_ALIGNMENT.START;\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = OVERFLOW_MENU_COLOR_SCHEME.REGULAR;\n\n /**\n * The menu direction.\n */\n @property()\n direction = FLOATING_MENU_DIRECTION.BOTTOM;\n\n /**\n * `true` if the menu should be open.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n selected: BXOverflowMenuItem | null = null;\n\n /**\n * @param currentItem The currently selected item.\n * @param direction The navigation direction.\n * @returns The item to be selected.\n */\n protected _getNextItem(currentItem: BXOverflowMenuItem, direction: number) {\n const { selectorItemEnabled } = this\n .constructor as typeof BXOverflowMenuBody;\n const menuItems = this.querySelectorAll(selectorItemEnabled);\n const currentIndex = indexOf(menuItems, currentItem);\n const nextIndex = capIndex(currentIndex + direction, menuItems.length);\n return nextIndex === currentIndex ? null : menuItems[nextIndex];\n }\n\n /**\n * Navigates through overflow menu items.\n *\n * @param direction `-1` to navigate backward, `1` to navigate forward.\n */\n protected _navigate(direction: number) {\n if (this.selected) {\n const nextItem = this._getNextItem(this.selected, direction);\n (nextItem as HTMLElement)?.focus();\n }\n }\n\n /**\n * Handles `keydown` event on the menu body.\n */\n @HostListener('keydown')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleKeydown = async (event: KeyboardEvent) => {\n const { key } = event;\n if (this.open) {\n /**\n * sets this.selected to focused menu item. the menu item is focused\n * automatically due to FocusMixin\n */\n if (this.contains(document.activeElement)) {\n this.selected = document.activeElement as BXOverflowMenuItem;\n }\n\n if (key in NAVIGATION_DIRECTION) {\n this._navigate(NAVIGATION_DIRECTION[key]);\n }\n\n if (key === 'Escape') {\n this.open = false;\n }\n }\n };\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'menu');\n }\n if (!this.hasAttribute('tabindex')) {\n // TODO: Should we use a property?\n this.setAttribute('tabindex', '-1');\n }\n super.connectedCallback();\n }\n\n render() {\n return html` <slot></slot> `;\n }\n\n /**\n * A selector that will return menu items.\n */\n static get selectorMenuItem() {\n return `${prefix}-overflow-menu-item`;\n }\n\n /**\n * A selector that will return enabled menu items.\n */\n static get selectorItemEnabled() {\n return `${prefix}-overflow-menu-item:not([disabled])`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXOverflowMenuBody;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"overflow-menu-body.js","names":["settings","html","property","BXFloatingMenu","FLOATING_MENU_ALIGNMENT","FLOATING_MENU_DIRECTION","NAVIGATION_DIRECTION","OVERFLOW_MENU_COLOR_SCHEME","styles","HostListener","indexOf","carbonElement","customElement","prefix","capIndex","index","length","BXOverflowMenuBody","_decorate","_initialize","_BXFloatingMenu","constructor","args","F","d","kind","decorators","key","value","START","attribute","reflect","REGULAR","BOTTOM","type","Boolean","_getNextItem","currentItem","direction","selectorItemEnabled","menuItems","querySelectorAll","currentIndex","nextIndex","_navigate","selected","nextItem","focus","event","open","contains","document","activeElement","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","_t","_","static","selectorMenuItem"],"sources":["components/overflow-menu/overflow-menu-body.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { html, property } from 'lit-element';\nimport BXFloatingMenu, {\n FLOATING_MENU_ALIGNMENT,\n FLOATING_MENU_DIRECTION,\n} from '../floating-menu/floating-menu';\nimport { NAVIGATION_DIRECTION, OVERFLOW_MENU_COLOR_SCHEME } from './defs';\nimport styles from './overflow-menu.scss';\nimport BXOverflowMenuItem from './overflow-menu-item';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { indexOf } from '../../globals/internal/collection-helpers';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * @param index The index\n * @param length The length of the array.\n * @returns The new index, adjusting overflow/underflow.\n */\nconst capIndex = (index: number, length: number) => {\n if (index < 0) {\n return length - 1;\n }\n if (index >= length) {\n return 0;\n }\n return index;\n};\n\n/**\n * Overflow menu body.\n *\n * @element bx-overflow-menu-body\n */\n@customElement(`${prefix}-overflow-menu-body`)\nclass BXOverflowMenuBody extends BXFloatingMenu {\n /**\n * How the menu is aligned to the trigger button.\n */\n @property()\n alignment = FLOATING_MENU_ALIGNMENT.START;\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = OVERFLOW_MENU_COLOR_SCHEME.REGULAR;\n\n /**\n * The menu direction.\n */\n @property()\n direction = FLOATING_MENU_DIRECTION.BOTTOM;\n\n /**\n * `true` if the menu should be open.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n selected: BXOverflowMenuItem | null = null;\n\n /**\n * @param currentItem The currently selected item.\n * @param direction The navigation direction.\n * @returns The item to be selected.\n */\n protected _getNextItem(currentItem: BXOverflowMenuItem, direction: number) {\n const { selectorItemEnabled } = this\n .constructor as typeof BXOverflowMenuBody;\n const menuItems = this.querySelectorAll(selectorItemEnabled);\n const currentIndex = indexOf(menuItems, currentItem);\n const nextIndex = capIndex(currentIndex + direction, menuItems.length);\n return nextIndex === currentIndex ? null : menuItems[nextIndex];\n }\n\n /**\n * Navigates through overflow menu items.\n *\n * @param direction `-1` to navigate backward, `1` to navigate forward.\n */\n protected _navigate(direction: number) {\n if (this.selected) {\n const nextItem = this._getNextItem(this.selected, direction);\n (nextItem as HTMLElement)?.focus();\n }\n }\n\n /**\n * Handles `keydown` event on the menu body.\n */\n @HostListener('keydown')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleKeydown = async (event: KeyboardEvent) => {\n const { key } = event;\n if (this.open) {\n /**\n * sets this.selected to focused menu item. the menu item is focused\n * automatically due to FocusMixin\n */\n if (this.contains(document.activeElement)) {\n this.selected = document.activeElement as BXOverflowMenuItem;\n }\n\n if (key in NAVIGATION_DIRECTION) {\n this._navigate(NAVIGATION_DIRECTION[key]);\n }\n\n if (key === 'Escape') {\n this.open = false;\n }\n }\n };\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'menu');\n }\n if (!this.hasAttribute('tabindex')) {\n // TODO: Should we use a property?\n this.setAttribute('tabindex', '-1');\n }\n super.connectedCallback();\n }\n\n render() {\n return html` <slot></slot> `;\n }\n\n /**\n * A selector that will return menu items.\n */\n static get selectorMenuItem() {\n return `${prefix}-overflow-menu-item`;\n }\n\n /**\n * A selector that will return enabled menu items.\n */\n static get selectorItemEnabled() {\n return `${prefix}-overflow-menu-item:not([disabled])`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXOverflowMenuBody;\n"],"mappings":"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"}
|
|
@@ -99,7 +99,22 @@ let BXOverflowMenuItem = _decorate([customElement(`${prefix}-overflow-menu-item`
|
|
|
99
99
|
kind: "method",
|
|
100
100
|
key: "render",
|
|
101
101
|
value: function render() {
|
|
102
|
-
return this.href ? html(_t || (_t = _`
|
|
102
|
+
return this.href ? html(_t || (_t = _`
|
|
103
|
+
<a
|
|
104
|
+
class="${0}--overflow-menu-options__btn"
|
|
105
|
+
?disabled=${0}
|
|
106
|
+
href="${0}"
|
|
107
|
+
tabindex="${0}"
|
|
108
|
+
><slot></slot
|
|
109
|
+
></a>
|
|
110
|
+
`), prefix, this.disabled, this.href, this.disabled ? -1 : 0) : html(_t2 || (_t2 = _`
|
|
111
|
+
<button
|
|
112
|
+
class="${0}--overflow-menu-options__btn"
|
|
113
|
+
?disabled=${0}
|
|
114
|
+
tabindex="${0}">
|
|
115
|
+
<slot></slot>
|
|
116
|
+
</button>
|
|
117
|
+
`), prefix, this.disabled, this.disabled ? -1 : 0);
|
|
103
118
|
}
|
|
104
119
|
}, {
|
|
105
120
|
kind: "field",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overflow-menu-item.js","names":["settings","html","property","LitElement","carbonElement","customElement","FocusMixin","styles","prefix","BXOverflowMenuItem","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","type","Boolean","reflect","key","value","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","href","_t","_","disabled","_t2","static"],"sources":["components/overflow-menu/overflow-menu-item.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { html, property, LitElement } from 'lit-element';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './overflow-menu.scss';\n\nconst { prefix } = settings;\n\n/**\n * Overflow menu item.\n *\n * @element bx-overflow-menu-item\n */\n@customElement(`${prefix}-overflow-menu-item`)\nclass BXOverflowMenuItem extends FocusMixin(LitElement) {\n /**\n * `true` if the action is danger.\n */\n @property({ type: Boolean, reflect: true })\n danger = false;\n\n /**\n * `true` if the overflow menu item should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The link href of the overflow menu item.\n */\n @property()\n href = '';\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'menuitem');\n }\n super.connectedCallback();\n }\n\n render() {\n return this.href\n ? html`\n <a\n class=\"${prefix}--overflow-menu-options__btn\"\n ?disabled=${this.disabled}\n href=\"${this.href}\"\n tabindex=\"${this.disabled ? -1 : 0}\"\n ><slot></slot\n ></a>\n `\n : html`\n <button\n class=\"${prefix}--overflow-menu-options__btn\"\n ?disabled=${this.disabled}\n tabindex=\"${this.disabled ? -1 : 0}\">\n <slot></slot>\n </button>\n `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXOverflowMenuItem;\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,QAAQ,MAAM,0CAA0C;AAC/D,SAASC,IAAI,EAAEC,QAAQ,EAAEC,UAAU,QAAQ,aAAa;AACxD,SAASC,aAAa,IAAIC,aAAa,QAAQ,yCAAyC;AACxF,OAAOC,UAAU,MAAM,4BAA4B;AACnD,OAAOC,MAAM,MAAM,0BAAsB;AAEzC,MAAM;EAAEC;AAAO,CAAC,GAAGR,QAAQ;;AAE3B;AACA;AACA;AACA;AACA;AAJA,IAMMS,kBAAkB,GAAAC,SAAA,EADvBL,aAAa,CAAE,GAAEG,MAAO,qBAAoB,CAAC,aAAAG,WAAA,EAAAC,WAAA;EAA9C,MACMH,kBAAkB,SAAAG,WAAA,CAAgC;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAyDxD;EAAC;IAAAI,CAAA,EAzDKN,kBAAkB;IAAAO,CAAA;MAAAC,IAAA;MAAAC,UAAA,GAIrBhB,QAAQ,CAAC;QAAEiB,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAClC,KAAK;MAAA;IAAA;MAAAN,IAAA;MAAAC,UAAA,GAKbhB,QAAQ,CAAC;QAAEiB,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAChC,KAAK;MAAA;IAAA;MAAAN,IAAA;MAAAC,UAAA,GAKfhB,QAAQ,CAAC,CAAC;MAAAoB,GAAA;MAAAC,MAAA;QAAA,OACJ,EAAE;MAAA;IAAA;MAAAN,IAAA;MAAAK,GAAA;MAAAC,KAAA;MAhBT;AACF;AACA;;MAIE;AACF;AACA;;MAIE;AACF;AACA;;MAIE,SAAAC,iBAAA,EAAmB;QAAA,IAAAC,KAAA;QACjB,OAAO,IAAI,CAACC,YAAY,CAAC;UACvBC,IAAI,EAAE,MAAM;UACZC,cAAc,EACZC,MAAM,CAAC,EAAAJ,KAAA,GAAC,eAAe,CAACK,IAAI,CAACC,SAAS,CAACC,SAAS,CAAC,cAAAP,KAAA,cAAAA,KAAA,GAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IACjE;QACJ,CAAC,CAAC;MACJ;IAAC;MAAAR,IAAA;MAAAK,GAAA;MAAAC,KAAA,EAED,SAAAU,kBAAA,EAAoB;QAClB,IAAI,CAAC,IAAI,CAACC,YAAY,CAAC,MAAM,CAAC,EAAE;UAC9B,IAAI,CAACC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC;QACvC;QACAC,IAAA,CAAAC,eAAA,CAhCE5B,kBAAkB,CAAA6B,SAAA,8BAAAC,IAAA;MAiCtB;IAAC;MAAAtB,IAAA;MAAAK,GAAA;MAAAC,KAAA,EAED,SAAAiB,OAAA,EAAS;QACP,OAAO,IAAI,CAACC,IAAI,GACZxC,IAAI,CAAAyC,EAAA,KAAAA,EAAA,GAAAC,
|
|
1
|
+
{"version":3,"file":"overflow-menu-item.js","names":["settings","html","property","LitElement","carbonElement","customElement","FocusMixin","styles","prefix","BXOverflowMenuItem","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","type","Boolean","reflect","key","value","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","href","_t","_","disabled","_t2","static"],"sources":["components/overflow-menu/overflow-menu-item.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { html, property, LitElement } from 'lit-element';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './overflow-menu.scss';\n\nconst { prefix } = settings;\n\n/**\n * Overflow menu item.\n *\n * @element bx-overflow-menu-item\n */\n@customElement(`${prefix}-overflow-menu-item`)\nclass BXOverflowMenuItem extends FocusMixin(LitElement) {\n /**\n * `true` if the action is danger.\n */\n @property({ type: Boolean, reflect: true })\n danger = false;\n\n /**\n * `true` if the overflow menu item should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The link href of the overflow menu item.\n */\n @property()\n href = '';\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'menuitem');\n }\n super.connectedCallback();\n }\n\n render() {\n return this.href\n ? html`\n <a\n class=\"${prefix}--overflow-menu-options__btn\"\n ?disabled=${this.disabled}\n href=\"${this.href}\"\n tabindex=\"${this.disabled ? -1 : 0}\"\n ><slot></slot\n ></a>\n `\n : html`\n <button\n class=\"${prefix}--overflow-menu-options__btn\"\n ?disabled=${this.disabled}\n tabindex=\"${this.disabled ? -1 : 0}\">\n <slot></slot>\n </button>\n `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXOverflowMenuItem;\n"],"mappings":"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"}
|
|
@@ -224,7 +224,11 @@ let BXOverflowMenu = _decorate([customElement(`${prefix}-overflow-menu`)], funct
|
|
|
224
224
|
kind: "method",
|
|
225
225
|
key: "render",
|
|
226
226
|
value: function render() {
|
|
227
|
-
return html(_t || (_t = _`
|
|
227
|
+
return html(_t || (_t = _`
|
|
228
|
+
<slot name="icon">
|
|
229
|
+
${0}
|
|
230
|
+
</slot>
|
|
231
|
+
`), OverflowMenuVertical16({
|
|
228
232
|
class: `${prefix}--overflow-menu__icon`
|
|
229
233
|
}));
|
|
230
234
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overflow-menu.js","names":["settings","html","property","LitElement","OverflowMenuVertical16","HostListener","FocusMixin","HostListenerMixin","find","OVERFLOW_MENU_COLOR_SCHEME","OVERFLOW_MENU_SIZE","styles","carbonElement","customElement","prefix","BXOverflowMenu","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","_handleUserInitiatedToggle","open","updateComplete","_menuBody","menuBody","focus","decorators","attribute","reflect","REGULAR","type","Boolean","triggerPosition","getBoundingClientRect","connectedCallback","hasAttribute","setAttribute","shadowRoot","attachShadow","mode","_get","_getPrototypeOf","prototype","call","updated","changedProperties","has","colorScheme","childNodes","elem","FLOATING_MENU","String","render","_t","_","class","static"],"sources":["components/overflow-menu/overflow-menu.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { html, property, LitElement } from 'lit-element';\nimport OverflowMenuVertical16 from '@carbon/icons/lib/overflow-menu--vertical/16';\nimport HostListener from '../../globals/decorators/host-listener';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { find } from '../../globals/internal/collection-helpers';\nimport BXFloatingMenuTrigger from '../floating-menu/floating-menu-trigger';\nimport { OVERFLOW_MENU_COLOR_SCHEME, OVERFLOW_MENU_SIZE } from './defs';\nimport BXOverflowMenuBody from './overflow-menu-body';\nimport styles from './overflow-menu.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { OVERFLOW_MENU_COLOR_SCHEME, OVERFLOW_MENU_SIZE };\n\nconst { prefix } = settings;\n\n/**\n * Overflow menu.\n *\n * @element bx-overflow-menu\n * @slot icon - The icon for the trigger button.\n */\n@customElement(`${prefix}-overflow-menu`)\nclass BXOverflowMenu\n extends HostListenerMixin(FocusMixin(LitElement))\n implements BXFloatingMenuTrigger\n{\n /**\n * The menu body.\n */\n private _menuBody: BXOverflowMenuBody | null = null;\n\n /**\n * Handles user-initiated toggling of the menu.\n */\n private async _handleUserInitiatedToggle() {\n this.open = !this.open;\n const { open, updateComplete } = this;\n if (open) {\n await updateComplete;\n const { _menuBody: menuBody } = this;\n menuBody?.focus();\n }\n }\n\n /**\n * Handles `click` event on the trigger button.\n */\n @HostListener('click')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClickTrigger = async () => {\n this._handleUserInitiatedToggle();\n };\n\n /**\n * Handles `keydown` event on the trigger button.\n */\n @HostListener('keydown')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydownTrigger = async ({ key }) => {\n if (key === ' ' || key === 'Enter') {\n this._handleUserInitiatedToggle();\n }\n };\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = OVERFLOW_MENU_COLOR_SCHEME.REGULAR;\n\n /**\n * `true` if this overflow menu should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if the dropdown should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * Overflow menu size.\n */\n @property({ reflect: true })\n size = OVERFLOW_MENU_SIZE.REGULAR;\n\n /**\n * @returns The position of the trigger button in the viewport.\n */\n get triggerPosition() {\n return this.getBoundingClientRect();\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'button');\n }\n if (!this.hasAttribute('tabindex')) {\n // TODO: Should we use a property?\n this.setAttribute('tabindex', '0');\n }\n if (!this.hasAttribute('aria-haspopup')) {\n this.setAttribute('aria-haspopup', 'true');\n }\n if (!this.hasAttribute('aria-expanded')) {\n this.setAttribute('aria-expanded', 'false');\n }\n if (!this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('open')) {\n const { colorScheme, open } = this;\n if (open && !this._menuBody) {\n this._menuBody = find(\n this.childNodes,\n (elem) =>\n (elem.constructor as typeof BXOverflowMenuBody).FLOATING_MENU\n );\n }\n const { _menuBody: menuBody } = this;\n if (menuBody) {\n menuBody.colorScheme = colorScheme;\n menuBody.open = open;\n this.setAttribute('aria-expanded', String(Boolean(open)));\n }\n }\n if (changedProperties.has('colorScheme')) {\n const { colorScheme } = this;\n const { _menuBody: menuBody } = this;\n if (menuBody) {\n menuBody.colorScheme = colorScheme;\n }\n }\n }\n\n render() {\n return html`\n <slot name=\"icon\">\n ${OverflowMenuVertical16({\n class: `${prefix}--overflow-menu__icon`,\n })}\n </slot>\n `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXOverflowMenu;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"overflow-menu.js","names":["settings","html","property","LitElement","OverflowMenuVertical16","HostListener","FocusMixin","HostListenerMixin","find","OVERFLOW_MENU_COLOR_SCHEME","OVERFLOW_MENU_SIZE","styles","carbonElement","customElement","prefix","BXOverflowMenu","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","_handleUserInitiatedToggle","open","updateComplete","_menuBody","menuBody","focus","decorators","attribute","reflect","REGULAR","type","Boolean","triggerPosition","getBoundingClientRect","connectedCallback","hasAttribute","setAttribute","shadowRoot","attachShadow","mode","_get","_getPrototypeOf","prototype","call","updated","changedProperties","has","colorScheme","childNodes","elem","FLOATING_MENU","String","render","_t","_","class","static"],"sources":["components/overflow-menu/overflow-menu.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { html, property, LitElement } from 'lit-element';\nimport OverflowMenuVertical16 from '@carbon/icons/lib/overflow-menu--vertical/16';\nimport HostListener from '../../globals/decorators/host-listener';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { find } from '../../globals/internal/collection-helpers';\nimport BXFloatingMenuTrigger from '../floating-menu/floating-menu-trigger';\nimport { OVERFLOW_MENU_COLOR_SCHEME, OVERFLOW_MENU_SIZE } from './defs';\nimport BXOverflowMenuBody from './overflow-menu-body';\nimport styles from './overflow-menu.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { OVERFLOW_MENU_COLOR_SCHEME, OVERFLOW_MENU_SIZE };\n\nconst { prefix } = settings;\n\n/**\n * Overflow menu.\n *\n * @element bx-overflow-menu\n * @slot icon - The icon for the trigger button.\n */\n@customElement(`${prefix}-overflow-menu`)\nclass BXOverflowMenu\n extends HostListenerMixin(FocusMixin(LitElement))\n implements BXFloatingMenuTrigger\n{\n /**\n * The menu body.\n */\n private _menuBody: BXOverflowMenuBody | null = null;\n\n /**\n * Handles user-initiated toggling of the menu.\n */\n private async _handleUserInitiatedToggle() {\n this.open = !this.open;\n const { open, updateComplete } = this;\n if (open) {\n await updateComplete;\n const { _menuBody: menuBody } = this;\n menuBody?.focus();\n }\n }\n\n /**\n * Handles `click` event on the trigger button.\n */\n @HostListener('click')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClickTrigger = async () => {\n this._handleUserInitiatedToggle();\n };\n\n /**\n * Handles `keydown` event on the trigger button.\n */\n @HostListener('keydown')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydownTrigger = async ({ key }) => {\n if (key === ' ' || key === 'Enter') {\n this._handleUserInitiatedToggle();\n }\n };\n\n /**\n * The color scheme.\n */\n @property({ attribute: 'color-scheme', reflect: true })\n colorScheme = OVERFLOW_MENU_COLOR_SCHEME.REGULAR;\n\n /**\n * `true` if this overflow menu should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if the dropdown should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * Overflow menu size.\n */\n @property({ reflect: true })\n size = OVERFLOW_MENU_SIZE.REGULAR;\n\n /**\n * @returns The position of the trigger button in the viewport.\n */\n get triggerPosition() {\n return this.getBoundingClientRect();\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'button');\n }\n if (!this.hasAttribute('tabindex')) {\n // TODO: Should we use a property?\n this.setAttribute('tabindex', '0');\n }\n if (!this.hasAttribute('aria-haspopup')) {\n this.setAttribute('aria-haspopup', 'true');\n }\n if (!this.hasAttribute('aria-expanded')) {\n this.setAttribute('aria-expanded', 'false');\n }\n if (!this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('open')) {\n const { colorScheme, open } = this;\n if (open && !this._menuBody) {\n this._menuBody = find(\n this.childNodes,\n (elem) =>\n (elem.constructor as typeof BXOverflowMenuBody).FLOATING_MENU\n );\n }\n const { _menuBody: menuBody } = this;\n if (menuBody) {\n menuBody.colorScheme = colorScheme;\n menuBody.open = open;\n this.setAttribute('aria-expanded', String(Boolean(open)));\n }\n }\n if (changedProperties.has('colorScheme')) {\n const { colorScheme } = this;\n const { _menuBody: menuBody } = this;\n if (menuBody) {\n menuBody.colorScheme = colorScheme;\n }\n }\n }\n\n render() {\n return html`\n <slot name=\"icon\">\n ${OverflowMenuVertical16({\n class: `${prefix}--overflow-menu__icon`,\n })}\n </slot>\n `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXOverflowMenu;\n"],"mappings":"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"}
|
|
@@ -132,7 +132,20 @@ let BXPageSizesSelect = _decorate([customElement(`${prefix}-page-sizes-select`)]
|
|
|
132
132
|
_handleChange: handleChange,
|
|
133
133
|
_handleSlotChange: handleSlotChange
|
|
134
134
|
} = this;
|
|
135
|
-
return html(_t || (_t = _`
|
|
135
|
+
return html(_t || (_t = _`
|
|
136
|
+
<label for="select" class="${0}--pagination__text"
|
|
137
|
+
><slot name="label-text">${0}</slot></label
|
|
138
|
+
>
|
|
139
|
+
<div class="${0}--select__item-count">
|
|
140
|
+
<select
|
|
141
|
+
id="select"
|
|
142
|
+
class="${0}--select-input"
|
|
143
|
+
.value="${0}"
|
|
144
|
+
@change=${0}></select>
|
|
145
|
+
${0}
|
|
146
|
+
</div>
|
|
147
|
+
<div hidden><slot @slotchange="${0}"></slot></div>
|
|
148
|
+
`), prefix, labelText, prefix, prefix, value, handleChange, ChevronDown16({
|
|
136
149
|
class: `${prefix}--select__arrow`
|
|
137
150
|
}), handleSlotChange);
|
|
138
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-sizes-select.js","names":["html","property","query","LitElement","ChevronDown16","settings","FocusMixin","styles","carbonElement","customElement","prefix","BXPageSizesSelect","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","key","value","_handleChange","target","Number","dispatchEvent","CustomEvent","eventChange","bubbles","composed","detail","_handleSlotChange","_selectNode","selectNode","firstChild","removeChild","assignedNodes","forEach","item","optionElement","cloneNode","selected","appendChild","attribute","type","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","exec","navigator","userAgent","render","labelText","handleChange","handleSlotChange","_t","_","class","static"],"sources":["components/pagination/page-sizes-select.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property, query, LitElement } from 'lit-element';\nimport ChevronDown16 from '@carbon/icons/lib/chevron--down/16';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './pagination.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * The select box for page sizes.\n *\n * @element bx-page-sizes-select\n * @slot label-text - The label text.\n * @fires bx-page-sizes-select-changed - The custom event fired after the page size is changed.\n */\n@customElement(`${prefix}-page-sizes-select`)\nclass BXPageSizesSelect extends FocusMixin(LitElement) {\n @query('select')\n private _selectNode!: HTMLSelectElement;\n\n /**\n * Handles `change` event on the `<select>` to select page size.\n */\n private _handleChange({ target }: Event) {\n const value = Number((target as HTMLSelectElement).value);\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof BXPageSizesSelect).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value,\n },\n }\n )\n );\n this.value = value;\n }\n\n /**\n * Handles `slotchange` event for the `<slot>` for `<options>`.\n *\n * @param event The event.\n */\n private _handleSlotChange({ target }: Event) {\n const { _selectNode: selectNode, value } = this;\n while (selectNode.firstChild) {\n selectNode.removeChild(selectNode.firstChild);\n }\n (\n (target as HTMLSlotElement).assignedNodes() as HTMLOptionElement[]\n ).forEach((item) => {\n const optionElement = item.cloneNode(true) as HTMLOptionElement;\n if (value && Number(optionElement.value) === value) {\n optionElement.selected = true;\n }\n selectNode?.appendChild(optionElement);\n });\n }\n\n /**\n * The label text.\n */\n @property({ attribute: 'label-text' })\n labelText = 'Items per page:';\n\n /**\n * The value, working as the current page size.\n */\n @property({ type: Number })\n value!: number;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n render() {\n const {\n labelText,\n value,\n _handleChange: handleChange,\n _handleSlotChange: handleSlotChange,\n } = this;\n return html`\n <label for=\"select\" class=\"${prefix}--pagination__text\"\n ><slot name=\"label-text\">${labelText}</slot></label\n >\n <div class=\"${prefix}--select__item-count\">\n <select\n id=\"select\"\n class=\"${prefix}--select-input\"\n .value=\"${value}\"\n @change=${handleChange}></select>\n ${ChevronDown16({ class: `${prefix}--select__arrow` })}\n </div>\n <div hidden><slot @slotchange=\"${handleSlotChange}\"></slot></div>\n `;\n }\n\n /**\n * The name of the custom event fired after the page size is changed.\n */\n static get eventChange() {\n return `${prefix}-page-sizes-select-changed`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXPageSizesSelect;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"page-sizes-select.js","names":["html","property","query","LitElement","ChevronDown16","settings","FocusMixin","styles","carbonElement","customElement","prefix","BXPageSizesSelect","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","key","value","_handleChange","target","Number","dispatchEvent","CustomEvent","eventChange","bubbles","composed","detail","_handleSlotChange","_selectNode","selectNode","firstChild","removeChild","assignedNodes","forEach","item","optionElement","cloneNode","selected","appendChild","attribute","type","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","exec","navigator","userAgent","render","labelText","handleChange","handleSlotChange","_t","_","class","static"],"sources":["components/pagination/page-sizes-select.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property, query, LitElement } from 'lit-element';\nimport ChevronDown16 from '@carbon/icons/lib/chevron--down/16';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './pagination.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * The select box for page sizes.\n *\n * @element bx-page-sizes-select\n * @slot label-text - The label text.\n * @fires bx-page-sizes-select-changed - The custom event fired after the page size is changed.\n */\n@customElement(`${prefix}-page-sizes-select`)\nclass BXPageSizesSelect extends FocusMixin(LitElement) {\n @query('select')\n private _selectNode!: HTMLSelectElement;\n\n /**\n * Handles `change` event on the `<select>` to select page size.\n */\n private _handleChange({ target }: Event) {\n const value = Number((target as HTMLSelectElement).value);\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof BXPageSizesSelect).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value,\n },\n }\n )\n );\n this.value = value;\n }\n\n /**\n * Handles `slotchange` event for the `<slot>` for `<options>`.\n *\n * @param event The event.\n */\n private _handleSlotChange({ target }: Event) {\n const { _selectNode: selectNode, value } = this;\n while (selectNode.firstChild) {\n selectNode.removeChild(selectNode.firstChild);\n }\n (\n (target as HTMLSlotElement).assignedNodes() as HTMLOptionElement[]\n ).forEach((item) => {\n const optionElement = item.cloneNode(true) as HTMLOptionElement;\n if (value && Number(optionElement.value) === value) {\n optionElement.selected = true;\n }\n selectNode?.appendChild(optionElement);\n });\n }\n\n /**\n * The label text.\n */\n @property({ attribute: 'label-text' })\n labelText = 'Items per page:';\n\n /**\n * The value, working as the current page size.\n */\n @property({ type: Number })\n value!: number;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n render() {\n const {\n labelText,\n value,\n _handleChange: handleChange,\n _handleSlotChange: handleSlotChange,\n } = this;\n return html`\n <label for=\"select\" class=\"${prefix}--pagination__text\"\n ><slot name=\"label-text\">${labelText}</slot></label\n >\n <div class=\"${prefix}--select__item-count\">\n <select\n id=\"select\"\n class=\"${prefix}--select-input\"\n .value=\"${value}\"\n @change=${handleChange}></select>\n ${ChevronDown16({ class: `${prefix}--select__arrow` })}\n </div>\n <div hidden><slot @slotchange=\"${handleSlotChange}\"></slot></div>\n `;\n }\n\n /**\n * The name of the custom event fired after the page size is changed.\n */\n static get eventChange() {\n return `${prefix}-page-sizes-select-changed`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXPageSizesSelect;\n"],"mappings":"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"}
|
|
@@ -130,9 +130,32 @@ let BXPagesSelect = _decorate([customElement(`${prefix}-pages-select`)], functio
|
|
|
130
130
|
} = this;
|
|
131
131
|
// `<option ?selected="${index === value}">` is a workaround for:
|
|
132
132
|
// https://github.com/Polymer/lit-html/issues/1052
|
|
133
|
-
return html(_t || (_t = _`
|
|
133
|
+
return html(_t || (_t = _`
|
|
134
|
+
<div class="${0}--select__page-number">
|
|
135
|
+
<label
|
|
136
|
+
for="select-page"
|
|
137
|
+
class="${0}--label ${0}--visually-hidden">
|
|
138
|
+
${0}
|
|
139
|
+
</label>
|
|
140
|
+
<select
|
|
141
|
+
class="${0}--select-input"
|
|
142
|
+
.value="${0}"
|
|
143
|
+
id="select-page"
|
|
144
|
+
@change="${0}">
|
|
145
|
+
${0}
|
|
146
|
+
</select>
|
|
147
|
+
${0}
|
|
148
|
+
</div>
|
|
149
|
+
<span class="${0}--pagination__text">
|
|
150
|
+
${0}
|
|
151
|
+
</span>
|
|
152
|
+
`), prefix, prefix, prefix, formatLabelText({
|
|
134
153
|
count: total
|
|
135
|
-
}), prefix, value, handleChange, Array.from(new Array(total)).map((_item, index) => html(_t2 || (_t2 = _`
|
|
154
|
+
}), prefix, value, handleChange, Array.from(new Array(total)).map((_item, index) => html(_t2 || (_t2 = _`
|
|
155
|
+
<option value=${0} ?selected="${0}">
|
|
156
|
+
${0}
|
|
157
|
+
</option>
|
|
158
|
+
`), index, index === value, index + 1)), ChevronDown16({
|
|
136
159
|
class: `${prefix}--select__arrow`
|
|
137
160
|
}), prefix, formatSupplementalText({
|
|
138
161
|
count: total
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages-select.js","names":["html","property","LitElement","ChevronDown16","settings","FocusMixin","styles","carbonElement","customElement","prefix","BXPagesSelect","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","key","value","_handleChange","target","Number","dispatchEvent","CustomEvent","eventChange","bubbles","composed","detail","decorators","attribute","count","type","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","exec","navigator","userAgent","render","formatLabelText","formatSupplementalText","total","handleChange","_t","_","Array","from","map","_item","index","_t2","class","static"],"sources":["components/pagination/pages-select.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property, LitElement } from 'lit-element';\nimport ChevronDown16 from '@carbon/icons/lib/chevron--down/16';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './pagination.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * The select box for the current page.\n *\n * @element bx-pages-select\n * @fires bx-pages-select-changed - The custom event fired after the page is changed.\n */\n@customElement(`${prefix}-pages-select`)\nclass BXPagesSelect extends FocusMixin(LitElement) {\n /**\n * Handles `change` event on the `<select>` to select page size.\n */\n private _handleChange({ target }: Event) {\n const value = Number((target as HTMLSelectElement).value);\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXPagesSelect).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n },\n })\n );\n this.value = value;\n }\n\n /**\n * The formatter for the assistive text for screen readers to announce.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatLabelText = ({ count }) =>\n `Page number, of ${count} page${count <= 1 ? '' : 's'}`;\n\n /**\n * The formatter for the text next to the select box. Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatSupplementalText = ({ count }) =>\n `of ${count} page${count <= 1 ? '' : 's'}`;\n\n /**\n * The number of total pages.\n */\n @property({ type: Number })\n total!: number;\n\n /**\n * The value, working as the current page, index that starts with zero.\n */\n @property({ type: Number })\n value!: number;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n render() {\n const {\n formatLabelText,\n formatSupplementalText,\n total,\n value,\n _handleChange: handleChange,\n } = this;\n // `<option ?selected=\"${index === value}\">` is a workaround for:\n // https://github.com/Polymer/lit-html/issues/1052\n return html`\n <div class=\"${prefix}--select__page-number\">\n <label\n for=\"select-page\"\n class=\"${prefix}--label ${prefix}--visually-hidden\">\n ${formatLabelText({ count: total })}\n </label>\n <select\n class=\"${prefix}--select-input\"\n .value=\"${value}\"\n id=\"select-page\"\n @change=\"${handleChange}\">\n ${Array.from(new Array(total)).map(\n (_item, index) =>\n html`\n <option value=${index} ?selected=\"${index === value}\">\n ${index + 1}\n </option>\n `\n )}\n </select>\n ${ChevronDown16({ class: `${prefix}--select__arrow` })}\n </div>\n <span class=\"${prefix}--pagination__text\">\n ${formatSupplementalText({ count: total })}\n </span>\n `;\n }\n\n /**\n * The name of the custom event fired after the page is changed.\n */\n static get eventChange() {\n return `${prefix}-pages-select-changed`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXPagesSelect;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pages-select.js","names":["html","property","LitElement","ChevronDown16","settings","FocusMixin","styles","carbonElement","customElement","prefix","BXPagesSelect","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","key","value","_handleChange","target","Number","dispatchEvent","CustomEvent","eventChange","bubbles","composed","detail","decorators","attribute","count","type","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","exec","navigator","userAgent","render","formatLabelText","formatSupplementalText","total","handleChange","_t","_","Array","from","map","_item","index","_t2","class","static"],"sources":["components/pagination/pages-select.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property, LitElement } from 'lit-element';\nimport ChevronDown16 from '@carbon/icons/lib/chevron--down/16';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './pagination.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * The select box for the current page.\n *\n * @element bx-pages-select\n * @fires bx-pages-select-changed - The custom event fired after the page is changed.\n */\n@customElement(`${prefix}-pages-select`)\nclass BXPagesSelect extends FocusMixin(LitElement) {\n /**\n * Handles `change` event on the `<select>` to select page size.\n */\n private _handleChange({ target }: Event) {\n const value = Number((target as HTMLSelectElement).value);\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXPagesSelect).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n },\n })\n );\n this.value = value;\n }\n\n /**\n * The formatter for the assistive text for screen readers to announce.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatLabelText = ({ count }) =>\n `Page number, of ${count} page${count <= 1 ? '' : 's'}`;\n\n /**\n * The formatter for the text next to the select box. Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatSupplementalText = ({ count }) =>\n `of ${count} page${count <= 1 ? '' : 's'}`;\n\n /**\n * The number of total pages.\n */\n @property({ type: Number })\n total!: number;\n\n /**\n * The value, working as the current page, index that starts with zero.\n */\n @property({ type: Number })\n value!: number;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n render() {\n const {\n formatLabelText,\n formatSupplementalText,\n total,\n value,\n _handleChange: handleChange,\n } = this;\n // `<option ?selected=\"${index === value}\">` is a workaround for:\n // https://github.com/Polymer/lit-html/issues/1052\n return html`\n <div class=\"${prefix}--select__page-number\">\n <label\n for=\"select-page\"\n class=\"${prefix}--label ${prefix}--visually-hidden\">\n ${formatLabelText({ count: total })}\n </label>\n <select\n class=\"${prefix}--select-input\"\n .value=\"${value}\"\n id=\"select-page\"\n @change=\"${handleChange}\">\n ${Array.from(new Array(total)).map(\n (_item, index) =>\n html`\n <option value=${index} ?selected=\"${index === value}\">\n ${index + 1}\n </option>\n `\n )}\n </select>\n ${ChevronDown16({ class: `${prefix}--select__arrow` })}\n </div>\n <span class=\"${prefix}--pagination__text\">\n ${formatSupplementalText({ count: total })}\n </span>\n `;\n }\n\n /**\n * The name of the custom event fired after the page is changed.\n */\n static get eventChange() {\n return `${prefix}-pages-select-changed`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXPagesSelect;\n"],"mappings":"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"}
|
|
@@ -360,7 +360,36 @@ let BXPagination = _decorate([customElement(`${prefix}-pagination`)], function (
|
|
|
360
360
|
[`${prefix}--pagination__button--forward`]: true,
|
|
361
361
|
[`${prefix}--pagination__button--no-index`]: nextButtonDisabled
|
|
362
362
|
});
|
|
363
|
-
return html(_t || (_t = _`
|
|
363
|
+
return html(_t || (_t = _`
|
|
364
|
+
<div class="${0}--pagination__left">
|
|
365
|
+
<slot name="page-sizes-select"></slot>
|
|
366
|
+
<div class="${0}-ce--pagination__divider"></div>
|
|
367
|
+
<span
|
|
368
|
+
class="${0}--pagination__text ${0}--pagination__items-count"
|
|
369
|
+
>${0}</span
|
|
370
|
+
>
|
|
371
|
+
</div>
|
|
372
|
+
<div class="${0}-ce--pagination__divider"></div>
|
|
373
|
+
<div class="${0}--pagination__right">
|
|
374
|
+
<slot></slot>
|
|
375
|
+
<div class="${0}--pagination__control-buttons">
|
|
376
|
+
<button
|
|
377
|
+
?disabled="${0}"
|
|
378
|
+
class="${0}"
|
|
379
|
+
title="${0}"
|
|
380
|
+
@click="${0}">
|
|
381
|
+
${0}
|
|
382
|
+
</button>
|
|
383
|
+
<button
|
|
384
|
+
?disabled="${0}"
|
|
385
|
+
class="${0}"
|
|
386
|
+
title="${0}"
|
|
387
|
+
@click="${0}">
|
|
388
|
+
${0}
|
|
389
|
+
</button>
|
|
390
|
+
</div>
|
|
391
|
+
</div>
|
|
392
|
+
`), prefix, prefix, prefix, prefix, this._renderStatusText(), prefix, prefix, prefix, prevButtonDisabled, prevButtonClasses, prevButtonText, handleClickPrevButton, CaretLeft24(), nextButtonDisabled, nextButtonClasses, nextButtonText, handleClickNextButton, CaretRight24());
|
|
364
393
|
}
|
|
365
394
|
|
|
366
395
|
/**
|