@nova-design-system/nova-react 3.15.0 → 3.16.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.
Files changed (61) hide show
  1. package/dist/cjs/{index-BK1_MpRZ.js → index-7K7BV1CP.js} +7303 -4228
  2. package/dist/cjs/index.js +2 -2
  3. package/dist/cjs/{nv-accordion-item.entry-BPaDkIFa.js → nv-accordion-item.entry-C-9tYw-c.js} +2 -2
  4. package/dist/cjs/{nv-accordion.entry-BaHER2iL.js → nv-accordion.entry-BA3mTIdj.js} +6 -6
  5. package/dist/cjs/{nv-alert.entry-Hv-y3Bwl.js → nv-alert.entry-Bic-YGW1.js} +2 -2
  6. package/dist/cjs/nv-avatar.entry-C-yd0YlD.js +68 -0
  7. package/dist/cjs/{nv-badge_2.entry-CwlWa72m.js → nv-badge_2.entry-B_8yvNXL.js} +1 -1
  8. package/dist/cjs/{nv-breadcrumb.entry-BvHgDgxV.js → nv-breadcrumb.entry-BCTbG942.js} +2 -2
  9. package/dist/cjs/{nv-breadcrumbs.entry-BdptRKYA.js → nv-breadcrumbs.entry-C9B5Baf7.js} +1 -1
  10. package/dist/cjs/nv-button.entry-DgX8Bwmq.js +165 -0
  11. package/dist/cjs/{nv-buttongroup.entry-Bh0f3bAn.js → nv-buttongroup.entry-CKhZN_Yf.js} +1 -1
  12. package/dist/cjs/{nv-calendar.entry-BZLITXEC.js → nv-calendar.entry-E6Pk83WA.js} +1 -1
  13. package/dist/cjs/{nv-col.entry-I3bCSLB5.js → nv-col.entry-CkZpukX9.js} +1 -1
  14. package/dist/cjs/{nv-datagrid.entry-BzIkgOV6.js → nv-datagrid.entry-RsfP7vbC.js} +177 -10
  15. package/dist/cjs/{nv-datagridcolumn.entry-BuFhEECG.js → nv-datagridcolumn.entry-D4VrDWo9.js} +1 -1
  16. package/dist/cjs/{nv-dialog.entry-DIbIIXo2.js → nv-dialog.entry-BhtWpYHl.js} +32 -29
  17. package/dist/cjs/{nv-dialogfooter_2.entry-Thzk1kVd.js → nv-dialogfooter_2.entry-BXLYmzYl.js} +2 -2
  18. package/dist/cjs/{nv-fieldcheckbox.entry-mkas423y.js → nv-fieldcheckbox.entry-D96Nm6DZ.js} +2 -2
  19. package/dist/cjs/{nv-fielddate.entry-Cek70TQM.js → nv-fielddate.entry-ty37R9jF.js} +51 -26
  20. package/dist/cjs/{nv-fielddaterange.entry-C3BYAnVq.js → nv-fielddaterange.entry-BSIRu_mq.js} +68 -42
  21. package/dist/cjs/{nv-fielddropdown.entry-Djz5-R1T.js → nv-fielddropdown.entry-CUzvIoZZ.js} +33 -7
  22. package/dist/cjs/{nv-fielddropdownitem.entry-B2z13jEI.js → nv-fielddropdownitem.entry-D-GTxLNk.js} +1 -1
  23. package/dist/cjs/{nv-fieldmultiselect.entry-uJ9i2gtz.js → nv-fieldmultiselect.entry-DFY2bf6s.js} +187 -156
  24. package/dist/cjs/{nv-fieldnumber.entry-zpWCDG_-.js → nv-fieldnumber.entry-CILclJ7Q.js} +2 -2
  25. package/dist/cjs/{nv-fieldpassword.entry-C835HE_i.js → nv-fieldpassword.entry-CdR-NM8e.js} +2 -2
  26. package/dist/cjs/{nv-fieldradio.entry-CzLMbo4W.js → nv-fieldradio.entry-lC4scIvU.js} +2 -2
  27. package/dist/cjs/{nv-fieldselect.entry-BzcYzmqe.js → nv-fieldselect.entry-CYu6870F.js} +2 -2
  28. package/dist/cjs/{nv-fieldslider.entry-B5vyrQZw.js → nv-fieldslider.entry-DOuJAR6P.js} +2 -2
  29. package/dist/cjs/{nv-fieldtext.entry-DnPQxVqp.js → nv-fieldtext.entry-BFLUiPa4.js} +2 -2
  30. package/dist/cjs/{nv-fieldtextarea.entry-n2MJK2Jg.js → nv-fieldtextarea.entry-BeI0k97G.js} +2 -2
  31. package/dist/cjs/{nv-fieldtime.entry-DChhvqKi.js → nv-fieldtime.entry-C28EAKki.js} +25 -12
  32. package/dist/cjs/nv-icon.entry-BXgjUpe_.js +80 -0
  33. package/dist/cjs/{nv-iconbutton_2.entry-u0l16LeW.js → nv-iconbutton_2.entry-CpIkxrp9.js} +2 -2
  34. package/dist/cjs/{nv-menu.entry-OYVh6iMu.js → nv-menu.entry-as-NOsF-.js} +24 -9
  35. package/dist/cjs/{nv-menuitem.entry-Dj6N1n9X.js → nv-menuitem.entry-D8KAh6nr.js} +1 -1
  36. package/dist/cjs/{nv-notification.entry-D1dVSEYZ.js → nv-notification.entry-C-_jV-DL.js} +2 -2
  37. package/dist/cjs/{nv-notificationcontainer.entry-Bp2NR_fe.js → nv-notificationcontainer.entry-CMn42loT.js} +1 -1
  38. package/dist/cjs/{nv-popover.entry-Bf2AEn9B.js → nv-popover.entry--BhEBSir.js} +67 -61
  39. package/dist/cjs/{nv-row.entry-Bi9eoQEh.js → nv-row.entry-BxhcK9aY.js} +1 -1
  40. package/dist/cjs/{nv-stack.entry-Dd680LIT.js → nv-stack.entry-C3DF9jJZ.js} +1 -1
  41. package/dist/cjs/nv-table.entry-pfEGt2KH.js +245 -0
  42. package/dist/cjs/nv-toggle.entry-ChpqtQtn.js +80 -0
  43. package/dist/cjs/{nv-togglebutton.entry-ZpltTrQe.js → nv-togglebutton.entry-DE7CKmeN.js} +2 -2
  44. package/dist/cjs/{nv-togglebuttongroup.entry-Bu0C6Iq3.js → nv-togglebuttongroup.entry-BJPjdmHD.js} +2 -2
  45. package/dist/cjs/{nv-tooltip.entry-DR4aj5qF.js → nv-tooltip.entry-D9-Fga6C.js} +2 -2
  46. package/dist/components/NvDatatable.js +45 -0
  47. package/dist/generated/components.js +2 -10
  48. package/dist/generated/components.server.js +1 -16
  49. package/dist/index.js +1 -0
  50. package/dist/types/components/NvDatatable.d.ts +25 -0
  51. package/dist/types/generated/components.d.ts +2 -12
  52. package/dist/types/generated/components.server.d.ts +2 -12
  53. package/dist/types/index.d.ts +1 -0
  54. package/package.json +4 -3
  55. package/dist/cjs/dom.utils-ac71e0ef-CmIwRr6O.js +0 -168
  56. package/dist/cjs/nv-avatar.entry-BTmGyeGF.js +0 -68
  57. package/dist/cjs/nv-button.entry-6O39hBHY.js +0 -165
  58. package/dist/cjs/nv-icon.entry-agdqxUMS.js +0 -80
  59. package/dist/cjs/nv-table.entry-wxn9GDDo.js +0 -339
  60. package/dist/cjs/nv-tablecolumn.entry-Bo0z0XyB.js +0 -19
  61. package/dist/cjs/nv-toggle.entry-gBokGnGe.js +0 -80
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BK1_MpRZ.js');
4
- var dom_utilsAc71e0ef = require('./dom.utils-ac71e0ef-CmIwRr6O.js');
3
+ var index = require('./index-7K7BV1CP.js');
5
4
  var constants69bafca2 = require('./constants-69bafca2-DpB_ghPF.js');
