@ship-ui/core 0.18.11 → 0.18.13

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.
@@ -1347,6 +1347,10 @@
1347
1347
  "name": "--btn-h",
1348
1348
  "defaultValue": "#{p2r(40)}"
1349
1349
  },
1350
+ {
1351
+ "name": "--btn-mw",
1352
+ "defaultValue": "#{p2r(40)}"
1353
+ },
1350
1354
  {
1351
1355
  "name": "--btn-f",
1352
1356
  "defaultValue": "var(--paragraph-20)"
@@ -2582,7 +2586,7 @@
2582
2586
  },
2583
2587
  {
2584
2588
  "name": "sandbox-accordion",
2585
- "html": "<div class=\"controls\">\n <p>Controls</p>\n <header>\n <div class=\"row\">\n <sh-toggle [(checked)]=\"allowMultiple\" class=\"primary raised\">Allow Multiple Open</sh-toggle>\n <sh-select\n class=\"raised primary\"\n color=\"primary\"\n variant=\"raised\"\n [selectMultiple]=\"allowMultiple()\"\n [options]=\"availablePanels\"\n [(selectedOptions)]=\"selectedPanelsArray\">\n <label>Open Panels</label>\n <input type=\"text\" style=\"display: none\" />\n </sh-select>\n\n <sh-select\n class=\"raised primary\"\n color=\"primary\"\n variant=\"raised\"\n [options]=\"availableVariants\"\n label=\"label\"\n value=\"value\"\n [isClearable]=\"false\"\n [(ngModel)]=\"variantType\">\n <label>Variant</label>\n <input type=\"text\" style=\"display: none\" />\n </sh-select>\n </div>\n </header>\n</div>\n\n<div class=\"sandbox\">\n <sh-accordion [(value)]=\"openPanels\" [allowMultiple]=\"allowMultiple()\" [variant]=\"variantType()\">\n <details value=\"panel1\">\n <summary>Personal Information</summary>\n <p>\n This is standard content projected inside native HTML tags! The entire accordion is configured seamlessly with\n DOM structure.\n </p>\n </details>\n\n <details value=\"panel2\">\n <summary>Advanced Settings</summary>\n <sh-form-field>\n <label>Settings A</label>\n <input type=\"text\" value=\"Configuration\" />\n </sh-form-field>\n </details>\n\n <details value=\"panel3\">\n <summary>Danger Zone</summary>\n <button shButton color=\"error\" variant=\"flat\" size=\"small\">Delete Account</button>\n </details>\n </sh-accordion>\n</div>\n",
2589
+ "html": "<div class=\"controls\">\n <p>Controls</p>\n <header>\n <div class=\"row\">\n <sh-toggle [(checked)]=\"allowMultiple\" class=\"primary raised\">Allow Multiple Open</sh-toggle>\n <sh-select\n class=\"raised primary\"\n color=\"primary\"\n variant=\"raised\"\n [selectMultiple]=\"allowMultiple()\"\n [options]=\"availablePanels\">\n <label>Open Panels</label>\n <input type=\"text\" [(ngModel)]=\"selectedPanelsArray\" style=\"display: none\" />\n </sh-select>\n\n <sh-select\n class=\"raised primary\"\n color=\"primary\"\n variant=\"raised\"\n [options]=\"availableVariants\"\n label=\"label\"\n value=\"value\"\n [isClearable]=\"false\">\n <label>Variant</label>\n <input type=\"text\" [(ngModel)]=\"variantType\" style=\"display: none\" />\n </sh-select>\n </div>\n </header>\n</div>\n\n<div class=\"sandbox\">\n <sh-accordion [(value)]=\"openPanels\" [allowMultiple]=\"allowMultiple()\" [variant]=\"variantType()\">\n <details value=\"panel1\">\n <summary>Personal Information</summary>\n <p>\n This is standard content projected inside native HTML tags! The entire accordion is configured seamlessly with\n DOM structure.\n </p>\n </details>\n\n <details value=\"panel2\">\n <summary>Advanced Settings</summary>\n <sh-form-field>\n <label>Settings A</label>\n <input type=\"text\" value=\"Configuration\" />\n </sh-form-field>\n </details>\n\n <details value=\"panel3\">\n <summary>Danger Zone</summary>\n <button shButton color=\"error\" variant=\"flat\" size=\"small\">Delete Account</button>\n </details>\n </sh-accordion>\n</div>\n",
2586
2590
  "ts": "import { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ShipAccordion, ShipButton, ShipFormField, ShipSelect, ShipToggle } from 'ship-ui';\n\n@Component({\n selector: 'app-sandbox-accordion',\n imports: [FormsModule, ShipAccordion, ShipToggle, ShipSelect, ShipFormField, ShipButton],\n templateUrl: './sandbox-accordion.html',\n styleUrl: './sandbox-accordion.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SandboxAccordion {\n openPanels = signal<string>('panel1');\n allowMultiple = signal<boolean>(false);\n variantType = signal<string | null>(null);\n\n availableVariants = [\n { value: '', label: 'Default' },\n { value: 'type-b', label: 'Type B' },\n ];\n\n availablePanels = ['panel1', 'panel2', 'panel3'];\n selectedPanelsArray = signal<string[]>(['panel1']);\n\n constructor() {\n effect(() => {\n const arrStr = this.selectedPanelsArray().join(',');\n if (this.openPanels() !== arrStr) {\n this.openPanels.set(arrStr);\n }\n });\n\n effect(() => {\n const valStr = this.openPanels();\n const currentArr = valStr ? valStr.split(',').filter((x) => x) : [];\n if (currentArr.join(',') !== this.selectedPanelsArray().join(',')) {\n this.selectedPanelsArray.set(currentArr);\n }\n });\n }\n}\n"
2587
2591
  },
2588
2592
  {
@@ -6220,7 +6220,7 @@ class ShipSelect {
6220
6220
  updateInputElValue() {
6221
6221
  const inputEl = this.inputRefEl();
6222
6222
  const inputValue = this.inputValue();
6223
- if (!inputEl)
6223
+ if (!inputEl || inputEl.value === inputValue)
6224
6224
  return;
6225
6225
  inputEl.value = inputValue;
6226
6226
  inputEl.dispatchEvent(new Event('input'));