@rededor/cura 2.0.0-alpha.14 → 2.0.0-alpha.16

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 (112) hide show
  1. package/dist/cjs/cura-accordion_22.cjs.entry.js +39 -83
  2. package/dist/cjs/cura-display.cjs.entry.js +1 -1
  3. package/dist/cjs/cura-input-textarea.cjs.entry.js +236 -0
  4. package/dist/cjs/cura-loader-bar.cjs.entry.js +1 -1
  5. package/dist/cjs/cura-radio.cjs.entry.js +1 -1
  6. package/dist/cjs/cura-switch.cjs.entry.js +1 -1
  7. package/dist/cjs/cura-tabs-button.cjs.entry.js +1 -1
  8. package/dist/cjs/cura-tabs-transparent.cjs.entry.js +1 -1
  9. package/dist/cjs/cura.cjs.js +1 -1
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/utils-DMHZ2n4p.js +47 -0
  12. package/dist/collection/collection-manifest.json +1 -0
  13. package/dist/collection/components/cura-calendar/cura-calendar.js +20 -27
  14. package/dist/collection/components/forms/cura-input-textarea/cura-input-textarea.css +174 -0
  15. package/dist/collection/components/forms/cura-input-textarea/cura-input-textarea.js +613 -0
  16. package/dist/collection/components/forms/cura-input-textarea/cura-input-textarea.stories.js +222 -0
  17. package/dist/collection/components/forms/cura-label/cura-label.js +1 -1
  18. package/dist/collection/components/forms/cura-radio/cura-radio.js +1 -1
  19. package/dist/collection/components/forms/cura-select/cura-select.js +3 -3
  20. package/dist/collection/components/forms/cura-select-options/cura-select-option.js +1 -1
  21. package/dist/collection/components/forms/cura-switch/cura-switch.js +1 -1
  22. package/dist/collection/components/loaders/cura-loader-bar/cura-loader-bar.js +1 -1
  23. package/dist/collection/components/loaders/cura-loader-circle/cura-loader-circle.js +1 -1
  24. package/dist/collection/components/tabs/cura-tabs/cura-tabs.js +1 -1
  25. package/dist/collection/components/tabs/cura-tabs-button/cura-tabs-button.js +1 -1
  26. package/dist/collection/components/tabs/cura-tabs-group/cura-tabs-group.js +1 -1
  27. package/dist/collection/components/tabs/cura-tabs-transparent/cura-tabs-transparent.js +1 -1
  28. package/dist/collection/components/text/cura-display/cura-display.js +1 -1
  29. package/dist/collection/components/text/cura-heading/cura-heading.js +1 -1
  30. package/dist/collection/components/text/cura-paragraph/cura-paragraph.js +1 -1
  31. package/dist/components/cura-accordion-item.js +1 -1
  32. package/dist/components/cura-alert.js +1 -1
  33. package/dist/components/cura-badge-counter.js +1 -1
  34. package/dist/components/cura-badge-distance.js +1 -1
  35. package/dist/components/cura-badge-pill.js +1 -1
  36. package/dist/components/cura-button-outline.js +1 -1
  37. package/dist/components/cura-button-select.js +1 -1
  38. package/dist/components/cura-button-transparent.js +1 -1
  39. package/dist/components/cura-button.js +1 -1
  40. package/dist/components/cura-calendar.js +1 -1
  41. package/dist/components/cura-checkbox.js +1 -1
  42. package/dist/components/cura-display.js +1 -1
  43. package/dist/components/cura-dropdown-search-category.js +1 -1
  44. package/dist/components/cura-dropdown-search-not-found.js +1 -1
  45. package/dist/components/cura-dropdown-search.js +1 -1
  46. package/dist/components/cura-heading.js +1 -1
  47. package/dist/components/cura-icons-view.js +1 -1
  48. package/dist/components/cura-input-date.js +1 -1
  49. package/dist/components/cura-input-text.js +1 -1
  50. package/dist/components/cura-input-textarea.d.ts +11 -0
  51. package/dist/components/cura-input-textarea.js +1 -0
  52. package/dist/components/cura-label.js +1 -1
  53. package/dist/components/cura-loader-bar.js +1 -1
  54. package/dist/components/cura-loader-circle.js +1 -1
  55. package/dist/components/cura-modal.js +1 -1
  56. package/dist/components/cura-paragraph.js +1 -1
  57. package/dist/components/cura-radio.js +1 -1
  58. package/dist/components/cura-select-option.js +1 -1
  59. package/dist/components/cura-select.js +1 -1
  60. package/dist/components/cura-stepper-item.js +1 -1
  61. package/dist/components/cura-stepper.js +1 -1
  62. package/dist/components/cura-switch.js +1 -1
  63. package/dist/components/cura-tabs-button.js +1 -1
  64. package/dist/components/cura-tabs-group.js +1 -1
  65. package/dist/components/cura-tabs-transparent.js +1 -1
  66. package/dist/components/cura-tabs.js +1 -1
  67. package/dist/components/cura-toast.js +1 -1
  68. package/dist/components/cura-tooltip.js +1 -1
  69. package/dist/components/index.js +1 -1
  70. package/dist/components/p-B2TDH4aP.js +1 -0
  71. package/dist/components/{p-Oyg5hynZ.js → p-BHVSbubb.js} +1 -1
  72. package/dist/components/{p-BBtCzdwH.js → p-BKDpza6x.js} +1 -1
  73. package/dist/components/{p-BOQ-9WHP.js → p-BuETJyzc.js} +1 -1
  74. package/dist/components/{p-BGBnVlL3.js → p-CksTHXxZ.js} +1 -1
  75. package/dist/components/{p-I4AXUk2V.js → p-D4hCuriT.js} +1 -1
  76. package/dist/components/p-DQP7jRHp.js +1 -0
  77. package/dist/components/p-DgK8dEko.js +1 -0
  78. package/dist/components/{p-BXFxWVl3.js → p-DgQJ968V.js} +1 -1
  79. package/dist/components/{p-BFGkepgq.js → p-Dmalf4Oj.js} +1 -1
  80. package/dist/components/{p-DbZtk_CM.js → p-KovUKiTX.js} +1 -1
  81. package/dist/components/{p-Bac-rr_f.js → p-PiUhcFob.js} +1 -1
  82. package/dist/components/{p-BmMvoH-m.js → p-TnCIk87O.js} +1 -1
  83. package/dist/components/{p-Cm1Vfoc6.js → p-i55vIhdM.js} +1 -1
  84. package/dist/cura/cura.esm.js +1 -1
  85. package/dist/cura/{p-71fffffa.entry.js → p-1c48aaa7.entry.js} +1 -1
  86. package/dist/cura/{p-2572a4f9.entry.js → p-4178e3e6.entry.js} +1 -1
  87. package/dist/cura/p-5b26a166.entry.js +1 -0
  88. package/dist/cura/p-CUmwazb8.js +1 -0
  89. package/dist/cura/p-a305e17a.entry.js +1 -0
  90. package/dist/cura/{p-8b29b763.entry.js → p-b157025d.entry.js} +1 -1
  91. package/dist/cura/{p-1ecb2249.entry.js → p-bd649bed.entry.js} +1 -1
  92. package/dist/cura/{p-04b5c710.entry.js → p-d43fb791.entry.js} +1 -1
  93. package/dist/cura/{p-a5c4849c.entry.js → p-d64ef37d.entry.js} +1 -1
  94. package/dist/esm/cura-accordion_22.entry.js +32 -76
  95. package/dist/esm/cura-display.entry.js +1 -1
  96. package/dist/esm/cura-input-textarea.entry.js +234 -0
  97. package/dist/esm/cura-loader-bar.entry.js +1 -1
  98. package/dist/esm/cura-radio.entry.js +1 -1
  99. package/dist/esm/cura-switch.entry.js +1 -1
  100. package/dist/esm/cura-tabs-button.entry.js +1 -1
  101. package/dist/esm/cura-tabs-transparent.entry.js +1 -1
  102. package/dist/esm/cura.js +1 -1
  103. package/dist/esm/loader.js +1 -1
  104. package/dist/esm/utils-BZCR971L.js +41 -0
  105. package/dist/types/components/cura-calendar/cura-calendar.d.ts +3 -6
  106. package/dist/types/components/forms/cura-input-textarea/cura-input-textarea.d.ts +116 -0
  107. package/dist/types/components/forms/cura-input-textarea/cura-input-textarea.stories.d.ts +188 -0
  108. package/dist/types/components.d.ts +210 -0
  109. package/package.json +2 -2
  110. package/dist/components/p-BJafC0R3.js +0 -1
  111. package/dist/components/p-nqT7t82E.js +0 -1
  112. package/dist/cura/p-c287c69e.entry.js +0 -1
@@ -3,10 +3,11 @@
3
3
  var index = require('./index-BLhmsPd0.js');
4
4
  var curaButton_definitions = require('./cura-button.definitions-B3SK8MaV.js');
5
5
  var index$1 = require('./index-EyP6Zlkd.js');
6
- var _static = require('./static-DHz-FA_O.js');
6
+ var utils = require('./utils-DMHZ2n4p.js');
7
7
  var curaIcon_definitions = require('./cura-icon.definitions-DT0wF67y.js');