6
5
  require('react');
7
6
  require('react-dom');
@@ -617,7 +616,7 @@ const arrIncludes = (row, columnId, filterValue) => {
617
616
  var _row$getValue4;
618
617
  return (_row$getValue4 = row.getValue(columnId)) == null ? void 0 : _row$getValue4.includes(filterValue);
619
618
  };
620
- arrIncludes.autoRemove = val => testFalsey(val) || !(val != null && val.length);
619
+ arrIncludes.autoRemove = val => testFalsey(val);
621
620
  const arrIncludesAll = (row, columnId, filterValue) => {
622
621
  return !filterValue.some(val => {
623
622
  var _row$getValue5;
@@ -1208,6 +1207,10 @@ const ColumnPinning = {
1208
1207
  }
1209
1208
  };
1210
1209
 
1210
+ function safelyAccessDocument(_document) {
1211
+ return _document || (typeof document !== 'undefined' ? document : null);
1212
+ }
1213
+
1211
1214
  //
1212
1215
 
1213
1216
  //
@@ -1347,7 +1350,7 @@ const ColumnSizing = {
1347
1350
  columnSizingStart: []
1348
1351
  }));
1349
1352
  };
1350
- const contextDocument = _contextDocument || typeof document !== 'undefined' ? document : null;
1353
+ const contextDocument = safelyAccessDocument(_contextDocument);
1351
1354
  const mouseEvents = {
1352
1355
  moveHandler: e => onMove(e.clientX),
1353
1356
  upHandler: e => {
@@ -3290,6 +3293,170 @@ function getSortedRowModel() {
3290
3293
  }, getMemoOptions(table.options, 'debugTable', 'getSortedRowModel', () => table._autoResetPageIndex()));
3291
3294
  }
3292
3295
 
