{"version":3,"names":["dynamic","omit","mergeRootProps","resolveClassStyle","ToolbarGroupContext","useToolbarRootContext","ToolbarGroup","props","toolbar","ownDisabled","disabled","orientation","contextValue","present","userClassStyle","userHtmlProps","internalProps","role","data-orientation","data-disabled","undefined","merged","Tag","as","children"],"sources":["toolbar-group.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { omit } from \"solid-js\";\nimport { mergeRootProps } from \"../internals/merge-root-props\";\nimport { resolveClassStyle } from \"../internals/resolve-class-style\";\nimport type { BaseUIComponentProps, Orientation } from \"../internals/types\";\nimport {\n\tToolbarGroupContext,\n\ttype ToolbarGroupContextValue,\n} from \"./toolbar-group-context.ts\";\nimport { useToolbarRootContext } from \"./toolbar-root-context.ts\";\n\nexport interface ToolbarGroupState {\n\tdisabled: boolean;\n\torientation: Orientation;\n}\n\nexport interface ToolbarGroupProps\n\textends BaseUIComponentProps<\"div\", ToolbarGroupState> {\n\t/** Tag/component to render. Defaults to `\"div\"`. */\n\tas?: ValidComponent;\n\t/**\n\t * When `true`, every toolbar item inside this group is disabled.\n\t * @default false\n\t */\n\tdisabled?: boolean | undefined;\n}\n\n/**\n * Groups several toolbar items (buttons, toggles, etc.) under a shared\n * `disabled` flag. Renders a `<div role=\"group\">` (or `as` override) and\n * publishes a context value consumed by descendant `<Toolbar.Button>`s.\n */\nexport function ToolbarGroup(props: ToolbarGroupProps): JSX.Element {\n\tconst toolbar = useToolbarRootContext();\n\n\tconst ownDisabled = (): boolean => props.disabled === true;\n\tconst disabled = (): boolean => toolbar.disabled() || ownDisabled();\n\tconst orientation = (): Orientation => toolbar.orientation();\n\n\tconst contextValue: ToolbarGroupContextValue = {\n\t\tdisabled,\n\t\tpresent: true,\n\t};\n\tconst userClassStyle = resolveClassStyle(props, () => ({\n\t\tdisabled: disabled(),\n\t\torientation: orientation(),\n\t}));\n\n\tconst userHtmlProps = omit(\n\t\tprops,\n\t\t\"as\",\n\t\t\"class\",\n\t\t\"style\",\n\t\t\"attrs\",\n\t\t\"children\",\n\t\t\"disabled\",\n\t) as Record<string, unknown>;\n\n\tconst internalProps = {\n\t\trole: \"group\" as const,\n\t\tget \"data-orientation\"() {\n\t\t\treturn orientation();\n\t\t},\n\t\tget \"data-disabled\"(): \"\" | undefined {\n\t\t\treturn disabled() ? \"\" : undefined;\n\t\t},\n\t};\n\n\tconst merged = mergeRootProps(\n\t\tmergeRootProps(internalProps, userClassStyle),\n\t\tuserHtmlProps,\n\t);\n\n\tconst Tag = dynamic(() => props.as ?? \"div\");\n\treturn (\n\t\t<Tag {...merged}>\n\t\t\t<ToolbarGroupContext value={contextValue}>\n\t\t\t\t{props.children}\n\t\t\t</ToolbarGroupContext>\n\t\t</Tag>\n\t);\n}\n"],"mappings":"AACA,SAASA,OAAO,QAAQ,cAAc;AACtC,SAASC,IAAI,QAAQ,UAAU;AAC/B,SAASC,cAAc,QAAQ,+BAA+B;AAC9D,SAASC,iBAAiB,QAAQ,kCAAkC;AAEpE,SACCC,mBAAmB,QAEb,4BAA4B;AACnC,SAASC,qBAAqB,QAAQ,2BAA2B;AAkBjE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAACC,KAAwB,EAAe;EACnE,MAAMC,OAAO,GAAGH,qBAAqB,CAAC,CAAC;EAEvC,MAAMI,WAAW,GAAGA,CAAA,KAAeF,KAAK,CAACG,QAAQ,KAAK,IAAI;EAC1D,MAAMA,QAAQ,GAAGA,CAAA,KAAeF,OAAO,CAACE,QAAQ,CAAC,CAAC,IAAID,WAAW,CAAC,CAAC;EACnE,MAAME,WAAW,GAAGA,CAAA,KAAmBH,OAAO,CAACG,WAAW,CAAC,CAAC;EAE5D,MAAMC,YAAsC,GAAG;IAC9CF,QAAQ;IACRG,OAAO,EAAE;EACV,CAAC;EACD,MAAMC,cAAc,GAAGX,iBAAiB,CAACI,KAAK,EAAE,OAAO;IACtDG,QAAQ,EAAEA,QAAQ,CAAC,CAAC;IACpBC,WAAW,EAAEA,WAAW,CAAC;EAC1B,CAAC,CAAC,CAAC;EAEH,MAAMI,aAAa,GAAGd,IAAI,CACzBM,KAAK,EACL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,OAAO,EACP,UAAU,EACV,UACD,CAA4B;EAE5B,MAAMS,aAAa,GAAG;IACrBC,IAAI,EAAE,OAAgB;IACtB,IAAI,kBAAkBC,CAAA,EAAG;MACxB,OAAOP,WAAW,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,eAAeQ,CAAA,EAAmB;MACrC,OAAOT,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAGU,SAAS;IACnC;EACD,CAAC;EAED,MAAMC,MAAM,GAAGnB,cAAc,CAC5BA,cAAc,CAACc,aAAa,EAAEF,cAAc,CAAC,EAC7CC,aACD,CAAC;EAED,MAAMO,GAAG,GAAGtB,OAAO,CAAC,MAAMO,KAAK,CAACgB,EAAE,IAAI,KAAK,CAAC;EAC5C,OACC,CAAC,GAAG,CAAC,IAAIF,MAAM,CAAC;AAClB,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAACT,YAAY,CAAC;AAC5C,IAAI,CAACL,KAAK,CAACiB,QAAQ;AACnB,GAAG,EAAE,mBAAmB;AACxB,EAAE,EAAE,GAAG,CAAC;AAER","ignoreList":[]}