8
8
  var curaTabs_definitions = require('./cura-tabs.definitions-CGqqGE2e.js');
9
9
  require('./theme-legacy-default-COE-hjD7.js');
10
+ require('./static-DHz-FA_O.js');
10
11
 
11
12
  const curaAccordionCss = () => `:host{display:block;color:var(--font-color);font-size:var(--font-size);font-size:var(--font-size);font-family:var(--font-family);font-weight:var(--font-weight-regular)}`;
12
13
 
@@ -6803,7 +6804,6 @@ const CuraCalendar = class {
6803
6804
  index.registerInstance(this, hostRef);
6804
6805
  this.onchangeday = index.createEvent(this, "onchangeday");
6805
6806
  this.changeDateInView = index.createEvent(this, "changeDateInView");
6806
- this.isMounted = false;
6807
6807
  /**
6808
6808
  * Disable component
6809
6809
  *
@@ -7145,6 +7145,7 @@ const CuraCalendar = class {
7145
7145
  if (direction === 'next')
7146
7146
  newMonth = addMonths(this.currentDate, 1);
7147
7147
  this.currentDate = newMonth;
7148
+ this.sendEventChangeDateInView(Boolean(this.collapsed), newMonth);
7148
7149
  }
7149
7150
  /**
7150
7151
  * Handle the month dropdown change.
@@ -7155,7 +7156,9 @@ const CuraCalendar = class {
7155
7156
  const { months } = this.fetchMonthNames();
7156
7157
  const newMonth = event.detail;
7157
7158
  this.selectMonth = newMonth;
7158
- this.currentDate = new Date(getYear(this.currentDate), months.indexOf(newMonth), 1);
7159
+ const currentDateUpdated = new Date(getYear(this.currentDate), months.indexOf(newMonth), 1);
7160
+ this.currentDate = currentDateUpdated;
7161
+ this.sendEventChangeDateInView(Boolean(this.collapsed), currentDateUpdated);
7159
7162
  }
7160
7163
  /**
7161
7164
  * Handle the year input change.
@@ -7165,7 +7168,9 @@ const CuraCalendar = class {
7165
7168
  onYearDropdownChange(event) {
7166
7169
  const newYear = event.detail;
7167
7170
  this.selectYear = newYear;
7168
- this.currentDate = new Date(newYear, getMonth(this.currentDate), 1);
7171
+ const currentDateUpdated = new Date(newYear, getMonth(this.currentDate), 1);
7172
+ this.currentDate = currentDateUpdated;
7173
+ this.sendEventChangeDateInView(Boolean(this.collapsed), currentDateUpdated);
7169
7174
  }
7170
7175
  /**
7171
7176
  * Flatten date ranges into individual dates.
@@ -7272,10 +7277,10 @@ const CuraCalendar = class {
7272
7277
  this.collapsed = true;
7273
7278
  return this.fetchDaysOfWeek();
7274
7279
  }
7275
- fetchDaysOfWeek() {
7280
+ fetchDaysOfWeek(currentDate) {
7276
7281
  const DAYS_IN_CALENDAR_VIEW = 7;
7277
- const start = startOfWeek(this.currentDate);
7278
- const end = endOfWeek(this.currentDate);
7282
+ const start = startOfWeek(currentDate || this.currentDate);
7283
+ const end = endOfWeek(currentDate || this.currentDate);
7279
7284
  const daysIncurrentDate = eachDayOfInterval({ start, end });
7280
7285
  return daysIncurrentDate.slice(0, DAYS_IN_CALENDAR_VIEW);
7281
7286
  }
@@ -7286,11 +7291,12 @@ const CuraCalendar = class {
7286
7291
  if (direction === 'next')
7287
7292
  newWeek = addWeeks(this.currentDate, 1);
7288
7293
  this.currentDate = newWeek;
7294
+ this.sendEventChangeDateInView(Boolean(this.collapsed), newWeek);
7289
7295
  }
7290
- fetchDaysOfMonth() {
7296
+ fetchDaysOfMonth(currentDate) {
7291
7297
  const DAYS_IN_CALENDAR_VIEW = 35;
7292
- const start = startOfMonth(this.currentDate);
7293
- const end = endOfMonth(this.currentDate);
7298
+ const start = startOfMonth(currentDate || this.currentDate);
7299
+ const end = endOfMonth(currentDate || this.currentDate);
7294
7300
  const daysIncurrentDate = eachDayOfInterval({ start, end });
7295
7301
  const startWeekDay = getDay(start);
7296
7302
  const prevMonthEnd = endOfMonth(subMonths(start, 1));
@@ -7420,10 +7426,10 @@ const CuraCalendar = class {
7420
7426
  '--color-neutral-purewhite': window.CuraAPI.theme.colors.getColor(`neutral-purewhite`)
7421
7427
  };
7422
7428
  }
7423
- sendEventChangeDateInView(isCollapsed) {
7429
+ sendEventChangeDateInView(isCollapsed, currentDate) {
7424
7430
  const eventData = {
7425
- datesInView: isCollapsed ? this.fetchDaysOfWeek() : this.fetchDaysOfMonth(),
7426
- monthDays: this.fetchDaysOfMonth()
7431
+ datesInView: isCollapsed ? this.fetchDaysOfWeek(currentDate) : this.fetchDaysOfMonth(currentDate),
7432
+ monthDays: this.fetchDaysOfMonth(currentDate)
7427
7433
  };
7428
7434
  this.changeDateInView.emit(eventData);
7429
7435
  }
@@ -7443,23 +7449,14 @@ const CuraCalendar = class {
7443
7449
  }
7444
7450
  this.defaultDates = this.expandDateRanges(newValue);
7445
7451
  }
7446
- watchDatesInViewChange() {
7447
- if (!this.isMounted) {
7448
- return;
7449
- }
7450
- this.sendEventChangeDateInView(Boolean(this.collapsed));
7451
- }
7452
7452
  watchCollapse(isCollapsed) {
7453
- this.sendEventChangeDateInView(isCollapsed);
7454
- }
7455
- componentDidLoad() {
7456
- this.isMounted = true;
7453
+ this.sendEventChangeDateInView(isCollapsed, this.currentDate);
7457
7454
  }
7458
7455
  render() {
7459
7456
  const { months } = this.fetchMonthNames();
7460
- return (index.h(index.Host, { key: '9667bc4f47b6581724dcc658ce322b375622906a', style: this.getHostCSSProperties() }, index.h("div", { key: '231bc0e3890949e6696338e386a3db4e9744c5b6', class: `calendar ${this.floating ? 'floating' : ''} ${this.embedded ? 'embedded' : ''} ${this.getDisabledClassModifier()}`, style: this.styles }, index.h("header", { key: '88357e185b812e45d4632aa20759cf078e51af19', class: "header" }, index.h("div", { key: '93cf9ecfbce8772e64cdad26090119257f47b77b', class: `month-year ${this.type === 'dropdown' && 'dropdown'}` }, index.h("cura-icon", { key: 'c188f28ca53ffb79ad9d13b1ef7b19ab6d26b10d', class: `icon ${this.type === 'dropdown' && 'dropdown'}`, name: "left", disabled: this.isDisabled, color: this.determinePrevButtonColor(), onClick: this.handlePrevMonth }), this.type === 'dropdown' ? (index.h("div", { class: "select" }, index.h("cura-select", { disabled: this.isDisabled, size: "small", class: "drop-month", mode: "transparent", value: months[getMonth(this.currentDate)], onSelected: e => this.onMonthDropdownChange(e) }, months.map((month, index$1) => (index.h("cura-select-option", { size: "xsmall", key: index$1, value: month }, month)))), index.h("cura-select", { disabled: this.isDisabled, size: "small", class: "drop-year", mode: "transparent", value: getYear(this.currentDate).toString(), onSelected: e => this.onYearDropdownChange(e) }, this.fetchYearList().map((year, index$1) => (index.h("cura-select-option", { key: index$1, value: year.toString() }, year.toString())))))) : (index.h("cura-label", { color: !this.isDisabled ? 'neutral-black' : 'neutral-dark', size: "small" }, months[getMonth(this.currentDate)].slice(0, 3), ", ", getYear(this.currentDate))), index.h("cura-icon", { key: 'c890a280637b8c50d2b8cb8ac1ab9a685d742cc3', class: `icon ${this.type === 'dropdown' && 'dropdown'}`, name: "right", disabled: this.isDisabled, color: "primary-base", onClick: this.handleNextMonth }))), index.h("span", { key: 'fac87075df8335c9ad1464a5dc6caebfbd79cf38', class: "days-of-week" }, this.fetchWeekDays().map(this.renderItemWeekDays)), index.h("div", { key: 'e3d08f781cb7765f2c74e88ebd040d8dd28e7e9f', class: "dates" }, !this.collapsed
7457
+ return (index.h(index.Host, { key: 'ce5e455df204f6d7a8a3a34eba8198d33e1dd798', style: this.getHostCSSProperties() }, index.h("div", { key: 'b09f8c9ae06a38f0c04022a3c76ca89aed67f694', class: `calendar ${this.floating ? 'floating' : ''} ${this.embedded ? 'embedded' : ''} ${this.getDisabledClassModifier()}`, style: this.styles }, index.h("header", { key: 'c70bc378b8427424d4128f98b6f39f3a43d18e8b', class: "header" }, index.h("div", { key: 'cdda360107fd69b8a32e7773dfcb9f94bc63b517', class: `month-year ${this.type === 'dropdown' && 'dropdown'}` }, index.h("cura-icon", { key: 'a19af085d074aa74ba3a51712ed62228a4244911', class: `icon ${this.type === 'dropdown' && 'dropdown'}`, name: "left", disabled: this.isDisabled, color: this.determinePrevButtonColor(), onClick: this.handlePrevMonth }), this.type === 'dropdown' ? (index.h("div", { class: "select" }, index.h("cura-select", { disabled: this.isDisabled, size: "small", class: "drop-month", mode: "transparent", value: months[getMonth(this.currentDate)], onSelected: e => this.onMonthDropdownChange(e) }, months.map((month, index$1) => (index.h("cura-select-option", { size: "xsmall", key: index$1, value: month }, month)))), index.h("cura-select", { disabled: this.isDisabled, size: "small", class: "drop-year", mode: "transparent", value: getYear(this.currentDate).toString(), onSelected: e => this.onYearDropdownChange(e) }, this.fetchYearList().map((year, index$1) => (index.h("cura-select-option", { key: index$1, value: year.toString() }, year.toString())))))) : (index.h("cura-label", { color: !this.isDisabled ? 'neutral-black' : 'neutral-dark', size: "small" }, months[getMonth(this.currentDate)].slice(0, 3), ", ", getYear(this.currentDate))), index.h("cura-icon", { key: '0e9917d69adf95a5f4566d1269738d8ea4a11036', class: `icon ${this.type === 'dropdown' && 'dropdown'}`, name: "right", disabled: this.isDisabled, color: "primary-base", onClick: this.handleNextMonth }))), index.h("span", { key: 'f5249c9c7ebeae18af57c43bbd988aa7c21b7b04', class: "days-of-week" }, this.fetchWeekDays().map(this.renderItemWeekDays)), index.h("div", { key: '2465a9c40856462242a80f1fda2abf7dc2648012', class: "dates" }, !this.collapsed
7461
7458
  ? this.fetchDaysOfMonth().map((day, index$1) => (index.h("div", { key: index$1, class: this.getClasses(day), onClick: () => this.onDateClick(day) }, day ? format(day, 'd') : '')))
7462
- : this.fetchDaysOfWeek().map((day, index$1) => (index.h("div", { key: index$1, class: this.getClasses(day), onClick: () => this.onDateClick(day) }, day ? format(day, 'd') : '')))), this.collapsed !== null ? (this.collapsed ? (index.h("div", { class: "collapsed-container" }, index.h("cura-button-transparent", { disabled: this.isDisabled, onClick: () => this.showNotColapsedCalendar(), size: "small", color: "primary", fontColor: "dark", iconName: "plusCircle" }, "Veja mais datas"))) : (index.h("div", { class: "collapsed-container" }, index.h("cura-button-transparent", { onClick: () => this.showColapsedCalendar(), size: "small", color: "primary", fontColor: "dark", iconName: "minusCircle" }, "Veja menos datas")))) : null, this.isLoading && (index.h("div", { key: '91af6d390271d126ad380f26a2018e5e06c0f762', class: "loading-container" }, index.h("cura-loader-circle", { key: '032105471ed76a221fbbc50eac62d52250328d57', color: "primary", size: "large" }), index.h("slot", { key: '2cb6ce4b2cffc2d4ec704f4ba8fb746d59c1b0a0', name: "loadingMessage" }))))));
7459
+ : this.fetchDaysOfWeek().map((day, index$1) => (index.h("div", { key: index$1, class: this.getClasses(day), onClick: () => this.onDateClick(day) }, day ? format(day, 'd') : '')))), this.collapsed !== null ? (this.collapsed ? (index.h("div", { class: "collapsed-container" }, index.h("cura-button-transparent", { disabled: this.isDisabled, onClick: () => this.showNotColapsedCalendar(), size: "small", color: "primary", fontColor: "dark", iconName: "plusCircle" }, "Veja mais datas"))) : (index.h("div", { class: "collapsed-container" }, index.h("cura-button-transparent", { onClick: () => this.showColapsedCalendar(), size: "small", color: "primary", fontColor: "dark", iconName: "minusCircle" }, "Veja menos datas")))) : null, this.isLoading && (index.h("div", { key: 'fba41e2fd1b743d534f763e690b8eaf8f741f2f4', class: "loading-container" }, index.h("cura-loader-circle", { key: '9780c689a48c0c6ef2804ba6e9864338dd6a21a9', color: "primary", size: "large" }), index.h("slot", { key: 'c0e9eee4818991d9fd6ac8322aa183cf574abb65', name: "loadingMessage" }))))));
7463
7460
  }
7464
7461
  static get watchers() { return {
7465
7462
  "defaultDate": [{
@@ -7470,9 +7467,6 @@ const CuraCalendar = class {
7470
7467
  "customDates": [{
7471
7468
  "watchDefaultDatesArray": 0
7472
7469
  }],
7473
- "currentDate": [{
7474
- "watchDatesInViewChange": 0
7475
- }],
7476
7470
  "collapsed": [{
7477
7471
  "watchCollapse": 0
7478
7472
  }]
@@ -7552,44 +7546,6 @@ const CuraCard = class {
7552
7546
  };
7553
7547
  CuraCard.style = curaCardCss();
7554
7548
 
7555
- function checkMobile() {
7556
- return (window === null || window === void 0 ? void 0 : window.innerWidth) < _static.Static.breakpoints.medium.min;
7557
- }
7558
- function checkIOS() {
7559
- return [
7560
- 'iPad Simulator',
7561
- 'iPhone Simulator',
7562
- 'iPod Simulator',
7563
- 'iPad',
7564
- 'iPhone',
7565
- 'iPod'
7566
- ].includes(navigator.userAgent)
7567
- // iPad on iOS 13 detection
7568
- || (navigator.userAgent.includes("Mac") && "ontouchend" in document);
7569
- }
7570
- function fakeInputIOSHack(targetElement) {
7571
- if (!checkMobile() || !checkIOS())
7572
- return null;
7573
- const fakeInput = document.createElement('input');
7574
- fakeInput.setAttribute('type', 'text');
7575
- fakeInput.style.position = 'absolute';
7576
- fakeInput.style.opacity = '0';
7577
- fakeInput.style.height = '0';
7578
- fakeInput.style.fontSize = '16px'; // disable auto zoom
7579
- targetElement.prepend(fakeInput);
7580
- // focus so that subsequent async focus will work
7581
- fakeInput.focus();
7582
- return fakeInput;
7583
- }
7584
- function addBodyScrollLockClass() {
7585
- document.body.classList.add("cura-body-scroll-lock");
7586
- }
7587
- function removeBodyScrollLockClass() {
7588
- if (document.body.classList.contains("cura-body-scroll-lock")) {
7589
- document.body.classList.remove("cura-body-scroll-lock");
7590
- }
7591
- }
7592
-
7593
7549
  class FixedElementScrollBehavior {
7594
7550
  constructor(hostElement, scrollableElement) {
7595
7551
  this._stopPropagationEvent = (e) => {
@@ -7613,11 +7569,11 @@ class FixedElementScrollBehavior {
7613
7569
  disableScroll() {
7614
7570
  this.scrollPosition = window.scrollY;
7615
7571
  window.scrollTo({ top: 0, behavior: 'instant' });
7616
- addBodyScrollLockClass();
7572
+ utils.addBodyScrollLockClass();
7617
7573
  this._addEvents();
7618
7574
  }
7619
7575
  enableScroll() {
7620
- removeBodyScrollLockClass();
7576
+ utils.removeBodyScrollLockClass();
7621
7577
  window.scrollTo({ top: this.scrollPosition, behavior: 'instant' });
7622
7578
  this._removeEvents();
7623
7579
  }
@@ -7715,7 +7671,7 @@ const CuraDropdownSearch = class {
7715
7671
  if (this.resizeTimeout)
7716
7672
  clearTimeout(this.resizeTimeout);
7717
7673
  this.resizeTimeout = setTimeout(() => {
7718
- this.isMobile = checkMobile();
7674
+ this.isMobile = utils.checkMobile();
7719
7675
  this.setZoomHeight();
7720
7676
  }, this.resizeTimeoutMs);
7721
7677
  };
@@ -7747,7 +7703,7 @@ const CuraDropdownSearch = class {
7747
7703
  clearTimeout(this.blurTimeout);
7748
7704
  this.blurTimeout = setTimeout(() => {
7749
7705
  if (this.zoomState) {
7750
- const delay = checkIOS ? 500 : 100;
7706
+ const delay = utils.checkIOS ? 500 : 100;
7751
7707
  setTimeout(() => this.setZoomHeight(), delay);
7752
7708
  }
7753
7709
  this.isOnFocus = false;
@@ -7828,7 +7784,7 @@ const CuraDropdownSearch = class {
7828
7784
  window.visualViewport.addEventListener('resize', this.handleVisualViewportChange);
7829
7785
  window.visualViewport.addEventListener('scroll', this.handleVisualViewportChange);
7830
7786
  }
7831
- this.isMobile = checkMobile();
7787
+ this.isMobile = utils.checkMobile();
7832
7788
  }
7833
7789
  componentDidLoad() {
7834
7790
  var _a;
@@ -8156,7 +8112,7 @@ const CuraHeading = class {
8156
8112
  return tags[`${this.level}`] || tags['default'];
8157
8113
  }
8158
8114
  render() {
8159
- return (index.h(index.Host, { key: 'e28268e7d797af495f6accb8536e88ac49ef608f', style: this.hostCSSProperties(), role: "heading", "aria-level": this.level }, this.getHeadingTag()));
8115
+ return (index.h(index.Host, { key: '611cbd1aff08cda4926fc82ba821c86c5df3e954', style: this.hostCSSProperties(), role: "heading", "aria-level": this.level }, this.getHeadingTag()));
8160
8116
  }
8161
8117
  get host() { return index.getElement(this); }
8162
8118
  };
@@ -11952,9 +11908,9 @@ const CuraInputText = class {
11952
11908
  }
11953
11909
  async setFocus() {
11954
11910
  // IOS needs large timeout value to work
11955
- const timeoutMs = checkMobile() && checkIOS() ? 1000 : 200;
11911
+ const timeoutMs = utils.checkMobile() && utils.checkIOS() ? 1000 : 200;
11956
11912
  // IOS fake input hack
11957
- let fakeInput = fakeInputIOSHack(this.host);
11913
+ let fakeInput = utils.fakeInputIOSHack(this.host);
11958
11914
  setTimeout(() => {
11959
11915
  this.inputRef.focus();
11960
11916
  if (fakeInput)
@@ -12332,7 +12288,7 @@ const CuraLabel = class {
12332
12288
  };
12333
12289
  }
12334
12290
  render() {
12335
- return (index.h(index.Host, { key: '720f13cf286fb7f938e46c6f0a968c4e0f109d50', style: this.hostCSSProperties() }, index.h("p", { key: '0ff31e9b99761b045b24ed8042b27e47b186bf48', style: this.styles, class: this.getClasses() }, index.h("slot", { key: '0986ae8c63cc44b4656f403556c48a7ca6410073' }))));
12291
+ return (index.h(index.Host, { key: '80bddd4f902e7084628ed2cbfe1144a6ddcf2674', style: this.hostCSSProperties() }, index.h("p", { key: 'bc507c1b119459c6efbb81120a7cc33c1e305800', style: this.styles, class: this.getClasses() }, index.h("slot", { key: '451674e41f86b0b3db3f2f29b498aa49c489a7ec' }))));
12336
12292
  }
12337
12293
  get host() { return index.getElement(this); }
12338
12294
  static get watchers() { return {
@@ -12375,7 +12331,7 @@ const CuraLoaderCircle = class {
12375
12331
  };
12376
12332
  }
12377
12333
  render() {
12378
- return (index.h(index.Host, { key: 'c4615da9001f98d1b9e3663cc3be35d2171730e1', style: this.getStyles(), role: "progressbar" }, index.h("svg", { key: '9c37222a3fe0da848f113ad6d8c75e9b2a0cc9cc', viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("g", { key: 'f4a18be935decddbe888d70a37b1433044e05fb0' }, index.h("circle", { key: 'd681798065754082c40a289af01d0d68fc41dca4', cx: "8", cy: "8", r: "7", stroke: "url(#paint0_linear_13485_11488)", "stroke-width": "2" }), index.h("path", { key: '3f0bba399b4fad8870467ef82bbc73bd18a2e9de', d: "M1 8C1 4.13401 4.11877 1 7.96596 1C9.53445 1 10.9819 1.52093 12.1462 2.4C12.8959 2.96601 13.5282 3.68049 14 4.5", "stroke-width": "2" })), index.h("defs", { key: '7e74e8efbd8fd28de95b40c856462e1c1dbefec1' }, index.h("linearGradient", { key: 'd8f4d5a79e13f25a72b73219d9398df4dbc1635c', id: "paint0_linear_13485_11488", x1: "15.7", y1: "4.5", x2: "4.15", y2: "11.5", gradientUnits: "userSpaceOnUse" }, index.h("stop", { key: '38d78b4fe60768fd5987cb44bbbcd76bdb82b7c4' }), index.h("stop", { key: 'ea7961e56c62437260bf7e0e8270073d1dd5bbe4', offset: "1" }))))));
12334
+ return (index.h(index.Host, { key: '628e3341e2bc0bef9a18362ab46625d99a7f6800', style: this.getStyles(), role: "progressbar" }, index.h("svg", { key: 'c0e5366cef003222ec7a60fcaed02a1e2376acd5', viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("g", { key: '194989f5d872562dffc46ca981a699183de87603' }, index.h("circle", { key: '6ffa4ee0394f80b4328e5bda459f849387086568', cx: "8", cy: "8", r: "7", stroke: "url(#paint0_linear_13485_11488)", "stroke-width": "2" }), index.h("path", { key: '9cc41c580811d999769f1ebe1443bd63a092eae0', d: "M1 8C1 4.13401 4.11877 1 7.96596 1C9.53445 1 10.9819 1.52093 12.1462 2.4C12.8959 2.96601 13.5282 3.68049 14 4.5", "stroke-width": "2" })), index.h("defs", { key: '1190920b737c9306a96ac9854207a339ac312815' }, index.h("linearGradient", { key: '11921fe3939bef2f32a4688058a3c818600c5781', id: "paint0_linear_13485_11488", x1: "15.7", y1: "4.5", x2: "4.15", y2: "11.5", gradientUnits: "userSpaceOnUse" }, index.h("stop", { key: 'fa3f8b029d39912abea7adef004f24e99f76d453' }), index.h("stop", { key: '53b8efce47f6101c36ccf9f05beca7ab76ffb886', offset: "1" }))))));
12379
12335
  }
12380
12336
  };
12381
12337
  CuraLoaderCircle.style = curaLoaderCircleCss();
@@ -12470,7 +12426,7 @@ const CuraParagraph = class {
12470
12426
  return classes;
12471
12427
  }
12472
12428
  render() {
12473
- return (index.h(index.Host, { key: '411b5363e280ac45fdd05b52beb4d778f9a65f81', style: this.hostCSSProperties() }, index.h("p", { key: '4dcf7ab9518dfe6baea24e5ecf340074d5cc0531', style: this.styles, class: this.getClasses() }, index.h("slot", { key: 'cfbd348562f33ef233cda512d596844f49bf3453' }))));
12429
+ return (index.h(index.Host, { key: '33b3d1d2e739523255fbfbfd8b6afd67aa5dbc2d', style: this.hostCSSProperties() }, index.h("p", { key: '1baf909ffcc9c682bc9fba3b36d173e53020d084', style: this.styles, class: this.getClasses() }, index.h("slot", { key: 'b836160b6c94a6f3a2f5a7c4c1802bc5340bd5b5' }))));
12474
12430
  }
12475
12431
  get host() { return index.getElement(this); }
12476
12432
  };
@@ -14555,10 +14511,10 @@ const CuraSelect = class {
14555
14511
  });
14556
14512
  }
14557
14513
  render() {
14558
- return (index.h(index.Host, { key: '13d03dc2dae8a2aea0a40a9f3f8cff4f8dd5e2f7', style: this.styles, role: "combobox", "aria-label": this.label, "aria-required": String(this.required), "aria-disabled": String(this.disabled), "aria-invalid": String(this.status === 'error') }, index.h("div", { key: '70d1e6e1e196d9955e29705e7859e60e25116321', class: this.getClasses(), onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false), onClick: this.handleClick }, this.label && (index.h("cura-label", { key: '17a8be580d7e66295756dd0d4c50023315ade905', class: "label", weight: "bold", size: this.size === 'large' ? 'small' : 'xsmall', color: this.getColor('label') }, this.label, " ", this.required && index.h("span", { key: '5d3e76ce07f6214eb9925e2b1bdd1a8ea0d59e43', class: "required" }, "* "))), index.h("div", { key: '57da69c886f2f94bc9311ba987a697f3caff7bbf', class: {
14514
+ return (index.h(index.Host, { key: '7621641772e6c166b5359346f0d0681a614c1f5c', style: this.styles, role: "combobox", "aria-label": this.label, "aria-required": String(this.required), "aria-disabled": String(this.disabled), "aria-invalid": String(this.status === 'error') }, index.h("div", { key: '7cc11beb3a10ada937c4668fdfcdb98b380200e0', class: this.getClasses(), onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false), onClick: this.handleClick }, this.label && (index.h("cura-label", { key: 'd10426c84bb97db84074430f537293407f7afa05', class: "label", weight: "bold", size: this.size === 'large' ? 'small' : 'xsmall', color: this.getColor('label') }, this.label, " ", this.required && index.h("span", { key: '82808b9add65b3c6abf03e56fe63dccd574229f3', class: "required" }, "* "))), index.h("div", { key: 'e37b1468d0bf2bdac3f1c2096c22840fe7e0eced', class: {
14559
14515
  'cura-input-field': true,
14560
14516
  'open': this.isOpen,
14561
- }, ref: el => (this.inputWrapper = el) }, this.renderIcon(), index.h("input", { key: '783caf1d2e7e55d1e50ce870ed62ee358b63d2c5', type: "text", autocomplete: "off", onFocus: () => (this.isFocused = true), onBlur: () => (this.isFocused = false), onKeyDown: this.handleKeyNavigation, "aria-required": String(this.required), "aria-disabled": String(this.disabled), "aria-invalid": String(this.status === 'error'), onInput: this.handleInputChange, style: this.styles, placeholder: this.placeholder, disabled: this.disabled, required: this.required, value: this.textInput, readonly: this.searchBehavior ? null : true }), index.h("button", { key: '626d2a26a771babd5353bba45448a5410c4886e3', class: "up-down-button" }, index.h("cura-icon", { key: 'e331e0dde7ece240f8f80768150679262bb88ab6', name: this.isOpen ? 'up' : 'down', class: "up-down-icon", color: this.disabled ? 'neutral-dark' : 'primary-base', size: 16, iconset: "default" }))), index.h("cura-label", { key: '458647bd83c8e8a0d68f49f2b08b7f61bed7e5af', class: "helper-text", size: "xsmall", color: this.getColor('text'), weight: this.mode === 'transparent' ? 'bold' : 'regular' }, index.h("slot", { key: '7ef8488495f4e03694bc65930aad0fa6caa8b51f' })), this.isOpen && (index.h("div", { key: '2ba839bf8b7d85ffd7be60f1575fe94f3057155a', class: {
14517
+ }, ref: el => (this.inputWrapper = el) }, this.renderIcon(), index.h("input", { key: '7fabd1a5fc59c479ea09d95f7552f49f8448125e', type: "text", autocomplete: "off", onFocus: () => (this.isFocused = true), onBlur: () => (this.isFocused = false), onKeyDown: this.handleKeyNavigation, "aria-required": String(this.required), "aria-disabled": String(this.disabled), "aria-invalid": String(this.status === 'error'), onInput: this.handleInputChange, style: this.styles, placeholder: this.placeholder, disabled: this.disabled, required: this.required, value: this.textInput, readonly: this.searchBehavior ? null : true }), index.h("button", { key: '9fa767799517d3872d60e33a9d71562bfe24d0c5', class: "up-down-button" }, index.h("cura-icon", { key: '2299a69d28c72eba5f2a18faa87c653226105034', name: this.isOpen ? 'up' : 'down', class: "up-down-icon", color: this.disabled ? 'neutral-dark' : 'primary-base', size: 16, iconset: "default" }))), index.h("cura-label", { key: '6c88858d35cdf9c756b9ee7d9e93f5ff0596e372', class: "helper-text", size: "xsmall", color: this.getColor('text'), weight: this.mode === 'transparent' ? 'bold' : 'regular' }, index.h("slot", { key: '55a075d118ba10f7921d6cf13331c7c0a0ddae46' })), this.isOpen && (index.h("div", { key: 'd36637fb50aeefbb10991dd2fa8212886293fff3', class: {
14562
14518
  menu: true,
14563
14519
  open: this.isOpen,
14564
14520
  [this.preferredPlacement]: true,
@@ -14571,7 +14527,7 @@ const CuraSelect = class {
14571
14527
  visibility: this.isPositioned ? 'visible' : 'hidden',
14572
14528
  opacity: this.isPositioned ? '1' : '0',
14573
14529
  pointerEvents: this.isPositioned ? 'auto' : 'none',
14574
- } }, index.h("slot", { key: '8cb789b3f8cf850a6965ed7be11264a654f26c60', name: "option" }))))));
14530
+ } }, index.h("slot", { key: '399d62fd686ed4c0a0729d336a3502b53918e371', name: "option" }))))));
14575
14531
  }
14576
14532
  static get formAssociated() { return true; }
14577
14533
  get host() { return index.getElement(this); }
@@ -14625,7 +14581,7 @@ const CuraSelectOption = class {
14625
14581
  };
14626
14582
  }
14627
14583
  render() {
14628
- return (index.h(index.Host, { key: '1959cfad9e9f91de0a6614517e0a696ff832a8b4', slot: "option", role: "option", "aria-selected": this.selected }, index.h("div", { key: 'f22474011fa2a0def2d272477bbb6ba3c7c5dd59', class: this.getClasses(), style: this.styles }, index.h("cura-label", { key: 'a1236553e347a88c478e50cea6809c54ced8f55d', color: `${this.selected ? 'primary-base' : 'neutral-black'}`, size: this.getSize('label'), "margin-block": "0" }, index.h("slot", { key: '3655ebfdd77515ddd8f8dcb6aa736b0dfcca4802' })), this.selected && index.h("cura-icon", { key: 'cc0051639d6878aaeff7c8eb4a2a15a9c73276da', name: 'check', size: this.getSize('icon'), color: "primary-base" }))));
14584
+ return (index.h(index.Host, { key: '351cadffe0228ba5af1a9d6019c8dece886061c6', slot: "option", role: "option", "aria-selected": this.selected }, index.h("div", { key: '0bbe81fd481f3d7d83e42bcbeb69c8b88ce23804', class: this.getClasses(), style: this.styles }, index.h("cura-label", { key: 'fa4ae11397845ed517f756fd4537f80bb7580e4f', color: `${this.selected ? 'primary-base' : 'neutral-black'}`, size: this.getSize('label'), "margin-block": "0" }, index.h("slot", { key: 'c3b653b8a65d3b7afe0253fd9aafe922fdaebcfc' })), this.selected && index.h("cura-icon", { key: 'd7420da36a93c1f873ac79e6d55e1fa697a4eaad', name: 'check', size: this.getSize('icon'), color: "primary-base" }))));
14629
14585
  }
14630
14586
  get host() { return index.getElement(this); }
14631
14587
  static get watchers() { return {
@@ -14725,7 +14681,7 @@ const CuraTabs = class {
14725
14681
  const labelSize = curaTabs_definitions.labelSizes[this.size] || curaTabs_definitions.labelSizes['default'];
14726
14682
  const labelColor = this.computeContentColor();
14727
14683
  this.updateDynamicStyles();
14728
- return (index.h(index.Host, { key: 'fc0a87968ffd898bd8fc7b287eca4c43183d5b22', role: "button", "aria-pressed": this.selected, "aria-disabled": this.disabled }, index.h("button", { key: '00fe656ab46b7f57dae2a7a1dead6a55759ec729', class: this.getClasses(), style: this.styles, onClick: e => this.handleClick(e), disabled: this.disabled, onMouseEnter: this.handleMouseEnter.bind(this), onMouseLeave: this.handleMouseLeave.bind(this) }, this.getIcon(), index.h("cura-label", { key: 'c291da87ab7e8beda3c547570a80914bba5e5836', size: labelSize, color: labelColor, lineHeight: "0", marginBlock: "0" }, index.h("slot", { key: '7233f8f990b33a841e815746f0c18fad27b907f1' })))));
14684
+ return (index.h(index.Host, { key: 'd12ccbd8e900c1a21dfee2ee7363e167772acad4', role: "button", "aria-pressed": this.selected, "aria-disabled": this.disabled }, index.h("button", { key: '2e77d02614e38baaca599d7830f5ba4dcb048519', class: this.getClasses(), style: this.styles, onClick: e => this.handleClick(e), disabled: this.disabled, onMouseEnter: this.handleMouseEnter.bind(this), onMouseLeave: this.handleMouseLeave.bind(this) }, this.getIcon(), index.h("cura-label", { key: '343f0d566d70ea2f132ea55ca588c57cb2ce20f2', size: labelSize, color: labelColor, lineHeight: "0", marginBlock: "0" }, index.h("slot", { key: '9acebd9e763f88d698ca6c0a08e97c3960701730' })))));
14729
14685
  }
14730
14686
  static get watchers() { return {
14731
14687
  "colorMode": [{
@@ -14764,7 +14720,7 @@ const CuraTabsGroup = class {
14764
14720
  this.styles = Object.assign(Object.assign({}, this.styles), { '--border-color': window.CuraAPI.theme.colors.getColor(this.colorMode === 'light' ? 'neutral-base' : 'primary-base'), '--gap': `${this.gap}px` });
14765
14721
  }
14766
14722
  render() {
14767
- return (index.h(index.Host, { key: '19ab029f51ded1870e7a59518c57cd4270241ac9', role: "tablist", style: this.styles, class: this.getClasses() }, index.h("slot", { key: 'eda90f855125cfdee50efdb11ffd05ec83e7cfe0' })));
14723
+ return (index.h(index.Host, { key: '1a2babd4b23b2f54644cfe9d0129736c897f50c3', role: "tablist", style: this.styles, class: this.getClasses() }, index.h("slot", { key: 'ba78df56f01619de8df14cbfde08dd501b15048e' })));
14768
14724
  }
14769
14725
  get host() { return index.getElement(this); }
14770
14726
  };
@@ -86,7 +86,7 @@ const CuraDisplay = class {
86
86
  return tags[`${this.level}`] || tags['default'];
87
87
  }
88
88
  render() {
89
- return (index.h(index.Host, { key: '343caf7e121561a5339ea553ccadb8aeed553c37', style: this.hostCSSProperties(), role: "heading", "aria-level": this.level }, this.getHeadingTag()));
89
+ return (index.h(index.Host, { key: 'b9264ba7f3ff79b474f02107824441c9f6e67ec1', style: this.hostCSSProperties(), role: "heading", "aria-level": this.level }, this.getHeadingTag()));
90
90
  }
91
91
  get host() { return index.getElement(this); }
92
92
  static get watchers() { return {
@@ -0,0 +1,236 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-BLhmsPd0.js');
4
+ var utils = require('./utils-DMHZ2n4p.js');
5
+ require('./theme-legacy-default-COE-hjD7.js');
6
+ require('./static-DHz-FA_O.js');
7
+
8
+ const curaInputTextareaCss = () => `:host{display:block;box-sizing:border-box;width:100%}.required{color:var(--error-base)}.cura-textarea-group{width:100%;font-family:var(--font-family);text-align:left !important}.cura-textarea-group .helper-max-wrapper{display:flex;justify-content:space-between;align-items:center}.cura-textarea-group .helper-text{margin-top:8px;color:var(--neutral-dark)}.cura-textarea-group .max-length{display:flex}.cura-textarea-group cura-label{margin-bottom:8px}.cura-textarea-group .cura-textarea-field{width:100%;height:64px;display:flex;flex-direction:row;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:0.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.cura-textarea-group .cura-textarea-field textarea{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:16px 16px 0px 8px;min-height:64px;resize:vertical}.cura-textarea-group .cura-textarea-field textarea:not(.resizable){resize:none}.cura-textarea-group .cura-textarea-field textarea::placeholder{color:var(--neutral-dark)}.cura-textarea-group .cura-textarea-field .feedback-icon{padding-left:16px;padding-top:16px}.cura-textarea-group .cura-textarea-field cura-loader-circle{margin:0px 12px}.cura-textarea-group:hover:not(.disabled):not(.isLoading):not(.success):not(.error):not(.isFocused):not(.readOnly) .cura-textarea-field{border-color:var(--neutral-dark)}.cura-textarea-group:hover:not(.disabled):not(.isLoading):not(.success):not(.error):not(.isFocused):not(.readOnly) .cura-textarea-field textarea{color:var(--neutral-dark)}.cura-textarea-group:hover:not(.disabled):not(.isLoading):not(.success):not(.error):not(.isFocused):not(.readOnly) .cura-textarea-field textarea::placeholder{color:var(--neutral-dark)}.cura-textarea-group:focus-within .cura-textarea-field{border:2px solid var(--info-base) !important;background-color:var(--neutral-purewhite);outline:none}.cura-textarea-group:focus-within .cura-textarea-field textarea{color:var(--neutral-black) !important}.cura-textarea-group.success .cura-textarea-field{border:2px solid var(--success-dark) !important;background-color:var(--success-lighter) !important}.cura-textarea-group.success .cura-textarea-field textarea{color:var(--success-darker) !important}.cura-textarea-group.success .cura-textarea-field textarea::placeholder{color:var(--success-darker) !important}.cura-textarea-group.error .cura-textarea-field{border:2px solid var(--error-dark) !important;background-color:var(--error-lighter) !important}.cura-textarea-group.error .cura-textarea-field textarea{color:var(--error-darker) !important}.cura-textarea-group.error .cura-textarea-field textarea::placeholder{color:var(--error-darker) !important}.cura-textarea-group.isLoading{cursor:wait}.cura-textarea-group.isLoading .cura-textarea-field{background-color:var(--neutral-white) !important;border:2px solid var(--primary-base) !important}.cura-textarea-group.isLoading .cura-textarea-field textarea{cursor:wait;color:var(--primary-base) !important}.cura-textarea-group.isLoading .cura-textarea-field textarea::placeholder{color:var(--primary-base) !important}.cura-textarea-group.disabled .cura-textarea-field{background-color:var(--neutral-white);border:2px solid var(--neutral-base)}.cura-textarea-group.disabled .cura-textarea-field textarea{color:var(--neutral-medium)}.cura-textarea-group.disabled .cura-textarea-field textarea::placeholder{color:var(--neutral-medium)}.cura-textarea-group.readOnly[read-only] .cura-textarea-field{cursor:default}.cura-textarea-group.readOnly[read-only] .cura-textarea-field textarea{cursor:default}.cura-textarea-group.small .cura-textarea-field{height:64px}.cura-textarea-group.small .cura-textarea-field textarea{font-size:12px;line-height:13px;letter-spacing:0.72px;min-height:64px}.cura-textarea-group.small .helper-text{font-weight:var(--font-weight-regular)}.cura-textarea-group.medium .cura-textarea-field{height:64px}.cura-textarea-group.medium .cura-textarea-field textarea{font-size:14px;line-height:16px;letter-spacing:0.56px;min-height:64px}.cura-textarea-group.medium .helper-text{font-weight:var(--font-weight-regular)}.cura-textarea-group.large .cura-textarea-field{height:64px}.cura-textarea-group.large .cura-textarea-field textarea{font-size:16px;min-height:64px}.cura-textarea-group.large .helper-text{font-weight:var(--font-weight-bold)}`;
9
+
10
+ const CuraInputTextArea = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.valueChange = index.createEvent(this, "valueChange");
14
+ this.inputClear = index.createEvent(this, "inputClear");
15
+ if (hostRef.$hostElement$["s-ei"]) {
16
+ this.internals = hostRef.$hostElement$["s-ei"];
17
+ }
18
+ else {
19
+ this.internals = hostRef.$hostElement$.attachInternals();
20
+ hostRef.$hostElement$["s-ei"] = this.internals;
21
+ }
22
+ /**
23
+ * Indicates input status (default: 'default')
24
+ */
25
+ this.status = 'default';
26
+ /**
27
+ * Size of the textarea: 'small', 'medium', or 'large' (default: 'medium')
28
+ */
29
+ this.size = 'medium';
30
+ /**
31
+ * Label text for the textarea
32
+ */
33
+ this.label = '';
34
+ /**
35
+ * Name for the textarea
36
+ */
37
+ this.name = '';
38
+ /**
39
+ * Placeholder text
40
+ */
41
+ this.placeholder = null;
42
+ /**
43
+ * Initial value of the textarea
44
+ */
45
+ this.value = '';
46
+ /**
47
+ * Cura icon name to display
48
+ */
49
+ this.iconName = '';
50
+ /**
51
+ * Whether the textarea is disabled (default: false)
52
+ */
53
+ this.disabled = false;
54
+ /**
55
+ * Whether the textarea is required (default: false)
56
+ */
57
+ this.required = false;
58
+ /**
59
+ * Whether the textarea is read-only (default: false)
60
+ */
61
+ this.readOnly = false;
62
+ /**
63
+ * Whether the textarea is resizable (default: true)
64
+ */
65
+ this.resizable = true;
66
+ /**
67
+ * Whether the textarea is in loading state (default: false)
68
+ */
69
+ this.isLoading = false;
70
+ this.isHovered = false;
71
+ this.isFocused = false;
72
+ this.currentValue = '';
73
+ this.fieldStyles = { height: 'auto' };
74
+ /**
75
+ * Removes the alertCircle icon when necessary (as used in CuraDropdownSearch)
76
+ */
77
+ this.hideErrorIcon = false;
78
+ /**
79
+ * Whether the textarea should have autocomplete
80
+ */
81
+ this.autocomplete = 'on';
82
+ this.styles = {};
83
+ }
84
+ async setFocus() {
85
+ const timeoutMs = utils.checkMobile() && utils.checkIOS() ? 1000 : 200;
86
+ let fakeInput = utils.fakeInputIOSHack(this.host);
87
+ setTimeout(() => {
88
+ this.inputRef.focus();
89
+ if (fakeInput)
90
+ fakeInput.remove();
91
+ }, timeoutMs);
92
+ }
93
+ formStateRestoreCallback(state) {
94
+ this.currentValue = state.value;
95
+ this.internals.setFormValue(this.currentValue);
96
+ }
97
+ formAssociatedCallback(form) {
98
+ form.ariaLabel = this.label;
99
+ }
100
+ formResetCallback() {
101
+ this.handleClearInput();
102
+ this.internals.setValidity({});
103
+ this.internals.setFormValue('');
104
+ }
105
+ formDisabledCallback(disabled) {
106
+ this.disabled = disabled;
107
+ }
108
+ connectedCallback() {
109
+ this.styles['--primary-base'] = window.CuraAPI.theme.colors.getColor(`primary-base`);
110
+ this.styles['--neutral-purewhite'] = window.CuraAPI.theme.colors.getColor(`neutral-purewhite`);
111
+ this.styles['--neutral-white'] = window.CuraAPI.theme.colors.getColor(`neutral-white`);
112
+ this.styles['--neutral-black'] = window.CuraAPI.theme.colors.getColor(`neutral-black`);
113
+ this.styles['--neutral-medium'] = window.CuraAPI.theme.colors.getColor(`neutral-medium`);
114
+ this.styles['--neutral-base'] = window.CuraAPI.theme.colors.getColor(`neutral-base`);
115
+ this.styles['--neutral-dark'] = window.CuraAPI.theme.colors.getColor(`neutral-dark`);
116
+ this.styles['--success-dark'] = window.CuraAPI.theme.colors.getColor(`success-dark`);
117
+ this.styles['--success-darker'] = window.CuraAPI.theme.colors.getColor(`success-darker`);
118
+ this.styles['--success-lighter'] = window.CuraAPI.theme.colors.getColor(`success-lighter`);
119
+ this.styles['--error-lighter'] = window.CuraAPI.theme.colors.getColor(`error-lighter`);
120
+ this.styles['--error-dark'] = window.CuraAPI.theme.colors.getColor(`error-dark`);
121
+ this.styles['--error-darker'] = window.CuraAPI.theme.colors.getColor(`error-darker`);
122
+ this.styles['--error-base'] = window.CuraAPI.theme.colors.getColor(`error-base`);
123
+ this.styles['--info-base'] = window.CuraAPI.theme.colors.getColor(`info-base`);
124
+ this.styles['--font-family'] = window.CuraAPI.theme.fonts.getFamily();
125
+ this.styles['--font-size'] = window.CuraAPI.theme.fonts.getSize();
126
+ this.styles['--font-color'] = window.CuraAPI.theme.fonts.getColor();
127
+ this.weights = window.CuraAPI.theme.fonts.getWeights();
128
+ this.breakpoints = window.CuraAPI.theme.breakpoints.get();
129
+ this.styles['--font-weight-medium'] = this.weights.medium;
130
+ this.styles['--font-weight-bold'] = this.weights.bold;
131
+ this.styles['--font-weight-regular'] = this.weights.regular;
132
+ }
133
+ componentWillLoad() {
134
+ this.currentValue = this.value;
135
+ }
136
+ getClasses() {
137
+ return {
138
+ [this.size.toLowerCase()]: true,
139
+ disabled: !!this.disabled,
140
+ isLoading: !!this.isLoading,
141
+ isFocused: this.isFocused && !this.disabled && !this.readOnly && !this.isLoading,
142
+ isHovered: this.isHovered,
143
+ [this.status]: true,
144
+ resizable: !!this.resizable,
145
+ };
146
+ }
147
+ getLabelColor() {
148
+ if (!!this.disabled) {
149
+ return 'neutral-medium';
150
+ }
151
+ else if (((this.isFocused || this.isHovered || this.status === 'success' || this.status === 'error') && !this.readOnly) || this.isHovered) {
152
+ return 'neutral-black';
153
+ }
154
+ else {
155
+ return 'neutral-dark';
156
+ }
157
+ }
158
+ renderIcon() {
159
+ if (this.iconName === '' && this.status === 'default') {
160
+ return;
161
+ }
162
+ if (this.status === 'error' && this.hideErrorIcon) {
163
+ return;
164
+ }
165
+ const baseIconSize = this.size === 'large' ? 20 : 16;
166
+ const iconMap = {
167
+ loading: { name: this.iconName, color: 'primary-base' },
168
+ success: { name: 'checkCircle', color: 'success-dark' },
169
+ error: { name: 'alertCircle', color: 'error-dark' },
170
+ default: { name: this.iconName, color: 'neutral-dark' },
171
+ disabled: { name: this.iconName, color: 'neutral-medium' },
172
+ };
173
+ const iconConfig = iconMap[this.isLoading ? 'loading' : this.disabled ? 'disabled' : this.status || 'default'];
174
+ return (index.h("div", { class: "feedback-icon", style: this.styles }, index.h("cura-icon", { name: iconConfig.name, iconset: "default", size: baseIconSize, color: iconConfig.color })));
175
+ }
176
+ renderHelperText() {
177
+ const isError = this.status === 'error';
178
+ const isSuccess = this.status === 'success';
179
+ const isDefault = this.status === 'default';
180
+ const helperTextSize = this.size === 'large' ? 'small' : 'xsmall';
181
+ const colorText = (() => {
182
+ if (this.disabled)
183
+ return 'neutral-medium';
184
+ if (this.isLoading)
185
+ return 'primary-base';
186
+ if (this.isFocused || this.isHovered)
187
+ return 'neutral-black';
188
+ return 'neutral-dark';
189
+ })();
190
+ return (index.h("div", { style: this.styles, class: "helper-text", part: "cura-input-text-helper" }, isDefault && (index.h("cura-label", { size: helperTextSize, color: colorText }, index.h("slot", null))), isError && (index.h("cura-label", { size: helperTextSize, lineHeight: "xsmall", color: "error-dark" }, index.h("slot", null))), isSuccess && (index.h("cura-label", { size: helperTextSize, lineHeight: "xsmall", color: "success-dark" }, index.h("slot", null)))));
191
+ }
192
+ renderMaxLength() {
193
+ var _a;
194
+ if (!this.maxlength)
195
+ return null;
196
+ return (index.h("div", { class: "max-length" }, index.h("cura-label", { size: "xsmall", weight: 'bold', color: "neutral-dark" }, `${((_a = this.currentValue) === null || _a === void 0 ? void 0 : _a.toString().length) || 0}`), index.h("cura-label", { size: "xsmall", weight: 'bold', color: "neutral-darker" }, `/${this.maxlength}`)));
197
+ }
198
+ handleMouseEnter() {
199
+ this.isHovered = true;
200
+ }
201
+ handleMouseLeave() {
202
+ this.isHovered = false;
203
+ }
204
+ handleClearInput() {
205
+ this.currentValue = '';
206
+ this.inputRef.value = '';
207
+ this.valueChange.emit(this.currentValue);
208
+ this.inputClear.emit(this.currentValue);
209
+ this.setFocus();
210
+ }
211
+ handleInputFocus() {
212
+ this.isFocused = true;
213
+ }
214
+ handleInputBlur() {
215
+ setTimeout(() => {
216
+ this.isFocused = false;
217
+ }, 150);
218
+ }
219
+ handleInputChange(event) {
220
+ const inputValue = event.target.value;
221
+ this.valueChange.emit(inputValue);
222
+ this.handleTextInputChange(inputValue);
223
+ this.internals.setFormValue(this.currentValue);
224
+ }
225
+ handleTextInputChange(inputValue) {
226
+ this.currentValue = inputValue;
227
+ }
228
+ render() {
229
+ return (index.h(index.Host, { key: '05f1a1a3b51e4bb1bc54cab3c8d5b6062a95d32a', role: "textbox", "aria-disabled": this.disabled, "aria-required": this.required, "aria-invalid": this.status === 'error' }, index.h("div", { key: '47eb10b6f3c3e697ae1558fd53d4d9cb9a2b6065', style: this.styles, onMouseEnter: () => this.handleMouseEnter(), onMouseLeave: () => this.handleMouseLeave(), class: Object.assign({ 'cura-textarea-group': true }, this.getClasses()) }, index.h("div", { key: 'c090b7b2eb353dbe929810c4835f49860bfe9c80', class: "input-wrapper" }, this.label && (index.h("cura-label", { key: 'a957db2fb6e2779d3c33f7504124cff353e41c2c', class: "label", weight: "bold", size: this.size === 'large' ? 'small' : 'xsmall', color: this.getLabelColor() }, this.label, " ", this.required && index.h("span", { key: '1928a3597976bd5b1f4076c49dae803a69139cb5', class: "required" }, "* "))), index.h("div", { key: '58c1cab70c203e9ca106ddec09d606943814b65c', class: "cura-textarea-field", part: "cura-textarea-field", style: this.fieldStyles }, this.renderIcon(), index.h("textarea", { key: 'd6a59a727dfc5a8655ea496111dd46718101b0be', name: this.name ? this.name : '', onBlur: this.handleInputBlur.bind(this), onFocus: this.handleInputFocus.bind(this), onInput: event => this.handleInputChange(event), class: this.getClasses(), style: this.styles, placeholder: this.placeholder, disabled: this.disabled || this.isLoading, required: this.required, readonly: this.readOnly, maxlength: this.maxlength, value: this.currentValue !== undefined && this.currentValue !== null ? this.currentValue : '', autocomplete: this.autocomplete }), this.isLoading && index.h("cura-loader-circle", { key: '0476538f94ba6ffc0dc89b4bd125c048f420d415', size: this.size === 'large' ? 'medium' : 'small', color: "primary-base" })), index.h("div", { key: '84b14a2904cfa97adc766bd65cbbf48cb390d6c6', class: "helper-max-wrapper" }, this.renderHelperText(), " ", this.renderMaxLength())))));
230
+ }
231
+ static get formAssociated() { return true; }
232
+ get host() { return index.getElement(this); }
233
+ };
234
+ CuraInputTextArea.style = curaInputTextareaCss();
235
+
236
+ exports.cura_input_textarea = CuraInputTextArea;
@@ -23,7 +23,7 @@ const CuraLoaderBar = class {
23
23
  this.setProgress();
24
24
  }