3296
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3297
+ /**
3298
+ * All properties that should be excluded from the deep copy of an HTML element.
3299
+ */
3300
+ const excludedProps = new Set([
3301
+ // Text and content-related properties
3302
+ 'textContent',
3303
+ 'innerText',
3304
+ 'outerText',
3305
+ 'innerHTML',
3306
+ 'outerHTML',
3307
+ 'text',
3308
+ // Form element properties
3309
+ 'value',
3310
+ 'defaultValue',
3311
+ 'checked',
3312
+ 'defaultChecked',
3313
+ 'selectionStart',
3314
+ 'selectionEnd',
3315
+ 'selectionDirection',
3316
+ 'form',
3317
+ 'willValidate',
3318
+ 'validity',
3319
+ 'validationMessage',
3320
+ 'labels',
3321
+ 'list',
3322
+ 'maxLength',
3323
+ 'minLength',
3324
+ 'valueAsDate',
3325
+ 'valueAsNumber',
3326
+ // Editability and namespaces
3327
+ 'contentEditable',
3328
+ 'isContentEditable',
3329
+ 'namespaceURI',
3330
+ // Child-related properties (handled recursively)
3331
+ 'attributes',
3332
+ 'children',
3333
+ 'childNodes',
3334
+ 'firstChild',
3335
+ 'lastChild',
3336
+ // Blazor-related properties
3337
+ 'origin',
3338
+ 'dataset',
3339
+ 'attributeStyleMap',
3340
+ 'prefix',
3341
+ 'localName',
3342
+ 'tagName',
3343
+ 'shadowRoot',
3344
+ 'assignedSlot',
3345
+ 'scrollWidth',
3346
+ 'scrollHeight',
3347
+ 'clientTop',
3348
+ 'clientLeft',
3349
+ 'clientWidth',
3350
+ 'clientHeight',
3351
+ 'firstElementChild',
3352
+ 'lastElementChild',
3353
+ 'childElementCount',
3354
+ 'previousElementSibling',
3355
+ 'nextElementSibling',
3356
+ 'currentCSSZoom',
3357
+ 'nodeType',
3358
+ 'nodeName',
3359
+ 'baseURI',
3360
+ 'isConnected',
3361
+ 'ownerDocument',
3362
+ 'parentNode',
3363
+ 'parentElement',
3364
+ 'previousSibling',
3365
+ 'nextSibling',
3366
+ 'ELEMENT_NODE',
3367
+ 'ATTRIBUTE_NODE',
3368
+ 'TEXT_NODE',
3369
+ 'CDATA_SECTION_NODE',
3370
+ 'ENTITY_REFERENCE_NODE',
3371
+ 'ENTITY_NODE',
3372
+ 'PROCESSING_INSTRUCTION_NODE',
3373
+ 'COMMENT_NODE',
3374
+ 'DOCUMENT_NODE',
3375
+ 'DOCUMENT_TYPE_NODE',
3376
+ 'DOCUMENT_FRAGMENT_NODE',
3377
+ 'NOTATION_NODE',
3378
+ 'DOCUMENT_POSITION_DISCONNECTED',
3379
+ 'DOCUMENT_POSITION_PRECEDING',
3380
+ 'DOCUMENT_POSITION_FOLLOWING',
3381
+ 'DOCUMENT_POSITION_CONTAINS',
3382
+ 'DOCUMENT_POSITION_CONTAINED_BY',
3383
+ 'DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC',
3384
+ ]);
3385
+ /**
3386
+ * Deep copy an HTML element with all its attributes, properties, and child nodes.
3387
+ * This method is useful for creating a clone of an element that can be safely modified without affecting the original.
3388
+ * @param {HTMLElement} element - The HTML element to copy.
3389
+ * @returns {HTMLElement} - A deep copy of the HTML element.
3390
+ * @example const copy = deepCopyElement(document.getElementById('myElement'));
3391
+ */
3392
+ function deepCopyElement(element) {
3393
+ const copy = document.createElement(element.tagName);
3394
+ // ✅ Copy attributes
3395
+ Array.from(element.attributes).forEach(attr => {
3396
+ copy.setAttribute(attr.name, attr.value);
3397
+ });
3398
+ // ✅ Dynamically extract relevant properties
3399
+ const properties = new Set();
3400
+ // Collect only own enumerable properties
3401
+ Object.keys(element).forEach(key => properties.add(key));
3402
+ // Collect inherited properties from prototypes (HTMLElement -> Element -> Node)
3403
+ let proto = Object.getPrototypeOf(element);
3404
+ while (proto && proto !== HTMLElement.prototype) {
3405
+ Object.keys(proto).forEach(key => properties.add(key));
3406
+ proto = Object.getPrototypeOf(proto);
3407
+ }
3408
+ // ✅ Filter and copy only non-function properties (methods are excluded) and non-event listeners
3409
+ properties.forEach(prop => {
3410
+ if (typeof element[prop] !== 'function' && // Ignore methods
3411
+ !prop.startsWith('on') && // Ignore event listeners (onclick, oninput, etc.)
3412
+ !excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props
3413
+ ) {
3414
+ try {
3415
+ copy[prop] = element[prop];
3416
+ }
3417
+ catch (error) {
3418
+ console.warn(`Could not copy property ${prop}:`, error.message);
3419
+ }
3420
+ }
3421
+ });
3422
+ // ✅ Copy dataset separately
3423
+ Object.assign(copy.dataset, element.dataset);
3424
+ // ✅ Handle form elements specifically
3425
+ if (element instanceof HTMLInputElement) {
3426
+ copy.value = element.value;
3427
+ copy.checked = element.checked;
3428
+ copy.defaultValue = element.defaultValue;
3429
+ copy.defaultChecked = element.defaultChecked;
3430
+ copy.selectionStart = element.selectionStart;
3431
+ copy.selectionEnd = element.selectionEnd;
3432
+ copy.selectionDirection = element.selectionDirection;
3433
+ }
3434
+ else if (element instanceof HTMLTextAreaElement) {
3435
+ copy.value = element.value;
3436
+ copy.defaultValue = element.defaultValue;
3437
+ copy.selectionStart = element.selectionStart;
3438
+ copy.selectionEnd = element.selectionEnd;
3439
+ copy.selectionDirection =
3440
+ element.selectionDirection;
3441
+ }
3442
+ else if (element instanceof HTMLSelectElement) {
3443
+ copy.value = element.value;
3444
+ copy.selectedIndex = element.selectedIndex;
3445
+ }
3446
+ // ✅ Recursively copy child nodes (prevent duplicates)
3447
+ element.childNodes.forEach(child => {
3448
+ let childCopy;
3449
+ if (child.nodeType === Node.ELEMENT_NODE) {
3450
+ childCopy = deepCopyElement(child);
3451
+ }
3452
+ else {
3453
+ childCopy = child.cloneNode(true);
3454
+ }
3455
+ copy.appendChild(childCopy);
3456
+ });
3457
+ return copy;
3458
+ }
3459
+
3293
3460
  /* eslint-disable @typescript-eslint/no-explicit-any */
