@nova-design-system/nova-react 3.23.0 → 3.25.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/README.md +1 -0
- package/dist/cjs/dom.utils-CuXVGECR-8VY5SfMZ.js +177 -0
- package/dist/cjs/events.utils-B6GgGra--01N__3wY.js +23 -0
- package/dist/cjs/generated/components.server.js +124 -58
- package/dist/cjs/{grow.animation-CvHGHBL4-DDIEYBK-.js → grow.animation-D7ep_aVl-BuXEDSK-.js} +0 -21
- package/dist/cjs/{i18n.utils-DOZbXX2L-BizoXo6c.js → i18n.utils-IlwlcG9l-ku0bScip.js} +14 -18
- package/dist/cjs/index-DUlunl9a.js +9696 -0
- package/dist/cjs/{nv-dialog.entry-O47Eol_7.js → index.esm-D3eWMME9-CG1TVKfu.js} +1 -296
- package/dist/cjs/index.js +5 -1
- package/dist/cjs/{nv-accordion-item.entry-B_l0-ux0.js → nv-accordion-item.entry-CqnjIt4R.js} +8 -7
- package/dist/cjs/{nv-accordion.entry-BX8_YuZF.js → nv-accordion.entry-Dx7FmGg_.js} +11 -14
- package/dist/cjs/{nv-alert.entry-DCWYR0OK.js → nv-alert.entry-BL3Pdcxd.js} +7 -6
- package/dist/cjs/nv-avatar.entry-2dFR4I9_.js +68 -0
- package/dist/cjs/nv-badge_2.entry-5FShR2Ax.js +218 -0
- package/dist/cjs/nv-breadcrumb.entry-Cfi32bBT.js +49 -0
- package/dist/cjs/nv-breadcrumbs.entry-BSgn3KUO.js +21 -0
- package/dist/cjs/nv-button.entry-BdQQ_LE7.js +166 -0
- package/dist/cjs/{nv-buttongroup.entry-BZaTKN_n.js → nv-buttongroup.entry-BM8CwXFK.js} +13 -7
- package/dist/cjs/{nv-calendar.entry-D9ESuu7C.js → nv-calendar.entry-CeKsMGOa.js} +39 -32
- package/dist/cjs/nv-col.entry-D-h2PGcz.js +38 -0
- package/dist/cjs/{nv-datagrid.entry-DcB5q2oC.js → nv-datagrid.entry-nOBIfqOS.js} +113 -255
- package/dist/cjs/{nv-datagridcolumn.entry-BhKOzXA6.js → nv-datagridcolumn.entry-BAzTU_KM.js} +2 -2
- package/dist/cjs/nv-dialog.entry-Bi2ZVSe2.js +299 -0
- package/dist/cjs/{nv-dialogfooter_2.entry-Dn16bI8a.js → nv-dialogfooter_2.entry-D6lzC-3S.js} +11 -29
- package/dist/cjs/nv-drawer.entry-Dp4AfBiF.js +445 -0
- package/dist/cjs/nv-drawerfooter_2.entry-DpWSsq6d.js +128 -0
- package/dist/cjs/nv-fieldcheckbox.entry-COA3LXnX.js +179 -0
- package/dist/cjs/{nv-fielddate.entry-B4P0U8QG.js → nv-fielddate.entry-B8r5RFXd.js} +20 -21
- package/dist/cjs/{nv-fielddaterange.entry-BORwYJ-k.js → nv-fielddaterange.entry-C6_Kq93P.js} +20 -19
- package/dist/cjs/{nv-fielddropdown.entry-DzBAIynY.js → nv-fielddropdown.entry-B2Dr5zHd.js} +51 -58
- package/dist/cjs/nv-fielddropdownitem.entry-DapivVnR.js +69 -0
- package/dist/cjs/{nv-fieldmultiselect.entry-DiqRreWh.js → nv-fieldmultiselect.entry-DSpQeiPx.js} +45 -49
- package/dist/cjs/nv-fieldnumber.entry-BwxR9sRr.js +189 -0
- package/dist/cjs/nv-fieldpassword.entry-BOSU-Skh.js +167 -0
- package/dist/cjs/nv-fieldradio.entry-ZFafNY5_.js +105 -0
- package/dist/cjs/nv-fieldselect.entry-CfWjQAd9.js +405 -0
- package/dist/cjs/{nv-fieldslider.entry-CozmnUfN.js → nv-fieldslider.entry-dDPcWUxs.js} +34 -16
- package/dist/cjs/nv-fieldtext.entry-Yaa-mkjJ.js +163 -0
- package/dist/cjs/{nv-fieldtextarea.entry-7UrKWDHg.js → nv-fieldtextarea.entry-Dp_l2pKZ.js} +18 -13
- package/dist/cjs/{nv-fieldtime.entry-DakOlLiO.js → nv-fieldtime.entry-CWxi4Uel.js} +38 -40
- package/dist/cjs/{nv-icon.entry-Db00kB2u.js → nv-icon.entry-Dci11W9S.js} +5 -5
- package/dist/cjs/nv-iconbutton_2.entry-A6FKFJT_.js +171 -0
- package/dist/cjs/{nv-menu.entry-CK2HdmBt.js → nv-menu.entry-BHaYP-9M.js} +11 -16
- package/dist/cjs/nv-menuitem.entry-Cm1vvN25.js +59 -0
- package/dist/cjs/nv-notification-bullet.entry-DRlS3Ybc.js +76 -0
- package/dist/cjs/nv-notification.entry-BeDmR-XC.js +176 -0
- package/dist/cjs/nv-notificationcontainer.entry-C3p_87Dg.js +41 -0
- package/dist/cjs/nv-paginationtable.entry-BzEqQOBa.js +231 -0
- package/dist/cjs/{nv-popover.entry-mLdLSp6n.js → nv-popover.entry-D2oFn9vL.js} +118 -46
- package/dist/cjs/nv-row.entry-hV1kxmrr.js +22 -0
- package/dist/cjs/{nv-sidebar.entry-inDVNJ4s.js → nv-sidebar.entry-BJrqJ8K7.js} +12 -8
- package/dist/cjs/nv-sidebarcontent.entry-CPfGF7nx.js +22 -0
- package/dist/cjs/{nv-sidebardivider.entry-D_yern0R.js → nv-sidebardivider.entry-D2wmzHCO.js} +4 -4
- package/dist/cjs/{nv-sidebarfooter.entry-Rkkn9TB_.js → nv-sidebarfooter.entry-C7fqCzjH.js} +4 -4
- package/dist/cjs/nv-sidebargroup.entry-qkXnxhs_.js +23 -0
- package/dist/cjs/{nv-sidebarheader.entry-CYpD_4pI.js → nv-sidebarheader.entry-DBsOmyQ0.js} +4 -4
- package/dist/cjs/{nv-sidebarlogo.entry-BgK03M1v.js → nv-sidebarlogo.entry-902Ht3UR.js} +4 -4
- package/dist/cjs/{nv-sidebarnavitem.entry-DglvcCOD.js → nv-sidebarnavitem.entry-CICrllp8.js} +11 -10
- package/dist/cjs/nv-sidebarnavsubitem.entry-Q9jjU_7D.js +35 -0
- package/dist/cjs/{nv-split.entry-mzg2F66T.js → nv-split.entry-BYIsE2wp.js} +51 -45
- package/dist/cjs/nv-stack.entry-DgE5ASGH.js +31 -0
- package/dist/cjs/{nv-table.entry-DkbNgxtI.js → nv-table.entry-DHXBu2n1.js} +9 -11
- package/dist/cjs/{nv-tableheader.entry-CRVFTQA-.js → nv-tableheader.entry-BijgOxcO.js} +5 -5
- package/dist/cjs/nv-toggle.entry-CMI1WdvV.js +82 -0
- package/dist/cjs/nv-togglebutton.entry-DAPETEmF.js +66 -0
- package/dist/cjs/{nv-togglebuttongroup.entry-BYXX5ejg.js → nv-togglebuttongroup.entry-CzDI1XCr.js} +14 -11
- package/dist/cjs/nv-tooltip.entry-DPoUP9iL.js +56 -0
- package/dist/cjs/slide.animation-CmH5d1of-BZuw607U.js +90 -0
- package/dist/components/NvDatatable/NvDatatable.js +69 -32
- package/dist/generated/components.js +38 -0
- package/dist/generated/components.server.js +120 -58
- package/dist/types/components/NvDatatable/NvDatatable.d.ts +1 -1
- package/dist/types/components/NvDatatable/types.d.ts +13 -3
- package/dist/types/generated/components.d.ts +63 -43
- package/dist/types/generated/components.server.d.ts +63 -43
- package/package.json +2 -2
- package/dist/cjs/index-CtjeeUI-.js +0 -39617
- package/dist/cjs/nv-avatar.entry-C_xZD3Lp.js +0 -68
- package/dist/cjs/nv-badge_2.entry-JjqANStV.js +0 -213
- package/dist/cjs/nv-breadcrumb.entry-DQZDn6cm.js +0 -46
- package/dist/cjs/nv-breadcrumbs.entry-Bz0GjhY_.js +0 -21
- package/dist/cjs/nv-button.entry-Br1DH9Vj.js +0 -164
- package/dist/cjs/nv-col.entry-CfgPMMxS.js +0 -38
- package/dist/cjs/nv-fieldcheckbox.entry-Bx6ArV_b.js +0 -177
- package/dist/cjs/nv-fielddropdownitem.entry-C_17isWd.js +0 -73
- package/dist/cjs/nv-fieldnumber.entry-C9O4UPp3.js +0 -187
- package/dist/cjs/nv-fieldpassword.entry-BfVJNT0A.js +0 -165
- package/dist/cjs/nv-fieldradio.entry-CG22oETM.js +0 -103
- package/dist/cjs/nv-fieldselect.entry-BPQEtrv2.js +0 -397
- package/dist/cjs/nv-fieldtext.entry-BD-z01ru.js +0 -163
- package/dist/cjs/nv-iconbutton_2.entry-CaKCa8NT.js +0 -168
- package/dist/cjs/nv-menuitem.entry-mKMqCAdz.js +0 -60
- package/dist/cjs/nv-notification-bullet.entry-DtbjtFxs.js +0 -77
- package/dist/cjs/nv-notification.entry-CLb0gNu3.js +0 -262
- package/dist/cjs/nv-notificationcontainer.entry-Cijivlm6.js +0 -41
- package/dist/cjs/nv-row.entry-C2C94fcv.js +0 -22
- package/dist/cjs/nv-sidebarcontent.entry-DxoljE15.js +0 -22
- package/dist/cjs/nv-sidebargroup.entry-C1p9qqxr.js +0 -23
- package/dist/cjs/nv-sidebarnavsubitem.entry-Dt1jKmC-.js +0 -35
- package/dist/cjs/nv-stack.entry-nnvjTrBy.js +0 -31
- package/dist/cjs/nv-toggle.entry-oC9TVkr1.js +0 -80
- package/dist/cjs/nv-togglebutton.entry-BTWCzbS9.js +0 -67
- package/dist/cjs/nv-tooltip.entry-OJGxfJEh.js +0 -55
package/dist/cjs/{nv-fieldmultiselect.entry-DiqRreWh.js → nv-fieldmultiselect.entry-DSpQeiPx.js}
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var
|
|
3
|
+
var index = require('./index-DUlunl9a.js');
|
|
4
|
+
var i18n_utilsIlwlcG9l = require('./i18n.utils-IlwlcG9l-ku0bScip.js');
|
|
5
5
|
var v4BdYh22OP = require('./v4-BdYh22OP-C1vaJ4yP.js');
|
|
6
6
|
require('@stencil/react-output-target/runtime');
|
|
7
7
|
require('react');
|
|
8
8
|
require('react-dom');
|
|
9
9
|
|
|
10
|
-
const nvFieldmultiselectCss = "nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldmultiselect{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fieldmultiselect[fluid]:not([fluid=false]){max-width:unset}nv-fieldmultiselect[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fieldmultiselect[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fieldmultiselect[required]:not([required=false]) label::after,nv-fieldmultiselect[aria-required=true] label::after{content:\"*\";color:var(--components-form-text-required);font-weight:var(--font-weight-high-emphasis)}nv-fieldmultiselect label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-label-line-height)}nv-fieldmultiselect nv-popover{width:100%;display:block}nv-fieldmultiselect nv-popover [data-scope=popover]{min-width:100%;width:max-content;max-width:400px;padding:var(--list-dropdown-padding);border-radius:var(--list-dropdown-radius);background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border)}nv-fieldmultiselect nv-popover [slot=content]{gap:var(--list-dropdown-gap-y);display:flex;flex-direction:column}nv-fieldmultiselect nv-popover hr{color:var(--components-list-dropdown-separator)}nv-fieldmultiselect nv-popover div[slot=content]::-webkit-scrollbar{width:6px;height:6px}nv-fieldmultiselect nv-popover div[slot=content]::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}nv-fieldmultiselect nv-popover div[slot=content]::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}nv-fieldmultiselect nv-popover div[slot=content]{max-height:calc(90vh - var(--list-dropdown-padding) * 2);overflow-y:auto;position:relative}nv-fieldmultiselect .input-wrapper-multiselect{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;width:100%}nv-fieldmultiselect .input-container-multiselect{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldmultiselect .input-container-multiselect:hover{border-color:var(--nv-field-border-hover)}nv-fieldmultiselect .input-container-multiselect:focus-within,nv-fieldmultiselect .input-container-multiselect:focus-within:hover,nv-fieldmultiselect .input-container-multiselect:focus,nv-fieldmultiselect .input-container-multiselect:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldmultiselect .input-container-multiselect:has(input:read-only){background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldmultiselect .input-container-multiselect:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldmultiselect .input-container-multiselect{position:relative;width:100%;min-height:40px}nv-fieldmultiselect .input-container-multiselect>nv-badge{margin-left:var(--form-field-padding-x)}nv-fieldmultiselect .input-container-multiselect input,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-field-line-height);width:100%}nv-fieldmultiselect .input-container-multiselect input:focus,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text:focus{outline:none}nv-fieldmultiselect .input-container-multiselect input::placeholder,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-low-emphasis);line-height:var(--form-field-line-height)}nv-fieldmultiselect .input-container-multiselect input,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text{}nv-fieldmultiselect .input-container-multiselect input[type=password]::-ms-clear,nv-fieldmultiselect .input-container-multiselect input[type=password]::-ms-reveal,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text[type=password]::-ms-clear,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fieldmultiselect .input-container-multiselect input,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text{width:100%;flex-grow:1;margin:0;min-height:100%;box-sizing:border-box}nv-fieldmultiselect .input-container-multiselect>nv-iconbutton{border:0px;border-radius:0px}nv-fieldmultiselect .input-container-multiselect>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fieldmultiselect .input-container-multiselect>nv-iconbutton:last-of-type{border-top-right-radius:var(--form-field-radius);border-bottom-right-radius:var(--form-field-radius)}nv-fieldmultiselect .input-container-multiselect nv-icon.validation{color:var(--nv-field-border-default)}nv-fieldmultiselect .non-filterable-text{display:block;border-radius:var(--form-field-radius);background-color:var(--nv-field-background);color:var(--components-form-field-content-text);font-size:var(--form-field-font-size);font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-field-line-height);box-sizing:border-box;cursor:pointer;height:100%;min-height:40px}nv-fieldmultiselect .non-filterable-text span{display:inline-block;width:100%;overflow:hidden;text-overflow:ellipsis}nv-fieldmultiselect .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldmultiselect .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}.no-results-message{cursor:not-allowed;background-color:unset;color:var(--components-menu-contextual-item-content-disabled);padding:var(--list-dropdown-item-padding-y) var(--list-dropdown-item-padding-x)}.multiselect-divider{display:block;width:100%;height:1px;background-color:var(--components-list-dropdown-separator);margin:var(--list-dropdown-item-padding-y) 0;border:0}.select-all-container{position:sticky;top:0;background-color:var(--components-list-dropdown-background);border-bottom:1px solid var(--components-list-dropdown-separator);padding:var(--list-dropdown-item-padding-y) var(--list-dropdown-item-padding-x);z-index:10;margin-bottom:0}.select-all-container .select-all-header{display:flex;align-items:center;gap:var(--form-field-gap)}.select-all-container .select-all-header nv-fieldcheckbox{flex:1;margin:0}.select-all-container .select-all-header nv-iconbutton,.select-all-container .select-all-header nv-button{flex-shrink:0;margin-left:auto}.select-all-container .select-all-header nv-button{justify-content:center}";
|
|
10
|
+
const nvFieldmultiselectCss = () => `nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldmultiselect{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fieldmultiselect[fluid]:not([fluid=false]){max-width:unset}nv-fieldmultiselect[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fieldmultiselect[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fieldmultiselect[required]:not([required=false]) label::after,nv-fieldmultiselect[aria-required=true] label::after{content:"*";color:var(--components-form-text-required);font-weight:var(--font-weight-high-emphasis)}nv-fieldmultiselect label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-label-line-height)}nv-fieldmultiselect nv-popover{width:100%;display:block}nv-fieldmultiselect nv-popover [data-scope=popover]{min-width:100%;width:max-content;max-width:400px;padding:var(--list-dropdown-padding);border-radius:var(--list-dropdown-radius);background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border)}nv-fieldmultiselect nv-popover [slot=content]{gap:var(--list-dropdown-gap-y);display:flex;flex-direction:column}nv-fieldmultiselect nv-popover hr{color:var(--components-list-dropdown-separator)}nv-fieldmultiselect nv-popover div[slot=content]::-webkit-scrollbar{width:6px;height:6px}nv-fieldmultiselect nv-popover div[slot=content]::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}nv-fieldmultiselect nv-popover div[slot=content]::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}nv-fieldmultiselect nv-popover div[slot=content]{max-height:calc(90vh - var(--list-dropdown-padding) * 2);overflow-y:auto;position:relative}nv-fieldmultiselect .input-wrapper-multiselect{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;width:100%}nv-fieldmultiselect .input-container-multiselect{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldmultiselect .input-container-multiselect:hover{border-color:var(--nv-field-border-hover)}nv-fieldmultiselect .input-container-multiselect:focus-within,nv-fieldmultiselect .input-container-multiselect:focus-within:hover,nv-fieldmultiselect .input-container-multiselect:focus,nv-fieldmultiselect .input-container-multiselect:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldmultiselect .input-container-multiselect:has(input:read-only){background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldmultiselect .input-container-multiselect:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldmultiselect .input-container-multiselect{position:relative;width:100%;min-height:40px}nv-fieldmultiselect .input-container-multiselect>nv-badge{margin-left:var(--form-field-padding-x)}nv-fieldmultiselect .input-container-multiselect input,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-field-line-height);width:100%}nv-fieldmultiselect .input-container-multiselect input:focus,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text:focus{outline:none}nv-fieldmultiselect .input-container-multiselect input::placeholder,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-low-emphasis);line-height:var(--form-field-line-height)}nv-fieldmultiselect .input-container-multiselect input,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text{}nv-fieldmultiselect .input-container-multiselect input[type=password]::-ms-clear,nv-fieldmultiselect .input-container-multiselect input[type=password]::-ms-reveal,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text[type=password]::-ms-clear,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fieldmultiselect .input-container-multiselect input,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text{width:100%;flex-grow:1;margin:0;min-height:100%;box-sizing:border-box}nv-fieldmultiselect .input-container-multiselect>nv-iconbutton{border:0px;border-radius:0px}nv-fieldmultiselect .input-container-multiselect>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fieldmultiselect .input-container-multiselect>nv-iconbutton:last-of-type{border-top-right-radius:var(--form-field-radius);border-bottom-right-radius:var(--form-field-radius)}nv-fieldmultiselect .input-container-multiselect nv-icon.validation{color:var(--nv-field-border-default)}nv-fieldmultiselect .non-filterable-text{display:block;border-radius:var(--form-field-radius);background-color:var(--nv-field-background);color:var(--components-form-field-content-text);font-size:var(--form-field-font-size);font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-field-line-height);box-sizing:border-box;cursor:pointer;height:100%;min-height:40px}nv-fieldmultiselect .non-filterable-text span{display:inline-block;width:100%;overflow:hidden;text-overflow:ellipsis}nv-fieldmultiselect .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldmultiselect .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}.no-results-message{cursor:not-allowed;background-color:unset;color:var(--components-menu-contextual-item-content-disabled);padding:var(--list-dropdown-item-padding-y) var(--list-dropdown-item-padding-x)}.multiselect-divider{display:block;width:100%;height:1px;background-color:var(--components-list-dropdown-separator);margin:var(--list-dropdown-item-padding-y) 0;border:0}.select-all-container{position:sticky;top:0;background-color:var(--components-list-dropdown-background);border-bottom:1px solid var(--components-list-dropdown-separator);padding:var(--list-dropdown-item-padding-y) var(--list-dropdown-item-padding-x);z-index:10;margin-bottom:0}.select-all-container .select-all-header{display:flex;align-items:center;gap:var(--form-field-gap)}.select-all-container .select-all-header nv-fieldcheckbox{flex:1;margin:0}.select-all-container .select-all-header nv-iconbutton,.select-all-container .select-all-header nv-button{flex-shrink:0;margin-left:auto}.select-all-container .select-all-header nv-button{justify-content:center}`;
|
|
11
11
|
|
|
12
12
|
const NvFieldmultiselect = class {
|
|
13
13
|
constructor(hostRef) {
|
|
@@ -512,13 +512,12 @@ const NvFieldmultiselect = class {
|
|
|
512
512
|
* @returns {any} The JSX for options mode
|
|
513
513
|
*/
|
|
514
514
|
this.renderOptionsMode = () => {
|
|
515
|
-
|
|
516
|
-
return (index.h(index.Host, { "aria-label": this.label }, (this.label || this.el.querySelector('[slot="label"]')) && (index.h("label", { htmlFor: this.inputId }, index.h("slot", { name: "label" }, this.label))), index.h("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open, onOpenChanged: this.handleOpenChanged }, index.h("div", { class: "input-wrapper-multiselect", slot: "trigger" }, index.h("slot", { name: "before-input" }), index.h("div", { class: "input-container-multiselect" }, index.h("slot", { name: "leading-input" }), (((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) || 0) > 0 && (index.h("nv-badge", { slot: "leading-input", "prevent-auto-close": true, color: "10", dismissible: (((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) || 0) > 0, label: `${((_c = this.value) === null || _c === void 0 ? void 0 : _c.length) || 0} ${this.badgeLabel}`, "aria-label": `Clear all ${((_d = this.value) === null || _d === void 0 ? void 0 : _d.length) || 0} ${this.badgeLabel} items`, onCloseClicked: this.handleBadgeCloseOptions })), this.filterable || this.disabled || this.readonly ? (index.h("input", Object.assign({ type: "text", id: this.inputId, ref: e => (this.inputElement = e), autofocus: this.autofocus, autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, value: this.filterText, required: this.getRequiredAttributes().useNativeRequired
|
|
515
|
+
return (index.h(index.Host, { "aria-label": this.label }, (this.label || this.el.querySelector('[slot="label"]')) && (index.h("label", { htmlFor: this.inputId }, index.h("slot", { name: "label" }, this.label))), index.h("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open, onOpenChanged: this.handleOpenChanged }, index.h("div", { class: "input-wrapper-multiselect", slot: "trigger" }, index.h("slot", { name: "before-input" }), index.h("div", { class: "input-container-multiselect" }, index.h("slot", { name: "leading-input" }), (this.value?.length || 0) > 0 && (index.h("nv-badge", { slot: "leading-input", "prevent-auto-close": true, color: "10", dismissible: (this.value?.length || 0) > 0, label: `${this.value?.length || 0} ${this.badgeLabel}`, "aria-label": `Clear all ${this.value?.length || 0} ${this.badgeLabel} items`, onCloseClicked: this.handleBadgeCloseOptions })), this.filterable || this.disabled || this.readonly ? (index.h("input", { type: "text", id: this.inputId, ref: e => (this.inputElement = e), autofocus: this.autofocus, autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, value: this.filterText, required: this.getRequiredAttributes().useNativeRequired
|
|
517
516
|
? this.required
|
|
518
|
-
: undefined
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
517
|
+
: undefined, ...(this.getRequiredAttributes().ariaRequiredValue !==
|
|
518
|
+
undefined && {
|
|
519
|
+
'aria-required': String(this.getRequiredAttributes().ariaRequiredValue),
|
|
520
|
+
}), disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInputOptions, onFocus: this.handleInputFocusOptions, onBlur: this.handleInputBlurOptions, onKeyDown: this.handleKeyDown, "data-scope": "focusable", "aria-label": this.label, "aria-controls": `${this.inputId}-listbox` })) : (index.h(index.Fragment, null, index.h("input", { id: this.inputId, type: "text", style: {
|
|
522
521
|
position: 'absolute',
|
|
523
522
|
opacity: '0',
|
|
524
523
|
width: '0',
|
|
@@ -534,13 +533,12 @@ const NvFieldmultiselect = class {
|
|
|
534
533
|
* @returns {any} The JSX for slots mode
|
|
535
534
|
*/
|
|
536
535
|
this.renderSlotsMode = () => {
|
|
537
|
-
|
|
538
|
-
return (index.h(index.Host, { "aria-label": this.label }, (this.label || this.el.querySelector('[slot="label"]')) && (index.h("label", { htmlFor: this.inputId }, index.h("slot", { name: "label" }, this.label))), index.h("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, index.h("div", { class: "input-wrapper-multiselect", slot: "trigger" }, index.h("slot", { name: "before-input" }), index.h("div", { class: "input-container-multiselect", onClick: this.handleInputContainerClickSlots }, index.h("slot", { name: "leading-input" }), (((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) || 0) > 0 && (index.h("nv-badge", { slot: "leading-input", "prevent-auto-close": true, color: "10", dismissible: (((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) || 0) > 0, label: `${((_c = this.value) === null || _c === void 0 ? void 0 : _c.length) || 0} ${this.badgeLabel}`, "aria-label": `Clear all ${((_d = this.value) === null || _d === void 0 ? void 0 : _d.length) || 0} ${this.badgeLabel} items`, onCloseClicked: this.handleBadgeCloseSlots })), this.filterable || this.disabled || this.readonly ? (index.h("input", Object.assign({ id: this.inputId, ref: e => (this.inputElement = e), autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, value: this.filterText, required: this.getRequiredAttributes().useNativeRequired
|
|
536
|
+
return (index.h(index.Host, { "aria-label": this.label }, (this.label || this.el.querySelector('[slot="label"]')) && (index.h("label", { htmlFor: this.inputId }, index.h("slot", { name: "label" }, this.label))), index.h("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, index.h("div", { class: "input-wrapper-multiselect", slot: "trigger" }, index.h("slot", { name: "before-input" }), index.h("div", { class: "input-container-multiselect", onClick: this.handleInputContainerClickSlots }, index.h("slot", { name: "leading-input" }), (this.value?.length || 0) > 0 && (index.h("nv-badge", { slot: "leading-input", "prevent-auto-close": true, color: "10", dismissible: (this.value?.length || 0) > 0, label: `${this.value?.length || 0} ${this.badgeLabel}`, "aria-label": `Clear all ${this.value?.length || 0} ${this.badgeLabel} items`, onCloseClicked: this.handleBadgeCloseSlots })), this.filterable || this.disabled || this.readonly ? (index.h("input", { id: this.inputId, ref: e => (this.inputElement = e), autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, value: this.filterText, required: this.getRequiredAttributes().useNativeRequired
|
|
539
537
|
? this.required
|
|
540
|
-
: undefined
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
538
|
+
: undefined, ...(this.getRequiredAttributes().ariaRequiredValue !==
|
|
539
|
+
undefined && {
|
|
540
|
+
'aria-required': String(this.getRequiredAttributes().ariaRequiredValue),
|
|
541
|
+
}), disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInputSlots, onFocus: this.handleInputFocusSlots, onBlur: this.handleInputBlurSlots, onKeyDown: this.handleKeyDown, "data-scope": "focusable", "aria-label": this.label, "aria-controls": `${this.inputId}-listbox` })) : (index.h(index.Fragment, null, index.h("input", { id: this.inputId, type: "text", style: {
|
|
544
542
|
position: 'absolute',
|
|
545
543
|
opacity: '0',
|
|
546
544
|
width: '0',
|
|
@@ -606,7 +604,6 @@ const NvFieldmultiselect = class {
|
|
|
606
604
|
//#endregion WATCHERS
|
|
607
605
|
/****************************************************************************/
|
|
608
606
|
//#region LISTENERS
|
|
609
|
-
/* eslint-disable nova/native-event-listener */
|
|
610
607
|
/**
|
|
611
608
|
* Listen for the `itemChecked` event emitted by child items.
|
|
612
609
|
* @param {CustomEvent} event - The event object containing the selected value and its checked state.
|
|
@@ -644,7 +641,6 @@ const NvFieldmultiselect = class {
|
|
|
644
641
|
console.warn('[Event:itemChecked] Received itemChecked event with undefined or null value'); // Warning log
|
|
645
642
|
}
|
|
646
643
|
}
|
|
647
|
-
/* eslint-enable nova/native-event-listener */
|
|
648
644
|
// Add a listener for the slot content
|
|
649
645
|
handleSlotChange(event) {
|
|
650
646
|
// Check: we only want to reorder if it's the "content" slot
|
|
@@ -758,7 +754,6 @@ const NvFieldmultiselect = class {
|
|
|
758
754
|
* Set the mode state and handle options change.
|
|
759
755
|
*/
|
|
760
756
|
componentWillLoad() {
|
|
761
|
-
var _a;
|
|
762
757
|
// Don't call handleOptionsChange if we are in slots mode
|
|
763
758
|
if (this.options) {
|
|
764
759
|
this.handleOptionsChange(this.options);
|
|
@@ -779,7 +774,7 @@ const NvFieldmultiselect = class {
|
|
|
779
774
|
}
|
|
780
775
|
// Initialize the sorted options array with the parsed options for initial rendering
|
|
781
776
|
if (this.options) {
|
|
782
|
-
this.sortedOptions = [...(
|
|
777
|
+
this.sortedOptions = [...(this.options ?? [])];
|
|
783
778
|
}
|
|
784
779
|
// Reset filter if needed
|
|
785
780
|
if (!this.filterText) {
|
|
@@ -966,14 +961,13 @@ const NvFieldmultiselect = class {
|
|
|
966
961
|
* Uses the search engine for optimized filtering with configurable modes.
|
|
967
962
|
*/
|
|
968
963
|
async filterItems() {
|
|
969
|
-
var _a, _b;
|
|
970
964
|
const ul = this.el.querySelector('ul');
|
|
971
965
|
if (!ul)
|
|
972
966
|
return;
|
|
973
|
-
this.effectiveFilterMode =
|
|
967
|
+
this.effectiveFilterMode = i18n_utilsIlwlcG9l.getEffectiveFilterMode(this.filterMode);
|
|
974
968
|
// Remove existing empty message and truncation message if any
|
|
975
|
-
|
|
976
|
-
|
|
969
|
+
ul.querySelector('[data-empty]')?.remove();
|
|
970
|
+
ul.querySelector('[data-truncated]')?.remove();
|
|
977
971
|
// Reset truncation state
|
|
978
972
|
this.resultsTruncated = false;
|
|
979
973
|
this.totalResults = 0;
|
|
@@ -981,7 +975,7 @@ const NvFieldmultiselect = class {
|
|
|
981
975
|
this.filterText.length < this.startFilterAt) {
|
|
982
976
|
// Reset display and apply maxResults limit
|
|
983
977
|
const items = Array.from(ul.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
984
|
-
const effectiveMaxResults =
|
|
978
|
+
const effectiveMaxResults = i18n_utilsIlwlcG9l.clampMaxResults(this.maxResults);
|
|
985
979
|
let visibleCount = 0;
|
|
986
980
|
items.forEach(item => {
|
|
987
981
|
if (visibleCount < effectiveMaxResults) {
|
|
@@ -1014,7 +1008,7 @@ const NvFieldmultiselect = class {
|
|
|
1014
1008
|
const matchingIds = new Set(result.ids);
|
|
1015
1009
|
let hasVisibleItems = false;
|
|
1016
1010
|
const items = Array.from(ul.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
1017
|
-
const effectiveMaxResults =
|
|
1011
|
+
const effectiveMaxResults = i18n_utilsIlwlcG9l.clampMaxResults(this.maxResults);
|
|
1018
1012
|
let visibleCount = 0;
|
|
1019
1013
|
items.forEach(item => {
|
|
1020
1014
|
const itemValue = item.getAttribute('value') || '';
|
|
@@ -1057,10 +1051,9 @@ const NvFieldmultiselect = class {
|
|
|
1057
1051
|
* Rebuilds the search index from current items (options prop or slot items).
|
|
1058
1052
|
*/
|
|
1059
1053
|
async rebuildSearchIndex() {
|
|
1060
|
-
var _a;
|
|
1061
1054
|
// Build raw items array for indexing
|
|
1062
1055
|
this.rawItems = [];
|
|
1063
|
-
if (
|
|
1056
|
+
if (this.options?.length) {
|
|
1064
1057
|
this.options.forEach((opt, index) => {
|
|
1065
1058
|
if (!opt.isDivider) {
|
|
1066
1059
|
this.rawItems.push({
|
|
@@ -1074,21 +1067,20 @@ const NvFieldmultiselect = class {
|
|
|
1074
1067
|
// Use slot items
|
|
1075
1068
|
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
1076
1069
|
items.forEach((item, index) => {
|
|
1077
|
-
var _a;
|
|
1078
1070
|
this.rawItems.push({
|
|
1079
1071
|
id: item.getAttribute('value') || `item-${index}`,
|
|
1080
|
-
label: item.getAttribute('label') ||
|
|
1072
|
+
label: item.getAttribute('label') || item.textContent?.trim() || '',
|
|
1081
1073
|
});
|
|
1082
1074
|
});
|
|
1083
1075
|
}
|
|
1084
1076
|
// Build local index for main-thread search
|
|
1085
|
-
this.indexedItems =
|
|
1077
|
+
this.indexedItems = i18n_utilsIlwlcG9l.buildIndex(this.rawItems);
|
|
1086
1078
|
// Determine effective filter mode
|
|
1087
|
-
this.effectiveFilterMode =
|
|
1079
|
+
this.effectiveFilterMode = i18n_utilsIlwlcG9l.getEffectiveFilterMode(this.filterMode);
|
|
1088
1080
|
// Initialize worker if needed
|
|
1089
1081
|
const itemCount = this.rawItems.length;
|
|
1090
|
-
const threshold =
|
|
1091
|
-
if (
|
|
1082
|
+
const threshold = i18n_utilsIlwlcG9l.clampWorkerThreshold(this.workerThreshold);
|
|
1083
|
+
if (i18n_utilsIlwlcG9l.shouldUseWorker(itemCount, this.effectiveFilterMode, threshold)) {
|
|
1092
1084
|
await this.initSearchWorker();
|
|
1093
1085
|
}
|
|
1094
1086
|
else {
|
|
@@ -1101,12 +1093,12 @@ const NvFieldmultiselect = class {
|
|
|
1101
1093
|
* Note: Fuzzy search now works on main thread with Fuse.js, so no mode change needed.
|
|
1102
1094
|
*/
|
|
1103
1095
|
async initSearchWorker() {
|
|
1104
|
-
if (!
|
|
1096
|
+
if (!i18n_utilsIlwlcG9l.isWorkerSupported()) {
|
|
1105
1097
|
// Workers not supported - will use main thread (fuzzy still works with Fuse.js)
|
|
1106
1098
|
return;
|
|
1107
1099
|
}
|
|
1108
1100
|
if (!this.workerClient) {
|
|
1109
|
-
this.workerClient = new
|
|
1101
|
+
this.workerClient = new i18n_utilsIlwlcG9l.SearchWorkerClient();
|
|
1110
1102
|
// No fallback mode change needed - fuzzy works on main thread now
|
|
1111
1103
|
}
|
|
1112
1104
|
// Init will silently handle fallback if worker can't be created
|
|
@@ -1127,15 +1119,14 @@ const NvFieldmultiselect = class {
|
|
|
1127
1119
|
* @returns {Promise<SearchResult>} Resolves with the search results.
|
|
1128
1120
|
*/
|
|
1129
1121
|
async performAdvancedSearch() {
|
|
1130
|
-
var _a;
|
|
1131
1122
|
// Ensure index is built
|
|
1132
1123
|
if (!this.indexedItems.length) {
|
|
1133
1124
|
await this.rebuildSearchIndex();
|
|
1134
1125
|
}
|
|
1135
1126
|
const itemCount = this.rawItems.length;
|
|
1136
|
-
const threshold =
|
|
1137
|
-
const useWorker =
|
|
1138
|
-
if (useWorker &&
|
|
1127
|
+
const threshold = i18n_utilsIlwlcG9l.clampWorkerThreshold(this.workerThreshold);
|
|
1128
|
+
const useWorker = i18n_utilsIlwlcG9l.shouldUseWorker(itemCount, this.effectiveFilterMode, threshold);
|
|
1129
|
+
if (useWorker && this.workerClient?.isReady) {
|
|
1139
1130
|
this.isSearching = true;
|
|
1140
1131
|
try {
|
|
1141
1132
|
return await this.workerClient.search(this.filterText, this.effectiveFilterMode, this.maxResults, this.fuzzyThreshold);
|
|
@@ -1143,7 +1134,7 @@ const NvFieldmultiselect = class {
|
|
|
1143
1134
|
catch (error) {
|
|
1144
1135
|
console.error('Worker search failed:', error);
|
|
1145
1136
|
// Fall back to main thread (fuzzy now works with Fuse.js)
|
|
1146
|
-
return
|
|
1137
|
+
return i18n_utilsIlwlcG9l.search(this.indexedItems, {
|
|
1147
1138
|
query: this.filterText,
|
|
1148
1139
|
filterMode: this.effectiveFilterMode,
|
|
1149
1140
|
maxResults: this.maxResults,
|
|
@@ -1156,7 +1147,7 @@ const NvFieldmultiselect = class {
|
|
|
1156
1147
|
}
|
|
1157
1148
|
}
|
|
1158
1149
|
// Use main thread search (fuzzy now works with Fuse.js)
|
|
1159
|
-
return
|
|
1150
|
+
return i18n_utilsIlwlcG9l.search(this.indexedItems, {
|
|
1160
1151
|
query: this.filterText,
|
|
1161
1152
|
filterMode: this.effectiveFilterMode,
|
|
1162
1153
|
maxResults: this.maxResults,
|
|
@@ -1171,15 +1162,14 @@ const NvFieldmultiselect = class {
|
|
|
1171
1162
|
* @param {number} total - The total number of available items.
|
|
1172
1163
|
*/
|
|
1173
1164
|
addTruncatedMessage(ul, shown, total) {
|
|
1174
|
-
var _a;
|
|
1175
1165
|
// Remove existing truncation message
|
|
1176
|
-
|
|
1166
|
+
ul.querySelector('[data-truncated]')?.remove();
|
|
1177
1167
|
// Get the text template: use provided text or auto-detect from locale
|
|
1178
|
-
const textTemplate = this.truncatedResultsText ||
|
|
1168
|
+
const textTemplate = this.truncatedResultsText || i18n_utilsIlwlcG9l.getTruncatedResultsText(this.locale);
|
|
1179
1169
|
const truncatedItem = document.createElement('li');
|
|
1180
1170
|
truncatedItem.setAttribute('data-truncated', 'true');
|
|
1181
1171
|
truncatedItem.className = 'truncated-message no-results-message';
|
|
1182
|
-
truncatedItem.textContent =
|
|
1172
|
+
truncatedItem.textContent = i18n_utilsIlwlcG9l.formatTruncatedResults(textTemplate, shown, total);
|
|
1183
1173
|
ul.appendChild(truncatedItem);
|
|
1184
1174
|
}
|
|
1185
1175
|
handleClickOutside(event) {
|
|
@@ -1474,11 +1464,17 @@ const NvFieldmultiselect = class {
|
|
|
1474
1464
|
static get formAssociated() { return true; }
|
|
1475
1465
|
get el() { return index.getElement(this); }
|
|
1476
1466
|
static get watchers() { return {
|
|
1477
|
-
"options": [
|
|
1478
|
-
|
|
1479
|
-
|
|
1467
|
+
"options": [{
|
|
1468
|
+
"handleOptionsChange": 0
|
|
1469
|
+
}],
|
|
1470
|
+
"value": [{
|
|
1471
|
+
"watchValueHandler": 0
|
|
1472
|
+
}],
|
|
1473
|
+
"open": [{
|
|
1474
|
+
"handleOpenChange": 0
|
|
1475
|
+
}]
|
|
1480
1476
|
}; }
|
|
1481
1477
|
};
|
|
1482
|
-
NvFieldmultiselect.style = nvFieldmultiselectCss;
|
|
1478
|
+
NvFieldmultiselect.style = nvFieldmultiselectCss();
|
|
1483
1479
|
|
|
1484
1480
|
exports.nv_fieldmultiselect = NvFieldmultiselect;
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-DUlunl9a.js');
|
|
4
|
+
var v4BdYh22OP = require('./v4-BdYh22OP-C1vaJ4yP.js');
|
|
5
|
+
require('@stencil/react-output-target/runtime');
|
|
6
|
+
require('react');
|
|
7
|
+
require('react-dom');
|
|
8
|
+
|
|
9
|
+
const nvFieldnumberCss = () => `nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldnumber{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fieldnumber[fluid]:not([fluid=false]){max-width:unset}nv-fieldnumber[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fieldnumber[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fieldnumber[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fieldnumber[required]:not([required=false]) label::after,nv-fieldnumber[aria-required=true] label::after{content:"*";color:var(--components-form-text-required);font-weight:var(--font-weight-high-emphasis)}nv-fieldnumber label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-label-line-height)}nv-fieldnumber .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch}nv-fieldnumber .input-wrapper .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldnumber .input-wrapper .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldnumber .input-wrapper .input-container:focus-within,nv-fieldnumber .input-wrapper .input-container:focus-within:hover,nv-fieldnumber .input-wrapper .input-container:focus,nv-fieldnumber .input-wrapper .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldnumber .input-wrapper .input-container:has(input:read-only){background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldnumber .input-wrapper .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldnumber .input-wrapper .input-container{container-type:inline-size;container-name:field-number-input-container;overflow:hidden;position:relative}nv-fieldnumber .input-wrapper .input-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-field-line-height);width:100%}nv-fieldnumber .input-wrapper .input-container input:focus{outline:none}nv-fieldnumber .input-wrapper .input-container input::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-low-emphasis);line-height:var(--form-field-line-height)}nv-fieldnumber .input-wrapper .input-container input{}nv-fieldnumber .input-wrapper .input-container input[type=password]::-ms-clear,nv-fieldnumber .input-wrapper .input-container input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fieldnumber .input-wrapper .input-container input{width:100%;appearance:textfield}nv-fieldnumber .input-wrapper .input-container input::-webkit-inner-spin-button,nv-fieldnumber .input-wrapper .input-container input::-webkit-outer-spin-button{appearance:none;margin:0}nv-fieldnumber .input-wrapper .input-container nv-icon.validation{color:var(--nv-field-border-default);margin-right:var(--form-field-gap)}nv-fieldnumber .input-wrapper .input-container>nv-iconbutton{border:0px;border-radius:0px}nv-fieldnumber .input-wrapper .input-container>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fieldnumber .input-wrapper .input-container>nv-iconbutton:last-of-type{border-top-right-radius:var(--form-field-radius);border-bottom-right-radius:var(--form-field-radius)}nv-fieldnumber .input-wrapper .input-container .stepper{display:flex;border-left:var(--notification-border-width-low-emphasis) solid var(--components-form-field-border-readonly)}nv-fieldnumber .input-wrapper .input-container .stepper>nv-iconbutton{border:0px;border-radius:0px}nv-fieldnumber .input-wrapper .input-container .stepper>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fieldnumber .input-wrapper .input-container .stepper>nv-iconbutton:last-of-type{border-top-right-radius:var(--form-field-radius);border-bottom-right-radius:var(--form-field-radius)}nv-fieldnumber .input-wrapper .input-container .stepper>nv-iconbutton{border-radius:0px}@container field-number-input-container (width < 150px){nv-fieldnumber .input-wrapper .input-container .stepper-spacer{display:none}nv-fieldnumber .input-wrapper .input-container .stepper{display:none}}nv-fieldnumber .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldnumber .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}`;
|
|
10
|
+
|
|
11
|
+
const NvFieldnumber = class {
|
|
12
|
+
constructor(hostRef) {
|
|
13
|
+
index.registerInstance(this, hostRef);
|
|
14
|
+
this.valueChanged = index.createEvent(this, "valueChanged", 3);
|
|
15
|
+
//#endregion DEPRECATED
|
|
16
|
+
/****************************************************************************/
|
|
17
|
+
//#region PROPERTIES
|
|
18
|
+
/**
|
|
19
|
+
* Sets the ID for the input element and the for attribute of the associated
|
|
20
|
+
* label. If no ID is provided, a random one will be automatically generated
|
|
21
|
+
* to ensure unique identification, facilitating proper label association and
|
|
22
|
+
* accessibility.
|
|
23
|
+
*/
|
|
24
|
+
this.inputId = v4BdYh22OP.v4();
|
|
25
|
+
/**
|
|
26
|
+
* The disabled prop lets you turn off the input field so that users can’t
|
|
27
|
+
* type in it. When disabled, the field is grayed out and won’t respond to#
|
|
28
|
+
* clicks or touches.
|
|
29
|
+
*/
|
|
30
|
+
this.disabled = false;
|
|
31
|
+
/**
|
|
32
|
+
* Display the input field’s content without allowing users to change it.
|
|
33
|
+
* Users can still click on it, select, and copy the text, but they won’t be
|
|
34
|
+
* able to type or delete anything.
|
|
35
|
+
*/
|
|
36
|
+
this.readonly = false;
|
|
37
|
+
/**
|
|
38
|
+
* Marks the input field as required, ensuring that the user must fill it out
|
|
39
|
+
* before submitting the form.
|
|
40
|
+
* @note This uses the native HTML `required` attribute, which triggers browser validation.
|
|
41
|
+
*/
|
|
42
|
+
this.required = false;
|
|
43
|
+
/**
|
|
44
|
+
* Marks the input field as required for accessibility purposes without triggering
|
|
45
|
+
* native HTML validation. Use this when implementing custom validation logic.
|
|
46
|
+
* @note When set, this uses `aria-required` instead of the native `required` attribute.
|
|
47
|
+
* This allows developers to implement custom validation while maintaining accessibility.
|
|
48
|
+
* @note If this prop is not explicitly set, the component will check for the HTML attribute
|
|
49
|
+
* 'aria-required' directly to determine if it should be applied.
|
|
50
|
+
*/
|
|
51
|
+
this.ariaRequiredAttr = false;
|
|
52
|
+
/**
|
|
53
|
+
* Alters the input field's appearance to indicate an error, helping users
|
|
54
|
+
* identify fields that need correction.
|
|
55
|
+
* @validator error
|
|
56
|
+
*/
|
|
57
|
+
this.error = false;
|
|
58
|
+
/**
|
|
59
|
+
* Changes the input field’s appearance to indicate successful input or
|
|
60
|
+
* validation.
|
|
61
|
+
*/
|
|
62
|
+
this.success = false;
|
|
63
|
+
/**
|
|
64
|
+
* Define the increment value for the input field. It determines how much the
|
|
65
|
+
* value will increase or decrease when the user clicks the stepper buttons.
|
|
66
|
+
*/
|
|
67
|
+
this.step = 1;
|
|
68
|
+
/**
|
|
69
|
+
* Applies focus to the input field as soon as the component is mounted. This
|
|
70
|
+
* is equivalent to setting the native autofocus attribute on an <input>
|
|
71
|
+
* element.
|
|
72
|
+
*/
|
|
73
|
+
this.autofocus = false;
|
|
74
|
+
/**
|
|
75
|
+
* Allows the field to stretch and fill the entire width of its container.
|
|
76
|
+
*/
|
|
77
|
+
this.fluid = false;
|
|
78
|
+
//#endregion WATCHERS
|
|
79
|
+
/****************************************************************************/
|
|
80
|
+
//#region METHODS
|
|
81
|
+
this.handleInput = (event) => {
|
|
82
|
+
const input = event.target;
|
|
83
|
+
if (input.value === '') {
|
|
84
|
+
this.value = null;
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const nextValue = input.valueAsNumber;
|
|
88
|
+
if (Number.isNaN(nextValue)) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
this.value = nextValue;
|
|
92
|
+
};
|
|
93
|
+
this.handleInputContainerClick = () => {
|
|
94
|
+
this.inputElement.focus();
|
|
95
|
+
};
|
|
96
|
+
this.handlePlus = () => {
|
|
97
|
+
this.inputElement.stepUp();
|
|
98
|
+
this.value = Number(this.inputElement.value);
|
|
99
|
+
};
|
|
100
|
+
this.handleMinus = () => {
|
|
101
|
+
this.inputElement.stepDown();
|
|
102
|
+
this.value = Number(this.inputElement.value);
|
|
103
|
+
};
|
|
104
|
+
// prevents text selection when clicking the buttons multiple times
|
|
105
|
+
this.preventSelection = (event) => {
|
|
106
|
+
event.preventDefault();
|
|
107
|
+
};
|
|
108
|
+
this.isMinValueReached = () => {
|
|
109
|
+
return (this.min !== undefined &&
|
|
110
|
+
typeof this.value === 'number' &&
|
|
111
|
+
this.value <= this.min);
|
|
112
|
+
};
|
|
113
|
+
this.isMaxValueReached = () => {
|
|
114
|
+
return (this.max !== undefined &&
|
|
115
|
+
typeof this.value === 'number' &&
|
|
116
|
+
this.value >= this.max);
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
//#endregion EVENTS
|
|
120
|
+
/****************************************************************************/
|
|
121
|
+
//#region WATCHERS
|
|
122
|
+
watchValueHandler(newValue) {
|
|
123
|
+
const normalized = typeof newValue === 'number' && !Number.isNaN(newValue) ? newValue : null;
|
|
124
|
+
if (this.lastEmittedValue === normalized) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
this.lastEmittedValue = normalized;
|
|
128
|
+
this.valueChanged.emit(normalized);
|
|
129
|
+
}
|
|
130
|
+
//#endregion METHODS
|
|
131
|
+
/****************************************************************************/
|
|
132
|
+
//#region LIFECYCLE
|
|
133
|
+
componentWillRender() {
|
|
134
|
+
if (this.message) {
|
|
135
|
+
this.description = this.message;
|
|
136
|
+
}
|
|
137
|
+
if (this.validation) {
|
|
138
|
+
this.errorDescription = this.validation;
|
|
139
|
+
this.error = true;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
//#endregion LIFECYCLE
|
|
143
|
+
/****************************************************************************/
|
|
144
|
+
//#region RENDER
|
|
145
|
+
render() {
|
|
146
|
+
// Check aria-required from multiple sources:
|
|
147
|
+
// 1. HTML attribute 'aria-required' (direct HTML) - check if explicitly set
|
|
148
|
+
// 2. JavaScript prop (when prop is explicitly set via JavaScript)
|
|
149
|
+
// We use hasAttribute to determine if the attribute was explicitly set by the user,
|
|
150
|
+
// since the prop now defaults to false (to maintain Blazor compatibility)
|
|
151
|
+
const hasAriaRequiredAttr = this.el.hasAttribute('aria-required') ||
|
|
152
|
+
this.el.hasAttribute('aria-required-attr');
|
|
153
|
+
const ariaRequiredFromAttr = hasAriaRequiredAttr
|
|
154
|
+
? this.el.getAttribute('aria-required') ||
|
|
155
|
+
this.el.getAttribute('aria-required-attr')
|
|
156
|
+
: null;
|
|
157
|
+
// Use aria-required if the attribute was explicitly set
|
|
158
|
+
// With reflect: true, setting the prop will also set the attribute
|
|
159
|
+
const useAriaRequired = hasAriaRequiredAttr;
|
|
160
|
+
// Determine the value: use attribute if it exists (prop reflects to attribute via reflect: true)
|
|
161
|
+
// If attribute doesn't exist, the prop was never set and we don't use aria-required
|
|
162
|
+
const ariaRequiredAttrValue = hasAriaRequiredAttr
|
|
163
|
+
? ariaRequiredFromAttr
|
|
164
|
+
: null;
|
|
165
|
+
// Determine which attributes to use
|
|
166
|
+
// If aria-required HTML attribute is present, use it (convert string to boolean)
|
|
167
|
+
// If required is set and aria-required is not "false", use native required
|
|
168
|
+
// If aria-required is "false", don't use native required even if required is set
|
|
169
|
+
const ariaRequiredValue = useAriaRequired
|
|
170
|
+
? ariaRequiredAttrValue === 'true' || ariaRequiredAttrValue === ''
|
|
171
|
+
: undefined;
|
|
172
|
+
const useNativeRequired = this.required && (!useAriaRequired || ariaRequiredValue === true);
|
|
173
|
+
return (index.h(index.Host, { key: '8923d44cca66a2540688650ababfeec76ea1ef37' }, (this.label || this.el.querySelector('[slot="label"]')) && (index.h("label", { key: '56b80106201b70cb881df6051c6ef12694762cc3', htmlFor: this.inputId }, index.h("slot", { key: '864103e328f18ad16041f434856ee6b3c996aa86', name: "label" }, this.label))), index.h("div", { key: '83f62b35fa18c43b7825d1510e47b47151c007cd', class: "input-wrapper" }, index.h("slot", { key: 'c566e63d0e78c63ee1a3d42e44dfed04eb1bf442', name: "before-input" }), index.h("div", { key: '234a861d3bd801394ed529a96480616357d1be68', class: "input-container", onClick: this.handleInputContainerClick }, index.h("slot", { key: 'c1128d9b4cbe4b7c2c57117b8b86f8ae553df749', name: "leading-input" }), index.h("input", { key: 'b5d2a4a11e7a86be87bc43b2258352c427478f2e', id: this.inputId, ref: e => (this.inputElement = e), placeholder: this.placeholder, name: this.name, type: "number", autofocus: this.autofocus, required: useNativeRequired ? this.required : undefined, ...(ariaRequiredValue !== undefined && {
|
|
174
|
+
'aria-required': String(ariaRequiredValue),
|
|
175
|
+
}), max: this.max, min: this.min, step: this.step, value: typeof this.value === 'number' ? this.value : undefined, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput }), index.h("slot", { key: '37629423645755fdf53ea955ead6950752047ca4', name: "trailing-input" }), this.error && (index.h("nv-icon", { key: 'a23fccf662246ac1f696942f96d632112644b103', name: "alert-circle", class: "validation", size: "md" })), this.success && (index.h("nv-icon", { key: 'b20933d5b749b3d3bc56ceb9acab8dc4a1a22c7b', name: "circle-check", class: "validation", size: "md" })), index.h("div", { key: '1b1eccecd0c62d1c8675b323e5e69df4321ab0b1', class: "stepper" }, index.h("nv-iconbutton", { key: '4065c40b5f1dcb35d4508741d24ec4e98b410e20', size: "md", name: "minus", emphasis: "lower", onClick: this.handleMinus, disabled: this.isMinValueReached(), onMouseDown: this.preventSelection, tabindex: "-1" }), index.h("nv-iconbutton", { key: '185fc575ffb4143b6f212831c0cfdb9467593a14', size: "md", name: "plus", emphasis: "lower", onClick: this.handlePlus, disabled: this.isMaxValueReached(), onMouseDown: this.preventSelection, tabindex: "-1" }))), index.h("slot", { key: '684f6fd512db5becf5a392d641583f3fde4b7ee1', name: "after-input" })), (this.description ||
|
|
176
|
+
this.el.querySelector('[slot="description"]')) && (index.h("div", { key: '731b758b37cf19b90ed83fc59ef071d758fa308c', class: "description" }, index.h("slot", { key: '6c5b91e259ec4f70353ff52297c5d9e3f5d4e830', name: "description" }, this.description))), (this.errorDescription ||
|
|
177
|
+
this.el.querySelector('[slot="error-description"]')) && (index.h("div", { key: 'ac5c52dc7f3ece9cb6c7fa19dfc537fbac307686', hidden: !this.error, class: "error-description" }, index.h("slot", { key: 'ce43bfc92428463267fccf376b580ab6794e9200', name: "error-description" }, this.errorDescription)))));
|
|
178
|
+
}
|
|
179
|
+
static get formAssociated() { return true; }
|
|
180
|
+
get el() { return index.getElement(this); }
|
|
181
|
+
static get watchers() { return {
|
|
182
|
+
"value": [{
|
|
183
|
+
"watchValueHandler": 0
|
|
184
|
+
}]
|
|
185
|
+
}; }
|
|
186
|
+
};
|
|
187
|
+
NvFieldnumber.style = nvFieldnumberCss();
|
|
188
|
+
|
|
189
|
+
exports.nv_fieldnumber = NvFieldnumber;
|