@synopackageland/ui 0.17.10 → 0.17.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.17.11 (2026-10-30)
4
+
5
+ Settings forms follow DSM's own Control Panel layout by default. Two DOM changes: `Fieldset`'s chevron points up while open and down while collapsed (it was down and right), and a `password` `Input` is now an outer `<span>` (layout attrs) around an inner one holding the field and its toggle.
6
+
7
+ - `Fieldset` takes `description` (or `#description`): one line under the title across the whole section width (`data-fieldset-description`).
8
+ - `Input` takes `unit` (or `#unit`): text such as s, MB or characters right after the field, a number's too, dimmed while disabled (`data-ui-input-unit`).
9
+ - A `text-only` `FormItem` sets its value level with the label, so a read-only value and an `#after` button (Edit) line up with the rows around it.
10
+ - `FormNote` with one remark reads "Note: …" on one line; two or more `items` keep the heading over a list. `inset` starts it on the field column (inside a `FormGroup` too), one field gap under the field it is about (`data-inset`).
11
+ - docs/layout-rules.md describes the whole settings page: section description, read-only value with Edit, dependent options in a `FormGroup`, section buttons inside the group, units, notes and one Apply in the footer. The Control Panel story adds Network > General.
12
+
3
13
  ## 0.17.10 (2026-10-30)
4
14
 
5
15
  Breaking, with no compatibility layer: the comment Markdown functions are renamed, `MentionTextarea` is gone, and comment bodies read a little differently. A stored body that relied on the old reading needs a one-time conversion; the library keeps no old names or fallback.
@@ -40,7 +40,7 @@ type __VLS_Props = {
40
40
  defaultValidateTrigger?: ValidateTrigger;
41
41
  /** Validates once on mount. */
42
42
  immediateValidate?: boolean;
43
- /** The slot content is plain text, not a control. */
43
+ /** The slot content is plain text, not a control: a read-only value, set level with the label. An `#after` button follows the field column. */
44
44
  textOnly?: boolean;
45
45
  /** Indentation level (multiples of 28px) or any CSS length. */
46
46
  indent?: string | number;
@@ -1,12 +1,16 @@
1
1
  type __VLS_Props = {
2
2
  /** Replaces the "Note:" heading. */
3
3
  title?: string;
4
- /** One bullet each; the default slot follows them. */
4
+ /** One bullet each; a single item reads inline after the heading. The default slot follows them. */
5
5
  items?: string[];
6
+ /** Starts the note on the field column, past the label column (inside a FormGroup too). */
7
+ inset?: boolean;
6
8
  };
7
- declare var __VLS_1: {};
9
+ declare var __VLS_1: {}, __VLS_3: {};
8
10
  type __VLS_Slots = {} & {
9
11
  default?: (props: typeof __VLS_1) => any;
12
+ } & {
13
+ default?: (props: typeof __VLS_3) => any;
10
14
  };
11
15
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
16
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -28,8 +28,8 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
28
28
  disabled: boolean;
29
29
  value: string | number;
30
30
  modelValue: boolean;
31
- tone: StatTileTone;
32
31
  unit: string;
32
+ tone: StatTileTone;
33
33
  note: string;
34
34
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
35
35
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -5,6 +5,8 @@ export type FieldsetTitle = string | {
5
5
  export type FieldsetCollapseTrigger = 'click' | 'dblclick' | 'none';
6
6
  type __VLS_Props = {
7
7
  title?: FieldsetTitle;
8
+ /** One line under the title, across the whole width (DSM's "Enter the server name, ..."). */
9
+ description?: string;
8
10
  collapsible?: boolean;
9
11
  /** Mouse gesture that toggles; Enter/Space always works on the header. */
10
12
  collapseTriggerEvent?: FieldsetCollapseTrigger;
@@ -12,7 +14,7 @@ type __VLS_Props = {
12
14
  /** Bound with `v-model:collapsed`; defaults to expanded when left unbound. */
13
15
  collapsed?: boolean;
14
16
  };
15
- declare var __VLS_1: {}, __VLS_8: {}, __VLS_10: {}, __VLS_12: {};
17
+ declare var __VLS_1: {}, __VLS_8: {}, __VLS_10: {}, __VLS_12: {}, __VLS_14: {};
16
18
  type __VLS_Slots = {} & {
17
19
  'collapse-icon'?: (props: typeof __VLS_1) => any;
18
20
  } & {
@@ -20,7 +22,9 @@ type __VLS_Slots = {} & {
20
22
  } & {
21
23
  title?: (props: typeof __VLS_10) => any;
22
24
  } & {
23
- default?: (props: typeof __VLS_12) => any;
25
+ description?: (props: typeof __VLS_12) => any;
26
+ } & {
27
+ default?: (props: typeof __VLS_14) => any;
24
28
  };
25
29
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
26
30
  isCollapsed: import('vue').ComputedRef<boolean>;
@@ -10,8 +10,14 @@ type __VLS_Props = {
10
10
  name?: string;
11
11
  ariaLabel?: string;
12
12
  ariaLabelledby?: string;
13
+ /** Text right after the field, such as s, MB or characters; the `#unit` slot replaces it. */
14
+ unit?: string;
13
15
  };
14
- declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
16
+ declare var __VLS_11: {};
17
+ type __VLS_Slots = {} & {
18
+ unit?: (props: typeof __VLS_11) => any;
19
+ };
20
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
15
21
  "update:modelValue": (value: string) => any;
16
22
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
17
23
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
@@ -23,5 +29,11 @@ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {
23
29
  readonly: boolean;
24
30
  invalid: boolean;
25
31
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
32
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
26
33
  declare const _default: typeof __VLS_export;
27
34
  export default _default;
35
+ type __VLS_WithSlots<T, S> = T & {
36
+ new (): {
37
+ $slots: S;
38
+ };
39
+ };