3294
3461
  /**
3295
3462
  * Debounce function to prevent multiple calls in a short
@@ -3310,7 +3477,7 @@ function debounce(func, wait) {
3310
3477
  };
3311
3478
  }
3312
3479
 
3313
- const nvDatagridCss = "nv-datagrid{--nv-datagrid-border-default:var(\n --components-form-field-border-default\n );--nv-datagrid-border-hover:var(--components-form-field-border-hover);--nv-datagrid-border-focus:var(--components-form-field-border-default);--nv-datagrid-background-default:var(\n --components-form-field-background-default\n );--nv-datagrid-background-checked:var(\n --components-form-field-background-checked\n );--nv-datagrid-background-disabled:var(\n --components-form-field-background-disabled\n );--nv-datagrid-color-checked:var(\n --components-form-shape-foreground-default\n );--nv-datagrid-color-disabled:var(\n --components-form-shape-foreground-disabled\n );--nv-datagrid-outline-color:var(--color-focus-brand);display:block}nv-datagrid .hidden{display:none}nv-datagrid table{border-collapse:collapse;border-color:inherit;text-indent:0;width:100%}nv-datagrid th{text-align:left;border-bottom:1px solid var(--components-datagrid-header-border);height:var(--spacing-12);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-md);font-weight:700;color:var(--components-datagrid-header-text)}nv-datagrid td{border-bottom:1px solid var(--components-datagrid-body-border);height:var(--spacing-12);max-height:var(--spacing-14);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-md);font-weight:400;color:var(--components-datagrid-body-text);white-space:nowrap;text-overflow:ellipsis}nv-datagrid tbody>tr:hover{background:var(--color-interaction-container-neutral-background-hover)}nv-datagrid .cursor-pointer{cursor:pointer}nv-datagrid .select-none{-webkit-user-select:none;user-select:none}nv-datagrid .search-container{display:flex}nv-datagrid .checkbox-container{position:relative;color:var(--nv-datagrid-color-checked)}nv-datagrid .checkbox-container input[type=checkbox][readonly]{opacity:0.5}nv-datagrid .checkbox-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--nv-datagrid-color-disabled)}nv-datagrid .checkbox-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-checkbox-size);height:var(--form-checkbox-size);flex-direction:column;align-items:flex-start;border-radius:var(--form-checkbox-radius);border-width:var(--form-checkbox-border-width);border-style:solid;border-color:var(--nv-datagrid-border-default);background:var(--nv-datagrid-background-default)}nv-datagrid .checkbox-container input[type=checkbox]:hover{border-color:var(--nv-datagrid-border-hover)}nv-datagrid .checkbox-container input[type=checkbox]:focus{border-color:var(--nv-datagrid-border-focus)}nv-datagrid .checkbox-container input[type=checkbox]:focus,nv-datagrid .checkbox-container input[type=checkbox]:focus-within{outline:none}nv-datagrid .checkbox-container input[type=checkbox]:focus-visible,nv-datagrid .checkbox-container input[type=checkbox]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--nv-datagrid-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-datagrid .checkbox-container input[type=checkbox]:checked,nv-datagrid .checkbox-container input[type=checkbox]:indeterminate{background:var(--nv-datagrid-background-checked);border-color:var(--nv-datagrid-background-checked)}nv-datagrid .checkbox-container input[type=checkbox]:disabled:not([readonly]){background:var(--nv-datagrid-background-disabled);border-color:var(--nv-datagrid-border-default)}nv-datagrid .checkbox-container input[type=checkbox][readonly]{opacity:0.5}nv-datagrid .checkbox-container .icon{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}nv-datagrid .checkbox-container .icon svg{width:var(--form-checkbox-icon-size);height:var(--form-checkbox-icon-size);fill:none;stroke:currentcolor;stroke-width:var(--form-checkbox-icon-stroke);flex-shrink:0}";
3480
+ const nvDatagridCss = "nv-datagrid{--nv-datagrid-border-default:var(\n --components-form-field-border-default\n );--nv-datagrid-border-hover:var(--components-form-field-border-hover);--nv-datagrid-border-focus:var(--components-form-field-border-default);--nv-datagrid-background-default:var(\n --components-form-field-background-default\n );--nv-datagrid-background-checked:var(\n --components-form-field-background-checked\n );--nv-datagrid-background-disabled:var(\n --components-form-field-background-disabled\n );--nv-datagrid-color-checked:var(\n --components-form-shape-foreground-default\n );--nv-datagrid-color-disabled:var(\n --components-form-shape-foreground-disabled\n );--nv-datagrid-outline-color:var(--color-focus-brand);display:block}nv-datagrid .hidden{display:none}nv-datagrid table{border-collapse:collapse;border-color:inherit;text-indent:0;width:100%}nv-datagrid th{text-align:left;border-bottom:1px solid var(--components-datagrid-header-border);height:var(--spacing-12);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-md);font-weight:var(--font-weight-high-emphasis);color:var(--components-datagrid-header-text)}nv-datagrid td{border-bottom:1px solid var(--components-datagrid-body-border);height:var(--spacing-12);max-height:var(--spacing-14);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-md);font-weight:var(--font-weight-low-emphasis);color:var(--components-datagrid-body-text);white-space:nowrap;text-overflow:ellipsis}nv-datagrid tbody>tr:hover{background:var(--color-interaction-container-neutral-background-hover)}nv-datagrid .cursor-pointer{cursor:pointer}nv-datagrid .select-none{-webkit-user-select:none;user-select:none}nv-datagrid .search-container{display:flex}nv-datagrid .checkbox-container{position:relative;color:var(--nv-datagrid-color-checked)}nv-datagrid .checkbox-container input[type=checkbox][readonly]{opacity:0.5}nv-datagrid .checkbox-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--nv-datagrid-color-disabled)}nv-datagrid .checkbox-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-checkbox-size);height:var(--form-checkbox-size);flex-direction:column;align-items:flex-start;border-radius:var(--form-checkbox-radius);border-width:var(--form-checkbox-border-width);border-style:solid;border-color:var(--nv-datagrid-border-default);background:var(--nv-datagrid-background-default)}nv-datagrid .checkbox-container input[type=checkbox]:hover{border-color:var(--nv-datagrid-border-hover)}nv-datagrid .checkbox-container input[type=checkbox]:focus{border-color:var(--nv-datagrid-border-focus)}nv-datagrid .checkbox-container input[type=checkbox]:focus,nv-datagrid .checkbox-container input[type=checkbox]:focus-within{outline:none}nv-datagrid .checkbox-container input[type=checkbox]:focus-visible,nv-datagrid .checkbox-container input[type=checkbox]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--nv-datagrid-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-datagrid .checkbox-container input[type=checkbox]:checked,nv-datagrid .checkbox-container input[type=checkbox]:indeterminate{background:var(--nv-datagrid-background-checked);border-color:var(--nv-datagrid-background-checked)}nv-datagrid .checkbox-container input[type=checkbox]:disabled:not([readonly]){background:var(--nv-datagrid-background-disabled);border-color:var(--nv-datagrid-border-default)}nv-datagrid .checkbox-container input[type=checkbox][readonly]{opacity:0.5}nv-datagrid .checkbox-container .icon{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}nv-datagrid .checkbox-container .icon svg{width:var(--form-checkbox-icon-size);height:var(--form-checkbox-icon-size);fill:none;stroke:currentcolor;stroke-width:var(--form-checkbox-icon-stroke);flex-shrink:0}";
3314
3481
  const NvDatagridStyle0 = nvDatagridCss;
3315
3482
 
3316
3483
  const NvDatagrid = class {
@@ -3487,12 +3654,12 @@ const NvDatagrid = class {
3487
3654
  const key = col.accessor;
3488
3655
  const cellSlot = col.querySelector('[slot="cell"]');
3489
3656
  if (cellSlot) {
3490
- const element = dom_utilsAc71e0ef.deepCopyElement(cellSlot);
3657
+ const element = deepCopyElement(cellSlot);
3491
3658
  this.templateCache.set(key, element);
3492
3659
  }
3493
3660
  const headerSlot = col.querySelector('[slot="header"]');
3494
3661
  if (headerSlot) {
3495
- const element = dom_utilsAc71e0ef.deepCopyElement(headerSlot);
3662
+ const element = deepCopyElement(headerSlot);
3496
3663
  this.headerTemplateCache.set(key, element);
3497
3664
  }
3498
3665
  else {
@@ -3925,7 +4092,7 @@ const NvDatagrid = class {
3925
4092
  }
3926
4093
  // Handle <template> elements correctly
3927
4094
  const templateContent = template instanceof HTMLTemplateElement ? template.content : template;
3928
- const element = dom_utilsAc71e0ef.deepCopyElement(templateContent);
4095
+ const element = deepCopyElement(templateContent);
3929
4096
  // Replace placeholders in text content, attributes, and properties
3930
4097
  element.querySelectorAll('*').forEach(el => {
3931
4098
  // Replace placeholders in text content
@@ -4107,7 +4274,7 @@ const NvDatagrid = class {
4107
4274
  properties.forEach(prop => {
4108
4275
  if (typeof element[prop] !== 'function' && // Ignore methods
4109
4276
  !prop.startsWith('on') && // Ignore event listeners (onclick, oninput, etc.)
4110
- !dom_utilsAc71e0ef.excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props
4277
+ !excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props
4111
4278
  ) {
4112
4279
  const propValue = element[prop];
4113
4280
  if (typeof propValue === 'string' && propValue.includes('__')) {
@@ -4139,7 +4306,7 @@ const NvDatagrid = class {
4139
4306
  properties.forEach(prop => {
4140
4307
  if (typeof element[prop] !== 'function' && // Ignore methods
4141
4308
  !prop.startsWith('on') && // Ignore event listeners (onclick, oninput, etc.)
4142
- !dom_utilsAc71e0ef.excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props
4309
+ !excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props
4143
4310
  ) {
4144
4311
  try {
4145
4312
  const propValue = element[prop];
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BK1_MpRZ.js');
3
+ var index = require('./index-7K7BV1CP.js');
4
4
  require('react');
5
5
  require('react-dom');
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BK1_MpRZ.js');
3
+ var index = require('./index-7K7BV1CP.js');
4
4
  var events_utilsFe1d907f = require('./events.utils-fe1d907f-01N__3wY.js');
5
5
  var clsx297c1ffe = require('./clsx-297c1ffe-BtxeOLZW.js');
6
6
  var constants69bafca2 = require('./constants-69bafca2-DpB_ghPF.js');
@@ -542,7 +542,7 @@ var tabbable = function tabbable(container, options) {
542
542
  return sortByOrder(candidates);
543
543
  };
544
544
 
545
- const nvDialogCss = "dialog{border-radius:var(--radius-rounded-2xl);background:var(--color-level-00-background);min-width:min(90vw, 400px);width:fit-content;max-width:clamp(90vw, min(90vw, 960px), 960px);margin:auto;max-height:90vh;overflow:hidden;box-shadow:0px var(--shadow-y-axis-2xl) var(--shadow-blur-2xl) var(--shadow-spread-2xl) var(--shadow-color-opacity-3) var(--shadow-color-opacity-3)}dialog.full{width:90vw}dialog::backdrop{opacity:var(--components-overlay-opacity);background:var(--components-overlay-background)}dialog .content{display:flex;flex-direction:column;align-items:flex-start;height:fit-content;max-height:90vh;overflow:hidden}dialog .content nv-button.close-button{position:absolute;top:var(--dialog-dismissible-position-top);right:var(--dialog-dismissible-position-right);display:flex;padding:var(--button-sm-icon-button-padding);justify-content:flex-end;align-items:flex-start;gap:10px}dialog .content .content-body{overflow:auto;box-sizing:border-box;padding:var(--dialog-body-padding-y) var(--dialog-body-padding-x);scrollbar-gutter:stable both-edges;font-family:\"TT Norms Pro\", sans-serif;font-size:var(--font-size-md);font-style:normal;font-weight:400;line-height:var(--line-height-base);color:var(--color-content-medium-text)}dialog .content .content-body::-webkit-scrollbar{width:6px;height:6px}dialog .content .content-body::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}dialog .content .content-body::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}";
545
+ const nvDialogCss = "dialog{border-radius:var(--radius-rounded-2xl);background:var(--color-level-00-background);min-width:min(90vw, 400px);width:fit-content;max-width:clamp(90vw, min(90vw, 960px), 960px);margin:auto;max-height:90vh;overflow:hidden;box-shadow:0px var(--shadow-y-axis-2xl) var(--shadow-blur-2xl) var(--shadow-spread-2xl) var(--shadow-color-opacity-3) var(--shadow-color-opacity-3)}dialog.full{width:90vw}dialog::backdrop{opacity:var(--components-overlay-opacity);background:var(--components-overlay-background)}dialog .content{display:flex;flex-direction:column;align-items:flex-start;height:fit-content;max-height:90vh;overflow:hidden}dialog .content nv-button.close-button{position:absolute;top:var(--dialog-dismissible-position-top);right:var(--dialog-dismissible-position-right);display:flex;padding:var(--button-sm-icon-button-padding);justify-content:flex-end;align-items:flex-start;gap:10px}dialog .content .content-body{overflow:auto;box-sizing:border-box;padding:var(--dialog-body-padding-y) var(--dialog-body-padding-x);scrollbar-gutter:stable both-edges;font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--font-size-md);font-style:normal;font-weight:var(--font-weight-low-emphasis);line-height:var(--line-height-base);color:var(--color-content-medium-text)}dialog .content .content-body::-webkit-scrollbar{width:6px;height:6px}dialog .content .content-body::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}dialog .content .content-body::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}";
546
546
  const NvDialogStyle0 = nvDialogCss;
547
547
 
548
548
  const NvDialog = class {
@@ -550,6 +550,18 @@ const NvDialog = class {
550
550
  index.registerInstance(this, hostRef);
551
551
  this.openChanged = index.createEvent(this, "openChanged");
552
552
  this.eventsAttached = false;
553
+ this.triggerClickEvents = [
554
+ ['click', this.show],
555
+ [
556
+ 'keydown',
557
+ (e) => {
558
+ if (e.key === 'Enter' || e.key === ' ') {
559
+ e.preventDefault();
560
+ this.show();
561
+ }
562
+ },
563
+ ],
564
+ ];
553
565
  /**
554
566
  * Use this prop to toggle the visibility of the dialog. Set to true to show
555
567
  * the dialog and false to hide it.
@@ -604,18 +616,6 @@ const NvDialog = class {
604
616
  event.stopPropagation();
605
617
  }
606
618
  };
607
- this.triggerClickEvents = [
608
- ['click', this.show],
609
- [
610
- 'keydown',
611
- (e) => {
612
- if (e.key === 'Enter' || e.key === ' ') {
613
- e.preventDefault();
614
- this.show();
615
- }
616
- },
617
- ],
618
- ];
619
619
  }
620
620
  //#endregion PROPERTIES
621
621
  /****************************************************************************/