25
25
  render() {
26
- return (index.h(index.Host, { key: 'dd27615093a7ab333175afb1e48bbe5455d7406b', role: "progressbar", "aria-valuenow": this.progress, "aria-valuemin": 0, "aria-valuemax": 100 }, index.h("div", { key: 'c3c76b76826c558769d43e441d9e0c573fb7eb7b', id: "progress-bar", class: "progress-bar", style: this.styles }, index.h("span", { key: '0e8e361bdf63e558fa34cca67c3446b1147c2643', class: "progress-bar-fill" }))));
26
+ return (index.h(index.Host, { key: '1cad7226bfde87284c61f4786c3bccf66f967d40', role: "progressbar", "aria-valuenow": this.progress, "aria-valuemin": 0, "aria-valuemax": 100 }, index.h("div", { key: '59320656c2a679ff5600ef803fa215f1ed5d218d', id: "progress-bar", class: "progress-bar", style: this.styles }, index.h("span", { key: '6d66523c36dfaece1e9d7a3d60c8fbf7dbef5efa', class: "progress-bar-fill" }))));
27
27
  }
28
28
  setColor() {
29
29
  this.styles = Object.assign(Object.assign({}, this.styles), { '--neutral-base': window.CuraAPI.theme.colors.getColor(`neutral-base`, 0.2), '--color-base': window.CuraAPI.theme.colors.getColor(this.color) });
@@ -190,7 +190,7 @@ const CuraRadio = class {
190
190
  return statusColors[this.status][type];
191
191
  }
192
192
  render() {
193
- return (index.h(index.Host, { key: '3b4001cf9d095153254069f9865d865f8570c74f', role: "radio", "aria-checked": this.checked, "aria-disabled": this.disabled, "aria-required": this.required, "aria-invalid": this.status === 'error' }, index.h("div", { key: '2a60ebf8f84ab618580b924bf1a2ce9acf70ed81', class: this.getClasses(), style: this.styles, onClick: this.handleClick }, index.h("div", { key: 'b1bf673d26f9651696fe5e705f4978eda14e25f6', class: "info" }, index.h("div", { key: '3f0cb6742da331c137c62b647a713781b57d25b2', class: "label-wrapper" }, index.h("cura-label", { key: 'a4bcd0b9b9265db0c7c13a47924ba6b253b01f25', textOverflow: this.overflowLabel, class: `label${this.overflowLabel === 'single' ? ' textoverflow-single' : ''}`, size: this.size === 'large' ? 'medium' : 'xsmall', color: this.assignColor('label') }, this.label), this.required && (index.h("cura-paragraph", { key: '821198baf60494203af757451e892a79afde3e2b', lineHeight: "0%", marginBlock: "0", color: "error-base" }, "*", ' '))), index.h("cura-label", { key: '8859c2fd4e77342b1884283977b109c714fc32e6', textOverflow: this.overflowHelper, color: this.assignColor('message'), size: "xsmall", class: "message" }, index.h("slot", { key: '313feac58eee6ee2d2b3656d0fb971be7fc43481' }))), index.h("input", { key: 'f9bd494bbe59443d7bacf31dafb2f516591ad596', type: "radio", class: `radio ${this.size.toLocaleLowerCase()}`, name: this.name, value: this.value, required: this.required, tabIndex: this.ontabindex, disabled: this.disabled, checked: this.checked }))));
193
+ return (index.h(index.Host, { key: '7db2e7898ed5509b27a22a5ef06d580b6bfe58bc', role: "radio", "aria-checked": this.checked, "aria-disabled": this.disabled, "aria-required": this.required, "aria-invalid": this.status === 'error' }, index.h("div", { key: 'a48dbced2eb1be2ff162282b40b767ed90d35470', class: this.getClasses(), style: this.styles, onClick: this.handleClick }, index.h("div", { key: 'd332710c196dff35ab6cbcdd780d7bf89ad101ac', class: "info" }, index.h("div", { key: '651604209885f847e02af4a11fbd4cd9f42719e2', class: "label-wrapper" }, index.h("cura-label", { key: '13db1f1fe2dfb79cedce79ddb0cc2af9b04db77f', textOverflow: this.overflowLabel, class: `label${this.overflowLabel === 'single' ? ' textoverflow-single' : ''}`, size: this.size === 'large' ? 'medium' : 'xsmall', color: this.assignColor('label') }, this.label), this.required && (index.h("cura-paragraph", { key: '9cd6e5aaaa8007c766730b26b667a4e1f14a9324', lineHeight: "0%", marginBlock: "0", color: "error-base" }, "*", ' '))), index.h("cura-label", { key: '8e4c761b331bea1d1247d5827ead8e42f04ac2c0', textOverflow: this.overflowHelper, color: this.assignColor('message'), size: "xsmall", class: "message" }, index.h("slot", { key: 'bc8c9b14e175dae86a94e21e110afcf74e8faf49' }))), index.h("input", { key: '26a944b0af74465d83a9bd05c181924b9cfb1c38', type: "radio", class: `radio ${this.size.toLocaleLowerCase()}`, name: this.name, value: this.value, required: this.required, tabIndex: this.ontabindex, disabled: this.disabled, checked: this.checked }))));
194
194
  }
195
195
  static get formAssociated() { return true; }
196
196
  get host() { return index.getElement(this); }
@@ -153,7 +153,7 @@ const CuraSwitch = class {
153
153
  return classes;
154
154
  }
155
155
  render() {
156
- return (index.h(index.Host, { key: '73c935718e0bd39d49581d81de82f3d8dfbecf39', role: "switch", "aria-checked": this.checked, "aria-disabled": this.disabled }, index.h("div", { key: 'f2d813e2c863fd869c1ea48f20155a30f7e9b5bd', class: this.getClasses(), style: this.styles, onClick: this.toggleSwitch }, index.h("div", { key: 'de3b927a6ff4f599c527a370b954872990ef3632', class: "info" }, index.h("cura-label", { key: '71729b9f502baf0de6dba5b0d9592c28a420f41d', textOverflow: this.overflowLabel, style: { textAlign: this.position === 'right' ? 'right' : 'left' }, class: "label", weight: "bold", size: this.size === 'large' ? 'medium' : 'xsmall', lineHeight: "125%", color: this.assignColor('neutral-white', 'neutral-black') }, this.label), index.h("cura-label", { key: '54cc521cadd2d09cae1c5356858f20c5a18d3cf8', textOverflow: this.overflowHelper, style: { textAlign: this.position === 'right' ? 'right' : 'left' }, color: this.assignColor('primary-lighter', 'neutral-dark'), size: "xsmall", class: "message" }, index.h("slot", { key: '57d9dbd78f8e5b30677ecca1c6ba83946b459d28' }))), index.h("div", { key: '03d28fd476865d02010fcf7cd5820f9e50b09015', class: "control" }, index.h("div", { key: '5fc59727c27271cba5f63651373e1e99deb4f5b7', class: `track ${this.size.toLowerCase()}` }, index.h("div", { key: 'cae9983998d99333e85e0da6a66c24d79f79e591', class: `thumb ${this.size.toLowerCase()}`, tabIndex: this.ontabindex }))))));
156
+ return (index.h(index.Host, { key: '55eb7eb4da5cc3eaa376c3a188f1f4580b4d3be8', role: "switch", "aria-checked": this.checked, "aria-disabled": this.disabled }, index.h("div", { key: '2c2e8f59747f6b12e6e9b528007e9e585fc2bb6e', class: this.getClasses(), style: this.styles, onClick: this.toggleSwitch }, index.h("div", { key: '6e3ba0c77facb521f15cc7cdf75adb0ec7a64985', class: "info" }, index.h("cura-label", { key: '6ecc8ca37c3e4078b35f063f935ffa802ed11c0a', textOverflow: this.overflowLabel, style: { textAlign: this.position === 'right' ? 'right' : 'left' }, class: "label", weight: "bold", size: this.size === 'large' ? 'medium' : 'xsmall', lineHeight: "125%", color: this.assignColor('neutral-white', 'neutral-black') }, this.label), index.h("cura-label", { key: 'eea722ec56d3293259d938089972a71b2b0806df', textOverflow: this.overflowHelper, style: { textAlign: this.position === 'right' ? 'right' : 'left' }, color: this.assignColor('primary-lighter', 'neutral-dark'), size: "xsmall", class: "message" }, index.h("slot", { key: 'ce171b19a68fa581279cef2e8b4d6818b84e59c9' }))), index.h("div", { key: '73088b5709884f1d338680a4148f5b4dce33d09c', class: "control" }, index.h("div", { key: 'e61c81796ef55a901423fa8b050a22c856c7fc26', class: `track ${this.size.toLowerCase()}` }, index.h("div", { key: 'd8b302df2b06fc043dc0629a87e2fde46616b406', class: `thumb ${this.size.toLowerCase()}`, tabIndex: this.ontabindex }))))));
157
157
  }
158
158
  static get formAssociated() { return true; }
159
159
  static get watchers() { return {