+ "content": "# frozen_string_literal: true\n\nmodule RubyUI\n class TabsTrigger < Base\n def initialize(value:, as: :button, **attrs)\n @value = value\n @as = as\n super(**attrs)\n end\n\n def view_template(&)\n if @as == :a\n a(**attrs, &)\n else\n button(**attrs, &)\n end\n end\n\n private\n\n def default_attrs\n base = {\n data: {\n ruby_ui__tabs_target: \"trigger\",\n action: \"click->ruby-ui--tabs#show\",\n value: @value\n },\n class: [\n \"inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"aria-disabled:pointer-events-none aria-disabled:opacity-50 aria-disabled:cursor-not-allowed\",\n \"data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\"\n ]\n }\n base[:type] = :button unless @as == :a\n base\n end\n end\nend\n"
0 commit comments