@@ -696,6 +696,22 @@ const NvDialog = class {
696
696
  }
697
697
  return formElement.id;
698
698
  }
699
+ //#endregion EVENTS
700
+ /****************************************************************************/
701
+ //#region WATCHERS
702
+ async handleDialogOpenChange(isOpen) {
703
+ if (isOpen) {
704
+ this.show();
705
+ this.openChanged.emit(isOpen);
706
+ }
707
+ else {
708
+ this.close();
709
+ this.openChanged.emit(isOpen);
710
+ }
711
+ }
712
+ //#endregion WATCHERS
713
+ /****************************************************************************/
714
+ //#region LISTENERS
699
715
  /**
700
716
  * Handles the keydown event to optionally prevent the native dialog from closing when the escape key is pressed.
701
717
  * @param {KeyboardEvent} event - The keydown event.
@@ -720,20 +736,7 @@ const NvDialog = class {
720
736
  return;
721
737
  this.handleClickOutside(event);
722
738
  }
723
- //#endregion EVENTS
724
- /****************************************************************************/
725
- //#region WATCHERS
726
- async handleDialogOpenChange(isOpen) {
727
- if (isOpen) {
728
- this.show();
729
- this.openChanged.emit(isOpen);
730
- }
731
- else {
732
- this.close();
733
- this.openChanged.emit(isOpen);
734
- }
735
- }
736
- //#endregion WATCHERS
739
+ //#endregion LISTENERS
737
740
  /****************************************************************************/
