@ship-ui/core 0.18.12 → 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.
|
@@ -2586,7 +2586,7 @@
|
|
|
2586
2586
|
},
|
|
2587
2587
|
{
|
|
2588
2588
|
"name": "sandbox-accordion",
|
|
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\"
|
|
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",
|
|
2590
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"
|
|
2591
2591
|
},
|
|
2592
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'));
|