738
741
  //#region LIFECYCLE
739
742
  /**
@@ -783,7 +786,7 @@ const NvDialog = class {
783
786
  //#region RENDER
784
787
  render() {
785
788
  const hasForm = this.form || this.el.querySelector('form');
786
- return (index.h(index.Host, { key: 'c5fa728dbdde087203b45eb23f433d6227418657' }, index.h("slot", { key: '573185fe0ce4b8d4cb2a2dbf5d267a6b7f7a2989', name: "trigger" }), index.h("dialog", { key: '9641a8579a90e51aabc0a982a7e0f34b9f56b39c', ref: el => (this.dialogElement = el), onClose: this.handleDialogClose, role: "dialog", "aria-modal": "true", "aria-labelledby": "dialog-header", "aria-describedby": "dialog-content", class: clsx297c1ffe.clsx({ full: this.full }) }, index.h("div", { key: '8811f4890cb17bcf67b60705f850986f720a3b29', class: "content" }, !this.undismissable && (index.h("nv-button", { key: '7348177c577ea9dace324526935f81088e967326', class: "close-button", emphasis: "lower", size: "sm", onClick: this.handleDialogClose, "aria-label": "Close dialog" }, index.h("nv-icon", { key: '65370e598f80ec8e716b3c1d748cd38aa9ca5844', name: "x", size: "sm" }))), this.headerElement ? (index.h("slot", { name: "header" })) : (index.h("nv-dialogheader", { id: "dialog-header" })), index.h("div", { key: '8957787909e830d3f6d6158eea79e3c955fcf730', class: "content-body", id: "dialog-content" }, index.h("slot", { key: '46292e1f98ed56b7f098457e20d11d559f0868d0' })), this.footerElement ? (index.h("slot", { name: "footer" })) : (index.h("nv-dialogfooter", { form: this.form, primaryButtonType: hasForm ? constants69bafca2.ButtonType.Submit : constants69bafca2.ButtonType.Button, onDialogCanceled: this.handleDialogClose, undismissable: this.undismissable }))))));
789
+ return (index.h(index.Host, { key: 'b32680019247cf7e39b5861a77dce61e08eadd7b' }, index.h("slot", { key: '104978b5cccd97997955a6c0db21f9549643f40a', name: "trigger" }), index.h("dialog", { key: '951a58755ac49f6c2b2f427599d5bc2540c65e2e', ref: el => (this.dialogElement = el), onClose: this.handleDialogClose, role: "dialog", "aria-modal": "true", "aria-labelledby": "dialog-header", "aria-describedby": "dialog-content", class: clsx297c1ffe.clsx({ full: this.full }) }, index.h("div", { key: '96b727e70efe35991086ead905f925af28808cb8', class: "content" }, !this.undismissable && (index.h("nv-button", { key: '36f2214d2ed81d7b85c3c523f490e75ca2bffc68', class: "close-button", emphasis: "lower", size: "sm", onClick: this.handleDialogClose, "aria-label": "Close dialog" }, index.h("nv-icon", { key: '7a50fc4e330e7ab67bba0fa429c5cd92630014bc', name: "x", size: "sm" }))), this.headerElement ? (index.h("slot", { name: "header" })) : (index.h("nv-dialogheader", { id: "dialog-header" })), index.h("div", { key: 'cf4269a73467794d0158a4e56f34e2a81edd6643', class: "content-body", id: "dialog-content" }, index.h("slot", { key: 'f91e72aafdd2f5de65ae78262f274b83bd37560d' })), this.footerElement ? (index.h("slot", { name: "footer" })) : (index.h("nv-dialogfooter", { form: this.form, primaryButtonType: hasForm ? constants69bafca2.ButtonType.Submit : constants69bafca2.ButtonType.Button, onDialogCanceled: this.handleDialogClose, undismissable: this.undismissable }))))));
787
790
  }
788
791
  get el() { return index.getElement(this); }
789
792
  static get watchers() { return {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BK1_MpRZ.js');
3
+ var index = require('./index-7K7BV1CP.js');
4
4
  var constants69bafca2 = require('./constants-69bafca2-DpB_ghPF.js');
5
5
  require('react');
6
6
  require('react-dom');
@@ -100,7 +100,7 @@ const NvDialogfooter = class {
100
100
  };
101
101
  NvDialogfooter.style = NvDialogfooterStyle0;
102
102
 
103
- const nvDialogheaderCss = "nv-dialogheader{padding:var(--dialog-header-padding-top) var(--dialog-header-padding-x) var(--dialog-header-padding-bottom) var(--dialog-header-padding-x);justify-content:space-between;align-items:flex-start;align-self:stretch}nv-dialogheader .heading{color:var(--color-content-high-text);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--font-size-lg);font-style:normal;font-weight:500;padding-right:var(--spacing-7);line-height:var(--leading-px-6);letter-spacing:var(--letter-spacing-heading-xs)}nv-dialogheader .subheading{color:var(--color-content-low-text);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--font-size-sm);font-style:normal;font-weight:400;line-height:var(--line-height-sm);}";
103
+ const nvDialogheaderCss = "nv-dialogheader{padding:var(--dialog-header-padding-top) var(--dialog-header-padding-x) var(--dialog-header-padding-bottom) var(--dialog-header-padding-x);justify-content:space-between;align-items:flex-start;align-self:stretch}nv-dialogheader .heading{color:var(--color-content-high-text);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--font-size-lg);font-style:normal;font-weight:var(--font-weight-medium-emphasis);padding-right:var(--spacing-7);line-height:var(--leading-px-6);letter-spacing:var(--letter-spacing-heading-xs)}nv-dialogheader .subheading{color:var(--color-content-low-text);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--font-size-sm);font-style:normal;font-weight:var(--font-weight-low-emphasis);line-height:var(--line-height-sm);}";
104
104
  const NvDialogheaderStyle0 = nvDialogheaderCss;
105
105
 
106
106
  const NvDialogheader = class {
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BK1_MpRZ.js');
3
+ var index = require('./index-7K7BV1CP.js');
4
4
  var clsx297c1ffe = require('./clsx-297c1ffe-BtxeOLZW.js');
5
5
  var v4A79185f4 = require('./v4-a79185f4-2n0dOd_Y.js');
6
6
  require('react');
7
7
  require('react-dom');
8
8
 
9
- const nvFieldcheckboxCss = "nv-fieldcheckbox{--nv-fieldcheckbox-border-default:var(\n --components-form-field-border-default\n );--nv-fieldcheckbox-border-hover:var(--components-form-field-border-hover);--nv-fieldcheckbox-border-focus:var(--components-form-field-border-default);--nv-fieldcheckbox-background-default:var(\n --components-form-field-background-default\n );--nv-fieldcheckbox-background-checked:var(\n --components-form-field-background-checked\n );--nv-fieldcheckbox-background-disabled:var(\n --components-form-field-background-disabled\n );--nv-fieldcheckbox-focus-box-shadow:var(--color-focus-brand);--nv-fieldcheckbox-color-checked:var(\n --components-form-shape-foreground-default\n );--nv-fieldcheckbox-color-disabled:var(\n --components-form-shape-foreground-disabled\n );--nv-fieldcheckbox-outline-color:var(--color-focus-brand);display:inline-flex;align-items:flex-start;gap:var(--form-gap-x);position:relative}nv-fieldcheckbox:not([disabled],[readonly]) input,nv-fieldcheckbox:not([disabled],[readonly]) label{cursor:pointer}nv-fieldcheckbox.error>.input-container{--nv-fieldcheckbox-border-default:var(--components-form-field-border-error);--nv-fieldcheckbox-border-hover:var(--nv-fieldcheckbox-border-default);--nv-fieldcheckbox-border-focus:var(--components-form-field-border-error);--nv-fieldcheckbox-focus-box-shadow:var(--color-focus-destructive);--nv-fieldcheckbox-color-disabled:var(\n --components-form-shape-foreground-disabled-error\n );--nv-fieldcheckbox-background-checked:var(\n --components-form-field-background-error\n );--nv-fieldcheckbox-outline-color:var(--color-focus-destructive)}nv-fieldcheckbox.label-placement-before{flex-direction:row-reverse}nv-fieldcheckbox[disabled]:not([disabled=false]){opacity:0.5}nv-fieldcheckbox>.input-container{position:relative;color:var(--nv-fieldcheckbox-color-checked)}nv-fieldcheckbox>.input-container input[type=checkbox][readonly]{opacity:0.5}nv-fieldcheckbox>.input-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--nv-fieldcheckbox-color-disabled)}nv-fieldcheckbox>.input-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-checkbox-size);height:var(--form-checkbox-size);flex-direction:column;align-items:flex-start;border-radius:var(--form-checkbox-radius);border-width:var(--form-checkbox-border-width);border-style:solid;border-color:var(--nv-fieldcheckbox-border-default);background:var(--nv-fieldcheckbox-background-default)}nv-fieldcheckbox>.input-container input[type=checkbox]:hover{border-color:var(--nv-fieldcheckbox-border-hover)}nv-fieldcheckbox>.input-container input[type=checkbox]:focus{border-color:var(--nv-fieldcheckbox-border-focus)}nv-fieldcheckbox>.input-container input[type=checkbox]:focus,nv-fieldcheckbox>.input-container input[type=checkbox]:focus-within{outline:none}nv-fieldcheckbox>.input-container input[type=checkbox]:focus-visible,nv-fieldcheckbox>.input-container input[type=checkbox]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--nv-fieldcheckbox-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-fieldcheckbox>.input-container input[type=checkbox]:checked,nv-fieldcheckbox>.input-container input[type=checkbox]:indeterminate{background:var(--nv-fieldcheckbox-background-checked);border-color:var(--nv-fieldcheckbox-background-checked)}nv-fieldcheckbox>.input-container input[type=checkbox]:disabled:not([readonly]){background:var(--nv-fieldcheckbox-background-disabled);border-color:var(--nv-fieldcheckbox-border-default)}nv-fieldcheckbox>.input-container input[type=checkbox][readonly]{opacity:0.5}nv-fieldcheckbox>.input-container .icon{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}nv-fieldcheckbox>.input-container .icon svg{width:var(--form-checkbox-icon-size);height:var(--form-checkbox-icon-size);fill:none;stroke:currentcolor;stroke-width:var(--form-checkbox-icon-stroke);flex-shrink:0}nv-fieldcheckbox>.text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}nv-fieldcheckbox>.text-container label{align-self:stretch;text-align:left;color:var(--components-form-text-label-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--form-label-font-weight);line-height:var(--form-label-line-height)}nv-fieldcheckbox>.text-container label.visually-hidden{position:absolute;padding:0;border:0;overflow:hidden;white-space:nowrap;width:1px;height:1px;margin:-1px;clip:rect(0, 0, 0, 0)}nv-fieldcheckbox>.text-container .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height)}nv-fieldcheckbox>.text-container .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}";
9
+ const nvFieldcheckboxCss = "nv-fieldcheckbox{--nv-fieldcheckbox-border-default:var(\n --components-form-field-border-default\n );--nv-fieldcheckbox-border-hover:var(--components-form-field-border-hover);--nv-fieldcheckbox-border-focus:var(--components-form-field-border-default);--nv-fieldcheckbox-background-default:var(\n --components-form-field-background-default\n );--nv-fieldcheckbox-background-checked:var(\n --components-form-field-background-checked\n );--nv-fieldcheckbox-background-disabled:var(\n --components-form-field-background-disabled\n );--nv-fieldcheckbox-focus-box-shadow:var(--color-focus-brand);--nv-fieldcheckbox-color-checked:var(\n --components-form-shape-foreground-default\n );--nv-fieldcheckbox-color-disabled:var(\n --components-form-shape-foreground-disabled\n );--nv-fieldcheckbox-outline-color:var(--color-focus-brand);display:inline-flex;align-items:flex-start;gap:var(--form-gap-x);position:relative}nv-fieldcheckbox:not([disabled],[readonly]) input,nv-fieldcheckbox:not([disabled],[readonly]) label{cursor:pointer}nv-fieldcheckbox.error>.input-container{--nv-fieldcheckbox-border-default:var(--components-form-field-border-error);--nv-fieldcheckbox-border-hover:var(--nv-fieldcheckbox-border-default);--nv-fieldcheckbox-border-focus:var(--components-form-field-border-error);--nv-fieldcheckbox-focus-box-shadow:var(--color-focus-destructive);--nv-fieldcheckbox-color-disabled:var(\n --components-form-shape-foreground-disabled-error\n );--nv-fieldcheckbox-background-checked:var(\n --components-form-field-background-error\n );--nv-fieldcheckbox-outline-color:var(--color-focus-destructive)}nv-fieldcheckbox.label-placement-before{flex-direction:row-reverse}nv-fieldcheckbox[disabled]:not([disabled=false]){opacity:0.5}nv-fieldcheckbox>.input-container{position:relative;color:var(--nv-fieldcheckbox-color-checked)}nv-fieldcheckbox>.input-container input[type=checkbox][readonly]{opacity:0.5}nv-fieldcheckbox>.input-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--nv-fieldcheckbox-color-disabled)}nv-fieldcheckbox>.input-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-checkbox-size);height:var(--form-checkbox-size);flex-direction:column;align-items:flex-start;border-radius:var(--form-checkbox-radius);border-width:var(--form-checkbox-border-width);border-style:solid;border-color:var(--nv-fieldcheckbox-border-default);background:var(--nv-fieldcheckbox-background-default)}nv-fieldcheckbox>.input-container input[type=checkbox]:hover{border-color:var(--nv-fieldcheckbox-border-hover)}nv-fieldcheckbox>.input-container input[type=checkbox]:focus{border-color:var(--nv-fieldcheckbox-border-focus)}nv-fieldcheckbox>.input-container input[type=checkbox]:focus,nv-fieldcheckbox>.input-container input[type=checkbox]:focus-within{outline:none}nv-fieldcheckbox>.input-container input[type=checkbox]:focus-visible,nv-fieldcheckbox>.input-container input[type=checkbox]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--nv-fieldcheckbox-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-fieldcheckbox>.input-container input[type=checkbox]:checked,nv-fieldcheckbox>.input-container input[type=checkbox]:indeterminate{background:var(--nv-fieldcheckbox-background-checked);border-color:var(--nv-fieldcheckbox-background-checked)}nv-fieldcheckbox>.input-container input[type=checkbox]:disabled:not([readonly]){background:var(--nv-fieldcheckbox-background-disabled);border-color:var(--nv-fieldcheckbox-border-default)}nv-fieldcheckbox>.input-container input[type=checkbox][readonly]{opacity:0.5}nv-fieldcheckbox>.input-container .icon{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}nv-fieldcheckbox>.input-container .icon svg{width:var(--form-checkbox-icon-size);height:var(--form-checkbox-icon-size);fill:none;stroke:currentcolor;stroke-width:var(--form-checkbox-icon-stroke);flex-shrink:0}nv-fieldcheckbox>.text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}nv-fieldcheckbox>.text-container label{align-self:stretch;text-align:left;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(--form-label-font-weight);line-height:var(--form-label-line-height)}nv-fieldcheckbox>.text-container label.visually-hidden{position:absolute;padding:0;border:0;overflow:hidden;white-space:nowrap;width:1px;height:1px;margin:-1px;clip:rect(0, 0, 0, 0)}nv-fieldcheckbox>.text-container .description{align-self:stretch;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;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height)}nv-fieldcheckbox>.text-container .error-description{align-self:stretch;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;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}";
10
10
  const NvFieldcheckboxStyle0 = nvFieldcheckboxCss;
11
11
 
12
12
  const NvFieldcheckbox = class {